{{htmlmetatags>metatag-robots=()
metatag-keywords=(IPv6)
metatag-description=(IPv6 대하여)
}}
====== 주소의 크기 ======
* IPv4 32bit , 4byte --> 232 개수
* IPv6 128bit , 16byte --> 2128 개수
결론 : 엄청 많다! (라기 보다 알게 뭐냐..)
====== 표현 방식은 ======
텍스트 문자열로 나타내는 방식은,
===== 콜론-16진수 형식 =====
16진수 4자리씩(2byte씩) 끊어서 콜론으로 8개로 구분해서 표현한다.
N:N:N:N:N:N:N:N
(N은 16진수)
다시 적으면,
FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF
주소처럼 입력해본다면, 아래와 같이.
2001:0db8:85a3:08d3:1319:8a2e:0370:7334
2byte:2byte:...:2byte
뻥치는게 아니고, 실제 주소를 아래처럼 입력합니다.
2001:0db8:85a3:08d3:1319:8a2e:0370:7334
====== 압축형식 =====
주소길이가 워낙 길기 때문에 중간에 0 이 많이 있을 것으로 예상되어, 주소 중간에 0 이 반복적으로 보이면 줄여서 표기하는 방법
- "0000" --> "0"으로
FFED:0000:0000:0000:0000:BA98:3210:4562
--> FFED:0:0:0:0:BA98:3210:4562
- ':0:' 으로 줄일 수 있는 부분에서는 아예 0을 삭제하고 "::"로 표기
FFED:0000:0000:0000:0000:BA98:3210:4562
--> FFED:0:0:0:0:BA98:3210:4562
--> FFED::BA98:3210:4562
- 0dfc 와 같이 0으로 시작되는 숫자에서는 앞부분의 0을 뺄 수 있다.
3FFE:FFFF:0000:0000:0008:0800:20C4:0000
--> 3FFE:FFFF:0:0:8:800:20c4:0
--> 3FFE:FFFF::8:800:20c4:0
- :: 는 아래와 같다.
::
--> 0000:0000:0000:0000:0000:0000:0000:0000
반복되는 0 을 여러 형식을 단축 표현이 가능
아래 처럼 한 주소에 대해서 여러가지 표현이 가능해진다는 불행한 소식
2001:0DB8:0000:0000:0000:0000:1428:57ab
2001:0DB8:0000:0000:0000::1428:57ab
2001:0DB8:0:0:0:0:1428:57ab
2001:0DB8:0::0:1428:57ab
2001:0DB8::1428:57ab
주의사항은
* '::' 와 같은 0 축약은 주소에 단 한번만 사용이 가능하다.
* ::를 만나면
* 주소는 2바이트 8개가 사용되므로
* 숫자가 적힌 부분을 제외한 나머지를 0000 으로 채우면 된다.
* :: 가 여러번 사용되면 주소를 유추하기 어렵기 때문에 한번만 사용된다고 한다.
2001:0DB8::1428:57ab
2001:0DB8과 1428:57ab 사이에는 0만 있을 것으므로 "0000"을 4개 채우면 주소가 된다.
2001:0DB8::1428:57ab
--> 2001:0DB8:0000:0000:0000:0000:1428:57ab
===== 혼합 형식 =====
IPv4와 호환을 위한 주소 표현 방식으로, 6대4의 비율로!(잊지마시길 6:4의 비율)
N:N:N:N:N:N:D:D:D:D
N:16진수, D:10진수
아래쪽에 좀 더 자세히 적었으니, 그걸 참조
====== 네트워크 표현 ======
IPv4와 같이 "/" 다음 오는 숫자는 비트 수를 붙인다.
2001:1234:5678:9ABC::/64
--------
2001:1234:5678:9ABC:FFFF:FFFF:FFFF:FFFF
====== IPv4와 호환 ======
IPv6를 IPv4 형태로 보여주는 방법은 모르겠고,
IPv4를 IPv6 형태로 바꿔주는 방법이 있다. 일단 변경 방법은
* 192.0.2.52 를 16진수로 표기\\ --> C0 00 02 34
* IPv6 형태로 크기를 늘린다\\ -(확장)-> 0000:0000:0000:0000:0000:0000:C000:0234\\ -(압축)-> ::C000:0234
좀 더 익숙한 10진수 형태로 변경
::ffff:192.0.2.52
-------
위의 표시 방법은
- 처음 80bit를 0으로 설정 --> 앞부분의 80bit, 10byte를 0으로 표시\\ --> :: 로 써라는 얘기를 길게 풀어 쓴 것
- 다음 16bit를 1로 설정 --> 16bit, 2byte, 0xFFFF\\ --> ffff를 적어준다.
- 나머지 32비트에 기존 주소를 적는다. --> 32bit, 4byte 만큼 (255.255.255.255)
- 그래서 IPv6 형태로 변환하면 **::FFFF:192.0.2.52** 가 된다.
- 크기 : 128 = 80 + 16 + 32
====== 특수주소 =====
| ::/128 | ip 주소 미설정 상태, 0.0.0.0 이라고 생각하면 이해하기 쉬움 |
| ::1/128 | 자신을 가리키는 루프백. 127.0.0.1 |
| ::/96 | IPv4 호환 주소를 위해 사용되는 주소 공간 |
| ::ffff:0:0/96 | IPv4 매핑 주소를 위해 사용되는 주소공간 |
| fc00::/7 | IPv6 유니캐스트를 위한 주소공간\\ 네트워크 라이브러리 만드는 사람들한테 중요한 정보 |
| fe00::/10 | link-local address를 위한 주소공간이다. IPv4의 자동 설정 IP 주소인 169.254.x.x |
| ff00::/8 | IPv6 멀티캐스트를 위한 주소공간. IPv4의 브로드캐스트는 더 이상 지원되지 않으며, IPv6에서는 대신 멀티캐스트를 사용해야 한다\\ 네트워크 라이브러리 만드는 사람들한테 중요한 정보 |
{{tag>IPv6 아이피_v6}}