IPv6
Comparison to IP v4
Simpler header format
Expanded addressing capability
Improved support for extensions and options
Flow labeling capability
Enhanced support for Authentication and privacy
Header format
Version = 6
Traffic class comparable to v4 ToS
The 8-bit Traffic Class field in the IPv6 header is available for use by originating nodes and/or forwarding routers to
identify and distinguish between different classes or priorities of IPv6 packets
Two classes of traffic
1. Congestion controlled
Values of traffic class field ranges from 0-7 for fixed priority class
Traffic limits its bandwidth requirement in response to congestion
2. Non congestion controlled
Min delay
Discarding of packets is not desirable
Retransmissions are generally not possible
Value of traffic class field ranges from 8-15
Classes are based on how much quality of received data is affected by discarding of packets.
Treat all packets with the same Flow Label equally
Support QoS and fair bandwidth allocation
If a source does not implement flow label, it will set the field to ‘0’
If an IPv6 node is not providing flow-specific treatment, it MUST ignore the field when receiving or forwarding a
packet
Payload length does not include header –limits packets to 64KB
There is a “jumbogram option”
Hop limit = TTL field
Next header combines options and protocol
If there are no options then NextHeader is the protocol field
1
Options are “extension header” that follow IP header
Ordered list of tuples – 6 common types
1. Quickly enable a router to tell if the options are meant for it
Types
1. Hop by Hop options
Optional information that must be examined by every node along the path
2. Routing
Used to list one or more intermediate nodes to be visited along the path
3. Fragmentation
Used by IPv6 source to send a packet larger than would fit in the path’s MTU to its destination
4. Destination options
Optional information that must be examined only by packet’s destination node
5. Authentication
Extensions to support authentication and data integrity
6. Encapsulating security payload
Guards against eves dropping
Two modes
Transparent
Only the payload is encrypted and the base header and other ext headers
remain the same
Tunneling
Whole packet, including base header, is encrypted and encapsulated within a
new base header
IPv6 Address Space and Notation
Allocation is classless
Prefixes specify different uses (unicast, multicast, anycast)
Anycast: send packets to nearest member of a group
Prefixes can be used to map v4 to v6 space and visa-versa
Lots of flexibility with 128 bits!
~1500 address/sqft of the earths surface
Standard representation is set of eight 16-bit values separated by colons
Eg. 47CD:1234:3200:0000:0000:4325:B792:0428
If there are large number of zeros, they can be omitted with series of colons
Eg. 47CD:1234:3200::4325:B792:0428
Address prefixes (slash notation) are the same as v4
Eg. FEDC:BA98:7600::/40 describes a 40 bit prefix
Address prefix assignments
0000 0000 Reserved
0000 001 Reserved for NSAP (non-IP addresses used by ISO)
0000 010 Reserved for IPX (non-IP addresses used by IPX)
001 Unicast Address Space
1111 1110 10 Link Local Use addresses
1111 1110 11 Site Local Use addresses
1111 1111 Multicast addresses
Unicast assignment in IPv6
Unicast address assignment is similar to CIDR
Unicast addresses start with 001
2
Host interfaces belong to subnets
Addresses are composed of a subnet prefix and a host identifier
Subnet prefix structure provides for aggregation into larger networks
Provider-based plan
Idea is that the Internet is global hierarchy of network
Three levels of hierarchy – region, provider, subscriber
Goal is to provide route aggregation to reduce BGP overhead
A provider can advertise a single prefix for all of its subscribers
Region = 13 bits, Provider = 24 bits, Subscriber = 16 bits, Host = 80 bits
Eg. 001,regionID,providerID,subscriberID,subnetID,intefaceID
Anycast addresses are treated just like unicast addresses
It’s up to the routing system to determine which server is “closest”
Link local addresses
Intended only for communications within the segment of a local network (a link) or a point-to-point connection that a host is
connected to
Link-local addresses for IPv4 are defined in the address block 169.254.0.0/16. In IPv6, they are allocated with the fe80::/10
prefix
Site local address
These addresses have the scope of an entire site, or organization. They allow addressing within an organization without need for
using a public prefix. Routers will forward datagrams using site-local addresses within the site, but not outside it to the public
Internet
Transition from IP v4 to IP v6
Dual stack operation – v6 nodes run in both v4 and v6 modes and use version field to decide which stack to use
Nodes can be assigned a v4 compatible v6 address
Allows a host which supports v6 to talk v6 even if local routers only speak v4
Signals the need for tunneling
Add 96 0’s (zero-extending) to a 32-bit v4 address – eg. ::10.0.0.1
Nodes can be assigned a v4 mapped v6 address
Allows a host which supports both v6 and v4 to communicate with a v4 hosts
Add 2 bytes of 1’s to v4 address then zero-extend the rest – eg. ::ffff:10.0.0.1
Tunneling is used to deal with networks where v4 router(s) sit between two v6 routers
Simply encapsulate v6 packets and all of their information in v4 packets until you hit the next v6 router
Recommended reading
http://technet.microsoft.com/en-us/library/cc757359(WS.10).aspx