· KLDP.org · KLDP.net · KLDP Wiki · KLDP BBS ·
IPv6

IPv6

시작하기에 앞서

IPv6 (Internet Protocol Version 6)

IPv6는 최신 IP로서, 이제 주요 컴퓨터 운영체계를 비롯한 많은 제품에서 IP 지원의 일부로 포함되고 있다. IPv6IPng (IP Next Generation), 즉 차세대 IP라고도 불리고 있다. IPv6는 일련의 IETF 공식 규격이다. IPv6는 현재 사용되고 있는 IP 버전 4를 개선하기 위해 설계하였다. IPv4IPv6를 채용하고 있는 네트웍 호스트들과 중간 노드들은 두 가지 등급의 IP 중 어느 것에 의해 형식화된 패킷이라도 처리할 수 있다. 그러므로, 사용자들이나 서비스 제공자들은 다른 측과의 협조해야 할 필요 없이, 각기 독립적으로 IPv6로 갱신할 수 있다.

IPv6IPv4에 보다 가장 명백하게 개선된 점은 IP주소의 길이가 32 비트에서 128 비트로 늘어났다는 점이다. 이러한 확장은 가까운 장래에 인터넷이 폭발적으로 성장함으로써, 네트웍 주소가 금세 부족해 질것이라는 우려에 대한 대응책을 제시한다.

IPv6는 유니캐스트 (하나의 호스트에서 다른 하나의 호스트로), 애니캐스트 (하나의 호스트에서 가까이 있는 여러 개의 호스트들로), 멀티캐스트 (하나의 호스트에서 다중 호스트들로) 등 3가지 형태의 주소에 관한 규칙을 가지고 있다. 그외에 IPv6의 부가적인 이점들은 다음과 같다.

  • 확장된 헤더에 선택사항들을 기술할 수 있으며, 이것은 수신지에서만 검색되므로 네트웍 속도가 전반적으로 빨라진다.
  • 애니캐스트 주소의 도입은 하나의 메시지를 가까이 있는 여러 개의 게이트웨이 호스트들에게 보낼 수 있는 가능성과, 그들 중 누구라도 다른 사람에게 전달되는 패킷을 관리할 수 있는 아이디어를 함께 제공한다. 애니캐스트 메시지들은 회선을 따라 이동하면서 라우팅 테이블을 수정하는데 사용될 수 있다.
  • 특정한 흐름에 속해 있는 패킷들을 인식함으로써, 실시간으로 전달될 필요가 있는 멀티미디어 표현용 패킷들이 다른 고객들에 비하여 높은 품질의 서비스를 제공받을 수 있도록 할 수 있다.
  • IPv6는 헤더가 확장됨으로서, 패킷의 출처 인증, 데이터 무결성의 보장 및 비밀의 보장 등을 위한 메커니즘을 지정할 수 있도록 하고 있다.

주소표현 방법

  • IPv6주소를 문자열로 표현하는 방법

    1. x:x:x:x:x:x:x:x형태로 표현되며 x는 16비트의 16진수로 표현합니다. 대소문자를 구분하지 않으며 각 항목의 상위 숫자 0은 생략해서 표기해도 되지만 각 항목에는 적어도 하나의 숫자가 있어야 합니다.

      예1) fe80:0000:0000:0000:0213:d4ff:fe47:14d5 예2) fe80:0:0:0:213:d4ff:fe47:14d5

    2. 일반적으로 0비트가 많이 포함되므로 이를 간략히 표기할 방법을 나타내기 위해서 16비트 0의 연속된 항목을 "::" 기호로 대체할수 있습니다. 단, 이러한 축약기호는 단 한번만 사용할수 있습니다.

      예1) fe80:0000:0000:0000:0213:d4ff:fe47:14d5 => fe80::213:d4ff:fe47:14d5 예2) 0:0:0:0:0:0:0:1 => ::1 예3) 0:0:0:0:0:0:0:0 => ::

    3. IPv4주소를 (포함하는) IPv6주소로 나타내는 경우 x:x:x:x:x:x:d.d.d.d 로 나타낼수 있습니다. 여기서 x는 16비트 16진수이며 d는 8비트 10진수로 표현합니다.

      예1) 0:0:0:0:0:0:192.168.0.1 => ::192.168.0.1 예2) 0:0:0:0:0:ffff:192.168.0.2 => ::ffff:192.168.0.2

  • 프리픽스(Prefix)주소 표현하는 방법
    "IPv6주소/프리픽스길이" 로 표현하며 IPv4의 CIDR표현과 매우 유사한 방법으로 인접한 IP대역을 그룹화 하여 가르킬때 사용합니다. 프리픽스 표현에서 선행하는 0은 축약하여 표현할수 있지만 후행 0은 생략해서는 안됩니다.

    예1) fe80:0000:0000:0000:0213:d4ff:fe47:14d5/64 => fe80::215:17ff:fe26:c3ed/64

  • 범주지정 주소 표현하는 방법

    주소만으로는 어떤 범주인지를 명시하지 않았을 경우 오는 모호성을 해결할수 없는 경우가 있습니다. 이때 주소%영역 과 같이 표시하여 모호성을 해결합니다.

    예1) fe80::213:d4ff:fe47:14d5%eth0

프리픽스 유형

주소유형 프리픽스
미지정 ::/128
루프백 ::1/128
멀티캐스트 ff00::/8
로컬 유니캐스트(링크) fe80::/10
로컬 유니캐스트(사이트) fec0::/10
전역 유니캐스트(Global) 위의 유형을 제외한 나머지 모든 비트

미지정(Unspecified) 주소

주소 ::는 미지정 주소라고 하는데 이 주소는 할당되어서는 안되는 주소이며 자신의 주소가 없는 상태일때 임의로 패킷을 발송하기 위해서 사용할수 있는 경우가 있습니다. 이 주소는 결코 IPv6 라우터에 의해서 포워딩 되어서는 안됩니다.

루프백(Loopback) 주소

주소 ::1는 루프백 주소로 자기자신과 통신할때 사용합니다. 이 주소는 어떠한 물리적 인터페이스장치에도 할당할수 없으며 가상 loopback 인터페이스에 할당됩니다. 목적지가 loopback 주소인 경우 외부로의 전송이 이루어질수 없으며 IPv6 라우터에 의해서 포워딩되지 않습니다.

IPv4주소를 포함하는 IPv6주소

IPv4주소를 포함하는 IPv6주소의 유형은 두가지가 존재합니다.

  1. IPv4 망내에서 IPv6 패킷을 터널링하기위한 기술에 사용되는 IPv4 호환 IPv6주소
    0:0:0:0:0:0000:IPv4주소

  2. 전역 IPv4주소를 IPv6로 표현하기 위한 IPv4 맵드 IPv6주소
    0:0:0:0:0:ffff:IPv4주소

로컬 유니캐스트 주소

로컬 유니캐스트 주소는 링크와 사이트 두가지의 유형이 존재합니다.

  1. 링크 로컬 주소

    인접탐색과 자동주소와 같은 목적을 하기위해서 단일링크상에 라우터가 없는 경우를 위해서 사용됩니다.
    10bits 54bits 64bits
    1111 1110 10 0 Interface ID

  2. 사이트 로컬 주소

    전역 프리픽스 없이 사이트 내에서 통신하기 위해서 사용합니다. IPv4망에서의 사설망과 흡사하다고 보면 될듯 합니다.
    10bits 38bits 16bits 64bits
    1111 1110 11 0 Subnet ID Interface ID

애니캐스트 주소

애니캐스트는 여러 주소유형중에서 하나를 사용하여 유니캐스트 주소공간으로부터 할당됩니다. 때문에 애니캐스트 주소는 유니캐스트 주소와 식별이 안됩니다.

NOTE: 필자는 현재 애니캐스트를 구체적으로 머리속에 그리지 못하고 있습니다. 여러가지 제약적 조건이 발생될수 있는 사항에 대해서도 복잡할뿐. 좀더 공부후에 정리계획입니다.

멀티캐스트 주소

멀티캐스트 주소는 다음과 같은 포맷으로 구성됩니다.
8bits 4bits 4bits 112bits
1111 1111 flags scope Group ID

flags는 다음과 같이 구성됩니다.
0 0 0 I
상위 3개비트는 0으로 예약되어 있으며 I는 0인 경우 IANA가 영구적으로 할당한 멀티캐스트 주소임을 표시합니다. 1인 경우는 그 외의 멀티캐스트 주소를 의미합니다.

scope는 다음과 같이 범주를 제한하는 용도로 사용됩니다.
설명
0 예약
1 로컬 범위의 인터페이스 (interface-local)
2 로컬 범위의 링크 (link-local)
3 로컬 범위의 서브넷 (subnet)
4 로컬 범위의 관리 (admin-local)
5 로컬 범위의 사이트 (site-local)
6 할당되지 않음
7 할당되지 않음
8 로컬 범위의 조직 (organization-local)
9 할당되지 않음
10 할당되지 않음
11 할당되지 않음
12 할당되지 않음
13 할당되지 않음
14 글로벌 범위 (global)
15 예약




sponsored by andamiro
sponsored by cdnetworks
sponsored by HP

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2015-02-06 16:11:26
Processing time 0.0017 sec