New Microsoft Word Document

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 12

Introduction

The purpose of Multicast Listener Discovery (MLD) is to enable each


IPv6 router to discover the presence of multicast listeners (that is,
nodes wishing to receive multicast packets) on its directly attached
links, and to discover specifically which multicast addresses are of
interest to those neighboring nodes. This information is then

Deering, et al. Standards Track [Page 1]

RFC 2710 Multicast Listener Discovery for IPv6 October 1999

provided to whichever multicast routing protocol is being used by the


router, in order to ensure that multicast packets are delivered to
all links where there are interested receivers.

MLD is an asymmetric protocol, specifying different behaviors for


multicast listeners and for routers. For those multicast addresses
to which a router itself is listening, the router performs both parts
of the protocol, including responding to its own messages.

If a router has more than one interface to the same link, it need
perform the router part of MLD over only one of those interfaces.
Listeners, on the other hand, must perform the listener part of MLD
on all interfaces from which an application or upper-layer protocol
has requested reception of multicast packets.

3. Message Format

MLD is a sub-protocol of ICMPv6, that is, MLD message types are a


subset of the set of ICMPv6 messages, and MLD messages are identified
in IPv6 packets by a preceding Next Header value of 58. All MLD
messages described in this document are sent with a link-local IPv6
Source Address, an IPv6 Hop Limit of 1, and an IPv6 Router Alert
option [RTR-ALERT] in a Hop-by-Hop Options header. (The Router Alert
option is necessary to cause routers to examine MLD messages sent to
multicast addresses in which the routers themselves have no
interest.)

MLD messages have the following format:

0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Code | Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Maximum Response Delay | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| |
+ Multicast Address +
| |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Deering, et al. Standards Track [Page 2]

RFC 2710 Multicast Listener Discovery for IPv6 October 1999

3.1. Type

There are three types of MLD messages:

Multicast Listener Query (Type = decimal 130)

There are two subtypes of Multicast Listener Query messages:

- General Query, used to learn which multicast addresses have


listeners on an attached link.
- Multicast-Address-Specific Query, used to learn if a
particular multicast address has any listeners on an attached
link.

These two subtypes are differentiated by the contents of the


Multicast Address field, as described in section 3.6.

Multicast Listener Report (Type = decimal 131)

Multicast Listener Done (Type = decimal 132)

In the rest of this document, the above messages types are referred
to simply as "Query", "Report", and "Done".
VPI
Stands for "Virtual Path Identifier." The VPI is an 8-bit header inside each ATM cell that
indicates where the cell should be routed. ATM, or asynchronous transfer mode, is a method
of sending data in small packets of fixed sizes. It is used by many ISPs (Internet Service
Providers) for transferring data to client computers.

As an ATM cell moves across a network, it typically passes through several ATM switches.
The VPI tells the switches where to route the packet of information, or what path to take.
Hence the name, "virtual path identifier." The VPI is used in conjunction with the VCI, or
virtual channel identifier.

VCI
Stands for "Virtual Channel Identifier." The VCI, used in conjunction with the VPI (virtual
path indicator), indicates where an ATM cell is to travel over a network. ATM, or
asynchronous transfer mode, is a method that many ISPs (Internet Service Providers) use to
transfer data to client computers. Because ATM sends packets over fixed channels, the data is
easier to track than information sent over the standard TCP/IP protocol.

The VCI within each ATM cell defines the fixed channel on which the packet of information
should be sent. It is a 16-bit field, compared to the VPI, which is only 8 bits. Since this
numerical tag specifies the virtual channel that each packet belongs to, it prevents
interference with other data being sent across the network.

1.3.1 Architecture

In an ATM network, information such as data, voice, or video that is transported through the
network is broken into small, fixed-sized pieces called cells. Each cell is 53 bytes long, with
48 bytes of user data (payload), and 5 bytes of header information (see Fig. 1).
Sign in to download full-size image

Fig. 1. Format of an ATM cell.

The fields in an ATM cell are defined as follows.

The Generic Flow Control (GFC) field in an ATM cell is intended to police traffic
across the user–network interface.

The Virtual Path Identifier (VPI)/Virtual Circuit Identifier (VCI) fields identify the
virtual path and virtual channel along which a cell should pass. The size of this field
may vary depending on the location of the cell relative to network boundaries (i.e.,
whether it is at the user–network interface or the network-node interface—this is
described in more detail later).

The Payload Type Identifier (PTI) identifies the information carried by the cell. The
cell may contain user information or connection layer management information. It is
also used to indicate a network congestion state or for network resource management.

The Cell Loss Priority (CLP) field indicates if a cell may be discarded should it
encounter congestion. This is typically used for noncritical data or network policing
functions.

The Header Error Check (HEC) field contains an 8-bit Cyclical Redundancy Check
(CRC) that protects the cell’s header.

The Payload field contains user data.

There are several layers in the ATM architecture. The first layer is the physical layer that
describes the physical transmission of information through the network. The second layer is
the ATM layer. This layer defines the cell structure and how the ATM cells flow through the
logical connections in an ATM network. The third layer is the ATM Adaptation Layer or
AAL. The AAL is responsible for accommodating the multiple types of communication
traffic that are to be sent over the ATM network. The final layer is the user layer, where
various service-specific functions are available to end-user applications (see Fig. 2).

Sign in to download full-size image

Types of Messages: ICMP messages are divided into two broad categories: error-reporting
messages and query messages. The error-reporting messages report problems that a router or
a host (destination) may encounter when it processes an IP packet. The query messages,
which occur in pairs, help a host or a network manager get specific information from a router
or another host.

I) Error Reporting:
 One of the main responsibilities of ICMP is to report errors. Although technology has
produced increasingly reliable transmission media, errors still exist and must be
handled.
 IP is an unreliable protocol. This means that error checking and error control are not a
concern of IP.
 ICMP was designed, in part, to compensate for this shortcoming. However, ICMP
does not correct errors-it simply reports them. Error correction is left to the higher-
level protocols.
 Error messages are always sent to the original source because the only information
available in the datagram about the route is the source and destination IP addresses.
 ICMP uses the source IP address to send the error message to the source (originator)
of the datagram.
 Five types of errors are handled: destination unreachable, source quench, time
exceeded, parameter problems, and redirection (see figure1).

 Destination Unreachable: When a router cannot route a datagram or a host cannot


deliver a datagram, the datagram is discarded and the router or the host sends a
destination-unreachable message back to the source host that initiated the datagram.
 Source Quench: The source-quench message in ICMP was designed to add a kind of
flow control to the IP. When a router or host discards a datagram due to congestion, it
sends a source-quench message to the sender of the datagram. This message has two
purposes. First, it informs the source that the datagram has been discarded. Second, it
warns the source that there is congestion somewhere in the path and that the source
should slow down (quench) the sending process.
 Time Exceeded: When the time-to-live value reaches 0, after decrementing, the
router discards the datagram. However, when the datagram is discarded, a time-
exceeded message must be sent by the router to the original source. Second, a time-
exceeded message is also generated when not all fragments that make up a message
arrive at the destination host within a certain time limit.
 Parameter Problem: Any ambiguity in the header part of a datagram can create
serious problems as the datagram travels through the Internet. If a router or the
destination host discovers an ambiguous or missing value in any field of the datagram,
it discards the datagram and sends a parameter-problem message back to the source.
 Redirection: This concept of redirection is shown in Figure 2. Host A wants to send a
datagram to host B. Router R2 is obviously the most efficient routing choice, but host
A did not choose router R2. The datagram goes to R1 instead. Router R1, after
consulting its table, finds that the packet should have gone to R2. It sends the packet
to R2 and, at the same time, sends a redirection message to host A. Host A's routing
table can now be updated.

II) Query:

In addition to error reporting, ICMP can diagnose some network problems. This is
accomplished through the query messages, a group of four different pairs of messages, as
shown in Figure3

 Echo Request and Reply: The echo-request and echo-reply messages are designed
for diagnostic purposes. Network managers and users utilize this pair of messages to
identify network problems.
 Timestamp Request and Reply: Two machines (hosts or routers) can use the
timestamp request and timestamp reply messages to determine the round-trip time
needed for an IP datagram to travel between them. It can also be used to synchronize
the clocks in two machines.
 Address-Mask Request and Reply: If the host knows the address of the router, it
sends the request directly to the router. If it does not know, it broadcasts the message.
The router receiving the address-mask-request message responds with an address-
mask-reply message, providing the necessary mask for the host.
 Router Solicitation and Advertisement: A host that wants to send data to a host on
another network needs to know the address of routers connected to its own network.
Also, the host must know if the routers are alive and functioning. The router-
solicitation and router-advertisement messages can help in this situation.
 Checksum: In ICMP the checksum is calculated over the entire message (header and
data).
Stateless DHCPv6

Stateless DHCPv6 brings to the picture the DHCPv6 protocol. With this approach, we still
use SLAAC to obtain reachability information, and we use DHCPv6 for extra items.

The client always starts with a Router Solicitation, and the router on the segment responds
with a Router Advertisement. This time, the Router Advertisement has a flag called other-
config set to 1. Once the client receives the message, it will still use SLAAC to craft its own
IPv6 address. However, the flag tells the client to do something more.

After the SLAAC process succeed, the client will craft a DHCPv6 request and send it
through the network. A DHCPv6 server will eventually reply with all the extra information
we needed, such as DNS server or domain name.

We call this approach stateless because the DHCPv6 server does not manage any lease for
the clients. Instead, it just gives extra information as needed.

Stateful DHCPv6

Stateful DHCPv6 is the exact porting of DHCP into IPv6 world. With this approach, a
DHCPv6 server handle leases and extra information, just like traditional IPv4 DHCP.

The client starts again with a Router Solicitation, but this time the Advertisement in reply
contains the managed-config set to 1. This tells the client to not use SLAAC, but DHCPv6
instead. The client will then generate a DHCPv6 request to get both addressing and extra
information. The DHCPv6 server will be the one choosing the IPv6 address, not the client.

Configure & Troubleshoot DHCPv6


DHCPv6 Configuration

In this part of the article, we are going to cover how to configure Stateless DHCPv6, Stateful
DHCPv6 and SLAAC.

Stateless DHCPv6

We decided to start with Stateless DHCPv6 as this is the most comprehensive


implementation. It gives you an overview of the commands for both SLAAC and Stateful.
According to the requirements, we should use this approach for the “Right” subnet. All basic
IPv6 commands, such as unicast-routing or addresses on the interfaces are already in
place. As a result, we can focus on the DHCP configuration.

The interface doing routing for the Right subnet is the GigabitEthernet 0/1.20. To
successfully enable Stateless DHCPv6, we need to define a pool with the extra information
we want to use, and turn on the other-config flag for that interface. Here’s our step-list.

1. Define a pool with the ipv6 dhcp pool global configuration command, calling it “Right”.
This will enter the prompt Router(config-dhcpv6)#, where we can configure extra
settings.
2. In the DHCPv6 prompt, enter the DNS server with dns-server command. This must be an
IPv6 address, and for this lab we are using 2001:db8:acad:10::15.
3. Define the domain name with domain-name command, for this lab use
right.company.local.
4. Go to the interface configuration mode, and associate the interface with the pool using
ipv6 dhcp server command.
5. Turn on the other-config flag for the interface using ipv6 nd other-config-flag
command, with no extra parameter.

For your convenience, we grouped all the commands you need to enter hereafter.

ipv6 dhcp pool Right


dns-server 2001:db8:acad:10::15
domain-name right.company.local

interface GigabitEthernet 0/1.20


ipv6 dhcp server Right
ipv6 nd other-config-flag

Your Packet Tracer score should increase, but clients still won’t get the IPv6 address. We
need to do something more.

Configuring clients in Packet Tracer

By default, Packet Tracer clients have no IPv6 address. Furthermore, they are set to be static,
which is not what we want for this lab. We need to log into the client and change the setting
to Auto-Config. To do that, we simply click on the client and go to the Desktop Tab. From
there, we select the first icon (“IP Configuration”).

The following window will appear, and we can change the addressing method for IPv6. For
this lab we should set it to Auto-Config on all clients, in order to take advantage of Neighbor
Discovery. However, for a Stateless DHCPv6 network, the setting will automatically switch
from Auto-Config to DHCP when the client tires to contact the DHCP server.
Select Auto Config here.

Apply those settings to all the clients and we are set to go!

Stateful DHCPv6

For this lab, we are not going to configure Stateful DHCPv6. However, its configuration is
extremely easy. The first thing we want to do is to tell the pool which prefix is going to
manage. To do that, we use the address prefix command in the pool configuration prompt.
As a parameter, we need to enter a global unicast prefix, for example
2001:db8:acad:10::/64.

The next step is at the interface level. We need to turn on the managed-config flag in the
Neighbor Discovery. This is easily done with ipv6 nd managed-config-flag. The
remaining configuration is identical to Stateless DHCPv6.
Comparison of Neighbor Discovery to ARP and Related
IPv4 Protocols
The functionality of the IPv6 Neighbor Discovery protocol corresponds to a combination of
the IPv4 protocols: Address Resolution Protocol (ARP), Internet Control Message Protocol
(ICMP) Router Discovery, and ICMP Redirect. IPv4 does not have a generally agreed on
protocol or mechanism for neighbor unreachability detection. However, host requirements do
specify some possible algorithms for dead gateway detection. Dead gateway detection is a
subset of the problems that neighbor unreachability detection solves.

The following list compares the Neighbor Discovery protocol to the related set of IPv4
protocols.

 Router discovery is part of the base IPv6 protocol set. IPv6 hosts do not need to
snoop the routing protocols to find a router. IPv4 uses ARP, ICMP router discovery,
and ICMP redirect for router discovery.

 IPv6 router advertisements carry link-local addresses. No additional packet exchange


is needed to resolve the router's link-local address.

 Router advertisements carry site prefixes for a link. A separate mechanism is not
needed to configure the netmask, as is the case with IPv4.

 Router advertisements enable address autoconfiguration. Autoconfiguration is not


implemented in IPv4.

 Neighbor Discovery enables IPv6 routers to advertise an MTU for hosts to use on the
link. Consequently, all nodes use the same MTU value on links that lack a well-
defined MTU. IPv4 hosts on the same network might have different MTUs.

 Unlike IPv4 broadcast addresses, IPv6 address resolution multicasts are spread over 4
billion (2^32) multicast addresses, greatly reducing address resolution-related
interrupts on nodes other than the target. Moreover, non-IPv6 machines should not be
interrupted at all.

 IPv6 redirects contain the link-local address of the new first hop. Separate address
resolution is not needed on receiving a redirect.

 Multiple site prefixes can be associated with the same IPv6 network. By default, hosts
learn all local site prefixes from router advertisements. However, routers can be
configured to omit some or all prefixes from router advertisements. In such instances,
hosts assume that destinations are on remote networks. Consequently, hosts send the
traffic to routers. A router can then issue redirects, as appropriate.

 Unlike IPv4, the recipient of an IPv6 redirect message assumes that the new next-hop
is on the local network. In IPv4, a host ignores redirect messages that specify a next-
hop that is not on the local network, according to the network mask. The IPv6 redirect
mechanism is analogous to the XRedirect facility in IPv4. The redirect mechanism is
useful on non-broadcast and shared media links. On these networks, nodes should not
check for all prefixes for local link destinations.

 IPv6 neighbor unreachability detection improves packet delivery in the presence of


failing routers. This capability improves packet delivery over partially failing or
partitioned links. This capability also improves packet delivery over nodes that
change their link-local addresses. For example, mobile nodes can move off the local
network without losing any connectivity because of stale ARP caches. IPv4 has no
corresponding method for neighbor unreachability detection.

 Unlike ARP, Neighbor Discovery detects half-link failures by using neighbor


unreachability detection. Neighbor Discovery avoids sending traffic to neighbors
when two-way connectivity is absent.

 By using link-local addresses to uniquely identify routers, IPv6 hosts can maintain the
router associations. The ability to identify routers is required for router advertisements
and for redirect messages. Hosts need to maintain router associations if the site uses
new global prefixes. IPv4 does not have a comparable method for identifying routers.

 Because Neighbor Discovery messages have a hop limit of 255 upon receipt, the
protocol is immune to spoofing attacks originating from off-link nodes. In contrast,
IPv4 off-link nodes can send ICMP redirect messages. IPv4 off-link nodes can also
send router advertisement messages.

 By placing address resolution at the ICMP layer, Neighbor Discovery becomes more
media independent than ARP. Consequently, standard IP authentication and security
mechanisms can be used.

You might also like