핵심 인사이트 (3줄 요약)
- 본질: 차세대 인터넷 주소인 IPv6 헤더에 있는 **'Next Header(다음 헤더)'**와 **'Hop Limit(홉 제한)'**은 기존 IPv4의 'Protocol(프로토콜)'과 'TTL(수명)' 필드의 이름을 직관적으로 바꾸고 기능을 진화시킨 핵심 통제 필드다.
- Next Header (확장의 마법): 단순히 뱃속에 TCP가 들었는지 UDP가 들었는지 알려주는 것을 넘어, IP 패킷에 암호화(IPsec)나 라우팅 옵션을 덕지덕지 붙이고 싶을 때 기본 40바이트 헤더 바로 뒤에 '확장 헤더(Extension Header)'를 기차 꼬리칸처럼 줄줄이 이어 붙일 수 있게 해주는 마법의 연결고리(포인터) 역할을 한다.
- Hop Limit (루핑 방지): 옛날엔 'Time(시간)'이라고 뻥을 쳐놨지만 실제론 라우터를 지날 때마다 1씩 깎였던 IPv4의 모순을 고치기 위해, 정직하게 "라우터 징검다리 횟수(Hop)"라고 이름을 바꾼 우주 미아 패킷 자폭용 카운트다운 타이머다.
Ⅰ. 개요 및 필요성 (Context & Necessity)
-
개념: IPv6 40바이트 고정 헤더 내에 위치한 8비트짜리 필드 두 개.
Next Header: 내 뒤에 따라오는 데이터의 종류(TCP/UDP 혹은 확장 헤더)를 지시.Hop Limit: 패킷이 거칠 수 있는 최대 라우터 개수.
-
필요성: IPv4는 헤더 안에 옵션(Options)을 마구 집어넣을 수 있어서 헤더 길이가 20바이트에서 60바이트까지 들쭉날쭉 변했다. 이러면 라우터가 "어디까지가 헤더야?" 하고 계산하느라 뻗어버린다. IPv6는 **"무조건 메인 헤더는 40바이트로 픽스! 만약 추가 옵션이 필요하면 메인 헤더 뒤에 별도의 '확장 헤더' 블록을 꼬리물기 하듯 붙여라!"**라는 천재적인 모듈화 설계를 도입했다. 이 꼬리물기를 엮어주는 고리가 Next Header다.
-
💡 비유:
- Next Header: 블록 장난감 기차의 **"자석 연결 고리"**입니다. 맨 앞 기관차(기본 헤더)의 고리에 화물칸(확장 헤더)을 붙이고, 화물칸의 고리에 또 여객칸(TCP)을 무한히 이어 붙일 수 있게 해줍니다.
- Hop Limit: 좀비 목에 걸어둔 **"폭탄 타이머"**입니다. 방(라우터)을 하나 통과할 때마다 숫자가 1씩 깎이고, 0이 되면 펑! 터져서 방황하는 좀비를 제거합니다.
📢 섹션 요약 비유: IPv6는 덕지덕지 붙어있던 무거운 배낭(IPv4 헤더 옵션)을 쿨하게 버리고, **"기본 가방(40바이트) 하나만 달랑 멘 다음, 필요한 아이템이 생길 때마다 줄(Next Header)을 엮어 뒤에 매달고 질주하는 초경량 스프린터"**입니다.
Ⅱ. 확장 헤더 체인과 홉 제한의 원리 (Deep Dive)
1. Next Header와 데이지 체인(Daisy Chain) 구조
Next Header 필드 안에는 숫자가 들어간다. 이 숫자는 IANA가 정의한 프로토콜 번호다.
6= TCP 알맹이가 따라옴.17= UDP 알맹이가 따라옴.- 확장 헤더 번호들:
0(Hop-by-Hop 옵션),43(라우팅 옵션),50(ESP, 데이터 암호화) 등.
송신자가 보안이 필요해서 ESP 암호화 확장 헤더를 붙였다면 패킷 구조는 이렇게 된다.
- IPv6 기본 헤더 (Next Header =
50적힘) - ESP 확장 헤더 (Next Header =
6적힘) - TCP 헤더 및 실제 데이터
▶ 라우터는 1번 기본 헤더의
50을 보고 "아, 뒤에 ESP 확장 헤더가 오네?" 하고 넘어가고, ESP 헤더는6을 보고 "내 뒤에는 진짜 TCP 데이터가 오는군!" 하고 연결(체인)을 완성한다. 이 방식 덕분에, 중간 라우터는 자기가 굳이 안 까봐도 되는 확장 헤더는 무시하고 빠르게 넘겨버릴 수 있어 스위칭 스피드가 극대화된다.
┌─────────────────────────────────────────────────────────────┐
│ IPv6 Next Header에 의한 확장 꼬리물기 │
├─────────────────────────────────────────────────────────────┤
│ │
│ [ 일반 패킷 ] │
│ [ 기본 헤더 (Next: TCP) ] ──▶ [ TCP 헤더 및 Data ] │
│ │
│ [ 암호화 + 단편화 옵션이 추가된 특수 패킷 ] │
│ [ 기본 헤더 (Next: 단편화) ] │
│ └──▶ [ 단편화 확장 헤더 (Next: ESP) ] │
│ └──▶ [ ESP 확장 헤더 (Next: TCP) ] │
│ └──▶ [ TCP 데이터 ] │
│ │
│ * 핵심: 아무리 확장 헤더가 많이 붙어도 맨 앞의 기본 헤더는 │
│ 언제나 "40바이트 뚱뚱하지 않은 상태"를 완벽히 유지한다! │
└─────────────────────────────────────────────────────────────┘
2. Hop Limit (홉 제한)의 정직한 개명
IPv4의 TTL(Time To Live)은 단위가 '초(Second)'였다. 설계자들은 패킷이 네트워크에 1초 머물 때마다 1씩 깎일 거라고 상상했다. 하지만 현실의 라우터는 0.001초 만에 패킷을 처리해 버렸고, 초 단위로 깎는 건 불가능해서 그냥 라우터 한 대 지날 때마다 1씩 깎는 꼼수로 변질되었다.
IPv6는 이 이름의 모순을 바로잡아, 직관적이고 솔직하게 **"거쳐 가는 라우터의 개수(Hop Limit)"**로 이름을 바꾸었다. 기능은 IPv4 TTL과 100% 완벽히 동일하다. 0이 되면 터지고 ICMPv6 에러(Time Exceeded)를 뱉어낸다.
📢 섹션 요약 비유: Next Header 확장은 햄버거집의 **"추가 토핑 주문서"**입니다. 기본 빵(40바이트 헤더)은 절대 모양을 바꾸지 않고, 주문서에 적힌 화살표(Next Header)를 따라 치즈 패티, 베이컨 패티(확장 헤더)를 차곡차곡 쌓아 올려 거대한 햄버거를 완성하는 모듈식 건축술입니다.