• Main Menu
  • Understanding IPv6


    Understanding the Limitations of IPv4

    Before moving on the to an in-depth discussion of IPv6, lets first look at the limitations of IPv4:

    The IPv4 addresses are somewhat scarce, even though it allows for 4,294,967,296 possible addresses. Because of this limitation, organizations are forced to utilize Network Address Translator (NAT) to map a public IP address to several private IP addresses. NAT typically creates performance and application bottlenecks.

    • The increase in devices that are connected to the Internet would lead to the depletion of IPv4 address space. There is a growing shortage of IPv4 addresses.

    • The majority of networks that use IPv4 manually configure addresses, or use a protocol such as Dynamic Host Configuration Protocol (DHCP). There is a need for a simpler configuration that does not require management of a DHCP infrastructure as well, and that allows for the automatic configuration of IP addresses.Understanding IPv6

    • The IPv4 Type of Service (TOS) field has limited functionality, and the need exists for enhanced quality of service (QoS).

    • Any payload identification that uses a Transmission Control Protocol (TCP) port or a User Datagram Protocol (UDP) port does not occur when the IPv4 packet payload is encrypted.

    • With more organizations connecting to the Internet, there is a need for security at the IP level. While Internet Protocol Security (IPSec) exists as an optional solution for providing security in IPv4, the proprietary security solutions are still dominant.

    An Introduction to IPv6

    IPv6 is defined in RFC 2460, and can be used in operating systems today. The advantages of IPv6 are listed below:

    • Large address space: Because of the larger number of available addresses, it is no longer necessary to use utilize Network Address Translator (NAT) to map a public IP address to multiple private IP addresses. IPv6 has 128-bit source and destination addresses, and is designed to allow for multiple levels of subnetting.

    • A new header format which offers less overhead: The new header format of IPv6 is designed to minimize header overhead. All optional fields which are needed for routing are moved to extension headers. These extension headers are located after the IPv6 header. The IPv6 header format is also streamlined so that it is more efficiently processed at intermediate routers. The number of bits in IPv6 addresses is four times larger than IPv4 addresses. The actual size of the IPv6 header is only twice the size of the IPv4 header.

    • An efficient hierarchical addressing and routing infrastructure: The IPv6 global addresses are designed to create an efficient routing infrastructure. The backbone routers of an IPv6 Internet have small routing tables. This is in line with the routing infrastructure of global ISPs.

    • Built in support for security – IPSec: A requirement of IPv6 is support for IPSec. IPSec contains the following components that provide security:

      • Authentication header (AH): The AH provides data authentication, data integrity and replay protection for the IPv6 packet. The only fields in the IPv6 packet that are excluded are those fields that change when the packet moves over the network.

      • Encapsulating Security Payload (ESP) header: The ESP header provides data authentication, data confidentiality, data integrity, and replay protection for ESP encapsulated payload

      • Internet Key Exchange (IKE) protocol: The IKE protocol is used to negotiate IPSec security settings.

    • Support for Stateless and stateful address configuration: IPv6 can support a stateful addres configuration and a stateless address configuration. With IPv4, hosts configured to use DHCP have to wait a minute before they can configure their own IPv4 addresses. Stateless address configuration however enables a host on a link to automatically configure its own IPv6 address for the link. These addresses are called link-local addresses. A link-local address is configured automatically, even when no router exists, and in a second. This allows communication between neighboring nodes on the same link to occur immediately.

    • Support for Quality of service (QoS) header fields: There are new fields in the IPv6 header that specify the way traffic is identified and handled.

      • Traffic Class field: This field defines traffic that must be prioritized.

      • Flow Label field: This field enables the router to identify packets, and also handle packets that are part of the identical flow in a special way.

    • Unlimited extension headers: You can add extension headers after the IPv6 header if you want to extend IPv6 for any new features.

    • The Neighbor Discovery (ND) protocol for managing nodes on the same link: Neighbor Discovery is a series of Internet Control Message Protocol for IPv6 (ICMPv6) messages that are used in IPv6 environments to identify the relationships between neighboring nodes. ND enables hosts to discover routes on the same segment, addresses and address prefixes. Address Resolution Protocol (ARP), ICMPv4 Router Discovery and ICMPv4 Redirect messages are replaced with the more efficient multicast and unicast Neighbor Discovery messages.

    The common IPv6 terminology and concepts used are listed below:

    • Address: This is an identifier that is used as the source of, or destination of IPv6 packets.

    • Packet: This is protocol data unit (PDU) which is found at the IPv6 layer. A packet contains the following components:

      • IPv6 header

      • Payload

    • Node: Refers to a device, such as hosts and routers, running IPv6.

    • Host: Refers to a node that has the following characteristics:

      • Cannot forward packets which are not explicitly addressed to it.

      • Discards packets which are not explicitly addressed to it.

      • A host is usually the source and destination of IPv6 packets.

    • Router: Refers to a node that has the following characteristics:

      • Can forward packets which are not explicitly addressed to it.

      • Can advertise its presence

      • Can advertise host configuration information

    • Neighbors: Refers to nodes which are connected to the same link.

    • Network: Refers to at least two subnets which are connected by routers.

    • Subnet/network segment: Refers to a link(s) that utilize the identical 64-bit IPv6 address prefix.

    • Local area network (LAN) segment: This is the portion of an IPv6 link which has a single medium bounded by Layer 2 switches or bridges.

    • Link: Refers to LAN segments which are bounded by routers.

    • Interface: Refers to the physical or logical attachment of a node to a link. A network adapter is regarded as a physical interface, while a tunnel is considered a logical interface.

    • Link maximum transmission unit (MTU): The link MTU refers to the number of bytes that can be transmitted on a link. This is the same as the maximum payload size of the link-layer technology

    • Path maximum transmission unit (MTU): This is the maximum IPv6 packet size which can be transmitted with no host fragmentation occurring between a source and destination over a path.

    • Upper-layer protocol: Refers to a protocol that uses IPv6 as its transport, and includes Internet layer protocols and Transport layer protocols.

    The main differences between IPv6 and IPv4 are summarized below:

    • Source and destination addresses:

      • IPv4: 128 bits in length

      • IPv6: 32 bits in length

    • IPSec support:

      • IPv4: Optional

      • IPv6: Required.

    • Configuration of IP addresses:

      • IPv4: Manually or via DHCP

      • IPv6: Via Address Autoconfiguration – DHCP is no longer required, nor is manual configuration.

    • Packet flow identification for QoS handling in the header:

      • IPv4: No identification of packet flow

      • IPv6: Packet flow identification for QoS handling exists via the Flow Label field.

    • Broadcast addresses:

      • IPv4: Broadcast addresses are used to transmit traffic to all nodes on a specific subnet.

      • IPv6: Broadcast addresses are replaced by a link-local scope all-nodes multicast address.

    • Fragmentation:

      • IPv4: Performed by the sending host and at the routers.

      • IPv6: Performed by the sending host.

    • Reassembly:

      • IPv4: Has to be able to reassemble a 576-byte packet.

      • IPv6: Has to be able to reassemble a 1,500-byte packet.

    • ARP Request frames:

      • IPv4: Used by ARP to resolve an IPv4 address to a link-layer address

      • IPv6: Replaced with Neighbor Solicitation messages.

    • ICMP Router Discovery:

      • IPv4: Used to determine the IPv4 address of the optimal default gateway.

      • IPv6: Replaced with ICMPv6 Router Solicitation and Router Advertisement messages

    • Internet Group Management Protocol (IGMP):

      • IPv4: Used to manage local subnet group membership.

      • IPv6: Replaced with Multicast Listener Discovery (MLD) messages.

    • Header checksum:

      • Pv4: Included

      • IPv6: Excluded

    An Overview of the IPv6 Address Space

    One of the key features of IPv6 is its large address space. IPv4 has a 32-bit address space that provides for 4,294,967,296, possible addresses. The 128-bit address space of IPv6 provides for 2128, or 340,282,366,920,938,463,463,374,607,431,768,211,456 possible addresses. Using 128 bits for the address space allows for a hierarchical addressing and routing infrastructure. The IPv6 address space is divided on the basis of the high-order bits values. When referring to the high-order bits and its fixed values, the terminology Format Prefix (FP) is used.

    The allocation of the IPv6 address space by FPs, as defined by RFC 2373, is listed below:

    • Reserved: Format Prefix: 0000 0000; Fraction of the address space: 1/256

    • Unassigned: Format Prefix: 0000 0001; Fraction of the address space: 1/256

    • Reserved for Network Service Access Point (NSAP) allocation: Format Prefix: 0000 001; Fraction of the address space: 1/128

      • Unassigned: Format Prefix: 0000 010; Fraction of the address space: 1/128

      • Unassigned: Format Prefix: 0000 011; Fraction of the address space: 1/128

      • Unassigned: Format Prefix: 0000 1; Fraction of the address space: 1/32

      • Unassigned: Format Prefix: 0001; Fraction of the address space: 1/16

      • Aggregatable global unicast addresses: Format Prefix: 001; Fraction of the address space: 1/8

      • Unassigned: Format Prefix: 010; Fraction of the address space: 1/8

      • Unassigned: Format Prefix: 011; Fraction of the address space: 1/8

      • Unassigned: Format Prefix: 100; Fraction of the address space: 1/8

      • Unassigned: Format Prefix: 101; Fraction of the address space: 1/8

      • Unassigned: Format Prefix: 110; Fraction of the address space: 1/8

      • Unassigned: Format Prefix: 1110; Fraction of the address space: 1/16

      • Unassigned: Format Prefix: 1111 0; Fraction of the address space: 1/32

      • Unassigned: Format Prefix: 1111 10; Fraction of the address space: 1/64

      • Unassigned: Format Prefix: 1111 110; Fraction of the address space: 1/128

      • Unassigned: Format Prefix: 1111 1110 0; Fraction of the address space: 1/512
        Link-local unicast addresses: Format Prefix: 1111 1110 10; Fraction of the address space: 1/1024

      • Site-local unicast addresses: Format Prefix: 1111 1110 11; Fraction of the address space: 1/1024

      • Multicast addresses: Format Prefix: 1111 1111; Fraction of the address space: 1/256

        Types of IPv6 Addresses

      The three types of IPv6 addresses are:

      • Unicast address

      • Multicast address

      • Anycast address

        Unicast IPv6 Addresses

      This is an address that identifies an interface within the portion of the network wherein the address is unique. Any packet that has a unicast address is transmitted to only one interface.

      The different types of unicast IPv6 addresses are:

      • Aggregatable global unicast addresses or global addresses: These addresses are the same as the public addresses of IPv4. Global addresses are globally routable addresses that have a Format Prefix (FP) of 001. The fields in a aggregatable global unicast address are:

        • Top-Level Aggregation Identifier (TLA ID): TLA IDs are managed by IANA, and identify the highest level in the routing hierarchy.

        • Res: This is a reserved field which will be used to expand the sizes of the TLA ID or NLA ID fields.

        • Next-Level Aggregation Identifier (NLA ID): This field enables an ISP to create multiple levels of addressing hierarchy to identify organization sites and to structure routing for downstream ISPs.

        • Site-Level Aggregation Identifier (SLA ID): Organizations use the SLA ID to create and identify the subnets, and to create multiple levels of addressing hierarchy.

        • Interface ID: The Interface ID is the same as the IPv4 host ID.

      • Link-local addresses: These addresses have a Format Prefix (FP) of 1111 1110 10, and are used in the Neighbor Discovery processes, and to communicate with nodes on the same link. Link-local addresses are automatically configured and have the local link as its scope.

      • Site-local addresses: These addresses have a Format Prefix (FP) of 1111 1110 11, and are used when nodes communicate with other nodes in an organization. Site-local addresses are the same as the private address space in IPv4. Site-local addresses must be configured through stateless or stateful address autoconfiguration.

      • Special IPv6 addresses: The different types of special IPv6 addresses are:

        • Loopback addresses: This address identifies a loopback interface. Loopback addresses allow a node to send a packet to its own self.

        • Unspecified addresses: These addresses are the same as the unspecified addresses in IPv4, and merely indicate that an address is not present.

      • NSAP addresses: These addresses enable Open Systems Interconnect (OSI) NSAP addresses to be mapped to IPv6 addresses.

      • Compatibility addresses: The different types of compatibility IPv6 addresses are:

        • IPv4-compatible address: This address is used by IPv4 and IPv6 nodes when communicating with IPv6 in an environment that utilizes IPv4 addresses.

        • IPv4-mapped address: This address is used to signify an IPv4 node to an IPv6 node.

        • ISATAP address: This address indicates a node for Intra-Site Automatic Tunnel Addressing Protocol (ISATAP) address assignment.

        • 6over4 address: This address identifies a node for 6over4 tunneling.

        • 6to4 address: This address identifies a node for 6to4 tunneling.

        Multicast IPv6 Addresses

      Multicast addresses identify multiple interfaces, and enables packets for multicast addresses to be sent to each interface specified by the address.

      A multicast address has the following fields:

      • Flags: Defines flags specified on the multicast address.

      • Scope: Defines the scope in the IPv6 network where the multicast packets should be sent. The scope is used by routers to determine if they can forward the multicast traffic. The values of the scope field, defined in RFC 2373 are:

        • Scope vale 0: Reserved.

        • Scope value 1: Node-local scope.

        • Scope value 2: Link-local scope.

        • Scope value 5: Site-local scope.

        • Scope value 8: Organization-local scope.

        • Scope value E: Global scope.

        • Scope value F: Reserved.

      • Group ID: This field identifies the particular multicast group. The Group ID is unique in a scope.

        Anycast IPv6 Addresses

      An anycast address identifies multiple interfaces. A packet that has an anycast address is sent to a single interface, which is the closest interface that the address identifies. Anycast addresses are used as destination addresses. Only routers have anycast addresses.

      A Subnet-Router anycast address is used to communicate the closest router that is connected to a particular subnet. Each router that is connected to a particular subnet has the Subnet-Router anycast address of the subnet.

      The Components of an IPv6 Packet

      An IPv6 packet has the following components:

      • IPv6 Header: The IPv6 header always exists in an IPv6 packet. The size of the IPv6 header is fixed at 40 bytes. The fields in the IPv6 header are:

        • Version: Indicates that the version of IP is version 6. This field is equivalent to the version field in IPv4.

        • Traffic Class: Indicates the class or priority of the IPv6 packet. This field is much like the Type of Service field in IPv4.

        • Flow Label: Indicates that the particular packet is part of a sequence of packets.

        • Payload Length: Indicates the length of the payload. The field includes upper-layer protocol data unit (PDU) and extension headers.

        • Next Header: Indicates the type of the first extension header, and the protocol in the upper-layer PDU. The values of the Next Header field for an IPv6 header or IPv6 extension header are:

          • 0; Hop-by-Hop Options header

          • 6; TCP

          • 17; UDP

          • 41; Encapsulated IPv6 header

          • 43; Routing header

          • 44; Fragment header

          • 50; Encapsulating Security Payload header

          • 51; Authentication header

          • 58; ICMPv6

          • 59; No next header

          • 60; Destination Options header

        • Hop Limit: Indicates the maximum number of links that the IPv6 packet can pass over, prior to it being dropped. This field is much like the TTL field in IPv4.

        • Source Address: Indicates the address of the host sending the packet.

        • Destination Address: Indicates the address of the destination node.

      • Extension Headers: The IPv4 header and its options are replaced by the IPv6 header and extension headers. IPv6 extension headers have no maximum size and can have different lengths. The Next Header field signifies the first extension header, and another Next Header field exists in each extension header. The final extension header defines the header for the upper-layer protocol.

        RFC 2460 recommends the following order for locating extension headers after the IPv6 header:

        • Hop-by-Hop Options header: This header can be used to define delivery options at each hop to the destination. The Hop-by-Hop Options header has a Next Header, Header Extension Length, and Options field.

        • Destination Options header: This header can be used to indicate packet options for the intermediate destinations or the final destination. The Destination Options header has a Next Header, Header Extension Length, and Options field.

        • Routing header: The Routing header can be used to indicate a source route. This defines the intermediate destinations which the packet travels to the final destination. The Routing header has a Next Header field, Header Extension Length field, Routing Type field, Segments Left field, and routing type data.

        • Fragment header: This header is used for fragmentation and reassembly in IPv6. Source nodes are the only nodes that can fragment packets in IPv6. The Fragment header has a Next Header field, Fragment Offset field, More Fragments flag and Identification Field.

        • Authentication header: The Authentication header provides the following essential security features for IPv6 packets: data authentication, data integrity, and anti-replay protection. The Authentication header has a Next Header field, Payload Length field, Reserved field, Security Parameters Index (SPI) field, Sequence Number field and Authentication Data field.

        • Encapsulating Security Payload header: This header provides the following security features for the encapsulated payload: data authentication, data confidentiality, data integrity, and replay protection. The ESP header has a SPI field, Sequence Number field, and an ESP trailer. The ESP trailer contains a Padding, Padding Length, Next Header and Authentication Data field.

        • Destination Options header: Defines the final destination.

      • Upper-layer protocol data unit (PDU): The upper-layer protocol data unit (PDU) contains the following components:

        • Upper-layer protocol header

        • Upper-layer protocol payload

        Understanding IPv6 MTU

      In IPv6, the link layer must support a minimum MTU size of 1,280 bytes. Any link layer that does not support a minimum MTU size of 1,280 bytes must use a link-layer fragmentation and reassembly method.
      The LAN or WAN technologies with their associated IPv6 MTUs are listed below:

      • Ethernet – Ethernet II encapsulation: 1,500

      • Ethernet – IEEE 802.3 SubNetwork Access Protocol [SNAP] encapsulation: 1,492

      • Token Ring: differs

      • FDDI: 4,352

      • PPP: 1,500

      • X.25: 1,280

      • Frame Relay: 1,592

      • Attached Resource Computer Network (ARCNet): 9,072

      • Asynchronous Transfer Mode (ATM) – Null or SNAP encapsulation: 9,180

        Understanding Internet Control Message Protocol version 6 (ICMPv6)

      IPv6 utilizes ICMP version 6 (ICMPv6), defined in RFC 2463. ICMPv6 provides the structure for:

      • Neighbor Discovery (ND): In IPv6, ND replaces ARP, ICMPv4 Redirect and Router Discovery messages. Neighbor Discovery (ND) consists of five ICMPv6 messages that administer node communication.

        • Router Solicitation

        • Router Advertisement

        • Neighbor Solicitation

        • Neighbor Advertisement

        • Redirect

      • Multicast Listener Discovery (MLD): Multicast Listener Discovery (MLD) consists of three ICMPv6 messages that are the same as Internet Group Management Protocol version 2 (IGMPv2) for IPv4. MLD manages subnet multicast membership. The three ICMPv6 messages are:

        • Multicast Listener Query

        • Multicast Listener Report

        • Multicast Listener Done

        The ICMPv6 header is identified by a value of 58 for the Next Header field in the prior header. The fields contained in the ICMPv6 header are:

        • Type: Indicates whether the message is an ICMPv6 error message or an ICMPv6 informational message.

        • Code: Distinguishes between many messages in a specified message type.

        • Checksum: Contains the checksum of the ICMPv6 message.

        • Message body: Contains the ICMPv6 message data.

        The types of ICMPv6 messages are:

        • Error messages: These messages report forwarding and delivery errors by the destination host and intermediate router, and includes the following messages:

          • Destination Unreachable: Sent when the packet cannot be forwarded to the upper-layer protocol or destination node.

          • Packet Too Big: Sent when link MTU on the forwarding interface is smaller than the IPv6 packet size.

          • Parameter Problem: Sent when an error in the IPv6 header or an extension header is preventing the packet from being processed.

          • Time Exceeded: Sent when the Hop Limit field reaches zero

        • Information messages: These messages provide additional host capabilities, including Multicast Listener Discovery (MLD and Neighbor Discovery (ND), and includes the following messages:

          • Echo Request: This message it sent to a destination, requesting an instant response.

          • Echo Reply: This message is sent as a response to an Echo Request message.

        Understanding IPv6 Neighbor Discovery (ND)

        IPv6 Neighbor Discovery (ND), defined in RFC 2461, consists of processes and messages that determine associations between neighboring nodes. In IPv6, ND replaces ARP, ICMPv4 Redirect and Router Discovery messages. Neighbor Discovery (ND) consists of five ICMPv6 messages that administer node communication.

        The Neighbor Discovery (ND) processes consist of:

        • Router discovery: This ND process is the same as the ICMPv4 router discovery. Router discovery occurs when a host discovers the local routers on a connected link.

        • Prefix discovery: The prefix discovery ND process is much the same as the sending of ICMPv4 Address Mask Request and Address Mask Reply messages. In the prefix discovery process, hosts discover the prefixes for the local link destinations.

        • Parameter discovery: This ND process is used by hosts to discover operating parameters such as link MTU, for packets.

        • Address resolution: The address resolution ND process is the same as IPv4 ARP. During address resolution, nodes resolve the IPv6 address of a neighbor, to its associated link-layer address.

        • Address autoconfiguration: This is the process whereby IP addresses are automatically assigned for interfaces.

        • Next-hop determination: This process enables a node to determine a neighbor's IPv6 addresses that the packet is being forwarded to. A next-hop address is either of the following:

          • Destination address

          • Address of default router

        • Duplicate address detection: In duplicate address detection, a node can determine whether an address is being used by another neighboring node.

        • Neighbor unreachability detection: This process enables a node to determine that a neighbor is not receiving packets.

        • Redirect function: This the process that informs a host of a more optimal first-hop IPv6 address to the specific destination.

        Nodes use Neighbor Discovery (ND) for the following purposes:

        • To ascertain when a neighboring node's link-layer address changes.

        • To ascertain if a neighboring node can be reached.

        • To resolve the link-layer address of the neighboring node that the packet must be forwarded to.

        Routers use Neighbor Discovery (ND) for the following purposes:

        • To advertise themselves

        • To advertise routes and host configuration parameters.

        • To communicate information on other more optimal next-hop addresses.

        Hosts use Neighbor Discovery (ND) for the following purposes:

        • To discover neighboring routers.

        • For autoconfigure configuration parameters such as addresses, address prefixes and routes.

        The messages that are used to perform the processes of IPv6 ND are:

        • Router Solicitation: These messages are used by hosts to discover IPv6 routers on the link. The fields in the Router Solicitation message are: Type, Code, Checksum, Reserved and Source Link-Layer Address option.

        • Router Advertisement: These messages are sent by IPv6 routers as a response to receiving a Router Solicitation message. The Router Advertisement message contains the following information:

          • Information to determine the link prefixes. This information is used by hosts.

          • Information on whether address autoconfiguration should be used.

          • Information on specific routes.

          • The time period for which address autoconfiguration addresses are valid.

          • Link MTU.

          The fields found in a Router Advertisement message are explained below:

          • Type; has a value of 134.

          • Code; has a value of 0

          • Checksum; has a value of the ICMPv6 checksum.

          • Current Hop Limit; defines the Hop Limit field in the IPv6 header's default value. This is for packets set by host which have received the Router Advertisement message.

          • Managed Address Configuration flag; specifies that hosts that receive the Router Advertisement message have to utilize stateful address configuration to obtain addresses.

          • Other Stateful Configuration flag; specifies that hosts that receive the Router Advertisement message have to utilize stateful address configuration to obtain other configuration information (not addresses).

          • Home Agent flag; specifies that the router also fulfils the role of home agent.

          • Default Router Preference; specifies the preference level of the router with regard to default router.

          • Reserved; reserved for future use.

          • Router Lifetime; defines the lifetime of the router with regard to default router.

          • Reachable Time; specifies the time for which a node can regard a neighboring node as being reachable once it has received the necessary reachable confirmation.

          • Retransmission Timer; specifies the time between retransmissions of the Neighbor Solicitation messages.

          • Source Link-Layer Address option; holds the interface' link-layer address whereon the Router Advertisement message was transmitted.

          • MTU option; holds the MTU of the link.

          • Prefix Information options; holds the on-link prefixes for address autoconfiguration.

          • Advertisement Interval option; holds the interval for ensuing unsolicited multicast Router Advertisement messages which are sent from the home agent router.

          • Home Agent Information option; holds the home agent's preference and lifetime information.

          • Route Information options; holds route information for the local routing table to perform forwarding decisions.

        • Neighbor Solicitation: This message is used to discover an IPv6 node's link-layer address. The Neighbor Solicitation message is sent by IPv6 hosts. The fields in a Neighbor Solicitation message are: Type, Code, Checksum, Reserved, Target Address, and Source Link-Layer Address option.

        • Neighbor Advertisement: This message is sent as a response to a Neighbor Solicitation message. The Neighbor Advertisement message holds the following information:

          • Information to determine the type of Neighbor Advertisement message. This information is used by nodes.

          • The link-layer address of the sender.

          • The role of the sender in the network.

          The fields found in a Neighbor Advertisement message are explained below:

          • Type; has a value of 136.

          • Code; has a value of 0

          • Checksum; has a value of the ICMPv6 checksum.

          • Router flag; defines the Neighbor Advertisement message sender's role.

          • Solicited flag; specifies that the message is sent in response to a Neighbor Solicitation message.

          • Override flag; specifies that the Target Link-Layer Address option's link-layer address overrides the existing neighbor cache entry's link-layer address.

          • Reserved; is reserved for future purposes.

          • Target Address; specifies the address which is advertised.

          • Target Link-Layer Address option; holds the target's link-layer address.

        • " Redirect: This message informs the initial host of a more optimal first-hop address for the destination. Routers send these messages when unicast traffic is being transmitted.

          The fields found in a Redirect message are explained below:

          • Type; has a value of 137.

          • Code; has a value of 0

          • Checksum; has a value of the ICMPv6 checksum.

          • Reserved; is reserved for future purposes.

          • Target Address; defines the more efficient next-hop address for packets being sent to the node specified in Destination Address.

          • Destination Address; holds the destination address of the packet. This address resulted in the router sending the Redirect message.

          • Target Link-Layer Address option; holds the target's link-layer address.

          • Redirected Header option; holds the foremost segmet of the initial packet which resulted in the Redirect message being sent.

        Understanding IPv6 Multicast Listener Discovery (MLD)

        Multicast Listener Discovery (MLD), defined in RFC 2710, is the same as Internet Group Management Protocol version 2 (IGMPv2) for IPv4. However, with IPv6, multicast support is required. Multicast support was optional in IPv4. Multicast Listener Discovery (MLD) consists of three ICMPv6 messages that are the same as Internet Group Management Protocol version 2 (IGMPv2) for IPv4. These messages are communicated between routers and hosts. MLD manages subnet multicast membership, and enables routers to discover the list of multicast addresses of listening hosts for every connected subnet.
        In IPv6, multicast traffic is transmitted to one destination address, and received by multiple IPv6 hosts. The IPv6 hosts listen for a particular IPv6 multicast address. All packets that have this particular address is received and processed by the hosts.

        A few IPv6 multicast-specific factors are listed below:

        • A multicast group refers to a group of hosts listening on a particular IPv6 multicast address.

        • A multicast group can span IPv6 routers over more than one subnet.

        • Membership to a multicast group is dynamic.

        • A host does not need to belong to a multicast group to send packets to a multicast address.

        A host can send IPv6 multicast packets if it can:

        • Establish which destination IPv6 multicast address should be utilized.

        • Structure an IPv6 packet with the correct destination IPv6 multicast address; and then place it on the medium.

        A host can receive IPv6 multicast packets if it can:

        • Inform IPv6 to receive multicast packets for a specific multicast address.

        • Register the network adapter with the multicast MAC address.

        • Inform local subnet routers when it is listening, at a particular multicast address, for multicast traffic.

        To ensure that IPv6 multicast packets are forwarded to subnets that have multicast group members, the IPv6 multicast router has to perform the following functions:

        • The IPv6 multicast router must be able to receive all IPv6 multicast traffic.

        • The IPv6 multicast router must be able to forward all IPv6 multicast traffic.

        • The IPv6 multicast router must be able to both receive and process the MLD Multicast Listener Report message and the Multicast Listener Done message.

        • The IPv6 multicast router must be able to query subnets for host membership information.

        • The IPv6 multicast router must be able to communicate group membership information to the other IPv6 multicast routers.

        The MLD message contains the following components:

        • IPv6 header

        • Hop-by-Hop Options extension header

        • The actual MLD message.

        The messages that are used in IPv6 Multicast Listener Discovery are:

        • Multicast Listener Query – ICMPv6 Type 130: This message is used by IPv6 multicast routers to query for multicast group membership information. There are two types of Multicast Listener Query messages which are identified by the Destination Address field of the IPv6 header and the Multicast Address field of the Multicast Listener Query message:

          • General query: This message is used to query all hosts on the subnet for multicast group members for multicast addresses.

          • Multicast-address-specific query: This message is used to query hosts of a particular multicast group on a subnet.

          The fields found in a Multicast Listener Query message are explained below:

          • Type; has a value of 130.

          • Code; has a value of 0

          • Checksum; has a value of the ICMPv6 checksum.

          • Maximum Response Delay; specifies the time allowed for a multicast group member to specify its membership. This information is sent via a MLD Multicast Listener Report message.

          • Reserved; is reserved for future purposes.
            Multicast Address; the field is defined as an unspecified address when the message type is General query. It includes the multicast address which is being queried when the message type is Multicast-address-specific query.

        • Multicast Listener Report – ICMPv6 Type 131: This message is the same as the IGMPv2 Host Membership Report message. The Multicast Listener Report message is used by listening nodes for the following purposes:

          • Reply to a Multicast Listener Query message.

          • Indicate that it can receive multicast traffic at a multicast address

          The fields found in a Multicast Listener Report message are explained below:

          • Type; has a value of 131.

          • Code; has a value of 0

          • Checksum; has a value of the ICMPv6 checksum.

          • Maximum Response Delay; set to 0 for the Multicast Listener Report message.

          • Reserved; is reserved for future usage.

          • Multicast Address; includes the multicast address which is being reported on.

        • Multicast Listener Done – ICMPv6 Type 132: This message is the same as the IGMPv2 Leave Group message. The Multicast Listener Done message informs routers that there could possibly be no further group members of a particular multicast address.

          The fields found in a Multicast Listener Done message are explained below:

          • Type; has a value of 132.

          • Code; has a value of 0

          • Checksum; has a value of the ICMPv6 checksum.

          • Maximum Response Delay; set to 0 for the Multicast Listener Done message.

          • Reserved; is reserved for future usage.

          • Multicast Address; includes the multicast address which has no other group members on the subnet.

        Understanding Address Autoconfiguration in IPv6

        With IPv6, an IPv6 host can configure a link-local address for each interface without using a protocol such as the DHCP protocol.

        The different types of autoconfiguration are listed below. The link-local address is configured automatically with each type of autoconfiguration.

        • Stateless: Addresses are configured when Router Advertisement messages are received. The Managed Address Configuration and Other Stateful Configuration flags have to be set to 0, and must contain at least one Prefix Information options.

        • Stateful: Addresses are configured when a host receives a Router Advertisement message that has the Managed Address Configuration flag or the Other Stateful Configuration flag set to 1, with no Prefix Information options. A stateful address autoconfiguration protocol (DHCP) is used to assign addresses.

        • Both: Addresses are configured when Router Advertisement messages are received that have Prefix Information options that have the Autonomous flag set to 1, and the Managed Address Configuration flag or the Other Stateful Configuration flag set to 1.

        An autoconfigured address can be in one or more states:

        • Valid; indicates that the specific address can be used to send and receive unicast traffic. The valid state has the following states:

          • Preferred; indicates that the address is unique and has been verified.

          • Deprecated; indicates that the address is unique and has been verified, but should not be used for new traffic.

        • Tentative; indicates that the specific address is going through the verification process.

        • Valid; indicates that the specific address cannot be used to send and receive unicast traffic.

        Understanding IPv6 Routing

        A local IPv6 routing table is used by IPv6 nodes to decide on the way to forward packets. When IPv6 starts for the first time, IPv6 routing table entries are initially created. IPv6 routing table entries are also created when Router Advertisement messages including on-link prefixes and routes, are received. You can manually configure routing table entries as well.

        All nodes running the IPv6 protocol have a routing table, which is sed for the following purposes:

        • Determine the next-hop address.

        • Determine the interface that should be used to forward packets.

        The routing table contains IPv6 network prefixes information, and the way in which they can be directly or indirectly reached. The destination cache is checked before the routing table is checked. The destination cache stores information on the next-hop IP addresses that traffic has already, recently been sent to.

        Each entry in the destination cache stores the following information:

        • Local or remote destination address.

        • Previously resolved next-hop IP address.

        • Path MTU for the destination.

        The destination cache is checked before the routing table, to determine whether it has an entry for the destination address in the IPv6 packet. The routing table is used if the destination cache contains no entries for the destination address in the IPv6 packet. After the routing table is used, and the next-hop address and next-hop interface is known, the destination cache is updated with this information. All ensuing packets for the specific destination address would use the destination cache and not the routing table.

        The types of routes that can be stored in IPv6 routing table entries are:

        • Directly attached network routes: Directly attached network routes refer to network prefixes for subnets which are directly attached.

        • Host routes: These routes enable routing, based on the IPv6 address. Host routes are specific to an IPv6 address.

        • Default route: This route is used when a definite network or host route is undiscovered.

        • Remote network routes: Remote network routes refer to network prefixes for those subnets that are not directly attached. These routes are however accessible over other routers.

        The IPv6 routing protocols are:

        • RIP Next Generation (RIPng) for IPv6: Defined in RFC 2080, RIPng for IPv6 is considered a distance vector routing protocol for IPv6, which is used to advertise IPv6 network prefixes. The maximum distance of RIPng for IPv6 is 15, with it being the accumulated cost. Any distance greater than 16 is regarded as being unreachable. RIPng for IPv6 uses UDP port 521 for the following:

          • Advertise routes

          • Advertise route changes

          • Reply to requests for routes

        • OSPF for IPv6: Defined in RFC 2740, OSPF for IPv6 is a link state routing protocol for an autonomous system. In OSPF for IPv6, OSPF functions over each link, and not over each subnet. With OSPF, the administrator determines and assigns the OSPF cost of each router link. The combined cost between network segments should be below 65,535.

        • Border Gateway Protocol version 4 (BGP-4): Defined in RFC 1771, this path vector routing protocol can be used between autonomous systems. It does not operate inside an autonomous system. BGP-4 uses TCP port 179.

        • Integrated Intermediate System-to-Intermediate System (IS-IS) for IPv6: This is a link state routing protocol, defined in the International Standards Organization (ISO) document 10589. IS-IS for IPv6 can support IPv4, and the Connectionless Network Protocol (CLNP).

        • Inter-Domain Routing Protocol version 2 (IDRPv2): This path vector routing protocol is defined in the International Standards Organization (ISO) document 10747. IDRP can be used between autonomous systems.

    Got Something To Say:

    Your email address will not be published. Required fields are marked *

    One comment
    1. rose

      30 November, 2011 at 7:01 pm

      hello dear

      could u tell me what is the   new things we can use for improving the limitation of IPV4 without IPV6 please? thanks

      Reply
    Microsoft Networking
    178 queries in 0.528 seconds.