Upload
monica-barker
View
218
Download
1
Tags:
Embed Size (px)
Citation preview
IPv6 Mobility
Milo LiuSW2R&D ZyXEL Communications, Inc
Outline• 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• IPv6 mobility changes to the host sending and
receiving algorithms• Q & A
IPv6 Mobility overviewIPv6 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
IPv6 Mobility ComponentIPv6 Mobility Component
IPv6 Internet
Mobile Node
Correspondent Node
HomeAgent
HomeLink
ForeignLink
Care-ofAddress
HomeAddress
VirtualMobile Node
IPv6 Mobility Messages And OptionsIPv6 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
ICMPv6 Home Agent Address Discovery ICMPv6 Home Agent Address Discovery Request MessageRequest Message
TypeCode
ChecksumIdentifier
Reserved
Home Address
= 150
= 0
= 0
Type
Code
Checksum
Identifier
Reserved
Home Agent Address 1
Home Agent Address n
= 151
= 0
. . .
ICMPv6 Home Agent Address Discovery Reply ICMPv6 Home Agent Address Discovery Reply MessageMessage
IPv6 Mobility Messages And IPv6 Mobility Messages And OptionsOptions
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
IPv6 Mobility Data StructuresIPv6 Mobility Data StructuresBinding 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
IPv6 Mobility CommunicationIPv6 Mobility Communication
Between a mobile node and a correspondent node
Between a mobile node and a home agent
Communication Between a Mobile Communication Between a Mobile Node and a Correspondent NodeNode 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
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 Binding Update from Mobile Node to Correspondent NodeCorrespondent Node
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 Data from Mobile Node to Correspondent NodeNode
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 Acknowledgment or Request
CoAHA
CNAVirtual
Mobile Node
Binding Maintenance from Correspondent Node to Binding Maintenance from Correspondent Node to Mobile NodeMobile Node
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 Data from Correspondent Node to Mobile Node-Binding Cache Entry PresentEntry Present
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 Data from Correspondent Node to Mobile Node-Binding Cache Entry not Presentnot Present
Communication Between a Mobile Node and a Communication Between a Mobile Node and a Home AgentHome 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
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 Binding Update from Mobile Node to Home AgentAgent
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 ICMPv6 Home Agent Address Discovery Request MessageMessage
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 Binding Maintenance from the Home Agent to the Mobile NodeMobile Node
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 ICMPv6 Home Agent Address Discovery Reply MessageMessage
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 Tunneled Data from the Home Agent to the Mobile NodeMobile Node
IPv6 Mobility ProcessesIPv6 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
Attaching to the Home LinkAttaching 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
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 Mobile Node Attaches to its First Foreign LinkForeign Link
IPv6 Mobility Communication with Mobile IPv6 Mobility Communication with Mobile NodeNode• 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
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 Mobile Node Initiates a TCP Connection with a New Correspondent NodeCorrespondent Node
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 Mobile Node Initiates non-TCP Communication with a New Correspondent NodeCorrespondent Node
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 New Correspondent Node Initiates a TCP Connection with a Mobile NodeMobile Node
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 Home Link Host Sends Data to a Mobile NodeNode
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 Mobile Node Changes to a New Foreign LinkLink
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 HomeMobile 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 IPv6 Mobility Host Sending AlgorithmSending Algorithm
IPv6 Mobility Host IPv6 Mobility Host Receiving Receiving AlgorithmAlgorithm
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.
Date Subject Lecturer
Introduction to IPv6
IPv6 Addressing
IPv6 Header & Extensions
Neighbor Discovery Protocol
Multicast Listener Discovery
IPv6 Routing
ICMPv6
Address Autoconfigurator
Joe Zhao
Milo Liu
Joe Zhao
Feng Zhou
Billy Bian
Jeffrey Zhou
Feng Zhou
Milo Liu
03/10
03/16
03/23
03/23
03/30
03/30
04/06
04/06
Training course arrangementTraining course arrangement
Date Subject Lecturer
Setting Up an IPv6 Test Lab
IPv6 Migration Mechanisms
IPv6 Mobility
Joe Zhou
Milo Liu
04/13
04/20
Training course arrangementTraining course arrangement
Q & AQ & A