CN103188157B - 一种路由器设备 - Google Patents

一种路由器设备 Download PDF

Info

Publication number
CN103188157B
CN103188157B CN201110447103.9A CN201110447103A CN103188157B CN 103188157 B CN103188157 B CN 103188157B CN 201110447103 A CN201110447103 A CN 201110447103A CN 103188157 B CN103188157 B CN 103188157B
Authority
CN
China
Prior art keywords
pcie
card
main control
exchange
chip
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201110447103.9A
Other languages
English (en)
Other versions
CN103188157A (zh
Inventor
戴俊文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Maipu Communication Technology Co Ltd
Original Assignee
Maipu Communication Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Maipu Communication Technology Co Ltd filed Critical Maipu Communication Technology Co Ltd
Priority to CN201110447103.9A priority Critical patent/CN103188157B/zh
Publication of CN103188157A publication Critical patent/CN103188157A/zh
Application granted granted Critical
Publication of CN103188157B publication Critical patent/CN103188157B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明公开了一种路由器设备,包括主控卡、交换卡和线卡,所述主控卡包括控制处理器和PCIE交换芯片;所述交换卡包括PCIE交换芯片和交换网络芯片;所述线卡包括PCIE交换芯片和多核处理器;在所述主控卡中,所述PCIE交换芯片通过上行PCIE接口与所述控制处理器连接,通过下行PCIE接口和控制总线与所述线卡和交换卡PCIE交换芯片的上行PCIE接口连接,所述线卡和交换卡PCI交换芯片的下行PCIE接口分别与所在板卡上的多核处理器芯片和交换网络芯片连接,上述PCIE交换网络组成设备的控制平面;所述线卡的多核处理器通过内部数据总线与所述交换卡的交换网络芯片连接,组成设备的数据平面。利用本发明,可以有效地提供多核路由器的路由转发性能,有效降低控制面软件的实现复杂度,提高路由器设备的处理效率。

Description

一种路由器设备
技术领域
本发明涉及数据通信技术领域,尤其涉及一种路由器设备。
背景技术
近年来,多核处理器成为计算机和信息通信领域中一种主流的处理器技术,已经应用得非常普及,同时技术本身也在飞速发展之中。目前多核处理器具有下列特点:
(1)处理能力很强,单核处理能力很强,主频达到2GHz;
(2)集成CPU核越来越多,CPU核个数在2~100之间,乃至更多;
(2)伸缩特性很好,主频和核个数可以根据性能需求自由选择;
(3)高速的I/O接口,以太和PCIE等高速接口成为标准配置;
(4)集成网络加速和安全加速处理能力;
(5)价格下降很快,目前一个2/4核的多核处理器价格和2-3年前的单核处理器价格相当,但处理能力却2~3倍地增长。
正因为多核处理器具有这些技术优势,数据通信领域现在普遍使用多核处理器来实现路由器和各种安全设备,特别是高性能的多核分布式路由器和安全设备。
长期以来,业界在实现基于分布式转发的高端路由器设备时,绝大多数采用分布式数据转发以及分布式协议控制的系统架构。图1是现有业界典型的多核分布式路由器设备的硬件系统结构示意图。参见图1,该分布式路由器设备中包括两个互为备份的主控卡(MPU)、两个或多个互为备份的交换卡(SFU)、以及至少一个接口线卡(LPU),其中所述两个MPU中一个为主用一个为备用,所述两个或多个SFU相互冗余备份和流量均衡。所述MPU中包括控制处理器和以太交换芯片,所述SFU中包括控制处理器和交换网络芯片(Fabric),所述LPU包括多核处理器、接口ASIC以及三态内容寻址存储器(TCAM)和静止存取存储器(SRAM)。路由器设备中的其他部分如机箱管理部分在本图1中省略。图1中的“--------”为控制总线,“——”为数据总线,“…………”为高有效性(HA)通道。所述主用MPU和备用MPU中的控制处理器通过HA通道连接,用于完成主备切换;所述MPU的以太交换芯片通过控制总线与SFU的控制处理器以及LPU的多核处理器连接;所述SFU中的交换网络芯片通过数据总线与LPU中的多核处理器连接。
在图1的这种完全分布式架构的路由器设备中,数据平面通过内部高速数据总线连接LPU和SFU实现分布式数据交换;同时,控制平面通过内部以太控制总线连接MPU和LPU、SFU上的处理器组成一个分布式控制系统;为了节约成本,业界通常在LPU上采用一个多核处理器系统,通常分配一个核来实现协议控制功能,其它核来实现数据转发功能。从软件使用环境来看,当前业界多在MPU、SFU、和LPU上采用实时操作系统(RTOS)作为基础软件平台来实现分布式软件设计。从表面来看,这种结构是似乎合理,但事实上,这种多核路由器架构都会导致一个严重的性能问题,严重的情况下,实际数据转发性能达不到处理器处理能力指标的30%。
这个问题的根本原因是在LPU上的多核处理器的应用上。在这种架构中,LPU上多核处理器中的控制平面转发控制和数据平面数据转发两大功能上相互竞争,相互影响,最终导致严重的性能问题。当前大多数面向网络应用的多核处理器多采用共享内存架构实现,高速缓存(Cache)是所有处理器中宝贵的资源,所有处理器的内部Cache是有限的,层二/层三(L2/L3)Cache共享是所有多核处理器实现的技术选择,Cache的竞争和冲突都导致性能的下降,控制平面转发控制和数据平面数据转发的竞争和冲突主要表现在Cache的竞争。而在路由器应用中,数据平面转发性能是系统的关键指标,从系统的角度来看,要想达到良好的路由转发性能,首先要从物理上隔离控制平面的转发控制和数据平面的数据转发的相互影响,这需要通过新的硬件架构来实现。另外,软件架构也是影响处理器Cache性能的一个重要原因,其中Linux或实时操作系统(RTOS)对系统性能的影响也是很大的,事实上,同样是Cache共享的原因,导致在多核中一个核上运行Linux或RTOS都会对其它核的转发性能产生较大的影响,所以把路由器控制平面转发控制的功能从硬件和软件上都和数据平面数据转发分离出来,才可能得到一个高性能的数据转发性能。当然在软件架构时,也要充分考虑软件的并行性设计,才能充分利用提高多核处理器的并发处理能力。
图2是现有技术中的一种实现了控制平面转发控制和数据平面数据转发分离的路由器设备的结构示意图。在图2所示的结构中,其中LPU引入了一个独立的控制平面处理器系统即控制处理器,它和负责数据转发的多核处理器完全从物理上分离。
从硬件的角度看,由于引入了一个额外的控制处理器,增加了LPU的成本,而且也增加了硬件设计的复杂性,和图1所示的系统相比,存在着性能优势,但成本方面存在一定的不足,特别是和图1所示的设备竞争时,成本要高20-30%,因此,对这种架构优化成本是十分必要的。
从软件的角度来看,图2所述的结构和图1所示的结构都存在一个共同的问题:即都需要相应的控制软件分布式架构来实现,这就导致了在此路由器设备上所需运行软件的实现复杂度过高的问题以及效率低下的问题,具体如下:
(a)这种硬件架构上所需要的分布式控制软件的实现复杂度增大,无论是二层转发表项还是三层转发表项的同步、控制报文的收发、控制协议的分布式处理,还是分布式的错误处理,都让软件设计的复杂程度明显增大;
(b)由于LPU和SFU控制处理器的存在,导致整个系统启动时间大大增加,也导致软件系统升级更新时所用的时间大大增加,相应地,这也导致这种系统的故障恢复时间也大大增加,导致处理效率低下,实质上是降低了整个系统的可靠性指标。
发明内容
有鉴于此,本发明的主要目的在于提供一种路由器设备,即可以提高路由转发性能和处理效率,又可以降低此路由器设备上软件的复杂度。
本发明的技术方案是这样实现的:
一种路由器设备,包括主控卡、交换卡和线卡,
所述主控卡包括控制处理器和PCIE交换芯片;所述交换卡包括PCIE交换芯片和交换网络芯片;所述线卡包括PCIE交换芯片和多核处理器;
在所述主控卡中,所述PCIE交换芯片通过上行PCIE接口与所述控制处理器连接,通过下行PCIE接口和控制总线与所述线卡和所述交换卡的PCIE交换芯片的上行PCIE接口连接;
所述交换卡PCIE交换芯片的PCIE下行接口与本板卡的交换网络芯片连接,所述交换网络芯片通过数据总线与所述线卡上的多核处理器连接;
所述线卡PCIE交换芯片的PCIE下行接口与本板卡的多核处理器连接,所述多核处理器通过数据总线与所述交换卡上的交换网络芯片连接。
优选的,所述主控卡为两个,其中一个为主用主控卡,另一个为备用主控卡;所述每个主控卡的PCIE交换芯片至少有两个支持双根或多根的上行PCIE接口,其中一个上行PCIE接口连接本主控卡的控制处理器,另一个上行PCIE接口连接另一主控卡的控制处理器;
所述交换卡为至少两个,所述每个交换卡的PCIE交换芯片至少有两个支持非透明特性的上行PCIE接口,其中一个上行PCIE接口通过控制总线连接所述主用主控卡PCIE交换芯片的下行PCIE接口,另一个上行PCIE接口通过控制总线连接所述备用主控卡PCIE交换芯片的下行PCIE接口;
所述线卡的PCIE交换芯片至少有两个支持非透明特性的上行PCIE接口,其中一个上行PCIE接口通过控制总线连接所述主用主控卡PCIE交换芯片的下行PCIE接口,另一个上行PCIE接口通过控制总线连接所述备用主控卡PCIE交换芯片的下行PCIE接口。
优选的,所述主控卡的控制处理器中包括高有效性HA引擎,用于执行所述主用主控卡和备用主控卡之间的HA同步、故障检测和故障恢复处理。
优选的,所述线卡的多核处理器中的各处理器核的运行环境为裸核或轻量级执行环境;且所述线卡中进一步包括:
包分发调度器,用于分发来自主控卡的控制包或数据包到多核处理器的特定硬件装置或特定的一个或多个处理器核;
共享内存空间,用于进行各处理器核之间的通信;
每个处理器核的专用地址空间,用于本处理器核的数据处理。
优选的,所述线卡的多核处理器中的各处理器核都为包转发核,所述包转发核由所述主控卡的控制处理器进行控制;
或者,所述线卡的多核处理器中,有一个处理器核为控制核,其他处理器核为包转发核,所述包转发核由所述控制核进行控制。
优选的,所述主控卡的控制处理器为多核处理器,其运行环境为实时操作系统;所述控制处理器包括多个处理引擎,其中每一个处理引擎由至少一个处理器核执行。
优选的,所述处理引擎包括以下处理引擎中的至少一种:
硬件维护引擎,用于机箱设备管理;
硬件控制引擎,用于提供对线卡和交换卡的控制数据交换和管理;
保护引擎,用于提供控制平面协议保护处理;
控制引擎,用于提供控制平面协议和设备管理;
检测引擎,用于提供快速故障检测处理、以及网络业务的快速保护切换和快速收敛处理;
HA引擎,用于执行所述主用主控卡和备用主控卡之间的HA同步、故障检测和故障恢复处理。
一种路由器设备,包括主控卡和线卡,
所述主控卡包括控制处理器、PCIE交换芯片和交换网络芯片;所述线卡包括PCIE交换芯片和多核处理器;
在所述主控卡中,所述PCIE交换芯片通过上行PCIE接口与所述控制处理器连接,通过下行PCIE接口和控制总线与所述线卡PCIE交换芯片的上行PCIE接口连接,通过下行PCIE接口与所述交换网络芯片连接;
所述线卡PCIE交换芯片的PCIE下行接口与本板卡的多核处理器连接,所述多核处理器通过数据总线与所述交换网络芯片连接。
优选的,所述主控卡为两个,其中一个为主用主控卡,另一个为备用主控卡;所述每个主控卡的PCIE交换芯片至少有两个支持双根或多根的上行PCIE接口,其中一个上行PCIE接口连接本主控卡的控制处理器,另一个上行PCIE接口连接另一主控卡的控制处理器;
所述线卡的PCIE交换芯片至少有两个支持非透明特性的上行PCIE接口,其中一个上行PCIE接口通过控制总线连接所述主用主控卡PCIE交换芯片的下行PCIE接口,另一个上行PCIE接口通过控制总线连接所述备用主控卡PCIE交换芯片的下行PCIE接口。
优选的,所述主控卡的控制处理器中包括高有效性HA引擎,用于执行所述主用主控卡和备用主控卡之间的HA同步、故障检测和故障恢复处理。
与现有技术相比,本发明具有如下有益效果:
(1)由于本发明采用了PCIE总线实现了MPU可以直接控制LPU上的用于路由转发的多核处理器,相对于图1所示的现有技术,实现了协议控制和数据转发的分离,大大提高多核分布式路由器的路由转发性能。
(2)相对于图2所示的现有技术,由于本发明在LPU和SFU上不再需要单独的控制处理器,去掉了控制平面的分布式控制;而是采用PCIE作为控制总线,线卡和交换卡通过PCIE交换芯片连接到MPU的控制处理器,MPU通过PCIE接口和总线集中控制LPU和SFU。因此采用这种硬件架构可以将控制平面的所有处理集中到主控卡上,基于这种硬件架构可以实现由分布式控制改为主控卡集中式控制,而数据平面还可以采用分布式数据转发,因此本发明可以降低此路由器设备上软件的复杂度。
(3)相对于图2所示的现有技术,由于本发明的LPU和SFU上不存在控制处理器,MPU可以基于PCIE总线进行集中控制所有LPU和SFU,因此路由器设备系统的启动和软件的更新等操作只会涉及MPU系统,减少了软件系统启动时间,也减少软件更新和维护的时间,提高了处理效率;相应地,故障恢复时间大大缩短,提高了系统可靠性。
(4)相对于图2所示的现有技术,由于本发明的LPU和SFU上取消了控制处理器,引入的PCIE交换芯片的成本仅为原有的控制处理器成本的几十分之一,所以,本发明也降低了LPU和SFU的硬件实现成本和硬件设计复杂性,进一步降低了整个路由器设备的成本和复杂度。
(5)由于本发明在LPU上只提供数据平面转发功能,所以LPU上所有核的软件环境将不再使用Linux或RTOS,原则上只运行在裸核或轻量级执行环境(LWE)之上,进一步提高了数据转发性能。
(6)由于本发明采用PCIE作为控制总线,LPU上的多核处理器作为PCIE端点(EndPoint)通过PCIE接口连接PCIE交换芯片,以充分利用多核处理器针对PCIE接口提供的数据转发加速等特性,提高了多核处理器对控制报文的处理能力,也提高了系统的转发性能。同时,MPU通过PCIE总线集中控制所有LPU和SFU,并利用PCIE交换芯片的高有效性(HA)特性提供主从MPU的HA支持。
(7)本发明在MPU上采用高性能多核处理器,针对路由器实现的主要业务和功能特性需求分别分配不同的处理器核作为相应的处理引擎,实现了硬件维护平面、硬件控制平面、控制平面、检测平面、HA平面以及硬件实现的高性能转发平面相互分离,从而把各个功能平面的功能耦合和相互影响降到最低,各功能平面各司其职,进一步降低了软件实现的复杂性,提高了的高端路由器设备的可用性、可靠型、性能、以及易维护性等。
附图说明
图1是现有业界典型的多核分布式路由器设备的硬件系统结构示意图;
图2是现有技术中的一种实现了控制平面转发控制和数据平面数据转发分离的路由器设备的结构示意图;
图3是本发明所述路由器设备的第一种实施例的结构示意图;
图4是本发明所述路由器设备的第二种实施例的结构示意图;
图5为本发明所述路由器的一种软件逻辑结构实施例的示意图;
图6为本发明所述路由器的又一种软件逻辑结构实施例的示意图。
具体实施方式
下面结合附图及具体实施例对本发明再作进一步详细的说明。
本发明主要采用PCIE技术实现路由器设备控制平面的通信连接和信息交互。
PCIE作为一种高速串行I/O总线技术,它随着处理器的发展也发展很快,目前PCIE3.0的每Lane带宽最高可达8.0Gbps,最多可以支持x16Lane;值得注意的是,在PCIE总线技术发展的过程中,不仅仅是总线带宽速率的提高,同时,在功能特性方面也大大增强;在PCIE2.1和3.0标准中,对高有效性(HA)或故障切换(FailOver)能力、多根I/O虚拟化能力的增强,使得PCIE总线具备了在高可靠性要求很高的设备中应用的能力。总之,多核处理器和PCIE技术的协同发展使得设计一个能力强大的计算和处理系统成为可能,而且相对于传统设计具有更强的伸缩能力、更强的处理能力和更高的性价比。在本发明的实施例中,运用PCIE技术来实现一个集中式控制的高端路由器设备,从而解决当前高端路由器设备分布式控制设计中普遍存在的软件复杂性问题以及带来的一系列效率和可使用性问题。
图3是本发明所述路由器设备的第一种实施例的示意图,参见图3,该实施例中的路由器设备包括:两个主控卡(MPU)、至少两个交换卡(SFU)和至少两个线卡(LPU)。所述两个MPU中的其中一个为主用MPU,另一个为备用MPU;所述至少两个SFU相互冗余备份和流量均衡。
所述MPU包括控制处理器和PCIE交换芯片;所述SFU包括PCIE交换芯片和交换网络芯片(Fabric);所述LPU包括PCIE交换芯片和多核处理器,当然还包括接口ASIC以及TCAM和SRAM等器件。所述接口ASIC以及TCAM和SRAM等器件与本发明的关联不大,本发明并不具体限定和说明。
图3中,路由器设备中的其他部分如机箱管理部分在本图中省略。图3中的“--------”为控制总线,“——”为数据总线,“…………”为HA通道。在所述MPU中,所述PCIE交换芯片通过上行PCIE接口与所述控制处理器连接,通过下行PCIE接口和控制总线与所述SFU和LPU的PCIE交换芯片的上行PCIE接口连接。所述SFU的PCIE交换芯片的下行PCIE接口与本板卡的交换网络芯片连接(本发明所述交换网络芯片具有标准的PCIE接口,具体是通过PCIE接口与所述PCIE交换芯片连接),所述SFU中的交换网络芯片通过数据总线与各LPU的多核处理器连接。所述LPU的PCIE交换芯片的PCIE下行接口与本板卡的多核处理器连接(本发明所述多核处理器具有标准的PCIE接口,具体是通过PCIE接口与所述PCIE交换芯片连接)。
为了支持主用和备用MPU的HA同步倒换特性,所述每个MPU的PCIE交换芯片至少有两个支持双根(Dual-Root)或多根(Multi-root)的上行PCIE接口,所述其中一个上行PCIE接口连接本MPU的控制处理器的PCIE接口,另一个上行PCIE接口连接另一MPU的控制处理器的PCIE接口,形成HA通道。同时,所述每个SFU的PCIE交换芯片至少有两个支持非透明特性(NT---Non-Transparent)的上行PCIE接口,其中一个上行PCIE接口通过控制总线连接所述主用MPU的PCIE交换芯片的下行PCIE接口,另一个上行PCIE接口通过控制总线连接所述备用MPU的PCIE交换芯片的下行PCIE接口。同时,所述每个LPU的PCIE交换芯片至少有两个支持非透明特性的上行PCIE接口,其中一个上行PCIE接口通过控制总线连接所述主用MPU的PCIE交换芯片的下行PCIE接口,另一个上行PCIE接口通过控制总线连接所述备用MPU的PCIE交换芯片的下行PCIE接口。所述MPU的控制处理器中还包括高有效性HA引擎,用于执行所述主用MPU和备用MPU之间的HA同步、故障检测和故障恢复处理。
在图3所示的实施例中,从数据平面来看,每张LPU的上行内部数据交换总线分别连接到至少两张互为备份且负载均衡的SFU上的交换网络芯片上,从而构成一个双星形结构的、互为备份的分布式数据转发系统,这和当前的大多数高端路由器设备的设计是一致的。
但从控制平面来看,LPU和SFU不再需要单独的控制处理器。为了构成一个双星型结构的控制系统,在LPU和SFU上引入了PCIE交换芯片,所述LPU的PCIE交换芯片的下行PCIE接口连接本板卡的多核处理器,所述SFU的PCIE交换芯片的下行PCIE接口连接本板卡的交换网络芯片;所述LPU和SFU的PCIE交换芯片的上行提供两个PCIE接口,这两个上行PCIE接口分别通过路由器设备背板的控制总线连接到不同的MPU上的PCIE交换芯片,再通过PCIE交换芯片连接到MPU上的控制处理器的PCIE接口。所述MPU的控制处理器可以采用高性能多核处理器,并通过PCIE接口和总线直接控制分布在各LPU和SFU上的多核处理器和交换网络芯片。
图3所示的实施例中,PCIE总线系统采用两级PCIE交换结构分别连接MPU和LPU、SFU,从PCIE总线逻辑来看,MPU作为PCIE交换系统的根(root),LPU、SFU作为PCIE交换系统的端点(Endpoint);LPU和SFU的两个上行PCIE接口分别连接到两个互为备份的MPU上的PCIE交换芯片,从而构成一个双星型结构的控制面系统,简化了在此路由器设备上所需运行软件的实现复杂度,提高了处理效率。
图4是本发明所述路由器设备的第二种实施例的示意图,参见图4,该实施例中的路由器设备包括:两个MPU和至少两个LPU。所述MPU包括控制处理器、PCIE交换芯片、交换网络芯片(Fabric)。所述LPU包括PCIE交换芯片和多核处理器,当然还包括接口ASIC以及TCAM和SRAM等器件。
图4所示实施例与图3所示实施例的区别是:该实施例是一个MPU和SFU集成的路由器设备,即在MPU上集成SFU(交换网络芯片即Fabric芯片直接集成在MPU上),此时的MPU可以同时提供协议控制和数据转发两大核心功能。
图4中,路由器设备中的其他部分如机箱管理部分在本图中省略。图4中的“--------”为控制总线,“——”为数据总线。所述两个MPU的其中一个为主用MPU,另一个为备用MPU。为了支持主用和备用MPU的HA同步倒换特性,所述每个MPU的PCIE交换芯片至少有两个支持双根(Dual-Root)或多根(Multi-root)的上行PCIE接口,所述其中一个上行PCIE接口连接本MPU的控制处理器的PCIE接口,另一个上行PCIE接口连接另一MPU的控制处理器的PCIE接口,形成HA通道;所述HA通道如图4中的“…………”所示。所述每个MPU的PCIE交换芯片通过下行PCIE接口与本板卡的交换网络芯片连接(本发明所述交换网络芯片具有标准的PCIE接口,具体是通过PCIE接口与所述PCIE交换芯片连接)。同时,所述LPU的PCIE交换芯片至少有两个支持非透明特性(NT---Non-Transparent)的上行PCIE接口,其中一个上行PCIE接口通过控制总线连接所述主用MPU的PCIE交换芯片的下行PCIE接口,另一个上行PCIE接口通过控制总线连接所述备用MPU的PCIE交换芯片的下行PCIE接口。所述LPU的PCIE交换芯片的PCIE下行接口与本板卡的多核处理器连接(本发明所述多核处理器具有标准的PCIE接口,具体是通过PCIE接口与所述PCIE交换芯片连接),所述多核处理器通过数据总线分别与所述主用MPU和备用MPU上的交换网络芯片连接。所述MPU的控制处理器中包括高有效性HA引擎,用于执行所述主用MPU和备用MPU之间的HA同步、故障检测和故障恢复处理。
在图4所示的实施例中,从数据平面来看,每张LPU的上行内部数据交换总线分别连接到两张互为备份的MPU上的交换网络芯片,从而构成一个双星形结构的、互为备份的分布式数据转发系统,这和当前的大多数高端路由器设备的设计是一致的。
但从控制平面来看,LPU不再需要单独的控制处理器。为了构成一个双星型结构的控制系统,在LPU上引入了一个PCIE交换芯片,其下行PCIE接口连接本板卡的多核处理器,上行PCIE接口提供两个PCIE交换接口,这两个上行PCIE接口分别通过路由器设备背板的控制总线连接到两个主备MPU上的PCIE交换芯片,再通过PCIE交换芯片连接到MPU上的控制处理器的PCIE接口。所述控制处理器通过PCIE接口、PCIE交换芯片和控制总线直接控制分布在各LPU上的多核处理器。
图4所示的实施例中,从PCIE总线逻辑来看,MPU作为PCIE交换系统的根,LPU作为PCIE交换系统的端点;LPU的两个上行PCIE接口分别连接到两个互为备份的MPU上的PCIE交换芯片,构成一个双星型结构的控制面系统,简化了在此路由器设备上所需运行软件的实现复杂度,提高了处理效率。
本发明中,将现有技术中SFU和LPU上控制处理器的分布控制功能,全部由MPU的控制处理器集中执行,MPU的控制处理器将对应的控制指令依次通过本处理器的PCIE接口、本MPU上的PCIE交换芯片、控制总线、SFU或LPU上的PCIE交换芯片转发给SFU的交换网络芯片或LPU上的多核处理器,从而实现集中控制,以达到本发明降低软件复杂度和提高效率的目的。
由于MPU需要集中所有的控制功能,因此在硬件上,本发明所述MPU的控制处理器需要采用高性能多核处理器,来实现多个处理引擎,其中每一个处理引擎由至少一个处理器核执行。
上述的各个实施例中,MPU的主控处理器都可以采用高性能的多核处理器,并可能根据高端路由器设备的业务特性和需求,分配不同和不同数量的处理器核(CPU核)来专门执行对应的处理引擎功能。
图5为本发明所述路由器的一种软件逻辑结构实施例的示意图。图5的右侧是LPU中的软件逻辑结构。由于多核分布式路由器系统的性能主要取决于LPU上多核处理器的转发性能,所以,针对多核处理器的硬件特点选择相应的高性能软件架构是本发明的一个重要思路。首先为减少多核处理器的内部Cache的竞争和冲突,选择了裸核或者轻量级执行环境(LWE)作为数据平面转发的运行环境。在此基础上,针对路由器需要在各CPU核之间共享各种转发表项的业务特点,首先在LPU的内存中分配一部分地址空间作为共享内存空间,用于进行各处理器核之间的通信,其中包括存放路由转发表项(FIB),所有处理器核都可以访问,容量大小可以根据具体规格确定;同时为每个处理器核分配了专用的地址空间,用于本处理器核的数据处理。其它处理器核无法访问和使用。为提高转发性能,图5所示的实施例中选择了最大限度增加并发能力的软件模型,分配所有的处理器核均作为包转发核(也称为数据转发核),所有转发核均使用相同的软件映像。所述包转发核由所述MPU的控制处理器进行控制。具体的,是由MPU侧的硬件控制引擎直接通过PCIE总线访问LPU上多核处理器的共享内存空间,来组织、下发和维护路由转发所需的各种表项,同时收集LPU上各CPU核的运行状态和数据。为确保包转发核上的业务转发软件访问路由表的性能,还可实现路由表的无锁(lock-free)访问机制,同时运行在转发核上的业务转发软件应尽可能利用多核处理器的各种硬件加速器,特别是包分发调度器。
所述包分发调度器可以由硬件或软件来实现,目前大多数多核处理器集成硬件包分发调度器,对于没有集成硬件包分发调度器的多核处理器,可以利用外部网络控制器提供的同等机制或分配独立的处理核通过软件来实现。在本发明中,包分发调度器用于分发各种报文(包括控制报文和或业务数据报文)到多核处理器的特定硬件装置或特定的一个或多个处理器核,即包分发调度器通过报文解析(Parser)、分类、保序等动作后判断出数据报文的目的地所处的处理器核,并进行报文调度,同时实现数据流的负载均衡。图5的左侧是MPU软件的逻辑结构图。MPU的主控处理器采用高性能的多核处理器和通用的Linux或其他实时操作系统(RTOS)。在此基础上,根据高端路由器的业务特性和需求,分配不同和不同数量的CPU核来专门负责相应的功能实现。多核处理器中都包括标准的PCIE接口,可以在处理器内部与各处理引擎进行信号交互。所述多核处理器中可以包括以下处理引擎中的至少一种:
硬件维护引擎:用于与路由器设备中的智能机箱管理系统(CMM)配合在一起提供硬件板卡加载控制、电源智能管理、设备内部温度监控、板卡在线状态检查等功能保证设备的正常运行。
硬件控制引擎:用于提供对LPU的多核处理器和SFU的网络交换芯片的管理、配置、控制和状态收集。由于在高端路由器设备上可能使用的芯片的数量比较多,所以可能需要分配多个处理器核来满足硬件控制的性能要求。在这种情况下,可以根据硬件控制功能逻辑来分配和使用这些处理器核。
保护引擎:用于提供控制面协议保护功能,通过实现报文精细控制,为系统提供完善的抗协议报文攻击能力。
控制引擎:提供控制平面协议和设备管理两大核心功能,处理各种协议报文及控制报文;在一些可靠性要求比较高的系统中,可以把控制平面协议和设备管理两大功能分开在不同的处理器核上实现,以增强系统性能和可靠性。
检测引擎:用于提供BFD、OAM等快速故障检测功能,并与控制平面的协议配合,支持网络业务的快速保护切换和快速收敛,可以实现50ms的故障检测,保障业务不中断。
HA引擎:用于提供高可靠性和高有效性所需要的主用和备用MPU之间的HA同步、HA故障检测和HA故障恢复功能。
本发明通过在MPU上分配不同的处理器核,实现了硬件维护平面、硬件控制平面、控制平面、检测平面、HA平面以及硬件实现的高性能转发平面相互分离,从而把各个功能平面的功能耦合和相互影响降到最低,各平面各司其职,降低了软件实现的复杂性,真正实现高端路由器设备所需的高可用、高可靠、高性能、易维护。
图6为本发明所述路由器的又一种软件逻辑结构实施例的示意图。参见图6右侧,该图6所示实施例与图5所示实施例的区别在于LPU的多核处理器的分配。主要的原因是在图5所示的实施例中,需要MPU直接通过内存访问的形式来下发和维护路由转发所需的各种表项,这和业界习惯于在MPU和LPU之间实现一个通信协议来实现MPU和LPU之间通信的习惯有所不一致,另外,现在支持PCIE接口数据加速的多核处理器越来越多。为了充分利用这些硬件加速特性,在图6所示的实施例中,分配LPU的多核处理器中的一个处理器核为控制核,其余所有的处理器核均作为包转发核,同图5所示的实施例一样,所有转发核均使用相同的软件映像,这样,可以利用现有的通信方式和硬件加速特性。所述包转发核由所述控制核进行控制,控制核的主要功能是:(1)负责和MPU之间的通信,包括接收MPU发来的各种转发表项;(2)组织和维护共享内存空间的路由转发表项;(3)收集其他各核的运行状态数据。同样,在控制核和转发核之间还可实现路由表的无锁(lock-free)共享访问机制。但这里需要注意的是,为减少控制核和转发核之间的相互影响,需要对控制核的功能和规模严格加以限制,控制核也运行在裸核或轻量级运行环境(LWE)之上,同时,在MPU和LPU的之间通信协议也需要简单、轻量级的定义和实现。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (10)

1.一种路由器设备,包括主控卡、交换卡和线卡,其特征在于,
所述主控卡包括控制处理器和PCIE交换芯片;所述交换卡包括PCIE交换芯片和交换网络芯片;所述线卡包括PCIE交换芯片和多核处理器;
在所述主控卡中,所述PCIE交换芯片通过上行PCIE接口与所述控制处理器连接,通过下行PCIE接口和控制总线与所述线卡和所述交换卡的PCIE交换芯片的上行PCIE接口连接;
所述交换卡PCIE交换芯片的PCIE下行接口与本板卡的交换网络芯片连接,所述交换网络芯片通过数据总线与所述线卡上的多核处理器连接;
所述线卡PCIE交换芯片的PCIE下行接口与本板卡的多核处理器连接,所述多核处理器通过数据总线与所述交换卡上的交换网络芯片连接。
2.根据权利要求1所述的路由器设备,其特征在于,所述主控卡为两个,其中一个为主用主控卡,另一个为备用主控卡;所述每个主控卡的PCIE交换芯片至少有两个支持双根或多根的上行PCIE接口,其中一个上行PCIE接口连接本主控卡的控制处理器,另一个上行PCIE接口连接另一主控卡的控制处理器;
所述交换卡为至少两个,所述每个交换卡的PCIE交换芯片至少有两个支持非透明特性的上行PCIE接口,其中一个上行PCIE接口通过控制总线连接所述主用主控卡PCIE交换芯片的下行PCIE接口,另一个上行PCIE接口通过控制总线连接所述备用主控卡PCIE交换芯片的下行PCIE接口;
所述线卡的PCIE交换芯片至少有两个支持非透明特性的上行PCIE接口,其中一个上行PCIE接口通过控制总线连接所述主用主控卡PCIE交换芯片的下行PCIE接口,另一个上行PCIE接口通过控制总线连接所述备用主控卡PCIE交换芯片的下行PCIE接口。
3.根据权利要求2所述的路由器设备,其特征在于,所述主控卡的控制处理器中包括高有效性HA引擎,用于执行所述主用主控卡和备用主控卡之间的HA同步、故障检测和故障恢复处理。
4.根据权利要求1-3任一项所述的路由器设备,其特征在于,所述线卡的多核处理器中的各处理器核的运行环境为裸核或轻量级执行环境;且所述线卡中进一步包括:
包分发调度器,用于分发来自主控卡的控制包或数据包到多核处理器的特定硬件装置或特定的一个或多个处理器核;
共享内存空间,用于进行各处理器核之间的通信;
每个处理器核的专用地址空间,用于本处理器核的数据处理。
5.根据权利要求4所述的路由器设备,其特征在于,
所述线卡的多核处理器中的各处理器核都为包转发核,所述包转发核由所述主控卡的控制处理器进行控制;
或者,所述线卡的多核处理器中,有一个处理器核为控制核,其他处理器核为包转发核,所述包转发核由所述控制核进行控制。
6.根据权利要求1所述的路由器设备,其特征在于,所述主控卡的控制处理器为多核处理器,其运行环境为实时操作系统;所述控制处理器包括多个处理引擎,其中每一个处理引擎由至少一个处理器核执行。
7.根据权利要求6所述的路由器设备,其特征在于,所述处理引擎包括以下处理引擎中的至少一种:
硬件维护引擎,用于机箱设备管理;
硬件控制引擎,用于提供对线卡和交换卡的控制数据交换和管理;
保护引擎,用于提供控制平面协议保护处理;
控制引擎,用于提供控制平面协议和设备管理;
检测引擎,用于提供快速故障检测处理、以及网络业务的快速保护切换和快速收敛处理;
HA引擎,用于在所述主控卡包括主用主控卡和备用主控卡时,执行所述主用主控卡和备用主控卡之间的HA同步、故障检测和故障恢复处理。
8.一种路由器设备,包括主控卡和线卡,其特征在于,
所述主控卡包括控制处理器、PCIE交换芯片和交换网络芯片;所述线卡包括PCIE交换芯片和多核处理器;
在所述主控卡中,所述PCIE交换芯片通过上行PCIE接口与所述控制处理器连接,通过下行PCIE接口和控制总线与所述线卡PCIE交换芯片的上行PCIE接口连接,通过下行PCIE接口与所述交换网络芯片连接;
所述线卡PCIE交换芯片的PCIE下行接口与本板卡的多核处理器连接,所述多核处理器通过数据总线与所述交换网络芯片连接。
9.根据权利要求8所述的路由器设备,其特征在于,所述主控卡为两个,其中一个为主用主控卡,另一个为备用主控卡;所述每个主控卡的PCIE交换芯片至少有两个支持双根或多根的上行PCIE接口,其中一个上行PCIE接口连接本主控卡的控制处理器,另一个上行PCIE接口连接另一主控卡的控制处理器;
所述线卡的PCIE交换芯片至少有两个支持非透明特性的上行PCIE接口,其中一个上行PCIE接口通过控制总线连接所述主用主控卡PCIE交换芯片的下行PCIE接口,另一个上行PCIE接口通过控制总线连接所述备用主控卡PCIE交换芯片的下行PCIE接口。
10.根据权利要求9所述的路由器设备,其特征在于,所述主控卡的控制处理器中包括高有效性HA引擎,用于执行所述主用主控卡和备用主控卡之间的HA同步、故障检测和故障恢复处理。
CN201110447103.9A 2011-12-28 2011-12-28 一种路由器设备 Active CN103188157B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110447103.9A CN103188157B (zh) 2011-12-28 2011-12-28 一种路由器设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110447103.9A CN103188157B (zh) 2011-12-28 2011-12-28 一种路由器设备

Publications (2)

Publication Number Publication Date
CN103188157A CN103188157A (zh) 2013-07-03
CN103188157B true CN103188157B (zh) 2016-06-08

Family

ID=48679128

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110447103.9A Active CN103188157B (zh) 2011-12-28 2011-12-28 一种路由器设备

Country Status (1)

Country Link
CN (1) CN103188157B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103457797B (zh) * 2013-08-29 2016-12-28 杭州华三通信技术有限公司 一种rcpu端口有效性的检测方法和设备
CN105335330A (zh) * 2015-12-09 2016-02-17 浪潮电子信息产业股份有限公司 一种基于主从架构的微服务器集群系统
CN105939259B (zh) * 2016-07-01 2019-08-20 锐捷网络股份有限公司 路由器的控制方法、装置及路由器
US10447585B2 (en) 2016-12-19 2019-10-15 Futurewei Technologies, Inc. Programmable and low latency switch fabric for scale-out router
CN106921672B (zh) * 2017-03-28 2023-12-22 南京国电南自维美德自动化有限公司 一种基于交换芯片的多网口多cpu的规约转换装置
CN108259369B (zh) * 2018-01-26 2022-04-05 迈普通信技术股份有限公司 一种数据报文的转发方法及装置
CN113328951B (zh) * 2018-09-18 2022-10-28 阿里巴巴集团控股有限公司 节点设备、路由方法及互联系统
CN109815186A (zh) * 2018-12-18 2019-05-28 北京航天晨信科技有限责任公司 双冗余通信设备及方法
CN112491672B (zh) * 2019-09-11 2022-05-06 杭州海康威视数字技术股份有限公司 一种pcie通信系统、通信配置参数备份方法及pcie交换机
CN112202814B (zh) * 2020-11-04 2022-02-08 中国电子科技集团公司第三十研究所 一种路由交换设备内生安全动态防护功能的处理方法
CN114422427B (zh) * 2021-12-27 2024-03-08 天翼云科技有限公司 一种流量均衡方法、装置、电子设备和存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101277195B (zh) * 2007-03-30 2011-12-07 杭州华三通信技术有限公司 一种交换网通信系统、实现方法及交换装置
CN101197649B (zh) * 2008-01-03 2011-06-22 福建星网锐捷网络有限公司 外部设备互联高速总线接口与交换机端口测试方法及系统
CN101483529B (zh) * 2009-02-13 2011-06-22 北京星网锐捷网络技术有限公司 模块化交换机及其运行方法
WO2011157138A2 (zh) * 2011-05-31 2011-12-22 华为技术有限公司 多核路由器

Also Published As

Publication number Publication date
CN103188157A (zh) 2013-07-03

Similar Documents

Publication Publication Date Title
CN103188157B (zh) 一种路由器设备
CN103188173B (zh) 一种交换机设备
CN105279133B (zh) 基于SoC在线重构的VPX并行DSP信号处理板卡
US9331958B2 (en) Distributed packet switching in a source routed cluster server
US10348563B2 (en) System-on-chip (SoC) optimization through transformation and generation of a network-on-chip (NoC) topology
US8412863B2 (en) Storage apparatus and virtual port migration method for storage apparatus
US9300574B2 (en) Link aggregation emulation for virtual NICs in a cluster server
CN101710314B (zh) 高速外围部件互连交换控制器及其实现方法
US9264346B2 (en) Resilient duplicate link aggregation emulation
CN101908036B (zh) 一种高密度多处理器系统及其节点控制器
US20140188996A1 (en) Raw fabric interface for server system with virtualized interfaces
JP5069732B2 (ja) 計算機装置、計算機システム、アダプタ承継方法
CN101765838B (zh) 用于改善可路由架构的性能的系统和方法
US8204054B2 (en) System having a plurality of nodes connected in multi-dimensional matrix, method of controlling system and apparatus
CN106776159A (zh) 具有故障转移的快速外围元件互连网络系统与操作方法
US10218580B2 (en) Generating physically aware network-on-chip design from a physical system-on-chip specification
US20150036681A1 (en) Pass-through routing at input/output nodes of a cluster server
CN106575283B (zh) 使用元胞自动机的群集服务器配置
US20150331807A1 (en) Thin provisioning architecture for high seek-time devices
CN105897574A (zh) 一种支持双网双主冗余的Modbus RTU/TCP网关装置
CN104135514A (zh) 融合式虚拟化存储系统
US20130315058A1 (en) Relay device, connection management method, and information communication system
CN206807466U (zh) 一种基于pcie非透明桥的高可用冗余加密终端
CN109684257B (zh) 一种远程内存扩展管理系统
CN105763488A (zh) 数据中心汇聚核心交换机及其背板

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant