专利名称:通信系统、节点、统计信息收集装置、统计信息收集方法和程序的制作方法
技术领域:
本发明涉及通信系统、节点、统计信息收集装置、统计信息收集方法和程序,并且更具体地涉及包括节点的通信系统、节点、统计信息收集装置、统计信息收集方法和程序,其中每一个节点根据与接收的分组匹配的处理规则来处理接收的分组。
背景技术:
近来,提出了被称为OpenFlow的技术(参见专利文献I与非专利文献I和2)。OpenFlow将通信识别为端到端的流,并且以每个流为基础执行路径控制、故障恢复、负荷平衡和优化。起到转发节点(以下简称为“节点”)作用的OpenFlow交换机具有用于与用作控制装置的OpenFlow控制器进行通信的安全信道,并且根据流表格来操作,该流表格在必要时根据来自OpenFlow控制器的指令被添加信息并且其内容被重写。在该流表格中,对于每一个流定义了以下三项的集合分组报头与其匹配的匹配规则(报头字段)、流统计信息(Counter (计数器))和定义处理内容的动作(Action)(参见图7)。例如,当接收到分组时,OpenFlow交换机在流表格中搜索具有与接收的分组的报头信息匹配的匹配规则(参见图7中的报头字段)的条目。如果作为搜索的结果,找到了与接收的分组匹配的条目,则OpenFlow交换机更新流统计信息(Counter (计数器)),并且对于接收的分组执行在条目的动作字段中描述的处理内容(从指定端口的分组发送、泛洪、丢弃等)。另一方面,如果作为搜索的结果,未找到与接收的分组匹配的条目,则OpenFlow交换机经由安全信道向OpenFlow控制器转发接收的分组、请求OpenFlow控制器基于接收的分组的发送源/目的地来确定分组路径、接收用于分组路径的流条目,并且更新流表格。以这种方式,OpenFlow交换机使用在流表格中存储的条目作为处理规则来转发分组。另外,OpenFlow控制器具有收集每次如上所述处理分组时更新的流统计信息(Counter (计数器))的功能(可视化功能)。图8是示出在非专利文献2中描述的OpenFlow交换机中存储的流统计信息(Counter(计数器))(参见在非专利文献2中的“3. 2Counters”)列表的图。引用列表专利文献PTLl :国际公布 W02008/095010非专利文献NPLl Nick McKeown 和七位其他作者的 “OpenFlow:Enabling Innovation inCampus Networks (OpenFlow :在校园网中实现创新)”,[在线],[2010年七月6曰搜索],互联网 <URL:http://www. openflowswitch. org//documents/openflow-wp-latest. pdf>NPL2 Openflow Switch Specification(Openflow 交换机规范)”版本1. 0. 0.(有线协议 0x01) [2010 年七月 6 日搜索],互联网 <URL: http://www. openf lowswitch. org/documents/openflow-spec-vl. 0. 0. pdf>
发明内容
技术问题上文给出的专利文献和非专利文献的公开在此通过引用被并入本说明书内。通过本发明来给出下面的分析。首先,参考图9,下面描述其中通过在上文给出的专利文献I与非专利文献I和2 中描述的OpenFlow控制器来收集流统计信息的流程。当外部节点310向外部节点320发送第一数据分组时,该分组首先到达外部节点所连接到的节点210 (步骤S901)。当接收到分组时,节点210在流表格中搜索具有与分组的报头信息匹配的匹配规贝U(匹配密钥)的条目。然而,因为这个分组是第一分组,所以没有匹配条目。因此,节点210缓冲接收的分组,并且然后向控制装置(控制器)100发送新的流检测通知消息(Packet-1n消息)(步骤S902)。这个Packet-1n消息包括识别流(例如,(发送源和发送目的地两者的)MAC (媒体访问控制)地址、IP (互联网协议)地址和端口号)所需的信息以及分组接收端口信息。虽然在上面的说明中假定节点210缓冲接收的分组,并且向控制装置(控制器)100发送识别流所需的信息,但是节点210也可以向控制装置(控制器)100发送接收的分组本身。当接收到Packet-1n消息时,控制装置(控制器)100基于接收的信息来建立新条目的匹配规则(匹配密钥参见在图7中的字段“11^0代”至“1^^/仙? src port”)、确定要向该条目施加的定时器值、确认作为目的地的外部节点320的位置,并且计算从外部节点310至外部节点320的分组转发路径。在下面的说明中,假定作为路径计算的结果,计算下述路径,经由该路径,分组被从节点210转发到节点220,然后被转发到节点230。接下来,控制装置(控制器)100建立用于节点210-230的每一个的条目,其中,所建立的条目包括用于沿着转发路径转发与这个新条目的匹配规则(匹配密钥)匹配的分组的动作以及定时器值,并且使用FlowMod消息来在节点210-230的每一个中设置所建立的条目(步骤903)。在节点210-230中设置条目后,节点210根据已经设置的条目向节点220转发缓冲的分组(步骤S904-1)。因为已经在这个分组的转发路径上的节点220和230中设置了条目,所以这个分组被转发到节点220并且然后被转发到节点230,并且到达外部节点320(步骤 S904-2、步骤 S904-3)。其后,经由节点210、节点220和节点230,以此为顺序,转发从外部节点310向外部节点320发送的分组(步骤S905-1至S905-4),并且,对于每一个转发,在每一个节点中更新流统计信息(对于每一个条目而言,接收的分组的数量、接收的数据字节的数量等)。当控制装置(控制器)100以固定间隔例如在任意时间点向任意节点(例如,节点230)发送指定特定条目的Stats-Req (统计请求)消息以确认通信量时,节点230使用Stats-Rsp (统计响应)消息向控制装置(控制器)100发送与对应的条目相关的流统计信息。现在考虑外部节点310向外部节点320发送另一个通信的数据分组的情况。因为经由与如上所述的第一通信不同的通信来发送这个数据分组,所以源/目的地MAC地址和源/目的地IP地址具有与在第一通信中使用的配置相同的配置,但是,源/目的地端口编号与在第一通信中使用的源/目的地端口编号不同。也在该情况下,发送Packet-1n消息,在每一个节点中设置流条目,并且,根据与在如上所述的步骤S901-S905-4中相同的过程来转发分组(步骤S911至S915-4)。此时,当控制装置(控制器)100向任意节点(例如,节点230)发送指定任意条目的Stats-Req消息以确认通信量时,节点230使用Stats-Rsp消息来向控制装置(控制器)100发送与条目相关的流统计信息。根据在非专利文献2中描述的方法,具有不同的端口编号或VLAN ID的条目可以被单独地建立和设置,以允许如上所述收集关于两个通信的流统计信息以用于网络负荷管理或计费处理,即使是在同一对外部节点之间的通信中。然而,问题是该方法导致在控制装置(控制器)100的控制负荷方面的增加。 另一方面,可以对于如在非专利文献I和2中所述的匹配规则(匹配密钥)的一部分(例如,在上面的示例中的端口编号)指定通配符,以使用如图10中所示的相同条目来转发两个通信的分组,并且由此降低控制装置(控制器)100的控制负荷。然而,在该情况下的问题是以条目为基础而不是以单独的通信为基础来收集流统计信息。考虑到上述情况,本发明的目的是提供一种在通信系统中使用的配置,其中,诸如在非专利文献I和2中描述的OpenFlow控制器的控制装置设置用于执行通信的每一个节点中的处理规则(流条目),其中,可以在不增加控制装置的控制负荷的情况下获得统计信息,该统计信息不受处理规则(流条目)限制并且以任意信息粒度级别来记录。在下面的说明中,在流条目中的计数器中记录和管理的统计信息被称为“流统计信息”,而根据本发明收集并且以与流统计信息不同的划分基础(信息粒度)记录的统计信息被称为“统计信息”。对问题的解决方案根据本发明的第一方面,提供了一种通信系统,包括节点,该节点包括根据处理规则来处理接收到的分组的分组处理单元,处理规则定义了匹配规则和与匹配规则匹配的分组的处理;以及统计信息记录单元,其根据与匹配规则不同的划分来记录关于分组的统计信息;以及,统计信息收集装置,其向节点发出根据其来记录统计信息的指令,并且收集统计信息。根据本发明的第二方面,提供了一种节点,该节点包括分组处理单元,该分组处理单元根据处理规则来处理接收的分组,处理规则定义了匹配规则和与匹配规则匹配的分组的处理;以及统计信息记录单元,其根据与所述匹配规则不同的划分来记录关于分组的统计信息。根据本发明的第三方面,提供了一种统计信息收集装置,其向如上所述的节点发出关于作为统计信息记录划分的与匹配规则不同的划分的指令,并且收集统计信息。根据本发明的第四方面,提供了一种统计信息收集方法,该方法包括下述步骤由统计信息收集装置向节点发出关于作为统计信息记录划分的与匹配规则不同的划分的指令,统计信息收集装置连接到节点,节点包括分组处理单元,分组处理单元根据处理规则来处理接收的分组,处理规则定义了匹配规则和与匹配规则匹配的分组的处理;由节点根据指令的划分来记录关于分组的统计信息;以及由统计信息收集装置收集统计信息。这个方法与特定机器相关联,该特定机器是用于根据来自统计信息收集装置的指令来记录关于分组的统计信息的节点。根据本发明的第五方面,提供了一种程序,该程序使得计算机执行处理,计算机配置节点,该节点包括分组处理单元,分组处理单元根据处理规则来处理接收到的分组,处理规则定义匹配规则和与匹配规则匹配的分组的处理,其中,该程序使得计算机根据来自预定统计信息收集装置的指令来执行根据与匹配规则不同的划分而记录关于分组的统计信息的处理。这个程序可以被记录在计算机可读存储介质上。即,本发明可以被体现为计算机程序产品。本发明的有益效果对于在通过由控制装置设置节点中的处理规则(流条目)来执行通信的通信系统中的使用,可以以期望的信息粒度级别收集统计信息,而不增加控制装置的控制负荷。
图1是示出本发明的概观的图。图2是示出本发明的第一实施例的配置的图。图3是示出在本发明的第一实施例中的控制装置(控制器)的配置的框图。图4是示出在本发明的第一实施例中的节点的配置的框图。图5是示出本发明的第一实施例的操作的序列图。图6是示出本发明的第二实施例的操作的序列图。图7是示出在非专利文献2中描述的流条目的配置的图。图8是示出在非专利文献2中描述的流统计信息项目的列表的图。图9是示出流统计信息收集操作的一个示例的序列图。图10是示出流统计信息收集操作的另一个示例的序列图。
具体实施例方式首先,下面描述本发明的概观。如图1中所示,本发明的通信系统包括节点210-230,其中每一个包括分组处理单元以及统计信息记录单元,该分组处理单元根据处理规则来处理接收的分组,该处理规则定义了匹配规则和与匹配规则匹配的分组的处理,该统计信息记录单元根据与匹配规则不同的划分来记录关于分组的统计信息;以及,统计信息收集装置100A,其向节点发出关于划分的指令并且收集统计信息,其中根据该指令来记录统计信息。虽然为了方便有助于理解说明书,给元件添加了附图标记,但是本发明不限于在附图中所示的模式。除了在非专利文献2中描述的流统计信息的更新之外,节点210-230根据与匹配规则不同的划分来记录关于分组的统计信息。统计信息收集装置100A从节点210-230收集关于分组的统计信息。例如,在根据其中未指定目的地端口编号的匹配规则来转发分组的系统中,如在图1的中心的箭头中所示(该转发方式类似于图10),本发明使得节点210-230记录根据目的地端口编号细分的更详细的统计信息,以允许以等同于在上文描述的图9中的序列图中所示的流统计信息的信息粒度级别来收集统计信息。虽然在图1中所示的示例中根据目的地端口编号收集统计信息,但是不仅在图7所示的报头字段项而且在更高级层中的报头信息可以被用来记录统计信息。以这种方式收集的统计信息可以用于按照通信类型的业务监控/管理或计费处理。注意,通过向在非专利文献I和2中描述的OpenFlow控制器添加统计信息记录划分指令功能和统计信息收集功能,或者通过除了在非专利文献I和2中描述的OpenFlow控制器之外的信息处理装置,可以配置统计信息收集装置100A。 (第一示例性实施例)接下来,将参考附图更详细地描述本发明的第一示例性实施例。图2是示出本发明的第一示例性实施例的配置的图。图2示出多个节点210-230;控制装置(控制器)100,其设置多个节点中的处理规则(流条目)以控制节点;以及,外部节点310和320,它们经由由多个节点210-230构成的网络来彼此进行通信。图3是示出在图2中所示的控制装置(控制器)100的详细配置的图。参见图3,控制装置(控制器)100包括流条目数据库(流条目DB) 101,在流条目数据库101中存储了在图7中例示的处理规则(流条目),并且其中每一个处理规则由匹配规则(匹配密钥)、动作(包括定时器值)和流统计信息构成;统计信息管理单元102 ;拓扑管理单元103 ;路径/动作计算单元104 ;流条目管理单元105 ;控制消息处理单元106 ;以及,节点通信单元107,其与节点210-230进行通信。每一个单元操作如下。统计信息管理单元102向任意节点发出关于分组统计信息记录划分的指令,并且从该节点收集和管理统计信息。作为指定分组统计信息的记录划分的方法,可以谈及一种方法,该方法另外指定通配符特定的字段,该字段是处理规则(流条目)的匹配规则(匹配密钥)的字段之一。该方法允许对于下述分组收集不同的统计信息,对这些分组应用了相同的处理规则但是这些分组在这个字段中包括与其他分组不同的值。另外,统计信息管理单元102可以使用如上所述的Stats-Req/Stats-Rsp消息或等同的消息,来经由控制消息处理单元106和节点通信单元107收集统计信息。拓扑管理单元103基于经由节点通信单元107收集的在节点210-230之间的连接关系来创建和管理网络拓扑信息。基于由统计信息管理单元102收集和管理的统计信息和由拓扑管理单元103创建的网络拓扑信息,路径/动作计算单元104确定分组转发路径、在转发路径上要由节点210-230执行的动作以及作为处理规则的期满时段的定时器值。流条目管理单元105基于从节点接收的信息来建立匹配规则(匹配密钥),向流条目DBlOl注册由路径/动作计算单元104计算的结果作为处理规则(流条目),并且响应于来自节点210-230的增加或更新处理规则(流条目)的请求而设置处理规则(流条目)。控制消息处理单元106分析从节点210-230接收的控制消息,并且向在控制装置(控制器)100中的对应的处理部件传送控制消息信息。例如,当从节点210-230接收到新的流检测通知消息(Packet-1n)时,控制消息处理单元106请求流条目管理单元105检查是否在流条目DBlOl中注册了要向新的流应用的处理规则(流条目),并且如果没有,则请求路径/动作计算单元104建立新的处理规则(流条目)。可以通过向在非专利文献I和2中描述的OpenFlow控制器至少添加统计信息管理单元102来实现诸如在上文描述的控制装置(控制器)100。
图4是示出节点210的详细配置(节点220-230的配置与节点210的配置相同,并且因此省略其说明)的图。参见图4,节点210包括控制消息发送/接收单元211,其与控制装置(控制器)100进行通信;流表格212 ;以及,分组处理单元213。分组缓冲器虽然在如下面的说明中描述的这个示例性实施例中被提供在分组处理单元213中,但是可以被省略。分组处理单元213在流表格212中搜索具有与接收的分组匹配的匹配规则(匹配密钥)的处理规则(流条目),并且执行在处理规则(流条目)的动作字段中描述的处理内容(例如,向特定端口转发、泛洪、丢弃等)。分组处理单元213包括统计信息记录单元214,统计信息记录单元214在每次执行处理内容时更新在处理规则中包含的流统计信息(参见在图7中的计数器),并且根据由控制装置(控制器)100的统计信息管理单元102指令的划分来记录分组统计信息。 另外,每次执行处理内容时,分组处理单元213将在处理规则(流条目)的动作字段中的定时器值复位为初始值(参见在非专利文献2中的超时值的描述)。定时器值减计数,并且当定时器值达到O时,分组处理单元213删除对应的处理规则。可以通过向在非专利文献I和2中描述的OpenFlow交换机添加上述统计信息记录单元214来实现诸如上文描述的节点210。另外,可以通过由配置节点210的计算机执行的程序来实现诸如上文描述的在节点210的分组处理单元213中包括的统计信息记录单元214。接下来,下面参考附图详细描述这个示例性实施例的操作。图5是示出本发明的第一示例性实施例的操作的序列图。表示数据分组的在图5中的箭头(实线)和箭头(虚线)指示不同的通信;例如,在外部节点中运行的应用程序在通信之间不同。参见图5,外部节点310首先向外部节点320发送数据分组。该分组到达外部节点310所连接到的节点210 (步骤SOOD0当接收到数据分组时,节点210在流表格212中搜索与接收的分组的匹配的处理规则(流条目)。然而,因为该分组是从外部节点310向外部节点320发送的第一个数据分组,所以没有对应的处理规则(流条目)。因此,节点210缓冲接收的分组,并且向控制装置(控制器)100发送新的流检测通知消息(Packet-1n)(步骤S002)。假定Packet-1n消息包括建立新处理规则(流条目)的匹配规则(匹配密钥)所需的信息(例如,(发送源和发送目的地两者的)MAC地址、IP地址和端口编号)以及分组接收端口信息。虽然在本示例性实施例中假定节点210缓冲接收的分组,并且仅向控制装置(控制器)100发送建立匹配规则(匹配密钥)所需的信息,但是节点210也可以向控制装置(控制器)100发送接收的分组本身。当接收到Packet-1n消息时,控制装置(控制器)100确定处理规则(流条目)的匹配规则(匹配密钥)和定时器值,并且计算要从外部节点310向外部节点320发送的数据分组的转发路径。在下面的说明中,假定作为路径计算的结果,计算下述路径和用于沿着该路径转发分组的动作,经由该路径,分组被从节点210转发到节点220,然后被转发到节点230,如图2中所示。在下面的说明中,假定如果目的地/源MAC地址、目的地/源IP地址和接收端口信息与数据分组的匹配,则控制装置(控制器)100已经(使用通配符)建立了与目的地/源端口编号的任何值匹配的匹配规则(匹配密钥)。控制装置(控制器)100使用匹配规则(匹配密钥)、动作和定时器值来建立在所计算的路径上节点210-230的处理规则(流条目),并且在节点中设置所建立的处理规则(流条目)(步骤S003)。此时,为了更详细地监控通信状态,控制装置(控制器)100在路径上的任意节点(在这个示例中的节点230)中设置处理规则(流条目),并且通过指定不用于匹配的匹配规则(匹配密钥)的字段或在更高级层中的任意字段,向该节点通知关于统计信息记录划分。在下面的说明中,假定关于统计信息记录划分的指令的内容是如果发送或接收到具有不同的目的地端口编号和/或源端口编号的数据分组,则假定发送或接收是不同的通信,要不同地记录统计信息。在已经在节点210-230中设置处理规则(流条目)后,节点210根据新设置的处理规则(流条目)来转发缓冲的分组。因为已经在这个分组的转发路径上的节点220和230中设置了处理规则(流条目),所以该分组被转发到节点220,然后被转发到节点230,并且到达 外部节点320 (步骤S004-1至S004-3)。当转发分组时,节点210和节点220更新处理规贝U(流条目)的流统计信息(计数器)。另一方面,接收到关于统计信息记录划分的指令的节点230记录根据指令的记录划分而细分的统计信息。其后,每次在外部节点310和320之间转发数据分组时,节点210-230更新流统计信息或统计信息(S005-1或S005-4)。为了确认详细的通信量,控制装置(控制器)100以预定的时间间隔向节点230发送指定处理规则(流条目)的统计信息收集消息,并且从对应的节点230接收根据对应的处理规则(流条目)和指令的记录划分而记录的统计信息(步骤S006)。在这个时间点,向控制装置(控制器)100发送关于一种类型的通信(例如,目的地端口编号=A)的统计信息。接下来,外部节点310向外部节点320发送另一个通信的数据分组(步骤S014-1)。因为这个通信与设置了如上所述的处理规则(流条目)的前一个通信不同,所以假定这个数据分组具有与前一个通信的数据分组相同的目的地/源MAC地址和相同的目的地/源IP地址,但是具有与前一个通信的数据分组不同的目的地端口编号和/或源端口编号。已经在节点210-230的流表格212中注册了与这个数据分组匹配的处理规则(流条目),并且因此,节点210-230根据相应的处理规则(流条目)向下一跳转发分组(步骤S014-2至S014-4)。也在该情况下,节点210和节点220当转发分组时更新处理规则(流条目)的流统计信息(计数器),而向其发出关于统计信息记录划分的信息的节点230基于该统计信息记录划分识别出该通信是不同的通信(例如,目的地端口编号=B),并且因此记录统计信息。其后,当控制装置(控制器)100向节点230发送指定处理规则(流条目)的统计信息收集消息以确认留置的通信量时,节点230发送根据处理规则(流条目)和指令的记录划分而记录的统计信息(步骤S016)。在这个时间点,向控制装置(控制器)100发送分别对于两种类型的通信(例如,目的地端口编号=A,目的地端口编号=B)记录的统计信息。如上所述,这个示例性实施例允许以任何粒度级别收集在任何位置上的统计信息,而不必增大在节点210-230中设置的处理规则(流条目)的数量,即,由控制装置(控制器)100管理的处理规则(流条目)的数量。例如,可以通过对于每个处理规则(流条目)设置统计信息收集策略来收集与在非专利文献I和2中描述的大体相同的粒度级别的流统计信息,而另一方面,可以对于另一个处理规则(流条目)收集更详细的统计信息。而且,基于对于每一个流收集的统计信息的路径重新计算或处理规则(流条目)聚合将有助于提供更灵活的通信服务。这个示例性实施例减少了在节点210-230中设置的处理规则(流条目)的数量,并且因此,降低了节点210-230的处理规则(流条目)的存储区域的大小和搜索处理所需的处理时间,因此防止分组转发能力变差。另外,这个示例性实施例减少了在节点210-230中设置的处理规则(流条目)的数量,并且因此例如当由于网络故障或网络维护而改变网络拓扑时降低了在重写处理规则(流条目)中可能涉及的管理负荷。虽然在上面的说明中,其中目的地端口编号和/或源端口编号在两者之间不同的 两个通信被假定为不同的通信并且收集统计信息,但是也可以将某些其他字段(例如,在更高级层中的VLAN ID字段或任意字段)指定为用于统计信息记录划分的字段。而且,虽然在上面的说明中,仅向在路径上的节点230发出关于统计信息记录划分的指令,但是也可以对于另一个节点指定相同或不同的统计信息记录划分以收集记录结果。(第二示例性实施例)接下来,将描述本发明的第二示例性实施例,其中,向上文描述的第一示例性实施例中的节点210-230添加了一些功能。这个示例性实施例的配置类似于上文描述的第一示例性实施例,除了向节点210-230的分组处理单元213添加了用于向控制装置(控制器)100通知关于统计信息记录的开始或结束的功能。下面关注于在操作上的差别来描述该示例性实施例。下面参考附图详细描述这个示例性实施例的操作。图6是示出本发明的第二示例性实施例的操作的序列图。表示数据分组的在图6中的箭头(实线)和箭头(虚线)指示不同的通信例如,在外部节点中运行的应用程序在通信之间不同。参见图6,外部节点310首先向外部节点320发送数据分组。该分组到达外部节点310所连接到的节点210 (步骤SlOD0其后,到控制装置(控制器)100设置节点210-230中的处理规则(流条目)的步骤的处理与在第一处理中相同,并且因此在此省略其说明(步骤S102至S103)。也在下面的说明中,假定向节点230发出的关于统计信息记录划分的指令的内容是如果发送或接收到具有不同的目的地端口编号和/或源端口编号的数据分组,则假定发送或接收是不同的通信,要不同地记录统计信息。在已经在节点210-230中设置了处理规则(流条目)之后,节点210根据新设置的处理规则(流条目)来转发缓冲的分组。因为已经在这个分组的转发路径上的节点220和230中设置了处理规则(流条目),所以该分组被转发到节点220,然后被转发到节点230,并且到达外部节点320 (步骤S104-1至S104-3)。当转发分组时,节点210和节点220更新处理规则(流条目)的流统计信息(计数器)。另一方面,向其发出关于统计信息记录划分的指令的节点230根据指令的记录划分记录统计信息,并且向控制装置(控制器)100通知已经开始了统计信息的记录(步骤S104-5)。假定统计信息记录开始通知包括诸如开始记录统计信息的分组的目的地/源MAC地址、目的地/源IP地址和目的地/源端口编号这样的信息。控制装置(控制器)100能够基于在统计信息记录开始通知中包括的信息来确定统计信息收集的开始或结束。其后,每次在外部节点310和320之间转发数据分组时,节点210-230更新流统计信息或统计信息(步骤S105-1至S105-4)。在接收到统计信息记录开始通知时,控制装置(控制器)100向节点230发送指定处理规则(流条目)的统计信息收集消息,并且从对应的节点230接收根据对应的处理规则(流条目)和指令的记录划分而记录的统计信息(步骤S106)。在这个时间点,向控制装置(控制器)100发送关于一种类型的通信(例如,目的地端口编号=A)的统计信息。接下来,外部节点310向外部节点320发送另一个通信的数据分组(步骤S107-1)。因为这个通信与其中设置了如上所述的处理规则(流条目)的前一个通信不同,所以假定这个数据分组具有与前一个通信的数据分组相同的目的地/源MAC地址和相同的目的地/源IP地址,但是具有与前一个通信的数据分组不同的目的地端口编号和/或源端口编号。
如在上文描述的第一示例性实施例中那样,已经在节点210-230的流表格212中注册了与这个数据分组匹配的处理规则(流条目),并且因此,节点210-230根据相应的处理规则(流条目)向下一跳转发分组(步骤S107-2至S107-4)。也在该情况下,节点210和节点220当转发分组时更新处理规则(流条目)的流统计信息(计数器),而向其发出关于统计信息记录划分的信息的节点230识别出指令的记录划分,即不同的通信(例如,目的地端口编号=B),并且记录统计信息。另外,节点230向控制装置(控制器)100通知已经开始了不同统计信息的记录(步骤S107-5)。其后,每次在外部节点310和320之间转发两个通信的数据分组时,节点210-230分别更新流统计信息或统计信息(步骤S108-1至S109-4)。在接收到统计信息记录开始通知时,控制装置(控制器)100向节点230发送指定处理规则(流条目)的统计信息收集消息,并且从对应的节点230接收根据对应的处理规则(流条目)和指令的记录划分而记录的统计信息(步骤S110)。在这个时间点,分别向控制装置(控制器)100发送关于上文描述的两种类型的通信(例如,目的地端口编号=A,目的地端口编号=B)的统计信息。其后,在检测到在步骤SlOl中开始的通信结束时,节点230向控制装置(控制器)100发送统计信息记录结束通知(步骤S111)。这个统计信息记录结束通知包括结束的通信的分组的目的地/源MAC地址、目的地/源IP地址和目的地/源端口编号。控制装置(控制器)100能够基于在统计信息记录结束通知中包括的信息来确定统计信息收集的开始或结束。存在节点230检测通信的结束的许多方式。例如,当开始统计信息的记录时,以使用在处理规则(流条目)的动作字段中的定时器值的相同的方式,对于统计信息启动定时器,并且如果持续预定的时间段未接收到属于一种类型的通信的分组,则节点230判断通
信已经结束。其后,当在步骤S112-1至S112-4之后也结束了在步骤S107中开始的通信时,处理规则(流条目)的定时器值达到O。当删除对应的处理规则(流条目)时,节点230向控制装置(控制器)100发送用于在步骤S107中开始的通信的统计信息记录结束通知和处理规贝U(流条目)删除通知(步骤S114和S115)。
除了第一示例性实施例的效果,还可以在如上所述的这个示例性实施例中优化控制装置(控制器)100的统计信息收集时间(可以控制统计信息收集操作)。虽然在上文描述的示例性实施例中向控制装置(控制器)100通知统计信息记录的开始和结束,但是也可以通知它们之一。虽然已经描述了本发明的优选示例性实施例,但是应当明白,本发明不限于上面的示例性实施例,并且在不偏离本发明的基本技术概念的情况下可以增加另外的修改、替换和调整。在上面的示例性实施例中的控制装置(控制器)100可以被实现为专用服务器,并且可以通过上文描述的OpenFlow交换机以及通过在IP网络中的路由器或在MPLS网络上的MPLS (多协议标签转换)交换机来实现节点210-230。本发明也可以被应用到其中服务器整体地管理网络中的节点的网络。作为在上面的示例性实施例中在控制装置(控制器)100和节点210-230之间转发的统计信息收集消息,可以使用在非专利文献2中描述的Stats-Req消息和Stats-Rsp消息。作为在上面的第二示例性实施例中从节点向控制装置(控制器)100通知的统计信息记录开始通知和统计信息记录结束通知,可以使用在非专利文献2中描述的供应商定义的消
肩、O虽然在上面的示例性实施例中控制装置(控制器)100发出关于统计信息记录划分的指令并且收集统计信息,但是下述配置也是可能的,即,除了控制装置(控制器)100之外的装置发出关于统计信息记录划分的指令,并且收集统计信息。虽然在上面的示例性实施例中通过另外指定处理规则(流条目)的匹配规则(匹配密钥)的包括通配符的部分来发出关于记录划分的指令,但是也可以以某种其他方法发出关于统计信息记录划分的指令。例如,也能够将在较高层中的任意字段指定为记录划分。[工业适用性]本发明适用于载波网络系统。本发明也适用于其中根据通信状态来收费的系统。最后,下面总结了本发明的优选示例性实施例。〈第一模式〉参见在上面的第一方面中的通信系统。〈第二模式〉根据第一模式的通信系统,其中,统计信息记录单元根据比匹配规则更细分的划分来记录统计信息。〈第三模式〉根据第二模式的通信系统,其中,当设置处理规则时通过指定报头字段来指示统计信息记录划分,报头字段是在匹配规则中不用于匹配的字段。〈第四模式〉根据第一至第三模式之一的通信系统,其中,如果持续预定时间未接收到要对其记录统计信息的分组,则节点结束统计信息的记录。〈第五模式〉根据第一至第四模式之一的通信系统,其中,节点向统计信息收集装置通知统计信息的记录开始或结束,并且基于该通知,统计信息收集装置控制统计信息的收集操作。〈第六模式〉
根据第一至第五模式之一的通信系统,其中,统计信息收集装置也作为在节点中设置处理规则的控制装置来操作。〈第七模式〉根据第一至第六模式之一的通信系统,其中,可以将在报头或更高级层的数据区域中的信息指定为统计信息记录划分。〈第八模式〉参见在上面的第二方面中的节点。
〈第九模式〉根据第八模式的节点,其中,统计信息记录单元根据比匹配规则更细分的划分来记录统计信息。〈第十模式〉根据第九模式的节点,其中,当设置处理规则时通过指定报头字段来指示统计信息记录划分,报头字段是在匹配规则中不用于匹配的字段。<第十一模式>根据第八至第十模式之一的节点,其中,如果持续预定时间未接收到要对其记录统计信息的分组,则节点结束统计信息的记录。〈第十二模式〉根据第八至第十一模式之一的节点,其中,节点向收集统计信息的统计信息收集装置通知统计信息的记录开始或结束。〈第十三模式〉根据第八至第十二模式之一的节点,其中,可以将在报头或更高级层的数据区域中的信息指定为统计信息记录划分。〈第十四模式〉参考在上面的第三方面中的统计信息收集装置。〈第十五模式〉根据第十四方面的统计信息收集装置,其中,统计信息收集装置也作为在节点中设置处理规则的控制装置来操作。〈第十六模式〉参考在上面的第四方面中的统计信息收集方法。〈第十七模式〉参见在上面的第五方面中的程序。[附图标记列表]100控制装置(控制器)100A 统计信息收集装置101 流条目数据库(流条目DB)102统计信息管理单元103 拓扑管理单元104 路径/动作计算单元105流条目管理单元
106控制消息处理单元107节点通信单元210-230节点211控制消息发送/接收单元212流表格213分组处理单元214统计信息记录单元
310-320外部节点
权利要求
1.一种通信系统,包括 节点,所述节点包括 分组处理单元,所述分组处理单元根据处理规则来处理接收到的分组,所述处理规则定义了匹配规则和与所述匹配规则匹配的分组的处理;以及 统计信息记录单元,所述统计信息记录单元根据与所述匹配规则不同的划分来记录关于分组的统计信息;以及 统计信息收集装置,所述统计信息收集装置向所述节点发出关于划分的指令并且收集所述统计信息,根据所述指令来记录所述统计信息。
2.根据权利要求1所述的通信系统,其中, 所述统计信息记录单元根据比所述匹配规则更细分的划分来记录统计信息。
3.根据权利要求2所述的通信系统,其中, 当设置所述处理规则时,通过指定报头字段来指示所述统计信息记录划分,所述报头字段是在所述匹配规则中不用于匹配的字段。
4.根据权利要求1至3中的任何一项所述的通信系统,其中, 如果在预定时间中没有接收到要对其记录所述统计信息的分组,则所述节点结束所述统计信息的记录。
5.根据权利要求1至4中的任何一项所述的通信系统,其中, 所述节点向所述统计信息收集装置通知所述统计信息的记录开始或结束,并且基于所述通知,所述统计信息收集装置控制所述统计信息的收集操作。
6.根据权利要求1至5中的任何一项所述的通信系统,其中, 能够将在报头或更高级层的数据区域中的信息指定为所述统计信息记录划分。
7.一种节点,包括 分组处理单元,所述分组处理单元根据处理规则来处理接收到的分组,所述处理规则定义了匹配规则和与所述匹配规则匹配的分组的处理;以及 统计信息记录单元,所述统计信息记录单元根据与所述匹配规则不同的划分来记录关于分组的统计信息。
8.一种统计信息收集装置,所述统计信息收集装置向根据权利要求7所述的节点发出关于作为统计信息记录划分的与所述匹配规则不同的划分的指令,并且收集所述统计信息
9.一种统计信息收集方法,所述方法包括下述步骤 通过统计信息收集装置向节点发出关于作为统计信息记录划分的与匹配规则不同的划分的指令,所述统计信息收集装置连接到所述节点,所述节点包括分组处理单元,所述分组处理单元根据处理规则来处理接收到的分组,所述处理规则定义了所述匹配规则和与所述匹配规则匹配的分组的处理; 通过所述节点来根据所述指令的划分来记录关于分组的统计信息;以及 通过所述统计信息收集装置来收集所述统计信息。
10.一种使得计算机执行处理的程序,所述计算机配置节点,所述节点包括分组处理单元,所述分组处理单元根据处理规则来处理接收到的分组,所述处理规则定义了匹配规则和与所述匹配规则匹配的分组的处理,其中,所述 程序使得所述计算机根据来自预定的统计信息收集装置的指令来执行根据与所述匹配规则不同的划分而记录关于分组的统计信息的处理。
全文摘要
对于在其中通过由控制装置在节点中设置的处理规则(流条目)来执行通信的通信系统中的使用,本发明提供了一种配置,其中,可以以期望的信息粒度级别收集统计信息,而不增加控制装置的控制负荷。通信系统的节点包括分组处理单元,分组处理单元根据处理规则来处理接收的分组,处理规则定义了匹配规则和与匹配规则匹配的分组的处理;以及,统计信息记录单元,统计信息记录单元根据与匹配规则不同的划分来记录关于分组的统计信息,并且,提供了统计信息收集装置,该统计信息收集装置向节点发出指令,并且收集统计信息,其中根据该指令要记录统计信息。
文档编号H04L12/26GK103026662SQ20118003608
公开日2013年4月3日 申请日期2011年7月25日 优先权日2010年7月23日
发明者秋好一平 申请人:日本电气株式会社