组播&IGMP
IGMP
Internet Management Protocol简称IGMP,又称互联网管理协议,TPC/IP协议簇中负责IPv4组播成员管理的协议。封装在IP报文中。
作用
要使组播报文最终能够到接收者,需要某种机制使连接[接收者]网段的组播路由器能够了解到该网段存在哪些组播接收者,同时保证接收者可以加入相应组播组中。
IGMP就是用来在接收者和所在网段直接相邻的组播路由器直接建立连接、维护组播成员关系。
IGMP三个版本:IGMPv1,IDMPv2,IGMPv3
IGMPv1定义了基本的组成员查询和报告过程,IGMPv2添加了查询器选举和成员离组机制,IGMPv3增加的主要功能是成员可以指定接受或者不接受某些组播源的报文。
运行IGMP高版本的路由可以识别低版本的IGMP报文。
组播服务模型分为ASM(Any-Source Multicast) SSM(Soure-Specific Multicast)
项目 |
IGMPv1 |
IGMPv2 |
IGMPv3 |
---|---|---|---|
查询器选举方式 | 依靠组播路由协议PIM选举 | 同网段组播路由器之间竞争选举 | 同网段组播路由器之间竞争选举 |
普遍组查询报文 | 支持 | 支持 | 支持 |
成员报告报文 | 支持 | 支持 | 支持 |
特定组查询报文 | 不支持 | 支持 | 支持 |
成员离开报文 | 不支持 | 支持 | 没有定义专门的成员离开报文,成员离开通过特定类型的报告报文来传达 |
特定源组查询报文 | 不支持 | 不支持 | 支持 |
指定组播源 | 不支持 | 不支持 | 支持 |
可识别报文协议版本 | IGMPv1 | IGMPv1、IGMPv2 | IGMPv1、IGMPv2、IGMPv3 |
ASM模型 | 支持 | 支持 | 支持 |
SSM模型 | 需要IGMP SSM Mapping技术支持 | 需要IGMP SSM Mapping技术支持 | 支持 |
组播服务模型
针对接收者主机,对组播源没有区别。组播源发出的组播数据源为自己,目的为组播地址。因此产生了ASM(Any-Source Multicast) SSM(Soure-Specific Multicast) 两种服务模型。分别使用不同的组播地址范围。
ASM模型
ASM模型仅针对组地址提供组播分发。一个组播组地址作为一个网络服务的集合,任何源发布到该组数据得到同样的服务。接收者主机加入组播以后可以接受到任意源法术到该组的数据。
为了提高安全性,路由器可以配置针对组播源过滤,或者禁止某些组播源的报文通过。
ASM模型要求组地址是整个组播网络中唯一。“唯一”指的是同一时刻一个ASM地址只能呗一种组播应用使用。如果两种不同的组播源使用同一个ASM地址发数据,那么这样会导致接收者同时收到两个源的数据导致流量拥塞,或者给接受主机造成困扰。
SSM模型
该模型针对特定源和组的绑定数据流提供服务,接收者主机在加入组播组时,可以指定接收哪些源的数据或者指定拒绝接收来自哪些源的数据。加入组播组后,主机只会收到特定源发送到该组的数据。
SSM模型对组播地址不再要求全网唯一,只需要每个组播源保持唯一。这里“唯一”指的是同一个源上不同的组播应用必须使用不同的SSM地址来区分。不同的源之间可以使用相同的组地址,因为SSM模型中针对每个(源、组)信息都会生成表项。节省组播地址,另一方面也不会造成网络拥塞。
常见组播地址范围
地址范围 | 含义 | 说明 |
---|---|---|
224.0.0.0~224.0.0.255 | 永久组地址 | IANA为路由协议预留的IP地址,用于标识一组特定的网络设备,供路由协议、拓扑查找等使用,不用于组播转发。常见的永久组地址如表内所示。 |
224.0.1.0~231.255.255.255 | ASM组播地址 | 全网范围内有效。其中,224.0.1.39和224.0.1.40是保留地址,不建议使用。 |
232.0.0.0~232.255.255.255 | 缺省情况下的SSM组播地址 | 全网范围内有效。 |
233.0.0.0~238.255.255.255 | ASM组播地址(续) | 全网范围内有效。此范围与上一行共同构成了ASM组播地址的完整范围。 |
239.0.0.0~239.255.255.255 | 本地管理组地址 | 仅在本地管理域内有效。在不同的管理域内重复使用相同的本地管理组地址不会导致冲突。 |
常见的永久组地址
地址 | 含义 |
---|---|
224.0.0.0 | 不分配 |
224.0.0.1 | 网段内所有主机和路由器(等效于广播地址) |
224.0.0.2 | 所有组播路由器 |
224.0.0.3 | 不分配 |
224.0.0.4 | DVMRP(Distance Vector Multicast Routing Protocol)路由器 |
224.0.0.5 | OSPF(Open Shortest Path First)路由器 |
224.0.0.6 | OSPF DR(Designated Router) |
224.0.0.7 | ST(Shared Tree)路由器 |
224.0.0.8 | ST主机 |
224.0.0.9 | RIP-2(Routing Information Protocol version 2)路由器 |
224.0.0.11 | 移动代理(Mobile-Agents) |
224.0.0.12 | DHCP(Dynamic Host Configuration Protocol)服务器/中继代理 |
224.0.0.13 | 所有PIM(Protocol Independent Multicast)路由器 |
224.0.0.14 | RSVP(Resource Reservation Protocol)封装 |
224.0.0.15 | 所有CBT(Core-Based Tree)路由器 |
224.0.0.16 | 指定SBM(Subnetwork Bandwidth Management) |
224.0.0.17 | 所有SBM |
224.0.0.18 | VRRP(Virtual Router Redundancy Protocol) |
224.0.0.22 | 所有使能IGMPv3(Internet Group Management Protocol, Version 3)的路由器 |
224.0.0.19 ~ 224.0.0.21 | 未指定 |
224.0.0.23 ~ 224.0.0.255 | 未指定 |
ipv4组播协议功能和详解
功能描述 | 备注 |
---|---|
IGMP(Internet Group Management Protocol) | 负责IPv4组播成员管理的协议,运行在组播网络的最后一段,即三层网络设备与用户主机相连的网段内。实现组播组成员的加入与离开,维护与管理组成员关系,支持与上层组播路由协议的信息交互。 |
PIM(Protocol Independent Multicast) | IPv4网络中的组播路由协议,用于将组播数据流发送到有请求的组成员所连接的组播设备上,实现组播数据的路由查找与转发。 |
MSDP(Multicast Source Discovery Protocol) | 解决多个PIM-SM域之间互连的域间组播协议,发现其他PIM-SM域内的组播源信息,传递远端域内的活动信源信息给本地域内的接收者,实现组播报文的跨域转发。 |
MBGP(MultiProtocol Border Gateway Protocol) | 实现跨AS域的组播转发,适用于组播源与接收者在不同AS域的场景。 |
IGMP Snooping | 使路由器在二层工作时,通过侦听上游三层设备和用户主机间的IGMP报文建立组播数据报文的二层转发表,管理和控制组播数据报文的转发,抑制组播数据在二层网络中扩散。 |
以上出至NetEngine AR600, AR6100, AR6200, AR6300 V300R021 配置指南