收藏 分销(赏)

PIM-DM协议配置.docx

上传人:仙人****88 文档编号:11041792 上传时间:2025-06-27 格式:DOCX 页数:11 大小:70.88KB 下载积分:10 金币
下载 相关 举报
PIM-DM协议配置.docx_第1页
第1页 / 共11页
PIM-DM协议配置.docx_第2页
第2页 / 共11页


点击查看更多>>
资源描述
41             PIM-DM协议配置 41.1        PIM-DM协议简介 PIM-DM(Protocol Independent Multicast-Dense Mode)是一种密集模式的组播路由协议,适用于网络规模比较小、组播成员相对集中的情况。因为PIM-DM不依赖于任何特定的单播路由协议,所以被称作是协议无关的(Protocol Independent)组播路由协议。PIM-DM在RFC 3973文档中定义。 PIM-DM设备之间通过Hello消息来发现邻居。一旦PIM-DM设备启动,它就周期性地在每个配置了PIM-DM的接口上发送Hello消息。Hello消息有一个保持时间(Hello Hold Time)字段,这个时间参数定义了邻居等待下一个Hello消息的最长时间。如果邻居在这个时间内没有收到另一个Hello消息,就会将这个设备从邻居关系表中删除。 PIM-DM使用扩散与剪枝(flood and prune)来建立组播树。PIM-DM假定当组播源开始发送组播数据报文时,网络中的所有系统都需要接收该报文,因此报文被转发给每一个系统。从设备上游接口接收到的报文都要经过RPF(Reverse Path Forwarding,反向路径转发)检查,没有通过RPF检查的报文将被丢弃。对于通过了RPF检查的组播报文,设备根据报文的(S, G)对,即根据组播报文的源地址和组地址计算外出接口。如果计算出的外出接口不为空,则对该(S, G)对建立一个外出接口的表项,并且将该组播报文由外出接口转发;如果计算出的外出接口为空,则向RPF邻居发送一个剪枝报文,通知上游邻居不要再向本接口转发来自该(S, G)的组播报文。上游接口接收到剪枝报文以后,把发送该剪枝报文的接口记为剪枝状态(Pruned),并设置一个剪枝状态计时器。这样就建立了一棵以组播源为根的组播转发树。 PIM-DM使用Assert机制来消除冗余路由。 图 1.      PIM-DM的Assert机制 如图1所示,组播数据报文同时到达设备A和设备B时,设备A和设备B都向设备C转发,这时设备C就会收到同一份报文的两个拷贝,这是不允许的。因此必须使用某种机制,在设备A和设备B中间选择一个向设备C转发组播数据报文,而另一个则不向设备C转发,这就是PIM-DM中的Assert机制。 PIM-DM使用状态更新消息(State Refresh Message)来更新网络的状态信息。与组播源直接相连的设备定期向下游设备发送状态更新消息,以通告网络的拓扑变化情况。收到状态更新消息的设备通过修改消息中的某些字段把本机的拓扑状态信息也加入到消息中,然后发送给下游设备。到达叶子设备时,整个网络的状态信息从上到下都得到了更新。 PIM-DM使用嫁接(Graft)机制来重新建立与上游设备的连接。如果处于剪枝状态的下游设备的网络拓扑状态发生了变化,需要接收来自某个(S, G)对的组播数据报文,可以向上游设备发送嫁接消息。上游设备收到这条嫁接消息以后,回应一条嫁接确认(Graft-Ack)消息,并重新向该设备接口转发组播数据报文。 41.2        PIM-DM配置任务列表 PIM-DM配置任务包括以下各项,但其中只有第一项和第二项是必须的,其他项可根据网络的具体情况决定是否要配置。 n         启动组播路由(要求) n         启动PIM-DM(要求) n         配置Hello消息发送间隔(可选) n         配置Hello消息Option中的propagation-delay(可选) n         配置Hello消息Option中的override-interval(可选) n         配置PIM邻居过滤(可选) n         配置PIM状态更新功能(可选) n         配置PIM状态更新消息发送间隔(可选) 41.2.1  启动组播路由 必须在启动了组播路由之后,才能转发组播报文,启动PIM-DM才有意义。 要在全局配置模式上启动或者关闭组播路由,请在全局配置模式下执行以下命令: 命令 作用 Ruijie(config)# ip multicast-routing 在全局上启动组播路由 Ruijie(config)# no ip multicast-routing 在全局上关闭组播路由 41.2.2  启动PIM-DM PIM-DM必须在各个接口上分别启动。设备在接口上启动了PIM-DM以后,才可以与其他设备进行PIM-DM控制消息的交互,维持和更新组播路由表,并进行组播报文的转发。 要在接口上配置PIM-DM,请在接口模式下执行以下命令: 命令 作用 Ruijie(config-if)# ip pim dense-mode 在接口上启动PIM-DM协议 Ruijie(config-if)# no ip pim dense-mode 在接口上关闭PIM-DM协议 ~ 注意 必须在全局配置模式下启动了组播路由之后,在接口上启动PIM-DM才会起作用。 配置该命令的时候,如果出现“Failed to enable PIM-DM on <接口名>, resource temporarily unavailable, please try again”,请再次尝试配置该命令。 配置该命令的时候,如果出现“PIM-DM Configure failed! VIF limit exceeded in NSM!!! ”,表示当前组播接口配置的数量已经达到设备可配置的组播接口上限。如果仍然需要在该接口下开启PIM-DM应用,请删除一些不必要的PIM-DM或PIM-SM或DVMRP接口。 不建议在同一台交换机/路由器上的不同接口配置不同的v4组播路由协议。 41.2.3  配置Hello消息发送间隔 接口启动了PIM-DM以后,会周期性地向相邻设备接口发送Hello消息。接口向相邻设备接口发送Hello消息的时间间隔可以根据相连网络的实际情况加以修改。 要配置Hello消息发送间隔,请在接口模式下执行以下命令: 命令 作用 Ruijie(config-if)# ip pim query-interval interval-seconds 将接口的Hello消息发送间隔设置为interval-seconds,单位为秒,范围为<1-65535> Ruijie(config-if)# no ip pim query-interval 将接口的Hello消息发送间隔还原为默认值 缺省情况下,接口上的Hello消息发送间隔是30秒。 ~ 注意 每当Hello消息发送间隔被更新时,Hello消息保持时间(Hello hold time)会自动更新为Hello消息发送间隔的3.5倍。如果Hello消息发送间隔 * 3.5 > 65535,则Hello消息保持时间被更新为65535。 41.2.4  配置Hello消息Option中的propagation-delay 接口在发送Hello报文时,可以填充Option,对于LAN Prune Delay Option,其中的propagation-delay字段的默认值是500毫秒。 要配置接口的传播延迟,请在接口模式下执行以下命令: 命令 作用 Ruijie(config-if)# ip pim propagation-delay interval-milliseconds 将propagation-delay设置为interval-milliseconds,单位为毫秒,范围为<1-32767> Ruijie(config-if)# no ip pim propagation-delay 将propagation-delay还原为默认值 41.2.5  配置Hello消息Option中的override-interval 接口在发送Hello报文时,可以填充Option,对于LAN Prune Delay Option,其中的override-interval字段的默认值是2500毫秒。 要配置override-interval字段,请在接口模式下执行以下命令: 命令 作用 Ruijie(config-if)# ip pim override-interval interval-milliseconds 将override-interval设置为interval-milliseconds,单位为毫秒,范围为<1-65535> Ruijie(config-if)# no ip pim override-interval 将override-interval还原为默认值 41.2.6  配置PIM邻居过滤 可以在接口上设置邻居过滤功能,以提高网络的安全性。如果设置了邻居过滤,只要某个邻居被过滤访问列表拒绝,则PIM-DM不会与该邻居建立邻接关系,或者会中止与该邻居已经建立的邻接关系。 要配置PIM邻居过滤功能,请在接口模式下执行以下命令: 命令 作用 Ruijie(config-if)# ip pim neighbor-filter access-list 在当前接口上启动PIM邻居过滤功能。 Ruijie(config-if)# no ip pim neighbor-filter access-list 在当前接口上关闭PIM邻居过滤功能。 缺省情况下,接口上的PIM邻居过滤功能是关闭的。 ~ 注意 ip pim neighbor-filter命令说明: 只有符合ACL过滤条件的邻居地址才能够作为当前接口的PIM邻居,被ACL过滤的邻居地址将无法作为当前接口的PIM邻居。 41.2.7  配置PIM状态更新功能 设备启动了PIM-DM以后,如果组播表项的RPF接口与组播源直接相连的,也就是说,有PIM接口是与组播源在同一个网段的,就会周期性地向下游设备发送状态更新消息,以更新整个网络的状态信息。可以在全局模式下禁止处理和转发PIM-DM状态更新消息。 要配置PIM-DM的状态更新功能,请在全局模式下执行以下命令: 命令 作用 Ruijie(config)# ip pim state-refresh disable 禁止处理和转发PIM-DM状态更新消息 Ruijie(config)# no ip pim state-refresh disable 允许处理和转发PIM-DM状态更新消息 缺省情况下,状态更新功能是打开的。 ~ 注意 关闭状态刷新功能可能会导致已经收敛的PIM-DM组播转发树重新收敛,造成不必要的带宽浪费和组播路由表振荡,所以一般情况下最好都不要关闭状态刷新功能。 41.2.8  配置PIM状态更新消息发送间隔 设备启动了PIM-DM以后,如果有接口是与组播源直接相连的,就会周期性地向下游设备发送状态更新消息,以更新整个网络的状态信息。可以根据设备所在网络的实际情况,对接口的PIM状态更新消息发送间隔加以修改。 要在接口上配置PIM状态更新消息发送间隔,请在接口模式下执行以下命令: 命令 作用 Ruijie(config-if)#ip pim state-refresh origination-interval interval-seconds 将当前接口的PIM状态更新消息发送间隔设为interval-seconds,单位为秒,范围为<1-100> Ruijie(config-if)#no ip pim state-refresh origination-interval 将接口上的PIM状态更新消息发送间隔恢复为默认值。 缺省情况下,接口上的PIM状态更新消息发送间隔为60秒。 & 说明 只有与组播源直接相连的设备才会周期性地往下游接口发送PIM状态更新消息,所以如果设备不是与组播源直接相连的,那么在它的下游接口上配置PIM状态更新消息发送间隔是无效的。 41.3        监控和维护PIM-DM PIM-DM提供show命令来监视和维护PIM-DM。使用show命令可以查看PIM-DM的接口、组播组和组播路由表等信息。 41.3.1  查看PIM-DM状态信息 命令 作用 show ip pim dense-mode interface [ interface-type interface-number ][ detail ] 显示接口的PIM-DM信息。 show ip pim dense-mode neighbor [interface-type interface-number] 显示PIM-DM邻居信息。 show ip pim dense-mode nexthop 显示PIM-DM的下一跳信息。 show ip pim dense-mode mroute [A.B.C.D A.B.C.D] [ summary ] 显示PIM-DM的路由表信息。 show ip pim dense-mode track 查看从统计的开始时间点到现在所发送和接收的PIM报文的个数。 以上各命令的详细用法,请参考《PIM-DM命令参考》。 下面给出使用这些命令的几个例子: 1.        show ip pim dense-mode interface detail命令: Ruijie# show ip pim dense-mode interface detail FastEthernet 0/45 (vif-id: 3): Address 10.10.10.10 Hello period 30 seconds, Next Hello in 15 seconds Over-ride interval 2500 milli-seconds Propagation-delay 500 milli-seconds Neighbors: 10.10.10.1 VLAN 4 (vif-id: 2): Address 50.50.50.50 Hello period 30 seconds, Next Hello in 2 seconds Over-ride interval 2500 milli-seconds Propagation-delay 500 milli-seconds Neighbors: 50.50.50.1 上面的例子说明接口FastEthernet 0/45的IP地址是10.10.10.10,Hello消息发送间隔是30秒,下一个Hello消息将于15秒后发送,邻居地址是10.10.10.1。 VLAN 4的接口信息与FastEthernet 0/45类似。 2.        show ip pim dense-mode neighbor命令: Ruijie# show ip pim dense-mode neighbor Neighbor-Address Interface Uptime/Expires Ver 10.10.10.1 FastEthernet 0/45 00:19:29/00:01:21 v2 50.50.50.1 VLAN 4 00:22:09/00:01:39 v2 上面的例子说明设备有2个邻居。其中,邻居10.10.10.1与 FastEthernet 0/45相连,已经存活了19分29秒,其邻居生存时间将于1分21秒后到期。邻居50.50.50.1与邻居10.10.10.1情况类似。 3.        show ip pim dense-mode nexthop命令: Ruijie# show ip pim dense-mode nexthop Destination Nexthop Nexthop Nexthop Metric Pref Num Addr Interface 1.1.1.111 1 50.50.50.1 VLAN 4 0 1 上面的例子说明到达组播源1.1.1.111的下一跳邻居地址是50.50.50.1,出口是VLAN4。 4.        show ip pim dense-mode mroute命令: Ruijie# show ip pim dense-mode mroute PIM-DM Multicast Routing Table (1.1.1.111, 229.1.1.1) MRT lifetime expires in 205 seconds RPF Neighbor: 50.50.50.1, Nexthop: 50.50.50.1, VLAN 4 Upstream IF: VLAN 4 Upstream State: Pruned, PLT:200 Assert State: NoInfo Downstream IF List: FastEthernet 0/45: Downstream State: NoInfo Assert State: Loser, AT:170 上面的例子列出了(1.1.1.111, 229.1.1.1)的表项情况,其中MRT老化时间为205秒。RPF邻居为50.50.50.1,下一跳为50.50.50.1,到达下一跳的出口为VLAN4。表项的上游接口为VLAN4,此时处于Pruned状态,表示表项没有下游转发出口。下游接口有FastEthernet 0/45,处于NoInfo状态,并且接口的Assert状态处于Loser,FastEthernet 0/45不在转发出口中。 5.        show ip pim dense-mode track命令: Ruijie# show ip pim dense-mode track PIM packet counters Elapsed time since counters cleared: 00:04:03 received sent Valid PIMDM packets: 1 8 Hello: 1 8 Join/Prune: 0 0 Graft: 0 0 Graft-Ack: 0 0 Assert: 0 0 State-Refresh: 0 0 PIM-SM-Register: 0 0 PIM-SM-Register-Stop: 0 0 PIM-SM-BSM: 0 0 PIM-SM-C-RP-ADV: 0 0 Unknown Type: 0 Errors: Malformed packets: 0 Bad checksums: 0 Unknown PIM version: 0 Send errors: 0 41.4        删除PIM-DM内部信息 提供以下命令来删除本机上的PIM-DM状态信息: 命令 作用 Ruijie# clear ip pim dense-mode track 重新设置报文统计的开始时间点,并清除PIM报文的计数器 41.5        PIM-DM配置范例 41.5.1  配置要求 网络拓扑结构如图2所示。设备1与组播源处在同一个网络,设备2与接收者A处在同一个网络,设备3与接收者B处在同一个网络。假定设备与主机都正确连接,并且已经配置好IP地址和单播路由。 图 2.      PIM-DM配置范例拓扑结构图 41.5.2  设备配置 下面以设备1为例展示如何配置PIM-DM,设备2和设备3的配置过程与设备1类似。 步骤1:启动组播路由 Ruijie# configure terminal Ruijie(config)# ip multicast-routing 步骤2:在接口eth0上启动PIM-DM Ruijie(config)# interface eth 0 Ruijie(config-if)# ip pim dense-mode Ruijie(config-if)# exit 步骤3:在接口eth1上启动PIM-DM,并返回特权用户模式。 Ruijie(config)# interface eth 1 Ruijie(config-if)# ip pim dense-mode Ruijie(config-if)# end 设备2和设备3的配置与设备1类似,都是先启动组播路由,再分别在各个接口上启动PIM-DM。 & 说明 在启动PIM-DM的同时,IGMP在各个接口上分别自动启动,不需要手动配置。  本文主要给大家介绍了static autorp 以及 bsr这三种RP定义方式,并且通过实例给大家详细的说明了如何进行定义,相信看过此文大家对于这几种定义有所了解。   ip multicast中,我们最常用的就是PIM了,因为它独立于路由协议的特性,当之无愧地成为了最重要的多播路由协议。   PIM 分为三种模式:Sparse   Dense   Spars e-Dense   在非DENSE模式下,PIM需要借助RP来实现多播路由转发,多播数据转发等功能。   RP的建立方式有三种,分别是static autorp 以及 bsr   RP在这里是redezvous point汇聚点的意思,所有多播源将数据发给RP,再由RP转发给接收者,这样避免了FULL MESH拓扑下大量的FLOOD。   1、STATIC   例1:   我们需要将RP配置为 147.106.6.22,它将为225.2.2.2这个多播地址服务。   ip pim rp-address 147.106.6.22 10   access-list 10 permit 225.2.2.2 0.0.0.0   2、AutoRP   例2:   ip pim send-rp-discovery scope 16     //映射代理   ip pim send-rp-announce loopback0 scope 255 group-list 10   //侯选RP   access-list 10 permit 224.5.5.0 0.0.0.255     //多播组   access-list 10 permit 224.6.6.0 0.0.0.255     //多播组   3、BSR   例3:   ip pim bsr-candidate loopback0   ip pim rp-candidate loopback0 group-list 10   access-list 10 permit 224.5.5.0 0.0.0.255   access-list 10 permit 224.6.6.0 0.0.0.255
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 通信科技 > 网络/通信

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服