为什么向请求节点多播发送邻居请求?

时间:2021-07-10 18:23:00

标签: sockets networking ipv6 neighbours

假设我的电脑 A 有以下 ipv6 地址:FE80::1111:1111。 现在假设计算机 B 具有以下 ipv6 地址:FE80:2222:2222。

A 想知道 B 的链路层地址 - 因此,A 向 FF02::1:FF22:2222 发送邻居请求 - 请求节点多播.. - 但为什么呢?为什么我不直接将征集发送到 FE80:2222:2222?

1 个答案:

答案 0 :(得分:1)

<块引用>

A 想知道 B 的链路层地址 - 因此,A 发送邻居 对 FF02::1:FF22:2222 的请求 - 请求的节点多播.. - 但为什么?为什么我不直接将征集发送到 FE80:2222:2222?

A 没有 B 的链路层地址,所以它不能在网络层地址上发送给 B。 A 必须将链路层地址与网络层地址相关联才能发送到网络层地址,因为帧是使用链路层地址而不是网络层地址进行主机到主机传送的,例如交换机知道 MAC 地址,而不是 IP 地址,这就是为什么交换机可以传送包含 IPv4、IPX、IPv6、AppleTalk、ARP 等数据包的帧,而无需更改交换机硬件或软件。

邻居请求地址为多播地址,多播网络层地址转换为多播链路层地址有固定方法。

Network Engineering SE 上有多个相关问题的答案,例如 thisthisthisthis 等。