胆囊息肉

注册

 

发新话题 回复该主题

思博网络分享组播PIMSM基础思博S [复制链接]

1#
白癜风互助论坛 https://m.39.net/disease/a_4624544.html

PIM协议是组播路由的基础,上期已经介绍了PIM-DM的原理,本期介绍PIM-SM的基本原理。

PIM-SM(ASM模型)

基本原理

在ASM(Any-SourceMulticast)模型中,PIM-SM使用“拉(Pull)模式”转发组播报文,一般应用于组播组成员规模相对较大、相对稀疏的网络。基于这一种稀疏的网络模型,它的实现方法是:

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

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

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

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

邻居发现

PIM路由器上每个使能了PIM协议的接口都会对外发送Hello报文。封装Hello报文的组播报文的目的地址是.0.0.13(表示同一网段中所有PIM路由器)、源地址为接口的IP地址、TTL数值为1。

Hello报文的作用:发现PIM邻居、协调各项PIM协议报文参数、维持邻居关系。

发现PIM邻居

同一网段中的PIM路由器都必须接收目的地址为.0.0.13的组播报文。这样直接相连的PIM路由器之间通过交互Hello报文以后,就可以彼此知道自己的邻居信息,建立邻居关系。

只有邻居关系建立成功后,PIM路由器才能接收其他PIM协议报文,从而创建组播路由表项。

协调各项PIM协议报文参数

Hello报文中携带多项PIM协议报文参数,主要用于PIM邻居之间PIM协议报文的控制。具体如下:

■DR_Priority:表示各路由器接口竞选DR的优先级,优先级越高越容易获胜。

■Holdtime:表示保持邻居为可达状态的超时时间。如果在超时时间内没有收到PIM邻居发送的Hello报文,路由器则认为邻居不可达。

■LAN_Delay:表示共享网段内传输Prune报文的延迟时间。

■Neighbor-Tracking:表示邻居跟踪功能。

■Override-Interval:表示Hello报文中携带的否决剪枝的时间间隔。

维持邻居关系

PIM路由器之间周期性地发送Hello报文。如果Holdtime超时还没有收到该PIM邻居发出的新的Hello报文,PIM路由器就认为该邻居不可达,将其从邻居列表中清除。

PIM邻居的变化将导致网络中组播拓扑的变化。如果组播分发树上的某上游邻居或下游邻居不可达,将导致组播路由重新收敛,组播分发树迁移。

DR竞选

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

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

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

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

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

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

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

配置ASM的PIM-SM网络示例

RP发现

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

一个RP可以同时为多个组播组服务,但一个组播组只能对应一个RP。目前可以通过以下方式配置RP:

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

动态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。竞选规则如下:

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

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

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

C-RP的竞选过程

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

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

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

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

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

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

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

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

RPT构建

RPT构建

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

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

组播源注册

组播源注册

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

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

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

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

SPT切换

在PIM-SM网络中,一个组播组只对应一个RP,只构建一棵RPT。在未进行SPT切换的情况下,所有发往该组的组播报文都必须先封装在注册报文中发往RP,RP解封装后,再沿RPT分发。RP是所有组播报文必经的中转站,当组播报文速率逐渐变大时,对RP形成巨大的负担。为了解决此问题,PIM-SM允许RP或组成员端DR通过触发SPT切换来减轻RP的负担。

RP触发SPT切换

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

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

组成员端DR触发SPT切换

SPT切换

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

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

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

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

PIM(IPv4)配置举例

组网需求

该网络接入了Internet。要求通过在路由器配置PIM-SM协议,为网络中的用户主机提供ASM服务,使得加入同一组播组的所有用户主机能够接收任意源发往该组的组播数据信息。

配置ASM的PIM-SM网络示例

配置思路

1.配置路由器接口IP地址和单播路由协议。组播域内路由协议PIM依赖单播路由协议,单播路由正常是组播协议正常工作的基础。

2.在所有提供组播服务的路由器上使能组播功能。使能组播功能是配置PIM-SM的前提。

3.在路由器所有接口上使能PIM-SM功能。使能PIM-SM功能之后才能配置PIM-SM的其他功能。

4.在与主机侧相连的路由器接口上使能IGMP。接收者能通过发送IGMP消息自由加入或者离开某个组播组。叶结点路由器通过IGMP协议来维护组成员关系列表。

5.在与主机侧相连的路由器接口上使能PIMSilent,防止恶意主机模拟发送PIMHello报文,增加PIM-SM域的安全性。

6.配置RP。在PIM-SM域中,RP是提供ASM服务的核心,是转发组播数据的中转站。建议RP的位置配置在组播流量分支较多的路由器上,如图1中的RouterE的位置。

7.在与Internet相连的接口上配置BSR边界,自举报文不能通过该边界,使BSR只为该PIM-SM域服务,增加组播可控性。

操作步骤

1.配置各接口的IP地址和单播路由协议。

#按照拓扑图配置各路由器接口的IP地址和掩码,配置各路由器间采用OSPF进行互连,确保网络中各路由器间能够在网络层互通,并且之间能够借助单播路由协议实现动态路由更新。RouterB、RouterC、RouterD和RouterE上的配置过程与RouterA上的配置相似,配置过程略。

Huaweisystem-view

[Huawei]sysnameRouterA

[RouterA]interfacegigabitethernet1/0/0

[RouterA-GigabitEthernet1/0/0]ipaddress..5.

[RouterA-GigabitEthernet1/0/0]quit

[RouterA]interfacegigabitethernet2/0/0

[RouterA-GigabitEthernet2/0/0]ipaddress10..1.

[RouterA-GigabitEthernet2/0/0]quit

[RouterA]interfacegigabitethernet3/0/0

[RouterA-GigabitEthernet3/0/0]ipaddress..1.

[RouterA-GigabitEthernet3/0/0]quit

[RouterA]ospf

[RouterA-ospf-1]area0

[RouterA-ospf-1-area-0.0.0.0]network10..1.00.0.0.

[RouterA-ospf-1-area-0.0.0.0]network..1.00.0.0.

[RouterA-ospf-1-area-0.0.0.0]network..5.00.0.0.

[RouterA-ospf-1-area-0.0.0.0]quit

[RouterA-ospf-1]quit

2.使能组播功能,在各接口上使能PIM-SM功能。

#在所有路由器使能组播功能,在各接口上使能PIM-SM功能。RouterB、RouterC、RouterD和RouterE上的配置过程与RouterA上的配置相似,配置过程略。

[RouterA]multicastrouting-enable

[RouterA-GigabitEthernet1/0/0]pimsm

[RouterA-GigabitEthernet2/0/0]pimsm

[RouterA-GigabitEthernet3/0/0]pimsm

3.在连接用户主机的接口上使能IGMP功能。

#在RouterA连接用户主机的接口上使能IGMP功能。RouterB和RouterC上的配置过程与RouterA上的配置相似,配置过程略。

[RouterA-GigabitEthernet2/0/0]igmpenable

4.在RouterA接口上使能PIMsilent。

[RouterA-GigabitEthernet2/0/0]pimsilent

5.配置RP。

说明:

配置RP有两种方式:静态RP和动态RP两种。可以同时配置,也可以只配置其中一种。同时配置两种RP时,可以通过参数调整优先选择哪种RP。

本实例同时配置两种RP,默认优选动态RP,静态RP作为备份。

#配置动态RP。需要将PIM-SM域的一个或多个路由器上配置为C-RP和C-BSR。本例中指定RouterE同时为C-RP和C-BSR,在RouterE上配置RP服务的组地址范围,及C-BSR和C-RP所在接口位置。

[RouterE]aclnumber

[RouterE-acl-basic-]rulepermitsource.1.1.00.0.0.

[RouterE-acl-basic-]quit

[RouterE]pim

[RouterE-pim]c-bsrgigabitethernet4/0/0

[RouterE-pim]c-rpgigabitethernet4/0/0group-policy

#配置静态RP。需要在所有路由器上指定静态RP的地址,在RouterA上配置如下。RouterB、RouterC、RouterD和RouterE上的配置过程与RouterA上的配置相似,配置过程略。

如果命令static-rpX.X.X.X后面选择参数preferred,优先选择静态RP作为本PIM-SM域的RP。

[RouterA]pim

[RouterA-pim]static-rp..2.2

6.在RouterD与Internet相连的接口上配置BSR边界。

[RouterD]interfacegigabitethernet2/0/0

[RouterD-GigabitEthernet2/0/0]pimbsr-boundary

[RouterD-GigabitEthernet2/0/0]quit

分享 转发
TOP
发新话题 回复该主题