当前位置:文档之家› 组播实验(完整版)

组播实验(完整版)

组播实验一实验目的1)理解Multicast的一些基本概念。

2)掌握pim dense-mode的基本配置。

3)理解pim dense-mode的flood和prune过程。

4)理解 pim dense-mode 的assert机制5)掌握cgmp的配置,及其优点。

6)掌握pim sparse-mode的基本配置。

二、实验拓扑和器材Server 192.168.5.x拓扑如上所示,需要路由器四台、交换机一台,主机三台(一台能作组播的服务器,需要Server级的windows操作系统)。

三、实验原理1.组播基本原理Multicast应用在一点对多点、多点对多点的网络传输中,可以大大的减少网络的负载。

因此,Multicast广泛地应用在流媒体的传输、远程教学、视频/音频会议等网络应用方面。

Multicast采用D类IP地址,即224.0.0.0~239.255.255.255。

其中224.0.0.0~224.0.0.255是保留地址,239.0.0.0~239.255.255.255是私有地址,类似于unicast的私有地址。

Multicast的IP地址与MAC地址的映射:MAC地址有48位,前面24位规定为01-00-5E,接着一位为0,后面23位是IP地址的后23位。

路由器间要通过组播协议(如DVMRP、MOSPF、PIM)来建立组播树和转发组播数据包。

组播树有两类:源树和共享树。

多播时,路由器采用组管理协议IGMP来管理和维护主机参与组播。

IGMP协议v1中,主机发送report包来加入组;路由器发送query包来查询主机(地址是224.0.0.1),同一个组的同一个子网的主机只有一台主机成员响应,其它主机成员抑制响应。

一般路由器要发送3次query包,如果3次都没响应,才认为组超时(约3分钟)。

IGMPv2中,主机可以发送leave信息给路由器(地址224.0.0.2);路由器收到信息后,发送一个特别的query包,在3秒内没收到组成员响应,就认为组超时。

由于组播的MAC不是具体某台主机的MAC,根据交换机的工作原理,交换机会对组播数据包进行广播。

因此,对某些不参加组播的主机而言,这些都是不必要的流。

为了解决这个问题,cisco公司开发了CGMP协议。

该协议用于管理参与组播的主机。

每当有主机加入或离开某个组时,路由器就会把该主机的多播IP地址(转换成组播MAC地址)、主机的MAC地址以及消息类型(加入或离开)以CGMP消息告知交换机。

交换机根据这些信息就可以建立起组播转发表。

2.PIM协议Cisco的路由器只支持PIM组播协议。

PIM是一种可利用多种单播路由表(如EIGRP、OSPF、BGP和静态路由等)的组播路由协议,它根据这些路由表实现组播数据的转发。

尽管它是组播路由协议,然而它实际上只是使用单播路由表来完成RPF检验功能,并没有重新建立组播路由表。

不像其他的路由协议,PIM并不会在路由之间收发路由更新信息。

PIM分为Dense-mode与Sparse-mode两种。

密集模式的PIM(PIM-DM)使用“推”的方式,把组播流向网络的各个地方转发,从而把流“推”给不同接收者。

这种方式适用于网络中的各个子网都有接收者(即接收者密集)的情况。

PIM-DM一开始向网络中的各处发组播流,路由器每隔3分钟检查一次自己是否还存在“下游”的邻居,如果没有(即它无需转发组播流),就把这个流“剪”掉(即不再转发)。

路由器会积累数据流所带有的源和组的信息,使得“下游”的路由器可以建立它们的组播转发表。

PIM-DM只支持源树,而无法使用共享树。

松散模式的PIM(PIM-SM)使用“拉”的方式,只有存在接收者的网段才会接收到数据流(即接收者把流“拉”出来)。

PIM-SM通过在共享树中转发数据包来散布组播源的信息。

PIM-SM使用共享树(至少在组播开始的时候需要使用),因此,它需要指定一个汇聚点(RP)。

源在RP中“注册”后,数据就通过共享树转发到接收者。

一旦其它路由器收到从共享树来的数据后,就知道了数据的源在哪里。

于是,路由器就会向源发送PIM(S,G)加入信息。

在反向路径上的每个路由器比较自己的单播路由表中它到RP的度量和它到源的度量,如果到源的度量更优,它就会继续发送PIM(S,G)加入信息。

否则(包括度量相等的情况),PIM(S,G)信息就会沿着RP的方向来发送。

这样,就生成了共享树和源树。

如下图所示的单向共享树,靠近源的路由器先向RP注册,然后在源和RP之间生成源树,数据通过共享树(*,G)到达接收者。

由于共享树并不是源到接收者的最优路径,因此,当流量超过某个门限值后,路由器会动态地生成源树。

该门限值默认的情况为0(例如,在Cisco的路由器中,可通过ip pim spt-threshold infinity命令来修改该门限值)。

同时,为了减轻RP的负担,在PIM-SM的第二个版本中,规定源要周期性的向RP注册,使得RP不必要维护大量的源的信息。

五、实验步骤:1.路由器基本配置1)按上面的拓扑配置好各台路由器及主机的IP地址;2)启用eigrp协议,AS号为100,配置no auto-summary。

2.每台路由器上启动multicast-routing。

在全局配置模式下键入:(config)#ip multicast-routing3.路由器的每一个端口上配置pim dense-mode命令如下:(config-if)#ip pim dense-mode4.验证multicast的相关命令show ip pim neighbor :观察pim邻居;show ip pim interface :观察端口上的pim信息;show ip mroute :观察multicast路由表;debug ip pim :显示pim的debug信息;debug ip igmp :显示igmp信息。

5.Multicast验证验证分为四个阶段进行验证,都采用第4点所列出的命令1)在服务器未连接时(拔掉与server连接的线)只看到关于224.0.1.40的多播组的信息,看不到其它多播组的信息。

2)接上与服务器连接的网线,但client还未连接可以看到服务器上启动的节目组的多播组信息。

但由于没有client,稳定状况下所有端口都是prune状态的。

3)在client端打开media player,连接上服务器访问组播用以下命令:http://192.168.5.2/station1.nsc。

打开服务器上的*.nsc文件,等读取了*.nsc文件信息后,就自动开始播放节目,因.nsc文件中已经包含访问组播服务器所需要的组播IP地址、端口号、流媒体文件等信息。

这时就可以看到一些端口的状态由prune变成forward,打开debug ip igmp就可以看到主机加入某个组的信息。

4)断开client与服务器的连接,即关闭media player的播放可以看到主机离开某个组的信息,并且在show ip mroute后发现某些端口已经有forward变为prune。

6.配置cgmp1)配置前,在switch上用show mac-address-table以及show cgmp查看一下相关信息,以同配置后的信息进行对比。

2)在A及Switch上配置cgmp。

对于路由器A,配置命令是在端口(连接主机的以太网口)模式下,键入:(config-if)#ip cgmp对于Switch,配置命令是:(config)#cgmp leave-processing3) 验证在A上,用debug ip cgmp查看debug信息;在Switch上用命令debug cgmp查看debug信息。

但要注意1900没有debug命令。

在Switch上再用命令show mac-address-table以及show cgmp看看前后有什么不同。

7.配置pim sparse-mode(配置之前要把PIM Dense-mode 的设置去掉)1)基本配置每台路由器上启动multicast-routing。

在全局配置模式下键入:(config)#ip multicast-routing路由器的每一个端口上配置pim dense-mode命令如下:(config-if)#ip pim sparse-dense-mode //配置了RP后自动为sparse-mode式,否则为dense-mode。

2)static-RP的PIM-SM静态RP的配置时,只需要在连接有client的路由器上配置,用于指定需要去注册的RP的IP地址。

还可以通过相应的ACL来控制哪些组的RP是谁。

一台路由上可以指定多个RP。

静态指定RP时,RP那台路由器并不需要知道它自己就是RP。

这就是说RP无需本身无需配置。

A、C和D的配置一样:Router (config)#access-list 20 deny 224.0.1.39Router (config)#access-list 20 deny 224.0.1.40Router (config)#access-list 20 permit 224.0.0.0 15.255.255.255Router(config)#ip pim rp-address 10.10.10.10 20 //10.10.10.10为RouterB的回环接口地址B的配置:Router (config)#int loopback 0Router (config-if)#ip address 10.10.10.10 255.255.255.0Router (config-if)#no shutRouter (config)#router eigrp 100Router (config-router)#network 10.10.10.0 0.0.0.255验证:1) show ip pim rp 或show ip pim rp mappings2) 与密集模式的相同。

3) auto-RP的PIM-SM由于静态指定RP必须为每一台末端(连接有client)的路由器手工配置RP,且当RP改变时还要手动进行更改,带来很大的管理工作量。

而自动RP则可以解决这个问题。

自动RP模型中,分为候选RP和RP映射代理。

前者可以配置作为某些组的候选RP而以224.0.1.39多播组地址向后者通告;后者接收这些信息后再以224.0.1.40得多播组地址通告候选RP的信息。

末端路由器接收到这个224.0.1.40多播组的信息后就可以知道有哪些RP,并且这些RP对应哪些多播组,从而可以自动发现RP。

候选RP和RP映射代理可以相互独立,不一定属于同一台路由器。

相关主题