Tuesday, 28 April 2020

IPV6 ADDRESSING













IPV6 ADDRESSING


Can IoT networking drive adoption of IPv6? | Network World

IPv6 Basics:

Ø  In response to the address shortage, IPv6 was developed.
Ø  IPv6 increases the address size to 128 bits, providing a nearly unlimited supply of addresses (340,282,366,920,938,463,463,374,607,431,768,211,456 to be exact).
Ø  This provides roughly 50 octillion addresses per person alive on Earth today, or roughly 3.7 x 1021 addresses per square inch of the Earth’s surface.

IPv6 offers the following features:
Ø  Increased Address Space and Scalability – providing the absurd number of possible addresses stated previously.
Ø  Simplified Configuration – allows hosts to auto-configure their IPv6 addresses, based on network prefixes advertised by routers.
Ø  Integrated Security – provides built-in authentication and encryption into the IPv6 network header
Ø  Compatibility with IPv4 – simplifies address migration, as IPv6 is backward-compatible with IPv4

The IPv6 Address:

Ø  The IPv6 address is 128 bits, as opposed to the 32-bit IPv4 address. Also unlike IPv4, the IPv6 address is represented in hexadecimal notation, separate by colons.
Ø  Each “grouping” of hexadecimal digits is 16 bits, with a total of eight fields. The hexadecimal values of an IPv6 address are not case-sensitive.
Ø  We can drop any leading zeros in each field of an IPv6 address.

     Example:
            1423:0021:0C13:CC1E:3142:0001:2222:3333
Ø  We can condense that address to: 1423:21:C13:CC1E:3142:1:2222:3333
Ø  we can further compact the following address: F12F:0000:0000:CC1E:2412:1111:2222:3333
Ø  The condensed address would be: F12F::CC1E:2412:1111:2222:3333
Ø  Notice the double colons.

The IPv6 Prefix:
Ø  IPv4 utilizes a subnet mask to define the network “prefix” and “host”portions of an address. This subnet mask can also be represented in Classless Inter-Domain Routing (CIDR) format.
Ø  IPv6 always use CIDR notation to determine what bits notate the prefix of an address:
Ø  Full Address: 1254:1532:26B1:CC14:123:1111:2222:3333/64
Ø  Prefix ID: 1254:1532:26B1:CC14:
Ø  Host ID: 123:1111:2222:3333
Ø  The /64 indicates that the first 64 bits of this address identify the prefix.

The IPv6 Interface ID and EUI-64 Format:

Ø  The host portion of an IPv4 address is not based on the hardware address of an interface.
Ø  IPv4 relies on Address Resolution Protocol (ARP) to mapbetween the logical IP address and the 48-bit hardware MAC address.
Ø  IPv6 unicasts generally allocate the first 64 bits of the address to identify thenetwork (prefix), and the last 64 bits to identify the host (referred to as the interface ID).
Ø  The interface ID is based on the interface’s hardware address.
Ø  This interface ID adheres to the IEEE 64-bit Extended Unique Identifier (EUI-64) format. Since most interfaces still use the 48-bit MAC address, theMAC must be converted into the EUI-64 format.
Ø  Consider the following MAC address: 1111.2222.3333. The first 24 bits, the Organizationally Unique Identifier (OUI), identify the manufacturer.
The last 24 bits uniquely identify the host. To convert this to EUI-64 format:
1. The first 24 bits of the MAC (the OUI), become the first 24 bits of the EUI-64 formatted
    interface ID.
2. The seventh bit of the OUI is changed from a “0” to a “1”.
3. The next 16 bits of the interface ID are FFFE.
4. The last 24 bits of the MAC (the host ID), become the last 24 bits of the interface ID.
Ø  Thus, the MAC address 1111.2222.3333 in EUI-64 format would become 1311:22FF:FE22:3333, which becomes the interface ID.

The IPv6 Address Hierarchy:
Ø  IPv4 separated its address space into specific classes. The class of an IPv4 address was identified by the high-order bits of the first octet:
Class A - (00000001 – 01111111, or 1 - 127)
Class B - (10000000 – 10111111, or 128 - 191)
Class C - (11000000 – 11011111, or 192 - 223)
Class D - (11100000 – 11101111, or 224 - 239)
Ø  IPv6’s addressing structure is far more scalable.
Ø  Less than 20% of the IPv6address space has been designated for use, currently. The potential for growth is enormous.
Ø  The address space that has been allocated is organized into several types, determined by the high-order bits of the first field:
Special Addresses – addresses begin 00xx:
Link Local – addresses begin FE8x:
Site Local – addresses begin FECx:
Aggregate Global – addresses begin 2xxx: or 3xxx:
Multicasts – addresses begin FFxx:
Anycasts
There are no broadcast addresses in IPv6. Thus, any IPv6 address that is not a multicast is a unicast address.
Anycast addresses:
Ø  It identify a group of interfaces on multiple hosts.
Ø  Thus, multiple hosts are configured with an identical address. Packets sent to an anycast address are sent to the nearest (i.e., least amount of hops) host.
Ø  Anycasts are indistinguishable from any other IPv6 unicast address.
Ø  Practical applications of anycast addressing are a bit murky.
Ø  One possible application would be a server farm providing an identical service or function, in which case anycast addressing would allow clients to connect to the nearest server.

Special (Reserved) IPv6 Addresses:
Ø  The first field of a reserved or special IPv6 address will always begin 00xx.
Ø  Reserved addresses represent 1/256th of the available IPv6 address space.
Ø  Various reserved addresses exist, including:
         0:0:0:0:0:0:0:0 (or ::) – is an unspecified or unknown address.
Ø  It is the equivalent of the IPv4 0.0.0.0 address, which indicates the absence of a configured or assigned address.
Ø  In routing tables, the unspecified address is used to identify all or any possible hosts or networks.
         0:0:0:0:0:0:0:1 (or ::1) – is the loopback or localhost address.
Ø  It is the equivalent of the IPv4 127.0.0.1 address.

Reserved Addresses - IPv4 and IPv6 Compatibility:
Ø  To alleviate the difficulties of immediately migrating from IPv4 to IPv6, specific reserved addresses can be used to embed an IPv4 address into anIPv6 address.
Ø  Two types of addresses can be used for IPv4 embedding, IPv4-compatible IPv6 addresses, and IPv4-mapped IPv6 addresses.
0:0:0:0:0:0:a.b.c.d (or ::a.b.c.d) – is an IPv4-compatible IPv6 address.
Ø  This address is used on devices that support both IPv4 and IPv6.
Ø  A prefix of /96 is used for IPv4-compatible IPv6 addresses:
::192.168.1.1/96
0:0:0:0:0:FFFF:a.b.c.d (or ::FFFF:a.b.c.d) – is an IPv4-mapped IPv6 address.
Ø  Again, a prefix of /96 is used for IPv4-mapped IPv6 addresses:
::FFFF:192.168.1.1/96
Link-Local IPv6 Addresses:
Ø  Link-local IPv6 addresses are used only on a single link (subnet).
Ø  Any packet that contains a link-local source or destination address is never routed
Ø  to another link.
Ø  Every IPv6-enabled interface on a host (or router) is assigned a link-local address. This address can be manually assigned, or auto-configured.
Ø  The first field of a link-local IPv6 address will always begin FE8x (11111110 10).
Ø  Link-local addresses are unicasts, and represent 1/1024th of the available IPv6 address space.
Ø  A prefix of /10 is used for link-local addresses.
          FE80::1311:22FF:FE22:3333/10
There is no hierarchy to a link-local address:
• The first 10 bits are fixed (FE8), known as the Format Prefix (FP).
• The next 54 bits are set to 0.
• The final 64 bits are used as the interface ID.
Aggregate Global IPv6 Addresses:
Ø  Aggregate Global IPv6 addresses are the equivalent of “public” IPv4 addresses.
Ø  Aggregate global addresses can be routed publicly on the Internet.
Ø  Any device or site that wishes to traverse the Internet must be uniquely identified with an aggregate global address.
Ø  Currently, the first field of an aggregate global IPv6 address will always begin 2xxx (001). Aggregate global addresses are unicasts, and represent 1/8th of the available IPv6 address space.
2000::2731:E2FF:FE96:C283/64
Aggregate global addresses adhere to a very strict hierarchy:
• The first 3 bits are the fixed FP.
• The next 13 bits are the top-level aggregation identifier (TLA ID).
• The next 8 bits are reserved for future use.
• The next 24 bits are the next-level aggregation identifier (NLA ID).
• The next 16 bits are the site-level aggregation identifier (SLA ID).
• The final 64 bits are used as the interface ID.
By have multiple levels, a consistent, organized, and scalable hierarchy is maintained.
Multicast IPv6 Addresses:
Ø  Multicast IPv6 addresses are the equivalent of IPv4 multicast addresses.
Ø  Interfaces can belong to one or more multicast groups. Interfaces will accept a multicast packet only if they belong to that group.
Ø   Multicasting provides a much more efficient mechanism than broadcasting, which requires that every host on a link accept and process each broadcast packet.
Ø  The first field of a multicast IPv6 address will always begin FFxx (11111111).
Ø  The full multicast range is FF00 through FFFF. Multicasts represent 1/256th of the available IPv6 address space.
FF01:0:0:0:0:0:0:1
Multicast addresses follow a specific format:
• The first 8 bits identify the address as a multicast (1111 1111)
• The next 4 bits are a flag value. If the flag is set to all zeroes (0000),
The multicast address is considered well-known.
• The next 4 bits are a scope value:
0000 (0) = Reserved
0001 (1) = Node Local Scope
0010 (2) = Link Local Scope
0101 (5) = Site Local Scope
1000 (8) = Organization Local Scope
1110 (e) = Global Scope
1111 (f) = Reserved
Ø  The final 112 bits identify the actual multicast group.
Ø  IPv4 multicast addresses had no mechanism to support multiple “scopes.”

Common IPv6 Multicast Addresses:
The following is a list of common, well-known IPv6 multicast addresses:
Node-Local Scope Multicast Addresses 
• FF01::1 – All-nodes address
• FF01::2 – All-routers address
Link-Local Scope Multicast Addresses
• FF02::1 – All-nodes address
• FF02::2 – All-routers address
• FF02::5 – OSPFv3 (OSPF IPv6) All SPF Routers
• FF02::6 – OSPFv3 Designated Routers
• FF02::9 – RIPng Routers
• FF02::13 – PIM Routers

Site-Local Scope Multicast Addresses
• FF05::2 – All-routers address

Ø  Thus, if you have a site-local address of:
FEC0::1111:2731:E2FF:FE96:C283
Ø  The corresponding solicited-node multicast address would be:
FF02::1:FF96:C283
Ø  Solicited-node multicast addresses are most often used for neighbor discovery (covered in an upcoming section in this guide).


IPv6 Addresses and URLs:
Ø  IPv6 addresses can also be referenced in URLs (Uniform Resource Locator).
Ø  Because IPv6 fields are separated by colons, the IPv6 address must be placed in brackets, to conform to the URL standard:

The IPv6 Header:
Ø  The IPv6 header has 8 fields and is 320 bits long. It has been considerably streamlined compared to its IPv4 counterpart, which has 12 fields and is 160 bits long.
Field                Length           Description
Version            4 bits               Version of IP (in this case, IPv6)
Traffic Class    8 bit                 Classifies traffic for QoS
Flow Label      20 bits             Identifies a flow between a source and destination
      Payload Length    16 bits              Length of data in packet
Next Header   8 bits               Specifies the next upper-layer or extension header
Hop Limit       8 bits               Decremented by each router traversed
      Source Address    128 bits            Source IPv6 address
Destination Address   128 bits           Destination IPv6 address
The Next Header field is of some importance.
Several such extension headers exist, and are usually processed in the following order:
Hop-by-Hop Options specifies options that should be processed by every router in the    path. Directly follows the IPv6 header.
Destination Options – specifies options that should be processed by the destination device.
Routing Header specifies each router the packet must traverse to reach the destination (source routing)
Fragment Header used when a packet is larger than the MTU for the path
Authentication Header – used to integrate IPSEC Authentication Header (AH) into the IPv6 packet
ESP Header – used to integrate IPSEC Encapsulating Security Payload (ESP) into the IPv6 packet




ICMPv6:
Ø  ICMP Version 6 (ICMPv6) is a core component of IPv6. All devices employing IPv6 must also integrate ICMPv6.
ICMPv6 provides many services, including (but not limited to):
• Error Messages
• Informational messages (such as echo replies for IPv6 ping)
• MTU Path Discovery
• Neighbor Discovery
There are four key ICMPv6 error messages:
Destination Unreachable (ICMP packet type 1) – indicates that the packet cannot be forwarded to its destination.
 The node sending thismessage includes an explanatory code:
0 - No route to destination
1 - Access is administratively prohibited
3 - Address unreachable
4 - Port unreachable
Packet Too Big (ICMP packet type 2) indicates the packet is larger than the MTU of the link. IPv6 routers do not fragment packets.
Instead, the Packet Too Big message is sent to the source (sending) device, which then reduces (or fragments) the size of the packet to the reported MTU.
This message is used for Path MTU Discovery (PMTUD).
Time Exceeded (ICMP packet type 3) indicates that the hop count limit has been reached,    usually indicating a routing loop
Parameter Problem (ICMP packet type 4) – indicates an error in the IPv6 header, or an IPv6 extension header.
 The node sending this message includes an explanatory code:
0 - Erroneous header field
1 - Unrecognized next-header type
2 - Unrecognized IPv6 option
Neighbor Discovery Protocol (NDP) and ICMPv6
The neighbor discovery protocol (NDP) provides a multitude of services for IPv6 enabled devices, including:
• Automatic address configuration, and prefix discovery
• Duplicate address detection
• MTU discovery
• Router discovery
• Address resolution
Ø  NDP replaces many IPv4 specific protocols, such as DHCP and ARP.
Ø  NDP utilizes ICMPv6 to provide the above services.
Ø  Periodically, IPv6 routers send out Router Advertisements (RA’s) to both announce their presence on a link, and to provide auto-configuration information for hosts.
Ø  This RA (ICMP packet type 134) is sourced from the link-local address of the sending router, and sent to the link-scope all-nodes multicast group.
Ø  A host can request an RA by sending out a Router Solicitation (RS, ICMP packet type 133) to the link-local all-routers multicast address.
Ø  A RS is usually sent when a host is not currently configured with an IP address.
The RA messages contain the following information for hosts:
• The router’s link-layer address (to be added to the host’s default router list)
• One or more network prefixes
• A lifetime (measured in seconds) for the prefix (es)
• The link MTU to the sending host.

Neighbor Solicitations (NS’s, ICMP packet type 135)
Ø  A NS message’s source address is the link-local address of the sending host,and the destination is the solicited-node multicast address of the destination host.
Ø  A neighbor will reply to a NS with a Neighbor Advertisement (NA, ICMP packet type 136). This process replaces the Address Resolution Protocol (ARP) used by IPv4, and provides a far more efficient means to learn neighbor address information.
Ø  Hosts additionally use the NS messages to detect duplicate addresses.
Ø  Before a host assigns itself an IPv6 address, it sends out a NS to ensure no other host is configured with that address.

Autoconfiguration of Hosts
Ø  Hosts can be assigned IPv6 addresses one of two ways: manually, or using autoconfiguration. Hosts learn how to autoconfigure themselves from Router Advertisements (RA’s).
Ø  Two types of autoconfiguration exist, stateless and stateful.

Stateless Autoconfiguration
Ø  A host first assigns itself a linklocal IPv6 address. It accomplishes this by combining the link-local prefix (FE8) with its interface ID (MAC address in EUI-64 format).
Ø  The host then sends a Router Solicitation multicast to the all-routers multicast address, which provides one or more network prefixes.
Ø  The host combines these prefixes with its interface ID to create its site-local (or
aggregate global) IPv6 addresses.

Stateful Autoconfiguration:
Ø  It is used in conjunction with stateless auto configuration. Stateful Auto configuration utilizes DHCPv6 to provide additional information to the host, such as DNS servers.
Ø  DHCPv6 can also be used in the event that there is no router on the link, to provide stateless auto configuration.


ADVANTAGES OF IPV6:
Ø  Ipv6 reduces the size of routing tables and makes routing more efficient
Ø  Ipv6's simplified packet header makes packet processing more efficient
Ø  Ipv6 supports multicast rather than broadcast.
Ø  Multicast allows bandwidth-intensive packet flows to be sent to multiple destinations simultaneously, saving network bandwidth
Ø  Address auto-configuration (address assignment) is built in to ipv6
Ø  IPsec, which provides confidentiality, authentication and data integrity, is baked into in ipv6.
IPV6 ADDRESSING

IPv6 Basics:
Ø  In response to the address shortage, IPv6 was developed.
Ø  IPv6 increases the address size to 128 bits, providing a nearly unlimited supply of addresses (340,282,366,920,938,463,463,374,607,431,768,211,456 to be exact).
Ø  This provides roughly 50 octillion addresses per person alive on Earth today, or roughly 3.7 x 1021 addresses per square inch of the Earth’s surface.

IPv6 offers the following features:
Ø  Increased Address Space and Scalability – providing the absurd number of possible addresses stated previously.
Ø  Simplified Configuration – allows hosts to auto-configure their IPv6 addresses, based on network prefixes advertised by routers.
Ø  Integrated Security – provides built-in authentication and encryption into the IPv6 network header
Ø  Compatibility with IPv4 – simplifies address migration, as IPv6 is backward-compatible with IPv4

The IPv6 Address:

Ø  The IPv6 address is 128 bits, as opposed to the 32-bit IPv4 address. Also unlike IPv4, the IPv6 address is represented in hexadecimal notation, separate by colons.
Ø  Each “grouping” of hexadecimal digits is 16 bits, with a total of eight fields. The hexadecimal values of an IPv6 address are not case-sensitive.
Ø  We can drop any leading zeros in each field of an IPv6 address.

     Example:
            1423:0021:0C13:CC1E:3142:0001:2222:3333
Ø  We can condense that address to: 1423:21:C13:CC1E:3142:1:2222:3333
Ø  we can further compact the following address: F12F:0000:0000:CC1E:2412:1111:2222:3333
Ø  The condensed address would be: F12F::CC1E:2412:1111:2222:3333
Ø  Notice the double colons.

The IPv6 Prefix:
Ø  IPv4 utilizes a subnet mask to define the network “prefix” and “host”portions of an address. This subnet mask can also be represented in Classless Inter-Domain Routing (CIDR) format.
Ø  IPv6 always use CIDR notation to determine what bits notate the prefix of an address:
Ø  Full Address: 1254:1532:26B1:CC14:123:1111:2222:3333/64
Ø  Prefix ID: 1254:1532:26B1:CC14:
Ø  Host ID: 123:1111:2222:3333
Ø  The /64 indicates that the first 64 bits of this address identify the prefix.

The IPv6 Interface ID and EUI-64 Format:

Ø  The host portion of an IPv4 address is not based on the hardware address of an interface.
Ø  IPv4 relies on Address Resolution Protocol (ARP) to mapbetween the logical IP address and the 48-bit hardware MAC address.
Ø  IPv6 unicasts generally allocate the first 64 bits of the address to identify thenetwork (prefix), and the last 64 bits to identify the host (referred to as the interface ID).
Ø  The interface ID is based on the interface’s hardware address.
Ø  This interface ID adheres to the IEEE 64-bit Extended Unique Identifier (EUI-64) format. Since most interfaces still use the 48-bit MAC address, theMAC must be converted into the EUI-64 format.
Ø  Consider the following MAC address: 1111.2222.3333. The first 24 bits, the Organizationally Unique Identifier (OUI), identify the manufacturer.
The last 24 bits uniquely identify the host. To convert this to EUI-64 format:
1. The first 24 bits of the MAC (the OUI), become the first 24 bits of the EUI-64 formatted
    interface ID.
2. The seventh bit of the OUI is changed from a “0” to a “1”.
3. The next 16 bits of the interface ID are FFFE.
4. The last 24 bits of the MAC (the host ID), become the last 24 bits of the interface ID.
Ø  Thus, the MAC address 1111.2222.3333 in EUI-64 format would become 1311:22FF:FE22:3333, which becomes the interface ID.

The IPv6 Address Hierarchy:
Ø  IPv4 separated its address space into specific classes. The class of an IPv4 address was identified by the high-order bits of the first octet:
Class A - (00000001 – 01111111, or 1 - 127)
Class B - (10000000 – 10111111, or 128 - 191)
Class C - (11000000 – 11011111, or 192 - 223)
Class D - (11100000 – 11101111, or 224 - 239)
Ø  IPv6’s addressing structure is far more scalable.
Ø  Less than 20% of the IPv6address space has been designated for use, currently. The potential for growth is enormous.
Ø  The address space that has been allocated is organized into several types, determined by the high-order bits of the first field:
Special Addresses – addresses begin 00xx:
Link Local – addresses begin FE8x:
Site Local – addresses begin FECx:
Aggregate Global – addresses begin 2xxx: or 3xxx:
Multicasts – addresses begin FFxx:
Anycasts
There are no broadcast addresses in IPv6. Thus, any IPv6 address that is not a multicast is a unicast address.
Anycast addresses:
Ø  It identify a group of interfaces on multiple hosts.
Ø  Thus, multiple hosts are configured with an identical address. Packets sent to an anycast address are sent to the nearest (i.e., least amount of hops) host.
Ø  Anycasts are indistinguishable from any other IPv6 unicast address.
Ø  Practical applications of anycast addressing are a bit murky.
Ø  One possible application would be a server farm providing an identical service or function, in which case anycast addressing would allow clients to connect to the nearest server.

Special (Reserved) IPv6 Addresses:
Ø  The first field of a reserved or special IPv6 address will always begin 00xx.
Ø  Reserved addresses represent 1/256th of the available IPv6 address space.
Ø  Various reserved addresses exist, including:
         0:0:0:0:0:0:0:0 (or ::) – is an unspecified or unknown address.
Ø  It is the equivalent of the IPv4 0.0.0.0 address, which indicates the absence of a configured or assigned address.
Ø  In routing tables, the unspecified address is used to identify all or any possible hosts or networks.
         0:0:0:0:0:0:0:1 (or ::1) – is the loopback or localhost address.
Ø  It is the equivalent of the IPv4 127.0.0.1 address.

Reserved Addresses - IPv4 and IPv6 Compatibility:
Ø  To alleviate the difficulties of immediately migrating from IPv4 to IPv6, specific reserved addresses can be used to embed an IPv4 address into anIPv6 address.
Ø  Two types of addresses can be used for IPv4 embedding, IPv4-compatible IPv6 addresses, and IPv4-mapped IPv6 addresses.
0:0:0:0:0:0:a.b.c.d (or ::a.b.c.d) – is an IPv4-compatible IPv6 address.
Ø  This address is used on devices that support both IPv4 and IPv6.
Ø  A prefix of /96 is used for IPv4-compatible IPv6 addresses:
::192.168.1.1/96
0:0:0:0:0:FFFF:a.b.c.d (or ::FFFF:a.b.c.d) – is an IPv4-mapped IPv6 address.
Ø  Again, a prefix of /96 is used for IPv4-mapped IPv6 addresses:
::FFFF:192.168.1.1/96
Link-Local IPv6 Addresses:
Ø  Link-local IPv6 addresses are used only on a single link (subnet).
Ø  Any packet that contains a link-local source or destination address is never routed
Ø  to another link.
Ø  Every IPv6-enabled interface on a host (or router) is assigned a link-local address. This address can be manually assigned, or auto-configured.
Ø  The first field of a link-local IPv6 address will always begin FE8x (11111110 10).
Ø  Link-local addresses are unicasts, and represent 1/1024th of the available IPv6 address space.
Ø  A prefix of /10 is used for link-local addresses.
          FE80::1311:22FF:FE22:3333/10
There is no hierarchy to a link-local address:
• The first 10 bits are fixed (FE8), known as the Format Prefix (FP).
• The next 54 bits are set to 0.
• The final 64 bits are used as the interface ID.
Aggregate Global IPv6 Addresses:
Ø  Aggregate Global IPv6 addresses are the equivalent of “public” IPv4 addresses.
Ø  Aggregate global addresses can be routed publicly on the Internet.
Ø  Any device or site that wishes to traverse the Internet must be uniquely identified with an aggregate global address.
Ø  Currently, the first field of an aggregate global IPv6 address will always begin 2xxx (001). Aggregate global addresses are unicasts, and represent 1/8th of the available IPv6 address space.
2000::2731:E2FF:FE96:C283/64
Aggregate global addresses adhere to a very strict hierarchy:
• The first 3 bits are the fixed FP.
• The next 13 bits are the top-level aggregation identifier (TLA ID).
• The next 8 bits are reserved for future use.
• The next 24 bits are the next-level aggregation identifier (NLA ID).
• The next 16 bits are the site-level aggregation identifier (SLA ID).
• The final 64 bits are used as the interface ID.
By have multiple levels, a consistent, organized, and scalable hierarchy is maintained.
Multicast IPv6 Addresses:
Ø  Multicast IPv6 addresses are the equivalent of IPv4 multicast addresses.
Ø  Interfaces can belong to one or more multicast groups. Interfaces will accept a multicast packet only if they belong to that group.
Ø   Multicasting provides a much more efficient mechanism than broadcasting, which requires that every host on a link accept and process each broadcast packet.
Ø  The first field of a multicast IPv6 address will always begin FFxx (11111111).
Ø  The full multicast range is FF00 through FFFF. Multicasts represent 1/256th of the available IPv6 address space.
FF01:0:0:0:0:0:0:1
Multicast addresses follow a specific format:
• The first 8 bits identify the address as a multicast (1111 1111)
• The next 4 bits are a flag value. If the flag is set to all zeroes (0000),
The multicast address is considered well-known.
• The next 4 bits are a scope value:
0000 (0) = Reserved
0001 (1) = Node Local Scope
0010 (2) = Link Local Scope
0101 (5) = Site Local Scope
1000 (8) = Organization Local Scope
1110 (e) = Global Scope
1111 (f) = Reserved
Ø  The final 112 bits identify the actual multicast group.
Ø  IPv4 multicast addresses had no mechanism to support multiple “scopes.”

Common IPv6 Multicast Addresses:
The following is a list of common, well-known IPv6 multicast addresses:
Node-Local Scope Multicast Addresses 
• FF01::1 – All-nodes address
• FF01::2 – All-routers address
Link-Local Scope Multicast Addresses
• FF02::1 – All-nodes address
• FF02::2 – All-routers address
• FF02::5 – OSPFv3 (OSPF IPv6) All SPF Routers
• FF02::6 – OSPFv3 Designated Routers
• FF02::9 – RIPng Routers
• FF02::13 – PIM Routers

Site-Local Scope Multicast Addresses
• FF05::2 – All-routers address

Ø  Thus, if you have a site-local address of:
FEC0::1111:2731:E2FF:FE96:C283
Ø  The corresponding solicited-node multicast address would be:
FF02::1:FF96:C283
Ø  Solicited-node multicast addresses are most often used for neighbor discovery (covered in an upcoming section in this guide).


IPv6 Addresses and URLs:
Ø  IPv6 addresses can also be referenced in URLs (Uniform Resource Locator).
Ø  Because IPv6 fields are separated by colons, the IPv6 address must be placed in brackets, to conform to the URL standard:

The IPv6 Header:
Ø  The IPv6 header has 8 fields and is 320 bits long. It has been considerably streamlined compared to its IPv4 counterpart, which has 12 fields and is 160 bits long.
Field                Length           Description
Version            4 bits               Version of IP (in this case, IPv6)
Traffic Class    8 bit                 Classifies traffic for QoS
Flow Label      20 bits             Identifies a flow between a source and destination
      Payload Length    16 bits              Length of data in packet
Next Header   8 bits               Specifies the next upper-layer or extension header
Hop Limit       8 bits               Decremented by each router traversed
      Source Address    128 bits            Source IPv6 address
Destination Address   128 bits           Destination IPv6 address
The Next Header field is of some importance.
Several such extension headers exist, and are usually processed in the following order:
Hop-by-Hop Options specifies options that should be processed by every router in the    path. Directly follows the IPv6 header.
Destination Options – specifies options that should be processed by the destination device.
Routing Header specifies each router the packet must traverse to reach the destination (source routing)
Fragment Header used when a packet is larger than the MTU for the path
Authentication Header – used to integrate IPSEC Authentication Header (AH) into the IPv6 packet
ESP Header – used to integrate IPSEC Encapsulating Security Payload (ESP) into the IPv6 packet




ICMPv6:
Ø  ICMP Version 6 (ICMPv6) is a core component of IPv6. All devices employing IPv6 must also integrate ICMPv6.
ICMPv6 provides many services, including (but not limited to):
• Error Messages
• Informational messages (such as echo replies for IPv6 ping)
• MTU Path Discovery
• Neighbor Discovery
There are four key ICMPv6 error messages:
Destination Unreachable (ICMP packet type 1) – indicates that the packet cannot be forwarded to its destination.
 The node sending thismessage includes an explanatory code:
0 - No route to destination
1 - Access is administratively prohibited
3 - Address unreachable
4 - Port unreachable
Packet Too Big (ICMP packet type 2) indicates the packet is larger than the MTU of the link. IPv6 routers do not fragment packets.
Instead, the Packet Too Big message is sent to the source (sending) device, which then reduces (or fragments) the size of the packet to the reported MTU.
This message is used for Path MTU Discovery (PMTUD).
Time Exceeded (ICMP packet type 3) indicates that the hop count limit has been reached,    usually indicating a routing loop
Parameter Problem (ICMP packet type 4) – indicates an error in the IPv6 header, or an IPv6 extension header.
 The node sending this message includes an explanatory code:
0 - Erroneous header field
1 - Unrecognized next-header type
2 - Unrecognized IPv6 option
Neighbor Discovery Protocol (NDP) and ICMPv6
The neighbor discovery protocol (NDP) provides a multitude of services for IPv6 enabled devices, including:
• Automatic address configuration, and prefix discovery
• Duplicate address detection
• MTU discovery
• Router discovery
• Address resolution
Ø  NDP replaces many IPv4 specific protocols, such as DHCP and ARP.
Ø  NDP utilizes ICMPv6 to provide the above services.
Ø  Periodically, IPv6 routers send out Router Advertisements (RA’s) to both announce their presence on a link, and to provide auto-configuration information for hosts.
Ø  This RA (ICMP packet type 134) is sourced from the link-local address of the sending router, and sent to the link-scope all-nodes multicast group.
Ø  A host can request an RA by sending out a Router Solicitation (RS, ICMP packet type 133) to the link-local all-routers multicast address.
Ø  A RS is usually sent when a host is not currently configured with an IP address.
The RA messages contain the following information for hosts:
• The router’s link-layer address (to be added to the host’s default router list)
• One or more network prefixes
• A lifetime (measured in seconds) for the prefix (es)
• The link MTU to the sending host.

Neighbor Solicitations (NS’s, ICMP packet type 135)
Ø  A NS message’s source address is the link-local address of the sending host,and the destination is the solicited-node multicast address of the destination host.
Ø  A neighbor will reply to a NS with a Neighbor Advertisement (NA, ICMP packet type 136). This process replaces the Address Resolution Protocol (ARP) used by IPv4, and provides a far more efficient means to learn neighbor address information.
Ø  Hosts additionally use the NS messages to detect duplicate addresses.
Ø  Before a host assigns itself an IPv6 address, it sends out a NS to ensure no other host is configured with that address.

Autoconfiguration of Hosts
Ø  Hosts can be assigned IPv6 addresses one of two ways: manually, or using autoconfiguration. Hosts learn how to autoconfigure themselves from Router Advertisements (RA’s).
Ø  Two types of autoconfiguration exist, stateless and stateful.

Stateless 

IPV6 ADDRESSING

IPv6 Basics:
Ø  In response to the address shortage, IPv6 was developed.
Ø  IPv6 increases the address size to 128 bits, providing a nearly unlimited supply of addresses (340,282,366,920,938,463,463,374,607,431,768,211,456 to be exact).
Ø  This provides roughly 50 octillion addresses per person alive on Earth today, or roughly 3.7 x 1021 addresses per square inch of the Earth’s surface.

IPv6 offers the following features:
Ø  Increased Address Space and Scalability – providing the absurd number of possible addresses stated previously.
Ø  Simplified Configuration – allows hosts to auto-configure their IPv6 addresses, based on network prefixes advertised by routers.
Ø  Integrated Security – provides built-in authentication and encryption into the IPv6 network header
Ø  Compatibility with IPv4 – simplifies address migration, as IPv6 is backward-compatible with IPv4

The IPv6 Address:

Ø  The IPv6 address is 128 bits, as opposed to the 32-bit IPv4 address. Also unlike IPv4, the IPv6 address is represented in hexadecimal notation, separate by colons.
Ø  Each “grouping” of hexadecimal digits is 16 bits, with a total of eight fields. The hexadecimal values of an IPv6 address are not case-sensitive.
Ø  We can drop any leading zeros in each field of an IPv6 address.

     Example:
            1423:0021:0C13:CC1E:3142:0001:2222:3333
Ø  We can condense that address to: 1423:21:C13:CC1E:3142:1:2222:3333
Ø  we can further compact the following address: F12F:0000:0000:CC1E:2412:1111:2222:3333
Ø  The condensed address would be: F12F::CC1E:2412:1111:2222:3333
Ø  Notice the double colons.

The IPv6 Prefix:
Ø  IPv4 utilizes a subnet mask to define the network “prefix” and “host”portions of an address. This subnet mask can also be represented in Classless Inter-Domain Routing (CIDR) format.
Ø  IPv6 always use CIDR notation to determine what bits notate the prefix of an address:
Ø  Full Address: 1254:1532:26B1:CC14:123:1111:2222:3333/64
Ø  Prefix ID: 1254:1532:26B1:CC14:
Ø  Host ID: 123:1111:2222:3333
Ø  The /64 indicates that the first 64 bits of this address identify the prefix.

The IPv6 Interface ID and EUI-64 Format:

Ø  The host portion of an IPv4 address is not based on the hardware address of an interface.
Ø  IPv4 relies on Address Resolution Protocol (ARP) to mapbetween the logical IP address and the 48-bit hardware MAC address.
Ø  IPv6 unicasts generally allocate the first 64 bits of the address to identify thenetwork (prefix), and the last 64 bits to identify the host (referred to as the interface ID).
Ø  The interface ID is based on the interface’s hardware address.
Ø  This interface ID adheres to the IEEE 64-bit Extended Unique Identifier (EUI-64) format. Since most interfaces still use the 48-bit MAC address, theMAC must be converted into the EUI-64 format.
Ø  Consider the following MAC address: 1111.2222.3333. The first 24 bits, the Organizationally Unique Identifier (OUI), identify the manufacturer.
The last 24 bits uniquely identify the host. To convert this to EUI-64 format:
1. The first 24 bits of the MAC (the OUI), become the first 24 bits of the EUI-64 formatted
    interface ID.
2. The seventh bit of the OUI is changed from a “0” to a “1”.
3. The next 16 bits of the interface ID are FFFE.
4. The last 24 bits of the MAC (the host ID), become the last 24 bits of the interface ID.
Ø  Thus, the MAC address 1111.2222.3333 in EUI-64 format would become 1311:22FF:FE22:3333, which becomes the interface ID.

The IPv6 Address Hierarchy:
Ø  IPv4 separated its address space into specific classes. The class of an IPv4 address was identified by the high-order bits of the first octet:
Class A - (00000001 – 01111111, or 1 - 127)
Class B - (10000000 – 10111111, or 128 - 191)
Class C - (11000000 – 11011111, or 192 - 223)
Class D - (11100000 – 11101111, or 224 - 239)
Ø  IPv6’s addressing structure is far more scalable.
Ø  Less than 20% of the IPv6address space has been designated for use, currently. The potential for growth is enormous.
Ø  The address space that has been allocated is organized into several types, determined by the high-order bits of the first field:
Special Addresses – addresses begin 00xx:
Link Local – addresses begin FE8x:
Site Local – addresses begin FECx:
Aggregate Global – addresses begin 2xxx: or 3xxx:
Multicasts – addresses begin FFxx:
Anycasts
There are no broadcast addresses in IPv6. Thus, any IPv6 address that is not a multicast is a unicast address.
Anycast addresses:
Ø  It identify a group of interfaces on multiple hosts.
Ø  Thus, multiple hosts are configured with an identical address. Packets sent to an anycast address are sent to the nearest (i.e., least amount of hops) host.
Ø  Anycasts are indistinguishable from any other IPv6 unicast address.
Ø  Practical applications of anycast addressing are a bit murky.
Ø  One possible application would be a server farm providing an identical service or function, in which case anycast addressing would allow clients to connect to the nearest server.

Special (Reserved) IPv6 Addresses:
Ø  The first field of a reserved or special IPv6 address will always begin 00xx.
Ø  Reserved addresses represent 1/256th of the available IPv6 address space.
Ø  Various reserved addresses exist, including:
         0:0:0:0:0:0:0:0 (or ::) – is an unspecified or unknown address.
Ø  It is the equivalent of the IPv4 0.0.0.0 address, which indicates the absence of a configured or assigned address.
Ø  In routing tables, the unspecified address is used to identify all or any possible hosts or networks.
         0:0:0:0:0:0:0:1 (or ::1) – is the loopback or localhost address.
Ø  It is the equivalent of the IPv4 127.0.0.1 address.

Reserved Addresses - IPv4 and IPv6 Compatibility:
Ø  To alleviate the difficulties of immediately migrating from IPv4 to IPv6, specific reserved addresses can be used to embed an IPv4 address into anIPv6 address.
Ø  Two types of addresses can be used for IPv4 embedding, IPv4-compatible IPv6 addresses, and IPv4-mapped IPv6 addresses.
0:0:0:0:0:0:a.b.c.d (or ::a.b.c.d) – is an IPv4-compatible IPv6 address.
Ø  This address is used on devices that support both IPv4 and IPv6.
Ø  A prefix of /96 is used for IPv4-compatible IPv6 addresses:
::192.168.1.1/96
0:0:0:0:0:FFFF:a.b.c.d (or ::FFFF:a.b.c.d) – is an IPv4-mapped IPv6 address.
Ø  Again, a prefix of /96 is used for IPv4-mapped IPv6 addresses:
::FFFF:192.168.1.1/96
Link-Local IPv6 Addresses:
Ø  Link-local IPv6 addresses are used only on a single link (subnet).
Ø  Any packet that contains a link-local source or destination address is never routed
Ø  to another link.
Ø  Every IPv6-enabled interface on a host (or router) is assigned a link-local address. This address can be manually assigned, or auto-configured.
Ø  The first field of a link-local IPv6 address will always begin FE8x (11111110 10).
Ø  Link-local addresses are unicasts, and represent 1/1024th of the available IPv6 address space.
Ø  A prefix of /10 is used for link-local addresses.
          FE80::1311:22FF:FE22:3333/10
There is no hierarchy to a link-local address:
• The first 10 bits are fixed (FE8), known as the Format Prefix (FP).
• The next 54 bits are set to 0.
• The final 64 bits are used as the interface ID.
Aggregate Global IPv6 Addresses:
Ø  Aggregate Global IPv6 addresses are the equivalent of “public” IPv4 addresses.
Ø  Aggregate global addresses can be routed publicly on the Internet.
Ø  Any device or site that wishes to traverse the Internet must be uniquely identified with an aggregate global address.
Ø  Currently, the first field of an aggregate global IPv6 address will always begin 2xxx (001). Aggregate global addresses are unicasts, and represent 1/8th of the available IPv6 address space.
2000::2731:E2FF:FE96:C283/64
Aggregate global addresses adhere to a very strict hierarchy:
• The first 3 bits are the fixed FP.
• The next 13 bits are the top-level aggregation identifier (TLA ID).
• The next 8 bits are reserved for future use.
• The next 24 bits are the next-level aggregation identifier (NLA ID).
• The next 16 bits are the site-level aggregation identifier (SLA ID).
• The final 64 bits are used as the interface ID.
By have multiple levels, a consistent, organized, and scalable hierarchy is maintained.
Multicast IPv6 Addresses:
Ø  Multicast IPv6 addresses are the equivalent of IPv4 multicast addresses.
Ø  Interfaces can belong to one or more multicast groups. Interfaces will accept a multicast packet only if they belong to that group.
Ø   Multicasting provides a much more efficient mechanism than broadcasting, which requires that every host on a link accept and process each broadcast packet.
Ø  The first field of a multicast IPv6 address will always begin FFxx (11111111).
Ø  The full multicast range is FF00 through FFFF. Multicasts represent 1/256th of the available IPv6 address space.
FF01:0:0:0:0:0:0:1
Multicast addresses follow a specific format:
• The first 8 bits identify the address as a multicast (1111 1111)
• The next 4 bits are a flag value. If the flag is set to all zeroes (0000),
The multicast address is considered well-known.
• The next 4 bits are a scope value:
0000 (0) = Reserved
0001 (1) = Node Local Scope
0010 (2) = Link Local Scope
0101 (5) = Site Local Scope
1000 (8) = Organization Local Scope
1110 (e) = Global Scope
1111 (f) = Reserved
Ø  The final 112 bits identify the actual multicast group.
Ø  IPv4 multicast addresses had no mechanism to support multiple “scopes.”

Common IPv6 Multicast Addresses:
The following is a list of common, well-known IPv6 multicast addresses:
Node-Local Scope Multicast Addresses 
• FF01::1 – All-nodes address
• FF01::2 – All-routers address
Link-Local Scope Multicast Addresses
• FF02::1 – All-nodes address
• FF02::2 – All-routers address
• FF02::5 – OSPFv3 (OSPF IPv6) All SPF Routers
• FF02::6 – OSPFv3 Designated Routers
• FF02::9 – RIPng Routers
• FF02::13 – PIM Routers

Site-Local Scope Multicast Addresses
• FF05::2 – All-routers address

Ø  Thus, if you have a site-local address of:
FEC0::1111:2731:E2FF:FE96:C283
Ø  The corresponding solicited-node multicast address would be:
FF02::1:FF96:C283
Ø  Solicited-node multicast addresses are most often used for neighbor discovery (covered in an upcoming section in this guide).


IPv6 Addresses and URLs:
Ø  IPv6 addresses can also be referenced in URLs (Uniform Resource Locator).
Ø  Because IPv6 fields are separated by colons, the IPv6 address must be placed in brackets, to conform to the URL standard:

The IPv6 Header:
Ø  The IPv6 header has 8 fields and is 320 bits long. It has been considerably streamlined compared to its IPv4 counterpart, which has 12 fields and is 160 bits long.
Field                Length           Description
Version            4 bits               Version of IP (in this case, IPv6)
Traffic Class    8 bit                 Classifies traffic for QoS
Flow Label      20 bits             Identifies a flow between a source and destination
      Payload Length    16 bits              Length of data in packet
Next Header   8 bits               Specifies the next upper-layer or extension header
Hop Limit       8 bits               Decremented by each router traversed
      Source Address    128 bits            Source IPv6 address
Destination Address   128 bits           Destination IPv6 address
The Next Header field is of some importance.
Several such extension headers exist, and are usually processed in the following order:
Hop-by-Hop Options – specifies options that should be processed by every router in the    path. Directly follows the IPv6 header.
Destination Options – specifies options that should be processed by the destination device.
Routing Header – specifies each router the packet must traverse to reach the destination (source routing)
Fragment Header – used when a packet is larger than the MTU for the path
Authentication Header – used to integrate IPSEC Authentication Header (AH) into the IPv6 packet
ESP Header – used to integrate IPSEC Encapsulating Security Payload (ESP) into the IPv6 packet




ICMPv6:
Ø  ICMP Version 6 (ICMPv6) is a core component of IPv6. All devices employing IPv6 must also integrate ICMPv6.
ICMPv6 provides many services, including (but not limited to):
• Error Messages
• Informational messages (such as echo replies for IPv6 ping)
• MTU Path Discovery
• Neighbor Discovery
There are four key ICMPv6 error messages:
Destination Unreachable (ICMP packet type 1) – indicates that the packet cannot be forwarded to its destination.
 The node sending thismessage includes an explanatory code:
0 - No route to destination
1 - Access is administratively prohibited
3 - Address unreachable
4 - Port unreachable
Packet Too Big (ICMP packet type 2) – indicates the packet is larger than the MTU of the link. IPv6 routers do not fragment packets.
Instead, the Packet Too Big message is sent to the source (sending) device, which then reduces (or fragments) the size of the packet to the reported MTU.
This message is used for Path MTU Discovery (PMTUD).
Time Exceeded (ICMP packet type 3) – indicates that the hop count limit has been reached,    usually indicating a routing loop
Parameter Problem (ICMP packet type 4) – indicates an error in the IPv6 header, or an IPv6 extension header.
 The node sending this message includes an explanatory code:
0 - Erroneous header field
1 - Unrecognized next-header type
2 - Unrecognized IPv6 option
Neighbor Discovery Protocol (NDP) and ICMPv6
The neighbor discovery protocol (NDP) provides a multitude of services for IPv6 enabled devices, including:
• Automatic address configuration, and prefix discovery
• Duplicate address detection
• MTU discovery
• Router discovery
• Address resolution
Ø  NDP replaces many IPv4 specific protocols, such as DHCP and ARP.
Ø  NDP utilizes ICMPv6 to provide the above services.
Ø  Periodically, IPv6 routers send out Router Advertisements (RA’s) to both announce their presence on a link, and to provide auto-configuration information for hosts.
Ø  This RA (ICMP packet type 134) is sourced from the link-local address of the sending router, and sent to the link-scope all-nodes multicast group.
Ø  A host can request an RA by sending out a Router Solicitation (RS, ICMP packet type 133) to the link-local all-routers multicast address.
Ø  A RS is usually sent when a host is not currently configured with an IP address.
The RA messages contain the following information for hosts:
• The router’s link-layer address (to be added to the host’s default router list)
• One or more network prefixes
• A lifetime (measured in seconds) for the prefix (es)
• The link MTU to the sending host.

Neighbor Solicitations (NS’s, ICMP packet type 135)
Ø  A NS message’s source address is the link-local address of the sending host,and the destination is the solicited-node multicast address of the destination host.
Ø  A neighbor will reply to a NS with a Neighbor Advertisement (NA, ICMP packet type 136). This process replaces the Address Resolution Protocol (ARP) used by IPv4, and provides a far more efficient means to learn neighbor address information.
Ø  Hosts additionally use the NS messages to detect duplicate addresses.
Ø  Before a host assigns itself an IPv6 address, it sends out a NS to ensure no other host is configured with that address.

Autoconfiguration of Hosts
Ø  Hosts can be assigned IPv6 addresses one of two ways: manually, or using autoconfiguration. Hosts learn how to autoconfigure themselves from Router Advertisements (RA’s).
Ø  Two types of autoconfiguration exist, stateless and stateful.

Stateless Autoconfiguration
Ø  A host first assigns itself a linklocal IPv6 address. It accomplishes this by combining the link-local prefix (FE8) with its interface ID (MAC address in EUI-64 format).
Ø  The host then sends a Router Solicitation multicast to the all-routers multicast address, which provides one or more network prefixes.
Ø  The host combines these prefixes with its interface ID to create its site-local (or
aggregate global) IPv6 addresses.

Stateful Autoconfiguration:
Ø  It is used in conjunction with stateless auto configuration. Stateful Auto configuration utilizes DHCPv6 to provide additional information to the host, such as DNS servers.
Ø  DHCPv6 can also be used in the event that there is no router on the link, to provide stateless auto configuration.


ADVANTAGES OF IPV6:
Ø  Ipv6 reduces the size of routing tables and makes routing more efficient
Ø  Ipv6's simplified packet header makes packet processing more efficient
Ø  Ipv6 supports multicast rather than broadcast.
Ø  Multicast allows bandwidth-intensive packet flows to be sent to multiple destinations simultaneously, saving network bandwidth
Ø  Address auto-configuration (address assignment) is built in to ipv6
Ø  IPsec, which provides confidentiality, authentication and data integrity, is baked into in ipv6.
IPV6 ADDRESSING

IPv6 Basics:
Ø  In response to the address shortage, IPv6 was developed.
Ø  IPv6 increases the address size to 128 bits, providing a nearly unlimited supply of addresses (340,282,366,920,938,463,463,374,607,431,768,211,456 to be exact).
Ø  This provides roughly 50 octillion addresses per person alive on Earth today, or roughly 3.7 x 1021 addresses per square inch of the Earth’s surface.

IPv6 offers the following features:
Ø  Increased Address Space and Scalability – providing the absurd number of possible addresses stated previously.
Ø  Simplified Configuration – allows hosts to auto-configure their IPv6 addresses, based on network prefixes advertised by routers.
Ø  Integrated Security – provides built-in authentication and encryption into the IPv6 network header
Ø  Compatibility with IPv4 – simplifies address migration, as IPv6 is backward-compatible with IPv4

The IPv6 Address:

Ø  The IPv6 address is 128 bits, as opposed to the 32-bit IPv4 address. Also unlike IPv4, the IPv6 address is represented in hexadecimal notation, separate by colons.
Ø  Each “grouping” of hexadecimal digits is 16 bits, with a total of eight fields. The hexadecimal values of an IPv6 address are not case-sensitive.
Ø  We can drop any leading zeros in each field of an IPv6 address.

     Example:
            1423:0021:0C13:CC1E:3142:0001:2222:3333
Ø  We can condense that address to: 1423:21:C13:CC1E:3142:1:2222:3333
Ø  we can further compact the following address: F12F:0000:0000:CC1E:2412:1111:2222:3333
Ø  The condensed address would be: F12F::CC1E:2412:1111:2222:3333
Ø  Notice the double colons.

The IPv6 Prefix:
Ø  IPv4 utilizes a subnet mask to define the network “prefix” and “host”portions of an address. This subnet mask can also be represented in Classless Inter-Domain Routing (CIDR) format.
Ø  IPv6 always use CIDR notation to determine what bits notate the prefix of an address:
Ø  Full Address: 1254:1532:26B1:CC14:123:1111:2222:3333/64
Ø  Prefix ID: 1254:1532:26B1:CC14:
Ø  Host ID: 123:1111:2222:3333
Ø  The /64 indicates that the first 64 bits of this address identify the prefix.

The IPv6 Interface ID and EUI-64 Format:

Ø  The host portion of an IPv4 address is not based on the hardware address of an interface.
Ø  IPv4 relies on Address Resolution Protocol (ARP) to mapbetween the logical IP address and the 48-bit hardware MAC address.
Ø  IPv6 unicasts generally allocate the first 64 bits of the address to identify thenetwork (prefix), and the last 64 bits to identify the host (referred to as the interface ID).
Ø  The interface ID is based on the interface’s hardware address.
Ø  This interface ID adheres to the IEEE 64-bit Extended Unique Identifier (EUI-64) format. Since most interfaces still use the 48-bit MAC address, theMAC must be converted into the EUI-64 format.
Ø  Consider the following MAC address: 1111.2222.3333. The first 24 bits, the Organizationally Unique Identifier (OUI), identify the manufacturer.
The last 24 bits uniquely identify the host. To convert this to EUI-64 format:
1. The first 24 bits of the MAC (the OUI), become the first 24 bits of the EUI-64 formatted
    interface ID.
2. The seventh bit of the OUI is changed from a “0” to a “1”.
3. The next 16 bits of the interface ID are FFFE.
4. The last 24 bits of the MAC (the host ID), become the last 24 bits of the interface ID.
Ø  Thus, the MAC address 1111.2222.3333 in EUI-64 format would become 1311:22FF:FE22:3333, which becomes the interface ID.

The IPv6 Address Hierarchy:
Ø  IPv4 separated its address space into specific classes. The class of an IPv4 address was identified by the high-order bits of the first octet:
Class A - (00000001 – 01111111, or 1 - 127)
Class B - (10000000 – 10111111, or 128 - 191)
Class C - (11000000 – 11011111, or 192 - 223)
Class D - (11100000 – 11101111, or 224 - 239)
Ø  IPv6’s addressing structure is far more scalable.
Ø  Less than 20% of the IPv6address space has been designated for use, currently. The potential for growth is enormous.
Ø  The address space that has been allocated is organized into several types, determined by the high-order bits of the first field:
Special Addresses – addresses begin 00xx:
Link Local – addresses begin FE8x:
Site Local – addresses begin FECx:
Aggregate Global – addresses begin 2xxx: or 3xxx:
Multicasts – addresses begin FFxx:
Anycasts
There are no broadcast addresses in IPv6. Thus, any IPv6 address that is not a multicast is a unicast address.
Anycast addresses:
Ø  It identify a group of interfaces on multiple hosts.
Ø  Thus, multiple hosts are configured with an identical address. Packets sent to an anycast address are sent to the nearest (i.e., least amount of hops) host.
Ø  Anycasts are indistinguishable from any other IPv6 unicast address.
Ø  Practical applications of anycast addressing are a bit murky.
Ø  One possible application would be a server farm providing an identical service or function, in which case anycast addressing would allow clients to connect to the nearest server.

Special (Reserved) IPv6 Addresses:
Ø  The first field of a reserved or special IPv6 address will always begin 00xx.
Ø  Reserved addresses represent 1/256th of the available IPv6 address space.
Ø  Various reserved addresses exist, including:
         0:0:0:0:0:0:0:0 (or ::) – is an unspecified or unknown address.
Ø  It is the equivalent of the IPv4 0.0.0.0 address, which indicates the absence of a configured or assigned address.
Ø  In routing tables, the unspecified address is used to identify all or any possible hosts or networks.
         0:0:0:0:0:0:0:1 (or ::1) – is the loopback or localhost address.
Ø  It is the equivalent of the IPv4 127.0.0.1 address.

Reserved Addresses - IPv4 and IPv6 Compatibility:
Ø  To alleviate the difficulties of immediately migrating from IPv4 to IPv6, specific reserved addresses can be used to embed an IPv4 address into anIPv6 address.
Ø  Two types of addresses can be used for IPv4 embedding, IPv4-compatible IPv6 addresses, and IPv4-mapped IPv6 addresses.
0:0:0:0:0:0:a.b.c.d (or ::a.b.c.d) – is an IPv4-compatible IPv6 address.
Ø  This address is used on devices that support both IPv4 and IPv6.
Ø  A prefix of /96 is used for IPv4-compatible IPv6 addresses:
::192.168.1.1/96
0:0:0:0:0:FFFF:a.b.c.d (or ::FFFF:a.b.c.d) – is an IPv4-mapped IPv6 address.
Ø  Again, a prefix of /96 is used for IPv4-mapped IPv6 addresses:
::FFFF:192.168.1.1/96
Link-Local IPv6 Addresses:
Ø  Link-local IPv6 addresses are used only on a single link (subnet).
Ø  Any packet that contains a link-local source or destination address is never routed
Ø  to another link.
Ø  Every IPv6-enabled interface on a host (or router) is assigned a link-local address. This address can be manually assigned, or auto-configured.
Ø  The first field of a link-local IPv6 address will always begin FE8x (11111110 10).
Ø  Link-local addresses are unicasts, and represent 1/1024th of the available IPv6 address space.
Ø  A prefix of /10 is used for link-local addresses.
          FE80::1311:22FF:FE22:3333/10
There is no hierarchy to a link-local address:
• The first 10 bits are fixed (FE8), known as the Format Prefix (FP).
• The next 54 bits are set to 0.
• The final 64 bits are used as the interface ID.
Aggregate Global IPv6 Addresses:
Ø  Aggregate Global IPv6 addresses are the equivalent of “public” IPv4 addresses.
Ø  Aggregate global addresses can be routed publicly on the Internet.
Ø  Any device or site that wishes to traverse the Internet must be uniquely identified with an aggregate global address.
Ø  Currently, the first field of an aggregate global IPv6 address will always begin 2xxx (001). Aggregate global addresses are unicasts, and represent 1/8th of the available IPv6 address space.
2000::2731:E2FF:FE96:C283/64
Aggregate global addresses adhere to a very strict hierarchy:
• The first 3 bits are the fixed FP.
• The next 13 bits are the top-level aggregation identifier (TLA ID).
• The next 8 bits are reserved for future use.
• The next 24 bits are the next-level aggregation identifier (NLA ID).
• The next 16 bits are the site-level aggregation identifier (SLA ID).
• The final 64 bits are used as the interface ID.
By have multiple levels, a consistent, organized, and scalable hierarchy is maintained.
Multicast IPv6 Addresses:
Ø  Multicast IPv6 addresses are the equivalent of IPv4 multicast addresses.
Ø  Interfaces can belong to one or more multicast groups. Interfaces will accept a multicast packet only if they belong to that group.
Ø   Multicasting provides a much more efficient mechanism than broadcasting, which requires that every host on a link accept and process each broadcast packet.
Ø  The first field of a multicast IPv6 address will always begin FFxx (11111111).
Ø  The full multicast range is FF00 through FFFF. Multicasts represent 1/256th of the available IPv6 address space.
FF01:0:0:0:0:0:0:1
Multicast addresses follow a specific format:
• The first 8 bits identify the address as a multicast (1111 1111)
• The next 4 bits are a flag value. If the flag is set to all zeroes (0000),
The multicast address is considered well-known.
• The next 4 bits are a scope value:
0000 (0) = Reserved
0001 (1) = Node Local Scope
0010 (2) = Link Local Scope
0101 (5) = Site Local Scope
1000 (8) = Organization Local Scope
1110 (e) = Global Scope
1111 (f) = Reserved
Ø  The final 112 bits identify the actual multicast group.
Ø  IPv4 multicast addresses had no mechanism to support multiple “scopes.”

Common IPv6 Multicast Addresses:
The following is a list of common, well-known IPv6 multicast addresses:
Node-Local Scope Multicast Addresses 
• FF01::1 – All-nodes address
• FF01::2 – All-routers address
Link-Local Scope Multicast Addresses
• FF02::1 – All-nodes address
• FF02::2 – All-routers address
• FF02::5 – OSPFv3 (OSPF IPv6) All SPF Routers
• FF02::6 – OSPFv3 Designated Routers
• FF02::9 – RIPng Routers
• FF02::13 – PIM Routers

Site-Local Scope Multicast Addresses
• FF05::2 – All-routers address

Ø  Thus, if you have a site-local address of:
FEC0::1111:2731:E2FF:FE96:C283
Ø  The corresponding solicited-node multicast address would be:
FF02::1:FF96:C283
Ø  Solicited-node multicast addresses are most often used for neighbor discovery (covered in an upcoming section in this guide).


IPv6 Addresses and URLs:
Ø  IPv6 addresses can also be referenced in URLs (Uniform Resource Locator).
Ø  Because IPv6 fields are separated by colons, the IPv6 address must be placed in brackets, to conform to the URL standard:

The IPv6 Header:
Ø  The IPv6 header has 8 fields and is 320 bits long. It has been considerably streamlined compared to its IPv4 counterpart, which has 12 fields and is 160 bits long.
Field                Length           Description
Version            4 bits               Version of IP (in this case, IPv6)
Traffic Class    8 bit                 Classifies traffic for QoS
Flow Label      20 bits             Identifies a flow between a source and destination
      Payload Length    16 bits              Length of data in packet
Next Header   8 bits               Specifies the next upper-layer or extension header
Hop Limit       8 bits               Decremented by each router traversed
      Source Address    128 bits            Source IPv6 address
Destination Address   128 bits           Destination IPv6 address
The Next Header field is of some importance.
Several such extension headers exist, and are usually processed in the following order:
Hop-by-Hop Options – specifies options that should be processed by every router in the    path. Directly follows the IPv6 header.
Destination Options – specifies options that should be processed by the destination device.
Routing Header – specifies each router the packet must traverse to reach the destination (source routing)
Fragment Header – used when a packet is larger than the MTU for the path
Authentication Header – used to integrate IPSEC Authentication Header (AH) into the IPv6 packet
ESP Header – used to integrate IPSEC Encapsulating Security Payload (ESP) into the IPv6 packet




ICMPv6:
Ø  ICMP Version 6 (ICMPv6) is a core component of IPv6. All devices employing IPv6 must also integrate ICMPv6.
ICMPv6 provides many services, including (but not limited to):
• Error Messages
• Informational messages (such as echo replies for IPv6 ping)
• MTU Path Discovery
• Neighbor Discovery
There are four key ICMPv6 error messages:
Destination Unreachable (ICMP packet type 1) – indicates that the packet cannot be forwarded to its destination.
 The node sending thismessage includes an explanatory code:
0 - No route to destination
1 - Access is administratively prohibited
3 - Address unreachable
4 - Port unreachable
Packet Too Big (ICMP packet type 2) – indicates the packet is larger than the MTU of the link. IPv6 routers do not fragment packets.
Instead, the Packet Too Big message is sent to the source (sending) device, which then reduces (or fragments) the size of the packet to the reported MTU.
This message is used for Path MTU Discovery (PMTUD).
Time Exceeded (ICMP packet type 3) – indicates that the hop count limit has been reached,    usually indicating a routing loop
Parameter Problem (ICMP packet type 4) – indicates an error in the IPv6 header, or an IPv6 extension header.
 The node sending this message includes an explanatory code:
0 - Erroneous header field
1 - Unrecognized next-header type
2 - Unrecognized IPv6 option
Neighbor Discovery Protocol (NDP) and ICMPv6
The neighbor discovery protocol (NDP) provides a multitude of services for IPv6 enabled devices, including:
• Automatic address configuration, and prefix discovery
• Duplicate address detection
• MTU discovery
• Router discovery
• Address resolution
Ø  NDP replaces many IPv4 specific protocols, such as DHCP and ARP.
Ø  NDP utilizes ICMPv6 to provide the above services.
Ø  Periodically, IPv6 routers send out Router Advertisements (RA’s) to both announce their presence on a link, and to provide auto-configuration information for hosts.
Ø  This RA (ICMP packet type 134) is sourced from the link-local address of the sending router, and sent to the link-scope all-nodes multicast group.
Ø  A host can request an RA by sending out a Router Solicitation (RS, ICMP packet type 133) to the link-local all-routers multicast address.
Ø  A RS is usually sent when a host is not currently configured with an IP address.
The RA messages contain the following information for hosts:
• The router’s link-layer address (to be added to the host’s default router list)
• One or more network prefixes
• A lifetime (measured in seconds) for the prefix (es)
• The link MTU to the sending host.

Neighbor Solicitations (NS’s, ICMP packet type 135)
Ø  A NS message’s source address is the link-local address of the sending host,and the destination is the solicited-node multicast address of the destination host.
Ø  A neighbor will reply to a NS with a Neighbor Advertisement (NA, ICMP packet type 136). This process replaces the Address Resolution Protocol (ARP) used by IPv4, and provides a far more efficient means to learn neighbor address information.
Ø  Hosts additionally use the NS messages to detect duplicate addresses.
Ø  Before a host assigns itself an IPv6 address, it sends out a NS to ensure no other host is configured with that address.

Autoconfiguration of Hosts
Ø  Hosts can be assigned IPv6 addresses one of two ways: manually, or using autoconfiguration. Hosts learn how to autoconfigure themselves from Router Advertisements (RA’s).
Ø  Two types of autoconfiguration exist, stateless and stateful.

Stateless Autoconfiguration
Ø  A host first assigns itself a linklocal IPv6 address. It accomplishes this by combining the link-local prefix (FE8) with its interface ID (MAC address in EUI-64 format).
Ø  The host then sends a Router Solicitation multicast to the all-routers multicast address, which provides one or more network prefixes.
Ø  The host combines these prefixes with its interface ID to create its site-local (or
aggregate global) IPv6 addresses.

Stateful Autoconfiguration:
Ø  It is used in conjunction with stateless auto configuration. Stateful Auto configuration utilizes DHCPv6 to provide additional information to the host, such as DNS servers.
Ø  DHCPv6 can also be used in the event that there is no router on the link, to provide stateless auto configuration.


ADVANTAGES OF IPV6:
Ø  Ipv6 reduces the size of routing tables and makes routing more efficient
Ø  Ipv6's simplified packet header makes packet processing more efficient
Ø  Ipv6 supports multicast rather than broadcast.
Ø  Multicast allows bandwidth-intensive packet flows to be sent to multiple destinations simultaneously, saving network bandwidth
Ø  Address auto-configuration (address assignment) is built in to ipv6
Ø  IPsec, which provides confidentiality, authentication and data integrity, is baked into in ipv6.

Autoconfiguration
Ø  A host first assigns itself a linklocal IPv6 address. It accomplishes this by combining the link-local prefix (FE8) with its interface ID (MAC address in EUI-64 format).
Ø  The host then sends a Router Solicitation multicast to the all-routers multicast address, which provides one or more network prefixes.
Ø  The host combines these prefixes with its interface ID to create its site-local (or
aggregate global) IPv6 addresses.

Stateful Autoconfiguration:
Ø  It is used in conjunction with stateless auto configuration. Stateful Auto configuration utilizes DHCPv6 to provide additional information to the host, such as DNS servers.
Ø  DHCPv6 can also be used in the event that there is no router on the link, to provide stateless auto configuration.


ADVANTAGES OF IPV6:
Ø  Ipv6 reduces the size of routing tables and makes routing more efficient
Ø  Ipv6's simplified packet header makes packet processing more efficient
Ø  Ipv6 supports multicast rather than broadcast.
Ø  Multicast allows bandwidth-intensive packet flows to be sent to multiple destinations simultaneously, saving network bandwidth
Ø  Address auto-configuration (address assignment) is built in to ipv6
Ø  IPsec, which provides confidentiality, authentication and data integrity, is baked into in ipv6.

IPV6 v IPV4: what are they, what's the difference, which is most ...

No comments:

Post a Comment

E-Duke bike launch confirmed