欢迎来到通信人在线![用户登录] [免费注册]

IP组播地址机制

浏览:7885  来源:通信人在线  日期:2026-11-09

IP组播(multicast)技术是利用协议将IP数据包从一个源传送到多个目的地,这些目的地构成一个主机组。该主机组由一个单独的IP地址标识,即组播能使一个或多个组播源只把数据包发送给特定的主机组,只有加入该主机组的主机才能接收到数据包。通过在网络中建立组播分布树,并且只在链路的起始点复制组播分组,使每个组播分组在每条链路上最多出现一次,从而达到有效地提高网络的带宽和资源的利用率、限制网络延迟、实现匿名服务的目的。

一、IPv4组播地址机制

1、IPv4组播地址

大家知道,IPv4协议规定(见RFC 791),IPv4地址分为A、B、C、D、E类共5类地址,其中D类IP地址用于组播通信。D类组播地址格式如图1-1所示,其中最高4位为1110,剩余28位作为组播组的地址标识。一个组播地址用于标识一个组播组。有效的组播地址范围是224.0.0.0~239.255.255.255。理论上Internet最多可支持约228个组播组同时通信。组播地址中没有层次结构,不能标识出组播组的源、所有者以及成员的位置,也不包含其它的管理信息。

图 1-1:D类组播地址格式

欲具体了解IPv4地址技术的请进入。

IP组播地址划分为两类,一类是固定分配的、用于提供特定服务或维护管理协议所使用的地址,称为熟知的(Well-known)组播地址;另一类是非永久使用的组播通信地址,用于瞬变组播组(Transient Multicast Group)通信。非永久的组播地址在需要通信的时候为指定的组播组创建,当组播组中的成员数为0时释放。IP分组目的地址为组播地址表明该分组需要进行组播传送,但分组的源地址不能使用组播地址。   

表1-1给出了一些已分配的IPv4组播地址或地址范围。其中,224.0.0.0~224.0.0.255范围内的地址专用于组播选路和群组维护协议,不能分配给用户组播组,路由器也不会转发该范围内的组播分组。在这些地址中,有两个重要的组播组用于组播机制的实现。地址224.0.0.1分配给本网络上所有支持组播的系统(包括主机和路由器)所构成的组播组,称为全系统组(All Systems Group)。地址224.0.0.2分配给本网络上所有组播路由器所构成的组播组,称为全路由器组(All Routers Group)。这两个组播组都用于组播控制管理协议(IGMP)的实现。

表 1-1:组播IPv4地址的分配

IP组播机制在处理组播地址的方式上与单播地址不同。组播地址只能作为目的地址,不能作为源地址,也不能出现在源选路或记录路由选项中。组播分组转发出错时,将不会产生ICMP的差错报告(如目的不可达、分组超时等),发往组播地址的Ping也得不到回答。

2、IP组播地址到硬件组播地址的映射

在利用物理网络进行单播转发时需要利用地址解析协议(ARP)将单播IP地址映射到物理地址上,然后再利用物理网络的数据帧进行传输。在物理网络上传输组播分组时,也需要类似的功能。在以太网等一些支持组播传送的物理网络上,IP组播的标准规定了如何将IP的组播地址映射到物理组播地址的方法,如RFC 1112(映射到以太网)、RFC 1390(映射到FDDI)、RFC 1469(映射到令牌环)等。这种映射的目标是使组播转发能够充分利用物理网络的组播能力来高效地实现组播功能。尽管IP组播标准没有覆盖所有类型的网络硬件,但是已经包括了在最常用的几种物理网络上的组播地址高效的映射方式。

在以太网上,将IP组播地址映射为相应的以太网组播地址非常简单,只需将IP组播地址的低23位直接映射成以太网组播地址01.00.5E.00.00.00的低23位上。例如,IP组播地址224.2.3.5将被映射成以太网组播地址01.00.5E.2.3.5。应注意,这种映射方法对于IP组播地址来说并不是唯一的。由于IP组播地址中有28个有效位来标识组播组,因此可能有多个组播组被映射到同一以太网组播地址。这种方法实际上是在实现复杂度上的一种折衷。使用28位中的23位作为硬件地址己经包括了足够大的组播地址的集合,两个组播组地址在映射时出现冲突的概率相当小。这种简单的映射方法也使软件调试更为容易,还能消除在共享以太网通信时IP协议与其他协议之间的相互干扰。但这种方法使主机有可能收到一些非期望的组播分组,因此IP组播软件需要检查传入分组的组播地址,以便丢弃那些不需要的分组。

3、组管理协议(IGMP)

组播用户组的管理和通信主要由组管理协议(IGMP,Internet Group Management Protocol)完成。IGMP作为注册协议,实现主机与直接连接的路由器的交互,完成组成员信息的更新和管理。组播路由器之间的组播路由信息传递以及组播树的建立和管理主要由组播路由协议来完成。通常,组播分为域内和域间两种,域内组播又包括密集模式(Dense-Mode)和稀疏模式(Sparse-Mode),具体可详见下表1-3-1的介绍。域间组播的目标是提供可扩展的层次结构的Internet范围的组播,主要协议有MBGP、MSDP、PIM-SM和SM等。下表1-3-2给出了各种协议(包括表1-3-1中介绍的域内组播的相关协议)的简单描述(定义、功能、分类及RFC等)。

表 1-3-1:关于域内组播的密集模式和稀疏模式简介

表 1-3-2:组播技术的相关协议简单描述

欲更多了解IPv4组播技术介绍的请进入。

二、IPv6组播地址机制

1、IPv6组播地址

与IPv4的D类地址和IGMP机制相比,IPv6组播地址机制在设计上更为结构化和明确。其核心是一个 128位的固定格式,将地址的各个功能领域(如作用域、生命周期)进行了清晰的位级划分,并围绕 MLD(组播监听发现) 协议构建了完整的主机与路由器交互体系。每一个IPv6组播地址都遵循一个固定格式,其功能由前16位定义,后112位则用于标识组本身。IPv6组播地址的格式由前缀(8位,固定值为1111 1111,即十六进制为FF)、标志(4位)、作用域(4位)和组ID(112位)等字段构成,如下图2-1所示;具体详见下表2-1的介绍,包括标志(Flags)字段和作用域(Scope)字段的取值与作用,还包括了组ID字段关于RFC 2375定义的永久分配的IPv6组播方案等。

图 2-1:IPv6组播地址格式的示意图

表 2-1:IPv6组播地址格式的注释

这种结构意味着,一个地址的功能(作用域)和身份(组ID)在编码上是分离的。例如,同一个“NTP服务器组”(组ID相同),可以因作用域(Scope)不同而拥有不同的完整IPv6地址,分别指向“本链路内的NTP服务器”或“整个互联网的NTP服务器”。

2、IPv6知名组播地址

IPv6定义了一系列具有特殊含义的知名组播地址,它们是网络自动配置和基础协议运行的基石,包括:所有节点(All-Nodes)、所有路由器(All-Routers)和请求节点组播(Solicited-Node Multicast),具体详细下表2-2的介绍,包括地址及其说明。

表 2-2:IPv6知名组播地址

欲具体了解IPv6地址技术的请进入。

3、与MAC地址的映射关系

IPv6组播地址与MAC地址的映射关系主要涉及到RFC 2464和RFC 6085。RFC 2464为IPv6基础映射,它定义了IPv6数据包在以太网上的传输方式。RFC 6085是IPv6映射的澄清与扩展,它更新了RFC 2464,明确说明在某些特定情况下,一个IPv6组播数据包也可以映射到一个以太网单播地址,但这并不替代RFC 2464定义的通用组播映射规则。

根据RFC 2464,在以太网链路上传输时,IPv6组播地址需要映射为48位的组播MAC地址。其规则是:取IPv6组播地址的最低32位(即组ID的低32位),直接放入MAC地址的低32位,并加上固定的前16位 33-33。完整的映射关系为:33-33 + IPv6组播地址的低32位。例如,IPv6组播地址 FF02::1 的低32位是 0000:0001,因此其映射的MAC地址为 33-33-00-00-00-01。与IPv4类似,这种映射并非一一对应,多个IPv6组播地址可能映射到同一个MAC地址,需要上层协议(如MLD Snooping)来精确区分。

组ID小于或等于32位将生成唯一的MAC地址,由于这个新的IPv6组播地址应该分配,使组标识符总是在低阶32位,如下图2-3所示(参见图2-1)。这些额外的IPv6组播新地址由互联网号码分配机构(IANA)负责。图中设置虽然这将永久IPv6组播组的数量限制在232,但这在未来不太可能成为限制。如果将来有必要超过这个限制,组播仍然可以工作,但处理速度会稍微慢一些。

图 2-3:低阶32位的IPv6组播地址

4、组播监听发现(MLD)协议

组播监听发现(MLD,Multicast Listener Discovery)协议是IPv6中用于管理组播组成员的协议,其地位等同于IPv4中的IGMP。它运行在ICMPv6之上,而非一个独立的协议。当前的标准版本是 MLDv2。与只支持“任意源组播(ASM)”的MLDv1相比,MLDv2最重要的增强是支持“源特定组播(SSM)”。这允许主机在加入组播组时,除了指定组地址(G),还可以指定只接收来自特定源(S)的流量,这极大地提升了组播通信的可控性和安全性。在IPv6中,SSM通常使用 FF3x::/32 范围内的地址。

总之,IPv6组播地址机制通过一个结构化的128位地址格式,将作用域(Scope)和组标识(Group ID)解耦,实现了比IPv4更精细和灵活的组播范围控制。配合以MLDv2为核心的成员管理协议和对SSM的原生支持,以及对请求节点组播等高效机制的应用,IPv6为组播通信构建了一个更为清晰、可控和可扩展的基础框架。

三、IPv6组播机制与IPv4组播机制的兼容过度

IPv4与IPv6组播机制的兼容过渡,核心挑战在于两者在地址架构和组管理协议上的本质差异。因此,过渡并非单一技术,而是一套在控制平面和转发平面协同工作的组合机制,旨在让单栈(仅IPv4或仅IPv6)主机也能参与另一地址族的组播组,包括灵活选择无状态地址翻译(追求效率与简洁)、隧道封装(利用现有基础设施)或PIM跨版本建树(追求路由层面的原生融合)等思路。下表3详细介绍了控制平面和转发平面协同工作组合机制。

表 3:IPv4与IPv6组播机制的兼容过渡机制:控制平面和转发平面协同工作

欲进一步了解IP网子网掩码技术的请进入。

百度云服务器
© 2004-2026 通信人在线 版权所有 备案号:粤ICP备06113876号 网站技术:做网站