CN103370911A - 流通信系统 - Google Patents
流通信系统 Download PDFInfo
- Publication number
- CN103370911A CN103370911A CN2011800678033A CN201180067803A CN103370911A CN 103370911 A CN103370911 A CN 103370911A CN 2011800678033 A CN2011800678033 A CN 2011800678033A CN 201180067803 A CN201180067803 A CN 201180067803A CN 103370911 A CN103370911 A CN 103370911A
- Authority
- CN
- China
- Prior art keywords
- grouping
- subclauses
- clauses
- stream
- node
- 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
- 238000004891 communication Methods 0.000 title claims abstract description 39
- 238000012545 processing Methods 0.000 claims abstract description 40
- 238000012217 deletion Methods 0.000 claims abstract description 38
- 230000037430 deletion Effects 0.000 claims abstract description 38
- 230000008878 coupling Effects 0.000 claims description 9
- 238000010168 coupling process Methods 0.000 claims description 9
- 238000005859 coupling reaction Methods 0.000 claims description 9
- 230000004044 response Effects 0.000 claims description 5
- 230000000295 complement effect Effects 0.000 description 17
- 238000000034 method Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 14
- 230000009471 action Effects 0.000 description 12
- 230000008859 change Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000004075 alteration Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 101001109518 Homo sapiens N-acetylneuraminate lyase Proteins 0.000 description 1
- 102100022686 N-acetylneuraminate lyase Human genes 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/43—Assembling or disassembling of packets, e.g. segmentation and reassembly [SAR]
-
- 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/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- 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
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/645—Splitting route computation layer and forwarding layer, e.g. routing according to path computational element [PCE] or based on OpenFlow functionality
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种流通信系统,具有:具有流表的节点;以及控制器,配置成在流表中设定流条目。在流表中设定的每个流条目都指定对于与匹配条件匹配的分组执行的分组处理。如果在流表中存在命中条目,则节点对于接收的分组执行由命中条目指定的分组处理。如果满足关于流表中的第一流条目的删除条件,则节点从流表中删除第一流条目。删除条件包括:建立第一流条目之后与第一流条目匹配的所有接收的分组的分组长度的总和超过预定删除单元长度。
Description
技术领域
本发明涉及使用流表的流通信系统。
背景技术
在非专利文献1(Nick McKeown等人的“OpenFlow:EnablingInnovation in Campus Networks”,ACM SIGCOMM ComputerCommunication Reviw,Vol.38,No.2,2008)中描述了技术“开放流(OpenFlow)”。根据开放流,相对于每个流执行路由控制、故障恢复、负载平衡和优化。在开放流中使用用作转发节点的开放流交换机(OFS)和控制开放流交换机的开放流控制器(OFC)。
将参考图1来描述开放流中的典型分组处理。开放流交换机具有流表,并且根据流表来执行分组处理。流表中的每个流条目都具有诸如匹配条件(键)、动作(动作)、统计信息(统计)和超时值(超时)的字段。由分组报头的字段的组合表示的匹配条件用于确定接收分组是否与流条目匹配。该动作指示对与匹配条件匹配的分组执行的分组处理的内容(例如,分组处理要将接收的分组输出到指定端口)。
当接收到属于流的分组时,开放流交换机参考流表来搜索其匹配条件与接收的分组匹配的流条目。下文中,与接收的分组匹配的流条目被称为“命中条目”。如果在流表中还没有设定命中条目(即,在未命中的情况下),开放流交换机将接收的分组作为条目建立请求(第一分组)发送到开放流控制器。
开放流控制器从开放流交换机接收条目建立请求(第一分组)。响应于第一分组的接收,开放流控制器生成用于处理第一分组的新的流条目,并且在开放流交换机的流表中设定新的流条目。更具体地,开放流控制器指示开放流交换机将新的流条目添加到流表,并且开放流交换机根据指令来将新的流条目添加到流表。
随后,开放流控制器将第一分组发送回开放流交换机。开放流交换机再次接收第一分组作为接收的分组。此时,在流表中存在与第一分组匹配的命中条目(即,在命中的情况下)。在该情况下,开放流交换机相对于接收的分组执行由命中条目的动作指定的处理。此后,在不通过开放流控制器的情况下,根据相同的命中条目来处理属于与第一分组相同的流的分组。
如果从新建立流条目开始已经经过了特定时间,或者如果从流条目最后一次变为命中条目开始已经经过了特定时间,则从流表中删除流条目。指定上述特定时间的是每个流条目中的超时值(超时)。即,开放流交换机监视每个流条目中的超时,并且如果在流条目中出现超时,则从流表中删除(移除)流条目。
引用列表
非专利文献
[NPL1]Nick McKeown等人的“OpenFlow:Enabling Innovation inCampus Networks”,ACM SIGCOMM Computer Review,Vol.38,No.2,2008。(http://www.openflowswitch.org//documents/openflow-wp-latest.pdf)
发明内容
本申请的发明人已经认识到下述点。在如图1中所示的典型开放流的情况下,对于属于相同的单个流的分组序列执行相同的分组处理。换句话说,无法对于属于相同的单个流的分组序列执行根据条件的不同分组处理(例如,输出到不同输出端口)。例如,当通过单个流传送多个消息时,无法对于每个消息执行不同的切换。
本发明的目的在于提供一种能够对于属于单个流的分组序列执行多种分组处理的技术。
在本发明的一方面中,提供了一种流通信系统。该流通信系统具有:具有流表的节点;以及控制器,该控制器被配置成在流表中设定流条目。在流表中设定的每个流条目都指定对于与匹配条件匹配的分组执行的分组处理。由节点接收到的分组匹配的流条目是命中条目。如果在流表中存在命中条目,则节点对于接收的分组执行由命中条目指定的分组处理。如果满足关于流表中的第一流条目的删除条件,则节点从流表中删除第一流条目。删除条件包括:在建立第一流条目之后与第一流条目匹配的所有接收的分组的分组长度的总和超过预定删除单元长度。
在本发明的另一方面中,提供了一种节点。该节点具有:表管理单元,该表管理单元被配置成管理流表;以及分组处理单元,该分组处理单元被配置成对于接收的分组执行分组处理。在流表中设定的每个流条目均指定对于与匹配条件匹配的分组执行的分组处理。所接收的分组匹配的流条目是命中条目。如果在流表中存在命中条目,则分组处理单元对于接收分组执行由命中条目指定的分组处理。如果满足对于流表中的第一流条目的删除条件,则表管理单元从流表中删除第一流条目。删除条件包括:在建立第一流条目之后,与第一流条目匹配的所有接收的分组的分组长度的总和超过预定删除单元长度。
根据本发明,能够对于属于单个流的分组序列执行多种分组处理。
附图说明
图1是用于解释典型开放流的概念图。
图2是示出根据本发明的示例性实施例的流通信的概念图。
图3是示出根据本发明的示例性实施例的流通信的概念图。
图4是示出根据本发明的示例性实施例的流通信系统的配置的框图。
图5是示出根据本发明的示例性实施例的流表的概念图。
图6是示出根据本发明的示例性实施例的由节点进行的处理的流程图。
图7是示出根据本发明的示例性实施例的由控制器进行的处理的流程图。
图8示出了根据本发明的示例性实施例的流通信系统中的第一处理示例。
图9是本发明的示例性实施例中的用于解释要求分组划分的分组的概念图。
图10示出了根据本发明的示例性实施例的流通信系统中的第二处理示例。
图11示出了本发明的示例性实施例的第一应用示例。
图12示出了本发明的示例性实施例的第一应用示例中的处理。
图13示出了本发明的示例性实施例的第二应用示例。
图14示出了本发明的示例性实施例的第二应用示例中的处理。
具体实施方式
将参考附图来描述本发明的示例性实施例。
1.概要
图2概念性地示出了根据本发明的示例性实施例的流通信。在图2中,由A个分组P-11至P-1A构成的第一分组群和由B个分组P-21至P-2B构成的第二分组群属于相同流。
根据本示例性实施例,能够将不同分组处理(动作1和动作2)分别应用于第一分组群和第二分组群。为此目的,在根据流条目处理了第一分组群之后,从流表中删除流条目。此后,重新设定用于处理第二分组群的不同流条目。因此,能够将不同的分组处理分别应用于第一分组群和第二分组群。
即,根据本示例性实施例,独立于不同于传统的超时(超时),引入了取决于分组处理量的新的删除条件作为用于从流表中删除流条目的条件。新的删除条件是“由流条目处理的分组量超过预定量”。更具体地,新的删除条件是“在建立流条目之后与流条目匹配的所有所接收的分组的分组长度的总和超过预定删除单元长度”。结果,对于属于相同流的分组序列的分组处理可以针对每个删除单元长度而改变。
作为示例,考虑如图3中所示的通过单个流通信的多个消息(M1和M2)的情况。在此,该消息是由分组的上层(通常为应用层)传送和接收的数据单元。消息的示例包括HTTP请求和HTTP响应。根据本示例性实施例,在通过相同的单个流传送多个消息的情况下,分组处理可以针对每个消息而改变。例如,如图3中所示,将分组处理动作1应用于划分为分组P-11至P-1A的消息M1并且进行传送。将关于指定分组处理动作1的流条目的删除单元长度设定为取决于消息M1的消息长度的值。结果,在完成对于消息M1的分组处理之后,删除流条目。此后,在流表中设定新的流条目,以便于处理第二消息M2。将对于新的流条目的删除单元长度设定为取决于消息M2的消息长度的值。
根据本示例性实施例,如上所述,能够对于属于单个流的分组序列执行多种分组处理。
2.配置
图4是示出根据本示例性实施例的流通信系统1的配置的框图。流通信系统1具有节点10和控制器20。节点10和控制器20彼此可通信地连接。例如,在开放流的情况下,节点10是开放流交换机(OFS),并且控制器20是开放流控制器(OFC)。
节点10具有流表TBL,并且根据流表TBL来执行分组处理。更具体地,节点10具有表管理单元11、分组处理单元12、控制器通信单元13和N个端口15-1至15-N。表管理单元11管理流表TBL。表管理单元11具有存储器设备,并且流表TBL被存储在存储器设备中。分组处理单元12通过端口15(输入端口)接收分组。分组处理单元12参考流表TBL来对于接收的分组执行分组处理。而且,分组处理单元12通过端口15(输出端口)传送分组。控制器通信单元13具有与控制器20进行通信的功能。在开放流的情况下,安全信道(SecureChannel)对应于控制器通信单元13。
控制器20在流表TBL中设定流条目。
图5是示出根据本示例性实施例的流表TBL的概念图。流表TBL具有0个或多个流条目(条目1、条目2、条目3...)。每个流条目ENT都具有诸如匹配条件(键)、动作(动作)、统计信息(统计)和超时值(超时)的字段。由分组报头的字段的组合表示的匹配条件用于确定接收分组是否与流条目ENT匹配。动作指示对于与匹配条件匹配的分组执行的分组处理的内容(例如,分组处理要将接收分组输出到指定端口)。
根据本示例性实施例,每个流条目ENT还具有参数“字节_终止(Byte_expire)”。字节_终止是在删除流条目ENT之前允许的分组处理量。即,字节_终止与条目删除之前的“剩余处理量”相对应。当重新建立流条目ENT时,将其字节_终止初始化为上述预定的删除单元长度。然后,每次流条目ENT成为命中条目时,就使字节_终止减少接收的分组的分组长度。小于接收的分组的分组长度的字节_终止意味着满足上述“删除条件”。因此,在该情况下,从流表TBL中删除流条目ENT。
3.处理流
以下将描述根据本示例性实施例的通过流通信系统进行的处理的流程。图6是示出通过节点10进行的处理的流程图。图7是示出通过控制器20进行的处理的流程图。
当适当时,将参考图4至图7来描述图8中所示的处理示例。在图8中所示的处理示例中,通过单个流来传送多个消息(M1和M2)。在此,每个消息(TLV(类型-长度-值)消息)的消息长度均大于分组长度,并且每个消息均被划分为多个分组以进行传送。例如,分组长度是1500字节,并且消息长度是7300字节。应该注意,在每个消息前面的消息报头(在附图中,消息报头由“h”来指示)中指示消息长度。
首先,节点10的分组处理单元12接收消息M1的初始分组(步骤S10)。响应于分组接收,分组处理单元12参考流表TBL来搜索其匹配条件与接收的分组匹配的流条目(步骤S11)。此后,与接收的分组匹配的流条目被称为“命中条目”。
此时,在流表TBL中不存在命中条目(步骤S12;否)。在该情况下,分组处理单元12使用接收的分组作为第一分组(条目建立请求),并且通过控制器通信单元13将第一分组转发到控制器20(步骤S17)。
控制器20从节点10接收第一分组(步骤S20)。接下来,控制器20基于第一分组来确定第一分组的划分是否是必须的(步骤S21)。在图8中所示的处理示例中,分组划分不是必须的(步骤S21;否)。在该情况下,控制器20基于第一分组来在流表TBL中建立用于处理第一分组的新的流条目ENT(步骤S22)。
更具体地,控制器20首先创建用于处理第一分组的新的流条目ENT。在此,控制器20确定新的流条目ENT的字节_终止的初始值,即删除单元长度。在本示例中,删除单元长度被设定为取决于消息长度的值,以便于针对每个消息改变分组处理。因此,控制器20参考在第一分组的分组数据前面的消息报头来获得消息长度(=7300字节),并且根据消息长度来将字节_终止初始化为删除单元长度。例如,考虑到增加了分组报头的长度,并且删除单元长度(字节_终止的初始值)被确定为7500字节。然后,控制器20指示节点10将新的流条目ENT添加到流表TBL。
节点10的控制器通信单元13从控制器20接收条目建立指令,并且将条目建立指令传递到表管理单元11。根据条目建立指令,表管理单元11将新的流条目ENT添加到流表TBL(步骤S18)。此后,控制器20将第一分组发送回节点10(步骤S23)。
节点10的分组处理单元12再次接收第一分组作为接收的分组(步骤S10)。分组处理单元12针对与接收的分组匹配的命中条目来搜索流表TBL(步骤S11)。此时,在流表TBL中存在命中条目(步骤S12;是)。
在存在命中条目的情况下,表管理单元11检查命中条目的字节_终止(步骤S13)。更具体地,表管理单元11检查命中条目的字节_终止是否等于或大于接收的分组的分组长度LEN(=1500字节)。如果命中条目的字节_终止等于或大于接收分组的分组长度LEN(步骤S13;是),则表管理单元11使命中条目的字节_终止减小分组长度LEN(步骤S14)。然后,分组处理单元12对于接收的分组执行由命中条目的动作所指定的分组处理(步骤S15)。
因此,在不通过控制器20的情况下,根据相同的流条目ENT来处理第一分组之后的分组。而且,每当流条目ENT成为命中条目时,都使流条目ENT的字节_终止减小分组长度LEN(=1500字节)。在图8中所示的示例中,当对于消息M1的所有分组的处理完成时,流条目ENT的字节_终止变为“0”。
接下来,节点10的分组处理单元12接收消息M2的初始分组(步骤S10)。在该情况下,虽然在流表TBL中存在命中条目(步骤S12;是),但是命中条目的字节_终止小于接收的分组的分组长度LEN(步骤S13;否)。这意味着,关于流条目ENT的删除条件被满足。因此,表管理单元11从流表TBL中删除流条目ENT(步骤S16)。而且,分组处理单元12使用接收的分组作为第一分组(条目建立请求),并且通过控制器通信单元13来将第一分组转发到控制器20(步骤S17)。此后,对于消息M2执行相同的处理。
以此方式,根据本示例,关于多个消息中的每一个依序设定不同流条目。结果,即使通过相同流传送多个消息,也可以针对每个消息改变分组处理。
接下来,将描述另一处理示例。当通过相同的流传送多个消息时,可以存在包括消息边界的分组。例如,如图9中所示,可以存在消息M1的数据和消息M2的数据都包括在单个分组PA的分组数据中的情况。具体地,分组PA的分组数据的前部设置有消息M1的尾端数据,并且其后部设置有包括消息报头的消息M2的头部数据。在该情况下,对于针对每个消息来改变分组处理有必要进行分组PA的划分(分割)。
图10示出了执行这样的分组PA的划分的处理示例。在图10中所示的处理示例中,当节点10接收到分组PA时,删除条件被满足,并且由此将分组PA作为第一分组转发到控制器20。
控制器20从节点10接收分组PA(第一分组)(步骤S20)。接下来,控制器20基于分组PA来确定分组PA的划分是否是必要的(步骤S21)。在本示例中,在分组PA的分组数据头部处不存在消息报头。在该情况下,控制器20确定分组划分是必要的(步骤S21;是),并且将分组PA划分为前部分组PB和后部分组PC(步骤S24)。前部分组PB具有在消息报头之前的分组PA的分组数据的前部作为分组数据。另一方面,后部分组PC具有在消息报头之后的分组PA的分组数据的后部作为分组数据。
控制器20将前部分组PB发送回节点10(步骤S25)。此时,已经删除了与前部分组PB匹配的流条目ENT。因此,控制器20同时指示分组处理要应用于前部分组PB。根据该指令,节点10的分组处理单元12处理前部分组PB。
同时,控制器20基于后部分组PC来在流表TBL中设定用于处理后部分组PC的新的流条目ENT(步骤S26)。在此,控制器20参考后部分组PC的分组数据前面的消息报头来获得消息长度,并且将字节_终止初始化为取决于消息长度的删除单元长度。在将新的流条目ENT添加到流表TBL之后,控制器20将后部分组PC发送回节点10(步骤S27)。根据新的流条目ENT来处理后部分组PC。以该方式,可以针对每个消息来改变分组处理。
应该注意,在不考虑分组报头的长度的情况下,可以将消息长度本身用作删除单元长度。在该情况下,较早地满足删除条件,这不导致任何问题。
本示例性实施例可以结合取决于超时的传统条目删除处理来进行使用。
4.应用示例
4-1.第一应用示例
图11和图12示出了本示例性实施例的第一应用示例。第一应用示例涉及当在单个TCP流上复用多个HTTP消息(M1和M2)时的负载平衡。节点10是开放流交换机(OFS),并且控制器20是开放流控制器(OFC)。在保持活动选项的情况下,多个HTTP消息被包括在单个TCP连接中。开放流控制器20基于每个HTTP消息的消息报头来针对每个HTTP消息的分组确定目的地服务器40。开放流控制器20针对TCP分发器30的每个HTTP消息来指定目的地服务器40。TCP分发器30将分组分发到分别指定的目的地服务器40。例如,HTTP消息M1被分发到服务器40-1,并且HTTP消息M2被分发到服务器40-2。以该方式,即使在单个TCP流上复用多个HTTP消息的情况下,也能够进行负载平衡。
4-2.第二应用示例
图13和图14示出了本示例性实施例的第二应用示例。第二应用示例涉及在单个TCP流上复用多个iSCSI LUN流的情况。为了仅优先分发特定iSCSI LUN流,本示例性实施例是可应用的。节点10是NIC,并且控制器20是虚拟交换机(vswitch)。虚拟交换机20参考报头来针对每个PDU确定流(正常流或优先流)。虚拟交换机20仅将特定iSCSI LUN流设定为优先流。
虽然以上参考附图描述了本发明的示例性实施例,但是本发明不限于这些示例性实施例,并且可以在不脱离本发明的精神和范围的情况下,由本领域技术人员适当地进行修改。
虽然上述示例性实施例的一部分或整体可以描述为以下补充注释,但是不限于此。
(补充注释1)
一种流通信系统,包括:
节点,该节点具有流表;以及
控制器,该控制器被配置成在所述流表中设定流条目,
其中,在所述流表中设定的每个流条目均指定对于与匹配条件匹配的分组执行的分组处理,
其中,由所述节点接收的分组所匹配的流条目是命中条目,
其中,如果在所述流表中存在所述命中条目,则所述节点对于所接收的分组执行由所述命中条目指定的所述分组处理,
其中,如果满足对于所述流表中的第一流条目的删除条件,则所述节点从所述流表中删除所述第一流条目,并且
其中,所述删除条件包括:在建立所述第一流条目之后,与所述第一流条目匹配的所有所接收的分组的分组长度的总和超过预定删除单元长度。
(补充注释2)
根据补充注释1的流通信系统,
其中,在所述流表中设定的每个流条目进一步具有剩余处理量作为参数,
其中,当建立新的流条目时,所述控制器将所述剩余处理量初始化为所述预定删除单元长度,
其中,如果所述第一流条目变为所述命中条目,则所述节点检查所述第一流条目的所述剩余处理量,
其中,如果所述剩余处理量等于或大于所接收分组的分组长度,则所述节点使所述第一流条目的所述剩余处理量减少所述接收的分组的分组长度,并且
其中,如果所述剩余处理量小于所述接收的分组的分组长度,则满足所述删除条件,并且所述节点从所述流表中删除所述第一流条目。
(补充注释3)
根据补充注释1或2的流通信系统,
其中,如果在所述流表中不存在所述命中条目或者如果满足所述删除条件,则所述节点将所述接收的分组作为第一分组转发到所述控制器,并且
其中,响应于所述第一分组的接收,所述控制器在所述流表中建立用于处理所述第一分组的新的流条目。
(补充注释4)
根据补充注释3的流通信系统,
其中,通过单个流来通信多个消息,并且
其中,所述控制器基于所述多个消息中的每一个的消息长度来确定所述预定删除单元长度,并且对于所述多个消息中的每一个依序设定不同流条目。
(补充注释5)
根据补充注释4的流通信系统,
其中,在消息报头中指定所述消息长度,并且
其中,如果在所述第一分组的分组数据前面存在所述消息报头,则所述控制器基于所述消息报头来建立所述新的流条目,并且此后将所述第一分组发送回所述节点。
(补充注释6)
根据补充注释5的流通信系统,
其中,如果在所述第一分组的分组数据前面不存在所述消息报头,则所述控制器将所述第一分组划分为第二分组和第三分组,
其中,所述第二分组具有所述消息报头之前的所述第一分组的所述分组数据的一部分作为分组数据,
其中,所述第三分组具有所述消息报头之后的所述第一分组的所述分组数据的一部分作为分组数据,
其中,所述控制器将所述第二分组发送回所述节点,指示所述分组处理要应用于所述第二分组,并且
其中,所述控制器基于所述消息报头来建立所述新的流条目,并且此后将所述第三分组发送回所述节点。
(补充注释7)
根据补充注释1至6中的任何一个的流通信系统,
其中,所述节点是开放流交换机,并且
所述控制器是开放流控制器。
(补充注释8)
一种节点,包括:
表管理单元,该表管理单元被配置成管理流表;以及
分组处理单元,该分组处理单元被配置成对于接收的分组执行分组处理,
其中,在所述流表中设定的每个流条目均指定对于与匹配条件匹配的分组执行的所述分组处理,
其中,所接收的分组匹配的流条目是命中条目,
其中,如果在所述流表中存在所述命中条目,则所述分组处理单元对于所述接收的分组执行由所述命中条目指定的所述分组处理,
其中,如果满足对于所述流表中的第一流条目的删除条件,则所述表管理单元从所述流表中删除所述第一流条目,并且
其中,所述删除条件包括:在建立所述第一流条目之后,与所述第一流条目匹配的所有所接收的分组的分组长度的总和超过预定删除单元长度。
(补充注释9)
根据补充注释8的节点,
其中,在所述流表中设定的每个流条目进一步具有剩余处理量作为参数,
其中,当在所述流表中建立新的流条目时,将所述剩余处理量初始化为所述预定删除单元长度,
其中,如果所述第一流条目变为所述命中条目,则所述表管理单元检查所述第一流条目的所述剩余处理量,
其中,如果所述剩余处理量等于或大于所述接收的分组的分组长度,则所述表管理单元使所述第一流条目的所述剩余处理量减少所接收的分组的分组长度,并且
其中,如果所述剩余处理量小于所述接收的分组的分组长度,则所述删除条件被满足,并且所述表管理单元从所述流表中删除所述第一流条目。
本申请基于并且要求于2011年2月17日提交的日本专利申请No.2011-031737的优先权的权益,其全部内容通过引用合并于此。
附图标记的解释
1 流通信系统
10 节点
11 表管理单元
12 分组处理单元
13 控制器通信单元
15 端口
20 控制器
TBL 流表
Claims (9)
1.一种流通信系统,包括:
节点,所述节点具有流表;以及
控制器,所述控制器被配置成在所述流表中设定流条目,
其中,在所述流表中设定的每个流条目都指定对于与匹配条件匹配的分组执行的分组处理,
其中,由所述节点接收的分组所匹配的流条目是命中条目,
其中,如果在所述流表中存在所述命中条目,则所述节点对于所述接收的分组执行由所述命中条目指定的所述分组处理,
其中,如果满足关于所述流表中的第一流条目的删除条件,则所述节点从所述流表中删除所述第一流条目,并且
其中,所述删除条件包括:在建立所述第一流条目之后与所述第一流条目匹配的所有接收的分组的分组长度的总和超过预定删除单元长度。
2.根据权利要求1所述的流通信系统,
其中,在所述流表中设定的每个流条目进一步具有剩余处理量作为参数,
其中,当建立新的流条目时,所述控制器将所述剩余处理量初始化为所述预定删除单元长度,
其中,如果所述第一流条目变为所述命中条目,则所述节点检查所述第一流条目的所述剩余处理量,
其中,如果所述剩余处理量等于或大于所述接收的分组的分组长度,则所述节点使所述第一流条目的所述剩余处理量减少所述接收的分组的分组长度,并且
其中,如果所述剩余处理量小于所述接收的分组的分组长度,则所述删除条件被满足,并且所述节点从所述流表中删除所述第一流条目。
3.根据权利要求1所述的流通信系统,
其中,如果在所述流表中不存在所述命中条目或者如果满足所述删除条件,则所述节点将所述接收的分组作为第一分组转发到所述控制器,并且
其中,响应于所述第一分组的接收,所述控制器在所述流表中建立用于处理所述第一分组的新的流条目。
4.根据权利要求3所述的流通信系统,
其中,通过单个流来通信多个消息,并且
其中,所述控制器基于所述多个消息中的每一个的消息长度来确定所述预定删除单元长度,并且关于所述多个消息中的每一个依序设定不同流条目。
5.根据权利要求4所述的流通信系统,
其中,在消息报头中指定所述消息长度,并且
其中,如果在所述第一分组的分组数据前面存在所述消息报头,则所述控制器基于所述消息报头来建立所述新的流条目,并且此后将所述第一分组发送回所述节点。
6.根据权利要求5所述的流通信系统,
其中,如果在所述第一分组的分组数据前面不存在所述消息报头,则所述控制器将所述第一分组划分为第二分组和第三分组,
其中,所述第二分组具有所述消息报头之前的所述第一分组的所述分组数据的一部分作为分组数据,
其中,所述第三分组具有所述消息报头之后的所述第一分组的所述分组数据的一部分作为分组数据,
其中,所述控制器将所述第二分组发送回所述节点,指示所述分组处理要应用于所述第二分组,并且
其中,所述控制器基于所述消息报头来建立所述新的流条目,并且此后将所述第三分组发送回所述节点。
7.根据权利要求1所述的流通信系统,
其中,所述节点是开放流交换机,并且
所述控制器是开放流控制器。
8.一种节点,包括:
表管理单元,所述表管理单元被配置成管理流表;以及
分组处理单元,所述分组处理单元被配置成对于接收的分组执行分组处理,
其中,在所述流表中设定的每个流条目都指定对于与匹配条件匹配的分组执行的所述分组处理,
其中,所述接收的分组所匹配的流条目是命中条目,
其中,如果在所述流表中存在所述命中条目,则所述分组处理单元对于所述接收的分组执行由所述命中条目指定的所述分组处理,
其中,如果满足关于所述流表中的第一流条目的删除条件,则所述表管理单元从所述流表中删除所述第一流条目,并且
其中,所述删除条件包括:在建立所述第一流条目之后与所述第一流条目匹配的所有接收的分组的分组长度的总和超过预定删除单元长度。
9.根据权利要求8所述的节点,
其中,在所述流表中设定的每个流条目进一步具有剩余处理量作为参数,
其中,当在所述流表中建立新的流条目时,将所述剩余处理量初始化为所述预定删除单元长度,
其中,如果所述第一流条目变为所述命中条目,则所述表管理单元检查所述第一流条目的所述剩余处理量,
其中,如果所述剩余处理量等于或大于所述接收的分组的分组长度,则所述表管理单元使所述第一流条目的所述剩余处理量减少所述接收的分组的分组长度,并且
其中,如果所述剩余处理量小于所述接收的分组的分组长度,则所述删除条件被满足,并且所述表管理单元从所述流表中删除所述第一流条目。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011-031737 | 2011-02-17 | ||
JP2011031737 | 2011-02-17 | ||
PCT/JP2011/004601 WO2012111051A1 (en) | 2011-02-17 | 2011-08-16 | Flow communication system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103370911A true CN103370911A (zh) | 2013-10-23 |
CN103370911B CN103370911B (zh) | 2016-08-10 |
Family
ID=46672017
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180067803.3A Active CN103370911B (zh) | 2011-02-17 | 2011-08-16 | 流通信系统 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9083657B2 (zh) |
EP (1) | EP2676410B1 (zh) |
JP (1) | JP5884822B2 (zh) |
KR (1) | KR101434375B1 (zh) |
CN (1) | CN103370911B (zh) |
WO (1) | WO2012111051A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015035813A1 (zh) * | 2013-09-16 | 2015-03-19 | 中兴通讯股份有限公司 | 上报交换机类型的方法及装置 |
CN105340217A (zh) * | 2013-12-31 | 2016-02-17 | 华为技术有限公司 | 一种报文处理方法、装置及系统 |
CN105743687A (zh) * | 2014-12-12 | 2016-07-06 | 中兴通讯股份有限公司 | 节点故障的判断方法及装置 |
CN106664253A (zh) * | 2015-06-30 | 2017-05-10 | 华为技术有限公司 | 流表老化方法、交换机及控制器 |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013042358A1 (en) * | 2011-09-21 | 2013-03-28 | Nec Corporation | Communication apparatus, communication system, communication control method, and program |
WO2013147053A1 (ja) * | 2012-03-30 | 2013-10-03 | 日本電気株式会社 | 制御装置、通信装置、通信方法及びプログラム |
US10129182B2 (en) * | 2012-06-29 | 2018-11-13 | Juniper Networks, Inc. | Methods and apparatus for providing services in distributed switch |
US10097481B2 (en) | 2012-06-29 | 2018-10-09 | Juniper Networks, Inc. | Methods and apparatus for providing services in distributed switch |
US9712439B2 (en) * | 2013-02-28 | 2017-07-18 | Texas Instruments Incorporated | Packet processing match and action unit with configurable memory allocation |
WO2014142095A1 (ja) * | 2013-03-12 | 2014-09-18 | 日本電気株式会社 | 制御装置、通信システム、同期方法及びプログラム |
KR101595160B1 (ko) * | 2013-07-17 | 2016-02-17 | 주식회사 케이티 | 소프트웨어 정의 네트워킹 네트워크에서 트랜잭션 관리 방법 |
CN104734988B (zh) * | 2013-12-23 | 2018-10-30 | 杭州华为数字技术有限公司 | 软件定义网络中路由控制的方法和开放流控制器 |
WO2015139199A1 (zh) * | 2014-03-18 | 2015-09-24 | 华为技术有限公司 | 统计信息上报方法及装置 |
CN104954271B (zh) * | 2014-03-26 | 2018-11-30 | 国际商业机器公司 | Sdn网络中的数据包处理方法和装置 |
US9652419B1 (en) * | 2014-08-05 | 2017-05-16 | Google Inc. | Method and system for filtering flow table counters |
WO2016023148A1 (zh) * | 2014-08-11 | 2016-02-18 | 华为技术有限公司 | 报文的控制方法、交换机及控制器 |
US11720424B2 (en) * | 2021-03-12 | 2023-08-08 | Salesforce, Inc. | Single flow execution |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1578272A (zh) * | 2003-07-11 | 2005-02-09 | 株式会社日立制作所 | 具有统计收集装置的数据包传送装置和统计收集方法 |
CN101572670A (zh) * | 2009-05-07 | 2009-11-04 | 成都市华为赛门铁克科技有限公司 | 一种基于流表的数据包处理方法、装置和网络系统 |
US7817549B1 (en) * | 2006-06-30 | 2010-10-19 | Extreme Networks, Inc. | Flexible flow-aging mechanism |
CN101938396A (zh) * | 2009-06-30 | 2011-01-05 | 华为技术有限公司 | 数据流控制方法及装置 |
CN102035748A (zh) * | 2010-12-31 | 2011-04-27 | 深圳市深信服电子科技有限公司 | 一种基于应用的流量控制方法及流量控制器 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1032165A1 (en) * | 1999-02-26 | 2000-08-30 | International Business Machines Corporation | Method of assembling segmented frames of data transmitted over a backbone |
US7305492B2 (en) * | 2001-07-06 | 2007-12-04 | Juniper Networks, Inc. | Content service aggregation system |
US7817640B2 (en) * | 2003-12-31 | 2010-10-19 | Florida State University | Fair round robin scheduler for network systems |
US7606154B1 (en) * | 2004-04-01 | 2009-10-20 | Juniper Networks, Inc. | Fair bandwidth allocation based on configurable service classes |
JP4392294B2 (ja) | 2004-06-15 | 2009-12-24 | 株式会社日立製作所 | 通信統計収集装置 |
WO2006085374A1 (ja) * | 2005-02-10 | 2006-08-17 | Fujitsu Limited | 通信装置 |
DE202005005890U1 (de) | 2005-04-13 | 2005-06-16 | Moll System- und Funktionsmöbel GmbH | Möbel mit entnehmbarem Behälter in seinem Auszug |
US20080259867A1 (en) * | 2007-04-22 | 2008-10-23 | Chuanxiong Guo | Method and system for scheduling packets from different flows to provide fair bandwidth sharing |
JP5483149B2 (ja) * | 2009-01-06 | 2014-05-07 | 日本電気株式会社 | 通信システム、管理計算機、スタックドスイッチ、フロー経路決定方法 |
WO2011102312A1 (ja) * | 2010-02-16 | 2011-08-25 | 日本電気株式会社 | パケット転送装置、通信システム、処理規則の更新方法およびプログラム |
JP5742834B2 (ja) * | 2010-03-05 | 2015-07-01 | 日本電気株式会社 | 通信システム、経路制御装置、パケット転送装置および経路制御方法 |
WO2011149003A1 (ja) | 2010-05-28 | 2011-12-01 | 日本電気株式会社 | 通信システム、ノード、制御装置、通信方法およびプログラム |
-
2011
- 2011-08-16 JP JP2013516875A patent/JP5884822B2/ja active Active
- 2011-08-16 KR KR1020137019100A patent/KR101434375B1/ko active IP Right Grant
- 2011-08-16 WO PCT/JP2011/004601 patent/WO2012111051A1/en active Application Filing
- 2011-08-16 US US13/982,480 patent/US9083657B2/en active Active
- 2011-08-16 EP EP11858952.2A patent/EP2676410B1/en active Active
- 2011-08-16 CN CN201180067803.3A patent/CN103370911B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1578272A (zh) * | 2003-07-11 | 2005-02-09 | 株式会社日立制作所 | 具有统计收集装置的数据包传送装置和统计收集方法 |
US7817549B1 (en) * | 2006-06-30 | 2010-10-19 | Extreme Networks, Inc. | Flexible flow-aging mechanism |
CN101572670A (zh) * | 2009-05-07 | 2009-11-04 | 成都市华为赛门铁克科技有限公司 | 一种基于流表的数据包处理方法、装置和网络系统 |
CN101938396A (zh) * | 2009-06-30 | 2011-01-05 | 华为技术有限公司 | 数据流控制方法及装置 |
CN102035748A (zh) * | 2010-12-31 | 2011-04-27 | 深圳市深信服电子科技有限公司 | 一种基于应用的流量控制方法及流量控制器 |
Non-Patent Citations (1)
Title |
---|
互联网: "OpenFlow Switch Specication Version 1.0.0 ( Wire Protocol 0x01 )", 《HTTP://ARCHIVE.OPENFLOW.ORG/DOCUMENTS/OPENFLOW-SPEC-V1.0.0.PDF》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015035813A1 (zh) * | 2013-09-16 | 2015-03-19 | 中兴通讯股份有限公司 | 上报交换机类型的方法及装置 |
CN105340217A (zh) * | 2013-12-31 | 2016-02-17 | 华为技术有限公司 | 一种报文处理方法、装置及系统 |
CN105340217B (zh) * | 2013-12-31 | 2019-05-28 | 华为技术有限公司 | 一种报文处理方法、装置及系统 |
CN110138618A (zh) * | 2013-12-31 | 2019-08-16 | 华为技术有限公司 | 一种报文处理方法、装置及系统 |
US10412008B2 (en) | 2013-12-31 | 2019-09-10 | Huawei Technologies Co., Ltd. | Packet processing method, apparatus, and system |
CN110138618B (zh) * | 2013-12-31 | 2021-10-26 | 华为技术有限公司 | 一种报文处理方法、装置及系统 |
CN105743687A (zh) * | 2014-12-12 | 2016-07-06 | 中兴通讯股份有限公司 | 节点故障的判断方法及装置 |
CN105743687B (zh) * | 2014-12-12 | 2020-01-10 | 中兴通讯股份有限公司 | 节点故障的判断方法及装置 |
CN106664253A (zh) * | 2015-06-30 | 2017-05-10 | 华为技术有限公司 | 流表老化方法、交换机及控制器 |
Also Published As
Publication number | Publication date |
---|---|
JP5884822B2 (ja) | 2016-03-15 |
CN103370911B (zh) | 2016-08-10 |
EP2676410A4 (en) | 2014-09-24 |
EP2676410B1 (en) | 2016-01-06 |
WO2012111051A1 (en) | 2012-08-23 |
EP2676410A1 (en) | 2013-12-25 |
KR20130109208A (ko) | 2013-10-07 |
US9083657B2 (en) | 2015-07-14 |
KR101434375B1 (ko) | 2014-08-27 |
JP2014506021A (ja) | 2014-03-06 |
US20130308645A1 (en) | 2013-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103370911A (zh) | 流通信系统 | |
JP4822997B2 (ja) | 通信装置および通信方法 | |
EP3678326B1 (en) | Communication system, control device and communication method | |
US9692650B2 (en) | Control apparatus, communication system, communication method, and program | |
US8451742B2 (en) | Apparatus and method for controlling data communication | |
EP2842286B1 (en) | Synchronization of traffic multiplexing in link aggregation | |
US8649379B2 (en) | Method and apparatus for configuring a link aggregation group on a stacked switch | |
US20170111231A1 (en) | System and method for communication | |
EP1483870B1 (en) | Method and system for ordered dynamic distribution of packet flows over network processors | |
US20120020361A1 (en) | Switch network system, controller, and control method | |
EP2652923B1 (en) | Communication path control system, path control device, communication path control method, and path control program | |
Wang et al. | Implementation of multipath network virtualization with SDN and NFV | |
EP2629464A1 (en) | Communication system, control device, method for setting processing rules, and program | |
US20130286844A1 (en) | Information system, control apparatus, communication method, and program | |
CN111526089B (zh) | 一种基于变长粒度的数据融合传输与调度的装置 | |
JP2016501474A (ja) | 分散型スイッチレス相互接続 | |
CN101789949A (zh) | 一种实现负荷分担的方法和路由设备 | |
JP2002009866A (ja) | フレーム分配方法およびその機能を有する情報処理装置 | |
CN102209028A (zh) | 控制cpu流量的装置和方法 | |
JP4751213B2 (ja) | リンクアグリゲーション処理装置および処理方法 | |
EP2830266A1 (en) | Communication system, control device, communication device, information-relaying method, and program | |
JP5048835B2 (ja) | パケット処理装置およびその方法 | |
CN101783763B (zh) | 防拥塞的处理方法及系统 | |
WO2017157116A1 (zh) | 一种流量拥塞控制方法、装置及存储介质 | |
JP4890427B2 (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 |