TOPICS Why IPv6 Why IPv6 How IPv6 Developed How IPv6 Developed Basic functions & of IPv6 Basic functions & Offerings of IPv6 Changes From IPv4 to IPv6 Changes From IPv4 to IPv6 Header Format Header Format Network Addressing Network Addressing Special IPv6 addresses Special IPv6 addresses Extension Headers
Why IPv6 IPv6 is the next generation of the Internet Protocol. It will eventually replace IPv4. The development and the expand in using the internet created heavy demand for new IP address. The 32 bits of IPv4 will be exhausted so there will be need for larger one. 75% of IPv4 space allocated to US, only 25% for the rest of the world.
How IPv6 Developed The current version (IPv4) is running out of addresses and become too complex to manage. It is designed to interoperate with IPv4 because it need many years for this transition The Internet Engineering Task Force (IETF) began to solve the problem of exhaustion for IPv4. By 1994, the new version of IPv6 was invented.
Basic functions of IPv6 It retain the most basic service provided by IPv4. It is connectionless delivery service. IPv6 has the ability to support the functions do not work will with IPv4 and the new emerging applications such as - real-time video conferencing. IPv6 leaps from 32 to 128-bit addressing.
IPv6 Offerings Increased address space. Improved efficiency in routing and packet handling. Support for auto configuration and plug and play. Support for embedded IPSec. Enhanced support for Mobile IP and mobile computing devices. Elimination of the need for network address translation (NAT). Support for widely deployed routing protocols. Increased number of multicast addresses, and improved support for multicast.
Changes From IPv4 to IPv6 (1/3) Longer address field : - Length of IPv4 is 32bits while it is 128 bits for IPv6. - Provides more level of hierarchy. - It can support up to 3.4 x 10 hosts. Simplified header format: - Some of the headers like checksum and IHL do not appear in IPv6.
Changes From IPv4 to IPv6 (2/3) Flexible Support for Options: - Options in IPv6 appear in optional extension headers. - More efficient and flexible. Flow label capability: - To identify a certain packet “flow”
Changes From IPv4 to IPv6 (3/3) Security: confidentiality. Large Packets: longer than 64K bytes called “jumbo” payloads. Fragmentation at source only: check the minimum MTU along the path. No checksum field: to reduce packet processing time in a router.
IPv6 Value Proposition Engineered to Perform Uses a 32-bit address Running out of internet addresses System management is complex and slow Incredibly successful 20 + years old Uses 128-bit addressing Enough address space to give every human on the planet a unique IP address Less Infrastructure Maintenance and complexity required More efficient Mobile IP = seamless service availability Architecture of the future = Next Generation internet IPv4 IPv6
Header Format Consist of a required basic header and optional extension header. Packets transmitted in network byte order. The IPV6 address are four times as large as the IPV4 address. The header length is only twice as big.
The IPv4 header 0 bits31 VerIHLTotal Length IdentifierFlagsFragment Offset 32 bit Source Address 32 bit Destination Address 482416 Service Type Options and Padding Header ChecksumProtocol RemovedChanged Time to Live
The IPv6 header 031 VersionClassFlow Label Payload LengthNext HeaderHop Limit 128 bit Source Address 128 bit Destination Address 4122416
Header Format ( 1/2) The header consist of the following field: Version: at the beginning stays un changed. The traffic class: specifies the priority of the packet. Flow label: defined as” a sequence of packets sent to a particular destination. ex: packet video system must delivered within a certain time constraint. Hosts don’t support this field ( set to 0).
Header Format ( 2/2) Payload length: the length of the data. Next header : identifies the type of the extension header, similar to options in IPv4 that follow the basic header. Hop limit: the number of hops that packet can travel. Source and destination address.
Network Addressing IPv6 address is 128 bits long. Sufficient for many years. More flexibility in terms of address allocation. It is divided into three categories: Unicast addresses – single network interface. Multicast addresses – group of network interfaces, at different locations. –packet will be sent to all network interfaces in the group. 1 2
Network Addressing 3 Anycast addresses – group of network interfaces – packet will be sent only to one network interface in the group (nearest one). The broadcast address supported with a multicast address. IPv6 uses hexadecimal digits for every for bits and separates every 16 bits with a colon. 3
Network Addressing Example of an IPv6: 4BF5:AA12:0216:FEBC:BAF5:039A:BE9A:2176 Often IPv6 can be shortened to more compact form: 1 when the 16-bits field has some leading zeros 4BF5:0000:0000:0000:BAF5:039A:000A:2176 4BF5:0:0:0:BAF5:39A:A:2176 1
Network Addressing 2 when consecutive zero-valued fields appear 4BF5:0:0:0:BAF5:39A:A:2176 can be shortened by [double colon (::)] 4BF5::BAF5:39A:A:2176 - To recover the original address from one containing a double colon: you take the non-zero value that appear to the left of the double colons and align them to the left and the number to the right align them to the right and set zeros between them. 2
Network Addressing The dotted-decimal notation of IPv4 can be mixed with the new hexadecimal notation: e.g. ::FFFF:220.127.116.11 Less than 30 percent of the address space has been assigned and the remaining saved for the future. Most types are assigned for unicast addresses. Address allocations are organized by types, which are in turn classified according to prefixes ( leading bits of the address).
Network Addressing Address types based on prefixes Address types based on prefixes
Special IPv6 addresses 1 The address 0::0 is called unspecified address and is never used as a destination address. It is used as a source address when station wants to learn its address. 2 The address ::1 is used for loopback. 3 IP mapped addresses used to indicateIPv4 hosts and routers that don’t support IPv6. It consists of 80 bits of zeros, followed by 16 bits of 1s, and then by 32 bits of IPv4 address. 1 2 3
Special IPv6 addresses 4 IPv4 compatible addresses needed during the transition period where an IPv6 packet needs to be “tunneled” across an IPv4 network. They are used by IPv6 routers and hosts that directly connected to an IPv4 network. It consists of 96 bits of zeros followed by 32 bits of IPv4 address. Example: IPv4 address 18.104.22.168 can be converted to an IPv4 compatible IPv6 :: 22.214.171.124 4
Special IPv6 addresses 5 Provider – based unicast addresses are identified by the prefix 010. It appears that these addresses will be mainly used by the internet service providers to assign addresses to their subscribers. 5
Extension Headers To support extra functionalities that are not provides by the basic header. IPv6 allows number of extension headers between the basic header and the payload. Extension headers act like options in IPv4. More efficiently and flexibility. There are six extension headers has been defined.
Extension Headers The extension header are daisy chained by the next header field. The following figure illustrates of the next header field. A consequence of the daisy-chain formation is that the extension headers must be processed in the order which they appear in the packet.
Extension Headers Daisy-chain extension headers. TCP segment Routing header Next header = fragment TCP segment Authentication Header Next header = TCP Fragment header Next header = Authentication Basic header Next header = TCP Basic header Next header = TCP
Some Uses of Extension Headers LARGE BACKET - IPv6 allows a payload size of more than 64K by using an extension header. - used by super computers. FRAGMENTATION - fragmentation performed by the source only which make the routers process packets faster.
Some Uses of Extension Headers SOURCE ROUTING - Allows the source host to specify the sequence of routers to be visited by a packet to reach the destination. - It is defined by routing extension header.