CN103444138B - 通信控制系统、交换节点以及通信控制方法 - Google Patents
通信控制系统、交换节点以及通信控制方法 Download PDFInfo
- Publication number
- CN103444138B CN103444138B CN201280014681.6A CN201280014681A CN103444138B CN 103444138 B CN103444138 B CN 103444138B CN 201280014681 A CN201280014681 A CN 201280014681A CN 103444138 B CN103444138 B CN 103444138B
- Authority
- CN
- China
- Prior art keywords
- grouping
- network interface
- extended network
- switching node
- stream
- 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.)
- Expired - Fee Related
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/15—Interconnection of switching modules
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
在与外部控制服务器连接的交换节点中,可以通过使用多路由兼容交换机和网络接口(NW?I/F)来实现高级功能服务协议处理。具体地,在提供有交换节点和控制服务器的系统中,具有大量存储器的多个CPU和多个扩展NW?I/F通过多路由兼容PCI?Express交换机进行连接,以配置所述多个扩展NW?I/F的交换机接口。使得从所述网络接口到所述多个CPU的负载分布转移处理成为可能。高速分组处理是通过使用所述多个CPU的多处理来实现的。提供了高速交换节点,其中通过使用所述CPU的大容量存储器空间给基于软件的交换节点配置了大容量流表。
Description
技术领域
本发明涉及通信控制系统,并且特别涉及控制交换节点的通信控制系统。
背景技术
传统的网络设备是黑盒子,然而不能从外部执行灵活的控制(例如,负载分布和偏置处理)。因此,当网络规模变大时,存在下述问题:对系统行为的改进和识别变得困难,并且对配置的设计和改变需要较大的成本。
作为解决这种问题的技术,想到了分离网络设备中的分组传送功能和路由控制功能的技术。例如,网络设备负责分组传送功能,而在网络设备外部的控制单元负责路由控制功能。因此,控制变得容易,可以构建灵活的网络。
(对CD分离类型网络的说明)
作为其中功能分离的网络之一,提出了CD(C:控制面/D:数据面)分离类型网络,其中控制面侧的节点单元控制数据面侧的节点单元。
作为CD分离类型网络的示例,使用开放流(OpenFlow)技术的开放流网络是已知的,在该网络中控制器控制交换机执行对网络的路由控制。在非专利文献1中描述了开放流技术的详情。应该注意,开放流网络仅是一个示例。
(对开放流网络的说明)
在开放流网络中,通过与控制单元等价的开放流控制器(OFC)操作与开放流交换机(OFS)的路由控制有关的流表来控制开放流交换机(OFS)的操作,该开放流交换机等价于节点单元。
下文中,为了描述的简单起见,开放流控制器(OFC)被称为“控制器”,以及开放流交换机(OFS)被称为“交换机”。
控制器和交换机通过称为“安全信道”的控制信道(控制通信信道)相连,该安全信道是由专用线路和SSL(安全套接字层)保护的信道。控制器和交换机通过控制信道发送和接收作为控制消息的开放流消息(OpenFlow消息),该控制消息服从开放流协议。
开放流网络中的交换机被布置在开放流网络中,并且是在控制器控制下的边缘交换机和核心交换机。从开放流网络中的输入边缘交换机(入口交换机)中的分组接收到输出交换机(出口交换机)的发送的分组处理序列被称为流。在开放流网络中,通信被识别为端到端(E2E)的流,并且以流单元来执行路由控制、故障恢复、负载分布和优化。
分组可被读作帧。分组和帧之间的区别仅是协议中处理的数据单元(PDU:协议数据单元)的区别。分组是“TCP/IP”(传输控制协议/网际协议)PDU,而另一方面,帧是“以太网”(注册商标)的PDU。
流表是流条目的集合,每个流条目定义了将分组指定作为流进行处理的条件(规则)、示出了分组与规则匹配的次数的统计数据、以及要对分组执行的处理内容(动作)。
流条目的规则是基于分组的报头字段中包含的协议层级层的数据中的全部或部分数据的各种组合来定义的,并且有可能是可识别的。作为每个协议层级层的数据的示例,目的地地址、源地址、目的地端口、源端口等被例示。应该注意,假设上述地址包含MAC地址(媒体访问控制地址)和IP地址(网际协议地址)。此外,除了上述数据之外,输入端口(入口端口)的数据可用于流条目的规则。此外,要作为流进行处理的分组的报头字段的值的一部分(或全部)的正常表达、及其使用通配符“*”的表达等等可被设置用于流条目的规则。
流条目的动作示出了诸如“在指定端口进行输出”操作、“丢弃”操作、和“重写报头”操作之类的操作。例如,如果在流条目的动作中示出了输出端口的标识数据(诸如输出端口号等等),则交换机将分组输出给与之对应的端口。如果未示出输出端口的标识数据,则交换机丢弃该分组。或者,如果在流条目的动作中示出了报头数据,则交换机基于该报头数据重写分组的报头。
交换机对与流条目的规则匹配的一组分组(一系列分组)执行流条目的动作。具体地,当接收分组时,计算机从流表中搜索具有与接收分组的报头数据匹配的规则的流条目。当作为搜索结果找到具有与接收分组的报头数据匹配的规则的流条目时,交换机执行更新流条目的统计数据的操作以及对接收分组执行指定为流条目的动作的操作。另一方面,当作为搜索结果没有找到具有与接收分组的报头数据匹配的规则的流条目时,交换机确定接收分组是第一分组。交换机通过控制信道将接收分组(或副本)转移给开放流网络中的控制器。此外,交换机基于接收分组的源地址、目的地地址等请求针对分组的路由计算。作为响应,交换机接收流条目设置消息,并且更新流表。
应该注意,在流表中登记了具有以低优先级与所有分组的报头数据匹配的规则的默认条目。当没有找到与接收分组匹配的流条目时,接收分组匹配该默认条目。默认条目的动作是“将接收分组的查询数据发送给控制器”。
(PCIexpress的说明)
此外,近些年,“PCIexpress(PCIe)”接口(I/F)作为PCI总线(周边元件互联总线)的替代被广泛使用。PCI总线是并行传输类型,而PCIexpress(PCIe)是串行传输类型。尽管在PCI总线和PCIexpress(PCIe)之间不存在物理兼容,但是对于它们而言,通信协议等等是共同的。在PCIexpress(PCIe)中使用的最小配置的传输路由(路线)中,在单向通信中的2.5GPS双工传输和在双向通信中的5.0Gbps是可能的。
(传统网络系统的说明)
图1、图2、图3、图4和图5示出了传统网络系统的配置。具体地,该系统配置是这样的配置,其中执行基于硬件的交换处理并且由控制服务器执行扩展网络服务。
(传统网络系统配置)
图1示出了传统网络系统的基本配置。传统网络系统包含交换节点1、终端2(2-i,i=1到T,T是终端的数目)和控制服务器3。
交换节点1等价于开放流网络中的交换机。控制服务器3等价于开放流网络中的控制器。终端2(2-i,i=1到T)和控制服务器3与交换节点1连接。
交换节点1具有CPU(中央处理单元)10、存储器20、转移表30和网络交换机转发引擎40。
CPU10与存储器20相连。此外,CPU10和转移表30与网络交换机转发引擎40相连。
在传统网络系统中,在交换节点1上存在执行基于硬件的分组处理的网络交换机转发引擎40。转发引擎40接收从终端2(2-i,i=1到T)输出的分组,通过使用转移表30来管理s流的目的地,在分组接收的情况下执行表搜索,以及执行在终端之间的分组交换处理。因为转移表30有可能执行高速处理以经受终端之间的交换处理,但是存储器20容量是有限的,所以不能够配置对大量流进行管理的转移表30。
(网络交换机转发引擎的内部配置)
图2示出了网络交换机转发引擎40的内部配置。
网络交换机转发引擎40具有PCIexpress端点(PCIeEP)41、LAN(局域网)接口(1GMAC)42、交换机转移处理部件43、表搜索结果登记器44、以CPU为目的地的分组队列45、CPU发送分组队列46、交换机架构共享分组缓冲器47和DMA(直接存储器访问)控制器48。
PCIexpress端点(PCIeEP)41与CPU10、以CPU为目的地的分组队列45和CPU发送分组队列46连接。
LAN接口(1GMAC)42与终端2(2-i,i=1到T)和控制服务器3连接。
交换机转移处理部件43与转移表30、LAN接口(1GMAC)42、表搜索结果登记器44、CPU发送分组队列46和交换机架构共享分组缓冲器47相连。
交换机转移处理部件43具有表搜索部件431、分组分析部件432和交换部件433。
表搜索部件431基于搜索关键字搜索转移表30。
分组分析部件432提取分组的报头部分,通过使用报头部分中的可选数据来生成搜索关键字,并且向表搜索部件431通知该搜索关键字。
交换部件433根据与搜索关键字匹配的转移表30的条目的动作来转移分组。
表搜索结果登记器44与以CPU为目的地的分组队列45相连。
交换机转移处理部件43中的表搜索部件431向转移表30发送搜索请求(搜索关键字),以执行表搜索。根据交换机转移处理部件43的处理容量,存储器20被用作转移表30的存储位置。因为请求高速处理,所以存储器20的容量与处理能力成反比减少,并且可以管理的转移表的数目是有限的。
(转移表的配置)
图3示出了转移表30的配置。
转移表30等价于开放流网络中的流表。转移表30可以管理64000个条目。
应该注意,“MACDA”示出了目的地MAC地址,“MACDA”示出了源MAC地址,“IPDA”示出了目的地IP地址,以及“IPSA”示出了源IP地址。
(CPU的配置)
图4示出了CPU10中执行的软件的配置示图。
CPU10具有PCIexpress根复合体(PCIeRC)11、转发引擎驱动器12、扩展网络服务设置部件13、服务查询部件14、分组缓冲部件15、分组接收部件16和加密部件17。
转发引擎驱动器12、扩展网络服务设置部件13、服务查询部件14、分组缓冲部件15、分组接收部件16和加密部件17是通过CPU10执行软件来实现的。
传统网络系统中的CPU10与控制服务器3相连,并且仅用于执行扩展网络服务。
(控制服务器的配置)
图5示出了控制服务器3的配置示图。
控制服务器3具有分组发送和接收部件31、加密部件32和扩展网络服务处理部件33。
控制服务器3响应于来自交换节点1的处理查询来执行扩展网络服务处理,例如查询分组的目的地确定、对分组的改变处理或者对交换节点的控制。此外,控制服务器3通过执行用于与交换节点1的安全通信的加密处理,来执行对分组的发送和接收。
如上文提到的,因为基于硬件的交换节点通过使用保持一个高速转移表的存储器20来执行分组处理,转移表的存储器20容量是有限的,所以难以配置大容量转移表。
此外,因为基于硬件的转发引擎具有专用LSI(大规模集成电路),所以存在以下缺点:通用程度低、成本变高、以及对处理方法的改变没有自由度。
应该注意,作为与本发明相关的技术,专利文献1(JP2007-195166A)中公开了一种技术,其中公开了通过内嵌DID,生成和管理以PCI总线地址为基础的路由表的方法、计算机程序和设备。
在该相关技术中,包括多个根节点、PCI适配器和一个或多个PCI交换机(其中之一包括PCI配置管理器(PCM))的分布式计算系统通过交换机在主机和适配器之间路由PCI事务分组。
此时,当在一个指定交换机中生成表格,并且指定主机与指定交换机连接时,向该表格提供具有通过操作PCM来指定的比特集合的目的地标识符。将目的地标识符作为地址添加给通过指定交换机从指定主机向适配器之一发送的PCI分组。使用目的地标识符从适配器之一通过指定交换机发出的PCI分组被确定为是针对特定主机的。
引用文献列表
[专利文献1]JP2007-195166A
[非专利文献1]“OpenFlowSwitchSpecification,Version1.0.0”,
December31,2009,互联网(URL:http://www.openflowswitch.
org/documents/openflow-spec-v1.0.0.pdf)
发明内容
在传统交换节点配置中,与基于硬件的转发引擎相连的转移表的容量存在限制,并且难以配置具有大量转移表的交换节点。另一方面,当配置基于软件的交换节点时,存在因为CPU是一个所以交换节点的转移处理能力低的问题。
本发明的目的是提供一种通信控制系统,其中,在基于软件的交换节点中配置大容量流表,执行高速分组交换处理,并且连接外部控制服务器以通过使用多路由兼容交换机和网络接口(NWI/F)来实现高级功能服务协议处理,该多路由兼容交换机和网络接口(NWI/F)是由PCIexpress(PCIe)规定的。
根据本发明的通信控制系统包括:交换节点;以及,控制服务器,其配置为将定义规则和动作以一致地控制分组的流条目设置到交换节点的流表。交换节点包括:功能部件,配置为通过多路由兼容PCIexpress交换机连接具有大容量存储器的多个处理器和多个扩展网络接口,以配置由所述多个扩展网络接口构成的交换机端口;功能部件,配置为执行从所述多个扩展网络接口向所述多个处理器的负载分布转移处理,以及利用所述多个处理器通过多处理来执行高速分组处理;以及,功能部件,通过利用所述多个处理器的大容量存储器空间,在基于软件的交换节点中配置大容量流表。
根据本发明的交换节点包括:多个扩展网络接口,配置为接收分组;多个处理器,具有大容量存储器;以及多路由兼容PCIExpress交换机,配置为连接所述多个处理器与所述多个扩展网络接口。所述多个扩展网络接口中的每一个包括:LAN接口,配置为执行分组的输入和输出;分组转移部件,配置为执行以下转移处理中的至少一个转移处理:分组到所述多个处理器的转移处理、分组在所述多个处理器之间的转移处理、以及到控制服务器的转移处理;多个PF资源,配置为执行与所述多个处理器的高速分组发送和接收以及DMA转移;以及PCIexpress端点,配置为与PCIexpress交换机连接。
根据本发明的通信控制方法在交换节点中执行,所述交换节点基于流条目执行对接收分组的处理,所述流条目定义规则和动作以一致地将分组作为流进行控制,并且所述流条目是从控制服务器设置在其自身的流表中的。所述通信控制方法包括:通过多路由兼容PCIexpress交换机连接具有大容量存储器的多个处理器和多个扩展网络接口以配置由所述多个扩展网络接口构成的交换机端口;执行从所述多个扩展网络接口向所述多个处理器的负载分布转移处理,以及利用所述多个处理器通过多处理来执行高速分组处理;以及,利用所述多个处理器的大容量存储器空间,配置所述交换节点中基于软件的大容量流表。
根据本发明的程序是由交换节点执行的,在所述交换节点中通过多路由兼容PCIexpress交换机连接用于接收分组的多个扩展网络接口和具有大容量存储器的多个处理器,并且所述交换节点基于流条目执行对接收分组的处理,所述流条目定义规则和动作以一致地将分组作为流进行控制,并且所述流条目是从控制服务器设置在其自身的流表中的。所述程序包括:当所述多个扩展网络接口中的任意一个接收到来自终端的分组时,提取所述分组之一的报头部分;利用所提取报头部分的数据的MAC地址、VLAN地址和IP地址中的至少一个以流单元来执行哈希处理;通过所述哈希处理来确定所述处理器之一作为分发目的地;向与所述分发目的地处理器对应的PF资源的分组队列发送所述分组;以及,基于对分发目的地处理器的控制来执行所述分组到所述分发目的地处理器的DMA转移。
根据本发明的程序是使得交换节点执行上述通信控制方法的处理的程序。应该注意,根据本发明的程序可以存储在存储单元和存储介质中。
因此,能够实现这样的基于软件的交换节点,其可能依据大容量转移表执行高速交换处理。
附图说明
图1是示出传统网络系统的基本配置示例的示图;
图2是示出传统网络系统的网络系统转发引擎的内部配置的示图;
图3是示出传统网络系统中的转移表的配置示例的示图;
图4是示出传统网络系统中的CPU的配置示例的示图;
图5是示出传统网络系统中的控制服务器的配置示例的示图;
图6是示出根据本发明的通信控制系统的基本配置示例的示图;
图7是示出终端侧的扩展网络接口(扩展NWI/F)的配置示例的示图;
图8是示出与CPU有关的分组转移处理的操作的流程图;
图9是示出在控制服务器侧的扩展网络接口(扩展NWI/F)的配置示例的示图;
图10是示出目的地分析过程的操作的流程图;
图11是示出根据本发明的通信控制系统中的CPU的配置示例的示图;
图12是示出多CPU转移表的同步处理的操作的流程图;
图13是示出根据本发明的通信控制系统中的转移表的配置示例的示图;
图14是示出根据本发明的第一示例性实施例的通信控制系统的示图;以及
图15是示出根据本发明的第二示例性实施例的通信控制系统的示图。
具体实施方式
<本发明的概述>
在多路由PCIExpress(PCIe:PCIexpress)交换机(在“PCI-SIG”(PCI特别兴趣组中规定))中,执行高速分组处理的多个CPU和多个扩展网络接口(NWI/F:网络接口)彼此连接,以输入和输出分组,从而配置执行基于软件的分组处理的交换节点。
为了执行对从终端提供的分组的高速处理,扩展网络接口(扩展NWI/F)具有向多个CPU发送分组的功能,并且分析每个分组的报头以确定CPU中处理所述分组的一个CPU,并且向所述多个CPU分发分组,其中,该多个CPU接着连接到多路由PCIExpress(PCIe)交换机。
关于该多个CPU与多个扩展网络接口(扩展NWI/F)之间的数据转移,扩展网络接口(扩展NWI/F)具有多个DMA处理器以高速执行到该多个CPU的DMA转移。因此,扩展网络接口(扩展NWI/F)通过使用DMA控制执行到该多个CPU的数据转移,而不在每个CPU上强加负载。
每个CPU与大容量存储器相连,并且在存储器上配置具有大量条目的转移表以确定分组的目的地。
当接收到从扩展网络接口(扩展NWI/F)提供的分组时,CPU通过CPU上的软件处理来分析每个分组的帧,搜索存储器上的转移表,以及确定对分组的处理(分组的输出端口、分组报头重写处理等等)。
CPU在确定对分组的处理之后执行所确定的基于软件的处理,并且将分组发送给扩展网络接口(扩展NWI/F)。
当作为搜索转移表的结果没有确定对分组的处理时,CPU向与扩展网络接口(扩展NWI/F)的后部相连的控制服务器发出对分组处理的查询。
CPU从控制服务器接收对分组的处理内容,并且将其作为条目登记在转移表中。
此外,CPU将该条目登记在受另一CPU管理的转移表中。因此,当执行同步处理时,防止了问题的发生,即使从扩展网络接口(扩展NWI/F)将分组分发到一些CPU,也是如此。
[示例性实施例]
下面,将参考附图描述本发明的示例性实施例。
本发明处理CD分离类型网络。此处,作为示例,将描述作为CD分离类型网络之一的开放流网络。然而,实际上,本发明不限于开放流网络。
(通信控制系统的配置)
图6示出了根据本发明的通信控制系统的基本配置的示图。根据本发明的通信控制系统包含终端2(2-i,i=1到T,T是终端的数目))、控制服务器3和交换节点4。
控制服务器3等价于开放流网络中的控制器。交换节点4等价于开放流网络中的交换机。终端2(2-i,i=1到T)和控制服务器3与交换节点4连接。
控制服务器3执行对从网络提供的分组在最佳路由上的转移以及控制服务器3到交换节点4的协作的控制,以改善网络服务。应该注意,控制服务器3与传统网络系统中的控制服务器3相同。也即,控制服务器3与图5中所示一样。
交换节点4具有多路由PCIExpress(PCIe:PCI)交换机50、扩展网络接口(扩展NWI/F)60(60-x,x=1到M,M是可选的)、CPU70(70-y,y=1到N,N是可选的)以及存储器80(80-y,y=1到N)。
多路由PCIExpress(PCIe:PCI)交换机50与扩展网络接口(扩展NWI/F)60(60-x,x=1到M)和CPU70(70-y,y=1到N)相连。
多路由PCIExpress(PCIe:PCI)交换机50是用于多路由的PCIexpress(PCIe)交换机,其在多个扩展网络接口(扩展NWI/F)60(60-x,x=1到M)与CPU70(70-y,y=1到N)之间转发数据。
扩展网络接口(扩展NWI/F)60(60-x,x=1到M)与终端2(2-i,i=1到T)和控制服务器3相连。
在该情况下,扩展网络接口(扩展NWI/F)60-1与终端2-1相连。扩展网络接口(扩展NWI/F)60-2与终端2-2相连。扩展网络接口(扩展NWI/F)60-3与终端2-3相连。扩展网络接口(扩展NWI/F)60-4与控制服务器3相连。
扩展网络接口(扩展NWI/F)60-1到60-3接收从终端2-1到2-3提供的分组。
例如,当从终端2-1向LAN接口(1GMAC)提供分组时,扩展网络接口(扩展NWI/F)60-1确定将分组分发到该多个CPU70(70-y,y=1到N)中的哪个CPU,以及执行通过多路由PCIExpress(PCIe:PCI)交换机50将分组转移到该CPU70(70-y,y=1到N)。
CPU70(70-y,y=1到N)与存储器80(80-y,y=1到N)相连。此外,CPU70(70-y,y=1到N)和转移表81(81-y,y=1到N)与网络交换机转发引擎40相连。
CPU70(70-y,y=1到N)和存储器80(80-y,y=1到N)具有一对一的对应关系。也即,CPU70(70-y,y=1到N)和存储器80(80-y,y=1到N)呈现相同的编号。然而,实际上,多个CPU70(70-y,y=1到N)可以共享相同的存储器80(80-y,y=1到N)。
CPU70(70-y,y=1到N)执行分组转移处理。
存储器80(80-y,y=1到N)是大容量存储器,并且存储转移表81(81-z,z=1到N)。
以这种方式,在交换节点4中,多路由PCIExpress(PCIe:PCI)交换机50通过将具有大容量存储器80(80-y,y=1到N)的多个CPU70(70-y,y=1到N)与多个扩展网络接口(扩展NWI/F)60(60-x,x=1到M)相连,来配置多个扩展网络接口(扩展NWI/F)60(60-x,x=1到M)的交换机接口。
此外,通过允许可能从该多个扩展网络接口(扩展NWI/F)60(60-x,x=1到M)到该多个CPU70(70-y,y=1到N)的负载分布转移处理,实现了使用该多个CPU70(70-y,y=1到N)通过多处理的高速分组处理,并且实现了使用CPU的大容量存储器的大容量流表。
因此,交换节点4是基于软件的交换节点,但是能够实现具有大容量流表的高速交换节点。
<硬件范例>
现在将描述用于实现根据本发明的通信控制系统的特定硬件。
作为终端2(2-i,i=1到T)和控制服务器3的示例,假定是诸如PC(个人计算机)、电器、瘦客户端/服务器、工作站、大型机、以及超级计算机之类的计算机。此外,作为终端2(2-i,i=1到T)的另一示例,IP电话、移动电话、智能电话、智能书、汽车导航系统、携带型游戏机、家用游戏机、携带型音乐播放器、手持终端、小装置包(电子设备)、交互式TV、数字收音机、数字记录仪、家用信息设备、OA(办公自动化)设备、店面终端和多功能复印机、数字标识系统(电子布告牌)等等是其示例。应该注意,终端2(2-i,i=1到T)和控制服务器3可以是中继设备和外设。
作为交换节点4的示例,网络交换机、路由器、代理、网关、防火墙、负载均衡器(负载分布设备)、频带控制系统(分组塑形器)、安全监视和控制设备(SCADA:监督控制和数据获取)、看门狗、基站、接入点(AP)、通信卫星(CS)、具有多个通信端口的计算机等等是其示例。
终端2(2-i,i=1到T)、控制服务器3和交换节点4可以是安装在计算机上的扩展板和物理机器上构建的虚拟机(VM)。此外,终端2(2-i,i=1到T)、控制服务器3和交换节点4可以安装在移动物体上,诸如车辆、轮船和飞行器上。
作为扩展网络接口(扩展NWI/F)60(60-x,x=1到M)的示例,与LAN等对应的诸如印刷电路板(主板和I/O板)之类的半导体集成电路、诸如NIC(网络接口卡)之类的网络适配器、类似的扩展卡等等是其示例。在该情况下,假设在扩展网络接口(扩展NWI/F)60(60-x,x=1到M)中加载了网络处理器,以执行硬件中的高速处理。
CPU70(70-y,y=1到N)仅是处理器(processor)的示例。CPU70(70-y,y=1到N)可以是网络处理器(NP)、微处理器(microprocessor)、微控制器、具有专用功能的半导体集成电路(LSI:大规模集成电路),等等。
作为存储器80(80-y,y=1到N)的示例,半导体存储器设备(诸如RAM(随机访问存储器)、ROM(只读存储器)、EEPROM(电可擦除可编程只读存储器)和闪存),辅助存储器(诸如HDD(硬盘驱动)和SSD(固态驱动)),可拆卸盘(诸如DVD(数字多功能盘))、存储介质(诸如SD存储卡(安全数字存储卡)等)是其示例。
然而,实际上,本发明不限于这些示例。
(扩展网络接口(终端侧)的配置)
图7示出了与终端2-1到2-3相连的扩展网络接口(扩展NWI/F)60-1到60-3的配置。
扩展网络接口(扩展NWI/F)60-1到60-3中的每一个具有多路由PCIexpress端点(PCIeEP)61、LAN接口(1GMAC)62、CPU分发部件63和PF资源64(64-y,y=1到N)。
多路由PCIexpress端点(PCIeEP)61与多路由PCIExpress(PCIe:PCI)交换机50相连。
LAN接口(1GMAC)62从终端2-1到2-3中的任一个输入分组和向终端2-1到2-3中的任一个输出分组。LAN接口(1GMAC)是服从1Gbps数据转移的LAN接口。应该注意,“1G”仅是作为示例。
CPU分发部件63执行到多个CPU70(70-y,y=1到N)的分组分发处理。
PF资源64(64-y,y=1到N)通过与多个CPU70(70-y,y=1到N)的DMA转移来执行对控制消息和分组的高速发送和接收。在该情况下,示出了作为PF资源64(64-y,y=1到N)的示例的PF1资源64-1、PF2资源64-2和PF3资源64-3。
(CPU分发部件的配置)
CPU分发部件63配置有分组分发部件631、分组发送缓冲器632、分组接收缓冲器633和分组发送部件634。
分组分发部件631提取每个分组的报头部分和报头部分中的数据,并且通过使用报头部分的数据中的MAC地址、VLAN地址、IP地址等以流单元来执行哈希处理。
分组发送缓冲器632向PF资源64(64-y,y=1到N)中的能够将分组发送给所确定的分发目的地的CPU70(70-y,y=1到N)的任意PF资源64发送分组,以便将分组转移给分发目的地CPU70(70-y,y=1到N)。
分组接收缓冲器633通过PF资源64(64-y,y=1到N)接收发送自CPU70(70-y,y=1到N)的分组,并且将分组发送给分组发送部件634。
分组发送部件634将接收自分组接收缓冲器633的分组发送给终端2(2-i,i=1到T)。
(PF资源的配置)
PF资源64(64-y,y=1到N)中的每一个具有DMA控制器641、以CPU为目的地的分组队列642和CPU发送分组队列643。
DMA控制器641控制在每个PF资源64(64-y,y=1到N)与CPU70(70-y,y=1到N)之一之间的DMA转移。
以CPU为目的地的分组队列642保持要发送给CPU70(70-y,y=1到N)的分组。
CPU发送分组队列643保持从CPU70(70-y,y=1到N)发送的分组。(CPU的分组转移处理)
图8示出了示出当分组从终端2(2-i,i=1到T)转移、然后在CPU70(70-y,y=1到N)中进行处理、并且从CPU70(70-y,y=1到N)中转移时的操作的流程图。
(1)步骤S101
当从终端2(2-i,i=1到T)向扩展网络接口(扩展NWI/F)60(60-x,x=1到M)提供分组时,LAN接口(1GMAC)62接收分组并且将分组转移到CPU分发部件63的分组分发部件631。
(2)步骤S102
当接收到分组时,分组分发部件631提取每个分组的报头部分。
(3)步骤S103
分组分发处理部件631通过使用所提取的分组的报头部分的数据中的MAC地址、VLAN地址、IP地址等等数据以流单元来执行哈希处理。
在该情况下,分组分发处理部件631执行哈希处理来确定该多个CPU70(70-y,y=1到N)中的哪个执行对该流的处理。
(4)步骤S104
分组分发处理部件631基于哈希处理的结果确定作为分发目的地的CPU70(70-y,y=1到N)。
(5)步骤S105
分组分发处理部件631将分组发送给分组发送缓冲器632,以便将分组转移到作为分发目的地的CPU70。
分组发送缓冲器632将分组转移到PF资源64中任一个以CPU为目的地的分组队列642,以便将分组转移到确定为分发目的地的CPU70。
在该示例中,分组发送缓冲器632将分组发送给PF1资源64-1,以转移给CPU70-1。
当发送自分组发送缓冲器632的分组被存储在PF1资源64-1的以CPU为目的地的分组队列642-1中时,CPU70-1通过多路由PCIExpress(PCIe:PCI)交换机50控制PF1资源64-1的DMA控制器641-1。CPU70-1高速接收在以CPU为目的地的分组队列642-1中累积的分组,而不对CPU70-1强加负载。
在该情况下,CPU70-1通过PCIexpress根复合体(PCIeRC)71、多路由PCIExpress(PCIe:PCI)交换机50、以及具有多路由PCIexpress端点(PCIeEP)61的PCIexpress(PCIe)总线来控制PF1资源64-1的DMA控制器641-1。
(扩展网络接口(控制服务器侧)的配置)
图9示出了与控制服务器3相连的扩展网络接口(扩展NWI/F)60-4的配置。
扩展网络接口(扩展NWI/F)60-4具有多路由PCIexpress端点(PCIeEP)61、LAN接口(1GMAC)62、PF(页面文件)资源64(64-y,y=1到N)和分组转移处理部件65。
扩展网络接口(扩展NWI/F)60-1到60-3中的每一个具有CPU分发部件63,但是扩展网络接口(扩展NWI/F)60-4具有作为其替代的分组转移处理部件65。实际上,扩展网络接口可以包括集成了CPU分发部件63的功能和分组转移处理部件65的功能的部件。
多路由PCIexpress端点(PCIeEP)61与多路由PCIExpress(PCIe:PCI)交换机50相连。
LAN接口(1GMAC)62从控制服务器3输入分组以及向控制服务器3输出分组。
PF资源64(64-y,y=1到N)通过与多个CPU70(70-y,y=1到N)的DMA转移来执行对控制消息和分组的高速发送和接收。在该情况下,示出了作为PF资源64(64-y,y=1到N)的示例的PF1资源64-1、PF2资源64-2和PF3资源64-3。
分组转移处理部件65在多个CPU70(70-y,y=1到N)中的每一个与控制服务器3之间执行的分组转移处理。
(分组转移处理部件的配置)
分组转移处理部件65配置有目的地分析部件651、分组发送缓冲器652、分组接收缓冲器653和分组发送部件654。
目的地分析部件651提取分组的报头部分,根据报头部分的数据确认目的地MAC地址,并且检查其是否是交换节点4中的CPU70(70-y,y=1到N)使用的MAC地址。目的地分析部件651根据该检查结果改变分组的目的地。
分组发送缓冲器652向PF资源64(64-y,y=1到N)中能够向作为所确定的分发的CPU70(70-y,y=1到N)转移分组的任意PF资源64发送分组,以便将分组转移给分发目的地CPU70(70-y,y=1到N)。
分组接收缓冲器653通过PF资源64(64-y,y=1到N)接收发送自CPU70(70-y,y=1到N)的分组,并且将分组发送给分组发送部件654。
分组发送部件654将接收自分组接收缓冲器653的分组发送给终端2(2-i,i=1到T)。
(目的地分析处理)
图10示出了示出目的地分析处理的操作的流程图。
(1)步骤S201
当从终端2(2-i,i=1到T)向扩展网络接口(扩展NWI/F)60(60-x,x=1到M)提供分组时,LAN接口(1GMAC)62接收分组并且将分组转移到CPU分发部件63的分组分发部件631。
(2)步骤S202
当接收分组时,目的地分析部件651提取每个分组的报头部分,并且检查分组的目的地MAC地址。
(3)步骤S203
目的地分析部件651检查该目的地MAC地址是否是交换节点4中的任何CPU70(70-y,y=1到N)使用的MAC地址。
(4)步骤S204
当目的地MAC地址是CPU70(70-y,y=1到N)使用的MAC地址时,目的地分析部件651通过回转而不将分组输出到外部来将分组输入分组发送缓冲器652。
(5)步骤S205
当目的地MAC地址不是任何CPU70(70-y,y=1到N)使用的MAC地址时,分组分发处理部件651将分组输出给分组发送部件654。分组发送部件654通过LAN接口(1GMAC)62-4将分组输出给控制服务器3。
(扩展网络接口和CPU之间的关系)
扩展网络接口(扩展NWI/F)60(60-x,x=1到M)是多路由兼容的,并且当接收发送自终端2(2-i,i=1到T)的分组时,扩展网络接口(扩展NWI/F)60(60-x,x=1到M)通过每个CPU70(70-y,y=1到N)中对基于软件的分组处理的负载分布处理以及对分组处理的复用来对处理进行加速。
扩展网络接口(扩展NWI/F)60(60-x,x=1到M)通过哈希功能等来确定到每个CPU70(70-y,y=1到N)的分组分发处理。
扩展网络接口(扩展NWI/F)60(60-x,x=1到M)通过多路由PCIExpress(PCIe:PCI)交换机50高速地将分组分发和转移到每个CPU70(70-y,y=1到N),以通过使用DMA控制器641来最小化CPU70(70-y,y=1到N)上的负载。
每个CPU70(70-y,y=1到N)通过软件处理来分析接收分组,并且搜索转移表81(81-z,z=1到N)以确定引导目的地输出端口,其中该转移表81(81-z,z=1到N)存储在针对每个CPU70(70-y,y=1到N)提供的大容量存储器80(80-y,y=1到N)中。
转移表81(81-z,z=1到N)管理大量流的目的地。
在确定输出端口之后,每个CPU70(70-y,y=1到N)控制作为输出目的地的扩展网络接口(扩展NWI/F)60(60-x,x=1到M)的DMA控制器641,并且通过多路由PCIExpress(PCIe:PCI)交换机50高速转移分组,以最小化CPU负载。
此外,当作为搜索转移表81(81-z,z=1到N)的结果没有确定输出端口并且发出输出目的地查询时,每个CPU70(70-y,y=1到N)通过扩展网络接口(扩展NWI/F)60-4将分组转移到控制服务器3。
当作为查询结果确定了目的地时,每个CPU70(70-y,y=1到N)将流的目的地数据存储在转移表81(81-z,z=1到N)中。
在该情况下,每个CPU70(70-y,y=1到N)执行同步处理,使得由存储器80(80-y,y=1到N)管理的转移表81(81-z,z=1到N)具有相同的数据,使得能够实现搜索处理的负载分布。
因此,与传统网络系统不同,基于软件的交换处理不是由处理能力受限的单个CPU执行的,并且不执行基于硬件的交换处理,在基于硬件的交换处理中,转移表81(81-z,z=1到N)的容量是受限的。因此,能够实现这样的基于软件的交换节点4,在其中有可能执行到大容量转移表81(81-z,z=1到N)的高速交换。
此外,交换节点4能够从CPU、存储器、PCIexpress(PCIe)交换机、以及网络接口(其具有用在通用计算机中的一般性)来配置,比较便宜,并且高效,因此存在这样的优点:在成本方面是优选的,并且因为以软件为基础所以具有高的改变自由度。
(CPU的配置)
图11是示出CPU70(70-y,y=1到N)执行的软件配置的示图。
每个CPU70(70-y,y=1到N)具有PCIexpress根复合体(PCIeRC)71、网络接口驱动器72、分组分析部件73、表搜索部件74、分组缓冲部件75、服务查询部件76、加密部件77、扩展网络服务设置部件78和多CPU转移表同步部件79。
PCIexpress根复合体(PCIeRC)71和多路由PCIExpress(PCIe:PCI)交换机50相连。
网络接口驱动器72、分组分析部件73、表搜索部件74、分组缓冲部件75、服务查询部件76、加密部件77、扩展网络服务设置部件78和多CPU转移表同步部件79是通过每个CPU70(70-y,y=1到N)执行软件来实现的。
网络接口驱动器72控制扩展网络接口(扩展NWI/F)60(60-x,x=1到M)。
分组分析部件73执行对提供自扩展网络接口(扩展NWI/F)60(60-x,x=1到M)的分组的分析。
表搜索部件74搜索转移表81(81-z,z=1到N),以便确定分组的转移方法。
关于交换处理以及其处理尚未确定的分组,分组缓冲部件75存储该分组直到确定是否向控制服务器3查询对该分组的处理。
服务查询部件76向控制服务器3查询对分组的处理。
加密部件77执行与控制服务器3的加密通信。
扩展网络服务设置部件78根据来自控制服务器3的指令设置转移表81(81-z,z=1到N),并且执行对扩展网络服务的处理。
多CPU转移表同步部件79将来自控制服务器3的指令转移到另一CPU70(70-y,y=1到N),并且执行对转移表81(81-z,z=1到N)的同步。
(多CPU转移表同步处理)
图12示出了示出多CPU转移表同步处理的流程图。
(1)步骤S301
服务查询部件76向控制服务器3查询服务处理方法(处理内容)。在该情况下,服务查询部件76向加密部件77发送与服务处理方法查询有关的分组。加密部件77对与服务处理方法查询有关的分组进行加密,以发送给网络接口驱动器72。网络接口驱动器72通过PCIexpress根复合体(PCIeRC)11将加密后的分组发送给多路由PCIExpress(PCIe)交换机50。多路由PCIExpress(PCIe)交换机50将加密后的分组发送给控制服务器3。
(2)步骡S302
控制服务器3确定服务处理方法。此处,控制服务器3的分组发送和接收部件31接收加密后的分组,以发送给加密部件32。加密部件32对加密后的分组进行解密,并且将与服务处理方法查询有关的分组发送给扩展网络服务处理部件33。扩展网络服务处理部件33基于与服务处理方法查询有关的分组确定服务处理方法。
(3)步骤S303
控制服务器3根据所确定的服务处理方法来执行对转移表81(81-z,z=1到N)的条目添加处理。在该情况下,控制服务器3在与前述步骤S301中的流方向相反的流中,向服务查询部件76发送基于服务处理方法的条目添加请求。服务查询部件76向扩展网络服务设置部件78通知该条目添加请求。
(4)步骤S304
扩展网络服务设置部件78根据该条目添加请求设置其自身CPU上的转移表81(81-z,z=1到N)。在该情况下,扩展网络服务设置部件78根据该条目添加请求设置存储在为其自身CPU提供的大容量存储器80(80-y,y=1到N)中的转移表81(81-z,z=1到N)。
(5)步骤S305
扩展网络服务设置部件78向多CPU转移表同步部件79通知其自身CPU上的转移表81(81-z,z=1到N)的内容。多CPU转移表同步部件79基于自身CPU上的转移表设置请求将该转移表写到另一CPU。在该情况下,扩展网络服务设置部件78向多CPU转移表同步部件79通知其自身CPU上的转移表81(81-z,z=1到N)的内容。为了使得另一CPU上的转移表81(81-z,z=1到N)与其自身CPU上的转移表81(81-z,z=1到N)同步,多CPU转移表同步部件79向其他CPU通知其自身CPU上的转移表81(81-z,z=1到N)的所有条目,并且要求写入其他CPU上的转移表81(81-z,z=1到N)。
(6)步骤S306
多CPU转移表同步部件79等待,直到接收到来自其他CPU的写入完成响应,并且如果接收到来自其他CPU的写入完成响应,则结束该处理。
(转移表的配置)
图13示出了转移表81(81-z,z=1到N)的配置。
转移表81(81-z,z=1到N)可以管理大量流。在该情况下,转移表81(81-z,z=1到N)管理6,400,000个条目。
应该注意,“MACDA”示出了目的地MAC地址,“MACSA”示出了源MAC地址、“IPDA”示出了目的地IP地址,以及“IPSA”示出了源IP地址。
(CPU中的软件分组处理)
下文将描述CPU70(70-y,y=1到N)中的软件分组处理的操作。
在CPU70(70-y,y=1到N)中,控制扩展网络接口(扩展NWI/F)60(60-x,x=1到M)的网络接口驱动器72通过PCIexpress根复合体(PCIeRC)11控制DMA控制器641,并且执行在CPU70(70-y,y=1到N)与扩展网络接口(扩展NWI/F)60(60-x,x=1到M)之间的数据的发送和接收。
网络接口驱动器72通过PCIexpress根复合体(PCIeRC)11接收来自扩展网络接口(扩展NWI/F)60(60-x,x=1到M)的分组,然后将其转移给分组分析部件73用于交换操作。
分组分析部件73提取分组的报头数据等,分析所提取的报头数据,通过使用报头数据生成搜索关键字,并且将其传递给表搜索部件74。
表搜索部件74通过使用该搜索关键字搜索存储在大容量存储器80(80-y,y=1到N)中的转移表81(81-z,z=1到N),以确定对分组的处理方法。
当作为搜索转移表81(81-z,z=1到N)的结果存在任何命中的条目时,表搜索部件74基于该条目的动作来确定分组的目的地输出端口和诸如报头重写处理之类的处理方法。
在那之后,表搜索部件74将分组转移给分组缓冲部件75。
在那之后,当已经确定处理方法时,分组缓冲部件75执行对分组的处理,并且执行将分组输出给目的地输出端口的操作,以便进行交换操作。分组缓冲部件75根据所确定的处理方法将分组转移给网络接口驱动器72,以将分组输出给目的地输出端口。
该网络接口驱动器72通过PCIexpress根复合体(PCIeRC)71控制DMA控制器641,并且将分组输出给作为目的地输出端口的扩展网络接口(扩展NWI/F)60(60-x,x=1到M)的CPU发送分组队列643。
此外,网络接口驱动器72控制DMA控制器641,并且将发送给CPU发送分组队列643的分组存储在分组接收缓冲器633中。
分组发送部件634读取分组接收缓冲器633中存储的分组,以通过LAN接口(1GMAC)62发送给输出目的地的终端2(2-i,i=1到T)。
此外,当作为搜索转移表81(81-z,z=1到N)的结果没有命中条目时,表搜索部件71向控制服务器3查询分组的处理方法,并且确定处理方法。
在该情况下,服务查询部件76通过使用加密部件77对分组数据进行加密,然后将其转移给网络接口驱动器72。
网络接口驱动器72通过PCIexpress根复合体(PCIeRC)71控制扩展网络接口(扩展NWI/F)60-4的DMA控制器641,并且将加密后的分组数据发送给扩展网络接口(扩展NWI/F)60-4的CPU发送分组队列643。
网络接口驱动器72控制DMA控制器641,并且将发送给CPU发送分组队列643的分组(加密后的分组数据)发送给分组转移处理部件65的分组接收缓冲器653。
在那之后,网络接口驱动器72控制DMA控制器641,并且将发送给分组接收缓冲器653的分组(加密后的分组数据)发送给目的地分析部件651。
当接收到分组(加密后的分组数据)时,目的地分析部件651确认分组的目的地MAC地址,并且检查其是否是交换节点4中的CPU70(70-y,y=1到N)使用的MAC地址。
当其是CPU70(70-y,y=1到N)使用的MAC地址时,目的地分析部件651使分组回转而不将分组输出到外部,并且将该分组(加密后的分组数据)向分组发送缓冲器652输出。
当与所使用的MAC地址不同时,与以控制服务器3为目的地的分组类似,目的地分析部件651向分组发送部件654发送,并且通过LAN接口(1GMAC)62-4将分组(加密后的分组数据)发送给控制服务器3。
控制服务器3的分组发送和接收部件31接收所发送的分组(加密后的分组数据),然后将其转移给加密部件32。
加密部件32对该加密后的分组数据进行解密,将该分组数据发送给扩展网络服务处理部件33,并且确定对该分组的处理方法。
在确定处理方法之后,加密部件32对属于该处理方法的数据的分组进行加密,并且将其发送给分组发送和接收部件31。分组发送和接收部件31将该分组发送给扩展网络接口(扩展NWI/F)60-4,并且向交换节点4回复该加密后的分组。
交换节点4中的扩展网络接口(扩展NWI/F)60-4的LAN接口(1GMAC)62-4接收响应分组,并且在分组发送缓冲器652中存储响应分组。
交换节点4中的CPU70(70-y,y=1到N)的网络接口驱动器72控制DMA控制器641,并且接收存储在分组发送缓冲器652中的响应分组并将其发送给加密部件77。加密部件77对响应分组进行解密,并且将其发送给服务查询部件76。
当基于来自控制服务器3的响应分组确定了处理方法时,服务查询部件76向扩展网络服务设置部件78通知处理内容。
扩展网络服务设置部件78执行分组报头重写处理,将分组发送给所指示的分组输出端口,并且执行分组交换操作。
此外,扩展网络服务设置部件78将获取自控制服务器3的分组处理方法写入其自身CPU中提供的存储器80的转移表81(81-z,z=1到N)中,使得有可能从下一个分组确定转移表81(81-z,z=1到N)中的处理方法。
此外,扩展网络服务设置部件78向多CPU转移表同步部件79请求同步处理,使得能够在多个CPU70(70-y,y=1到N)中执行类似操作。
多CPU转移表同步部件79根据同步处理请求,基于其自身CPU70(70-y,y=1到N)上的转移表81(81-z,z=1到N)的数据,更新另一CPU70(70-y,y=1到N)上的转移表81(81-z,z=1到N)中的数据,并且在多个CPU上执行对转移表81(81-z,z=1到N)的同步处理。
(该示例性实施例中的特征)
如上所述,通过使用多路由PCIExpress(PCIe:PCI)交换机,可以执行分组到每个CPU的分发处理。
此外,通过使用扩展网络接口(扩展NWI/F)可以实现使用多个CPU的基于软件的高速交换机操作处理。
此外,因为可以安装大容量存储器,所以CPU可以构建大容量转移表并且能够管理大量流的高速的基于软件的交换节点配置。
在本发明中,使用了在“PCI-SIG”中规定的多个CPU70(70-y,y=1到N)、多个I/O(输入/输出)单元以及可与它们连接的标准的多路由兼容PCIExpress交换机。
此外,在本发明中,利用网络处理器分析分组,并且使用了与可以将处理分发到多个CPU的多路由对应的扩展网络接口(扩展NWI/F)卡。
此外,在本发明中,使用通用CPU和存储器来执行分组处理。
在本发明中,通过执行转移表在CPU之间的同步以及多个CPU的分组处理,可以实现高速分组处理,无论是否基于软件的系统。
此外,在本发明中,通过由PCIexpress(PCIe)交换机使用DMA控制器,在扩展网络接口(扩展NWI/F)以及CPU和所述多个CPU之间执行对分组的高速发送和接收。
因此,可以配置具有大容量转移表的高速的基于软件的交换节点。
此外,因为配置交换节点的硬件部分是标准部件,设备成本可以降低,并且交换节点可被实现为:通过增加CPU数量在性能上具有可伸缩性,以及通过配置基于软件的系统具有高的灵活性。
本发明可被应用于需要管理大量流(诸如10,000,000个流)的网络设备、需要高速和复杂分组处理的网络设备、以及使用众多服务器的高级功能网络设备。
本发明可以应用于这样的配置,其中没有使用外部控制服务器,使得可以实现高级功能交换节点。
[第一示例性实施例]
图14示出了根据第一示例性实施例的交换节点的配置示例。
根据本示例性实施例的通信控制系统包括终端2(2-i,i=1到T)、控制服务器3和交换节点5。
终端2(2-i,i=1到T)和控制服务器3与前面描述的相同。
交换节点5包括LAN交换机100、CPU和存储器(110-y,y=1到N)、PCIexpress(PCIe)交换机和网络虚拟化接口(NW虚拟化I/F)120(120-y,y=1到N)、单路由PCIexpress端点(PCIeEP)和扩展网络接口(扩展NWI/F)130(130-x,x=1到(M+1))、以及多路由PCIexpress(PCIe)交换机和网络虚拟化接口(NW虚拟化I/F)140(140-x,x=1到(M+1))。
LAN交换机100是以太网交换机(以太网(注册商标)交换机),并且与PCIexpress(PCIe)交换机、网络虚拟化接口(NW虚拟化I/F)120(120-y,y=1剑N)、以及单路由PCIexpress端点(PCIeEP)和扩展网络接口(扩展NWI/F)130(130-x,x=1到(M+1))相连。
CPU和存储器(110-y,y=1到N)等价于CPU70(70-y,y=1到N)和存储器80(80-y,y=1到N)的组合。
PCIexpress(PCIe)交换机和网络虚拟化接口(NW虚拟化I/F)120(120-y,y=1到N)等价于PCIexpress(PCIe)交换机和网络虚拟化接口(NW虚拟化I/F)的组合。PCIexpress(PCIe)交换机和网络虚拟化接口(NW虚拟化I/F)120(120-y,y=1到N)与LAN交换机100以及CPU和存储器(110-y,y=1到N)相连。
单路由PCIexpress端点(PCIeEP)和扩展网络接口(扩展NWI/F)130(130-x,x=1到(M+1))等价于单路由PCIexpress端点(PCIeEP)和扩展网络接口(扩展NWI/F)60(60-x,x=1到M)的组合。单路由PCIexpress端点(PCIeEP)和扩展网络接口(扩展NWI/F)130(130-x,x=1到(M+1))与终端2(2-i,i=1到T)以及多路由PCIexpress(PCIe)交换机和网络虚拟化接口(NW虚拟化I/F)140(140-x,x=1到(M+1))相连。
多路由PCIexpress(PCIe)交换机和网络虚拟化接口(NW虚拟化I/F)140(140-x,x=1到(M+1))等价于多路由PCIexpress(PCIe)交换机50和网络虚拟化接口(NW虚拟化I/F)的组合。多路由PCIexpress(PCIe)交换机和网络虚拟化接口(NW虚拟化I/F)140(140-x,x=1到(M+1))与LAN交换机100以及单路由PCIexpress端点(PCIeEP)和扩展网络接口(扩展NWI/F)130(130-x,x=1到(M+1))相连。
在本发明中,随着CPU数量的增长,可以预期到交换机吞吐量的处理能力的提高。
如果是与涉及“PCI-SIG”规则的多路由兼容PCIExpress交换机对应的交换机,则同样是可用的。多路由兼容交换机是通过使用LAN交换机来配置的。单路由的扩展网络接口(扩展NWI/F)被虚拟化以允许多个CPU可被访问。因此,本发明可被应用于等价于多路由配置的系统配置。
在该情况下,因为交换机是在LAN上配置的,所以配置了非常大规模的虚拟交换机。具有存储器和网络接口的CPU和大量服务器连接到它们,使得可以配置规模非常大且具有高级功能的交换节点。
[第二示例性实施例]
图15示出了根据第二示例性实施例的交换节点的配置示例。
图15是这样的配置,其中图14的CPU70(70-y,y=1到N)部分被改变成安装了大量处理器的GPU(图像处理单元)。
当使用GPU时,可以由GPU替代CPU来执行分组处理,因为可以预期分组处理的加速,并且其有可能连接到PCIexpress(PCIe)。
然而,因为GPU是I/O单元,需要连接CPU之一来作为主CPU。
根据本示例性实施例的通信控制系统包含包括终端2(2-i,i=1到T)、控制服务器3和交换节点6。
终端2(2-i,i=1到T)和控制服务器3与前面描述的相同。
交换节点6包括LAN交换机100、CPU和存储器110、PCIexpress(PCIe)交换机和网络虚拟化接口(NW虚拟化I/F)120(120-y,y=1到N)、单路由PCIexpress端点(PCIeEP)和扩展网络接口(扩展NWI/F)130(130-x,x=1到(M+1))、多路由PCIexpress(PCIe)交换机和网络虚拟化接口(NW虚拟化I/F)140(140-x,x=1到(M+1))、GPU和存储器150(150-y,y=1到N)、以及express(PCIexpress)交换机和网络虚拟化接口(NW虚拟化I/F)120(120-y,y=1到N)。
LAN交换机100、CPU和存储器110、PCIexpress(PCIe)交换机和网络虚拟化接口(NW虚拟化I/F)120(120-y,y=1到N)、单路由PCIexpress端点(PCIeEP)和扩展网络接口(扩展NWI/F)130(130-x,x=1到(M+1))、以及多路由PCIexpress(PCIe)交换机和网络虚拟化接口(NW虚拟化I/F)140(140-x,x=1到(M+1))与图14中示出的第一示例性实施例中的相同。
GPU和存储器150(150-y,y=1到N)等价于GPU和存储器150(150-y,y=1到N)的组合。
express(PCIexpress)交换机和网络虚拟化接口(NW虚拟化I/F)120(120-y,y=1到N)等价于express(PCIexpress)交换机和网络虚拟化接口(NW虚拟化I/F)的组合。express(PCIexpress)交换机和网络虚拟化接口(NW虚拟化I/F)120(120-y,y=1到N)与LAN交换机100以及GPU和存储器150(150-y,y=1到N)相连。
<总结>
本发明涉及这样的节点,其在基于软件的网络交换节点中,可以利用“PCI-SIG”中规定的多路由PCIExpress(PCIe:PCIexpress)交换机,可以管理大量转移表,并且可以实现高级功能分组转移处理。
本发明可以配置大容量流表,可以执行高速分组交换处理,与外部控制服务器连接,并且可以通过在基于软件的交换节点中使用在PCIexpress(PCIe)中规定的多路由兼容交换机和网络接口来实现高级功能协议处理。
根据本发明的交换节点是通过使用多路由PCIExpress(PCIe:PCI)交换机、多个CPU和很多网络接口卡,以软件为基础来构建的。
根据本发明的交换节点通过使用多路由PCIExpress(PCIe:PCIexpress)交换机执行在网络接口中将处理分发到的CPU,以便执行分组的负载分布,并且执行到多个CPU的处理负载分布。
根据本发明的交换节点通过使用可能执行回转的扩展接口卡,经由多路由PCIExpress(PCIe:PCIexpress)交换机在多个CPU之间高速地执行转移表的同步。
<评论>
如上文描述的,已经详细描述了本发明的示例性实施例。然而,实际上,本发明不限于傻瓜念书示例性实施例。在不偏离本发明的范围的程度上的修改被包括在本发明中。
应该注意,该申请要求基于日本专利申请NO.JP2011-063441的优先权。通过引用将其公开内容并入本文。
Claims (4)
1.一种通信控制系统,包括:
交换节点,被配置为基于流条目执行对每个接收分组的处理,所述流条目定义规则和动作以一致地控制所述分组;以及
控制服务器,被配置为将所述流条目设置到所述交换节点的流表中,
其中,所述交换节点包括:
用于通过多路由兼容PCIexpress交换机连接具有大容量存储器的多个处理器以及多个扩展网络接口,以配置由所述多个扩展网络接口构成的交换机端口的装置;
用于执行从所述多个扩展网络接口向所述多个处理器的负载分布转移处理,以及利用所述多个处理器通过多处理来执行高速分组处理的装置;以及,
用于利用所述多个处理器的大容量存储器空间,在基于软件的所述交换节点中配置大容量流表的装置,
其中,所述交换节点还包括:
用于通过所述多个扩展网络接口中的任意一个来接收所述分组的装置;
用于在所述多个扩展网络接口中的接收所述分组的扩展网络接口中利用哈希功能来确定到所述多个处理器的分发处理,以及通过所述多个处理器中对软件分组处理的负载分布处理和对所述分组处理的多处理来执行高速处理的装置;以及
用于通过所述PCIexpress交换机,利用所述扩展网络接口的直接存储器访问控制器,向所述多个处理器分发所述分组的装置,以及
其中,所述多个处理器中的每一个包括:
用于利用软件处理分析所述接收分组的装置;
用于执行对所述流表的表搜索以确定目的地输出端口的装置,所述流表是利用针对其自身的处理器提供的大容量存储器来配置的,并且管理大量流的目的地;
用于在确定所述目的地输出端口之后控制所述多个扩展网络接口中作为输出目的地的扩展网络接口的直接存储器访问控制器,并且通过所述PCIexpress交换机转移所述分组的装置;
用于在作为对所述流表的表搜索结果没有确定所述目的地输出端口时,通过所述交换节点的扩展网络接口将所述分组转移到所述控制服务器,并且发出输出目的地查询的装置;
用于当作为所述查询的结果确定所述目的地输出端口时,在所述流表中存储对应流的目的地数据的装置;以及
用于在所述多个处理器之间执行所述流表的同步处理,使得所述多个处理器管理的流表存储相同的数据以允许对所述搜索处理的负载分布的装置。
2.一种交换节点,包括:
被配置为接收分组的多个扩展网络接口;
具有大容量存储器的多个处理器;以及
多路由兼容PCIExpress交换机,被配置为连接所述多个处理器与所述多个扩展网络接口,
其中,所述多个扩展网络接口中的每一个包括:
LAN接口,被配置为执行分组的输入和输出;
分组转移部件,被配置为执行以下转移处理中的至少一个转移处理:分组到所述多个处理器的转移处理、分组在所述多个处理器之间的转移处理、以及到控制服务器的转移处理;
多个页面文件资源,被配置为以直接存储器访问转移方式执行与所述多个处理器的高速分组发送和接收;以及
与所述PCIexpress交换机相连的PCIexpress端点,
其中,所述多个处理器中的每一个包括:
网络接口驱动器,通过PCIexpress根复合体与所述PCIexpress交换机相连,以控制所述多个扩展网络接口之一;
分组分析部件,被配置为执行对提供自所述扩展网络接口的分组的分析处理;
表搜索部件,被配置为基于对所述分组的分析结果搜索流表,以确定对所述分组的转移处理;
分组缓冲部件,被配置为向所述控制服务器查询交换处理和处理未确定的分组,并且存储所述分组直到确定处理方法;
服务查询部件,被配置为向所述控制服务器查询所述分组处理的内容;
加密部件,被配置为执行与所述控制服务器的加密通信;
扩展网络服务设置部件,被配置为响应于来自所述控制服务器的指令对所述流表进行设置,并且执行对所述扩展网络服务的处理;以及
多处理器转移表同步部件,被配置为向其他处理器传送来自所述控制服务器的指令,并且在所述多个处理器之间执行所述流表的同步处理。
3.一种交换节点,包括:
被配置为接收分组的多个扩展网络接口;
具有大容量存储器的多个处理器;以及
多路由兼容PCIExpress交换机,被配置为连接所述多个处理器与所述多个扩展网络接口,
其中,所述多个扩展网络接口中的每一个包括:
LAN接口,被配置为执行分组的输入和输出;
分组转移部件,被配置为执行以下转移处理中的至少一个转移处理:分组到所述多个处理器的转移处理、分组在所述多个处理器之间的转移处理、以及到控制服务器的转移处理;
多个页面文件资源,被配置为以直接存储器访问转移方式执行与所述多个处理器的高速分组发送和接收;以及
与所述PCIexpress交换机相连的PCIexpress端点,其中,所述分组转移部件还包括:
用于当接收分组时,检查每个分组的目的地MAC地址是否是所述交换节点中的任一处理器使用的MAC地址的装置;
用于当所述目的地MAC地址是所述交换节点中的任一处理器使用的MAC地址时,通过回转而不是将分组输出到外部,将所述分组发送给所述页面文件资源的装置;以及
用于当所述目的地MAC地址不是所述处理器使用的MAC地址时,通过所述LAN接口将所述分组发送给所述控制服务器,向所述控制服务器查询所述分组处理的内容,以及从所述控制服务器向所述页面文件资源发送响应分组的装置。
4.一种交换节点中的通信控制方法,所述交换节点基于流条目执行对接收分组的处理,所述流条目定义规则和动作以一致地将分组作为流来进行控制,以及所述流条目是从控制服务器设置在其自身的流表中的,所述通信控制方法包括:
通过多路由兼容PCIexpress交换机连接具有大容量存储器的多个处理器以及多个扩展网络接口,以配置由所述多个扩展网络接口构成的交换机端口;
执行从所述多个扩展网络接口向所述多个处理器的负载分布转移处理,以及利用所述多个处理器通过多处理来执行高速分组处理;以及,
利用所述多个处理器的大容量存储器空间,配置基于软件的所述交换节点中的大容量流表,
所述通信控制方法还包括:
通过所述多个扩展网络接口中的任意一个来接收所述分组;
在已接收所述分组的扩展网络接口中利用哈希功能来确定到所述多个处理器的分发处理,以及通过所述处理器中对分组处理的多处理和对软件分组处理的负载分布处理来加速处理;以及
通过所述PCIexpress交换机,利用所述扩展网络接口的直接存储器访问控制器,向所述多个处理器分发所述分组,以及
在所述多个处理器中的每一个中:
利用软件处理分析所述接收分组;
执行对所述流表的表搜索以确定目的地输出端口,所述流表管理大量流的目的地,并且是利用向所述处理器提供的大容量存储器来配置的;
在确定所述目的地输出端口之后,通过控制作为输出目的地的扩展网络接口的直接存储器访问控制器,经由所述PCIexpress交换机转移所述分组;
在作为对所述流表的表搜索结果没有确定所述目的地输出端口时,通过经由所述交换节点的扩展网络接口将所述分组转移到所述控制服务器来查询所述输出目的地;
当作为所述查询的结果确定所述目的地输出端口时,在所述流表中存储所述流的目的地数据;以及
在所述多个处理器之间执行所述流表的同步处理,并且在所述多个处理器管理的流表中存储相同的数据,以实现对所述搜索处理的负载分布。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011063441 | 2011-03-23 | ||
JP2011-063441 | 2011-03-23 | ||
PCT/JP2012/057176 WO2012128282A1 (ja) | 2011-03-23 | 2012-03-21 | 通信制御システム、スイッチノード、及び通信制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103444138A CN103444138A (zh) | 2013-12-11 |
CN103444138B true CN103444138B (zh) | 2016-03-30 |
Family
ID=46879424
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280014681.6A Expired - Fee Related CN103444138B (zh) | 2011-03-23 | 2012-03-21 | 通信控制系统、交换节点以及通信控制方法 |
Country Status (7)
Country | Link |
---|---|
US (1) | US9407577B2 (zh) |
EP (1) | EP2690831A4 (zh) |
JP (1) | JP5601601B2 (zh) |
KR (1) | KR101559644B1 (zh) |
CN (1) | CN103444138B (zh) |
RU (1) | RU2584449C2 (zh) |
WO (1) | WO2012128282A1 (zh) |
Families Citing this family (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5928087B2 (ja) * | 2012-03-29 | 2016-06-01 | 富士通株式会社 | スイッチ、情報処理装置および通信制御方法 |
US10129182B2 (en) * | 2012-06-29 | 2018-11-13 | Juniper Networks, Inc. | Methods and apparatus for providing services in distributed switch |
US10097481B2 (en) | 2012-06-29 | 2018-10-09 | Juniper Networks, Inc. | Methods and apparatus for providing services in distributed switch |
CN104038425B (zh) * | 2013-03-06 | 2018-01-02 | 阿里巴巴集团控股有限公司 | 转发以太网报文的方法和装置 |
CN103596649B (zh) * | 2013-04-25 | 2015-07-29 | 华为技术有限公司 | 一种在虚拟局域网中通信的方法、设备和系统 |
US9319349B2 (en) * | 2013-06-20 | 2016-04-19 | Micron Technology, Inc. | Encapsulation enabled PCIE virtualisation |
CN103428094B (zh) * | 2013-08-12 | 2016-08-17 | 杭州华三通信技术有限公司 | 开放流OpenFlow系统中的报文转发方法及装置 |
CN104702496A (zh) * | 2013-12-10 | 2015-06-10 | 财团法人资讯工业策进会 | 封包交换系统及方法 |
US9825884B2 (en) | 2013-12-30 | 2017-11-21 | Cavium, Inc. | Protocol independent programmable switch (PIPS) software defined data center networks |
WO2015147859A1 (en) | 2014-03-28 | 2015-10-01 | Hewlett-Packard Development Company, L.P. | Reconciling information in a controller and a node |
US10142220B2 (en) | 2014-04-29 | 2018-11-27 | Hewlett Packard Enterprise Development Lp | Efficient routing in software defined networks |
JPWO2015194534A1 (ja) | 2014-06-17 | 2017-04-20 | 日本電気株式会社 | スイッチ装置とコンピュータシステムと方法並びにプログラム |
US9961167B2 (en) * | 2014-06-19 | 2018-05-01 | Cavium, Inc. | Method of modifying packets to a generic format for enabling programmable modifications and an apparatus thereof |
US10616380B2 (en) | 2014-06-19 | 2020-04-07 | Cavium, Llc | Method of handling large protocol layers for configurable extraction of layer information and an apparatus thereof |
US9635146B2 (en) | 2014-06-19 | 2017-04-25 | Cavium, Inc. | Method of using bit vectors to allow expansion and collapse of header layers within packets for enabling flexible modifications and an apparatus thereof |
AU2014399458B2 (en) * | 2014-06-30 | 2018-01-18 | Huawei Technologies Co., Ltd. | Flow Entry Configuration Method, Apparatus, and System |
KR102398213B1 (ko) * | 2015-03-09 | 2022-05-17 | 삼성전자주식회사 | 저장 장치, 그것을 포함하는 호스트 시스템, 및 그것의 맵 테이블 업데이트 방법 |
US20170004802A1 (en) * | 2015-07-01 | 2017-01-05 | Asustek Computer Inc. | Digital signage |
KR101678850B1 (ko) * | 2015-07-09 | 2016-12-06 | 아토리서치(주) | 소프트웨어 정의 네트워크에서 스위치의 변경 방법, 장치 및 컴퓨터 프로그램 |
KR101881780B1 (ko) * | 2016-02-19 | 2018-07-25 | 정덕기 | 네트워크 데이터 처리 장치 및 방법 |
KR101854377B1 (ko) * | 2016-11-10 | 2018-05-03 | 고려대학교 산학협력단 | 고속 패킷 처리 시스템 및 그 제어방법 |
RU179300U1 (ru) * | 2017-04-05 | 2018-05-07 | Общество с ограниченной ответственностью "БУЛАТ" | Абонентское сетевое устройство с виртуализированными сетевыми функциями |
JP6617744B2 (ja) * | 2017-04-05 | 2019-12-11 | トヨタ自動車株式会社 | 車両システム |
CN107241249B (zh) * | 2017-05-19 | 2020-05-22 | 闫晓峰 | 以太总线交换机、以太总线系统以及数据通讯方法 |
KR102007082B1 (ko) * | 2017-08-09 | 2019-08-02 | 박익동 | 다대다(n:n) 구조의 경로 관리 스위치 및 그것에 의해 수행되는 경로 관리 방법 |
JP7104308B2 (ja) | 2018-04-25 | 2022-07-21 | 富士通株式会社 | プロセッサ及び情報処理装置 |
CN108810182B (zh) * | 2018-04-28 | 2021-05-18 | 深圳市德赛微电子技术有限公司 | 一种基于openflow系统的NAT流表动态学习及配置方法 |
CN108462661A (zh) * | 2018-06-07 | 2018-08-28 | 浙江国自机器人技术有限公司 | 一种多cpu控制器及其通讯系统 |
KR101939788B1 (ko) * | 2018-06-29 | 2019-01-17 | 한화시스템(주) | 단일 이더넷 연동 지원 장비에 대한 통합연동처리 시스템 및 이를 이용한 통합연동처리 방법 |
US10964158B2 (en) | 2018-10-05 | 2021-03-30 | Jcm American Corporation | Apparatus for retrofit of auxiliary serial communication port(s) in a slot accounting system |
JP2022118598A (ja) * | 2021-02-02 | 2022-08-15 | 株式会社オートネットワーク技術研究所 | 車載装置、通信速度の制御方法、及びプログラム |
US11714775B2 (en) * | 2021-05-10 | 2023-08-01 | Zenlayer Innovation LLC | Peripheral component interconnect (PCI) hosting device |
US11677672B2 (en) | 2021-06-25 | 2023-06-13 | Cornelis Newtorks, Inc. | Telemetry-based load-balanced fine-grained adaptive routing in high-performance system interconnect |
US11637778B2 (en) * | 2021-06-25 | 2023-04-25 | Cornelis Newtorks, Inc. | Filter with engineered damping for load-balanced fine-grained adaptive routing in high-performance system interconnect |
CN114422419B (zh) * | 2021-12-17 | 2024-05-28 | 阿里巴巴(中国)有限公司 | 网络设备连接方法及装置 |
WO2023233574A1 (ja) * | 2022-06-01 | 2023-12-07 | 日本電信電話株式会社 | 情報処理システム |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101242371A (zh) * | 2008-03-14 | 2008-08-13 | 杭州华三通信技术有限公司 | 基于PCIe交换架构路由器堆叠的方法、系统和装置 |
CN101501660A (zh) * | 2006-08-09 | 2009-08-05 | 日本电气株式会社 | 因特网连接交换机和因特网连接系统 |
WO2010110183A1 (ja) * | 2009-03-23 | 2010-09-30 | 日本電気株式会社 | 分散処理システム、インタフェース、記憶装置、分散処理方法、分散処理プログラム |
WO2011004548A1 (ja) * | 2009-07-06 | 2011-01-13 | 日本電気株式会社 | I/oシステム、下流pciエクスプレスブリッジ、インターフェース共有方法、およびプログラム |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7293129B2 (en) * | 2005-04-22 | 2007-11-06 | Sun Microsystems, Inc. | Flexible routing and addressing |
US7478178B2 (en) * | 2005-04-22 | 2009-01-13 | Sun Microsystems, Inc. | Virtualization for device sharing |
US7613864B2 (en) * | 2005-04-22 | 2009-11-03 | Sun Microsystems, Inc. | Device sharing |
US7565463B2 (en) * | 2005-04-22 | 2009-07-21 | Sun Microsystems, Inc. | Scalable routing and addressing |
US20070165596A1 (en) | 2006-01-18 | 2007-07-19 | Boyd William T | Creation and management of routing table for PCI bus address based routing with integrated DID |
US7380046B2 (en) * | 2006-02-07 | 2008-05-27 | International Business Machines Corporation | Method, apparatus, and computer program product for routing packets utilizing a unique identifier, included within a standard address, that identifies the destination host computer system |
US8346996B2 (en) * | 2008-10-29 | 2013-01-01 | Nec Corporation | Information processing system |
US8503468B2 (en) * | 2008-11-05 | 2013-08-06 | Fusion-Io, Inc. | PCI express load sharing network interface controller cluster |
CN102365846B (zh) | 2009-03-26 | 2014-07-02 | 日本电气株式会社 | 路由设置服务器、路由设置方法和路由设置程序 |
JP5267943B2 (ja) * | 2009-03-30 | 2013-08-21 | 日本電気株式会社 | PCI−Express通信システム、及びPCI−Express通信方法 |
US8327039B2 (en) * | 2009-08-14 | 2012-12-04 | Cadence Design Systems, Inc. | Integrated DMA processor and PCI express switch for a hardware-based functional verification system |
US20110064424A1 (en) | 2009-09-15 | 2011-03-17 | Xerox Corporation | Dynamic media thickness, curl sensing system |
JPWO2011105303A1 (ja) * | 2010-02-23 | 2013-06-20 | 日本電気株式会社 | 遠隔制御システム、遠隔制御方法、及び遠隔制御用プログラム |
US20110302390A1 (en) * | 2010-06-05 | 2011-12-08 | Greg Copeland | SYSTEMS AND METHODS FOR PROCESSING COMMUNICATIONS SIGNALS fUSING PARALLEL PROCESSING |
-
2012
- 2012-03-21 WO PCT/JP2012/057176 patent/WO2012128282A1/ja active Application Filing
- 2012-03-21 US US14/006,651 patent/US9407577B2/en not_active Expired - Fee Related
- 2012-03-21 KR KR1020137024963A patent/KR101559644B1/ko not_active IP Right Cessation
- 2012-03-21 CN CN201280014681.6A patent/CN103444138B/zh not_active Expired - Fee Related
- 2012-03-21 RU RU2013147150/08A patent/RU2584449C2/ru not_active IP Right Cessation
- 2012-03-21 JP JP2013505986A patent/JP5601601B2/ja not_active Expired - Fee Related
- 2012-03-21 EP EP12761361.0A patent/EP2690831A4/en not_active Withdrawn
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101501660A (zh) * | 2006-08-09 | 2009-08-05 | 日本电气株式会社 | 因特网连接交换机和因特网连接系统 |
CN101242371A (zh) * | 2008-03-14 | 2008-08-13 | 杭州华三通信技术有限公司 | 基于PCIe交换架构路由器堆叠的方法、系统和装置 |
WO2010110183A1 (ja) * | 2009-03-23 | 2010-09-30 | 日本電気株式会社 | 分散処理システム、インタフェース、記憶装置、分散処理方法、分散処理プログラム |
WO2011004548A1 (ja) * | 2009-07-06 | 2011-01-13 | 日本電気株式会社 | I/oシステム、下流pciエクスプレスブリッジ、インターフェース共有方法、およびプログラム |
Non-Patent Citations (2)
Title |
---|
Guohan Lu, et al..ServerSwitch:A Programmable and High Performance Platform for Data Center Networks.《NSDI》.2011,第1-14页. * |
Yan Luo, et al..Accelerating OpenFlow Switching with Network Processors.《ANCS’09 Proceedings of the 5th ACM/IEEE Symposium on Architectures for Networking and Communications Systems》.2009,第70-71页. * |
Also Published As
Publication number | Publication date |
---|---|
JPWO2012128282A1 (ja) | 2014-07-24 |
US9407577B2 (en) | 2016-08-02 |
EP2690831A1 (en) | 2014-01-29 |
CN103444138A (zh) | 2013-12-11 |
JP5601601B2 (ja) | 2014-10-08 |
RU2013147150A (ru) | 2015-04-27 |
EP2690831A4 (en) | 2014-12-10 |
KR101559644B1 (ko) | 2015-10-12 |
KR20130128461A (ko) | 2013-11-26 |
US20140016648A1 (en) | 2014-01-16 |
RU2584449C2 (ru) | 2016-05-20 |
WO2012128282A1 (ja) | 2012-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103444138B (zh) | 通信控制系统、交换节点以及通信控制方法 | |
CN102334112B (zh) | 用于虚拟机网络的方法和系统 | |
CN103444143B (zh) | 网络系统及策略路由设置方法 | |
CN101849230B (zh) | 在多主机环境中共享遗留设备 | |
CN101501660B (zh) | 因特网连接交换机和因特网连接系统 | |
CN102648455B (zh) | 服务器和流控制程序 | |
KR100883405B1 (ko) | 공유된 속성들에 근거하여 압축된 큐 쌍으로부터 다중의가상 큐 쌍들을 생성하는 장치 | |
WO2012137646A1 (ja) | ネットワークシステム、スイッチ、及び接続端末検知方法 | |
CN110661718A (zh) | 基于非随机流簇的路由 | |
CN104395895A (zh) | 用于输入/输出虚拟化的系统和方法 | |
CN104954251A (zh) | 高性能、可扩展和无掉话的数据中心交换结构 | |
CN104954247A (zh) | 用于数据中心覆盖网络的主机网络加速器 | |
CN102347898A (zh) | 有关网络内路由选择的方法和设备 | |
CN104954253A (zh) | 用于数据中心覆盖网络的基于PCIe的主机网络加速器(HNA) | |
EP2297905B1 (en) | Cascaded memory tables for searching | |
US20070288938A1 (en) | Sharing data between partitions in a partitionable system | |
CN102843286A (zh) | 虚拟路由器的实现方法、装置及系统 | |
CN103858394A (zh) | 负载降低系统和负载降低方法 | |
US10616116B1 (en) | Network traffic load balancing using rotating hash | |
Bogdanski | Optimized routing for fat-tree topologies | |
RU2584471C1 (ru) | УСТРОЙСТВО ДЛЯ ПРИЕМА И ПЕРЕДАЧИ ДАННЫХ С ВОЗМОЖНОСТЬЮ ОСУЩЕСТВЛЕНИЯ ВЗАИМОДЕЙСТВИЯ С OpenFlow КОНТРОЛЛЕРОМ | |
US20140056175A1 (en) | Integrated device managment over ethernet network | |
Li et al. | SDN components and OpenFlow | |
Zang et al. | PROP: Using PCIe-based RDMA to accelerate rack-scale communications in data centers | |
KR20200046424A (ko) | 가상머신들의 개선된 연결구조를 포함하는 호스트 장치 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160330 Termination date: 20190321 |