1. 물리 계층 (1계층, Physical)
: 비트 전송, 전기적/물리적 신호 전달을 담당한다.
- Modem (모뎀, Modulator + Demodulator)
- Cable (케이블)
- Fiber (광섬유 케이블)
- RS-232C
2. 데이터 링크 계층 (2계층, Data Link)
: 같은 네트워크 안에서 MAC 주소를 사용해 장치 간 데이터 전송을 담당한다.
- 이더넷 (Ethernet)
- 가장 널리 쓰이는 유선 LAN 프로토콜
- MAC 주소 기반으로 데이터 프레임 전송
- PPP (Point-to-Point Protocol)
- 두 장비 간 직렬 통신에 사용
- 주로 전화선이나 모뎀 통신에 사용
- HDLC (High-Level Data Link Control)
- 데이터 링크 계층에서 오류 제어와 흐름 제어 기능을 제공하는 프로토콜
- ATM (Asynchronous Transfer Mode)
- 고정된 크기의 셀로 데이터를 전송
- 그래서 다양한 트래픽을 고속으로 처리 가능.
- ARP (Address Resolution Protocol)
- IP 주소를 MAC 주소로 변환해주는 프로토콜. (실제론 3계층/2계층 사이에 위치함)
3. 네트워크 계층 (3계층, Network)
- IP (Internet Protocol)
- 데이터 패킷을 목적지까지 전달하는 핵심 프로토콜
- P 주소 사용, IPv4와 IPv6 존재.
- IPv4: 32비트 주소 체계로 최대 약 43억 개의 주소 제공.
- 예: 192.168.0.1
- IPv6: 128비트 주소 체계로 거의 무한대의 주소 제공.
- 예: 0000:0000:0000:0000:0000:0000:0000:0000
- IPSec
- IP 패킷을 암호화하거나 인증하는 보안 프로토콜 (VPN에 자주 사용됨).
- ICMP (Internet Control Message Protocol)
- 네트워크 상태 점검에 사용
- 예: ping, traceroute 명령어에 사용
- ARP (Address Resolution Protocol)
- IP 주소 → MAC 주소 변환. (사실상 2.5계층에 위치)
- IGMP (Internet Group Management Protocol)
- 멀티캐스트 그룹 관리
- 스트리밍이나 방송 같은 기능에 사용
- RIP, OSPF, BGP
- 라우팅 프로토콜
- 각각 작은 네트워크(RIP)부터 전 세계 인터넷(BGP)까지 다양한 규모에 대응.
3.1. ICMP (Internet Control Message Protocol)
: 네트워크 상태와 관련된 정보를 전달하거나, 네트워크 문제를 진단하기 위한 프로토콜
주요 특징
- 제어 메시지 전송
- IP 패킷 전송 중 문제가 발생했을 때 오류 메시지를 전달한다.
- 진단 기능
- ping, traceroute 명령어로 네트워크 상태를 확인 가능하다.
- IP 프로토콜 내 포함
- ICMP는 IP 패킷 안에 들어가며, IP 프로토콜 번호 1번을 사용한다.
- 비연결성 (Connectionless)
- 상태 알림용, 데이터 전송용이 아님.
- ICMP는 데이터 전달이 목적이 아닌, '상태 알림'용 프로토콜이다.
ICMP 메시지 구조
- Type (8비트): 메시지의 종류를 지정한다.
- Code (8비트): 메시지의 세부 코드를 지정한다.
- Checksum (16비트): 메시지의 무결성을 확인한다.
- Unused: 사용되지 않는 필드
- Original IP Header: 문제가 발생한 원래 IP패킷의 헤더를 포함한다.
- Data: 원래 패킷의 일부 데이터를 포함하여, 문제가 발생한 원인을 확인하도록 돕는다.
ICMP 메시지 유형
크게 오류 메시지와 요청/응답 메시지로 나뉜다.
오류 메시지 (보통 수신 측에 전달)
- Type 3
- Destination Unreachable
- 목적지에 도달할 수 없을 때 (예: 포트 없음, 라우팅 불가 등)
- 코드 값에 따라 세부적 사유가 다르다.
- Code 0 : 네트워크에 도달할 수 없음
- Code 1 : 호스트에 도달할 수 없음
- Code 2 : 프로토콜에 도달할 수 없음
- Code 3 : 포트에 도달할 수 없음
- Code 4-15 : 기타 다양한 상황
- Type 4
- Source Quench (구형)
- 혼잡 제어용 (현재는 거의 사용 안 함)
- Type 5
- Redirect
- 더 나은 경로가 있을 때 경로 재지정 요청
- Type 11
- Time Exceeded
- TTL(Time to Live)이 0이 되어 패킷이 폐기될 때, traceroute에 사용
- Type 12
요청/응답 메시지
- Type 0, 8
- Echo Reply (0), Echo Request (8)
- ping 명령어에 사용됨. 요청-응답 확인
- Type 13, 14
- Timestamp Request/Reply
- 시간 확인용 메시지 (거의 사용 안 함)
- Type 10, 9
- Router Solicitation/Advertisement
- 라우터 검색 및 알림 (IPv6에서 중요함)
요약
| 항목 | 내용 |
|---|
| 필터 | ICMP |
| 주요 타입 | Type 8 (Request), Type 0 (Reply), Type 3/11 (오류) |
| 활용 | Ping, Traceroute, 네트워크 장애 분석 |
4. 전송 계층 (4계층, Transport)
따로 정리했으므로 간단하게 올리고 링크 첨부
TCP (Transmission Control Protocol) 특징 및 헤더 구조
TCP 3-Way Handshake / 4-Way Handshake
UDP (User Datagram Protocol)
ㅡ
4.1 역할
-
세그먼트화(Segmentation)
: 상위 계층 데이터(예: HTTP 메시지)를 작게 쪼개서 세그먼트로 전송
-
재조립(Reassembly)
: 받은 세그먼트를 순서대로 재조립
-
오류 제어
: 손상되거나 누락된 세그먼트를 감지하고 재전송 요청
-
흐름 제어
: 송신 속도를 수신 측 처리 속도에 맞춤 (예: 슬라이딩 윈도우)
-
포트 번호 사용
: 프로세스 간 통신 식별 (예: 80번 = HTTP, 443번 = HTTPS)
4.2 프로토콜
4.2.1 TCP (Transmission Control Protocol)
| 특징 | 설명 |
|---|
| 신뢰성 있음 | 연결 지향(Connection-oriented), 데이터 누락/중복 없음 |
| 순서 보장 | 패킷이 순서대로 도착하도록 보장 |
| 재전송 기능 | 손실 시 자동 재전송 |
| 흐름 제어 & 혼잡 제어 | 슬라이딩 윈도우, congestion control |
| 사용 예시 | 웹브라우징(HTTP/HTTPS), 이메일(SMTP), 파일전송(FTP) 등 |
4.2.2 UDP (User Datagram Protocol)
| 특징 | 설명 |
|---|
| 빠름 | 연결없음, 헤더도 작음 |
| 신뢰성 없음 | 순서 보장 X, 손실 보정 X |
| 단순함 | 실시간/멀티미디어에 적합 |
| 사용 예시 | DNS, VoIP, 온라인 게임, 스트리밍, DHCP 등 |
4.2.3 TCP/UDP 비교
| 항목 | TCP | UDP |
|---|
| 연결 방식 | 연결 지향 | 비연결 지향 |
| 신뢰성 | 있음 | 없음 |
| 순서 보장 | 있음 | 없음 |
| 속도 | 느림 | 빠름 |
| 용도 | 신뢰 중요 서비스 | 속도 중요 서비스 |
5. 세션 계층 (5계층, Session)
역할
- 세션 설정 (Establishment): 통신하려는 두장비 사이에 세션(연결) 생성
- 세션 유지 (Management): 세션이 정상적으로 유지되도록 관리
- 세션 종료 (Termination): 통신이 끝나면 세션 종료
- 동기화: 전송 데이터에 동기점(Synchronization point)을 설정해 오류 발생 시 이어서 통신 가능
프로토콜
-
NetBIOS (Network Basic Input/Output System)
: 로컬 네트워크에서 컴퓨터 이름과 세션을 관리
-
RPC (Remote Procedure Call)
: 네트워크를 통해 다른 컴퓨터의 함수를 호출하는 기술
-
PPTP (Point-to-Point Tunneling Protocol)
: VPN 연결을 설정할 때 사용되는 터널링 프로토콜
-
SMB (Server Message Block)
: 파일/프린터/포트 공유 등에 사용되는 프로토콜. 초기에는 세션 계층 역할 수행
최신 네트워크 설계에서는 세션 계층의 많은 기능이 응용 계층으로 통합되거나 전송 계층 프로토콜에서 처리된다.
6. 표현 계층 (6계층, Presentation)
6.1 역할
6.2 프로토콜
-
SSL (Secure Sockets Layer)
: 데이터 암호화 프로토콜
-
TLS (Transport Layer Security)
: SSL의 발전형. 웹(HTTPS), 이메일 등에서 암호화를 제공한다.
-
MIME (Multipurpose Internet Mail Extensions)
: 이메일 첨부파일 형식 정의. 다양한 데이터 타입 지원
-
JPEG/PNG/GIF
: 이미지 데이터 형식
-
MP3/MP4
: 오디오/비디오 압축 형식
-
ASCII/EBCDIC
: 문자 인코딩 표준
-
XDR(External Data Representation)
: 서로 다른 컴퓨터 시스템 간 데이터 표현 규칙
최신 웹 보안(HTTPS)에서 SSL/TLS가 중요하게 다뤄진다.
7. 응용 계층 (7계층, Application)
7.1 주요 역할
- 사용자와 네트워크 소프트웨어 사이의 인터페이스 제공
- 데이터 표현 및 전송 방식 결정
- 다양한 응용 서비스 지원
7.2 프로토콜
| 프로토콜 | 역할 |
|---|
| HTTP/HTTPS | 웹 페이지 요청 및 응답 |
| FTP/FTPS/SFTP | 파일 전송 |
| SMTP | 이메일 송신 |
| POP3/IMAP | 이메일 수신 |
| DNS | 도메인 이름 <-> IP 주소 변환 |
| Telnet/SSH | 원격 접속 |
| SNMP | 네트워크 관리 및 모니터링 |
| DHCP | IP 주소 자동 할당 |
| LDAP | 디렉터리 서비스 |
| NFS/SMB | 네트워크 파일 공유 |
| RDP | 원격 데스크톱 접속 |
| SIP | VoIP(인터넷 전화) 세션 설정 |
7.2.1 HTTP, HTTPS 특징과 차이점
HTTP (HyperText Transfer Protocol)
- 기본적인 웹 통신 프로토콜
- 웹 페이지 요청/응답 처리
- 암호화 없음 -> 아이디, 비밀번호, 카드 정보 등이 평문(Plaintext)로 노출될 수 있음
HTTPS (HyperText Transfer Protocol Secure)
- HTTP + SSL/TLS
- 암호화된 세션을 통해 웹 페이지 요청/응답 처리
- 사용자와 서버 간 데이터가 외부에 노출되지 않음
- 인증서 (Certificate Authority, CA)로 웹 서버의 신뢰성을 검증
정리
| 항목 | HTTP | HTTPS |
|---|
| 계층 | OSI 7계층 (응용 계층) | OSI 7계층 (응용 계층) + OSI 6계층 암호화 |
| 포트 번호 | 80번 | 443번 |
| 암호화 | 없음 (평문으로 데이터 전송) | SSL/TLS를 사용하여 암호화 |
| 보안성 | 낮음. 패킷 스니핑이나 중간자 공격(MITM)에 취약 | 높음. 데이터 도청/변조 방지 |
| 속도 | 빠름 | 약간 느림 (하지만 최신 하드웨어/HTTP/2/로 차이 거의 없음) |
| URL 시작 | http:// | https:// |
| 인증서 | 필요 없음 | 필요 (CA 인증서 또는 자체 서명 인증서) |
7.2.2 FTP의 특징과 제어 채널, 데이터 채널
FTP (File Transfer Protocol)
|항목|설명|
|계층|OSI 7계층 (응용 계층)|
|기본 포트|제어 채널: 21번
데이터 채널: 20번 (Active 모드 기준, Passive는 다름)|
|전송 방식|텍스트 파일, 바이너리 파일 전송 가능|
|연결 방식|클라이언트-서버 모델|
|보안|기본 FTP는 암호화 없음 (FTPS 또는 SFTP를 사용하면 암호화 가능|
|사용 모드|Active 모드 / Passive 모드|
제어 채널 / 데이터 채널
-
제어 채널
- 클라이언트 -> 서버 연결 생성 (포트 21)
- 로그인, 명령어 (예: LIST, RETR, STOR) 전송
- 세션 종료 시까지 유지됨
-
데이터 채널
- 파일 목록, 파일 자체 데이터를 전송
- 파일을 전송할 대만 연결됨
- Actice 모드
- Passive 모드
- 클라이언트가 서버가 지정한 포트로 연결 (방화벽 우회 가능)
| 채널 | 역할 | 포트 | 특징 |
|---|
| 제어 채널 (Control Channel) | 명령 전송 및 응답 처리 (로그인, 디렉터리 변경, 파일 삭제 등) | 21번 포트 | FTP 세션 내내 열려 있음 |
| 데이터 채널 (Data Channel) | 실제 파일 데이터 전송 | 20번 포트 (Active) 또는 서버가 지정 (Passive) | 파일 전송 시에만 연결됨 |
7.2.3 SMTP,POP3/IMAP 특징과 차이점 (이메일 프로토콜)
SMTP (Simple Mail Transfer Protocol)
- 메일 송신
- 메일 발송 및 중계(클라이언트->서버 또는 서버->서버 전송). 메일 수신은 불가능
- 포트 번호
- 25번 (기본)
- 587번 (TLS)
- 465번 (SSL)
POP3 (Post Office Protocol v3)
- 메일 수신
- 서버에 있는 메일을 로컬 PC로 다운로드
- 다운로드 후 서버에서 삭제
- 기본 동작 - 인터넷 연결 없어도 메일 확인 가능
- 포트 번호
IMAP (Internet Message Access Protocol)
- 메일 수신
- 메일을 서버에 남긴 채 읽음
- 여러 기기에서 동기화 가능
- 폴더 구조 유지
- 포트 번호
SMTP/POP3/IMAP의 차이점
| 항목 | SMTP | POP3 | IMAP |
|---|
| 역할 | 메일 송신 | 메인 수신 (다운로드 후 삭제) | 메일 수신 (서버에 유지) |
| 서버 동기화 | 불필요 | 안됨 (기본 설정) | 가능 (여러 기기에서 동일 상태 유지) |
| 인터넷 필요성 | 발송 시 필요 | 다운로드 후 오프라인 읽기 가능 | 읽기/편집 시 항상 연결 필요 |
| 사용 예 | 메일 보내기 | 오래된 방식, 스마트폰 이전 PC 메일 클라이언트에서 주로 사용 | 현대적인 이메일 사용 방식(스마트폰, PC 동기화) |
7.2.4 DNS (Domain Name System)
주요 역할
- 도메인 이름(www.google.com)을 IP 주소(142.250.196.68)로 변환
- 사용자가 기억하기 쉬운 문자 주소 <-> 숫자 주소 변환기
핵심 특징
-
계층적 구조
: 루트 > 최상위 도메인 (TLD) > 하위 도메인 > 호스트
-
분산형 시스템
: 전 세계에 분산된 수많은 DNS 서버가 요청 처리
-
캐싱
: 최근 조회한 DNS 정보는 캐시에 저장해 빠른 응답 제공
-
내결함성
: 일부 서버에 장애가 발생해도 나머지 서버가 계속 서비스
-
보안
: DNSSEC (DNS Security Extensions)으로 무결정 검증 가능 (선택적)
7.2.5 SSH/Telnet
SSH (Secure Shell)
- 암호화된 터널을 통해 명령어, 데이터, 인증 정보를 전송한다.
- 대칭키와 비대칭키를 조합해서 안전한 연결을 설정한다. (Diffie-Hellman Key exchange 사용)
- 패킷 스니핑으로 아이디와 비밀번호 탈취가 불가능하다.
Telnet
- 평문(Plain Text)으로 모든 데이터를 전송한다.
- 같은 네트워크에 있는 공격자가 Wireshark 같은 툴로 쉽게 패스워드와 명령어를 훔칠 수 있다.
- 요즘은 보안상 사용하지 않고, 내부 망에서만 제한적으로 사용한다.
SSH/Telnet 차이점
| 항목 | SSH | Telnet |
|---|
| 계층 | OSI 7계층 (응용 계층) | OSI 7계층 (응용 계층) |
| 기능 | 원격 접속 & 명령어 전송 (암호화됨) | 원격 접속 & 명령어 전송 (암호화되지 않음) |
| 보안 | 강력한 암호화 제공 (대칭키 + 비대칭키) | 암호화 없음, 평문 전송 |
| 인증 | 패스워드, 공개키, 인증서 등 | 패스워드 (평문 전송) |
| 포트 | 기본 포트 22 | 기본 포트 23 |
| 주요 용도 | 안전한 서버 관리, 파일 전송(SCP/SFTP) | 예전 네트워크 장비/서버 관리 (현재는 거의 사용되지 않음) |