Key Points The IPv6 address space is 128 bit as compared to the 32 bits used in the IPv4 address space. This allows for significantly more addresses in than IPv4. However, this address space is also designed for routing flexibility. As a result, the addresses are not allocated very efficiently. Question: How does allocating 64 bits for host ID result in less efficient addressing?
Unicast addresses come in several types: Global unicast address Link-Local Address Anonymous Address Unique Local Address
The structure of global IP Address The First 48-bits of address are the global routing prefix The Next 16-bit are the subnet ID Up to 65,536 unique subnets The Final 64-bit are the interface ID
The link-local address is to be used on a single link (network segment) and should never be routed. There is another form of the local-link IPv6 address called the Extended User Interface 64-bit (EUI-64) format. This is derived by using the MAC address of the physical interface and inserting an FFFE between the third and fourth bytes of the MAC. The first byte is also made 02 (this sets the universal/local or U/L bit to 1 as defined in IEEE 802 frame specification). Again looking at Figure 2.15, the EUI-64 address would take the physical (MAC) address 00-03-FF-11-02-CD and make the link-local IPv6 address FE80::0203:FFFF:FE11:02CD. (We’ve left the preceding zeros in the link-local IPv6 address to make it easier for you to pick out the MAC address with the “FFFE” inserted.)
The First half of the address is written as “FE80::” FE00:0000:0000:0000 The Second half of the address represent the interface ID.
The structure of ULAs: The First 7-bits are always [1111 110] and the 8th –bit is set to 1 Local Address = FD00::/8 The next 40-bits represent the global ID is randomly generated value that identifies a site within your organization The next 16-bits represent the subnet ID The last 64-bits are the interface ID
Encapsulates IPv4 inside IPv6 and performs NAT-type function Automatic tunnel addressing protocol providing IPv6 addresses based upon the IPv4 address of the end interface (node). Intended for use inside a private network.
Key Points The Neighbor Discovery (ND) protocol for IPv6 is a series of Internet Control Message Protocol for IPv6 (ICMPv6) messages that manage the interaction of neighboring nodes (nodes on the same link). ND replaces the broadcast-based Address Resolution Protocol (ARP), ICMPv4 Router Discovery, and ICMPv4 Redirect messages with more efficient multicast and unicast ND messages. Question: Is there any benefit to using ND for address resolution rather than ARP?
The limitations of IPv4 are: Limited number of addresses Routing difficult to manage Host configuration is complex No built in security Limited Quality of Service
Improvements in IPv6 include: Built in QoS (Quality Of Service) More efficient routing Simpler host configuration Better prioritized delivery support Redesigned headers for efficient processing and extensibility Built-in security ▪ IP security through the use of IPSec is an integral part of IPv6, whereas it was an optional feature under IPv4. Increased address space ▪ providing 2128 (about 340 billion) unique addresses.
The IPv6 address space is: 128 bits address, or 16 bytes for addressing of four hexadecimal digits, separated by colons 8 groups of 4 Hex characters ▪ using eight groups Displayed in hexadecimal ▪ Characters: 0-9, A-F Allows routing flexibility
An example of an IPv4 IP address 192 .168.1.101 An example of an IPv6 IP address 2001:0DB8:85A3:08D3:1319:8A2E:0370:7334 3FFE:0501:0008: 0000:0260: 97FF:FE40:EFAB ▪ 3FFE:501:8:0:260:97FF:FE40:EFAB ▪ 3FFE:501:8::260:97FF:FE40:EFAB
Decimal 0 1 2 3 4 5 6 7Hex 0 1 2 3 4 5 6 7Binary 0000 0001 0010 0011 0100 0101 0110 0111Decimal 8 9 10 11 12 13 14 15Hex 8 9 A B C D E FBinary 1000 1001 1010 1011 1100 1101 1110 1111
IPv6 addresses are: Can use zero compression ▪ Eliminate consecutive zeros “: :” ▪ “Leading” Use a prefix to define the network portion of address rather than a subnet mask. Two Parts ▪ 64 bit network component ▪ 64 bit host component
:0: stands for :0000: You can omit preceding 0s in any 16-bit word. :DB8: and :0DB8: are equivalent. A series of sequential zeroes the address can be shortened to use a single zero in each group, or else the entire grouping can be represented using a double colon (: :). 2001:0000:0000:0000:0000:0000:0000:7334 = 2001:0:0:0:0:0:0:7334 = 2001::7334 :: can be used only once in an address IPv6 Loopback Is ::1
The address 2001:0DB8:0000:0000:1234:0000:A9FE:133E Compress :0000: into :0: 2001:0DB8:0000:0000:1234:0:A9FE:133E Eliminate preceding zeros: 2001:DB8:0000:0000:1234:0:A9FE:133E Use the special variable shortcut for multiple 0s: 2001:DB8::1234:0:A9FE:133E
Do you subnet IPv6? If you are given 32 bits of network from your ISP, you have 96 bits to work with. If you use some of the 96 bits to route within your network infrastructure, then you are subnetting. Client Configuration Manual ▪ Required for routers Automatically ▪ From routers ▪ DHCPv6 servers
There are three types of addresses in IPv6: Type Description Anycast Equivalent to IPv4 unicast Unicast Additional unicast address types Multicast Equivalent to IPv4 multicast
Anycast Visually similar to global Many destination hosts with the same address ▪ Address assigned to multiple devices. Finds nearest based on router cost ▪ When an anycast packet is sent, it is delivered to one of the devices, usually the closest one.
Unicast A unicast packet uniquely identifies an interface of an IPv6 device. Unicast addresses come in several types: ▪ Global unicast address ▪ Link-Local Address ▪ Unique Local Address
Global Addresses (GAs) Equivalent of public addresses in IPv4. Address space is defined as 2000::/3 ▪ High level bits 001 ▪ First block value between 2000-3FFF
Link-Local Address (LLAs) Similar to APIPA addresses Self-configured, non-routable Provides automatic communication on local subnet Defined as FE80:: /10.
FE80+54 bits “0” +64 bits ▪ The last 8 bytes (64 bits) are random Extended User Interface 64-bit (EUI-64) format ▪ MAC-FFFE-MAC ▪ MAC 00044 B 18 EE6C =0004:4BFF:FE18:EE6C Always get link-local, even with DHCP
Multicast address One-to-Many communication packets. Multicast packets are identifiable by their first byte. Defined as FF00::/8 In the second byte shown (the “00” of FF00), the second 0 is what’s called the scope. ▪ Interface-local is 01, and link-local is 02 ▪ FF01:: is an interface-local multicast. There are several well-known multicast addresses Ex: if you want to send a packet to all nodes in the link- local scope, ▪ You send the packet to FF02::1 (FF02:0:0:0:0:0:0:1). ▪ The all-routers multicast address is FF02::2
Address Prefix Scope of Use2000:: /3 Global unicast space prefixFE80:: /10 Link-local address prefixFC00:: /7 Unique local unicast prefixFF00:: /8 Multicast prefix2001:DB8:: /32 Global unicast prefix use for documentation::1 - ::/1 Reserved local loopback address2001:0000: /32 Teredo prefix (discussed later in this chapter)2002:: /16 6to4 prefix (discussed later in this chapter)
New Header Format Not supported by current IPv4 routers Router Upgrade Required Before Moving To IPv6
Dual stack Running both IPv4 and IPv6 on the same network Utilizing the IPv4 address space for devices using only IPv4 addresses and utilizing the IPv6 address space for devices using IPv6 addresses Tunneling Using an encapsulation scheme for transporting one address space inside another Address translation Using a higher-level application to transparently change one address type (IPv4 or IPv6) to the other so end devices are unaware one address space is talking to another
IPv6 Tunneling Several tunneling mechanisms for tunneling IPv6 through the IPv4 address space. Used for unicast IPv6 communication across an IPv4 infrastructure. They include the following: ▪ Intra-Site Automatic Tunnel Addressing Protocol (ISATAP) ▪ 6to4 ▪ Teredo
Intra-Site Automatic Tunnel Addressing Protocol (ISATAP) Allows IPv6 and IPv4 hosts to communicate through a ISATAP router ▪ By performing a type of address translation between IPv4 and IPv6. Intended for use inside a private network. Enabled by default in Windows Server 2008. ▪ “Tunnel Adapter Local Area Connection* 8” IPv4 embedded in IPv6 ▪ e.g., FE80::5EFE:192.168.1.5 All ISATAP clients receive an address for an ISATAP interface. The format of an ISATAP address is as follows: ▪ [64bits of prefix] [32bits indicating ISATAP] [32bits IPv4 Address]
ISATAP routers allows IPv4-only and IPv6- only hosts to communicate with each other
6to4 Tunnels IPv6 traffic over IPv4 through 6to4 routers. Similar to ISATAP, but designed for public network (Internet) ▪ Intended to be used on the Internets. IPv4 is encapsulated in IPv6 Requires 6to4 routers ▪ Router has public IP 2002:/16 prefix ▪ Router advertises 2002: subnet ::/64 ▪ hosts auto configure 6to4 address
6to4 allows IPv6-only hosts to communicate over the Internet
Toredo Similar to 6 to4 but unnecessary to upgrade edge routers. Toredo is used (Preferred) only when no other IPv6 translation is available. Allows clients behind an IPv4 NAT to use IPv6 on the Internet Enabled by default in Windows Server 2008. ▪ “Tunnel Adapter Local Area Connection* 9” 2001::/32 prefix 64 64 32 prefix Teredo IPv4 Internet ID Hex
Neighbor Discovery is a set of messages and processes that determine relationships between neighboring nodes. Some of the ND functions are: Router discovery Prefix discovery Parameter discovery Address auto-configuration Address resolution Duplicate address detection