헤더(Header)란?

헤더는 네트워크 통신에서 데이터 패킷의 앞부분에 붙는 제어 정보(control information)이다.
실제 전송하려는 데이터(페이로드)와 함께 전송되며, 데이터를 올바른 목적지로 전달하고 처리하는 데 필요한 메타데이터를 포함한다.

OSI 7계층별 주요 헤더

1. 데이터 링크 계층 (Layer 2) - 이더넷 헤더

2. 네트워크 계층 (Layer 3) - IP 헤더

IPv4 헤더 (RFC 791):

IPv6 헤더 (RFC 2460):

3. 전송 계층 (Layer 4)

TCP 헤더 (RFC 793):

UDP 헤더 (RFC 768):

4. 응용 계층 (Layer 7)

HTTP 헤더 (RFC 7230-7235):

GET /index.html HTTP/1.1
Host: www.example.com
User-Agent: Mozilla/5.0
Accept: text/html

헤더의 역할

  1. 주소 지정: 출발지와 목적지 식별
  2. 라우팅: 패킷 경로 결정
  3. 오류 검출: Checksum을 통한 데이터 무결성 검증
  4. 흐름 제어: 네트워크 혼잡 관리
  5. 프로토콜 식별: 상위 계층 프로토콜 구분

캡슐화 (Encapsulation)

데이터가 각 계층을 거치며 해당 계층의 헤더가 추가되는 과정:

[응용 계층 데이터]
↓
[TCP 헤더][데이터]
↓
[IP 헤더][TCP 헤더][데이터]
↓
[이더넷 헤더][IP 헤더][TCP 헤더][데이터][이더넷 트레일러]

참고 문헌