家用路由器支持组播吗_华为组播理论知识详解(六)

三、PIM-SM(ASM模型)

在ASM(Any-Source Multicast,任意源组播)模型中,PIM-SM使用“拉(Pull)模式”转发组播报文,一般应用于组播组成员规模相对较大、相对稀疏的网络。

基于这一种稀疏的网络模型,它的实现方法是:

1、在网络中维护一台重要的PIM路由器:汇聚点RP(Rendezvous Point),可以为随时出现的组成员或组播源服务。网络中所有PIM路由器都知道RP的位置。

2、当网络中出现组成员(用户主机通过IGMP加入某组播组G)时,最后一跳路由器向RP发送Join报文,逐跳创建(*,G)表项,生成一棵以RP为根的RPT。

3、当网络中出现活跃的组播源(组播源向某组播组G发送第一个组播数据)时,第一跳路由器将组播数据封装在Register报文中单播发往RP,在RP上创建(S,G)表项,注册源信息。

在ASM模型中,PIM-SM的关键机制包括邻居发现、DR竞选、RP发现、RPT构建、组播源注册、SPT切换、断言;同时也可通过配置BSR(Bootstrap Router)管理域来实现单个PIM-SM域的精细化管理。

1、PIM-SM(ASM模型)邻居发现

邻居发现机制与PIM-DM中邻居发现的相同。

2、PIM-SM(ASM模型)DR竞选

在组播源或组成员所在的网段,通常同时连接着多台PIM路由器。这些PIM路由器之间通过交互Hello报文成为PIM邻居,Hello报文中携带DR优先级和该网段接口地址。PIM路由器将自身条件与对方报文中携带的信息进行比较,选举出DR来负责源端或组成员端组播报文的收发。

竞选规则如下:

1、DR优先级较高者获胜(网段中所有PIM路由器都支持DR优先级)。

2、如果DR优先级相同或该网段存在至少一台PIM路由器不支持在Hello报文中携带DR优先级,则IP地址较大者获胜。

如果当前DR出现故障,将导致PIM邻居关系超时,其他PIM邻居之间会触发新一轮的DR竞选。

a9a38e3761a661c25145b7265a82fa30.png

图1 DR竞选示意图

如上图1所示,在ASM模型中,DR主要作用如下:

1、在连接组播源的共享网段,由DR负责向RP发送Register注册报文。与组播源相连的DR称为源端DR。

2、在连接组成员的共享网段,由DR负责向RP发送Join加入报文。与组成员相连的DR称为组成员端DR。

3、PIM-SM(ASM模型)RP发现

汇聚点RP为网络中一台重要的PIM路由器,用于处理源端DR注册信息及组成员加入请求,网络中的所有PIM路由器都必须知道RP的地址,类似于一个供求信息的汇聚中心。

一个RP可以同时为多个组播组服务,但一个组播组只能对应一个RP。

目前可以通过以下方式配置RP:

1、静态RP:

在网络中的所有PIM路由器上配置相同的RP地址,静态指定RP的位置。

2、动态RP:

在PIM域内选择几台PIM路由器,配置C-RP(Candidate-RP,候选RP)来动态竞选出RP。同时,还需要通过配置C-BSR(Candidate-BSR,候选BSR)选举出BSR,来收集C-RP的通告信息,向PIM-SM域内的所有PIM路由器发布。

C-BSR在竞选的时候,开始时每个C-BSR都认为自己是BSR,向全网发送Bootstrap报文。Bootstrap报文中携带C-BSR地址、C-BSR的优先级。每一台PIM路由器都收到所有C-BSR发出的Bootstrap报文,通过比较这些C-BSR信息,竞选产生BSR。

竞选规则如下:

1、优先级较高者获胜(优先级数值越大优先级越高)。

2、如果优先级相同,IP地址较大者获胜。

b4c58a07344fd9f8f06cf9a56e4dbd39.png

图2 动态RP竞选机制示意图

C-RP的竞选过程如上图2所示。

1、C-RP向BSR发送Advertisement报文,报文中携带C-RP地址、服务的组范围和C-RP优先级。

2、BSR将这些信息汇总为RP-Set,封装在Bootstrap报文中,发布给全网的每一台PIM-SM路由器。

3、各PIM路由器根据RP-Set,使用相同的规则进行计算和比较,从多个针对特定组的C-RP中竞选出该组RP。

规则如下:

1、与用户加入的组地址匹配的C-RP服务的组范围掩码最长者获胜。

2、如果以上比较结果相同,则C-RP优先级较高者获胜(优先级数值越小优先级越高)。

3、如果以上比较结果都相同,则执行Hash函数,计算结果较大者获胜。

4、如果以上比较结果都相同,则C-RP的IP地址较大者获胜。

由于所有PIM路由器使用相同的RP-Set和竞选规则,所以得到的组播组与RP之间的对应关系也相同。PIM路由器将“组播组—RP”对应关系保存下来,指导后续的组播操作。

4、PIM-SM(ASM模型)RPT构建

488292bf6ead7d51eebc8c89cfa8d989.png

图3 RPT构建示意图

PIM-SM RPT是一棵以RP为根,以存在组成员关系的PIM路由器为叶子的组播分发树。

如上图3所示,当网络中出现组成员(用户主机通过IGMP加入某组播组G)时,组成员端DR向RP发送Join报文,在通向RP的路径上逐跳创建(*,G)表项,生成一棵以RP为根的RPT。

在RPT构建过程中,PIM路由器在发送Join报文时,会进行RPF检查:查找到达RP的单播路由,单播路由的出接口为上游接口,下一跳为RPF邻居。Join报文从组成员端DR开始逐跳发送,直至到RP。

5、PIM-SM(ASM模型)组播源注册

a36d6f6e9b9609950df8b8bcf96d59cb.png

图4 组播源注册示意图

如上图4所示,在PIM-SM网络中,任何一个新出现的组播源都必须首先在RP处“注册”,继而才能将组播报文传输到组成员。

具体过程如下:

1、组播源将组播报文发给源端DR。

2、源端DR接收到组播报文后,将其封装在Register报文中,发送给RP。

3、RP接收到Register报文,将其解封装,建立(S,G)表项,并将组播数据沿RPT发送到达组成员。

6、PIM-SM(ASM模型)SPT切换

在PIM-SM网络中,一个组播组只对应一个RP,只构建一棵RPT。

在未进行SPT(最短路径树)切换的情况下,所有发往该组的组播报文都必须先封装在注册报文中发往RP,RP解封装后,再沿RPT分发。

RP是所有组播报文必经的中转站,当组播报文速率逐渐变大时,对RP形成巨大的负担。

为了解决此问题,PIM-SM允许RP或组成员端DR通过触发SPT切换来减轻RP的负担。

1、RP触发SPT切换

RP收到源端DR的注册报文后,将封装在Register报文中的组播报文沿RPT转发给组成员,同时RP会向源端DR逐跳发送Join报文。发送过程中在PIM路由器创建(S,G)表项,从而建立了RP到源的SPT。

SPT树建立成功后,源端DR直接将组播报文转发到RP,使源端DR和RP免除了频繁的封装与解封装。

2、组成员端DR触发SPT切换

30b1177dbe9ad852b2aeefd66582db15.png

图5 组成员端DR触发SPT切换示意图

如上图5所示。组成员端DR周期性检测组播报文的转发速率,一旦发现(S,G)报文的转发速率超过阈值,则触发SPT切换:

组成员端DR逐跳向源端DR逐跳发送Join报文并创建(S,G)表项,建立源端DR到组成员DR的SPT。

1、SPT建立后,组成员端DR会沿着RPT逐跳向RP发送剪枝报文,删除(*,G)表项中相应的下游接口。剪枝结束后,RP不再沿RPT转发组播报文到组成员端。

2、如果SPT不经过RP,RP会继续向源端DR逐跳发送剪枝报文,删除(S,G)表项中相应的下游接口。剪枝结束后,源端DR不再沿“源端DR-RP”的SPT转发组播报文到RP。

缺省情况下,设备一般未设置组播报文转发速率的阈值,RP或者组成员端DR在接收到第一份组播报文时都会触发各自的SPT切换。

7、PIM-SM(ASM模型)断言Assert

断言机制与PIM-DM中的相同。

8、PIM-SM(ASM模型)BSR管理域

为了实现网络管理精细化,可以选择将一个PIM-SM网络划分为多个BSR管理域和一个Global(全局)域。这样一方面可以有效地分担单一BSR的管理压力,另一方面可以使用私有组地址为特定区域的用户提供专门服务。

每个BSR管理域中维护一个BSR,为某一特定地址范围的组播组服务。Global域中维护一个BSR,为所有剩余的组播组服务。

下文从地域空间、组地址范围、组播功能三个角度分析BSR管理域和Global域的关系。

1、地域空间

1c2962737d9b8fd417d80a53b684692a.png

图6 BSR管理域_地域空间

如上图6所示,对于有相同组地址的不同管理域,各BSR管理域所包含的PIM路由器互不相同,同一PIM路由器不能同时属于多个BSR管理域。各BSR管理域在地域上相互独立,且相互隔离。

BSR管理域是针对特定地址范围的组播组的管理区域,属于此范围的组播报文只能在本管理域内传播,无法通过BSR管理域边界。

Global域包含PIM-SM网络内的全部PIM路由器。不属于任意BSR管理域的组播报文(即不属于任何BSR管理域的组播组,一律属于Global域的服务范围),可以在整个PIM网络范围内传播。

2、组地址范围

5ce4fde58f36681c068088cf82cc340d.png

图7 BSR管理域_地址范围

每个BSR管理域为特定地址范围的组播组提供服务,不同的BSR管理域服务的组播组范围可以重叠。该组播地址只在本BSR管理域内有效,相当于私有组地址。如上图7所示,BSR1域和BSR3域对应的组地址范围出现重叠。

不属于任何BSR管理域的组播组,一律属于Global域的服务范围。如上图7所示,Global域组地址范围是除G1、G2之外的G-G1-G2。

3、组播功能

如上图6所示,Global域和每个BSR管理域都包含针对自己域的C-RP和BSR设备,这些设备在行使相应功能时,仅在本域内有效。即BSR机制和RP竞选在各管理域之间是隔离的。

每个BSR管理域都有自己的边界,该管理域的组播信息(C-RP宣告报文、BSR自举报文等)不能跨越域传播。同时Global域的组播信息可以在整个Global域内传递,可以穿越任意BSR管理域。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值