我在许多协议中看到我们使用 224 组播地址,就像 eigrp 使用 224.0.0.10 ospf 使用 224.0.0.5 224.0.0.6
为什么我们在许多协议中使用 224 作为多播地址?
因为 224.0.0.0/24 是 IANA 为本地多播分配的范围 - 本地网络控制块。
这个范围内的地址是不可路由的,它们只能存在于一条链路上,不能被路由器转发。这些协议只需要在单个链路内运行多播,通常提供动态邻居发现和直接连接的邻居之间协议消息的泛洪。
此范围内的各个地址由 IANA 分配并记录在下表中:
https://www.iana.org/assignments/multicast-addresses/multicast-addresses.xhtml#multicast-addresses-1
本地网络控制块的用途在 RFC 5771 中定义:
本地网络控制块 (224.0.0/24)
本地网络控制块中的地址用于未从链路转发的协议控制流量。此类
使用的示例包括 OSPFIGP 所有路由器 (224.0.0.5) [RFC2328]。4.1. 作业指南
根据 [RFC2780] 的第 4.4.2 节,本地网络控制块的分配遵循专家审查、IESG 批准或
标准行动过程。有关当前的
分配集,请参阅 IANA [IANA] 。
在 Karl 的解释之外,它是原始基于类的 IP 寻址方案的保留。如您所知,这些类如下(基于第一个八位字节):
- A类 (
0xxxxxxx
): [0-127].0.0.0/8 - B 类 (
10xxxxxx
): [128.0-191.255].0.0/16 - C类 (
110xxxxx
): [192.0.0-223.255.255].0/24 - D 类 (
1110xxxx
):224.0.0.0-239.255.255.255 - E类(
1111xxxx
):240.0.0.0-255.255.255.254 - (广播):255.255.255.255
这就是 RFC 870 最初对 D 类所说的话:
D类(最高位
1-1-1
)此类中的所有地址都保留供将来使用,可能用于支持多播服务。它们应该分配给目前的研发用途。
此定义已在 RFC 1166 中更新:
第四类地址,D 类,用作多播地址。四个最高位设置为
1-1-1-0
。
所以这个地址范围至少从 1983 年就被考虑用于当前的用途,并在 1990 年分配:多播如何工作的细节直到后来才确定。有趣的是,“D 类”是任何111
以 RFC 870开头的地址;它1110
直到RFC 988才被定义为。
为什么这么多多播地址以224开头?我能找到的最早的多播文档实际上并没有给出任何地址,并指出“分配的数字”文档将在以后指定它们。我能找到的第一个具有众所周知地址的文档是 IGMPv1 支持文档RFC 1054用于 IP 多播的主机扩展(第 11 页):
非正式协议说明
多播路由器发送主机成员查询消息(以下称为查询)以发现哪些主机组在其连接的本地网络上有成员。查询寻址到所有主机组(地址
224.0.0.1
),并携带 1.u 的 IP 生存时间
之前的IGMPv0 文档 (RFC988)根本没有指定任何众所周知的地址(仅参考“D 类”地址,可能还有“E 类”地址)(第 2 页):
- 主机组地址
主机组由 D 类 IP 地址标识,即那些以“
1110
”作为其高四位的IP 地址。就主机而言,其余 28 位是非结构化的。著名的永久团体的地址将在“指定号码”中公布。E 类 IP 地址,即那些以“1111
”作为其高四位的地址,保留用于将来的寻址模式。
相关的RFC 990分配编号仅针对多播地址提供此信息(第 21 页):
其他保留的 Internet 地址
`
- Internet 地址名称网络引用
224.000.000.000-239.255.255.255 多播 [44,JBP] 240.000.000.000-255.255.255.255 保留 [JBP]`
RFC 1060 Assigned Numbers最终编纂了 IGMPv1 的初始知名地址(第 19 页):
互联网多播地址
IP 多播主机扩展 (RFC-1112) [43] 指定了支持多播的 Internet 协议 (IP) 主机实现所需的扩展。下面列出了当前地址。
224.0.0.0 Reserved [43,JBP] 224.0.0.1 All Hosts on this Subnet [43,JBP] 224.0.0.2 All Gateways on this Subnet (proposed) [JBP] 224.0.0.3 Unassigned [JBP] 224.0.0.4 DVMRP Routers [140,JBP] 224.0.0.5 OSPFIGP OSPFIGP All Routers [83,JXM1] 224.0.0.6 OSPFIGP OSPFIGP Designated Routers [83,JXM1] 244.0.0.7-244.0.0.255 Unassigned [JBP] 224.0.1.0 VMTP Managers Group [17,DRC3] 224.0.1.1 NTP Network Time Protocol [80,DLM1] 224.0.1.2 SGI-Dogfight [AXC] 224.0.1.3 Rwhod [SXD] 224.0.1.4 VNP [DRC3] 244.0.1.5-244.0.1.255 Unassigned [JBP] 224.0.2.1 "rwho" Group (BSD) (unofficial) [JBP] 232.x.x.x VMTP transient groups [17,DRC3]
请注意,在以太网或 IEEE 802 网络上使用时,IP 多播地址的低 23 位被放置在以太网或 IEEE 802 网络多播地址的低 23 位中
1.0.94.0.0.0
。请参阅下一节“IANA 以太网地址块”。