
11、PIM-SM Hello报文时间控制参数设置
PIM设备通过周期性地发送Hello报文来维护PIM邻居关系。当PIM设备收到邻居发来Hello报文后,会启动定时器,时间设为该Hello报文的保持时间。如果超时后没有收到邻居发来的Hello报文,则认为该邻居失效或者不可达。
因此,PIM设备发送Hello报文的时间间隔必须要小于Hello报文的保持时间。
为了避免多个PIM设备同时发送Hello报文而导致冲突,当PIM设备接收到Hello报文时,将延迟一段时间再发送Hello报文。该段时间的值为一个随机值,并且小于“触发Hello报文的最大延迟”。
发送Hello报文的时间间隔、Hello报文的保持时间在全局PIM视图下和接口视图下都可配置。如果同时配置,接口视图上的配置生效。
触发Hello报文的最大延迟时间只能在接口上配置。
11.1、发送Hello报文的时间间隔
[Huawei-pim]timer hello ?
INTEGER<1-2147483647> Timer interval in seconds
或
[Huawei-GigabitEthernet0/0/1]pim timer hello ?
INTEGER<1-2147483647> Timer interval in seconds
11.2、Hello报文的保持时间
[Huawei-pim]hello-option holdtime ?
INTEGER<1-65535> Holdtime in seconds
或
[Huawei-GigabitEthernet0/0/1]pim hello-option holdtime ?
INTEGER<1-65535> Holdtime in seconds
11.3、设置触发Hello报文的最大延迟
[Huawei-GigabitEthernet0/0/1]pim triggered-hello-delay ?
INTEGER<1-5> Specify triggered hello delay interval in seconds
12、PIM-SM跟踪下游邻居功能
设备发送Hello报文时,会生成一个Generation ID携带在该报文中。
一般Generation ID不会改变,只有设备状态改变,此时Generation ID重新生成才会改变。这时邻居设备在收到Hello报文后,发现Generation ID改变,会立即向该设备发送加入报文以刷新邻居关系。
正常情况下,如果共享网段内有多台设备都准备向同一上游设备发送加入请求,会采用侦听机制来抑制这种相同加入报文的数目,即一台设备在侦听到其他设备的加入报文后,将不会再向该上游PIM邻居发送加入报文。
所以,这时候因Generation ID改变的上游邻居无法刷新与每台下游的邻居关系。
配置了跟踪下游邻居跟踪功能后,设备在侦听到其他设备发送的加入报文时,将不会抑制向相同的上游PIM邻居发送加入报文。
跟踪下游邻居功能在全局PIM视图下和接口视图下都可配置。如果同时配置,接口视图上的配置生效。
配置跟踪下游邻居功能时,必须保证共享网段中的所有设备都使能该功能。
[Huawei-pim]hello-option neighbor-tracking
或
[Huawei-GigabitEthernet0/0/1]pim hello-option neighbor-tracking
13、PIM-SM邻居过滤策略设置
1、限定合法的邻居地址范围,防止非法邻居入侵。
2、拒绝接收无Generation ID的Hello报文,保证交换机相连的都是正常工作的PIM邻居。
3、使能邻居检查功能,丢弃非邻居发来的Join/Prune报文和Assert(断言)报文;或者不向非邻居发送Join/Prune报文和Assert报文。
13.1、设置合法的邻居地址范围
[Huawei-GigabitEthernet0/0/1]pim neighbor-policy ?
INTEGER<2000-2999> Apply basic ACL
acl-name Name ACL
13.2、设置只接收包含Generation ID的Hello报文。
[Huawei-GigabitEthernet0/0/1]pim require-genid
13.3、配置邻居检查功能
[Huawei-pim]neighbor-check ?
receive Check when receiving a Join/Prune/Assert message # 接收Join/Prune/Assert时进行邻居检查
send Check when sending a Join/Prune/Assert message # 发送Join/Prune/Assert时进行邻居检查
14、PIM-SM DR优先级
在组播源或组成员所在的共享网段,通常同时连接着多台PIM设备。为了争取该网段唯一的组播报文转发权,PIM设备之间就需要通过交互Hello报文进行DR竞选。
竞选时,首先比较Hello报文中携带的DR优先级,优先级较高者获胜(优先级数值越大,表示优先级越高);如果DR优先级相同或该网段存在至少一台PIM设备不支持在Hello报文中携带DR优先级,则IP地址较大者获胜。
DR优先级在全局PIM视图下和接口视图下都可配置,如果同时配置,接口视图上的配置生效。
[Huawei-pim]hello-option dr-priority ?
INTEGER<0-4294967295> Value of DR priority
或
[Huawei-GigabitEthernet0/0/1]pim hello-option dr-priority ?
INTEGER<0-4294967295> Value of DR priority
15、PIM-SM DR切换延迟
有时候由于某些原因,当前共享网段的DR变成非DR,原有向该网段的转发数据的组播表项会被立即删除,这可能会导致短时间内组播数据的断流。
此时,可以配置DR切换延迟,并指定延迟时间,原有表项仍然有效直到延迟时间超时。缺省情况下,未配置DR切换延迟功能。
[Huawei-GigabitEthernet0/0/1]pim timer dr-switch-delay ?
INTEGER<10-3600> Timer interval in seconds
16、PIM-SM Join/Prune报文时间控制参数调整
PIM设备通过向上游发送Join信息请求转发组播数据,发送Prune信息请求停止转发组播数据。实际上,Join信息和Prune信息都被封装在了Join/Prune报文中,PIM设备会周期性的将Join/Prune报文发送给上游设备来更新转发状态。
上游设备在收到Join/Prune报文,就会启动定时器,时间设为Join/Prune报文自身携带的保持时间。超时后,如果没有收到下游后续发来的Join/Prune报文:
若未收到的Join/Prune报文携带有加入某组播组信息,则抑制相应组播组下游接口的转发;
若未收到的Join/Prune报文携带有针对某组播组的剪枝信息,则恢复相应组播组下游接口的转发。
因此Join/Prune报文的发送间隔必须要小于Join/Prune报文的保持时间。
发送Join/Prune报文的时间间隔、Join/Prune报文的保持时间在全局PIM视图下和接口视图下都可配置,如果同时配置,接口视图上的配置生效。
16.1、发送Join/Prune报文的时间间隔。
[Huawei-pim]timer join-prune ?
INTEGER<1-2147483647> Timer interval in seconds
或
[Huawei-GigabitEthernet0/0/1]pim timer join-prune ?
INTEGER<1-2147483647> Timer interval in seconds
16.2、Join/Prune报文的保持时间。
[Huawei-pim]holdtime join-prune ?
INTEGER<1-65535> Join/prune holdtime in seconds
或
[Huawei-GigabitEthernet0/0/1]pim holdtime join-prune ?
INTEGER<1-65535> Join/prune holdtime in seconds
17、PIM-SM Join/Prune报文的信息携带能力设置
在PIM-DM网络,Join/Prune报文主要包含了需要剪枝的表项信息。设备支持通过配置Join/Prune报文长度、包含表项数目、发送方式,来调整向上游发送剪枝信息的信息量:
1、当PIM邻居设备性能比较差,处理单个Join/Prune报文耗时比较长,可以通过调整发送的Join/Prune报文长度来控制发送Join/Prune报文携带的(S, G)表项数量,来降低PIM邻居设备的压力。
2、当PIM邻居设备Join/Prune报文处理吞吐量比较小时,可以通过调整周期性报文发送队列长度,控制每次发给PIM邻居设备的(S, G)表项数量,采取小量多批次方式发送Join/Prune报文,从而避免PIM邻居设备来不及处理就将报文丢弃,引起路由振荡。
3、缺省情况下,为了提高发送效率,Join/Prune报文都是打包向上游发送。如果不希望Join/Prune报文打包发送,可去使能此功能。
17.1、设备发送的Join/Prune报文的最大长度
[Huawei-pim]join-prune max-packet-length ?
INTEGER<100-8100> Specify maximum join/prune packet length in bytes, the default is 8100 bytes
17.2、设备每秒发送Join/Prune报文中包含的表项数目。
[Huawei-pim]join-prune periodic-messages queue-size ?
INTEGER<16-4096> Specify maximum join/prune entries sent once
17.3、关闭实时触发的Join/Prune报文打包功能
[Huawei-pim]join-prune triggered-message-pack disable
18、调整PIM-SM剪枝延迟时间
在剪枝过程中,从收到下游设备发来的剪枝信息到继续向上游设备发送剪枝信息会有延迟时间,这段时间称为LAN-Delay。
PIM设备在向上游发完剪枝信息后,也不会立即将相应下游接口剪掉,还会保持一段时间向下游转发。如果下游又有组播需求,必须要在这段时间内发送加入请求以否决这个剪枝动作。这段否决剪枝的时间称为Override-Interval。
所以,实际上PIM设备从收到剪枝信息到完成剪枝动作总共延迟了LAN-Delay+Override-Interval段时间。
LAN-Delay、Override-Interval在全局PIM视图下和接口视图下都可配置,如果同时配置,接口视图下的配置优先级高于系统视图下的配置,接口视图下的配置生效。
18.1、发送剪枝报文的延迟时间
[Huawei-pim]hello-option lan-delay ?
INTEGER<1-32767> Lan delay in milliseconds
或
[Huawei-GigabitEthernet0/0/1]pim hello-option lan-delay ?
INTEGER<1-32767> Lan delay in milliseconds
18.2、否决剪枝的时间
[Huawei-pim]hello-option override-interval ?
INTEGER<1-65535> Override interval in milliseconds
或
[Huawei-GigabitEthernet0/0/1]pim hello-option override-interval ?
INTEGER<1-65535> Override interval in milliseconds
19、调整PIM-SM断言(assert)控制参数
当设备从下游接口接收到组播数据时,说明该网段中还存在其他的上游设备。设备从该接口发出Assert报文,参与竞选唯一上游。
当一个网段内有多个相连的PIM设备均通过了RPF检查从而可以向该网段转发组播数据时,需要通过断言竞选来保证只有一个PIM设备向该网段转发组播数据。
在竞选中落败的PIM设备会抑制相应下游接口向该网段转发组播数据,但是这种竞选失败的状态只会保持一段时间。
这段时间称为Assert报文的保持时间。超时后,落选的设备会重新恢复转发组播数据从而触发新一轮的竞选。
Assert报文保持时间在全局PIM视图下和接口视图下都可配置,如果同时配置,接口视图上的配置生效。
[Huawei-pim]holdtime assert ?
INTEGER<7-65535> Specify assert holdtime
或
[Huawei-GigabitEthernet0/0/1]pim holdtime assert ?
INTEGER<7-65535> Specify assert holdtime
20、PIM-SM BFD配置
当BFD检测到对端故障以后上报PIM模块,PIM模块立即触发新一轮的DR竞选过程,而不是等到邻居关系超时,这将很大程度上缩小组播数据传输的中断时间,提高组播网络的可靠性。
在PIM协议运行过程中,PIM邻居间链路状态的变化会触发某些工作机制(如DR选举、Assert Winner选举)重新进行。
比如共享网段上的当前DR发生故障,其他PIM邻居会等到邻居关系超时才触发新一轮的DR竞选过程,导致组播数据传输中断,中断的时间将不小于邻居关系的超时时间,通常是秒级。
PIM BFD能够在毫秒级内检测共享网段内的链路状态,快速响应PIM邻居故障。如果配置了PIM BFD功能的接口在检测周期内没有收到当前DR发送的BFD检测报文,则认为当前DR发生故障,BFD快速把会话状态通告给路由管理模块(RM),再由RM通告给PIM。PIM模块触发新一轮的DR竞选过程,而不是等到邻居关系超时,从而减少组播数据传输的中断时间,提高组播数据传输的可靠性。
PIM BFD也适用于共享网段上Assert竞选的过程,可以快速响应Assert Winner接口故障。
[Huawei-GigabitEthernet0/0/1]pim sm
[Huawei-GigabitEthernet0/0/1]pim bfd enable
[Huawei-GigabitEthernet0/0/1]pim bfd ?
detect-multiplier Specify the detect multiplier
enable Enable BFD
min-rx-interval Specify the minimum receive interval
min-tx-interval Specify the minimum transmit interval
[Huawei-GigabitEthernet0/0/1]pim bfd min-tx-interval ?
INTEGER<100-1000> The minimum transmit interval(in milliseconds)
21、PIM-SM GR(平滑倒换)设置
PIM-SM网络中,在具有双主控板的设备上配置PIM GR功能,设备进行主备倒换时可以保持用户组播流量的正常转发。
在组播的应用中,组播设备有时需要进行主备倒换,比如设备升级、主控板发生故障等。在主用主控板和备用主控板进行倒换后,新主控板删除接口板的组播转发表项,重新学习PIM路由表及组播转发表。
该过程中用户的组播流量会断流。
配置了PIM GR功能后,在发生主备倒换时,组播设备的主用主控板向备用主控板备份PIM路由表项以及需要向上游发送的Join/Prune的相关信息,接口板保留转发表项。主备倒换完成后,该组播设备就可以主动快速的向上游发送Join信息,维持上游的加入状态。同时,PIM协议向所有使能PIM-SM的组播设备发送携带新Generation ID的Hello报文,当下游组播设备发现其邻居的Generation ID发生了变化,便向邻居发送Join/Prune报文以帮助其重新建立路由表项,从而保证转发平面组播数据的不间断转发。
若网络中使用动态RP,当网络中的DR收到Generation ID改变的Hello报文后,会向发生主备倒换的组播设备单播发送Bootstrap报文(以下称自举报文),组播设备从该自举报文中学习并恢复RP信息。若组播设备未能从自举报文中学习到网络中的RP信息,则从下游发送的Join/Prune报文中获取RP信息,重新创建组播路由表。
21.1、使能PIM-SM GR功能。
[Huawei-pim]graceful-restart
21.2、PIM-SM GR的最小周期
[Huawei-pim]graceful-restart period ?
INTEGER<90-3600> Graceful restart period configured
22、PIM-SM Silent设置
设备直连用户主机的接口上需要使能PIM协议,当恶意主机模拟PIM Hello报文,大量发送时,有可能导致设备瘫痪。为了避免这样的情况发生,可以将该接口设置为PIM Silent状态。
在接入层上,设备直连用户主机的接口上如果需要使能PIM协议,在该接口上可以建立PIM邻居,处理各类PIM协议报文。此配置同时存在着安全隐患:当恶意主机模拟发送PIM Hello报文时,有可能导致设备瘫痪。
为了避免这样的情况发生,可以将该接口设置为PIM Silent状态(即PIM消极状态)。当接口进入PIM消极状态后,禁止接收和转发任何PIM协议报文,删除该接口上的所有PIM邻居以及PIM状态机,该接口作为静态DR立即生效。
同时,该接口上的IGMP功能不受影响。
该功能仅适用于与用户主机网段直连的PIM设备接口,且该用户网段只与这一台PIM设备相连。
配置了该功能后,接口将不再接收和转发任何PIM协议报文,即该接口配置的其他PIM功能将失效,请谨慎使用。
如果用户网段与多台PIM设备相连,在多个PIM设备接口上配置PIM Silent,则这些接口都成为了静态DR,将导致该网段中同时存在多个DR,从而引发组播故障。
[Huawei-GigabitEthernet0/0/1]pim silent



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

