IPv6

네트워크 2008. 7. 7. 12:10 posted by 무병장수권력자


IPv6

출처 : http://ko.wikipedia.org/wiki/IPv6

1. IPv4와의 차이점
IPv6와 기존 IPv4 사이의 가장 큰 차이점은 바로 IP 주소의 길이가 128비트로 늘어났다는 점이다. 이는 폭발적으로 늘어나는 인터넷 사용에 대비하기 위한 것이다. 또한 IPv6는 여러가지 새로운 기능을 제공하는 동시에 기존 IPv4와의 호환성을 최대로 하는 방향으로 설계되었다. 때문에 몇몇 예외(
FTP, NTPv3 등)를 제외하고 대부분의 네트워크 수준 상위 프로토콜들은 큰 수정 없이 IPv6 상에서 동작할 수 있다. IPv6 프로토콜은 다음과 같은 특성을 지니는 프로토콜로 개발되었다.

  • IP 주소의 확장 : IPv4의 기존 32 비트 주소공간에서 벗어나, IPv6는 128 비트 주소공간을 제공한다.
  • 호스트 주소 자동 설정 : IPv6 호스트는 IPv6 네트워크에 접속하는 순간 자동적으로 네트워크 주소를 부여받는다. 이는 네트워크 관리자로부터 IP 주소를 부여받아 수동으로 설정해야 했던 IPv4에 비해 중요한 이점이다.
  • 패킷 크기 확장 : IPv4에서 패킷 크기는 64킬로바이트로 제한되어 있었다. IPv6의 점보그램 옵션을 사용하면 특정 호스트 사이에는 임의로 큰 크기의 패킷을 주고받을 수 있도록 제한이 없어지게 된다. 따라서 대역폭이 넓은 네트워크를 더 효율적으로 사용할 수 있다.
  • 효율적인 라우팅 : IP 패킷의 처리를 신속하게 할 수 있도록 고정크기의 단순한 헤더를 사용하는 동시에, 확장헤더를 통해 네트워크 기능에 대한 확장 및 옵션기능의 확장이 용이한 구조로 정의하였다.
  • 플로우 레이블링(Flow Labeling) : 플로우 레이블(flow label) 개념을 도입, 특정 트래픽은 별도의 특별한 처리(실시간 통신 등)를 통해 높은 품질의 서비스를 제공할 수 있도록 한다.
  • 인증 및 보안 기능 : 패킷 출처 인증과 데이터 무결성 및 비밀 보장 기능을 IP 프로토콜 체계에 반영하였다. IPv6 확장헤더를 통해 적용할 수 있다.
  • 이동성 : IPv6 호스트는 네트워크의 물리적 위치에 제한받지 않고 같은 주소를 유지하면서도 자유롭게 이동할 수 있다. 이와 같은 모바일 IPv6는 RFC 3775RFC 3776에 기술되어 있다. (그러나, IPv4에도 모바일 IP가 정의되어 있지만 아직 많이 사용되지 않는다는 것을 밝혀둔다.)

그림 1. IPv4 헤더 : 20byte

그림 2. IPv6 헤더 : 40byte

보면 알겠지만 헤더가 훨씬 단순해졌음을 볼수 있다

2. 주소 표현
IPv6의 128비트 주소공간은 다음과 같이 32자리의
16진수를 4자리씩 끊어 나타낸다.

2001:0db8:85a3:08d3:1319:8a2e:0370:7334

그러나 32자리의 16진수는 사람이 읽고 쓰기에 불편하고, 대부분의 자리가 0의 숫자를 갖게 되므로, 4자리가 모두 0의 숫자를 가질 경우 하나의 0으로 축약하거나, 혹은 아예 연속되는 0의 그룹을 없애고 ':' 만을 남길 수 있다. 따라서 아래의 IPv6 주소들은 모두 같은 주소를 나타낸다.
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

3. IPv4 주소의 IPv6 형태
기존 네트워크와의 호환성을 위해, IPv4 주소는 다음과 같은 세 가지 방법을 통해 IPv6 주소로 나타낼 수 있다.

  • 표준 IPv6 표기 : IPv4 주소 192.0.2.52는 16진수로 표시하면 0xC0000234가 된다. 이를 그대로 IPv6 주소로 변경하면 0000:0000:0000:0000:0000:0000:C000:0234가 되고, 줄이면 ::C000:234가 된다.
  • IPv4 호환 주소 : IPv4와의 호환성과 가독성을 위해 기존 표기에 '::' 만을 붙여 ::192.0.2.52와 같이 쓸 수 있다. 그러나 이 방법은 더 이상 사용되지 않아 폐기될 예정이다.
  • IPv4 매핑 주소 : IPv6 프로그램에게 IPv4와의 호환성을 유지하기 위해 사용하는 다른 방법으로, 처음 80비트를 0으로 설정하고 다음 16비트를 1로 설정한 후, 나머지 32비트에 IPv4 주소를 기록하는 IPv4 매핑 주소가 존재한다. 이 주소공간에서는 마지막 32비트를 10진수로 표기할 수 있다. 따라서 192.0.2.52::ffff:192.0.2.52와 같이 쓸 수 있다.

4. 특수 주소 공간

  •  ::/128 - 이 주소는 모든 값을 0으로 세팅한 특수한 주소이다. 가상적으로만 사용된다.
  •  ::1/128 - 자기 자신의 주소를 가리키는 루프백 주소이다. 프로그램에서 이 주소로 패킷을 전송하면 네트워크는 전송자에게로 패킷을 반송한다. IPv4의 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 에 해당한다.
  • fec0::/10 - site-local address를 위한 주소공간이다. 네트워크 내부에서만 유효한 주소이며, 2004년 10월 RFC3879에서 폐기되어 더 이상 사용되지 않는다.
  • ff00::/8 - IPv6 멀티캐스트를 위한 주소공간이다. IPv4의 브로드캐스트는 더 이상 지원되지 않으며, IPv6에서는 대신 멀티캐스트를 사용해야 한다.