본문 바로가기
컴퓨터 네트워크

컴퓨터 네트워크 22장 - IPv6 프로토콜 -

by ChocoPeanut 2017. 4. 28.

컴퓨터 네트워크 22

- IPv6 프로토콜 -

 

IPv4 프로토콜32비트의 주소 공간을 지원하는 프로토콜로 이론상 최대 2의 32승 개의 호스트를 사용할 수 있다. 하지만 인터넷이 급성장함에 따라 이 정도의 주소 크기만으로 엄청나게 많은 호스트를 수용하는 것에는 한계가 생겼다. 따라서 이를 대체하기 위해 호스트의 주소 공간을 대폭 확장한 IPv6 프로토콜이 차세대 프로토콜로 사용되고 있다.


IPv6IPv4에 비해 다양한 변경이 있었다.

우선 제일 중요한 부분인 주소 공간의 확장이다. 128비트(16바이트)로 확장된 형태이다. 최대 2의 128승 개의 호스트를 지원할 수 있어 확장되는 인터네 접속자를 수용 가능하게 되었다.

헤더 구조 또한 단순화 되었다. 불필요한 필드를 제외시키고 옵션에 해당하는 부분은 모두 확장헤더 방식으로 지원시켰다. IP 프로토콜에서 과도하게 사용하는 오류 제어와 같은 오버헤드를 줄여 전송 효율을 향상시켰다.

흐름 제어 기능을 지원하였다. Flow Label을 도입하여 일정 범위 내에서 예측 가능한 데이터 흐름을 지원하는 방식이 취한다. 하나의 연속 스트림으로 전송해야 하는 연관 패킷을 전송하는 기능을 통해 실시간 기능이 필요한 멀티미디어 응용 환경을 수용한다.

 

단순화된 IPv6의 헤더를 살펴보자. IPv6의 패킷 헤더는 기본 헤더와 확장 헤더로 나누어진다. 기본 헤더의 구성을 먼저 살펴보자.


DS/ECN 필드는 특정 패킷의 우선순위를 상향시킬 수 있는 필드이다. 혼잡 제어의 유무에 따라 처리하는데 인터넷 제어 트래픽, 대화식 트래픽 등등의 트래픽의 종류를 구별해서 처리를 한다.


Flow Label은 각 패킷을 구분할 수 있는 기능을 가지고 있다. 이를 통해 실시간 서비스를 제공할 수 있다. 0이 아닌 동일번호를 가지고 있는 패킷들은 주요 필드에 대해 동일한 값들을 가지며 중개 과정을 간단하게 처리할 수 있게 해준다.


Payload Length는 헤더를 제외한 패킷의 크기를 나타내고 Next Header는 기본 헤더 다음에 위치하는 헤더의 유형으로 확장 헤더나 TCP, UDP 헤더를 가리킨다. 수신 호스트 주소와 송신 호스트 주소는 IPv6 주소로 나타낸다.



확장 헤더는 다양한 종류가 있다. 기본 헤더 바로 뒤에 확장 헤더를 하나 이상 둘 수 있다.


Hop-by-Hop Options Headershop-by-hop 옵션 처리를 지원한다. Routing HeaderIPv4의 소스 라우팅과 유사한 기능을 수행하여 패킷이 지정된 특정 모드를 경유하여 전송되게 한다. Fragment Header는 패킷 분할과 관련된 정보를 포함하고 Destination Options Header는 수신 호스트가 확인할 수 있는 옵션 정보를 포함한다.


IPv6 주소는 16비트의 숫자 8개를 콜론으로 구분하는 형태이다. 대부분의 자리가 0의 숫자를 갖게 되므로, 0000을 하나의 0으로 축약하거나, 혹은 아예 연속되는 0의 그룹을 없애고 ‘:’ 만을 남기는 축약 표기하기도 한다. 기본적으로 서로 다른 두 가지 유니캐스트 주소를 지정하는 전역 유니캐스트 주소와 링크 로컬 주소이다. 전역 유니캐스트 주소는 공용 토폴로지, 사이트 토폴로지, 인터페이스 ID로 구성된 주소이고 링크 로컬 주소는 로컬 네트워크 링크에서만 사용하는 주소로 링크로컬 접두어, 54비트 0, 인터페이스 id로 구성된다. 사이트 로컬 주소는 하나의 조직, 회사 내에서만 유효한 주소로 사용된다.