답변:
TechNet에는 흥미로운 IPV6 페이지가 있습니다.
작년에 IPv6 주소를 DNS에 넣으라는 요청을 받았을 때 일부 엔지니어들이 혼란 스러울 때 이것을 내부 참조 문서로 작성했습니다. DNS를 구체적으로 언급하지는 않았지만 대부분의 문제는 주소 형식에 관한 것으로 보였으며 작동 방식을 "얻지"않았습니다. 어쩌면 다른 사람들에게도 유용 할 것입니다.
따라서 가장 먼저 인식해야 할 것은 IPv6 가산기가보기에 좋지 않다는 것입니다. 그들이하다.
그러나 나는 그것이 우리가 그것들을 다루는 데 익숙하지 않기 때문이라고 생각하며 IPv4 주소를 처리 할 때 그 의미가 매우 낮은 수준인지 이해하지 못합니다. 그들에게 익숙해지기까지는 시간이 걸리 겠지만 어딘가에서 시작해야한다고 생각합니다.
기억해야 할 또 다른 중요한 사항은 IPv4 주소는 32 비트 숫자이고 IPv6 주소는 128 비트 숫자입니다. 라우터가 경로를 지정하거나 방화벽 필터를 설정하면 해당 번호를 기준으로합니다. 인간이 그 숫자를 표시하도록 선택하는 방법은 완전히 임의적이며 대부분 전통입니다. 따라서이 전체 전자 메일은 인간이 어떻게 이러한 숫자를 나타내는 지 설명합니다. 기계는 신경 쓰지 않으며 모든 것이 중요합니다.
IPv4 주소는 32 비트 또는 4 바이트입니다. 우리가 "실제"ip 주소로 생각하는 것은 비트 문자열을 표현하고, 비트를 4 개의 8 비트 그룹으로 분리하고, 각 8 비트를 10 진수로 표현하고, 10 진수를 분리하는 표준이 된 방법입니다. 기간. 따라서 임의의 IP 주소 172.30.154.249를 사용하십시오. 라우터가이 IP 주소에 대해 "생각"하면 실제로 다음과 같이 생각합니다.
10101100000111101001101011111001
우리는 우리 자신의 형태로 번역 할 수 있습니다.
10101100 = 172
00011110 = 30
10011010 = 154
11111001 = 249
때때로 당신은 또한 순수한 십진수로 쓰여진 것을 볼 수 있습니다 :
10101100000111101001101011111001 = 2,887,686,905
이 양식을 의도적으로 사용하는 사람은 거의 없지만 (*) IPv4 주소를 작성하는 데는 역사적으로 유효한 방법입니다. 실제로이 형식은 1982 년에 SMTP를 정의한 RFC821에서 사용됩니다. DNS를 사용하는 대신 특정 시스템으로 메일을 수동으로 라우팅하려면 서로 다른 두 가지 유형의 리터럴을 사용할 수 있습니다. 첫 번째는 괄호 안에 친숙한 "점점 쿼드"형식입니다 ( "user @ [172.30.154.249]"). 두 번째는 파운드 기호 ( "user @ # 2887686905")로 시작하는 10 진수 형식의 IP를 사용하는 것입니다.
위의 모든 내용은 IPv4 주소의 작동 방식에 대한 지식을 IPv6 주소로 변환하기위한 프레임 워크를 제공하기위한 것입니다. IPv4가 32 비트 숫자 인 것처럼 IPv6 주소는 128 비트 숫자입니다. ARIN이 MY AWESOME COMPANY (**)에 IP 범위 2311 : FD67 / 32를 할당했습니다. 예제를 사용하기 위해 IP 2311 : FD67 :: AC1E : 9AF9를 사용하겠습니다.
ip6를 나타내는 비트 문자열은 다음과 같습니다.
00100011000100011111110101100111000000000000000000000000000000000000000000000000000000000000000010101100000111101001101011111001
이러한 비트 문자열을 IPv4 비트 문자열과 같은 방식으로 표현한 경우 (각 1 바이트 청크를 10 진수로 변환하고 마침표로 구분) 다음과 같은 결과를 얻습니다.
35.17.253.103.0.0.0.0.0.0.0.0.172.30.154.249
여기에는 몇 가지 문제가 있습니다. 첫 번째는 펑키 한 IPv4 번호처럼 보이며, 좋지 않다는 점을 구별 할 수있는 확실한 방법을 원한다는 것입니다. 다른 하나는 많은 정보, 많은 수, 많은 빈 공간이라는 것입니다. 따라서 두 가지 문제는 마침표 (.) 대신 다른 구분 기호 (콜론 (:))를 사용하고 10 진수 대신 16 진수로 바이트를 반복함으로써 해결됩니다. IPv4가 10 진수로 표현 된 8 비트 청크를 마침표로 분리 한 경우 IPv6은 16 비트 청크를 분리하고 콜론으로 분리합니다. 다음은 IPv6 예제 IP의 분석입니다.
0010001100010001 = 2311
1111110101100111 = FD67
0000000000000000 = 0
0000000000000000 = 0
0000000000000000 = 0
0000000000000000 = 0
1010110000011110 = AC1E
1001101011111001 = 9AF9
2311:FD67:0:0:0:0:AC1E:9AF9
여기에는 여전히 많은 공백이 있으므로 최대 0의 문자열을 생략하고 이중 콜론으로 표현할 수 있습니다. 따라서 위의 IP는 다음과 같이 쓸 수 있습니다.
2311:FD67::AC1E:9AF9
나는 이것을 많이 보지 못했지만 그것을 이해함에 따라 마지막 32 비트를 접두사로 된 쿼드 쿼드로 쓸 수 있도록 깔끔한 규칙이있어서 IPv4에서 IPv6으로 마이그레이션 할 때 레거시 주소를 쉽게 인식 할 수 있습니다 . 따라서 내 IPv6 예제 주소는 IPv4 예제를 완전히 구성하는 동일한 32 비트로 끝납니다. 이 스타일로 쓸 때 특히 유용합니다. 이 경우 내 IPv6 주소는 다음과 같습니다.
2311:FD67::172.30.145.249
IPv6을 시작한 곳으로 되돌아 가기 위해 2311 : FD67 / 32가 할당되었다고 언급했습니다. / 32는 IPv4 주소와 같은 비트 마스크입니다. 본질적으로 우리가 만들 수있는 IPv4 주소에서 128 비트의 첫 32 개를 정적으로 할당했음을 의미합니다. 2311 : FD67은 32 비트이므로, 해당 범위에서 생성하는 모든 IP 주소가 해당 주소로 시작합니다.
달리 말하면, 172.17 / 16을 "172.17.0.0과 172.17.255.255 사이의 모든 IP"로 생각할 수있는 것처럼 2311 : FD67 / 32는 "2311 : FD67 : 0 : 0 사이의 모든 IP로 생각할 수 있습니다. 0 : 0 : 0 : 0 및 2311 : FD67 : FFFF : FFFF : FFFF : FFFF : FFFF : FFFF ".
IPv6으로 마이그레이션을 시작하기까지는 오랜 시간이 걸리 겠지만이 설명을 통해보다 편안하게 사용하고 참조 할 수 있기를 바랍니다.
다시 말하지만, 내가 여기서 말하는 유일한 말은 말 그대로 IPv6 주소를 작성하는 방법입니다. 라우팅에 대한 번호 매기기 체계에 내장 된 많은 지능이있는 것 같습니다. 아직 아직 파악하지 못하므로 지금 당장 해결할 수있는 것은 =)입니다.
(*) 이전에 일부 소프트웨어 디버그에서 10 진수 IPv4 표현을 보았지만 실수 나 게으름이라고 거의 긍정적입니다 .C 코드에서 32 비트 정수를보다 빨리 인쇄하는 것이 훨씬 더 성가신 것으로 생각합니다. 인쇄를 위해 점선 쿼드를 포맷하십시오.
(**) 회사 이름과 접두사를 삭제했습니다.
이것 좀 봐:
다음 링크는 상당히 유익합니다 (IPv6에 대하여).
http://www.personal.psu.edu/dvm105/blogs/ipv6/ (IPv6의 1 인칭 계정-블로그)
http://www.tcpipguide.com/free/t_InternetProtocolVersion6IPv6IPNextGenerationIPng.htm
http://www.cisco.com/web/about/ac123/ac147/archived_issues/ipj_9-3/ipv6_internals.html
http://www.spirentcom.cn/download/Poster/ProtocolPoster_IPv6.pdf (인쇄 가능한 IPv6 포스터)
IPv6 네트워크의 관행을 이해하는 데 도움이되는 최소한 3 권의 책을 제안 할 수 있습니다.
Windows 사용자이므로 1st book은 Microsoft Windows에서 IPv6 구현을위한 결정적인 안내서라고 생각합니다. IPv6에 대한 실질적인 경험을 얻으려면 두 번째 및 세 번째 책이 좋습니다.