MAC 주소를 얻으려면 왜 IPv6 네트워크 환경 요청이 필요합니까?


12

저는 소프트웨어 개발자이며 Techdays에서 IPv6에 대한 무료 책을 받았습니다. 그들은 약간 오래된 책 (W2008)이기 때문에 그것을 포기 했으므로 다른 / 새로운 OS에서는 상황이 다를 수 있지만 Neighbor Discovery가 MAC 주소를 가져야 할 필요성을 이해하지 못합니다.

이 책에 따르면, 모든 노드는 자동으로 링크 로컬 IP 주소를 얻습니다. MAC 주소 FF-FE는 3 번째와 4 번째 바이트 사이 에 삽입 하고 U / L 비트를 뒤집어 MAC 주소로 구성되어 있습니다 . MAC 주소를 가진 노드 00-AA-00-3F-2A-1C가됩니다 FE80::2AA:FF:FE:3F:2A1C.

링크 계층 MAC 주소를 결정하기 위해 Neighbor Solicitation 메시지가 링크 로컬 IP 주소로 보내지며,이 주소는 해당 MAC 주소를 포함하는 메시지로 응답합니다. 그러나 보낸 사람은 이미 MAC 주소가 로컬 IP 주소. 그래서 누군가 주소를 요구하는 엽서를 우편으로 보내는 것처럼 들립니다.

답변:


20

모든 노드는 자동으로 로컬 링크 주소를 생성하지만 다음을 수행합니다.

  • 이 주소는 RFC 2464에 지정된 EUI-64 형식으로 생성되지 않을 수 있습니다 . IPv6 주소는 또한 암호화 적으로 생성 된 주소 ( RFC 3972 ), 임시 개인 정보 주소 ( RFC 4941 ), 또는 현대 운영 체제에서 안정적인 개인 정보 주소 ( RFC 7217 ) 일 수있다.

  • EUI-64 인터페이스 ID가있는 것처럼 보이는 주소는 관리자가 명시 적으로 구성했기 때문에 표시된 MAC 주소와 실제로 일치하지 않을 수 있습니다.

MAC 주소로 "주소를 다시 변환"할 수 없으므로 MAC 주소를 확인하려면 네트워크 환경 요청을 보내야합니다.

이웃 간청이 필요한 다른 이유도 있습니다. 이들 중 일부는 다음과 같습니다.

  • 중복 주소 감지 ( RFC 4862 ). 다른 호스트가 호스트가 사용하고자하는 주소를 (올바르거나 잘못) 주장했을 수 있습니다.
  • 인접 도달 불가능 감지. 이웃 요청에 대한 응답이 부족하다는 것은 이웃이 접근 할 수 없음을 나타내는 하나의 지표입니다.

책은 모두 훌륭하지만 좋은 책은 그리 유용하지 않을 수 있습니다. IPv6조차도 지난 10 년 동안 크게 수정되었습니다. 진실의 가장 좋은 소스는 관련 RFC이며, 원래 RFC와 업데이트되거나 폐기 된 것으로 표시된 RFC입니다. RFC는 적합한 구현을 작성할 수 있도록 충분히 상세하게 지정됩니다. RFC 4861 을 읽으면 이웃 감지에 대한 모든 세부 사항을 배울 수 있습니다 .


수정 해 주셔서 감사합니다. EUI-64 형식을 사용하지 않는 경우 실제로는 MAC을 검색해야합니다. 그러나 실제로 로컬 링크 주소에 대한 EUI-64 형식의 개인 정보 보호 관련 문제를 이해하지 못합니다. 링크 로컬 주소는 링크 범위에 있고 해당 링크에서 MAC 주소는 다음과 같아야합니다. ) 어쨌든 이더넷 통신에 대해 (Neighbor Solicitation에 의해) 알려져 있으므로 악의적 인 의도로 MAC 주소가 로컬 링크의 안정적인 개인 정보 주소를 따라 저장 될 수 있습니까?
Edwin

@Edwin, SLAAC는 원래 링크 로컬 주소뿐만 아니라 모든 IPv6 주소 지정에 사용되었으므로 호스트를 추적 할 수 있습니다. SLAAC는 링크 로컬 주소를 할당하는 유일한 방법입니다. 또한 수동으로 할당 할 수 있으며 링크-로컬 주소의 MAC 주소는 제공하지 않습니다. 로컬 링크를 포함하여 모든 주소를 수동으로 할당하려는 사람들이 있습니다. 그것은 거의 또는 전혀 이득을 얻기 위해 많은 일을하는 것처럼 보이지만 그것들을 행복하게 만들고 인터페이스의 모든 주소의 모든 IID는 선호하는 순서대로 동일합니다.
Ron Maupin

@Edwin 각 호스트는 실제로 호스트가 유지 관리하는 IPv4 ARP 테이블과 유사한 대상 캐시 (RFC 4861 참조)를 유지 관리합니다.
Michael Hampton

주소의 크기가 두 배인 경우 CGA가 더 간단하고 안전 할 수 있습니다. 사양의 절반은 인터페이스 식별자에 64 비트 만 있으면 162 비트 정도가 이상적입니다. 128 비트가 너무 많다는 생각이들 때마다 기억해야합니다.
kasperd

해당 Microsoft 문서에 대해 비표준으로 간주하는 것은 무엇입니까? 나에게 그것은 당신이 연결된 RFC를 요약 한 것처럼 보입니다.
kasperd

9

따라서 몇 가지 사항을 오해하거나 잘못 알고 있습니다.

호스트는 SLAAC를 사용하여 MAC 주소를 사용하여 고유 한 IPv6 주소를 구성 할 수 있지만 많은 사람들이 위험하다고 생각하여 너무 많은 정보를 제공하고 특정 호스트를 추적 할 수있게했습니다. 이를 바탕으로 개인 정보 확장 및 임의 주소 지정이 개발되었으며 OS에서 개인 정보 / 보안을 제공하는 데 사용됩니다. 즉, 호스트는 MAC 주소를 기반으로하지 않고 자체 주소를 만들 수 있습니다.

호스트가 IPv4에서 인접 장치의 MAC 주소를 검색해야 할 경우 ARP를 사용합니다. ARP는 요청을 브로드 캐스트하지만 IPv6에는 브로드 캐스트가 없습니다. 대신 모든 호스트가 Solicited Node 멀티 캐스트 그룹에 가입해야합니다. 이 그룹은 IPv6 주소의 마지막 24 비트를 기반으로합니다. IPv6 인터페이스는 임의의 수의 IPv6 주소를 가질 수 있으므로 호스트는 여러 요청 노드 멀티 캐스트 그룹에 참여할 수 있습니다. 다른 호스트의 MAC 주소를 찾는 IPv6 호스트는 대상 IPv6 주소의 Solicited Node 멀티 캐스트 그룹으로 멀티 캐스트 요청을 보냅니다.

이는 IPv4 ARP에 비해 이점이 있습니다. ARP는 요청에 브로드 캐스트를 사용하므로 계층 2 브로드 캐스트 도메인의 모든 호스트를 중단합니다. Solicited Node 멀티 캐스트 그룹은 대상 IPv6 주소의 마지막 24 비트를 사용하기 때문에 ND 멀티 캐스트 요청은 아마도 대상 호스트 또는 계층 2 브로드 캐스트 도메인의 하나 또는 두 개의 다른 호스트 만 중단시킵니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.