博威---云架构决胜云计算

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2032|回复: 7

IGMP专题

[复制链接]
发表于 2011-1-13 18:30:00 | 显示全部楼层 |阅读模式
IGMPv3向后兼容问题2010-06-25 14:20IGMPv3向后兼容问题 我阅读RFC3376时关于IGMPv3向后兼容时不太明白,我认为按照文档的意思,当子网内路由器都是运行GMPv3时,有运行IGMPv2的主机加入某组播组,这样导致路由器对该组播组来说工作在IGMPv2兼容模式,即,将IGMPv2离开报告消息理解为等价的IGMPv3消息 IGMPv2 Message IGMPv3 Equivalent -------------- ----------------- Report IS_EX( {} ) Leave TO_IN( {} ) 并按照收到主机的报告消息后的规则执行相关操作,根据规则可以知道,如果收到Leave报文,IGMPv3会发送IGMPv3格式的特定组查询消息,而如果对该组播组仍然有IGMPv2的主机,它们收到后按照RFC2236中 “2.5. Other fields Note that IGMP messages may be longer than 8 octets, especially future backwards-compatible versions of IGMP. As long as the Type is one that is recognized, an IGMPv2 implementation MUST ignore anything past the first 8 octets while processing the packet. However, the IGMP checksum is always computed over the whole IP payload, not just over the first 8 octets.”我的理解它根据前8字节辨识出这是特定组查询消息,忽略之后的字节(即IGMPv3格式查询消息的保留字段、S位、QRV、QQIC、和被置为0的源地址数目),然后预定隔随机延迟后给所有路由器发送IGMPv2的报告消息。 但是,我看到http://www..com/en/US/products/h ... b0871.shtml#interop中有这么一段话 “Scenario 2: IGMPv3 Router with a Mix of IGMPv1/IGMPv2 and IGMPv3 Hosts The IGMPv1/IGMPv2 hosts do not understand the IGMPv3 query or IGMPv3 membership query. The router must only use the IGMP version that corresponds to the lowest IGMP client version present. If there are IGMPv3 and IGMPv2 clients, the router uses IGMPv2. If there are IGMPv1, IGMPv2, and IGMPv3 clients, the router uses IGMPv1.” 这显然与我理解的有冲突。请专家解惑,谢谢了。 你对发Query的理解是对的,V3的路由器在这种情况下根据RFC3376实现还是会发送V3格式的Query。对于V2的 Host来说是可以识别出来的,只要Type和Checksum正确,V2主机会只使用前面8个bytes。同时,系统中的V3主机也可以识别并继续发送V3的Report。但是对于V1的Host,这里有一些问题,因为V1主机在计算Checksum是只涵盖前8个byte(Pls see rfc1112),而发送出去的V3 General Query消息是对整个IGMP PDU做的Checksum,这样V1主机就没法识别路由器的Query消息而导致工作失效。对RFC3376中为何没有作出强制规定来使当前的IGMP 降级(发送当前最低版本的消息)到低版本,这主要是由于RFC3376允许在一个网段内同时支持ASM和SSM。假想一下,如果V3主机的多播应用是SSM(事实上,当前v3主要用于SSM场景),在中途突然有一个V1或V2主机加入网络,如果路由器发送老版本的Query消息出去则会导致V3主机降级工作在V2模式从而导致SSM应用失效。当前几乎所有支持Multicast应用的Host都支持V2或更高版本(V3),所以我们可以不用考虑v1的特殊Case. 当然,几乎对每一个提供IGMPv3至此的厂商都有一个命令配置IGMP Version,如果有V1主机不能工作,则需要强制在网段内的路由器上将版本号设为1。
 楼主| 发表于 2011-1-13 18:30:37 | 显示全部楼层
 楼主| 发表于 2011-1-13 18:31:16 | 显示全部楼层
我的网络的安装了一台视频组播服务器,跨网段组播路由出了些问题,详细描述如下:
我的网络拓扑为:
client(vlan11)----c3550----c6506(三层交换机)
          |
          |
         组播服务器(VLAN20)235.111.11.1

我在6506的三层交换模块中作了如下配置:
ip multicast-routing

access-list 2 permit 235.111.11.1

interface Vlan11
description IGMP_SERVER
ip address 10.27.0.1 255.255.0.0
no ip directed-broadcast
ip igmp join-group 235.111.11.1
ip igmp query-interval 120
ip igmp access-group 2
ip igmp version 2
!
在C3550中配置了:ip igmp snooping

结里与服务器同网段(无须路由的客户机)能成功收看,而跨网段的客户(vlan 11)不能收看,

于是我的C3550 上开启DEBUG ,监视到以下信息:
10w2d: IGMPSN: group: Received V2 report for group 235.111.11.1 received on Vlan
11, port 12
10w2d: IGMPSN: group: Leave for group 235.111.11.1 received on Vlan 11, port 12

从第一条接收到第二条离开是时间很快,几乎刚加入就退出了,这是什么原因?
有什么办法能够解决这个问题?谢谢!


网友:


应启用PIM呀,下面命令

interface Vlan11
ip pim sparse-dense-mode
 楼主| 发表于 2011-1-13 18:34:38 | 显示全部楼层
IGMP
Router1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.

Router1(config)#ip multicast-routing
Router1(config)#ip pim ssm default
Router1(config)#interface FastEthernet0/0
Router1(config-if)#ip pim sparse-dense-mode
Router1(config-if)#ip igmp version 3
Router1(config-if)#end
Router1#

如果想使用Source-Specific Multicast(SSM)特性,但是终端设备不支持v3,可以使用思科的IGMP v3lite

Router1#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.

Router1(config)#ip multicast-routing
Router1(config)#ip pim ssm default
Router1(config)#interface FastEthernet0/0
Router1(config-if)#ip pim sparse-dense-mode
Router1(config-if)#ip igmp v3lite
Router1(config-if)#end
Router1#

注释 v3 里面最有用的特性就是SSM,不但可以指定想要接收的组播组,还可以指定组播源
 楼主| 发表于 2011-1-13 18:34:59 | 显示全部楼层
前两天遇到了一个IGMP的问题,应用在IGMP的一些概念.

那就让我们完整的看一下这个组播协议把,以下是我学习过程重总结的一些东西,

先来认识一下IGMP这个协议吧,它的全称是Internet Group Management Protocol,它和unicast和multicast的区别是它是发往一组计算机(属于它这个组播组的所有计算机),IGMP主要用于在线的视频和在线游戏,像IPTV就是一种比较广泛的应用.

现在IGMP有3个版本V1(RFC1112),V2(RFC2236),V3(RFC3376),

IGMP v1支持host membership query 和host membership report

report message是由IGMP host发给IGMP router来报告它加入的组播组.

query message是由IGMP router发给IGMP client来查询IGMP host所加入的组播组.

这样做之后,IGMP路由器就记录了它所在网段主机加入的所有组播地址.

下面看这个例子之后可能大家就比较清楚了,

在IGMP router的LAN端有2台PC,hostA,hostB,hostC,hostA加入了224.100.1.1,hostB加入了224.100.1.2,hostC没有加入任何的组播.

当IGMP router想要查询lan端的组播地址是,它以组播地址224.0.0.1 发到它的lan端,224.0.0.1代表子网中所有支持多播的设备的多播地址, 这个时候如果pc和IGMP router之间用hub或者layer2的交换机(没有enable IGMP snooping),那么包括hostC的3台主机都会收到,只不过hostC不会回应,hostA和hostB会发送报告信息给router,内容分别 为224.100.1.1和224.100.1.2.

如果hostA想要加入一个新的组播地址224.100.1.3,它会发个report信息给想要加入的组播地址,router收到后加入IGMP table.

IGMPv2,包括membership query,membership report, Leave Group message .

membership query 包括general query,group-specific query.

general query和IGMP V1一样,发224.0.0.1来查询在网络中有哪些组播组.

group-specific query,用来查询是否在网络中存在特定的组播组.

membership report,这个和V1一样,加入一个新的GROUP也一样.

Leave Group message是由这个组的最后一个成员发给224.0.0.2(网络中的所有组播路由器),内容为这个组播地址,IGMP router收到后,会发送一个group-specific query来查询是否网络中的这个组播地址已经不存在了,如果没有回应,就把这个组从IGMP table 中删除.

IGMP V3,

Membership Report

其中Membership Query分为三种:General Query,用于查询接口下所有多播成员信息;

Group-Specific Query,用于查询接口下指定组的成员信息;

Group-and-Source-Specific Query,该类型为IGMPv3中新增加的,用于查询接口下是否有成员需要接收指定源列表中的源所发出的特定组的多播流。

下面来谈谈IGMP V1,V2,V3的区别,

IGMPv1 :主机可以加入组播组。没有离开信息(leave messages)。路由器使用基于超时的机制去发现其成员不关注的组。

IGMPv2 :该协议包含了离开信息,允许迅速向路由协议报告组成员终止情况,这对高带宽组播组或易变型组播组成员而言是非常重要的。

IGMPv3 :与以上两种协议相比,该协议的主要改动为:允许主机指定它要接收通信流量的主机对象。来自网络中其它主机的流量是被隔离的。 IGMPv3 也支持主机阻止那些来自于非要求的主机发送的网络数据包。



IGMPv3同路由器的交互过IGMPv2程同相同。但是在IGMP V1/V2中,主机只根据组地址来决定加入某个组并从任何一个源接收发给该组地址的组播流。而使用IGMP V3的主机通告该主机所希望加入的 多播组,同时还通告该主机所希望接收的多播源的地 址。主机可以通过一个包括列表或一个排除列表来指明希望从哪些源能接收多播流。同时IGMP v3带来的另外一个好处是节省带宽,避免不需要的、非法的组播数据流占用网络带宽,这尤其在多个多播源共用一个多播地址的网络环境中表现明显。

下面这些是一些常见的IGMP multicast address ,

Range :

224.0.0.0~239.255.255.255

Well-known multicast group address:

224.0.0.1 - all systems on the subnet

224.0.0.2 - all routers on the subnet

224.0.0.5 - all OSPF routers on the subnet

224.0.0.9 - all RIP-2 routers on the subnet

224.0.0.12 - all DHCP/Relay Agent on the subnet
 楼主| 发表于 2011-1-13 18:37:53 | 显示全部楼层
IGMP故障处理手册


1 IGMP故障处理... 1

1.1 路由器上无IGMP组信息.. 1

1.1.1 故障描述.. 1

1.1.2 故障处理流程.. 2

1.1.3 故障处理步骤.. 2

1.2 故障诊断命令.. 5




1 IGMP故障处理


本文档不严格和具体的软硬件版本对应。



1.1  路由器上无IGMP组信息1.1.1  故障描述

IGMP的典型组网如1-1所示,本文中所介绍的IGMP故障处理将基于该组网。

在该组网中,路由器与用户主机之间运行IGMP协议,主机要求加入组播G,但在路由器上通过display igmp group命令没能查看到组GIGMP组信息。

图1-1 IGMP故障处理组网图


1.1.2  故障处理流程

图1-2 IGMP故障处理流程图


1.1.3  故障处理步骤1. 检查接口状态是否为up

在与用户主机网段直连的路由器上执行display interface interface-type interface-number命令,查看与用户主机网段直连接口的状态信息(以1-1Router A的接口Ethernet1/1为例):

l
如果显示“Ethernet1/1 current state: DOWN”,表明该接口物理状态为down,请检查并校正组网及接口接线。

l
如果显示“Line protocol current state: DOWN”,表明该接口的协议状态为down,请使用display current-configuration interface interface-type interface-number命令检查该接口是否已被关闭,以及是否配置有正确的IP地址:如果显示信息中出现shutdown命令,则在接口视图下使用undo shutdown命令将其打开;如果该接口未配置IP地址或其与主机不在同一网段,请重新配置正确的IP地址。

l
如果显示“Ethernet1/1 current state: UP”和“Line protocol current state: UP”,则执行步骤2

2. 检查路由器是否使能了组播

在该路由器上执行display current-configuration命令,查看其当前配置:

l
如果显示信息中没有multicast routing-enable命令,表明该路由器上没有使能组播路由与转发。请先在系统视图下执行此命令来使能组播路由与转发,然后再补充其它的IGMP配置。

l
如果显示信息中有multicast routing-enable命令,则执行步骤3

3. 检查接口是否使能了IGMP

在该路由器上执行display current-configuration interface interface-type interface-number命令,查看与用户主机网段直连接口的当前配置:

l
如果显示信息中没有igmp enable命令,表明该接口上没有使能IGMP,请在接口视图下执行此命令来使能IGMP

l
如果显示信息中有igmp enable命令,则执行步骤4

4. 检查接口是否收到了正确的IGMP报告

在该路由器上执行debugging igmp report命令,查看与用户主机网段直连的接口收到的IGMP成员关系报告报文的调试信息(以1-1Router A的接口Ethernet1/1为例):

l
如果未显示任何调试信息,表明该接口没有收到IGMP成员关系报告报文,请检查主机上的组播客户端软件,确保其运行正常并成功发送了IGMP成员关系报告报文。

l
如果显示“Ignoring v3 report received on interface Ethernet1/1(10.110.1.10), running v1 mode”或“Ignoring v3 report received on interface Ethernet1/1(10.110.1.10), running v2 mode”,表明该接口运行的IGMP版本为IGMPv1IGMPv2,因此忽略了IGMPv3版本的成员关系报告报文。请在接口视图下执行igmp version 3命令来配置IGMP的版本为IGMPv3,或将主机上组播客户端软件的IGMP版本降为IGMPv1IGMPv2

l
如果显示“Ignoring group record(IS_EX) for group 232.1.1.1 in SSM range on interface Ethernet1/1(10.110.1.10)”或“Ignoring group record type TO_EX for group 232.1.1.1 in SSM range on interface Ethernet1/1(10.110.1.10)”(假设组G232.1.1.1),表明该接口运行的IGMP版本为IGMPv3,但其收到的IGMPv3版本的成员关系报告报文为IS_EXTO_EX模式,且该报文的组地址G属于SSM组范围(缺省为232.0.0.0/8),因此被忽略。请在PIM视图下使用ssm-policy acl-number命令修改SSM组范围,将组G排除在外;或在主机上将组播客户端软件的组地址改为非SSM组范围。

l
如果显示“Received v1 report for group 224.1.1.1 on interface Ethernet1/1(10.110.1.10)”、“Received v2 report for group 224.1.1.1 on interface Ethernet1/1(10.110.1.10)”、“Received group record(IS_IN) for group 224.1.1.1 on interface Ethernet1/1(10.110.1.10)”、“Received TO_IN for group 224.1.1.1 on interface Ethernet1/1(10.110.1.10)”或“Received ALLOW for group 224.1.1.1 on interface Ethernet1/1(10.110.1.10)”(假设组G224.1.1.1),依次表明该接口成功接收了IGMPv1版本、IGMPv2版本、IGMPv3版本IS_IN模式、IGMPv3版本TO_IN模式或IGMPv3版本ALLOW模式的成员关系报告报文,则执行步骤5

5. 检查接口是否为组G的组播转发边界

在该路由器上执行display multicast boundary interface interface-type interface-number命令,查看与用户主机网段直连接口上的组播转发边界信息:

l
如果显示信息表明该接口是组G的组播转发边界,请在接口视图下使用undo multicast boundary { group-address { mask | mask-length } | all }命令取消该配置。

l
如果显示信息表明该接口不是组G的组播转发边界,则执行步骤6

6. 检查接口是否限制了主机加入的组范围

在该路由器上执行display current-configuration interface interface-type interface-number命令,查看与用户主机网段直连接口的当前配置:

l
如果显示信息中有igmp group-policy acl-number命令,表明该接口限制了主机加入的组范围,IGMP将按照指定的ACL过滤组成员的加入信息。请使用display acl acl-number命令检查该ACL所允许的组范围:如果组G在允许范围之外,请修改或删除该ACL的配置,以确保IGMP能够为组G的成员服务。

l
如果显示信息中没有igmp group-policy acl-number命令,则执行步骤7

7. 检查接口是否限制了加入组的数量

在该路由器上执行display current-configuration interface interface-type interface-number命令,查看与用户主机网段直连接口的当前配置:

l
如果显示信息中有igmp group-limit limit命令,表明该接口限制了加入的组播组最大数量,请在接口视图下使用此命令将限制值调大,或使用undo igmp group-limit命令取消该配置。

l
如果显示信息中没有igmp group-limit limit命令,则执行步骤8

8. 寻求技术支持

如果上述检查完成后故障仍无法排除,请联系H3C的技术支持工程师。

1.2  故障诊断命令

命令

说明


display interface

显示接口的相关信息


display current-configuration

显示系统的当前配置


display acl

显示ACL的配置和运行情况


display igmp group

显示IGMP组的信息


display multicast boundary

显示组播转发边界信息


debugging igmp report

打开IGMP成员关系报告报文调试信息开关



 楼主| 发表于 2011-1-14 12:09:35 | 显示全部楼层
 楼主| 发表于 2011-1-14 12:20:06 | 显示全部楼层
ip组播,auto rp,bsr配置网络技术 2008-10-12 16:52:54 阅读211 评论1   字号:大中小 订阅 .

23.1.  配置PIM-DM 下的组播

提问 配置路由器基本的组播功能

回答

Router1#configure terminal

Enter configuration commands, one per line.  End with CNTL/Z.

Router1(config)#ip multicast-routing

Router1(config)#interface FastEthernet0/0

Router1(config-if)#ip address 192.168.1.1 255.255.255.0

Router1(config-if)#ip pim dense-mode

Router1(config-if)#exit

Router1(config)#interface Serial1/0

Router1(config-if)#ip address 192.168.2.5 255.255.255.252

Router1(config-if)#ip pim dense-mode

Router1(config-if)#end

Router1#

Router2#configure terminal

Enter configuration commands, one per line.  End with CNTL/Z.

Router2(config)#ip multicast-routing

Router2(config)#interface FastEthernet0/0

Router2(config-if)#ip address 192.168.3.1 255.255.255.0

Router2(config-if)#ip pim dense-mode

Router2(config-if)#exit

Router2(config)#interface Serial1/0

Router2(config-if)#ip address 192.168.2.6 255.255.255.252

Router2(config-if)#ip pim dense-mode

Router2(config-if)#end

Router2#

注释 密集模式适合于组播发送方和接收方近距离的情况,发送方很少但是接收方数量很大。

23.2.  配置PIM-SM和BSR 下的组播路由

提问 配置稀疏模式下的组播路由,使用BSR来分发RP信息

回答

参与组播的正常路由器

Router1#configure terminal

Enter configuration commands, one per line.  End with CNTL/Z.

Router1(config)#ip multicast-routing

Router1(config)#ip pim rp-address 192.168.15.5

Router1(config)#interface FastEthernet0/0

Router1(config-if)#ip address 192.168.1.1 255.255.255.0

Router1(config-if)#ip pim sparse-mode

Router1(config-if)#interface Serial1/0

Router1(config-if)#ip address 192.168.2.5 255.255.255.252

Router1(config-if)#ip pim sparse-mode

Router1(config-if)#end

Router1#

RP候选路由器和BSR候选路由器



Router-RP1#configure terminal

Enter configuration commands, one per line.  End with CNTL/Z.

Router-RP1(config)#ip multicast-routing

Router-RP1(config)#interface Loopback0

Router-RP1(config-if)#ip address 192.168.12.1 255.255.255.255

Router-RP1(config-if)# ip pim sparse-mode

Router-RP1(config-if)#exit

Router-RP1(config)#interface FastEthernet0/0

Router-RP1(config-if)#ip address 192.168.1.1 255.255.255.0

Router-RP1(config-if)#ip pim sparse-mode

Router-RP1(config-if)#exit

Router-RP1(config)#interface Serial1/0

Router-RP1(config-if)#ip address 192.168.2.5 255.255.255.252

Router-RP1(config-if)#ip pim sparse-mode

Router-RP1(config-if)#exit

Router-RP1(config)#ip pim rp-address 192.168.12.1 15

Router-RP1(config)#ip pim rp-candidate loopback0 group-list 15

Router-RP1(config)#ip pim bsr-candidate loopback0 1

Router-RP1(config)#Access-list 15 permit 239.5.5.0 0.0.0.255

Router-RP1(config)#access-list 15 deny any

Router-RP1(config)#end

Router-RP1#

注释 对于稀疏模式需要配置一个汇集点Rendezvous Point (RP)来作为组播最短路径树Shortest Path Trees (SPT)的根。配置路由器使用RP有两种方法,一种是Router1使用的静态指定的方式ip pim rp-address 192.168.15.5 另一种就是动态的发现RP,这又有两种方式来实现,第一种是思科专有的Auto-RP,另一种就是本例中的Bootstrap Router。在Router-RP1中首先使用ip pim rp-candidate来宣告自己为可能RP,然后使用ip pim bsr-candidate来配置为Bootstrap Router (BSR).BSR目的就是发布网络中所有可能的RP信息。另外需要指出的是建议还要配置ip pim rp-address 192.168.12.1 15 尤其是在12.3以后的IOS。BSR模式需要PIM-SM v2支持。

23.3.  配置PIM-SM 和Auto-RP 下的组播路由

提问配置稀疏模式下的组播路由,使用Auto-RP来分发RP信息

回答

参与组播的正常路由器

Router1#configure terminal

Enter configuration commands, one per line.  End with CNTL/Z.

Router1(config)#ip multicast-routing

Router1(config)#ip pim rp-address 192.168.15.5

Router1(config)#interface FastEthernet0/0

Router1(config-if)#ip address 192.168.1.1 255.255.255.0



Router1(config-if)#ip pim sparse-dense-mode

Router1(config-if)#exit

Router1(config)#interface Serial1/0

Router1(config-if)#ip address 192.168.2.5 255.255.255.252

Router1(config-if)#ip pim sparse-dense-mode

Router1(config-if)#end

Router1#

候选RP路由器

Router-RP1#configure terminal

Enter configuration commands, one per line.  End with CNTL/Z.

Router-RP1(config)#ip multicast-routing

Router-RP1(config)#interface Loopback0

Router-RP1(config-if)#ip address 192.168.12.1 255.255.255.255

Router-RP1(config-if)#ip pim sparse-dense-mode

Router-RP1(config-if)#exit

Router-RP1(config)#interface FastEthernet0/0

Router-RP1(config-if)#ip address 192.168.1.1 255.255.255.0

Router-RP1(config-if)#ip pim sparse-dense-mode

Router-RP1(config-if)#exit

Router-RP1(config)#interface Serial1/0

Router-RP1(config-if)#ip address 192.168.2.5 255.255.255.252

Router-RP1(config-if)#ip pim sparse-dense-mode

Router-RP1(config-if)#exit

Router-RP1(config)#ip pim send-rp-announce loopback0 scope 16 group-list 15

Router-RP1(config)#ip pim send-rp-discovery scope 16

Router-RP1(config)#access-list 15 permit 239.5.5.0 0.0.0.255

Router-RP1(config)#access-list 15 deny any

Router-RP1(config)#end

Router-RP1#

注释 在Auto-RP方式下,增加了sparse-dense-mode 模式,使用了专有的224.0.1.39 and 224.0.1.40.两个组播地址

23.4.  过滤PIM邻居

提问 防止路由器从其他设备接收到PIM数据包

回答

在R1上配置过滤对R2

Router1#configure terminal

Enter configuration commands, one per line.  End with CNTL/Z.

Router1(config)#ip multicast-routing

Router1(config)#interface FastEthernet0/0

Router1(config-if)#ip address 192.168.1.1 255.255.255.0

Router1(config-if)#ip pim sparse-mode

Router1(config-if)#ip pim neighbor-filter 18

Router1(config-if)#exit



Router1(config)#access-list 18 deny any

Router1(config)#end

Router1#

Router2#configure terminal

Enter configuration commands, one per line.  End with CNTL/Z.

Router2(config)#ip multicast-routing

Router2(config)#interface FastEthernet0/0

Router2(config-if)#ip address 192.168.1.2 255.255.255.0

Router2(config-if)#ip pim dense-mode

Router2(config-if)#ip igmp helper-address 192.168.1.1

Router2(config-if)#end

Router2#

注释 对PIM邻居的过滤除了可以实现安全以外,还可以做到Multicast stub routing

23.5.  低频度组播包应用的支持

提问 配置对于低频度组播包应用的支持

回答

Router1#configure terminal

Enter configuration commands, one per line.  End with CNTL/Z.

Router1(config)#ip multicast-routing

Router1(config)#ip pim spt-threshold 10 group-list 15

Router1(config)#access-list 15 permit 239.5.5.55

Router1(config)#access-list 15 deny any

Router1(config)#interface FastEthernet0/0

Router1(config-if)#ip address 192.168.1.1 255.255.255.0

Router1(config-if)#ip pim sparse-dense-mode

Router1(config-if)#exit

Router1(config)#interface Serial1/0

Router1(config-if)#ip address 192.168.2.5 255.255.255.252

Router1(config-if)#ip pim sparse-mode

Router1(config-if)#end

Router1#

注释 对于那些发送组播数据包小,间隔长的应用需要使用稀疏模式,同时通过配置SPT阀值来保持所生成的组播路径树

23.6.  在Frame Relay或者ATM 网络中使用组播

提问 在NBMA网络中使用PIM-SM

回答

Router1#configure terminal

Enter configuration commands, one per line.  End with CNTL/Z.

Router1(config)#ip multicast-routing

Router1(config)#interface Serial0/0

Router1(config-if)#encapsulation frame-relay

Router1(config-if)#ip pim sparse-mode

Router1(config-if)#ip pim nbma-mode

Router1(config-if)#end

Router1#

注释 对于通常的NBMA网络中的NBMA接口无法区分下联不同接口的组播请求,通过ip pim nbma-mode命令来各自邻居的组播请求



23.7.  配置CGMP

提问 配置路由器和Catalyst交换机之间使用CGMP通讯

回答

Router1#configure terminal

Enter configuration commands, one per line.  End with CNTL/Z.

Router1(config)#ip multicast-routing

Router1(config)#interface FastEthernet0/0

Router1(config-if)#ip pim sparse-dense-mode

Router1(config-if)#ip cgmp

Router1(config-if)#end

Router1#

注释 不同交换机上启用CGMP的命令可能不同,也不是所有的交换机都支持CGMP

23.8.  使用IGMP版本3

提问 配置IGMPv3

回答

Router1#configure terminal

Enter configuration commands, one per line.  End with CNTL/Z.

Router1(config)#ip multicast-routing

Router1(config)#ip pim ssm default

Router1(config)#interface FastEthernet0/0

Router1(config-if)#ip pim sparse-dense-mode

Router1(config-if)#ip igmp version 3

Router1(config-if)#end

Router1#

假如想使用Source-Specific Multicast(SSM)特性,但是终端设备不支持v3,可以使用思科的IGMP v3lite

Router1#configure terminal

Enter configuration commands, one per line.  End with CNTL/Z.

Router1(config)#ip multicast-routing

Router1(config)#ip pim ssm default

Router1(config)#interface FastEthernet0/0

Router1(config-if)#ip pim sparse-dense-mode

Router1(config-if)#ip igmp v3lite

Router1(config-if)#end

Router1#

注释 v3里面最有用的特性就是SSM,不但可以指定想要接收的组播组,还可以指定组播源

23.9.  静态组播路由和组成员

提问 使用静态条目来取代动态的组播路由和组成员

回答

静态组播路由:

Router1#configure terminal

Enter configuration commands, one per line.  End with CNTL/Z.

Router1(config)#ip multicast-routing

Router1(config)#ip mroute 192.168.15.0 255.255.255.0 192.168.98.6

Router1(config)#interface Tunnel0

Router1(config-if)#ip address 192.168.98.5 255.255.255.252

Router1(config-if)#ip pim sparse-dense-mode

Router1(config-if)#tunnel mode gre ip

Router1(config-if)#end

Router1#



静态组成员

Router1#configure terminal

Enter configuration commands, one per line.  End with CNTL/Z.

Router1(config)#ip multicast-routing

Router1(config)#interface FastEthernet0/0

Router1(config-if)#ip pim sparse-dense-mode

Router1(config-if)#ip igmp join-group 239.5.5.55

Router1(config-if)#end

Router1#

注释 在12.3(2)T后引入了相近的ip igmp join-group命令,好处是此命令使用fast switching来处理组播包

23.10.  启用MOSPF来进行组播路由

提问 使用MOSPF来分发组播路由表

回答 思科不支持MOSPF

23.11.  启用DVMRP来进行组播路由

提问 配置DVMRP来支持组播路由

回答

Router1#configure terminal

Enter configuration commands, one per line.  End with CNTL/Z.

Router1(config)#ip multicast-routing

Router1(config)#interface FastEthernet0/0

Router1(config-if)#ip pim sparse-dense-mode

Router1(config-if)#ip dvmrp unicast-routing

Router1(config-if)#ip dvmrp summary-address 192.168.0.0 255.255.0.0

Router1(config-if)#end

Router1#

注释 思科对DVMRP的支持也不是全面的,更多的是作为DVMRP和PIM之间的网关,而目前网络中很少有DVMRP的部署,推荐使用PIM,PIM使用的是单播的路由表,而DVMRP是自己维护一个组播路由表,使用224.0.0.4这个组播地址来交换邻居信息

23.12.  DVMRP 隧道

提问 建立DVMRP隧道来穿越不支持组播的网络

回答

Router1#configure terminal

Enter configuration commands, one per line.  End with CNTL/Z.

Router1(config)#ip multicast-routing

Router1(config)#interface Tunnel0

Router1(config-if)#ip unnumbered FastEthernet0/0

Router1(config-if)#ip pim sparse-dense-mode

Router1(config-if)#ip dvmrp unicast-routing

Router1(config-if)#tunnel source FastEthernet0/0

Router1(config-if)#tunnel destination 192.168.99.15

Router1(config-if)#tunnel mode dvmrp

Router1(config-if)#exit

Router1(config)#interface FastEthernet0/0

Router1(config-if)#ip address 192.168.1.1 255.255.255.0

Router1(config-if)#ip pim sparse-dense-mode

Router1(config-if)#end

Router1#

注释 DVMRP隧道是建立在思科路由器和传统的支持DVMRP的设备上,两台思科设备之间不支持这种隧道,这种隧道只能封装的是组播包,隧道接口和源接口都必须启用PIM。



23.13.  配置双向PIM(Configuring Bidirectional PIM)

提问 配置网络对双向PIM的支持

回答

RP路由器

Router-RP1#configure terminal

Enter configuration commands, one per line.  End with CNTL/Z.

Router-RP1(config)#ip multicast-routing

Router-RP1(config)#ip pim bidir-enable

Router-RP1(config)#ip pim rp-address 192.168.12.1 bidir

Router-RP1(config)#ip pim rp-candidate Loopback0 group-list 15 bidir

Router-RP1(config)#ip pim bsr-candidate Loopback0 1

Router-RP1(config)#access-list 15 permit 239.5.5.0 0.0.0.255

Router-RP1(config)#access-list 15 deny any

Router-RP1(config)#interface Loopback0

Router-RP1(config-if)#ip address 192.168.12.1 255.255.255.255

Router-RP1(config-if)# ip pim sparse-mode

Router-RP1(config-if)#exit

Router-RP1(config)#interface FastEthernet0/0

Router-RP1(config-if)#ip address 192.168.1.1 255.255.255.0

Router-RP1(config-if)#ip pim sparse-mode

Router-RP1(config-if)#exit

Router-RP1(config)#interface Serial1/0

Router-RP1(config-if)#ip address 192.168.2.5 255.255.255.252

Router-RP1(config-if)#ip pim sparse-mode

Router-RP1(config-if)#exit

Router-RP1(config)#end

Router-RP1#

其他路由器

Router1#configure terminal

Enter configuration commands, one per line.  End with CNTL/Z.

Router1(config)#ip multicast-routing

Router1(config)#ip pim bidir-enable

Router1(config)#ip pim rp-address 192.168.12.1 bidir

Router1(config)#interface FastEthernet0/0

Router1(config-if)#ip address 192.168.1.2 255.255.255.0

Router1(config-if)#ip pim sparse-mode

Router1(config-if)#interface Serial1/0

Router1(config-if)#ip address 192.168.3.5 255.255.255.252

Router1(config-if)#ip pim sparse-mode

Router1(config-if)#end

Router1#

注释 双向PIM类似PIM-SM,但是在机理上稍微有所不同,假如要部署双向PIM一定要在全网路由器上都配置支持,版本都要在12.2以上

23.14.  使用TTL来控制组播范围



提问 确保组播只作用于特定的网络范围

回答

Router1#configure terminal

Enter configuration commands, one per line.  End with CNTL/Z.

Router1(config)#ip multicast-routing

Router1(config)#interface FastEthernet0/0

Router1(config-if)#ip multicast ttl-threshold 16

Router1(config-if)#end

Router1#

注释 这里的配置更多取决于组播服务器对TTL的定义,通常本地TTL为1,部门为16,企业为64,互联网为128。另外跟单播不同的是,假如TTL超期被丢弃不会返回ICMP TTL超时的错误消息

23.15.  使用Administratively Scoped Addressing来控制组播范围

提问 使用RFC2365中定义的治理范围地址来控制组播的分发

回答

Router1#configure terminal

Enter configuration commands, one per line.  End with CNTL/Z.

Router1(config)#ip multicast-routing

Router1(config)#access-list 15 deny 239.255.0.0 0.0.255.255

Router1(config)#access-list 15 permit any

Router1(config)#interface FastEthernet0/0

Router1(config-if)#ip multicast boundary 15

Router1(config-if)#end

Router1#

注释 由于使用TTL来控制更多依靠于组播应用,所以使用了上例的控制方法,针对239.0.0.0到 239.255.255.255的组播地址,不同的应用和范围使用不同的地址段,对地址段进行控制。这里的命令不同于在端口配置简单的过滤列表,还对PIM的消息进行了控制,从而防止加入组播树

23.16.  使用MBGP来交换组播路由信息

提问 使用MBGP在两个网络中互相交换组播路由信息

回答

首先在ASBR上启用组播路由和对本地组播进行过滤

Router-ASBR1#configure terminal

Enter configuration commands, one per line.  End with CNTL/Z.

Router-ASBR1(config)#ip multicast-routing

Router-ASBR1(config)#access-list 15 deny 239.0.0.0 0.255.255.255

Router-ASBR1(config)#access-list 15 deny 224.0.1.39

Router-ASBR1(config)#access-list 15 deny 224.0.1.40

Router-ASBR1(config)#access-list 15 permit any

Router-ASBR1(config)#interface Serial0/0

Router-ASBR1(config-if)#ip multicast boundary 15

Router-ASBR1(config-if)#ip multicast ttl-threshold 64

Router-ASBR1(config-if)#ip pim dense-mode

Router-ASBR1(config-if)#end

Router-ASBR1#

然后配置MBGP

Router-ASBR1#configure terminal

Enter configuration commands, one per line.  End with CNTL/Z.



Router-ASBR1(config)#router bgp 65530

Router-ASBR1(config-router)#network 10.0.0.0 mask 255.0.0.0

Router-ASBR1(config-router)#neighbor 10.15.32.1 remote-as 65531

Router-ASBR1(config-router)#address-family ipv4 multicast

Router-ASBR1(config-router-af)#neighbor 10.15.32.1 activate

Router-ASBR1(config-router-af)#end

Router-ASBR1#

注释 MBGP并不像PIM一样是一种组播路由协议,只是用来传递路由信息,所以在配置中还有PIM的配置

23.17.  使用MSDP来发现外部源

提问 使用MSDP来发现另一个自治域的组播源

回答

Router-ASBR1#configure terminal

Enter configuration commands, one per line.  End with CNTL/Z.

Router-ASBR1(config)#ip multicast-routing

Router-ASBR1(config)#interface Loopback0

Router-ASBR1(config-if)#ip address 192.168.12.1 255.255.255.255

Router-ASBR1(config-if)# ip pim sparse-mode

Router-ASBR1(config-if)#interface FastEthernet0/0

Router-ASBR1(config-if)#ip address 192.168.1.1 255.255.255.0

Router-ASBR1(config-if)#ip pim sparse-mode

Router-ASBR1(config-if)#exit

Router-ASBR1(config)#interface Serial1/0

Router-ASBR1(config-if)#ip address 192.168.2.5 255.255.255.252

Router-ASBR1(config-if)#ip multicast boundary 15

Router-ASBR1(config-if)#ip multicast ttl-threshold 64

Router-ASBR1(config-if)#ip pim sparse-mode

Router-ASBR1(config-if)#exit

Router-ASBR1(config)#ip pim rp-candidate loopback0

Router-ASBR1(config)#ip pim bsr-candidate loopback0 1

Router-ASBR1(config-if)#router bgp 65530

Router-ASBR1(config-router)#network 10.0.0.0 mask 255.0.0.0

Router-ASBR1(config-router)#neighbor 192.168.2.6 remote-as 65531

Router-ASBR1(config-router)#address-family ipv4 multicast

Router-ASBR1(config-router-af)#neighbor 192.168.2.6 activate

Router-ASBR1(config-router-af)#exit

Router-ASBR1(config-router)#exit

Router-ASBR1(config)#ip msdp peer 192.168.2.6

Router-ASBR1(config)#ip msdp sa-request 192.168.2.6



Router-ASBR1(config)#access-list 15 deny 239.0.0.0 0.255.255.255

Router-ASBR1(config)#access-list 15 deny 224.0.1.39

Router-ASBR1(config)#access-list 15 deny 224.0.1.40

Router-ASBR1(config)#access-list 15 permit any

Router-ASBR1(config)#end

Router-ASBR1#

注释 这里面主要是配置了sa对端来发布假如有新源的消息

23.18.  配置 Anycast RP

提问配置两个或者多个RP来让路由器自动选择最近的

回答

第一个RP的配置

Router-RP1#configure terminal

Enter configuration commands, one per line.  End with CNTL/Z.

Router-RP1(config)#ip multicast-routing

Router-RP1(config)#interface Loopback0

Router-RP1(config-if)# ip address 10.4.4.4 255.255.255.255

Router-RP1(config-if)#exit

Router-RP1(config)#interface Loopback1

Router-RP1(config-if)# ip address 192.168.99.1 255.255.255.255

Router-RP1(config-if)# ip pim sparse-dense-mode

Router-RP1(config-if)#exit

Router-RP1(config)#ip pim send-rp-announce Loopback1 scope 16 group-list 22

Router-RP1(config)#ip pim send-rp-discovery Loopback1 scope 16

Router-RP1(config)#ip msdp peer 10.5.5.5 connect-source Loopback0

Router-RP1(config)#access-list 22 permit 239.0.0.0 0.255.255.255.255

Router-RP1(config)#end

Router-RP1#

第二个RP的配置

Router-RP2#configure terminal

Enter configuration commands, one per line.  End with CNTL/Z.

Router-RP2(config)#ip multicast-routing

Router-RP2(config)#interface Loopback0

Router-RP2(config-if)# ip address 10.5.5.5 255.255.255.255

Router-RP2(config-if)#exit

Router-RP2(config)#interface Loopback1

Router-RP2(config-if)# ip address 192.168.99.1 255.255.255.255

Router-RP2(config-if)# ip pim sparse-dense-mode

Router-RP2(config-if)#exit

Router-RP2(config)#ip pim send-rp-announce Loopback1 scope 16 group-list 22

Router-RP2(config)#ip pim send-rp-discovery Loopback1 scope 16

Router-RP2(config)#ip msdp peer 10.4.4.4 connect-source Loopback0



Router-RP2(config)#access-list 22 permit 239.0.0.0 0.255.255.255.255

Router-RP2(config)#end

Router-RP2#

注释 PIM-SM有个缺陷就是在一个组播组里面只能有一个RP,冗余性不够。而Anycast通过配置相同的Anycast地址,然后利用单播路由协议来保证采用最近的RP,不同的RP之间可以利用MSDP来保证组播源的信息同步

23.19.  转化广播为组播

提问 把基于广播的应用转为组播包在网络中传递

回答

第一跳路由器

Router1#configure terminal

Enter configuration commands, one per line.  End with CNTL/Z.

Router1(config)#ip multicast-routing

Router1(config)#access-list 115 permit any any udp 3535

Router1(config)#access-list 115 deny any any udp

Router1(config)#interface FastEthernet0/0

Router1(config-if)#ip directed broadcast

Router1(config-if)#ip multicast helper-map broadcast 239.3.5.35 115

Router1(config-if)#exit

Router1(config)#ip pim sparse-dense-mode

Router1(config)#ip forward-protocol udp 3535

Router1(config)#end

Router1#

最后一跳路由器

Router2#configure terminal

Enter configuration commands, one per line.  End with CNTL/Z.

Router2(config)#ip multicast-routing

Router2(config)#access-list 115 permit any any udp 3535

Router2(config)#access-list 115 deny any any udp

Router2(config)#interface Ethernet0

Router2(config-if)#ip address 192.168.9.1 255.255.255.0

Router2(config-if)#ip directed broadcast

Router2(config-if)#ip multicast helper-map 239.3.5.35 192.168.9.255 115

Router2(config-if)#ip pim sparse-dense-mode

Router2(config-if)#exit

Router2(config)#ip igmp join-group 239.3.5.35

Router2(config)#ip forward-protocol udp 3535

Router2(config)#end

Router2#

注释 IP Multicast Helper的特性帮助路由器实现了此种转换,但是此种转化比较耗费CPU,仅仅是临时解决方案

23.20.  显示组播状态信息

提问 显示组播状态信息

回答

Router#show ip mroute

Router#show ip mroute count

Router#show ip mroute active

Router#show ip igmp groups



Router#show ip igmp interface

Router#show ip pim neighbor

Router#show ip pim interface

Router#show ip pim rp

Router#show ip msdp count

Router#show ip msdp peer 192.168.201.15

Router#show ip msdp summary

Router#show ip rpf 192.168.3.2

Router#mstat 192.168.3.2 239.5.5.55

注释 无

23.21.  组播路由排错

提问 组播路由排错

回答

Router#debug ip mrouting

Router#debug ip mpacket 239.5.5.55

Router#debug ip igmp

注释 无
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|boway Inc. ( 冀ICP备10011147号 )

GMT+8, 2024-5-6 12:38 , Processed in 0.113581 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表