专利名称:一种实现通信设备高速端口的装置的制作方法
技术领域:
本发明涉及通信设备的端口实现技术,特别涉及一种实现通信设备高速端口的装置。
背景技术:
随着通信技术迅速的发展,通信设备的端口速率日益提高。今后将出现速率更高的端口,并逐步应用到实际通信系统中。由于互联网(Internet)数据业务量的迅速增加,目前速率达到10Gbps的OC-192c、10千兆以太网(GE)端口即将逐渐成为核心路由器、以太网三层交换机的主流端口之一。但10Gbps端口的关键技术,10Gbps速率的三层转发技术目前还不是很成熟,实现难度较大。今后出现的更高速的端口(例如40Gpbs)也会遇到同样的问题。
三层转发模块是路由器、三层交换机中最重要的部件,也是系统的技术难点所在。三层转发的作用是对进入路由器的IP(Internet Protocol)数据包的头部进行路由寻径,然后放到对应的队列中发出。三层转发的指标直接决定了路由器的容量和性能。
由于技术的不断发展,一些路由器、三层交换机已经不再只限定于对第三层即IP层进行分析、处理,还可能进行更广泛,例如对第四层进行的处理,因此三层转发也常常称作多层转发。
多层转发的速率是对路由器、三层交换机的一个重要的评价指标,一般用线速表示。线速是指一定包长条件下能够达到端口的标称速率值的转发能力。目前,对于2.5Gbps等级的端口速率的转发技术已经相对比较成熟,并已经能够做到任意包长的线速转发;但对于10Gbps速率等级的端口,实现任意包长的线速转发还存在较大的困难。
目前业界只有个别通信设备供应商宣称能够提供10Gbps端口,但性能并不让人满意。业界通用的实现方案是使用专用定制集成电路(ASIC)进行10Gbps的多层转发,但ASIC开发周期长,代价很高。
另一种实现方式是采用网络处理器(Network Processor Unit),但现有的网络处理器绝大部分只具备2.5Gbps或以下速率等级的三层转发能力。目前也有厂商宣称有能力提供10Gbps速率等级的网络处理器,但产品的性能和成熟度还是一个未知数。
发明内容
有鉴于此,本发明的目的在于提供一种实现通信设备高速端口的装置,该装置能够利用现有成熟的低速端口技术,在高速端口技术尚未成熟时,可靠地实现通信设备高速端口。
为达到上述目的,本发明的技术方案具体是这样实现的一种实现通信设备高速端口的装置,其特征在于,该装置包含高速总线接口模块,包含上行和下行高速总线接口,用于接收高速总线数据,发送给上行负荷分担模块;或接收下行流量合并模块发送的数据,发送给高速总线;低速总线接口模块,包含N个的速率为高速总线1/N的低速总线上行和下行接口,用于接收上行负荷分担模块发送的数据,发送给N个低速总线;或接收N路低速总线数据,发送给下行流量合并模块;上行负荷分担模块,采用负载均衡算法,将从高速总线接口模块接收的高速数据流均匀地负荷分担为N路数据,分别发送给N个低速总线接口;下行流量合并模块,将从N个低速总线接口接收的N路数据轮询发送给高速总线接口模块;配置接口模块,用于接收外部系统信息,对上述每个模块进行配置和控制。
其中,上行负荷分担模块可以进一步包含基于标识包的负载均衡(DSCP)收敛单元、早期随机丢弃(RED)单元、动态均衡单元、绝对优先级调度单元和上行队列存储单元;该DSCP收敛单元将接收数据中要求保证服务质量的数据流根据数据包中的信息分配为N路发送给RED单元,RED单元对数据进行早期随机丢弃处理后发送给绝对优先级调度单元;动态均衡单元将接收数据中没有要求保证服务质量的数据流动态分配为N路数据发送给绝对优先级调度单元,绝对优先级调度单元将RED单元发送的N路数据优先发送给上行队列存储单元,再将动态均衡单元发送的N路数据发送给上行队列存储单元;上行队列存储单元将收到的N路数据分发到低速总线接口模块的N个低速总线接口上。
该DSCP收敛单元可以进一步包含负荷分担表,该表深度为256,宽度为3比特。该DSCP收敛单元还可以包含一个用于负荷分担表实时刷新的负荷分担备份表。
该RED单元可以进一步包含统计单元和N个RED处理单元,N个RED处理单元与DSCP收敛单元发送的N路数据一一对应;该统计单元与N个RED处理单元相连,记录丢包情况和数据流量。
该上行队列存储单元可以进一步包含外部队列存储器和N个队列,上行队列存储单元收到的N路数据通过N个队列,将数据分别发送到指定队列对应的外部队列存储器中的外部存储空间。该外部队列存储器结构可以为环状先入先出存储结构。
下行流量合并模块可以进一步包含下行调度和选择接收单元、下行队列存储单元;该模块将由下行队列存储单元从N个低速总线接口模块接收的N路数据,通过下行调度和选择接收单元,将数据发送给高速总线接口。
该下行队列存储单元可以进一步包含N个先入先出缓存,将由下行队列存储单元从N个低速总线接口模块接收的N路数据进行缓存后,发送给下行调度和选择接收单元。
配置接口模块可以进一步包含中断控制器。
高速总线接口模块可以为SPI4 Phase II总线接口模块。该模块可以为商用的SPI4 Phase II接口逻辑知识产权模块,也可以是自行开发的接口模块。
另外,本发明装置可以为现场可编程逻辑门电路或专用集成电路或专用知识产权模块。
由上述的发明方案可见,本发明的这种实现通信设备高速端口的装置,利用了现有成熟的低速端口技术,将高速端口发送的数据用负载均衡算法均匀地分散发送到多个低速端口中,在高速端口技术尚未成熟时,能够可靠地实现通信设备高速端口。
图1为本发明装置一个较佳实施例的示意图;图2为图1所示实施例的上行负荷分担的逻辑示意图;图3为图1所示实施例的下行流量合并的逻辑示意图。
具体实施例方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明进一步详细说明。
本发明的主要思想是使用负载均衡算法,对要求保证服务质量的数据流进行静态负荷分担,对没有要求保证服务质量的数据流进行动态负荷分担,将一个高速率的端口数据流尽可能均匀的分布到N个端口速率只有该高速端口1/N速率的较低速端口上,从而利用捆绑方式提供N倍于该较低速率端口性能的三层转发解决方案和对应端口。
以下以实现10Gbps的高速端口SPI4 Phase II端口为实施例进行详细说明。SPI4 Phase II总线是光纤互联网络论坛(Optical Internetworking Forum,OIF)制定并推荐的用于通信领域高速数据传递的标准总线。SPI4 Phase II总线适用于数据链路层设备(Link Layer Device)和物理层设备(PHY Device)之间的数据传送,吞吐率满足OC-192c速率,即10Gbps的数据流传送要求。
本实施例中,高速端口是指SPI4 Phase II端口。由于SPI4 Phase II端口速率为10Gbps,所以低速端口选择四个速率为2.5Gbps的SPI3端口来实现。参见图1,图1为本发明装置一个较佳实施例的示意图。如图1所示,本实施例的装置包含SPI4 Phase II总线接口模块110、SPI3总线接口模块140,上行负荷分担模块120、下行流量合并模块130及配置接口(CBI)模块150。其中,SPI4 Phase II总线接口模块110包含上行SPI4 Phase II总线接口111和下行SPI4 Phase II总线接口112。SPI3总线接口模块140包含四个上行SPI3总线接口141和四个下行SPI3总线接口142。
其中,SPI4 Phase II总线接口模块110通过上行SPI4 Phase II总线接口111接收SPI4 Phase II总线数据,并发送给上行负荷分担模块120;或通过下行SPI4 Phase II总线接口112接收下行流量合并模块130发送的数据,并发送给SPI4 Phase II总线。该模块可以采用商用的SPI4 Phase II接口逻辑知识产权模块,也可以根据总线标准自行开发。
SPI3总线接口模块140通过四个上行SPI3总线接口141接收上行负荷分担模块120发送的数据,并发送给四个SPI3总线;或通过四个下行SPI3总线接口142接收四路SPI3总线数据,并发送给下行流量合并模块130。
上行负荷分担模块120采用负载均衡算法,将从上行SPI4 Phase II总线接口111接收的高速数据流均匀地负荷分担为四路数据,分别发送给四个上行SPI3总线接口。
下行流量合并模块130,将从四个下行SPI3总线接口142接收的四路数据轮询发送下行SPI4 Phase II总线接口112。
配置接口模块150用于接收外部系统信息,对上述每个模块进行配置和控制。另外,配置接口模块150还包含一个中断控制器,其中断处理程序是根据中断源、对中断的处理过程及外部系统的运行速度对中断进行控制的。
以下按照数据流向,对本实施例的装置做进一步详细说明。数据上行是指数据从SPI4 Phase II总线接口模块110的上行SPI4 Phase II总线接口111输入,经过上行负荷分担模块120进行负荷分担,分成四路数据后,分别发送到SPI3总线接口模块140的四个上行SPI3总线接口141的过程;数据下行是指数据从SPI3总线接口模块140的四个下行SPI3总线接口142输入,经过下行流量合并模块130,进行流量合并后,发送到SPI4 Phase II总线接口模块110的下行SPI4 Phase II总线接口112的过程。
数据上行的过程参见图2,图2为图1所示实施例的上行负荷分担的逻辑示意图。如图2所示,10Gbps数据从上行SPI4 Phase II总线接口111输入后,进入上行负荷分担模块120。上行负荷分担模块120,包含基于标识包的负载均衡(DSCP)收敛单元121、早期随机丢弃(RED)单元123、动态均衡单元122、绝对优先级调度单元124和上行队列存储单元125。
上行负荷分担模块120接收的数据中要求保证服务质量的数据流,通过DSCP收敛单元121进行静态负荷分担。该DSCP收敛单元121还包含一个深度为256,宽度为三比特的负荷分担表,该表包含了数据与四个上行SPI3总线接口141的一一对应关系,是外部系统通过配置接口模块150在对本装置进行配置时填入的,DSCP收敛单元121将接收的数据流根据数据包中的信息,查找负荷分担表,根据负荷分担表将数据分配为四路发送给RED单元123。DSCP收敛单元121可以包含一个负荷分担备份表,备份表用于实时刷新,原表用于实时查表,并在适当的时刻进行切换,这样就保证了在不影响逻辑工作的同时实现表项更新。
RED单元123,包含RED处理单元1和一个统计单元2,四个RED处理单元1与DSCP收敛单元121发送的四路数据一一对应,统计单元2与四个RED处理单元1相连,用于记录丢包情况和数据流量,以备外部系统进行查询。RED单元123对数据进行早期随机丢弃处理后发送给绝对优先级调度单元124。
上行负荷分担模块120接收的数据中没有没有要求保证服务质量的数据流通过动态均衡单元122进行动态负荷分担,动态负荷分担是根据数据包的信息,将数据包按队列的长短动态分配给四个队列。该数据先发送给绝对优先级调度单元124。
优先级调度单元124,包含四个调度单元3,每个调度单元3接收一路从RED单元123发送的数据和一路动态均衡单元122发送的数据,当两路数据同时到达调度单元3时,调度单元3优先将RED单元123发送的数据发送给上行队列存储单元125,然后发送动态均衡单元122发送的数据。
上行队列存储单元125,包含四个队列4和外部队列存储器5,上行队列存储单元125收到的四路数据通过四个队列,将数据分别发送到指定队列对应的外部队列存储器5的外部存储空间。外部队列存储器5的结构为环状先入先出存储结构。上行队列存储单元125将数据进行缓存后,发送给四个2.5Gbps的上行SPI3总线接口141。
数据下行的过程参见图3,图3为图1所示实施例的下行流量合并的逻辑示意图。2.5Gbps数据由四个下行SPI3总线接口142输入后,发送给下行流量合并模块130,该模块包含下行调度和选择接收单元131、下行队列存储单元132。
四路SPI3总线数据先经下行队列存储单元132对应的队列缓存(FIFO)8中进行缓存后,发送给下行调度和选择接收单元131,本实施例中,该单元使用赤字轮询算法(DRR)6将数据经选择发送单元7发送给下行SPI4 Phase II总线接口112。
基于流量的赤字轮询调度算法(DRR,Deficit Round Robin)为每个队列分配了一个服务量子(Quantum ofService)。每个队列有一个发送阈值,发送阈值被初始化为0,每次发送时本次的发送阈值就等于现有的发送阈值加上服务量子Quantum。如果队列中的包长度太大即大于发送阈值,则包不能被发送,但本轮的发送阈值将被积攒到下一轮与Quantum相加直到待发送的包的长度满足发送阈值要求。如果发送之后剩余的递增变量仍足够继续发送下一个包,则继续发送,直到上述要求无法得以满足。如果包发送之后队列变空,则该队列的发送阈值被清零,然后重新开始。DRR算法实现了发送调度的公平性。
本实施例的装置可以为现场可编程逻辑门电路(FPGA)或专用集成电路(ASIC)或专用知识产权模块(IP Core)。
本实施例是采用负载均衡算法将10Gbps速率等级IP数据流进行负荷分担到4个2.5Gbps速率等级的端口的10Gbps端口解决方案。其10Gbps端口即可以是OC-192c,也可以是10GE,二者实现方案差别不大,进接口和查表部分有细微区别。本实施例以OC-192c中的SPI4 Phase II端口作为实现方式,但并不代表本发明只能用于OC-192c中的SPI4 Phase II端口。
对于OC-192c端口,目前有多种总线标准用于物理层和数据链路层的数据传送。应用比较普遍的包括SPI4 Phase I、SPI4 Phase II、FlexBus Level 4、POS-PHY Level 4等,本实施例使用其中具有代表性的SPI4 Phase II作为物理层和数据链路层芯片的传输总线,但并不代表本发明只支持SPI4 Phase II接口的OC-192c端口。
对于2.5Gbps的接口,目前有多种总线标准用于物理层和数据链路层的数据传送。应用比较普遍的包括SPI3、POS-PHY Level3、FlexBus Level3。本实施例使用其中具有代表性的SPI3作为物理层和数据链路层芯片的传输总线,但并不代表本发明只支持SPI3接口的2.5Gbps数据接口。
本发明的实现方式是使用现场可编程门阵列(FPGA)作为载体,设计数字逻辑实现负载均衡。在SPI4 Phase II接口层进行一层适配,将SPI4Phase II总线上传输的OC-192c数据流负荷分担到4个SPI3总线上。本实施例使用基于FPGA的数字逻辑设计,但并不代表本发明只能用于FPGA场合。
由上述的实施例可见,本发明的这种实现通信设备高速端口的装置,利用了现有成熟的低速端口技术,在高速端口技术尚未成熟时,能够可靠地实现通信设备高速端口。
权利要求
1.一种实现通信设备高速端口的装置,其特征在于,该装置包含高速总线接口模块,包含上行和下行高速总线接口,用于接收高速总线数据,发送给上行负荷分担模块;或接收下行流量合并模块发送的数据,发送给高速总线;低速总线接口模块,包含N个的速率为高速总线1/N的低速总线上行和下行接口,用于接收上行负荷分担模块发送的数据,发送给N个低速总线;或接收N路低速总线数据,发送给下行流量合并模块;上行负荷分担模块,采用负载均衡算法,将从高速总线接口模块接收的高速数据流均匀地负荷分担为N路数据,分别发送给N个低速总线接口;下行流量合并模块,将从N个低速总线接口接收的N路数据轮询发送给高速总线接口模块;配置接口模块,用于接收外部系统信息,对上述每个模块进行配置和控制。
2.如权利要求1所述的实现通信设备高速端口的装置,其特征在于,所述的上行负荷分担模块进一步包含基于标识包的负载均衡(DSCP)收敛单元、早期随机丢弃(RED)单元、动态均衡单元、绝对优先级调度单元和上行队列存储单元;该DSCP收敛单元将接收数据中要求保证服务质量的数据流根据数据包中的信息分配为N路发送给RED单元,RED单元对数据进行早期随机丢弃处理后发送给绝对优先级调度单元;动态均衡单元将接收数据中没有要求保证服务质量的数据流动态分配为N路数据发送给绝对优先级调度单元,绝对优先级调度单元将RED单元发送的N路数据优先发送给上行队列存储单元,再将动态均衡单元发送的N路数据发送给上行队列存储单元;上行队列存储单元将收到的N路数据分发到低速总线接口模块的N个低速总线接口上。
3.如权利要求2所述的实现通信设备高速端口的装置,其特征在于所述的DSCP收敛单元进一步包含负荷分担表。
4.如权利要求3所述的实现通信设备高速端口的装置,其特征在于所述的DSCP收敛单元进一步包含一个用于负荷分担表实时刷新的负荷分担备份表。
5.如权利要求2所述的实现通信设备高速端口的装置,其特征在于所述的RED单元进一步包含统计单元和N个RED处理单元,N个RED处理单元与DSCP收敛单元发送的N路数据一一对应;该统计单元与每个RED处理单元相连,记录丢包情况和数据流量。
6.如权利要求2所述的实现通信设备高速端口的装置,其特征在于所述的上行队列存储单元进一步包含外部队列存储器和N个队列,上行队列存储单元收到的N路数据通过N个队列,将数据分别发送到指定队列对应的外部队列存储器中的外部存储空间。
7.如权利要求1所述的实现通信设备高速端口的装置,其特征在于,所述的下行流量合并模块进一步包含下行调度和选择接收单元、下行队列存储单元;该模块将由下行队列存储单元从N个低速总线接口模块接收的N路数据,通过下行调度和选择接收单元,将数据轮询发送给高速总线接口。
8.如权利要求7所述的实现通信设备高速端口的装置,其特征在于所述的下行队列存储单元进一步包含N个先入先出缓存,将由下行队列存储单元从N个低速总线接口模块接收的N路数据进行缓存后,发送给下行调度和选择接收单元。
9.如权利要求1所述的实现通信设备高速端口的装置,其特征在于,所述的配置接口模块进一步包含中断控制器。
10.如权利要求1所述的实现通信设备高速端口的装置,其特征在于,所述的高速总线接口模块为SPI4 Phase II总线接口模块。
11.如权利要求1所述的实现通信设备高速端口的装置,其特征在于,所述的低速总线接口模块为SPI3总线接口模块。
12.如权利要求1所述的装置,其特征在于该装置为现场可编程逻辑门电路(FPGA)或专用集成电路(ASIC)或知识产权模块(Intellectual Property Core)。
全文摘要
本发明公开了一种实现通信设备高速端口的装置,该装置包含高速总线接口模块,其包含上行和下行高速总线接口、低速总线接口模块,其包含N个的速率为高速总线1/N的低速总线上行和下行接口、上行负荷分担模块、下行流量合并模块和配置接口模块;该装置使用负载均衡算法,将从高速总线接口模块接收的高速数据流均匀地负荷分担为N路数据,分别发送给N个低速总线接口;在下行将从N个低速总线接口接收的N路数据轮询发送给高速总线接口模块。本发明的装置,利用现有成熟的低速端口技术,能够可靠地实现通信设备高速端口。
文档编号H04L12/02GK1507225SQ0215527
公开日2004年6月23日 申请日期2002年12月12日 优先权日2002年12月12日
发明者江南, 杜涌, 余洲, 江 南 申请人:华为技术有限公司