
通过配置PIM协议,可以实现域内组播路由与数据转发。PIM-SM是稀疏模式的域内组播路由协议,适用于组成员分布相对分散、范围较广的大规模网络。
通过配置ASM模型的PIM-SM,可为用户主机提供任意源组播服务,加入同一组播组的用户主机都能收到任意源发往该组的组播数据。
1、使能ASM模型的PIM-SM功能
VPN实例或者公网实例上不能同时使能PIM-DM和PIM-SM。建议将处于PIM-SM域内的所有接口都使能PIM-SM,以确保与相连PIM设备都能建立邻居关系。如果接口上需要同时使能PIM-SM和IGMP,必须要先使能PIM-SM,再使能IGMP。
[Huawei]set multicast forwarding-table super-mode # (可选)设置组播转发模式为大规格模式。
在某些大组播业务场景下,交换机需要生成大量的PIM路由表项,而且表项数量可能超过了设备默认的PIM路由表项规格,导致部分表项无法生成。
配置此功能后,设备上的PIM路由表项数量可以达到设备能够支持的最大的PIM路由表项规格,最大限度的满足大组播业务的场景需求。
此功能需要重启设备才能生效。
配置此功能后,PIM-SM的Join/Prune报文保持时间由210s变为300s。
[Huawei]assign multicast-resource-mode optimize # 优化接口板上组播报文的复制能力。
如果当前的组播报文需求超过8192份,使能IP组播路由功能之前,需要首先运行此命令优化接口板上组播报文的复制能力。
[Huawei-GigabitEthernet0/0/1]pim sm # 使能pim-sm功能
2、配置ASM模型的PIM-SM RP
手工方式静态配置RP,可以避免C-RP与BSR之间频繁的信息交互而占用带宽。
通过BSR机制动态选举RP,可以避免手工配置的繁琐;同时配置了多台C-RP也可以保证组播数据转发的可靠性。
静态RP和动态RP可同时配置,此时静态RP由于默认优先级较低而被当作备份RP。但同时配置时需要确保设备间的RP信息一致,否则容易导致网络故障。
2.1、静态RP配置
[Huawei-pim]static-rp 1.1.1.1 ?
INTEGER<2000-2999> Apply basic ACL
acl-name Name ACL
preferred Prefer to choose static RP if there are conflicts with
BSR and Auto-RP mechanisms
<cr>
[Huawei-pim]static-rp 1.1.1.1 pr
[Huawei-pim]static-rp 1.1.1.1 preferred ? # 表示静态RP优先级比动态RP高。
<cr>
在一个PIM-SM域内所有的PIM设备上都需指定相同的静态RP地址,保证静态RP正常运行。
2.2、动态RP配置
[Huawei-pim]c-bsr GigabitEthernet 0/0/2 # 配置C-BSR。建议在组播数据流量汇聚的设备上配置C-BSR。
[Huawei-pim]bsm semantic fragmentation # 使能BSR报文分片功能。
# 使能BSR报文分片功能后,可以解决IP分片时分片信息丢失而导致所有分片不可用的问题。但是必须要保证所有设备都要使能,否则会导致未使能的设备接收到的RP信息不完整。
[Huawei-pim]c-rp g 0/0/2 ? # 配置C-RP。建议在组播数据流量汇聚的设备上配置C-RP。
advertisement-interval Candidate rendezvous point advertisement-interval # 选RP 消息的时间间隔
group-policy Candidate rendezvous point acl number # 候选RP 的ACL 策略
holdtime Candidate rendezvous point holdtime # 候选RP 的保持时间
priority Candidate rendezvous point priority # 候选RP 的优先级别
<cr>
[Huawei-GigabitEthernet0/0/1]pim bsr-boundary # (可选)配置BSR边界
配置BSR边界后,BSR报文无法通过该边界,主要在划分PIM-SM域时使用。建议在规划的PIM-SM域的边缘接口配置BSR服务边界。
3、配置ASM模型的PIM-SM BSR管理域
为了更有效的管理PIM域,可将PIM域划分为多个BSR管理域和一个Global域。其中每个BSR管理域都维护一个BSR,服务于自己特定地址范围的组播组;Global域也维护一个BSR,为剩余不属于BSR管理域的组播组服务。
一台设备只能加入一个管理域,因此各个管理域转发组播报文互不干涉;Global可以通过任意管理域内的设备进行报文转发。
BSR管理域可服务的最大组地址范围为239.0.0.0~239.255.255.255。该段地址可重复使用,相当于每个BSR管理域的私有组地址。
3.1、在PIM域内所有设备上使能BSR管理域功能
[Huawei-pim]c-bsr admin-scope
3.2、在每个BSR管理域的边缘接口上配置BSR域边界
[Huawei-GigabitEthernet0/0/1]multicast boundary 239.1.1.1 24
限定了组地址范围后,该范围内的组播报文将无法通过此接口进行转发。
3.3、在每个BSR管理域的C-BSR上配置服务的组地址范围
[Huawei-pim]c-bsr group ?
X.X.X.X Administrative group address <239.0.0.0 - 239.255.255.255>
[Huawei-pim]c-bsr group 239.0.0.22 ?
INTEGER<8-32> Mask length
X.X.X.X Mask
[Huawei-pim]c-bsr group 239.0.0.22 24 ?
hash-length Mask length of the RP Hash function # RP 哈希函数的掩码长度
priority Candidate bootstrap router priority # 候选BSR 优先级
<cr>
3.4、配置Global域的C-BSR
[Huawei-pim]c-bsr global priority ?
INTEGER<0-255> Candidate bootstrap router priority
[Huawei-pim]c-bsr global hash-length ?
INTEGER<0-32> Mask length of the RP Hash function
4、ASM模型的PIM-SM SPT切换条件设置
当组播流量变大时,RP上的负担增大,容易引发故障,此时可通过组成员端DR发起到源的SPT切换来减轻RP的压力。
缺省情况下,组成员端DR在接收到第一份组播数据报文后都会向源方向发起SPT切换。
如果希望通过设置组播速率阈值来触发SPT切换或者不发起SPT切换,可在组成员端DR配置此功能。
设置组播速率阈值来触发SPT切换可能影响组播业务正常运行。建议使用默认配置,即从RPT收到第一个组播数据包后立即进行SPT切换,减轻RPT转发组播报文的负担。
4.1、配置SPT切换条件。
[Huawei-pim]spt-switch-threshold ?
INTEGER<1-4194304> Value of data speed in kbps # 允许执行切换的速率阈值
infinity Never switch # 永不切换
[Huawei-pim]spt-switch-threshold 102400 group-policy ?
INTEGER<2000-2999> Apply basic ACL
acl-name Name ACL
[Huawei-pim]spt-switch-threshold infinity group-policy ?
INTEGER<2000-2999> Apply basic ACL
acl-name Name ACL
4.2、设置检查组播数据转发速率的时间间隔。
[Huawei-pim]timer spt-switch ?
INTEGER<15-65535> Timer interval in seconds
源端DR在收到组播源发送来的组播数据后,会将其封装在注册报文中转发给RP。因此注册报文控制参数主要在RP和源端DR两个位置进行调整。
在源端DR上可进行如下调整:
1、配置注册Register抑制时间。
源端DR在收到RP发来的注册停止Register-stop报文后,在注册抑制时间内,会停止向RP发送注册报文。超时后,如果源端DR没有收到后续的注册停止报文,则恢复相应注册报文的转发。
2、配置发送空注册报文时间间隔。
如果注册抑制时间过大或过小,都会影响组播数据的正常转发。通过在抑制期间发空注册报文,可以改善这种影响。
3、配置仅根据注册报文头来计算校验和,可减少计算校验和的时间,提高注册报文封装组播数据的效率。
4、配置注册报文的源地址。
如果当前源DR向RP发送的注册报文的源地址对于RP来说不是网络中唯一的IP地址,或者RP上配置了过滤策略将该地址已过滤掉,RP都不会接收到注册报文。此时,通过重新指定合理的源IP地址,可解决此问题。
在RP上可进行如下调整:
配置过滤注册报文的规则,可限定注册报文的地址范围,提高网络安全性。
5.1、在源端DR上配置
[Huawei-pim]register-suppression-timeout ? # 保持注册抑制状态的超时时间
INTEGER<11-3600> Register suppress time value in seconds
[Huawei-pim]probe-interval ? # 发送空注册报文的时间间隔
INTEGER<1-1799> Specify probe-interval in seconds
# probe-interval的值必须小于register-suppression-timeout值的二分之一。
[Huawei-pim]register-header-checksum # 根据注册报文头信息计算校验和,未通过校验的Register注册报文将被丢弃。
[Huawei-pim]register-source ? # 指定源DR发送注册报文的源地址。
Ethernet Ethernet interface
GigabitEthernet GigabitEthernet interface
Serial Serial interface
# 在指定源DR发送注册报文的源地址时,建议使用源DR上Loopback接口的IP地址。
5.2、在RP上配置
[Huawei-pim]register-policy ? # 配置过滤注册报文的规则。
INTEGER<3000-3999> Apply advanced ACL
acl-name Name ACL
在定义ACL的rule时,通过permit参数配置设备仅接收指定地址范围的注册报文。如果ACL未定义rule,则设备默认过滤掉所有的注册报文。
6、ASM模型的PIM-SM C-RP控制参数设置
在接口上配置了C-RP后,C-RP会周期性地向BSR发送Advertisement报文(以下称宣告报文),报文携带C-RP优先级、宣告报文的保持时间。
BSR在收到该报文后,启动C-RP超时定时器,时间设为宣告报文的保持时间。在超时前,BSR将宣告报文中携带的C-RP信息汇总成RP-Set信息,封装在自举报文中向PIM域中的所有PIM设备发送。超时后,如果BSR没有收到来自C-RP后续的宣告报文,则认为目前网络中的C-RP失效或不可达。
所以C-RP发送宣告报文时间间隔必须要小于宣告报文的保持时间。
C-RP发送宣告报文时间间隔、C-RP优先级、宣告报文的保持时间都可进行手工配置。有时候为了防止非法C-RP欺骗,还可在BSR上设置合法的C-RP地址范围,只接收该地址范围内C-RP的宣告报文。
6.1、在C-RP上配置宣告报文携带的参数。
[Huawei-pim]c-rp priority ? # C-RP优先级
INTEGER<0-255> Value of priority
[Huawei-pim]c-rp advertisement-interval ? # C-RP发送宣告报文的间隔时间
INTEGER<1-65535> Value in seconds
[Huawei-pim]c-rp holdtime ? # 保持来自C-RP的宣告报文的时间
INTEGER<1-65535> Value in seconds
7、ASM模型的PIM-SM C-BSR控制参数设置
BSR由C-BSR之间自动选举产生。选举开始时,每个C-BSR都认为自己是本PIM域的BSR,向域内所有PIM设备发送Bootstrap报文(以下称自举报文)。
C-BSR在接收到其他C-BSR发来的自举报文后,首先比较二者的优先级,优先级较高者获胜;若优先级相同,则再比较二者IP地址,IP地址较大者获胜。
获胜者将成为域内的BSR,它会将自己的IP地址和RP-Set信息封装在自举报文中向域内发送。自举报文还携带哈希掩码信息,在C-RP竞选中如果要进行哈希计算时需要。
BSR周期性地发送自举报文,其他的C-BSR收到该报文后会启动超时定时器,时间设为自举报文的保持时间;超时后如果没有接收到BSR发来的自举报文,C-BSR之间会触发新一轮的BSR选举过程。
所以BSR发送自举报文的时间间隔必须要小于自举报文的保持时间。
C-BSR优先级、BSR哈希掩码、BSR发送自举报文时间间隔、自举报文的保持时间都可进行手工配置。
有时候为了防止非法BSR欺骗,还可在PIM设备上设置合法的BSR地址范围,只接收该地址范围内BSR的自举报文。
7.1、在C-BSR上配置自举报文携带的参数。
[Huawei-pim]c-bsr priority ?
INTEGER<0-255> Value of priority
[Huawei-pim]c-bsr holdtime ?
INTEGER<1-214748364> Holdtime in seconds
[Huawei-pim]c-bsr interval ?
INTEGER<1-107374177> Interval value in seconds
[Huawei-pim]c-bsr holdtime ?
INTEGER<1-214748364> Holdtime in seconds
7.2、在PIM设备上限定合法的BSR地址范围
[Huawei-pim]bsr-policy ?
INTEGER<2000-2999> Apply basic ACL
acl-name Name ACL
------------------------------------------------------------------
8、使能SSM模型的PIM-SM
[Huawei-GigabitEthernet0/0/1]pim sm
9、设置SSM组策略
SSM的组地址缺省范围是232.0.0.0/8。有时候希望限制SSM组地址范围,保证组播网络安全;或者SSM组地址不够用,需要扩展SSM组地址范围。此时,可通过配置SSM组策略,控制SSM的组地址范围。
确保网络内所有PIM设备上配置的SSM组地址范围都一致。
[Huawei-pim]ssm-policy ?
INTEGER<2000-2999> Apply basic ACL
acl-name Name ACL
10、SSM模型的PIM-SM组播源控制参数调整
当PIM设备在接收到源S发出的组播报文后,就会启动该(S,G)表项的定时器,时间设为源生存时间。如果超时前接收到源S后续发来的报文,则重置定时器;如果超时后没有接收到源S后续发来的报文,则认为(S,G)表项失效,将其删除。
源生存时间可以手动配置。
如果希望控制组播流量或者保证接收数据的安全性,还可在PIM设备上配置源地址过滤策略,只接收该策略允许范围内的组播数据。
10.1、组播源生存时间
[Huawei-pim]source-lifetime ?
INTEGER<60-65535> Specify source lifetime in seconds
10.2、源地址过滤策略
[Huawei-pim]source-policy ?
INTEGER<2000-3999> Apply basic or advanced ACL
acl-name Name ACL
如果配置的是基本ACL,通过与rule中的source参数配合,只转发源地址属于过滤规则允许范围的组播报文。
如果配置的是高级ACL,通过与rule中的source和destination参数配合,只转发源地址和组地址都属于过滤规则允许范围内的组播报文。
执行此命令后,如果指定ACL没有配置过滤规则,则不转发任何源地址发送的组播报文。
如果当前PIM表项是通过学习静态配置指定(S,G)的IGMP组信息而生成的,执行此命令后,不过滤对应PIM表项的组播报文。
如果当前PIM表项的(S,G)是组播VPN中共享组或者切换组的(S,G),执行此命令后,不会过滤对应PIM表项的组播报文。



本文地址:http://www.023wg.com/Multicast/225.html
版权声明:若无注明,本文皆为“Swiers思唯网络博客”原创,转载请保留文章出处。

