版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、锐捷PIM-SM技术白皮书摘要该文档主要描述PIMSM/协议的基本原理、BSR协议的基本原理、我司的技术特点。关键词多播树的生成与裁剪、BSR机制及RP发现、多播报文转发规则、PIM-SSM简介、锐捷PIMSM技术特点。技术白皮书修订记录日期修订版本修改章节修改描述作者2008/07/021.0目 录 TOC o 1-3 h z u HYPERLINK l _Toc202681819 摘要 PAGEREF _Toc202681819 h 1 HYPERLINK l _Toc202681820 关键词 PAGEREF _Toc202681820 h 1 HYPERLINK l _Toc20268
2、1821 1缩略语 PAGEREF _Toc202681821 h 4 HYPERLINK l _Toc202681822 2概述 PAGEREF _Toc202681822 h 5 HYPERLINK l _Toc202681823 3技术介绍 PAGEREF _Toc202681823 h 6 HYPERLINK l _Toc202681824 3.1多播树的生成与裁剪 PAGEREF _Toc202681824 h 6 HYPERLINK l _Toc202681825 第一阶段:RP树 PAGEREF _Toc202681825 h 6 HYPERLINK l _Toc20268182
3、6 第二阶段:Register Stop PAGEREF _Toc202681826 h 7 HYPERLINK l _Toc202681827 第三阶段:最短路径树(SPT) PAGEREF _Toc202681827 h 8 HYPERLINK l _Toc202681828 多协议协同工作:(*,*,RP)路由项 PAGEREF _Toc202681828 h 10 HYPERLINK l _Toc202681829 3.2BSR机制及RP发现 PAGEREF _Toc202681829 h 10 HYPERLINK l _Toc202681830 3.3多播报文转发规则 PAGEREF
4、 _Toc202681830 h 11 HYPERLINK l _Toc202681831 3.4PIM-SSM简介 PAGEREF _Toc202681831 h 11 HYPERLINK l _Toc202681832 4锐捷PIMSM技术特点 PAGEREF _Toc202681832 h 12 HYPERLINK l _Toc202681833 5结束语 PAGEREF _Toc202681833 h 14缩略语上游接口,下游接口,反向路径转发检查,源树,共享树,(S,G),(*,G),(*,*,RP),(S,G,rpt),多播路由表,多播转发表,BSR,RP。上游接口(Upstrea
5、m Interface)对一个指定的源站点S或集会点RP,接收到该源站点或集会点RP所发的数据包且检查正确的接口称为上游接口;下游接口(Downstream Interface)对一个指定的源站点S或集会点RP,所有不是上游接口的接口被称为下游接口;反向路径转发检查(Reverse Path Forwarding Check:RPF Check)当接收到一个多播包时,路由器将进行RPF检查。路由器在单播路由表中查找源或集会点的地址,确定多播包是否在到源或集会点的反向路径的接口上被收到。如果是,RPF检查成功,多播包将被转发。否则RPF检查失败,多播包将被丢弃。源树(Source Trees)多
6、播分发的最简单方式,它是以多播源为根,向接收者生长的树,因为这种树使用了网络中的最短路径,所以也被称为最短路径树(SPT)。共享树(Shared Trees)选择网络中某个公共节点为根的树,该公共节点成为指定点(RP:Rendezvous Point)(S,G)在一个多播报文中,S表示发此多播信息的源地址,G表示这个多播的目的地址,(S,G)可标识特定组和源的多播流。(*,G)表示关于特定多播组G在共享树中的状态,源可以为任意值。(*,*,RP)表示关于特定共享树所有多播组的状态,组、源可以为任意值。(S,G,rpt)表示关于特定共享树特定(S,G)状态。多播路由表本文中所指的多播路由表为保存
7、多播路由状态的数据结构,它包含了所有多播分发树的信息。BSRBootstrap Router,分为候选BSR与选中BSR,其中选中BSR将周期性的发送RP集合信息。RPRendezvous Point概述PIM-SM是协议无关多播传送稀疏模式(Protocol Independent Multicast-Sparse Mode)的缩写。它是一种适合于在稀疏环境下使用的多播协议。所谓“密集”和“稀疏”指得是网络中组成员的密度。假如网络中一个区域出现至少一个组成员的概率很高,即使这个区域很小,它也是一个“密集”区域。反之则是“稀疏”区域。由于稀疏区域的组成员很少,不能采用密集区域的简单的周期性扩散
8、、剪枝的方法进行多播传输(否则网络的资源不足以应付其开销)。所以开发了PIM-SM协议。所谓“协议无关”,是指该多播协议不依赖于任何特定的单播协议(如RIP、OSPF等),而是直接利用单播路由表(FIB)作为多播路由信息的基础。这种独立的后果是,路由器不试图计算专门的多播路由,它假设从A到B和从B到A的单播路由最短路径是对称的。如前所述,在稀疏环境下是不适合采用简单的扩散和剪枝算法的。所以PIM-SM借鉴了有核树(CBT)的算法:构造一棵CBT需要从选择一个核开始,即网络中将会成为多播组中心的一个固定点,然后接收方就向这个核发送加入报文。所有的中间路由器都会接收这个报文,并把接收该报文的接口标
9、记为属于这个组的树。路由器需要为每个组保存一份状态信息,列出所有属于相应树的接口。如果接收到加入报文的路由器已经是树中的一个成员,那么它就只再标记一次接口属于组;如果这是此路由器收到的第1个join指令,那么它就会向核的方向再进一步转发此指令。CBT相当于为每个组建立一个生成树。对所有的源站点来说,这棵树都是相同的,比起RPF来,它的优点是只需要对每个组记录一个状态(即(*,G),而不是为一个组和源站点对都记录一个状态(即(S,G)。CBT也有一个缺点,即某些源站点和某些接收者之间的路径有可能不是最优的,而且CBT也存在传输集中的问题,因为来自一个给定组的所有源站点的流量都将穿过相同的链路。C
10、BT的最大优点在于它将多播数据报的扩张精确限制在所有接收者范围内。这一思想比起RPF将第1个分组在被剪枝以前传送给整个网络的方式有严格的区别。另外,CBT还有一个重要的优点,同时也是造成CBT的可伸缩特性的原因,这就是状态数量少。这里,状态数量只取决于组的数目,而不取决于源站点和组配对的数目。在PIM-SM协议中,我们把这个核称之为集会点(RP),把从RP构建的有核树称为RP树(RPT)。为了利用RP树的优点,同时为了避免其缺点,PIM-SM设计了从RPT到依据源-组关系的、以源为根的最短路径树(SPT)的切换。其切换的门槛变低是目前最新的协议草案draft-ietf-pim-sm-v2-ne
11、w-06和原有的RFC2362的一个区别,这种区别有利于基于硬件转发的现代路由器(以及三层交换机)的实现。PIM-SM协议中要解决的另一个问题,就是集会点的选择问题。目前通常采用的方法是用Bootstrap Router (BSR)机制,该机制的描述有专门的协议草案。协议中还有维护路由器邻居关系,以及在广播型网络中多个路由器的协作问题。PIM-SM采用HELLO机制来维护前者,用ASSERT机制来维护后者,具体过程将在下文中描述。我们分析的PIM-SM协议遵照如下协议:1、draft-ietf-pim-sm-v2-new-06,PIM-SM协议详述;该文档尽量考虑了对RFC2362的兼容,同时
12、对2362进行了大量改进。所以现在实现PIM-SM,应该遵从此文本。从draft-ietf-pim-sm-v2-new-05到draft-ietf-pim-sm-v2-new-06只有一些文字上的修改。说明该文档已趋于稳定。当前最新的标准为RFC 46012、draft-ietf-pim-sm-bsr-02,PIM-SM的BSR机制;是PIM-SM的BSR机制的详细说明,当前最新的标准为RFC 5059。具体过程将在下文阐述。 技术介绍多播树的生成与裁剪第一阶段:RP树当一个多播接收者说明它希望接收某个组的多播报文时(通常是通过IGMP或MLD协议),连接这个接收者的一个路由器(当在共享网络上
13、有多个路由器时则是选举出来的指定路由器DR)会向RP发送PIM Join消息。这个消息被称为(*,G)Join消息。该消息将一直传送到RP或者一个已经建立(*,G)路由表项的路由器为止。沿途的路由器都将为此建立一个(*,G)的多播路由项。于是就生成了一棵以RP为根的树(RPT)。这棵树又被称为共享树(Share Tree),因为它是整个组共享的,而不考虑某个特定的多播源。显然,相反情况是,当一个路由器发现它连接的所有下游成员都不再想接收这个多播组报文时,它要向RP发一个(*,G) Prune消息。于是沿途的路由器可以根据此消息裁剪这棵共享树。当一个多播源希望在这棵树中发送多播流时,连接此源的D
14、R将把多播报文封装在一个单播Register报文中发送给RP,这个过程称为Registing。RP收到此单播后,解开封装,再依照生成的共享树把多播报文分发给所有的接收者。整个过程如下所示:图1图2图3第二阶段:Register Stop采用Register报文封装多播流的做法显然是低效率的,而且也难以用硬件进行转发。所以当第一个Register报文到达RP后,RP将向多播源所在的指定路由器(DR)发送一个针对源S和相应多播组G的加入报文,即(S,G)Join报文。这个报文在传往源DR的沿途,中间转发的路由器会相应地创建一个(S,G)的多播路由项,于是一棵以S为根到达RP的树建立起来了(此时这个
15、树没有任何分支)。当S-DR收到此Join报文后,将沿着这个S,G树向RP传输多播报文(就不再进行封装了)。为了保证多播流不因此间断,S-DR并不停止封装单播报文。于是RP将收到封装和未封装的两份多播报文。当RP收到第一个未封装报文时,它将向S-DR发送一个RegisterStop消息。S-DR收到此消息后,就不再封装了。在这个阶段,多播的流向就变成两段,前半段是从S沿着(S,G)树流向RP,后半段是从RP沿着(*,G)树流向各接收者。中间两棵树可能交叉,当出现这种情况时,多播报文应该直接走RPT到达接收者。过程图示如下:图4图5第三阶段:最短路径树(SPT)为了避免接收多播报文都要从RP绕一
16、下,接收方的DR可以选择从共享的RPT转移到以S为根的最短路径树(SPT)。切换的过程是,DR建立一个(S,G)多播路由项,通过这个(S,G)状态向源主机的DR发送周期性的(S,G)Join消息。沿途路由于是相应建立起了一棵(S,G)树。有一点需要注意的是,DR的(S,G)表项中的输出接口列表是从原来建立的(*,G)表项中拷贝过来的。在这时,DR将会收到2份多播数据流,一份是从RPT过来的,一份是从SPT过来的。所以当它从SPT的输入接口收到第一个(S,G)多播包后,说明SPT已经建立成功,DR(假如对这个DR而言,RPT和SPT的上游是同一个路由器,那么就从上游RPT和SPT开始分支的地方的
17、路由器)将向RP发送一个(S,G,rpt)Prune消息,来说明它不再想从共享树接收从S来的数据。如果收到这个Join/Prune报文的路由器中有(S,G)多播路由项,那么它就把这个报文到达的接口从(S,G)输出接口列表中删除掉。如果路由器只有(*,G)状态,那么它就生成一个共享树标志位(RPT-bit)被设置为1的(S,G)多播路由项,我们称之为带有RPT-bit的(S,G)表项以区别于一般的(S,G)表项。需要注意的是一个路由器不能同时有带有RPT-bit的(S,G)表项和一般的(S,G)表项。过程如下所示:图6图7多协议协同工作:(*,*,RP)路由项为了支持协同工作能力,一种特殊的表项
18、类型(*,*,RP)必须被所有的PIM路由器支持。PMBR(多播边界路由器,PIM Multicast Border Routers)为在PIM域中的每个候选RP初始化(*,*,RP)状态,而这个状态促使PMBR向域中的每个活动RP发送(*,*,RP)Join消息。通过这种方式,以RP为根的分布树就被建立了,所有在PIM域内产生的数据报被传送到相应的RP,并沿着分布树传送到PMBR。当然,由于每个RP对应着一系列组G,所以会有多条(*,*,RP)项来对应相应的组。在为多播报文寻径时,若无法匹配到(S,G)或者(*,G)多播路由项,而目标组G能够匹配上某个RP,则依据对应的(*,*,RP)项进行
19、转发。PMBR也负责将外部产生的数据报传送给PIM域内的路由器。它把外部生成的数据报封装起来,封装到Register报文中并把它们单播给PIM域中的相应的RP。在Register报文中有一个bit用来指示它是由边界路由器产生的,并且RP将生成这个报文的PMBR的地址也高速缓存到路由表项中(这样做的目的是当收到其它PMBR的复制的Register报文时,它可以通过向对方单播一个Register-Stop报文来减少这种情况的发生)。此外还有Source-specific Joins和Source-specific Joins的情况,由于这是配合IGMP V3实现的,我们暂时不对它进行讨论。BSR机
20、制及RP发现在一个PIM-SM域中,所有的PIM-SM路由器都必须把一批全局的多播组地址映射到一个RP上。同时一个PIM域还可以被划分为多个管理域,每个管理域内的路由器也要能把此域映射到同一个RP上。PIM-SM采用BSR机制来进行RP管理以及管理域边界的确定。在一个PIM域当中,需要竞选出一个BSR,而域内所有的候选RP将向此BSR通报它们的候选资格。BSR从这些候选RP中选出一个子集,并将此信息通过BootStrap消息发送给域内所有的路由器。整个BSR机制共有四个步骤:BSR选举:每个候选BSR发出bootstrap消息。在此消息中包含有BSR优先级。这个消息在整个域内扩散。当一台候选B
21、SR发现有比自己更为优先的候选BSR后,就暂时停止发送bootstrap消息。这样最终只有一台候选BSR保留下来,成为当选BSR。而它持续发送的bootstrap消息则扩散到全域,使域内所有路由器都明确当前的BSR。候选RP通告:所有的候选RP将周期性地向BSR发送候选RP通告(C-RP-Adv)。候选RP组的编订:BSR搜集所有候选RP的信息,并将其中的一个子集编成候选RP组(C-RP-Set)。编组的原则是,即不能让这个组太大,而包括了域中的所有路由器;也不能太小,使得所有的流量都集中到一台RP上;同时尽量保持这个组不经常发生变动也是要考虑的;RP组的扩散:BSR把编好的RP组放进boot
22、strap消息中,周期地发送到整个域内。多播报文转发规则单播报文的转发过程中路由器并不关心源地址,只关心报文中的目的地址。通过目的地址决定向哪个接口转发。在组播中则不然,路由器在接收到报文后必须根据源和目的地址确定出上游(指向组播源)和下游方向,把报文沿着远离组播源的方向进行转发。这个过程称作RPF(Reverse Path Forwarding 逆向路径转发)。单播路由表用来确定上游和下游的邻接结点,只有当报文是从上游邻接结点对应的接口(称作RPF接口)到达时,才向下游转发。RPF的作用除了可以正确地按照组播路由的配置转发报文外,还能避免由于各种原因造成的环路。环路避免在组播路由中是一个非常
23、重要的问题,RPF的主体是RPF检查。路由器收到组播报文后先对报文进行RPF检查,只有检查通过才转发,否则丢弃。RPF检查过程如下:如果多播源就在本路由器直连的网络中,则要为此S,G组合创建一个Keepalive定时器;检查此S,G组合在本路由器上是否已经被切换到SPT,若是则设置报文中的SPT bit;路由器在单播路由表中查找组播源或RP对应的RPF接口(当使用信源树时查找组播源对应的RPF接口,使用共享树时查找RP 对应的RPF接口)某个地址对应的RPF接口是指从路由器向该地址发送单播报文时的输出接口;如果组播报文是从RPF 接口接收下来的,则RPF 检查通过。可以创建输出接口列表。对于S
24、,G的情况,若输出接口列表不为空,则启动一个(S,G)keepalive定时器,用以判断分支是否超时;否则丢弃该报文;PIM-SSM简介PIM-SSM是对传统PIM协议的扩展,使用SSM,用户能直接从组播源接收组播业务量,PIMSSM利用PIM-SM的功能,在组播源和客户端之间,产生一个SPT树。但PIM-SSM在产生SPT树时,不需要汇聚点(RP)的帮助。源特定组播(SSM:Source Specific Multicast)是一种区别于传统组播的新的业务模型,它使用组播组地址和组播源地址同时来标识一个组播会话,而不是向传统的组播服务那样只使用组播组地址来标识一个组播会话。SSM保留了传统P
25、IM-SM模式中的主机显示加入组播组的高效性,但是跳过了PIM-SM模式中的共享树和RP(Rendezvous Point,集合点)规程。在传统PIM-SM模式中,共享树和RP规程使用(*,G)组对来表示一个组播会话,其中(G)表示一个特定的IP组播组,而(*)表示发向组播组G的任何一个源。SSM直接建立由(S,G)标识的一个组播最短路径树(SPT:Shortest Path Tree),其中(G)表示一个特定的IP组播组地址,而(S)表示发向组播组G的特定源的IP地址。SSM 的一个(S,G)对也被称为一个频道(Channel),以区分传统PIM-SM组播中的任意源组播组。锐捷PIMSM技术
26、特点锐捷是在RGOS10.1(4) 版本中引入了PIMSMv4功能。当前支持PIM-SM的产品系列为:S86/76/5750/5760/3750/3760;锐捷的PIMSM虽然是基于raft-ietf-pim-sm-v2-new-06.txt 和draft-ietf-pim-sm-bsr-02.txt进行开发的,但通过改造,功能已经和RFC4601、RFC5059描述的一致。锐捷的组播在表项超过硬件容量后,超出的部分能够基于软件转发。锐捷的组播在组播协议报文和组播数据报文提供了较多的安全策略S86/76/5750/3750系列产品不支持硬件对组播数据报文进行过滤,在ip层面对组播数据报文和组播
27、协议报文基于软件acl进行过滤,可以对未授权的组播报文进行过滤,保证了数据的合法性。该实现是通过cpp限速(s3750不支持cpp)软件过滤来达到访问控制的目的又不引起cpu高。而s5760/3760系列产品能够支持硬件对组播数据报文进行硬件过滤PIMSM协议层面进一步基于协议报文的内容对协议报文进行过滤,其中包括PIM邻居过滤、对合法的C-RP地址范围及其所服务的组播组范围进行限制、对合法BSR范围的限定、对特定(s,g)的注册报文进行过滤等,可以进一步保证了协议上的安全性IGMP协议面可以对非法的接收者进行过滤组播转发面可以对组播设置组播边界,从而是的组播数据流不能从该边界流入或流出,该组
28、播边界不仅单纯的控制组播流,还从协议层面对协议报文进行控制,例如某接口成为233.3.3.3组播边界,那么该接口不会处理233.3.3.3的igmp report报文,及233.3.3.3的pim join报文;此外组播转发面还能够设基于接口置组播ttl阀值,配置了该阀值,要想从该组播接口转发出来的组播数据流那么必须在RPF入口接收到的组播数据报文的ttl必须大于该阀值。锐捷的PIMSM提供了丰富的动态监控、维护、调试PIMSM的命令开关及各种协议的表项信息,对更快更好的学习、分析PIMSM起到较大的帮助对于S86/76/5750系列产品的组播功能,在保护cpu方面提供了较多的保护策略,可以由
29、用户根据实际情况来灵活的配置,从而使得cpu利用和组播应用找到更好的平衡点.。组播主要是基于CPP(CPU Protect Policy)并少量结合软件限速来保护cpu的,下面将描述组播如何保护cpu。组播报文主要分为组播数据报文和组播协议报文;其中组播数据报文又分为知名组播数据报文(即匹配中硬件表项(s,g,rpf入口)的组播数据流)、未知名组播数据报文(即未匹配中硬件表项(s,g,rpf入口)的组播数据流,包含rpf失败的组播数据报文及未存在硬件表项的组播数据流,注有注册接口,但无其它非逻辑三层接口的组播表项是不会创建硬件表的,如只有注册接口,或只有注册接口和loopback口);知名组播
30、数据报文又可以进一步划分为纯硬件转发、既硬件转发又需要送cpu(主要是基于pims的和源相连的dr进行考虑的,由于源dr需要构建注册报文给rp,但当前未利用硬件来构建pimsm注册报文,而是通过软件软件来构建注册报文,但该dr又有其它的出口需要转发组播数据报文,如果都经过软件转发,势必效率不高,因此我们采取了既然硬件转发组播数据报文又把组播数据报文送cpu的策略)组播协议报文主要为igmp和pim报文,对组播协议报文又可以进一步区分为:报文目的ip为单播地址的主机路由的组播协议报文(如目的ip为路由器接口单播地址的igmp report报文、目的ip为路由器接口单播地址的pim registe
31、r报文)、报文目的ip为组播地址的组播协议报文(如目的ip为233.3.3.3的igmp report报文、目的ip为224.0.0.13的pim hello报文)在6.1的报文分类中除了纯硬件转发的组播数据报文,其它的组播数据报文和组播数据流都需要送cpu,后面将针对每种送cpu的组播数据报文和组播协议报文展开描述如何进行cpu保护。对于未知名组播数据报文,当前对于S86/76/5760/5750/3760系列产品产品主要是基于cpp进行保护的,在硬件层面对接收到的报文送cpu进行限速。缺省值为128pps,可配置,具体配置信息见CPP的配置指南和命令参考。对于既硬件转发又送cpu的组播数据
32、报文,理论上送cpu的报文也应该由硬件进行限速,但由于对于这种类型的组播数据报文S86/76/5750/3750产品系列不支持限速,因此这些不支持限速的芯片的驱动转发控制面会定时窥探硬件表项是否由流命中,若命中则构建一个特殊的虚假组播数据报文到cpu,该虚假报构建的注册报文中的组播数据报文的ttl为1,因此rp接收到该注册报文进行解封装并转发时由于ttl为1,因此不能够转发。故该虚假组播数据报文不会对应用产生影响。由于驱动转发控制面定时窥探再快速构建虚假组播数据报文送cpu,从而达到了保护cpu的目的。对于目的ip为接口单播ip的组播协议报文,因为该组播数据报文的目的ip地址和接口的ip相同,因此对应的单播路由为主机路由,而S86/76/5750/3750系列产品对主机路由的报文是不支持硬件限速的,因此由这些产品通过软件限速达到保护cpu的目的对于目的ip为组播地址的igmp协议报文,当前主要是基于cpp进行保护的,在硬件层面对接收到的报文送cpu进行限速。缺省值为128pps
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度新能源汽车动力电池回收处理合同
- 仓库堆放物资合同模板
- 地铁修建合同范例
- 土壤实验检测合同范例
- 个人买卖沙合同模板
- 2024年度汽车制造生产线安装合同
- 个人快递装车包工合同范例
- 单个产品销售合同范例
- jiankong售后合同模板
- 土地流转续签合同范例
- 中国民航发展史智慧树知到期末考试答案章节答案2024年中国民航大学
- 口腔常见疾病的诊治
- MOOC 人像摄影-中国传媒大学 中国大学慕课答案
- MOOC 计算机组成原理-电子科技大学 中国大学慕课答案
- 2024年江苏无锡市江阴市江南水务股份有限公司招聘笔试参考题库含答案解析
- 中学教材、教辅征订管理制度
- (高清版)DZT 0213-2002 冶金、化工石灰岩及白云岩、水泥原料矿产地质勘查规范
- 消防安全评估消防安全评估方案
- 工程造价专业《工程经济》课程标准
- ZARA服装市场营销策略研究分析 市场营销专业
- 设备维保的市场化运作与服务模式创新
评论
0/150
提交评论