为什么 IPv6 不能发送广播?

为什么 IPv6 不能发送广播?

IPv4 可以广播。为什么 IPv6 做不到呢?

答案1

由于解释得非常好,我更喜欢剪切粘贴答案。这是来自“TCP/IP 指南“,必读:

IPv6 寻址模型的一个重要变化是支持的地址类型。IPv4 支持三种地址类型:单播、多播和广播。其中,绝大多数实际流量是单播。IP 多播支持直到互联网建立多年后才得到广泛部署,并且仍然受到各种问题的阻碍。出于性能原因,IP 中广播的使用必须受到严格限制(我们不希望任何设备能够在整个互联网上广播!)

IPv6 也支持三种地址类型,但有一些变化:

  • 单播地址:这些是 IPv4 中的标准单播地址,每个主机接口一个。

  • 多播地址:这些地址代表各种 IP 设备组:发送到多播地址的消息将发送到组中的所有设备。与 IPv4 相比,IPv6 包含更好的多播功能和更多的多播地址。由于 IPv4 下的多播在很大程度上因许多硬件设备不支持该功能而受到阻碍,因此对多播的支持是 IPv6 的必需部分,而不是可选部分。

  • 任播地址:当必须将消息发送给组中的任何成员,但不需要发送给所有成员时,使用任播寻址。通常,最容易联系到的组成员将收到消息。任播寻址的一个常见示例是组织中一组路由器之间的负载共享。

关键概念:IPv6 具有与 IPv4 类似的单播和多播地址。但是,IPv6 中没有广播地址这一独特概念。已添加一种新类型的地址(任播地址),允许将消息发送到一组设备中的任何一个成员。IPv6 中地址类型更改的影响

IPv6 不再使用广播寻址作为一种独特的寻址方法。广播功能是使用多播寻址到设备组来实现的。例如,所有节点所属的多播组可用于在网络中进行广播。

创建任播寻址的一个重要含义是取消了对 IP 地址的严格唯一性要求。任播是通过将相同的 IP 地址分配给多台设备来实现的。还必须明确告知设备它们共享一个任播地址,但地址本身在结构上与单播地址相同。

答案2

IPv6 不实现传统的 IP 广播,因此不定义广播地址。在 IPv6 中,可以通过向链路本地所有节点多播组发送数据包来实现相同的结果,这类似于 IPv4 广播。

答案3

在 IPv4 中,“广播”实际上只是发送给本地广播域(一个有限域)上的每个人。多播则发送给由特定组定义的有限域。看看 IPv4 的“广播”是如何成为多播的一个特定子集的(其中“组”是每个人)。在 IPv6 中,他们消除了这个冗余术语。

答案4

广播假设每个人都对您的数据包感兴趣,并且所有主机都需要处理它。对于嵌入式设备,它们不太可能能够处理请求,因此如果它们能够保持省电模式,通常更好。使用多播而不是广播允许网络接口在硬件中确定数据包是否足够有趣以保证唤醒主处理器,这大大延长了这些设备的电池寿命。

相关内容