Chapter 6 Rendezvous Points
第六单元汇聚点
到了这一单元,我想你应该清楚PIM SM模式在整个多播课程中的份量有多么重了,PIM SM 对于多播是如此的重要,以至于我们要用一个单独的单元来专门讲述RP。
RP的实现方法有三种,Auto-RP、PIMv2 BSR和Static RPs,我们先来介绍Auto-RP。
Auto-RP Overview Auto-RP预览
所有路由器自动学习与特定组相关的RP地址,除了Candidate RPs(RP候选者)和Mapping Agents(映射代理)外的路由器不需要为RP做任何设置。
通过专用的两个多播地址224.0.1.39(Cisco-Announce)和224.0.1.40(Cisco-Discovery)以PIM DM(否则存在Chicken and Egg问题)方式传递RP相关信息。
可以存在多个RP以作备份,可以通过管理范围对消息的传递加以限制,BSR不个备这一功能,这一功能对减少多播信息对广域网带宽的占用非常有效。
Candidate RPs RP候选者
RP候选者以固定周期向224.0.1.39组播地址发送RP-Announcement消息,这个消息用来说明该路由器是一个RP候选者,rp-announce-interval的缺省值为60s。
RP声明中包括:组范围(缺省为224.0.0.0/4)、候选RP的地址,保持时间缺省为三分钟,即三倍的rp-announce-interval。
在全局模式下以下述命令设置:ip pim nd-rp-announce <intfc> scope <ttl> [group-list acl]。Intfc用于指定RP声明中的源地址取自哪个接口。
Group-list中的Deny在不同的IOS版本中意义不同,12.0(1.1)以前的版本中表示当前路由器不是相应组范围的候选RP,12.0(1.1)以后版本中表示该组范围永远采用密模式。
Mapping Agents 映射代理
用于接收发自Candidate RPs的声明,自动加入224.0.0.39这个多播组。所有声明存储在缓存中,为每个特定组范围选举具有最高IP地址的候选者作为RP。我们可以通过show ip pim rp mapping命令来查看MA的缓存。[注意:所有MA的缓存内容必须一致。]
日语翻译培训向224.0.1.40地址发送Cisco-Discovery消息,每60秒或检测到变化时发送。消息中包含从多个候选者中选出的RP。
可以通过如下命令设置:ip pim nd-rp-discovery [<interface>] scope <ttl>。Interface用于指定消息包源地址取自哪个接口,如果不设置,源地址为送出接口,这样将会导致一个MArather的用法
以多个地址出现。
所有其它路由器自动加入224.0.1.40以接收Cisco-Discovery消息。通过接收Cisco-Discovery 消息以确定负责特定组的RP。
这记得上一单元结尾处的PIM SM的配置实例吗?不记得也没关系,我们再看一遍:
通常一个网络中应该至少设置两个C-RP和MA,一台路由器可以同时担当这两种角色。Intfc 最好使用回环接口来定义。
需要支持多播的每台路由器的每个接口下都应该配置成疏密模式,因为Auto-RP采用密模式PIM工作,其它多播数据采用稀疏模式工作。
Auto-RP的介绍就到此为止,下面我们来介绍PIMv2 BSR。
PIMv2 BSR Overview PIMv2引导路由器预览
至少需要一个BSR(BootStrap Router),当然可以有多个以作备份(BSR从这些BSR候选者中选出)。RP候选者以单播形式向BSR发送声明(RP通过接收BSR发出的声明知道BSR 的地址),所有的声明存储于RP-t。
BSR周期性的向224.0.0.13(All-PIM Routers)发送声明,声明中包含RP-t和BSR的IP 地址,RP-t从BSR开始一跳一跳的传遍整个网络,所有路由器按照相同的算法从RP-t 中选出相同的RP。
BSR发送的声明不能设置管理范围。
Candidate RPs RP候选者
RP候选者以固定周期向BSR发送单播PIMv2 RP-Announcement消息,这个消息用来说明该路由器是一个RP候选者,rp-announce-interval的缺省值为60s。
RP声明中包括:组范围(缺省为224.0.0.0/4)、候选RP的地址,保持时间缺省为三分钟,即三倍的rp-announce-interval。
在全局模式下以下述命令设置:ip pim rp-candidate <intfc> [group-list acl]。Intfc用于指定RP声明中的源地址取自哪个接口。这条命令可以在一个路由器内配置多次。
BSR(BootStrap Router)引导路由器
用于接收和传递C-RP信息给所有路由器,接收到来自C-RP信息后存储于Group-to-RP映射缓存。
每隔60秒或映射缓存有变化时BSR通过所有接口向224.0.0.13(All-PIM-Router)发送TTL 为1的组播消息,消息中包含所有Group-to-RP信息和BSR的地址。这个消息会被所有的路由器向前传递(通过RPF检验的消息发向除接收端口外的其它端口,TTL=1)。
多个C-BSR(引导路由器候选者)通过选举优先级和IP地址最高者为活动BSR,这个选举过程是抢先式的。活动BSR根据C-BSR的优先级随时变化,作为接收者的All Other Routers 在Accept Any和Accept Preferred两种状态中改变。
BSR通过以下命令设置:ip pim bsr-candidate <intfc> <hash-length> [priority <pri>] <hash-length>用于指定hash mask的长度,这一长度决定了RP服务于多播组的范围有多大。Priority定义了当前BSR的优先级,优先级缺省等于0。
OK,PIMv2 BSR也介绍完了,下面来看一看静态RP的配置。
Static RP 静态RP
如果要配置,则应该在所有路由器上配置,所有路由器必须使用相同的RP地址,当静态配置的RP失效时,路由器不可能切换到其它的备用RP(除非使用Anycast-RP,在RP之间运行MSDP)。
以下命令实现静态RP的指定:ip pim rp-address <address> [group-list <acl>][override],group-list指定组范围,缺省为224.0.0.0/4,这是很危险,因为它把Auto-RP多播组(224.0.1.39和224.0.1.40)也包括进来了,注意这两个多播组是使用密模式进行维护的。所以我们至少应该使用访问列表将这两个组排除。override参数指示静态配置优先于Auto-RP学得的内容。
静态RP的配置比较容易理解,但是管理工作量很大,由于没有冗余能力,可靠性也不强,不适于在大的网络中使用。
Tuning RP Operations 调节RP的运行
RP应该放在哪里呢?
这并不重要,因为SPT会对经共享树的转发加以修正,RP只是源和目的的初始多播路由信息的汇合点,大量的多播流量并不经过RP传递,RP不会成为瓶颈,除非你把SPT-Threshold 设成很大的一个值。(还记得这个阈值是做什么的吧?)
如果要保证RP的性能,需要多快的CPU和多大的内存呢?勤勉的意思
原文中给出了对RP的CPU有较大开销的任务和多播转发表的内存开销计算方法,这里不准备介绍给大家,因为性能的问题不太容易量化的评测。
如果RP性能下降,我们可以选择更换CPU,增加内存,减少SPT阈值和多RP负载均衡等办法来解决。
Auto-RP声明和发现消息中的TTL的值设成多大合适?
这个跟你的网络结构有关,只要保证所有的MA/C-RPs都可以收到来自C-RPs/MA的消息就可以了。不妨把TTL值设得大一些,我们可以在网络边界使用ip multicast boundary的命令来限定Auto-RP多播信息的传递,如下图。
对于PIMv2 BSR,我们使用命令ip pim bsr-border来限定消息传递,如下图。
如何才能防止不正确的配置导致RP信息的不一致呢?
这是一个比较令人头痛的问题,事实上没有绝对的保证,我们只能通过ip pim accept-rp命令对可接受RP进行限制。
命令用法如下图:
Auto-rp和0.0.0.0只能设置一条,acl如果省略掉则表示224.0.0.0/4。
广州粤菜培训对RP的限定可以用来控制组模式,只有通过RP验证的组才可以使用稀疏模式。也可以用来限定哪些(*,G)的加入消息是可接受的,还可以用来限定哪些(S,G)注册消息是可接受的。
此外,我们可以在MA中使用RP过滤来验证RP候选者的有效性,进而控制RP。命令如下:ip pim rp-announce-filter rp-list <acl> [group-list <acl>]
rp-list和group-list分别用来指定哪些C-RP和多播信息是可以接受的。
斯皮尔伯格经典电影
[注意]group-list如果不指定表示不接受一切组。
Debugging RP Operation 调试RP运行
先来看看调试Auto-RP时需要注意的问题:
清楚Auto-RP的工作原理是基本的,要特别注意Group-to-RP信息的一致性,先检查所有MA的Group-to-RP表,再检查其它路由器。
因为Auto-RP的信息交换基于密模式,要特别注意静态RP的配置对Auto-RP的影响,还要注意NBMA网络中运行DM时出现的问题(第七单元介绍)。
和谐家庭演讲稿再来看看调试BSR时要注意的问题:
清楚BSR的工作原理是基本的,要特别注意Group-to-RP信息的一致性,先检查BSR的
Group-to-RP表,再检查其它路由器。
Special Cas 特殊情况
RP on a Stick,下图是一个特例,具体的原理比较复杂,为了解决这种网络结构下出现的问题采取了很多办法,具体内容不做介绍了,注意蓝色线表示实际的多播数据转发路径。pisces
河南会计培训
TurnAround Router 同样是一个特例,不解释原理了,注意蓝色线表示实际转发路径。
blue collar>石家庄翻译后面的内容比较深入,对于本单元的内容,注意理解三种RP维护方法的原理及其配置。特别是Auto-RP,应用较多。其它的作为了解内容就可以了。