공부/Computer Network2013. 3. 25. 23:50
IPv6 - Part 1 (cont.)


IPv6 주소 통계 : 프린트하고는 다르게 United States가 21.6%이다. 일시적으로 오류가 있었거나 변동된 듯. (2013.04.18 현재)


IPv4와 IPv6 헤더 비교

이름이 바뀐 필드 (거의 같은 일을 하는 필드)

* 버전 : 4비트 필드 (4 대신 6이 들어있음)

* 트래픽 계층 : IPv4의 TOS 필드와 비슷한 8비트 필드. 패킷에 차별화된 서비스를 위한 트래픽 계층을 태그한다.

* 페이로드 길이 : IPv4의 전체 길이와 비슷한 역할. 기본 헤더 길이는 포함하지 않는다.

* 홉 제한 : TTL(Time To Live) 필드와 비슷

* 다음 헤더 : IPv4의 프로토콜 필드와 비슷. 어떤 종류의 정보가 뒤따라오는지 말해주는 값.

삭제된 필드

* 헤더 길이 : IPv6는 고정된 길이를 가지고 있다.

* 단편화 (파편 상쇄) : IPv6는 단편화를 하지 않음. IPv6 호스트는 데이터를 보내기 전에 경로 MTU를 감지한다.

* 식별자 : 단편화를 하지 않으므로 식별자가 필요없다.

* 체크섬 : Media Access Layer (Data Link Layer를 말하는 듯) 와 Transport Layer로 체크섬을 미룸으로 신속한 포워딩

추가된 필드

* 흐름 라벨(Flow Label)

- 특별한 QoS를 필요로 하는 특정 흐름을 식별하기 위한 20비트

- 각 출발지는 고유의 흐름 라벨 값을 선택한다.

- 특별한 QoS가 요청되지 않을 때는 0값

- 라우터들은 구분되는 흐름들을 식별하기 위해 (출발지 주소 + 흐름 라벨) 을 사용한다.

- 다른 버퍼 크기, 포워딩에 관한 다른 우선도 등의 라우터에서의 특별한 처방

- 어떤 특정한 흐름 라벨에 대해서도 특별한 중요도 차이는 없다.

- 특별한 취급방식은 다른 방법으로 선언되어야 한다. (예 : RSVP 같은 신호 프로토콜)


IPv6 확장 헤더

* 일반적으로 IPv6 목적지 주소 필드에 의해 식별된 노드에서만 처리된다 -> - IPv4 옵션 처리에 비해 오버헤드가 작아야만 한다. (예외 : 홉-바이-홉 옵션 헤더)

* IPv4 옵션에서의 40바이트 제한이 없어졌다.

* 현재 정의된 확장 헤더들:

– 홉-바이 홉 옵션 (0)

– 목적지 옵션 (60) <- 라우팅 헤더와 IPv6 목적지 주소 필드에 나타나는 모든 노드에서 처리되어야 하는 옵션

– 라우팅 (43)

– 파편 (44)

– 인증 (51)

– 암호화 (50)

– 목적지 옵션 (60) <- 오직 패킷의 최종 목적지에서만 처리되어야 하는 옵션

– 이동성 (135)


확장 헤더의 예

홉-바이-홉 옵션 헤더

* 전달 경로상의 모든 노드와 라우터에서 읽고 처리된다.

* 제시될 때는 기본 IPv6 패킷 헤더의 바로 다음에 따라온다.

* RSVP, 멀티캐스트 리스너 디스커버리액티브 네트워크 메시지와 같은 라우터 경고를 위해 사용

* 점보 페이로드 옵션은 IPv6 패킷 65,536에서 4,294,967,295 옥텟 사이 길이의 전송을 허용한다. (최대 페이로드 길이보다 크다. 페이로드 길이를 0으로 지정한다)


홉-바이-홉 옵션 처리

* 홉-바이-홉 확장 헤더는 반드시 모든 네트워크 장비에서 완전히 처리되어야 하는 유일한 확장 헤더이다.

* 네트워크 장비들을 단순히 트래픽을 포워딩 할 때는 어떤 다른 IPv6 확장 헤더들도 처리하도록 요구받지 않는다.

*홉-바이-홉 외에 하나 혹은 그 이상의 EH(확장 헤더)들과 함께한 IPv6 트래픽은 하드웨어 내에서 포워딩될 수 있다.


라우팅 헤더

* 라우팅 헤더는 중간단계 라우터들을 통해 라우팅하도록 강제한다.

* 다양한 라우팅 옵션을 가능하게하는 라우팅 타입 필드

- IPv6 스펙에는 라우팅 타입 0 만 정의되어 있다.

- 라우팅 타입 2는 모바일 IPv6에서 제안되었다. (RFC 3775)

* 라우팅 타입 0 : IPv4의 "루즈 소스 라우팅"과 비슷하다

* 라우팅 타입 2 : 모바일 노드의 홈 주소가 라우팅 헤더 데이터에 들어있다.


라우팅 헤더 처리 예제


IPv6 타입 0 헤더의 폐지예정

* 보안에 비추어 폐지예정 (RFC 5095)

- 하나의 RH0(라우팅 헤더 0)은 여러개의 중간단계 노드들의 주소를 포함하고 있으며, 같은 주소들이 RH0에 하나 이상 포함될 수 있다. 이것이 두 RH0 처리 호스트 사이를 여러번 오갈 것이며 공격자로부터의 패킷 흐름이 두 원격 라우터들 사이를 따라 증폭되는 것을 허용한다.

- 그것은 임의의 원격 경로를 따라 혼잡을 초래할 수 있으며 그에 따라 서비스 정지 공격 메커니즘으로 행동할 것이다.


파편화 헤더

* 패킷이 파편화되었을 때 출발지에서 사용된다.

* 파편 상쇄는 전체 패킷 내에서 특정 파편의 위치를 식별한다 : 목적지에서 패킷을 재조합하기 위해 사용된다.

* 식별증명(Identification)은 원본 패킷이 같은지 식별하기 위한 것이다.

* M 플래그 : 1 = 파편 더 있음; 0 = 마지막 파편


경로 MTU 탐색

* 경로 MTU : 출발지에서 목적지 사이의 링크 가운데 가장 작은 MTU

* 1280 옥텟보다 큰 패킷을 보내기 위해 경로 MTU를 행한다:

- 송신시스템에서 큰 크기의 IP 패킷을 Don't Fragment 플래그를 설정한 채 생성하여 전송하는 중에, 만약 중계시스템(라우터 등)이 수용하기에 더 큰 패킷이면 이를 거부하게 되며 이를 다시 더 작은 크기로 재전송하게 된다.

- 이 과정은 ICMP 의 Destination Unreacheable (Fragmentation Required but DF bit is set) 오류가 돌아오지 않을 때까지 반복하게되며, 최종적으로는 오류 메시지가 더 이상 돌아오지 않는 시점에서 MTU 값을 확정하게 되는 알고리즘을 말한다.


AH(Authentication Header; 인증 헤더)

* ESP 헤더와 최종 목적지를 대상으로 한 어떤 목적지 옵션 헤더보다 앞에 나타난다.

* 다음 헤더, 페이로드 길이, SPI(보안 매개변수 색인), 일련 번호, 인증 데이터를 포함하고 있다.

* 인증, 데이터 무결성, 재실행 방지를 제공한다.

* 출발지와 목적지만 알고있는 특별한 해쉬 알고리즘과 특정 키

- 출발지 장비는 ICV(Integrity Check Value)라고 불리는 계산 결과를 헤더에 넣는다.

- 목적지 장비는 키를 이용해서 같은 계산을 하여 두 장비가 공유한다.

* 데이터 기밀화는 제공하지 않는다.


인증 헤더 포맷


ESP(Encapsulating Security Payload; 캡슐화 보안 페이로드)

* 암호화 알고리즘이 데이터그램 내의 데이터와 키를 암호화된 형태로 변환한다.

- 캡슐화된 페이로드에 데이터 기밀성, 인증, 데이터 무결성, 재실행 방지를 제공한다.

- ESP 앞에 오는 확장헤더나 IPv6 헤더에는 보안을 제공할 수 없음

* ESP 필드

- ESP 헤더는 SPI와 일련 번호를 가진다.

- ESP 트레일러는 암호화된 데이터 다음에 위치하고 암호화된 데이터를 고정길이로 만드는 부가 데이터를 가진다.

- ESP 인증 데이터는 AH처럼 계산된 ICV를 가진다.


ESP 헤더를 가진 패킷


ESP 헤더 포맷

목적지 옵션 헤더 : 패킷의 목적지 주소를 특별히 타겟으로 한 옵션 정보를 옮긴다. 모바일 IPv6는 이 옵션을 모바일 노드와 홈 에이전트 사이에 등록 메시지를 교환하기 위해 사용한다.


ICMPv6 (Internet Control Message Protocol for IPv6)

* 에러 메시지

– Destination Unreachable Messages

– Packet Too Big Messages (Path MTU discovery)

– Time Exceeded Messages

– Parameter Problem Messages

* 정보 메시지

– Echo Request and Echo Reply Messages

– Router Advertisement and Router Solicitation Messages

– Neighbor Advertisement and Neighbor Solicitation Messages

– Redirect Messages

– Router Renumbering Messages

– Informational Message Options

* RS (Router Solicitations; 라우터 요청)

– Sent only at host start‐up, to solicit immediate router advertisement

– Sent to all‐routers multicast address (link scope)

* RA (Router Advertisement; 라우터 광고)

– Either periodically, or in response to a Router Solicitation message

– Contain prefixes that are used for on‐link determination and/or address configuration, a suggested hop limit value, etc

* 리다이렉트

– Used by routers to inform hosts of a better first hop for a destination

* NS (Neighbor Solicitations; 이웃 요청)

– For address resolution: sent to “solicited node” multicast address

– For unreachability detection: sent to neighbor’s unicast address

* NA (Neighbor Advertisements; 이웃 광고)

– For address resolution: sent to unicast address of solicitor

– For link‐layer address change: sent to all‐nodes multicast address

– Usable for proxy responses (detectable)

– Includes router/host flag


Solicited Multicast Node Address

* ff02:0:0:0:0:1:ff00::/104 + the last 24 bits of IPv6 address


Router Solicitations and Advertisement

* Router solicitations (RS) are sent by booting nodes to request RAs for configuring the interfaces

* Routers send periodic Router Advertisements (RA) to the allnodes multicast address


Neighbor Solicitation and Advertisement


Multicast Neighbor Solicitation


Multicast Neighbor Advertisement


Redirect

* Redirect is used by a router to signal the reroute of a packet to a better router


IPv6 Address Auto‐Configuration

* A mechanism for setting IP address of a node automatically

* Stateless address auto‐configuration (RFC 4862)

– Interface ID is configured by the node on its own, and prefix is notified by the network

* Stateless dynamic host configuration (RFC 3736)

– Sometimes called DHCPv6lite

– The DHCPv6 server does not assign addresses configuration parameters, such as DNS server

* Stateful configuration (RFC 3315)

– The DHCPv6 server assigns an (non‐temporary and/or temporary) address

* Prefix Delegation (RFC 3633)

- The DHCPv6 server delegates prefixes to the clients instead of leasing addresses


Stateless Address Auto‐configuration

• Router Solicitation (RS) message on the network using the link‐local address

• Router Advertisement (RA) message

– RA message is transmitted periodically

-> not necessary have to send RS message

– RA sender does not care to whom it sent information

• Global IPv6 address by combining prefix and interface ID

• A new node on the network generates link local address and allocates it to the interface

– Random number

– EUI‐64 expanded interface id

- Link local address format - fe80::W:X:Y:Z

• Duplicate Address Detection (DAD)

– To confirm that generated link local address is not already used on the same network

– A new node transmits Neighbor Solicitation (NS) message on the network

– If another node using the same address, this node sends NeighborAdvertisement (NA) message

-> the new node will terminates the interface

– If no NA message after a certain time, the new node will use the original link‐local address

• Use of link‐layer addresses inside the address space

• Auto‐configuration with “no collisions”

• Offers “plug and play”


Renumbering

• Networks can be renumbered by having routers specify an expiration interval for network prefixes

• The routers can send a new prefix to tell devices to regenerate their IP addresses

• Devices can actually maintain the old “deprecated” address for a while and then move over to the new address


IPv4 대 IPv6

특징

IPv4

IPv6

주소 길이

32비트 

128비트 

파편화 

호스트와 라우터 

오직 호스트만 

헤더 내 체크섬 

사용 

사용 안함 

헤더 내 옵션 

사용 

사용 안함 

링크-계층 주소 해석 

ARP (브로드 캐스트) 

이웃 탐색 (멀티캐스트) 

멀티캐스트 멤버십 

IGMP 

MLD (ICMPv6의 일부) 

라우터 탐색 

옵션 

사용 

브로드캐스트 

사용 

사용 안함

주소 할당

수동 혹은 DHCP

자동 설정 

IPSec 지원 

옵션 

사용 

QoS 지원 

약간 

보다 나음 

DNS 이름 역탐색 

A 레코드 IN-ADDR.ARPA 

AAAA와 A6 레코드 IP6.INT 


시간이 없어서 뒷부분 번역은 일단 패스. 나중에.

Posted by Maverick Unlimited