通信流控制系统、通信流控制方法和通信流处理程序的制作方法

文档序号:7814583阅读:258来源:国知局
通信流控制系统、通信流控制方法和通信流处理程序的制作方法
【专利摘要】本发明的实施方式涉及通信流控制系统、通信流控制方法和通信流处理程序。当处理方法确定装置不能确定用于分组的通信流的处理方法时,流识别信息传输装置向处理确定单元发送等效于用于识别通信流的第一流识别信息的一部分或全部的分组中的信息。控制动作确定装置基于存储在控制动作存储装置中的第二流识别信息和从通信流处理单元接收到的信息来确定控制动作。控制指令装置命令通信流处理单元基于控制动作来控制通信流。处理方法登记装置利用处理方法存储装置、基于来自控制单元的控制指令来登记用于通信流的处理方法。
【专利说明】通信流控制系统、通信流控制方法和通信流处理程序
[0001]相关申请
[0002]本申请是国际中请日为2010年03月08日、国际申请号为PCT/JP2010/001603、进入中国国家阶段日期为2011年09月29日、国家申请号为201080014659.2的发明专利申请的分案申请。

【技术领域】
[0003]本发明涉及一种通信流控制系统、一种应用于所述通信流控制系统的通信流处理单元、一种处理确定单元、一种通信流控制方法、一种通信流处理方法、一种处理确定方法、一种通信流处理程序、以及一种处理确定程序,其能在通信控制单元控制通信流的网络系统中抑制由所述通信控制单元执行的流控制的负载。

【背景技术】
[0004]在网络系统中,通信信息由称为流的恒定单元处理,且具有执行质量控制等的机制,其中路径控制、过滤和优先级用于每一流。所述流(也称为分组流)是分组的一个分类单元,且经常基于TCP (传输控制协议)会话或发送/接收节点对等等来进行分类。
[0005]例如,将通过示例描述一种情况,其中在基于发送/接收节点的TCP端口和IP (因特网协议)地址之间区分流。在这种情况下,可以认为由“从[IP 192.168.0.1:端口 1000]到[IP 192.168.0.2:端口 80] ”所代表的所有分组属于同一流。此外,能确定由“从[IP192.168.0.1:端口 1000]到[IP 192.168.0.2:端口 443] ”所代表的分组是另一独立的流。在这种机制中,处理分组的内容(例如,路径设置、优先级处理等等)由这个流单元确定。
[0006]此外,在对流进行中继的中继单元中,流和与之对应的处理信息(例如,输出端口或优先级等等)被存储在称为流表的表中。当接收到分组时,中继单元基于接收分组的内容搜索流表,并读出对应的处理信息以确定处理如传输或丢弃之。
[0007]例如,PTL I公开了当分组中继单元添加和登记流表条目时能通过执行模式(pattern)压缩处理登记更多条目(entry)的压缩/扩展方法。在PTL I中所公开的压缩/扩展方法中,当新近登记的新模式是递增模式(其相对于该条目的流识别模式的差是I比特)时,表明流识别中的流识别模式的无关(Don' t Care)比特位置的该条目的掩码模式发生改变。
[0008]此外,当使用上述中继单元形成系统时,有一种方法,其中连接到网络上的中继单元通过基于其中包含的功能获悉每个端口的MAC(介质访问控制)地址或者通过与另一中继单元交换信息,从而自发地获悉路径。同时,当所述中继单元与另一中继单元交换信息时,也可能存在使用用于对路由进行优化的路由协议的情况。
[0009]作为一个单独的方法,还有一种系统,其中通信控制单元控制网络上的中继单元(或中继单元组)。在这个系统中,当从其中接收分组的中继单元不能确定中继单元中的流表搜索中的分组处理内容时,所述中继单元通过向通信控制单元给出查询来确定分组处理内容。
[0010]图10是图示了通信控制单元控制中继单元的系统中的总体处理的流程图。当接收到分组时(步骤S91),中继单元搜索中继单元中的流表,并试图确定分组的输出端口(步骤S92)。当能确定输出端口时(步骤S92中的“是”),中继单元从对应的端口输出分组并停止处理(步骤S96)。另一方面,当不能确定输出端口时(步骤S92中的“否”),中继单元向通信控制单元发送一个事件,并向所述单元查询解析分组处理的方法(步骤S93)。这里,中继单元向通信控制单元发送数据串作为一个事件,所述数据串包括从输入端口接收的分组的一部分或全部以及中继单元的信息。当接收事件时,通信控制单元基于其内容解析中继单元输出分组的输出目的地端口,并命令中继单元更新流表。当从通信控制单元接收到更新指令时(步骤S94),中继单元更新流表(步骤S95),并基于其内容输出分组(步骤 S96)。
[0011]同时,所述事件是包括从输入/输出端口接收的分组的至少一部分或全部以及中继单元的信息的数据串。通信控制单元参照中继单元发送的事件内容解析输出目的地端口,并更新中继单元中的流表以发送接收到的分组。因此,分组被正常发送。
[0012]此外,PTL 2公开了一种传输带控制单元,其中网络控制单元控制整个网络的传输带,并接收来自用户终端的流传送请求,以创建相关的路由器设置信息并为每个路由器设置信息。在PTL 2公开的传输带控制单元中,当网络控制单元从用户终端接收到流传送请求时,搜索满足网络控制单元接收到的请求的路径以创建路径信息。此外,网络控制单元创建路由器设置信息以便在使网络负载变得均衡的方向上分配负载。网络控制单元针对每个路由器设置路径信息和路由器设置信息。
[0013]此外,PTL 3公开了一种网络路由器,其中网络管理服务器控制开放的可编程路由器并设置流控制表。当接收到的分组到达网络时,PTL 3中公开的网络路由器使用分组报头信息对分组执行适当的操作,包括去除报头信息、用新地址信息替代报头信息,以及其他公知的操作。这时,路由器控制器基于流控制表的设置控制分组的一部分。同时,流控制表由路由器控制器维护,且路由器控制器自己从控制器接收信息。
[0014]另一方面,如上所述,中继单元在流标中存储流以及与流对应的处理信息,并基于接收到的分组搜索流表,以确定处理如传输或丢弃之。由于该原因,必须以精细的单位(精细粒度)为每个控制流设置处理以便以精细的水平对流进行控制。
[0015]PTL 4公开了一种IP流多级散列方法,其中使用两级表混合具有不同粒度的流以用于搜索传送单元。在PTL 4公开的方法中,IP分组目的地IP地址在第一表中散列,且目的地IP地址和IP分组源IP地址在第二表中被散列成一组。当检测到对第一表的链接时,传送装置基于目的地IP地址搜索链接到第一表的散列值目的地的条目,以及当检测到对第二表的链接时,通过散列一组目的地IP地址和源IP地址,搜索链接到第二表的散列值目的地的条目。当检测到匹配的条目时,传送装置根据其中的信息执行IP分组的中继。
[0016]引用列表
[0017]专利文献
[0018]PTL 1:日本专利申请公开 N0.2008-167340 (0018 到 0028 段,图1)
[0019]PTL 2:日本专利申请公开 N0.2004-236198(0095 到 0097 段,图 5 和 6)
[0020]PTL 3:日本专利申请公开 N0.2003-60691 (0021 到 0024 段,图 2)
[0021]PTL 4:日本专利申请公开 N0.2004-56340 (0022 段)


【发明内容】

[0022]技术问题
[0023]在通信控制单元控制中继单元的系统中,当在中继单元内的流表搜索中不能确定分组处理内容时,分组从中被接收到的中继单元向控制中继单元的通信控制单元查询分组处理内容。通信控制单元根据分组内容确定处理内容。例如,当中继单元不能确定分组输出目的地时,通信控制单元计算分组递送路径。但是,通信控制单元一般控制多个中继单元,以及因此当关于来自多个中继单元的分组处理内容的查询被集中时,通信控制单元的负载变高。
[0024]为了减少对通信控制单元的查询的数量,考虑预先为流表设置细粒度的处理信息,使得能以细粒度水平在中继单元中处理流。但是,当细粒度的流的处理信息被过度设置时,可能有问题,因为流表的数据集的数量增加使得资源消耗增加。
[0025]因此,本发明的一个目的是提供一种通信流控制系统,一种应用于所述通信流控制系统的通信流处理单元、一种处理确定单元、一种通信流控制方法、一种通信流处理方法、一种处理确定方法、一种通信流处理程序、以及一种处理确定程序,其能执行细粒度的流控制同时抑制网络系统中通信控制单元的负载,在该网络系统中通信控制单元控制中继单元或中继单元组。
[0026]问题的解决方案
[0027]根据本发明,提供了一种通信流控制系统,包括:通信流处理单元,其基于通信控制单元确定的处理方法处理通信流,该通信控制单元是确定用于通信流的处理方法的单元;以及连接在所述通信控制单元和所述通信流处理单元之间的处理确定单元,其响应于来自所述通信流处理单元的请求来确定用于通信流的处理,其中所述通信流处理单元包括:处理方法存储装置,其彼此相关联地存储第一流识别信息和处理方法,所述第一流识别信息是用于识别通信流的信息;处理方法确定装置,当接收到分组时,其基于存储在所述处理方法存储装置中的第一流识别信息来确定处理方法;流识别信息传输装置,当所述处理方法确定装置不能确定用于分组的通信流的处理方法时,所述流识别信息传输装置向处理确定单元发送等效于用于识别通信流的第一流识别信息的一部分或全部的分组中的信息;以及处理方法登记装置,当从所述处理确定单元检测到用于通信流的控制指令时,所述处理方法登记装置基于控制指令,利用所述处理方法存储装置来登记通信流的处理方法,以及其中所述处理确定单元包括控制动作存储装置,其将第二流识别信息和控制动作彼此相关联地进行存储,所述第二流识别信息是第一流识别信息的一部分或全部,所述控制动作是所述处理确定单元执行的动作;控制动作确定装置,在从所述通信流处理单元接收等效于所述第一流识别信息的一部分或全部的分组中的信息时,基于存储在控制动作存储装置中的第二流识别信息和接收到的信息来确定控制动作,以及控制指令装置,其命令所述通信流处理单元基于所述控制动作确定装置确定的控制动作来控制通信流。
[0028]根据本发明,提供了一种连接到处理确定单元的通信流处理单元,其响应于来自另一单元的请求,根据等效于用于识别通信流的流识别信息的一部分或全部的分组中的信息来确定用于通信流的处理方法,并命令该单元执行控制,包括:处理方法存储装置,其将流识别信息和处理方法彼此相关联地进行存储;处理方法确定装置,当接收到分组时,其基于存储在所述处理方法存储装置中的流识别信息来确定处理方法;流识别信息传输装置,当所述处理方法确定装置不能确定用于分组的通信流的处理方法时,其向所述处理确定单元发送等效于用于识别通信流的流识别信息的一部分或全部的分组中的信息;以及处理方法登记装置,当从所述处理确定单元检测到用于通信流的控制指令时,其利用所述处理方法存储装置、基于控制指令来登记通信流的处理方法。
[0029]根据本发明,提供了一种处理确定单元,其将作为用于识别通信流的信息的第一流识别信息和用于通信流的处理方法彼此相关联地进行存储,其连接到通信流处理单元,当接收到分组时,所述通信流处理单元基于存储的第一流识别信息来确定用于通信流的处理方法;以及所述处理确定单元响应于来自所述通信流处理单元的请求来确定用于通信流的处理,包括:控制动作存储装置,其将第二流识别信息和控制动作彼此相关联地进行存储,所述第二流识别信息是第一流识别信息的一部分或全部,所述控制动作是所述处理确定单元执行的动作;控制动作确定装置,其在从所述通信流处理单元接收等效于第一流识别信息的一部分或全部的分组中的信息时,基于存储在控制动作存储装置中的第二流识别信息和接收到的信息来确定控制动作;以及控制指令装置,其命令所述通信流处理单元基于所述控制动作确定装置确定的控制动作来控制通信流。
[0030]根据本发明提供了一种控制通信流的方法,包括步骤:使得当接收到分组时,基于通信控制单元确定的处理方法来处理通信流的通信流处理单元基于存储在处理方法存储装置中的流识别信息来确定处理方法,其中所述通信控制单元是确定用于通信流的处理方法的单元,所述处理方法存储装置彼此相关联地存储第一流识别信息和处理方法,所述第一流识别信息是用于识别通信流的信息;使得当不能确定对分组的通信流的处理方法时,所述通信流处理单元向处理确定单元发送等效于用于识别通信流的第一流识别信息的一部分或全部的分组中的信息,所述处理确定单元响应于来自所述通信流处理单元的请求来确定用于通信流的处理;使得在从所述通信流处理单元接收到等效于第一流识别信息的一部分或全部的分组中的信息时,所述处理确定单元基于存储在控制动作存储装置中的第二流识别信息来确定控制动作,所述控制动作存储装置用于彼此相关联地存储接收到的信息、第二流识别信息和控制动作,所述第二流识别信息是第一流识别信息的一部分或全部,以及所述控制动作是处理确定单元执行的动作;使得所述处理确定单元命令所述通信流处理单元基于所述控制动作来控制通信流;以及使得当从所述处理确定单元检测到用于通信流的控制指令时,所述通信流处理单元利用处理方法存储装置来登记用于通信流的处理方法。
[0031]根据本发明提供了一种处理通信流的方法,包括步骤:当接收到分组时,基于存储在处理方法存储装置中的流识别信息来确定处理方法,处理方法存储装置将用于识别通信流的流识别信息以及用于通信流的处理方法彼此相关联地进行存储;当不能确定用于分组的通信流的处理方法时,向处理确定单元发送等效于用于识别通信流的流识别信息的一部分或全部的分组中的信息,处理确定单元响应于来自另一单元的请求、根据等效于流识别信息的一部分或全部的分组中的信息来确定用于通信流的处理方法,以及命令该单元执行控制;以及当从所述处理确定单元检测到用于通信流的控制指令时,基于控制指令利用所述处理方法存储装置来登记用于通信流的处理方法。
[0032]根据本发明提供了一种处理确定方法,包括步骤:在从所述通信流处理单元接收等效于第一流识别信息的一部分或全部的分组中的信息时,基于存储在控制动作存储装置中的第二流识别信息和接收到的信息,来确定控制动作,其中所述通信流处理单元是将用于识别通信流和用于通信流第一流识别信息和用于所述通信流的处理方法彼此相关联地进行存储的单元,当接收到分组时,所述单元基于存储的第一流识别信息来确定用于所述通信流的处理方法,所述控制动作存储装置将控制操作和第二流识别信息彼此相关联地进行存储,其中所述控制操作是由响应于来自通信流处理单元的请求确定用于通信流的处理的处理确定单元所执行的动作,所述第二流识别信息是第一流识别信息的一部分或全部,以及命令所述通信流处理单元基于控制动作控制通信流。
[0033]根据本发明提供了一种通信流处理程序,其被应用于包括将用于识别通信流的流识别信息和用于通信流的处理方法彼此相关联地进行存储的处理方法存储装置的计算机,所述程序使得计算机执行:处理方法确定处理,用于当接收到分组时,基于存储在处理方法存储装置中的流识别信息来确定处理方法;流识别信息传输处理,用于当不能确定对分组的通信流的处理方法时,向处理确定单元发送等效于用于识别通信流的流识别信息的一部分或全部的分组中的信息,所述处理确定单元响应于来自另一单元的请求、根据等效于所述流识别信息的一部分或全部的分组中的信息来确定用于通信流的处理方法,以及命令所述单元执行控制;以及处理方法登记处理,用于当从所述处理确定单元检测到用于通信流的控制指令时,利用所述处理方法存储装置、基于控制指令来登记用于通信流的处理方法。
[0034]根据本发明提供了一种被应用于计算机的处理确定程序,所述计算机将用于识别通信流的第一流识别信息以及用于通信流的处理方法彼此相关联地进行存储,连接到通信流处理单元,所述通信流处理单元当接收到分组时,基于存储的第一流识别信息来确定用于通信流的处理方法,以及响应于来自通信流处理单元的请求来确定用于通信流的处理,所述计算机包括将第二流识别信息和控制动作彼此相关联地进行存储的存储装置,所述第二流识别信息是第一流识别信息的一部分或全部,所述控制动作是计算机执行的动作,所述程序使得所述计算机执行:控制动作确定处理,用于在从所述通信流处理单元接收等效于第一流识别信息的一部分或全部的分组中的信息时,基于存储在控制动作存储装置中的第二流识别信息和接收到的信息,来确定控制动作;以及控制指令处理,用于命令所述通信流处理单元基于控制动作来控制通信流。
[0035]本发明的有益效果
[0036]根据本发明,可以执行细粒度的流控制同时抑制一种类型的网络系统中通信控制单元的负载,在该类型的网络系统中通信控制单元控制中继单元或中继单元组。

【专利附图】

【附图说明】
[0037]图1为图示了根据第一示例性实施方式的通信流控制系统示例的框图。
[0038]图2为图示了流宏表示例的示意图。
[0039]图3为图示了流表示例的示意图。
[0040]图4为图示了处理示例的流程图,其中中继单元向中间盒(middle box)查询分组输出目的地。
[0041]图5为图示了根据第一示例性实施方式的经修改示例的通信流控制系统示例的框图。
[0042]图6为图示了根据第二示例性实施方式的通信流控制系统示例的框图。
[0043]图7为图示了查询目的地条件存储部件的内容示例的示意图。
[0044]图8为图示了处理示例的流程图,其中中继单元向通信控制单元或中间盒查询分组输出目的地。
[0045]图9为图示了根据本发明的通信流控制系统的最小配置的框图。
[0046]图10为图示了通信控制单元控制中继单元的系统中处理的流程图。

【具体实施方式】
[0047]下面,将参考本发明的【专利附图】
附图
【附图说明】示例性实施方式。
[0048]示例性实施方式I
[0049]图1是根据本发明的第一示例性实施方式的通信流控制系统示例的框图。根据第一示例性实施方式的通信流控制系统包括通信控制单元1,中间盒2,以及中继单元3。通信控制单元1、中间盒2以及中继单元3通过例如通信网络如公共网络连接,但是通信网络的形式不限于公共网络。
[0050]通信控制单元I包括路径计算部件11,中继单元控制部件12,以及中间盒控制部件13。当中继单元3连接到通信控制单元I时,中继单元控制部件12为向中继单元3发出控制指令或从中继单元3接收事件的接口。这里,可以说事件是包括从输入/输出端口接收的分组的一部分或全部和中继单元的信息的数据串,以及是能识别流内容的信息。连接到中继单元控制部件12的中继单元3的数量可以是I,或可以是2或更多。可替换地,当中间盒2连接到稍后描述的中间盒控制部件13时,中继单元3可以不连接到中继单元控制部件12。
[0051]当中间盒2连接到通信控制单元I时,中间盒控制部件13是用于向中间盒2发出控制指令或从中间盒2接收事件的接口。连接到中间盒控制部件13的中间盒2的数量可以是1,或可以是2或更多。
[0052]路径计算部件11响应于来自连接到中继单元控制部件12的中继单元3或连接到中间盒控制部件13的中间盒2的请求确定分组处理方法。例如,当接收到用于确定分组输出目的地的请求时,路径计算部件11计算递送路径。此外,路径计算部件11命令中继单元3和中间盒2基于计算结果等等来更新稍后描述的流宏表存储部件22或流表存储部件32的内容。路径计算部件11响应于来自中继单元3或中间盒2的请求、例如基于网络中的端节点或以前存储在通信控制单元I的存储部件(未示出)中的中继单元3的布设信息来计算分组递送路径。这样,通信控制单元I响应于该请求确定用于通信流的处理方法。同时,计算递送路径的方法不限于上述方法。
[0053]路径计算部件11通过例如按照程序(路径计算程序)进行操作的计算机的CPU来实现。例如,该程序存储在包括在通信控制单元I中的存储部件(未示出)中,以及CPU可以读取程序,且可按照程序作为路径计算部件11来操作。
[0054]中间盒2包括事件处理部件21、流宏表存储部件22、上游通信部件23、下游通信部件24以及条目设置部件25。下游通信部件24是向下游侧的单元发出控制指令或从下游侧的单元接收事件的接口。同时,下游侧的单元意味着向中间盒2查询分组递送路径或处理方法等的单元。相反,从中间盒2接收关于处理方法等的查询的单元被称为上游侧的单元。连接到下游通信部件24的中继单元3的数量可以是1,或可以是2或更多。在示例性实施方式中,将说明下游侧的单元是中继单元3的情况。即,将说明下游通信部件24向中继单元3发出控制指令或从中继单元3接收事件的情况。
[0055]上游通信部件23是向上游侧的单元发送事件或从上游侧的单元接收控制指令的接口。在示例性实施方式中,将说明上游侧的单元是通信控制单元I的情况。即,将说明上游通信部件23向通信控制单元I发送事件或从通信控制单元I接收控制指令的情况。
[0056]流宏表存储部件22是存储表格(此后称为流宏表)的存储单元,该表格中中间盒2执行的动作与下游侧的单元发送的事件关联。例如,流宏表存储部件22存储流宏表,其中从中继单元3发送的事件与中间盒2针对该事件执行的动作是互相关联的。稍后描述的条目设置部件25根据来自通信控制单元I的指令登记流宏表的条目。即,可以说流宏表是由通信控制单元I管理的表格。流宏表的条目对于没有特别说明的其他信息(例如,源地址或协议类型等)而言是无关的。即流宏表存储部件22存储具有与多个细粒度流匹配的粗粒度条目的流宏表。
[0057]图2为图示了流宏表示例的示意图。在图2所示的示例中,流宏表包括代表中继单元标识符221、事件类型222、流识别信息223以及中间盒动作224的内容。中继单元标识符221是用于识别中继单元3的标识符。事件类型222是用于识别诸如路径设置请求、流超时通知以及异常单元通知之类事件的标识符。流识别信息223是用于在流之间进行区分的信息。图2所示的示例示出基于目的地地址在流之间进行区分。同时,流识别信息223代表的信息不限于目的地地址。流识别信息223代表的信息除目的地地址外还可使用更多参数如协议号或高级协议信息。例如,当从中继单元3接收的事件是对“目的地地址Y”的路径设置请求时,图2所示示例的第二行代表对于该事件的“命令中继单元3设置用于从端口 3003输出分组的条目”。
[0058]中间盒动作224代表中间盒2对于能被中继单元标识符221、事件类型222和流识别信息223所标识的事件所执行的动作。在图2所示的示例中,虽然示出中间盒2执行的一个动作,但是中间盒动作224不限于一个动作,而是可包括多个动作。
[0059]事件处理部件21确定与从下游侧的单元接收的事件对应的动作。首先,事件处理部件21在流宏表中搜索与从下游侧的单元接收的事件对应的处理。即,事件处理部件21针对与从中继单元3接收的事件对应的处理而搜索流宏表。如上所述,流宏表的条目对于没有特别说明的其他信息而言无关,且是与多个细粒度流匹配的粗粒度条目。所以,即使当接收到的事件中包括除了在流识别信息223中设置的内容以外的信息时,事件处理部件21不使用该信息作为搜索条件。例如,在图2所示的示例中,“目的地信息”的内容在流识别信息223中设置。所以,即使当接收到的事件中包括源地址或协议类型时,事件处理部件21不使用该信息作为搜索条件。事件处理部件21基于提取的动作(在图2所示的示例中是由中间盒动作224代表的内容),命令下游侧的单元控制该事件代表的流。例如,事件处理部件21通过下游通信部件24针对稍后描述的中继单元3中的流表存储部件32执行更新指令。这时,事件处理部件21使用流宏表的内容和事件信息来创建细粒度的条目,并更新流表存储部件32的内容。例如,当从流宏表提取信息时,事件处理部件21可从接收到的事件中提取未包括在提取的信息中的要求,或出现在稍后描述的流表中的要求(例如,源地址),并可基于这些信息更新稍后描述的流表。这样,中间盒2控制中继单元3。
[0060]此外,当流宏表中不存在与从中继单元3接收的事件对应的处理时,事件处理部件21通过上游通信部件23向通信控制单元I传送事件。同时,可以说与从中继单元3接收的事件对应的处理不出现在流宏表中的情况是指中间盒2不能确定从中继单元3接收的分组的处理的情况。
[0061]在图2所示示例的情况下,事件处理部件21使用中继单元标识符221、事件类型222和流识别信息223作为关键进行搜索,并提取与搜索条件匹配的中间盒动作224。当不存在匹配的条目时,事件处理部件21向上游侧的单元(即,通信控制单元I)发送事件,并向该单元查询处理内容。
[0062]条目设置部件25响应于来自上游侧的单元的指令来更新流宏表的条目。例如,当事件处理部件21通过上游通信部件23向通信控制单元I传送事件以及接收通信控制单元I计算的递送路径时,条目设置部件25将递送路径登记为流宏表的一个条目。
[0063]此外,事件处理部件21可将下游侧的单元上执行的处理内容通知通信控制单元I。在通信控制单元I控制中继单元3的网络系统中,通过将这些处理内容通知通信控制单元I,通信控制单元I能确定针对网络上的流的处理。
[0064]事件处理部件21和条目设置部件25通过例如按照程序(单元控制程序)操作的计算机的CPU来实现。例如,该程序存储在包括在中间盒2中的存储部件(未示出)中,以及该CPU可以读该程序,以及可作为事件处理部件21和条目设置部件25按照该程序操作。
[0065]中继单元3包括分组处理部件31、流表存储部件32、上游通信部件33、条目设置部件34以及输入/输出端口 3001到3003。中继单元3通过输入/输出端口 3001到3003直接连接到其他计算机91到95,或通过网络99 (诸如公共传输网络)连接到其他计算机91到95。同时,在上述说明中,虽然说明的是其中包括3个输入/输出端口的情况,但是输入/输出端口的数量不限于3个。在下面的说明中,中继单元3通过端口 3001和网络99连接到具有地址A的计算机93、具有地址B的计算机94以及具有地址C的计算机95。此外,中继单元3通过端口 3002连接到具有地址X的计算机91,以及通过端口 3003连接到具有地址Y的计算机92。
[0066]上游通信部件33是向中间盒2或通信控制单元I发送事件或从中间盒2或通信控制单元I接收控制指令的接口。
[0067]流表存储部件32是存储表格(此后称为流表)的存储单元,在该表格中,用于标识流的信息和针对流的处理方法彼此相关联。例如,流表存储部件32存储流表,其中中继单元3通过其输出分组的端口与流内容相关联。稍后描述的条目设置部件34根据来自通信控制单元I或中间盒2的指令登记流表的条目。即,可以说流表是通信控制单元I或中间盒2管理的表格。此外,流表存储部件32存储具有比流宏表更多的细粒度条目的流表。
[0068]图3所示为流表的示例的示意图。在图3所示的示例中,流表包括代表流识别信息321和输出端口 322的内容。流识别信息321是用于在流之间进行区分的信息。图3所示的示例示出了基于源地址和目的地地址在流之间进行区分。同时,流识别信息321代表的信息不限于源地址和目的地地址。除源地址或目的地地址之外,流识别信息321代表的信息还可使用更多参数如协议号或高级协议信息。输出端口 322指示用于输出能被流标识符321区分的流的分组的端口。如上所述,在这个示例中,流宏表把目的地地址作为在流之间进行区分的信息。另一方面,流表具有源地址和目的地地址。即,该流表比流宏表具有更多的细粒度条目。
[0069]当接收到流时,分组处理部件31基于在流表中设置的信息而确定针对流的处理方法。首先,分组处理部件31参照从输入/输出端口接收的分组搜索对应于流内容的输出端口是否出现在流表中。当流表中存在对应于流内容的输出端口时,分组处理部件31向输出端口传送分组。当流表中不存在对应于流内容的输出端口时,分组处理部件31通过上游通信部件33向通信控制单元I或中间盒2传送事件。特别地,分组处理部件31向中间盒2发送等效于用于识别流的识别信息的一部分或全部的信息。在该示例中,用于识别流的识别信息对应于“源地址和目的地地址”,以及发送到中间盒2的识别信息的一部分或全部对应于“目的地地址”。
[0070]条目设置部件34根据来自上游侧的单元的控制指令来更新流表的条目。例如,当接收到通信控制单元I计算的递送路径或中间盒2确定的递送路径时,条目设置部件34将递送路径登记为流表的条目。
[0071]分组处理部件31和条目设置部件34通过例如按照程序(通信流处理程序)操作的计算机的CPU来实现。例如,该程序存储在包括在中继单元3中的存储部件(未示出)中,以及CPU可以读程序,且可按照程序作为分组处理部件31和条目设置部件34操作。
[0072]同时,在示例性实施方式中,通信控制单元I直接连接到中间盒2,以及中间盒2直接连接到中继单元3。
[0073]接下来,将对动作进行说明。在以下说明中,流宏表和流表的条目在初始状态中处于图2和图3的示例所示的状态。此外,从中继单元3发送的事件的处理信息存储在流宏表中。
[0074]图4为图示了中继单元3向中间盒2查询分组输出目的地的处理示例的流程图。当中继单元3接收到分组时,分组处理部件31参照分组搜索对应于流内容的输出端口是否出现在流表中(步骤S31)。当对应于流内容的输出端口出现在流表中时(步骤S32中的“是”),分组处理部件31从输出端口输出分组(步骤S37)。即,对于在流表中存在条目的分组,在中继单元3中解析了输出端口,并且向其他计算机发送出该分组。例如,从具有地址A的计算机93向具有地址Y的计算机92发送的分组的输出目的地是端口 3003这个事实在图3所示的流表中是明显的,以及分组从端口 3003被发送出。
[0075]另一方面,当流表中不存在对应于流内容的输出端口时(步骤S32中的“否”),分组处理部件31通过上游通信部件33向中间盒2传送事件(步骤S33)。S卩,因为分组处理部件31不能确定分组的输出端口,属于其条目未出现在流表中的流,在中继单元3中,为了确定输出端口,分组处理部件向中间盒2发送出路径确定请求事件。例如,在图3所示的流表中,分组处理部件31不能解析从具有地址C的计算机93向具有地址Y的计算机9发送2的分组的目的地。因此,分组处理部件31发送出包括来自上游通信部件33的分组信息的路径确定请求事件。
[0076]当中间盒2的下游通信部件24从中继单元3接收事件时,事件处理部件21在流宏表中搜索与从中继单元3接收的事件对应的处理(步骤S34)。例如,事件处理部件21从包括在事件中的分组信息中提取表明“源地址C和目的地地址Y的分组从端口 3003输出”的条目和流宏表的对应条目。事件处理部件21向中继单元3发送用于命令更新流表的控制信息(步骤S35)。当中继单元3的上游通信部件33接收到控制信息时,条目设置部件34更新流表的条目(步骤S36)。此后,分组处理部件31从表明更新的条目的输出端口输出分组(步骤S37)。
[0077]同时,因为流控制由通信控制单元I执行,所以事件处理部件21可向中继单元3发送控制信息,以及同时或在此之后,可将关于控制信息的信息通知(告知)通信控制单元
I。此外,为了路径解析的目的,事件处理部件21可执行这个通知(告知)动作,以及为了减少负载的目的,可一次性地全部执行O个或多个路径解析动作。同时,事件处理部件21一次性地全部执行O个或多个路径解析动作的事实意味着事件处理部件21可按预定义的时间间隔执行通知(告知)动作。此外,也可以说事件处理部件21使用一定时间段的流逝作为触发器来执行通知(告知)动作。即,事件处理部件21可按定期的时间间隔执行通知(告知)动作,以及可在上一次通知(告知)的时间点开始逝去一定时间段之后执行通知(告知)动作。
[0078]通过上述处理,当中继单元3处理例如从具有地址C的计算机93向具有地址Y的计算机92发送的分组时,甚至当中继单元不给出对通信控制单元I的查询时,可以解析分组输出目的地。特别地,中继单元3能从端口 3003输出上述分组而不在通信控制单元I中产生路径计算过程,由此允许分组到达计算机92。
[0079]同时,在以上说明中,说明了在步骤S34中能从流宏表中提取数据的情况。在步骤S34中不能从流宏表中提取数据的情况下,当事件处理部件21执行向通信控制单元I传送事件等等以及从通信控制单元I接收控制信息时,条目设置部件25可根据控制信息更新流宏表的条目。
[0080]如上所述,在通信控制单元I控制中继单元3 (或中继单元组)这种类型的网络系统中,当中继单元3接收到分组时,可以存在分组处理部件31通过中继单元3中的流表不能确定处理的情况。这时,分组处理部件31从中继单元3向布置在中继单元3和通信控制单元I中间的中间盒2发送事件,设置用于创建比中继单元3处理的流单元或中继单元3处理的粒度条目更粗粒度的过程的规则。当中间盒2接收到事件时,事件处理部件21使用流宏表的内容和事件信息来创建细粒度的条目。事件处理部件21命令中继单元3更新流表。因此,用细粒度控制流同时抑制通信控制单元I的负载是可能的。
[0081]根据本发明,当中继单元3接收到分组时,分组处理部件31基于流表存储部件32的流识别信息321确定针对流的处理方法(例如,输出端口)。当不能确定处理方法时,分组处理部件31向中间盒2发送用于识别流的信息。当中间盒2从中继单元3接收到用于识别流的信息时,事件处理部件21基于接收到的信息和流宏表存储装置22的流识别信息223等确定中间盒动作224。为了控制流,事件处理部件21基于控制动作命令中继单元3更新流表存储部件32。当中继单元3检测到更新指令时,条目设置部件25基于更新指令用流表存储部件32登记针对流的处理方法(例如,输出端口)。因此,在通信控制单元I控制中继单元3或中继单元组这种类型的网络系统中,执行细粒度的流控制同时抑制通信控制单元I的负载是可能的。
[0082]接下来,将说明第一示例性实施方式的修改示例。图5为图示了根据本发明的第一示例性实施方式的修改示例的通信流控制系统的示例框图。与第一示例性实施方式相同的组件用与图1相同的标号和符号表示,且将省略其说明。
[0083]在第一示例性实施方式中,已说明了中间盒2的下游侧的单元是中继单元3的情况。在以下说明中,将说明多个中间盒存在于通信控制单元I和中继单元3之间的情况。图5所示的示例示出了 2个中间盒(中间盒2a和2b)连接在通信控制单元I和中继单元3之间。同时,在以下说明中,将说明2个中间盒连接在通信控制单元I和中继单元3之间的情况,但是中间盒的数量不限于2,而可以是3或更多。在图5所示的示例中,中间盒2a的下游通信部件24a向中间盒2b发出控制指令,并从中间盒2b接收事件。此外,中间盒2b的上游通信部件23b向中间盒2a发送事件,并从中间盒2a接收控制指令。
[0084]特别地,事件处理部件21b针对与从中继单元3接收的事件对应的处理而搜索流宏表。当流宏表中不存在与从中继单元3接收的事件对应的处理时,事件处理部件21b通过上游通信部件23b向中间盒2a执行事件的传送等。此外,事件处理部件21a针对与从中间盒2b接收的事件对应的处理而搜索流宏表。当流宏表中不存在与接收的事件对应的处理时,事件处理部件21a通过上游通信部件23a向通信控制部件I执行事件的传送等。
[0085]同时,流宏表存储部件22a和22b以及条目设置部件25a和25b分别与第一示例性实施方式中的流宏表存储部件22以及条目设置部件25相同。此外,上游通信部件23a与第一示例性实施方式中的上游通信部件23相同,以及下游通信部件24b与第一示例性实施方式中的下游通信部件24相同。此外,通信控制对应I和中继单元3的配置与第一示例性实施方式中的相同,并因此将省略其说明。即,事件处理部件21a(21b)和条目设置部件25a(25b)通过例如按照程序(单元控制程序)操作的计算机的CPU来实现。例如,该程序存储在包括在中间盒2a(2b)中的存储部件(未示出)中,以及该CPU可以读该程序,以及可按照该程序作为事件处理部件21a(21b)和条目设置部件25a(25b)操作。
[0086]在上述根据本发明的修改示例中,中间盒2a和2b连接在通信控制对应I和中继单元3之间。在修改的示例中,除了第一示例性实施方式,当从下游侧的单元(中间盒2b或中继单元3)接收到用于识别流的信息时,事件处理部件21a(21b)基于接收到的信息和存储在流宏表存储部件22a(22b)中的信息确定处理。事件处理部件21a(21b)基于该处理执行流宏表存储部件32的更新指令。因此,除了第一示例性实施方式的效果之外,还可以调节流宏表的负载或资源消耗。
[0087]示例性实施方式2
[0088]图6为图示了根据第二示例性实施方式的通信流控制系统示例的框图。同时,与第一示例性实施方式相同的组件用与图1相同的标号和符号表示,且将省略其说明。根据第二示例性实施方式的通信流控制系统包括:通信控制单元1、中间盒2、中间盒2'以及中继单元3'。中继单元3'直接连接到通信控制单元1、中间盒2和中间盒2'。此外,通信控制单元1、中间盒2、中间盒W以及中继单元3通过例如通信网络如公共网络连接,但是通信网络的形式不限于公共网络。即,在示例性实施方式中,将说明中继单元3'连接到上游侧的多个单元的情况。
[0089]中继单元3'除了包括分组处理部件31'、流表存储部件32、上游通信部件33、条目设置部件34以及输入/输出端口 3001到3003之外,还包括查询目的地条件存储部件35。查询目的地条件存储部件35是存储分组处理部件31'发送事件的目的地和用于确定相关的目的地的条件(此后,称为事件传输条件)的存储单元。例如,查询目的地条件存储部件35存储满足当对应于相关的条件时执行查询的上游侧的单元以及中继单元3'接收的未知分组的条件。查询目的地条件存储部件35的条目由例如管理员等预设置。
[0090]分组处理部件31'参照从输入/输出端口 3001到3003接收的分组搜索对应于流内容的输出端口是否存在于流表中。当对应于流内容的输出端口不在流表中时,分组处理部件31'向通信控制单元I或中间盒2通过上游通信部件33执行事件的传送等。这时,分组处理部件31响对应于满足存储在查询目的地条件存储部件35中的事件传输条件之外的流的传输条件的目的地发送事件。
[0091]图7为图示了查询目的地条件存储部件35的内容示例的示意图。在图7所示的示例中,例如,当接收到的分组的目的地是多播时,分组处理部件31'确定上游侧的单元(其是对应的目的地)是通信控制单元I。
[0092]分组处理部件31'和条目设置单元34通过例如按照程序(通信流处理程序)操作的计算机的CPU来实现。例如,该程序存储在包括在中继单元:V中的存储部件(未示出)中,以及CPU可以读程序,且可按照程序作为分组处理部件31'和条目设置部件34操作。
[0093]通信控制单元I和中间盒2的配置与第一示例性实施方式中的相同,以及中间盒2,的配置与中间盒2相同,且因此省略其说明。同时,在根据第二示例性实施方式的通信流控制系统中,虽然说明了包括两个中间盒2的情况,但是中间盒2的数量不限于二,可以是二或更多。
[0094]接下来,将提供动作的说明。图8为图示了处理示例的流程图,其中中继单元3响通信控制单元I或中间盒2查询分组输出目的地。中继单元3'能解析分组输出端口的情况下的处理与图4所示的处理相同(步骤S31和S32以及步骤S37中的“是”),且因此将省略其说明。
[0095]当对应于流内容的输出端口不在流表中时(步骤S32中的“否”),分组处理部件31'参照查询目的地条件存储部件35而确定执行传送事件等的上游侧的单元(步骤S41)。分组处理部件31响确定的上游侧的单元(通信控制单元I或中间盒2)执行事件传送等(步骤S42)。上游侧的单元(通信控制单元I或中间盒2)基于接收到的事件来确定处理(步骤S43),并发送用于命令中继单元3'更新流表的控制信息(步骤S44)。此后,直到中继单元Y的分组处理部件31'从输出端口输出分组的处理与图4所示的步骤S36和S37中的处理相同。
[0096]根据本发明,除了第一示例性实施方式之外,当分组处理部件31'不能确定流的处理方法时,分组处理部件向基于存储在查询目的地条件存储部件35中的信息确定的上游侧的单元发送用于识别流的信息。因此,除了第一示例性实施方式的效果之外,调节整个网络系统的负载也是可能的。
[0097]图9为图示了根据本发明的通信流控制系统的最小配置的框图。根据本发明的通信流控制系统包括通信流处理单元80 (例如中继单元3)和连接在通信控制单元和通信流处理单元80之间的处理确定单元70 (例如,中间盒2),其中通信流处理单元80基于由用于确定通信流的处理方法的通信控制单元(例如,通信控制单元I)所确定的处理方法来处理通信流,处理确定单元70响应于来自通信流处理单元80的请求来确定用于通信流的处理。
[0098]通信流处理单元80包括:处理方法存储装置81 (例如,流表存储部件32),用于将第一流识别信息(例如,流识别信息321)和处理方法(例如,输出端口 322)彼此关联地进行存储,其中第一流识别信息是用于识别通信流的信息;处理方法确定装置82 (例如,分组处理部件31),当接收到分组时处理方法确定装置82基于存储在处理方法存储装置81中的第一流识别信息来确定处理方法;流识别信息传输装置83 (例如,分组处理部件31),当处理方法确定装置82不能确定用于分组的通信流的处理方法时,流识别信息传输装置83向处理确定单元70发送等效于用于识别通信流的第一流识别信息的一部分或全部的分组中的信息(例如,事件);以及处理方法登记装置84(例如,条目设置部件25),当从处理确定单元70检测到用于通信流的控制指令(例如,流表存储部件32的更新指令)时,处理方法登记装置84利用处理方法存储装置81基于控制指令来登记通信流的处理方法(例如,基于源地址C,从端口 3003输出目的地地址为Y的分组)。
[0099]处理确定单元70包括:控制动作存储装置71 (例如,流宏表存储部件22),其将第二流识别信息(例如,中继单元标识符221、事件类型222和流识别信息223)和控制动作(例如,中间盒地址224)彼此相关联地进行存储,第二流识别信息是第一流识别信息的一部分或全部,控制动作是处理确定单元70执行的动作;控制动作确定装置72 (例如,事件处理部件21),其在从通信流处理单元80接收到等效于第一流识别信息的一部分或全部的分组中的信息时,基于存储在控制动作存储装置71中的第二流识别信息和接收到的信息来确定控制动作;以及控制指令装置73 (例如,事件处理部件21),其命令(例如,流表存储部件32的更新指令)通信流处理单元80基于控制动作确定装置72确定的控制动作来控制通/[目流O
[0100]利用这种配置,执行细粒度的流控制同时抑制网络系统中通信控制单元的负载是可能的,在该网络系统中通信控制单元控制中继单元或中继单元组。
[0101]而且,在上述示例性实施方式中,公开了一种配置,其中两个或更多处理确定单元70 (例如,中间盒2a和2b)连接在通信控制单元和通信流处理单元80之间,每个通信流处理单元80的控制动作确定装置72,在从另一处理确定单元70或通信流处理单元80 (例如,在下游侧的单元)在接收到等效于第一流识别信息的一部分或全部的分组中的信息时,基于存储在控制动作存储装置71中的第二流识别信息和接收到的信息来确定控制动作,以及通信流处理单元80的控制指令装置73命令另一处理确定单元70或通信流处理单元80 (从其中接收到等效于第一流识别信息的一部分或全部的分组中的信息)基于控制动作确定装置72确定的控制动作来控制通信流。
[0102]而且,在上述示例性实施方式中,公开了一种配置,其中通信流处理单元80包括:传输条件存储装置(例如,查询目的地条件存储部件35),其彼此相关联地存储用于发送等效于第一流识别信息的一部分或全部的分组中的信息的目的地以及用于确定目的地的传输条件(例如,事件传输条件),以及当处理方法确定装置82不能确定用于分组的通信流的处理方法时,流识别信息传输装置83 (例如,分组处理部件31')向对应于满足存储在传输条件存储装置中的事件传输条件之外的通信流的传输条件的目的地(例如,上游侧的单元)发送等效于第一流识别信息的一部分或全部的分组中的信息。这样,调节整个网络系统的负载是可能的。
[0103]而且,在上述示例性实施方式中,公开了一种配置,其中处理确定单元70包括:处理方法请求装置(例如,事件处理部件21),当控制动作确定装置72不能确定控制动作时,处理方法请求装置向通信控制单元(例如,通信控制单元I)发送确定用于通信流的处理方法的请求;以及控制动作登记装置(例如,条目设置部件25),当从通信控制单元接收到处理方法时,控制动作登记装置利用控制动作存储装置71基于处理方法来登记控制动作。
[0104]而且,在上述示例性实施方式中,公开了一种配置,其中处理确定单元70包括:通知装置(例如,事件处理部件21),其将控制动作确定装置72确定的控制动作通知通信控制单元。这样,通信控制单元能确定网络中针对流的处理。
[0105]如上所述,虽然已经参照示例性实施方式和示例说明了本发明,但是本发明不限于上述示例性实施方式和示例。本领域技术人员会理解可以在本发明范围内对本发明的配置或细节做出各种变更和修改。
[0106]本申请要求基于2009年3月30日在日本专利局提交的日本专利申请N0.2009-81938的优先权,其内容通过引用结合于此。
[0107]工业适用性
[0108]本发明适合应用于能抑制由网络系统中通信控制单元执行的流控制的负载的通信流控制系统,在该网络系统中,通信控制单元控制通信流。
[0109]标号列表
[0110]I通信控制单元
[0111]2,2a,2b,2'中间盒
[0112]3,3'中继单元
[0113]11路径计算部件
[0114]12中继单元控制部件
[0115]13中间盒控制部件
[0116]21,21a,21b事件处理部件
[0117]22,22a,22b流宏表存储部件
[0118]23,23a,23b上游通信部件
[0119]24,24a,24b下游通信部件
[0120]25,25a,25b条目设置部件
[0121]31,31'分组处理部件
[0122]32流表存储部件
[0123]33上游通信部件
[0124]34条目设置部件
[0125]35查询目的地条件存储部件
[0126]91到95计算机
[0127]99网络
[0128]3001到3003输入/输出端口
【权利要求】
1.一种系统,包括: 第一控制器,所述第一控制器向层级较低水平的控制器发送第一控制信息;以及 第二控制器,所述第二控制器将所述第一控制信息修改为第二控制信息,所述第二控制信息将被用于控制用于根据所述第二控制信息来转发分组的切换元件,从而第一匹配规则与第二匹配规则彼此不同,所述第一匹配规则用于根据所述第一控制信息识别分组流,所述第二匹配规则用于根据所述第二控制信息识别所述分组流。
2.根据权利要求1所述的系统,其中所述第二控制器将所述第一控制信息修改为所述第二控制信息,从而所述第一匹配规则隐含所述第二匹配规则。
3.根据权利要求1所述的系统,其中所述第二控制器将所述第一控制信息修改为所述第二控制信息,从而所述第一匹配规则所识别的分组的数目大于所述第二匹配规则所识别的分组的数目。
4.一种控制器,包括: 通信单元,所述通信单元用于接收由层级较低水平的控制器发出的第一控制信息;以及 处理器,所述处理器将所述第一控制信息修改为第二控制信息,所述第二控制信息将被用于控制用于根据所述第二控制信息来转发分组的切换元件,从而第一匹配规则与第二匹配规则彼此不同,所述第一匹配规则用于根据所述第一控制信息识别分组流,所述第二匹配规则用于根据所述第二控制信息识别所述分组流。
5.根据权利要求4所述的控制器,其中所述处理器将所述第一控制信息修改为所述第二控制信息,从而所述第一匹配规则隐含所述第二匹配规则。
6.根据权利要求4所述的控制器,其中所述处理器将所述第一控制信息修改为所述第二控制信息,从而所述第一匹配规则所识别的分组的数目大于所述第二匹配规则所识别的分组的数目。
7.一种方法,包括: 向层级较低水平的控制器发送第一控制信息;以及 将所述第一控制信息修改为第二控制信息,所述第二控制信息将被用于控制用于根据所述第二控制信息来转发分组的切换元件,从而第一匹配规则与第二匹配规则彼此不同,所述第一匹配规则用于根据所述第一控制信息识别分组流,所述第二匹配规则用于根据所述第二控制信息识别所述分组流。
8.根据权利要求7所述的方法,包括: 将所述第一控制信息修改为所述第二控制信息,从而所述第一匹配规则隐含所述第二匹配规则。
9.根据权利要求7所述的方法,包括: 将所述第一控制信息修改为所述第二控制信息,从而所述第一匹配规则所识别的分组的数目大于所述第二匹配规则所识别的分组的数目。
10.一种方法,包括: 接收由层级较低水平的控制器发出的第一控制信息;以及 将所述第一控制信息修改为第二控制信息,所述第二控制信息将被用于控制用于根据所述第二控制信息来转发分组的切换元件,从而第一匹配规则与第二匹配规则彼此不同,所述第一匹配规则用于根据所述第一控制信息识别分组流,所述第二匹配规则用于根据所述第二控制信息识别所述分组流。
11.根据权利要求10所述的方法,包括: 将所述第一控制信息修改为所述第二控制信息,从而所述第一匹配规则隐含所述第二匹配规则。
12.根据权利要求10所述的方法,包括: 将所述第一控制信息修改为所述第二控制信息,从而所述第一匹配规则所识别的分组的数目大于所述第二匹配规则所识别的分组的数目。
【文档编号】H04L12/811GK104301242SQ201410476587
【公开日】2015年1月21日 申请日期:2010年3月8日 优先权日:2009年3月30日
【发明者】伊泽彻 申请人:日本电气株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1