Cisco CCNP ROUTE Implementing IPv6

cisco-ccnp-route-ipv6-1


Cisco CCNP ROUTE IPv4 Concerns

cisco-ccnp-route-ipv6-2

Modern address translation techniques such as NAT and PAT have greatly decreased the deployment of IPv6. Let’s move on and take a look at IPv6


Cisco CCNP ROUTE Differences Between IPv4 and IPv6

cisco-ccnp-route-ipv6-3

IPv6 is a powerful enhancement to IPv4. There are several features in IPv6 that offer functional improvements. What IP developers learned from using IPv4 suggested changes to better suit current and foreseeable network demands:

Larger address space: Larger address space includes several enhancements: improved global reachability and flexibility; the aggregation of prefixes that are announced in routing tables; multihoming to several Internet service providers (ISPs); autoconfiguration that can include link-layer addresses in the address space; plug-and-play options; and public-to private readdressing end to end without address translation; and simplified mechanisms for address renumbering and modification.

Simpler header: A simpler header offers several advantages over IPv4: better routing efficiency for performance and forwarding-rate scalability; no broadcasts and thus no potential threat of broadcast storms; no requirement for processing checksums; simpler and more efficient extension header mechanisms; and flow labels for per-flow processing with no need to open the transport inner packet to identify the various traffic flows.

IPv6 increases the number of address bits by a factor of 4, from 32 to 128. This factor enables a very large number of addressable nodes; however, as in any addressing scheme, not all the addresses are used or available.

Current IPv4 protocol address use is extended by applying techniques such as NAT and temporary address allocations. But the manipulation of data payload by intermediate devices challenges (or complicates) the advantages of peer-to-peer communication, end-to-end security, and quality of service (QoS).

IPv6 gives every user multiple global addresses that can be used for a wide variety of devices, including cell phones, personal digital assistants (PDAs), and IP-enabled vehicles. Quadrupling the available 32-bit IPv4 address space to 128 bits, IPv6 addresses the need for always-on environments. These addresses are reachable without using IP address translation, pooling, and temporary allocation techniques.

Increasing the number of bits for the address also increases the IPv6 header size. Because each IP header contains a source and a destination address, the size of the header fields that contains the addresses is 256 bits for IPv6 compared to 64 bits for IPv4.


Cisco CCNP ROUTE IPv4 Header

cisco-ccnp-route-ipv6-4

The basic IPv4 header has a fixed size of 20 octets. The variable-length options field increases the size of the total IP header. IPv6 contains five of the 12 IPv4 basic header fields. The IPv6 header does not require the other seven fields.  The IPv6 header has 40 octets in contrast to the 20 octets in IPv4. IPv6 has a smaller number of fields, and the header is 64-bit aligned to enable fast processing by current processors. Address fields are four times larger than in IPv4.   The IPv6 header contains these fields:

Version: A 4-bit field, the same as in IPv4. It contains the number 6 instead of the number 4 for IPv4.

Traffic Class: An 8-bit field similar to the type of service (ToS) field in IPv4. It tags the packet with a traffic class that it uses in differentiated services (DiffServ). These functionalities are the same for IPv6 and IPv4.

Flow Label: A completely new 20-bit field. It tags a flow for the IP packets. It can be used for multilayer switching techniques and faster packet-switching performance.

Payload Length: Similar to the Total Length field of IPv4.

Next Header: The value of this field determines the type of information that follows the basic IPv6 header. It can be a transport-layer packet, such as TCP or UDP, or it can be an extension header. The next header field is similar to the Protocol field of IPv4.

Hop Limit: This field specifies the maximum number of hops that an IP packet can traverse. Each hop or router decreases this field by one (similar to the Time to Live

[TTL] field in IPv4). Because there is no checksum in the IPv6 header, the router can decrease the field without recomputing the checksum. On IPv4 routers the recomputation costs processing time.

Source Address: This field has 16 octets or 128 bits. It identifies the source of the packet.  

Destination Address: This field has 16 octets or 128 bits. It identifies the destination of the packet.  

Extension Headers: The extension headers, if any, and the data portion of the packet follow the eight fields. The number of extension headers is not fixed, so the total length of the extension header chain is variable.

 

Cisco CCNP ROUTE IPv6 Header

cisco-ccnp-route-ipv6-5

The IPv6 header has 40 octets in contrast to the 20 octets in IPv4. IPv6 has a smaller number of fields, and the header is 64-bit aligned to enable fast processing by current processors. Address fields are four times larger than in IPv4. When multiple extension headers are used in the same packet, the order of the headers should be as follows:

  • IPv6 header: This header is the basic header described in the previous figure.

2. Hop-by-hop options header: When this header is used for the router alert (Resource Reservation Protocol [RSVP] and Multicast Listener Discovery version 1 [MLDv1]) and the jumbogram, this header (value = 0) is processed by all hops in the path of a packet. When present, the hop-by-hop options header always follows immediately after the basic IPv6 packet header.

3. Destination options header (when the routing header is used): This header (value = 60) can follow any hop-by-hop options header, in which case the destination options header is processed at the final destination and also at each visited address specified by a routing header. Alternatively, the destination options header can follow any Encapsulating Security Payload (ESP) header, in which case the destination options header is processed only at the final destination. For example, mobile IP uses this header.

4. Routing header: This header (value = 43) is used for source routing and mobile IPv6.

5. Fragment header: This header is used when a source must fragment a packet that is larger than the MTU for the path between itself and a destination device. The fragment header is used in each fragmented packet.

6. Authentication header and Encapsulating Security Payload header: The authentication header (value = 51) and the ESP header (value = 50) are used within IPsec to provide authentication, integrity, and confidentiality of a packet. These headers are identical for both IPv4 and IPv6.

7. Upper-layer header: The upper-layer (transport) headers are the typical headers used inside a packet to transport the data. The two main transport protocols are TCP (value = 6) and UDP (value = 17).


Cisco CCNP ROUTE IPv6 Address Structure

cisco-ccnp-route-ipv6-6

IPv6 is the solution to many of the limitation in addressing that are inherent to IPv4.  Why aren’t we all using it yet?  Well, there would be an overwhelming task of readdressing networks and upgrading applications.

IPv6 increases the amount of address space available in IPv4 by quadrupling the amount of available address.  IPv6 provides 128 bits for addressing versus IPv4’s 32 bits.

IPv6 Addresses are represented in HEX versus the Dotted Decimal format offered in IPv4.  Colons separate 8 16-bit hex fields, which are portions of the 128 bit address.

Here are the rules that govern the IPv6 address format:

Hex numbers are not case sensitive

Leading 0s in any 16 bit field can be dropped and represented by colons

A pair of colons (::) indicates the successive 16 bit fields of 0s have been dropped.  It can represent any number of 0 fields so FF00:0000:0000:0000:0000:0000:0000:00AB could also be written as FF00::AB.

Only on pair of colons is allowed in any address, because the process would not be able to tell how many 0s should be replaced in each location.

Giving the above rules, lets now evaluate the IPv6 address: 1026:0000:1999:0000:0000:0AC0:1016:2002

This Address, following our stated rules can also be written as: 1026:0:1999::0Ac0:1016:2002


Cisco CCNP ROUTE IPv6 Address Scope Types

cisco-ccnp-route-ipv6-7

Broadcasting in IPv4 results in a number of problems. Broadcasting generates a number of interrupts in every computer on the network and, in some cases, triggers malfunctions that can completely halt an entire network. This disastrous network event is known as a “broadcast storm.”

In IPv6, broadcasting does not exist. Broadcasts are replaced by multicasts and anycasts. Multicast enables efficient network operation by using a number of functionally specific multicast groups to send requests to a limited number of computers on the network. The multicast groups prevent most of the problems that are related to broadcast storms in IPv4.

The range of multicast addresses in IPv6 is larger than in IPv4. For the foreseeable future, allocation of multicast groups is not being limited.

IPv6 also defines a new type of address called an anycast address. An anycast address identifies a list of devices or nodes; therefore, an anycast address identifies multiple interfaces. A packet sent to an anycast address is delivered to the closest interface—as defined by the routing protocols in use—identified by the anycast address.

Anycast addresses are syntactically indistinguishable from global unicast addresses because anycast addresses are allocated from the global unicast address space.


Cisco CCNP ROUTE IPv6 Unicast Addressing

cisco-ccnp-route-ipv6-8

The IPv6 global unicast address is the equivalent of the IPv4 global unicast address. A global unicast address is an IPv6 address from the global unicast prefix.

The structure of global unicast addresses enables aggregation of routing prefixes that limits the number of routing table entries in the global routing table.

Global unicast addresses used on links are aggregated upward through organizations and eventually to the Internet service providers (ISPs).

Global unicast addresses are defined by a global routing prefix, a subnet ID, and an interface ID. The IPv6 unicast address space encompasses the entire IPv6 address range, with the exception of FF00::/8 (1111 1111), which is used for multicast addresses.

The current global unicast address assignment by the Internet Assigned Numbers Authority (IANA) uses the range of addresses that start with binary value 001 (2000::/3), which is one-eighth of the total IPv6 address space and is the largest block of assigned block addresses.

Addresses with a prefix of 2000::/3 (001) through E000::/3 (111), with the exception of the FF00::/8 (1111 1111) multicast addresses, are required to have 64-bit interface identifiers in the extended universal identifier (EUI)-64 format.

The IANA is allocating the IPv6 address space in the ranges of 2001::/16 to the registries.

The global unicast address typically consists of a 48-bit global routing prefix and a 16-bit subnet ID. In the now obsolete RFC 2374, An IPv6 Aggregatable Global Unicast Address Format, the global routing prefix included two other hierarchically structured fields called Top-Level Aggregator and Next-Level Aggregator. Because these fields were policy-based, the Internet Engineering Task Force (IETF) decided to remove them from the RFCs. However, some existing IPv6 networks deployed in the early days might still be using networks based on the older architecture. A 16-bit subnet field called Subnet ID could be used by individual organizations to create their own local addressing hierarchy and to identify subnets. This field allows an organization to use up to 65,535 individual subnets. (RFC 2374 has now been replaced by RFC 3587, IPv6 Aggregatable Global Unicast Address Format.)


Cisco CCNP ROUTE IPv6 Multicast

cisco-ccnp-route-ipv6-9

The multicast addresses, FF00:: to FF0F::, are reserved. Within that range, the following are some examples of assigned addresses (there are many more assignments made; assignments are tracked by the Internet Assigned Numbers Authority [IANA]):

FF02::1 — All nodes on link (link-local scope)

FF02::2 — All routers on link

FF02::9 — All Routing Information Protocol (RIP) routers on link

FF02::1:FFXX:XXXX — Solicited-node multicast on link, where XX:XXXX is the rightmost 24 bits of the corresponding unicast or anycast address of the node. (Neighbor solicitation messages are sent on a local link when a node wants to determine the link-layer address of another node on the same local link, similar to Address Resolution Protocol [ARP] in IPv4.)

FF05::101 — All Network Time Protocol (NTP) servers in the site (site-local scope)

The site-local multicast scope has an administratively assigned radius and has no direct correlation to the (now deprecated) site-local unicast prefix of FEC0::/10.