2011-02-06 7 views
8

현재 IPv6 주소의 작동 방식을 이해하려고합니다. 소규모 및 조직 네트워크에 각각 사용되는 링크 로컬 및 사이트 로컬 주소가 있습니다. 하지만 그 고객 중 한 명이 인터넷에 접속한다면 두 개의 IP가 필요합니다. 맞습니까? 하나의 링크/사이트 로컬 및 하나의 글로벌 주소. 인터페이스와 라우터는 어떻게 관리합니까? 하나의 인터페이스는 IPv6에 NAT가 없으므로 두 개의 IP가 필요합니다.IPv6 로컬 인터페이스 및 링크 로컬 주소

+2

이것은 오히려 http://serverfault.com/에 속하며; 아마 사회자가 질문을 전달하거나 다시 질문 할 수 있습니다. – 9000

+1

프로그래밍 관련 측면이 분명히 있습니다. 일부 응용 프로그램은 인터페이스 주소 목록을 일부 알고리즘으로 변환해야 할 수도 있으며, getifaddrs()에서 다시 가져올 때 어떤 종류의 주소를 사용하고 있는지 알 수 있습니다. –

+0

링크 로컬은 소규모 네트워크 용이 아니며 구성되지 않은 네트워크 용입니다. DNS에서 링크 로컬 주소를 사용할 수 없게되었습니다. –

답변

14

, 인터페이스는 하나가 링크 - 로컬 범위 유니 캐스트 주소와 0 개 이상의 전역 범위 유니 캐스트 주소. 주소는 수동으로 또는 DHCPv6에 의해 IPv4에서와 같이 할당 될 수 있지만 라우터 광고가 허용 할 때 자동 생성되는 경우도 있습니다 (항상은 아니지만). 일부 호스트 구현은 라우터가 알리는 각 접두사와 그에 따르는 보조 개인 주소에 대해 영구 전역 주소를 자동으로 생성합니다 (c.f. RFC 4191. DHCPv6을 사용하여 주소를 할당하는 경우 호스트는 개인 주소 대신 사용할 하나 이상의 임시 주소를 요청할 수 있습니다.

사이트 로컬 주소를 사용하지 마십시오. sin6_scope_id 필드가 사이트 로컬 주소에 대해 잘 정의되어 있지 않기 때문에 주로 RFC 3879에 의해 사용 중지되었습니다. getifaddrs()에서 반환 된 목록에서 해당 응용 프로그램을 보는 응용 프로그램은 표준 오류 스트림에 대한 진단 메시지를 사용하여 응용 프로그램을 폐기해야합니다. 응용 프로그램은 네트워크 관리자가 사이트 로컬 주소 (c.f.) 대신 고유 로컬 주소 (ULA)를 사용할 것으로 예상해야합니다. RFC 4941.

ULA 주소의 도달 가능성은 일반적으로 응용 프로그램 소프트웨어로 결정할 수 없습니다. 당신이 그들에 대해 확실하게 알고있는 유일한 사실은 지구의 공공 불이용 지역을 통과하는 어떤 경로로도 접근 할 수 없다는 것입니다. 그들은 ULA 접두어로의 경로가 자치 시스템 간의 상호 합의로 교환되는 인터넷 어디에서나 도달 할 수 있습니다. 다른 한편으로, 그들은 종종 가입자 로컬 전용을위한 IPv6 홈 게이트웨이에 의해 광고 될 것이고, 집 밖에는 도달 할 수 없을 것입니다, c.f. I-D.ietf-v6ops-ipv6-cpe-router.

9

모든 인터페이스에는 링크 로컬 주소와 선택적으로 하나 이상의 공개 또는 사이트 로컬 주소가 있습니다. 다음과 같습니다 : 링크 로컬 주소로 전송

$ ip -o -6 addr show dev eth0 
eth0 inet6 2001:abcd:ef::1/64 scope global (..) 
eth0 inet6 fe80::1234:5678:2/64 scope link (...) 

뭔가를 보내, 모든 것이 (즉 fe80::/64을), 링크 로컬 주소에서 글로벌 한에서 다른 모든 전송됩니다.

는 (선택은 항상 수 없습니다 :. 예하면 핑에 응답하는 경우, 대답의 소스 IP에 상관없이 어떤 주소, 요청의 대상 IP 수 없습니다) 일반적으로

+2

사이트 로컬 주소가 [RFC 3879] (http://tools.ietf.org/html/rfc3879)에 의해 사용되지 않기 때문에 다운 투표되었습니다. 사용해서는 안됩니다. 대부분의 IPv6 호스트 구현은 어쨌든 제대로 처리하지 못합니다. –

+2

나는 이것이 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@? 다른 말로하면, 다른'fe80 ::/64'에게 보내면 유효합니다. – mateuscb