79
IPv6 Tutorial (T5-3) 박정수 ([email protected]) 한국전자통신연구원 표준연구센터 2002. 7.24

IPv6 Tutorial (T5-3) · 2012-05-09 · 13 KRnet 2002 MLD Message MLD message type subset of the set of ICMPv6 messages sent with a link-local IPv6 Source Address, an IPv6 Hop Limit

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: IPv6 Tutorial (T5-3) · 2012-05-09 · 13 KRnet 2002 MLD Message MLD message type subset of the set of ICMPv6 messages sent with a link-local IPv6 Source Address, an IPv6 Hop Limit

IPv6 Tutorial (T5-3)

박정수 ([email protected])

한국전자통신연구원 표준연구센터

2002. 7.24

Page 2: IPv6 Tutorial (T5-3) · 2012-05-09 · 13 KRnet 2002 MLD Message MLD message type subset of the set of ICMPv6 messages sent with a link-local IPv6 Source Address, an IPv6 Hop Limit

KRnet 2002 2

IPv6 Tutorial Schedule

7월 24일 수요일 (T5), 10:00~18:00 10:00~11:30 IPv6 개요 및 동향

13:00~14:30 IPv6 기본규격 및 주소체계

14:45~16:15 IPv6 제어 프로토콜

16:30~18:00 자동네트워킹 및 Mobile 보안기술

7월 25일 목요일(T8), 9:30~18:00 09:30~11:30 IPv6 전환메커니즘 및 구조 (신명기)

13:00~14:30 IPv6 응용 전환기술 (신명기)

14:45~16:15 IPv6 망 구축 개요 및 요구사항 (이승윤)

16:30~18:00 IPv6 망 구축 방법 및 시스템 구축기술 (이승윤)

Page 3: IPv6 Tutorial (T5-3) · 2012-05-09 · 13 KRnet 2002 MLD Message MLD message type subset of the set of ICMPv6 messages sent with a link-local IPv6 Source Address, an IPv6 Hop Limit

KRnet 2002 3

IPv6 제어프로토콜 개요

Page 4: IPv6 Tutorial (T5-3) · 2012-05-09 · 13 KRnet 2002 MLD Message MLD message type subset of the set of ICMPv6 messages sent with a link-local IPv6 Source Address, an IPv6 Hop Limit

KRnet 2002 4

개요

ICMPv6는 신뢰할 수 없는 망(IPv6)을 위해 만들어졌으며, 그로 인해 발생하는 오류 정보를 제공하기 위해 사용됨.

새로운 서비스에 대한 확장성을 지님

메시지 형식

TypeType

CodeCode

ChecksumChecksum

UnusedUnused

Message BodyMessage Body

TypeType

CodeCode

ChecksumChecksum

UnusedUnused

Message BodyMessage Body

Page 5: IPv6 Tutorial (T5-3) · 2012-05-09 · 13 KRnet 2002 MLD Message MLD message type subset of the set of ICMPv6 messages sent with a link-local IPv6 Source Address, an IPv6 Hop Limit

KRnet 2002 5

ICMPv4와 비교

ICMPv4 vs. ICMPv6

IPv4

TCP/UDP

IGMPICMPv4

Application

RARPARPEthernet

IPv4

TCP/UDP

IGMPICMPv4

Application

RARPARPEthernet

IPv6

TCP/UDP

ICMPv6ICMPv6

Application

Ethernet

ND

Inv ARPARP

MLDv1

NI …

ICMPv6

ND

Inv ARPARPARP

MLDv1

NINI ……

ICMPv6

Page 6: IPv6 Tutorial (T5-3) · 2012-05-09 · 13 KRnet 2002 MLD Message MLD message type subset of the set of ICMPv6 messages sent with a link-local IPv6 Source Address, an IPv6 Hop Limit

KRnet 2002 6

ICMPv6 메시지

…255

……

Mobile Prefix Advertisement153

Mobile Prefix Solicitation 152

Prefix Delegationxxx

Prefix RequestxxxAutomatic

PD protocol

Home Agent Address Discovery Reply151

Home Agent Address Discovery Request150

Mobile IPv6

……

…127

Name lookup

NDP

MLD

Basic informational

Basic error messages

Name Information Reply140

Name Information Query 139

Redirect137

Neighbor Advertisement (NA)136

Neighbor Solicitation (NS)135

Router Advertisement (RA)134

Router Solicitation (RS)133

Group Membership Termination132

Group Membership Report131

Group Membership Query130

Echo Reply129

Echo Request128

Information

messages

Parameter Problem Error4

Time Exceeded Error3

Packet Too Big Error2

Destination Unreachable Error1

Error

messages

…255

……

Mobile Prefix Advertisement153

Mobile Prefix Solicitation 152

Prefix Delegationxxx

Prefix RequestxxxAutomatic

PD protocol

Home Agent Address Discovery Reply151

Home Agent Address Discovery Request150

Mobile IPv6

……

…127

Name lookup

NDP

MLD

Basic informational

Basic error messages

Name Information Reply140

Name Information Query 139

Redirect137

Neighbor Advertisement (NA)136

Neighbor Solicitation (NS)135

Router Advertisement (RA)134

Router Solicitation (RS)133

Group Membership Termination132

Group Membership Report131

Group Membership Query130

Echo Reply129

Echo Request128

Information

messages

Parameter Problem Error4

Time Exceeded Error3

Packet Too Big Error2

Destination Unreachable Error1

Error

messages

Page 7: IPv6 Tutorial (T5-3) · 2012-05-09 · 13 KRnet 2002 MLD Message MLD message type subset of the set of ICMPv6 messages sent with a link-local IPv6 Source Address, an IPv6 Hop Limit

KRnet 2002 7

Path MTU Discovery for IPv6 (RFC1981)

- ICMPv6 에러 메시지 사용 예 -

Page 8: IPv6 Tutorial (T5-3) · 2012-05-09 · 13 KRnet 2002 MLD Message MLD message type subset of the set of ICMPv6 messages sent with a link-local IPv6 Source Address, an IPv6 Hop Limit

KRnet 2002 8

개요

Path MTU ?

Path MTU Discovery

A standard mechanism for a node to discover the PMTU of an arbitrary path

IPv6 nodes are not required to implement PMTU Discovery

Minimal IPv6 implementation

IPv6 minimum link MTU : 1280 octets

Page 9: IPv6 Tutorial (T5-3) · 2012-05-09 · 13 KRnet 2002 MLD Message MLD message type subset of the set of ICMPv6 messages sent with a link-local IPv6 Source Address, an IPv6 Hop Limit

KRnet 2002 9

동작 메커니즘

PMTU Discovery Protocol

Method 1 :

Several iterations of the packet-sent/Packet-Too-Big-message-received cycle

Initial PMTU = the (known) MTU of the first hop in the path

Method 2

PMTU = the IPv6 minimum link MTU(1280 octets)

Page 10: IPv6 Tutorial (T5-3) · 2012-05-09 · 13 KRnet 2002 MLD Message MLD message type subset of the set of ICMPv6 messages sent with a link-local IPv6 Source Address, an IPv6 Hop Limit

KRnet 2002 10

프로토콜 형식

ICMPv6 Error Messages: Packet Too Big IPv6 Field

Destination address : invoking packet의 Source 주소 필드 복사

ICMPv6 Field

Operation outgoing link의 MTU보다 큰 패킷으로 인해 forward 될 수 없는 패킷이 존재할

때 라우터에 의해 발생됨

Path MTU Discovery 과정에서 사용됨

Type=2Type=2

Code=0Code=0

ChecksumChecksum

MTUMTU

As much of invoking packet

as will fit without the ICMPv6 packet

exceeding the minimum IPv6 MTU [IPv6]

As much of invoking packet

as will fit without the ICMPv6 packet

exceeding the minimum IPv6 MTU [IPv6]

Type=2Type=2

Code=0Code=0

ChecksumChecksum

MTUMTU

As much of invoking packet

as will fit without the ICMPv6 packet

exceeding the minimum IPv6 MTU [IPv6]

As much of invoking packet

as will fit without the ICMPv6 packet

exceeding the minimum IPv6 MTU [IPv6]

MTU : Next-hop Link의 MTU

Page 11: IPv6 Tutorial (T5-3) · 2012-05-09 · 13 KRnet 2002 MLD Message MLD message type subset of the set of ICMPv6 messages sent with a link-local IPv6 Source Address, an IPv6 Hop Limit

KRnet 2002 11

Multicast Listener Discovery

(RFC2710)

Page 12: IPv6 Tutorial (T5-3) · 2012-05-09 · 13 KRnet 2002 MLD Message MLD message type subset of the set of ICMPv6 messages sent with a link-local IPv6 Source Address, an IPv6 Hop Limit

KRnet 2002 12

MLD : 개요

Purpose of MLD used by an IPv6 router to discover the presence of multicast

listeners on its directly attached links,

and discover specifically which multicast addresses are of interest to those neighboring nodes

Derived from IGMPv2(IPv4)

One important difference to note is that MLD uses ICMPv6 (IP Protocol 58) message types,rather than IGMP (IP Protocol 2) message types.

Page 13: IPv6 Tutorial (T5-3) · 2012-05-09 · 13 KRnet 2002 MLD Message MLD message type subset of the set of ICMPv6 messages sent with a link-local IPv6 Source Address, an IPv6 Hop Limit

KRnet 2002 13

MLD Message

MLD message type

subset of the set of ICMPv6 messages

sent with a link-local IPv6 Source Address, an IPv6 Hop Limit of 1, and an IPv6 Router Alert option in a Hop-by-Hop Options header.

Group Membership Query, Response, Termination

Type=130,1,2 Code Checksum

8 bits 8 bits 8 bits

Maximum Response Delay Reserved

Multicast Address

Type=130,1,2 Code Checksum

8 bits 8 bits 8 bits

Maximum Response Delay Reserved

Multicast Address

Page 14: IPv6 Tutorial (T5-3) · 2012-05-09 · 13 KRnet 2002 MLD Message MLD message type subset of the set of ICMPv6 messages sent with a link-local IPv6 Source Address, an IPv6 Hop Limit

KRnet 2002 14

Neighbor Discovery for IPv6

(RFC 2461)

Page 15: IPv6 Tutorial (T5-3) · 2012-05-09 · 13 KRnet 2002 MLD Message MLD message type subset of the set of ICMPv6 messages sent with a link-local IPv6 Source Address, an IPv6 Hop Limit

KRnet 2002 15

프로토콜 개요 – 1/2

Neighbor Discovery on the same link

To discover each other's presence

To determine each other's link-layer addresses

To find routers and to maintain reachability information about the paths to active neighbors

기능

Autoconfiguration

Address Resolution

Neighbor Unreachability Detection (NUD)

Route Redirection

Page 16: IPv6 Tutorial (T5-3) · 2012-05-09 · 13 KRnet 2002 MLD Message MLD message type subset of the set of ICMPv6 messages sent with a link-local IPv6 Source Address, an IPv6 Hop Limit

KRnet 2002 16

프로토콜 개요 – 2/2

Protocol 메시지 새로운 ICMPv6 메시지를 이용

Page 17: IPv6 Tutorial (T5-3) · 2012-05-09 · 13 KRnet 2002 MLD Message MLD message type subset of the set of ICMPv6 messages sent with a link-local IPv6 Source Address, an IPv6 Hop Limit

KRnet 2002 17

Router Solicitation – 1/2

목적 호스트 라우터

신속하게 RA 메시지를 보내줄 것을 요청

활용 주소 자동 설정 (Prefix 정보 획득 및 기타 구성 정보 획득)

Type = 133 Code Checksum

Reserved

Options …

8 bits 8 bits 8 bits

Type = 133 Code Checksum

Reserved

Options …

8 bits 8 bits 8 bits8 bits 8 bits 8 bits

Source link-layer address

Page 18: IPv6 Tutorial (T5-3) · 2012-05-09 · 13 KRnet 2002 MLD Message MLD message type subset of the set of ICMPv6 messages sent with a link-local IPv6 Source Address, an IPv6 Hop Limit

KRnet 2002 18

Router Solicitation – 2/2

송신자 주소 필드에 미지정 주소가 포함된 경우Not exist

송신자의 링크계층 주소Source link-layer addressValid Options

All zero'sReserved

ICMPv6 체크섬16-bit checksumChecksum

0Code

RS 메시지의 유형 값133Type

ICMPv6 fields

송신자와 수신자간에 보호연계가 존재하는 경우

YesAuthentication Header

IPv6 Extension Headers

디폴트 값255Hop Limit

링크-로컬 모든 라우터 멀티캐스트 주소(All-Router Multicast)

ff02::2Destination address

송신 인터페이스에 주소가 할당되지 않은 경우::

송신 인터페이스에 할당된 주소An IP addressSource address

IPv6 Basic Header

송신자 주소 필드에 미지정 주소가 포함된 경우Not exist

송신자의 링크계층 주소Source link-layer addressValid Options

All zero'sReserved

ICMPv6 체크섬16-bit checksumChecksum

0Code

RS 메시지의 유형 값133Type

ICMPv6 fields

송신자와 수신자간에 보호연계가 존재하는 경우

YesAuthentication Header

IPv6 Extension Headers

디폴트 값255Hop Limit

링크-로컬 모든 라우터 멀티캐스트 주소(All-Router Multicast)

ff02::2Destination address

송신 인터페이스에 주소가 할당되지 않은 경우::

송신 인터페이스에 할당된 주소An IP addressSource address

IPv6 Basic Header

Page 19: IPv6 Tutorial (T5-3) · 2012-05-09 · 13 KRnet 2002 MLD Message MLD message type subset of the set of ICMPv6 messages sent with a link-local IPv6 Source Address, an IPv6 Hop Limit

KRnet 2002 19

Router advertisement – 1/5

목적 호스트의 주소 설정에 필요한 프리픽스 정보 및 기타 정보를 광고

하기 위해 사용되는 메시지

활용: Autoconfiguration에 이용

Prefix 정보 전달- 자동 주소 설정

기타 네트웍 정보 포함- Link MTU, Lifetime 등의 정보를 제공

전송 라우터에서 주기적으로 보내지거나

또는 호스트의 요청(Router Solicitation)이 있을 경우 전송한다.

Page 20: IPv6 Tutorial (T5-3) · 2012-05-09 · 13 KRnet 2002 MLD Message MLD message type subset of the set of ICMPv6 messages sent with a link-local IPv6 Source Address, an IPv6 Hop Limit

KRnet 2002 20

Router advertisement – 2/5

RA message

Type = 134 Code Checksum

8 bits 8 bits 16 bits

Cur Hop Limit Reserv Router Lifetime

Options …

Reachable Time

Retrans Timer

MOH

Type = 134 Code Checksum

8 bits 8 bits 16 bits

Cur Hop Limit Reserv Router Lifetime

Options …

Reachable Time

Retrans Timer

MOH

Router lifetime기본 라우터에 대한 Lifetime(초 단위):

최대시간 18.2시간

M: Managed address configuration

O: Other stateful configuration

H: Home Agent

Retrans TimerNS 메시지의 재전송 간격(천분의 1초 단위)

주소 할당 및 NUD(Neighbor Unreachability Detection) 알고리즘에 사용됨

Reachable Time 노드가 도달 가능성 확인(reachability confirmation)신호수신 후 도달 가능하다고 여기는시간(천분의 1초 단위)

NUD에 사용됨

1. Source Link-layer address

2. MTU

3. Prefix information

1. Source Link-layer address

2. MTU

3. Prefix information

Page 21: IPv6 Tutorial (T5-3) · 2012-05-09 · 13 KRnet 2002 MLD Message MLD message type subset of the set of ICMPv6 messages sent with a link-local IPv6 Source Address, an IPv6 Hop Limit

KRnet 2002 21

Router advertisement – 3/5 Extended RA

Default Router Preferences and More-Specific Routes draft-ietf-ipv6-router-selection-01.txt

Type = 134 Code Checksum

8 bits 8 bits 16 bits

Cur Hop Limit Router Lifetime

Options …

Reachable Time

Retrans Timer

MOH ResPrf

Type = 134 Code Checksum

8 bits 8 bits 16 bits

Cur Hop Limit Router Lifetime

Options …

Reachable Time

Retrans Timer

MOH ResPrf ResPrf

Default Router Preference• 01 High • 00 Medium (default) • 11 Low • 10 Reserved - MUST NOT be sent

Type Length

8 bits 8 bits 16 bits

Route Lifetime

Prefix

M ResPrfPrefix LengthType Length

8 bits 8 bits 16 bits

Route Lifetime

Prefix

M ResPrfPrefix Length M ResPrfPrefix Length

Route Preference

X. Route Information Option

3. Prefix information

2. MTU

1. Source Link-layer address

X. Route Information Option

3. Prefix information

2. MTU

1. Source Link-layer address

Page 22: IPv6 Tutorial (T5-3) · 2012-05-09 · 13 KRnet 2002 MLD Message MLD message type subset of the set of ICMPv6 messages sent with a link-local IPv6 Source Address, an IPv6 Hop Limit

KRnet 2002 22

Router advertisement – 4/5

Message 구성

송신자와 수신자간에 SA가 존재하는 경우YesAuthentication Header

IPv6 Extension Headers

디폴트 값255Hop Limit

링크-로컬 모든 노드 멀티캐스트 주소(All-Nodes Multicast)

ff02::1

RS 메시지의 송신 주소IP address

Destination address

송신 인터페이스에 할당된 링크-로컬 유니캐스트 주소FE80::xxxxSource address

IPV6 Basic Header

송신자와 수신자간에 SA가 존재하는 경우YesAuthentication Header

IPv6 Extension Headers

디폴트 값255Hop Limit

링크-로컬 모든 노드 멀티캐스트 주소(All-Nodes Multicast)

ff02::1

RS 메시지의 송신 주소IP address

Destination address

송신 인터페이스에 할당된 링크-로컬 유니캐스트 주소FE80::xxxxSource address

IPV6 Basic Header

Page 23: IPv6 Tutorial (T5-3) · 2012-05-09 · 13 KRnet 2002 MLD Message MLD message type subset of the set of ICMPv6 messages sent with a link-local IPv6 Source Address, an IPv6 Hop Limit

KRnet 2002 23

Router advertisement – 5/5

On-link 또는 자동주소설정에 사용한 프리픽스 정보Prefix Information

링크특성에 따른 링크 전송 데이터 길이MTU

송신자의 링크계층 주소Source link-layer address

Valid Options

NS 메시지의 재전송 시간주기(msec)32-bit unsigned integerRestrans Timer

NUD 검사 후 노드가 유효한 것으로 인정되는 시간(msec)32-bit unsigned integerReachable Time

디폴트 라우터 유무 지시(sec), ‘0’=기본라우터 아님, 18.2시간(최대값)

16-bit unsigned integerRouter Lifetime

예비이며, 현재 IPv6 워킹 그룹에 선호도 정보를 포함하기 위해 확장 중에 있음

5-bitReserved

라우터가 HA(Home agent)역할을 수행1-bit flagH

주소 이외의 정보를 획득하기 위해 상태 보존형 방식 사용1-bit flagO

상태 보존형 자동 주소 설정 방식의 사용 지시1-bit flagM

전송 패킷에 사용될수 있는 디폴트 hop limit 값8-bit unsigned integerCur Hop Limit

수신 노드는 무시0Code

RA 메시지의 유형134Type

ICMPv6 fields

On-link 또는 자동주소설정에 사용한 프리픽스 정보Prefix Information

링크특성에 따른 링크 전송 데이터 길이MTU

송신자의 링크계층 주소Source link-layer address

Valid Options

NS 메시지의 재전송 시간주기(msec)32-bit unsigned integerRestrans Timer

NUD 검사 후 노드가 유효한 것으로 인정되는 시간(msec)32-bit unsigned integerReachable Time

디폴트 라우터 유무 지시(sec), ‘0’=기본라우터 아님, 18.2시간(최대값)

16-bit unsigned integerRouter Lifetime

예비이며, 현재 IPv6 워킹 그룹에 선호도 정보를 포함하기 위해 확장 중에 있음

5-bitReserved

라우터가 HA(Home agent)역할을 수행1-bit flagH

주소 이외의 정보를 획득하기 위해 상태 보존형 방식 사용1-bit flagO

상태 보존형 자동 주소 설정 방식의 사용 지시1-bit flagM

전송 패킷에 사용될수 있는 디폴트 hop limit 값8-bit unsigned integerCur Hop Limit

수신 노드는 무시0Code

RA 메시지의 유형134Type

ICMPv6 fields

Page 24: IPv6 Tutorial (T5-3) · 2012-05-09 · 13 KRnet 2002 MLD Message MLD message type subset of the set of ICMPv6 messages sent with a link-local IPv6 Source Address, an IPv6 Hop Limit

KRnet 2002 24

Neighbor solicitation - 1

목적 목표(Target) 주소에 자신의 링크 계층 주소를 제공하면서 동시에

Target 노드의 링크 계층 주소를 요청 하기 위함

활용: DAD(duplicated address detection)

Address resolution

Neighbor Unreachability detection

전송 방식 Multicast: DAD 과정 address resolution이 목적일 때 Unicast: 이웃 노드의 도달 가능성을 체크 하고자 할 때(NUD 과정)

Page 25: IPv6 Tutorial (T5-3) · 2012-05-09 · 13 KRnet 2002 MLD Message MLD message type subset of the set of ICMPv6 messages sent with a link-local IPv6 Source Address, an IPv6 Hop Limit

KRnet 2002 25

Neighbor solicitation - 3

Message Format ICMP field

Type = 135 Code Checksum

8 bits 8 bits 8 bits

Options …

Reserved

Target Address

Type = 135 Code Checksum

8 bits 8 bits 8 bits

Options …Options …

Reserved

Target Address

OptionSource Link-layer address: 송신측의 링크 계층 주소

Source 주수가 unspecified address 일때 즉, DAD 과정 일 경우 이 옵션은포함되지 말아야 함(MUST NOT)그 외의 경우

multicast solicitation 경우 옵션 포함(MUST) <- address resolution 과정 unicast solicitation 경우 옵션 포함(SHOULD) <- NUD 과정

Target address요청하는 target의 IP 주소(단 multicast 주소는 안됨)

Page 26: IPv6 Tutorial (T5-3) · 2012-05-09 · 13 KRnet 2002 MLD Message MLD message type subset of the set of ICMPv6 messages sent with a link-local IPv6 Source Address, an IPv6 Hop Limit

KRnet 2002 26

Neighbor solicitation - 2

NUD 과정IPv6 address

DAD 과정Solicited-node Multicast

ARP 과정Solicited-node Multicast

Destination address

NUD 과정Link-local IPv6 address

DAD 과정Unspecified address

IPV6 주소 해석 (ARP)과정IPv6 address

Source address

IPv6 Basic Header

NUD 과정IPv6 address

DAD 과정Solicited-node Multicast

ARP 과정Solicited-node Multicast

Destination address

NUD 과정Link-local IPv6 address

DAD 과정Unspecified address

IPV6 주소 해석 (ARP)과정IPv6 address

Source address

IPv6 Basic Header

DAD 과정에서는 포함되지 않음Not exist

송신자의 링크계층 주소Source link-layer addressValid Options

NUD 과정(IPv6 기본 헤더 목적 주소에 포함된 것과동일)

IPv6 address

ARP 과정과 DAD과정Target IPv6 address

Target Address

수신 노드는 무시0Code

NS 메시지의 유형135Type

ICMPv6 fields

송신자와 수신자간에 보호연계가 존재하는 경우YesAuthentication Header

IPv6 Extension Headers

디폴트 값255Hop Limit

DAD 과정에서는 포함되지 않음Not exist

송신자의 링크계층 주소Source link-layer addressValid Options

NUD 과정(IPv6 기본 헤더 목적 주소에 포함된 것과동일)

IPv6 address

ARP 과정과 DAD과정Target IPv6 address

Target Address

수신 노드는 무시0Code

NS 메시지의 유형135Type

ICMPv6 fields

송신자와 수신자간에 보호연계가 존재하는 경우YesAuthentication Header

IPv6 Extension Headers

디폴트 값255Hop Limit

Page 27: IPv6 Tutorial (T5-3) · 2012-05-09 · 13 KRnet 2002 MLD Message MLD message type subset of the set of ICMPv6 messages sent with a link-local IPv6 Source Address, an IPv6 Hop Limit

KRnet 2002 27

Neighbor advertisement - 1

목적 Neighbor Solicitation messages의 응답으로서 NA 메시지 전송

활용: DAD(duplicated address detection)

Address resolution

Neighbor Unreachability detection

Unsolicited Neighbor advertisements

Page 28: IPv6 Tutorial (T5-3) · 2012-05-09 · 13 KRnet 2002 MLD Message MLD message type subset of the set of ICMPv6 messages sent with a link-local IPv6 Source Address, an IPv6 Hop Limit

KRnet 2002 28

Neighbor advertisement - 2

Message format

Type = 136 Code Checksum

8 bits 8 bits 8 bits

Options …

Reserved

Target Address

R S O

Type = 136 Code Checksum

8 bits 8 bits 8 bits

Options …Options …

Reserved

Target Address

R S O

Target link-layer address

1. 요청 메시지(NS message)의target address

2. 변동된 link-local 주소

R (Router flag)

S (Solicited flag)

O (override flag)

Page 29: IPv6 Tutorial (T5-3) · 2012-05-09 · 13 KRnet 2002 MLD Message MLD message type subset of the set of ICMPv6 messages sent with a link-local IPv6 Source Address, an IPv6 Hop Limit

KRnet 2002 29

Neighbor advertisement - 3

유니캐스트 NS 메시지의 경우는 생략가능Not exist

목표노드의 링크계층 주소(멀티캐스트 된 NS메시지)Target link-layer addressValid Options

Unsolicited NA 과정(멀티캐스트주소는 사용 안됨)Changed IPv6 address

주소 해석, DAD 및 NUD 과정 (NS에 포함된 정보)IPv6 addressTarget Address

기존의 캐쉬 엔트리를 갱신1-bitO

Unsolicited NA 과정0

NUD 과정 (NS에 대한 응답 메시지임을 지시)1S

NUD 과정에서 사용되며 라우터임을 지시1R

수신 노드는 무시0Code

NA 메시지의 유형136Type

ICMPv6 fields

송신자와 수신자간에 보호연계가 존재하는 경우YesAuthentication Header

IPv6 Extension Headers

디폴트 값255Hop Limit

DAD 및 Unsolicited NA 과정All-nodes multicast

ARP 및 NUD 과정 (NS의 송신 주소)IPv6 addressDestination address

ARP, DAD, NUD 및 Unsolicited NA 과정

IPv6 addressSource address

IPv6 Basic Header

유니캐스트 NS 메시지의 경우는 생략가능Not exist

목표노드의 링크계층 주소(멀티캐스트 된 NS메시지)Target link-layer addressValid Options

Unsolicited NA 과정(멀티캐스트주소는 사용 안됨)Changed IPv6 address

주소 해석, DAD 및 NUD 과정 (NS에 포함된 정보)IPv6 addressTarget Address

기존의 캐쉬 엔트리를 갱신1-bitO

Unsolicited NA 과정0

NUD 과정 (NS에 대한 응답 메시지임을 지시)1S

NUD 과정에서 사용되며 라우터임을 지시1R

수신 노드는 무시0Code

NA 메시지의 유형136Type

ICMPv6 fields

송신자와 수신자간에 보호연계가 존재하는 경우YesAuthentication Header

IPv6 Extension Headers

디폴트 값255Hop Limit

DAD 및 Unsolicited NA 과정All-nodes multicast

ARP 및 NUD 과정 (NS의 송신 주소)IPv6 addressDestination address

ARP, DAD, NUD 및 Unsolicited NA 과정

IPv6 addressSource address

IPv6 Basic Header

Page 30: IPv6 Tutorial (T5-3) · 2012-05-09 · 13 KRnet 2002 MLD Message MLD message type subset of the set of ICMPv6 messages sent with a link-local IPv6 Source Address, an IPv6 Hop Limit

KRnet 2002 30

Redirect - 1

목적 현재 소스에서 목적지 주소까지 가는 경로 중 지금의 라우터를 통해서 가

는 경로 보다, 빠른 라우터를 알려 주는 기능을 수행(첫번째 연결하는 라우터에 한함)

목적지 주소가 같은 링크 내에 존재할 때 라우터를 거치지 않고 직접적으

로 전송할 수 있도록 이를 알리는 기능 수행

메시지 구성

IP fields

Source address: 메시지를 보내는 인터페이스 즉 라우터의 link-local address를 전송함.

Destination address: Packets를 보내는 source address.

ICMP field

Next slide

Page 31: IPv6 Tutorial (T5-3) · 2012-05-09 · 13 KRnet 2002 MLD Message MLD message type subset of the set of ICMPv6 messages sent with a link-local IPv6 Source Address, an IPv6 Hop Limit

KRnet 2002 31

Redirect - 2

8 bits 8 bits

Type = 137 Code Checksum

8 bits

Options …

Reserved

Destination Address

Target Address

8 bits 8 bits

Type = 137 Code ChecksumType = 137 Code Checksum

8 bits

Options …Options …

Reserved

Destination AddressDestination Address

Target AddressTarget Address

본래의목적지주소

1. Better first hop or

2. ICMP destination address

Redirect message를전송할때최대한많은 IP packet

를소스노드에돌려보낸다. ( <= 1280 octets)

2. Redirected Header

Target의링크계층주소(If known):

Better first-hop node의링크계층주소

목적지주소의링크계층주소(같은링크에존재할때)

1. Target Link-layer address

Redirect message를전송할때최대한많은 IP packet

를소스노드에돌려보낸다. ( <= 1280 octets)

2. Redirected Header

Target의링크계층주소(If known):

Better first-hop node의링크계층주소

목적지주소의링크계층주소(같은링크에존재할때)

1. Target Link-layer address

Page 32: IPv6 Tutorial (T5-3) · 2012-05-09 · 13 KRnet 2002 MLD Message MLD message type subset of the set of ICMPv6 messages sent with a link-local IPv6 Source Address, an IPv6 Hop Limit

KRnet 2002 32

Redirect - 3

On-link 또는 자동주소설정에 사용한 프리픽스 정보Redirect header

송신자의 링크계층 주소Target link-layer addressValid Options

Redirect를 야기한 패킷의 목적 주소에 포함된 주소IPv6 addressDestination address

ICMPv6 목적주소에 대한 더 좋은 첫 번째 홉 주소IPv6 addressTarget Address

수신 노드는 무시0Code

Redirect 메시지의 유형137Type

ICMPv6 fields

송신자와 수신자간에 SA가 존재하는 경우YesAutheniticationHeader

IPv6 Extension Header

디폴트값255Hop Limit

Redirect를 유발시킨 패킷의 송신 주소IP addressDestination address

송신 인터페이스에 할당된 링크-로컬 유니캐스트 주소FE80::xxxxSource address

IPv6 Basic header

On-link 또는 자동주소설정에 사용한 프리픽스 정보Redirect header

송신자의 링크계층 주소Target link-layer addressValid Options

Redirect를 야기한 패킷의 목적 주소에 포함된 주소IPv6 addressDestination address

ICMPv6 목적주소에 대한 더 좋은 첫 번째 홉 주소IPv6 addressTarget Address

수신 노드는 무시0Code

Redirect 메시지의 유형137Type

ICMPv6 fields

송신자와 수신자간에 SA가 존재하는 경우YesAutheniticationHeader

IPv6 Extension Header

디폴트값255Hop Limit

Redirect를 유발시킨 패킷의 송신 주소IP addressDestination address

송신 인터페이스에 할당된 링크-로컬 유니캐스트 주소FE80::xxxxSource address

IPv6 Basic header

Page 33: IPv6 Tutorial (T5-3) · 2012-05-09 · 13 KRnet 2002 MLD Message MLD message type subset of the set of ICMPv6 messages sent with a link-local IPv6 Source Address, an IPv6 Hop Limit

KRnet 2002 33

Option Format

Option formats

Neighbor Discovery message include zero and more options

All options are of the form: TLV format

1

2

3

4

5

Source Link-Layer Address

Target Link_Layer Address

Prefix Information

Redirected Header

MTU

….

TypeOption name

1

2

3

4

5

Source Link-Layer Address

Target Link_Layer Address

Prefix Information

Redirected Header

MTU

….

TypeOption name

Page 34: IPv6 Tutorial (T5-3) · 2012-05-09 · 13 KRnet 2002 MLD Message MLD message type subset of the set of ICMPv6 messages sent with a link-local IPv6 Source Address, an IPv6 Hop Limit

KRnet 2002 34

Option format – src/dst

Source/Target Link-layer Address

Type 1: Source Link-layer address

2: Target Link-layer address

Length 유형(type)와 length 영역을 포함한 전체 옵션 길이

Link layer address 가변 길이의 링크 계층 주소

Description Source Link–layer address

패킷을 보내는 송신자의 링크 계층 주소를 포함함.

NS 메시지, RA 메시지, RS메시지에 사용됨

Target Link-layer address

Target의 링크 계층 주소를 포함함

NA 메시지, Redirect 패킷에 사용됨

Type = 1 or 2Type = 1 or 2 LengthLength Link-layer AddressLink-layer Address ……Type = 1 or 2Type = 1 or 2 LengthLength Link-layer AddressLink-layer Address ……

Page 35: IPv6 Tutorial (T5-3) · 2012-05-09 · 13 KRnet 2002 MLD Message MLD message type subset of the set of ICMPv6 messages sent with a link-local IPv6 Source Address, an IPv6 Hop Limit

KRnet 2002 35

Option format – prefix info

Prefix Information

Type = 3Type = 3

LengthLength

Prefix LengthPrefix Length

LL

AA

RR

Reserv1Reserv1

Valid LifetimeValid Lifetime

Preferred LifetimePreferred Lifetime

Reserved2Reserved2

PrefixPrefix

Type = 3Type = 3

LengthLength

Prefix LengthPrefix Length

LL

AA

RR

Reserv1Reserv1

Type = 3Type = 3

LengthLength

Prefix LengthPrefix Length

LL

AA

RR

Reserv1Reserv1

Valid LifetimeValid Lifetime

Preferred LifetimePreferred Lifetime

Reserved2Reserved2

PrefixPrefix

Valid Lifetime

Prefix가 유효한 시간 길이를 나타낸다. 즉, 이 시간이 경과하면 invalid상태가 되고 더 이상 유효한prefix 정보로서 역할을 못함.

32bit 모두 1인 경우, valid lifetime이 무한대임을뜻한다.

Preferred Lifetime

Prefix 정보가 Preferred lifetime 상태를 유지하는 시간, 시간이 경과하면, deprecated address 상태로 전환됨

L: 1bit on-link 플래그

L=1: 이 프리픽스의 on-link 결정(determination)에사용

L=0: 이 프리픽스에 대한 on-link 또는 off-link 특성에 대해 언급하지 않음

A: 1bit autonomous address-configuration flag

설정되어 있을 경우, ADDRCONF의 설명한 대로, 독립적인 자동 주소 설정에 이 프리픽스를 사용 가능

R: Router Address flag

Prefix 영역에 라우터 자신의 주소를 포함하고 있음을 지시함 (Mobile IPv6)

Prefix value

Page 36: IPv6 Tutorial (T5-3) · 2012-05-09 · 13 KRnet 2002 MLD Message MLD message type subset of the set of ICMPv6 messages sent with a link-local IPv6 Source Address, an IPv6 Hop Limit

KRnet 2002 36

Redirected Header

설명

Redirect message에 쓰이며, 리다이렉트 되는 패킷을 전부 또는 일부를 포함한다

ICMP 메시지를 전송할 때 보내지는 IP header 과 data

Option format - redirected

Type = 4Type = 4

LengthLength

ReservedReserved

ReservedReserved

IP Header + dataIP Header + data

Type = 4Type = 4

LengthLength

ReservedReserved

ReservedReserved

IP Header + dataIP Header + data

IP header + data: redirect message가 1280 octets를 넘지 않도록 하기 위해 길이를 줄인 원래 패킷

Page 37: IPv6 Tutorial (T5-3) · 2012-05-09 · 13 KRnet 2002 MLD Message MLD message type subset of the set of ICMPv6 messages sent with a link-local IPv6 Source Address, an IPv6 Hop Limit

KRnet 2002 37

Option format - MTU

MTU

MTU: 링크를 위해 요청된 MTU

설명

link MTU를 잘 모르는 경우, 링크의 모든 노드가 같은 MTU를 사용할 수 있도록 하기 위해 RA메시지에 사용됨.

Type = 5Type = 5

LengthLength

ReservedReserved

MTUMTU

Type = 5Type = 5

LengthLength

ReservedReserved

MTUMTU

Page 38: IPv6 Tutorial (T5-3) · 2012-05-09 · 13 KRnet 2002 MLD Message MLD message type subset of the set of ICMPv6 messages sent with a link-local IPv6 Source Address, an IPv6 Hop Limit

KRnet 2002 38

Option format – Route Inform

Default Router Preferences and More-Specific Routes in RAs

Richard Draves

draft-ietf-ipngwg-router-selection-00

Type = xxxType = xxx

LengthLength

Prefix LengthPrefix Length

ResvdResvd Prf Resvd

Resvd

Route LifetimeRoute Lifetime

PrefixPrefix

Type = xxxType = xxx

LengthLength

Prefix LengthPrefix Length

ResvdResvd Prf Resvd

Resvd

Route LifetimeRoute Lifetime

PrefixPrefix

Page 39: IPv6 Tutorial (T5-3) · 2012-05-09 · 13 KRnet 2002 MLD Message MLD message type subset of the set of ICMPv6 messages sent with a link-local IPv6 Source Address, an IPv6 Hop Limit

KRnet 2002 39

Option format – PD option

IPv6 Router Advertisement Prefix Delegation Option Nathan Lutchansky

draft-lutchann-ipv6-delegate-option-00.txt

Type = xxxType = xxx

LengthLength

Prefix LengthPrefix Length

Reserved1Reserved1

Valid LifetimeValid Lifetime

Preferred LifetimePreferred Lifetime

Reserved2Reserved2

PrefixPrefix

Type = xxxType = xxx

LengthLength

Prefix LengthPrefix Length

Reserved1Reserved1

Valid LifetimeValid Lifetime

Preferred LifetimePreferred Lifetime

Reserved2Reserved2

PrefixPrefix

Page 40: IPv6 Tutorial (T5-3) · 2012-05-09 · 13 KRnet 2002 MLD Message MLD message type subset of the set of ICMPv6 messages sent with a link-local IPv6 Source Address, an IPv6 Hop Limit

KRnet 2002 40

프로토콜 기능

Autoconfiguration Link-local 주소 획득: DAD 수행 필요

Site-local and Global 주소 획득: RS/RA 메시지, (DAD 수행??)

Router and Prefix Discovery: RS/RA 메시지, NUD Procedure

Renumbering (RFC 2894)

Host/Site Renumbering

Router Renumbering

Address Resolution NS/NA 메시지

Link Address IPv6 주소: draft-ietf-ion-ipv6-ind-04.txt

Neighbor Unreachability Detection (NUD) NS/NA 메시지

Route Redirection

Page 41: IPv6 Tutorial (T5-3) · 2012-05-09 · 13 KRnet 2002 MLD Message MLD message type subset of the set of ICMPv6 messages sent with a link-local IPv6 Source Address, an IPv6 Hop Limit

KRnet 2002 41

Autoconfiguration 개요

목적 자동 주소 설정 및 주소 재지정 (Renumbering) 기능 수행

종류 Stateful Mechanism

Stateless Mechanism

IPv6 Stateless Address Autoconfiguration (RFC2486)

Page 42: IPv6 Tutorial (T5-3) · 2012-05-09 · 13 KRnet 2002 MLD Message MLD message type subset of the set of ICMPv6 messages sent with a link-local IPv6 Source Address, an IPv6 Hop Limit

KRnet 2002 42

Autoconfiguration 종류

Stateful Mechanism DHCP 서버로부터 주소를 비롯한 모든 네트워크 정보 또는 일부를

받음

DHCP를 부터 할당받은 주소들은 ‘Uniqueness’를 검증받아야 함 (DAD 과정이 반드시 요구됨)

Stateless Mechanism Router로 부터 주소를 비롯한 모든 네트워크 정보를 받을 수도 있

고, 또는 Router로 부터 일부 주소 정보(ex. Prefix)만 받고 나머지 네트워크 정보들은 DHCP 서버로부터 받을 수도 있음

종류: Linux-local IPv6 주소 설정 (DAD 필요)

Global and Site-local 주소 설정 (DAD 불필요)

Page 43: IPv6 Tutorial (T5-3) · 2012-05-09 · 13 KRnet 2002 MLD Message MLD message type subset of the set of ICMPv6 messages sent with a link-local IPv6 Source Address, an IPv6 Hop Limit

KRnet 2002 43

주소 상태천이도

Link-Local 주소 생성과정에서의 주소상태 천이도 예시

Invalid

Tentative

Preferred

Deprecated

새로운 세션을 설정할 수 없는주소

Valid

Link-local 주소 자동생성 생성및 DAD 과정 시작

RA 메시지에 Prefix Option에 포함된Preferred Lifetime 값에 따라 결정

DAD Success (주소 중복 없음)

Preferred Lifetime Expired

Valid Lifetime Expired

Valid Lifetime Preferred Lifetime

Page 44: IPv6 Tutorial (T5-3) · 2012-05-09 · 13 KRnet 2002 MLD Message MLD message type subset of the set of ICMPv6 messages sent with a link-local IPv6 Source Address, an IPv6 Hop Limit

KRnet 2002 44

Autoconfiguration 절차 – 1/9

Link-local 주소 획득 Link-local 주소 생성 Tentative address

DAD (Duplicate Address Detection) 과정

Link-local all-nodes multicast 주소(FF02::1)와 solicited-node multicast 주소(FF01::1:FFxx:xxxx)에 가입

Neighbor Solicitation 송신 Neighbor Advertisement 수신 (If duplicate)

Stateful autoconfiguration ??

Booting time: Host Link-local all-nodes multicast address Link-local solicited-node multicast address

FE80::0/10 Interface ID+Tentative Address = FE80::0/10 Interface ID+Tentative Address =

Page 45: IPv6 Tutorial (T5-3) · 2012-05-09 · 13 KRnet 2002 MLD Message MLD message type subset of the set of ICMPv6 messages sent with a link-local IPv6 Source Address, an IPv6 Hop Limit

KRnet 2002 45

Autoconfiguration 절차 – 2/9

DAD Procedure (FE80::/10 Link-local 주소 생성 예)

Case 1 (성공적인 Link-local 주소 획득)1.src – :: (unspecified address) 2. No Resonse1.dst – ff02::1:ffdd:eeff (solicited-node multicast address)1.Target – fe80::aabb:ccff:fedd:eeff (EUI-64 형식)1.Option – No

Case 2 (같은 주소가 발견되어 주소 획득에 실패)1.src – :: 2.src – fe80::aabb:ccff:fedd:eeff1.dst – ff02::1:ffdd:eeff 2.dst – ff02::1 (Link-local All-node multicast address)1.Target – fe80::aabb:ccff:fedd:eeff 2.Target – fe80::aabb:ccff:fedd:eeff 1.Option – No 2.Target Link-layer Address – aa:bb:cc:dd:ee:ff

3. Stateful Auto-configuration

Page 46: IPv6 Tutorial (T5-3) · 2012-05-09 · 13 KRnet 2002 MLD Message MLD message type subset of the set of ICMPv6 messages sent with a link-local IPv6 Source Address, an IPv6 Hop Limit

KRnet 2002 46

Autoconfiguration 절차 – 3/9

Global and Site-local 주소 획득 호스트: Router Solicitation 메시지 전송

라우터: Router Advertisement 메시지 전송

Router sends RA message as a response of the RS message

Or Router sends RA periodically or on-demand

호스트: Prefix 획득

DAD 절차

수행하지 않음(??)

Page 47: IPv6 Tutorial (T5-3) · 2012-05-09 · 13 KRnet 2002 MLD Message MLD message type subset of the set of ICMPv6 messages sent with a link-local IPv6 Source Address, an IPv6 Hop Limit

KRnet 2002 47

Autoconfiguration 절차 – 4/9

Global and Site-local 주소 자동 설정 (호스트 라우터) RS 메시지 전송

자신의링크계층주소를보냄Source link layer address

: 00-90-27-17-FC-0F

Option

All-router multicast addressFF02::2Destination address

Sender’s Link-local AddressFE80::0290:27FF:FE17:FC0FSource address

Router Solicitation: 라우터는 누구니? 정보가 필요해!

자신의링크계층주소를보냄Source link layer address

: 00-90-27-17-FC-0F

Option

All-router multicast addressFF02::2Destination address

Sender’s Link-local AddressFE80::0290:27FF:FE17:FC0FSource address

Router Solicitation: 라우터는 누구니? 정보가 필요해!

Page 48: IPv6 Tutorial (T5-3) · 2012-05-09 · 13 KRnet 2002 MLD Message MLD message type subset of the set of ICMPv6 messages sent with a link-local IPv6 Source Address, an IPv6 Hop Limit

KRnet 2002 48

Autoconfiguration 절차 – 5/9

Global and Site-local 주소 자동 설정(cont’) (라우터 호스트 ) RA 메시지 전송

도달가능하다인식하는시간(초단위)3600Reachable Time

라우터로서의역할가능시간(초단위)10000Router Lifetime

Prefix 정보

Link MTU 값1280

3FFE:2000::/64

자신의링크계층주소를보냄AA-BB-CC-DD-EE-FFOption

All-node multicast addressFF02::1Destination addr

Router의 link-local addressFE80::AABB:CCFF:FEDD:EEFFSource address

Router advertisement: 나야 나! 내게는 이런 정보가 있다!

도달가능하다인식하는시간(초단위)3600Reachable Time

라우터로서의역할가능시간(초단위)10000Router Lifetime

Prefix 정보

Link MTU 값1280

3FFE:2000::/64

자신의링크계층주소를보냄AA-BB-CC-DD-EE-FFOption

All-node multicast addressFF02::1Destination addr

Router의 link-local addressFE80::AABB:CCFF:FEDD:EEFFSource address

Router advertisement: 나야 나! 내게는 이런 정보가 있다!

Page 49: IPv6 Tutorial (T5-3) · 2012-05-09 · 13 KRnet 2002 MLD Message MLD message type subset of the set of ICMPv6 messages sent with a link-local IPv6 Source Address, an IPv6 Hop Limit

KRnet 2002 49

Autoconfiguration 절차 – 6/9

Host/Site Renumbering

New prefixes and addresses are introduced and old ones are deprecated and removed.

Page 50: IPv6 Tutorial (T5-3) · 2012-05-09 · 13 KRnet 2002 MLD Message MLD message type subset of the set of ICMPv6 messages sent with a link-local IPv6 Source Address, an IPv6 Hop Limit

KRnet 2002 50

Autoconfiguration 절차 – 7/9

Router Renumbering (RFC 2894) To allow address prefixes on routers to be configured and

reconfigured using NDP and Autoconfiguration 하나의 사이트 내에서 네트워크 관리자에게 라우터의 prefix 정보들

을 갱신할 수 있도록 해주는 수단이 될 수 있음

새로운 ICMPv6 메시지 형식 정의 (=138)

Prefix Delegation Protocol A mechanism for the automated delegation of an IPv6 network

prefix

Based on link-layer multicast. So Not for NBMA links

절차 라우터가 특정한 크기의 prefix를 요청할 수 있도록 하고

라우터가 상위 라우터에게 자신이 지원할 수 있는 라우팅 프로토콜을 알려줌

Delegating 라우터는 prefix request 메시지에 대해 인증 검사를 한 후에 prefix, desired routing protocol, prefix lifetime 등을 알려줌

Page 51: IPv6 Tutorial (T5-3) · 2012-05-09 · 13 KRnet 2002 MLD Message MLD message type subset of the set of ICMPv6 messages sent with a link-local IPv6 Source Address, an IPv6 Hop Limit

KRnet 2002 51

Autoconfiguration 절차 – 8/9

DAD 수행이 요구되는 주소들

Ref No.

Host/Router Address

Type Address

Configuration Address Scope DAD

1

Host’s and router’s address

Unicast

Stateless Link-local MUST

2 Manual Link-local

Global site-local MUST

3 Anycast - - MUST NOT

4 Multicast - - MUST NOT

5 Host’s address Unicast

Stateless Global site-local SHOULD

(MAY)

6 Stateful Global site-local MUST

Page 52: IPv6 Tutorial (T5-3) · 2012-05-09 · 13 KRnet 2002 MLD Message MLD message type subset of the set of ICMPv6 messages sent with a link-local IPv6 Source Address, an IPv6 Hop Limit

KRnet 2002 52

Autoconfiguration 절차 – 9/9

Nodes are separated into two categories host, router

In FreeBSD, net.inet6.ip6.forwarding=1 (router)

A host may autoconfigure itself by stateless address autoconfiguration In FreeBSD, net.inet6.ip6.accept_rtadv=1 (accept)

rtsold (host), rtadvd (router)

Is DAD required ? DupAddrDetectTransmits=1(default)

Time interval ? RetransTimer=1,000msec(default)

Etc parameters ManagedFlag, OtherConfigFlag, StoredLifetime

Page 53: IPv6 Tutorial (T5-3) · 2012-05-09 · 13 KRnet 2002 MLD Message MLD message type subset of the set of ICMPv6 messages sent with a link-local IPv6 Source Address, an IPv6 Hop Limit

KRnet 2002 53

Address Resolution – 1/2

IPv4의 ARP 기능과 동일

자신의링크계층주소를보

냄00-80-C7-5F-9F-3DSource link layer

address

링크주소를알고자하는목적지주소

3FFE:2XXX:0:0:0:80:C774:DDBCTarget

Solicited node multicast address(target node의..)

FF02:0:0:0:0:1:FF74:DDBCDestination address

Link-local 주소3FFE:2XXX:0:0:0280:C7FF:FE5F:9F3DSource address

Neighbor Solincitation: 이 IP 주인의 Link-layer address가 모야?

자신의링크계층주소를보

냄00-80-C7-5F-9F-3DSource link layer

address

링크주소를알고자하는목적지주소

3FFE:2XXX:0:0:0:80:C774:DDBCTarget

Solicited node multicast address(target node의..)

FF02:0:0:0:0:1:FF74:DDBCDestination address

Link-local 주소3FFE:2XXX:0:0:0280:C7FF:FE5F:9F3DSource address

Neighbor Solincitation: 이 IP 주인의 Link-layer address가 모야?

Page 54: IPv6 Tutorial (T5-3) · 2012-05-09 · 13 KRnet 2002 MLD Message MLD message type subset of the set of ICMPv6 messages sent with a link-local IPv6 Source Address, an IPv6 Hop Limit

KRnet 2002 54

Address Resolution – 2/2

자신의링크계층주소를

보냄00-80-C7-74-DD-BCTarget link layer

address

자신의주소를보냄(NS 메시지에서복사함)

3FFE:2XXX:0:0:0280:C7FF:FE74:DDBCTarget

3FFE:2XXX:0:0:0280:C7FF:FE5F:9F3DDestination address

3FFE:2XXX:0:0:0280:C7FF:FE74:DDBCSource address

Neighbor advertisement: 내 Link-layer address는 이거야!

자신의링크계층주소를

보냄00-80-C7-74-DD-BCTarget link layer

address

자신의주소를보냄(NS 메시지에서복사함)

3FFE:2XXX:0:0:0280:C7FF:FE74:DDBCTarget

3FFE:2XXX:0:0:0280:C7FF:FE5F:9F3DDestination address

3FFE:2XXX:0:0:0280:C7FF:FE74:DDBCSource address

Neighbor advertisement: 내 Link-layer address는 이거야!

Page 55: IPv6 Tutorial (T5-3) · 2012-05-09 · 13 KRnet 2002 MLD Message MLD message type subset of the set of ICMPv6 messages sent with a link-local IPv6 Source Address, an IPv6 Hop Limit

KRnet 2002 55

Unreachability Detection – 1/6

NUD 개요 Node Unreachability 원인

Hardware failure, lack of power, network problem

접근 불가

해당 노드에 문제인 경우 해결 불가, 그 외의 경우에는 다른 경로가 존재 할 수 있음

alternative path

항상 NUD procedure를 사용하여 neighbor에 대한 도달 가능성을 체크 함

NUD 체크 대상

Page 56: IPv6 Tutorial (T5-3) · 2012-05-09 · 13 KRnet 2002 MLD Message MLD message type subset of the set of ICMPv6 messages sent with a link-local IPv6 Source Address, an IPv6 Hop Limit

KRnet 2002 56

Unreachability Detection – 2/6

Reachability confirmation

사용 message: NS message, NA message

도달 가능성 체크 방법

1. 상위 계층을 통하여 정보를 얻음 forward progress”(ex, TCP- 전송 메시지에 대한 ACK 수령)

2. NA 메시지를 통하여 정보를 획득

NA 메시지 수신

Solicited flag=1(NS 메시지에 대한 응답임을 나타냄)

Reachability confirmation 즉 송신한 메시지에 대한 응답을 나타내므로 양방향성이 보장되는 것이다.

Solicited flag=0인 NA 메시지 수신(또는 RA 메시지 수신)

수신측에서 볼 때 송신측에서 자신에 오는 경로가 있음을 확인할 수 있으나, 가는 경로는 불분명, Reachability은 forward 경로를 중요시 함으로 도달 가능하다고 할 수 없다.

Page 57: IPv6 Tutorial (T5-3) · 2012-05-09 · 13 KRnet 2002 MLD Message MLD message type subset of the set of ICMPv6 messages sent with a link-local IPv6 Source Address, an IPv6 Hop Limit

KRnet 2002 57

Unreachability Detection – 3/6

Reachability confirmation(계속)

<Reachability confirmation> 1.NS 메시지 수신

• Solicited flag =1인 NA 메시지를 받은 경우 -> 양방향 통신 가능, 즉, forward path 존재 • Solicited flag = 0 인 NA 메시지를 받은 경우 -> 노드 A에서 B로 오는 경로는 존재, B에서 A가는 경로는?

2. RA 메시지 수신 -> 노드 A에서 B로 오는 경로는 존재, B에서 A가는 경로는?

Page 58: IPv6 Tutorial (T5-3) · 2012-05-09 · 13 KRnet 2002 MLD Message MLD message type subset of the set of ICMPv6 messages sent with a link-local IPv6 Source Address, an IPv6 Hop Limit

KRnet 2002 58

Unreachability Detection – 4/6

Neighbor Unreachability Detection

Neighbor Solicitation /Advertisement

자신의링크계층주소를보냄 (호스트 C)

00-80-C7-5F-9F-3DSource link layer address (option)

S flag is setS, R Flags

접근가능성을검증하고자하는호스트의주소 (A)

3FFE:2XXX:0:0:0280:C7FF:FE74:DDBCTarget

호스트 A3FFE:2XXX:0:0:0280:C7FF:FE74:DDBCDestination address

3FFE:2XXX:0:0:0280:C7FF:FE5F:9F3DSource address

Neighbor Solincitation: 이 IP 주인아 살아있냐?

자신의링크계층주소를보냄 (호스트 C)

00-80-C7-5F-9F-3DSource link layer address (option)

S flag is setS, R Flags

접근가능성을검증하고자하는호스트의주소 (A)

3FFE:2XXX:0:0:0280:C7FF:FE74:DDBCTarget

호스트 A3FFE:2XXX:0:0:0280:C7FF:FE74:DDBCDestination address

3FFE:2XXX:0:0:0280:C7FF:FE5F:9F3DSource address

Neighbor Solincitation: 이 IP 주인아 살아있냐?

Page 59: IPv6 Tutorial (T5-3) · 2012-05-09 · 13 KRnet 2002 MLD Message MLD message type subset of the set of ICMPv6 messages sent with a link-local IPv6 Source Address, an IPv6 Hop Limit

KRnet 2002 59

Unreachability Detection – 5/6

자신의링크계층주소를

보냄00-80-C7-74-DD-BCTarget link layer

address

Bi-directional Reachability

S flag is setS, F flags

자신의주소를보냄(NS 메시지에서복사함)

3FFE:2XXX:0:0:0280:C7FF:FE74:DDBCTarget

3FFE:2XXX:0:0:0280:C7FF:FE5F:9F3DDestination address

3FFE:2XXX:0:0:0280:C7FF:FE74:DDBCSource address

Neighbor advertisement: 내 Link-layer address는 이거야!

자신의링크계층주소를

보냄00-80-C7-74-DD-BCTarget link layer

address

Bi-directional Reachability

S flag is setS, F flags

자신의주소를보냄(NS 메시지에서복사함)

3FFE:2XXX:0:0:0280:C7FF:FE74:DDBCTarget

3FFE:2XXX:0:0:0280:C7FF:FE5F:9F3DDestination address

3FFE:2XXX:0:0:0280:C7FF:FE74:DDBCSource address

Neighbor advertisement: 내 Link-layer address는 이거야!

Page 60: IPv6 Tutorial (T5-3) · 2012-05-09 · 13 KRnet 2002 MLD Message MLD message type subset of the set of ICMPv6 messages sent with a link-local IPv6 Source Address, an IPv6 Hop Limit

KRnet 2002 60

Unreachability Detection – 6/6

Neighbor cache 상태

Incomplete

Create the entry

Reachable

Stale

Delay

Probe

Address resolution을 처리중인단계 처리단계

마지막 positive confirmation을수신한 후 ReachalbleTime이 경과한 후의 상태

Delay_FIRST_PROBE_TIME 시간 내에packets를 보낸 상태

Delay 과정에서Delay_FIRST_PROBE_TIME 시간내에 Reachability confirmation를못 받은 경우 PROBE 상태

NA (S bit 설정) 수신

Positive confirmation 수신 후 상태

- NUD Procedure 시작단계

- NA 수신 실패 시 Entry 삭제

도달 가능성

확인

Page 61: IPv6 Tutorial (T5-3) · 2012-05-09 · 13 KRnet 2002 MLD Message MLD message type subset of the set of ICMPv6 messages sent with a link-local IPv6 Source Address, an IPv6 Hop Limit

KRnet 2002 61

Route Redirection – 1/2

When a packet must be transmitted to an off-link destination, Choosing the router through which the packet will be routed ….

To represent a better next-hop toward a specific destination

Page 62: IPv6 Tutorial (T5-3) · 2012-05-09 · 13 KRnet 2002 MLD Message MLD message type subset of the set of ICMPv6 messages sent with a link-local IPv6 Source Address, an IPv6 Hop Limit

KRnet 2002 62

Route Redirection – 1/2

When a packet must be transmitted to an off-link destination, Choosing the router through which the packet will be routed ….

To represent a better next-hop toward a specific destination

ICMP Redirect Message IP.src: Router A’s IPv6 주소 IP.dst: Host A’s IPv6 주소 Target: Router B’s IPv6 주소 Dst: Host C의 IPv6 주소 Target’s Link Address: Router B’s Link ID

Page 63: IPv6 Tutorial (T5-3) · 2012-05-09 · 13 KRnet 2002 MLD Message MLD message type subset of the set of ICMPv6 messages sent with a link-local IPv6 Source Address, an IPv6 Hop Limit

KRnet 2002 63

Route Redirection – 2/2

Redirection 절차 1. Host A – Choose a router from Default router list randomly

2. Host A – packet transmission to Host C via Router A

3. Router A – packet forwarding to Router B

4. Router B – packet delivery to Host C

5. Router A – Redirect message transmission to Host A

6. Host A – packet transmission to Host C via a Router B for all next packets

Page 64: IPv6 Tutorial (T5-3) · 2012-05-09 · 13 KRnet 2002 MLD Message MLD message type subset of the set of ICMPv6 messages sent with a link-local IPv6 Source Address, an IPv6 Hop Limit

KRnet 2002 64

Packet Transmission – 1/4

Caches: arrays of records/entries Neighbor Cache

최근 패킷을 전송했던 neighbor의 entry들 (on-link only)

Each Entry: On-link unicast IPv6 주소, 연관된 링크계층 주소, 플래그(neighbor가 라우터인지를 지시), 전송될 패킷들에 대한 포인터, NUD를 위한 상태정보

Destination Cache 최근 패킷을 전송했던 destination의 entry들 (on-link or off-link)

Each Entry: unicast IPv6 주소, Next-Hop를 지시하기 위한 Neighbor Cache의 포인터, Path MTU 값

Redirect 메시지에 의해 Update

Prefix List on-link prefix 마다 하나의 entry

IPv6 주소가 on-link/off-link 인지를 구별, RA 메시지에 의해 생성

Each Entry: prefix, validity

Default Router List Default 라우터로 사용될 수 있는 라우터들의 목록

Each Entry: Neighbor Cache의 포인터, 상태정보

Page 65: IPv6 Tutorial (T5-3) · 2012-05-09 · 13 KRnet 2002 MLD Message MLD message type subset of the set of ICMPv6 messages sent with a link-local IPv6 Source Address, an IPv6 Hop Limit

KRnet 2002 65

Packet Transmission – 2/4

Host A 상의 Cache 예시

R1.IPv6 R1.Eth, 1, Reachable, R2.IPv6 R2.Eth, 1, Reachable,

C.IPv6 C.Eth, 0, Reachable,

C.IPv6H.IPv6L.IPv6D.IPv6

Destination Cache

Neighbor Cache

Default Router List

Prefix List

FE80::/80FEC0:0:0:0:0:3::/804800:600:0:C00:3::/80

Packets to send

Page 66: IPv6 Tutorial (T5-3) · 2012-05-09 · 13 KRnet 2002 MLD Message MLD message type subset of the set of ICMPv6 messages sent with a link-local IPv6 Source Address, an IPv6 Hop Limit

KRnet 2002 66

Packet Transmission – 3/4

Transmission Algorithm of a Packet (1) 1. Host A는 Host H에게 packet을 전송하고자 한다. 2. Destination Cache를 조사

연관된 라우터의 링크 주소를 획득하면, 전송 연관된 정보 없으면, 다음과정(Next-Hop Determination) 수행

3. Next-Hop Determination Algorithm for Unicast 3.1 A longest prefix match by using prefixes stored in the Prefix List

Match: Destination = on-link state No-Match: Destination = off-link state Destination이 멀티캐스트 주소이면, 항상 on-link로 간주함

3.2 On-Link State Next-Hop Address Destination Address (H의 주소)

3.3 Off-link State 송신자는 Default Router List에서 임의로 라우터 선택 Default Router List가 Empty이면, Destination은 On-link로 간주함

3.4 Destination Cache에 관련 정보 저장

Page 67: IPv6 Tutorial (T5-3) · 2012-05-09 · 13 KRnet 2002 MLD Message MLD message type subset of the set of ICMPv6 messages sent with a link-local IPv6 Source Address, an IPv6 Hop Limit

KRnet 2002 67

Packet Transmission – 4/4

Transmission Algorithm of a Packet (2) 4. Examine Neighbor Cache

To determine the link Layer information, mainly the link layer address (Multicast의 경우는 링크 특성에 의존한다)

4.1 Neighbor Cache에 Entry가 존재하지 않는 경우

새로운 entry 생성(State = incomplete)

Address Resolution Procedure 시작하고 전송할 패킷들을 큐잉하기 시작함

획득된 Link-layer 주소를 Neighbor Cache에 저장 (State = Reachable)

큐잉된 패킷 전송

4.2 Neighbor Cache에 entry가 존재하는 경우

Unicast 주소에 대한 NUD Procedure 시작

Unreachable 인 경우, 절차 3으로 (Next-Hop Determination)

Page 68: IPv6 Tutorial (T5-3) · 2012-05-09 · 13 KRnet 2002 MLD Message MLD message type subset of the set of ICMPv6 messages sent with a link-local IPv6 Source Address, an IPv6 Hop Limit

KRnet 2002 68

Protocol Constants – 1/3

Router constants:

.5 secondsMAX_RA_DELAY_TIME

3 secondsMIN_DELAY_BETWEEN_RAS

3 transmissionsMAX_FINAL_RTR_ADVERTISEMENTS

3 transmissionsMAX_INITIAL_RTR_ADVERTISEMENTS

16 secondsMAX_INITIAL_RTR_ADVERT_INTERVAL

.5 secondsMAX_RA_DELAY_TIME

3 secondsMIN_DELAY_BETWEEN_RAS

3 transmissionsMAX_FINAL_RTR_ADVERTISEMENTS

3 transmissionsMAX_INITIAL_RTR_ADVERTISEMENTS

16 secondsMAX_INITIAL_RTR_ADVERT_INTERVAL

Page 69: IPv6 Tutorial (T5-3) · 2012-05-09 · 13 KRnet 2002 MLD Message MLD message type subset of the set of ICMPv6 messages sent with a link-local IPv6 Source Address, an IPv6 Hop Limit

KRnet 2002 69

Protocol Constants – 2/3

Host constants:

3 transmissionsMAX_RTR_SOLICITATIONS

4 secondsRTR_SOLICITATION_INTERVAL

1 secondsMAX_RTR_SOLICITATION_DELAY

3 transmissionsMAX_RTR_SOLICITATIONS

4 secondsRTR_SOLICITATION_INTERVAL

1 secondsMAX_RTR_SOLICITATION_DELAY

Page 70: IPv6 Tutorial (T5-3) · 2012-05-09 · 13 KRnet 2002 MLD Message MLD message type subset of the set of ICMPv6 messages sent with a link-local IPv6 Source Address, an IPv6 Hop Limit

KRnet 2002 70

Protocol Constants – 3/3

Node constants:

1.5MAX_RANDOM_FACTOR

.5MIN_RANDOM_FACTOR

5 secondsDELAY_FIRST_PROBE_TIME

1,000 millisecondsRETRANS_TIMER

30,000 millisecondsREACHABLE_TIME

3 transmissionsMAX_NEIGHBOR_ADVERTISEMENT

1 secondsMAX_ANYCAST_DELAY_TIME

3 transmissionsMAX_UNICAST_SOLICIT

3 transmissionsMAX_MULTICAST_SOLICIT

1.5MAX_RANDOM_FACTOR

.5MIN_RANDOM_FACTOR

5 secondsDELAY_FIRST_PROBE_TIME

1,000 millisecondsRETRANS_TIMER

30,000 millisecondsREACHABLE_TIME

3 transmissionsMAX_NEIGHBOR_ADVERTISEMENT

1 secondsMAX_ANYCAST_DELAY_TIME

3 transmissionsMAX_UNICAST_SOLICIT

3 transmissionsMAX_MULTICAST_SOLICIT

Page 71: IPv6 Tutorial (T5-3) · 2012-05-09 · 13 KRnet 2002 MLD Message MLD message type subset of the set of ICMPv6 messages sent with a link-local IPv6 Source Address, an IPv6 Hop Limit

KRnet 2002 71

Automatic Prefix Delegation

Protocol for IPv6

(draft-haberman-ipngwg-auto-prefix-02.txt)

Page 72: IPv6 Tutorial (T5-3) · 2012-05-09 · 13 KRnet 2002 MLD Message MLD message type subset of the set of ICMPv6 messages sent with a link-local IPv6 Source Address, an IPv6 Hop Limit

KRnet 2002 72

Objective

The expansion of the IP address space by IPv6

기존의 서브넷

Private address 사용

서브넷 자동네트워킹

NDP & Stateless Autoconfiguration를 사용

서브넷과 상위 네트워크와의 자동네트워킹

추가적으로 Network Prefix가 필요

Page 73: IPv6 Tutorial (T5-3) · 2012-05-09 · 13 KRnet 2002 MLD Message MLD message type subset of the set of ICMPv6 messages sent with a link-local IPv6 Source Address, an IPv6 Hop Limit

KRnet 2002 73

What’s PD protocol ?

Automatic Prefix Delegation (PD) Protocol

A mechanism for the automated delegation of an IPv6 network prefix

라우터가 특정한 크기의 prefix를 요청할 수 있도록 하고

라우터가 상위 라우터에게 자신이 지원할 수 있는 라우팅 프로토콜을 알려줌

Delegating 라우터는 prefix request 메시지에 대해 인증 검사를 한 후에, Prefix, desired routing protocol, prefix lifetime 등을 알려줌

Based on link-layer multicast.

So Not for NBMA links

Page 74: IPv6 Tutorial (T5-3) · 2012-05-09 · 13 KRnet 2002 MLD Message MLD message type subset of the set of ICMPv6 messages sent with a link-local IPv6 Source Address, an IPv6 Hop Limit

KRnet 2002 74

Terminology

Terminology

Requesting Router, Requestor

The router that is requesting that a prefix be assigned

Delegating Router, Delegator

The router that is responding to the prefix request

Global Address

A unicast address having global scope

Page 75: IPv6 Tutorial (T5-3) · 2012-05-09 · 13 KRnet 2002 MLD Message MLD message type subset of the set of ICMPv6 messages sent with a link-local IPv6 Source Address, an IPv6 Hop Limit

KRnet 2002 75

Work Scope

For a singly homed leaf router within a subnet

Assuming that the delegating router shares a network connection with the requesting router

In the future revisions, a more generic approach will be developed and those restrictions will be removed

Support a more generic approach to dynamic prefix delegation

Allow for either Multi-hop messages or a relay function

Page 76: IPv6 Tutorial (T5-3) · 2012-05-09 · 13 KRnet 2002 MLD Message MLD message type subset of the set of ICMPv6 messages sent with a link-local IPv6 Source Address, an IPv6 Hop Limit

KRnet 2002 76

Functions of PD

Two new ICMPv6 messages

Prefix Request for a delegation request

Delegator Query (0), Initial Request (1), Renewal Request (2), and Prefix Return (3)

Prefix Delegation for a delegation response and error info.

Prefix Delegator (0), Authentication Required (1), Authorization Failed (2), Prefix Unavailable (3), Prefix Delegated (4), and Prefix Returned (5)

Six Functions

Delegator Query (Requestor)

Initial Request (Requestor)

Authentication and Authorization (Delegator)

Prefix Delegation (Delegator)

Prefix Refresh (Requestor)

Prefix Return (Requestor)

Page 77: IPv6 Tutorial (T5-3) · 2012-05-09 · 13 KRnet 2002 MLD Message MLD message type subset of the set of ICMPv6 messages sent with a link-local IPv6 Source Address, an IPv6 Hop Limit

KRnet 2002 77

Messages Formats - 1

General Format

Follow the ICMPv6 Format

Require AH Header

TypeType

CodeCode

ChecksumChecksum

UnusedUnused

Message BodyMessage Body

TypeType

CodeCode

ChecksumChecksum

UnusedUnused

Message BodyMessage Body

Page 78: IPv6 Tutorial (T5-3) · 2012-05-09 · 13 KRnet 2002 MLD Message MLD message type subset of the set of ICMPv6 messages sent with a link-local IPv6 Source Address, an IPv6 Hop Limit

KRnet 2002 78

Messages Formats - 2

Prefix Option

Used to relay prefix information

Type = 0x01 : identifies the presence of a subnet prefix

Length : the length of the prefix contained in the option

Prefix Lifetime : the lifetime of the prefix

IPv6 Prefix : used to carry a subnet prefix

Type = 1 Length Reserved

8 bits 8 bits 8 bits

Prefix Lifetime

Prefix

Type = 1 Length Reserved

8 bits 8 bits 8 bits

Prefix Lifetime

Prefix

Page 79: IPv6 Tutorial (T5-3) · 2012-05-09 · 13 KRnet 2002 MLD Message MLD message type subset of the set of ICMPv6 messages sent with a link-local IPv6 Source Address, an IPv6 Hop Limit

KRnet 2002 79

Procedures for PD

Requesting Router R1

Delegatable Router R3Delegatable Router R2

Link

(1) Where is the delegating router ? (multicast)

(2) OK! I can

(3) Give me a Prefix and routing protocols

(4) This is the Prefix you want.or You aren’t authenticated user.

(5) I want to use this prefix continuously or to stop this prefix

v6 v6

Requesting Router R1

Delegatable Router R3Delegatable Router R2

Link

(1) Where is the delegating router ? (multicast)

(2) OK! I can

(3) Give me a Prefix and routing protocols

(4) This is the Prefix you want.or You aren’t authenticated user.

(5) I want to use this prefix continuously or to stop this prefix

v6v6 v6v6