520 likes | 868 Views
IPv6 - Specifications. Lilish M Saki lmsaki@scu.edu Project Report No – 4. COEN 329 Advanced Computer Networks Santa Clara University Winter 2002. AGENDA. Introduction. Need for IPv6 and its advantages. IPv6 Packet format. IPv6 Extension Headers. IPv6 addressing.
E N D
IPv6 - Specifications Lilish M Saki lmsaki@scu.edu Project Report No – 4. COEN 329 Advanced Computer Networks Santa Clara University Winter 2002
AGENDA • Introduction. • Need for IPv6 and its advantages. • IPv6 Packet format. • IPv6 Extension Headers. • IPv6 addressing. • Transition issues from IPv4. • Current deployment scene. • Challenges. Santa Clara University
INTRODUCTION TO IPv6 • IP version 6 (IPv6) is a new version of the internet protocol,designed as the successor to IP version 4 (IPv4). • Changes from IPv4 to IPv6 fall primarily into the following categories: • Extended addressing capabilities. • IPv6 increases the IP address size from 32 bits to 128 bits, to support more levels of addressing hierarchy. • New type of address called an "anycast address" is defined, used to send a packet to any one of a group of nodes. Santa Clara University
INTRODUCTION TO IPv6 (Contd.) • Header format simplification. • Some IPv4 header fields have been dropped or made optional. • Reduces the common-case processing cost of packet handling and limits bandwidth cost of the IPv6 header. • Improved support for extensions and options. • allows for more efficient forwarding, less stringent limits on the length of options. • and greater flexibility for introducing new options in the future. Santa Clara University
INTRODUCTION TO IPv6 (contd.) • Flow labeling capability. • labeling of packets according to particular traffic "flows" for which the sender requests special handling, such as Qos or "real-time" service. • Authentication and privacy capabilities. • Extensions to support authentication, data integrity, and (optional) data confidentiality are specified for IPv6. • IPv6 can be installed as a normal software upgrade in internet devices and is interoperable with the current IPv4. Santa Clara University
INTRODUCTION TO IPv6 (contd.) • Designed to run well on high performance networks (e.g. Gigabit Ethernet, OC-12, ATM, etc.) and at the same time still be efficient for low bandwidth networks (e.g. wireless). • It provides a platform for new internet functionality that will be required in the near future. • Other features of IPv6 infrastructure are: • Plug and Play (model for address auto configuration). • Efficient Mobility (inherent features of IPv6 extend Mobile IP). Santa Clara University
Need for IPv6 • Motivation for IPv6 comes from scaling problems caused by Internet’s massive growth. • Prospect of everything from Washing machine to in-car systems being accessed online, need for addresses have gone acute. • Original IPv4 addressing capability, even with subnetting and CIDR, eventually will not be adequate to support all nodes. Santa Clara University
Need for IPv6 (Contd.) • In addition other requirements emerged like: • Support for real-time services. • Security support. • Auto-configuration of network devices. • Enhanced routing functionality, including support for mobile hosts. Santa Clara University
Advantages of IPv6 • Scalable. • IPv6 has 128-bit address space, which is 4 times wider in bits in compared to IPv4's 32-bit address space.Thus support much greater no. of addressable nodes. • Simpler address auto-configuration. • Security. • IPv6 includes security in the basic spec. It includes authentication, data integrity, and data confidentiality. • Standards based Authentication Header (AH) extension guarantees that packet is truly from its source address. • Another standard header called Encapsulating security payload (ESP) extension provides end to end encryption at network layer. Santa Clara University
Advantages of IPv6 (Contd.) • Quality of Service: • Flow labeling provides end to end service for prioritization and QoS needs.This type of service is required for real-time applications like video conferencing. • IPv6 packet format contains a new 20-bit traffic flow identification field that lays foundation for such QoS. • Mobile IP: • Mobility under IPv4 requires new infrastructure because it necessitates informing any agent in the routing process about a new location.Authentication mechanisms are also required. Santa Clara University
Advantages of IPv6 (Contd.) • Mobile IP via IPv6 requires no such infrastructure. It eliminates triangular routing problem under IPv4 and instead implements temporary secondary address for use. • By providing extensibility and header options. • Less stringent demands limits on the length of the options. • Limits bandwidth cost of IPv6 header. • Stateless Auto-configuration: • Eliminates need of server to configure local address. • Multicast/Anycast: • Improves scalability with multicast routing. • Defines new “anycast address” category for defining a set of interfaces, typically belonging to different nodes. Santa Clara University
IPv6 Header Comparison to IPv4 Header: 0 4 8 16 32 Ver. IHL Total Length Type of service Identification Fragment offset Flags Time to live Protocol Header checksum 32 bit Source address 32 bit Destination Address Options/padding IPv4 header format Santa Clara University
IPv6 Header 0 4 12 32 Ver Traffic classes Flow label Payload Length Next header Hop Limit 128 bit source address 128 bit destination address IPv6 Header format (40 octets long) Santa Clara University
IPv6 Header Format fields • Version:4 bit Internet protocol version number – 6. • Traffic class: 8 bit traffic class. • Available for use by originating nodes and/or forwarding routers to identify and distinguish between different classes or priorities of IPv6 packets. • Flow label: • 20 bit flow label is for source to label sequences of packets for which it requests special handling by the IPv6 routers, such as QoS or "real-time" service. • Payload length: • 16 bit unsigned integer defines length of payload, in octets. Any extension headers present are considered part of the payload. Santa Clara University
IPv6 Header Format fields (Contd.) • Next header: 8-bit selector. • Identifies the type of header immediately following the IPv6 header. Same values as the IPv4 Protocol field. • Hop Limit: 8-bit unsigned integer. • Decremented by 1 bit each node that forwards the packet. The packet is discarded if Hop Limit is decremented to zero. • Source address:128-bit address of the originator of the packet. • Destination address: 128-bit address of the intended recipient of the packet. Santa Clara University
Overview of IPv6 Extension Headers • IPv6 packet may carry zero, one, or more extension headers, each identified by the Next Header field of the preceding header: • This is optional that may be placed between the IPv6 header and the upper- layer header in a packet. • Example of one extension header. IPv6 Header NH - Routing Routing Header NH - TCP TCP Header + data Santa Clara University
Overview of IPv6 Extension Headers (Contd.) • There are small number of such extension headers, each identified by a distinct Next Header value. Header types -. • Hop-by-Hop Options ( value 0). • Routing ( Value 43). • Fragment (Value 44). • Destination Options (Value 60). • Authentication. • Encapsulating Security Payload. • Extension header, except for hop by hop, are not examined or processed by any node along a packet's delivery path. Santa Clara University
Overview of IPv6Extension Headers • Hop by hop extension header must be examined by every node along a packet’s delivery path, including src./dest. • The contents and semantics of each determine whether or not to proceed to the next header. • Thus, extension headers must be processed strictly in the order they appear in the packet. • Each extension header is an integer multiple of 8 octets long, in order to retain 8-octet alignment for subsequent headers. Santa Clara University
Hop-by-Hop Options Header • Used to carry optional information that must be examined by every node along a packet's delivery path. • Identified by a Next Header value of 0 in the IPv6 header. • Format: Header Ext. Len – 8 Bits NH – 8 Bits Options Santa Clara University
Hop-by-Hop Options Header (Contd.) • Next Header: Identifies the type of the header immediately following Hop-by-Hop options header. • Header Ext Len:8 bit unsigned integer- Length of the Hop-by-Hop Options header in 8-octet units, not including the first 8 octets. • Options: Variable length field, of length such that the complete Hop-by-Hop Options header is an integer multiple of 8 octets long. Contains one or more TLV (Type/length/value) encoded options. Santa Clara University
Routing Header • The Routing header is used by an IPv6 source to list one or more intermediate nodes to be "visited" on the way to a packet's destination. • The Routing header is identified by a Next Header value of 43 in the immediately preceding header. • Format: Next header Hdr Ext Len Routing type Segments left Type Specific data Santa Clara University
Routing Header (Contd.) • Header Ext Len- Length of routing header. • Next Header- Identifies type of header immediately after routing header. • Routing Type: 8-bit identifier of a particular Routing header variant. • Segments Left: 8-bit unsigned integer. • No. of route segments remaining, i.e., no. of intermediate nodes still to be visited before reaching the final destination. • Type-specific data: Variable-length field. • Format determined by the Routing Type, and of length such that the complete Routing header is an integer multiple of 8 octets long. Santa Clara University
Routing Header (Contd.) • Multicast addresses must not appear in a Routing header of Type 0. • A Routing header is not examined or processed until it reaches the node identified in the Destination Address field of the IPv6 header. • Routing header type 0 in this case invokes algorithm shown in next slide. Santa Clara University
Routing Header – Type 0 algorithm if Segments Left = 0 {process the NH in the packet } else if Hdr Ext Len is odd { send an ICMP parameter Problem, Code 0, message to the Src. Addr. and discard the packet } else {compute n, the number of addresses in the Routing header, by dividing Hdr Ext Len by 2 if Segments Left is greater than n {send an ICMP Parameter Problem, Code 0 and discard the packet } else { decrement Segments Left by 1;compute i, the index of the next addr. to be visited in the address Santa Clara University
Routing Header – Type 0 algorithm (Contd.) vector, by subtracting Segments Left from n if Addr [i] or the IPv6 Dest. Addr is multicast { discard the packet } else { swap the IPv6 Dest. Addr and Addr [i] if the IPv6 Hop Limit is less than or equal to 1 { send an ICMP Time Exceeded -- Hop Limit Exceeded to the Src. Addr and discard the packet } else { decrement the Hop Limit by 1 resubmit to the IPv6 module for transmission to the new dest } }}} Santa Clara University
IPv6 Fragment Header • The Fragment header is used by an IPv6 source to send a packet larger than would fit in the path MTU to its destination. • Unlike IPv4, fragmentation in IPv6 is performed only by source nodes, not by routers along a packet's delivery path. • The Fragment header is identified by a Next Header value of 44 in the immediately preceding header, • Format: Next Header 8 Bits Reserved 8 Bits Fragment offset 13 bits RES M Identification Santa Clara University
IPv6 Fragment Header (Contd.) • Reserved: 8-bit reserved field. • Initialized to zero for transmission; ignored on reception. • Fragment Offset:13-bit unsigned integer. • In 8-octet units, of the data following this header, relative to the start of the Fragmentable Part of the original packet. • Res: 2-bit reserved field. • Initialized to zero for transmission; ignored on reception. • M flag: 1 = more fragments; 0 = last fragment. • Identification: 32 bits. • For every packet that is to be fragmented, the source node generates an Identification value. Santa Clara University
IPv6Destination Options Header • The Destination Options header is used to carry optional information that need be examined only by a packet's destination node(s). • The Destination Options header is identified by a Next Header value of 60 in the immediately preceding header. • Format: Next header Header Ext len Options Santa Clara University
IPv6 Destination Options Header (Contd.) • Hdr Ext Len: 8-bit unsigned integer. • Length of the Destination Options header in 8-octet units, not including the first 8 octets. • Options: Variable-length field. • Length is such that the complete Destination Options header is an integer multiple of 8 octets long. Contains one or more TLV-encoded options. • Two possible ways to encode optional destination information in an IPv6 packet. • 1) option in the Destination Options header, or 2) as a separate extension header. The Fragment header and the Authentication header are examples of the latter approach. Santa Clara University
IPv6 Extension Header Options • Two of the defined extension headers -- the Hop-by-Hop Options header and the Destination Options header -- carry a variable number of type-length-value (TLV) encoded "options.” • Format: • Option Type: 8-bit identifier of the type of option. • Opt Data Len: 8-bit unsigned integer. • Length of the Option Data field of this option, in octets. Option data –var. length Option type 8-bit Opt data length 8-bit Santa Clara University
IPv6 Extension Header Options (Contd.) • Option Data:Variable-length field. • Option-Type-specific data. • The sequence of options within a header must be processed in the order they appear in the header. • Two padding options. • Used when necessary to align subsequent options and to pad out the containing header to a multiple of 8 octets in length. • Pad1: Used to Insert one octet of padding into the Options area of a header. • PadN: Used to insert two or more octets of padding into the Options area of a header. Santa Clara University
IPv6 Extension Header -Authentication Header (AH) • The IP Authentication Header (AH) is used to provide connectionless integrity and data origin authentication for IP datagrams. • The protocol header (IPv6 or Extension) immediately preceding the AH header will contain the value 51 in its Next Header field. • In the IPv6 context, AH is viewed as an end-to-end payload, and thus appear after hop-by-hop, routing, and fragmentation extension headers. • The destination options extension header(s) could appear either before or after the AH header depending on the semantics desired. Santa Clara University
IPv6 Authentication Header Format and location 0 8 16 32 Next Header Payload len. Reserved Security Parameters Index (SPI) Sequence No. field Authentication data (variable) * Dest opt. Hop by hop, * dest routing,fragmentation etc Orig. IP header AH TCP Data *if present could be after AH, before AH or both Santa Clara University
IPv6 Extension Header Encapsulating Security payload (ESP) • The Encapsulating Security Payload (ESP) extension header is designed to provide a mix of security services in IPv6. • ESP may be applied alone, in combination with the AH or in a nested fashion, e.g., through the use of tunnel mode. • Provides confidentiality, data origin authentication, connectionless integrity, an anti-replay service and limited traffic flow confidentiality. • The protocol header immediately preceding the ESP header will contain the value 50 in Next Header field. Santa Clara University
IPv6 ESP headerFormat and location Security parameters index (SPI) Sequence No. Payload data (Variable) Padding 0-255 bytes Pad length Next Header Authentication data (Variable) After applying ESP (* if present could be before ESP, ESP or in various mode) Hop-by-hop,dest*, routing, fragmentation ESP Trailer ESP Auth Orig. IP header ESP Dest.Opt.* TCP Data Santa Clara University
IPv6 Packet Size issues • IPv6 requires that every link in the internet have an MTU of 1280 octets or greater. • For link that cannot convey a 1280-octet packet in one piece, link-specific fragmentation and reassembly must be provided at a layer below IPv6. • MTU of 1500 octets or greater is recommended, to accommodate possible encapsulations (i.e., tunneling) without incurring IPv6-layer fragmentation. • Implementation of Path MTU Discovery [RFC-1981] is strongly recommended for IPv6 nodes in order to discover and take advantage of path MTUs greater than 1280 octets. Santa Clara University
IPv6 Addressing (Contd.) • IPv6 addresses are 128-bit identifiers for interfaces and sets of interfaces, not nodes. • There are three types of addresses: • Unicast: An identifier for a single interface. A packet sent to a unicast address is delivered to the interface identified by that address. • Anycast: An identifier for a set of interfaces.A packet sent to an anycast address is delivered to one of the interfaces identified by that address -the "nearest" one, according to the routing protocols' measure of distance. • Multicast: An identifier for a set of interfaces. A packet sent to a multicast address is delivered to all interfaces identified by that address. Santa Clara University
IPv4 Addressing • There are no broadcast addresses in IPv6 their function being superseded by multicast addresses. • There are three conventional forms for representing IPv6 addresses as text strings: (1) The preferred form is x:x:x:x:x:x:x:x, where the 'x's are the hexadecimal values of the eight 16-bit pieces of the address, for e.g. • EDC:BA98:7654:3210:FEDC:BA98:7654:3210. • 1080:0:0:0:8:800:200C:417A. • leading zeros in an individual field are optional, but there must be at least one numeral in every field. Santa Clara University
IPv4 Addressing (Contd.) 2) For easier writing of addresses containing zero "::" symbol is used for multiple groups of 16-bits of zeros. • The "::" can only appear once in an address. • The "::" can also be used to compress the leading and/or trailing zeros in an address. For example., • FF01:0:0:0:0:0:0:101 is represented as FF01::101. • 0:0:0:0:0:0:0:1 is represented as ::1. • 1080:0:0:0:8:800:200C:417A is represented as 1080::8:800:200C:417A. • 0:0:0:0:0:0:0:0 is represented as :: Santa Clara University
IPv4 Addressing (Contd.) 3) x:x:x:x:x:x:d.d.d.d, where the 'x's are the hexadecimal values of the six high-order 16-bit pieces of the address, and the 'd's are the decimal values of the four low-order 8-bit pieces of the address (Standard IPv4 implementation) for e.g., • 0:0:0:0:0:0:13.1.68.3 in compressed form ::13.1.68.3 • 0:0:0:0:FFFF:129.144.52.38 in compressed form ::FFFF:129.144.52.38 • Several forms of unicast address assignment in IPv6 • The global unicast address • The NSAP address • The IPX hierarchical address • The site-local address • The link-local address, and the IPv4-capable host address Santa Clara University
IPv6 Auto-configuration • Auto-configuration is one of the greatest advantages of IPv6 because it greatly reduces time and money spent managing and configuring systems. • The auto-configuration process includes creating a link-local address, verifying its uniqueness on a link and determining what information should be auto-configured. • Stateful – Using Server. • Stateless - Serverless. • Auto-configuration also helps mobile computers to receive forwarding address automatically, whenever they connect to network. Santa Clara University
IPv6 Auto-configuration (Contd.) • Using stateless auto-configuration IPv6 node creates unique local IPv6 address for itself where it combines MAC address with a prefix provided by the network router. • No need for manually configured server. • This approach is used when a site is not particularly concerned with the exact addresses hosts use, so long as the addresses are unique and properly routable. • The general goals of stateless auto-configuration are that small sites consisting of a set of machines attached to a single link and large sites with multiple networks should not require the presence of a stateful address configuration server. Santa Clara University
Transition to IPv6 • There are three objectives desired for successful transition to IPv6. • The main objective is for IPv6 and IPv4 hosts to communicate with one another. • Another is for IPv6 routers and hosts to be arranged throughout the Internet in a very precise structure that is spread out, which has no interdependencies. • The last objective would be to have the transition be as easy as possible for the professional users and end users to understand. • The NGTrans working group of IETF is attempting to get IPv4 devices to speak across IPv6 networks. Santa Clara University
Transition to IPv6 (Contd.) • Tools are being defined to ease the IPv6 integration and co-existence. • The use of a dual IP layer in IPv6 will support both IPv4 and IPv6 in hosts and routers. • Configured tunneling of IPv6 over IPv4: Point-to-point tunnels made by encapsulating IPv6 packets within IPv4 headers to carry them over IPv4 routing infrastructures. • The "6-to-4" transition mechanism specifies a routing prefix. Santa Clara University
Transition to IPv6 (Contd.) • When using an IPv4 NAT, 6-to-4 mechanisms remain valid, and the NAT device includes a fully functional IPv6 router with the 6-to-4 mechanism included. • Automatic tunneling of IPv6 over IPv4: A mechanism for using IPv4-compatible addresses to automatically tunnel IPv6 packets over IPv4 networks. • Additional transition and compatibility mechanisms are expected to be developed in the future, with new documents being written to specify them. Santa Clara University
Implementations of IPv6 • IPv6 implementations are being developed for many different host operating systems and routers. Many are now shipping products. • This includes host implementations by Apple, BSDI, Bull, Digital, Epilogue, FreeBSD, FTP Software, Hitachi, HP, IBM, INRIA, Interpeak, Linux, Mentat, Microsoft, NetBSD, Nokia, Novell, NRL, NTHU, OpenBSD, Pacific Softworks, Process Software, SICS, SCO, Siemens Nixdorf, Silicon Graphics, Sun, UNH, and WIDE. • Router implementations by 3Com, 6WIND, Bay Networks, Cisco Systems, Digital, Hitachi, IBM, Merit (routing protocols), Nokia, NTHU, Sumitomo Electric, and Telebit Communications. Santa Clara University
IPv6 Deployment ? • Biggest question is when we will be able to reap advantages of next generation networks developed by IPv6. • There is no “flag day” and IPv4 and its attendant devices will be around for the long time. • Possibility is that we will live in dual IP world for at least another 8-10 years. • Working in favor of IPv6 deployment are many factors like soaring increase in mobile devices and corresponding lack of addresses, tremendous growth of internet and tremendous security, manageability and product/service potential of IPv6. Santa Clara University
IPv6 Deployment ? • IPv6 has been adopted as protocol for next generation networks by the Third Generation partnership project (3GPP) a world wide standards setting organization. • This endorsement is greatly helping in adoption of IPv6. • Also, in Asian countries, the governments and enterprises are aggressive in using IPv6 , and Internet providers have began offering its service. • Different Vendors are now supporting different strategies for deployment. • Different markets are now emerging its not all 3G wireless now. Santa Clara University
Challenges • Key immediate-need (IETF specs in process) MIPv6, Multihoming, and DHCPv6. • Need more transition and integration tools for Network Operators to deploy IPv6. • Need to make sure required infrastructure from IPv4 is moved to IPv6. • For e.g. Intrusion Detection, Database, Directory Services, Printers, Utilities. • IPv6 Firewalls missing from Implementation State. Santa Clara University
References • RFC 2460, Internet Protocol, Version 6 (IPv6) Specification . • RFC 2402, Authentication Header specification. • RFC 2406 Encapsulating Security payload Specifications. • RFC 2373 IPv6 Addressing Architecture. • RFC 2893 Transition Mechanisms for IPv6 hosts and routers. • An overview of the introduction of IPv6 in the Internet <draft-ietf-ngtrans-introduction-to-ipv6-transition-08.txt> www.ietf.org. • IPv6 Technology overview www.compaq.com/ipv6. • www.6bone.net/ngtrans. • IPv6 Ready Deployment EU IPv6 Task Force Geneva Meeting at ITU January 15thJanuary 15th2002. Santa Clara University