IP v6 - Version Number
IP v 1-3 defined and replacedIP v4 - current versionIP v5 - streams protocolIP v6 - replacement for IP v4 During development it was called IPng Next Generation
IPv6 RFCs
1752 - Recommendations for the IP Next Generation Protocol2460 – IPv6 specification2373 - addressing structureothers (find them)
http://playground.sun.com/pub/ipng/html/specs/specifications.html
Why Change IP?
Address space exhaustion Two level addressing (network and host)
wastes space Network addresses used even if not
connected to Internet Growth of networks and the Internet Extended use of TCP/IP Single address per host
Requirements for new types of service
Changes from IPv4 to IPv6
Expanded Addressing CapabilitiesHeader Format Simplification Improved Support for Options Flow Labeling Capabilities Authentication and Privacy Capabilities
IPv6 Enhancements
Expanded address space 128 bit
Improved option mechanism Separate optional headers between IPv6
header and transport layer header Most are not examined by intermediate routes
Improved speed and simplified router processing Easier to extend options
Address autoconfiguration Dynamic assignment of addresses
IPv6 Enhancements (2)
Increased addressing flexibility Anycast - delivered to one of a set of nodes Improved scalability of multicast addresses
Support for resource allocation Replaces type of service Labeling of packets to particular traffic flow Allows special handling e.g. real time video
IP v6 Header
IP v6 Header Fields (1)
Version 6
Traffic Class Classes or priorities of packet Still under development See RFC 2460
Flow Label Used by hosts requesting special handling
Payload length Includes all extension headers plus user data
IP v6 Header Fields (2)
Next Header Identifies type of header
Extension or next layer up
Source AddressDestination address
IPv6 Extension Headers
Hop-by-Hop options header Require processing at each router
Routing header Similar to IPv4 source routing
Fragment headerDestination options header For destination node
Authentication header (RFC 2402)Encrypted security payload (RFC 2406)
IPv6 Extension Headers
IPv6 HeaderNext Header=RoutingRouting
TCP HeaderRouting HeaderNext Header=TCPTCP
IPv6 HeaderNext Header=RoutingRouting
TCP HeaderRouting HeaderNext Header=FragmentFragment
Fragment HeaderNext Header=TCPTCP
IPv6 HeaderNext Header=TCPTCP
DataTCP Header
Data
Data
Without Extension Headers
With Extension Headers
Hop-by-Hop Options
Next header (8-bit)Header extension length (8-bit)Options Jumbo payload (RFC 2675)
Over 216 = 65,535 octets Router alert (RFC 2711)
Tells the router that the contents of this packet is of interest to the router
Provides support for RSVP
Options
NH HEL
Options
Type-Length-Value (TLV)
Option Type (8-bit) Option Data Length (8-bit) Option Data (variable)
Option Data Length Option DataOption Type
Routing HeaderList of one or more intermediate nodes to be visitedNext HeaderHeader extension lengthRouting typeSegments left i.e. number of nodes still to be visited
Next Header Hdr Ext Len Routing Type Segments Left
Type-Specific Data
Next Header Hdr Ext Len RT = 0 Segments Left
Reserved
Address[1]
Address[2]
Address[n]
...
Fragmentation Header
Fragmentation only allowed at sourceNo fragmentation at intermediate routersNode must perform path discovery to find smallest MTU of intermediate networksSource fragments to match MTUOtherwise limit to 1280 octets
Fragmentation Header Fields
Next HeaderReservedFragmentation offsetReservedMore flagIdentification
Destination Options
Same format as Hop-by-Hop options header
Options
NH HEL
IPv6 Addresses
128 bits longAssigned to interfaceSingle interface may have multiple unicast addressesThree types of address
Types of address
Unicast Single interface
Anycast Set of interfaces (typically different
nodes) Delivered to any one interface the “nearest”
Multicast Set of interfaces Delivered to all interfaces identified
Text Representation of IPv6 Addresses
x:x:x:x:x:x:x:xhexadecimal values of the eight 16-bit pieces of the address. FEDC:BA98:7654:3210:FEDC:BA98:7654:3210 1080:0:0:0:8:800:200C:417A
IPv6 Address Representation (2)
The use of "::" indicates multiple groups of 16-bits of zeros. Unicast address 1080:0:0:0:8:800:200C:417A 1080::8:800:200C:417A
Multicast address FF01:0:0:0:0:0:0:101 FF01::101
Loopback address 0:0:0:0:0:0:0:1 ::1
unspecified addresses 0:0:0:0:0:0:0:0 ::
IPv6 Address Representation (3)
IPv4 and IPv6 mixed address x:x:x:x:x:x:d.d.d.d x: IPv6, d: IPv4 Eg.
0:0:0:0:0:FFFF:129.144.52.38 ::13.1.68.3 ::FFFF:129.144.52.38
Reserved Reserved 0000 0000 0000 0000 1/2561/256 Unassigned 0000 00010000 0001 1/256 Reserved for NSAP Allocation Reserved for NSAP Allocation 0000 001 0000 001 1/1281/128 Reserved for IPX Allocation Reserved for IPX Allocation 0000 010 0000 010 1/1281/128 Unassigned 0000 0110000 011 1/128 Unassigned 0000 10000 1 1/32 Unassigned 0001 0001 1/161/16 Aggregatable Global Unicast Addresses Aggregatable Global Unicast Addresses 001 001
1/81/8 Unassigned 010010 1/8 Unassigned 011011 1/8 Unassigned 100100 1/8 Unassigned 101 101 1/8 Unassigned 110110 1/8 Unassigned 1110 1110 1/16 Unassigned 1111 01111 0 1/32 Unassigned 1111 101111 10 1/64 Unassigned 1111 1101111 110 1/128 Unassigned 1111 1110 0 1111 1110 0 1/5121/512 Link-Local Unicast Addresses Link-Local Unicast Addresses 1111 1110 10 1111 1110 10 1/10241/1024 Site-Local Unicast Addresses Site-Local Unicast Addresses 1111 1110 11 1111 1110 11 1/10241/1024 Multicast Addresses Multicast Addresses 1111 1111 1111 1111 1/2561/256
Allocation Prefix Fraction
Unicast Addresses
global aggregatable global unicast addressNSAP addressIPX hierarchical addresssite-local addresslink-local addressIPv4-capable host address
IPv6 Unicast Addresses
node address
subnet prefix interface ID
128 bits
n bits 128-n bits
IPv6 Addresses with Embedded IPv4 Addresses
IPv4-compatible IPv6 address
IPv4-mapped IPv6 address
0000……………………0000 0000
80 bits 16
IPv4 Addresses
32 bits
0000……………………0000 FFFF
80 bits 16
IPv4 Addresses
32 bits
Aggregatable Global Unicast Addresses
FP Format Prefix (001)
TLA ID Top-Level Aggregation Identifier
RES Reserved for future use
NLA ID Next-Level Aggregation Identifier
SLA ID Site-Level Aggregation Identifier
INTERFACE ID Interface Identifier
Local-Use IPv6 Unicast Addresses
Link-Local Unicast Addresses
Site-Local Unicast Addresses
1111111010 0 Interface ID
10 bits 54 bits 64 bits
1111111011 0 Interface ID
10 bits 38 bits 64 bits
Subnet ID
16 bits
FE80::x:x:x:x
FEC0::s:x:x:x:x
Multicast Addresses
11111111 Group ID
8 bits 4 bits 112 bits
Flags Scope
4 bits
0000 : well known0001 : transient
Multicasting
Addresses that refer to group of hosts on one or more networksUses Multimedia “broadcast” Teleconferencing Database Distributed computing Real time workgroups