[IPv6 강좌] IPv6 프로토콜 구조와 IPv4와의 비교 스크랩 2007/08/20 09:37 |
[IPv6 강좌] IPv6 프로토콜 구조와 IPv4와의 비교 출처 : 온더넷, 2005년 4월호 IPv6로 망을 구축하거나 기존의 망을 전환하기 위해서는 IPv6 주소체계와 구조를 알아야 한다. 예를 들면 기존에 202.15.6.1 형태로 표현된 32비트 IPv4 주소 프로토콜을 대체해 128비트의 새로운 주소 프로토콜이 사용되는 것이다. IPv6의 탄생 배경과 필요성에 대해서는 지난호에서 이미 상세히 설명했으므로 이번호에는 IPv6 프로토콜의 구조와 IPv4와의 차이점에 대해서 알아보자. 인터넷 데이터는 일정한 형태를 이뤄 전달된다. 이를 패킷이라고 부르는데 패킷의 구조는 (그림 1)과 같이 IP 헤더, TCP/UDP 헤더, 애플리케이션 헤더 그리고 이용자 데이터 영역으로 분류된다. IPv6 헤더는 (그림 2)와 같이 버전, 트래픽으로 이뤄진다. 각 필드에 대해 간단히 설명하면, 버전(version, 4비트)은 패킷이 IPv4인지 IPv6인지 IP 프로토콜의 버전을 알려주는 필드다. 트래픽 클래스(Traffic Class, 8비트)는 QoS에서 사용되는 필드로 패킷의 우선 순위 등을 나타낸다. IPv4의 CoS 필드와 동일하다. 플로우 레이블(Flow Label, 20비트)은 IPv6에 신설된 필드로 플로우를 구분해 플로우별 패킷 처리를 가능하게 해주는 QoS 관련 필드다. 이에 대한 세부적인 활용 방안은 IETF에서 아직도 협의중이다. 페이로드 길이(Payload Length, 16비트)는 IPv6 헤더의 길이를 알려주고 넥스트 헤더(Next Header, 8비트)는 IP 헤더 다음에 어떤 확장 헤더가 올지 혹은 확장 헤더없이 UDP/TCP가 올지를 알려준다. 홉 리미트(Hop Limit, 8비트)는 IPv4의 TTL 값으로 루프(Loop) 방지를 위해 사용되며, 소스 어드레스(128비트)/도착지 어드레스(128비트)는 출발지/목적지 주소다. (그림 3)과 같이 IPv6 헤더는 IPv4와 비교해 그 길이는 길어졌지만, 헤더 규격이 단순화 돼 처리 효율은 높아졌다. 왼쪽의 IPv4 헤더에서 현재 많이 사용하지 않는 'Flags' 'Fragment offset' 'Options and padding' 'checksum' 등의 필드는 붉은색 동그라미와 같이 삭제되거나 뒤에 설명할 확장 헤더로 넘겼고, 나머지 필드는 그 규격을 개선했다. 뿐만 아니라 플로우 레이블과 같이 추가 필드를 정의해 플로우별 데이터 처리를 가능케했다. IPv6 헤더에서 정의하지 못했으나 인터넷 데이터 전송을 위해 필요하다고 생각되는 부가 기능에 대해서는 확장헤더를 통해 구현했다. 확장헤더는 IPv6 헤더와 TCP/UDP 헤더 사이에 (그림 4)처럼 위치한다. (그림 5)는 확장 헤더의 종류와 그 기능을 설명하고 있으며, 이를 통해 IPv4보다 보안(IPsec), 이동성(Mobile IPv6) 등을 강화할 수 있었다. IPv6 주소 형식 예) 2002:2ABC:DEF0:1234:5678:90AB:CDEF:1234 IPv6 주소는 128비트로, IPv4의 32비트와 비교해서 4배가 길기 때문에 IPv4처럼 10진수로 표현하면 길이가 너무 길어질 수 있다. 그러나 IPv6 현재 주소표시 형태로도 길이가 길기 때문에 다음과 같이 주소 축약 형식을 채택하고 있다. '0'의 숫자 열을 압축하는 형식으로써 '::'은 '0'의 16비트 그룹이 이어진 것을 의미한다. 예) 2002 : 0 : 0 : 0 : 0 : 0 : 0 : 99 은 다음과 같이 표현됨 다음과 같이 IPv4와 IPv6 노드의 혼합 환경을 취급하는 형식도 정의했다. 예) X: X: X: X: X: X: d. d. d. d 여기서 'X'는 16비트, 4개의 16진수 값이고, 'd'는 8비트 10진수 값이다. d.d.d.d는 표준 IPv4 주소 표현이다. 예 1) 2002 : 0 : 0 : 0 : 0 : 0 : 202.1.2.3 → 2002::202.1.2.3 IP 주소는 네트워크 영역과 호스트 영역으로 나뉜다. IPv4에서는 주로 마스크(mask)를 사용하거나 '/(프리픽스 길이)'로 네트워크 영역과 호스트 영역을 구분했다. IPv6에서는 주소 길이가 길어 마스크 방식을 사용하기는 어려워 '/(프리픽스 길이)' 방식을 사용한다. 즉 주소 중 왼쪽부터 (프리픽스 길이)라고 표시된 길이의 비트만큼이 네트워크 영역이고 나머지 부분이 호스트 영역이 된다. 그러나 IPv6 주소는 이런 클래스 구분이 없다. 다만, 국가 주소 관리 기구가 통신업체에게 /32 크기의 주소를 할당해 주고 통신업체는 이를 자사 고객에게 /41 혹은 /48 크기로 할당해준다. IPv6 주소의 종류 ·유니캐스트 주소 ·애니캐스트 주소 ·멀티캐스트 주소 유니캐스트 주소 예를 들어 2001:2b81:33bb::1234/32의 경우 상위 32비트 2001:2b81은 서브넷 프리픽스(subnet prefix)가 되며, 하위 96비트인 33bb::1234는 인터페이스 ID가 된다. 유니캐스트 주소의 예는 다음과 같다. 유니캐스트 주소에는 'Global' 'Linklocal' 'Loopback' 'unspecified' 'IPv4 mapped' 'IPv6 compatible' 등으로 구분된다. Global IPv6 주소는 글로벌하게 라우팅되는 일반적인 주소다. 글로벌 주소는 왼쪽 3개의 비트가 모두 0으로 시작된다. Linklocal 주소는 같은 링크 상에서만 사용되는 주소로 (그림 10)처럼 왼쪽이 FE80으로 시작된다. Loopback 주소는 (그림 11)과 같이 ::1, unspecified 주소는 (그림 12)와 같이 ::0으로 표기되며, 네트워크 상에서 자기 자신의 주소, 정해지지 않는 모든 주소 등으로 사용된다. IPv4 mapped 및 IPv4 compatible 주소는 모두 IPv4 주소를 IPv6 주소로 표현하는 방법으로 전자는 애플리케이션에서, 후자는 네트워크상 터널 주소로 활용된다. 애니캐스트 주소 사실 애니캐스트 주소 개념은 IPv4에도 존재한다. IPv4 상에서도 루트 DNS의 미러(Mirror) 서버에는 애니캐스트 주소가 할당돼 로드밸런싱 등의 용도로 사용됐다. 하지만 IPv4의 애니캐스트 주소는 IPv6와 달리 특정 영역 192.88.99.0/24이 사용된다. 멀티캐스트 주소 멀티캐스트 주소는 여러 종류가 있는데, (표 1)에 자주 사용되는 주소를 나열하면 다음과 같다. ICMPv6 IPv6에서는 주소 자동설정, MTU 발견(discovery) 기능, 주소중복확인(DAD) 등이 필수로 정의돼 있기 때문에 ICMPv6에서도 이를 지원할 수 있도록 변화가 필요했다. 이런 요구로 변화된 ICMPv6와 기존의 ICMPv4간의 차이는 (표 2)에서 비교하고 있다.
|
'IT' 카테고리의 다른 글
디지털시대의 저작권과 CCL (0) | 2007.08.22 |
---|---|
''만든이''만 밝힌다면..."퍼감을 許 하노라" (0) | 2007.08.22 |
컴퓨터 조립 내 손으로 완벽 가이드 (2) | 2007.08.12 |
SE-COCOMO (0) | 2007.05.29 |
화일시스템 (0) | 2007.05.29 |