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 |
시간이 없어서 뒷부분 번역은 일단 패스. 나중에.