32
Transition Mechanisms Transition Mechanisms for Ipv6 Hosts and for Ipv6 Hosts and Routers Routers RFC2893 RFC2893 By Michael Pfeiffer By Michael Pfeiffer

Transition Mechanisms for Ipv6 Hosts and Routers RFC2893 By Michael Pfeiffer

  • View
    224

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Transition Mechanisms for Ipv6 Hosts and Routers RFC2893 By Michael Pfeiffer

Transition Mechanisms for Transition Mechanisms for Ipv6 Hosts and Routers Ipv6 Hosts and Routers

RFC2893RFC2893

By Michael PfeifferBy Michael Pfeiffer

Page 2: Transition Mechanisms for Ipv6 Hosts and Routers RFC2893 By Michael Pfeiffer

TerminologyTerminology

IP v4 only nodeIP v4 only node IP v6 only nodeIP v6 only node IP v4/IP v6 nodeIP v4/IP v6 node IP v4 compatible IP v6 AddressIP v4 compatible IP v6 Address

High order 96 bits prefix 0:0:0:0:0:0High order 96 bits prefix 0:0:0:0:0:0 Low order 32 bits are the IP v4 addressLow order 32 bits are the IP v4 address

Page 3: Transition Mechanisms for Ipv6 Hosts and Routers RFC2893 By Michael Pfeiffer

Techniques Used in the TransitionTechniques Used in the Transition

IP v6-over-IP v4 tunnelingIP v6-over-IP v4 tunneling Configured tunnelingConfigured tunneling Automatic tunnelingAutomatic tunneling IP v4 multicast tunnelingIP v4 multicast tunneling

Page 4: Transition Mechanisms for Ipv6 Hosts and Routers RFC2893 By Michael Pfeiffer

Dual IP Layer OperationDual IP Layer Operation

Modes of Operations for IP v4/v6 nodesModes of Operations for IP v4/v6 nodes Both stack enabledBoth stack enabled Disabling one or the other stacksDisabling one or the other stacks

Tunneling techniquesTunneling techniques NoneNone Configured tunneling onlyConfigured tunneling only Both configured and automatic tunneling Both configured and automatic tunneling

Page 5: Transition Mechanisms for Ipv6 Hosts and Routers RFC2893 By Michael Pfeiffer

Address configurationAddress configuration

IP v4/v6 node an have two addressesIP v4/v6 node an have two addresses IP v4 addressIP v4 address

• 32 bit address 32 bit address • Acquired using IP v4 addressing mechanismsAcquired using IP v4 addressing mechanisms

IP v6 addressIP v6 address• 128 bit address128 bit address• Acquired using IP v6 addressing mechanismsAcquired using IP v6 addressing mechanisms

Page 6: Transition Mechanisms for Ipv6 Hosts and Routers RFC2893 By Michael Pfeiffer

Domain Name SystemDomain Name System

Ability to map between both IP versionsAbility to map between both IP versions Example: What happen when IP v6 node requests Example: What happen when IP v6 node requests

a record that as been defined with a IP v4 addressa record that as been defined with a IP v4 address The resolver libraries must be capable of The resolver libraries must be capable of

handling both IP v6/IP v4 recordshandling both IP v6/IP v4 records

Page 7: Transition Mechanisms for Ipv6 Hosts and Routers RFC2893 By Michael Pfeiffer

DNSDNS

Returning records to IP v4/v6 nodes Returning records to IP v4/v6 nodes Filtered Filtered

• Return only IP v6 addressReturn only IP v6 address• Return only IP v4 addressReturn only IP v4 address

OrderedOrdered• Return both addressesReturn both addresses

May change the order of addresses two influence the receiving May change the order of addresses two influence the receiving node.node.

Page 8: Transition Mechanisms for Ipv6 Hosts and Routers RFC2893 By Michael Pfeiffer

Addressing Addresses in the DNS Addressing Addresses in the DNS

Before a IP v4/v6 record is added all of the Before a IP v4/v6 record is added all of the following should be true:following should be true: The address is assigned to the interface on the The address is assigned to the interface on the

nodenode The address is configured on the interface.The address is configured on the interface. The interface is on a link which is connected to the The interface is on a link which is connected to the

IP v6 infastructure.IP v6 infastructure.

Page 9: Transition Mechanisms for Ipv6 Hosts and Routers RFC2893 By Michael Pfeiffer

Common Tunneling MechanismsCommon Tunneling Mechanisms

Will take a while to build up IP v6 infastructure Will take a while to build up IP v6 infastructure so we need a means of sending packetsso we need a means of sending packets

Tunneling is a way to use IP v4 infrastructure Tunneling is a way to use IP v4 infrastructure to send IP v6 packetsto send IP v6 packets

This is done by sticking a IP v6 packet into the This is done by sticking a IP v6 packet into the body of a IP v4 packet.body of a IP v4 packet.

Page 10: Transition Mechanisms for Ipv6 Hosts and Routers RFC2893 By Michael Pfeiffer

Types of tunnelingTypes of tunneling

Configured TunnelingConfigured Tunneling Router to RouterRouter to Router Host to RouterHost to Router

Automatic TunnelingAutomatic Tunneling Host to HostHost to Host Router to HostRouter to Host

Page 11: Transition Mechanisms for Ipv6 Hosts and Routers RFC2893 By Michael Pfeiffer

Tunneling ConfigurationTunneling Configuration

11stst The encapsulating node creates an The encapsulating node creates an encapsulating IP v4 header and transmitsencapsulating IP v4 header and transmits

22ndnd The decapsulating node receives the The decapsulating node receives the encapsulated packet, reassmebles the packet encapsulated packet, reassmebles the packet (if needed) , and removes the IP v4 header.(if needed) , and removes the IP v4 header.

Note:(The primary diffence in tunneling Note:(The primary diffence in tunneling scheme is how the determine the header scheme is how the determine the header packet end address.)packet end address.)

Page 12: Transition Mechanisms for Ipv6 Hosts and Routers RFC2893 By Michael Pfeiffer

EncapsulationEncapsulation

+-------------++-------------+| IP v4 || IP v4 |

| Header | | Header | +------------++------------+ +-------------+ +-------------+ | IP| IP v6 |v6 | | IP v6 || IP v6 || Header || Header | | Header || Header |+------------++------------+ +------------++------------+| Transport || Transport | ====> ====> | Transport || Transport || Layer | | Layer | | Layer || Layer || Header || Header | | Header || Header |+------------++------------+ +------------++------------+| || | | || || Data | | Data | | Data || Data || || | | || |+------------++------------+ +------------++------------+

Page 13: Transition Mechanisms for Ipv6 Hosts and Routers RFC2893 By Michael Pfeiffer

Handling FragmentsHandling Fragments

What happens when a IP v6 packet is too big What happens when a IP v6 packet is too big for the payload of IP v4 packet?for the payload of IP v4 packet? IP packet is fragmented and two or more packets IP packet is fragmented and two or more packets

are send?are send? This can be avoided in when the encapsulating This can be avoided in when the encapsulating

node knows about the tunneling.node knows about the tunneling.

Page 14: Transition Mechanisms for Ipv6 Hosts and Routers RFC2893 By Michael Pfeiffer

Fragmentation ProblemsFragmentation Problems

Fragmentation in tunneling not sent by the Fragmentation in tunneling not sent by the sending nodesending node

Resassembling packets at the router.Resassembling packets at the router.

Page 15: Transition Mechanisms for Ipv6 Hosts and Routers RFC2893 By Michael Pfeiffer

Reducing Fragmentation Reducing Fragmentation

Making packet small enough for additional IP Making packet small enough for additional IP v4 headerv4 header

Using a IP v4 Path Discovery Protocal.Using a IP v4 Path Discovery Protocal. If you have a large number of tunnels then i might If you have a large number of tunnels then i might

not be able to store all of them.not be able to store all of them. This will not completely elminate This will not completely elminate

fragmentation but will reduce it.fragmentation but will reduce it.

Page 16: Transition Mechanisms for Ipv6 Hosts and Routers RFC2893 By Michael Pfeiffer

Hop LimitHop Limit

IP v6-over-IP v4 tunnels are considered as IP v6-over-IP v4 tunnels are considered as one hop.one hop. This means the IP v6 hop limit is decremented by This means the IP v6 hop limit is decremented by

one at the end of each tunnelone at the end of each tunnel This hide the existance of tunneling.This hide the existance of tunneling.

IP v6 header only gets used at the beginning and IP v6 header only gets used at the beginning and end of the tunnel.end of the tunnel.

Page 17: Transition Mechanisms for Ipv6 Hosts and Routers RFC2893 By Michael Pfeiffer

ICMP ErrorsICMP Errors

Errors are sent to the encapsulating nodeErrors are sent to the encapsulating node ICMP “packet too big” error is handled ICMP “packet too big” error is handled

according to the path dicoveryaccording to the path dicovery Which will change the packet along the pathWhich will change the packet along the path

Handling of other errors depend of the size of Handling of other errors depend of the size of the “packet in error” field sent back.the “packet in error” field sent back.

Page 18: Transition Mechanisms for Ipv6 Hosts and Routers RFC2893 By Michael Pfeiffer

IP v4 Header for tunnelingIP v4 Header for tunneling

Version field: 4Version field: 4 IP header length in 32 bit words: 5IP header length in 32 bit words: 5 Type of service: 0Type of service: 0

Note (work is underway to redefine the service Note (work is underway to redefine the service byte , so this might be different in the future.)byte , so this might be different in the future.)

Total Length: (Payload + IP v6 header + IP v4 Total Length: (Payload + IP v6 header + IP v4 header)header)

Page 19: Transition Mechanisms for Ipv6 Hosts and Routers RFC2893 By Michael Pfeiffer

IP v4 Header Cont.IP v4 Header Cont.

Identification: Generated uniquely as for any Identification: Generated uniquely as for any IP v4 packet transmitted by the system.IP v4 packet transmitted by the system.

Flags: Flags: Don't Fragment flagDon't Fragment flag More Fragmentsd flagMore Fragmentsd flag

Fragment offset: set if there is a Fragment offset: set if there is a fragmentationfragmentation

Time to Live: Set in implementation specific Time to Live: Set in implementation specific mannermanner

Page 20: Transition Mechanisms for Ipv6 Hosts and Routers RFC2893 By Michael Pfeiffer

IP v4 Header Cont.IP v4 Header Cont.

Protocal: 41 (Assigned payload type Protocal: 41 (Assigned payload type number for IP v6)number for IP v6)

Header checksum: calculated checksum for Header checksum: calculated checksum for the IP v4 headerthe IP v4 header

Source address: IP v4 address of Source address: IP v4 address of encapsulating nodeencapsulating node

Destination address: IP v4 address at end Destination address: IP v4 address at end of tunnel.of tunnel.

Page 21: Transition Mechanisms for Ipv6 Hosts and Routers RFC2893 By Michael Pfeiffer

DecapsulationDecapsulation

Accurs when a node recieves a packet with it's Accurs when a node recieves a packet with it's IP v4 address and the protocal field is set to IP v4 address and the protocal field is set to 4141

Reassembles packet if it was fragmentedReassembles packet if it was fragmented IP v6 header will be untouched since it had IP v6 header will be untouched since it had

been encapsulatedbeen encapsulated Hop limit will be decremented by oneHop limit will be decremented by one

Page 22: Transition Mechanisms for Ipv6 Hosts and Routers RFC2893 By Michael Pfeiffer

DecapsulationDecapsulation

Decapsulating node performs IP v4 Decapsulating node performs IP v4 reassembly before decapsulating the IP v6 reassembly before decapsulating the IP v6 packetpacket Done to preserve all IP v6 options even if Done to preserve all IP v6 options even if

fragmentedfragmented Node must not forward on decapsulated Node must not forward on decapsulated

packet unless explicitly configured too.packet unless explicitly configured too.

Page 23: Transition Mechanisms for Ipv6 Hosts and Routers RFC2893 By Michael Pfeiffer

Discarding packetsDiscarding packets

The IP v4 header should be discardedThe IP v4 header should be discarded Node should silently discard packet with an Node should silently discard packet with an

invalid IP v4 source address (eg. Multicast, invalid IP v4 source address (eg. Multicast, broadcast)broadcast)

The node should also silently discard packets The node should also silently discard packets with invalid IP v6 source addresswith invalid IP v6 source address

Page 24: Transition Mechanisms for Ipv6 Hosts and Routers RFC2893 By Michael Pfeiffer

Link-Layer AddressesLink-Layer Addresses

Both configured and automatic tunneling must Both configured and automatic tunneling must have link-local addresses so routing protocal have link-local addresses so routing protocal can operatecan operate

The Interface Identifier should be the 32 bit The Interface Identifier should be the 32 bit address that is in the IP v4 header.address that is in the IP v4 header.

The IP v6 Link-Local address for IP v4 virtual The IP v6 Link-Local address for IP v4 virtual interface is FE80::IP v4 addressinterface is FE80::IP v4 address

Page 25: Transition Mechanisms for Ipv6 Hosts and Routers RFC2893 By Michael Pfeiffer

Neighor DiscoveryNeighor Discovery

Automatic and unidirectional tunnels are Automatic and unidirectional tunnels are condsider undictionalcondsider undictional Neighor discovery is only used for formation of link Neighor discovery is only used for formation of link

local addresseslocal addresses Bidirectional tunnels use Neighbor Bidirectional tunnels use Neighbor

Unreachability Detection (NUD) Packets to Unreachability Detection (NUD) Packets to setup a tunnel.setup a tunnel.

Page 26: Transition Mechanisms for Ipv6 Hosts and Routers RFC2893 By Michael Pfeiffer

Configured TunnelingConfigured Tunneling

Determination of which tunnel to use is done Determination of which tunnel to use is done by routing tableby routing table Uses prefix mask and match techniqueUses prefix mask and match technique

The Default RouteThe Default Route

Page 27: Transition Mechanisms for Ipv6 Hosts and Routers RFC2893 By Michael Pfeiffer

Configured Tunneling with IP v4 Configured Tunneling with IP v4 Anycast AddressAnycast Address Uses the Anycast Address to forward the IP v6 Uses the Anycast Address to forward the IP v6

packet onpacket on Receiving node treats the address as if it is it's Receiving node treats the address as if it is it's

ownown After decapsulated transmits it toward the correct After decapsulated transmits it toward the correct

addressaddress Could have problem with fragmentationCould have problem with fragmentation

Page 28: Transition Mechanisms for Ipv6 Hosts and Routers RFC2893 By Michael Pfeiffer

Automatic TunnelingAutomatic Tunneling

Allows IP v6/v4 nodes to communicate without Allows IP v6/v4 nodes to communicate without pre-configured tunnelspre-configured tunnels

Nodes using automatic tunneling are assigned Nodes using automatic tunneling are assigned IP v4 compatible addresses.IP v4 compatible addresses.

IP v4 address is globally unique as long as IP v4 address is globally unique as long as address is not for a private network.address is not for a private network.

Page 29: Transition Mechanisms for Ipv6 Hosts and Routers RFC2893 By Michael Pfeiffer

Address ConfigurationAddress Configuration

Will serve as both IP v4 and v6 addressesWill serve as both IP v4 and v6 addresses Will acquire address through IP v4 address Will acquire address through IP v4 address

configuration protocols and then Map it to IP configuration protocols and then Map it to IP v6 addressv6 address DHCP, BOOTP, RARP, Manual, etc.DHCP, BOOTP, RARP, Manual, etc.

Page 30: Transition Mechanisms for Ipv6 Hosts and Routers RFC2893 By Michael Pfeiffer

Automatic Tunneling OperationsAutomatic Tunneling Operations

Only used when endpoint address is an IP v4 Only used when endpoint address is an IP v4 compatible address compatible address

A special static routing table can be setup for A special static routing table can be setup for automatic tunnelingautomatic tunneling

Must not be sent to IP v4 broadcast or Must not be sent to IP v4 broadcast or multicast destinationsmulticast destinations

Page 31: Transition Mechanisms for Ipv6 Hosts and Routers RFC2893 By Michael Pfeiffer

Source Address cofigurationSource Address cofiguration

Which format:Which format: Native IP v6Native IP v6 IP v4 compatibleIP v4 compatible

Determines the type of traffic that will be Determines the type of traffic that will be returned.returned.

Page 32: Transition Mechanisms for Ipv6 Hosts and Routers RFC2893 By Michael Pfeiffer

Work sitedWork sited

RFC 2893, RFC 2893, http://www.faqs.org/rfc/rfc2893.htmlhttp://www.faqs.org/rfc/rfc2893.html