18 CCNP讲解笔记-PIM 2

2019-04-05 16:40

PIM 2

研究三层架构中的第二层架构

如何让路由器来转发组播流量,此时涉及到组播路由选择协议(PIM)。

一、Multicast Forwarding

先研究路由器在收到组播流量,转发组播流量和转发单播流量的一个转发原则。这个原则正好是相反的。

举例:

比如单播使用的是OSPF协议:

在一个AS内部署了一个OSPF域,所有路由器建立起OSPF邻居,传递LSA生成路 由表,达到全网可达。

a.每台路由器形成的路由表,是基于什么的表项? 答:是一张基于目的网段可达性的表项。

我们可以这样理解,在单播路由选择中,路由器收到报文之后,我虽然查看的是三 层报头,但我重点查看的是三层报头中的目的IP。

组播:

正好与单播相反,一台路由器收到一个组播流量,在我关心通过哪个接口把这个报 文发走之前,我更关心这个报文是从哪里发送来的。 为什么会这样呢?举个例子:

有个组播组信源Server,它不停的发送组播流量,连接着路由器R1和R2。如图, 假定R1和R2已经运行了正确的组播路由选择协议。 Server开始发送组播流量,正常发应该是同时发送给R1和R2,并且报文是相同的。 此时如果R1和R2都把报文转发给R3。

R3收到R1和R2过来的组播流量,会把这两股流量都发给下游PC群。如果是单播 的话,这样发送是没有问题的。但是,如果是组播报文就不行了吧。这产生了重复报文。

重复报文,会导致组播传递出现很多问题。

这也就是说,在这种情况下,我一台路由器对于一个组播组的Server而言,我能接 收你的组播流量,但并不是我通过每个接口收到你的流量,都要帮你转发。 总结:

在运行组播路由选择协议的时候,路由器收到了组播流量,更加关注报文从哪

里来,目的就是为了解决重复报文问题。

注意:

组播路由器对于一个组播组信源,你只有通过一个接口接收该Server报文的时 候我可以帮你转发下去,但这个接口该怎么判断呢?我怎么知道对于这个Server, 我通过哪个接口收到你的报文,该帮你转发下去呢?

这是需要一套原则的,这个原则如下。 解决方法:

非常重要的原则 RPF Checking(RPF校验):

一台路由器,收到一个组播报文,我必须要先进行RPF校验来确定我哪个接口收 到你的流量的时候,这个流量我是可以帮你转发的。而我哪个接口收到你的流量, 在我接收的一瞬间,我就要把你的流量给丢弃。

1. RPF Checking目的:

为一台路由器确定对于一个组播组Server信源的RPF接口。这个RPF接口就是, 当我选出了这个接口之后,只有通过这个接口我收到该Server发送来的组播流量的 时候,我可以帮你转发下去。而对于其他非RPF接口,这些接口接收到流量之后就直 接丢弃。

RPF Checking不但解决重复报文,还解决了组播报文传递环路问题。

2.RPF选举原则:

一台路由器收到了一个组播组信源发送的组播流量(目的IP肯定是组播组地址, 源地址是该信源发送组播报文接口的地址)。当路由器收到了该组播流量,会提取三 层报头源IP地址,并且在其单播路由表内查找是否拥有去往信源所在网段的单播路 由条目。

如果没有,则该路由器对于该组播组信源没有RPF接口,报文直接在接口被丢弃。 如果该路由器单播路由表内拥有去往信源所在网段的单播路由,则查看该路由对应 的出战接口和接收到该组播报文的接口是否为同一个接口,如果是,则转发该报文, 如果不是则丢弃该报文。

问题:

一台路由器只有一个RPF接口这个说法对吗? 答:

错的。一台路由器对于一台Server而言,我的RPF接口只有一个。而发 送组播组流量的Server不止有一台吧,他们的IP地址肯定不一样。所以基 于这一点,我一台路由器不会只有一个RPF接口。但对于一个组播组而言, 我有且只有一个RPF接口。

扩展知识:

在拥有冗余和负载均衡的环境下,RPF接口该怎样选举? 举例1:

连接方式如图,Source地址为1.1.1.1。R1与R2通过以太网和帧中继相连。 此时全网运行OSPF协议。

问题:对于该组播组Server而言,R2的RPF接口应该是哪个? 答:右边的接口

如果此时全网运行RIPv2协议

问题:对于该组播组Server而言,R2的RPF接口应该是哪个?

此时R2去往这个1.1.1.1网段的路由条目的度量值,两边都为1,负载均衡。 此时不可能这两个接口都为RPF接口。因为对于一个组播Server而言,路由 器有且只有一个RPF接口。

答:如果是负载均衡的情况,我们RPF接口比较的是出站接口(指的是连接FR 和交换的那俩接口)的IP地址,IP地址越大,该接口越有可能成为RPF 接口。

举例2:

描述,此时有两个组播信源S1和S2,假如这两台Server发送的是相同的组播流量, 去往相同的组播组地址。

这时,我有这么一个需求,就是在R2上,S1发送的流量从右边过来,S2发送的流 量从左边过来。我希望基于不同的Server实现负载均衡。

这该怎么实现?

通过这样一个技术来实现 组播静态路由:

命令:全局模式ip mroute x.x.x.x 255.255.255.0 interface //配置命令与单播静态路由配置命令相似 但是,单播静态路由和组播静态路由有本质的区别。 单播静态路由:

让路由器转发报文时使用。 组播静态路由:

创建组播路由条目之后,不是用来帮助转发组播报文的。而是用来确定一台 路由器对于一个组播组信源的RPF接口。就这一个作用。

如上图,该怎么通过组播静态路由改选RPF接口。 命令:

R2(config)# ip mroute 1.1.1.2 255.255.255.255 s0/0

//当我收到了来自于1.1.1.2组播组信源发来的组播流量时,我的RPF 接口是S0/0接口。

组播静态路由带来的优势:

让多个不同的组播组信源发送组播流量达到这台路由器的时候,可以通过负 载均衡的方式来实现转发。

组播路由选择协议:PIM

在一个路由选择域内使用PIM协议,在部署PIM后,路由器转发组播报文,使用的结构是树形结构。

当路由器使用PIM协议的时候,转发组播流量所使用的不同的两种树形结构。 a.Source-rooted(源树):又叫做Shortest path trees(最短路径树,简称SPTs) b.Shared trees(共享树):又叫做Readezvous point trees(集合点树,RP)

这两种树形结构对应着就是PIM的两种模式 a.Dense mode protocols(密集模式):该模式对应的是Source-rooted(源树) b.Sparse mode protocols(稀疏模式):该模式对应的是Shared trees(共享树)

先看Shortest-Path Trees:

该树想要生成的条件,所有路由器启用PIM的Dense mode。然后路由器之间会基于

Dense mode建立邻居。建完邻居之后,所有路由器就已经收敛完成了。 在这里注意:

单播路由选择协议和组播路由选择协议有着本质区别:

单播路由选择协议:路由器之间建完邻居是要传递路由的。

组播路由选择协议:建好邻居之后,路由表项此时是空的,这个组播路由表项不是通 过这个组播协议来传路由。

路由只有在数据层面收到组播组流量的时候,才会生成相应的组

播路由表项。

如图,最短路径树与信源有没有什么关联?

答: 在运行源树的环境中,一个源对应一棵树,这个数就是从源到达目的地最短 的树。这相当于源树的优势。 而源树的劣势:

源树的组播路由表项类似于(S,G)的表项,如图所示(1.1.1.1,224.1.1.1)。 这个表项仅仅是一个标题,在这个表项下面还会包含我对于这个组播组 Server的RPF接口,以及我收到流量之后通过哪些接口把流量转发下去。 这个一个表项大概占300多Kb,下面的一个RPF接口和转发接口又各占150 Byte。

所以源树的缺陷就是路由器对于每个源都对应一棵树,当源越来越多的时 候,源树就越来越多,而每个源树用占用一定内存,导致路由器开销会越来 越大。浪费资源。

由于源树的劣势大于优势,所以当今社会上源树用的很少。

取代源树的技术,就是Shared Trees(共享树,也称之为RPT): RP的概念:

RP我们称之为集合点,这个集合点我们可以理解为一个组播路由选择域内 的某台路由器的某个接口,这个RP需要管理员人为定义的。可以定义为任何 一台路由器。

如图,此时如果D是RP,会有什么现象?


18 CCNP讲解笔记-PIM 2.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:为了财富

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: