06-16-2023 02:21 PM - edited 06-16-2023 02:24 PM
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?
Solved! Go to Solution.
06-17-2023 02:03 PM
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,
06-18-2023 11:42 AM
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,
06-16-2023 05:53 PM
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.
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.
06-17-2023 11:25 AM
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.
06-17-2023 02:03 PM
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,
06-17-2023 03:46 PM - edited 06-17-2023 03:47 PM
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.
06-18-2023 11:42 AM
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,
08-27-2023 05:49 PM
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?
08-28-2023 11:11 AM
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,
08-28-2023 03:49 PM
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?
08-28-2023 05:22 PM
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,
08-28-2023 05:40 PM - edited 08-28-2023 05:49 PM
I agree with you. So is Packet Tracer wrong?
08-28-2023 06:30 PM - edited 08-28-2023 06:30 PM
Hi @sanfre ,
It certainly is in this specific case.
Regards,
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide