收藏 分享(赏)

MPLS交换路由器的设计与实现.doc

上传人:dreamzhangning 文档编号:2279354 上传时间:2018-09-09 格式:DOC 页数:6 大小:147KB
下载 相关 举报
MPLS交换路由器的设计与实现.doc_第1页
第1页 / 共6页
MPLS交换路由器的设计与实现.doc_第2页
第2页 / 共6页
MPLS交换路由器的设计与实现.doc_第3页
第3页 / 共6页
MPLS交换路由器的设计与实现.doc_第4页
第4页 / 共6页
MPLS交换路由器的设计与实现.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

1、MPLS 交换路由器的设计与实现周卫华 倪县乐 丁炜 (北京邮电大学培训中心,北京 100876) 摘 要:MPLS 是目前 Internet 核心网上最看好的技术,基于 Crossbar 的高速交换技术的发展也很快,但是如何实现 2 种技术的有机结合以到达最优的性能却有一系列问题需要考虑。本文结合某 MPLS 路由器的设计项目,综合考虑了当前 MPLS 的标准以及有关交换结构的最新技术,对实现 MPLS 交换路由器进行了深入研究,并详细探讨了高速接口、排队和调度以及 Crossbar 等关键模块的设计和实现方案。 Internet 业务量的飞速增长以及宽带技术的不断出现 ,对 Interne

2、t 的网络结构以及互连的核心设备路由器的性能提出更高的要求。而由 IETF 提出的 MPLS(多协议标签交换 )技术以其在以下几个方面的绝对优势而成为目前最为看好的核心网技术:能够提供对 QoS 业务的灵活支持;能够支持流量工程以提高网络资源的利用率;能够灵活支持将来 Internet 上第一大业务 VPN;能够有足够快的转发速率1,2,3 。 高端路由器厂商 Cisco、Juniper 等都推出了自己的 MPLS 产品,但是并没有公开其详细的设计细节。我们的目的是设计一种支持多种接口和多种协议的高速交换路由器,该路由器既可以应用于校园网/企业网的骨干,也可以应用于大型 ISP 的边缘接入。我

3、们的设计吸取了近年来国际上对宽带 IP 路由器技术前沿的研究成果,设计思想主要包括 4 个方面:将路由引擎 (Routing Engine)和转发引擎 (Forwarding Engine)分开;用快速的硬件实现 IP 分组的头处理、路由和转发;用多个分布式的接口单元加中央控制器的模式取代中央处理器加接口卡的模式;用交换结构 (Switch Fabric)提高各接口单元之间的数据通信速度4,5 。 基于以上的设计思想,本文描述的 MPLS 交换路由器包括以下组件: LDP/CR-LDP、MPLS 分类器、业务分类器、地址分类器、接纳控制、资源管理、分组排队和调度以及交换结构 Fabric。该

4、MPLS 路由器的模块化设计不仅能够提高分组转发率,提供灵活的 QoS 支持、流量规划以及故障恢复能力,还具有很好的可扩展性。 一、 MPLS 基本概念及标签交换路由器 MPLS 即多协议标签交换技术,是一种在开放的通信网上利用标签引导数据高速、高效传输的新技术,它的价值在于能够在无连接的网络中引入连接模式。MPLS 采用传统的 IP 路由,但将路由与分组转发分离开来,这使得在 MPLS 网中可以通过修正转发方法来推动路由技术的演进。而且,网络中分组的转发基于定长标签,简化了转发机制,使得路由器容量很容易扩展到太比特级。实际上当前推出的几乎所有高速路由器都支持 MPLS。 MPLS 还是一种与

5、链路层无关的技术,它同时支持 FR、 ATM、PPP、SDH、DWDM 等,保证了多种网络的互联互通,可以将各种不同的网络传输技术统一在同一个 MPLS 平台上,最大限度地兼顾原有的各种技术,保护现有投资和网络资源。而 MPLS 能够灵活地支持流量工程、CoS 、QoS 和 VPN 的能力则是 MPLS 实用中最据吸引力的亮点。 1. MPLS 标签交换过程 图 1 所示为分组在 MPLS 网络中的转发过程,主要经过以下 3 个步骤: (1)入口 LSR 在 FIB(Forwarding Information Base)表中按照传统的最长匹配算法对 FEC 进行查找,找到要压入的标签 5 和

6、相应的出接口,然后压入标签发送分组到相应的端口; (2)核心 LSR 根据标签栈顶层的标签 5 查找 ILM(Incoming Label Map)表,找到要进行的操作为标签的交换,交换使用的标签为 9,执行标签交换,然后发送分组到相应的接口; (3)出口 LSR 根据 ILM 查找的结果进行标签的弹栈( POP) ,然后再按照第三层 IP 地址进行转发。 在拓扑驱动的模式中,FIB 和 ILM 是在路由协议(BPG、OSPF 或 RIP)建立路由表的同时建立起来的。 2. MPLS 路由器的结构 MPLS 路由器采用高速交换、分布式转发和集中式管理相结合。当前路由器设计采用的主流结构由接口卡

7、、交换结构和 CPU 卡组成。CPU 卡的主要功能是运行路由协议(BGP、OSPF 或 RIP)和 MPLS信令(LDP/CR-LDP ) ,负责各接口卡上的路由表、FIB 表以及 ILM 表的更新以及同步,同时它还完成接纳控制、资源管理以及某些设备管理功能。接口卡完成物理层处理、MAC 层处理、IP 层处理,主要包括MPLS 分类、业务分类以及排队和调度功能。 图 2 给出的是 MPLS 交换路由器的概念模型,由以下主要组件组成:CR-LDP/LDP 、MPLS 分类器、业务分类器、地址分类器、接纳控制、资源管理和队列管理器等。各模块主要功能如下: LDP/CR-LD:产生和处理 LDP/C

8、R-LDP 消息; MPLS 分类器:为进入的分组分类,并为相应的分组执行标签的操作,如压栈、弹栈和标签交换; 业务分类器:根据标签、入接口以及 MPLS 头中的 CoS 对分组进行业务分类,并把分组与相应的队列关联起来; 接纳控制:检查 CR-LDP 中携带的流量参数,并判断该路由器是否有足够的资源来满足所需的 QoS要求; 资源管理:管理资源信息以及队列的参数,主要包括带宽和缓存等; 队列管理器:管理队列中的分组,完成分组的调度,使其获得相应的服务。 二、 标签交换路由器的设计 1. MPLS 标签交换以及流量处理 MPLS 标签交换以及流量处理主要在接口卡上完成,本节介绍接口卡详细功能,

9、我们在此不讨论物理层和 MAC 层的处理。如图 3 所示,当 MPLS 路由器接收到一个分组后,它执行如下的操作: (1)MPLS 分类器首先判断接收到的分组是带标签的还是不带标签的。如果携带了标签,MPLS 分类器就通过查询 ILM 表得到相应的标签,然后对分组执行标签交换。如果未携带标签,则查询 FIB 表,若其对应的 LSP 存在,就与携带标签一样处理。否则,分组被发送到地址分类器。 (2)地址分类器根据路由表对分组执行第三层转发。 (3)如果分组的下一跳就是自己,分组就被送到端口分类器中,然后根据端口号送往相应的上层应用处理程序,如 LDP/CR-LDP、OSPF、BGP 等。否则,就

10、根据查询的结果进入队列管理器进行排队,等候服务。 (4)当业务分类器接收到来自 MPLS 分类器的分组后,查找 ERB 表得到相应的ServiceID,ServiceID 指示了分组应该被怎么排队。然后根据 ServiceID 以及输出接口信息,分组被发送到相应的队列中,并得到相应 QoS 的服务。来自地址分类器的分组就直接发送到相应输出接口的最低优先级队列进行排队。 从以上分组转发的过程我们看到,分组处理时需要以下 4 个表: FIB 表只有在入口 LSR 上保存该表,它记录了 FEC 到标签的映射信息; ILM 表每个 LSR 上都保存该表,它记录了已建立的 LSP 的信息,为携带标签的分

11、组进行标签交换提供信息,它主要包括入/出标签和入/出接口; ERB 表主要维护分组的排队信息,为不同等级的业务提供不同 QoS 的保证; 路由表与传统的路由表相同,由路由协议维护,主要完成第三层转发信息的存储。 2. 资源预留 接纳控制和资源管理器组件是为了实现资源管理而设计的。资源管理器负责为队列管理器创建和维护队列提供参数信息并且负责资源信息的管理(如资源表) 。 图 4 所示为 MPLS 路由器对资源预留消息的处理过程。当 LDP/CR-LDP 组件接收到 CR-LDP 的Request 消息时,它调用接纳控制来检查路由器是否有足够的资源。如果有,接纳控制模块通过更新资源表来预留资源,然

12、后 LDP 的 Request 消息被发送到下一个节点。 当 LDP/CR-LDP 组件接收到 CR-LDP 的 Mapping 消息后,在 ILM 表中记录标签和接口信息,并且在 ERB 中记录 CR-LSP 的信息(如 LSPID) ,产生 ServiceID。然后,调用资源管理器修改此 CR-LSP 对应队列的参数,并且在 ERB 表中记录 ServiceID。最后,CR-LDP 的 Mapping 消息被发送到上游节点。 3. 队列管理和 Crossbar 调度算法 当前的高速交换机和路由器采用的主流排队方法和 Crossbar 调度方式有 3 种:输入排队、输出排队和输入/输出排队(

13、CIOQ:Combined Input-output Queued) 。 输入排队实现简单,存储器读写速率也只需和接口线速相等,Fabric 加速比只需为 1。但是,单队列的输入排队会造成队头阻塞(HOL) ,使吞吐率只有 58.6%6 。由于输出排队受限于存储器的读写速率,并且要求 Fabric 的加速比为 N(N 为端口数) ,所以也不适于高速的交换。本文中的设计选择了 CIOQ 排队结构,它是一种结合输入/输出排队的实现方法,在输入排队上采用 VOQ 方式,避免了 HOL,大大提高了吞吐率,在输出排队上采用 FIFO。如图 5 所示。研究证明 CIOQ 的平均分组时延、分组丢失率、分组阻

14、塞率、最大吞吐率都优于其它的方法,并且当 Fabric 加速比为 4 时,可以达到 99%的吞吐率5,7 。 由于 Internet 上越来越多的业务具有不同的 QoS 要求,因此我们在输入排队处采用两级调度。去往同一端口的分组进入 VOQ 之前首先进入 CBQ 进行排队,然后按照不同的优先级进行调度进入VOQ。CBQ 是优先级排队的一个变种8,9 ,该算法可以通过为某些类型的流量设置优先级来提供公平的排队,并且不允许某个等级的流量独占系统资源和带宽。算法通过改变 CBQ 的参数可以分别达到不同等级业务需要的性能10 ,比如支持 DiffServ。该算法实现简单并能达到满意的效果11 。 4.

15、 标签交换路由器的实现 在本项目中,MPLS 交换路由器的实现分为 2 个部分:信令和协议软件;硬件处理芯片。其中LDP/CR -LDP、路由协议、接纳控制和资源管理用软件完成,运行在 CPU 卡上。目前软件的开发已基本完成,正在进行相应的测试工作。 在硬件的设计中,物理层和 MAC 层芯片采用成熟的产品,接口处理、Frbric 和 Crossb 调度算法分别用 FPGA 实现。接口处理的功能包括 MPLS 分类器、业务分类器、地址分类器和队列管理。接口的处理线速为 1 Gbit/s,交换使用 64 byte 的定长分组。据统计,Internet 上平均分组的长度为 250 byte,因此接口

16、需要每 2 000 ns 做出一次转发决定,这个速率是很容易用当前的 FPGA 来实现的。我们在 CBQ 队列中采用 4 种优先级的队列,这样既满足的当前对不同 QoS 优先级的需求又减少了实现的复杂度。系统设计的 Fabric 支持 32 个端口,加速比为 4。Crossbar 采用成熟的 SLIP 调度算法5 。 系统的设计速率充分考虑了当前 FPGA 的规模和算法的复杂度,我们对此设计建立了数学模型,分析了分组的时延、分组丢失率和吞吐量等特性,得到了满意的结果。目前正在进行 FPGA 后仿真和硬件调试。 三、 结论 该项目的主要目的是设计自主知识产权的 MPLS 专用 ASIC 芯片组和信令软件包,并开发出 MPLS交换路由器。项目结合了 MPLS 最新的标准以及当前国际上对高速交换和路由的最新理论研究成果,系统建模分析结果也证明了该设计具有较优的性能。目前项目已经进入调试阶段,一切进展顺利。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报