사용자 도구

사이트 도구


language:ipv6

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판이전 판
language:ipv6 [2020/06/30 20:08] kieunslanguage:ipv6 [2024/04/23 22:43] (현재) – 바깥 편집 127.0.0.1
줄 1: 줄 1:
 +<title>
 +IPv6 대하여
 +</title>
  
 +{{htmlmetatags>metatag-robots=() 
 +metatag-keywords=(IPv6) 
 +metatag-description=(IPv6 대하여)
 +}}
 +
 +====== 주소의 크기 ======
 +
 +  * IPv4 32bit , 4byte --> 2<sup>32</sup> 개수
 +  * IPv6 128bit , 16byte --> 2<sup>128</sup> 개수
 +
 +결론 : 엄청 많다! (라기 보다 알게 뭐냐..)
 +
 +
 +====== 표현 방식은 ======
 +
 +텍스트 문자열로 나타내는 방식은,
 +
 +===== 콜론-16진수 형식 =====
 +
 +16진수 4자리씩(2byte씩) 끊어서 콜론으로 8개로 구분해서 표현한다.
 +
 +  N:N:N:N:N:N:N:N
 +  (N은 16진수)
 +  
 +다시 적으면,
 +
 +  FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF
 +
 +
 +주소처럼 입력해본다면, 아래와 같이.
 +
 +<code>
 +  2001:0db8:85a3:08d3:1319:8a2e:0370:7334
 +  
 +  2byte:2byte:...:2byte
 +</code>
 +
 +뻥치는게 아니고, 실제 주소를 아래처럼 입력합니다.
 +
 +  2001:0db8:85a3:08d3:1319:8a2e:0370:7334
 +
 +====== 압축형식 =====
 +
 +주소길이가 워낙 길기 때문에 중간에 0 이 많이 있을 것으로 예상되어, 주소 중간에 0 이 반복적으로 보이면 줄여서 표기하는 방법
 +
 +  - "0000" --> "0"으로 <code>
 +FFED:0000:0000:0000:0000:BA98:3210:4562 
 +    --> FFED:0:0:0:0:BA98:3210:4562
 +</code>
 +  - ':0:' 으로 줄일 수 있는 부분에서는 아예 0을 삭제하고 "::"로 표기<code>
 +FFED:0000:0000:0000:0000:BA98:3210:4562 
 +    --> FFED:0:0:0:0:BA98:3210:4562
 +        --> FFED::BA98:3210:4562
 +</code>
 +  - 0dfc 와 같이 0으로 시작되는 숫자에서는 앞부분의 0을 뺄 수 있다.<code>
 +3FFE:FFFF:0000:0000:0008:0800:20C4:0000
 +    --> 3FFE:FFFF:0:0:8:800:20c4:0
 +        --> 3FFE:FFFF::8:800:20c4:0
 +</code>
 +  - :: 는 아래와 같다.<code>
 +::
 +    --> 0000:0000:0000:0000:0000:0000:0000:0000
 +</code>
 +
 +반복되는 0 을 여러 형식을 단축 표현이 가능
 +아래 처럼 한 주소에 대해서 여러가지 표현이 가능해진다는 불행한 소식
 +
 +<code>
 +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
 +</code>
 +
 +주의사항은
 +
 +  * '::' 와 같은 0 축약은 주소에 단 한번만 사용이 가능하다.
 +  * ::를 만나면 
 +    * 주소는 2바이트 8개가 사용되므로
 +    * 숫자가 적힌 부분을 제외한 나머지를 0000 으로 채우면 된다.
 +  * :: 가 여러번 사용되면 주소를 유추하기 어렵기 때문에 한번만 사용된다고 한다.
 +
 +  2001:0DB8::1428:57ab
 +  
 +2001:0DB8과 1428:57ab 사이에는 0만 있을 것으므로 "0000"을 4개 채우면 주소가 된다.
 +
 +<code>
 +2001:0DB8::1428:57ab
 +    --> 2001:0DB8:0000:0000:0000:0000:1428:57ab
 +</code>
 +
 +===== 혼합 형식 =====
 +
 +IPv4와 호환을 위한 주소 표현 방식으로, 6대4의 비율로!(잊지마시길 6:4의 비율)
 +
 +<code>
 +  N:N:N:N:N:N:D:D:D:D
 +  
 +  N:16진수, D:10진수
 +</code>
 +
 +아래쪽에 좀 더 자세히 적었으니, 그걸 참조
 +
 +====== 네트워크 표현 ======
 +
 +IPv4와 같이 "/" 다음 오는 숫자는 비트 수를 붙인다.
 +
 +<code>
 +  2001:1234:5678:9ABC::/64
 +                    --------
 +
 +  2001:1234:5678:9ABC:FFFF:FFFF:FFFF:FFFF
 +</code>
 +
 +====== 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진수 형태로 변경
 +
 +<code>
 +  ::ffff:192.0.2.52
 +  -------
 +</code>
 +
 +위의 표시 방법은
 +  - 처음 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::/ | IPv6 유니캐스트를 위한 주소공간\\ 네트워크 라이브러리 만드는 사람들한테 중요한 정보 |
 +|  fe00::/10  | link-local address를 위한 주소공간이다. IPv4의 자동 설정 IP 주소인 169.254.x.x |
 +|  ff00::/ | IPv6 멀티캐스트를 위한 주소공간. IPv4의 브로드캐스트는 더 이상 지원되지 않으며, IPv6에서는 대신 멀티캐스트를 사용해야 한다\\ 네트워크 라이브러리 만드는 사람들한테 중요한 정보 |
 +
 +{{tag>IPv6 아이피_v6}}