본문 바로가기

IT일반

IPv6(Internet protocol version 6)

 

 

 

 

이번 포스팅에서는 IPv6에 대해서 다루어 보겟습니다

IPv6는 IPv4의 업그레이드된 버전으로, IPv4의 IP부족문제로 인해 IPv6가 주소 부족 문제 해결책으로 여겨지고 있습니다

 

* IPv6의 특징

 

 

  • 3가지의 주소 유형을 가짐
  1. 유니캐스트(Unicast) : 목적지 주소 하나만을 가지고 통신하는 방식
  2. 멀티캐스트(Multicast) : 1대 다 통신 방식
  3. 애니캐스트(Anycast) : 송신측이 전송한 데이터가 수신 가능한 측을 임의로 선택하는 통신방식                    
  • 주소 자동 생성 기능 지원
  • IPv4의 일부 헤더 필드를 삭제하고 확장 헤더를 도입해 패킷을 전달해 라우터 부하를 줄임
  • IPSec 기본 탑재
  • 비-상태 형 자동설정(Stateless auto-configuration) - 호스트가 자신의 인터페이스 정보와 라우터로부터 받은 네트워크 정보 기반으로 스스로 주소 생성 가능


* IPv4와 IPv6의 차이점

 

 구분

IPv4 

IPv6 

 주소길이

32bit

128bit

 표시방법

8비트식 4부분으로 나누어 10진수로 표시

ex)192.168.1.5

16비트씩 8개 부분으로 나누어 16진수로 표시

ex)2002:0221:ABDE:DCEF::FFFF:4002

 주소 개수 

4,294,967,296개

340,282,366,920,938,463,463,374,607,431,768,211,456개

 주소 할당 방식

A,B,C,D 등의 클래스 단위로 비순차적 할당

네트워크 규모, 단말기 수에 따라 순차적 할당

 브로드캐스트 주소

있음 

없음

(로컬 범위 내에서 모든 노드에 대한 멀티캐스트 주소 사용)

 보안

IPSec 별도 설치 

IPSec 지원 

 서비스 품질

제한적 품질 보장

(Type of Service에 의한 서비스 품질 일부 지원) 

확장된 품질 보장

(트래픽 클래스, 플로우 레이블에 의한 서비스 품질지원) 

 

 

* IPv6 주소 생략 표기 규칙

 

         ● 각 필드에서 선행하는 0은 생략 가능하다

 

            ex) 0207 -> 207, 00BC -> BC, 0000 -> 0

            ex) BSAF : 2012 : 0711 : F207 : 0000 : 0001 : F9FF : 4102

              ->BSAF : 2012 : 0711 : F207 : 0 : 1 : F9FF : 4102 

 

         ● 연속된 0은 모두 삭제가 가능하며, 이를 이중콜론(::)으로 표시한다

 

             ex)BSAF : 0 : 0 : 0 : 0 : 5641 : F9FF : 4102

             -> BSAF :: 5641 : F9FF : 4102

 

 

 

 * IPv6의 헤더 


 


 

 

  • 버전(Version) : IP 프로토콜의 버전(IPv6는 6)
  • 트래픽 클래스(Traffic Class) : IPv6 패킷의 클래스나 우선순위(IPv4의 TOS 필드 같은것)
  • 플로우 레이블(Flow Label) : 네트워크상에서 패킷들의 어떤 특정한 흐름에 대한 특성을 나타내며, 기본값은 0이고 음성이나 화상 등의 실시간 데이터를 트래픽을 나타내기 위해 0이 아닌 다른 값으로 설정
  • 페이로드 길이(Payload Length) : 데이터 그램의 크기이며, 필드의 길이가 16bit 이므로 65536 바이트 까지 표시하며,  더 큰 데이터 그램을 보내기 위해서는 홉-바이-홉(Hop-by-Hop) 확장헤더의 점보 페이로드(Jumbo Payload) 옵션을 사용하는데, 점보 옵션을 사용할 경우 페이로드 길이 필드는 모두 0
  • 다음 헤더(Next Header) : IPv6 기본 헤더 다음에 어떠한 종류의 확장 헤더가 오는지를 나타냄
  • 홉 제한(Hop limit) : IP 패킷이 전송되는 거리를 홉(Hop)단위로 제한할 때 사용하는 필드로 헤더 생성 시 임의의 초기 값으로 설정되고 각 라우터를 지날 때마다 이 값을 1씩 감소시켜 홉 제한 값이 0이 되면 패킷을 폐기하며, 라우팅 루프 방지 또는 멀티캐스트 그룹 내에서 가장 가까운 서버를 찾는 용도로 이용



IPv6에서는 사이트 로컬 주소와 링크 로컬 주소가 존재합니다

* 사이트 로컬 주소
  • 사설 네트워크를 위한 주소 할당과 유사
  • FE로 시작
* 링크 로컬 주소
  • 자동 주소 설정 및 네이버 발견등과 같은 링크 통신에 사용
  • 개별적인 물리적 네트워크 세그먼트상에서 로컬 통신만을 위해 사용되는 주소
     

 

먼저 현재 우리가 보통 쓰고 있는 IPv4 프로토콜에서는, 32비트 주소 체계를 사용한다.

203.253.34.2 와 같은 것인데, dot(.)로 구분한 4개의 필드가 있고, 각 필드는 0~255까지 총 256개(8비트)의 번호를 표현할 수 있다.

 

2^32 = 4,294,967,296 = 42억 9496만 7296개

즉, 현 지구 인구 60억(혹은 75억)이 각자 자신의 컴퓨터를 가지고 인터넷에 연결할 경우, IP주소가 부족해

헌데 다가올 유비쿼터스 사회의 환경에서는 1인당 컴퓨터(여기서 컴퓨터는 우리가 현재 컴퓨터라 부르는 물건이 아닐 수도 있다)의 개수가 여러 대가 된다(휴대폰, PDA, 노트북, 집 컴퓨터, 사무실 컴퓨터 정도만 생각해도 5개다).

또한, 사람이 소유하지 않는 일반 센서나 각종 물건들, 유비쿼터스 디바이스들도 넷워킹을 하기 위해서 자신의 IP주소를 가져야 하므로.. 42억여개의 주소는 턱없이 부족함을 알 수 있다.

 

그럼 IPv6는 왜 그렇게 많이들 얘기하는가? 가장 중요한 것은 역시 주소 범위(주소의 개수)이다.

 


 

IPv6는 128비트 주소체계이므로,

 

2^128 = 3.4028236692093846346337460743177e+38

 

이를 scientific notation을 쓰지 않고 직접 써보면..

340,282,366,920,938,463,463,374,607,431,770,000,000 개

(뒤쪽은 유효숫자 문제로 잘림. 유효숫자 더 나오는 계산기 있는 분이 계산 좀 해주세요^_^)


풀어서 써보면..
340간 2823구 6692양 938자 4634해 6337경 4607조 4317억 7000만개이다.