1. OSI 7 Layer
네트워크의 효율적 이용을 위해 계층을 분할하고, 각 계층 간의 필요한 프로토콜을 규정한 것
* 각 계층은 독립적이라 상위/하위 계층에 처리를 의뢰하지 않는다.
OSI 7계층 | 주요 내용 | 주요 프로토콜 (매체) |
7, Application | - 사용자 소프트웨어를 네트워크에 접근 가능하도록 함 - 사용자에게 최종 서비스 제공 |
- FTP, SNMP, HTTP, Mail, Telnet 등 |
6, Presentation | - 포맷, 압축, 암호화 - 텍스트, 그래픽 정보를 컴퓨터가 이해할 수 있는 16진수로 변환 |
- 압축, 암호, 코드 변환 - GIF, ASCII, EBCDIC |
5, Session | - 세션 연결 및 동기화 수행, 통신 방식 결정 - 가상 연결을 제공하여 login/logout 수행 |
- 반이중, 전이중, 완전이중 결정 |
4, Transport | - 가상 연결, 에러 제어, Data 흐름 제어, Segment 단위 - End-to-End 데이터 흐름이 가능하도록 논리적 주소 연결 - 신뢰도, 품질보증, 오류탐지 및 교정 기능 제공 |
- TCP, UDP |
3, Network | - 경로 선택, 라우팅 수행, 논리적 주소 연결(IP) - 데이터 흐름 조절, 주소 지정 메커니즘 구현, Packet 단위 |
- IP, ICMP, IGMP, ARP,RIP, OSPF 등 |
2, Data Link | - 물리주소 결정, 에러 제어, 흐름 제어, 데이터 전송 - Frame 단위, 전송 오류를 처리하는 최초의 계층 |
- 흐름 제어, 오류 제어(ARQ) - Bridge, PPTP, L2TP, HDLC 등 |
1, Physical | - 전기적, 기계적 연결 정의, 실제 Data Bit 전송 - Bit 단위, 전기적 신호, 전압 구성, 케이블, 인터페이스 등 구성 |
- 동축케이블, 광섬유 등 |
Cf) TCP/IP 프로토콜
이 기종 간 네트워크 환경에 대한 표준으로, OSI보다 먼저 만들어졌으며 TCP, UDP, IP, ICMP, ARP, RARP로 구성된다.
2. 네트워크 활용(TCP/IP 구조)
1) Applicaion Layer
일반 사용자들이 사용하는 프로그램이 있는 계층으로, 서비스는 동영상 학습 프로그램, VoIP전화, 카톡 등의 형태가 있다.
Cf) Application 관련 서비스
- FTP, DNS, HTTP, Telnet, SMTP, SNMP
Cf) HTTP(Hyper Text Transfer Protocol)
- TCP 프로토콜의 80번 Port를 사용하고 Request/Response 구조를 가짐
- HTTP Header와 Body로 이루어져 송/수신 됨
- HTTP Request 시 Header 구조
구조 | 설명 |
Request Method | 호출되는 메소드로 GET, POST, OPTIONS, PUT, DELETE, TRACE, CONNECT를 나타냄 |
Accept | 웹 브라우저에서 사용 가능한 미디어 타입을 의미 |
Accept-Language | 웹 브라우저가 인식할 수 있는 언어를 의미 |
User-Agent | 웹 브라우저 정보를 의미 |
Accept-Encoding | 웹 브라우저에서 제공되는 인코딩 방식을 의미 |
Host | 웹 서버의 기본 URL을 의미 |
Connection | 연결 지속 및 연결 끊기를 나타내며, Keel Alive 혹은 close |
- HTTP Response 시 Header 구조
구조 | 설명 |
Status Code | HTTP 응답 코드를 의미하며, 200은 성공적으로 처리한 것을 의미 |
Server | 서버 프로그램 이름과 버전 전송을 의미 ex. Apache/2.2.22 (Debian) -> Apache 웹서버 2.2.22 버전에 Debian 리눅스 OS |
Expires | 자원의 만기 일자를 의미 |
Cache Control | 캐시 사용 여부를 나타내며, no-cache는 캐시를 사용하지 않음 |
Pragma | 캐시 사용 여부를 나타내며, HTTP/1.0에서 쓰임 |
Content-Encoding | 응답되는 메시지의 인코딩 방식을 의미 |
Content-Length | 바이트 단위로 응답되는 리소스의 크기 |
Keep-Alive | 연결 유지 시간을 의미 |
Connection | Keep-Alive 사용 여부를 의미 |
Content-Type | 응답되는 미디어 타입 |
Cf) Cookie와 Session
방식 | Cookie | Session |
저장 위치 | - Client | - Server |
저장 형태 | - Text 형식 | -Object 형식 |
종료 시점 | - 쿠키 저장 시 종료 시점 설정 - 설정하지 않으면 브라우저 종료 시 종료 |
- 정확한 시점 알 수 없음 |
자원 | - 클라이언트 자원 | - 서버 자원 |
용량 | - 한 도메인당 20개 - 쿠키 하나에 4KB, 총 300개 |
- 용량 제한 없음 |
Cf) SMTP(Simple Mail Transfer Protocol)
- 인터넷 전자우편 표준 프로토콜로, Store-and-Forward 방식으로 메시지를 전달
- 송신자가 보낸 전자우편은 메일 서버에 전달
- 메일 서버는 수신자의 전자우편 주소를 분석하고 최단 경로를 찾아 근접한 메일 서버에게 전달
- 최종 수신자 측 메일 서버에 도착하기까지 연속적으로 전달하는 중계 작업을 수행
구성요소 | 내용 |
MTA(Mail Transfer Agent) | 메일을 전송하는 서버 |
MDA(Mail Delivery Agent) | 수신측에 고용된 우체부 역할, MTA에게 받은 메일을 사용자에게 전달 |
MUA(Mail User Agent) | 사용자들이 사용하는 클라이언트 Application |
- POP3와 IMAP 및 IMAP3
POP3 | IMAP 및 IMAP3 |
- TCP 110번으로 메일서버에 접속하여 저장된 메일을 내려받는 MDA 프로그램 - 메시지를 읽은 후 메일 서버에서 해당 메일을 삭제 |
- POP과 달리 메일을 내려받아도 서버에 원본을 계속 저장 - IMAP 143 PORT |
Cf) FTP(File Transfer Protocol)
- 인터넷 표준으로 파일 전송을 위한 프로토콜
- 해당 컴퓨터에 등록된 사용자만 파일 전송이 가능하며, 그 외에는 익명(Anonymous)으로 사용
- ftpusers에 등록된 사용자는 FTP 접근이 허용되지 않으며, 제어 접속과 데이터 접속 포트가 분리되어 있음
* Active Mode와 Passive Mode
- Active Mode: 서버가 클라이언트의 Port(20)로 접속해 데이터를 전송
- Passive Mode: 클라이언트가 서버에서 알려준 Port(2024)에 접속해 데이터를 내려받음
Cf) SNMP(Simple Network Management Protocol), NMS(Network Management System)
- SNMP: 네트워크의 안정성 효율성을 높이기 위해 상태 정보를 실시간으로 수집 및 분석하는 네트워크 관리 시스템
- NMS: SNMP를 사용하여 네트워크 정보를 수집
2) Transport Layer
송신자와 수신자 간에 논리적 연결을 수행하는 것으로, TCP와 UDP가 있으며, TCP는 연결지향 방식을 사용하고 UDP는 비연결성 방식을 사용한다.
Cf) TCP(Transmission Control Protocol)
- UDP에 비해 크기가 크로, 신뢰성 있는 데이터 전송을 위해 가상 연결을 수행하며 Sequence 번호를 통해 메시지 순서를 파악할 수 있음
- 수신자가 동일한 ACK 번호를 반복적으로 전송 시, GO-BACK-N 방법으로 되돌아온 ACK 번호 이후의 모든것을 속도를 낮춰 전부 재전송(*혼잡제어)
- TCP의 송수신 가능 여부를 확인하는 것은 ICMP 프로토콜
- netstat 명령어를 사용하여 연결 상태를 확인 할 수 있음
- Client와 Server의 연결을 수행할 때 Client가 SYN 신호를 보내고 서버는 SYN/ACK로 응답 후 Client가 ACK를 전송하여 연결을 확립
- 연결 종료는 Client에서 FIN+ACK를 보내고 Server는 Flag에 대한 응답 ACK와 종료 Flag FIN을 보내고 Client가 ACK 를 전송하여 연결 종료
Cf) UDP
- 데이터를 빠르게 전송할 용도로 사용되며, 재전송 기능이 없어 네트워크에서 패킷이 손상될 수 있음
- UDP의 특징
특징 | 내용 |
비신뢰성(Unreliable) | - Packet을 목적지에 성공적으로 전송하는 것을 보장하지 않음 |
비접속형(Connectionless) | - 전달되는 Packet에 대한 상태 정보를 유지하지 않음 |
간단한 Header 구조 | - TCP에 비해 헤더 구조가 간단하여 처리가 단순함 |
빠른 전송 | - TCP에 비해 전송 속도가 빠름 |
Cf) Segment: Application Layer의 메시지에 TCP 혹은 UDP의 Header를 붙인 것
3) Internet Layer
송/수신자의 IP 주소를 읽어 경로를 결정하거나 전송하는 역할을 수행한다.
Cf) Routing
- IP Header에 있는 목적지 IP의 주소를 읽어 경로를 결정하는 작업
- 사전에 고정한 정적 경로와 네트워크 상태에 따라 최적의 경로를 결정하는 동적 경로 방법이 있음
Routing 방법 | 내용 |
정적 경로 (Static Routing) |
- 관리자가 직접 라우팅 테이블의 경로를 설정, 경로가 고정적이며 수동 갱신하는 방식 |
동적 경로 (Dynamic Routing) |
- 관리자의 개입 없이 네트워크 상황 변화에 따라 인접 라우터 간에 자동으로 경로 정보를 교환 - 경로정보를 교환하여 최적의 경로를 결정 및 상황에 따른 능동 대처 가능 |
- Routing Protocol 중 Distance Vector는 통과하는 Router의 수가 적은 쪽으로 경로를 결정
- Routing Protocol 중 Link State는 대역폭, 지연 정보 등을 종합적으로 고려해 Cost 산정 후 Cost에 따라 경로 결정
구분 | Distance Vector | Link State |
알고리즘 | - 최단경로를 구하는 Bellman-Ford 알고리즘 기반 | - 최소 신장 트리를 구하는 Dijkstra 알고리즘 기반 |
동작 원리 | - 네트워크 변화 발생 시 인접 라우터에 전달 - 인접 라우터에서는 라우팅 테이블 갱신 |
- 라우터와 라우터를 연결하는 Link 상태에 따라 경로 설정 - 라우터가 Network 변화 감지 시 인접 라우터에게 즉각 전달하고 저장 |
라우팅 정보 | - 모든 라우터까지의 거리 정보 보관 | - 인접 라우터까지의 Link Cosr 계산 |
정보전송 시점 | - 일정 주기 | - 변화 발생 시에만 |
대표 프로토콜 | - RIP, IGRP, EIGRP, BGP | - OSPF, IS-IS |
단점 | - 변화되는 라우팅 정보를 모든 라우터에 주기적으로 갱신하므로 망 자체의 트래픽 유발 - 라우팅 정보를 변경하는 문제 발생 시 Routing Loop가 발생할 수 있음 |
- 네트워크 전체 정보 유지를 위한 많은 메모리 소요 - 라우터의 CPU 사용량이 많아짐 - 라우터간 회선의 대역 차이로 동기화 실패 가능성 |
Cf) MTU(Maximum Transmission Unit)
- 한 번에 통과할 수 있는 패킷의 최대 크기
- MTU 값보다 패킷의 크기가 크면 패킷은 분할되고 그 정보를 Flag와 Offset이 가짐
Cf) 데이터 전송 방식
전송 방식 | 내용 |
Unicast | 1:1 전송 방식 |
Broadcast | 1:N 전송 방식 (동일한 서브넷 상 모든 수신자에게 전송) |
Multicast | M:N 전송 방식 (하나 이상의 송신자들이 특정 그룹의 수신자에게 전송) |
Anycast | IPv6에 등장, 그룹에 등록된 노드 중 최단경로 노드 한개에만 전송 |
Cf) ARP(Address Resolution Protocol)와 RARP(Reverse ARP)
- ARP Protocol은 IP 주소를 물리적 하드웨어 주소인 MAC 주소로 변경함
- ARP Protocol은 ARP Request/Response를 통해 ARP Cache Table을 유지하고 인접 컴퓨터의 IP, MAC 주소를 가짐
- RARP Protocol은 물리적인 주소 MAC을 기반으로 논리적인 주소 IP를 알아냄
Cf) Datagram: 기존 Packet에 IP Header를 붙인 것
4) Network Access Layer
논리적인 IP 주소를 물리적 MAC 주소로 변환하고 에러 제어와 흐름 제어같은 기능을 제공한다.
통신기기 사이의 연결 및 데이터 전송 기능을 하며, OSI 7계층의 Data Link, Physical 계층에 해당한다.
# 참고
해당 글은 '이기적 정보보안기사 필기 1권 이론서'을 읽으며 필요한 부분만 정리한 내용입니다.
'자격증 > 정보보안기사(필기)' 카테고리의 다른 글
정보보안기사(필기) - 네트워크 보안(네트워크 대응 기술) (0) | 2021.07.30 |
---|---|
정보보안기사(필기) - 네트워크 보안(네트워크 기반 공격 기술) (0) | 2021.07.29 |
정보보안기사(필기) - 시스템 보안(윈도우) (0) | 2021.07.21 |
정보보안기사(필기) - 시스템 보안(리눅스) (0) | 2021.07.20 |
정보보안기사(필기) - 시스템 보안(운영체제) (0) | 2021.07.20 |