组播的优势
• 组播的优势:
提高效率:降低网络流量、减轻硬件负荷
优化性能:减少冗余流量、节约网络带宽、降低网络负载。
分布式应用:使多点应用成为可能
组播的劣势
• 组播是基于UDP的
尽力而为
没有拥塞避免机制
报文重复
报文失序
组播的IP地址
一个组播组就是一个IP地址,不表示具体的主机,而是表示一系列系统的集合,主机加某个组播组,即声明自己接收目的为某个IP地址的报文。
• IP组播组地址
224.0.0.0–239.255.255.255
“D”类地址空间
第一个字节的高四位 = “1110”
组播的分类模型
• ASM(Any-Source Multicast)
• SFM(Source-Filtered Multicast)
• SSM(Source-Specific Multicast)
组播IP地址分类
• 永久组地址
IANA为路由协议预留的组播地址,用于标识一组特定的网络设备(也称为保留组播组)。
比如224.0.0.5 OSPF路由器
永久组地址保持不变,组成员的数量可以是任意的,甚至可以为零。
• 临时组地址
为用户组播组临时分配的IP地址,组成员的数量一旦为零,即取消。
D 类地址范围 含义
224.0.0.0~224.0.0.255 为路由协议预留的永久组地址。
224.0.1.0~ 231.255.255.255\233.0.0.0~238.255.255.255
用户可用的ASM临时组地址,全网范围内有效。
232.0.0.0~232.255.255.255 用户可用的SSM临时组地址,全网范围内有效。
239.0.0.0~239.255.255.255 用户可用的ASM临时组地址,仅在特定的本地管理域内有效,称为本地管理组播
组播MAC地址
IP组播帧都使用以0x0100.5Exx.xxxx的24位前缀开始的MAC层地址。
IP地址到MAC地址的映射
• 组播MAC地址的前24bit为0x01005e,MAC地址的后23bit为组播IP地址的后23bit
映射导致的问题
存在当第3层IP地址映射成第2层MAC地址时导致32:1的地址不明确问题。
组播分发树
• 什么是组播分发树?
用来描述IP组播报文在网络中经过的路径。
• 组播分发树的两个基本类型:
源路径树
以组播源作为树根,将组播源到每一个接收者的最短路径结合起来构成的转发树。
每一个组播源与接收者之间建立一棵独立的SPT。
路径最优,延迟最小,占用内存较多
共享树
使用放在网络的某些节点的单独的公用根。根据组播路由协议,这个根常被称为
汇合点(RP)或核心,因此,共享树也可以称为RPT。
对应某个组,网络中只有一棵树。
路径不是最优的,引入额外的延迟,占用内存较少
反向路径转发
组播路由使用 “反向路径转发”机制(RPF, Reverse Path Forwarding)
组播路由和单播路由是相反的
单播路由关心数据报文要到哪里去。
组播路由关心数据报文从哪里来。
什么是RPF?
路由器收到组播数据报文后,只有确认这个数据报文是从自身连接到组播源的接口上收到的,才进行转发,否则丢弃。
• RPF检查
在单播路由表中查找到组播报文源地址的路由
如果该路由的出接口就是组播报文的入接口,RPF检查成功
否则RPF检查失败,报文丢弃。
• RPF检查过程
• 1.默认情况下采用优先级选取路由来进行RPF检查
• 2. 如果配置了按照最长匹配选择路由,则从这3种路由中选出最长匹配的那条路由,命令为multicast longest-match
• 3.如果前缀和掩码相同,则选取路由优先级最高的路由
• 4.如果前缀、掩码和优先级都相同,则按照组播静态路由、组播BGP路由、单播路由的顺序选择
• RPF检查可以根据源地址或者是RP的地址进行检查
IGMP 协议
• IGMP 协议运行于主机和与主机直接相连的组播路由器之间。
• IGMP 工作机制:
• 接收者主机向所在的共享网络报告组成员关系。
• 查询器周期性地向该共享网段发送组成员查询消息。
• 接收者主机接收到查询消息后进行响应以报告组成员关系。
• 网段中的组播路由器依据接收到的响应来刷新组成员的存在信息。
IGMP版本
IGMPv1(RFC1112)定义了基本的组成员查询和报告过程。
加入组,是主动加入
查询者并不关心有多少组播接收者
在V1中,思科和华为的报告抑制都无效!
离组会静悄悄的发生(因为没有离组的报文类型)
支持成员关系查询(普遍组)、成员关系报告
三个查询周期未得到报告(华为130秒),则认为没有组成员,
IGMP查询器选举规则
IP地址较大的
• 组地址
• 当一个成员关系报告正被发送时,组地址字段包含组播地址。
• 当用于成员关系查询时,本字段为0,并被主机忽略。
IGMPv2(RFC2236)在IGMPv1 的基础上添加了组成员快速离开的机制。
V1和V2相同,都是主动加组(都不能指定源设备)
V2拥有离组消息,即会通知组播路由器
开始支持特定组查询,用于查询某特定组是否还有成员
应用了最大响应时间,大大提高了成员关系报告抑制的效率
选举查询器:
在组播里有很多选举,但是只有V2的查询器选举和BSR-RP的选举有选择小的,其他都选择IP地址大的优选
报告抑制
当有成员离组,将发送离组消息,查询器立刻响应,发送特定组查询,连续发送两次(最大响应时间1秒),如果两个查询都没有收到回应,则认为没有组成员
• 组地址
• 在成员查询消息中,发送一个常规查询时组地址域设为0,当发送一个特定组查询时,则
应设置组的地址。
• 在成员报告或离开组的消息中,组的地址域保留了要报告或要离开的地址。
IGMPv3增加的主要功能是成员可以指定接收或指定不接收某些组播源的报文。
思科
R2(config)#int l11
R2(config-if)#ip igmp version 2 修改IGMP的版本
R2(config-if)#ip igmp join-group 239.1.1.1 加入239.1.1.1的组
华为
[AR2]int g0/0/1
[AR2-GigabitEthernet0/0/1]pim dm
[AR2-GigabitEthernet0/0/1]igmp enable 连接用户的接口开启IGMP协议
注意在面向用户的接口不必使能路由从协议,但要求在最后一跳路由器上能看上组播源地址的网段
PIM协议原理
• PIM(Protocol Independent Multicast)是典型的域内组播路由协议,分为DM(Dense Mode)和SM(Sparse Mode)两种模型。
PIM-DM
适用于小型网络
实现理念: 类似于九十年代的 上门推销
组播网络假设网络中的每个位置都有可能存在的接收者
强制的将组播流推送到整个组播网络
当然,资源消耗也是极其大的
PIM-DM数据包的转发
• DM 模式下数据包的转发路径是一颗“有源树”。
• “有源树”是以“组播源”为根、组播组成员为枝叶的一棵树。
有源树使用的是从组播源到接收者的最短路径,因此也称为最短路径树
• PIM-DM不依赖于特定的单播路由协议,而是使用现存的单播路由表进行RPF 检查。
• 路由器收到组播数据的接口称为上游。
• 转发组播数据的接口称为下游。
• 数据包的转发是从上游至下游方向的转发。
思科
R4(config)#ip multicast-routing
R4(config)#int e0/2
R4(config-if)#ip pim dense-mode
验证
R4(config-if)#do ping 239.1.1.1 source l11 r 2
R4#sh ip pim nei
R4#sh ip mroute 239.1.1.1
华为
[AR1]multicast routing-enable
[AR1]int g0/0/1
[AR1-GigabitEthernet0/0/1]pim dm
验证
[AR2]display pim neighbor
[AR2]display pim interface
[AR2]display pim routing-table
邻居发现Hello 报文
• 发现PIM 邻居
• 同一网段中的PIM 路由器都必须接收目的地址为224.0.0.13的组播报文
• 只有邻居关系建立成功后,PIM 路由器才能接收其他PIM协议报文,从而创建组播路由表项。
• 协调各项PIM 协议报文参数
• Hello 报文中携带多项PIM 协议报文参数,主要用于PIM邻居之间PIM 协议报文的控制。具体如下:
DR_Priority :表示各路由器接口竞选DR 的优先级,优先级越高越容易获胜。
Holdtime :表示保持邻居为可达状态的超时时间。
LAN_Delay :表示共享网段内传输Prune 报文的延迟时间。
Neighbor-Tracking :表示邻居跟踪功能。
Override-Interval :表示Hello 报文中携带的否决剪枝的时间间隔
构建SPT 树
—扩散
• 当PIM-DM网络中出现活跃的组播源之后,组播源发送的组播报文将在全网内扩散。
当PIM路由器接收到组播报文,根据单播路由表进行RPF检查通过后,就会在该路由器上创建(S ,G)表项,下游接口列表中包括除上游接口之外与所有PIM邻居相连的接口,后续到达的组播报文将从各个下游接口转发出去。
• 最后组播报文扩散到达叶子路由器,会出现以下两种情况:
• 若与该叶子路由器相连用户网段上存在组成员,则将与该网段相连的接口加入(S ,G)表项的下游接口列表中,后续的组播报文会向组成员转发。
• 若与该叶子路由器相连用户网段上不存在组成员,且不需要向其下游PIM邻居转发组播报文,则执行剪枝机制
—剪枝
• 当PIM 路由器接收到组播报文后,RPF检查通过,但是下游网段没有组播报文需求。此时PIM路由器会向上游发送剪枝报文,通知上游路由器禁止相应下游接口的转发,将其从(S ,G)表项的下游接口列表中删除。剪枝操作由叶子路由器发起,逐跳向上,最终组播转发路径上只存在与组成员相连的分支。
• 路由器为被裁剪的下游接口启动一个剪枝定时器,定时器超时后接口恢复转发。组播报文重新在全网范围内扩散,新加入的组成员可以接收到组播报文。随后,下游不存在组成员的叶子路由器将向上发起剪枝操作。通过这种周期性的扩散- 剪枝,PIM-DM 周期性的刷新SPT 。
• 当下游接口被剪枝后:如果下游叶子路由器有组成员加入,并且希望在下次“扩散-剪枝”前就恢复组播报文转发,则执行嫁接机制;如果下游叶子路由器一直没有组成员加入,希望该接口保持抑制转发状态,则执行状态刷新
•在PIM-DM网络中,为了避免被裁剪的接口因为“剪枝定时器”超时而恢复转发,离组播源最近的第一跳路由器会周期性地(60秒)触发StateRefresh报文在全网内扩散。收到State Refresh报文的PIM路由器会刷新剪枝定时器的状态。被裁剪接口的下游叶子路由器如果一直没有组成员加入,该接口将一直处于抑制转发状态。
嫁接
PIM-DM通过嫁接机制,使有新组成员加入的网段快速得到组播报文。
叶子路由器通过通过嫁接机制,使有新组成员加入的网段快速得到组播报文。
叶子路由器通过IGMP了解到与其相连的用户网段上,组播组有新的组成员加入。随后叶子路由器会向上游发送Graft报文,请求上游路由器恢复相应出接口转发,将其添加在(S ,G)表项下游接口列表中。嫁接过程从叶子路由器开始,到有组播报文到达的路由器结束。
Assert机制
根据Assert竞选结果,路由器将执行不同的操作:
获胜一方的下游接口称为Assert Winner,将负责后续对该网段组播报文的转发。
落败一方的下游接口称为Assert Loser,后续不会对该网段转发组播报文,PIM路由器也会将其从(S,G)表项下游接口列表中删除
竞选规则如下:
单播路由协议优先级较高者获胜。
如果优先级相同,则到组播源的开销较小者获胜。
如果以上都相同,则下游接口IP地址最大者获胜。
PIM-SM
稀疏模式原理
• PIM-SM假设网络中的组成员分布分散,某网段出现组成员时,才构建组播路由,向该网段转发组播数据。
• PIM-SM 模型实现组播转发的核心任务是构造并维护一棵单向共享树。
• 共享树选择PIM 中某一路由器作为公用根节点,称为汇聚点RP(Rendezvous Point )。组播数据通过RP 沿共享树向接收者转发。
• 接收侧,连接信息接收者的路由器向该组播组对应的RP发送组加入消息,加入消息经过一个个路由器后到达根部(即RP汇聚点),所经过的路径就变成了此共享树RPT 的分支。
• 发送端如果想要往某组播组发送数据,首先由第一跳路由器向RP汇聚点进行注册,注册消息到达RP 后触发源树建立。之后组播源把数据发向RPT树传给接收者。
思科
R1(config)#int rang e0/1-2
R1(config-if-range)#ip pim sparse-mode
华为
[AR1]multicast routing-enable
[AR1]int g0/0/1
[AR1-GigabitEthernet0/0/1]pim sm
转发树
PIM-SM同时包含两种树:共享树和源路径树。
• 从RP到组播接收者数据转发的路径称为共享树。
• 从组播源到RP的数据转发路径称为源路径树。
• RPF 检查根据树的种类进行:
• 在共享树下,使用RP地址作为检测地址。
• 在源路径树下,使用组播源地址作为检测地址
DR 选举
在连接组播源的共享网段,由DR负责向RP发送Register注册消息。与组播源相连的DR称为源端DR。
在连接组成员的共享网段,由DR负责向RP发送Join加入消息。与组成员相连的DR称为组成员端DR。
拥有最高DR优先级路由器将被选举为本网络中的DR,如果优先级相同则IP大者优先
R1(config)#int e0/1
R1(config-if)#ip pim dr-priority 10 修改DR优先级
华为
[AR1]int g0/0/1
[AR1-GigabitEthernet0/0/1]pim hello-option dr-priority 10
显式模型
先有组播路由表,后有组播流的转发
组播路由器必须先产生组播路由表,再转发组播流
转发组播流流程
叶路由器向RP发送 join 消息,使用的是PIM协议,通过RPF检查的出接口,逐跳形成 (*,G) 组播路由表,直至 RP,形成 (共享树)
第一跳路由器收到来自组播源的组播流,RP 发送一个单播的注册报文 (**)
RP收到注册报文之后,向第一跳路由器方向针对组播源地址做 RPF检查,逐跳向上join ,逐跳形成(S,G)组播路由表形成一棵 SPT 树
SM中,在RPT树上,(,G)表项转发数据,而DM中,则不转发数据
SPT 切换
当叶路由器获取到 组播源地址,默认情况下,立刻开始 SPT 切换过程
向组播源方向做RPF检查,从 RPF 邻居接口向上游发送(S,G) join 消息
沿途上游设备将形成 (S,G)表项,并向上传递 join 消息
直至第一跳路由器
通过 修剪/剪枝 功能,将不需要的路径修剪掉 RP bit 置位,携带(S,G)内容
RP向第一跳路由器发送注册停止
当RP 接收到 来自上游的组播流,发送注册停止
在一个短暂的过程中,RP可以接收到 来自上游的 单播 和 组播 流量
第一跳路由器,收到注册停止报文,停止发送注册报文 (单播)
RPF 检查:
叶路由器向 RP 做 (*,G)join ,针对 RP 做 RPF 检查
RP 向 源方向 做 (S,G)join ,针对 源 做 RPF 检查
叶路由器向源方向做(S,G)join ,针对 源 做 RPF 检查
全网手工指定
R1(config)#ip pim rp-address 11.1.1.1 ? 设置RP RP,即汇聚点
<1-99> Access-list reference for group
<1300-1999> Access-list reference for group (expanded range)
WORD IP Named Standard Access list
override Overrides dynamically learnt RP mappings //该参数使得静态RP优先于动态RP
验证
R3#sh ip rpf 44.4.4.4
R2#sh ip pim rp mapping
R2#mtrace 44.4.4.4
静态组播路由
R2(config)#ip mroute 44.4.4.4 255.255.255.255 10.1.12.1
华为
全网手工指定
[AR1]multicast routing-enable
[AR1]int g0/0/1
[AR1-GigabitEthernet0/0/1]pim sm
[AR1]pim
[AR1-pim]static-rp 11.1.1.1
验证
[AR1]display pim rp-info
动态 RP
思科私有的自动RP
PIMv1 没有自动RP 分发机制
思科引入了动态RP 的解决方案,需要完成如下实施:
Candidates for RP (C-RP)候选RP设备
Mapping Agents (MA),映射代理设备
Cisco-Announce - 224.0.1.39
Cisco-Discovery - 224.0.1.40
C-RP 把候选信息发给224.0.1.39 ,MA 裁决地址大的作为RP 通过224.0.1.40 通告给所有组播设备
PIMv2 用标准的BSR 方式公告RP(comparable to Auto-RP)
基于UDP 的496 端口,思科设备上同一网络中存在BSR 和autorp,优选autorp
Sparse-Dense-Mode
关于原始的sparse-dense-mode:
当组地址有RP ,依照sparse-mode 直接转发数据流
如果当前组没有RP ,用dense-mode 转发数据
Announce 候选RP 和discovery信息都是通过组播组通告,通过dense模式泛洪
MA
所有使能了PIM 的Cisco 路由器自动加入
通过RP 发现报文收集RP映射信息
MA 选择候选RP地址大的作为RP
每60秒或者检测到改变时发送
包含RP映射缓存信息
RP
• 候选RP 公告内容:
组地址 (default = all groups: 224.0.0.0/4)
候选RP地址
Holdtime(181) = 3 x rp-announce-interval;
所有的MA 须收到统一的数据,MA 没有主次之分,其选出的RP相同
Access-list
ACL的permit关键字使得RP服务于特定组,其他的组工作在dense模式(如果sparse-dense模式已经配置)
R1(config)#ip pim autorp listener 所有组播设备开启AUTORP监听
步骤二,设置MA
R4(config)#int l11
R4(config-if)#ip pim sparse-mode
R4(config)#ip pim send-rp-discovery loopback 11 scope 255 设置MA TTL为255跳
步骤三设置候选RP
R3(config)#int l0
R3(config-if)#ip pim sparse-mode
R3(config)#ip pim send-rp-announce loopback 0 scope 255 设置RP TTL为255跳
验证
R2#show ip pim rp
BSR RP
在PIM-SM 网络启动后,负责收集网络内的RP 信息,为每个组播组选举出RP,然后将RP 集(即组-RP 的映射数据库)发布到整个PIM-SM 网络的路由器,称之为BSR 。
• 一个PIM-SM 域里只有一台BSR ,并同时可以存在多台候选BSR (Candidate BootStrap outer ,C-BSR )。
BSR自举路由器是PIM-SM网络里的管理核心,负责收集网络中候选RP(C-RP)发来的Advertisement宣告信息。然后将为每个组播组选择部分C-RP信息以组成RP-Set集(即组播组和RP的映射数据库),并发布到整个PIM-SM网络,从而网络内的所有路由器(包括DR)都会知道RP的位置。
C-RP周期性的发送Advertisement宣告消息的时间间隔(advertisement-interval )缺省值是60s。
BSR在holdtime hold-interva(缺省150s)内等待接收C-RP发送的Advertisement宣告消息,超过150s,BSR认为C-RP失效。
一个PIM-SM域内也可以配置多个C-RP,由BSR机制计算出和每个组播组对应的RP。
一个网络(或某管理域)内部只能选举出一个BSR,但可以配置多个候选BSR (Candidate-BSR C-BSR),当BSR发生故障后,其余C-BSR能够通过自动选举产生新的BSR,从而确保业务免受中断。
BSR 的选举
BSR 优先级数值越大则优先级越高,如果优先级相等,则IP地址较大的成为 BSR
BootStrap router工作的原理和过程:
1、在网络中选择合适的路由器把它配置成候选BSR(C-BSR),每个C-BSR都有优先级。当它得知自己是C-BSR后,首先启动一个定时器(默认为130秒),监听网络中的 BootStrap Message。BootStrap Message初始时通告发送路由器的优先级、BSR的IP地址。
2、当C-BSR收到一个BootStrap Message后,它会把自己的优先级和报文里的优先级做比较,如果对方的优先级高,它就把自己的定时器重置,继续监听BootStrap Message;如果是自己的高,那么它就发送BootStrapMessage声明自己是BSR,如果优先级相等,则比较IP地址,谁的IP地址大谁就是BSR。
3、BSR消息发送的目的地址是224.0.0.13,所有的PIM路由器都能接收到这个报文,该报文TTL一般被置为1,但每个PIM路由器收到此报文后都是把它以泛洪的方式从自己所有的使能PIM的接口上发送出去,这就能保证网络中的每台PIM设备都能收到BootStrap Message。
BSR 方式RP 选举原则
• 如果PIM-SM 域中只有一个候选RP(Candidate-RP ,C-RP ),那么这个节点就是域里RP 。
• 1 )服务范围:即ACL 的应用
• 2 )如果域中存在多个C-RP 并都拥有不同的优先级时, 优先级数值越小越优先
• 3 )如果域中存在多个C-RP 并都拥有相同的优先级时,则依靠Hash 算法算出的数值来决定RP,数值最大的成为RP 。
• Hash算法参数:
组地址;
掩码长度;
C-RP地址。
• 4 )如果域中存在多个C-RP 并都拥有相同的优先级与Hash 数值时,则拥有最高IP 地址的C-RP为该域的RP
RP 与BSR 的关系
1、候选RP(C-RP)周期性将声明发送到BSR。
当C-RP收到BootStrap Message后,它可以从该message中得知网络中谁是BSR,然后C-RP通过Candidate-RP-Advertisement Message把自己所能服务的组单播给BSR。每个C-RP都这么做的话,BSR就收集到了网络中所有C-RP的信息,并把这些信息整理成一个集RP-Set。C-RP每60秒周期性的单播发送通告。
2、BSR通过BootStrap Message周期性地向所有PIM路由器(224.0.0.13)发送BSR消息(每60秒),BSR消息包含整个RP-set和 BSR地址,消息一跳一跳地自BSR向整个网络泛洪(flood)。
3、所有的路由器使用收到的RP集来确定RP。所有路由器都使用相同的RP选择算法,所以选择的RP也是一致的。
注意:如果RP不是手工指定,而是通过选举从C-RP中产生,则每台路由器需要配置包括C-RP地址、优先级和它所能服务的组。
R2(config)#int l11
R2(config-if)#ip pim sparse-mode
R2(config)#ip pim bsr-candidate loopback 11 设置BSR
R4(config)#int l11
R4(config-if)#ip pim sparse-mode
R4(config)#ip pim bsr-candidate loopback 11
步骤二指定候选RP
R1(config)#int l0
R1(config-if)#ip pim sparse-mode
R1(config)#ip pim rp-candidate loopback 0 设置RP
R3(config)#int l0
R3(config-if)#ip pim sparse-mode
R3(config)#ip pim rp-candidate loopback 0
验证
R2#sh ip pim bsr-router
华为
候选RP
[AR1]int LoopBack 0
[AR1-LoopBack0]pim sm
[AR1]pim
[AR1-pim]c-rp LoopBack 0
候选BSR
[AR2]int l0
[AR2-LoopBack0]pim sm
[AR2]pim
[AR2-pim]c-bsr LoopBack 0 0 100
MSDP
• MSDP 是Multicast Source Discovery Protocol(组播源发现协议)的简称,是为了解决多个PIM-SM域之间的互连而开发的一种域间组播解决方案,用来发现其他PIM-SM 域内的组播源信息。
• MSDP 目前只支持在IPv4 网络部署,域内组播路由协议必须是PIM-SM 。MSDP 仅对ASM (Any-Source Multicast )模型生效
• MSDP 通过在不同PIM-SM 域的路由器(通常在RP上)之间建立MSDP 对等体,MSDP 对等体之间交互SA (Source-Active)消息,共享组播源信息,最终可以使一个域内的组播
用户接收到其他域的组播源发送的组播数据。
MSDP 在域内应用为AnycastRP
• 所有的RP 设备建立MSDP peer
•源向最近的RP 注册,SA 消息发送到其他RP通知其针对特定的组有活动的源,域内的所有RP 都知道该活动的源
•任意的RP fail ,IP 路由会重新收敛,另外的RP 会变为active
• 新的源向Backup RP 注册,接收者也向着新的RP 发送PIM Join
anycastRP
在R1和R2完成anycastRP,请测试
R1上的lO100-RP-3.3.3.100
R3上的L100-RP-3.3.3.100
R1(config)#int lo100
R1(config-if)#ip address 3.3.3.100 255.255.255.255
R1(config-if)#ip ospf 110 area 0
R1(config-if)#ip pim sparse-mode
R1(config)#ip pim rp-candidate Loopback100 priority 100
R3(config)#int l0100
R3(config-if)#ip address 3.3.3.100 255.255.255.255
R3(config-if)#ip ospf 110 area 0
R3(config-if)#ip pim sparse-mode
R3(config)#ip pim rp-candidate Loopback100 priority 50
MSDP邻居:R1上lo0和R3上lo0 连接源为lo100
R1(config)#ip msdp peer 33.1.1.1 connect-source l100
R3(config)#ip msdp peer 11.1.1.1 connect-source l100
验证
R2#sh ip mroute 239.1.1.1
华为MSDP
建立MSDP对等体
[AR1]msdp
[AR1-msdp]peer 7.7.7.7 connect-interface LoopBack 1
[AR1-msdp]originating-rp LoopBack 1
[AR7]msdp
[AR7-msdp]peer 1.1.1.1 connect-interface l1
[AR7-msdp]originating-rp LoopBack
IGMPv3 和SSM
• 服务于Source Specific Multicast (SSM )模型。
默认情况下定义SSM的组播范围是232.0.0.0/8
• 允许主机指定接收某些组播源发送的某些组播流量。
• 增加了主机的控制能力,不仅可以指定组播组,还能指定组播的源。
• IGMPv3 不仅支持IGMPv1 版本的普遍组查询,支持IGMPv2 版本的特定组查询,而且支持IGMPv3 版本的指定源/ 组查询。在IGMP消息中携带组播源地址和多种控制字段(如查询器的强壮性系数、查询间隔等)。对于普遍组查询,既不携带组地址,也不携带源地址;对于特定组查询,携带组地址,但是不携带源地址;对于指定源/ 组查询,既携带组地址,而且还携带1个或多个源地址信息
R4(config)#access-list 88 permit 232.0.0.0 0.255.255.255
R4(config)#access-list 88 permit 239.0.0.0 0.255.255.255
R4(config)#ip pim ssm range 88
实施IGMPv3和加组
R2(config)#int l11
R2(config-if)#ip igmp version 3
R2(config-if)#ip igmp join-group 239.1.1.1 source 44.4.4.4
验证
R3#sh ip mroute 239.1.1.1