cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
1337
Views
2
Helpful
11
Replies

IMPv6 multicast neighbor discovery message question

hfakoor222
Spotlight
Spotlight

When sending out neighbor discovery messages in ipv6 to the multicast address, all routers, FF02::2,  for example:

Is the message sent to all nodes for that multicast group, or is a specific multicast address derived from the ipv6 destination ip address to send to a specific node? Or are both possible depending on the situation?

If the message is sent to a specific multicast mac address, how does the sending device construct the destination mac address?

 

 

2 Accepted Solutions

Accepted Solutions

Hi @hfakoor222 ,

The quick answer is that it depends, which icmpv6 message you are referring to. Here are some examples.

- The router solicitation message (RS) is sent to the all routers multicast address (ff02::2).

- The router advertisement message (RA) is sent to the all nodes multicast address (ff02::1)

- The neighbor solicitation message (NS) is sent to the solicited node multicast address (ff02::1:ffxx:xxxx where xx:xxxx are the last 24 bits of the solicited neighbor address). The refresh NS message might be sent to the neighbor unicast address.

Regards,

Harold Ritter
Sr Technical Leader
CCIE 4168 (R&S, SP)
harold@cisco.com
México móvil: +52 1 55 8312 4915
Cisco México
Paseo de la Reforma 222
Piso 19
Cuauhtémoc, Juárez
Ciudad de México, 06600
México

View solution in original post

Hi @hfakoor222 ,

ICMPv6 run on top of IPv6. The IPv6 header next header field is set to 58 (0x3a) for ICMPv6. Does that answer your question? If not, please clarify the question.

Regards, 

Harold Ritter
Sr Technical Leader
CCIE 4168 (R&S, SP)
harold@cisco.com
México móvil: +52 1 55 8312 4915
Cisco México
Paseo de la Reforma 222
Piso 19
Cuauhtémoc, Juárez
Ciudad de México, 06600
México

View solution in original post

11 Replies 11

hfakoor222
Spotlight
Spotlight

How Does ICMP Work in IPv6? - A Practical Demonstration 

In the following link for step 5 the author had a derived mac-address for a neighbor sollicitation of:

33:33:ff:00:00:01 which surprised me because I assumed the neighbor sollicitation message would've been sent to an "all nodes"/"all groups" multicast address, instead of a specific mac address.

 

2023-04-18 08_40_32-IOU1.png

In the very end of the article he states:

"In case of IPv4, the ARP uses layer 2 broadcast address, due to this broadcast address every node receives that message and they all need to process it. But in case of IPv6, it uses Neighbor Discovery, which use layer 2 multicast address. That layer 2 multicast address belongs to only a specific node, in this way only the particular node will receive it."

 

And so I was always assuming that multicast all groups was how neighbor sollicitation was done, but this guys shows a derived address.  Can someone shed a little light on this.

 

There's no reason to go over the article, I'm just trying to understand if sending neighbor discovery to an all devices multicast address is something that happens or not.

 

 

hfakoor222
Spotlight
Spotlight

So I did some more studying and this is what I found out, it's brief but here it is:

 

It works both ways. Typically the initial message is sent to an all groups address,  for example  FF02::2. If sending to a specific ipv6 address, the client will be listening to a preconfigured derived address; so when the solliciter sends out messages it will send out a message to FF02::2::/x and any nodes in that group, if the node has the address configured to a prefix it will respond. To figure out a physical mac-address ICMPv6 is used, with the standards recommending 33-33-xx-xx-xx.. as the derived multicast mac-address.

Hi @hfakoor222 ,

The quick answer is that it depends, which icmpv6 message you are referring to. Here are some examples.

- The router solicitation message (RS) is sent to the all routers multicast address (ff02::2).

- The router advertisement message (RA) is sent to the all nodes multicast address (ff02::1)

- The neighbor solicitation message (NS) is sent to the solicited node multicast address (ff02::1:ffxx:xxxx where xx:xxxx are the last 24 bits of the solicited neighbor address). The refresh NS message might be sent to the neighbor unicast address.

Regards,

Harold Ritter
Sr Technical Leader
CCIE 4168 (R&S, SP)
harold@cisco.com
México móvil: +52 1 55 8312 4915
Cisco México
Paseo de la Reforma 222
Piso 19
Cuauhtémoc, Juárez
Ciudad de México, 06600
México

Thanks,

 

Are the multicast ICMPv6 messages carried as part of regular IPv6 datagrams? The exercise i'm doing seems to suggest so.

 

I had assumed the ND control messages ran in seperate ICMPv6 packets but the exercise is showing them as part of a IPv6 datagram:

As part of the trace, it is describing  the black as Ethernet header, the orange as IPv6 header, and the blue as the ICMPv6 ND message. So I am assuming these are combined.

2023-04-18 08_40_32-IOU1.png

Hi @hfakoor222 ,

ICMPv6 run on top of IPv6. The IPv6 header next header field is set to 58 (0x3a) for ICMPv6. Does that answer your question? If not, please clarify the question.

Regards, 

Harold Ritter
Sr Technical Leader
CCIE 4168 (R&S, SP)
harold@cisco.com
México móvil: +52 1 55 8312 4915
Cisco México
Paseo de la Reforma 222
Piso 19
Cuauhtémoc, Juárez
Ciudad de México, 06600
México

sanfre
Level 1
Level 1

I have a question regarding this topic.

I was conducting simulations using Cisco Packet Tracer to study NDP. On PC0, I assigned the IP FE80::1:2, and on PC1, I assigned FE80::3:4. PC0 and PC1 are directly connected. Afterward, I attempted to ping the IP FE80::5:6, which, as expected, did not work. Since PC0 is unaware of PC1's MAC address, PC0 sends a Neighbor Solicitation (NS) to the multicast group FF02::1:FF05:6, resulting in the mapping of the multicast MAC address 3333:FF05:0006. Packet Tracer indicates that PC1 processes this packet at Layer 3, only to discover later in the process that the packet was not intended for it.

My question is: Why does this packet need to be forwarded to Layer 3 when it could potentially be dropped at Layer 2? After all, PC1 is designed to listen only for packets with its own MAC or with the broadcast MAC (3333:FF03:0004) set as the destination. Or have I misunderstood this process?

Hi @sanfre ,

Only the node(s) joining the group FF02::1:FF05:6 (3333:FF05:0006) should process this message. PC1 is not joining that group, so should not process this message, but other nodes might.

Regards,

Harold Ritter
Sr Technical Leader
CCIE 4168 (R&S, SP)
harold@cisco.com
México móvil: +52 1 55 8312 4915
Cisco México
Paseo de la Reforma 222
Piso 19
Cuauhtémoc, Juárez
Ciudad de México, 06600
México

Good Night Harold!!

Sorry by my ignorance to ask again but please see the picture attached. In the packet tracer simulation the packet is dropped only in layer 3. My point is that this packet should not be dropped at layer 2 since the broadcast MAC address does not match the expected broadcas MAC that shoud be 3333:FF03:0004, if I understand this NDP correctly? 

Hi @sanfre ,

This information is incorrect. PC1 does not join the specific solicited node multicast address (FF02::1:FF05:6) and will not program the corresponding multicast MAC address (3333.FF05.0006) in its NIC. The frame will therefore not make it to L3 on PC1. 

Regards,

Harold Ritter
Sr Technical Leader
CCIE 4168 (R&S, SP)
harold@cisco.com
México móvil: +52 1 55 8312 4915
Cisco México
Paseo de la Reforma 222
Piso 19
Cuauhtémoc, Juárez
Ciudad de México, 06600
México

I agree with you. So is Packet Tracer wrong?

Hi @sanfre ,

It certainly is in this specific case.

Regards,

Harold Ritter
Sr Technical Leader
CCIE 4168 (R&S, SP)
harold@cisco.com
México móvil: +52 1 55 8312 4915
Cisco México
Paseo de la Reforma 222
Piso 19
Cuauhtémoc, Juárez
Ciudad de México, 06600
México
Review Cisco Networking for a $25 gift card