advanced roaming & mobility scenarios in ipv6 rafal lukawiecki strategic consultant &...

40
Advanced Roaming & Mobility Scenarios in IPv6 Rafal Lukawiecki Strategic Consultant & Director Project Botticelli Ltd [email protected] in association with www.ip426.com The slides in this session come from the excellent book by Joseph Davies “Understanding IPv6” and are used with explicit permission displayed in that book. See “references” slide at the end for info. Buy it.

Upload: ira-park

Post on 13-Dec-2015

219 views

Category:

Documents


0 download

TRANSCRIPT

Advanced Roaming & Mobility Scenarios in IPv6Rafal LukawieckiStrategic Consultant & DirectorProject Botticelli [email protected]

in association withwww.ip426.com

The slides in this session come from the excellent book by Joseph Davies “Understanding IPv6” and are used with explicit permission displayed in that book. See “references” slide at the end for info. Buy it.

2

Objectives

Excite you about the technology IPv6 mobility is just beautiful

Explain the technology so you can evaluate its usefulness

Make you better understand IPv6 in general

Note: this is a level 400 session

3

Agenda Components of IPv6 mobility IPv6 mobility messages and options IPv6 mobility data structures Communication between the mobile node

and the correspondent node Communication between the mobile node

and the home agent IPv6 mobility processes Reference: IPv6 mobility changes to the

host sending and receiving algorithms

4

Status

Mobility in IPv6 is IETF “work in progress” Implemented on most stacks and works

today Work is supported directly by Nokia,

Ericsson and Rice University According to the draft

Contribute now through IETF Mobile IP Working Group! www.ietf.org

5

IPv6 Mobility Overview

IPv6 mobility allows an IPv6 node to be mobile—to arbitrarily change its location on the IPv6 Internet—and still maintain existing connections

Connection maintenance for mobile nodes is handled at the Internet layer

6

IPv6 Internet

Mobile Node

Correspondent Node

HomeAgent

HomeLink

ForeignLink

Care-ofAddress

HomeAddress

VirtualMobile Node

Components of IPv6 Mobility

7

IPv6 Mobility Messages And Options Destination Options Header options

Binding Update Binding Acknowledgement Binding Request Home Address

ICMPv6 messages Home Agent Address Discovery Request Home Agent Address Discovery Reply

8

TypeCode

ChecksumIdentifier

Reserved

Home Address

= 150

= 0

= 0

ICMPv6 Home Agent Address Discovery Request Message

9

Type

Code

Checksum

Identifier

Reserved

Home Agent Address 1

Home Agent Address n

= 151

= 0

. . .

ICMPv6 Home Agent Address Discovery Reply Message

10

IPv6 Mobility Messages And Options

Neighbor Discovery messages and options Modified Router Advertisement message

Home Agent (H) flag

Modified Prefix Information option Router Address (R) flag New definition of Prefix field

New Advertisement Interval option New Home Agent Information option

11

IPv6 Mobility Data Structures Binding cache

Contains the current bindings for mobile nodes Maintained by each correspondent node and

home agent

Binding update list Lists the most recent binding updates sent for

the home agent and correspondent nodes Maintained by a mobile node

Home agents list Lists the routers that sent a router

advertisement with the Home Agent (H) bit set Maintained by home agents and mobile nodes

12

IPv6 Mobility Communication

Between a mobile node and a correspondent node

Between a mobile node and a home agent

13

Communication Between a Mobile Node and a Correspondent Node

From the mobile node to the correspondent node Binding updates Data

From the correspondent node to the mobile node Binding maintenance Data

14

IPv6 Internet

Mobile Node

Correspondent Node

HomeAgent

HomeLink

ForeignLink

IPv6 Header• Source Address is CoA• Destination Address is CNADestination Options Header• Home Address Option

• Home Address is HA• Binding Update Option

CoAHA

CNAVirtual

Mobile Node

Binding Update from Mobile Node to Correspondent Node

15

IPv6 Internet

Mobile Node

Correspondent Node

HomeAgent

HomeLink

ForeignLink

IPv6 Header• Source Address is CoA• Destination Address is CNADestination Options Header• Home Address Option

• Home Address is HAUpper Layer PDU

CoAHA

CNAVirtual

Mobile Node

Data from Mobile Node to Correspondent Node

16

IPv6 Internet

Mobile Node

Correspondent Node

HomeAgent

HomeLink

ForeignLink

IPv6 Header• Source Address is CNA• Destination Address is CoARouting Header• Segments Left is 1• Address 1 is HADestination Options Header• Binding Acknowledgement or Request

CoAHA

CNAVirtual

Mobile Node

Binding Maintenance from Correspondent Node to Mobile Node

17

IPv6 Internet

Mobile Node

Correspondent Node

HomeAgent

HomeLink

ForeignLink

IPv6 Header• Source Address is CNA• Destination Address is CoARouting Header• Segments Left is 1• Address 1 is HAUpper Layer PDU

CoAHA

CNAVirtual

Mobile Node

Data from Correspondent Node to Mobile Node-Binding Cache Entry Present

18

IPv6 Internet

Mobile Node

Correspondent Node

HomeAgent

HomeLink

ForeignLink

IPv6 Header• Source Address is CNA• Destination Address is HAUpper Layer PDU

HA

CNA

CoA

VirtualMobile Node

Data from Correspondent Node to Mobile Node-Binding Cache Entry not Present

19

Communication Between a Mobile Node and a Home Agent

From the mobile node to the home agent Binding updates ICMPv6 Home Agent Address Discovery

Request message

From the home agent to the mobile node Binding maintenance ICMPv6 Home Agent Address Discovery Reply

message Tunneled data

20

IPv6 Internet

Mobile Node

Correspondent Node

HomeAgent

HomeLink

ForeignLink

IPv6 Header• Source Address is CoA• Destination Address is HAADestination Options Header• Home Address Option

• Home Address is HA• Binding Update Option

• Home Registration flag set

CoA

HAA

HA

CNAVirtual

Mobile Node

Binding Update from Mobile Node to Home Agent

21

IPv6 Internet

Mobile Node

Correspondent Node

HomeAgent

HomeLink

ForeignLink

IPv6 Header• Source Address is CoA• Destination Address is Mobile IPv6 Home

Agents anycast address ICMPv6 Message• Home Agent Address Discovery Request

CoA

HAA

HA

CNAVirtual

Mobile Node

ICMPv6 Home Agent Address Discovery Request Message

22

IPv6 Internet

Mobile Node

Correspondent Node

HomeAgent

HomeLink

ForeignLink

IPv6 Header• Source Address is HAA• Destination Address is CoARouting Header• Segments Left is 1• Address 1 is HADestination Options Header• Binding Acknowledgment or Request

CoA

HAA

HA

CNAVirtual

Mobile Node

Binding Maintenance from the Home Agent to the Mobile Node

23

IPv6 Internet

Mobile Node

Correspondent Node

HomeAgent

HomeLink

ForeignLink

IPv6 Header• Source Address is HAA• Destination Address is CoAICMPv6 Message• Home Agent Address Discovery Reply

CoA

HAA

HA

CNAVirtual

Mobile Node

ICMPv6 Home Agent Address Discovery Reply Message

24

IPv6 Internet

Mobile Node

Correspondent Node

HomeAgent

HomeLink

ForeignLink

IPv6 Header• Source Address is HAA• Destination Address is CoAIPv6 Header• Source Address is CNA• Destination Address is HAUpper Layer PDU

CoA

HAA

HA

CNAVirtual

Mobile Node

IPv6 Over IPv6 Tunnel

Tunneled Data from the Home Agent to the Mobile Node

25

IPv6 Mobility Processes

Attaching to the home link Moving from the home link to a foreign link Moving from a foreign link to another

foreign link Returning home

26

Attaching to the Home Link Once on the home link, a mobile node can

store: Home subnet prefix Home address Global address of their home agent

Methods of configuring mobile node for home link: Manual configuration Pseudo-automatic configuration Automatic configuration

27

IPv6 Internet

Mobile Node

Correspondent Node

HomeAgent

1. Multicast Router Solicitation2. Unicast Router Advertisement3. Home Agent Address Discovery Request4. Home Agent Address Discovery Reply5. Binding Update to Home Agent6. Multicast Neighbor Advertisement7. Binding Acknowledgment

ƒ„…

†‡

HomeLink

ForeignLink

Mobile Node Attaches to its First Foreign Link

28

IPv6 Mobility Communication with Mobile Node

Mobile node initiates a TCP connection with a new correspondent node

Mobile node initiates non-TCP communication with a new correspondent node

New correspondent node initiates a TCP connection with a mobile node

Home link host sends data to a mobile node

29

IPv6 Internet

Mobile Node

Correspondent Node

HomeAgent

1. TCP SYN with Home Address and Binding Update options

2. TCP SYN-ACK with Binding Acknowledgment3. TCP ACK

ƒ

HomeLink

ForeignLink

Mobile Node Initiates a TCP Connection with a New Correspondent Node

30

IPv6 Internet

Mobile Node

Correspondent Node

HomeAgent

1. Initial message with Home Address option2. Response message to home address3. Tunneled response message to Mobile Node4. Second message with Binding Update5. Binding Acknowledgment

IPv6 Over IPv6 Tunnel

ƒ

HA

VirtualMobile Node

HomeLink

ForeignLink

Mobile Node Initiates non-TCP Communication with a New Correspondent Node

31

IPv6 Internet

Mobile Node

Correspondent Node

HomeAgent

1. TCP SYN to Home Address2. TCP SYN tunneled to Care-of Address3. TCP SYN-ACK with Binding Update4. TCP ACK with Binding Acknowledgment

IPv6 Over IPv6 Tunnel

ƒ„

HomeLink Foreign

Link

HA

VirtualMobile Node

New Correspondent Node Initiates a TCP Connection with a Mobile Node

32

IPv6 Internet

Mobile NodeHomeAgent

1. Multicast Neighbor Solicitation2. Proxied unicast Neighbor Advertisement3. TCP SYN to Home Agent’s link-layer address4. Tunneled packet to Mobile Node5. TCP SYN-ACK with Binding Update6. TCP ACK with Binding Acknowledgment

Host

IPv6 Over IPv6 Tunnel

… †ƒ

HomeLink Foreign

Link

Home Link Host Sends Data to a Mobile Node

33

Mobile Node

Correspondent Node

HomeAgent

1. Multicast Router Solicitation2. Unicast Router Advertisement3. Binding Update to Home Agent4. Binding Update to Correspondent Node5. Binding Acknowledgments

IPv6 Internet

ƒ

HomeLink

ForeignLink

Mobile Node Changes to a New Foreign Link

34

Mobile Node

Correspondent Node

HomeAgent

1. Multicast Router Solicitation2. Unicast Router Advertisement3. Binding Update to Home Agent4. Binding Update to Correspondent Node5. Binding Acknowledgments6. Multicast Neighbor Advertisement

IPv6 Internet

ƒ

HomeLink

Mobile Node Returns Home

Check destination cache for an entry matching the destination address.

Entry found in destination cache?

Yes

No

Does entry contain a pointer to a

binding cache entry?

No

Yes

Entry found in neighbor cache?

Yes

No

Use address resolution to determine the link-layer address

of the next-hop address.

Was address resolution

successful?

Yes

No

Indicate an error.

Update neighbor cache.

Send packet using link-layer address of neighbor cache entry.

Check neighbor cache for an entry matching the next-hop address.

Is there a longestmatching route?

No

Yes

Check routing table for longestmatching route to the destination.

Set the next-hop address to the next-hop address of the route.

Update destination

cache.

Start

Set destination to destination node’s care-of address. Insert Routing

header. Obtain next-hop address from the destination cache entry for

the care-of address.

Is sending host away from

home? No

Yes

Set source address to sending host’s care-of address. Insert

Destination Options header with Home Address option.

Set the next-hop address to the destination address.

Obtain the next-hop address from

the destination cache entry.

IPv6 Mobility Host Sending Algorithm

IPv6 Mobility Host Receiving Algorithm

Is a Routingheader present?

Yes

No

Silently discard the packet.

Does the protocol

for the Next Header field value

exist?

No

Yes

Send ICMPv6 Parameter Problem-Unrecognized Next Header Type

Encountered message and discard the packet.

Is the upper layer PDU a UDP

message?

Yes

No

Is the upper layer PDU a TCP

segment?

Yes

No

Is there an application listeningon the destination

UDP port?

No

Yes

Is there an application listeningon the destination

TCP port?

Yes

No

Pass upper layer PDU to upper layer protocol.

Send ICMPv6 Destination Unreachable-Port Unreachable

message and discard the packet.

Send TCP Connection Reset segment.

Process contents.

No

Yes

Set source address to home address in Home Address option.

Start

Is destination address assigned to

a local interface?

Yes

No

Is the packet tunneled from the

home agent?

Yes

No

Is there a Home Address Option in the Destination

Options header?

Process Routing header. Set destination

address to value in Address 1 field.

Set destination address to destination address in

inner IPv6 header. Queue binding update to source address in inner IPv6 header.

37

Summary

IPv6 has excellent support for mobility and roaming

Future of networking in peer-to-peer world of smart devices needs IPv6

Experiment now, benefits are immediate

Contact the experts for help www.ip426.com at your service

in association withwww.ip426.com

38

Suggested Reading & Resources

“Understanding IPv6”, Joseph Davies, Microsoft Press, ISBN 0-7356-1245-5

RFC 2461 – “Neighbor Discovery for IP Version 6” RFC 2526 – “Reserved IPv6 Subnet Anycast

Addresses” IETF draft “Mobility Support in IPv6” (draft-ietf-

mobileip-ipv6-24)

www.microsoft.com/ipv6 www.ipv6forum.org www.ip426.com

39

Info točke Komunikacijsko središče Prenosni računalniki Pametni telefoni Dlančniki

40

Copyright 2004 © Project Botticelli Ltd & Microsoft Corp. E&OE. For informational purposes only. No warranties of any kind are made and you have to verify all information before relying Copyright 2004 © Project Botticelli Ltd & Microsoft Corp. E&OE. For informational purposes only. No warranties of any kind are made and you have to verify all information before relying on it. You can re-use this presentation as long as you read, agree, and follow the guidelines described in the “Comments” field in File/Properties.on it. You can re-use this presentation as long as you read, agree, and follow the guidelines described in the “Comments” field in File/Properties.

Thank You!