接受相同的信息接受这过程一个组播组,并且接受者都是
定义:一点发出,多点接应
优势
缺点
(2)IP组播属于端到端的服务,组播机制包括以下四个部分:
为了让组播源和组播组成员进行通信,需要提供网络层组播地址,即IP组播地址。同时必须存在一种技术将IP组播地址映射为链路层的组播MAC地址。
(3)IP组播地址
组播地址
IPv4组播地址的范围及含义
说明:
根据接收者对组播源处理方式的不同,组播模型分为以下三类:
(1)ASM模型:Any-SourceMulticast,任意信源组播
在ASM模型中,任意一个发送者都可以作为组播源向某组播组地址发送信息。众多接收者通过加入由该组播组地址标识的组播组以获得发往该组播组的组播信息。
(2)SFM模型:Source-FilteredMulticast,信源过滤组播
该模型继承了ASM模型,从发送者角度来看,两者的组播组成员关系完全相同。SFM模型在功能上对ASM模型进行了扩展。
在SFM模型中,上层软件对收到的组播报文的源地址进行检查,允许或禁止来自某些组播源的报文通过。
因此,接收者只能收到来自部分组播源的组播数据。从接收者的角度来看,只有部分组播源是有效的,组播源被经过了筛选。
(3)SSM模型:Source-SpecificMulticast,指定信源组播
在现实生活中,用户可能只对某些组播源发送的组播信息感兴趣,而不愿接收其它源发送的信息。该模型为用户提供了一种能够在客户端指定组播源的传输服务。
SSM模型与ASM模型的根本区别在于:SSM模型中的接收者已经通过其它手段预先知道了组播源的具体位置。SSM模型使用与ASM/SFM模型不同的组播地址范围,直接在接收者与其指定的组播源之间建立专用的组播转发路径。
组播服务模型:针对接受者对源如何进行选择
asm模型
ssm模型
组播ip地址
组播mac地址
高24bit=0x01005e,第25bit=0,第23bit=组播ip地址的第23bit
mac地址=01-00-5e(前缀)
组播的基本架构
#PIMDM#MPLS1MPLSldpmpls12vpnmplslsr-id1.1.1.1#域间组播协议名称MSDPmulticastsourcediscoveryprotocol,能够跨越as传播组播源信息MPBGPmultprotocolbordergetwayprotocol能够跨越as传播组播路由对于ssm模型,没有域内和域间划分。优于接受者预先只掉组播的具体位置,因此可以借助pimsm的功能直接创建组播传输路劲3、IGMPIGMP(InternetGroupManagementProtocol)互联网组管理协议是TCP/IP协议族中负责IP组播成员管理的协议,用来在IP主机和与其直接相邻的组播路由器之间建立、维护组播组成员关系。
到目前为止,IGMP有三个版本:
所有版本的IGMP都支持ASM(Any-SourceMulticast,任意信源组播)模型;IGMPv3可以直接应用于SSM(Source-SpecificMulticast,指定信源组播)模型,而IGMPv1和IGMPv2则需要在IGMPSSMMapping技术的支持下才能应用于SSM模型。
工作机制
igmp
IGMP工作机制
1.IGMPv1工作机制
IGMPv1主要基于查询和响应机制来完成对组播组成员的管理。当一个网段内有多台组播路由器时,由于它们都能从主机那里收到IGMP成员关系报告报文(MembershipReportMessage)。
因此,只需其中一台路由器发送IGMP查询报文(QueryMessage)就足够了。这时就需要有一个查询器(Querier)的选举机制来确定由哪台路由器作为IGMP查询器。
对于IGMPv1来说,由组播路由协议(如PIM)选举出唯一的组播信息转发者DR(DesignatedRouter,指定路由器)作为IGMP查询器。
IGMP查询相应示意图
如上图所示,假设HostB与HostC想要收到发往组播组G1的组播数据,而HostA想要收到发往组播组G2的组播数据,那么主机加入组播组以及IGMP查询器(RouterB)维护组播组成员关系的基本过程如下:
由于本地网段中的所有主机和路由器都能收到HostB发往G1的报告报文,因此当HostC收到该报告报文后,将不再发送同样针对G1的报告报文,因为IGMP路由器(RouterA和RouterB)已知道本地网段中有对G1感兴趣的主机了。
这个机制称为主机上的IGMP成员关系报告抑制机制,该机制有助于减少本地网段的信息流量;
5.经过以上的查询和响应过程,IGMP路由器了解到本地网段中有G1和G2的成员,于是由组播路由协议(如PIM)生成(,G1)和(,G2)组播转发项作为组播数据的转发依据,其中的“*”代表任意组播源;
6.当由组播源发往G1或G2的组播数据经过组播路由到达IGMP路由器时,由于IGMP路由器上存在(,G1)和(,G2)组播转发项,于是将该组播数据转发到本地网段,接收者主机便能收到该组播数据了。
2.IGMPv2的改进
与IGMPv1相比,IGMPv2增加了查询器选举机制和离开组机制。
(1)查询器选举机制
在IGMPv1中,当某共享网段上存在多个组播路由器时,由组播路由协议(如PIM)选举的指定路由器充当查询器。
在IGMPv2中,增加了独立的查询器选举机制,其选举过程如下:
(2)离开组机制
在IGMPv1中,主机离开组播组时不会向组播路由器发出任何通知,导致组播路由器只能依靠组播组成员查询的响应超时来获知组播组成员的离开。
而在IGMPv2中,当一个主机离开某组播组时:
3.IGMPv3的改进
IGMPv3在兼容和继承IGMPv1和IGMPv2的基础上,进一步增强了主机的控制能力,并增强了查询和报告报文的功能。
(1)主机控制能力的增强
IGMPv3增加了针对组播源的过滤模式(INCLUDE/EXCLUDE),使主机在加入某组播组G的同时,能够明确要求接收或拒绝来自某特定组播源S的组播信息。当主机加入组播组时:
指定源组的组播流路经
如上图所示,网络中存在Source1(S1)和Source2(S2)两个组播源,均向组播组G发送组播报文。HostB仅对从Source1发往G的信息感兴趣,而对来自Source2的信息没有兴趣。
如果主机与路由器之间运行的是IGMPv1或IGMPv2,HostB加入组播组G时无法对组播源进行选择,因此无论HostB是否需要,来自Source1和Source2的组播信息都将传递给HostB。
当主机与路由器之间运行了IGMPv3之后,HostB就可以要求只接收来自Source1、发往G的组播信息(S1,G),或要求拒绝来自Source2、发往G的组播信息(S2,G),这样就只有来自Source1的组播信息才能传递给HostB了。
(2)查询和报告报文功能的增强
a.携带源地址的查询报文
IGMPv3不仅支持IGMPv1的普遍组查询和IGMPv2的特定组查询,而且还增加了对特定源组查询的支持:
b.包含多组记录的报告报文
IGMPv3报告报文的目的地址为224.0.0.22,可以携带一个或多个组记录。在每个组记录中,包含有组播组地址和组播源地址列表。组记录可以分为多种类型,如下:
支持的报文
成员加入
组成员离开
查询器选举
igmpv1和v2比较
IGMP配置
igmp版本比较
工作原理
路由端口(RouterPort)
路由器端口都是指二层组播设备上朝向组播路由器的接口,而不是指路由器上的接口。
二层组播设备上朝向三层组播设备(DR或IGMP查询器)一侧的接口,二层组播设备从此接口接收组播数据报文。
由协议生成的路由器端口叫做动态路由器端口。
收到源地址不为0.0.0.0的IGMP普遍组查询报文或PIMHello报文(三层组播设备的PIM接口向外发送的用于发现并维持邻居关系的报文)的接口都将被视为动态路由器端口。
手工配置的路由器端口叫做静态路由器端口。
成员端口(MemberPort)
如SwitchA和SwitchB上×××方框表示的接口。
又称组播组成员端口,表示二层组播设备上朝向组播组成员一侧的端口,二层组播设备往此接口发送组播数据报文。由协议生成的成员端口叫做动态成员端口。收到IGMPReport报文的接口,二层组播设备会将其标识为动态成员端口。
手工配置的成员端口叫做静态成员端口。路由器端口和成员端口,是二层组播转发表项中的一个重要信息:出接口。其中路由器端口相当于上游接口,成员端口相当于下游接口。通过协议报文学习到的端口,对应的为动态表项;而手工配置的端口,对应的为静态表项。
除了出接口外,每条表项还包括组播组地址和VLAN编号。组播组地址,可以为组播IP地址,也可以为组播IP地址映射后的组播MAC地址。按照IP地址转发的模式可以避免MAC地址转发模式中的地址重复问题。
VLAN编号,指定了二层广播域范围。如果使用了组播VLAN功能,入VLAN编号为组播VLAN的编号,出VLAN编号为主机所在的用户VLAN编号。否则入VLAN编号和出VLAN编号均为主机所在VLAN的编号。
例子
#multicastrouting-enableinterfaceG0/0/1ipaddress192.168.1.1255.255.255.0igmpenableigmpversion2#配置
bug
成员接口配置igmps退出后还在,同一个交换机另外的成员查询被隔离,报告也被隔离
igmpstatic-group255.1.1.14、pim概述
协议无关组播,利用rpf检查
运行于路由器与路由器之间
给组播提供路由可以是一种单播路由协议
工作流程
选举规则
构建SPT
状态刷新
机制
graft:新的成员加入主播后快速得到组播报文
assert:避免重复组播报文
竞选规则
单播路由协议优先级小的
组播路由协议开销小的
接受者MA网络接口ip地址大的
竞选结果
assertwinner:获胜的一方,负责后续对该网段报文的转发
assertloser:落败的一方,不会对该网段传输组播报文,PIM路由器也会将其从(S,G)表项下游接口列表中删除。
Assert竞选结束后,该网段上只存在一个下游接口,只传输一份组播报文。
所有AssertLoser可以周期性地恢复组播报文转发,从而引发周期性的Assert机制。
配置
局限性
基本概述
使用“拉(Pull)模式”转发组播报文。
PIM-SM的关键任务:
适用于组播成员分布较为稀疏的网络环境。
汇聚点RP(rendezvouspoint)
主机加入某个组播组时,发送IGMP成员通告。
最后一跳路由器向RP发送(*,G)Join消息。
(,G)Join消息到达RP的过程中,沿途各路由器都会生成相应的(*,G)组播转发条目。
DR
运行PIM-SM的网络,都会进行DR(DesignatedRouter)的选举。其中有两种DR分别称为接收者侧DR和组播源侧DR。