it-swarm-korea.com

IPv6 서브넷은 어떻게 작동하며 IPv4 서브넷과 어떻게 다릅니 까?

이것은 IPv6 Subnetting에 대한 Canonical Question 입니다.

관련 :

IPv4 Subnetting 에 대해 많은 것을 알고 있으며 IPv6 네트워크를 준비 (배치) 할 때이 지식의 양과 양은 무엇인지 알아야합니다. IPv6은 언뜻보기에 IPv4보다 훨씬 더 복잡한 것으로 보입니다. 그래서 알고 싶습니다 :

  • IPv6은 128 비트이므로 왜/64가 호스트에 권장되는 가장 작은 서브넷입니까? 관련 :
    • 라우터 간 지점 간 링크에/127을 사용하는 것이 권장되는 이유는 무엇이며 과거에 권장되지 않은 이유는 무엇입니까? 기존 라우터 링크를/127을 사용하도록 변경해야합니까?
    • / 64보다 적은 주소로 가상 머신을 프로비저닝하는 이유는 무엇입니까?
    • / 64보다 작은 서브넷을 사용하는 다른 상황이 있습니까?
  • IPv4 서브넷에서 IPv6 서브넷으로 직접 매핑 할 수 있습니까? 예를 들어, IPv4/24는 IPv6/56 또는/120에 직접 대응합니까?
  • 내 인터페이스에는 여러 IPv6 주소가 있습니다. 서브넷이 모두 같아야합니까?
  • IPv6 주소에서 /가 아닌 %가 표시되는 이유는 무엇입니까?
  • 너무 많은 서브넷을 낭비합니까? 우리는 다시 다 떨어지지 않을까요?
  • IPv6 서브넷과 IPv4 서브넷의 차이점은 무엇입니까?
120
Michael Hampton

IPv6 서브넷에 대해 언급해야 할 첫 번째 사항은 다른 mode of thinking이 필요하다는 것입니다. IPv4에서는 일반적으로 사용 가능한 addresses 수와 각 최종 사용자에게 충분히 할당 할 수있는 방법에 대해 생각합니다. IPv6에서는 일반적으로 사용 가능한 (/ 64) subnets 수와 최종 사용자에게 할당 할 수있는 방법에 대해 생각합니다. 주어진 서브넷에서 얼마나 많은 IP 주소가 사용 될지 걱정하지 않아도됩니다. 포인트-포인트 링크와 같은 일부 특수한 경우를 제외하고 각 서브넷에는 필요한 것보다 더 많은 주소가 사용 가능하기 때문에 그 안에 호스트가 아닌 서브넷 할당에 대해서만 걱정할 수 있습니다.

SLAAC (상태 비 저장 주소 자동 구성)이 작동하려면 IPv6 서브넷이 보통/64입니다. SLAAC을 사용하지 않는 경우에도/64를 사용해야하는 다른 이유가있을 수 있습니다. 예를 들어,/64를 가정하는 일부 최종 사용자 장치가 있거나 라우터 구현자가 저장하기 위해/64 이하의 경로를 최적화했기 때문에/64보다 긴 서브넷을 라우팅하는 경우 일부 라우터에서 비효율적 일 수 있습니다. 라우팅 테이블 메모리.

포인트-포인트 링크에 ​​/ 127을 사용하는 것이 좋습니다

특정 지점 간 링크의 경우 서브넷에서 사용되지 않은 주소 중 하나에 대한 패킷 주소로 인해 원하지 않는 인접 요청 및 테이블 항목이 발생하는 취약점을 피하기 위해/64 대신/127을 사용하는 것이 좋습니다. 라우터를 익사시킬 수 있습니다. 이러한 잘못된 주소 패킷은 악의적이거나 우발적 일 수 있습니다. 그러나 실제로 지점 간 링크를/127로 구성하더라도 일부 사람들은 어쨌든 일관성을 유지하기 위해 전체/64를 할당하도록 권장합니다.

왜 가상 머신에/64보다 작은 서브넷이 프로비저닝됩니까?

가상 머신이/64보다 작은 서브넷으로 프로비저닝되는 이유를 구체적으로 모르겠습니다. 아마도 호스팅 제공 업체는 서버가 최종 사용자와 같고 단일 (/ 64) 서브넷 만 필요하다고 가정했기 때문에 서버가 실제로 내부 라우팅 토폴로지가 필요한 VM의 모음 일 것이라고 예상하지 않고? 주소 지정 계획을보다 쉽게 ​​암기하기 위해 간단히 수행 할 수도 있습니다. 호스트는 PREFIX::/64를 가져오고 각 VM는 PREFIX:0:NNNN::/96를 얻습니다. 여기서 NNNN은 VM에 고유하고 VM는 원하는대로 PREFIX:0:NNNN:XXXX:YYYY를 할당 할 수 있습니다.).

IPv4 서브넷에서 IPv6 서브넷으로 직접 매핑 할 수 있습니까? 예를 들어, IPv4/24는 IPv6/56 또는/120에 직접 대응합니까?

주소 지정 및 라우팅 작동 방식에 대한 저수준 관점에서 접두사 길이는 IPv6 및 IPv4에서 동일한 의미를 갖습니다. 해당 수준에서 "IPv4/16은 네트워크 주소에 비트의 절반을 사용하고 호스트 주소에 비트의 절반을 사용합니다 (IPv6의/64와 유사)"와 같은 비유를 할 수 있습니다. 그러나이 비교는 실제로 적합하지 않습니다. IPv6에서는 강력한 네트워크 규약이 생겨서 네트워크 크기의 구분이 IPv4의 기존 클래스 네트워크와 다소 비슷해 보입니다. 확실히, IPv6은 주소의 최상위 비트 몇 개가 특정 넷 마스크를 강제하는 클래스 형 주소 지정을 다시 도입하지 않았지만 IPv6 does 가지고있는 것은 사실상 [통상적으로] 표준 네트워크 크기입니다. :

  • / 64 : 단일 서브넷의 기본 크기 : LAN, WAN, 웹 가상 호스트의 주소 블록 등 ... "일반"서브넷은 접두사보다 더 작을 것으로 예상되지 않습니다./64/64의 호스트 주소가 필요 이상으로 생각할 수있는 서브넷은/64보다 크거나 (짧은 접두어) 예상되지 않습니다.
  • / 56 : 256 개의 기본 서브넷 블록. 현재의 정책에 따라 ISP가 모든 최종 사용자에게/48의 블록을 넘겨주고 주소 활용도를 정당화 할 수 있다고 생각하더라도 일부 ISP는 소비자 등급 고객에게 타협으로/56을 할당 할 수 있습니다 서브넷의 할당 로트 사이와 경제를 처리합니다.
  • / 48 : 65536 개의 기본 서브넷 블록과 모든 ISP 고객 엔드 사이트가 수신해야하는 권장 블록 크기.
  • / 32 : 대부분의 ISP가 지역 주소 레지스트리에서 더 많은 주소를 요청할 때마다받을 기본 블록 크기입니다.

서비스 제공 업체 및 기업 네트워크 내부에서는이 4보다 많은 접두사 길이를 볼 수 있습니다. 이러한 네트워크 내에서 라우터의 라우팅 테이블을 볼 때 IPv4와 IPv6은 대부분의 라우팅 작업 방식을 포함하여 많은 공통점을 가지고 있습니다. 접두사가 긴 경로는 접두사가 짧은 경로를 덮어 쓰므로 집계 (짧게) 및 드릴이 가능합니다. 다운 (길게) 경로. IPv4에서와 같이 라우팅 테이블의 크기를 최소화하기 위해 경로를 더 짧은 접두사가있는 더 큰 블록으로 집계하거나 요약 할 수 있습니다.

IPv4와 IPv6 간의 매핑에 대한 또 다른 질문은 이중 스택 시스템에서 IPv4와 IPv6 할당을 조화시켜 주소 지정 계획을 쉽게 이해할 수있는 방법입니다. 지금까지는 일반적으로 사용되는 규칙이 있습니다. BCD ( 예를 들어 10.0.234.0/242001:db8:abcd:234::/64가되거나 바이너리 (10.0.234.0/242001:db8:abcd:ea::/64가 됨)입니다.

내 인터페이스에는 여러 IPv6 주소가 있습니다. 서브넷이 모두 같아야합니까?

절대적으로하지! IPv6 호스트는 IPv4와 같이 다른 서브넷에서 여러 IP 주소를 동시에 가져옴으로써 멀티 홈이 가능할 것으로 예상됩니다. SLAAC로 자동 구성되는 경우 다른 서브넷은 다른 라우터의 라우터 알림에서 비롯된 것일 수 있습니다.

IPv6 주소에서 /가 아닌 %가 표시되는 이유는 무엇입니까?

하나 대신 다른 것을 볼 수 없습니다. 그들은 다른 의미를 가지고 있습니다. 슬래시는 접두사 (서브넷)를 나타내며, 모두 동일한 n 비트로 시작하는 주소 블록을 의미합니다. 슬래시가없는 주소는 호스트 주소입니다. 이러한 주소는 끝에 "/ 128"이 포함 된 것으로 생각할 수 있습니다. 이는 모든 128 비트가 지정됨을 의미합니다.

퍼센트 기호는 링크 로컬 주소와 함께 제공됩니다. IPv6에서는 모든 인터페이스에 다른 로컬 IP 주소 외에 링크 로컬 주소가 있습니다. 그러나 링크 로컬 주소는 항상 예외없이 fe80::/10 블록에 있습니다. 그러나 링크 로컬 주소를 사용하여 피어와 통신하려고 시도하고 로컬 호스트에 여러 인터페이스가있는 경우이 피어와 통신하는 데 사용할 인터페이스를 어떻게 알 수 있습니까? 일반적으로 라우팅 테이블은 특정 접두사에 사용할 인터페이스를 알려주지 만 여기서는 모든 인터페이스를 통해 fe80::/10에 도달 할 수 있음을 나타냅니다.

대답은 address%interface 구문을 사용하여 사용할 인터페이스를 알려 주어야한다는 것입니다. 예를 들어 fe80::1234:5678:8765:4321%eth0입니다.

서브넷을 너무 많이 낭비합니까? 우리는 다시 다 떨어지지 않습니까?

아무도 모른다. 누가 미래를 말할 수 있습니까?

그러나 이것을 고려하십시오. IPv6에서 사용 가능한 서브넷 수는 IPv4에서 사용 가능한 개별 주소 수의 제곱입니다. 정말 꽤 많습니다. 아니요, 정말 많은 것을 의미합니다!

그러나 여전히 : 우리는 하나를 요청하는 모든 ISP에게 자동으로/32를 전달하고, 모든 단일 ISP 고객에게/48을 전달하고 있습니다. 아마도 우리는 과장되어 결국 IPv6을 낭비 할 것입니다. 그러나 이에 대한 조항이 있습니다. 지금까지 IPv6 공간의 8 분의 1 만 사용할 수 있습니다 : 2000::/3. 아이디어는 우리가 처음 여덟 번째 끔찍한 혼란을 겪고 자유 할당 정책을 과감하게 수정해야한다면 문제가 발생하기 전에 7 번 더 시도해야한다는 것입니다.

그리고 마지막으로 : IPv6는 영원히 지속될 필요가 없습니다. 아마도 IPv4보다 수명이 길지만 (이미 인상적인 수명은 끝나지 않았지만) 모든 기술과 마찬가지로 언젠가는 문제가되지 않을 것입니다. 그때까지만하면됩니다.

143
Celada

IPv6은 128 비트이므로 왜/64가 호스트에 권장되는 가장 작은 서브넷입니까?

우선, 용어를 설정하기 위해 RFC의 약간의 ASCII 기술) :

|         n bits         |   m bits  |       128-n-m bits         |
+------------------------+-----------+----------------------------+
| global routing prefix  | subnet ID |       interface ID         |
+------------------------+-----------+----------------------------+

전역 라우팅 접두사는 일반적으로 주소가 속한 전체 네트워크를 식별합니다. 일반적으로 48 비트입니다. 인터페이스 ID는 주어진 네트워크 인터페이스를 식별합니다. 일반적으로 64 비트입니다. 나머지 16 비트는 서브넷 ID입니다.

설명과 함께 OK :

RFC 4291-IP 버전 6 주소 지정 아키텍처 에 따르면 :

이진 000으로 시작하는 주소 이외의 모든 글로벌 유니 캐스트 주소에는 64 비트 인터페이스 ID 필드가 있습니다.

RFC 5375-IPv6 유니 캐스트 주소 할당 고려 사항 :

IPv4 주소 지정 계획의 중요한 부분은 각 서브넷 접두사의 길이를 결정하는 것입니다. IPv4와 달리 IPv6 주소 지정 아키텍처 [RFC4291]는 전역 고유 주소 및 ULA를 사용하는 모든 서브넷의 접두사 길이가 항상 64 비트임을 지정합니다.

따라서 000- 접두사 예외를 무시하면 인터페이스 ID는 always 64 비트입니다. 이것은 모든 로컬 브로드 캐스트 네트워크는 항상 64 비트입니다라고 말하는 또 다른 방법입니다. IPv6 주소가있는 경우 해당 넷 마스크는 always 64 비트입니다. 더 이상, 더 적은. 그보다 큰 주소 공간 (64 비트보다 짧은 넷 마스크)이 할당 된 경우 해당 주소 공간을 64 비트 네트워크로 분할하고 라우팅을 직접 처리한다고 가정합니다. 그보다 작은 네트워크 (더 긴 넷 마스크)를 받았다면 누군가 망쳤습니다.

그렇다면 왜 정확히 64 비트입니까?

일반적으로 IPv6 주소는 할당되지 않고 자동으로 구성됩니다. 라우터는 사용 가능한 네트워크 접두사 (라우팅 접두사 + 서브넷 ID : 첫 64 비트)를 알리고 컴퓨터는 고유 한 식별자를 사용하여 마지막 64 비트를 채 웁니다. 컴퓨터에는 어떻게 고유 식별자가 있습니까? 몇 가지 가능성이 있지만 가장 일반적인 방법은 인터페이스의 MAC 주소를 사용하는 것입니다. MAC을 절반 (공급 업체 절반/직렬 절반)으로 분할하고 공급 업체 측에서 범용 로컬 비트를 뒤집은 다음 FF:FE 중간에. 그래서 00:30:48:01:23:45은 (는) 0230:48ff:fe01:2345. 이제 광고 된 64 비트 네트워크 접두사를 왼쪽에 넣으십시오. 그러면 IP 주소가 있습니다.

여기서 중요한 점은이 체계를 따르면 IP 주소 충돌이 발생하지 않는다는 것입니다. 특정 브로드 캐스트 네트워크의 모든 장치가 작동하려면 고유 한 MAC 주소가 필요하므로 인터페이스 ID를 MAC 주소에 연결하면 브로드 캐스트 트래픽이 충돌하지 않는 한 IPv6 주소도 마찬가지입니다. MAC 주소 전용 48 개 대신 64 비트를 사용하면이 구성표에서 제공 한 주소 외에 몇 가지 흔들림이 생길 수 있습니다 (다른 몇 개가 있음).

/ 64보다 작은 서브넷을 사용하는 다른 상황이 있습니까?

아니. 당신이 깰 때까지는 아닙니다. 기존 네트워크와의 수동 라우팅을 설정하기위한 로컬 요구 사항에 따라 정당성을 입증 할 수 있습니다. 그러나 그렇게하면 아마도 엉망이된다는 것을 명심하십시오.

에서 RFC 5375-IPv6 유니 캐스트 주소 할당 고려 사항 :

/ 64 이외의 서브넷 접두사 길이를 사용하면 NND (Neighbor Discovery), SEND (Secure Neighbor Discovery) [RFC3971], 개인 정보 확장 [RFC4941], 모바일 IPv6의 일부 [RFC4866], 프로토콜 독립적 인 IPv6의 많은 기능이 중단됩니다. 멀티 캐스트-내장 된 RP [RFC3956] 및 IPv6 중개에 의한 사이트 멀티 호밍 (SHIM6) [SHIM6]을 포함한 PIM-SM (Sparse Mode). 현재 개발 중이거나 제안중인 다른 많은 기능들도/64 서브넷 접두사를 사용합니다.

....

그러나 일부 네트워크 관리자는 라우터를 연결하는 링크에 대해/64보다 긴 접두사를 사용했습니다. 일반적으로 지점 간 링크에 두 개의 라우터 만 있습니다. 모든 주소가 수동 구성으로 할당되고 링크의 모든 노드가 네트워크에 알려진 라우터 (최종 호스트 아님) 인 링크에서 관리자는/64 서브넷 접두사를 사용하는 IPv6 기능이 필요하지 않습니다. 일할 수있다./64보다 긴 서브넷 접두사를 사용하는 것은 일반적인 용도로는 권장되지 않으며 최종 호스트를 포함하는 링크에이 접두사를 사용하는 것은 특히 좋지 않습니다. 향후 호스트가 사용할 IPv6 기능을 예측하기가 어렵 기 때문입니다.

라우터 간 지점 간 링크에/127을 사용하는 것이 권장되는 이유는 무엇이며 과거에 권장되지 않은 이유는 무엇입니까?

RFC 3627-라우터간에/127 접두사 길이 사용이 해로운 것으로 간주 됨 에 대한 광택을 원할 수 있습니다. 그런 다음 후속 RFC 6164-라우터 간 링크에서 127 비트 IPv6 접두사 사용 을 살펴보십시오.

라우터에서/64보다 긴 접두사를 사용하는 것에 대한 이의 제기는 드문 상황에서 라우터 자동 구성이 실패 할 가능성이 있습니다./127 (2- 호스트 전용)보다 짧은 접두사를 사용하는 것에 대한 반대는 라우팅되지 않은 주소로 전송되는 패킷과 관련된 여러 가지 서비스 거부 문제와 관련이 있습니다. 실제 서비스 거부 문제는 이론적 인 자동 구성 실패보다 더 나쁘기 때문에/127이 가장 선호됩니다.

/ 127을 사용하도록 기존 라우터 링크를 변경해야합니까?

IPv6 라우터를 제어하는 ​​경우 두 개의 RFC를 읽고 (짧습니다!) 스스로 결정하는 것이 좋습니다.

IPv4 서브넷에서 IPv6 서브넷으로 직접 매핑 할 수 있습니까?

예를 들어, IPv4/24는 IPv6/56 또는/120에 직접 대응합니까?

사실 맞아요. 000- 접두사가 이전에 의도적으로 무시했음을 기억하십니까? 글쎄, 여기에 그것을 사용하십시오 :

이중 스택 시스템 (IPv4 및 IPv6 스택이 모두 활성화 된 시스템)에서 IPv6 기법을 사용하여 IPv4를 나타낼 수 있습니다. 이를 "IPv4 매핑 IPv6 주소"라고합니다. 패턴은 모두 0, FFFF, 32 비트 IPv4 주소입니다.

192.168.100.21은 (는) ::FFFF:C0A8:6415-또는 더 간단하게 : ::FFFF:192.168.100.21. 오른쪽 비트는 IPv4 주소를 나타내므로 전통적으로 점 분리 십진수 형식으로 작성됩니다.

실제 IPv4 주소이므로 여전히 IPv4 헤더 등을 사용합니다. 즉, IPv4 스택이 있어야하고 IPv4 경로가 설정되어 있어야합니다. 장점은 단일 주소 구조를 사용하여 IPv4 및 IPv6 주소를 모두 표현할 수있어 응용 프로그램 개발을 단순화 할 수 있다는 것입니다. 네트워크에 관한 한 차이가 없습니다.

46
tylerl
  1. IPv6은 128 비트이므로/64가 호스트에 권장되는 가장 작은 서브넷은 무엇입니까?

    이 접두사 크기는 원래 이전 RFC에서 권장되었습니다. 이후 Neighbor Discovery Attacks (Neighbor Discovery Attacks) 문제가 고려되고/126을 사용하는 것이 유효한 완화 방법 인이 정책에 대한 개정이 있었지만 그럼에도 불구하고 PtP 링크를 설정하는 경우 트래픽 라우팅의 유일한 목적으로, 대안적인 옵션은 단순히/64를 유지하고 해당 서브넷을 방화벽으로 만드는 것입니다. 더 좋은 방법은,/64 개의 서브넷을 그릴 풀을 할당하고 Edge 전체 (그리고 적대감이 발생할 수있는 다른 곳)에 풀 풀을 블랙리스트 대상으로 지정하는 것입니다.

  2. 라우터 사이의 지점 간 링크에/127을 사용하는 것이 좋습니다. 왜 과거에 권장되지 않았습니까?/127을 사용하도록 기존 라우터 링크를 변경해야합니까?

    / 127은 라우터간에 권장되지 않았으며 결코 없었습니다. 모든 라우터 애니 캐스트 주소는 서브넷의 모든 0 주소입니다. 이것은/127이 기술적으로 두 머신 사이에서만 유효하다는 것을 의미합니다. 두 머신 중 하나는 NOT 라우터 역할을합니다. 물론/126은 괜찮습니다.

    그러나 어떤 경우에도 장비가 Neighbor Discovery 캐시 플러드 공격에 취약하지 않는 한 기존/64 링크를 전환하지 않는 것이 좋습니다.이 경우에도 인터넷 연결에 실제로 해당/64를 사용할지 결정하십시오. , 대답이 아니요 인 경우 방화벽으로 설정하십시오.

  3. 왜 가상 머신에/64보다 작은 서브넷이 프로비저닝됩니까?

    SLAAC과 RA를 깨뜨립니다. 실제하고있는 일을 알지 못한다면, 이렇게 할만한 이유가 없을 것입니다. 아마도 업스트림이 당신에게 단 하나의/64 만 주었을 것입니다. 이 경우 다시 연락하여 추가 비용을 청구해야합니다 (요금을 청구하려는 경우 새 공급자를 찾기 시작하고 관련 RFC에 연결되는 으스스한 이메일을 보내십시오).

  4. / 64보다 작은 서브넷을 사용하는 다른 상황이 있습니까?

    솔직히? 아마 아닐 것입니다. NDP 공격을 방지하는 것 이외의 목적으로 더 작은 서브넷을 선호하는 합법적 인 이유를 생각하면이 섹션을 편집하겠습니다.

    반대로 are 상황이 NOT /64보다 작은 서브넷을 사용하려고합니다. 특히 하드웨어 포워딩 장비 (이름-브랜드 라우터 및 L3 스위치로 생각)가있는 환경에서 실행하는 곳-일부는/64보다 긴 접두사의 하드웨어 라우팅을 수행 할 수 없으며, 다른 일부는 작업을 여러 비교로 분할해야합니다./64가 (OSPF/ISIS/EIGRP/etc.) 백본에서 가장 긴 접두어가되도록 최선을 다해야합니다.

  5. IPv4 서브넷에서 IPv6 서브넷으로 직접 매핑 할 수 있습니까? 예를 들어, IPv4/24는 IPv6/56 또는/120에 직접 대응합니까?

    공식적으로 :: ffff : xxxx는 IPv6로 매핑 된 IPv4 주소의 형식입니다. 물론 IPv4 주소를 글로벌 IPv6 주소로 매핑하는 6to4와 그 상대 경로 인 여러 전환 메커니즘도 있습니다. 이월 된 IPv4 주소에서 파생 된 IPv6 접 두부를 작성하여 IPv4를 통한 IPv6 액세스를 제공합니다.

  6. 내 인터페이스에는 여러 IPv6 주소가 있습니다. 서브넷이 모두 같아야합니까?

    아니요, 동일한 인터페이스에서 다양한 주소와 서브넷 크기를 사용하는 것은 문제가되지 않습니다. 그렇다면 구현이 버그입니다. 물론 더 나은 질문은 why

  7. IPv6 주소에서 /가 아닌 %가 표시되는 이유는 무엇입니까?

    이는 일반적으로 링크 로컬 주소 (fe80 ::/12)에 적용되는 구분 기호입니다. 동일한 링크 로컬 주소가 여러 인터페이스에 합법적으로 존재할 수 있으므로 % 구분 기호는 어떤 인터페이스가 의미되는지 지정하는 데 사용됩니다. 리눅스는 일반적으로 로컬 링크와 관련된 작업을 수행 할 때 인터페이스를 필수로 지정합니다. Windows Vista/2008 이상은 조금 더 똑똑하며 링크 로컬이 고유하지 않으면 불평하지 않습니다.

  8. 서브넷을 너무 많이 낭비합니까? 우리는 다시 다 떨어지지 않습니까?

    아니요. 이것은 막힌 죽은 말입니다. WAAAAAAAAAY 너무 여러 번 – 현재 글로벌 IPv6 인터넷은 2000 ::/3입니다. 접두사가 몇 개 더 있습니다. IANA는 지구상의 모든 RIR이 주소 재고를 고갈시킬 수 있다면 사용하기 시작할 수 있습니다. 따라서 공간이 부족하지 않으며, 그렇게해도 기술적 인 변화가 아닌 새로운 접두사를 만들기 위해 펜을 쓸어 넘겨야합니다. 이 질문이 실제로 강조하는 유일한 것은 인간의 마음이 주소 공간이 얼마나 엄청나게 광대한지를 완전히 이해할 수 없다는 것입니다.

  9. IPv6 서브넷과 다른 주요 방법은 IPv4 서브넷과 다른 점은 무엇입니까?

    사용중인 공간의 양에 신경 쓰지 않는 것 외에는 브로드 캐스트 주소가 없으며 "서브넷 제로"주소는 이제 모든 라우터의 애니 캐스트 주소 (기본적으로 구성된 모든 노드에 암시 적으로 존재하는 주소 임) IPv6 패킷을 전달하려면)-이것은 네트워크에서 모든 0 주소를 기본 경로로 사용할 수있게하는 유용한 부작용이 있습니다 (아니오, 패킷 복제를 유발하지 않으며 멀티 캐스트가 아닌 ANYcast 임)-명심하십시오 호스트가 몇 초마다 라우터간에 전환 될 수 있으므로 연결 추적이 동기화되지 않으면 상태 저장 방화벽 설정에 적합하지 않습니다.

    이 외에도 다른 주요 차이점은 IPv6이 중복 주소 및 NUD (dead deads)를 관리한다는 점입니다. 따라서 IPv4와 달리 호스트는 링크의 다른 노드가 이미 사용중인 것으로 판단되면 주소 사용을 거부합니다. . 반면에 NUD는 고정 경로를 구성하는 경우 유용합니다. 실제로 다양한 메트릭으로 접두사에 여러 개의 개별 경로를 정의 할 수 있으며 다음 메트릭에 관계없이 가장 낮은 메트릭 경로가 사용되는 IPv4와 달리 실제로 작동합니다. -hop이 죽었거나 살아 있음 (ARP를 사용하여 Cisco 및 기타 주요 라우터 공급 업체와 같은 경로의 유효성을 검사하는 일부 IPv4 구현에서는 그렇지 않을 수 있음)

    TLDR; IPv6은 중복 주소 및 도달 할 수없는 이웃을 감지합니다. 모두 0 주소는 모든 캐스트 애니 캐스트이며 브로드 캐스트와 같은 것은 없으며, 모두 하나는 정규 주소입니다.

20
Olipro

사양에서 SLAAC에 대한/64 요구 사항이 어디에서 나오는지 궁금한 사용자를위한 추가 참조 사항은 다음과 같습니다.

IPv6 상태 비 저장 주소 자동 구성 (RFC 4862) :

접두사 길이와 인터페이스 식별자 길이의 합이 128 비트와 같지 않으면 접두사 정보 옵션을 무시해야합니다. [...]

라우터 알림에 포함 된 접두사의 길이가 해당 링크 유형에 대한 인터페이스 식별자의 길이와 일치하는지 확인하는 것은 시스템 관리자의 책임입니다.

그리고 IP 버전 6 주소 지정 아키텍처 (RFC 4291) 에서 :

이진 값 000으로 시작하는 주소를 제외한 모든 유니 캐스트 주소의 경우 인터페이스 ID의 길이는 64 비트이고 수정 된 EUI-64 형식으로 구성되어야합니다.

따라서 인터페이스 ID의 길이는 64 비트 여야하고 접두사 길이와 인터페이스 ID 길이의 합은 128이어야하므로 SLAAC 사용시 접두사의 길이는 64 비트뿐입니다.

3
Sander Steffann

IPv6은 128 비트이므로 왜/64가 호스트에 권장되는 가장 작은 서브넷입니까?

IPv6 지지자들은 상태 비 저장 자동 구성이라는 아이디어를 좋아했기 때문입니다.

다른 서브넷 크기로 이동하면 상태 비 저장 자동 구성이 중단됩니다. 다른 사소한 것들도 깨질 수 있습니다. 자세한 내용은 rfc7421을 읽으십시오.

개인적으로 나는 상태 비 저장 자동 구성이 어리석은 생각이라고 생각합니다. 읽을 수없는 주소로 이어지고 기본적으로 블록을 서브넷에 할당하는 것 외에는 주소 지정을 제어 할 수 없습니다.

물론 관습이있는 것은 관례를 따르고 일이 잘못되면 관례를 지적 할 수 있으며, 관례를 따르지 않으면 일이 잘못 될 수 있다는 것입니다.

라우터 간 지점 간 링크에/127을 사용하는 것이 좋습니다.

사용 가능한 주소 수가 적은 서브넷을 사용하면 이웃 검색 소진 공격을 피할 수 있습니다.

물론이 추론은 지점 간 링크에만 적용되는 것은 아닙니다. 포인트 투 포인트 라우터 링크에 대해서는이 권장 사항을 정치적으로 가능하지만 다른 링크에서는 정치적으로 가능하지 않다고 생각합니다.

/ 64보다 적은 주소로 가상 머신을 프로비저닝하는 이유는 무엇입니까?

여기서 구별해야합니다. 호스팅 제공 업체가 머신에 물리적 또는 가상의 주소를 할당하는 방법에는 두 가지가 있습니다.

머신이 인접 발견 요청에 응답 할 것으로 예상되는 "온 링크"주소를 지정할 수 있습니다. 일부 호스팅 제공 업체는 각 시스템에 주소 이동성에 이점이있는/64를 제공하기로 선택하고 다른 호스팅 제공 업체는 각각 VLAN a/64)를 제공 한 다음 개별 시스템에 더 적은 주소를 사용하는 하위 블록을 제공합니다. 로컬 트래픽이 라우터로 전달되지 않고 로컬로 유지됨을 의미 할 수 있습니다.

또는 머신을 라우터로 취급하고 라우팅 된 블록을 할당 할 수 있습니다. 이 경우 모든 내부 서브넷을 처리하기에 충분한 주소가 필요합니다. "모든 서브넷은/64 여야합니다"규칙을 따르는 경우 최소한/64 이상을 할당해야합니다. 컨테이너 호스트와 같이 "컴퓨터 내부에 네트워크"가있는 컴퓨터에 적합합니다.

IPv4 서브넷에서 IPv6 서브넷으로 직접 매핑 할 수 있습니까? 예를 들어, IPv4/24는 IPv6/56 또는/120에 직접 대응합니까?

이러한 매핑은 로컬 정책의 문제입니다.

내 인터페이스에는 여러 IPv6 주소가 있습니다. 서브넷이 모두 같아야합니까?

아니

IPv6 주소에서 /가 아닌 %가 표시되는 이유는 무엇입니까?

%는 인터페이스 식별자입니다. 링크 로컬 주소와 함께 사용됩니다. 머신에 여러 개의 인터페이스가있을 수 있고 해당 인터페이스에 연결된 네트워크에 링크 로컬 주소가 겹칠 수 있으므로 필요합니다.

너무 많은 서브넷을 낭비합니까? 우리는 다시 다 떨어지지 않을까요?

나는 그것에 대해 너무 걱정하지 않을 것입니다.

IPv6 설계자가 128 비트 주소 공간을 사용한 다음 상태 비 저장 자동 구성에서 거의 절반을 버리는 이상한 결정에도 불구하고 IPv6에는 여전히 IPv4보다 훨씬 더 많은 공간이 있습니다.

그리고 위기가 있었다면 그 이상한 결정을 되돌리려면 펜을 치기 만하면됩니다.

IPv6 확장 성과 관련하여 훨씬 더 큰 문제는 라우팅 테이블 크기입니다. IPv6 NAT 권장하지 않습니다. 공급자가 할당 한 주소에서 큰 네트워크를 실행하면 공급자가 잠길 위험이 있습니다.

따라서 회사 네트워크로의 IPv6 보급이 증가함에 따라 공급자 독립적 인 IPv6 공간에 대한 요청이 폭발적으로 증가 할 것입니다.

2
Peter Green