03-PIM Snooping配置
本章节下载: 03-PIM Snooping配置 (300.43 KB)
PIM Snooping(Protocol Independent Multicast Snooping,协议无关组播窥探)运行在二层设备上,通过与IGMP Snooping配合来对收到的PIM协议报文进行分析,将有接收需求的端口添加到PIM Snooping路由表的相应表项中,以实现组播报文的精确转发。
如图1-1所示,组播源Source 1和Source 2分别向组播组G1和G2发送组播数据,而Receiver 1和Receiver 2则分别是G1和G2的接收者,二层设备上连接各PIM路由器的端口都属于同一个VLAN/VSI:
· 当二层设备只运行IGMP Snooping时,它通过监听PIM路由器发出的PIM Hello报文来维护路由器端口,将组播数据报文向VLAN/VSI内的所有路由器端口转发,而将除PIM Hello报文外的其它PIM协议报文在VLAN/VSI内广播。因此,无论PIM路由器是否有接收需求,都会收到所有的PIM协议报文和组播数据报文。
· 当二层设备同时运行了IGMP Snooping和PIM Snooping时,它通过监听PIM路由器发出的PIM协议报文来了解其接收需求,将有接收需求的PIM路由器所在的端口添加到PIM Snooping路由表的相应表项中,使PIM协议报文和组播数据报文能够被精确转发给有接收需求的PIM路由器,从而节约了网络带宽。
有关IGMP Snooping和路由器端口的详细介绍,请参见“IP组播配置指导”中的“IGMP Snooping”。
PIM Snooping功能在Secondary VLAN中不会生效,因此不建议在Secondary VLAN中配置此功能。有关Secondary VLAN的详细介绍,请参见“二层技术-以太网交换配置指导”中的“Private VLAN”。
在部署了PIM Snooping功能的网络中,当有分片的PIM加入/剪枝报文存在时,会影响PIM Snooping功能对组播报文的精确转发。建议在所有与PIM Snooping交换机连接的PIM设备上配置加入/剪枝报文(jp-pkt-size)的最大长度要小于路径MTU。有关配置加入/剪枝报文的详细内容,请参见“IP组播配置指导”中的“PIM”。
PIM Snooping只支持PIM-SM和PIM-SSM网络,因此不建议在PIM-DM和双向PIM网络中进行配置。有关PIM的详细介绍,请参见“IP组播配置指导”中的“PIM”。
在VLAN/VSI内使能了PIM Snooping之后,PIM Snooping功能只在属于该VLAN/VSI的端口上生效。
PIM Snooping配置任务如下:
(1) 使能PIM Snooping
(2) (可选)配置主从倒换后PIM Snooping全局端口的老化时间
在VLAN/VSI内使能PIM Snooping之前,必须先在全局以及该VLAN/VSI内使能IGMP Snooping。
在组播VLAN的子VLAN内使能PIM Snooping无效。
(1) 进入系统视图。
system-view
(2) 开启设备的IGMP Snooping,并进入IGMP-Snooping视图。
igmp-snooping
缺省情况下,IGMP Snooping处于关闭状态。
本命令的详细介绍,请参见“IP组播命令参考”中的“IGMP Snooping”。
(3) 退回系统视图。
quit
(4) 进入VLAN或者VSI视图。
¡ 进入VLAN视图。
vlan vlan-id
¡ 进入VSI视图。
vsi vsi-name
(5) VLAN/VSI内使能IGMP Snooping。
igmp-snooping enable
缺省情况下,VLAN/VSI内的IGMP Snooping处于关闭状态。
本命令的详细介绍,请参见“IP组播命令参考”中的“IGMP Snooping”。
(6) VLAN/VSI内使能PIM Snooping。
pim-snooping enable
缺省情况下,VLAN/VSI内的PIM Snooping处于关闭状态。
为了使PIM Snooping在主从倒换后不会因表项老化而影响二层数据转发,可以手动配置倒换后的全局端口老化时间。全局端口指的是主设备的虚拟端口,包括二层聚合接口等。由全局端口担任的邻居端口、下游端口和路由器端口分别称为全局邻居端口、全局下游端口和全局路由器端口。
当主从倒换后的全局邻居端口收到PIM Hello报文时,手动配置的全局邻居端口的老化时间将失效,以PIM Hello报文里的老化时间为准。
当主从倒换后的全局路由器端口和全局下游端口收到PIM加入报文时,手动配置的全局路由器端口和全局下游端口的老化时间将失效,以PIM加入报文里的老化时间为准。
(1) 进入系统视图。
system-view
(2) 进入VLAN或者VSI视图。
¡ 进入VLAN视图。
vlan vlan-id
¡ 进入VSI视图。
vsi vsi-name
(3) 配置主从倒换后PIM Snooping全局邻居端口的老化时间。
pim-snooping graceful-restart neighbor-aging-time seconds
缺省情况下,主从倒换后PIM Snooping全局邻居端口老化时间为105秒。
(1) 进入系统视图。
system-view
(2) 进入VLAN或者VSI视图。
¡ 进入VLAN视图。
vlan vlan-id
¡ 进入VSI视图。
vsi vsi-name
(3) 配置主从倒换后PIM Snooping全局下游端口和全局路由器端口的老化时间。
pim-snooping graceful-restart join-aging-time seconds
缺省情况下,主从倒换后PIM Snooping全局下游端口和全局路由器端口的老化时间为210秒。
在完成上述配置后,在任意视图下执行display命令可以显示配置后PIM Snooping的运行情况,通过查看显示信息验证配置的效果。
在用户视图下执行reset命令可以清除PIM Snooping的统计信息。
表1-1 PIM Snooping显示和维护
命令 |
|
显示PIM Snooping的邻居信息 |
display pim-snooping neighbor [ vlan vlan-id | vsi vsi-name ] [ slot slot-number ] [ verbose ] |
显示PIM Snooping的路由器端口信息 |
display pim-snooping router-port [ vlan vlan-id | vsi vsi-name ] [ slot slot-number ] [ verbose ] |
显示PIM Snooping路由表的信息 |
display pim-snooping routing-table [ vlan vlan-id | vsi vsi-name ] [ slot slot-number ] [ verbose ] |
显示PIM Snooping监听到的PIM报文的统计信息 |
display pim-snooping statistics |
清除PIM Snooping监听到的PIM报文的统计信息 |
reset pim-snooping statistics |
· 如图1-2所示,网络中运行OSPF协议,Router A和Router B各自的HundredGigE1/0/1接口分别连接组播源Source 1和Source 2;Router C和Router D各自的HundredGigE1/0/1接口分别连接接收者Receiver 1和Receiver 2;Router A、Router B、Router C和Router D各自的HundredGigE1/0/2接口都通过Switch A互连。
· Source 1和Source 2分别通过组播组224.1.1.1和225.1.1.1发送组播数据,Receiver 1和Receiver 2则分别接收来自组播组224.1.1.1和225.1.1.1的组播数据;Router C和Router D各自的HundredGigE1/0/1接口上都运行IGMP,Router A、Router B、Router C和Router D上都运行PIM-SM,并由Router A的HundredGigE1/0/2接口充当C-BSR和C-RP。
· 通过在Switch A上配置IGMP Snooping和PIM Snooping,使Switch A将PIM协议报文和组播数据报文只转发给有接收需求的路由器。
· 在所有与Switch A相连的PIM设备上配置加入/剪枝报文的最大长度为1400字节,小于路径MTU。
图1-2 PIM Snooping典型配置组网图
按照组网图配置各接口的IP地址和子网掩码,并在各路由器上配置OSPF协议。
(1) 配置Router A
# 使能IP组播路由,在各接口上使能PIM-SM,设置加入/剪枝报文的最大长度,并配置C-BSR和C-RP。
<RouterA> system-view
[RouterA] multicast routing
[RouterA-mrib] quit
[RouterA] interface hundredgige 1/0/1
[RouterA-HundredGigE1/0/1] pim sm
[RouterA-HundredGigE1/0/1] quit
[RouterA] interface hundredgige 1/0/2
[RouterA-HundredGigE1/0/2] pim sm
[RouterA-HundredGigE1/0/2] quit
[RouterA] pim
[RouterA-pim] jp-pkt-size 1400
[RouterA-pim] c-bsr 10.1.1.1
[RouterA-pim] c-rp 10.1.1.1
[RouterA-pim] quit
(2) 配置Router B
# 使能IP组播路由,在各接口上使能PIM-SM,并设置加入/剪枝报文的最大长度。
<RouterB> system-view
[RouterB] multicast routing
[RouterB-mrib] quit
[RouterB] interface hundredgige 1/0/1
[RouterB-HundredGigE1/0/1] pim sm
[RouterB-HundredGigE1/0/1] quit
[RouterB] interface hundredgige 1/0/2
[RouterB-HundredGigE1/0/2] pim sm
[RouterB-HundredGigE1/0/2] quit
[RouterB] pim
[RouterB-pim] jp-pkt-size 1400
(3) 配置Router C
# 使能IP组播路由,在接口HundredGigE1/0/2上使能PIM-SM,在接口HundredGigE1/0/1上使能IGMP,并设置加入/剪枝报文的最大长度。
<RouterC> system-view
[RouterC] multicast routing
[RouterC-mrib] quit
[RouterC] interface hundredgige 1/0/1
[RouterC-HundredGigE1/0/1] igmp enable
[RouterC-HundredGigE1/0/1] quit
[RouterC] interface hundredgige 1/0/2
[RouterC-HundredGigE1/0/2] pim sm
[RouterC-HundredGigE1/0/2] quit
[RouterC] pim
[RouterC-pim] jp-pkt-size 1400
(4) 配置Router D
# 使能IP组播路由,在接口HundredGigE1/0/2上使能PIM-SM,并在接口HundredGigE1/0/1上使能IGMP,并设置加入/剪枝报文的最大长度。
<RouterD> system-view
[RouterD] multicast routing
[RouterD-mrib] quit
[RouterD] interface hundredgige 1/0/1
[RouterD-HundredGigE1/0/1] igmp enable
[RouterD-HundredGigE1/0/1] quit
[RouterD] interface hundredgige 1/0/2
[RouterD-HundredGigE1/0/2] pim sm
[RouterD-HundredGigE1/0/2] quit
[RouterD] pim
[RouterD-pim] jp-pkt-size 1400
(5) 配置Switch A
# 开启设备的IGMP Snooping。
<SwitchA> system-view
[SwitchA] igmp-snooping
[SwitchA-igmp-snooping] quit
# 创建VLAN 100,把端口HundredGigE1/0/1到HundredGigE1/0/4添加到该VLAN中,并在该VLAN内使能IGMP Snooping和PIM Snooping。
[SwitchA] vlan 100
[SwitchA-vlan100] port hundredgige 1/0/1 to hundredgige 1/0/4
[SwitchA-vlan100] igmp-snooping enable
[SwitchA-vlan100] pim-snooping enable
[SwitchA-vlan100] quit
# 显示Switch A上VLAN 100内PIM Snooping的邻居信息。
[SwitchA] display pim-snooping neighbor vlan 100
Total 4 neighbors.
VLAN 100: Total 4 neighbors.
10.1.1.1
Ports (1 in total):
HGE1/0/1 (00:32:43)
10.1.1.2
Ports (1 in total):
HGE1/0/2 (00:32:43)
10.1.1.3
Ports (1 in total):
HGE1/0/3 (00:32:43)
10.1.1.4
Ports (1 in total):
HGE1/0/4 (00:32:43)
由此可见,Router A、Router B、Router C和Router D之间都建立起了PIM Snooping邻居关系。
# 显示Switch A上VLAN 100内PIM Snooping路由表的信息。
[SwitchA] display pim-snooping routing-table vlan 100
Total 2 entries.
FSM Flag: NI-no info, J-join, PP-prune pending
VLAN 100: Total 2 entries.
(*, 224.1.1.1)
Upstream neighbor: 10.1.1.1
Upstream Ports (1 in total):
HGE1/0/1
Downstream Ports (1 in total):
HGE1/0/3
Expires: 00:03:01, FSM: J
(*, 225.1.1.1)
Upstream neighbor: 10.1.1.2
Upstream Ports (1 in total):
HGE1/0/2
Downstream Ports (1 in total):
HGE1/0/4
Expires: 00:03:11, FSM: J
由此可见,Switch A将向Router C转发组播组224.1.1.1的组播数据,向Router D转发组播组225.1.1.1的组播数据。
二层设备不能实现PIM Snooping功能。
IGMP Snooping或PIM Snooping没有使能。
(1) 使用display current-configuration命令查看IGMP Snooping和PIM Snooping的运行状态。
(2) 如果没有使能IGMP Snooping,请先开启设备的IGMP Snooping,然后分别使能VLAN/VSI内的IGMP Snooping和PIM Snooping。
(3) 如果没有使能PIM Snooping,请使能VLAN/VSI内的PIM Snooping。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!