앞선 글에서 패킷을 처리하는 물리적 장비(L2 스위치, 라우터, L4 로드밸런서 등)를 살펴보았습니다.
이러한 장비들이 데이터를 올바르게 해석하고 목적지까지 안전하게 전달할 수 있는 이유는 모든 통신 기기가 사전에 합의된 약속, 즉 프로토콜(Protocol)을 준수하기 때문입니다.
통신 데이터가 만들어지고 전달되는 과정에서 각 계층이 사용하는 대표 프로토콜의 개념과 구체적인 역할을 계층별로 차례대로 알아보겠습니다.
1. 프로토콜(Protocol)이란?
프로토콜은 컴퓨터나 네트워크 장비 간에 원활하게 데이터를 주고받기 위해 정의한 통신 규약(약속)입니다.
사람 사이의 대화에 비유하자면 언어와 문법, 인사 예절과 같습니다. 서로 다른 제조사의 컴퓨터나 스마트폰이 문제없이 통신할 수 있는 것은 "데이터의 첫머리(헤더) 몇 번째 비트에 목적지 주소를 넣을 것인가", "전송 중 오류가 나면 어떻게 재전송할 것인가" 등을 사전에 규격화해 두었기 때문입니다.
2. 계층별 대표 프로토콜과 역할
L1. 물리 계층 (Physical Layer)
물리 계층은 소프트웨어적인 규칙보다는 비트(Bit) 신호를 케이블이나 전파로 주고받기 위한 물리적·전기적 접속 규격을 다룹니다.
- 1000BASE-T (Gigabit Ethernet): 흔히 사용하는 카테고리 5e/6 UTP 케이블을 통해 1Gbps 속도로 신호를 송수신하기 위한 물리 규격입니다.
- IEEE 802.11 (물리 계층 규격): 무선 주파수(2.4GHz, 5GHz, 6GHz 대역)를 이용해 공기 중으로 고주파 신호를 쏘아 보내는 무선랜(Wi-Fi)의 RF 변조 규격입니다.
L2. 데이터 링크 계층 (Data Link Layer)
동일한 로컬 네트워크(LAN) 내에서 인접한 장비끼리 MAC 주소를 이용해 물리적으로 충돌 없이 프레임(Frame)을 전송하는 규약입니다.
- Ethernet (이더넷, IEEE 802.3)
- 현재 유선 LAN 환경에서 사실상 독점적으로 사용되는 표준 프로토콜입니다.
- 출발지 및 목적지 MAC 주소를 헤더에 기록하고, 패킷 꼬리표(Trailer)에 FCS(오류 검출용 체크섬)를 붙여 신뢰성 있는 로컬 프레임 전송을 보장합니다.
- Wi-Fi (IEEE 802.11)
- 유선 이더넷 규격을 무선 환경으로 확장한 프로토콜입니다. 공기라는 공유 매체를 사용하므로 충돌을 회피하기 위한 CSMA/CA 메커니즘을 사용합니다.
- ARP (Address Resolution Protocol)
- 목적지의 논리 주소(IP 주소)는 알고 있지만, 실제 로컬 통신에 필요한 물리 주소(MAC 주소)를 모를 때 이를 조회하기 위해 브로드캐스트 질의를 던지는 핵심 프로토콜입니다. (L2와 L3를 이어주는 교량 역할을 합니다.)
L3. 네트워크 계층 (Network Layer)
서로 다른 네트워크 망을 가로질러 목적지 호스트까지 패킷이 도달할 수 있도록 논리 주소(IP)를 지정하고 경로를 찾는 계층입니다.
- IP (Internet Protocol: IPv4, IPv6)
- 인터넷 전체를 지탱하는 가장 근본적인 프로토콜입니다.
- 출발지와 목적지의 IP 주소를 지정하여 패킷을 최적의 경로로 중계(Routing)합니다. 단, 패킷이 도중에 유실되거나 순서가 뒤바뀌어도 자체적으로 재전송해주지는 않는 비연결형·비신뢰성 특성을 가집니다.
- ICMP (Internet Control Message Protocol)
- IP 프로토콜이 보장하지 못하는 에러 보고와 네트워크 상태 진단 역할을 수행합니다.
- 대표적으로 특정 목적지 서버에 도달할 수 있는지 지연 시간을 측정하는
ping 명령어와 패킷의 경로를 추적하는 traceroute 명령어가 ICMP를 활용합니다.
- 라우팅 프로토콜 (OSPF, BGP 등)
- 라우터들끼리 최신 경로 정보를 교환하며 라우팅 테이블을 자동으로 갱신하는 프로토콜입니다. 사내망 내부에서는 OSPF가 주로 쓰이고, 전 세계 통신사(ISP) 간의 대규모 백본망에서는 BGP가 사용됩니다.
L4. 전송 계층 (Transport Layer)
컴퓨터 안에서 실행 중인 특정 애플리케이션(프로세스) 간의 종단 간(End-to-End) 데이터 전달을 담당하며, 포트 번호를 식별자로 사용합니다.
- TCP (Transmission Control Protocol)
- 연결 지향적(Connection-oriented)이며 높은 신뢰성을 제공하는 프로토콜입니다.
- 데이터를 보내기 전 3-Way Handshake를 통해 연결을 수립하고, 패킷의 순서 번호(Sequence Number)를 매겨 분실 시 재전송하며, 수신자의 버퍼 상태에 맞춰 흐름 제어(Flow Control)와 혼잡 제어(Congestion Control)를 수행합니다.
- 주 사용처: 웹 브라우징(HTTP/HTTPS), 파일 전송(FTP), 이메일(SMTP) 등 데이터 유실이 없어야 하는 서비스.
- UDP (User Datagram Protocol)
- 사전 연결 설정이나 확인 응답(ACK), 재전송 절차 없이 데이터를 즉시 쏟아붓는 비연결형(Connectionless) 프로토콜입니다.
- TCP에 비해 오버헤드가 매우 적고 지연 시간(Latency)이 짧습니다.
- 주 사용처: 실시간 음성/화상 통화(VoIP), 온라인 게임 통신, 스트리밍, DNS 질의.
L7. 응용 계층 (Application Layer - 세션/표현 계층 포함)
사용자가 이용하는 소프트웨어(웹 브라우저, 메일 클라이언트 등)와 직접 맞닿아 실제 인터넷 서비스를 구동하는 프로토콜들입니다.
- HTTP / HTTPS (Hypertext Transfer Protocol / Secure)
- 웹 상에서 HTML 문서, 이미지, JSON 데이터 등을 요청하고 응답받는 프로토콜입니다.
- HTTPS는 기존 HTTP 통신에 TLS/SSL 암호화 계층을 추가하여 도청 및 위변조를 방지합니다.
- DNS (Domain Name System)
- 사람이 읽기 쉬운 문자 도메인 이름(예:
google.com)을 컴퓨터가 이해할 수 있는 IP 주소(예: 142.250.207.46)로 변환해 주는 이름 해석 프로토콜입니다. (기본적으로 UDP 53번 포트 사용)
- SSH (Secure Shell)
- 원격지의 서버나 리눅스 컴퓨터에 안전하게 접속하여 셸 명령어를 실행할 수 있도록 암호화된 터널을 제공하는 프로토콜입니다. (TCP 22번 포트 사용)
- FTP / SFTP (File Transfer Protocol)
- 대용량 파일을 서버와 클라이언트 간에 업로드 및 다운로드하기 위해 특화된 파일 전송 프로토콜입니다.
3. 계층별 대표 프로토콜 한눈에 비교하기
| 계층 | 대표 프로토콜 | 식별 기준 (주소) | 프로토콜의 주 목적 |
|---|
| L7 (응용) | HTTP, HTTPS, DNS, SSH | URL, 도메인 이름 등 | 최종 사용자를 위한 실제 서비스 제공 및 데이터 처리 |
| L4 (전송) | TCP, UDP | 포트 번호 (Port) | 프로세스 간 신뢰성 보장(TCP) 또는 고속 데이터 전달(UDP) |
| L3 (네트워크) | IP (IPv4/v6), ICMP | 논리적 IP 주소 | 전 세계 복합 망에서 목적지 호스트까지 패킷 라우팅 및 상태 확인 |
| L2 (데이터링크) | Ethernet, Wi-Fi, ARP | 물리적 MAC 주소 | 동일 LAN 세그먼트 내 노드 간 프레임 송수신 및 MAC 조회 |
| L1 (물리) | 1000BASE-T, 802.11 PHY | 전기/광 펄스 | 전송 매체(케이블, 전파)를 통해 0과 1의 비트 스트림 물리 전송 |
4. 요약 및 마무리
- 네트워크 통신은 특정 단일 프로그램으로 이루어지는 것이 아니라, 각 계층의 프로토콜들이 자신의 책임을 다하며 협력하는 구조입니다.
- 웹 브라우저에 주소를 입력하면 DNS로 IP를 찾고, HTTP(S)로 요청서를 작성하며, TCP로 신뢰성 있는 연결을 맺고, IP로 경로를 찾아간 뒤, 이더넷(MAC)을 통해 로컬 라우터로 전달되는 연쇄적인 흐름을 거치게 됩니다.
- 각 프로토콜이 어느 계층에 속하고 어떤 식별자(포트, IP, MAC)를 활용하는지 기억해 두면 네트워크 트러블슈팅과 시스템 설계 시 매우 유용합니다.