지금까지 살펴본 네트워크 카드, 스위치·라우터, 패킷은 사실 통신 과정의 서로 다른 "단계"를 담당합니다. OSI 7계층은 이런 통신 과정을 7개의 계층으로 나누어 표준화한 모델입니다. 계층을 나누어 두면 각 계층을 담당하는 장비나 프로그램을 서로 독립적으로 개발하고 교체할 수 있어, 제조사가 달라도 문제없이 함께 동작할 수 있습니다.
응용 계층에서 만들어진 데이터는 아래로 내려가면서 각 계층이 자신만의 헤더(봉투)를 하나씩 덧붙입니다. 이렇게 데이터를 겹겹이 감싸는 과정을 캡슐화(encapsulation)라고 하며, 받는 쪽에서는 반대로 겉봉투부터 하나씩 벗겨내며(역캡슐화) 원래 데이터를 복원합니다.
위 캡슐화 과정에서 만들어지는 프레임의 실제 내용을 들여다보면, 이더넷은 아래 그림처럼 정해진 순서의 필드로 구성됩니다. 맨 앞의 목적지·출발지 MAC 주소로 같은 통신망 안에서 상대를 구분하고, 맨 뒤의 FCS로 전송 중 오류가 없었는지 검사합니다.
| 필드 | 크기 | 설명 |
|---|---|---|
| 프리앰블(Preamble) | 7바이트 | 1과 0을 번갈아 56비트 보내, 수신 쪽이 신호에 맞춰 동기를 잡도록 합니다. |
| SFD(Start Frame Delimiter) | 1바이트 | "이제부터 진짜 프레임이 시작된다"는 것을 알리는 시작 표시입니다. |
| 목적지 MAC 주소 | 6바이트 | 이 프레임을 받아야 할 기기의 고유 하드웨어 주소입니다. |
| 출발지 MAC 주소 | 6바이트 | 이 프레임을 보낸 기기의 고유 하드웨어 주소입니다. |
| 타입/길이(Type/Length) | 2바이트 | 데이터에 담긴 상위 계층 프로토콜(IPv4·ARP·IPv6 등)의 종류를 나타냅니다. |
| 데이터(Payload) + 패딩 | 46~1500바이트 | 상위 계층(3~7계층)에서 내려온 실제 내용입니다. 내용이 46바이트보다 작으면 뒤에 0을 채우는 패딩으로 최소 길이를 맞춥니다. |
| FCS(Frame Check Sequence) | 4바이트 | 32비트 CRC로 전송 중 오류가 생기지 않았는지 검사합니다. |
프리앰블·SFD(8바이트)는 프레임 길이 계산에서는 제외하며, 나머지 필드만 더한 순수 프레임 길이는 최소 64바이트(MAC 헤더 14 + 데이터 46 + FCS 4)에서 최대 1518바이트(MAC 헤더 14 + 데이터 1500 + FCS 4)입니다. 목적지·출발지 MAC은 스위치가 신호를 정확한 상대에게만 전달하는 데 쓰이고, 타입 필드는 그 안에 담긴 데이터가 3계층의 어떤 프로토콜인지 알려 줍니다.
예전에 여러 컴퓨터가 하나의 케이블을 함께 쓰던 이더넷에서는, 둘 이상이 동시에 신호를 보내면 신호가 서로 뒤섞이는 충돌(collision)이 생겼습니다. 이를 막기 위해 쓰인 방식이 CSMA/CD(반송파 감지 다중 접속/충돌 탐지)이며, 다음 순서로 동작합니다.
오늘날에는 스위치가 포트마다 신호를 따로 전달해 주기 때문에 케이블을 함께 쓸 일이 거의 없어졌고, 그 결과 CSMA/CD는 현재 유선 이더넷에서는 거의 쓰이지 않는 옛 방식이 되었습니다.
4계층(전송 계층)에는 대표적으로 두 가지 프로토콜이 있습니다. TCP는 먼저 연결을 맺고(3-way handshake), 데이터가 잘 도착했는지 확인(ACK)하며, 손실된 데이터는 재전송해 순서대로 정확히 전달하는 신뢰성 있는 프로토콜입니다. 반면 UDP는 연결 설정 없이 곧바로 데이터를 보내고, 손실되어도 재전송하지 않는 대신 지연이 적고 빠릅니다. 그래서 파일 전송·이메일처럼 정확성이 중요한 곳에는 TCP를, 실시간 스트리밍·온라인 게임처럼 속도가 중요한 곳에는 UDP를 주로 사용합니다.
아래에서 프로토콜과 "패킷 손실" 여부를 고른 뒤 전송을 실행해, TCP와 UDP가 손실에 어떻게 다르게 반응하는지 비교해 보세요.
| TCP | UDP | |
|---|---|---|
| 연결 설정 | 있음 (3-way handshake) | 없음 |
| 신뢰성(재전송) | 있음 — 손실 시 재전송 | 없음 — 손실 시 그대로 버림 |
| 순서 보장 | 보장됨 | 보장되지 않음 |
| 속도·오버헤드 | 상대적으로 느림, 오버헤드 큼 | 빠름, 오버헤드 작음 |
| 대표 사용 예 | 웹(HTTP), 이메일, 파일 전송 | 실시간 스트리밍, 온라인 게임, DNS |
네트워크