扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
多协议标签交换(MPLS)把基于标签的第二层技术和第三层路由技术结合起来,在无连接的IP中引入了面向连接的机制,通过采用一个短的、固定长度的称为“标签”的标识符,利用标签交换机制转发分组。MPLS所采用的这种转发方式与ATM交换机所使用的依据VPI/VCI进行交换的方式十分相似,因此可以很方便地用ATM交换实现MPLS技术。当基于ATM交换硬件实现MPLS时,标签要封装在ATM交换硬件可以访问的域中(VPI/VCI),这在一定程度上决定了ATM标签交换路由器(ATM-LSR)可支持标签的最大数量。ATM-LSR先要把到达分组的IP路由信息映射成ATM标签(VPI/VCI),才能转发信元。有多种方法可以完成映射功能:[1~5]①无合并。它把每一个源/目的地址对映射到一个唯一的VC,使接收端能很容易地识别信源并重组分组。②VP合并。VP合并将多条输入VP合并成一条输出VP,通过输出VP中的不同VC标识来区分合并流中信元所属的分组。③VC合并。把多个去往相同目的地的到达VC映射到相同的输出VC。
比较上述几种映射方式,第一种方法接收端最容易进行信元重组,但比较浪费资源,对一个有N个数据源/目的地的网络,极限情况下需要O(N2)个标签,显然不适合扩展到大型骨干网。VP合并在去往同一目的地的VP中,通过VC的不同来区分发送源以进行信元重组,对于一个给定的目的地,ATM-LSR需要维护管理O(e)个标记(e指的是交换机端口数目),对一个有N个数据源/目的地的网络,每个ATM-LSR需
要维护管理O(Ne)个标记,所以VP方式较第一种方式大大节省了标签,但是MPLS在ATM中的标签封装中,VP最多只有12比特,VP的标码空间最多惟4 096,所以VP合并对于核心骨干网而言可扩展性还是不够强。VC合并接收端不易区分信元,但可大大节省标签,改善网络的扩展性。
2 改善MPLS网络扩展性的几种方法
2.1基于要求请求建立标签交换通道
标签交换通道的建立有事先在所有端点间建立标签交换通道和基于要求请求建立两种。在一条链路上各种数据类型的数据流都处于活动状态的很少,而且某种业务只在某几个节点之间出现,即业务有局部性,基于要求请求建立标签交换通道可以利用这种局部性来改善网络的扩展性。
2.2虚标签空间
“虚标签空间”是指在“热点”处使用多条并行的物理连接而不是使用一条物理连接。例如:在骨干网的某些“热点”处,将L条链路分配于两个LSR的L个端口之间,那么可用的标签总量的大小将会是只用一条链路可支持的标签空间大小的L倍。
2.3VP合并
“VP合并”是指交换机在某些输入VPI接收到信元,而在一个输出VPI上将这些信元发送出去的过程。VP合并允许多个VPI合并为一个VPI,并且在合并而得的VP中使用不同的VCI区别数据流或分组。当采用VP合并时,可用标签总数与采用整个VPI/VCI空间作为标签空间的可用标签数相同。但因为在此方式中使用VPI完成转发应根据足够解决信元交叉的需要来划分VCI,所以VP合并利用数据流的局部性改善了网络的扩展性。
2.4VC合并
“VC合并”就是将通往同一目的地址的输入VC标签映射为同样的输出VC标签。VC合并可以将标签数减少至N(端点数),但是使用VC合并使通往同一目的地址的信元在交换机的输出处不可区分,因而不能将属于同一目的地址的不同分组的信元区分开来,即接收端不能重组分组。为了解决此问题,下面讨论VC合并的几种方法。
3 VC合并技术
3.1捷径(CutThroug)机制
要在VC合并时避免信元交织,最简单的办法就是把同属一个数据包的信元一个接一个地传送,直到出现EOP字段发送完毕,再发送另一个数据包,这就需要进行缓存。在输入进行缓存的例子。这种方式类似帧交换,灵活性不够,也不能满足QoS要求。
3.2重组缓存RB(Reassembly Buffer)机制
这是一种在输出缓存的例子。交换机由一个无阻塞交换结构和输出模块组成,输出模块由重组缓存器和输出缓存器组成。同捷径方式一样,它需要将一个分组的信元先缓存在重组缓存器中,等最后一个信元到达之后再同时以高速转发到输出缓存器,若不支持VC合并,则只有输出缓存器。这种方法需要一定数量的缓存器并带来一定延迟。因分组结束要看EOP标志,若丢失会造成等待VC中的信元阻塞,为此需设计一个定时器来进行超时控制。
3.3基于GPS(General Processor Share)算法的MPLS流合并调度器
这种方法利用了ATM信元头的PT(Payload Type)域,PT域现有3位,其中一位用于分组结束标志,GPS算法利用剩下的两位作为合并标志,通过合并标志置不同的值,来区分合并VC的顺序,从而区分发送源。其优点是实现方法简单,不需要额外的重组缓存;缺点是当调度队列为空时存在带宽浪费。
3.4一种支持VC融合的缓存模型
一种支持VC融合的缓存。VC 融合缓存模块由输入调度器SI、重组缓存器(RB) 、融合调度器SR、输出缓存器OB和输出调度器SO 等5部分组成。其中SI 根据接收信元的VPI/VCI来区分不同的FEC,再送到相应的RBx中,RBx 重整数据分组,SR将RBx中完整的分组输出到OB中,OB的作用是接收并缓存来自RBx的数据分组等待输出,SO将OB中信元按固定时隙转换成同样的VPI/VCI。RB的数量由融合的流数量来决定,一般选用交换机的端口数N。RB和OB采用链表技术组成FIFO的队列结构,全部缓存器共享一个物理存储器。只要RBx中有一个完整的分组,RB就向SR发出请求,SR接收到RBx的请求后,采用先来先服务(FCFS)的顺序服务策略,将某个RB分组串接到OB队列尾上,由于只涉及到指针操作,一个或多个分组从RBx输出到OB队列的时间非常短,一个信元周期内可以完成许多这样的操作,可以忽略操作时间。对于OB来说,它的信元到
达是一个批到达过程。基于以上的调度策略,OB中的信元是按照完整分组顺序排列的,从而消除了信元交织问题,在离开OB时,所有的信元都换成同一个VPI/ VCI。
4 结论
本文对改善MPLS网络扩展性的几种方法进行讨论,其中VC合并是MPLS扩展性得到保证的最好方法。文中分析了实现VC合并的几种方法,并对它们的工作机制、特点进行分析和总结。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者