IPv6 Internet Protocol, Version 6 Yen-Cheng Chen NCNU ycchen@ncnu.edu.tw IP v6 - Version Number IP IP IP IP v 1-3 defined and replaced v4 - current version v5 - streams protocol v6 - replacement for IP v4 During development it was called IPng Next Generation IPv6 RFCs 1752 - Recommendations for the IP Next Generation Protocol 2460 – IPv6 specification 2373 - addressing structure others (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 Capabilities Header 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 Address Destination address IPv6 Extension Headers Hop-by-Hop options header Require processing at each router Routing header Similar to IPv4 source routing Fragment header Destination options header For destination node Authentication header (RFC 2402) Encrypted security payload (RFC 2406) IPv6 Extension Headers Without Extension Headers IPv6 Header Next Header= TCP TCP Header Data With Extension Headers IPv6 Header Next Header= Routing Routing Header Next Header= TCP IPv6 Header Next Header= Routing Routing Header Fragment Header Next Header= Next Header= TCP Header Fragment TCP TCP Header Data Data Hop-by-Hop Options NH HEL 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 Type-Length-Value (TLV) Option Type Option Data Length Option Type (8-bit) Option Data Length (8-bit) Option Data (variable) Option Data Routing Header List of one or more intermediate nodes to be visited Next Header Header extension length Routing type Segments 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 Reserved Address[1] Address[2] .. . Address[n] Segments Left Fragmentation Header Fragmentation only allowed at source No fragmentation at intermediate routers Node must perform path discovery to find smallest MTU of intermediate networks Source fragments to match MTU Otherwise limit to 1280 octets Fragmentation Header Fields Next Header Reserved Fragmentation offset Reserved More flag Identification Destination Options Same format as Hop-by-Hop options header NH HEL Options IPv6 Addresses 128 bits long Assigned to interface Single interface may have multiple unicast addresses Three 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:x hexadecimal 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 Allocation Prefix Fraction Reserved Unassigned Reserved for NSAP Allocation Reserved for IPX Allocation Unassigned Unassigned Unassigned Aggregatable Global Unicast Addresses Unassigned Unassigned Unassigned Unassigned Unassigned Unassigned Unassigned Unassigned Unassigned Unassigned Link-Local Unicast Addresses Site-Local Unicast Addresses Multicast Addresses 0000 0000 0000 0001 0000 001 0000 010 0000 011 0000 1 0001 001 010 011 100 101 110 1110 1111 0 1111 10 1111 110 1111 1110 0 1111 1110 10 1111 1110 11 1111 1111 1/256 1/256 1/128 1/128 1/128 1/32 1/16 1/8 1/8 1/8 1/8 1/8 1/8 1/16 1/32 1/64 1/128 1/512 1/1024 1/1024 1/256 Unicast Addresses global aggregatable global unicast address NSAP address IPX hierarchical address site-local address link-local address IPv4-capable host address IPv6 Unicast Addresses 128 bits node address n bits subnet prefix 128-n bits interface ID IPv6 Addresses with Embedded IPv4 Addresses IPv4-compatible IPv6 address 80 bits 16 0000……………………0000 0000 32 bits IPv4 Addresses IPv4-mapped IPv6 address 80 bits 16 32 bits 0000……………………0000 FFFF IPv4 Addresses Aggregatable Global Unicast Addresses FP TLA ID RES NLA ID SLA ID INTERFACE ID Format Prefix (001) Top-Level Aggregation Identifier Reserved for future use Next-Level Aggregation Identifier Site-Level Aggregation Identifier Interface Identifier Local-Use IPv6 Unicast Addresses Link-Local Unicast Addresses 10 bits 54 bits 64 bits 0 Interface ID 1111111010 Site-Local Unicast Addresses 10 bits 1111111011 FE80::x:x:x:x FEC0::s:x:x:x:x 38 bits 16 bits 64 bits 0 Subnet ID Interface ID Multicast Addresses 8 bits 11111111 4 bits 4 bits 112 bits Flags Scope Group ID 0000 : well known 0001 : transient Multicasting Addresses that refer to group of hosts on one or more networks Uses Multimedia “broadcast” Teleconferencing Database Distributed computing Real time workgroups