IPv6 - 이더넷 네트워크에서의 IPv6 패킷 전송 (IETF RFC 2464)

반응형

본 글에서는 IETF RFC 2464 Transmission of IPv6 Packets over Ethernet Networks 표준에 기술된 이더넷 네트워크 상에서의 IPv6 패킷 전송 방법에 대해 설명한다.

 

 

RFC 2464 : Transmission of IPv6 Packets over Ethernet Networks

1. 소개

본 표준은 이더넷 네트워크 상에서 전송되는 IPv6 패킷의 프레임 형식과 IPv6 링크로컬 주소를 구성하는 방법, stateless 하게 주소를 자동 설정하는 방법을 기술한다.

 

또한 Router Solicitation, Router Advdertisement, Neighbor Solictation, Neighbor Advertisement, Redirect 메시지가 이더넷 상으로 전송될 때 해당 메시지 내에 수납되는 Source/Target Link-Layer Address option의 내용을 기술한다.

 

본 문서는 기존 RFC 1972 A Method for the Transmission of IPv6 Packets over Ethernet Networks 표준을 대체한다.

 

2. 최대 전송 유닛 (Maximum Transmission Unit)

이더넷에서 전송되는 IPv6 패킷의 기본 MTU 크기는 1500 바이트이다. 이 값은 보다 작은 MTU 크기를 제시하는 MTU option 필드를 수납한 Router Advertisement 메시지에 의해 감소할 수 있다. 또한 각 노드 상에서의 수동 설정을 통해서도 감소할 수도 있다.

 

수신된 Router Advertisement 에 수납된 MTU option 필드가 1500 보다 큰 값 또는 수동으로 설정된 값보다 큰 값을 제시하고 있는 경우, 해당 MTU option 값이 적용될 수도 있으며, 그렇지 않다면 무시되어야 한다.

 

본 표준의 목적에 따라, DHCP 로부터 수신되는 정보들은 "수동 설정"인 것으로 간주되며, "이더넷"이라는 용어는 ISO/IEC 8802-3 에 기반한 CSMA/CD 및 전이중(Full-duplex) 서브네트워크를 포함한다.

 

 

 

3. 프레임 형식

IPv6 패킷은 표준 이더넷 프레임에 담겨 전송된다.

이더넷 헤더는 목적지 주소, 발신지 주소, 이더넷 유형 코드 필드를 포함하며, IPv6 패킷을 위한 이더넷 유형 코드는 0x86DD 의 값을 가진다.

이더넷 헤더 뒤에 바로 IPv6 헤더와 페이로드가 연결되며, 필요 시 이더넷 링크 상에서 요구되는 최소 프레임 크기를 맞추기 위해 뒷 부분에 패딩 바이트들이 추가될 수도 있다.

 

IPv6 패킷을 수납하는 이더넷 프레임 형식

 

4. Stateless Autoconfiguration

이더넷 인터페이스에 대한 인터페이스 식별자(Interface Identifier)인터페이스에 내장된 48비트 IEEE 802 이더넷 주소로부터 파생된 EUI-64 식별자로부터 생성된다.

 

48비트 이더넷 주소로부터 EUI-64 식별자를 만드는 방법은 다음과 같다.

 

  • 이더넷 주소의 OUI(첫 3 바이트)가 EUI-64의 company_id(첫 3바이트)로 저장된다.
  • EUI-64의 4-5번째 바이트는 고정값인 0xFFFE로 설정된다.
  • 이더넷 주소의 마지막 3바이트가 EUI-64의 마지막 3바이트로 저장된다.

이더넷 MAC 주소로부터 EUI-64 식별자를 생성하는 방법

 

이렇게 생성된 EUI-64 식별자에서 "Universal/Local(U/L)" 비트(첫번째 바이트의 7번째 비트)를 보완하면 최종 인터페이스 식별자가 완성된다. 

 

각 식별자에서 U/L 비트의 의미는 다음과 같다.

 

  • 인터페이스에 내장된 이더넷 MAC 주소 및 EUI-64 식별자는 U/L 비트 값이 0인 경우에 전세계적으로 통합 관리되는 주소(전세계에서 고유한 값)로 간주된다.
  • 반대로, IPv6 주소에 사용되는 인터페이스 식별자는 U/L 비트 값이 1일 때 전세계적으로 통합 관리되는 주소(전세계에서 고유한 값)로 간주된다.

이처럼 두 식별자에서의 U/L 비트값의 의미가 반대이기 때문에, IPv6 주소에 사용될 인터페이스 식별자를 생성하기 위해 이 비트를 보완하면 값이 보통 0에서 1로(전세계에서 고유한 값) 변경된다.

이는 인터페이스에 내장된 주소가 전세계적으로 관리되는 주소 공간으로부터 나온 것으로 기대되어 글로벌하게 고유한 것으로 간주되기 때문이다.

 

예를 들어, 내장 주소가 34-56-78-9A-BC-DE 인 이더넷 인터페이스에 대한 인터페이스 식별자는 36-56-78-FF-FE-9A-BC-DE 가 된다.

 

수동 또는 소프트웨어적으로 설정되는 다른 MAC 주소는 인터페이스 식별자를 생성하는데 사용되어서는 안 된다. 만약 이런 MAC 주소가 꼭 쓰여야 한다면, 이의 글로벌 고유성이 U/L 비트에 표현되어야 한다.

 

이더넷 인터페이스의 stateless autoconfiguration 에 사용되는 IPv6 주소 프리픽스는 64비트의 길이를 가져야 한다.

 

 

 

5. 링크-로컬 주소

이더넷 인터페이스에 대한 IPv6 링크-로컬 주소는 FE80::/64 프리픽스에 인터페이스 식별자를 결합하여 생성된다.

이더넷 인터페이스에 대한 IPv6 링크-로컬 주소 형식

 

6. 주소 맵핑 - 유니캐스트

IPv6 유니캐스트 주소를 이더넷 링크계층 주소로 매핑하는 절차는 RFC 2461 Neighbor Discovery for IP Version 6 표준에 기술되어 있다.

링크계층이 이더넷일 때 Neighbor Discovery 관련 메시지에 수납되는 Source/Target Link-layer address option 필드는  다음과 같은 형식을 가진다.

 

Neighbor Discovery 관련 메시지에 수납되는 Source/Target Link-Lyaer address option 필드 형식

  • Type 
    • 1: Source Link-layer address
    • 2: Target Link-layer address
  • Length : 1 (8바이트 단위 길이)
  • Ethernet Address : 48 비트 IEEE 802 주소. 이 값은 인터페이스가 현재 응답하는 주소이며, 인터페이스 식별자를 생성하는데 사용되었던 내장 주소와 다를 수도 있다.

 

7. 주소 맵핑 - 멀티캐스트

멀티캐스트 목적지 주소 DST(DST[1]...DST[16])를 갖는 IPv6 패킷은 다음과 같은 형식의 이더넷 멀티캐스트 MAC 주소를 목적지 주소로 갖는 이더넷 프레임에 수납되어 전송된다.

멀티캐스트 IPv6 패킷을 수납하는 이더넷 프레임의 목적지 MAC 주소 필드 형식

 

8. RFC 1972 와의 차이점

본 표준과 RFC 1972 표준과의 차이점은 다음과 같다.

 

  • 노드의 48비트 MAC 주소인 주소 토큰이 EUI-64 형식에 기반을 둔 64비트 길이 인터페이스 식별자로 변경되었다. 
  • stateless autoconfiguration 에 사용되는 프리픽스가 기존 80 에서 64 비트로 변경되었다. 링크-로컬 프리픽스 역시 64비트로 변경되었다.

 

댓글

Designed by JB FACTORY