发明内容
有鉴于此,本发明中一方面提供一种交换网通信系统及主控板,另一方面提供一种交换网通信方法,以便降低交换网通信系统的成本。
本发明所提供的交换网通信系统,包括:主控板、分布式线卡板、集中式线卡板和交换单元,所述交换单元包括分布式交换单元和集中式交换单元,其中,
所述主控板通过所述分布式交换单元与所述分布式线卡板进行通信,并通过所述集中式交换单元与所述集中式线卡板进行通信;
所述分布式线卡板与所述集中式线卡板通过所述主控板以及所述交换单元进行数据转发。
较佳地,所述集中式交换单元为第一外设部件互联高速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根联合体模块对第二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交换器进行数据平面的通信。
较佳地,该主控板进一步包括:以太网媒体控制模块,用于提供以太网接口,并通过所述以太网接口与所述交换单元中的以太网交换单元相连;
所述控制模块进一步通过所述以太网媒体控制模块和所述以太网交换单元与分布式线卡板进行控制平面的通信。
较佳地,所述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交换器发送给主控板的路由引擎;
主控板的分布式路由引擎将报文传递给主控板的集中式路由转发引擎;
集中式路由转发引擎剥离报文的出端口信息后,将报文通过第一PCIE交换器转发给相应的集中式线卡板;
集中式线卡板将报文通过相应出端口发送出去。
较佳地,该方法进一步包括:
分布式线卡板的转发引擎在所述报文为协议报文或控制报文时,计算、更新转发表;
将更新后的转发表信息通知给主控板的集中式路由转发引擎,并通过以太网交换单元通知给各分布式线卡板的转发引擎。
从上述方案可以看出,本发明通过在包括主控板、分布式线卡板和交换单元的交换网通信系统中设置集中式线卡板,并相应的在主控板和集中式线卡板之间的通信基于PCIE(PCI Express,外设部件互联高速)总线实现,从而降低了通信系统全部由分布式线卡板构成时的成本。
进一步地,通过将分布式线卡板与主控板之间的数据平面的通信基于成本较低的PCIE总线实现,从而进一步降低了通信系统的成本。
具体实施方式
本发明实施例中,为了降低全部采用分布式线卡板时带来的高成本,在交换网通信系统中同时引入分布式线卡板和集中式线卡板,分布式线卡板和集中式线卡板都用于报文的接收和转发,不同之处在于,二者的转发机制不同,分布式线卡板通过自身的转发引擎进行转发,集中式线卡板通过主控板的转发引擎进行转发。可见,集中式线卡板由于不带有转发引擎,因此成本较低,虽然使用集中式线卡板时,需要主控板完成转发引擎的功能,但多个集中式线卡板共用该主控板上的转发引擎,转发引擎的数量得到降低,成本也就相应降低了。
实际应用中,集中式线卡板和分布式线卡板的数量可根据实际需要及基于成本的考虑等而进行自由配置。
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明进一步详细说明。
实施例一:
图2为本发明实施例一中交换网通信系统的示例性结构示意图。如图2所示,该系统包括:主控板、分布式线卡板、集中式线卡板和交换单元。其中,交换单元包括主控板与分布式线卡板进行通信时分布式交换单元,本实施例中的分布式交换单元包括相互分离的数据平面交换单元和控制平面交换单元,以及主控板与集中式线卡板进行通信时的集中式交换单元。
进一步地,分布式线卡板与集中式线卡板还可通过主控板和交换单元进行数据转发。
现有技术中,承载分布式数据平面的交换网通常基于ATM(Asynchronous Transfer Mode,异步传输模式)交换芯片或者以太网交换芯片或者其他专用的ASIC芯片等实现,而分布式控制平面通常采用点对点的方式,每个线卡板都和主控板进行通信。
本发明实施例中,为了使主控板和集中式线卡板进行通信,承载集中式数据平面和控制平面的交换网可基于PCI(外设部件互联)总线的桥片或PCIE总线的交换芯片等来实现。其中,基于PCI总线实现时,主控板与每个集中式线卡板通过一组PCI总线相连,此时,主控板上的PCI接口对应一个或多个集中式线卡板;基于PCIE总线实现时,主控板可通过PCIE交换器扩充PCIE接口,主控板与PCIE交换器、PCIE交换器与各个集中式线卡板之间通过PCIE总线相连。
下面以基于PCIE总线实现时的情况为例,由于基于PCIE总线的交换系统可包括PCIE根联合体(PCI Express Root complex)和一个或一个以上的PCIE终端(PCI Express Endpoint)。PCIE根联合体通过PCIE总线与PCIE终端相连,并在CPU的控制下完成对PCIE终端的配置,其中,PCIE根联合体与PCIE终端均具有PCIE接口,用于经所述接口形成PCIE链路连接。此外,PCIE根联合体与PCIE终端之间也可以有PCIE交换器,用于扩充PCIE根联合体的接口数量,则PCIE交换器上具有多个PCIE接口,分别与PCIE根联合体和PCIE终端通过PCIE总线相连。因此,本实施例中,可将PCIE根联合体的功能设置在主控板侧,将PCIE终端的功能设置在集中式线卡板侧,将PCIE交换器设置在主控板与集中式线卡板之间,即图2中的集中式交换单元为PCIE交换器,从而实现基于PCIE总线的交换网。如图3所示,图3为本发明实施例一中交换网通信系统的又一示例性结构示意图。
图3所示通信系统中,每个集中式线卡板用于接收通过入端口接收来自外部接口的报文,将所述报文转换为PCIE规范的报文后发送给PCIE交换器;接收来自PCIE交换器的PCIE规范的报文,将所述PCIE规范的报文转换为外部接口的报文后,将所述报文通过对应的出端口发送给外部。
PCIE交换器提供多个PCIE接口连接到主控板和各集中式线卡板,即主控板、PCIE交换器、各集中式线卡板之间通过PCIE总线相连,PCIE交换器用于在主控板和各集中式线卡板之间转发报文。包括:接收来自集中式线卡板的报文,将所述报文发送给主控板;接收来自主控板的报文,根据所述报文中的PCIE头,如目标集中式线卡板的地址信息,将所述报文发送给相应的集中式线卡板,进一步地,若报文中还有优先级信息,则PCIE交换器还可根据报文中的优先级信息,对报文进行转发。
本发明实施例中,PCIE交换器可以提供多个独立的PCIE串行总线,这些独立的串行总线既可以独立成为一个PCIE线路,也可以多个线路捆绑在一个逻辑串行线路上,每个线卡板通过一个逻辑串行线路与PCIE交换器连接。为了满足转发性能,捆绑线路的数量依据系统需要提供的带宽决定,如PCIE 1.0规范中,1个通道可以支持2.5Gbps,4个通道可以支持10Gbps,16个通道可以支持40Gbps的带宽;又如PCIE2.0规范中,1个通道可以支持5Gbps,4个通道可以支持20Gbps的带宽,可见,逻辑串行线路可以依据用户的需求进行设计。
主控板用于实现集中式路由转发引擎和分布式路由引擎的功能。实现集中式路由转发引擎时,通过PCIE交换器与各集中式线卡板进行通信,具体包括:通过PCIE交换器对集中式线卡板进行配置,配置完成后,接收PCIE交换器转发的集中式线卡板的报文,根据所述报文中的信息查转发表后,更新报文头信息,对报文进行PCIE封装(即在报文中添加PCIE头,该地址头可包括目标集中式线卡板的出端口地址信息),将封装后的报文发送给PCIE交换器,由PCIE交换器转发给相应的集中式线卡板。进一步地,主控板还可在所述报文中添加优先级信息。主控板实现分布式路由引擎时,通过分布式控制平面交换单元与分布式线卡板进行控制平面的通信。
分布式数据平面交换单元,用于根据报文中的目标分布式线卡板信息或主控板信息,将报文转发到相应的分布式线卡板或主控板。
分布式线卡板,用于通过入端口接收外部的报文,由自身的转发引擎根据报文中携带的信息查找转发表,更新报文头信息,若查表显示报文通过自身的出端口发送,则直接将报文发送出去;若查表显示报文通过其他分布式线卡板发送,则在所述报文中添加出端口信息(通常为对应出端口的目的板号、槽位号、端口号等)后,对报文进行相应接口的封装,在报文中添加目标分布式线卡板的地址信息,将封装后的报文通过分布式数据平面交换单元转发给相应的分布式线卡板。此外,分布式线卡板还用于接收数据平面交换单元转发的报文,剥离出端口信息(通常为对应出端口的目的板号、槽位号、端口号等),将所述报文通过相应地出端口发送出去。
进一步地,分布式线卡板和集中式线卡板还可以通过PCIE交换器、主控板以及分布式数据平面交换单元进行数据平面的通信。具体包括:
主控板根据来自PCIE交换器的报文中的信息查转发表后,显示报文需要转发到分布式线卡板,则主控板在所述报文中添加出端口信息(通常为对应出端口的目的板号、槽位号、端口号等)后,对报文进行相应接口的封装,在报文中添加目标分布式线卡板的地址信息,将封装后的报文通过分布式数据平面交换单元转发到相应的分布式线卡板,即由分布式数据平面交换单元根据述报文中的目标分布式线卡板的地址信息,将报文转发到相应的分布式线卡板,再由该分布式线卡板的转发引擎剥离报文中的出端口信息,将报文通过所述出端口发送出去。
分布式线卡板根据接收的外部报文的信息查转发表后,若显示报文需要转发到集中式线卡板,则在所述报文中添加出端口信息(通常为对应出端口的目的板号、槽位号、端口号等)后,对报文进行相应接口的封装,在报文中添加主控板的地址信息,将封装后的报文通过数据平面转发单元转发到主控板,主控板剥离出端口信息(即对对应出端口的目的板号、槽位号、端口号等进行剥离)后,对报文进行PCIE封装,即在报文中添加PCIE头,该地址头可包括目标集中式线卡板的出端口地址信息,之后,将封装后的报文通过PCIE交换器转发给集中式线卡板。
其中,主控板的内部结构可如图4所示,包括:控制单元、存储单元和程序单元。其中,存储单元可以为内存,例如RAM(随机存取存储器),用于CPU程序的执行、报文的缓存、表项的存储、统计信息数据等;程序单元可以为FLASH(闪存),用于CPU的运行,CPU上电读取其中的BIOS程序代码,并将主执行程序搬移到RAM中执行。这两个单元可以和现有技术中主控板内的相应单元一致。控制单元既要作为集中式线卡板的路由引擎和转发引擎,又要作为分布式线卡板的路由引擎,性能要求较高,因此,可选择高主频多核处理器。
具体实现时,如图4所示,主控板的控制单元可包括控制模块、PCIE根联合体模块以及分布式处理模块。
其中,PCIE根联合体模块,主要实现PCIE根联合体的功能,提供PCIE接口。具体包括:接收PCIE交换器转发的报文,对所述报文进行PCIE解析,解析出报文,将解析出的报文提供给控制模块;根据控制模块的通知,对欲发送报文进行PCIE封装,添加目标集中式线卡板的出端口地址信息后,将所述报文发送给PCIE交换器。
分布式处理模块的功能可与现有技术中一样,用于提供主控板与分布式线卡板之间通信的相关功能,此处不再赘述。
控制模块,通常为CPU,用于通过分布式处理模块对分布式数据平面交换单元和分布式控制平面交换单元进行配置,并通过分布式处理模块和分布式控制平面交换单元进行控制平面的通信;通过PCIE根联合体模块对PCIE交换器进行配置,通过PCIE根联合体模块和PCIE交换器对集中式线卡板进行配置;根据PCIE根联合体模块接收的来自集中式线卡板的报文中的信息查转发表,更新报文头信息,若报文需要转发到集中式线卡板,则由PCIE根联合体模块对所述报文进行PCIE封装,即控制模块可将对应的目标集中式线卡板的出端口地址信息通知给PCIE根联合体模块,由PCIE根联合体模块在所述报文中封装目标集中式线卡板的出端口地址信息,之后,将封装后的报文通过PCIE交换器转发给相应的集中式线卡板,即PCIE交换器根据所述报文PCIE头中的地址信息(如目标集中式线卡板的出端口地址信息),将报文发送给相应的集中式线卡板,由该集中式线卡板将报文通过对应的出端口发送出去。
进一步地,若查转发表后,显示报文需要转发到分布式线卡板,则控制模块在所述报文中添加出端口信息(通常为对应出端口的目的板号、槽位号、端口号等),并将目标分布式线卡板的地址信息通知给分布式处理模块,由分布式处理模块对所述报文进行相应接口的封装,在所述报文中封装目标分布式线卡板的地址信息后,将封装后的报文通过分布式数据平面交换单元转发给相应的分布式线卡板,即分布式数据平面交换单元根据所述报文中的目标分布式线卡板信息,将报文转发到相应的分布式线卡板,由该分布式线卡板的转发引擎剥离所述出端口信息后,将报文通过所述出端口发送出去。
上述控制单元可以用带有PCIE接口功能的SoC(System on Chip,芯片系统)处理器实现,当然SoC处理器也可以不带PCIE接口,可以与提供PCIE接口的外置北桥和南桥设备组合实现。但一般情况下集成PCIE根联合体功能的SoC芯片更便宜,性价比更优。
此外,对于不采用PCIE总线承载集中式数据平面和控制平面的交换网的情况,主控板中的PCIE根联合体模块相应的变为其他的集中式处理模块,用于接收集中式交换单元转发的报文,对所述报文进行解析,将解析出的报文提供给控制模块;根据控制模块的通知,对欲发送报文进行封装,添加目标集中式线卡板的出端口地址信息后,将所述报文发送给集中式交换单元。同样控制模块的功能也根据上述描述作适应性调整,此处不再赘述。
具体实现时,每个集中式线卡板可如图5所示,包括:对外接口单元、适配转换单元和PCIE终端单元。
其中,对外接口单元,用于连接其它可选用户端口,如可以为POS(PacketOver SONET/SDH,SONET/SDH上的分组)、以太网接口、ATM接口等,根据用户需求可选的各种接口,提供了线卡板的对外接口;用于在用户端口和适配转换单元之间传输报文,接口可以为SPI4(System Packet InterfaceLevel 4,系统包接口第4级)接口、XGMII(10G Media Independent Interface,10G介质无关)接口等。具体操作可包括:对来自外部接口的报文进行媒体接入控制层(MAC)和物理层(PHY)解析,将识别出的报文发送给适配转换单元;接收来自适配转换单元的报文,对所述报文进行MAC/PHY封装,将封装后的报文发送给外部接口。
适配转换单元用于在所述对外接口单元和所述PCIE终端单元之间进行报文的适配转换。其中,针对对外接口单元连接的不同用户端口,需要不同的适配转换单元,例如,如对外接口单元为SPI4,则适配转换单元完成SPI4报文的识别、提取报文,或者完成SPI4报文的封装;如果用户端口为XGMII接口,则适配转换单元完成XGMII接口报文的解析和封装。
PCIE终端单元,主要实现PCIE终端的功能,提供PCIE接口。具体操作可包括:接收来自PCIE交换器的报文,对其进行PCIE解析,解析出报文,根据报文中的出端口信息,将报文发送给对应出端口的适配转换单元;接收来自适配转换单元的报文,对其进行PCIE封装,将封装后的报文发送给PCIE交换器。
其中,对外接口单元可同时与多种类型的用户端口相连,相应地,针对不同类型的用户端口,分别对应一个不同的适配转换单元,为了便于不同类型用户端口报文的及时传输,该集中式线卡板可进一步包括一个PCIE交换器(图5中未示出),用于扩展PCIE接口,此时PCIE终端单元也可有多个,以便与适配转换单元相对应。
前面所述主控板对集中式线卡板的配置可以是对集中式线卡板的PCIE终端单元的配置,进一步还包括对集中式线卡板中PCIE交换器的配置。
以上对本发明实施例一中的交换网通信系统进行了详细描述,下面再对本发明实施例一中的交换网通信方法进行详细描述。
图6为本发明实施例一中交换网通信方法的示例性流程图。如图6所示,该流程包括如下步骤:
步骤601,通过主控板对分布式线卡板和集中式线卡板进行配置。
本步骤中,主控板可通过PCIE总线对PCIE交换器进行配置,并通过PCIE交换器对集中式线卡板进行配置。
步骤602,主控板通过交换单元中的分布式交换单元与分布式线卡板进行通信,并通过交换单元中的集中式交换单元与集中式线卡板进行通信。
进一步地,分布式线卡板与集中式线卡板通过主控板以及交换单元进行数据转发。
本步骤中,主控板与集中式线卡板可通过PCIE交换器进行通信,分布式线卡板可通过分布式数据平面交换单元进行数据平面的通信,主控板与分布式线卡板可通过分布式控制平面交换单元进行控制平面的通信。具体通信过程可分别如图7和图8所示。
图7示出了集中式线卡板接收外部报文时的流程图。如图7所示,该流程包括如下步骤:
步骤701,报文通过入端口进入某个集中式线卡板。
步骤702,集中式线卡板将所述报文通过PCIE交换器转发给主控板的集中式路由转发引擎。
步骤703,集中式路由转发引擎判断所述报文的类型,如果报文为控制报文或协议报文,则执行步骤704,否则执行步骤707。
步骤704,计算、更新自身的转发表。
步骤705,将更新后的转发表信息通知给主控板的分布式路由引擎。
步骤706,分布式路由引擎将所述转发表信息通过分布式控制平面交换单元通知给各分布式线卡板,并结束。
步骤707,集中式路由转发引擎根据报文中的信息,查找转发表,更新报文头信息。
步骤708,根据查表结果,判断报文需要转发的线卡板类型,如果报文需要转发到分布式线卡板,则执行步骤709;否则,执行步骤712。
步骤709,在报文中添加出端口的信息,并将报文发送给主控板的分布式路由引擎。
本步骤中,出端口的信息可包括目的板号、槽位号和端口号等。
步骤710,分布式路由引擎将报文通过分布式数据平面交换单元转发给对应出端口的分布式线卡板。
步骤711,分布式线卡板的转发引擎剥离所述出端口信息后,将报文通过所述出端口发送出去。
本步骤中,分布式线卡板的转发引擎剥离报文的目的板号、槽位号和端口号等信息后,将报文从所述出端口发送出去,并结束。
步骤712,对报文进行PCIE封装后,将报文通过PCIE交换器转发给对应的集中式线卡板。
步骤713,集中式线卡板将报文通过相应出端口发送出去。
图8示出了分布式线卡板接收外部报文时的流程图。如图8所示,该流程包括如下步骤:
步骤801,报文通过入端口进入某个分布式线卡板。
步骤802,分布式线卡板的分布式转发引擎判断所述报文的类型,如果报文为控制报文或协议报文,则执行步骤803,否则执行步骤805。
步骤803,分布式转发引擎将报文通过分布式控制平面的交换单元转发给主控板的分布式路由引擎。
步骤804,分布式路由引擎计算更新转发表。
步骤805,分布式路由引擎将更新后的转发表信息通知给主控板的集中式路由转发引擎,并通过分布式控制平面的交换单元通知给各分布式线卡板的转发引擎,并结束。
步骤806,分布式转发引擎查找转发表。
步骤807,根据查表结果,在报文中添加出端口的信息。
本步骤中,出端口的信息可包括目的板号、槽位号和端口号等。
步骤808,判断报文需要转发的线卡板类型,如果报文需要转发到集中式线卡板,则执行步骤809;否则,执行步骤813。
步骤809,报文通过分布式数据平面交换单元转发到主控板的分布式路由引擎。
步骤810,主控板的分布式路由引擎将报文传递给主控板的集中式路由转发引擎。
步骤811,集中式路由转发引擎剥离报文的出端口信息,更新报文的PCIE地址头信息,将报文通过PCIE交换器转发给相应的集中式线卡板。
本步骤中,对出端口信息进行剥离时,通常是将对应出端口的目的板号、槽位号、端口号等信息进行剥离。
步骤812,集中式线卡板将报文通过相应出端口发送出去,并结束。
步骤813,将报文通过分布式数据平面的交换单元转发到目的分布式线卡板。
步骤814,目的分布式线卡板的转发引擎剥离所述出端口信息后,将报文通过所述出端口发送出去。
本步骤中,分布式线卡板的转发引擎剥离报文的目的板号、槽位号和端口号等信息后,将报文从所述出端口发送出去。
其中,主控板中的集中式路由转发引擎和分布式路由引擎可以相互独立,也可以集成在一起。
实施例二:
考虑到现有技术中通常基于ATM交换芯片或者以太网交换芯片或者其他专用的ASIC芯片实现分布式数据平面交换网的承载,而由于基于ATM的交换网设备通常成本很高,基于以太网交换芯片的交换网设备,在流量较大的情况下,通常会出现拥塞,而且也无法支持服务质量(QoS,Quality ofService)、流量控制等,虽然现有技术也有试图通过各种中心调度、线卡板队列管理等方式优化基于以太网芯片的交换网,但其复杂度和成本非常高。基于专用ASIC芯片的交换网设备,由于标准不统一,致使成本也比较高。可见,现有的交换网设备要么成本很高且实现复杂,要么无法满足复杂的业务需求。
因此,为了进一步降低采用ATM交换芯片、以太网交换芯片、专用ASIC芯片等实现交换网时的高成本,承载分布式数据平面的交换网也可采用基于PCIE总线的交换芯片来实现,PCIE同PCI一样,是基于计算机的应用,因此相比较ATM交换芯片、以太网交换芯片以及专用ASIC交换芯片,基于PCIE总线的交换芯片的价格会非常低。
本发明实施例中,可利用一组PCIE总线承载集中式数据平面和控制平面的信息,利用另外一组PCIE总线承载分布式数据平面的信息,此时,分布式数据平面交换单元可以为PCIE交换器,且主控板和PCIE交换器之间,PCIE交换器和分布式线卡板之间采用PCIE总线连接。为了和集中式线卡板对应的PCIE交换器相区别,本实施例中,将集中式线卡板对应的PCIE交换器称为第一PCIE交换器,将分布式线卡板对应的PCIE交换器称为第二PCIE交换器。此外,对于分布式控制平面的信息,可采用PCIE总线,或者也可采用以太网总线(如千兆以太网总线)或其他总线来承载,例如,以采用以太网总线的情况为例,则分布式控制平面交换单元可以为以太网交换单元,得到如图9所示的交换网通信系统。
图9为本发明实施例二中交换网通信系统的示例性结构示意图。该交换网通信系统包括:主控板、分布式线卡板、集中式线卡板和交换单元。其中,交换单元包括:第一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头,该PCIE头可包括主控板的地址信息,将封装后的报文通过第二PCIE交换器转发到主控板,主控板进一步对出端口信息进行剥离(通常将对应出端口的目的板号、槽位号、端口号等信息进行剥离)后,对报文进行PCIE封装,即在报文中添加PCIE头,该地址头可包括目标集中式线卡板的出端口地址信息,之后,将封装后的报文通过PCIE交换器转发给集中式线卡板。
本实施例中,主控板的内部结构可至少包括如下两种。
第一种:
如图10所示,图10为本发明实施例二中主控板的一个结构示意图。与图4所示主控板相似,本实施例中,主控板也包括:控制单元、内存单元和程序单元。不同之处在于:本实施例中的控制单元具体包括:控制模块、PCIE根联合体模块和以太网媒体控制模块。
其中,PCIE根联合体模块,除了实现与集中式线卡板相连时的PCIE根联合体的功能外,还实现与分布式线卡板的数据平面相连时的PCIE根联合体的功能,即图4所示分布式处理模块的部分功能,本实施例中,PCIE根联合体模块包括两个PCIE接口,第一PCIE接口和第二PCIE接口,其中第一PCIE接口用于通过一组PCIE总线与第一PCIE交换器相连,第二PCIE接口用于通过另一组PCIE总线与第二PCIE交换器相连。对于每个PCIE的接口,PCIE根联合体模块的具体操作可包括:接收对应的PCIE交换器转发的报文,对所述报文进行PCIE解析,解析出报文,将解析出的报文提供给控制模块;根据控制模块的通知,对报文进行PCIE封装,包括:在报文中添加目标集中式线卡板的出端口地址信息或目标分布式线卡板的地址信息后,通过对应的PCIE接口将所述报文发送给对应的PCIE交换器。
以太网媒体控制模块,用于提供以太网接口,实现控制模块与以太网交换单元间的通信。具体操作可包括:接收以太网交换单元转发的报文,对所述报文进行以太网解析,解析出报文,将识别出的报文提供给控制模块,接收控制模块发送的报文,对所述报文进行以太网封装后发送给以太网交换单元。
控制模块,通常为CPU,用于通过所述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接口功能的SoC处理器实现,当然SoC处理器也可以不带PCIE总线接口和以太网接口,可以与提供PCIE总线和以太网接口的外置北桥和南桥设备组合实现。但一般情况下集成PCIE根联合体功能和以太网媒体控制接口功能的SoC芯片更便宜,性价比更优。
第二种:
如图11所示,图11为本发明实施例二中主控板的又一个结构示意图。与图4所示主控板相似,本实施例中,主控板也包括:控制单元、内存单元和程序单元。不同之处在于:本实施例中的控制单元具体包括:第一控制模块、第一PCIE根联合体模块、第二控制模块、第二PCIE根联合体模块和以太网媒体控制模块。其中,第一控制模块和第一PCIE根联合体模块主要实现集中式路由转发引擎的功能;第二控制模块、第二PCIE根联合体模块和以太网媒体控制模块主要实现分布式路由引擎的功能。
本实施例中,第一PCIE根联合体模块,用于实现与集中式线卡板相连时的PCIE根联合体的功能,提供PCIE接口,所述PCIE接口通过一组PCIE总线与第一PCIE交换器相连。具体操作可包括:接收第一PCIE交换器转发的报文,对所述报文进行PCIE解析,解析出报文,将识别出的报文提供给控制模块;根据第一控制模块的通知,对欲发送报文进行PCIE封装,添加目标集中式线卡板的出端口地址信息后,将所述报文发送给第一PCIE交换器。
第一控制模块,通常为CPU,用于通过所述第一PCIE根联合体模块和所述第一PCIE交换器与集中式线卡板进行通信。具体操作可包括:通过第一PCIE根联合体模块对第一PCIE交换器进行配置,通过第一PCIE根联合体模块和第一PCIE交换器对集中式线卡板进行配置;通过第一PCIE根联合体模块接收第一PCIE交换器转发的来自集中式线卡板的报文,根据所述报文中的信息查转发表,更新报文头信息,若报文需要转发到集中式线卡板,则由第一PCIE根联合体模块对所述报文进行PCIE封装,如在所述报文的PCIE头中添加目标集中式线卡板的出端口地址信息,将封装后的报文发送给第一PCIE交换器,第一PCIE交换器根据所述报文中的PCIE头中的地址信息,将报文发送给相应的集中式线卡板,由该集中式线卡板将报文通过对应的出端口发送出去。
进一步地,若查转发表后,显示报文需要转发到分布式线卡板,则第一控制模块在所述报文中添加出端口信息(通常为对应出端口的目的板号、槽位号、端口号等)后,将报文发送给第二控制模块。第二控制模块将报文转发给第二PCIE根联合体模块,第二PCIE根联合体模块对所述报文进行PCIE封装,如在PCIE头中添加目标分布式线卡板的地址信息后,将报文转发到第二PCIE交换器,由第二PCIE交换器将报文转发到相应的分布式线卡板,分布式线卡板中的转发引擎剥离所述出端口信息后,将报文通过所述出端口发送出去。
第二控制模块,通常为CPU,用于通过第二PCIE根联合体模块对第二PCIE交换器和分布式线卡板的PCIE空间进行配置,通过以太网媒体控制模块和以太网交换单元对分布式线卡板进行配置,并通过以太网媒体控制模块和以太网交换单元与分布式线卡板进行控制平面的通信。进一步地,第二控制模块还可接收来自第一控制模块的报文,根据所述报文中的信息,由第二PCIE根联合体模块对所述报文进行PCIE封装;接收来自以太网媒体控制模块的报文,根据所述报文计算、更新转发表,将更新后的转发表信息发送给以太网媒体控制模块,进一步地,将更新后的转发表信息发送给第一控制模块,第一控制模块对自身的转发表进行更新。
第二PCIE根联合体模块,用于实现与分布式线卡板的数据平面相连时的PCIE根联合体的功能,提供PCIE接口,所述PCIE接口通过一组PCIE总线与第二PCIE交换器相连。进一步地,第二PCIE根联合体模块可根据第二控制模块的通知,对来自第二控制模块的报文进行PCIE封装,在其中的PCIE头中添加目标分布式线卡板的地址信息,并将所述报文发送给第二PCIE交换器。
以太网媒体控制模块,用于提供以太网接口,实现第二控制模块与以太网交换单元间的通信。具体操作可包括:接收以太网交换单元转发的报文,对所述报文进行以太网解析,解析出报文;接收第二控制模块发送的报文,对所述报文进行以太网封装后发送给以太网交换单元。其中,报文可以是包括转发表信息的报文,则以太网交换单元将报文发送给每个分布式线卡板,各分布式线卡板根据该转发表信息对自身的转发表进行更新。
其中,第一控制模块和第一PCIE根联合体模块可通过一个SoC处理器实现,第二控制模块、第二PCIE根联合体模块和以太网媒体控制模块可通过一个SoC处理器实现,则第一控制模块和第二控制模块之间可以通过千兆以太网、万兆以太网进行通信(两个SoC内部内置千兆以太网GMAC、万兆以太网XGMAC成本更优),也可以通过PCIE总线进行通信。第一控制模块上报新的协议报文到第二控制模块,第二控制模块下发配置信息、路由信息到第一控制模块,并对第一控制模块进行程序升级等。
本实施例中,集中式线卡板的内部结构可与实施例一中描述的集中式线卡板的内部结构一致,此处不再赘述。
本实施例中,分布式线卡板采用NP、ASIC、CPU或者多核CPU作为控制中心时,整个系统能达到很高的性能。具体实现时,其内部结构可至少包括如下两种。
第一种:
如图12所示,图12为本发明实施例二中分布式线卡板的一个结构示意图。其中,分布式线卡板包括:控制单元、内存单元和程序单元。其中,控制单元具体包括:控制模块、PCIE终端模块、以太网媒体控制模块和对外接口模块。
其中,对外接口模块用于连接其它可选用户端口,如可以为SPI4接口、10GE以太网XGMII/XAUI接口等,根据用户需求可选的各种端口,提供分布式线卡板的对外接口。另外,这些接口通过专用的ASIC或FPGA(FieldProgrammable Gate Array,现场可编程门阵列)芯片转换后可以提供几乎所有的通信设备的物理接口,如以太网、ATM、POS等接口。对外接口模块用于接收来自用户端口的报文,对所述报文进行解析,将解析出的报文提供给控制模块;对控制模块提供的报文进行封装后,发送给用户端口。
以太网媒体控制模块用于提供以太网接口。具体操作可包括:通过以太网交换单元接收来自主控板的控制报文,对所述报文进行以太网解析,将解析出的报文提供给控制模块;对控制模块提供的报文进行以太网封装后,通过以太网交换单元提供给主控板。
PCIE终端模块,主要实现PCIE终端的功能,提供PCIE接口。具体操作可包括:接收第二PCIE交换器转发的报文,对所述报文进行PCIE解析,将解析出的报文提供给控制模块;根据控制模块的通知,对报文进行PCIE封装,添加目标分布式线卡板的地址信息或目标主控板的地址信息后,将所述报文发送给第二PCIE交换器。
控制模块,通常为CPU,分别连接PCIE终端模块、以太网媒体控制模块和对外接口模块,用于控制PCIE终端模块与主控板的PCIE根联合体模块通信;通过所述PCIE终端模块与第二PCIE交换器进行数据平面的通信;通过以太网媒体控制模块和以太网交换单元与主控板进行控制平面的通信;控制对外接口模块与外部通信。具体操作可包括:通过以太网媒体控制模块及以太网交换单元接收来自主控板的控制报文,根据所述控制报文对线卡板的转发表、地址、缓冲描述等信息进行配置;对接收的外部的报文进行判断,若报文为控制报文或协议报文,则将报文通过以太网媒体控制模块进行封装后,再通过以太网交换单元提供给主控板,由主控板对路由引擎进行计算、更新转发表后,再将新的转发表通知给各个分布式线卡板。若报文为数据报文,则控制模块根据报文中的信息查转发表,更新报文头信息,若查表显示报文通过自身的出端口发送,则将报文通过对外接口模块发送出去;若查表显示报文需要转发到其他分布式线卡板,则在所述报文中添加出端口信息(通常为对应出端口的目的板号、槽位号、端口号等),由PCIE终端模块对报文进行PCIE封装,PCIE终端模块在所述报文中封装目标分布式线卡板的地址信息后,将所述报文发送给第二PCIE交换器;若查表显示报文需要转发到集中式线卡板,则控制模块在所述报文中添加出端口信息(通常为对应出端口的目的板号、槽位号、端口号等),由PCIE终端模块对报文进行PCIE封装,PCIE终端模块在所述报文中封装主控板的地址信息后,将报文通过第二PCIE交换器转发到主控板,主控板剥离报文中的出端口信息,并更新PCIE地址头中的地址信息为目标集中式线卡板的出端口地址信息,之后,将报文通过第一PCIE交换器转发给集中式线卡板。
上述控制单元可以使用带以太网接口功能和PCIE接口功能的SoC处理器实现。
第二种:
如图13所示,图13为本发明实施例二中分布式线卡板的又一个结构示意图。其中,分布式线卡板包括:控制单元、内存单元和程序单元。其中,控制单元具体包括:第一控制模块、以太网媒体控制模块、第二控制模块、PCIE终端模块和对外接口模块。
其中,对外接口模块用于根据用户需求可选的各种端口,提供线卡板的对外接口。
以太网媒体控制模块用于提供以太网接口。具体操作可包括:通过以太网交换单元接收来自主控板的控制报文,对所述报文进行以太网解析,将解析出的报文提供给第一控制模块;对第一控制模块提供的报文进行以太网封装后,通过以太网交换单元提供给主控板。
PCIE终端模块,主要实现PCIE终端的功能,提供PCIE接口。具体操作可包括:接收第二PCIE交换器转发的报文,对所述报文进行PCIE解析,将解析出的报文提供给第二控制模块;对欲发送报文进行PCIE封装,添加目标集中式线卡板的出端口地址信息或目标分布式线卡板的信息后,将所述报文发送给第二PCIE交换器。
第一控制模块可以通过SoC处理器实现,并与以太网媒体控制模块相连,用于通过以太网媒体控制模块和以太网交换单元与主控板进行控制平面的通信。具体操作可包括:通过以太网媒体控制模块及以太网交换单元与主控板进行控制平面的通信,通过以太网媒体控制模块及以太网交换单元接收来自主控板的控制报文,根据所述控制报文将线卡板的转发表、地址、缓冲描述等信息配置到第二控制模块中;将来自第二控制模块的控制报文或协议报文通过以太网媒体控制模块进行封装后,再通过以太网交换单元提供给主控板,由主控板对路由引擎进行计算、更新转发表后,再将新的转发表通知给各个分布式线卡板。
第二控制模块可以通过NP或ASIC等实现,并分别与对外接口模块和PCIE终端模块相连,用于控制PCIE终端模块与主控板的PCIE根联合体模块通信;通过所述PCIE终端模块与第二PCIE交换器进行数据平面的通信;控制对外接口模块与外部通信。具体操作可包括:对接收的外部的报文进行判断,若报文为控制报文或协议报文,则将所述报文发送给第一控制模块;若报文为数据报文,则根据报文中的信息查转发表,更新报文头信息,若查表显示报文通过自身的出端口发送,则将报文通过对外接口模块发送出去;若查表显示报文需要转发到其他分布式线卡板,则在所述报文中添加出端口信息(通常为对应出端口的目的板号、槽位号、端口号等),由PCIE终端模块对报文进行PCIE封装,PCIE终端模块在所述报文中封装目标分布式线卡板的地址信息后,将所述报文发送给第二PCIE交换器;若查表显示报文需要转发到集中式线卡板,则控制模块在所述报文中添加出端口信息(通常为对应出端口的目的板号、槽位号、端口号等),由PCIE终端模块对报文进行封装,PCIE终端模块在所述报文中封装主控板的地址信息后,将报文通过第二PCIE交换器转发到主控板,主控板剥离所述报文中的出端口信息,在所述报文中封装目标集中式线卡板的出端口地址信息,之后,将报文通过第一PCIE交换器转发给集中式线卡板。
图14为本发明实施例中的一个应用示例的结构示意图,该示例中,主控板中实现分布式路由引擎的CPU可选择PowerPC或MIPS系列CPU,该CPU芯片内部集成了PCIE控制器和多个千兆以太网控制器,其中,CPU本身作为主控板的控制模块,PCIE控制器可以配置为PCIE根联合体模块,其中一个千兆以太网控制器可配置为以太网媒体控制模块用于与以太网交换单元相连,作为设备的控制平面。本应用示例中以太网交换单元可以为千兆以太网交换芯片。
集中式路由转发引擎的CPU可选择多核PowerPC或MIPS系列CPU,该CPU芯片内部集成了千兆以太网/万兆以太网接口、HT接口等,通过HT接口转PCIE桥片实现PCIE根联合体模块的功能,通过第二PCIE交换器扩充PCIE接口数量,连接到各集中式线卡板,作为集中式线卡板的控制平面和数据平面。本实施例中,集中式路由转发引擎和分布式路由引擎通过千兆以太网通信,如图14所示,二者通过千兆以太网接口相连。
分布式线卡板实现分布式转发引擎的CPU也可选择PowerPC或MIPS系列CPU,并将该CPU芯片中集成的PCIE控制器配置为PCIE终端模块,将该芯片中集成的一个千兆以太网控制器配置为以太网媒体控制模块,其它千兆以太网控制器可配置为对外接口模块,用于连接设备的对外业务接口等,CPU本身作为分布式线卡板的控制模块。
设计中第一PCIE交换器、第二PCIE交换器、以太网交换单元可通过背板与所有线卡板(集中式线卡板和分布式线卡板)相连,用户可以购买低成本的集中式线卡板,也可以购买高性能的分布式线卡板。进一步地,集中式路由转发引擎也可以做成扣板的方式,即若主控板上无集中式转发的硬件实体,但上面带了连接器,则可通过该连接器扣上一个小的板子,该板子上实现所有的集中式引擎的功能,这种方式可以使用户可以采用增量性购买,便于用户选择设备是否支持集中式转发。
以上对本发明实施例二中基于PCIE总线的交换网通信系统进行了详细描述,下面再对本发明实施例二中基于PCIE总线的交换网通信方法进行详细描述。
图15为本发明实施例二中交换网通信方法的示例性流程图。如图15所示,该流程包括如下步骤:
步骤1501,通过主控板对分布式线卡板和集中式线卡板进行配置。
本步骤中,主控板可通过一组PCIE总线对第一PCIE交换器进行配置,并通过第一PCIE交换器对集中式线卡板进行配置;通过另一组PCIE总线对第二PCIE交换器和分布式线卡板的PCIE空间进行配置,并通过以太网交换单元对分布式线卡板进行控制。
步骤1502,主控板与集中式线卡板通过第一PCIE交换器进行通信,分布式线卡板通过第二PCIE交换器进行数据平面的通信,主控板与分布式线卡板通过以太网交换单元进行控制平面的通信。
本步骤中,具体通信过程可分别如图16和图17所示。
图16示出了集中式线卡板接收外部报文时的流程图。如图16所示,该流程包括如下步骤:
步骤1601,报文通过入端口进入某个集中式线卡板。
步骤1602,集中式线卡板将所述报文通过第一PCIE交换器转发给主控板的集中式路由转发引擎。
步骤1603,集中式路由转发引擎判断所述报文的类型,如果报文为控制报文或协议报文,则执行步骤1604,否则,报文为数据报文,执行步骤1607。
步骤1604,计算、更新自身的转发表。
步骤1605,将更新后的转发表信息通知给主控板的分布式路由引擎。
步骤1606,分布式路由引擎将所述转发表信息通过以太网交换单元通知给各分布式线卡板的转发引擎,并结束。
步骤1607,集中式路由转发引擎根据报文中的信息,查找转发表,更新报文头信息。
步骤1608,根据查表结果,判断报文需要转发的线卡板类型,如果报文需要转发到分布式线卡板,则执行步骤1609;否则,执行步骤1612。
步骤1609,在报文中添加出端口的信息,并将报文发送给主控板的分布式路由引擎。
本步骤中,出端口的信息可包括目的板号、槽位号和端口号等。
步骤1610,分布式路由引擎将报文通过第二PCIE交换器转发给对应出端口的分布式线卡板。
步骤1611,分布式线卡板的转发引擎剥离所述出端口信息后,将报文通过所述出端口发送出去。
本步骤中,分布式线卡板的转发引擎剥离报文的目的板号、槽位号和端口号等信息后,将报文从所述出端口发送出去,并结束。
步骤1612,对报文进行PCIE封装后,将报文通过PCIE交换器转发给对应出端口的集中式线卡板。
步骤1613,集中式线卡板将报文通过相应出端口发送出去。
图17示出了分布式线卡板接收外部报文时的流程图。如图17所示,该流程包括如下步骤:
步骤1701,报文通过入端口进入某个分布式线卡板。
步骤1702,分布式线卡板的分布式转发引擎判断所述报文的类型,如果报文为控制报文或协议报文,则执行步骤1703,否则执行步骤1705。
步骤1703,分布式转发引擎将报文通过第二PCIE交换器转发给主控板的分布式路由引擎。
步骤1704,分布式路由引擎计算更新转发表。
步骤1705,分布式路由引擎将更新后的转发表信息通知给主控板的集中式路由转发引擎,并通过以太网交换单元通知给各分布式线卡板的转发引擎,并结束。
步骤1706,分布式转发引擎查找转发表。
步骤1707,分布式转发引擎根据查表结果,在报文中添加出端口的信息。
本步骤中,出端口的信息可包括目的板号、槽位号和端口号等。
步骤1708,判断报文需要转发的线卡板类型,如果报文需要转发到集中式线卡板,则执行步骤1709;否则,执行步骤1713。
步骤1709,报文通过第二PCIE交换器转发到主控板的分布式路由引擎。
步骤1710,主控板的分布式路由引擎将报文传递给主控板的集中式路由转发引擎。
步骤1711,集中式路由转发引擎剥离报文的出端口信息后,更新报文的PCIE地址头信息,将报文通过第一PCIE交换器转发给相应的集中式线卡板。
本步骤中,对出端口信息进行剥离时,通常是将对应出端口的目的板号、槽位号、端口号等信息进行剥离。
步骤1712,集中式线卡板将报文通过相应出端口发送出去,并结束。
步骤1713,分布式转发引擎将报文通过第二PCIE交换器转发到目的分布式线卡板。
步骤1714,目的分布式线卡板的转发引擎剥离所述出端口信息后,将报文通过所述出端口发送出去。
本步骤中,分布式线卡板的转发引擎剥离报文的目的板号、槽位号和端口号等信息后,将报文从所述出端口发送出去。
其中,主控板中的集中式路由转发引擎和分布式路由引擎可以相互独立,也可以集成在一起。
这种基于PCIE总线的集中式、分布式混和转发方式至少具有如下优势:
(1)可以依据系统需要提供更优的带宽收敛比。在PCI Express 1.0规范中规定,1个通道可以支持2.5Gbps,4个通道可以支持10Gbps,16个通道可以支持40Gbps的带宽。例如:第一PCIE交换器通过4个通道连接到主控板的集中式路由转发引擎,通过2个通道连接到集中式线卡板,则第一PCIE交换器连接到每个集中式线卡板的带宽为5Gbps,连接到集中式转发路由引擎的带宽为10Gbps,可见,可以依据系统需求,灵活配置带宽收敛比。
(2)可以提供高的系统交换能力。PCI Express 1.0规范中,1个通道可以支持2.5Gbps,4个通道可以支持10Gbps,16个通道可以支持40Gbps的带宽。如第一PCIE交换器通过4个通道连接到集中式线卡板,则4个线卡板的系统交换能力为:双向2×4×10Gbps=80Gbps;如第一PCIE交换器通过8个通道连接到集中式线卡板,则8个线卡板的系统交换能力为:双向2×8×10Gbps=160Gbps。可见,可以依据系统需求,灵活配置带宽。
(3)未来带宽可升级,能够保护用户投资。PCIE Express规范在不断升级,并且升级后的规范兼容以前的规范,例如在PCI Express 2.0规范中,1个通道可以支持5Gbps,4个通道可以支持20Gbps的带宽,并且PCI Express2.0规范兼容PCI Express 1.0规范。
(4)基于PCIE交换器的报文转发能够满足业务处理的质量服务保证。例如,基于PCIE交换器在进行报文转发时,不同线路板的报文传输按照地址访问寻址方式,PCIE交换器的物理线中可包括一个虚拟通道VC(VirtualChannel)和流量分类TC(Traffic Class),通过VC、TC实现分级分类,可处理不同线路板的不同的数据报文和业务报文,实现不同的服务质量(QoS)。其中,较佳地,VC和TC的数量不少于系统支持线卡板和主控板的数量。此时,PCIE交换器可包括:最优通道检测子单元,用于选取最优的虚拟通道;分类管理子单元,通过设置VC、TC与不同物理通道的对应关系,或者与线卡板的映射关系,或者与数据报文的映射关系,实现分级分类处理不同线卡板的不同的数据报文和业务报文,实现不同的QoS(Quality of Service,服务质量);数据转发子单元,用于根据映射关系对报文进行转发。
另外,本发明实施例中还可以增加备份主控板,当主控板不能使用时,备份主控板可以承担主控板的任务保护整个设备的运行,保护网络的正常。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。