사용자 도구

사이트 도구


사이드바

카테고리

language:ipv6

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 이 반복적으로 보이면 줄여서 표기하는 방법

  1. “0000” –> “0”으로
    FFED:0000:0000:0000:0000:BA98:3210:4562 
        --> FFED:0:0:0:0:BA98:3210:4562
  2. ':0:' 으로 줄일 수 있는 부분에서는 아예 0을 삭제하고 “::“로 표기
    FFED:0000:0000:0000:0000:BA98:3210:4562 
        --> FFED:0:0:0:0:BA98:3210:4562
            --> FFED::BA98:3210:4562
  3. 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
  4. :: 는 아래와 같다.
    ::
        --> 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
  -------

위의 표시 방법은

  1. 처음 80bit를 0으로 설정 –> 앞부분의 80bit, 10byte를 0으로 표시
    –> :: 로 써라는 얘기를 길게 풀어 쓴 것
  2. 다음 16bit를 1로 설정 –> 16bit, 2byte, 0xFFFF
    –> ffff를 적어준다.
  3. 나머지 32비트에 기존 주소를 적는다. –> 32bit, 4byte 만큼 (255.255.255.255)
  4. 그래서 IPv6 형태로 변환하면 ::FFFF:192.0.2.52 가 된다.
  5. 크기 : 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에서는 대신 멀티캐스트를 사용해야 한다
네트워크 라이브러리 만드는 사람들한테 중요한 정보
language/ipv6.txt · 마지막으로 수정됨: 2022/12/07 22:30 저자 kieuns