组播协议配置 目录 目 录 第1章 组播路由协议概述........................................................................................................................................... 1 1.1 组播路由实现................................................................................................................................................... 1 1.2 组播路由配置任务列表................................................................................................................................. 2 1.2.1 基本组播配置任务列表..................................................................................................................... 2 1.2.2 IGMP配置任务列表.............................................................................................................................. 2 1.2.3 PIM-DM配置任务列表.......................................................................................................................... 3 1.2.4 PIM-SM配置任务列表.......................................................................................................................... 3 1.2.5 DVMRP配置任务列表.......................................................................................................................... 3 第2章 基本的组播路由配置....................................................................................................................................... 4 2.1 启动组播路由................................................................................................................................................... 4 2.2 端口上启动组播功能...................................................................................................................................... 4 2.2.1 启动OLNK ............................................................................................................................................. 4 2.2.2 启动PIM-DM .......................................................................................................................................... 4 2.2.3 启动PIM-SM .......................................................................................................................................... 4 2.2.4 启动DVMRP .......................................................................................................................................... 5 2.3 配置TTL阈值................................................................................................................................................... 5 2.4 取消组播快速转发.......................................................................................................................................... 5 2.5 配置组播静态路由.......................................................................................................................................... 5 2.6 配置IP组播边界............................................................................................................................................. 6 2.7 配置IP组播流量控制..................................................................................................................................... 6 2.8 配置IP组播Helper .......................................................................................................................................... 7 2.9 配置Stub组播路由......................................................................................................................................... 8 2.10 监视和维护组播路由.................................................................................................................................... 9 第3章 IGMP配置......................................................................................................................................................... 10 3.1 简介................................................................................................................................................................... 10 3.2 IGMP配置......................................................................................................................................................... 10 3.2.1 更改IGMP当前运行的版本............................................................................................................ 10 3.2.2 配置IGMP查询间隔......................................................................................................................... 11 3.2.3 配置IGMP Querier间隔..................................................................................................................... 11 3.2.4 配置IGMP最大响应时间................................................................................................................. 12 3.2.5 配置IGMP最后一个组成员查询间隔........................................................................................... 12 3.2.6 IGMP静态配置.................................................................................................................................... 13 3.2.7 配置IGMP Immediate-leave列表....................................................................................................... 13 3.3 IGMP特性配置举例........................................................................................................................................ 14 第4章 PIM-DM配置..................................................................................................................................................... 17 4.1 PIM-DM简介..................................................................................................................................................... 17 - I - 目录 4.2 配置PIM-DM .................................................................................................................................................... 17 4.2.1 调整定时器......................................................................................................................................... 17 4.2.2 指定版本号......................................................................................................................................... 18 4.2.3 配置状态刷新..................................................................................................................................... 18 4.2.4 配置过滤列表..................................................................................................................................... 18 4.2.5 设置DR优先级.................................................................................................................................. 19 4.2.6 清除(S,G)信息..................................................................................................................................... 19 4.3 PIM-DM状态刷新配置举例........................................................................................................................... 19 第5章 配置PIM-SM...................................................................................................................................................... 20 5.1 PIM-SM简介...................................................................................................................................................... 20 5.2 PIM-SM配置...................................................................................................................................................... 21 5.2.1 启动PIM-SM ........................................................................................................................................ 21 5.2.2 配置静态RP ....................................................................................................................................... 21 5.2.3 配置候选BSR ..................................................................................................................................... 21 5.2.4 配置候选RP ....................................................................................................................................... 22 5.2.5 显示PIM-SM组播路由...................................................................................................................... 22 5.2.6 清除PIM-SM学习的组播路由........................................................................................................ 22 5.3 配置举例.......................................................................................................................................................... 22 5.3.1 PIM-SM配置举例................................................................................................................................. 22 5.3.2 BSR配置举例...................................................................................................................................... 23 第6章 配置DVMRP...................................................................................................................................................... 25 6.1 DVMRP简介...................................................................................................................................................... 25 6.2 DVMRP配置...................................................................................................................................................... 26 6.2.1 启动DVMRP ........................................................................................................................................ 26 6.2.2 配置路由汇总..................................................................................................................................... 26 6.2.3 配置端口强制叶节点........................................................................................................................ 26 6.2.4 配置路由过滤器................................................................................................................................26 6.2.5 显示DVMRP单播路由...................................................................................................................... 27 6.2.6 显示DVMRP组播路由...................................................................................................................... 27 6.2.7 清除DVMRP学习的组播路由........................................................................................................ 27 6.3 DVMRP配置举例............................................................................................................................................. 27 - II - 07-组播协议配置 第1章 组播路由协议概述 本章描述如何配置组播路由协议。如果要了解本章组播路由命令的完整描述,请参考其 它有关 "组播路由命令"的章节。 传统的IP传输只允许一台主机向单个主机(单播通信)或者所有主机(广播通信),组播 技术则提供第三种选择:允许一台主机向某些主机发送保文。这些主机被称为组成员。 发送到组成员的保文目的地址是某个D类地址(224.0.0.0~239.255.255.255)。组播保 文的传输类似于UDP,只是一种尽力保证的服务,不提供类似于TCP的可靠传输和差错 控制。 构成组播的应用需要发送方和接收方。发送方无需加入某个组就可以发送组播保文,而 接收方必须事先加入某个组才能接收到这个组的保文。 组成员的关系是动态的,主机可以随时加入或者离开某个组,而且组成员的位置和个数 没有任何限制。如果需要,一台主机可以同时多个组的成员。因此,组的活动状态和组 成员的个数可随着时间发生变化。 路由器通过执行组播路由协议(例如PIM-DM,PIM-SM等)来维护转发组播保文的路由 表,通过IGMP协议来学习在直连网段上组成员的状态。主机通过发送IGMP Report消 息来加入特定的IGMP组。 IP组播技术的上述特定非常适合于“一对多”的多媒体应用。 1.1 组播路由实现 在路由器软件中,组播路由包括如下协议: null IGMP运行于局域网上的路由器和主机之间,跟踪组成员的关系。 null OLNK是一种静态的静态组播技术,用于简单的拓扑结构中,即能实现组播转发, 又能有效减少组播路由协议对CPU和带宽的浪费。 null PIM-DM/PIM-SM/DVMRP是动态的组播路由协议,运行在路由器之间,通过建立 组播路由表来实现组播转发。 下图显示了在IP组播环境中应用到的组播协议: - 1 - 07-组播协议配置 1.2 组播路由配置任务列表 1.2.1 基本组播配置任务列表 null 启动组播路由(必选) null 配置TTL门槛(可选) null 取消组播快速转发(可选) null 配置组播静态路由(可选) null 配置组播边界(可选) null 配置组播 Helper(可选) null 配置Stub组播路由(可选) null 监视和维护组播路由(可选) 1.2.2 IGMP配置任务列表 null 更改IGMP当前运行的版本 null 配置IGMP查询间隔 null 配置IGMP Querier间隔 null 配置IGMP最大响应时间 null 配置IGMP最后一个组成员查询间隔 - 2 - 07-组播协议配置 null IGMP静态配置 null 配置IGMP Immediate-leave列表 1.2.3 PIM-DM配置任务列表 null 调整定时器 null 指定PIM-DM版本号 null 配置状态刷新 null 配置过滤列表 null 设置DR优先级 null 清除(S,G)信息 1.2.4 PIM-SM配置任务列表 null 配置静态RP null 配置候选BSR null 配置候选RP null 显示PIM-SM组播路由 null 清除PIM-SM学习的组播路由 1.2.5 DVMRP配置任务列表 null 配置路由汇总 null 配置端口强制叶节点 null 配置路由过滤器 null 显示DVMRP单播路由 null 显示DVMRP组播路由 null 清除DVMRP学习的组播路由 - 3 - 07-组播协议配置 第2章 基本的组播路由配置 2.1 启动组播路由 启动组播路由以允许路由器软件转发组播保文。在全局配置态下输入以下命令启动组播 保文转发: 命令 目的 ip multicast-routing 启动组播路由。 2.2 端口上启动组播功能 端口上运行组播路由协议会同时激活IGMP在端口上的操作。组播路由协议包括OLNK, PIM-DM,PIM-SM或者DVMRP。在同一个端口上最多只允许一个组播路由协议运行。 在路由器连接多个组播域时,可以在不同端口上运行不同的组播协议。 尽管路由器软件能够很好地充当组播边界路由器(MBR)的作用,如有可能,请尽量保 证不要在路由器上同时运行多个组播路由协议,因为这样会对某些组播路由协议造成不 必要的影响。例如,当PIM-DM(仅支持(S,G)表项)和BIDIR PIM-SM(仅支持(*, G)表项)运行时,会造成混乱。 2.2.1 启动OLNK 在端口运行OLNK以组播功能。在端口配置态下输入以下命令: 命令 目的 ip olnk 启动组播路由。 2.2.2 启动PIM-DM 在端口运行PIM-DM以激活密集模式组播功能,按以下步骤进行: 命令 目的 ip pim-dm 进入需要运行PIM-DM的端口,在端口配置态 下激活PIM-DM组播路由进程。 2.2.3 启动PIM-SM 在端口运行PIM-DM以激活密集模式组播功能,按以下步骤进行: 命令 目的 ip pim-sm 进入需要运行PIM-SM的端口,在端口配置态 - 4 - 07-组播协议配置 下激活PIM-SM组播路由进程。 2.2.4 启动DVMRP 在端口运行DVMRP以激活密集模式组播功能,按以下步骤进行: 命令 目的 ip dvmrp 进入需要运行DVMRP的端口,在端口配置态 下激活DVMRP组播路由进程。 2.3 配置TTL阈值 使用 ip multicast ttl-threshold 配置端口上允许通过的组播报文TTL的阈值,使用 no ip multicast ttl-threshold 来使用默认值。默认值为 1。 命令 目的 ip multicast ttl-threshold ttl-value 配置端口的 TTL 阈值。 示例 下面的实例演示了系统管理员配置某个端口的TTL阈值: interface ethernet 1/0 ip multicast ttl-threshold 200 2.4 取消组播快速转发 使用 ip multicast mroute-cache 配置端口上允许使用组播快速转发的功能,使用 no ip multicast mroute-cache 来取消组播快速转发的功能: 命令 目的 ip multicast mroute-cache 在端口上启用组播的快速转发功能。 示例 下面的实例演示了系统管理员配置取消某个端口上的快速转发功能: interface ethernet 1/0 no ip mroute-cache 2.5 配置组播静态路由 组播静态路由允许组播转发路径不同于单播路径。组播保文转发时都会进行RPF检查: 保文的实际接收端口是期望接收的端口(该端口就是到达发送方的单播路由下一跳接 口)。如果单播的拓扑和组播的拓扑一致,这样的检查是合理的。但是,在某些情况下, 还是希望单播的路径和组播的路径有所不同。 - 5 - 07-组播协议配置 最常见的例子是使用了隧道技术。当一条路径上的路由器并不支持组播协议时,解决的 办法是在两个路由器之间配置GRE隧道。在下图中,每个单播路由器(UR)仅支持单 播报文;每个组播路由器(MR)支持组播报文。源通过MR1和MR2把组播报文发送到 目的。MR2仅当组播报文是从隧道接收时,才会转发该报文。如果这样,从目的向源发 送单播报文时也会通过隧道。我们知道,通过隧道发送报文比直接的发送要慢。 通过配置组播静态路由,能够使路由器根据配置信息进行RPF检查,而不是单播路由表。 因此,组播报文使用隧道,单播报文不走隧道。组播静态路由只存在本地,并不会宣告 出去或者进行路由转发。 在全局配置态下,使用如下命令来配置组播静态路由。 命令 说明 ip mroute source-address mask rpf-address type number[ distance] 配置组播静态路由。 2.6 配置IP组播边界 使用 ip multicast boundary 配置端口组播边界,使用 no ip multicast boundary 来取消 设定的边界。第二次配置该命令将覆盖掉第一次配置的命令 命令 说明 ip multicast boundary access-list 在端口上配置IP组播边界。 举例 下面的实例演示了系统管理员配置某个端口的管理边界 interface ethernet 0/0 ip multicast boundary acl ip access-list standard acl permit 192.168.20.97 255.255.255.0 2.7 配置IP组播流量控制 使用 ip multicast rate-limit 命令来限制端口上某个 source/group 范围 接收和发送 组播报文的流量。使用no ip multicast rate-limit 命令取 消流量限制。 配置某个组播流的输入流量限制为 n kbps。 - 6 - 07-组播协议配置 命令 说明 ip multicast rate-limit in group-list access-list1 source-list access-list2 nkbps 配置端口上某个范围内组播流的最大输入流量限 制。 配置某个组播流的输出流量限制为 n kbps。 命令 说明 ip multicast rate-limit out group-list access-list1 source-list access-list2 kbps 配置端口上某个范围内组播流的最大输出流量限 制。 2.8 配置IP组播Helper 使使用 ip multicast helper-map 命令来配置在组播网络上使用组播路由来连接两个广播 网络。使用no ip multicast helper-map 命令撤销该命令。 在与源广播网络相连的第一跳路由器上。 命令 说明 interface type number 进入端口配置态。 ip multicast helper-map broadcast group-address access-list 配置 ip multicast helper 命令,将广播报文转 换为组播报文。 ip directed-broadcast 允许定向广播。 ip forward-protocol [port] 配置允许转发的报文端口号。 在与目的广播网络相连的最后一跳路由器上 命令 说明 interface type number 进入端口配置态。 ip directed-broadcast 允许定向广播。 ip multicast helper-map group-address broadcast-address access-list 配置 ip multicast helper 命令,将组播报文转 换为广播报文。 ip forward-protocol [port] 配置允许转发的报文端口号。 举例 下面的实例演示了系统管理员配置组播 helper 命令。 路由器上的配置如下图所示,在第一跳路由器上 e0 端口上配置ip directed-broadcast 允许处理定向广播报文。配置 ip multicast helper-map broadcast 230.0.0.1 testacl1 , 允许将 192.168.20.97/24 源地址发送的 端口号为4000的udp广播报文转换成 目的地 址为 230.0.0.1的组播报文发送。 在最后一跳路由器 e1 端口上配置 ip directed-broadcast 允许处理定向广播报文。配 置 ip multicast helper-map 230.0.0.1 172.10.255.255 testacl2 ,允许将 - 7 - 07-组播协议配置 192.168.20.97/24 源地址发送的 端口号为4000的目的地址为 230.0.0.1 的组播报文转 换成目的地址为 172.10.255.255 的广播报文发送。 在与源广播网络相连的第一跳路由器上: interface ethernet 0 ip directed-broadcast ip multicast helper-map broadcast 230.0.0.1 testacl ip pim-dm ! ip access-list extended testacl permit udp 192.168.20.97 255.255.255.0 any ip forward-protocol udp 4000 在与目的广播网络相连的最后一跳路由器上 interface ethernet 1 ip directed-broadcast ip multicast helper-map 230.0.0.1 172.10.255.255 testacl2 ip pim-dm ! ip access-list extended testacl2 permit udp 192.168.20.97 255.255.255.0 any ip forward-protocol udp 4000 2.9 配置Stub组播路由 使用 ip igmp helper-address 和 ip pim-dm neighbor-filter 来配置Stub组播路由 在stub router 与 host 相连的端口上配置。 命令 说明 interface type number 进入端口配置态。 ip igmp helper-address destination-address 配置 ip igmp helper-address 命令, 将多播报文 中转倒 central router 上。 在 central router 与 stub router 相连的端口上 命令 说明 interface type number 进入端口配置态。 ip pim neighbor-filter access-list 过滤掉所有发送到 stub router 的pim 报文。 举例 路由器 A 与 B 的配置如下图所示 : Stub Router A Configuration ip multicast-routing ip pim-dm ip igmp helper-address 10.0.0.2 - 8 - 07-组播协议配置 Central Router B Configuration ip multicast-routing ip pim-dm ip pim-dm neighbor-filter stubfilter ip access-list stubfilter deny 10.0.0.1 2.10 监视和维护组播路由 1. 清除组播缓存、路由表 如果怀疑特定的缓存或者路由表失效时,可以清除它的内容。在管理态下,输入如下命 令: 命令 说明 clear ip igmp group [type number] [group-address | <cr>] 清除IGMP缓存中的表项。 clear ip mroute [* | group-address | source-address] 清除组播路由表的表项。 2. 显示组播路由表和系统统计信息 通过显示IP组播路由表、有关缓存或者数据库,可以判断资源使用情况并解决网络问题。 在管理态下使用如下命令来观察组播路由的统计信息: 命令 说明 show ip igmp groups [type number | group-address] [detail] 显示IGMP缓存中多播组的信息。 show ip igmp interface [type number] 显示端口上IGMP的配置信息。 show ip mroute mfc 显示组播转发缓存。 show ip rpf [ucast | mstatic | pim-dm | pim-sm | dvmrp] source-address 显示RPF信息。 - 9 - 07-组播协议配置 第3章 IGMP配置 3.1 简介 1. IGMP IGMP是一类针对多播组成员管理的协议,IGMP即Internet Group Management Protocol的缩写。IGMP是一种不对称的协议,它包括主机端(Host)和路由器端(Router) 两方面的内容:主机端的协议规定了作为多播组成员的主机如何向Router报告自身属于 不同的多播组的身份,以及主机如何响应Router发送的Query报文的过程;Router端 的协议规定了支持IGMP的Router如何获得本地网络内主机的多播组成员身份,如何根 据主机的Report报文更改Router保存的多播组成员信息。 通过IGMP Router端协议在我们路由器中的实现,可以向路由器中的多播路由协议提供 当前网络内多播组的成员存在情况,以决定是否需要转发多播(Multicast)报文。综上所 述,为使我们的路由器支持IP报文的多播过程,需要实现多播路由协议和IGMP Router 端协议。目前我们的路由器中已经实现了IGMP Router端协议,支持当前的最新版本 ——IGMP 版本3。 在实际应用中,没有针对IGMP单独的启动命令,IGMP-Router端功能由多播路由协议 (Multicast Routing Protocol)启动。 2. OLNK 严格地说,OLNK(IGMP only-link)并不能是一种组播路由协议,因为它没有协议的交 互的过程。但是,在某些特定的场合和简单的拓扑环境下,运行OLNK会收到非常好的 效果。它类似于没有协议过程的PIM-DM协议,能够处理本地的IGMP组成员的变化, 根据拓扑变化及时调整RPF接口,即保证了组播的转发,又避免了组播路由协议的控制 保文对带宽的占用。 3.2 IGMP配置 IGMP-Router端特性的配置命令主要是调整IGMP参数一类的命令,下面就简要介绍 IGMP-Router端的基本配置命令。如果需要了解全部的IGMP-Router端实现的命令,请 参照IGMP的命令说明文档。 3.2.1 更改IGMP当前运行的版本 自从IGMP提出以来,至今已经有三个正式的版本,对应的RFC分别为:RFC1112、 RFC2236和RFC3376。其中,IGMP版本1只实现了最简单的多播组成员记录功能;版 本2实现了针对某个特定多播组成员的查询功能以及IGMP主机离开某特定多播组的 Leave报文,降低了组成员变化的延迟时间;版本3则进一步实现了对应于主机源地址 的多播组成员身份的更新和维护,另外,版本3的IGMP Router还全面兼容版本1和版 - 10 - 07-组播协议配置 本2的IGMP主机端,我们的路由器软件系统提供了对这三种版本的IGMP Router端协 议的全面支持。 因为IGMP是针对路由器的端口进行配置的,也就是说,可以在不同的端口上分别配置 IGMP-Router端功能(由不同端口上配置的多播路由协议分别启动),而且可以在不同端 口上运行不同版本的IGMP。 需要特别指出的是,对某一个特定的多播路由器来说,在连接同一网络的不同端口中, 只能在某一个端口上开启IGMP-Router功能。 要更改某一个端口上运行的IGMP-Router端协议的版本,可以在端口配置态下使用以下 命令进行更改: 命令 目的 ip igmp version version_number 更改当前端口正在运行的IGMP的版本。 3.2.2 配置IGMP查询间隔 无论当前运行的IGMP-Router协议的版本号为多少,多播路由器在开启了IGMP-Router 端功能的端口上都会每隔一段时间发送一次IGMP General Query报文,发送地址是 224.0.0.1,目的是希望获得IGMP主机响应的Report报文,从而获得此端口连接的网络 上IGMP主机分别属于哪些多播组的信息。这个General Query报文发送间隔时间被称 为IGMP查询间隔(IGMP Query Interval),如果把这个时间设得比较大,则路由器无法 迅速获得当前IGMP主机的多播组归属信息,但如果把这个时间设得比较小,又会增加 当前网络上的IGMP报文的流量。 要更改某个端口上IGMP查询间隔的大小,可以在端口配置态下使用以下命令进行更改: 命令 目的 ip igmp query-interval time 更改当前端口的IGMP查询间隔大小,单位为 秒。 3.2.3 配置IGMP Querier间隔 对IGMP-Router端协议版本2和版本3而言,如果在同一网络内存在同样运行 IGMP-Router端协议的路由器,就需要面对一个querier选取的问题,所谓querier,是 指能发送query报文的路由器(实际上即启动了IGMP-Router端协议的路由器的某个端 口),在正常运行情况下,同一网络内只存在一个querier,即只有一个路由器在发送IGMP Query报文。对于IGMP-Router端协议版本1,不存在querier选取的问题,因为 IGMP-Router版本1中哪台路由器能发送IGMP Query报文是由多播路由协议指定的。 对IGMP-Router端协议版本2和版本3来说,采用同样的querier选取机制:即IP地址 最小的路由器为此网络中的querier,对于非querier来说,需要保存一个时钟,记录querier 存在的时间,当此时钟超时后,非querier变为querier,开始向外发送IGMP Query报 文,直到此路由器收到IP地址比自己小的路由器发出的IGMP Query报文并再次变为非 querier。 对IGMP-Router端协议版本2来说,其他querier存在的时间间隔可以通过以下命令进 行配置: - 11 - 07-组播协议配置 命令 说明 ip igmp querier-timeout time 配置其他querier存在的时间间隔,单位为秒。 对IGMP-Router端协议版本1来说,其他querier存在的时间间隔值没有实际作用;对 于IGMP-Router端协议版本3来说,此时间间隔由协议内部规定其值的大小,不可配置, 所以上述配置命令仅对IGMP-Router端协议版本2有效。 3.2.4 配置IGMP最大响应时间 对IGMP-Router端协议版本2和版本3而言,在发送IGMP General Query报文时,在 IGMP报文中有专门的数据域指明了IGMP主机的最大响应时间,即IGMP主机必须在收 到IGMP General Query报文后的最大响应时间间隔内发送对此General Query报文的响 应报文。如果此最大响应时间设置得过大,则会造成IGMP主机多播组成员身份变化的 延迟,如果此最大响应时间设置得过小,又会造成网络上IGMP报文的流量过大。 注意: IGMP最大响应时间必须小于IGMP查询间隔,在使用此配置命令时,如果最大响应时间的 值大于查询间隔(query-interval)时,系统会将最大响应时间的值自动调整为(query-interval - 1) 秒。 对IGMP-Router端协议版本2和版本3来说,可以在端口配置态下通过以下命令设置 IGMP最大响应时间: 命令 目的 ip igmp query-max-response-time time 配置IGMP 最大响应时间,单位为秒。 对IGMP-Router端协议版本1来说,此最大响应时间间隔由协议内部规定其值的大小, 不可配置,所以上述配置命令仅对IGMP-Router端协议版本1无效。 3.2.5 配置IGMP最后一个组成员查询间隔 对IGMP-Router端协议版本2和版本3而言,当发送针对某个特定多播组的Group Specific Query报文时,将使用最后一个组成员查询间隔作为IGMP Query报文中的主机 最大响应时间,即IGMP主机必须在收到Group Specific Query报文后的最后一个组成 员查询间隔内发送对此Query报文的响应报文。如果IGMP主机通过查询本身的状态发 现不需要响应此Query报文,则在此时间间隔后过去后仍然不发送响应报文,则多播路 由器会对已经保存的多播组成员信息进行相应的更新。如果此时间间隔设置得过大,则 会造成IGMP主机多播组成员身份变化的延迟,如果此时间间隔设置得过小,又会造成 网络上IGMP报文的流量过大。 对IGMP-Router端协议版本2和版本3来说,可以在端口配置态下通过以下命令设置 IGMP最后一个组成员查询间隔时间: 命令 目的 ip igmp last-member-query-interval time 配置IGMP 最后一个组成员查询间隔,单位为 毫秒。 - 12 - 07-组播协议配置 对IGMP-Router端协议版本1来说,配置的最后一个组成员的查询间隔没有被使用,尽 管在端口运行IGMP版本1时可以配置这条命令,但并没有实际应用效果。 3.2.6 IGMP静态配置 在我们路由器对IGMP-Router端协议的实现中,除了协议规定的功能外,我们还支持端 口上的静态多播组配置。所谓“静态”是与IGMP主机端报告的“动态”信息相区别,对于 IGMP主机来说,它的多播组成员关系可能是变化的,假设当前它只属于多播组group1, 希望接收发往多播组group1的多播报文;但经过一段时间后它可能又属于多播组 group2,还希望接收发往多播组group2的多播报文;而再经过一段时间之后,此IGMP 主机可能不再属于任何一个多播组,所以说主机报告的多播组归属信息是动态变化的。 与上述“动态多播组”不同,某端口如果静态配置了属于某一个多播组,则除非使用no命 令取消这种配置,多播协议将认为此端口始终需要接收发往这个多播组的多播报文。另 外,为了提供和IGMP-Router协议版本3更好的兼容,静态配置的多播组可以指定希望 接收来自哪些源地址的多播报文,即增加了多播报文接收的source-filter功能。 可以在端口配置态下通过以下命令设置该端口的静态多播组: 命令 目的 ip igmp static-group { * | group-address} {include source-address | <cr> } 配置该端口下的静态多播组属性。 3.2.7 配置IGMP Immediate-leave列表 如果路由器某端口上已经启动了IGMP版本2,且在此端口所连接的网络上仅存在一个 IGMP主机,则可以通过配置IGMP Immediate-leave列表实现IGMP主机的“Immediate Leave”功能。根据IGMP版本2的规定,当某个主机要离开特定的多播组时,该主机将 向所有的多播路由器发送Leave报文,而多播路由器将发送Group Specific报文以确认 此端口上是否已经不再有主机需要接受发向这个多播组的多播报文。而如果配置了 “Immediate Leave”功能,则可以避免IGMP主机与多播路由器之间的报文交互,也可以 避免多播路由器维护的多播组成员身份变化的延迟。 注意: 因为在全局配置态和端口配置态下都能配置此条命令,但全局配置态下配置的此条命令 的优先级要高于在端口配置态下配置的命令,如果先在全局配置态下配置了此命令,则 后来在端口配置态下配置的命令将被忽略;如果先在端口配置态下配置了此条命令,则 后来在全局配置态下配置的命令将删除原来在端口配置态下配置的命令。 对IGMP-Router端协议版本2来说,可以在端口配置态下通过以下命令设置IGMP的 Immediate-leave列表: 命令 目的 ip igmp immediate-leave group-list list-name 配置能实现“立即离开多播组”功能的IGMP主 机的访问列表。 ip access-list standard list-name 创建名字为list-name的IP标准访问列表。 permit source-address 在IP标准访问列表的配置模式下配置我们希 望实现“立即离开”功能的IGMP主机的IP地址。 - 13 - 07-组播协议配置 因为IGMP-Router端协议版本1和版本3对leave报文的处理流程和IGMP版本2的处 理流程存在很大差异,所以上述配置命令仅对IGMP-Router端协议版本1和版本3无效。 3.3 IGMP特性配置举例 1. 更改IGMP版本示例 因为高版本的IGMP-Router端协议能完全兼容低版本的IGMP主机,所以当网络环境中 存在低版本的IGMP主机时并不需要更改多播路由器运行的IGMP-Router端协议的版本, 但高版本的IGMP-Router端协议不能与低版本的IGMP-Router端协议兼容,所以在当前 的网络环境内如果存在运行低版本IGMP-Router端协议的路由器时,需要更改运行高版 本IGMP的路由器的相关端口上的IGMP-Router端协议的版本,更改的原则是:将 IGMP-Router端协议版本改为同一网段上最低的IGMP-Router端协议的版本。 假设系统管理员知道路由器的某个端口连接的网络中存在运行IGMP-Router版本1以及 IGMP-Router版本2的路由器,则需要将运行高版本的IGMP-Router协议的路由器对应 端口的IGMP-Router协议版本号改为1。下面的实例演示了系统管理员将某个端口(下 面的例子中为ethernet 1/0端口)上运行的IGMP的版本改为版本1的过程: interface ethernet 1/0 ip igmp version 1 2. 配置IGMP查询间隔示例 下面的实例演示了系统管理员将某个端口(下面的例子中为ethernet 1/0端口)上IGMP 的查询间隔改为50秒的过程: interface ethernet 1/0 ip igmp query-interval 50 配置IGMP Querier间隔 对IGMP-Router端协议版本2和版本3而言,如果在同一网络内存在同样运行 IGMP-Router端协议的路由器,就需要面对一个querier选取的问题,所谓querier,是 指能发送query报文的路由器(实际上即启动了IGMP-Router端协议的路由器的某个端 口),在正常运行情况下,同一网络内只存在一个querier,即只有一个路由器在发送IGMP Query报文。对于IGMP-Router端协议版本1,不存在querier选取的问题,因为 IGMP-Router版本1中哪台路由器能发送IGMP Query报文是由多播路由协议指定的。 对IGMP-Router端协议版本2和版本3来说,采用同样的querier选取机制:即IP地址 最小的路由器为此网络中的querier,对于非querier来说,需要保存一个时钟,记录querier 存在的时间,当此时钟超时后,非querier变为querier,开始向外发送IGMP Query报 文,直到此路由器收到IP地址比自己小的路由器发出的IGMP Query报文并再次变为非 querier。 对IGMP-Router端协议版本2来说,其他querier存在的时间间隔可以通过以下命令进 行配置: 命令 目的 ip igmp querier-timeout time 配置其他querier存在的时间间隔,单位为秒。 - 14 - 07-组播协议配置 对IGMP-Router端协议版本1来说,其他querier存在的时间间隔值没有实际作用;对 于IGMP-Router端协议版本3来说,此时间间隔由协议内部规定其值的大小,不可配置, 所以上述配置命令仅对IGMP-Router端协议版本2有效。 3. 配置IGMP Querier间隔示例 下面的实例演示了系统管理员将某个端口(下面的例子中为ethernet 1/0端口)上IGMP 的querier间隔改为100秒的过程: interface ethernet 1/0 ip igmp querier-timeout 100 4. 配置IGMP最大响应时间示例 下面的实例演示了系统管理员将某个端口(下面的例子中为ethernet 1/0端口)上IGMP 的最大响应时间改为15秒的过程: interface ethernet 1/0 ip igmp query-max-response-time 15 5. 配置IGMP最后一个组成员查询间隔示例 下面的实例演示了系统管理员将某个端口(下面的例子中为ethernet 1/0端口)上IGMP 的最后一个组成员查询间隔改为2000毫秒的过程: interface ethernet 1/0 ip igmp last-member-query-interval 2000 6. IGMP静态配置示例 静态多播组配置命令在使用不同的参数时可以定义不同类别的静态多播组,下面的示例 将分别介绍使用不同命令参数的结果: interface ethernet 1/0 ip igmp static-group * 上述配置命令在ethernet 1/0端口上静态配置了所有的多播组,即此端口属于所有的多播 组,多播路由协议将向此端口转发所有的IP多播报文。 interface ethernet 1/0 ip igmp static-group 224.1.1.7 上述配置命令在ethernet 1/0端口上静态配置了多播组224.1.1.7,即此端口属于多播组 224.1.1.7,多播路由协议将向此端口转发所有发往多播组224.1.1.7的IP多播报文。 interface ethernet 1/0 ip igmp static-group 224.1.1.7 include 192.168.20.168 上述配置命令在ethernet 0/0端口上静态配置了多播组224.1.1.7,但同时定义了此多播 组的source-filter为192.168.20.168,即此端口属于多播组224.1.1.7,但只接收来自 192.168.20.168的IP多播报文,多播路由协议将仅向此端口转发来自192.168.20.168, 发往多播组224.1.1.7的IP多播报文。 - 15 - 07-组播协议配置 针对上面的例子,如果还希望接收来自192.168.20.169,发往224.1.1.7的IP多播报文, 则可以在端口配置态下再配置一条命令: ip igmp static-group 224.1.1.7 include 192.168.20.169 如果还需要增加其他针对这个多播组的source-filter信息,可以多次执行上述命令,定义 不同的source-address。 注意: 在使用上述配置命令时,不能对同一个多播组既配置针对某个特定的source address的多 播组信息,同时配置针对同一多播组的所有source address的多播组信息;类似的,不能 对同一个多播组既配置针对所有source address的多播组信息,同时配置针对同一多播组 的某一个特定source address的多播组信息。后面配置的命令将被忽略。举例来说,如果 已经配置了命令ip igmp static-group 224.1.1.7,此时再配置命令ip igmp static-group 224.1.1.7 include 192.168.20.168时,后一条命令将被忽略。 7. 配置IGMP Immediate-leave列表示例 下面的实例演示了系统管理员将某个端口(下面的例子中为ethernet 1/0端口)上允许实 现“立即离开”功能的访问列表名配置为imme-leave,并将某IGMP主机的地址(在下面 的例子中为192.168.20.168)加入该访问列表的完整过程。通过这些配置步骤,就能保 证IP地址为192.168.20.168的IGMP主机实现了“立即离开”多播组的功能。 interface ethernet 1/0 ip igmp immediate-leave imme-leave exit ip access-list standard imme-leave permit 192.168.20.168 - 16 - 07-组播协议配置 第4章 PIM-DM配置 4.1 PIM-DM简介 PIM-DM(Protocol Independent Multicast Dense Mode)是一种密集模式的多播路由协 议,缺省认为当组播源开始发送组播数据时,域内所有的网络节点都需要接收该数据。 因而,PIM-DM采用扩散-剪枝的方式进行组播数据包的转发。组播源开始发送数据时, 沿路路由器向朝着源的RPF接口之外的所有PIM激活接口转发组播数据包。这样, PIM-DM域中所有网络节点都会收到这些组播数据包。为了完成组播转发,沿路的路由器 需要为组G和它的源S创建相应的组播路由项(S,G)。 (S,G)路由项包括组播源地址、组 播组地址、入接口、出接口列表、定时器和标志等。 如果网络中某区域没有组播组成员,PIM-DM协议会发送剪枝消息,将通往该区域的转发 接口剪枝,并且建立剪枝状态。剪枝状态对应着超时定时器。当定时器超时时,剪枝状 态又重新变为转发状态,组播数据得以再次沿着这些分支流下。另外,剪枝状态包含组 播源和组播组的信息。当剪枝区域内出现了组播组成员时,为了减少反应时间,协议不 必等待上游剪枝状态超时,而是主动向上游发送嫁接报文,以使剪枝状态变为转发状态。 只要源S仍然发送信息到G组,第一跳路由器就会周期性地向下面的初始广播树发送 (S,G)状态刷新信息,以完成刷新。PIM-DM的状态刷新机制,可以刷新下游的状态, 使广播树分支的剪枝不会超时。 PIM-DM在多路访问网络中,除了涉及DR的选举外,还引入了以下机制:使用断言机制 来选举唯一的转发者以防向同一网段重复转发组播数据包;使用加入/剪枝抑制机制来减 少冗余的加入/剪枝消息;使用剪枝否决机制来否决不应该的剪枝行为。 在PIM-DM域中,运行PIM-DM协议的路由器周期性的发送Hello消息,用以发现邻接 的PIM路由器,进行叶子网络、叶子路由器的判断,并且负责在多路访问网络中进行指 定路由器(DR)的选举。 为了适用于IGMP v1,PIM-DM负责进行DR的选取。当端口上所有PIM邻居都支持DR Priority时,选择优先级最高的成为DR。如果优先级相同,则选择具有最大端口IP值的 路由器为DR;如果有路由器在hello报文中没有通告它的优先权,有多个路由器存在此 情况,则选择端口IP值最高的路由器为DR。 路由器的PIM-DM v2支持邻居过滤列表、无分类域间路由(CIDR)、变长子网掩码(VLSM) 和IGMP v1、v2、v3。 4.2 配置PIM-DM 4.2.1 调整定时器 路由协议使用几个计时器来判断发送hello报文、状态刷新控制斑纹的频率。Hello报文 发送间隔时间的长短影响到邻居关系是否能正确建立。 - 17 - 07-组播协议配置 要调整计时器,在路由器端口配置模式中使用如下命令: 命令 目的 ip pim-dm hello-interval 经过多长时间(单位:秒)从端口向邻居发送 hello报文。 ip pim-dm state-refresh origination-interval 对于与源直连的第一跳路由器,是周期性发送 状态刷新报文的间隔,仅仅对上游端口进行的 配置生效;对于后续路由器,是端口允许接收 并处理状态刷新报文的时间间隔。 4.2.2 指定版本号 路由器的PIM-DM只支持PIM v2。 由于PIM v1已经过时,所以无论是否配置Version,我们都缺省支持PIM v2。做此命令 的目的仅仅是为了风格上与以前保持兼容: 命令 目的 ip pim-dm version version 在路由器端口配置PIM-DM版本。 4.2.3 配置状态刷新 在管理模式,缺省情况下允许运行转发PIM密集模式状态刷新控制消息。端口配置态的 配置命令,对于与源直连的第一跳路由器,是周期性发送状态刷新报文的间隔,此时仅 仅对上游端口进行的配置生效;对于后续路由器,是端口允许接收并处理状态刷新报文 的时间间隔。 命令 目的 no ip pim-dm state-refresh disable 允许在端口上收发状态刷新报文。 ip pim-dm state-refresh origination-interval 在端口上收发状态刷新报文的时间间隔。 4.2.4 配置过滤列表 PIM-DM在缺省情况下没有设置过滤列表,包括邻居过滤列表以及组播边界过滤列表,都 是在端口配置态下进行配置。 如果需要禁止某台路由器或者某个网段的路由器加入PIM-DM协商,就需要配置邻居过 滤列表。为了禁止或者允许某些组通过本region,就需要设置边界组过滤列表。 命令 目的 ip pim-dm neighor-filter 配置邻居过滤列表。 ip multicast boundary 配置组过滤列表。 - 18 - 07-组播协议配置 4.2.5 设置DR优先级 进行DR的选取,以便能适用于IGMP v1。缺省情况下,路由器DR优先级为1。当端口 上所有PIM邻居都支持DR Priority时,选择优先级最高的成为DR。如果优先级相同, 则选择具有最大端口IP值的路由器为DR;如果有路由器在hello报文中没有通告它的优 先权,有多个路由器存在此情况,则选择端口IP值最高的路由器为DR。 在端口配置态下进行该命令地配置: 命令 目的 ip pim-dm dr-priority 在指定端口设置本地路由器DR优先级。 4.2.6 清除(S,G)信息 正常情况下,可能需要清除本地MRT中的(S,G)表项或者清除通过(S,G)表项转发组播报 文数的统计值。在管理模式下使用如下命令: 命令 目的 clear ip mroute pim-dm {* | group [source]} 清除本地MRT中的(S,G)表项,这个操作将删 除本地多播路由表中的全部或者部分表项,并 可能影响正常的多播报文转发,本命令只能删 除上游端口是由PIM-DM多播路由协议创建的 (S,G)条目。 clear ip pim-dm interface 复位PIM-DM端口下通过(S,G)转发的多播报 文统计值,本命令只能复位上游端口是由 PIM-DM多播路由协议创建的(S,G)条目。 4.3 PIM-DM状态刷新配置举例 参见“配置状态刷新”。 - 19 - 07-组播协议配置 第5章 配置PIM-SM 5.1 PIM-SM简介 PIM-SM(Protocol Independent Multicast Spare Mode)是一种稀疏模式的多播路由协议。 在PIM-SM域中,运行PIM-SM协议的路由器周期性的发送Hello消息,用以发现邻接 的PIM-SM路由器,并且负责在多路访问网络中进行指 派路由器(DR)的选举。这里,DR 负责为其直连组成员朝着组播分发树根节点的方向发送"加入/剪枝"消息,或是将直连组 播源的数据发向组播分发树。 图 5-1 PIM-SM显式的加入机制 PIM-SM通过建立组播分发树来进行组播数据包的转发。组播分发树分为两种:以组G 的RP为根的共享树(Shared Tree)和以组播源为根的最短路径树(Shortest Path Tree)。 PIM-SM通过显式的加入/剪枝机制来完成组播分发树的建立与维护。如上图所示: 当DR收到一个发自接收端的加入(Join),它就会向着组G的RP方向逐跳组播发出一 个(*,G)加入信息用以加入共享树; 源主机向组发送组播数据时,源的数据被封装在 注册消息内,并由其DR 单播至RP,RP再将源的解封装数据包沿着共享树转发到各个 组成员;RP朝着源方向向第一跳路由器发送(S,G)加入信息,用以加入此源的最短 路径树,这样源的数据包将沿着其最短路径树不加封装地发送到RP;当第一个组播数据 沿此树到达时,RP向源的DR发送注册-停止消息,以使DR停止注册封装过程。此后, 这个源的组播数据不再注册封装,而是先沿着源的最短路径树发送到RP,再由RP 将其 沿着共享树转发到各个组成员。当不再需要组播数据时,DR向着组G的RP逐跳组播剪 枝消息用以剪枝共享树。 - 20 - 07-组播协议配置 PIM-SM中还涉及到其根节点RP的选择机制。PIM-SM域内配置了一个或多个候选自举 路由器(Candidate-BSR)。应用一定的规则从中选出自举路由器(BSR)。PIM-SM域中还 配置了候选 RP路由器(Candidate-RP),这些候选 RP将包含了它们地址及可以服务的 组播组等信息的包单播至BSR路由器。BSR 定期生成包括一系列候选 RP以及相应的 组地址的"自举"消息。"自举"消息在整个域中逐跳发送。路由器接收并保存这些"自举"消 息。若 DR 从直连主机收到了某组的成员关系报告后,如果它没有这个组的路由项,DR 将使用一个hash算法将组地址映射至一个可以为该组服务的候选 RP。然后 DR 将朝 RP方向逐跳组播"加入/剪枝"消息。若 DR从直连主机收到组播数据包,如果它没有这个 组的路由项,DR 将使用hash算法将组地址映射至一个可以为该组服务的候选 RP。然 后 DR将组播数据封装在注册消息中单播到RP。 5.2 PIM-SM配置 5.2.1 启动PIM-SM 端口运行PIM-SM以激活稀疏模式组播功能,按以下步骤进行: 命令 目的 ip pim-sm 进入需要运行PIM-SM的端口,在端口配置态 下激活PIM-SM组播路由进程。 5.2.2 配置静态RP 在网络规模比较小的情况下,可以使用配置静态RP来使用PIM-SM,要求PIM-SM域内 的所有路由器静态RP配置必须一致,保证PIM-SM的组播路由没有歧义性。 如果PIM-SM域内有路由器运行了BSR,RP查找的顺序为:配置了override则静态RP 优于BSR分发的RP映射表中的RP;未配置override则BSR分发的RP映射表优先。 全局配置态使用如下命令: 命令 目的 ip pim-sm rp-address rp-add [override|acl-name] no ip pim-sm rp-address rp-add 配置本路由器上使用的静态RP 。 5.2.3 配置候选BSR 候选RP的配置可以产生PIM-SM域内全局唯一的BSR,由其进行域内RP的收集和分 发,保证域内RP映射的唯一性。 全局配置态使用如下命令: 命令 目的 ip pim-sm bsr-candidate type number [hash-mask-length] [priority] no ip pim-sm bsr-candidate type number 配置本路由器为候选BSR,通过BSM消息学习 和竞争全局BSR角色 。 - 21 - 07-组播协议配置 5.2.4 配置候选RP 配置候选RP可以间隔发送给BSR,然后扩散到域内所有PIM-SM路由器,保证RP映 射的唯一。 全局配置态使用如下命令: 命令 目的 ip pim-sm rp-candidate [type number] [interval|group-list acl-name] no ip pim-sm rp-candidate [type number] 配置本路由器为候选RP,通过间隔性发送给BSR, 然后由BSR进行广播PIM-SM域内的所有PIM-SM 路由器。 5.2.5 显示PIM-SM组播路由 需要查看PIM-SM学习的组播路由信息可以使用如下命令: 命令 目的 show ip mroute pim-sm [group-address] [source-address] [type number] [summary] [count] [active kbps] 显示PIM-SM组播路由信息 。 5.2.6 清除PIM-SM学习的组播路由 清除PIM-SM学习的组播路由信息可以使用如下命令: 命令 目的 clear ip mroute pim-sm [ * | group-address ] [source-address] 清除PIM-SM组播路由信息 。 5.3 配置举例 5.3.1 PIM-SM配置举例 本节给出两台路由器进行PIM-SM组播路由学习和转发的简单配置环境。 123213 ROUTE_A: ! ip multicast-routing ! interface Loopback0 ip address 192.166.100.142 255.255.255.0 ip pim-sm ! interface Ethernet1/1 ip address 192.166.1.142 255.255.255.0 ip pim-sm - 22 - 07-组播协议配置 ip pim-sm dr-priority 100 ! interface Serial2/0 ip address 192.168.21.142 255.255.255.0 physical-layer speed 128000 ip pim-sm ! router rip network 192.168.21.0 network 192.166.1.0 network 192.166.100.0 version 2 ! ip pim-sm bsr-candidate Loopback0 30 201 ip pim-sm rp-candidate Loopback0 ! ROUTER_B: ! ip multicast-routing ! interface Ethernet0/1 ip address 192.168.200.144 255.255.255.0 ip pim-sm ip pim-sm dr-priority 200 ! interface Serial0/0 ip address 192.168.21.144 255.255.255.0 ip pim-sm ! 5.3.2 BSR配置举例 下面例子演示两台路由器的BSR配置 ROUTER_A: ! ip multicast-routing ! interface Loopback0 ip address 192.166.100.142 255.255.255.0 ip pim-sm ! interface Ethernet1/1 ip address 192.166.1.142 255.255.255.0 ip pim-sm ! interface Serial2/0 ip address 192.168.21.142 255.255.255.0 physical-layer speed 128000 ip pim-sm - 23 - 07-组播协议配置 ! router rip network 192.168.21.0 network 192.166.100.0 ! ip pim-sm bsr-candidate Loopback0 30 201 ! ROUTER_B: ! ip multicast-routing ! interface Loopback0 ip address 192.168.100.144 255.255.255.0 ip pim-sm ! interface Ethernet0/1 ip address 192.168.200.144 255.255.255.0 ip pim-sm ! interface Serial0/0 ip address 192.168.21.144 255.255.255.0 ip pim-sm ! ip pim-sm bsr-candidate Loopback0 30 ! - 24 - 07-组播协议配置 第6章 配置DVMRP 6.1 DVMRP简介 距离矢量组播路由协议(Distance Vector Multicast Routing Protocol,DVMRP)为支持多 目标广播路径选择而开发的第一个协议。它已广泛用在MBone网络上,该协议在RFC 1075中有详细的描述。博达路由器的DVMRP采用针对DVMRPv3草案 (draft-ietf-idmr-dvmrp-v3-101.txt),兼容DVMRPv1(RFC 1075)的方式进行开发。 DVMRP为每一个组播路由构造不同的组播分发树(distribution tree)。每棵分发树是最小 跨越树(spanning tree),这种树是指从树根上的分发源算起到作为树叶的所有接收分发的 主机构成的树。根据信息包在路径上的转发(hop)数,这种分发树提供在分发源到每个接 收主机之间的最短路径。当组播源开始给组播组传送信息时,使用“嫁接和剪除(graft and prune)”技术来构造分发树。 为简化对DVMRP的说明,假设网络上的所有路由器都支持DVMRP。DVMRP使用的方 法是假设网络上的每台主机都是组播组的一部分,在组播源子网上的路由器,也就是指 定用来为子网上所有主机处理路径选择的路由器,首先向所有相邻的路由器传送组播信 息,然后每台路由器有选择地把组播信息发送到下游路由器,一直发送到所有组播组的 成员。 在生成分发树期间有选择的转发工作过程如下。当路由器接收到一个组播信息时,它就 检查它的单播路由表,以便确定返回到组播源的最短路径的接口。如果这个接口就是组 播信息到达的最短路径接口,路由器就在它内部的表中登录某些状态信息用来识别组播 组,并且把组播消息转发到所有相邻的路由器。这种机制叫做反向路径转发(Reverse Path Forwarding),它可确保在组播树上没有环路,而且组播树包含的路径(从组播源到所有接 收主机之间的路径)是最短路径。这是DVMRP协议的基本部分。 协议中的剪除部分是用来剪除广播树的树枝,就是删除不参加组播组的成员。IGMP协议 运行在主机和与它们直接邻接的路由器之间,它用来维护路由器中的组员数据。当路由 器确信没有主机属于组播组时就向上游路由器发送一个剪除信息。毫无疑问,路由器也 要修改路由表中的状态信息以反映那个分支已从这棵上剪除掉。这个过程一直到所有多 余的分支被剪除掉为止。最后得到的是一棵最小分发树。 DVMRP一旦构造了分发树,就可以使用它把组播信息从组播源传送到组播组的成员,而 沿途上的路由器在通往组播组成员的接口上转发组播信息。由于新的成员可在任何时候 加入到组播组,而且由于新成员可能是在某一个被剪除的分支上加入,因此DVMRP就 周期性地重新启动组播树的构造进程。 在子网上密布有组播组的情况下,DVMRP工作得很好。但组播组稀疏分布在广域网上的 情况下,周期性地组播行为会使网络的性能严重下降。使用DVMRP的另一个问题是, 组播路由状态信息的数量问题,因为所有路由器都必需为每个组播组(组播源和接收组) 存放状态信息,这些信息是用来转发组播消息的指定接口信息,或者是剪除状态信息, 而且这些信息必需要存放在组播路由器中。 路由器的DVMRP v3支持叶节点、组播源掩码、单播过滤列表、单播路由过滤、自动汇 总、手工汇总等。 - 25 - 07-组播协议配置 6.2 DVMRP配置 6.2.1 启动DVMRP 端口运行DVMRP以激活密集模式组播功能,按以下步骤进行: 命令 目的 ip dvmrp mo ip dvmrp 进入需要运行DVMRP的端口,在端口配置态 下激活DVMRP组播路由进程。 6.2.2 配置路由汇总 DVMRP的自动汇总和手工汇总功能都只能在端口上配置,端口配置不影响DVMRP的 单播路由表和其它端口路由的发送。当配置路由汇总后,仅DVMRP路由表存在可汇总 的子网路由时,汇总路由才从配置端口发送。汇总路由的路由代价取所有子网路由的最 大代价值,用以加速由于路由环形成的路由的计数到无穷。 在路由器的两个或多个端口可能与其它路由器形成路由环时,建议在这些端口上配置相 同的汇总机制,即同时汇总或取消汇总某些路由等。 端口配置态使用如下命令: 命令 目的 [no]ip dvmrp auto-summary 配置本路由器上使用的端口自动汇总。 [no]ip summary-address network-address network-mask 配置本路由器使用端口手工汇总。 6.2.3 配置端口强制叶节点 在某些情况下,需要仅仅隔断两台路由器之间的DVMRP联系,而无需停止其端口上的 DVMRP,这是可以采用强制叶节点的方式。强制叶节点是通过忽略端口上的其它路由器 来形成叶节点的环境。 全局配置态使用如下命令: 命令 目的 [no] ip dvmrp force-leaf 配置端口为叶节点。 6.2.4 配置路由过滤器 配置端口路由过滤器,可以从端口过滤接收和发送的路由。 全局配置态使用如下命令: 命令 目的 - 26 - 07-组播协议配置 [no] ip dvmrp route-filter {in|out} acl-name配置端口过滤器,过滤不需 要的路由。 6.2.5 显示DVMRP单播路由 需要查看DVMRP学习的单播路由信息可以使用如下命令: 命令 目的 show ip dvmrp route [network-address [network-mask]] 显示DVMRP单播路由信息。 6.2.6 显示DVMRP组播路由 需要查看DVMRP学习的组播路由信息可以使用如下命令: 命令 目的 show ip mroute dvmrp [source-address [group-address]] 显示DVMRP组播路由信息。 6.2.7 清除DVMRP学习的组播路由 清除DVMRP学习的组播路由信息可以使用如下命令: 命令 目的 clear ip mroute dvmrp { * | source-address [group-address] } 清除DVMRP组播路由信息。 6.3 DVMRP配置举例 这一节列举一台我公司路由器与Cisco2620的互通配置,因为Cisco路由器的DVMRP 属于被动作用,所以Cisco路由器启动PIM-DM(PIM-SM也可)即可。 我公司路由器配置: ! ip multicast-routing ! interface Ethernet1/1 ip address 200.1.1.142 255.255.255.0 ip dvmrp ! interface Ethernet2/1 ip address 192.168.20.142 255.255.255.0 ip dvmrp ! Cisco2620路由器配置: ! ip multicast-routing ! interface FastEthernet0/0 - 27 - 07-组播协议配置 - 28 - ip address 192.168.20.204 255.255.255.0 ip pim dense-mode ! interface FastEthernet0/1 ip address 100.1.20.204 255.255.255.0 ip pim dense-mode !