2012-01-05

IPv6 인터페이스 식별자


IPv6 인터페이스 식별자

IPv6 인터페이스 식별자

IPv6 주소의 마지막 64비트는 IPv6 주소의 64비트 접두사에 고유한 인터페이스 식별자입니다. 인터페이스 식별자를 규정하는 방식은 다음과 같습니다.
  • RFC 2373에서는 접두사 001에서 111까지 사용하는 모든 유니캐스트 주소는 EUI(확장 고유 식별자)-64 주소에서 파생된 64비트 인터페이스 식별자를 사용해야 한다고 설명합니다. 
  • RFC 3041에서는 익명 수준을 제공하기 위해 시간에 따라 변하며 임의로 생성되는 인터페이스 식별자에 대해 설명합니다. 
  • 인터페이스 식별자는 DHCPv6 등을 통해 상태 저장 주소 자동 구성 중에 할당됩니다. DHCPv6 표준은 현재 정의 중입니다. 
  • 인터페이스 식별자는 수동으로 구성됩니다. 

EUI-64 주소 기반 인터페이스 식별자

64비트 EUI-64 주소는 IEEE(Institute of Electrical and Electronic Engineers)에서 정의합니다. EUI-64 주소는 네트워크 어댑터에 할당되거나 IEEE 802 주소에서 파생됩니다.

IEEE 802 주소

네트워크 어댑터의 일반적인 인터페이스 식별자는 IEEE 802 주소라고 하는 48비트 주소를 사용합니다. 이 주소는 제조업체 ID라고도 하는 24비트 회사 ID와 보드 ID라고도 하는 24비트 확장 ID로 구성됩니다. 네트워크 어댑터의 각 제조업체에 고유하게 할당된 회사 ID와 조립 시 각 네트워크 어댑터에 고유하게 할당되는 보드 ID를 조합하여 전역적으로 고유한 48비트 주소를 생성합니다. 이 48비트 주소는 실제 주소, 하드웨어 주소 또는 MAC(미디어 액세스 제어) 주소라고도 합니다.
48비트 IEEE 802 주소의 구조
IEEE 802 주소 내에 정의된 비트는 다음과 같습니다.
  • U/L(유니버설/로컬)
    U/L 비트는 첫째 바이트의 일곱 번째 비트이며 주소를 유니버설하게 관리할지 로컬로 관리할지 여부를 결정하는 데 사용됩니다. U/L 비트를 0으로 설정하면 고유한 회사 ID를 지정하여 IEEE에서 주소를 관리합니다. U/L 비트를 1로 설정하면 주소를 로컬로 관리합니다. 네트워크 관리자는 제조업체 주소를 무시하고 다른 주소를 지정합니다.
  • I/G(개별/그룹)
    I/G 비트는 첫째 바이트의 하위 비트이며 주소가 개별 주소(유니캐스트)인지 그룹 주소(멀티캐스트)인지 여부를 결정하는 데 사용됩니다. 0으로 설정하면 유니캐스트 주소가 되고 1로 설정하면 멀티캐스트 주소가 됩니다.
일반 802.x 네트워크 어댑터 주소의 경우 U/L과 I/G 비트 모두 0으로 설정되며 유니버설하게 관리되는 유니캐스트 MAC 주소에 해당합니다.

IEEE EUI-64 주소

IEEE EUI-64 주소는 네트워크 인터페이스 주소를 지정하는 데 사용하는 새로운 표준입니다. 회사 ID의 길이는 여전히 24비트이지만 확장 ID는 40비트로 늘어나 네트워크 어댑터 제조업체를 위해 훨씬 큰 주소 공간이 만들어집니다. EUI-64 주소는 IEEE 802 주소와 같은 방식으로 U/L 및 I/G 비트를 사용합니다.
EUI-64 주소의 구조

IEEE 802 주소와 EUI-64 주소 매핑

IEEE 802 주소에서 EUI-64 주소를 만들려면 11111111 11111110(0xFFFE)의 16비트를 회사 ID와 확장 ID 사이의 IEEE 802 주소에 삽입합니다. 다음 그림은 IEEE 802 주소를 EUI-64 주소로 변환하는 것을 보여 줍니다.
IEEE 802 주소에서 EUI-64 주소로 변환

EUI-64 주소와 IPv6 인터페이스 식별자 매핑

IPv6 유니캐스트 주소의 64비트 인터페이스 식별자를 얻으려면 EUI-64 주소의 U/L 비트를 보완합니다. 즉, 1인 경우 0으로 설정하고 0인 경우 1로 설정합니다. 다음 그림은 유니버설하게 관리되는 유니캐스트 EUI-64 주소에 대한 변환을 보여 줍니다.
IPv6 식별자로 변환된 EUI-64 주소
IEEE 802 주소에서 IPv6 인터페이스 식별자를 얻으려면 먼저 IEEE 802 주소를 EUI-64 주소로 매핑한 다음 U/L 비트를 보완해야 합니다. 다음 그림은 유니버설하게 관리되는 유니캐스트 IEEE 802 주소에 대한 변환 과정을 보여 줍니다.
IPv6 식별자로 변환된 IEEE 802 주소

IEEE 802 주소 변환 예제

호스트 A에는 이더넷 MAC 주소 00-AA-00-3F-2A-1C가 있다고 가정합니다. 먼저 이 주소는 세 번째와 네 번째 바이트 사이에 FF-FE가 삽입되어 EUI-64 형식으로 변환되고 00-AA-00-FF-FE-3F-2A-1C를 생성합니다. 그런 다음 첫째 바이트에서 일곱 번째 비트인 U/L 비트를 보완합니다. 이진 형식의 첫째 바이트는 00000000입니다. 일곱 번째 비트를 보완하면 00000010(0x02)이 됩니다. 최종 주소는 02-AA-00-FF-FE-3F-2A-1C이며 콜론으로 구분된 16진수 표시법으로 변환하면 인터페이스 식별자는 2AA:FF:FE3F:2A1C가 됩니다. 결과적으로 MAC 주소가 00-AA-00-3F-2A-1C인 네트워크 어댑터에 해당하는 로컬 링크 주소는 FE80::2AA:FF:FE3F:2A1C입니다.
참고
  • U/L 비트를 보완할 때 EUI-64 주소가 유니버설하게 관리되는 경우에는 첫 번째 바이트에 0x2를 더하고 EUI-64 주소가 로컬로 관리되는 경우에는 첫 번째 바이트에서 0x2를 뺍니다. 

임시 주소 인터페이스 식별자

현재 IPv4 기반 인터넷을 사용하는 일반 인터넷 사용자는 ISP(인터넷 서비스 공급자)에 연결한 다음 PPP(지점간 프로토콜)와 IPCP(Internet Protocol Control Protocol)를 사용하여 IPv4 주소를 가져옵니다. 사용자가 연결할 때마다 다른 IPv4 주소를 가져올 수 있으므로 IP 주소를 기반으로 하는 인터넷에서는 사용자 트래픽을 추적하기 어렵습니다.
IPv6 기반 전화 접속 연결의 경우 라우터 검색과 상태 비저장 주소 자동 구성을 통해 연결된 후에 사용자에게 64비트 접두사가 할당됩니다. 인터페이스 식별자가 정적 IEEE 802 주소에서 파생된 것과 같이 항상 EUI-64 주소를 기반으로 하는 경우 접두사에 관계없이 특정 노드의 트래픽을 식별할 수 있으므로 특정 사용자와 그 사용자의 인터넷 사용을 추적하기 쉽습니다. 이 문제를 해결하고 익명 수준을 제공하기 위해 임의로 생성되며 시간에 따라 변하는 대체 IPv6 인터페이스 식별자는 RFC 3041에 설명되어 있습니다.
첫 번째 인터페이스 식별자는 임의의 숫자를 사용하여 생성됩니다. 나중에 인터페이스 식별자 값을 생성하기 위해 기록 정보를 저장할 수 없는 IPv6 시스템의 경우에는 IPv6 프로토콜을 초기화할 때마다 새 임의 인터페이스 식별자가 생성됩니다. 저장 기능이 있는 IPv6 시스템의 경우 기록 값이 저장되고 IPv6 프로토콜이 초기화되면 다음 과정을 통해 새 인터페이스 식별자가 만들어집니다.
  1. 저장소에서 기록 값을 검색하여 어댑터의 EUI-64 주소를 기반으로 하는 인터페이스 식별자를 추가합니다. 
  2. 1단계에서 검색한 값으로 MD5(Message Digest-5) 단방향 암호화 해시를 계산합니다. 
  3. 다음 인터페이스 식별자를 계산하기 위해 2단계에서 계산한 MD5 해시의 마지막 64비트를 기록 값으로 저장합니다. 
  4. 2단계에서 계산한 MD5 해시의 처음 64비트를 사용하고 일곱 번째 비트를 0으로 설정합니다. 일곱 번째 비트는 U/L 비트에 해당하며 0으로 설정하면 로컬에서 관리되는 인터페이스 식별자를 나타냅니다. 이렇게 하면 인터페이스 식별자가 만들어집니다. 
이러한 임시 인터페이스 식별자를 기반으로 만들어진 IPv6 주소를 임시 주소라고 합니다. 임시 주소는 상태 비저장 주소 자동 구성 방식을 사용하는 공개 주소 접두사에 대해 생성됩니다. 임시 주소는 유효 수명과 기본 수명의 다음 값 중 더 작은 값에 사용됩니다.
  • 수신한 라우터 알림 메시지의 접두사 정보 옵션에 포함된 수명 
  • 유효 수명은 일주일, 기본 수명은 하루인 로컬 기본값 
임시 주소의 유효 수명이 만료되면 새 인터페이스 식별자와 임시 주소가 생성됩니다.