CN103339904A - 通信系统、控制设备、转发节点、通信控制方法和程序 - Google Patents
通信系统、控制设备、转发节点、通信控制方法和程序 Download PDFInfo
- Publication number
- CN103339904A CN103339904A CN201180066250XA CN201180066250A CN103339904A CN 103339904 A CN103339904 A CN 103339904A CN 201180066250X A CN201180066250X A CN 201180066250XA CN 201180066250 A CN201180066250 A CN 201180066250A CN 103339904 A CN103339904 A CN 103339904A
- Authority
- CN
- China
- Prior art keywords
- processing rule
- forward node
- value
- control appliance
- confirmation
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0658—Clock or time synchronisation among packet nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0895—Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0866—Checking the configuration
- H04L41/0873—Checking configuration conflicts between network elements
-
- 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/38—Flow based 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/54—Organization of routing tables
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3009—Header conversion, routing tables or routing tags
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/085—Retrieval of network configuration; Tracking network configuration history
- H04L41/0859—Retrieval of network configuration; Tracking network configuration history by keeping history of different configuration generations or by rolling back to previous configuration versions
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种通信系统,包括:控制设备,该控制设备确定分组处理规则;转发节点,该转发节点使用作为从该控制设备所传送的多个处理规则之一并且对应于接收到的分组的处理规则对接收到的分组进行处理;比较单元,该比较单元将第一值与第二值进行比较,其中从该转发节点中所保持的第一处理规则群组计算该第一值,而从该控制设备所确定以便传输至该转发节点的第二处理规则群组计算该第二值;和确认单元,该确认单元基于比较结果确认该转发节点和控制设备是否同步。
Description
技术领域
(相关申请的交叉引用)
本发明要求日本专利申请2011-016322(提交于2011年1月28日)的优先权,因此其内容通过引用全文结合于本说明书中。
本发明涉及一种通信系统、控制设备、转发节点、通信控制方法和程序,尤其涉及一种具有用于对网络中部署的(多个)转发节点进行整体控制的控制设备的通信系统,控制设备、转发节点、通信控制方法和程序。
背景技术
在控制设备对(多个)转发节点进行整体控制以便执行通信的通信系统中,(多个)转发节点和控制设备必须相互同步。这是因为,如果控制设备和(多个)转发节点不同步,则从控制节点向转发节点所传送的分组转发方法指令会变得与转发节点所执行的分组转发处理不一致,其结果是执行并非控制设备所预期的分组转发。
作为如以上所描述的控制设备对(多个)转发节点进行整体控制的通信系统,被称作OpenFlow的技术是已知的(参见专利文献1以及非专利文献1和2)。OpenFlow将通信识别为端对端的流,并且以每个流为基础执行路径控制、故障恢复、负载平衡和优化。在非专利文献2中所规定的OpenFlow交换机具有用于与用作控制设备的OpenFlow控制器进行通信的安全信道,并且根据流表进行操作,信息被添加至所述流表并且其内容在有必要时根据来自OpenFlow控制的指令进行重写。在该流表中,针对每个流定义以下三者的集合:分组报头相对其进行匹配的匹配规则(报头字段),流统计信息(计数器),以及定义处理内容的(多个)动作(动作)(参见图18)。
例如,当接收到分组时,OpenFlow交换机在流表中搜索具有与接收到的分组的报头信息相匹配的匹配规则(参见图18中的报头字段)的条目。如果作为搜索结果而找到了与接收到的分组相匹配的条目,则OpenFlow交换机更新流统计信息(计数器),并且同时针对接收到的分组执行处理内容(来自指定端口的分组传输、洪泛、丢弃等),这在该条目的动作字段中有所描述。另一方面,如果作为搜索结果没有找到与接收到的分组相匹配的条目,则OpenFlow交换机经由安全信道将接收到的分组转发至OpenFlow控制器,请求该OpenFlow基于接收到的分组的传输来源/目的地确定分组路径,接收该分组路径的条目,并且更新流表。以这种方式,OpenFlow交换机使用流表中所存储的条目作为处理规则来转发分组。
然而,以上所描述的专利文献1以及非专利文献1和2并不包括关于如何确认OpenFlow控制器和OpenFlow交换机之间的同步的实践研究。
此外,专利文献2公开了用于确认移动设备中保持的数据和该移动设备所连接的数据库中存储的数据是否同步的技术。根据该文献,移动设备对移动设备中保持的每条数据生成散列并且将所生成的散列传送至同步服务器以请求其确认数据是否同步。该同步服务器对针对其请求同步确认的每条数据生成散列。该同步服务器将从移动设备所传送的多个散列与同步服务器所生成的多个散列相比较。该同步服务器基于比较结果来确认数据同步。该文献描述了可以通过从针对其请求同步确认的多条数据中的每一条生成散列以及通过执行同步确认可以减少同步所需的带宽。
引用列表
专利文献
[PTL1]:国际公开No.WO2008/095010A1
[PTL2]:日本专利申请公开No.JP-P2009-510566A
非专利文献
[NPL1]:Nick McKeown与其他七名作者,"OpenFlow:EnablingInnovation in Campus Networks",[在线],[2010年12月22日搜索],互联网<URL:http://www.openflowswitch.org//documents/openflow-wp-latest.pdf>
[NPL2]:"Openflow Switch Specification"版本1.0.0.(有线协议0x01)[2010年12月22日搜索],互联网<URL:http://www.openflowswitch.org/documents/openflow-spec-v1.0.0.pdf>
发明内容
技术问题
通过本发明给出以下分析。如以上所描述的,专利文献1以及非专利文献1和2描述了仅提供被称作Stats请求/恢复的控制消息以便检索流表的内容,或者用于传送作为响应的流条目的内容(参见非专利文献2中的“5.3.5Read State Messages”),而不是用于有效确认转发节点和控制设备之间的同步的方法。
专利文献2中所公开的技术将每一个均表示数据库的散列值(数据库散列)进行比较,并且如果作为比较的结果而检测到非匹配,则按移动设备中保持的每条数据生成散列并且确认同步(比较记录散列)。也就是说,出于同步确认的目的,通过网络交换每一个均与针对其请求同步的每条数据相对应的多个散列。因此,针对数据库中所存储的多条数据中的每一个生成用于同步确认的网络业务。
在控制设备对转发节点进行整体控制的通信系统中,如果由诸如非专利文献2中所公开的Stats请求/回复的方法或者专利文献2中所公开的方法来执行,则同步确认将会带来的问题在于控制设备或转发节点的负载将有所增加。此外,应当考虑的是,所要控制的转发节点的数目增加或者按用户的处理规则数目(控制粒度的细分)的增加将会导致控制设备的负载的指数级增加。特别地,专利文献2中所描述的方法生成用于确认每条数据的同步的网络业务,并且因此同步确认业务有所增加并且控制设备的负载进一步增加。
鉴于以上,本发明的目标是提供一种用于确认通信系统中的转发节点和控制设备之间的同步的有效方法,其中该控制设备对转发节点进行整体控制以便进行通信。
[对问题的解决方案]
根据本发明的第一方面,提供了一种通信系统,包括:控制设备,该控制设备确定分组处理规则;至少一个转发节点,该转发节点使用作为从该控制设备所传送的多个处理规则之一并且对应于接收到的分组的处理规则对接收到的分组进行处理;和比较单元,该比较单元将第一值和第二值进行比较。从该转发节点中保持的第一处理规则群组计算该第一值,而从该控制设备所确定的用于传输至该转发节点的第二处理规则群组计算该第二值。该通信系统进一步包括确认单元,该确认单元基于比较结果确认该转发节点和控制设备是否同步。
根据本发明的第二方面,提供了一种控制设备,包括:确定分组处理规则的装置(单元);和将所确定的处理规则传送至转发节点的装置(单元),该转发节点根据作为多个处理规则之一并且对应于接收到的分组的处理规则对接收到的分组进行处理。该控制设备进一步包括从第二处理规则群组计算第二值的装置(单元),该第二处理规则群组被确定以传输至转发节点,以便通过与从转发节点中保持的第一处理规则群组所计算的第一值相比较来确认与转发节点的同步。
根据本发明的第三方面,提供了一种转发节点,包括:根据作为从控制设备所传送的多个处理规则之一并且对应于接收到的分组的处理规则对接收到的分组进行处理的装置(单元);和从该转发节点自身中保持的第一处理规则群组计算第一值,以便通过与从控制设备所确定的用于传输至该转发节点的第二处理规则群组所计算的第二值相比较来确认该控制设备和转发节点之间的同步的装置(单元)。
根据本发明的第四方面,提供了一种对通信控制系统进行控制的通信控制方法,该通信系统包括:控制设备,该控制设备确定分组处理规则;和至少一个转发节点,该转发节点使用作为从该控制设备所传送的多个处理规则之一并且对应于接收到的分组的处理规则对接收到的分组进行处理。该通信控制方法包括步骤:将第一值和第二值进行比较,从该转发节点中保持的第一处理规则群组计算该第一值,从该控制设备所确定的用于传输至该转发节点的第二处理规则群组计算该第二值;以及基于比较结果确认该转发节点和控制设备是否同步。该方法链接至(多个)转发节点以及对转发节点进行整体控制的被称为控制设备的专用机器。
根据本发明的第五方面,提供了一种程序,该程序使得连接至通信系统的计算机执行以下处理,该通信系统包括确定分组处理规则的控制设备;和使用作为从该控制设备所传送的多个处理规则之一并且对应于接收到的分组的处理规则对接收到的分组进行处理的至少一个转发节点:将第一值和第二值进行比较,从该转发节点中保持的第一处理规则群组计算该第一值,从该控制设备所确定的用于传输至该转发节点的第二处理规则群组计算该第二值;并且基于比较结果确认该转发节点和控制设备是否同步。该程序可以被记录在可以为非瞬时的计算机可读存储介质上(或者嵌入其中)。也就是说,本发明可以被实施为计算机程序产品。
[发明的有益效果]
本发明允许在通信系统中的转发节点和控制设备之间有效执行同步确认,其中该控制设备对转发节点进行整体(或统一)控制以便执行通信。
计算机程序对表示技术参数—即承载技术特征—的物理和电数据进行处理。该计算机(以及程序)自身被实施为通信系统、控制设备和/或(多个)转发节点的一部分,其构成(并且作为)制造品或产品(通信装置或系统或者其组件)。
附图说明
图1是示出本发明的概要(模式)的示图。
图2是示出用于计算第一值和第二值的方法示例的示图。
图3是示出第一示例性实施例的配置的示图。
图4是示出第一示例性实施例中的控制设备和转发节点的详细配置的框图。
图5是示出第一示例性实施例中的转发节点的处理规则存储单元中保持的表的示例的示图。
图6是示出第一示例性实施例中的转发节点的同步确认信息存储单元中保持的同步确认信息的示例的示图。
图7是示出第一示例性实施例中的控制设备的处理规则存储单元中保持的表的示例的示图。
图8是示出第一示例性实施例中的控制设备中的同步确认信息存储单元中保持的表的示例的示图。
图9是示出第一示例性实施例中的控制设备中的同步确认信息的计算操作的流程图。
图10是示出第一示例性实施例中的同步确认信息的计算操作的流程图。
图11是示出第一示例性实施例中的控制设备所执行的同步确认操作的流程图。
图12是示出第一示例性实施例中的操作序列的示例的示图。
图13是继续图12的示图。
图14是示出第二示例性实施例中的转发节点的同步确认信息的示例的示图。
图15是示出第二示例性实施例中的控制设备中保持的表的示例的示图。
图16是示出使用生成管理信息的比较操作的示例的示图。
图17是示出使用生成管理信息的比较操作的另一个示例的示图。
图18是示出非专利文献2中所描述的流条目的配置的示图。
具体实施方式
首先,将参考图1和图2对本发明的模式的概要进行描述。注意,概要中的附图标记被附到要素以便于作为示例而帮助对本发明进行理解,但并非将本发明限制为图中所示的模式。
如图1所示,本模式可以通过配置(“布置”)来实施,该配置包括确定分组的处理规则的控制设备20,以及使用对应于接收到的分组并且作为从控制设备20所接收并存储在处理规则存储单元14中的多个处理规则之一的处理规则对接收到的分组进行处理。
此外,控制设备20包括比较单元25a和确认单元25b。比较单元25a将从转发节点侧中保持的第一处理规则群组所计算的第一值与从控制设备所确定以便传输至转发节点的第二处理规则群组所计算的第二值相比较。确认单元25b基于比较结果确认转发节点和控制设备之间的处理规则的同步状态。虽然图1示出了控制设备20包括比较单元25a和确认单元25b的配置示例,但是配置并不局限于该示例。比较单元25a和确认单元25b可以被安装在控制设备20和转发节点10之一或两者中,或者可以被安装在控制设备20和转发节点10之外的设备中。如以上所描述的,同步确认并非通过生成表示每个处理规则的第一值而是通过生成表示由多个处理规则所组成的处理规则群组的第一值来执行。该同步确认方法减少了为了确认控制设备20和转发节点10之间的同步而生成的网络业务的数量。
以下对如何计算所描述的第一值和第二值的示例进行描述。使用预定函数(例如,诸如消息摘要算法5(MD5)的散列函数)计算第一值,该函数使用转发节点10的处理规则存储单元14中保持的多个处理规则的集合、所有处理规则或者处理规则的特定字段中的值作为其自变量。也就是说,第一值是表示处理规则存储单元14中此时保持的处理规则群组的值。类似地,使用与以上所描述的预定函数相同的函数计算第二值,其使用处理规则存储单元28中此时保持的多个处理规则、所有处理规则或者处理规则的特定字段的值作为其自变量。由于两个值在转发节点10和控制设备20同步的情况下相匹配,所以第一值和第二值之间的比较允许该布置确认转发节点10和控制设备20之间的同步状态。
也可以不通过处理规则的整个集合而是如图2所示的分层次地计算第一值和第二值。在图2的示例中,对于转发节点10的处理规则存储单元14和控制设备20的处理规则存储单元28中保持的处理规则而言,首先使用预定函数(诸如散列函数)针对每个预定部分计算表示每个预定部分(表示为图2中的分区)的值(h1,h2,h3,...,hx)。可以从每个分区中所包括的处理规则群组计算表示每个部分的值(第三值)。也可以通过计算每个分区中所包括的每个处理规则的散列值以及通过计算来自每一个均与每个处理规则相对应的散列值而计算表示每个部分的值(第三值)。类似地,对于控制设备20而言,计算表示与转发节点10的一部分相对应的每个部分的值(第四值)。在图2的示例中,以这种方式所获得的值(h1,h2,h3,...,hx)被分配至预定函数(图2中的哈希(h1,h2,h3,...,hx))以计算第一值(或第二值)。通过比较以这种方式所获得的第一值(或第二值),不仅可以确认转发节点10和控制设备20之间的同步状态,而且在发现非匹配并且检测到不同步的情况下,可以通过比较针对每个部分所计算的值(第三值或第四值)阶段性地收窄非匹配位置。即使在第一值和第二值之间找到了非匹配,该模式的方法并不确认每个处理规则的同步而是阶段性地收窄非匹配位置,因此减少为了确认控制设备20和转发节点10之间的同步所生成的网络业务数量。
虽然控制设备20在图1的示例中包括处理规则存储单元28,但是另一种配置也是可能的,其中控制设备20访问外部处理规则存储单元以对转发节点10中所设定的处理规则进行管理。
<第一示例性实施例>
接下来,将参考附图对第一示例性实施例进行详细描述。图3是示出第一示例性实施例中的通信系统的配置的示图。参考图3,示出了三个转发节点10、控制设备20以及经由转发节点10互相通信的主机(主机(A),主机(B))。虽然在图3的实例中示出了三个转发节点10、控制设备20以及两个主机(主机(A),主机(B)),但是转发节点、控制设备和主机的数目仅是示例性的并且可以使用任何数目的转发节点、控制设备和主机。
图4是示出转发节点10和控制设备20的详细配置的框图。参考图4,转发节点10包括转发处理单元11,与控制设备20进行通信的控制设备通信单元12,管理处理规则存储单元14的处理规则管理单元13,分组缓冲器15,同步确认信息存储单元16以及同步确认信息计算单元17。注意,并非始终要求转发节点10包括分组缓冲器15。
图5是示出处理规则存储单元14中保持的处理规则存储表的示例的示图。优先级字段指示每个处理规则的优先级。匹配规则和动作(Actions)分别对应于图18所示的OpenFlow交换机的流条目的匹配规则(Matching rule)和动作(Actions)。分区#字段指示每个条目所属分区的编号。虽然图5中的示例中省略,但是可以添加流统计信息(Stats)字段(注意,每次接收到分组时发生变化的流统计信息(Stats)并不被用于创建将在随后描述的同步确认信息)。因此,图5中的处理规则存储表是通过将优先级字段和分区#字段添加至非专利文献2中所描述的OpenFlow交换机的流条目所创建的表。注意,图5中的表是示例性的并且表格式并不被非专利文献2中所描述的Openflow技术的格式所限制。
转发处理单元11包括处理规则搜索单元111和动作执行单元112。处理规则搜索单元111从具有以上所描述配置的处理规则存储单元向动作执行单元112输出处理规则的处理内容(动作),其具有与接收到的分组相匹配的匹配规则(matching rule)。动作执行单元112执行从处理规则搜索单元111所输出的处理内容(动作)。
当经由控制设备通信单元12从控制设备20接收到具有处理规则注册位置信息的处理规则添加指令时,处理规则管理单元13将所指定的处理规则添加至处理规则存储单元14中的表中的位置,其中该位置对应于该处理规则注册位置信息。如果处理规则存储单元14中具有在预定时间内或更久没有针对其接收到匹配分组的处理规则,则处理规则管理单元13删除该处理规则并且同时基于从控制单元20接收到的预先指令向控制设备20传送通知(超时处理)。作为选项、通知或非通知之一的是否在处理规则被删除时向控制设备20传送通知可以由如以上所描述的从控制设备20所传送的预先指令进行指定。
图6是示出由同步确认信息计算单元17所计算并且保持在同步确认信息存储单元16中的同步确认信息的示例的示图。Hp1-Hpx字段中的每一个存储利用处理规则作为自变量而针对以上所描述的处理规则存储表的每个分区所计算的散列值(此后称作“分区同步确认信息”)。Htable字段存储利用Hp1-Hpx字段中的值作为自变量而计算的散列值(此后称作“表同步确认信息”)。
同步确认信息唯一地标识转发节点中保持的处理规则群组,并且该处理规则群组分别属于每个分区。在以下描述中,假设从图5中的处理规则计算出0x1abf,0xa87f,0x29ca,...,0xa9ba作为图6中的分区同步确认信息Hp1,Hp2,Hp3,…,Hpx,并且从图6中的分区同步确认信息Hp1-Hpx计算出0x1a86作为表同步确认信息Htable。
当完成添加来自控制设备20的处理规则添加指令所指定的处理规则时或者当处理规则存储单元14中保持的处理规则改变或移动时,例如当执行处理规则超时处理时,同步确认信息计算单元17计算同步确认信息。
以上所描述的转发节点10可以通过向非专利文献2中所描述的Openflow交换机添加与处理规则管理单元13、同步确认信息存储单元16和同步确认信息计算单元17相对应的功能,以及同时通过改变流表的配置使得可以向以上所描述的处理规则存储单元14中那样针对每个处理规则保存分区编号来实现。注意,与处理规则管理单元13、同步确认信息存储单元16和同步确认信息计算单元17相对应的功能并不局限于基于Openflow的技术的功能。与以上所描述的转发节点10的处理规则管理单元13、同步确认信息存储单元16和同步确认信息计算单元17相对应的功能也可以由被配置转发节点10的计算机所执行的程序来实现。
再次参考图4,以下对控制设备20的配置进行描述。控制设备20包括执行与转发节点10的通信的节点通信单元21;控制消息处理单元22;基于经由节点通信单元21所收集的转发节点10的连接关系创建网络拓扑信息的拓扑管理单元23;基于拓扑管理单元23所创建的网络拓扑信息确定分组转发路径以及要由转发路径上的转发节点10所执行的动作的路径/动作计算单元24;当处理规则被传送至转发节点10或当其中设定时或者当从转发节点10接收到处理规则超时通知时执行管理使得处理规则存储单元28的内容变为与每个转发节点10的处理规则存储单元14的内容相一致的处理规则管理单元25;同步确认信息存储单元26;同步确认信息计算单元27;和处理规则存储单元28。
此外,控制消息处理单元22包括对从转发节点10所接收的控制消息进行分析并且执行必要处理的消息分析/处理单元221;和生成要被传送至转发节点10的消息的消息生成单元。
该示例性实施例的处理规则管理单元25具有与以上在该模式的概要中所描述的比较单元25a和确认单元25b相对应的功能。处理规则管理单元25具有被诸如过去了预定时间间隔之类的预定同步确认事件的生成所触发的功能,以经由控制消息处理单元22和节点通信单元21请求转发节点10传送表同步确认信息和分区同步确认信息以及非匹配分区的处理规则以便执行同步确认处理。注意,并不需要始终在控制设备20的处理规则管理单元25中安装比较单元25a和确认单元25b。比较单元25a和确认单元25b可以被安装在控制设备20和转发节点10之一中,或者被安装在控制设备20和转发节点10中,每个中安装一个。比较单元25a和确认单元25b两者或之一可以安装在系统中控制设备20和转发节点10以外的设备中。
图7是示出控制设备20的处理规则存储单元28中保持的处理规则存储表的示例的示图。如图7所示,控制设备20的处理规则存储单元28保持被控制设备20所控制的转发节点10的处理规则存储单元14中保持的所有处理规则。例如,图7中表顶部的第一至第三条目针对匹配规则为A的流指示其DPID(节点10的标识符:Datapath Identifier)为1-3的节点中所设定的处理规则(顶部的第四至第六条目以相同方式指示处理规则)。虽然在图7的示例中利用作为关键字(key)的匹配规则进行存储,但是处理规则也可以利用作为关键字的DPID或分区#进行存储。
当接收到与如以上所描述的表顶部的第一条目指示的匹配规则“A”相对应的分组时,其DPID为1的节点(例如,图3中的节点#1)执行处理以根据动作字段从第九端口进行输出。类似地,当从其DPID为1的节点(例如,图3中的节点#1)接收到与匹配规则“A”相对应的分组时,其DPID为2的节点(例如,图3中的节点#2)执行处理以从第六端口进行输出。从其DPID为2的节点(例如,图3中的节点#2)接收到与匹配规则“A”相对应的分组时,其DPID为3的节点(例如,图3中的节点#3)执行处理以从第一端口进行输出。以这种方式,执行了控制处理以经由指定路径来转发与匹配规则“A”相对应的分组。
图8是示出同步确认信息存储单元26中保持的同步确认信息存储表的示例的示图。每个字段的值等同于图6中所描述的值。图8中描述同步确认信息的变化的变化内容字段可以在实际表中被省略。图8所示的表是针对其DPID为1的节点的表。同步确认信息存储单元26保持每一个均对应于与每个DPID相对应的节点的多个表(针对与每个DPID相对应的节点提供具有图8所示格式的表)。
例如,如图8中的变化内容字段所示,当匹配规则A的处理规则被添加至具有DPID#1的转发节点的分区#1时,从分区#1所结算的分区同步确认信息Hp1以及从分区同步确认信息Hp1-Hpx所计算的表同步确认信息Htable有所改变。类似地,当从具有DPID#1的转发节点接收到指示由于发生超时而删除了针对匹配规则A的处理规则的通知,则从分区#1所计算的分区同步确认信息Hp1以及从分区同步确认信息Hp1-Hpx所计算的表同步确认信息Htable返回至初始状态中的值。
虽然同步确认信息存储单元26和处理规则存储单元28在图4所示的配置中被包括在控制设备20中,但是可以采用另一种配置,其中同步确认信息存储单元26和处理规则存储单元28包括在单独提供的外部服务器中。
基于非专利文献1和2中所描述的OpenFlow控制器,以上所描述的控制设备20可以通过添加与处理规则管理单元25、同步确认信息存储单元26、同步确认信息计算单元27和处理规则存储单元28相对应的当处理规则发生变化或移动时计算并管理同步确认信息的功能和配置来实施。注意,控制设备20并不局限于基于OpenFlow技术的配置。与以上所描述的控制设备20的处理规则管理单元25和同步确认信息计算单元27相对应的功能也可以通过由计算机所执行的对控制设备20进行配置的(多个)程序来实施。
接下来,随后参考附图对该示例性实施例的操作进行更为详细的描述。图9是示出第一示例性实施例的控制设备20中用于计算同步确认信息的操作的流程图。
参考图9,当发生对转发节点10中保持的处理规则的操作(添加、改变、删除)或者接收到从转发节点10删除处理规则的通知时(步骤S001),控制设备20计算其中保持所要操作或删除的处理规则的转发节点上对应的分区同步确认信息(步骤S002)。
当完成分区同步确认信息的重新计算时,控制设备20使用包括以上描述的所计算的分区同步确认信息的分区同步确认信息重新计算表同步确认信息(步骤S003)。
最后,控制设备20在同步确认信息存储单元26中保存重新计算的分区同步确认信息和表同步确认信息(步骤S004)。
图10是示出第一示例性实施例的转发节点10中用于计算同步确认信息的操作的流程图。参考图10,当基于来自控制设备20的指令的处理规则操作(添加、改变、删除)完成时或者当处理规则在发生处理规则超时的情况下被删除时(步骤S101),转发节点10重新计算包括所要操作或删除的处理规则的分区上的分区同步确认信息。
当分区同步确认信息的重新计算完成时,转发节点10使用包括以上描述的所计算的分区同步确认信息的分区同步确认信息来重新计算表同步确认信息(步骤S103)。
最后,转发节点10将所计算的分区同步确认信息和表同步确认信息保存在同步确认信息存储单元16中(步骤S104)。
图11是示出第一示例性实施例中的控制设备20所执行的同步确认操作的流程图。参考图11,当例如当已经过去了预定时间间隔时生成预定同步确认事件时,控制设备20请求转发节点10传送表同步确认信息(步骤S201)。转发节点10检索表同步确认信息Htable并且将其传送至控制设备20。
当从转发节点10接收到表同步确认信息Htable时(步骤S202),控制设备20从同步确认信息存储单元26检索对应的表同步确认信息Htable(步骤S203)。
接下来,控制设备20将从转发节点10所接收的表同步确认信息Htable与在设备一侧计算的表同步确认信息Htable相比较(步骤S204)。如果两者匹配,则控制设备20确定转发节点10和控制设备20同步。在这种情况下,同步确认处理终止(步骤S204中的是)。
另一方面,如果从转发节点10所接收到的表同步确认信息Htable与在设备一侧计算的表同步确认信息Htable不匹配,则控制设备20请求转发节点10传送分区同步确认信息(步骤S205)。转发节点10从分区同步确认信息存储单元16检索分区同步确认信息Hp1-Hpx并将其传送至控制设备22。
当从转发节点10接收到分区同步确认信息Hp1-Hpx时(步骤S206),控制设备20从同步确认信息存储单元26检索对应的分区同步确认信息Hp1-Hpx(步骤S207)。
接下来,控制设备20将从转发节点10所接收的分区同步确认信息Hp1-Hpx与设备侧上所计算的分区同步确认信息Hp1-Hpx相比较(步骤S208)。如果所有分区同步确认信息Hp1-Hpx都匹配,则控制设备20确定转发节点10和控制设备20同步。在这种情况下,同步确认处理终止(步骤S208中的是)。
另一方面,如果作为从转发节点10所接收的分区同步确认信息Hp1-Hpx与设备侧上所计算的分区同步确认信息Hp1-Hpx之间的比较结果检测到非匹配的分区同步确认信息,则控制设备20请求转发节点10传送属于非匹配分区的处理规则(步骤S209)。转发节点10从处理规则存储单元14检索与给分区编号相对应的处理规则并且将它们传送至控制设备20。
当从转发节点10接收到非匹配分区的处理规则时(步骤S210),控制设备20从处理规则存储单元28检索非匹配分区的处理规则(步骤S211)。
接下来,控制设备20将从转发节点10所接收的处理规则与设备侧上保持的处理规则相比较(步骤S212)。如果所有条目都匹配,则控制设备20确定对应的转发节点10和控制设备20同步。在这种情况下,同步确认处理终止(步骤S212中的是)。
另一方面,如果作为从转发节点10所接收的处理规则与设备侧上保持的处理规则之间的比较结果而检测到非匹配的处理规则,则控制设备20向预定网络管理器终端通知检测到同步失败(步骤S213)。
接下来,以下对转发节点10和控制设备20之间能够执行以上所描述的同步确认信息计算处理和同步确认处理的操作序列进行描述。图12和13是示出第一示例性实施例中转发节点10和控制设备20之间的操作序列示例的示图。
参考图12,当执行设定处理以添加转发节点10或改变设定时,控制设备20请求转发节点10传送关于处理规则存储单元14中保持的处理规则存储表的配置信息(图12中的S301)。转发节点10利用关于处理规则存储单元14中保持的处理规则存储表的配置信息进行响应(图12中的S302)。例如,关于处理规则存储表的配置信息是处理规则存储表的大小信息。
当接收到关于处理规则存储表的配置信息时,控制设备20基于关于处理规则存储表的配置信息确定包括分区配置和处理规则存储表的划分数目在内的分区信息,并且将关于处理规则存储表的分区信息传送至转发节点10(图12中的S303:请求传送表分区信息)。当处理规则存储表的分区设定完成时,转发节点10向控制设备20传送响应以指示处理规则存储表的分区设定完成(图12中的S304:利用表分区信息进行响应)。
当处理规则存储表的分区设定完成时,控制设备20和转发节点10每一个均根据图9和图10所示的流来计算同步确认信息(图12中的S305和S306)。
接下来,当控制设备20创建处理规则并且对转发节点10中保持的处理规则执行设定操作以对来自转发节点10的处理规则设定请求进行响应或者建立初始状态路径时(图12中的S307),控制设备20和转发节点10每一个均根据图9和图10所示的流来重新计算同步确认信息(图12中的S308和S309)。
在此之后,当针对已经设定的处理规则生成超时时,转发节点10删除该处理规则并且向控制设备20通知该删除(图12中的S310)。在这种情况下,控制设备20和转发节点10每一个均根据图9和图10所示的流来重新计算同步确认信息(图12中的S311和S312)。
在此之后,当控制设备20请求转发节点10根据图11所示的流来传送表同步确认信息时(图12中的S313),转发节点10从同步确认信息存储单元16检索表同步确认信息Htable并且将其传送至控制设备20(图12中的S314)。
接下来,参考图13,当接收到表同步确认信息Htable时,控制设备20将从转发节点10所接收的表同步确认信息Htable与设备侧上的对应的表同步确认信息Htable进行比较(图13中的S315)。由于在图13的示例中两者匹配(OK),所以控制设备20就终止同步确认处理。
在图13的示例中的表同步确认信息的第二比较中(图13中的S316-S318),从转发节点10所接收的表同步确认信息Htable以及设备侧上对应的表同步确认信息Htable并不匹配(NG)。因此,在控制设备20和转发节点10之间比较分区同步确认信息Hp1-Hpx(图13中的S319-S321)。
由于作为图13的示例中的分区同步确认信息Hp1-Hpx的比较结果而识别了非匹配分区,所以在控制设备20和转发节点10之间比较非匹配分区的处理规则(图13中的S322-S324)。
在该示例性实施例中,能够如以上所描述的以低成本来确认转发节点10和控制转发节点10的控制设备20之间的处理规则的同步状态。即使检测到非同步状况,也仅需要对处理规则的一部分进行比较。虽然控制设备20在以上所描述的示例性实施例中为了同步确认而与一个转发节点10进行交互,但是相同的过程也可以被用来确认与多个转发节点10的同步。在这种情况下,同样如果转发节点10和控制设备20同步,则通过比较表同步确认信息来简单完成处理,并且因此该示例性实施例容易地与所要控制的同步转发节点的数目增加相兼容。此外,通过调整分区数目,能够对将当检测到非同步状况时将生成的负载进行调节(所要比较的分区同步确认信息的数量以及处理规则的数目)
<第二示例性实施例>
接下来,将对第二示例性实施例进行描述。
在第二示例性实施例中,同步确认信息包括用于控制设备20和转发节点10之间的事务生成管理的信息(此后称作“生成管理信息”)。
图14是示出由转发节点10的同步确认信息计算单元17所计算并且保持在同步确认信息存储单元16中的同步确认信息的示例的示图。同步确认信息包括Ct字段和St字段作为生成管理信息。Ct字段指示结合至从控制设备20传送至转发节点10的处理规则操作控制消息的事务ID。类似地,St字段指示结合至从转发节点10传送至控制设备20的处理规则操作控制消息的事务ID。Hp1-Hpx字段存储分区同步确认信息,其是利用处理规则作为自变量而针对以上所描述的处理规则存储表的每个分区所计算的散列值。Htable字段存储表同步确认信息,其是利用Hp1-Hpx字段的值作为自变量而计算的散列值。
因此,在控制设备20和转发节点10已经两次传送处理规则操作控制消息之后,图14中所示的同步确认信息的示例唯一地识别转发节点中保持的处理规则群组,以及属于每个分区的处理规则群组。
图15是示出控制设备20的同步确认信息存储单元26中保持的同步确认信息存储表的示例的示图。字段的值与图14所示的相同,但是与图14中的不同之处在于,Ct字段和St字段被控制设备20用作生成管理信息以保持多次生成的同步确认信息。可以在实际表中省略图15描述同步确认信息变化的变化内容字段。图15中的表是针对其DPID为1的节点的表。同步确认信息存储单元26保持多个表,与每个DPID相对应的节点一个表(为与每个DPID相对应的每个节点提供具有图8所示格式的表)。
例如,如图15中的变化内容字段中所示出的,当匹配规则A的处理规则被添加至具有DPID#1的转发节点的分区#1时,1与Ct字段的值相加。在这种情况下,从分区#1所计算的分区同步确认信息Hp1以及从分区同步确认信息Hp1-Hpx所计算的表同步确认信息Htable有所变化。类似地,当从具有DPID#1的转发节点接收到指示匹配规则A的处理规则已经由于生成了超时而被删除的通知时,1与St字段的值相加。在这种情况下,从分区#1所计算的分区同步确认信息Hp1以及从分区同步确认信息Hp1-Hpx所计算的表同步确认信息Htable返回初始状态下的值。
接下来,参考描述第一示例性实施例的操作时所使用的图11,以下对第二示例性实施例中的控制设备20所执行的同步确认操作进行描述。参考图11,当生成预定同步确认事件时,例如当已经过去了预定时间时,控制设备20请求转发节点10传送表同步确认信息(步骤S201)。转发节点10从同步确认信息存储单元16检索生成管理信息Ct和St以及表同步确认信息Htable并且将它们传送至控制设备20。
当从转发节点10接收到生成管理信息Ct和St以及表同步确认信息Htable时(步骤S202),控制设备20从同步确认信息存储单元26检索包含对应的生成管理信息Ct和St的表同步确认信息Htable(步骤S203)。
接下来,控制设备20将从转发节点10所接收的表同步确认信息Htable与设备侧上所计算的表同步确认信息Htable相比较(步骤S304)。如果两者匹配,则控制设备20确定转发节点10和控制设备20同步。在这种情况下,同步确认处理终止(步骤S204中的是)。
另一方面,如果从转发节点10所接收的表同步确认信息Htable和在设备侧上所计算的表同步确认信息Htable并不匹配,则控制设备20请求转发节点10传送分区同步确认信息(步骤S205)。转发节点10从同步确认信息存储单元16检索生成管理信息Ct和St和分区同步确认信息Hp1-Hpx并将它们传送至控制设备20。
当从转发节点10接收到生成管理信息Ct和St和分区同步确认信息Hp1-Hpx时(步骤S206),控制设备20从同步确认信息存储单元26检索具有对应的生成管理信息Ct和St的分区同步确认信息Hp1-Hpx(步骤S207)。
接下来,控制设备20将从转发节点10所接收的分区同步确认信息Hp1-Hpx与在自身设备侧上所计算的分区同步确认信息Hp1-Hpx相比较(步骤S208)。如果所有分区同步确认信息Hp1-Hpx均匹配,则控制设备20确定转发节点10和控制设备20同步。在这种情况下,同步确认处理终止(步骤S208中的是)。
另一方面,如果作为从转发节点10所接收的分区同步确认信息Hp1-Hpx与在设备侧所计算的分区同步确认信息Hp1-Hpx之间的比较结果而检测到非匹配的分区同步确认信息,则控制设备20请求转发节点10传送属于非匹配分区的处理规则(步骤S209)。转发节点10从处理规则存储单元14检索与分区编号相对应的处理规则并且将它们传送至控制设备20。
当从转发节点10接收到非匹配分区的处理规则时(步骤S210),控制设备20从处理规则存储单元28检索非匹配分区的处理规则(步骤S211)。
接下来,控制设备20将从转发节点10所接收的处理规则与自身设备侧上保持的处理规则相比较(步骤S212)。如果所有条目均匹配,则控制设备20确定对应的转发节点10和控制设备20同步。在这种情况下,同步确认处理终止(步骤S212中的是)。
另一方面,如果作为从转发节点10所接收的处理规则和自身设备侧上保持的处理规则之间的比较结果而检测到非匹配的处理规则,则控制设备20向预定网络管理员终端通知检测到同步失败(步骤S213)。
接下来,参考描述第一示例性实施例时所使用的图12和图13,以下对第二示例性实施例中的转发节点10和控制设备20之间一系列操作序列进行描述。
当执行设定处理以添加转发节点10或者改变设定时,控制设备20请求转发节点10传送关于处理规则存储单元14中保持的处理规则存储表的配置信息(图12中的S301)。转发节点10利用关于处理规则存储单元14中保持的处理规则存储表的配置信息进行响应(图12中的S302)。
当接收到关于处理规则存储表的配置信息时,控制设备20基于关于处理规则存储表的配置信息确定包括分区配置和处理规则存储表的划分数目在内的分区信息,并且将关于处理规则存储表的分区信息传送至转发节点10(图12中的S303)。当处理规则存储表的分区设定完成时,转发节点10向控制设备20传送响应以指示处理规则存储表的分区设定完成(图12中的S304)。
当处理规则存储表的分区设定完成时,控制设备20和转发节点10每一个均根据图9和图10所示的流来计算同步确认信息(图12中的S305和S306)。在该阶段,计算诸如图15中的同步确认信息表顶部的第一行中所示的具有生成管理信息Ct=0和St=0的同步确认信息。
接下来,当控制设备20创建处理规则并且对转发节点10中保持的处理规则执行设定操作以对来自转发节点10的处理规则设定请求进行响应或者建立初始状态路径时(图12中的S307),控制设备20和转发节点10每一个均根据图9和图10所示的流来重新计算同步确认信息(图12中的S308和S309)。在该阶段中,计算诸如图8中的同步确认信息表顶部的第二行中所示的具有生成管理信息Ct=0和St=0的同步确认信息。
在此之后,当针对已经设定的处理规则生成超时时,转发节点10删除该处理规则并且向控制设备20通知该删除(图12中的S310)。在这种情况下,控制设备20和转发节点10每一个均根据图9和图10所示的流来重新计算同步确认信息(图12中的S311和S312)。在该阶段中,计算诸如图8中的同步确认信息表顶部的第三行中所示的具有生成管理信息Ct=1和St=1的同步确认信息。
在此之后,当控制设备20请求转发节点10传送表同步确认信息时(图12中的S313),转发节点10从同步确认信息存储单元16检索生成管理信息Ct(=1)和St(=1)以及表同步确认信息Htable并且将它们传送至控制设备20(图12中的S314)。
接下来,参考图13,当接收到生成管理信息Ct(=1)和St(=1)以及表同步确认信息Htable时,控制设备20将从转发节点10所接收的表同步确认信息Htable与设备侧上具有对应生成管理信息的表同步确认信息进行比较(图13中的S315)。由于在图13的示例中两者匹配(OK),所以控制设备20就终止同步确认处理。
在图13的示例中的表同步确认信息的第二比较中(图13中的S316-S318),从转发节点10所接收的表同步确认信息Htable以及设备侧上具有对应生成管理信息的表同步确认信息Htable并不匹配(NG)。因此,在控制设备20和转发节点10之间比较分区同步确认信息Hp1-Hpx(图13中的S319-S321)。
由于非匹配分区被标识为图13的示例中的分区同步确认信息Hp1-Hpx的比较结果,所以在控制设备20和转发节点10之间比较非匹配分区的处理规则(图13中的S322-S324)。
在该示例性实施例中,控制设备20使用生成管理信息Ct和St比较同步确认信息。因此,甚至当如图16所示发出同步确认请求之后重新创建并设定处理规则时,也能够正确确认同步状态。
如果如图17所示,来自转发节点10的处理规则删除通知没有到达控制设备20,则会出现与生成管理信息Ct和St相对应的同步确认信息并未包括在控制设备20的同步确认信息存储单元26中的情形(当来自控制设备20的处理规则操作没有到达转发节点10时将会出现同样的情形)。即使在这样的情况下,也可以通过将同步确认信息与来自转发节点10的生成管理信息Ct和St并未被超出的范围中最新的同步确认信息相比较来执行比较处理。
<第三示例性实施例>
接下来,将对第三示例性实施例进行描述。
在以上所描述的示例性实施例中,使用散列值作为同步确认信息的示例。在第三示例性实施例中,使用另一种同步确认信息的示例。
在第三示例性实施例中,使用处理规则存储单元14和28中保持的处理规则的数目以及每个分区中保持的处理规则的数目作为同步确认信息。
作为同步确认信息,转发节点(例如,其DPID为1的转发节点)计算Ntable(该转发节点的处理规则存储单元14中所存储的表中的处理规则的数目)以及Np1,Np2,...,Npx(处理规则存储单元14中所存储表的每个分区的处理规则的数目),并且将它们以表形式进行保持。每个其它转发节点也保持类似的表。
作为所要管理的转发节点上的同步确认信息,控制设备20还计算Ntable(例如,其DPID为1的转发节点的处理规则存储单元28中所存储的表中的处理规则的数目)以及Np1,Np2,...,Npx(例如,其DPID为1的转发节点的处理规则群组的每个分区的处理规则的数目),并且将它们以表形式进行存储。控制设备20保持包括所要管理的多个转发节点中的每一个的Ntable、Np1,Nps,...,Npx的表。
在第三示例性实施例中,可以基于转发节点10中保持的处理规则的数目和控制设备20中保持的处理规则的数目之间的比较结果来确认转发节点10和控制设备20之间的同步。此外,如果作为比较结果的处理规则的数目相匹配,则可以通过减少使用处理规则的散列值计算同步确认信息的次数(参见第一和第二示例性实施例)或者通过延迟同步确认信息的比较(参见第一和第二示例性实施例)进一步减少控制设备20和转发节点10的负载。
<第四示例性实施例>
接下来,将对第四示例性实施例进行描述。
在以上所描述的示例性实施例中,使用散列值或处理规则的数目作为同步确认信息的示例。在第四示例性实施例中,使用另一种同步确认信息的示例。
在第四示例性实施例中,使用关于处理规则存储单元14和28中保持的表的版本信息以及关于表分区的版本信息作为同步确认信息。
作为同步确认信息,转发节点(例如,其DPID为1的转发节点)Rtable(关于其DPDI为1的转发节点的处理规则存储表的版本信息)以及Rp1,Rp2,...,Rpx(关于处理规则存储表的每个分区的版本信息),并且将它们以表形式进行存储。每个其它转发节点也保持类似的表。
作为所要管理的转发节点上的同步确认信息,控制设备20还计算Rtable(例如,关于其DPID为1的转发节点的处理规则存储单元28中所存储的处理规则群组的版本信息)以及Rp1,Rp2,...,Rpx(例如,关于其DPID为1的转发节点的处理规则的每个分区的版本信息),并且将它们以表形式进行存储。控制设备20保持包括多个所要管理的转发节点中的每一个的Rtable、Rp1,Rp2,...,Rpx的表。生成Rtable以包括反映关于分区的版本信息(Rp1,Rp2,...,Rpx)的值
当每个分区的处理规则有所变化时(添加、删除等),转发节点10和控制设备20中的每一个更新关于分区的版本信息(Rp1,Rp2,...,Rpx之一)。在关于分区的版本信息(Rp1,Rp2,...,Rpx之一)被更新时,关于表自身的版本信息(Rtable)也被更新。Rtable被更新以反映哪些分区的版本信息有所更新。例如,当关于分区1的版本信息(Rp1)被更新时,Rtable变为反映关于被更新的分区1的版本信息的值。
在第四示例性实施例中,能够基于关于转发节点中保持的处理规则的版本信息与关于控制设备20中保持的处理规则的版本信息之间的比较来确认转发节点10和控制设备20之间的同步。此外,如果作为比较结果版本信息相匹配,则可以通过减少使用处理规则的散列值计算同步确认信息的次数(参见第一和第二示例性实施例)或者通过延迟同步确认信息的比较(参见第一和第二示例性实施例)进一步减少控制设备20和转发节点10的负载。当然,该示例性实施例中的同步信息可以结合第三示例性实施例中所描述的利用处理规则数目进行的同步确认来使用。
虽然已经对示例性实施例进行了描述,但是所要理解的是,本发明并不局限于以上所描述的示例性实施例,并且可以在范围内增加另外的修改、替换和调整而并不背离本发明的基本技术概念。例如,虽然在以上示例性实施例中使用控制设备20、比较单元25a和确认单元25b来执行比较处理,但是也可能采用其中提供有对同步确认信息进行管理并且独立于控制设备20执行比较操作的设备的配置。
虽然作为以上示例性实施例中的示例描述了使用以MD5为典型的散列函数来计算同步确认信息的方法,但是也可以采用使用校验和算法简单执行同步确认的方法。示例性实施例中作为用于计算同步确认信息的方法而描述的方法仅是示例性的并且也可以使用另一种方法进行计算。
在以上所描述的示例性实施例中,计算分区同步确认信息并且使用计算结果来计算表同步确认信息以减少改变或移动处理规则时所涉及的重新计算的成本。取代该方法,也可以使用单独算法来计算分区同步确认信息和表同步确认信息。
虽然在以上所描述的示例性实施例中,具有生成管理信息Ct和St的同步确认信息被保持在控制设备20中,但是也可以采用其中具有生成管理信息Ct和St的同步确认信息被保持在转发节点10中并且由处理规则管理单元来执行同步确认处理的另一种配置。
以上所引用的专利文献和非专利文献的全文公开内容因此通过引用而结合于本公开之中。示例性实施例和示例可以在本发明的全文公开(包括权利要求)之中并且基于基本技术概念而有所变化和调整。在本发明的权利要求范围之内,各个所公开的要素可以以各种方式进行合并和选择。
附图标记列表
10 转发节点
11 转发处理单元
12 控制设备通信单元
13 处理规则管理单元
14 处理规则存储单元
15 分组缓冲器
16 同步确认信息存储单元
17 同步确认信息计算单元
20 控制设备
21 节点通信单元
22 控制消息处理单元
23 拓扑管理单元
24 路径/动作计算单元
25 处理规则管理单元
25a 比较单元
25b 确认单元
26 同步确认信息存储单元
27 同步确认信息计算单元
28 处理规则存储单元
111 处理规则搜索单元
112 动作执行单元
221 消息分析/处理单元
222 消息生成单元
Claims (12)
1.一种通信系统,包括:
控制设备,所述控制设备确定分组处理规则;
至少一个转发节点,所述转发节点使用处理规则来对接收到的分组进行处理,所述处理规则是从所述控制设备传送的多个处理规则中的一个并且与所述接收到的分组相对应;
比较单元,所述比较单元将第一值和第二值作比较,所述第一值是从所述转发节点中保持的第一处理规则群组计算的,所述第二值是从由所述控制设备对于传输至所述转发节点而确定的第二处理规则群组计算的;以及
确认单元,所述确认单元基于所述比较结果来确认所述转发节点和所述控制设备是否同步。
2.根据权利要求1所述的通信系统,其中,
基于所述第一值和所述第二值之间的比较的结果,所述确认单元检测所述转发节点和所述控制设备是否不同步。
3.根据权利要求1或2所述的通信系统,其中,
如果检测到在所述第一值所述和第二值之间不匹配,则所述确认单元将第三值与第四值作比较以检测不同步位置,所述第三值是从选自所述第一处理规则群组的第一部分计算的,所述第四值是从与所述第一部分相对应的所述第二处理规则群组中的第二部分计算的。
4.根据权利要求1-3中的任何一项所述的通信系统,其中,
能够分别使用所述第三值和所述第四值来计算所述第一值和所述第二值。
5.根据权利要求3或4所述的通信系统,其中,
所述第一部分和第二部分中的每一个都是从存储所述处理规则的表中选择的。
6.根据权利要求1-5中的任何一项所述的通信系统,其中,
当设定处理规则时,所述控制设备向所述转发节点通知表中要存储所述处理规则的位置;并且
在所述处理规则被设定之后,所述转发节点分别重新计算所述第一值或者所述第三值和所述第一值。
7.根据权利要求3-6中的任何一项所述的通信系统,其中,
如果所述第一值和所述第二值不匹配或者如果所述第三值和所述第四值不匹配,则所述确认单元比较包括在检测到不匹配的处理规则群组中的处理规则。
8.根据权利要求2-7中任一项所述的通信系统,其中,
所述控制设备和所述转发节点中的至少一个通过根据预定规则向第一值至第四值分配生成管理信息来对多个生成进行管理,并且
所述比较单元将具有匹配的生成管理信息的所述第二/第四值与所述第一值/第三值作比较。
9.一种控制设备,包括:
确定分组处理规则的装置;
将所确定的处理规则传送至转发节点的装置,所述转发节点根据处理规则来对接收到的分组进行处理,所述处理规则是多个处理规则中的一个并且与所述接收到的分组相对应;以及
从第二处理规则群组计算第二值的装置,所述第二处理规则群组是对于传输至所述转发节点而确定的,以便于通过与从所述转发节点中保持的第一处理规则群组所计算的第一值作比较来确认与所述转发节点的同步。
10.一种转发节点,包括:
根据处理规则来对接收到的分组进行处理的装置,所述处理规则作为从控制设备传送的多个处理规则中的一个并且与所述接收到的分组相对应;以及
从转发节点自身中保持的第一处理规则群组计算第一值的装置,以便于通过与从所述控制设备对于传输至所述转发节点所确定的第二处理规则群组所计算的第二值作比较来确认所述控制设备和所述转发节点之间的同步。
11.一种对通信控制系统进行控制的通信控制方法,所述通信系统包括:控制设备,所述控制设备确定分组处理规则;以及至少一个转发节点,所述转发节点使用处理规则来对接收到的分组进行处理,所述处理规则是从所述控制设备所传送的多个处理规则中的一个并且与所述接收到的分组相对应,所述通信控制方法包括下述步骤:
将第一值和第二值进行比较,所述第一值是从所述转发节点中保持的第一处理规则群组计算的,所述第二值是从由所述控制设备对于传输至所述转发节点而确定的第二处理规则群组计算的;以及
基于所述比较结果来确认所述转发节点和所述控制设备是否同步。
12.一种程序,所述程序使得连接至通信系统的计算机执行下述处理,所述通信系统包括:控制设备,所述控制设备确定分组处理规则;以及至少一个转发节点,所述转发节点使用处理规则来对接收到的分组进行处理,所述处理规则是从所述控制设备传送的多个处理规则中的一个并且与所述接收到的分组相对应:
将第一值和第二值进行比较,所述第一值是从所述转发节点中保持的第一处理规则群组计算的,所述第二值是从由所述控制设备对于传输至所述转发节点而确定的第二处理规则群组计算的;以及
基于所述比较结果来确认所述转发节点和所述控制设备是否同步。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011016322 | 2011-01-28 | ||
JP2011-016322 | 2011-01-28 | ||
PCT/JP2011/005385 WO2012101690A1 (en) | 2011-01-28 | 2011-09-26 | Communication system, control device, forwarding node, communication control method, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103339904A true CN103339904A (zh) | 2013-10-02 |
CN103339904B CN103339904B (zh) | 2016-11-30 |
Family
ID=
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104717101A (zh) * | 2013-12-13 | 2015-06-17 | 中国电信股份有限公司 | 深度包检测方法和系统 |
WO2018166355A1 (zh) * | 2017-03-13 | 2018-09-20 | 华为技术有限公司 | 处理分组的方法和网络设备 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5765172A (en) * | 1996-01-23 | 1998-06-09 | Dsc Communications Corporation | System and method for verifying integrity of replicated databases |
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5765172A (en) * | 1996-01-23 | 1998-06-09 | Dsc Communications Corporation | System and method for verifying integrity of replicated databases |
Non-Patent Citations (3)
Title |
---|
NICK MCKEOWN ET AL.: "Openflow:Enabling Innovation in Campus Networks", 《ACM SIGCOMM COMPUTER COMMUNICATION REVIEW》, vol. 38, no. 2, 14 March 2008 (2008-03-14) * |
无: "互联网改革新军openflow论坛", 《中国教育网络》, no. 12, 5 December 2008 (2008-12-05) * |
邢俊丰等: "散列表方法在交换控制芯片地址表设计中的应用", 《计算机工程》, vol. 31, no. 19, 5 October 2005 (2005-10-05) * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104717101A (zh) * | 2013-12-13 | 2015-06-17 | 中国电信股份有限公司 | 深度包检测方法和系统 |
WO2018166355A1 (zh) * | 2017-03-13 | 2018-09-20 | 华为技术有限公司 | 处理分组的方法和网络设备 |
CN108574679A (zh) * | 2017-03-13 | 2018-09-25 | 华为技术有限公司 | 处理分组的方法和网络设备 |
CN108574679B (zh) * | 2017-03-13 | 2021-03-30 | 华为技术有限公司 | 处理分组的方法和网络设备 |
US11310153B2 (en) | 2017-03-13 | 2022-04-19 | Huawei Technologies Co., Ltd. | Packet processing method and network device |
US11799766B2 (en) | 2017-03-13 | 2023-10-24 | Huawei Technologies Co., Ltd. | Packet processing method and network device |
Also Published As
Publication number | Publication date |
---|---|
JP5854047B2 (ja) | 2016-02-09 |
JP2014504047A (ja) | 2014-02-13 |
EP2668752A1 (en) | 2013-12-04 |
WO2012101690A1 (en) | 2012-08-02 |
US20130301658A1 (en) | 2013-11-14 |
EP2668752A4 (en) | 2017-01-04 |
US9401772B2 (en) | 2016-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11134012B2 (en) | Communication system, communication device, controller, and method and program for controlling forwarding path of packet flow | |
US9692650B2 (en) | Control apparatus, communication system, communication method, and program | |
JP5804054B2 (ja) | 通信システム、制御装置、ノード、処理規則の設定方法およびプログラム | |
CN102576343B (zh) | 计算机系统和虚拟机迁移方法 | |
JP5854047B2 (ja) | 通信システム、制御装置、転送ノード、通信制御方法およびプログラム | |
CN103348642B (zh) | 通信系统、转发节点、控制设备、通信控制方法 | |
US10645006B2 (en) | Information system, control apparatus, communication method, and program | |
CN105144644A (zh) | 通信节点、通信系统、分组处理方法和程序 | |
CN103797762A (zh) | 通信终端、通信方法和通信系统 | |
RU2577194C1 (ru) | Система связи, устройство управления, устройство связи, способ ретрансляции информации и программа | |
CN104380668A (zh) | 交换机装置、vlan设置管理方法以及程序 | |
CN103339904B (zh) | 通信系统、控制设备、转发节点和通信控制方法 | |
JP2018113564A (ja) | 通信システム、スイッチ、制御装置、通信方法、および、プログラム |
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 |
Granted publication date: 20161130 Termination date: 20180926 |
|
CF01 | Termination of patent right due to non-payment of annual fee |