CN102783098B - 通信系统、路径控制设备、分组转发设备以及路径控制方法 - Google Patents
通信系统、路径控制设备、分组转发设备以及路径控制方法 Download PDFInfo
- Publication number
- CN102783098B CN102783098B CN201180012631.XA CN201180012631A CN102783098B CN 102783098 B CN102783098 B CN 102783098B CN 201180012631 A CN201180012631 A CN 201180012631A CN 102783098 B CN102783098 B CN 102783098B
- Authority
- CN
- China
- Prior art keywords
- grouping
- information
- converter
- grouping converter
- port
- 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
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/30—Routing of multiclass traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
- H04L49/253—Routing or path finding in a switch fabric using establishment or release of connections between ports
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/42—Centralised routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/64—Routing or path finding of packets in data switching networks using an overlay routing layer
Abstract
为了提供一种即使当存在形成通信网络的分组转发设备的两种或两种以上类型的链路时也能够定义适当的流路径的通信系统。分组转发设备信息存储装置71针对每个分组转发设备存储所述分组转发设备的标识符、所述分组转发设备的每个端口的端口标识符以及连接到所述分组转发设备的每个端口的链路的类型。当从分组转发设备80接收到新流检测通知时,链路类型确定装置73基于在所述新流检测通知中包括的所述分组转发设备的所述标识符和所述端口标识符以及在所述分组转发设备信息存储装置71中存储的信息来确定由所述分组转发设备接收到的分组所通过的链路的类型。路径计算装置74基于有关所确定的链路的类型的拓扑信息来计算用于所述分组的通信路径。
Description
技术领域
本发明涉及通信系统、路径控制设备、分组转发设备、路径控制方法、路径控制程序以及用于该分组转发设备的程序。特别地,本发明涉及包括用于转发分组的分组转发设备和用于控制该分组转发设备的分组转发以控制通信路径的路径控制设备的通信系统,以及适用于该通信系统的该路径控制设备、该分组转发设备、路径控制方法、路径控制程序以及用于该分组转发设备的程序。
背景技术
在专利文献(PTL)1以及非专利文献(NPL)1和2中描述了通信系统的示例,该通信系统包括用于转发分组的流交换机和用于控制流交换机的分组转发以控制通信路径的路径控制设备。NPL2还描述了路径控制设备定义了将被应用于流交换机的流条目信息,并且提供定时器值使得每个流交换机将以定时的方式根据该定时器值来操作。
图11中示出了这样的通信系统的典型配置的示例。图11中所示出的通信系统包括路径控制设备110和属于通信网络100的流交换机120至125。用于允许路径控制设备控制流交换机的协议被称作无阻流(OpenFlow)。
路径控制设备110将流条目信息设置在流交换机120至125中的每一个中。流条目信息是用于根据到来的分组来定义流交换机的操作的信息。流条目信息还可以被称作分组转发规则。路径控制设备110将该流条目信息设置在流交换机120至125中的每一个中,以对于连接到通信网络100的通信终端130至133之间的通信执行路径控制。
路径控制设备110具有网络拓扑管理功能、通信终端位置管理功能、流条目生成功能、路径计算功能以及流交换机管理功能。
网络拓扑管理功能是基于从流交换机收集的信息来存储表示由流交换机组形成的网络拓扑的信息的功能。
流条目生成功能是创建流条目信息的功能。流条目生成功能允许路径控制设备110决定分类信息、动作信息以及定时器值以便创建包括这些条信息的流条目信息。分类信息是用于标识流的信息,其例如被表示为对于属于该流的分组的要求。基于分类信息,确定由流交换机接收到的分组属于哪个流。动作信息是指示根据流的流交换机的操作(例如,转发到特定端口、洪泛、丢弃等等)的信息。定时器值是定义流条目信息的有效周期的值。路径控制设备110包括动作信息中的定时器值以为每个流创建包括分类信息和动作信息的流条目信息。
路径计算功能是计算用于分组流的通信路径的功能。
流交换机管理功能是控制流交换机的功能。具体地,流交换机管理功能是初始化流交换机或者设置用于流交换机的流条目的功能。另外,在流交换机管理功能中还包括稍后描述的用于在从流交换机接收到新流检测通知之后的流分析(步骤S202)的功能。
流交换机120至125是用于基于由路径控制设备110所设置的流条目信息来转发接收到的分组的分组转发设备。当接收到分组时,流交换机120至125根据分类信息确定该分组属于哪一个流,并且对该分组执行由为该流定义的流条目信息中的动作信息指示的处理。例如,根据所接收到的分组的流,流交换机120至125将该分组转发到特定端口,对该分组执行洪泛,或者丢弃该分组。流交换机创建有关所接收到的分组的统计信息等。
另外,流交换机120至125随着时间推移减小在流条目信息的动作信息中包括的定时器值(即,对定时器值进行倒计数),并且当接收到新分组时,将用于该分组所属于的流条目的定时器值重置到初始值。当定时器值变成零时,流交换机120至125删除流条目信息。还存在流交换机120至125不重置定时器值的形式。
流交换机120至125中的每一个到其它节点(其它的流交换机或通信终端)的链路全部通过以太网(注册商标)来建立。
图12是示出了在图11中所示出的通信系统中执行的处理过程的示例的解释性图。这里,以图11中所示的通信终端130将分组发送到通信终端132的情况为示例来进行描述。
通信终端130将分组发送到通信终端132(步骤S101)。此分组被递送到连接到通信终端130的流交换机120。
当接收到该分组时,流交换机120从在流交换机120本身中设置的各条流条目信息之中搜索适合于所接收到的分组的流条目信息。然而,当流交换机120首次接收到从通信终端130发送到通信终端132的分组时,不设置适合于该分组的流条目信息。因此,流交换机120在步骤S101中缓存所接收到的分组,并且将指示已经检测到新流的通知(称为新流检测通知)发送到路径控制设备110(步骤S102)。流交换机120在此新流检测通知中包括用于创建分类信息以标识新流的信息和用于决定从源终端到目的地终端的路径的信息。例如,作为这些条信息,流交换机120发送包括MAC(媒体访问控制)地址、IP地址以及源终端和目的地终端二者的端口号的新流检测通知,以及流交换机120接收到数据分组的所接收分组接收端口号。
这里,将交换机120缓存所接收到的数据分组、提取用于创建用于标识新流的分类信息的信息和用于决定从源到目的地的路径的信息以及将这些条信息发送到路径控制设备110的情况作为示例,但是流交换机120本身可以将所接收到的数据分组发送到路径控制设备110。
当接收到新流检测通知时,路径控制设备110创建有关新流的流条目信息并且将其设置在流交换机中(步骤S103)。图13是示出了由接收到新流检测通知的路径控制设备110执行的处理过程的示例的流程图,即,图13是示出了步骤S103中的处理过程的示例的流程图。
当从流交换机接收到新流检测通知时(步骤S201),路径控制设备110分析由流交换机检测到的新流(步骤S202)。具体地,步骤S202中的分析处理是用于基于有关通过依次参考以太网首部、IP首部、传输层协议(TCP(传输控制协议)或UDP(用户数据报协议))首部所获得的IP地址或端口号的信息来确定通信终端或在通信终端上使用的应用软件的种类的处理。然后,在步骤S202中的此分析处理中,假定流交换机120至125中的每一个到其它节点(其它的流交换机或通信终端)的链路全部通过以太网来建立。
在步骤S201之后,路径控制设备110确定是否允许新生成的流的通信(步骤S203)。当确定通信将被允许时(在步骤S203中为是),路径控制设备110将适合于该种类应用软件的路径计算为用于新流的路径(步骤S204),并且创建流条目信息使得流将通过所计算的路径(步骤S205)。例如,为该路径上的每个流交换机定义了分组接下来将被转发到的节点以创建流条目信息,在所述流条目信息中,有关新流的分类信息与指示到该节点的转发的动作信息相关联。然后,路径控制设备110将针对每个流交换机创建的流条目信息发送到路径上的每个流交换机以设置流条目信息(步骤S206)。
另一方面,当在步骤S203中确定通信将不被允许时(在步骤S203中为否),路径控制设备110创建指示有关新流的分类信息和丢弃属于新流的分组的流条目信息(步骤S205)以将该流条目信息设置在流交换机中(步骤S206)。
在图12中所示的示例中,示出了路径控制设备110在步骤S203中确定流的通信将被允许并且在步骤S204中定义由流交换机120、流交换机122、流交换机124、流交换机125以及通信终端132组成的路径的情况。路径控制设备110分别针对路径上的流交换机120、122、124以及125创建流条目信息并且设置该流条目信息(步骤S205和S206)。
在完成在图12中所示的处理步骤S103(图13中的步骤S201至S206)中设置流条目信息之后,流交换机120根据该流条目信息来转发缓存的分组。换句话说,流交换机120根据新设置的流条目信息中的动作信息来将该分组转发到流交换机122(步骤S104)。
在由路径控制设备110定义的通信路径上的流交换机122、124以及125中的每一个中设置了适合于此分组的流条目信息。因此,流交换机122、124以及125根据该流条目信息顺序地转发此分组(步骤S105至S107),使得此分组将被递送到通信终端132。
因为完成了与从通信终端130到通信终端132的通信有关的流条目的设置,所以当通信终端130在此时之后将任何分组发送到通信终端132时,流交换机120、122、124以及125可以根据在每个流交换机中设置的流条目信息来转发分组而不用向路径控制设备110进行查询。
即使当通信终端132将分组发送到通信终端130时,通信系统也可以执行与上文中提到的相同的处理。
另外,专利文献(PTL)2公开了用于使用硬件来路由特定类型的帧以部分地提高软件的效率的发明。当在PTL2中公开的发明被实现为光纤通道网络架构的一部分时,光纤通道帧首部中的路由控制/类型(R_CTL/TYPE)字段被用来将接收到的帧映射到主机存储器中的缓冲区的特定环。
引文列表
专利文献
PTL1:美国专利公开申请No.2008/0189769的说明书
PTL2:日本专利公开申请(PCT申请的译文)No.2002-513968
非专利文献
NPL1:NickMcKeown和其它七人,“OpenFlow:EnablingInnovationinCampusNetworks”,2008年3月14日,在线,http://www.openflowswitch.org//documents/openflow-wp-latest.pdf,于2009年11月24日搜索。
NPL2:“OpenFlowswitchSpecificationVersion0.9.0”,2009年7月20日,在线,http://www.openflowswitch.org/documents/openflow-spec-v0.9.0.pdf,于2009年11月24日搜索。
发明内容
技术问题
在图11中所示的通信系统中,路径控制设备110在假定属于通信网络100的每个流交换机的链路全部通过以太网来建立的情况下分析在通信终端上使用的应用软件并计算用于新流的通信路径。因此,仅以太网链路可以被采用以作为用于属于通信网络100的每个流交换机的链路技术。
存在除了以太网之外的节点之间的链路技术(例如,光纤通道)。当在通信网络100内部的每个流交换机中使用了两个或两个以上链路技术时,路径控制设备110不能适当地执行步骤S202中的分析处理,并且因此不能恰当地计算用于新流的路径。
因此,本发明的目的在于提供即使当存在形成通信网络的一部分的分组转发设备的两种或两种以上类型的链路时也能够恰当地定义流路径的通信系统,以及适用于该通信系统的路径控制设备、该分组转发设备、路径控制方法、路径控制程序以及用于该分组转发设备的程序。
问题的解决方案
根据本发明的通信系统特征在于包括:多个分组转发设备,用于转发接收到的分组;以及路径控制设备,用于将分组转发规则设置在每个分组转发设备中以控制用于该分组的通信路径,其中每个分组转发设备都包括:信息发送装置,用于将至少其自身节点的标识符、自身节点的每个端口的端口标识符以及连接到自身节点的每个端口的链路的类型发送到路径控制设备;以及新流检测通知装置,用于当未注册适合于所接收到的分组的分组转发规则时,将包括有关该分组的信息、自身节点的标识符以及接收到该分组的端口的端口标识符的新流检测通知发送到路径控制设备,并且该路径控制设备包括:分组转发设备信息存储装置,用于存储从每个分组转发设备的信息发送装置接收到的信息;拓扑信息存储装置,用于存储用于连接到分组转发设备的每个端口的每种类型的链路的、有关分组转发设备的拓扑信息;链路类型确定装置,用于当从分组转发设备接收到新流检测通知时,基于在新流检测通知中包括的分组转发设备的标识符和端口标识符以及在分组转发设备信息存储装置中存储的信息来确定由分组转发设备接收到的分组所通过的链路的类型;路径计算装置,用于基于有关由链路类型确定装置所确定的链路的类型的拓扑信息来计算用于该分组的通信路径;规则生成装置,用于生成用于通信路径上的每个分组转发设备的分组转发规则;以及规则发送装置,用于将所生成的分组转发规则发送到通信路径上的每个分组转发设备。
根据本发明的路径控制设备是用于将分组转发规则设置在每个分组转发设备中以控制用于分组的通信路径的路径控制设备,其特征在于包括:分组转发设备信息存储装置,用于针对每个分组转发设备存储至少分组装置设备的标识符、分组转发设备的每个端口的端口标识符以及连接到分组转发设备的每个端口的链路的类型;拓扑信息存储装置,用于存储用于连接到分组转发设备的每个端口的每种类型的链路的、有关分组转发设备的拓扑信息;链路类型确定装置,用于当从分组转发设备接收到包括有关由分组转发设备接收到的新分组流的信息、分组转发设备的标识符以及接收到该分组的端口的端口标识符的新流检测通知时,基于在新流检测通知中包括的分组转发设备的标识符和端口标识符以及在分组转发设备信息存储装置中存储的信息来确定由分组转发设备接收到的分组所通过的链路的类型;路径计算装置,用于基于有关由链路类型确定装置所确定的链路的类型的拓扑信息来计算用于该分组的通信路径;规则生成装置,用于生成用于通信路径上的每个分组转发设备的分组转发规则;以及规则发送装置,用于将所生成的分组转发规则发送到通信路径上的每个分组转发设备。
根据本发明的分组转发设备是用于根据由路径控制设备生成的分组转发规则来转发接收到的分组的分组转发设备,其特征在于包括:信息发送装置,用于将至少其自身节点的标识符、自身节点的每个端口的端口标识符以及连接到自身节点的每个端口的链路的类型发送到路径控制设备;以及新流检测通知装置,用于当未注册适合于所接收到的分组的分组转发规则时,将包括有关该分组的信息、自身节点的标识符以及接收到该分组的端口的端口标识符的新流检测通知发送到路径控制设备。
根据本发明的路径控制方法特征在于包括:令用于转发接收到的分组的多个分组转发设备中的每一个将至少其自身节点的标识符、自身节点的每个端口的端口标识符以及连接到自身节点的每个端口的链路的类型发送到路径控制设备;令用于控制每个分组转发设备的路径控制设备针对每个分组转发设备来将至少分组转发设备的标识符、分组转发设备的每个端口的端口标识符以及连接到分组转发设备的每个端口的链路的类型存储在分组转发设备信息存储装置中;令分组转发设备在未注册适合于所接收到的分组的分组转发规则时将包括有关该分组的信息、自身节点的标识符以及接收到该分组的端口的端口标识符的新流检测通知发送到路径控制设备;以及使路径控制设备:当接收到新流检测通知时,基于在新流检测通知中包括的分组转发设备的标识符和端口标识符以及在分组转发设备信息存储装置中存储的信息来确定由分组转发设备接收到的分组所通过的链路的类型,基于有关所确定的链路的类型的拓扑信息来计算用于该分组的通信路径,生成用于通信路径上的每个分组转发设备的分组转发规则,以及将所生成的分组转发规则发送到通信路径上的每个分组转发设备。
根据本发明的路径控制程序是安装在计算机上、用于将分组转发规则设置在每个分组转发设备中以控制用于分组的通信路径的路径控制程序,该路径控制程序特征在于使计算机执行:信息注册处理,用于针对每个分组转发设备将至少分组转发设备的标识符、分组转发设备的每个端口的端口标识符以及连接到分组转发设备的每个端口的链路的类型存储在分组转发设备信息存储装置中;链路类型确定处理,用于当从分组转发设备接收到包括有关由分组转发设备接收到的新分组流的信息、分组转发设备的标识符以及接收到该分组的端口的端口标识符的新流检测通知时,基于在新流检测通知中包括的分组转发设备的标识符和端口标识符以及在分组转发设备信息存储装置中存储的信息来确定由分组转发设备接收到的分组所通过的链路的类型;路径计算处理,用于基于有关在链路类型确定处理中确定的链路的类型的拓扑信息来计算用于该分组的通信路径;规则生成处理,用于生成用于通信路径上的每个分组转发设备的分组转发规则;以及规则发送处理,用于将所生成的分组转发规则发送到通信路径上的每个分组转发设备。
安装在计算机上、用于根据由路径控制设备生成的分组转发规则转发接收到的分组的用于分组转发设备的程序,该程序特征在于使计算机执行:信息发送处理,用于将至少其自身节点的标识符、自身节点的每个端口的端口标识符以及连接到自身节点的每个端口的链路的类型发送到路径控制设备;以及新流检测通知处理,用于当未注册适合于所接收到的分组的分组转发规则时,将包括有关该分组的信息、自身节点的标识符以及接收到该分组的端口的端口标识符的新流检测通知发送到路径控制设备。
发明的有益效果
根据本发明,即使当存在形成通信网络的分组转发设备的两种或两种以上类型的链路时,也能够恰当地定义流路径。
附图说明
图1是示出了本发明的通信系统的示例的方框图。
图2是示出了本发明的路径控制设备的配置示例的方框图。
图3是示出了本发明的分组转发设备的配置示例的方框图。
图4是示出了在初始化时的处理过程的示例的解释性图。
图5是示出了在生成拓扑信息时的处理过程的示例的解释性图。
图6是示出了当分组在通信终端之间交换时在通信系统中执行的处理过程的示例的解释性图。
图7是示出了由接收到新流检测通知的路径控制设备执行的处理过程的示例的流程图。
图8是示出了本发明的通信系统的最小配置的示例的方框图。
图9是示出了本发明的路径控制设备的最小配置的示例的方框图。
图10是示出了本发明的分组转发设备的最小配置的示例的方框图。
图11是示出了包括流交换机和路径控制设备的典型的通信系统的配置示例的解释性图。
图12是示出了图11中所示出的通信系统中的处理过程的示例的解释性图。
图13是示出了由图11中所示出的路径控制设备执行的处理过程的示例的流程图。
具体实施方式
现将参照附图对本发明的优选示例性实施例进行描述。
图1是示出了本发明的通信系统的示例的方框图。本发明的通信系统包括路径控制设备10和属于通信网络1的分组转发设备20至25。在图1中,示出了六个分组转发设备20至25,但是图1中的通信系统仅仅是说明性示例,并且分组转发设备的数目和拓扑不限于图1中所示的示例。在图1中所示的示例中,通信终端30被连接到分组转发设备20,通信终端31被连接到分组转发设备21,并且通信终端32和33被连接到分组转发设备25。然后,每个分组转发设备转发将在通信终端之间被交换的分组。注意,通信终端的数目以及通信终端在通信网络1中被连接到哪个分组转发设备不被特别限定。
路径控制设备10被通过专用控制通道连接到每个独立的分组转发设备20至25,以通过该专用控制通道在路径控制设备10与每个分组转发设备20至25之间交换信息。
另外,在本发明中,分组转发设备之间的链路的类型和分组转发设备与通信终端之间的链路的类型不限于一种类型,可以为两种或两种以上类型。在图1中所示的示例中,示出了存在作为链路的类型的以太网链路和光纤通道链路的情况。例如,在图1中所示的示例中,分组转发设备20和22之间的链路以及分组转发设备20与通信终端30之间的链路是以太网链路。另外,分组转发设备21和22之间的链路以及分组转发设备21与通信终端31之间的链路是光纤通道链路。在图1中,示出了链路的类型为两种的情况,但是链路的类型可以为三种或三种以上。另外,可以使用除了以太网和光纤通道之外的任何链路技术。
每个分组转发设备20至25在路径控制设备10的控制之下将接收到的分组转发到以下的节点。具体地,每个分组转发设备20至25根据由路径控制设备10所设置的分组转发规则来对所接收到的分组执行处理。分组转发规则是用于在接收到分组之后定义分组转发设备的操作的信息。
分组转发规则包括用于标识流的分类信息和对被确定为属于由分类信息所标识的流的分组执行的动作的动作信息。例如,分类信息被表示为属于该流的分组应该满足的要求,诸如“目的地MAC地址和目的地IP地址匹配通信终端3的MAC地址和IP地址”,但是表示分类信息的方式不被特别限定。动作信息的内容的示例包括例如“将接收到的分组转发到特定端口”、“洪泛”、“丢弃”等等,但是动作信息的内容不限于此。另外,定时器值被包括在动作信息中。定时器值是用于定义分组转发规则的有效周期的值。分组转发规则包括分类信息、动作信息以及定时器值,但是其可以进一步包括任何其它的信息。在此示例中,将对定时器值被包括在动作信息中的情况进行描述,但是定时器值可以不必被包括在动作信息中,只要其被包括在分组转发规则中即可。
路径控制设备10根据流生成包括分类信息和动作信息的分组转发规则,并且将分组转发规则设置在用于该流的通信路径上的分组转发设备中的每一个中。
每个分组转发设备20至25随着时间推移减小在所设置的分组转发规则的动作信息中包括的定时器值(即,对定时器值倒计数),并且当定时器值变成零时,其删除分组转发规则。当接收到适合于分组转发规则中的分类信息的分组时,每个分组转发设备20至25可以将分组转发规则中的定时器值重置为初始值。可替代地,即使当接收到这样的分组时,每个分组转发设备20至25也可以继续对定时器值倒计数而不用对定时器值进行初始化。
分组转发设备20至25例如为无阻流中的流交换机。路径控制设备10例如为无阻流中的路径控制设备。分组转发规则例如为无阻流中的流条目信息。
图2是示出了本发明的路径控制设备10的配置示例的方框图。路径控制设备10包括拓扑信息存储装置31、拓扑信息注册装置32、通信终端位置管理装置33、分组转发规则生成装置34、路径计算装置35、规则设置内容存储装置36、分组转发设备管理装置37、分组转发设备信息存储装置38以及分析信息存储装置39。
拓扑信息存储装置31是用于存储表示由一组分组转发设备形成的网络拓扑的拓扑信息的存储装置。拓扑信息存储装置31存储用于每种类型的链路的拓扑信息。例如,如图1中所示,当存在作为链路类型的以太网链路和光纤通道链路时,拓扑信息存储装置31分别存储有关经由以太网链路连接的分组转发设备组的拓扑信息和有关经由光纤通道链路连接的分组转发设备组的拓扑信息。
拓扑信息注册装置32基于从每个分组转发设备接收到的信息来创建用于每种链路类型的拓扑信息,并且将所创建的拓扑信息存储在拓扑信息存储装置31中。
通信终端位置管理装置33对连接到通信网络1的每个通信终端被连接到哪个分组转发设备的哪一个端口执行管理。例如,当终端发送诸如DHCP(动态主机配置协议)请求消息的任何分组时,连接到通信终端的分组转发设备将有关通信终端被连接到分组转发设备的哪一个端口的信息发送到路径控制设备10。通信终端位置管理装置33只是必须具有这些条信息。
分组转发规则生成装置34决定分类信息和动作信息以生成包括该分类信息和该动作信息的分组转发规则。分组转发规则生成装置34生成用于通信路径上的每个分组转发设备的分组转发规则。这里,分组转发规则生成装置34为用于同一流的通信路径上的各分组转发设备提供公共的分类信息。然而,可以为每个分组转发设备定义不同的动作信息。
注意,分组转发规则生成装置34不生成用于如下分组转发设备的分组转发规则,所述分组转发设备中已经设置了包括与用于由分类信息所标识的流的通信路径上的分类信息相同的分类信息的分组转发规则。
路径计算装置35计算用于流的通信路径。路径计算装置35根据从分组流识别出的链路类型来参照拓扑信息,并且使用该拓扑信息来计算通信路径。例如,假设从将为其计算通信路径的新分组流识别出的链路类型为光纤通道链路。在这种情况下,路径计算装置35在为每种链路类型拓扑信息存储装置31中存储的那些条拓扑信息之中参照与光纤通道链路有关的拓扑信息,并且使用该拓扑信息计算通信路径。此时,路径计算装置35根据在通信终端上使用的应用软件的种类来计算通信路径以交换分组。
规则设置内容存储装置36是用于存储指示何种分组转发规则被设置在哪个分组转发设备中的信息的存储设备。因此,指示何种分组转发规则被设置在哪个分组转发设备中的信息可以由规则设置内容存储装置36来管理。
分组转发设备管理装置37管理每个分组转发设备20至25。具体地,分组转发设备管理装置37执行用于将由分组转发规则生成装置34生成的分组转发规则设置在分组转发设备中的处理。然后,在将分组转发规则设置在分组转发设备中之后,分组转发设备管理装置37将指示何种分组转发规则被设置在哪个分组转发设备中的信息存储在规则设置内容存储装置36中。
另外,在建立了到分组转发设备的连接之后,分组转发设备管理装置37从分组转发设备收集信息,并且将所收集的信息存储在分组转发设备信息存储装置38中。这里,其中新建立了到其的连接的分组转发设备将信息发送到路径控制设备10并且路径控制设备10存储该信息的处理被称为初始化。在本发明中,在初始化时收集的信息包括例如每个独立的分组转发设备的标识符、每个独立的分组转发设备的每个端口的端口标识符、连接到每个独立的端口的链路的类型以及与该链路有关的信息。
分组转发设备信息存储装置38是用于存储针对分组转发设备的初始化处理时由分组转发设备管理装置37从每个分组转发设备20至25收集的信息的存储装置。通过参照在分组转发设备信息存储装置38中存储的信息,可以确定每种类型的链路和与该链路有关的信息。
另外,当从分组转发设备发送了有关新分组流的信息时,分组转发设备管理装置37分析通信终端上使用的应用软件的种类以基于有关分组的信息交换分组。分组转发设备管理装置37只是必须参照在分析信息存储装置39中存储的信息来执行分析。可以说对通信终端上使用的应用软件的种类的分析是分析通信终端的特性的一个方面。
分析信息存储装置39是用于存储用于分析通信终端上使用的应用软件的种类以交换分组的信息的存储设备。分析信息存储装置39存储从分组的字段提取的信息和指示与应用软件的种类的对应关系的信息。换句话说,指示在从分组的字段提取何种信息时通信终端上使用的应用软件的种类是什么的信息被存储。分析信息存储装置39只是必须为每种链路类型存储从分组的字段提取的信息和指示与应用软件的种类的对应关系的信息。将被参照以标识应用软件的种类的分组的字段可以依链路类型而不同。
拓扑信息注册装置32、通信终端位置管理装置33、分组转发规则生成装置34、路径计算装置35以及分组转发设备管理装置37例如通过根据路径控制程序操作的计算机的CPU来实现。在这种情况下,计算机的程序存储装置(未示出)存储路径控制程序,并且CPU读取该程序使得CPU将根据程序作为拓扑信息注册装置32、通信终端位置管理装置33、分组转发规则生成装置34、路径计算装置35以及分组转发设备管理装置37来操作。每个装置还可以分别被实现在不同的硬件中。
另外,拓扑信息存储装置31、规则设置内容存储装置36、分组转发设备信息存储装置38以及分析信息存储装置39可以被实现为相同的存储装置,或者实现为不同的存储装置。
图3是示出了本发明的分组转发设备的配置示例的方框图。在图3中,将图1中的分组转发设备20作为示例,但是其它的分组转发设备21至25具有相同的配置。分组转发设备20包括规则表存储装置41、规则管理装置42、流标识装置43、动作实施装置44、初始化处理装置45以及拓扑决定信息提供装置46。
规则表存储装置41是用于存储分组转发规则的存储装置。因为对于不同的流设置了不同的分组转发规则,所以在规则表存储装置41中存储的分组转发规则的数目不总为一个。在规则表存储装置41中存储的一组分组转发规则被称为分组转发规则表。
规则管理装置42管理每个分组转发规则。例如,当路径控制设备10的分组转发设备管理装置37(见图2)将分组转发规则设置在分组转发设备中时,分组转发规则连同设置指令被发送到分组转发设备。根据此指令,规则管理装置42将从路径控制设备10接收到的分组转发规则存储在规则表存储装置41中。
另外,规则管理装置42随着时间推移减小在规则表存储装置41中存储的每个分组转发规则中指定的定时器值。然后,当定时器值变成零时,规则管理装置42从规则表存储装置41中删除包括该定时器值的分组转发规则,并且将指示其的信息发送到路径控制设备10。当接收到此信息时,路径控制设备10的分组转发设备管理装置37(见图2)从规则设置内容存储装置36(见图2)中删除从分组转发设备中的规则表存储装置41中删除的分组转发规则。
当从另一节点(例如,通信终端或另一分组转发设备)接收到分组时,流标识装置43搜索在规则表存储装置41中存储的分组转发规则表以得到包括适合于该分组的分类信息的分组转发规则。搜索失败意味着接收到属于不同于与所存储的分组转发规则相对应的流的新流的分组。在这种情况下,流标识装置43将指示已经检测到新流的通知(新流检测通知)发送到路径控制设备10。此时,流标识装置43将能够标识用于流的通信路径的信息、能够创建分类信息的信息以及用于分析通信终端上使用的应用软件以交换属于新流的分组的信息包括在新流检测通知中。流标识装置43还将其自身节点(在图3中所示的示例中为分组转发设备20)的标识符和接收到新流的分组的自身节点的端口号包括在新流检测通知中。
这里,将描述在新流检测通知中包括的能够标识用于流的通信路径的信息、能够创建分类信息的信息以及用于分析通信终端上使用的应用软件以交换属于新流的分组的信息。
能够标识用于流的通信路径的信息是能够标识用于所接收到的分组的新流的通过路径的信息。作为能够标识用于流的通信路径的信息的示例,存在有关在通信路径的两个端点处的源和目的地通信终端的地址信息。然而,当分组被通过通信网络1(见图1)中的网关(未示出)发送到另一通信网络时,如果仅存在有关作为通信路径的一个端点的源通信终端的地址信息,则可以标识到网关的通信路径。因此,有关在通信路径的两个端点处的源和目的地通信终端的地址信息仅是能够标识用于流的通信路径的信息的示例,并且存在取决于到目的地的路径的模式、有关目的地通信终端的地址信息可能是不必要的情况。
根据流的标识分级,可以预定义什么被用作分类信息。例如,当流通过诸如源和目的地MAC地址与IP地址、源端口号以及目的地端口号的各种种类的信息的组合来标识时,分组转发规则生成装置34可以将从该分组识别的这些条信息定义为分类信息。另外,当流通过诸如仅目的地端口号或仅源端口号的粗略分级来标识时,分组转发规则生成装置34可以将从该分组识别的信息定义为分类信息。另外,在分组转发设备的端口之中,接收到该分组的端口的端口号可以被用作分类信息。能够创建分类信息的信息可以是任何信息,只要作为分类信息的信息被分组转发规则生成装置34包括即可。
用于分析通信终端上使用的应用软件以交换属于新流的分组的信息例如是分组的首部。
分组的首部包括能够标识用于流的通信路径的信息。因此,如果被定义为能够创建分类信息的信息的信息也被包括在首部中,则流标识装置43可以将包括新流的分组的首部、自身节点的标识符以及接收到该分组的自身节点的端口号的新流检测通知发送到路径控制设备10。如果分组的首部和除了接收到该分组的自身节点的端口号之外的信息被包括在被定义为能够创建分类信息的信息的信息中,则流标识装置43可以将该信息包括在新流检测通知中。
当流标识装置43已经成功搜索到分组转发规则时,动作实施装置44对所接收到的分组执行由在分组转发规则中包括的动作信息指示的处理。
当自身节点(分组转发设备)建立了到路径控制设备10的连接时,初始化处理装置45响应于来自路径控制设备10的分组转发设备管理装置37(见图2)的请求将有关自身节点的信息发送到路径控制设备10。此时,待发送的信息包括例如自身节点的标识符、自身节点的每个端口的端口标识符、连接到每个独立的端口的链路的类型以及与该链路有关的信息。
拓扑决定信息提供装置46发送用于创建用于每种链路类型的拓扑信息的分组(在下文中称为拓扑决定分组)。拓扑决定信息提供装置46发送用于每种链路类型的拓扑决定分组。然后,当发送与某种类型的链路相对应的拓扑决定分组时,拓扑决定信息提供装置46从该类型的链路被连接到的自身节点的端口发送分组。
从某一分组转发设备发送的拓扑决定分组由另一分组转发设备被接收。接收到该拓扑决定分组的分组转发设备将信息添加到拓扑决定分组并且将其发送到路径控制设备10。因此,路径控制设备10的拓扑信息注册装置32接收用于每种链路类型的拓扑决定分组,并且基于该拓扑决定分组创建用于每种链路类型的拓扑信息。
除用于从自身节点发送拓扑决定分组的处理之外,当从任何其它的分组转发设备接收到拓扑决定分组时,拓扑决定信息提供装置46还执行用于将信息添加到拓扑决定分组并且将其发送到路径控制设备10的处理。
规则管理装置42、流标识装置43、动作实施装置44、初始化处理装置45以及拓扑决定信息提供装置46例如通过根据用于分组转发设备的程序操作的计算机的CPU来实现。在这种情况下,计算机的程序存储装置(未示出)存储用于分组转发设备的程序,并且CPU读取该程序使得CPU将根据该程序作为规则管理装置42、流标识装置43、动作实施装置44、初始化处理装置45以及拓扑决定信息提供装置46来操作。这些装置还可以被实现在不同的硬件中。
接下来,将对操作进行描述。
图4是示出了在初始化时的处理过程的示例的解释性图。在图4中,将分组转发设备20作为示例,但是其它的分组转发设备21至25与路径控制设备10一起执行相同的处理。
当分组转发设备20被附连到通信网络1并且连接到路径控制设备10时,分组转发设备20的初始化处理装置45(见图3)和路径控制设备10的分组转发设备管理装置37(见图2)建立分组转发设备20与路径控制设备10之间的连接(步骤S1)。在步骤S1中建立的连接为例如使用用于控制通道的端口号的TCP连接。
在建立了连接之后,路径控制设备10的分组转发设备管理装置37将信息请求发送到分组转发设备20(步骤S2)。信息请求是指示对分组转发设备做出的将信息发送到路径控制设备10的请求的信息。
当接收到在步骤S2中发送的信息请求时,分组转发设备20的初始化处理装置45作为对信息请求的响应将有关分组转发设备20的信息发送到路径控制设备10(步骤S3)。然后,当接收到此信息时,路径控制设备10的分组转发设备管理装置37将其存储在分组转发设备信息存储装置38中。
将具体地描述在步骤S3中从分组转发设备20的初始化处理装置45发送到路径控制设备10的信息。
作为在步骤S3中发送的第一信息,存在分组转发设备本身(在此示例中为分组转发设备20)的标识符。例如,初始化处理装置45可以发送作为分组转发设备本身的标识符的IP地址。IP地址仅是分组转发设备的标识符的示例,并且除了IP地址之外的信息也可以被作为标识符发送。
作为在步骤S3中发送的第二信息,存在有关分组转发设备本身(在此示例中为分组转发设备20)的每个端口的信息。有关每个端口的信息是例如有关每个端口的端口标识符、到每个独立的端口的链路的类型(其在下文中可以被称为链路类型信息)或到每个独立的端口的链路的信息。初始化处理装置45将有关分组转发设备本身的每个端口的这些条信息以及上述的第一信息(分组转发设备的标识符)发送到路径控制设备10。
作为上述的端口标识符,例如,可以使用端口号。链路类型信息是例如指示诸如以太网、光纤通道或无限带宽(Infiniband)的在帧类型上不同的链路类型的信息。与链路有关的信息的内容在链路类型方面不同。例如,当链路的类型为以太网时,与链路有关的信息可以为MAC地址、将被支持的通信速度或通信方法(例如,全双工或半双工)。与链路有关的信息还可以被称作链路属性信息。
在步骤S3中,初始化处理装置45可以随上述那些条信息一起发送任何其它的信息。例如,可以发送有关分组转发设备本身(在示例中为分组转发设备20)的能力的信息。作为有关分组转发设备的能力的信息,例如,存在由分组转发设备所支持的、关于是否获取统计信息、有关动作的信息等的信息。由分组转发设备支持的动作的示例包括源/目的地MAC地址转换、源/目的地IP地址转换以及源/目的地端口号转换。路径控制设备10收集有关由分组转发设备所支持的动作的信息以标识支持目的地MAC地址转换处理的分组转发设备,以便实现诸如使分组转发设备例如在需要对特定流执行目的地MAC地址转换处理时执行目的地MAC地址转换等之类的控制。
接下来,将描述路径控制设备10生成拓扑信息的操作。图5是示出了当生成拓扑信息时处理过程的示例的解释性图。在以下描述中,作为拓扑决定分组的源的分组转发设备被表示为“A”,而用于将拓扑决定分组转发到路径控制设备10的分组转发设备被表示为“B”。
分组转发设备A的拓扑决定信息提供装置46(见图3)从连接到其自身节点(分组转发设备A本身)的相应端口的链路的类型中选择一种类型(步骤S11)。例如,在分组转发设备A中提供的多个端口之中,当一些端口被连接到以太网链路而剩余的端口被连接到光纤通道链路时,选择类型“以太网”和“光纤通道”中的任一个。这里,将通过采用选择“以太网”的情况作为示例来进行描述。
分组转发设备A的拓扑决定信息提供装置46将添加了以下标识符的分组作为根据在步骤S11中选择的链路类型的拓扑决定分组来生成:自身节点(分组转发设备A本身)的标识符(例如,地址)和从其输出拓扑决定分组的端口的标识符。这里,从其输出拓扑决定分组的端口是连接到在步骤S11中选择的类型的链路的端口。分组转发设备A的拓扑决定信息提供装置46从该端口输出(即,发送)添加了自身节点的标识符和端口的标识符的拓扑决定分组(步骤S12)。
当有两个或两个以上端口连接到在步骤S11中选择的类型的链路时,分组转发设备A的拓扑决定信息提供装置46生成用于每个端口的拓扑决定分组以发送该拓扑决定分组。至于连接到不同于在步骤S11中的选择的类型的链路的端口,不生成和发送拓扑决定分组。
例如,假设分组转发设备A具有四个端口,其中具有端口号(端口标识符)“1”和“2”的端口被连接到以太网链路,而具有端口号“3”和“4”的端口被连接到光纤通道端口。在这种情况下,当在步骤S11中选择了“以太网”时,拓扑决定信息提供装置46从具有端口号“1”的端口发送添加了分组转发设备A的标识符和端口号“1”的拓扑决定分组。同样地,拓扑决定信息提供装置46从具有端口号“2”的端口发送添加了分组转发设备A的标识符和端口号“2”的拓扑决定分组。因为端口号“3”和“4”不与“以太网”相对应,所以不生成和发送拓扑决定分组。
当接收到在步骤S12中发送的拓扑决定分组时,分组转发设备B的拓扑决定信息提供装置46将自身节点(分组转发设备B)的标识符(例如,地址)和接收到该拓扑决定分组的自身节点的端口的端口标识符添加到拓扑决定分组,并且将该拓扑决定分组发送到路径控制设备10(步骤S13)。
因此,路径控制设备10的拓扑信息注册装置32接收取决于所选择的链路的类型指示哪个分组转发设备的哪一个端口被连接到哪个分组转发设备的哪一个端口的拓扑决定分组。
例如,假设分组转发设备A的标识符和端口号“1”被添加到由分组转发设备B的拓扑决定信息提供装置46接收到的拓扑决定分组。然后假设分组转发设备B在分组转发设备B本身的具有端口号“3”的端口处接收到拓扑决定分组。在这种情况下,分组转发设备B的拓扑决定信息提供装置46将分组转发设备B本身的标识符和端口号“3”添加到拓扑决定分组,并且将该拓扑决定分组发送到路径控制设备10。
因此,路径控制设备10接收指示分组转发设备A的具有端口号“1”的端口被通过以太网链路连接到分组转发设备B的具有端口号“3”的端口的拓扑决定分组。
图5示出仅一个设备,即,用于转发拓扑决定分组的分组转发设备B,但是接收到在步骤S12中发送的拓扑决定分组的其它分组转发设备全部执行步骤S13中的处理。例如,接收到添加了分组转发设备A的标识符和端口号“2”的拓扑决定分组的分组转发设备也执行步骤S13。
另外,图5示出仅一个装置,即,作为拓扑决定分组的源的分组转发设备A,但是通信网络1中的每个分组转发设备都执行步骤S11和S12中的处理。
因此,路径控制设备10的拓扑信息注册装置32针对每个以太网链路接收关于该链路的拓扑决定分组。然后,每个独立的拓扑决定分组指示哪个分组转发设备的哪一个端口被通过以太网链路连接到哪个分组转发设备的哪一个端口。基于所接收到的每个拓扑决定分组,拓扑信息注册装置32生成有关通过以太网链路连接的分组转发设备的拓扑信息,并且将该拓扑信息存储在拓扑信息存储装置31中。
在那之后,通信网络1中的每个分组转发设备在步骤S11中选择未选择的类型(在此示例中为光纤通道),并且执行相同的后续处理。因此,有关通过光纤通道链路连接的分组转发设备的拓扑信息还通过拓扑信息注册设备32生成,并且存储在拓扑信息存储装置31中。
通信系统对于每种类型的链路执行参照图5所描述的处理,并且将有关每种类型的链路的拓扑信息存储在拓扑信息存储装置31中。
注意,上述的拓扑信息生成处理仅仅是说明性示例,并且通信系统还可以通过任何其它方法生成有关每种类型的链路的拓扑信息。
接下来,将描述在转发分组时的操作。图6是示出了当转发在通信终端之间交换的分组时在通信系统中执行的处理过程的示例的解释性图。这里,将通过以图1中所示的通信终端30将分组发送到通信终端32的情况作为示例来进行描述。
通信终端30将分组发送到通信终端32(步骤S21)。此分组被递送到连接到通信终端30的分组转发设备20。
当分组转发设备20接收到该分组时,分组转发设备20的流标识装置43(见图3)确定适合于所接收的分组的分组转发规则是否被存储在规则表存储装置41中。当分组转发设备20首次接收到从通信终端30发送到通信终端32的分组时,没有适合于该分组的分组转发规则被存储在分组转发设备20的规则表存储装置41中。因此,分组转发设备20的流标识装置43缓存所接收到的分组,生成包括其自身节点(分组转发设备20)的标识符(例如,IP地址)、接收到该分组的自身节点的端口的端口标识符(例如,端口号)以及分组的首部的新流检测通知,并且将该新流检测通知发送到路径控制设备10(步骤S22)。
这里,在分组的首部中,包括了能够标识用于流的通信路径的信息、能够创建分类信息(例如,源和目的地两者的MAC地址、IP地址、端口号等)的信息以及用于分析通信终端上使用的应用软件以交换属于新流的分组的信息。在被定义为能够创建分类信息的信息的各条信息之中,如果存在除了分组的首部和接收到该分组的自身节点的端口号之外的任何信息,则流标识装置43可以将该信息包括在新流检测通知中。
另外,在信息包含“能够标识用于流的通信路径的信息”、“能够创建分类信息的信息”以及“用于分析通信终端上使用的应用软件以交换属于新流的分组的信息”的情况下,分组的首部的一部分而不是分组的整个首部可以被包括在新流检测通知中。
另外,在步骤S22中,分组转发设备20的流标识装置43可以生成包括所接收到的分组本身、自身节点的标识符以及接收到该分组的自身节点的端口的端口标识符的新流检测通知,并且将该新流检测通知发送到路径控制设备10。
当接收到新流检测通知时,路径控制设备10生成用于新流的分组转发规则,并且将其设置在分组转发设备中(步骤S23)。图7是示出了由接收到新流检测通知的路径控制设备10执行的处理过程的示例的流程图。
当接收到新流检测通知时(步骤S31),路径控制设备10的分组转发设备管理装置37确定新分组流(这里,由分组转发设备20从通信终端30接收到的分组)的帧类型(步骤S32)。换句话说,分组转发设备管理装置37确定要作为用于新分组流的转发路径的链路的类型。在步骤S32中,分组转发设备管理装置37只是必须参照作为新流检测通知的源的分组转发设备的标识符和分组转发设备接收到该分组的端口的端口标识符(两者都被包括在新流检测通知中),以基于在分组转发设备信息存储装置38中存储的信息确定连接到该端口的链路的类型。
在此示例中,分组转发设备20的标识符被包括在新流检测通知中。然后,假设端口号“1”被作为分组转发设备20接收分组的端口的端口标识符被包括在新流检测通知中。作为初始化的结果,连接到每个分组转发设备中的每个端口的链路的类型被存储在分组转发设备信息存储装置38中。因此,分组转发设备管理装置37可以从分组转发设备信息存储装置38中读取有关从新流检测通知识别的分组转发设备的端口的链路类型信息以确定链路的类型(分组的帧类型)。在上述示例中,可以从分组转发设备信息存储装置38读取分组转发设备20中具有端口号“1”的链路的类型。
在此示例中,分组转发设备管理装置37在步骤S32中确定链路的类型为以太网。
接下来,基于在步骤S32中确定的类型,分组转发设备管理装置37分析通信终端(在此示例中为通信终端30和32)上使用的应用软件的种类以交换新分组流(步骤S32)。在此示例中,分组转发设备管理装置37参照在分析信息存储装置39中存储的信息来执行此分析。
分析信息存储装置39为每种类型的链路存储指示从分组的字段提取的内容与应用软件的种类之间的对应关系的信息。这里,对于“以太网”,假定以太网首部和每个更高级别首部中的IP地址、端口号等的值与应用软件的种类相关联。
基于在步骤S31中确定的类型,分组转发设备管理装置37以从低级别首部到高级别首部的顺序参照首部以标识通信终端上使用的应用软件的种类。
例如,基于在步骤S31中确定的类型为“以太网”的事实,分组转发设备管理装置37参照在分组首部之中的以太网首部的类型号,并且当确定更高级别的首部是IPv4首部时,分组转发设备管理装置37参照在以太网首部之后的IP首部的内容。分组转发设备管理装置37以类似的方式向上参照传输层首部,并且针对在分析信息存储装置39中存储的信息来检查所参照的信息的内容,以便标识通信终端上使用的应用软件的种类以交换该分组。
接下来,路径计算装置35确定是否允许新生成的流的通信(步骤S34)。在步骤S34中,路径计算装置35可以根据用于决定每个分组转发设备的操作的预定规则来确定是否允许通信。用于决定每个分组转发设备的操作的规则是定义分组转发设备的操作的规则。例如,假定“在不执行任何精细流控制的情况下,每个通信终端都可与除了路径控制设备10之外的任何终端进行通信,而不管通信终端的类型如何”这样的规则被定义为用于决定分组转发设备的操作的规则。另外,例如,假定目的地MAC地址被用作分类信息。当定义了此规则时,如果在新流检测通知中包括的目的地MAC地址是除了路径控制设备10之外的任何终端的MAC地址,则路径计算装置35将确定通信被允许(在步骤S34中为是)。如果在新流检测通知中包括的目的地MAC地址是路径控制设备10的MAC地址,则路径计算装置35将确定通信不被允许(在步骤S34中为否)。
注意,用于决定分组转发设备的操作的规则的内容不限于上文提到的内容。
当确定通信被允许时(在步骤S34中为是),路径计算装置35参照有关在步骤S32中确定的链路的类型的拓扑信息以基于根据在步骤S33中确定的应用软件的种类的标准来计算路径(步骤S35)。
在步骤S35中,基于在新流检测通知中包括的、有关作为目的地的通信终端的地址信息,通信终端位置管理装置33确定通信终端被连接到哪个分组转发设备的哪一个端口。在此示例中,标识了连接到作为目的地的通信终端32的分组转发设备25,并且进一步标识了分组转发设备25的端口之中的连接到通信终端32的端口。
然后,路径计算装置35从拓扑信息存储装置31中读取有关在步骤S32中确定的链路的类型的拓扑信息(这里,为有关以太网的拓扑信息),并且基于该拓扑信息和通信终端位置管理装置33的定位结果来计算从源通信终端到目的地通信终端的通信路径。
此时,路径计算装置35基于根据在步骤S33中确定的应用软件的种类的标准来计算路径。路径计算装置35可以基于例如有关在初始化时存储的每个链路的信息来确定每个链路是否满足根据应用软件的种类的标准,以使用满足该标准的链路来定义从源通信终端到目的地通信终端的通信路径。
例如,如果应用软件的种类为VoIP(IP语音),则路径计算装置35可以从有关以太网的拓扑信息识别满足低时延标准的链路,以使用该链路定义从源通信终端到目的地通信终端的通信路径。
另外,例如,如果应用软件包括大块文件的下载,则路径计算装置35可以从有关以太网的拓扑信息识别满足宽带标准的链路,以使用该链路定义从源通信终端到目的地通信终端的通信路径。
在此示例中,假定定义了按照此顺序通过分组转发设备20、分组转发设备22、分组转发设备24、分组转发设备25以及通信终端32的通信路径。
在计算了通信路径之后,分组转发规则生成装置34生成用于在步骤S35中定义的路径上的每个分组转发设备的分组转发规则(步骤S36)。此时,分组转发规则生成装置34首先使用在新流检测通知中包括的“能够创建分类信息的信息”来决定分类信息。分组转发规则生成装置34可以将“能够创建分类信息的信息”中包括的项目中的一些或全部决定为分类信息。什么种类的项目被设置为分类信息例如由网络管理员来预定义。分类信息在路径上的各个分组转发设备之间是共用的。
然后,分组转发规则生成装置34为通信路径上的每个分组转发设备定义转发到通信路径上的后面的节点来作为动作信息。
分组转发规则生成装置34将在通信路径上的各个分组转发设备之间共用的分类信息与为通信路径上的每个分组转发设备定义的动作信息相组合以决定要在每个分组转发设备中设置的分组转发规则。分组转发规则生成装置34包括动作信息中的定时器值。例如,预定值可以被用作定时器值。
在步骤S36之后,分组转发设备管理装置37将与分组转发设备相对应的分组转发规则以及规则设置指令发送到通信路径上的每个分组转发设备(步骤S37)。例如,为分组转发设备20创建的分组转发规则连同规则设置指令被发送到分组转发设备20。相同的情况同样适于其它的分组转发规则。
在步骤S37中,当从路径控制设备10接收到分组转发规则和设置指令时,分组转发设备20、22、24以及25中的每一个的规则管理装置42根据该指令设置分组转发规则。具体地,所接收到的分组转发规则被存储在规则表存储装置41中。
另一方面,当在步骤34中确定通信不被允许时(在步骤S34中为否),分组转发规则生成装置34生成例如用于作为新流检测通知的源的分组转发设备20的分组转发规则(步骤S36)。如已经描述的,分组转发规则生成装置34可以将“能够创建分类信息的信息”中包括的项目中的一些或全部决定为分类信息。另外,在这种情况下,分组转发规则生成装置34可以生成指示丢弃该分组的动作信息。分组转发规则生成装置34生成包括分类信息和动作信息的分组转发规则。例如,预定值可以被用作要被包括在动作信息中的定时器值。
将此分组转发规则设置在分组转发设备20中的操作(步骤S37)与已经描述的操作相同。这里,通过以当通信不被允许时在作为新流检测通知的源的分组转发设备20中设置分组转发规则的情况作为示例来进行描述,但是路径控制设备10可以将同一分组转发规则设置在其它的分组转发设备中。
在完成了在图6中所示的处理步骤S23(图7中所示的步骤S31至S37)中将分组转发规则设置在通信路径上的分组转发设备20、22、24以及25中的每一个中之后,分组转发设备20的动作实施装置44根据所设置的分组转发规则来转发所缓存的分组(见图6中的步骤S24)。换句话说,如在所设置的分组转发规则的动作信息中定义的,分组被转发到作为后面的节点的分组转发设备22。
适合于此分组的分组转发规则也被设置在由路径控制设备10定义的通信路径上的分组转发设备22、24以及25中。因此,在分组转发设备22、24以及25中的每一个处接收到分组之后,流标识装置43搜索适合于该分组的分组转发规则,并且动作实施装置44根据该分组转发规则将分组转发到后面的节点(步骤S25、S26以及S27)。因此,分组被递送到目的地通信终端32。
因为完成了用于从通信终端30到通信终端32的通信的分组转发规则的设置,所以当通信终端30在此之后将分组发送到通信终端32时,可以根据在每个分组转发设备中设置的分组转发规则来转发该分组而不需要分组转发设备20、22、24以及25向路径控制设备10进行查询。
当通信终端32将分组发送到通信终端30时,还可以在本发明的通信系统中执行与上文所述相同的处理。
即使当除了通信终端30和32之外的任何终端发送分组时,也可以在本发明的通信系统中执行与上文所述相同的处理。
根据本发明,路径控制设备10存储用于每种类型的链路的拓扑信息。另外,当接收到新流检测通知时,路径控制设备10标识新分组流所通过的链路的类型,并且分析通信终端上使用的应用软件的种类以交换该分组。然后,路径控制设备10使用与所标识的链路的类型相对应的拓扑信息来基于根据应用软件的种类的标准计算通信路径,并且将分组转发规则设置在路径上分组转发设备中。因此,根据本发明,即使当存在形成通信网络的分组转发设备的两种或两种以上类型的链路时,也可以定义适当的流路径。
在前述的示例性实施例中,描述了其中形成了在光纤通道与以太网之间的链路类型方面完全不同的拓扑的情况。然而,如同以太网光纤通道(FCoE),存在特定链路类型的帧可以在另一链路类型的帧中封装和转发的情况。在这种情况下,每个分组转发设备的初始化处理装置45可以通知路径控制设备10其具有此功能(帧封装的功能)。然后,当作为新流检测的结果计算路径时,路径控制设备10可以计算用于将另一类型的帧存储在有效负荷中的帧的路径。
例如,在此路径计算中,通信终端位置管理装置33标识源通信终端和目的地通信终端的位置。然后,路径计算装置35确定该两个通信终端被连接到通过另一链路系统隔离的不同的通信网络。另外,路径计算装置35确定作为初始化的结果、存在用于通过帧封装使两个不同的点可通信的分组转发设备。然后,路径计算装置35计算以下的三个路径。
第一路径是从分组的源通信终端到与通信终端属于相同的通信网络并且具有分组封装功能的分组转发设备(表示为P)的路径。
第二路径是从分组转发设备P到与属于目的地终端相同的通信网络并且具有分组封装功能的分组转发设备(表示为Q)的路径。
第三路径是从分组转发设备Q到目的地通信终端的路径。
接下来,将描述本发明的最小配置。图8是示出了本发明的通信系统的最小配置的示例的方框图。图9是示出了本发明的路径控制设备的最小配置的示例的方框图。图10是示出了本发明的分组转发设备的最小配置的示例的方框图。
本发明的通信系统包括用于转发接收到的分组的多个分组转发设备80,和用于将分组转发规则设置在每个分组转发设备80中以控制用于该分组的通信路径的路径控制设备70(见图8)。
分组转发设备80包括信息发送装置81和新流检测通知装置82(见图8和图10)。
信息发送装置81(例如,初始化处理装置45)将至少其自身节点的标识符、自身节点的每个端口的端口标识符以及连接到自身节点的每个端口的链路的类型发送到路径控制设备70。
当未注册适合于所接收到的分组的分组转发规则时,新流检测通知装置82(例如,流标识装置43)将包括有关分组的信息、自身节点的标识符以及接收到该分组的端口的端口标识符的新流检测通知发送到路径控制设备。
路径控制设备70包括分组转发设备信息存储装置71、拓扑信息存储装置72、链路类型确定装置73、路径计算装置74、规则生成装置75以及规则发送装置76(见图8和图9)。
分组转发设备信息存储装置71(例如,分组转发设备信息存储装置38)存储从每个分组转发设备80的信息发送装置81接收到的信息。换句话说,分组转发设备信息存储装置71为每个分组转发设备存储至少分组转发设备的标识符、分组转发设备的每个端口的端口标识符以及连接到分组转发设备的每个端口的链路的类型。
拓扑信息存储装置72(例如,拓扑信息存储装置31)存储用于连接到分组转发设备80的每个端口的每种类型的链路的、有关分组转发设备80的拓扑信息。
当从分组转发设备80接收到新流检测通知时,链路类型确定装置73(例如,执行步骤S32的分组转发设备管理装置37)基于在新流检测通知中包括的分组转发设备的标识符和端口标识符以及在分组转发设备信息存储装置71中存储的信息来确定由分组转发设备接收到的分组所通过的链路的类型。
路径计算装置74(例如,路径计算装置35)基于有关由链路类型确定装置73所确定的链路的类型的拓扑信息来计算用于分组的通信路径。
规则生成装置75(例如,分组转发规则生成装置34)生成用于通信路径上的每个分组转发设备的分组转发规则。
规则发送装置76(例如,执行步骤S37的分组转发设备管理装置37)将所生成的分组转发规则发送到通信路径上的每个分组转发设备。
根据上述配置,即使当存在形成通信网络的分组转发设备的两种或两种以上类型的链路时,也可以定义适当的流路径。
本发明的路径控制设备70也可以具有相同的效果。另外,本发明的分组转发设备80可以具有与路径控制设备70结合的相同的效果。
整个前述示例性实施例或其一部分还可以被描述为,但不限于以下的补充说明:
(补充说明1)一种通信系统,特征在于包括:多个分组转发设备,用于转发接收到的分组;以及路径控制设备,用于将分组转发规则设置在每个分组转发设备中以控制用于所述分组的通信路径,其中每个分组转发设备都包括:信息发送装置,用于将至少其自身节点的标识符、所述自身节点的每个端口的端口标识符以及连接到所述自身节点的每个端口的链路的类型发送到所述路径控制设备;以及新流检测通知装置,用于当未注册适合于所述接收到的分组的分组转发规则时,将包括有关所述分组的信息、所述自身节点的所述标识符以及接收到所述分组的端口的所述端口标识符的新流检测通知发送到所述路径控制设备,并且所述路径控制设备包括:分组转发设备信息存储装置,用于存储从每个分组转发设备的所述信息发送装置接收到的信息;拓扑信息存储装置,用于存储用于连接到所述分组转发设备的每个端口的每种类型的链路的、有关所述分组转发设备的拓扑信息;链路类型确定装置,用于当从所述分组转发设备接收到新流检测通知时,基于在所述新流检测通知中包括的所述分组转发设备的所述标识符和所述端口标识符以及在所述分组转发设备信息存储装置中存储的信息来确定由所述分组转发设备接收到的所述分组所通过的链路的类型;路径计算装置,用于基于有关由所述链路类型确定装置所确定的链路的所述类型的拓扑信息来计算用于所述分组的通信路径;规则生成装置,用于生成用于所述通信路径上的每个分组转发设备的分组转发规则;以及规则发送装置,用于将所述生成的分组转发规则发送到所述通信路径上的每个分组转发设备。
(补充说明2)根据补充说明1所述的通信系统,其中,在建立了到所述路径控制设备的连接之后,每个分组转发设备的所述信息发送装置将至少所述自身节点的所述标识符、所述自身节点的每个端口的所述端口标识符以及连接到所述自身节点的每个端口的链路的所述类型发送到所述路径控制设备。
(补充说明3)根据补充说明1或补充说明2所述的通信系统,其中,所述路径控制设备进一步包括分析装置,所述分析装置用于分析通信终端的特性以基于在所述新流检测通知中包括的、有关所述分组的信息来交换所述分组,并且
所述路径计算装置基于有关由所述链路类型确定装置所确定的链路的所述类型的拓扑信息、根据所述通信终端的所述特性来计算通信路径。
(补充说明4)根据补充说明1至补充说明3中任一项所述的通信系统,其中,所述路径控制设备进一步包括分析装置,所述分析装置用于分析在通信终端上使用的应用软件的种类以基于在所述新流检测通知中包括的、有关所述分组的信息来交换所述分组,并且所述路径计算装置基于有关由所述链路类型确定装置所确定的链路的所述类型的拓扑信息、根据在所述通信终端上使用的应用软件的所述种类来计算通信路径。
(补充说明5)一种用于将分组转发规则设置在每个分组转发设备中以控制用于分组的通信路径的路径控制设备,特征在于包括:分组转发设备信息存储装置,用于针对每个分组转发设备存储至少所述分组装置设备的标识符、所述分组转发设备的每个端口的端口标识符以及连接到所述分组转发设备的每个端口的链路的类型;
拓扑信息存储装置,用于存储用于连接到所述分组转发设备的每个端口的每种类型的链路的、有关所述分组转发设备的拓扑信息;链路类型确定装置,用于当从所述分组转发设备接收到包括有关由所述分组转发设备接收到的所述新分组流的信息、所述分组转发设备的所述标识符以及接收到所述分组的端口的所述端口标识符的新流检测通知时,基于在所述新流检测通知中包括的所述分组转发设备的所述标识符和所述端口标识符以及在所述分组转发设备信息存储装置中存储的信息来确定由所述分组转发设备接收到的所述分组所通过的链路的类型;路径计算装置,用于基于有关由所述链路类型确定装置所确定的链路的所述类型的拓扑信息来计算用于所述分组的通信路径;规则生成装置,用于生成用于所述通信路径上的每个分组转发设备的分组转发规则;以及规则发送装置,用于将所述生成的分组转发规则发送到所述通信路径上的每个分组转发设备。
(补充说明6)根据补充说明5所述的路径控制设备,进一步包括分析装置,用于分析通信终端的特性以基于在所述新流检测通知中包括的有关所述分组的信息来交换所述分组,其中,所述路径计算装置基于有关由所述链路类型确定装置所确定的链路的所述类型的拓扑信息、根据所述通信终端的所述特性来计算通信路径。
(补充说明7)一种用于根据由路径控制设备生成的分组转发规则转发接收到的分组的分组转发设备,特征在于包括:信息发送装置,用于将至少其自身节点的标识符、所述自身节点的每个端口的端口标识符以及连接到所述自身节点的每个端口的链路的类型发送到所述路径控制设备;以及新流检测通知装置,用于当未注册适合于所述接收到的分组的分组转发规则时,将包括有关所述分组的信息、所述自身节点的所述标识符以及接收到所述分组的端口的所述端口标识符的新流检测通知发送到所述路径控制设备。
(补充说明8)根据补充说明7所述的分组转发设备,其中,在建立了到所述路径控制设备的连接之后,所述信息发送装置将至少所述自身节点的所述标识符、所述自身节点的每个端口的所述端口标识符以及连接到所述自身节点的每个端口的链路的所述类型发送到所述路径控制设备。
(补充说明9)一种路径控制方法,特征在于包括:令用于转发接收到的分组的多个分组转发设备中的每一个将至少其自身节点的标识符、所述自身节点的每个端口的端口标识符以及连接到所述自身节点的每个端口的链路的类型发送到路径控制设备;令用于控制每个分组转发设备的所述路径控制设备针对每个分组转发设备将至少所述分组转发设备的所述标识符、所述分组转发设备的每个端口的所述端口标识符以及连接到所述分组转发设备的每个端口的链路的所述类型存储在分组转发设备信息存储装置中;令所述分组转发设备在未注册适合于所述接收到的分组的分组转发规则时将包括有关所述分组的信息、所述自身节点的所述标识符以及接收到所述分组的端口的所述端口标识符的新流检测通知发送到所述路径控制设备;以及使所述路径控制设备当接收到所述新流检测通知时,基于在所述新流检测通知中包括的所述分组转发设备的所述标识符和所述端口标识符以及在所述分组转发设备信息存储装置中存储的信息来确定由所述分组转发设备接收到的所述分组所通过的链路的类型,基于有关所确定的链路的所述类型的拓扑信息来计算用于所述分组的通信路径,生成用于所述通信路径上的每个分组转发设备的分组转发规则,以及将所述生成的分组转发规则发送到所述通信路径上的每个分组转发设备。
(补充说明10)一种安装在计算机上、用于将分组转发规则设置在每个分组转发设备中以控制用于分组的通信路径的路径控制程序,所述路径控制程序使所述计算机执行:信息注册处理,用于针对每个分组转发设备将至少所述分组转发设备的标识符、所述分组转发设备的每个端口的端口标识符以及连接到所述分组转发设备的每个端口的链路的类型存储在分组转发设备信息存储装置中;链路类型确定处理,用于当从所述分组转发设备接收到包括有关由所述分组转发设备接收到的所述新分组流的信息、所述分组转发设备的所述标识符以及接收到所述分组的端口的所述端口标识符的新流检测通知时,基于在所述新流检测通知中包括的所述分组转发设备的所述标识符和所述端口标识符以及在所述分组转发设备信息存储装置中存储的信息来确定由所述分组转发设备接收到的所述分组所通过的链路的类型;路径计算处理,用于基于有关在所述链路类型确定处理中确定的链路的所述类型的拓扑信息来计算用于所述分组的通信路径;规则生成处理,用于生成用于所述通信路径上的每个分组转发设备的分组转发规则;以及规则发送处理,用于将所述生成的分组转发规则发送到所述通信路径上的每个分组转发设备。
(补充说明11)根据补充说明10所述的路径控制程序,使所述计算机进一步执行分析处理,所述分析处理用于分析通信终端的特性以基于在所述新流检测通知中包括的、有关所述分组的信息来交换所述分组,其中在所述路径计算处理中,通信路径被基于有关在所述链路类型确定处理中所确定的链路的所述类型的拓扑信息、根据所述通信终端的所述特性来计算。
(补充说明12)一种安装在计算机上、用于根据由路径控制设备生成的分组转发规则来转发接收到的分组的用于分组转发设备的程序,所述程序使所述计算机执行:信息发送处理,用于将至少其自身节点的标识符、所述自身节点的每个端口的端口标识符以及连接到所述自身节点的每个端口的链路的类型发送到所述路径控制设备;以及新流检测通知处理,用于当未注册适合于所述接收到的分组的分组转发规则时,将包括有关所述分组的信息、所述自身节点的所述标识符以及接收到所述分组的端口的所述端口标识符的新流检测通知发送到所述路径控制设备。
(补充说明13)根据补充说明12所述的用于分组转发设备的程序,所述程序使所述计算机在建立到所述路径控制设备的连接之后执行所述信息发送处理。
(补充说明14)一种通信系统,特征在于包括:多个分组转发设备,用于转发接收到的分组;以及路径控制设备,用于将分组转发规则设置在每个分组转发设备中以控制用于所述分组的通信路径,其中每个分组转发设备都包括:信息发送单元,用于将至少其自身节点的标识符、所述自身节点的每个端口的端口标识符以及连接到所述自身节点的每个端口的链路的类型发送到所述路径控制设备;以及新流检测通知单元,用于当未注册适合于所述接收到的分组的分组转发规则时,将包括有关所述分组的信息、所述自身节点的所述标识符以及接收到所述分组的端口的所述端口标识符的新流检测通知发送到所述路径控制设备,并且所述路径控制设备包括:分组转发设备信息存储单元,用于存储从每个分组转发设备的所述信息发送单元接收到的信息;拓扑信息存储单元,用于存储用于连接到所述分组转发设备的每个端口的每种类型的链路的、有关所述分组转发设备的拓扑信息;链路类型确定单元,用于当从所述分组转发设备接收到新流检测通知时,基于在所述新流检测通知中包括的所述分组转发设备的所述标识符和所述端口标识符以及在所述分组转发设备信息存储单元中存储的信息来确定由所述分组转发设备接收到的所述分组所通过的链路的类型;路径计算单元,用于基于有关由所述链路类型确定单元所确定的链路的所述类型的拓扑信息来计算用于所述分组的通信路径;规则生成单元,用于生成用于所述通信路径上的每个分组转发设备的分组转发规则;以及规则发送单元,用于将所述生成的分组转发规则发送到所述通信路径上的每个分组转发设备。
(补充说明15)根据补充说明14所述的通信系统,其中,在建立了到所述路径控制设备的连接之后,每个分组转发设备的所述信息发送单元将至少所述自身节点的所述标识符、所述自身节点的每个端口的所述端口标识符以及连接到所述自身节点的每个端口的链路的所述类型发送到所述路径控制设备。
(补充说明16)根据补充说明14所述的通信系统,其中,所述路径控制设备进一步包括分析单元,所述分析单元用于分析通信终端的特性以基于在所述新流检测通知中包括的、有关所述分组的信息来交换所述分组,并且所述路径计算单元基于有关由所述链路类型确定单元所确定的链路的所述类型的拓扑信息、根据所述通信终端的所述特性来计算通信路径。
(补充说明17)根据补充说明14所述的通信系统,其中,所述路径控制设备进一步包括分析单元,所述分析单元用于分析在通信终端上使用的应用软件的种类以基于在所述新流检测通知中包括的、有关所述分组的信息来交换所述分组,并且所述路径计算单元基于有关由所述链路类型确定单元所确定的链路的所述类型的拓扑信息、根据在所述通信终端上使用的应用软件的所述种类来计算通信路径。
(补充说明18)一种用于将分组转发规则设置在每个分组转发设备中以控制用于分组的通信路径的路径控制设备,特征在于包括:分组转发设备信息存储单元,用于针对每个分组转发设备存储至少所述分组单元设备的标识符、所述分组转发设备的每个端口的端口标识符以及连接到所述分组转发设备的每个端口的链路的类型;拓扑信息存储单元,用于存储用于连接到所述分组转发设备的每个端口的每种类型的链路的、有关所述分组转发设备的拓扑信息;链路类型确定单元,用于当从所述分组转发设备接收到包括有关由所述分组转发设备接收到的所述新分组流的信息、所述分组转发设备的所述标识符以及接收到所述分组的端口的所述端口标识符的新流检测通知时,基于在所述新流检测通知中包括的所述分组转发设备的所述标识符和所述端口标识符以及在所述分组转发设备信息存储单元中存储的信息来确定由所述分组转发设备接收到的所述分组所通过的链路的类型;路径计算单元,用于基于有关由所述链路类型确定单元所确定的链路的所述类型的拓扑信息来计算用于所述分组的通信路径;规则生成单元,用于生成用于所述通信路径上的每个分组转发设备的分组转发规则;以及规则发送单元,用于将所述生成的分组转发规则发送到所述通信路径上的每个分组转发设备。
(补充说明19)根据补充说明18所述的路径控制设备,进一步包括分析单元,用于分析通信终端的特性以基于在所述新流检测通知中包括的有关所述分组的信息来交换所述分组,其中,所述路径计算单元基于有关由所述链路类型确定单元所确定的链路的所述类型的拓扑信息、根据所述通信终端的所述特性来计算通信路径。
(补充说明20)一种用于根据由路径控制设备生成的分组转发规则转发接收到的分组的分组转发设备,特征在于包括:信息发送单元,用于将至少其自身节点的标识符、所述自身节点的每个端口的端口标识符以及连接到所述自身节点的每个端口的链路的类型发送到所述路径控制设备;以及新流检测通知单元,用于当未注册适合于所述接收到的分组的分组转发规则时,将包括有关所述分组的信息、所述自身节点的所述标识符以及接收到所述分组的端口的所述端口标识符的新流检测通知发送到所述路径控制设备。
(补充说明21)根据补充说明20所述的分组转发设备,其中,在建立了到所述路径控制设备的连接之后,所述信息发送单元将至少所述自身节点的所述标识符、所述自身节点的每个端口的所述端口标识符以及连接到所述自身节点的每个端口的链路的所述类型发送到所述路径控制设备。
(补充说明22)一种路径控制方法,特征在于包括:令用于转发接收到的分组的多个分组转发设备中的每一个将至少其自身节点的标识符、所述自身节点的每个端口的端口标识符以及连接到所述自身节点的每个端口的链路的类型发送到路径控制设备;令用于控制每个分组转发设备的所述路径控制设备针对每个分组转发设备将至少所述分组转发设备的所述标识符、所述分组转发设备的每个端口的所述端口标识符以及连接到所述分组转发设备的每个端口的链路的所述类型存储在分组转发设备信息存储单元中;令所述分组转发设备在未注册适合于所述接收到的分组的分组转发规则时将包括有关所述分组的信息、所述自身节点的所述标识符以及接收到所述分组的端口的所述端口标识符的新流检测通知发送到所述路径控制设备;以及使所述路径控制设备当接收到所述新流检测通知时,基于在所述新流检测通知中包括的所述分组转发设备的所述标识符和所述端口标识符以及在所述分组转发设备信息存储单元中存储的信息来确定由所述分组转发设备接收到的所述分组所通过的链路的类型,基于有关所确定的链路的所述类型的拓扑信息来计算用于所述分组的通信路径,生成用于所述通信路径上的每个分组转发设备的分组转发规则,以及将所述生成的分组转发规则发送到所述通信路径上的每个分组转发设备。
(补充说明23)一种安装在计算机上、用于将分组转发规则设置在每个分组转发设备中以控制用于分组的通信路径的路径控制程序,所述路径控制程序使所述计算机执行:
信息注册处理,用于针对每个分组转发设备将至少所述分组转发设备的标识符、所述分组转发设备的每个端口的端口标识符以及连接到所述分组转发设备的每个端口的链路的类型存储在分组转发设备信息存储单元中;链路类型确定处理,用于当从所述分组转发设备接收到包括有关由所述分组转发设备接收到的所述新分组流的信息、所述分组转发设备的所述标识符以及接收到所述分组的端口的所述端口标识符的新流检测通知时,基于在所述新流检测通知中包括的所述分组转发设备的所述标识符和所述端口标识符以及在所述分组转发设备信息存储单元中存储的信息来确定由所述分组转发设备接收到的所述分组所通过的链路的类型;路径计算处理,用于基于有关在所述链路类型确定处理中确定的链路的所述类型的拓扑信息来计算用于所述分组的通信路径;规则生成处理,用于生成用于所述通信路径上的每个分组转发设备的分组转发规则;以及规则发送处理,用于将所述生成的分组转发规则发送到所述通信路径上的每个分组转发设备。
(补充说明24)根据补充说明23所述的路径控制程序,使所述计算机进一步执行分析处理,所述分析处理用于分析通信终端的特性以基于在所述新流检测通知中包括的、有关所述分组的信息来交换所述分组,
其中在所述路径计算处理中,通信路径被基于有关在所述链路类型确定处理中所确定的链路的所述类型的拓扑信息、根据所述通信终端的所述特性来计算。
如上文所描述的,尽管参照示例性实施例对本发明进行了描述,但是本发明不限于前述的示例性实施例。可以对本发明的配置和细节进行在本发明的范围内的可以被本领域的技术人员所理解的各种改变。
本申请要求基于2010年3月5日提交的日本专利申请No.2010-048884的优先权,其全部公开通过引用合并在本文中。
工业适用性
本发明可以合适地应用于包括多个用于转发分组的分组转发设备和用于控制每个分组转发设备以控制流路径的路径控制设备的通信系统。
参考符号列表
10路径控制设备
20至25分组转发设备
31拓扑信息存储装置
32拓扑信息注册装置
33通信终端位置管理装置
34分组转发规则生成装置
35路径计算装置
36规则设置内容存储装置
37分组转发设备管理装置
38分组转发设备信息存储装置
39分析信息存储装置
41规则表存储装置
42规则管理装置
43流标识装置
44动作实施装置
45初始化处理装置
46拓扑决定信息提供装置
Claims (3)
1.一种通信系统,特征在于包括:
多个分组转发设备,用于转发接收到的分组;以及
路径控制设备,用于将分组转发规则设置在每个分组转发设备中以控制用于所述分组的通信路径,其中
每个分组转发设备都包括:
信息发送单元,用于在建立了到所述路径控制设备的连接之后将至少其自身节点的标识符、所述自身节点的每个端口的端口标识符以及连接到所述自身节点的每个端口的链路的类型发送到所述路径控制设备;
拓扑决定信息提供单元,用于针对连接到所述分组转发设备的每个端口的每个类型的链路向所述路径控制设备发送指示所述分组转发设备的每个端口和其他分组转发设备的端口的连接的信息;
新流检测通知单元,用于搜索适合于所接收到的分组的分组转发规则,并用于当未注册适合于所述接收到的分组的分组转发规则时,将包括有关所述分组的信息、所述自身节点的所述标识符以及接收到所述分组的端口的所述端口标识符的新流检测通知发送到所述路径控制设备;以及
动作实施单元,其用于根据搜索出的分组转发规则转发所述分组,并且
所述路径控制设备包括:
分组转发设备信息存储单元,用于存储从每个分组转发设备的所述信息发送单元接收到的信息;
拓扑信息存储单元,用于存储用于连接到所述分组转发设备的每个端口的每种类型的链路的、有关所述分组转发设备的拓扑信息;
拓扑信息注册单元,用于基于从所述拓扑决定信息提供单元接收到的信息为每个类型的链路产生拓扑信息,并用于在所述拓扑信息存储单元中存储拓扑信息;
链路类型确定单元,用于在建立到所述分组转发设备的连接之后在所述分组转发设备信息存储单元中存储从所述分组转发设备的所述信息发送单元接收到的信息,并用于当从所述分组转发设备接收到新流检测通知时,基于在所述新流检测通知中包括的所述分组转发设备的所述标识符和所述端口标识符以及在所述分组转发设备信息存储单元中存储的信息来确定由所述分组转发设备接收到的所述分组所通过的链路的类型;
分析信息存储单元,用于为每种类型的链路存储指示所述分组的字段提取的内容和应用软件的种类之间的对应关系的信息;
分析单元,用于通过参照存储在所述分析信息存储单元中的信息来分析在通信终端上使用的应用软件的种类以基于在所述新流检测通知中包括的有关所述分组的信息来交换所述分组;
路径计算单元,用于基于根据在所述通信终端上使用的应用软件的种类的标准和有关由所述链路类型确定单元所确定的链路的所述类型的拓扑信息来计算用于所述分组的通信路径;
规则生成单元,用于生成用于所述通信路径上的每个分组转发设备的分组转发规则;以及
规则发送单元,用于将所述生成的分组转发规则发送到所述通信路径上的每个分组转发设备。
2.一种用于将分组转发规则设置在每个分组转发设备中以控制用于分组的通信路径的路径控制设备,特征在于包括:
分组转发设备信息存储单元,用于针对每个分组转发设备存储至少所述分组转发设备的标识符、所述分组转发设备的每个端口的端口标识符以及连接到所述分组转发设备的每个端口的链路的类型;
拓扑信息存储单元,用于存储用于连接到所述分组转发设备的每个端口的每种类型的链路的、有关所述分组转发设备的拓扑信息;
拓扑信息注册单元,用于针对连接到所述分组转发设备的每个端口的每个类型的链路从每个分组转发设备接收指示所述分组转发设备的每个端口和其他分组转发设备的端口的连接的信息,以基于所述信息为每个类型的链路产生拓扑信息,并用于在所述拓扑信息存储单元中存储拓扑信息;
链路类型确定单元,用于在建立到所述分组转发设备的连接之后为每个分组转发设备在分组转发设备信息存储单元中至少存储所述分组转发设备的识别符、所述分组转发设备的每个端口的所述端口识别符和从所述分组转发设备接收到的、与所述分组转发设备的每个端口连接的链路的类型,并用于当从所述分组转发设备接收到包括有关由所述分组转发设备接收到的新分组流的信息、所述分组转发设备的所述标识符以及接收到所述分组的端口的所述端口标识符的新流检测通知时,基于在所述新流检测通知中包括的所述分组转发设备的所述标识符和所述端口标识符以及在所述分组转发设备信息存储单元中存储的信息来确定由所述分组转发设备接收到的所述分组所通过的链路的类型;
分析信息存储单元,用于为每种类型的链路存储指示所述分组的字段提取的内容和应用软件的种类之间的对应关系的信息;
分析单元,用于通过参照存储在所述分析信息存储单元中的信息来分析在通信终端上使用的应用软件的种类以基于在所述新流检测通知中包括的有关所述分组的信息来交换所述分组;
路径计算单元,用于基于根据在所述通信终端上使用的应用软件的种类的标准和有关由所述链路类型确定单元所确定的链路的所述类型的拓扑信息来计算用于所述分组的通信路径;
规则生成单元,用于生成用于所述通信路径上的每个分组转发设备的分组转发规则;以及
规则发送单元,用于将所述生成的分组转发规则发送到所述通信路径上的每个分组转发设备。
3.一种路径控制方法,特征在于包括:
令用于转发接收到的分组的多个分组转发设备中的每一个在建立到路径控制设备的连接之后,将至少其自身节点的标识符、所述自身节点的每个端口的端口标识符以及连接到所述自身节点的每个端口的链路的类型发送到所述路径控制设备;
令用于控制每个分组转发设备的所述路径控制设备在建立到所述分组转发设备的连接之后针对每个分组转发设备将至少所述分组转发设备的所述标识符、所述分组转发设备的每个端口的所述端口标识符以及从所述分组转发设备接收到的、与所述分组转发设备的每个端口连接的链路的所述类型存储在分组转发设备信息存储装置中;
令所述分组转发设备为连接到所述分组转发设备的每个端口的每个类型的链路将指示所述分组转发设备的每个端口和其他分组转发设备的端口的连接的信息发送到所述路径控制设备;
令所述路径控制设备基于从每个分组转发设备接收到的信息为每个类型的链路产生拓扑信息,并将拓扑信息存储在所述拓扑信息存储单元中;
令所述分组转发设备搜索适合于所接收到的分组的分组转发规则,并在未注册适合于所述接收到的分组的分组转发规则时将包括有关所述分组的信息、所述自身节点的所述标识符以及接收到所述分组的端口的所述端口标识符的新流检测通知发送到所述路径控制设备;
令所述分组转发设备根据搜索出的分组转发规则转发所述分组;以及
使所述路径控制设备
为每种类型的链路存储指示所述分组的字段提取的内容和应用软件的种类之间的对应关系的信息,
当接收到所述新流检测通知时,基于在所述新流检测通知中包括的所述分组转发设备的所述标识符和所述端口标识符以及在所述分组转发设备信息存储装置中存储的信息来确定由所述分组转发设备接收到的所述分组所通过的链路的类型,
通过参照存储在分析信息存储单元中的信息来分析在通信终端上使用的应用软件的种类以基于在所述新流检测通知中包括的有关所述分组的信息来交换所述分组,
基于根据在所述通信终端上使用的应用软件的种类的标准和有关所确定的链路的所述类型的拓扑信息来计算用于所述分组的通信路径,
生成用于所述通信路径上的每个分组转发设备的分组转发规则,以及
将所述生成的分组转发规则发送到所述通信路径上的每个分组转发设备。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010048884 | 2010-03-05 | ||
JP2010-048884 | 2010-03-05 | ||
PCT/JP2011/000874 WO2011108205A1 (ja) | 2010-03-05 | 2011-02-17 | 通信システム、経路制御装置、パケット転送装置および経路制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102783098A CN102783098A (zh) | 2012-11-14 |
CN102783098B true CN102783098B (zh) | 2016-01-20 |
Family
ID=44541875
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180012631.XA Expired - Fee Related CN102783098B (zh) | 2010-03-05 | 2011-02-17 | 通信系统、路径控制设备、分组转发设备以及路径控制方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20120314605A1 (zh) |
EP (1) | EP2544417B1 (zh) |
JP (1) | JP5742834B2 (zh) |
CN (1) | CN102783098B (zh) |
WO (1) | WO2011108205A1 (zh) |
Families Citing this family (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012070173A1 (en) | 2010-11-22 | 2012-05-31 | Nec Corporation | Communication system, communication device, controller, and method and program for controlling forwarding path of packet flow |
EP2676410B1 (en) * | 2011-02-17 | 2016-01-06 | Nec Corporation | Flow communication system |
AU2012250953B2 (en) * | 2011-04-30 | 2015-04-09 | VMware LLC | Dynamic management of groups for entitlement and provisioning of computer resources |
US8488601B1 (en) * | 2011-07-12 | 2013-07-16 | Qlogic, Corporation | Method and system for link aggregation |
US8467395B1 (en) | 2011-07-12 | 2013-06-18 | Qlogic, Corporation | Method and system for link aggregation |
WO2013038711A1 (en) * | 2011-09-16 | 2013-03-21 | Nec Corporation | Communication terminal, method of communication, communication system and control apparatus |
JP5943410B2 (ja) * | 2011-09-21 | 2016-07-05 | 日本電気株式会社 | 通信装置、制御装置、通信システム、通信制御方法及びプログラム |
US10142160B1 (en) | 2011-10-04 | 2018-11-27 | Big Switch Networks, Inc. | System and methods for managing network hardware address requests with a controller |
WO2013051386A1 (ja) | 2011-10-05 | 2013-04-11 | 日本電気株式会社 | 負荷低減システム、及び負荷低減方法 |
JP5720524B2 (ja) * | 2011-10-12 | 2015-05-20 | 富士通株式会社 | 中継のためのプログラム、中継装置及び制御方法 |
WO2013108761A1 (ja) * | 2012-01-16 | 2013-07-25 | 日本電気株式会社 | ネットワークシステム、及び経路情報同期方法 |
US8923296B2 (en) * | 2012-02-23 | 2014-12-30 | Big Switch Networks, Inc. | System and methods for managing network packet forwarding with a controller |
JP5891877B2 (ja) | 2012-03-19 | 2016-03-23 | 富士通株式会社 | 中継装置および中継方法 |
JP6164223B2 (ja) * | 2012-03-28 | 2017-07-19 | 日本電気株式会社 | 通信システム、制御装置、通信装置、課金サーバ、通信方法およびプログラム |
JP6176245B2 (ja) * | 2012-05-31 | 2017-08-09 | 日本電気株式会社 | 制御装置、通信システム、スイッチ制御方法及びプログラム |
US8837476B2 (en) | 2012-09-07 | 2014-09-16 | International Business Machines Corporation | Overlay network capable of supporting storage area network (SAN) traffic |
JP6492660B2 (ja) * | 2012-10-03 | 2019-04-03 | 日本電気株式会社 | 通信システム、制御装置、制御方法及びプログラム |
CN104106248B (zh) | 2012-11-21 | 2017-08-15 | 统一有限责任两合公司 | 本地端口管理方法和设备、面向分组的数据网络 |
RU2630174C2 (ru) * | 2013-02-15 | 2017-09-05 | Телефонактиеболагет Л М Эрикссон (Пабл) | Способ управления потоками трафика плоскости пользователя в сети беспроводной связи |
US9838336B2 (en) | 2013-03-06 | 2017-12-05 | Nec Corporation | Communication system, control apparatus, forwarding node, control method and program |
US9544247B2 (en) | 2013-03-15 | 2017-01-10 | Innovasic, Inc. | Packet data traffic management apparatus |
JPWO2014157460A1 (ja) * | 2013-03-28 | 2017-02-16 | 日本電気株式会社 | 通信システム、制御装置、情報収集方法およびプログラム |
CN104125244B (zh) * | 2013-04-23 | 2019-05-07 | 中兴通讯股份有限公司 | 一种分布式网络中转发信息的方法及系统 |
EP2983317B1 (en) * | 2013-04-28 | 2017-06-07 | Huawei Technologies Co., Ltd. | Controlling method, controller, and node in transport network |
CN103248576B (zh) * | 2013-05-15 | 2015-12-09 | 西北工业大学 | 一种现场总线式网络拓扑识别方法 |
EP2993836B1 (en) * | 2013-06-14 | 2020-02-19 | Huawei Technologies Co., Ltd. | Method and device for routing data message |
US9893989B2 (en) | 2013-06-24 | 2018-02-13 | Hewlett Packard Enterprise Development Lp | Hard zoning corresponding to flow |
US9203711B2 (en) * | 2013-09-24 | 2015-12-01 | International Business Machines Corporation | Port mirroring for sampling measurement of network flows |
CN104468343B (zh) * | 2013-09-25 | 2019-07-26 | 中兴通讯股份有限公司 | 报文处理方法、sdn转发设备以及sdn控制器 |
US10555217B2 (en) * | 2013-10-11 | 2020-02-04 | Nec Corporation | Terminal device, terminal-device control method, and terminal-device control program |
JP5916234B2 (ja) * | 2013-11-01 | 2016-05-11 | 日本電気株式会社 | 通信装置、制御装置、通信システム、通信制御方法及びプログラム |
EP3073685B1 (en) * | 2013-11-20 | 2020-10-07 | Nec Corporation | Network control device, network control method, and program |
WO2015114714A1 (ja) * | 2014-02-03 | 2015-08-06 | 日本電気株式会社 | ネットワークトポロジー検出システム、方法およびプログラムならびに制御装置 |
US8989199B1 (en) * | 2014-02-24 | 2015-03-24 | Level 3 Communications, Llc | Control device discovery in networks having separate control and forwarding devices |
JP2015092730A (ja) * | 2014-12-26 | 2015-05-14 | 日本電気株式会社 | 通信装置、制御装置、通信システム、通信制御方法及びプログラム |
US20160226753A1 (en) * | 2015-02-04 | 2016-08-04 | Mediatek Inc. | Scheme for performing one-pass tunnel forwarding function on two-layer network structure |
JP6033393B2 (ja) * | 2015-12-25 | 2016-11-30 | 株式会社Nttドコモ | 制御ノード及び通信制御方法 |
US20210021492A1 (en) * | 2019-07-19 | 2021-01-21 | NetBrain Technologies, Inc. | Network management with topology dependency and path generation |
JP7460930B2 (ja) | 2020-05-11 | 2024-04-03 | 日本電信電話株式会社 | パケット転送システム及び経路設定方法 |
CN112468418A (zh) * | 2020-11-23 | 2021-03-09 | 盛科网络(苏州)有限公司 | 多级切片边缘交换设备及其实现方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1770703A (zh) * | 2004-11-01 | 2006-05-10 | 日立通讯技术株式会社 | 通路监视系统及通信网络系统 |
WO2008095010A1 (en) * | 2007-02-01 | 2008-08-07 | The Board Of Trustees Of The Leland Stanford Jr. University | Secure network switching infrastructure |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6098125A (en) | 1998-05-01 | 2000-08-01 | California Institute Of Technology | Method of mapping fibre channel frames based on control and type header fields |
JP2001230805A (ja) * | 2000-02-15 | 2001-08-24 | Hitachi Ltd | 情報中継方法および装置 |
US20030233427A1 (en) * | 2002-05-29 | 2003-12-18 | Hitachi, Ltd. | System and method for storage network management |
US20050111356A1 (en) * | 2003-11-25 | 2005-05-26 | Whittaker Stewart Mark A. | Connection controller |
JP4555592B2 (ja) * | 2004-03-31 | 2010-10-06 | 富士通株式会社 | パケット処理システム |
JP4598462B2 (ja) * | 2004-09-16 | 2010-12-15 | 富士通株式会社 | L2−vpnサービスを提供するプロバイダ網、及びエッジルータ |
JP4517997B2 (ja) * | 2005-10-05 | 2010-08-04 | 株式会社日立製作所 | ネットワーク管理装置およびネットワークシステム |
US7522603B2 (en) * | 2006-03-14 | 2009-04-21 | Cisco Technology, Inc. | Technique for efficiently routing IP traffic on CE-CE paths across a provider network |
JP4630225B2 (ja) * | 2006-05-15 | 2011-02-09 | 富士通株式会社 | 通信制御システム |
JP2008278007A (ja) * | 2007-04-26 | 2008-11-13 | Nippon Telegr & Teleph Corp <Ntt> | グループパス予約制御方法及び経路予約装置及びシステム及びプログラム |
WO2009042919A2 (en) * | 2007-09-26 | 2009-04-02 | Nicira Networks | Network operating system for managing and securing networks |
JP5062845B2 (ja) * | 2008-06-30 | 2012-10-31 | 日本電信電話株式会社 | 経路切替方法、サーバ装置、境界ノード装置、経路切替システム及び経路切替プログラム |
-
2011
- 2011-02-17 JP JP2012502986A patent/JP5742834B2/ja not_active Expired - Fee Related
- 2011-02-17 EP EP11750319.3A patent/EP2544417B1/en not_active Not-in-force
- 2011-02-17 CN CN201180012631.XA patent/CN102783098B/zh not_active Expired - Fee Related
- 2011-02-17 WO PCT/JP2011/000874 patent/WO2011108205A1/ja active Application Filing
- 2011-02-17 US US13/578,990 patent/US20120314605A1/en not_active Abandoned
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1770703A (zh) * | 2004-11-01 | 2006-05-10 | 日立通讯技术株式会社 | 通路监视系统及通信网络系统 |
WO2008095010A1 (en) * | 2007-02-01 | 2008-08-07 | The Board Of Trustees Of The Leland Stanford Jr. University | Secure network switching infrastructure |
Also Published As
Publication number | Publication date |
---|---|
JP5742834B2 (ja) | 2015-07-01 |
EP2544417A1 (en) | 2013-01-09 |
WO2011108205A1 (ja) | 2011-09-09 |
EP2544417A4 (en) | 2013-12-04 |
JPWO2011108205A1 (ja) | 2013-06-20 |
US20120314605A1 (en) | 2012-12-13 |
CN102783098A (zh) | 2012-11-14 |
EP2544417B1 (en) | 2014-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102783098B (zh) | 通信系统、路径控制设备、分组转发设备以及路径控制方法 | |
CN110535782B (zh) | 一种实现QoS保障的报文处理方法、设备和系统 | |
CN103444143B (zh) | 网络系统及策略路由设置方法 | |
US8976697B2 (en) | Network status mapping | |
CN102014049B (zh) | 用于网络中功率受限通信的方法和系统 | |
CN103348635B (zh) | 网络系统、控制单元和最优路由控制方法 | |
CN107370676A (zh) | 一种融合QoS及负载均衡需求的路由选择方法 | |
KR101803332B1 (ko) | 사물 인터넷 네트워크 시스템 | |
CN103119901A (zh) | 通信系统、控制装置、分组处理操作设置方法和程序 | |
Al-Kaseem et al. | End-to-end delay enhancement in 6LoWPAN testbed using programmable network concepts | |
CN103069756A (zh) | 通信系统、控制器、节点控制方法和程序 | |
CN107786437B (zh) | 报文转发方法及装置 | |
CN103155501A (zh) | 通信系统、控制设备、设置处理规则的方法和程序 | |
RU2632145C2 (ru) | Система связи, коммутатор, устройство управления, способ обработки пакетов и программа | |
JP5725236B2 (ja) | 通信システム、ノード、パケット転送方法およびプログラム | |
CN101789949A (zh) | 一种实现负荷分担的方法和路由设备 | |
CN112350948B (zh) | 一种基于sdn的分布式网络溯源系统的分布式网络溯源方法 | |
KR20160122226A (ko) | 통신 시스템, 제어 장치, 통신 제어 방법 및 프로그램 | |
CN103685058A (zh) | 控制流数据的服务质量的方法和OpenFlow控制器 | |
CN1973503B (zh) | 流处理 | |
Sun et al. | SDN-based autonomic CCN traffic management | |
CN105027513A (zh) | 通信系统、整合控制器、分组转发方法和程序 | |
JP2017050708A (ja) | 通信システム、制御装置、スイッチ、通信方法及びプログラム | |
CN110213170A (zh) | 一种报文传输的方法及装置 | |
Grežo et al. | Network traffic measurement and management in software defined networks |
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: 20160120 Termination date: 20170217 |