Sei sulla pagina 1di 15

ICT212 ADVANCED ROUTING

Research Report 1
IPv6 Addressing Scheme
Nigel Sanou 3/06/2011

This report purposes to describe Internet Protocol version 6 (IPv6) and it addressing scheme showing comparison to the still widely used Internet Protocol version 4 (IPv4). This will contain information on its functionality, operation and compatibility (including different methods of transition to the newer protocol). Furthermore this report will outlay the new routing protocols needed for IPv6 and distinct differences to their IPv4 counterparts.

Contents
Introduction ................................................................................................................ 2 IPv4 ............................................................................................................................ 2 IPv4 address allocation........................................................................................... 2 Classful addresses ................................................................................................. 2 CIDR ....................................................................................................................... 3 NAT ........................................................................................................................ 3 IPv6 Addressing ......................................................................................................... 3 Address length ........................................................................................................ 3 Address types ......................................................................................................... 4 Address classes...................................................................................................... 5 Subnet masks ......................................................................................................... 5 Address allocation .................................................................................................. 5 IPv6 packets............................................................................................................... 7 Packet header ........................................................................................................ 7 Extension headers .................................................................................................. 8 ICMPv6 ...................................................................................................................... 8 Neigbor Discovery protocol..................................................................................... 9 Mobility ..................................................................................................................... 11 Security .................................................................................................................... 11 Transitioning............................................................................................................. 11 Transition Methods ............................................................................................... 12 Routing protocols .................................................................................................. 13 Conclusion ............................................................................................................... 13 References ............................................................................................................... 14

Page 1 of 14

Introduction
In the past decades the Internet has experienced a great deal of growth. Some of the driving factors contributing to this growth of user uptake include; the popularity of Internet enabled mobile devices such as PDAs, smart phones and notebook computers and enterprising innovations like Internet banking and ecommerce. All these developments means that the widely complied to internetworking protocol; Internet Protocol version 4 is beginning to reach limitations of scale in its addressing architecture. Due to the lack of address space in IPv4s 32 bit addressing scheme and IANAs (Internet Assigned Numbers Authority) hierarchal delegation of addresses globally routable IPv4 addresses will soon be exhausted. IPv6, in full: Internet Protocol version 6, has been created to address scalability issues emerging in the aging IPv4. IPv6 is a 128 bit addressing scheme that like IPv4 operates at layer three of the OSI model. Asides from the benefits of its bit length the protocol offers numerous other features, including; built in IPsec security, simplified packet headers and improved functionality in a mobile environment. [1] [2] [3]

IPv4
To properly understand IPv6 it is important to look at it in comparison with IPv4 as for the most part it behaves very similarly. Since inception, IPv4 has been the most commonly implemented internetworking protocol in the world and as of now is still more prominent than IPv6. Due to IPv4s success its 32 bits of addressing space is now not big enough. Without any reservations IPv4 has the potential to provide 4,294,967,296 unique addresses (2 ). This part of the report will look into the limiting aspects of IPv4 and measures that were introduced to extend the functional life of the protocol. IPv4 address allocation The fact that not all IPv4 addresses are globally routable significantly reduces the protocols scalability on the Internet. Excluding multicast and private address ranges the public IPv4 addressing ranges only allow for approximately 4.01 billion unique, globally routable addresses. Classful addresses One of the original expansions to IPv4 was that different address classes where assigned, allowing addresses to define more networks with less hosts and vise versa. Default prefixes meant that each address class was defined by a whole other octet, this structure was not conducive to the ever growing internet environment; however prior to this every network had to be defined by the first octet of the address. Page 2 of 14

The IPv4 address ranges, including public and private, are as follows: Class A: 0.0.0.0 to 127.0.0.0 /8 meaning the leftmost octet addresses the network and rightmost three octets address hosts. Note: 127.0.0.0/8 is reserved for device loopbacks and cannot be assigned. Class B: 128.0.0.0 to 191.0.0.0 /16 meaning the leftmost two octets address the network and rightmost two octets address hosts. Class C: 192.0.0.0 to 223.0.0.0 /24 meaning the leftmost three octets address the network and rightmost octet addresses hosts. Class D: Class D addresses are reserved for multicast communication. 224.0.0.0 to 239.0.0.0 /28. There was also an address class defined for use in experimentation; called class E. CIDR One of the largest, and probably most lifetime enhancing, amendments made to IPv4 was the advent of Classless Inter-Domain Routing (CIDR). CIDR was introduced by the Internet Engineering Task Force (IETF) in 1993, instead of all networks fitting inside the aforementioned classes they could be subnetted to have a prefix on any bit; known as a bitwise prefix or a Variable Length Subnet Mask (VLSM). Not all routing protocols functioned properly with classless addresses as the subnet mask was not sent over them and the classful boundary of any given address was assumed; so new routing protocols were developed. Classful routing was never called as such until the introduction of CIDR. NAT NAT or Network Address Translation is a stopgap measure that was introduced to slow the exhaustion of IPv4 addresses. It allows many private IPv4 addresses to act as one, or a small number of, public address(es). Although NAT in its self is an ingenious workaround, it can be limiting in some applications, especially at the enterprise level [3] [4] [5]

IPv6 Addressing
Address length IPv6 addresses are 128 bits long and for convenience are not written in quad-dotted notation [2] like in IPv4; instead addresses are represented in eight different 16 bit sections, sometimes referred to as words. These sections are separated by colons (:) and each 16 bit word is represented by four hexadecimal digits. For example: 2001:0db8:85a3:0000:0000:8a2e:0370:7334 [2] this address could be considered as Page 3 of 14

being written in longhand as multiple sections of consecutive zeros can be represented by removing the consecutive zeros leaving double colons (::) like the highlighted group above; which could be represented like: 2001:0db8:85a3::8a2e:0370:7334. However removing consecutive zeros can only be done once within an address to provide reference points for devices to work back and forward from. Also any leading zeros within a section can be dropped, so the above address can be represented even shorter: 2001:db8:85a3::8a2e:370:7334. The amount of unique addresses available with 128 bits of addressing space makes or IPv4 look insignificant. IPv6 provides the potential for over 340 undecillion (2 340,282,366,920,938,463,463,374,607,431,770,000,000) unique addresses. A number this large is hard to give any worldly comparison to but it is easily more than one address per grain of sand on earth. Address types Hosts on an IPv6 network operate with two different types of addresses on an interface, one called a Link-local address, which is unique to a link, and a global address which is universally unique. Link-local: A local link is defined by the Layer 2 broadcast domain on which a given host exists. To be notable all link local addresses are prefixed with fe80::/10. Link-local addresses can be automatically generated on by a host utilizing this default Linklocal prefix and its interface identifier. The last 64 bits (right hand side or host portion) of an IPv6 address is called the interface identifier, they must be unique to a link or Layer 2 domain and can be dynamically created using the Layer 2 address of an interface. In an Ethernet environment this part of the IPv6 address can be dynamically identified from the 48 bit MAC address of an interface, but has to be injected with an extra 16 bits to fill the full 64 bit interface identifier this is called EUI64 (Extended Unique Identifier 64-bit) format. The hexadecimal characters FFFE are injected in the middle of the MAC address, in between vendor code and OUI (Organizationally Unique Identifier). An interface identifier can either be local or universal (globally significant). Link-local addresses are heavily used in ICMPv6, for functions such as Neigbor Solicitation and advertisements. They can also be used for standard communication within a LAN. Automatic generation of link local addresses means that if IPv6 is enabled on a number of devices connected to a switch no other configuration is required to allow local communication. Asides from Ethernet environments; interface identifiers can also be dynamically generated on a number of other Layer 2 technologies, such as: PPP, HDLC and Frame Relay. IPv4 also has Link-local addressing (using the reserved block of addresses: 169.254.0.0/16) however in most cases an interface can only hold one IPv4 address Page 4 of 14

and auto configuration is not widespread so IPv4 Link-local addresses are rarely utilized. Global: The global address of an interface has to be universally unique; as it is used for any communication beyond the local link. With the current allocations from IANA a global address should start with 2001. Address classes IPv6 has three different classes (not like classes A, B,C in IPv4 classes) of address; unicast, multicast and anycast. Broadcast addresses are no longer needed and do not exist in IPv6. Unicast: Unicast addresses are used for one to one communication (when the exact address is known). Most routed traffic would fall under this category. In IPv6 unicast addresses should have a /64 prefix. Multicast: multicast addresses are used to send packets to multiple destinations; any hosts on a network that are listening to the particular multicast address will respond. Multicast packets are not generally used for standard traffic instead being used for operational things like ICMPv6 messages. Multicast addresses reduce network overhead as not all devices are sent to. Anycast: Anycast addressing is a new concept introduced by IPv6; working similarly to anycasting in routing protocols, it allows a packet to go to a number of probable receivers which have the same destination address. This feature is part of IPv6 to aid the transition between IPv4 and IPv6 networking. Subnet masks As in IPv4 subnet masks in IPv6 define the network part (prefix) and the host part of a given address. Due to their length IPv6 subnet masks are written in CIDR notation. For unicast addresses the mask or prefix should always be /64 meaning that the first 64 bits of an address is the network on which the host presides and the second 64 bits are the address of the host (the interface identifier). The / notation always defines the network, not the host. Address allocation IANA (Internet Assigned Numbers Authority) is the authority responsible for the hierarchical delegation of IPv6 addresses. Due to IPv6s massive addressing space IANA has not released the whole of unicast addresses range for use. In fact currently only the 2001::/16 block has been allocated for use and only 12.5% of addresses in this one block have been released for use with registries. Page 5 of 14

[6] The above diagram demonstrates how unicast address space is divided all the way to the LAN level. The small strip on each column relates to the larger area on the proceeding column. IANAs space: IANA has so far only allocated a very small amount of the address space available in IPv6s address length. From the 2001:: /16 range it has given each Regional Internet Registries a /23 block. Registry space: There is five Regional Internet Registries:

[7]Each registry is responsible for allocating address space to service providers in their respective geographical locations. From their /23 block they are able to issue service providers with /32 blocks, meaning that any given RIR has the potential to issue addresses to 512 service providers. Provider space: Service providers will be issued with /32 block from which they can offer /48 blocks to customers; this structure allows each service provider to issue 65,536 customer Page 6 of 14

spaces; however it is likely that in most instances /48 blocks would only be issued to corporate customers and providers would reserve some /48 blocks to issue network addresses to residential customers. Customer space: With a /48 block a customer space has the potential for as many networks as a provider space has for customer spaces. There can be no network with a prefix greater then /64. [1] [2] [6] [7] [8]

IPv6 packets
Packet header One improvement in IPv6 that it has a simplified packet header, this will allow for improved routing speeds and less processor overhead on routers compared to IPv4. Despite IPv6 addresses being four times the length of IPv4, IPv6 packet headers are only double the size of IPv4 headers, 40 octets rather than 20. The all-important source and destination addresses still feature at the end of the header, however the amount of fields in the header are reduced in IPv6:

[6] The above diagram shows the differences between a IPv4 header (left) and a IPv6 header (right). The version field has a 4 bit length in each protocol; it actually labels the header with a 4 for IPv4 or a 6 for IPv6, this is the reason it still leads the header, to identify to network devices. The traffic class defines the type of traffic for the purposes of quality of service (QoS) it carries the same essential functionality as the type of service field in the IPv4 header. The traffic class will define the priority that is put on the packet. This functionality is being utilized more and more in unified communications e.g. giving VoIP traffic priority over HTTP traffic. Page 7 of 14

The flow label field in IPv6 does not have a relative in IPv4 as it was designed to benefit multi-layer switches which were non-existent at the inception of IPv4. It allows multi-layer switches and routers to look at traffic in flows rather than dealing with all the individual packets, a similar method as route once switch many technology. IPv6 packet headers have a field called payload length field, the total length field in IPv4, this fields 16 bits can represent total packet size in bytes the highest being 64 kilobytes. The next header field lets devices know the transport layer protocol in the next header of the packet; the counterpart to the protocol field in IPv4. Alternatively if an extension header is the next header, the field will denote that. The last field before the source and destination address fields is hop limit, an 8 bit field comparative to the time to live field in IPv4 headers; it specifies the maximum amount of hops a packet can be routed over before it is dropped. As checksum has been removed in IPv6 when a packet moves a hop the hop limit can be diminished by one without the need for the resource intensive recalculation of a checksum. As data-link layer error correction is fairly good IPv6 has been engineered without a checksum in the header. For further reliability upper layer checksums are mandate with IPv6. Extension headers Usually following the IPv6 header data is the next part of the packet; however IPv6 has additional options which are added as extension headers in between the standard header and data. There are seven types of extension headers, any number of which can be added in a packet. Multiple extension headers have to be added in a specific order after the IPv6 header: 1. Hop-by-hop options header: is the only extension header that need to be processed by each hop in a route. 2. Destination options header: 3. Routing header: 4. Fragment header: 5. AH header and ESP header: Authentication header and Encapsulating Security 6. Upper-layer header. [1] [6] [2]

ICMPv6
As denoted ICMPv6 (Internet Control Message Protocol version 6) has been created for use with IPv6. ICMPv6 is similar to ICMPv4 but is improved to integrate better with the TCP/IP protocol stack. ICMPv6 is integral to the operation of IPv6; involved in a number of processes including the ones in the Neighbour Discovery Protocol. Page 8 of 14

There is a lot of ICMPv6 message types; each with a unique type number. An ICMPv6 message type is defined in an ICMPv6 option header, which in the next header field of an IPv6 packet header represented with the decimal number 58:

[9]The above diagram shows the structure of an IPv6 packet with an ICMPv6 option header attached; the 58 is in the next header field tells the device this header is following. The value in the ICMP Type field defines the message type; the most commonly used types are as follows: Type Message Description 001 Destination Unreachable 002 Packet Too Big 003 Time Exceeded 004 Parameter Problem 128 Echo Request 129 Echo Reply 130 Group Membership Query 131 Group Membership Report 132 Group Membership Reduction 133 Router Solicitation 134 Router Advertisement 135 Neighbor Solicitation 136 Neighbor Advertisement 137 Redirect 151 Multicast Router Advertisement 152 Multicast Router Solicitation There are many other ICMPv6 message types, which are used for extra features of IPv6 such as mobility, as well as a number set aside for research and development. Neigbor Discovery protocol Neighbor Discovery protocol (ND) is integral to the operation of IPv6; it is IPv6s counterpart to the Address Resolution Protocol (ARP) used in the operation of IPv4, however umbrellas more than just address resolution in ICMPv6. The Neighbor Page 9 of 14

Discovery protocol formalizes neighbour discovery operations from ICMPv4 into a protocol. ND has a number of facets which can be looked at in two categories: host to router functions and host to host functions; as shown in the tables below:

[10]In operation ND uses ICMPv6 messages. In IPv6 multicast addresses are used for these types of functions; some communication in IPv4 used broadcast addresses, now in IPv6 they are not used as to reduce unnecessary communication with by standing devices. Link-local addressing is used for the source addresses and destination addresses for replies in ND: Address Resolution: Neighbor Solicitation (NS) and Neighbor Advertisement (NA) messages take over the role of ARP from IPv4:

ICMP type: Source: Destination: Data: Query:

135 (NS) A Solicited-node multicast of B (FF02::1:FFxx.xxxx) Link-layer address of A What is your local-link address?

[6]The above graphic demonstrates what is sent in a Neighbor Solicitation. NSs are sent to a default Solicited-node multicast address with the source address of the sending host. The Layer 2 address of sender is sent as data, and the link-local address of receiving host is queried. All hosts listening to the Solicited-node multicast address respond with a Neighbor Advertisement:

Page 10 of 14

ICMP type: Source: Destination: Data:

136 (NA) B A Link-layer address of B

[6]As shown above; the responding host(s) send an NA message with their Link-local address as the source to the Link-local address of the host from which they received the solicitation. The payload of the packet contains the Layer 2 address. After this process the hosts are able to communicate as they have the correct Layer 3 unicast addresses as well as the required Layer 2 addresses. For example in an Ethernet environment two hosts would now be able to communicate across a switch. Router Discovery: Router Discovery is essential in any WAN connected environment (i.e. for global addressing). Routers listen for Router Solicitation messages (RS) sent to the FF02::2 multicast address, from a host and replies with a Router Advertisement message (RA). From these messages Stateless Address Auto Configuration (SLAAC) of hosts can take place as the host now knows the global network prefix from the router. The RAs also contain information on the Maximum Transmission Unit for MTU Discovery. [6] [1] [2] [9] [10]

Mobility
The architecture of IPv6 addressing naturally lends its self to the mobile environment; however MIPv6 (Mobile Internet Protocol version 6) has been defined. As what could be called a sub protocol of IPv6 MIPv6 adds a set of features specifically relating to mobility. With standard IPv6 a mobile host could potentially hold the same address within the autonomous system of a service provider; for example: a mobile phone could operate with its original address even when it connects to a different phone tower. This sort of functionality offers a range of new uses for mobile devices, previously not viable with IPv4 addressing. However MIPv6 is even more beneficial allowing for global mobility with a mobile device being able to hold the same unique address across autonomous systems. [2] [1]

Security
IPv6 can natively handle IPsec; previously an option in IPv4. The native support is handled in extension headers added to the standard IPv6 packet header. This ability should allow for simplified security setups, more efficient use of bandwidth and reduced overhead on devices. [1] [2] Page 11 of 14

Transitioning
It is likely that IPv4 and IPv6 will coexist for a long time; there is already a growing mass of interconnected IPv6 autonomous systems, which is being referred to as Internet 2. For continued operation of the internet these islands of IPv6 networks will need to link back to IPv4 ones. A number of ways to allow this communication have been engineered. These methods can also provide legacy support for IPv4 only devices. Transition Methods Dual stack: The dual stack transition methodology takes advantage interfaces ability to retain an IPv4 address as well as IPv6 Link-local and global addresses. The basic concept of its operation is that all hosts on a given network have IPv4 and IPv6 addresses and the router routes over an IPv4 connection or IPv6 connection when required. With the growing IPv6 Internet eventually all traffic will be IPv6 bound and the IPv4 structure can be decommissioned. One disadvantage to this method is that all the network devices on a network have to work with practically twice the load. Tunnelling: There are a few different types of tunnel that can be used to transition to IPv6; but essentially IPv6 packets need to be encapsulated in IPv4 packets or vice versa:

[6]This diagram shows two IPv6 networks interconnected across an IPv4 cloud using a 6to4 tunnel, the routers at each end are dual stack as to accommodate networks on either side. NAT-PT and NAPT-PT: Network Address Translation + Protocol Translation and Network Address Port Translation + Protocol Translation are essentially the same; the latter however only translating to one address not a range. These two transition methods line up with NAT and PAT used in IPv4. The added features are that they now translate between IPv4 and IPv6 rather than between IPv4 addresses and have to translate the destination address as well.

Page 12 of 14

[6]The above topology shows NAT-PT translating the source and destination outbound from an IPv6 network towards an IPv4 network. Routing protocols Although routing methods did not need to change for IPv6; old protocols could not support the structure and address length of IPv6 so new protocols had to be defined: IPv4 Routing protocol IPv6 Equivalent RIPv2 RIPng (next generation) OSPFv2 OSPFv3 EIGRP EIGRP for IPv6 BGP Multiprotocol BGP version 4 Apart from the added support for the longer address and multicasting the general operation of these IPv6 protocols are not dis-similar to their IPv4 counterparts, the configuration of the protocols however is dramatically different, for example on a Cisco router the newer protocols are now configured on the interfaces. [1] [6]

Conclusion
In the coming years IPv6 will become common place, to get there it will not only be a transition for technology and networks but a shift in thought and training for network administrators and others in IT. World IPv6 day is scheduled for 8 June 2011 on which a number of major websites ISPs etc. will start large scale trials of IPv6 infrastructure; this sort of encouragement should help buoy exciting technological development. [11]

Page 13 of 14

References
[1] Diane Teare, Implementing Cisco IP Routing (ROUTE) Foundation Learning Guide, Mary B Ray, Ed. Indianapolis, United States of America: Cisco Press, 2010. [2] Wikipedia. (2011, April) IPv6 http://en.wikipedia.org/wiki/IPv6_address address Wikipedia. [Online].

[3] Cisco Systems, CCNA 1 and 2 Companion Guide, 3rd ed., John Kane, Ed. San Jose, United States of America: Cisco Press, 2005. [4] Wikipedia. (2011, May) IPv4 Wikipedia. [Online]. http://en.wikipedia.org/wiki/IPv4 [5] Wikipedia. (2011, May) Classless Inter-Domain Routing Wikipedia. [6] Cisco Systems. (2010) Implementing IPv6 in the Enterprise Network. Slides. [7] Wikipedia. (2011, May) Regional Internet registry http://en.wikipedia.org/wiki/Regional_Internet_registry [8] Wikipedia. (2011, May) http://en.wikipedia.org/wiki/Anycast Anycast Wikipedia. [Online].

Wikipedia.

[Online].

[9] alantalkstech. (2010, November) IPv6 Neighbor Discovery.avi Youtube. [Online]. http://www.youtube.com/watch?v=6rXn7dcj4xA [10 The TCP/IP Guide. (2005, September) IPv6 ND General Operational Overview: ] ND Functions, Functional Groups and Message Types. [Online]. http://www.tcpipguide.com/free/t_IPv6NDGeneralOperationalOverviewNDFunctio nsFunctio.htm [11 Test IPv6. (2011) World IPv6 day. [Online]. http://test-ipv6.com/ipv6day.html ]

Please note that citations have been added specifically to diagrams and graphics but for the general topic they have been listed at the end of each main heading.

Page 14 of 14

Potrebbero piacerti anche