APP下载

基于IP组播的MPLS组播架构

2010-08-11勇,春,

通信技术 2010年10期
关键词:命令数据包标签

柏 勇, 何 春, 王 赏

(电子科技大学 电子科学技术研究院,四川 成都 611731)

0 引言

MPLS协议在1998年由IETF提出草案[1],到现在已经发展了十几年,并且趋于成熟;在这发展的十几年中,关于如何构造组播树[2],管理组播树[3]和对组播树的保护的各种理论相继有人进行研究;Boudani A and Cousin B在文献[4]中提出了从可扩展角度出发的MMT技术方案,此种方法解决了MPLS组播树的建立问题和管理问题;Cui J H在文献[5]中采用的可容忍的聚合MPLS组播(AMFM)技术来实现组播树的保护;文献[6]提出划分组播树中的每一个子树为一个域,每个域有个起点和终点,针对每个域建立一条单播LSP路径进行保护,实现了组播的保护。但是,这些方案都是在解决MPLS组播单一方面的问题,无具体的解决如何在2.5层实现MPLS组播和实现对组播组成员进行的管理问题。

现根据IP组播的实现原理,结合MMT技术,建立了IP层的组播路由表和MPLS的标签交换路径(LSP)路径之间一一对应的映射关系,实现了MPLS组播路径M_LSP的建立。根据IP组播成员的加入和退出的原理,MPLS组播成员的加入和退出通过对组播树的嫁接和剪枝来和通过上游按需分配标签的方式实现。现围绕 MPLS组播的工作原理、M_LSP的建立和组播组成员的控制等方面的内容来说明MPLS组播的具体实现。并且,最终通过OMNET++仿真工具加以验证。

1 建立MPLS组播路径及成员控制

在 MPLS网络中,建立一条 M_LSP路径;此 M_LSP路径与IP组播中的组播路由表为一一对应。当源点发送一个带 D类 IP地址的数据到 MPLS网络,入口边缘路由器(Ingress_LER)将根据对应的组播地址,分配该数据包到对应的传输等价类(FEC),数据将在M_LSP路径(与FEC对应)中通过标签交换进行传输;在聚合路由处,直接在2层对数据包进行拷贝,然后按照传统MPLS单播的传输方式进行传输。MPLS组播成员的加入和退出,主要根据IP成员加入的方法,由目的终端发送请求信息,按照下游按需分配标签建立LSP,最终完成成员的加入;组播成员的退出也是由目的节点发送退出信息,请求退出组播组,撤销此节点与组播树之间的LSP路径。此种方式建立MPLS组播树方便快捷,与IP组播衔接性好,并且方便对组播组成员的管理。下面从两部分来加以介绍:①M_LSP的建立;②成员的加入和退出。MPLS组播网络如图1所示。

1.1 建立组播路径

以图1为例,源点(终端1)需要发送数据到目的节点(终端2、3、4)。首先算法算出一条IP组播路径,得到IP组播树G(LER1→ LSR1→ LSR2→ LSR3→ LER2,LER1→LSR1→ LSR2→ LSR4→ LER3)并建立相应的组播路由表(MRT)。通过路由器中的MRT信息来生成M_LSP路径所需的标签转发信息库(LFIB)和标签信息库(LIB)信息、下一跳信息(NHLFE)等等,最终建立了一条与组播树 G完全匹配的 M_LSP路径;标签的分配方式将按照上游按需分配方式分配。采用 L(LER1;G;LSR2)表示当前节点LER1在组播树G中,LSR2为LER1的下一跳路由;L(LSR2;G;LSR3,LSR4)表示当前节点LSR2为组播树G的聚合点并且下一跳分别为LSR3、LSR4。建立流程如图2所示。

具体的建立过程如下所示:

①根据源节点、目的节点和网络拓扑的信息,在全网络拓扑中生成了符合条件的IP组播树G;

②绑定一个D类地址(Dest_ID)的IP地址到此组播树G上,采用B(Dest_ID,G)表示;并且G中的每一个节点根据Dest_ID和节点信息生成相应的MRT信息;直至所有目的节点生成MRT后返回确认信息;

③控制模块将发送请求建立 M_LSP路径的命令,此命令将包含Dest_ID,M_LSP将根据Dest_ID对应的MRT信息进行建立;

④Ingerss_LER接受到命令以后,将根据请求命令中的Dest_ID,查找当前路由的MRT;根据MRT信息,建立相应的LFIB、FEC管理表(FLM)、NHLFE、Label等等。并且建立对应于地址Dest_ID的FEC,并且绑定FEC到对应的M_LSP上。最终,修改请求建立命(包含Label,表示标签分发是按照上游按需分配);

⑤LSR接收到请求命令后,首先根据地址 Dest_ID和L(*;G;*,*)判断当前节点是否为分支节点。如果不是分支节点,根据MRT建立一个新的LIB、NHLFE和入口标签管理(ILM);如果是分支节点,将根据MRT对每一个下一跳建立NHLFE和请求命令,但是ILM不变;

⑥出口边缘路由器(Engress_LER)接收到请求命令后,将建立一个弹出Label命令(当数据包到达时,将弹出数据头中的标签信息,并且传递数据到达IP层)。最终,建立一个返回信息到源点表示确认M_LSP是否建立完成。

1.2 组播组成员的加入和退出

MPLS组播中,成员加入组播组的过程就是组播树G的嫁接过程,即增加M_LSP分支路径形成一个新的组播路径*M_LSP的过程;组播成员的退出为加入的逆过程组。播组成员的加入可以通过图3加以说明,具体的成员的加入过程,可以通过下列步骤完成:

①非组播组成员X将加入以Dest_ID为组播地址组播组G中,成员X首先发送请求信息到终端管理器(NIMS);

②NIMS接收到 X发送的请求信息后,如果允许其加入,将返回包含Dest_ID的确认信息;

③成员X根据组播地址Dest_ID,构建一条请求建立LSP路径的请求命令(REQ,包含Dest_ID和X_ID);然后,逆向发送REQ,直至发送到第一个组播组G的成员K并且在发的过程中建立每个节点对应的MRT和L(*;G;*);成员K向NIMS发送一个成员X请求加入的请求确认信息。如图3中REQ的路径为(X→LER4→ LSR2)LSR2在G中;

④成员K收到确认信息,将构建一个建立LSP路径的响应命令(RESV),根据 REQ路径中的 MRT生成 LIB、NHLFE等等,完成成员 X的加入,最终形成新的*M_LSP路径。

2 仿真及结果分析

根据上述原理,在OMNET++4.0中对MPLS组播进行仿真实现。建立如图4的网络拓扑进行仿真分析。

通过仿真得到仿真的输入输出结果为图5所示。

根据图5得:通过多次试验,数据包在传输的过程中无丢失。通过数据的传输情况,可以得出基于IP组播的MPLS组播成功实现。并且 M_LSP的建立时间短,同时容易实现对成员的管理。

3 结语

通过OMNET++4.0,验证了一种基于IP组播的MPLS组播架构,主要从组播的实现、组播成员管理给予说明。此种方案解决了MPLS组播;并且与MMT等方案相比,建立MPLS组播路径的可靠性高,与IP组播衔接性良好,实现更加容易,并且便于组播成员管理,为工程实现MPLS组播提供指导。

[1] CALLON R. Multiprotocol Label Switching[R]. Washington,DC:IETF, 2001.

[2] HOSSEINI M, AHMED D T, SHIRMOHAMMADI S, et al. A Survey of Application Layer Multicast Protocols[C]//IEEE. IEEE Communications Surveys & Tutorials. San Francisco:IEEE,2007:58-74.

[3] BOUDANI A,COUSIN B.A New Approach to Construct Multicast Trees in MPLS Networks[C]//IEEE. Proceedings ISCC.Italy: IEEE,2002:44-50.

[4] CUI J H, FALOUTSOS M,GERLA M.An Architecture for Scalable,Efficient, and Fast Fault-tolerant Multicast Provisioning[J].Network IEEE,2006,l8(02):26-34.

[5] 刘勇,刘卫国,杨斌. MPLS骨干网中环形管理组播树策略[J]. 计算机工程, 2008,34(12):105-109.

[6] 刘晓燕,王志刚,于惠钧. 基于MPLS VPN 的组播研究[J]. 通信技术,2010,43(07):138-141.

猜你喜欢

命令数据包标签
只听主人的命令
二维隐蔽时间信道构建的研究*
民用飞机飞行模拟机数据包试飞任务优化结合方法研究
SmartSniff
无惧标签 Alfa Romeo Giulia 200HP
不害怕撕掉标签的人,都活出了真正的漂亮
移防命令下达后
标签化伤害了谁
这是人民的命令
科学家的标签