CN104702519B - 流量卸载的方法、装置及系统 - Google Patents
流量卸载的方法、装置及系统 Download PDFInfo
- Publication number
- CN104702519B CN104702519B CN201310659400.9A CN201310659400A CN104702519B CN 104702519 B CN104702519 B CN 104702519B CN 201310659400 A CN201310659400 A CN 201310659400A CN 104702519 B CN104702519 B CN 104702519B
- Authority
- CN
- China
- Prior art keywords
- flow table
- node
- upstream node
- downstream node
- upstream
- 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.)
- Active
Links
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/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- 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
- 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
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2441—Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种流量卸载的方法、装置及系统,涉及通信技术领域,解决了现有技术方案中很难实现对下游节点进行流量卸载的问题。本发明提供的方法具体可以包括:下游节点接收上游节点的流表支持能力信息;根据所述流表支持能力信息判断所述上游节点是否支持下游节点流表,所述下游节点流表包括至少一个流表项,每个流表项对应一个流;若所述上游节点支持所述下游节点流表,则向所述上游节点发送所述下游节点流表。本发明提供的技术方案可应用于流量卸载中。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种流量卸载的方法、装置及系统。
背景技术
在业务链场景下,对某些流量指定业务路径后,这些流量都是根据业务路径并按照既定次序经过流分发点和各业务节点的。但是,在流分发点和各业务节点中的相邻节点之间做报文处理时,相邻节点之间的流规则可能是相同的,或者上游节点能够支持其下游节点的流规则,下游节点对报文做的处理也是上游节点可以做的,如,丢弃、允许通过、转发等。很多时候,尤其是在上游节点的流处理是采用硬件实现的情况下,上游节点对流量的处理性能简称为流处理性能与对流执行的动作多少没有关系,或者执行的动作多少对流处理性能影响不大,即上游节点无论对流执行几个动作,上游节点的流处理性能都不会有太大变化,比如采用应用特定集成电路(英文:Application Specific Integrated Circuit,缩写:ASIC)实现的流处理。在上述情况下,如果能将下游节点进行的流处理放到其上游节点中进行,便能够减轻下游节点的负担,且不会对上游节点的流处理性能有太大影响。其中,在上述内容中,上游节点与下游节点为相邻的两个节点。
通常的,可以通过对下游节点进行流量卸载来实现将下游节点的流处理放到其上游节点中进行。
但是,现有技术中并未提供过具体的对下游节点进行流量卸载的方案,因此,很难实现对下游节点进行流量卸载。
发明内容
本发明提供一种流量卸载的方法、装置及系统,解决了现有技术方案中很难实现对下游节点进行流量卸载的问题。
为达到上述目的,本发明采用如下技术方案:
第一方面,本发明提供了一种流量卸载的方法,包括:
下游节点接收上游节点的流表支持能力信息;
根据所述流表支持能力信息判断所述上游节点是否支持下游节点流表,所述下游节点流表包括至少一个流表项,每个流表项对应一个流;
若所述上游节点支持所述下游节点流表,则向所述上游节点发送所述下游节点流表。
结合第一方面,在第一种可能的实现方式中,所述下游节点接收上游节点的流表支持能力信息,包括:
所述下游节点接收所述上游节点直接发送的所述流表支持能力信息;或者,
所述下游节点接收所述上游节点通过管理设备发送的所述流表支持能力信息。
结合第一方面或第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述流表项包括:流分类字段与动作的对应关系;
所述根据所述流表支持能力信息判断所述上游节点是否支持下游节点流表,包括:
根据所述流表支持能力信息判断所述上游节点是否支持根据所述流分类字段生成流表项;以及
根据所述流表支持能力信息判断所述上游节点是否支持所述动作。
结合第一方面或第一方面的第一种可能的实现方式或第二种可能的实现方式,在第三种可能的实现方式中,在所述向所述上游节点发送所述下游节点的流表之前,所述方法还包括:
判断所述上游节点当前是否允许修改所述上游节点流表;
所述向所述上游节点发送所述下游节点的流表,包括:
若所述上游节点当前允许修改所述上游节点流表,则向所述上游节点发送所述下游节点的流表。
结合第一方面的第三种可能的实现方式,在第四种可能的实现方式中,所述方法还包括:
接收所述上游节点发送的报文,所述报文为所述上游节点根据所述修改后的上游节点流表进行流处理后的且不为与所述下游节点流表中的流表项对应的流的报文。
第二方面,本发明提供了另一种流量卸载的方法,包括:
上游节点向下游节点发送所述上游节点的流表支持能力信息;
接收所述下游节点发送的所述下游节点流表,所述下游节点流表包括至少一个流表项,每个流表项对应一个流;
根据所述下游节点流表修改上游节点流表,修改后的上游节点流表包括所述下游节点流表;
将根据所述修改后的上游节点流表进行流处理后的第一报文发送至次下游节点,所述第一报文为与所述下游节点流表中的一个流表项对应的流的报文。
结合第二方面,在第一种可能的实现方式中,所述上游节点向下游节点发送所述上游节点的流表支持能力信息,包括:
所述上游节点直接向所述下游节点发送所述流表支持能力信息;或者,
所述上游节点通过管理设备向所述下游节点发送所述流表支持能力信息。
结合第二方面或第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述流表项包括:流分类字段与动作的对应关系;
所述根据所述下游节点流表修改上游节点流表,包括:
判断所述上游节点流表是否包括指定流表项,所述指定流表项为流分类字段与所述下游节点流表中的流表项中的流分类字段相同的流表项;
若所述上游节点流表包括所述指定流表项,则将所述下游节点流表中,与所述指定流表项的流分类字段相同的流表项中的动作添加到相应的指定流表项中;或者,
判断所述上游节点流表是否包括指定流表项,所述指定流表项为流分类字段与所述下游节点流表中的流表项中的流分类字段相同的流表项;
若所述上游节点流表不包括所述指定流表项,则根据所述下游节点流表在所述上游节点流表中建立新的流表项。
结合第二方面或第二方面的第一种可能的实现方式或第二种可能的实现方式,在第三种可能的实现方式中,在所述接收所述下游节点发送的所述下游节点流表之前,所述方法还包括:
判断当前是否允许修改所述上游节点流表;
所述接收所述下游节点发送的所述下游节点流表,包括:
若当前允许修改所述上游节点流表,则接收所述下游节点发送的所述下游节点流表。
结合第二方面的第三种可能的实现方式,在第四种可能的实现方式中,所述判断当前是否允许修改所述上游节点流表,包括:
判断所述上游节点流表当前是否存在空闲位置;或者,
判断所述上游节点当前是否允许对所述下游节点进行流量卸载。
结合第二方面或第二方面的第一种可能的实现方式至第四种可能的实现方式中任一种方式,在第五种可能的实现方式中,在所述根据所述下游节点流表修改上游节点流表之后,所述方法还包括:
根据所述修改后的上游节点流表对接收到的报文进行流处理;
所述将根据所述修改后的上游节点流表进行流处理后的第一报文发送至次下游节点,包括:
从进行流处理后的报文中获取所述第一报文;
将所述第一报文发送至次下游节点。
结合第二方面的第五种可能的实现方式,在第六种可能的实现方式中,在所述根据所述修改后的上游节点流表对接收到的报文进行流处理之后,所述方法还包括:
从所述进行流处理后的报文中获取第二报文,所述第二报文为根据所述修改后的上游节点流表进行流处理后的且不为与所述下游节点流表中的流表项对应的流的报文;
将所述第二报文发送至所述下游节点。
第三方面,本发明提供了一种流量卸载的装置,包括:
第一接收单元,用于接收上游节点的流表支持能力信息;
第一判断单元,用于根据所述流表支持能力信息判断所述上游节点是否支持下游节点流表,所述下游节点流表包括至少一个流表项,每个流表项对应一个流;
发送单元,用于若所述上游节点支持所述下游节点流表,则向所述上游节点发送所述下游节点流表。
结合第三方面,在第一种可能的实现方式中,所述第一接收单元,具体用于接收所述上游节点直接发送的所述流表支持能力信息;或者,
接收所述上游节点通过管理设备发送的所述流表支持能力信息。
结合第三方面或第三方面的第一种可能的实现方式,在第二种可能的实现方式中,所述流表项包括:流分类字段与动作的对应关系;
所述第一判断单元,具体用于根据所述流表支持能力信息判断所述上游节点是否支持根据所述流分类字段生成流表项;以及根据所述流表支持能力信息判断所述上游节点是否支持所述动作。
结合第三方面或第三方面的第一种可能的实现方式或第二种可能的实现方式,在第三种可能的实现方式中,所述装置还包括:
第二判断单元,用于在所述向所述上游节点发送所述下游节点的流表之前,判断所述上游节点当前是否允许修改所述上游节点流表;
所述发送单元,具体用于若所述上游节点当前允许修改所述上游节点流表,则向所述上游节点发送所述下游节点的流表。
结合第三方面的第三种可能的实现方式,在第四种可能的实现方式中,所述装置还包括:
第二接收单元,用于接收所述上游节点发送的报文,所述报文为所述上游节点根据所述修改后的上游节点流表进行流处理后的且不为与所述下游节点流表中的流表项对应的流的报文。
第四方面,本发明提供了另一种流量卸载的方法,包括:
第一发送单元,用于向下游节点发送上游节点的流表支持能力信息;
接收单元,用于接收所述下游节点发送的所述下游节点流表,所述下游节点流表包括至少一个流表项,每个流表项对应一个流;
修改单元,用于根据所述下游节点流表修改上游节点流表,修改后的上游节点流表包括所述下游节点流表;
第二发送单元,用于将根据所述修改后的上游节点流表进行流处理后的第一报文发送至次下游节点,所述第一报文为与所述下游节点流表中的一个流表项对应的流的报文。
结合第四方面,在第一种可能的实现方式中,所述第一发送单元,具体用于直接向所述下游节点发送所述流表支持能力信息;或者,
通过管理设备向所述下游节点发送所述流表支持能力信息。
结合第四方面或第四方面的第一种可能的实现方式,在第二种可能的实现方式中,所述流表项包括:流分类字段与动作的对应关系;
所述修改单元,具体用于判断所述上游节点流表是否包括指定流表项,所述指定流表项为流分类字段与所述下游节点流表中的流表项中的流分类字段相同的流表项;
若所述上游节点流表包括所述指定流表项,则将所述下游节点流表中,与所述指定流表项的流分类字段相同的流表项中的动作添加到相应的指定流表项中;或者,
所述修改单元,具体用于判断所述上游节点流表是否包括指定流表项,所述指定流表项为流分类字段与所述下游节点流表中的流表项中的流分类字段相同的流表项;
若所述上游节点流表不包括所述指定流表项,则根据所述下游节点流表在所述上游节点流表中建立新的流表项。
结合第四方面或第四方面的第一种可能的实现方式或第二种可能的实现方式,在第三种可能的实现方式中,所述装置还包括:
判断单元,用于在所述接收单元接收所述下游节点发送的所述下游节点流表之前,判断当前是否允许修改所述上游节点流表;
所述第一发送单元,具体用于若所述判断单元判断出当前允许修改所述上游节点流表,则接收所述下游节点发送的所述下游节点流表。
结合第四方面的第三种可能的实现方式,在第四种可能的实现方式中,所述判断单元,具体用于判断所述上游节点流表当前是否存在空闲位置;或者,
判断所述上游节点当前是否允许对所述下游节点进行流量卸载。
结合第四方面或第四方面的第一种可能的实现方式至第四种可能的实现方式中任一种方式,在第五种可能的实现方式中,所述装置还包括:
处理单元,用于在所述修改单元根据所述下游节点流表修改上游节点流表之后,根据所述修改后的上游节点流表对接收到的报文进行流处理;
所述第二发送单元,具体用于从进行流处理后的报文中获取所述第一报文;将所述第一报文发送至次下游节点。
结合第四方面的第五种可能的实现方式,在第六种可能的实现方式中,所述装置还包括:
获取单元,用于在所述根据所述修改后的上游节点流表对接收到的报文进行流处理之后,从所述进行流处理后的报文中获取第二报文,所述第二报文为根据所述修改后的上游节点流表进行流处理后的且不为与所述下游节点流表中的流表项对应的流的报文;
第三发送单元,用于将第二报文发送至所述下游节点。
第五方面,本发明提供了一种流量卸载的系统,包括:
上游节点,用于向下游节点发送所述上游节点的流表支持能力信息;在所述下游节点根据所述流表支持能力信息判断出所述上游节点支持下游节点流表之后,接收所述下游节点发送的所述下游节点流表,所述下游节点流表包括至少一个流表项,每个流表项对应一个流;根据所述下游节点流表修改上游节点流表,修改后的上游节点流表包括所述下游节点流表;将根据所述修改后的上游节点流表进行流处理后的第一报文发送至次下游节点,所述第一报文为与所述下游节点流表中的一个流表项对应的流的报文;
所述下游节点,用于接收所述流表支持能力信息;根据所述流表支持能力信息判断所述上游节点是否支持所述下游节点流表;若所述上游节点支持所述下游节点流表,则向所述上游节点发送所述下游节点流表;
所述次下游节点,用于接收所述上游节点发送的所述第一报文。
结合第五方面,在第五方面的第一种可能实现的方式中,所述上游节点,具体用于直接向所述下游节点发送所述流表支持能力信息;
所述下游节点,具体用于接收所述上游节点发送的所述流表支持能力信息。
结合第五方面,在第五方面的第二种可能实现的方式中,所述系统还包括:管理设备;
所述上游节点,具体用于向所述管理设备发送所述流表支持能力信息;
所述管理设备,用于接收所述上游节点发送的所述流表支持能力信息;将所述流表支持能力信息发送至所述下游节点;
所述下游节点设备,具体用于接收所述管理设备发送的所述流表支持能力信息。
结合第五方面或第五方面的第一种可能实现的方式或第二种可能实现的方式,在第三种可能的实现方式中,所述流表项包括:流分类字段与动作的对应关系;
所述下游节点,具体用于根据所述流表支持能力信息判断所述上游节点是否支持根据所述流分类字段生成流表项;以及根据所述流表支持能力信息判断所述上游节点是否支持所述动作。
结合第五方面或第五方面的第一种可能实现的方式至第三种可能实现的方式中任一种方式,在第四种可能的实现方式中,所述上游节点,还用于在所述接收所述下游节点发送的所述下游节点流表之前,判断当前是否允许修改所述上游节点流表;若当前允许修改所述上游节点流表,则接收所述下游节点发送的所述下游节点流表;
所述下游节点,还用于在所述向所述上游节点发送所述下游节点的流表之前,判断所述上游节点当前是否允许修改所述上游节点流表;若所述上游节点当前允许修改所述上游节点流表,则向所述上游节点发送所述下游节点的流表。
结合第五方面或第五方面的第一种可能实现的方式至第四种可能实现的方式中任一种方式,在第五种可能的实现方式中,所述流表项包括:流分类字段与动作的对应关系;
所述上游节点,还用于判断所述上游节点流表是否包括指定流表项,所述指定流表项为流分类字段与所述下游节点流表中的流表项中的流分类字段相同的流表项;若所述上游节点流表包括所述指定流表项,则将所述下游节点流表中,与所述指定流表项的流分类字段相同的流表项中的动作添加到相应的指定流表项中;或者,
所述上游节点,还用于判断所述上游节点流表是否包括指定流表项,所述指定流表项为流分类字段与所述下游节点流表中的流表项中的流分类字段相同的流表项;若所述上游节点流表不包括所述指定流表项,则根据所述下游节点流表在所述上游节点流表中建立新的流表项。
结合第五方面的第五种可能实现的方式,在第六种可能的实现方式中,所述上游节点,具体用于判断所述上游节点流表当前是否存在空闲位置;或者,判断所述上游节点当前是否允许对所述下游节点进行流量卸载。
结合第五方面或第五方面的第一种可能实现的方式至第六种可能实现的方式中任一种方式,在第七种可能的实现方式中,所述上游节点,具体用于在所述根据所述下游节点流表修改上游节点流表之后,根据所述修改后的上游节点流表对接收到的报文进行流处理;从进行流处理后的报文中获取所述第一报文;将所述第一报文发送至次下游节点。
结合第五方面或第五方面的第一种可能实现的方式至第七种可能实现的方式中任一种方式,在第八种可能的实现方式中,所述上游节点,还用于在所述根据所述修改后的上游节点流表对接收到的报文进行流处理之后,从所述进行流处理后的报文中获取第二报文,将所述第二报文发送至所述下游节点,所述第二报文为根据所述修改后的上游节点流表进行流处理后的且不为与所述下游节点流表中的流表项对应的流的报文;
所述下游节点,还用于接收所述上游节点发送的所述第二报文。
本发明提供的流量卸载的方法、装置及系统中,下游节点接收上游节点的流表支持能力信息;根据所述流表支持能力信息判断所述上游节点是否支持下游节点流表,所述下游节点流表包括至少一个流表项,每个流表项对应一个流;若所述上游节点支持所述下游节点流表,则向所述上游节点发送所述下游节点流表,以便所述上游节点根据所述下游节点流表修改上游节点流表,修改后的上游节点流表包括所述下游节点流表,并且在修改完上游节点流表后,所述上游节点将根据所述修改后的上游节点流表进行流处理后的第一报文发送至次下游节点,所述第一报文为与所述下游节点流表中的一个流表项对应的流的报文。采用上述方案后,只要是下游节点确定了上游节点支持下游节点流表,且在上游节点根据下游节点流表对上游节点流表进行修改,且修改后的上游节点流表包括所述下游节点流表,便可以实现对下游节点进行流量卸载,这样,可以实现在任意相邻上下游节点之间对下游节点进行流量卸载。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本实施例提供的一种流量卸载的方法的流程图;
图2为本实施例提供的另一种流量卸载的方法的流程图;
图3为本实施例提供的再一种流量卸载的方法的流程图;
图4为本实施例提供的一种图3所示的方法中,下游节点流表的结构示意图;
图5为本实施例提供的一种图3所示的方法中,下游节点流表的结构示意图,以及上游节点流表修改前和修改后的结构示意图;
图6为本实施例提供的另一种图3所示的方法中,下游节点流表为图4所示的流表时,上游节点流表修改前和修改后的结构示意图;
图7为本实施例提供的另一种图3所示的方法中,下游节点流表的结构示意图;
图8为本实施例提供的一种图3所示的方法中,下游节点流表为图7所示的流表时,上游节点流表修改前和修改后的结构示意图;
图9为本实施例提供的一种虚拟的流量卸载的装置的结构示意图;
图10为本实施例提供的另一种虚拟的流量卸载的装置的结构示意图;
图11为本实施例提供的再一种虚拟的流量卸载的装置的结构示意图;
图12为本实施例提供的又一种虚拟的流量卸载的装置的结构示意图;
图13为本实施例提供的一种实体的流量卸载的装置的结构示意图;
图14为本实施例提供的一种虚拟的流量卸载的系统的结构示意图;
图15为本实施例提供的另一种虚拟的流量卸载的系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了解决上述问题,本实施例提供一种流量卸载的方法,如图1所示,可以包括:
101、下游节点接收上游节点的流表支持能力信息。
所述下游节点可以包括至少一个流表,每个流表中可以包括至少一个流表项,每个流表项对应一个流,但是,同一个流表中的不同的流表项之间的流分类字段的取值不相同,不同流表之间的流表项的流分类字段不同。例如,下游节点可以包括:流表1和流表2,流表1中可以包括:流表项a和流表项b,流表2中可以包括:流表项c和流表项d,其中,流表项a和流表项b的流分类字段相同,如,可以均为源地址及目的MAC地址,但是流分类字段的取值不同;流表项c和流表项d中的流分类字段相同,但是流分类字段的取值不同;流表项a与流表项c之间的、流表项b和流表项c之间的、流表项b和流表项d之间的以及流表项a和流表项d之间的流分类字段可能不同。另外,流表1中的流表项a和流表项b分别对应不同的流。
各节点可以根据各自的流表对接收到的流中的报文进行相应的流处理,具体可以包括:节点接收报文,并确定该报文所属的流;在流表中查找流分类字段与确定的流相同的流表项;若在流表中查找到流分类字段与确定的流相同的流表项,则根据查找到的流表项确定动作;对接收到的报文执行该动作对应的动作,即执行流处理,若在流表中未查找到流分类字段与确定的流相同的流表项,则创建新的流表后再确定动作。
本实施例提供的流表支持能力信息可以但不限于用于表征上游节点支持的流分类字段以及支持的动作,即上游节点可以根据哪些流分类字段生成相应的流表项,以及上游节点可以执行哪些动作等。
本实施例中提供的流表支持能力信息可以用于表征下游节点能够根据何种流表执行相应的流处理。
102、下游节点根据所述流表支持能力信息判断所述上游节点是否支持下游节点流表。
下游节点根据所述流表支持能力信息判断所述上游节点是否支持下游节点流表可以包括:下游节点可以根据所述流表支持能力信息判断所述下游节点流表是否为所述上游节点支持的流表,即下游节点判断所述上游节是否能够根据下游节点流表中的流分类字段生成相应的流表项,和判断上游节点是否可以执行下游节点流表中的动作。
103、若所述上游节点支持所述下游节点流表,则下游节点向所述上游节点发送所述下游节点流表。
所述下游节点流表用于使所述上游节点根据所述下游节点流表修改上游节点流表,并且在修改完上游节点流表后,将根据所述修改后的上游节点流表进行流处理后的第一报文发送至次下游节点。
其中,修改后的上游节点流表可以但不限于包括:所述下游节点流表,所述第一报文为与所述下游节点流表中的一个流表项对应的流的报文。
当修改后的上游节点流表中包括下游节点流表时,本来需要由下游节点根据下游节点流表进行的流处理可以由上游节点根据修改后上游节点流表来执行,这样,这些流的报文即可以不再被发送至下游节点中进行流处理了。并且,经过上游节点流处理之后的报文,可以由上游节点直接发送至次下游节点进行相应的流处理。其中,所述次下游节点为下游节点的下游节点。
本实施例中,下游节点接收上游节点的流表支持能力信息;根据所述流表支持能力信息判断所述上游节点是否支持下游节点流表,所述下游节点流表包括至少一个流表项,每个流表项对应一个流;若所述上游节点支持所述下游节点流表,则向所述上游节点发送所述下游节点流表,以便所述上游节点根据所述下游节点流表修改上游节点流表,修改后的上游节点流表包括所述下游节点流表,并且在修改完上游节点流表后,所述上游节点将根据所述修改后的上游节点流表进行流处理后的第一报文发送至次下游节点,所述第一报文为与所述下游节点流表中的一个流表项对应的流的报文。采用上述方案后,只要是下游节点确定了上游节点支持下游节点流表,且在上游节点根据下游节点流表对上游节点流表进行修改,且修改后的上游节点流表包括所述下游节点流表,便可以实现对下游节点进行流量卸载,这样,可以实现在任意相邻的上下游节点之间对下游节点进行流量卸载。
本实施例提供另一种流量卸载的方法,该方法是图1所示的方法的通信对端的执行方法,如图2所示,可以包括:
201、上游节点向下游节点发送所述上游节点的流表支持能力信息。
202、上游节点接收所述下游节点发送的所述下游节点流表。
其中,所述下游节点流表可以包括至少一个流表项,每个流表项对应一个流。
203、上游节点根据所述下游节点流表修改上游节点流表。
其中,修改后的上游节点流表可以但不限于包括:所述下游节点流表。
根据所述下游节点流表修改上游节点流表可以包括:上游节点根据接收到的下游节点流表执行流表项合并和流表项建立等操作。
204、上游节点将根据所述修改后的上游节点流表进行流处理后的第一报文发送至次下游节点。
其中,所述第一报文为与所述下游节点流表中的一个流表项对应的流的报文。
本实施例中,上游节点向下游节点发送所述上游节点的流表支持能力信息;在所述下游节点根据所述流表支持能力信息判断出所述上游节点支持下游节点流表之后,接收所述下游节点发送的所述下游节点流表,所述下游节点流表包括至少一个流表项,每个流表项对应一个流;根据所述下游节点流表修改上游节点流表,修改后的上游节点流表包括所述下游节点流表;将根据所述修改后的上游节点流表进行流处理后的第一报文发送至次下游节点,所述第一报文为与所述下游节点流表中的一个流表项对应的流的报文。采用上述方案后,只要是下游节点确定了上游节点支持下游节点流表,且在上游节点根据下游节点流表对上游节点流表进行修改,且修改后的上游节点流表包括所述下游节点流表,便可以实现对下游节点进行流量卸载,这样,可以实现在任意相邻上下游节点之间对下游节点进行流量卸载。
本实施例提供再一种流量卸载的方法,该方法是对图1和图2所示的方法的进一步扩展和优化,如图3所示,可以包括:
301、上游节点向下游节点发送所述上游节点的流表支持能力信息。
管理设备可以接收用户发送的对业务处理的需求,如,可以包括相应的流需要执行的业务类型及其执行顺序、执行各种业务时进行的流处理的性能规格等;管理设备可以根据上述需求确定执行该业务的业务处理节点,并还可以根据上述需求以及确定的业务处理节点生成业务路径;管理设备可以将业务路径发送至各业务处理节点,以便各业务处理节点确定自身在业务路径中的上游节点、下游节点以及次下游节点等,若某业务处理节点为业务路径中的第一个节点,则可以只确定该业务处理节点在业务路径中的下游节点和次下游节点,若某业务处理节点为业务路径中倒数第二个节点,则可以只确定该业务处理节点在业务路径中的上游节点、和下游节点,若某业务处理节点为业务路径中最后一个节点,则可以只确定该业务处理节点在业务路径中的上游节点。
本实施例中,确定的各业务处理节点既可以为上游节点,也可以为下游节点,还可以为次下游节点。上游节点、下游节点以及次下游节点均指的是相对的节点,并不是确指某一节点。
进一步的,所述上游节点向下游节点发送所述上游节点的流表支持能力信息,可以但不限于包括:
所述上游节点直接向所述下游节点发送所述流表支持能力信息。
所述上游节点直接向所述下游节点发送所述流表支持能力信息,可以但不限于包括:
所述上游节点采用OpenFlow(开放流)中网络设备向OpenFlow控制器通告自身流表支持能力的机制直接向所述下游节点发送所述流表支持能力信息。
或者,所述上游节点向下游节点发送所述上游节点的流表支持能力信息,可以但不限于包括:
所述上游节点通过管理设备向所述下游节点发送所述流表支持能力信息。
所述上游节点通过业务链管理系统向所述下游节点发送所述流表支持能力信息,可以但不限于包括:
所述上游节点采用OpenFlow中网络设备向OpenFlow控制器通告自身流表支持能力的机制向所述业务链管理系统发送所述流表支持能力信息,以便所述业务链管理系统向所述下游节点发送所述流表支持能力信息。
本实施例对上游节点向下游节点发送所述上游节点的流表支持能力信息的方法不作限定,可以根据实际需要进行设定,在此不再赘述。
302、下游节点接收上游节点的流表支持能力信息。
进一步的,所述下游节点接收上游节点的流表支持能力信息,可以但不限于包括:
所述下游节点接收所述上游节点直接发送的所述流表支持能力信息;或者,还可以为所述下游节点接收所述上游节点通过管理设备发送的所述流表支持能力信息。
进一步的,所述下游节点接收所述上游节点发送的所述流表支持能力信息,包括:
所述下游节点接收所述上游节点采用网络交换模型OpenFlow中网络设备向OpenFlow控制器通告自身流表支持能力的机制发送的所述流表支持能力信息。
进一步的,所述下游节点接收所述上游节点通过业务链管理系统发送的所述流表支持能力信息,包括:
所述下游节点接收所述业务链管理系统发送的所述流表支持能力信息,所述流表支持能力信息是所述上游节点采用OpenFlow中网络设备向OpenFlow控制器通告自身流表支持能力的机制向所述业务链管理系统发送的。
本实施例对下游节点接收上游节点的流表支持能力信息的方法不作限定,可以根据实际需要进行设定,在此不再赘述。
303、下游节点根据所述流表支持能力信息判断所述上游节点是否支持下游节点流表。若所述上游节点支持下游节点流表,则执行步骤304,若所述上游节点不支持下游节点流表,则流程结束。
所述下游节点流表可以包括至少一个流表项,每个流表项对应一个流。
首先,对各业务处理节点,即可以包括上游节点、下游节点以及次下游节点,生成各自的流表的方法进行简单描述,以某一业务处理节点为执行主体为例进行说明。
业务处理节点接收某流的初始报文,并对该初始报文进行相应的流处理,即执行相应的动作,如可以为修改等动作;然后,业务处理节点根据本地的流分类规则以及执行的动作生成流表项,其中,流分类规则可以是基于相应的流分类字段执行的,该流表项可以包括:流分类字段与动作的对应关系。
例如,流分类字段可以但不限于包括:源MAC地址和/或目的MAC地址,且该流的源MAC地址的取值为a,目的MAC地址的取值为b,由此,生成的与该流对应的流表项可以包括a+b与修改动作的对应关系;在此之后,该业务处理节点再接收到该流中的报文便可以首先根据流分类字段即源MAC地址及目的MAC地址,以及流分类字段的取值,即源MAC地址的取值及目的MAC地址的取值,从流表中查找到与该流对应的流表项,然后再从该流表项中获取动作,并根据获取到的动作对接收到的报文执行修改操作的。
本实施例对业务处理节点生成流表的方法不作限定,为本领域技术人员熟知的技术,在此不再赘述。
进一步的,所述根据所述流表支持能力信息判断所述上游节点是否支持下游节点流表,可以但不限于包括:
根据所述流表支持能力信息判断所述上游节点是否支持根据所述流分类字段生成流表项;以及根据所述流表支持能力信息判断所述上游节点是否支持所述动作。
例如,若下游节点的其中一个流表包括:流表项1和流表项2,其中,流表项1是流分类字段为源MAC地址和目的MAC地址,且取值分别为a和b,即源MAC地址的取值为a,目的MAC地址的取值为b(后续步骤中再出现类似描述不作具体说明),动作用于表征执行修改操作,流表项2是流分类字段为源MAC地址和目的MAC地址,且取值分别为c和d,动作用于表征执行统计操作,则此时,下游节点可以根据上游节点支持能力信息判断上游节点是否支持根据源MAC地址和目的MAC地址生成流表项,且还需要判断上游节点是否能够执行修改操作和统计操作等。若上述判断结果均为是,则可以说明上游节点支持下游节点流表,即下游节点根据下游节点进行的流处理均可以由上游节点完成。
本实施例对下游节点根据所述流表支持能力信息判断所述上游节点是否支持下游节点流表的方法不作限定,不限于上述列举的例子,可以根据实际需要进行设定,在此不再赘述。
304、下游节点判断所述上游节点当前是否允许修改所述上游节点流表。若所述上游节点当前允许修改所述上游节点流表,则执行步骤305,若所述上游节点当前不允许修改所述上游节点流表,则执行步骤304。
进一步的,所述下游节点判断当前是否允许修改所述上游节点流表,可以但不限于包括:
上游节点判断所述上游节点流表当前是否存在空闲位置;若所述上游节点流表当前不存在空闲位置,则可以向下游节点发送暂停通知,以便下游节点可以根据暂停通知确定上游节点当前不允许修改所述上游节点流表,并暂停向上游节点发送下游节点流表;当上游节点检测到所述上游节点流表当前存在空闲位置时,可以向下游节点发送恢复通知,以便下游节点可以根据恢复通知确定上游节点当前允许修改所述上游节点流表,并可以向上游节点发送下游节点流表,进而上游节点可以接收下游节点流表。当上游节点流表中的某流表项在预设时间内未被使用,则会被自动删除,执行删除后,上游节点流表项会存在更多的空闲位置。
或者,上游节点判断所述上游节点当前是否允许对所述下游节点进行流量卸载;若上游节点当前不允许对所述下游节点进行流量卸载,则可以向下游节点发送暂停通知,以便下游节点可以根据暂停通知确定上游节点当前不允许修改所述上游节点流表,并暂停向上游节点发送下游节点流表;当上游节点允许对所述下游节点进行流量卸载时,可以向下游节点发送恢复通知,以便下游节点可以根据恢复通知确定上游节点当前允许修改所述上游节点流表,并可以向上游节点发送下游节点流表,进而上游节点可以接收下游节点流表。
本实施例对上游节点和下游节点判断当前是否允许修改所述上游节点流表的方法不作限定,可以根据实际需要进行设定,在此不再赘述。
305、下游节点向所述上游节点发送所述下游节点的流表。
306、上游节点接收所述下游节点发送的所述下游节点流表。
307、上游节点根据所述下游节点流表修改上游节点流表。
其中,修改后的上游节点流表可以但不限于包括所述下游节点流表。
进一步的,所述流表项可以但不限于包括流分类字段与动作的对应关系。
进一步的,所述根据所述下游节点流表修改上游节点流表,包括:
判断所述上游节点流表是否包括指定流表项,所述指定流表项为流分类字段与所述下游节点流表中的流表项中的流分类字段相同的流表项,即指定流表项的流分类字段与所述下游节点流表中的流表项中的流分类字段相同,且指定流表项的流分类字段的取值与所述下游节点流表中的流表项中的流分类字段的取值相同;若所述上游节点流表包括所述指定流表项,则将所述下游节点流表中,与所述指定流表项的流分类字段相同的流表项中的动作添加到相应的指定流表项中;或者,
判断所述上游节点流表是否包括指定流表项,所述指定流表项为流分类字段与所述下游节点流表中的流表项中的流分类字段相同的流表项;若所述上游节点流表不包括所述指定流表项,则根据所述下游节点流表在所述上游节点流表中建立新的流表项。
例如,如图4所示,若下游节点流表包括:流表项1、流表项2,流表项1的流分类字段为源MAC地址和目的MAC地址,且取值分别为a和b,动作用于表征执行修改操作,流表项2的流分类字段为源MAC地址和目的MAC地址,且取值分别为c和d,动作用于表征执行统计操作,则上游节点判断上游节点流表是否包括流分类字段为源MAC地址和目的MAC地址,且源MAC地址和目的MAC地址的取值分别为a和b的指定流表项,还判断上游节点流表中的流表项是否包括流分类字段为源MAC地址和目的MAC地址,且源MAC地址和目的MAC地址的取值分别为c和d的指定流表项。
若所述上游节点流表包括所述指定流表项,如,若上游节点流表包括流表项5,且流表项5的流分类字段为源MAC地址和目的MAC地址,且源MAC地址和目的MAC地址的取值分别为a和b,则可以再判断流表项1与流表项5中的动作是否相同,若不相同则将流表项1中的动作添加到流表项5中,如,如图5所示,若修改前的流表项5可以包括:(a+b)与统计操作的对应关系,则修改后的流表项5可以包括:(a+b)与(统计操作+修改操作)的对应关系。
如图6所示,若所述上游节点流表不包括所述指定流表项,则可以将下游节点流表项添加至上游节点流表中。如,若上游节点流表只包括流表项6,且流表项6的流分类字段为源MAC地址和目的MAC地址,且取值分别为h、i,由此可知,流表项6中的流分类字段与流表项1、流表项2的流分类字段不同,具体为流表项6中的流分类字段与流表项1、流表项2的流分类字段相同,但流分类字段的取值不同,即流表项6中的源MAC地址和目的MAC地址的取值与流表项1、流表项2的源MAC地址和目的MAC地址的取值不相同,因此,可以将流表项1、流表项2添加至上游节点流表中,此时,上游节点流表可以包括:流表项6、流表项1以及流表项2。
又如,如图7所示,下游节点流表可以包括流表项3和流表项4,流表项3和流表项4的流分类字段为源MAC地址和目的MAC地址以及端口号,且取值分别为e、f、g1,和e、f、g2,动作分别用于表征执行丢弃操作和修改操作。
若此时所述上游节点流表不包括所述指定流表项,例如,如图8所示,若上游节点流表只包括流表项7,且流表项7的流分类字段为源MAC地址和目的MAC地址,且取值分别为e和f,且动作用于表征执行统计操作,则可以在上游节点流表中建立两个新的流表项,即可以分别包括:(e+f+g1)与(统计操作+丢弃操作)的对应关系,和(e+f+g2)与(统计操作+修改操作)的对应关系。
308、上游节点根据所述修改后的上游节点流表对接收到的报文进行流处理。
上游节点在接收到报文后,从上游流表中查找与该报文对应的流表项,然后在根据该流表项中的动作接收到的报文执行相应的动作。
具体的,若上游节点流表的流分类字段为源MAC地址和目的MAC地址,且接收到的报文的源MAC地址和目的MAC地址的取值分别为a、b,则从上游节点流表中查找的流表项可以但不限于包括(a+b)与统计操作的对应关系,且说明该报文是源MAC地址的取值为a,目的MAC地址的取值为b的流中的报文,上游节点可以对该报文执行统计操作;若上游节点流表的流分类字段为源MAC地址和目的MAC地址以及端口号,且接收到的报文的源MAC地址、目的MAC地址以及端口号的取值分别为a、b、g1,则从上游节点流表中查找的流表项可以但不限于包括(e+f+g1)与(统计操作+丢弃操作)的对应关系,且说明该报文为源MAC地址的取值为e,目的MAC地址为端口号的取值为g1的流中的报文,且不仅对该报文执行统计操作,还需要执行丢弃操作。
309、上游节点从进行流处理后的报文中获取进行流处理后的第一报文,并将第一报文发送至次下游节点。
由于,修改后的上游流表包括了下游节点的流表,即可以将下游节点根据下游节点流表对相应的流的报文执行的流处理移至到上游节点中执行了,即实现了对下游节点的部分流量进行流量卸载,进而上游节点可以得到第一报文,其中,所述第一报文为与所述下游节点流表中的一个流表项对应的流的报文,且第一报文为上游节点进行流处理后的报文,因此,上游节点无需将第一报文再发送至下游节点了,可以直接将第一报文发送至次下游节点。
310、上游节点从进行流处理后的报文中获取进行流处理后的第二报文,并将第二报文发送至下游节点。
其中,所述第二报文为根据所述修改后的上游节点流表进行流处理后的且不为与所述下游节点流表中的流表项对应的流的报文。
所述下游节点在接收到第二报文后,可以根据第二报文建立第二报文所属的流的流表项,即第二报文可以为所属流的初始报文。另外,下游节点还可以将进行流处理后的第二报文发送至次下游节点,以便次下游节点根据次下游节点流表进行对第二报文进行相应的流处理。
进一步的,所述上游节点与所述下游节点可以为不同的业务处理节点。这样,采用本实施例可以实现业务处理节点之间的流量卸载。
另外,所述上游节点还可以为流分发点,且所述下游节点可以为业务处理节点,这样,采用本实施例可以实现流分发点之间业务处理节点的流量卸载。
本实施例中,下游节点接收上游节点的流表支持能力信息;根据所述流表支持能力信息判断所述上游节点是否支持下游节点流表,所述下游节点流表包括至少一个流表项,每个流表项对应一个流;若所述上游节点支持所述下游节点流表,则向所述上游节点发送所述下游节点流表,以便所述上游节点根据所述下游节点流表修改上游节点流表,修改后的上游节点流表包括所述下游节点流表,并且在修改完上游节点流表后,所述上游节点将根据所述修改后的上游节点流表进行流处理后的第一报文发送至次下游节点,所述第一报文为与所述下游节点流表中的一个流表项对应的流的报文。采用上述方案后,只要是下游节点确定了上游节点支持下游节点流表,且在上游节点根据下游节点流表对上游节点流表进行修改,且修改后的上游节点流表包括所述下游节点流表,便可以实现对下游节点进行流量卸载,这样,可以实现在任意相邻上下游节点之间对下游节点进行流量卸载,进而降低了对下游节点的性能规格要求。
另外,上游节点可以为流分发点和业务处理节点,下游节点可以为业务处理节点,这样,实现流量卸载,就不仅局限于流分发点和业务处理节点之间,还扩展到了相邻的业务节点之间。
下面提供一些虚拟装置实施例,该虚拟装置实施例可以分别与上述提供的相应的方法实施例相对应。
本实施例提供一种流量卸载的装置,如图9所示,可以包括:
第一接收单元91,用于接收上游节点的流表支持能力信息;
第一判断单元92,用于根据所述流表支持能力信息判断所述上游节点是否支持下游节点流表,所述下游节点流表包括至少一个流表项,每个流表项对应一个流;
发送单元93,用于若所述上游节点支持所述下游节点流表,则向所述上游节点发送所述下游节点流表。
本实施例中,第一接收单元,用于接收上游节点的流表支持能力信息;第一判断单元,用于根据所述流表支持能力信息判断所述上游节点是否支持下游节点流表,所述下游节点流表包括至少一个流表项,每个流表项对应一个流;发送单元,用于若所述上游节点支持所述下游节点流表,则向所述上游节点发送所述下游节点流表。采用上述方案后,只要是下游节点确定了上游节点支持下游节点流表,且在上游节点根据下游节点流表对上游节点流表进行修改,且修改后的上游节点流表包括所述下游节点流表,便可以实现对下游节点进行流量卸载,这样,可以实现在任意相邻的上下游节点之间对下游节点进行流量卸载。
本实施例提供另一种流量卸载的装置,还装置是对图9所示的装置的进一步扩展和优化,如图10所示,可以包括:
第一接收单元101,用于接收上游节点的流表支持能力信息;
第一判断单元102,用于根据所述流表支持能力信息判断所述上游节点是否支持下游节点流表,所述下游节点流表包括至少一个流表项,每个流表项对应一个流;
发送单元103,用于若所述上游节点支持所述下游节点流表,则向所述上游节点发送所述下游节点流表。
进一步的,所述第一接收单元101,具体用于接收所述上游节点直接发送的所述流表支持能力信息;或者,
接收所述上游节点通过管理设备发送的所述流表支持能力信息。
进一步的,所述流表项包括:流分类字段与动作的对应关系;
所述第一判断单元102,具体用于根据所述流表支持能力信息判断所述上游节点是否支持根据所述流分类字段生成流表项;以及根据所述流表支持能力信息判断所述上游节点是否支持所述动作。
进一步的,所述装置还包括:
第二判断单元104,用于在所述向所述上游节点发送所述下游节点的流表之前,判断所述上游节点当前是否允许修改所述上游节点流表;
所述发送单元103,具体用于若所述上游节点当前允许修改所述上游节点流表,则向所述上游节点发送所述下游节点的流表。
进一步的,所述装置还包括:
第二接收单元105,用于接收所述上游节点发送的报文,所述报文为所述上游节点根据所述修改后的上游节点流表进行流处理后的且不为与所述下游节点流表中的流表项对应的流的报文。
本实施例中,第一接收单元,用于接收上游节点的流表支持能力信息;第一判断单元,用于根据所述流表支持能力信息判断所述上游节点是否支持下游节点流表,所述下游节点流表包括至少一个流表项,每个流表项对应一个流;发送单元,用于若所述上游节点支持所述下游节点流表,则向所述上游节点发送所述下游节点流表。采用上述方案后,只要是下游节点确定了上游节点支持下游节点流表,且在上游节点根据下游节点流表对上游节点流表进行修改,且修改后的上游节点流表包括所述下游节点流表,便可以实现对下游节点进行流量卸载,这样,可以实现在任意相邻的上下游节点之间对下游节点进行流量卸载。
本实施例提供再一种流量卸载的装置,该装置是图9或图10所示的装置的通信对端装置,如图11所示,可以包括:
第一发送单元111,用于向下游节点发送上游节点的流表支持能力信息;
接收单元112,用于接收所述下游节点发送的所述下游节点流表,所述下游节点流表包括至少一个流表项,每个流表项对应一个流;
修改单元113,用于根据所述下游节点流表修改上游节点流表,修改后的上游节点流表包括所述下游节点流表;
第二发送单元114,用于将根据所述修改后的上游节点流表进行流处理后的第一报文发送至次下游节点,所述第一报文为与所述下游节点流表中的一个流表项对应的流的报文。
本实施例中,第一发送单元,用于向下游节点发送上游节点的流表支持能力信息;接收单元,用于接收所述下游节点发送的所述下游节点流表,所述下游节点流表包括至少一个流表项,每个流表项对应一个流;修改单元,用于根据所述下游节点流表修改上游节点流表,修改后的上游节点流表包括所述下游节点流表;第二发送单元,用于将根据所述修改后的上游节点流表进行流处理后的第一报文发送至次下游节点,所述第一报文为与所述下游节点流表中的一个流表项对应的流的报文。采用上述方案后,只要是下游节点确定了上游节点支持下游节点流表,且在上游节点根据下游节点流表对上游节点流表进行修改,且修改后的上游节点流表包括所述下游节点流表,便可以实现对下游节点进行流量卸载,这样,可以实现在任意相邻上下游节点之间对下游节点进行流量卸载。
本实施例提供又一种流量卸载的装置,该装置是对图11所示的装置的进一步扩展和优化,如图12所示,可以包括:
第一发送单元121,用于向下游节点发送上游节点的流表支持能力信息;
接收单元122,用于接收所述下游节点发送的所述下游节点流表,所述下游节点流表包括至少一个流表项,每个流表项对应一个流;
修改单元123,用于根据所述下游节点流表修改上游节点流表,修改后的上游节点流表包括所述下游节点流表;
第二发送单元124,用于将根据所述修改后的上游节点流表进行流处理后的第一报文发送至次下游节点,所述第一报文为与所述下游节点流表中的一个流表项对应的流的报文。
进一步的,所述第一发送单元121,具体用于直接向所述下游节点发送所述流表支持能力信息;或者,
通过管理设备向所述下游节点发送所述流表支持能力信息。
进一步的,所述流表项包括:流分类字段与动作的对应关系;
所述修改单元123,具体用于判断所述上游节点流表是否包括指定流表项,所述指定流表项为流分类字段与所述下游节点流表中的流表项中的流分类字段相同的流表项;
若所述上游节点流表包括所述指定流表项,则将所述下游节点流表中,与所述指定流表项的流分类字段相同的流表项中的动作添加到相应的指定流表项中;或者,
所述修改单元123,具体用于判断所述上游节点流表是否包括指定流表项,所述指定流表项为流分类字段与所述下游节点流表中的流表项中的流分类字段相同的流表项;
若所述上游节点流表不包括所述指定流表项,则根据所述下游节点流表在所述上游节点流表中建立新的流表项。
进一步的,所述装置还包括:
判断单元125,用于在所述接收单元接收所述下游节点发送的所述下游节点流表之前,判断当前是否允许修改所述上游节点流表;
所述第一发送单元121,具体用于若所述判断单元判断出当前允许修改所述上游节点流表,则接收所述下游节点发送的所述下游节点流表。
进一步的,所述判断单元125,具体用于判断所述上游节点流表当前是否存在空闲位置;或者,
判断所述上游节点当前是否允许对所述下游节点进行流量卸载。
进一步的,所述装置还包括:
处理单元126,用于在所述修改单元根据所述下游节点流表修改上游节点流表之后,根据所述修改后的上游节点流表对接收到的报文进行流处理;
所述第二发送单元124,具体用于从进行流处理后的报文中获取所述第一报文;将所述第一报文发送至次下游节点。
进一步的,所述装置还包括:
获取单元127,用于在所述根据所述修改后的上游节点流表对接收到的报文进行流处理之后,从所述进行流处理后的报文中获取第二报文,所述第二报文为根据所述修改后的上游节点流表进行流处理后的且不为与所述下游节点流表中的流表项对应的流的报文;
第三发送单元128,用于将第二报文发送至所述下游节点。
本实施例中,第一发送单元,用于向下游节点发送上游节点的流表支持能力信息;接收单元,用于接收所述下游节点发送的所述下游节点流表,所述下游节点流表包括至少一个流表项,每个流表项对应一个流;修改单元,用于根据所述下游节点流表修改上游节点流表,修改后的上游节点流表包括所述下游节点流表;第二发送单元,用于将根据所述修改后的上游节点流表进行流处理后的第一报文发送至次下游节点,所述第一报文为与所述下游节点流表中的一个流表项对应的流的报文。采用上述方案后,只要是下游节点确定了上游节点支持下游节点流表,且在上游节点根据下游节点流表对上游节点流表进行修改,且修改后的上游节点流表包括所述下游节点流表,便可以实现对下游节点进行流量卸载,这样,可以实现在任意相邻上下游节点之间对下游节点进行流量卸载。
下面提供一些实体装置实施例,该实体装置实施例可以分别与上述提供的相应的方法实施例和虚拟装置实施例相对应。
本实施例还提供一种计算机1,如图13所示,该计算机1包括:至少一个处理器15,例如CPU(Central Processing Unit,中央处理器),至少一个输出接口16或者其他用户接口17,存储器18,至少一个通信总线19。通信总线19用于实现上述组件之间的连接通信。该计算机1可选的包含其他用户接口17,包括显示器,键盘或者点击设备(例如,鼠标,轨迹球(trackball),触感板或者触感显示屏)。存储器18可能包含高速RAM(Random AccessMemory,随机存取存储器),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器18可选的可以包含至少一个位于远离前述处理器15的存储装置。
在一些实施方式中,存储器18存储了如下的元素,可执行模块或者数据结构,或者他们的子集,或者他们的扩展集:
操作系统180,包含各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。
应用程序181,包含各种应用程序,用于实现各种应用业务。
应用程序181可以应用于上游节点和下游节点中,若应用程序181应用于下游节点,则应用程序181中可以但不限于包括:
第一接收单元,用于接收上游节点的流表支持能力信息;
第一判断单元,用于根据所述流表支持能力信息判断所述上游节点是否支持下游节点流表,所述下游节点流表包括至少一个流表项,每个流表项对应一个流;
发送单元,用于若所述上游节点支持所述下游节点流表,则向所述上游节点发送所述下游节点流表。
进一步的,所述第一接收单元,具体用于接收所述上游节点直接发送的所述流表支持能力信息;或者,
接收所述上游节点通过管理设备发送的所述流表支持能力信息。
进一步的,所述流表项包括:流分类字段与动作的对应关系;
所述第一判断单元,具体用于根据所述流表支持能力信息判断所述上游节点是否支持根据所述流分类字段生成流表项;以及根据所述流表支持能力信息判断所述上游节点是否支持所述动作。
进一步的,所述应用程序181还可以包括:
第二判断单元,用于在所述向所述上游节点发送所述下游节点的流表之前,判断所述上游节点当前是否允许修改所述上游节点流表;
所述发送单元,具体用于若所述上游节点当前允许修改所述上游节点流表,则向所述上游节点发送所述下游节点的流表。
进一步的,所述应用程序181还可以包括:
第二接收单元,用于接收所述上游节点发送的报文,所述报文为所述上游节点根据所述修改后的上游节点流表进行流处理后的且不为与所述下游节点流表中的流表项对应的流的报文。
若应用程序181应用于上游节点,则应用程序181中可以但不限于包括:
第一发送单元,用于向下游节点发送上游节点的流表支持能力信息;
接收单元,用于接收所述下游节点发送的所述下游节点流表,所述下游节点流表包括至少一个流表项,每个流表项对应一个流;
修改单元,用于根据所述下游节点流表修改上游节点流表,修改后的上游节点流表包括所述下游节点流表;
第二发送单元,用于将根据所述修改后的上游节点流表进行流处理后的第一报文发送至次下游节点,所述第一报文为与所述下游节点流表中的一个流表项对应的流的报文。
进一步的,所述第一发送单元,具体用于直接向所述下游节点发送所述流表支持能力信息;或者,
通过管理设备向所述下游节点发送所述流表支持能力信息。
进一步的,所述流表项包括:流分类字段与动作的对应关系;
所述修改单元,具体用于判断所述上游节点流表是否包括指定流表项,所述指定流表项为流分类字段与所述下游节点流表中的流表项中的流分类字段相同的流表项;
若所述上游节点流表包括所述指定流表项,则将所述下游节点流表中,与所述指定流表项的流分类字段相同的流表项中的动作添加到相应的指定流表项中;或者,
所述修改单元,具体用于判断所述上游节点流表是否包括指定流表项,所述指定流表项为流分类字段与所述下游节点流表中的流表项中的流分类字段相同的流表项;
若所述上游节点流表不包括所述指定流表项,则根据所述下游节点流表在所述上游节点流表中建立新的流表项。
进一步的,所述应用程序181还可以包括:
判断单元,用于在所述接收单元接收所述下游节点发送的所述下游节点流表之前,判断当前是否允许修改所述上游节点流表;
所述第一发送单元,具体用于若所述判断单元判断出当前允许修改所述上游节点流表,则接收所述下游节点发送的所述下游节点流表。
进一步的,所述判断单元,具体用于判断所述上游节点流表当前是否存在空闲位置;或者,
判断所述上游节点当前是否允许对所述下游节点进行流量卸载。
进一步的,所述应用程序181还可以包括:
处理单元,用于在所述修改单元根据所述下游节点流表修改上游节点流表之后,根据所述修改后的上游节点流表对接收到的报文进行流处理;
所述第二发送单元,具体用于从进行流处理后的报文中获取所述第一报文;将所述第一报文发送至次下游节点。
进一步的,所述应用程序181还可以包括:
获取单元,用于在所述根据所述修改后的上游节点流表对接收到的报文进行流处理之后,从所述进行流处理后的报文中获取第二报文,所述第二报文为根据所述修改后的上游节点流表进行流处理后的且不为与所述下游节点流表中的流表项对应的流的报文;
第三发送单元,用于将第二报文发送至所述下游节点。
在本发明实施例中,计算机1为下游节点时,通过调用存储器18中存储的程序或指令,处理器15用于:
下游节点接收上游节点的流表支持能力信息;
根据所述流表支持能力信息判断所述上游节点是否支持下游节点流表,所述下游节点流表包括至少一个流表项,每个流表项对应一个流;
若所述上游节点支持所述下游节点流表,则向所述上游节点发送所述下游节点流表。
进一步的,处理器15,具体用于所述下游节点接收所述上游节点直接发送的所述流表支持能力信息;或者,
所述下游节点接收所述上游节点通过管理设备发送的所述流表支持能力信息
进一步的,所述流表项包括:流分类字段与动作的对应关系;
处理器15,具体用于根据所述流表支持能力信息判断所述上游节点是否支持根据所述流分类字段生成流表项;以及
根据所述流表支持能力信息判断所述上游节点是否支持所述动作。
进一步的,处理器15,还用于在所述向所述上游节点发送所述下游节点的流表之前,判断所述上游节点当前是否允许修改所述上游节点流表;
处理器15,具体用于若所述上游节点当前允许修改所述上游节点流表,则向所述上游节点发送所述下游节点的流表。
进一步的,处理器15,还用于接收所述上游节点发送的报文,所述报文为所述上游节点根据所述修改后的上游节点流表进行流处理后的且不为与所述下游节点流表中的流表项对应的流的报文。
在本发明实施例中,计算机1为上游节点时,通过调用存储器18中存储的程序或指令,处理器15用于:
上游节点向下游节点发送所述上游节点的流表支持能力信息;
接收所述下游节点发送的所述下游节点流表,所述下游节点流表包括至少一个流表项,每个流表项对应一个流;
根据所述下游节点流表修改上游节点流表,修改后的上游节点流表包括所述下游节点流表;
将根据所述修改后的上游节点流表进行流处理后的第一报文发送至次下游节点,所述第一报文为与所述下游节点流表中的一个流表项对应的流的报文。
进一步的,处理器15,具体用于所述上游节点直接向所述下游节点发送所述流表支持能力信息;或者,
所述上游节点通过管理设备向所述下游节点发送所述流表支持能力信息。
进一步的,所述流表项包括:流分类字段与动作的对应关系;
处理器15,具体用于判断所述上游节点流表是否包括指定流表项,所述指定流表项为流分类字段与所述下游节点流表中的流表项中的流分类字段相同的流表项;
若所述上游节点流表包括所述指定流表项,则将所述下游节点流表中,与所述指定流表项的流分类字段相同的流表项中的动作添加到相应的指定流表项中;或者,
判断所述上游节点流表是否包括指定流表项,所述指定流表项为流分类字段与所述下游节点流表中的流表项中的流分类字段相同的流表项;
若所述上游节点流表不包括所述指定流表项,则根据所述下游节点流表在所述上游节点流表中建立新的流表项。
进一步的,处理器15,还用于在所述接收所述下游节点发送的所述下游节点流表之前,判断当前是否允许修改所述上游节点流表;
处理器15,具体用于若当前允许修改所述上游节点流表,则接收所述下游节点发送的所述下游节点流表。
进一步的,判断所述上游节点流表当前是否存在空闲位置;或者,
判断所述上游节点当前是否允许对所述下游节点进行流量卸载。
进一步的,处理器15,还用于在所述根据所述下游节点流表修改上游节点流表之后,根据所述修改后的上游节点流表对接收到的报文进行流处理;
处理器15,具体用于从进行流处理后的报文中获取所述第一报文;
将所述第一报文发送至次下游节点。
进一步的,处理器15,还用于在所述根据所述修改后的上游节点流表对接收到的报文进行流处理之后,从所述进行流处理后的报文中获取第二报文,所述第二报文为根据所述修改后的上游节点流表进行流处理后的且不为与所述下游节点流表中的流表项对应的流的报文;
将所述第二报文发送至所述下游节点。
本实施例中,下游节点接收上游节点的流表支持能力信息;根据所述流表支持能力信息判断所述上游节点是否支持下游节点流表,所述下游节点流表包括至少一个流表项,每个流表项对应一个流;若所述上游节点支持所述下游节点流表,则向所述上游节点发送所述下游节点流表,以便所述上游节点根据所述下游节点流表修改上游节点流表,修改后的上游节点流表包括所述下游节点流表,并且在修改完上游节点流表后,所述上游节点将根据所述修改后的上游节点流表进行流处理后的第一报文发送至次下游节点,所述第一报文为与所述下游节点流表中的一个流表项对应的流的报文。采用上述方案后,只要是下游节点确定了上游节点支持下游节点流表,且在上游节点根据下游节点流表对上游节点流表进行修改,且修改后的上游节点流表包括所述下游节点流表,便可以实现对下游节点进行流量卸载,这样,可以实现在任意相邻上下游节点之间对下游节点进行流量卸载,进而降低了对下游节点的性能规格要求。
另外,上游节点可以为流分发点和业务处理节点,下游节点可以为业务处理节点,这样,实现流量卸载,就不仅局限于流分发点和业务处理节点之间,还扩展到了相邻的业务节点之间。
下面提供一些系统实施例,该系统实施例分别与上述提供的方法、虚拟装置、实体装置相对应。
本实施例提供一种流量卸载的系统,如图14所示,可以包括:
上游节点141,用于向上游节点142发送所述上游节点141的流表支持能力信息;在所述上游节点142根据所述流表支持能力信息判断出所述上游节点141支持上游节点142流表之后,接收所述上游节点142发送的所述上游节点142流表,所述上游节点142流表包括至少一个流表项,每个流表项对应一个流;根据所述上游节点142流表修改上游节点141流表,修改后的上游节点141流表包括所述上游节点142流表;将根据所述修改后的上游节点141流表进行流处理后的第一报文发送至次下游节点143,所述第一报文为与所述上游节点142流表中的一个流表项对应的流的报文;
所述下游节点142,用于接收所述流表支持能力信息;根据所述流表支持能力信息判断所述上游节点141是否支持所述上游节点142流表;若所述上游节点141支持所述上游节点142流表,则向所述上游节点141发送所述上游节点142流表;
所述次下游节点143,用于接收所述上游节点141发送的所述第一报文。
本实施例中,上游节点,用于向下游节点发送所述上游节点的流表支持能力信息;在所述下游节点根据所述流表支持能力信息判断出所述上游节点支持下游节点流表之后,接收所述下游节点发送的所述下游节点流表,所述下游节点流表包括至少一个流表项,每个流表项对应一个流;根据所述下游节点流表修改上游节点流表,修改后的上游节点流表包括所述下游节点流表;将根据所述修改后的上游节点流表进行流处理后的第一报文发送至次下游节点,所述第一报文为与所述下游节点流表中的一个流表项对应的流的报文;所述下游节点,用于接收所述流表支持能力信息;根据所述流表支持能力信息判断所述上游节点是否支持所述下游节点流表;若所述上游节点支持所述下游节点流表,则向所述上游节点发送所述下游节点流表;所述次下游节点,用于接收所述上游节点发送的所述第一报文。采用上述方案后,只要是下游节点确定了上游节点支持下游节点流表,且在上游节点根据下游节点流表对上游节点流表进行修改,且修改后的上游节点流表包括所述下游节点流表,便可以实现对下游节点进行流量卸载,这样,可以实现在任意相邻上下游节点之间对下游节点进行流量卸载。
本实施例提供另一种流量卸载的系统,该系统是对图14所示的系统的进一步扩展和优化,如图15所示,可以包括:
上游节点151,用于向下游节点152发送所述上游节点151的流表支持能力信息;在所述下游节点152根据所述流表支持能力信息判断出所述上游节点151支持下游节点152流表之后,接收所述下游节点152发送的所述下游节点152流表,所述下游节点152流表包括至少一个流表项,每个流表项对应一个流;根据所述下游节点152流表修改上游节点151流表,修改后的上游节点151流表包括所述下游节点152流表;将根据所述修改后的上游节点151流表进行流处理后的第一报文发送至次下游节点153,所述第一报文为与所述下游节点152流表中的一个流表项对应的流的报文;
所述下游节点152,用于接收所述流表支持能力信息;根据所述流表支持能力信息判断所述上游节点151是否支持所述下游节点152流表;若所述上游节点151支持所述下游节点152流表,则向所述上游节点151发送所述下游节点152流表;
所述次下游节点153,用于接收所述上游节点151发送的所述第一报文。
进一步的,所述上游节点151,具体用于直接向所述下游节点152发送所述流表支持能力信息;
所述下游节点152,具体用于接收所述上游节点151发送的所述流表支持能力信息。
进一步的,所述系统还包括:管理设备154;
所述上游节点151,具体用于向所述管理设备154发送所述流表支持能力信息;
所述管理设备154,用于接收所述上游节点151发送的所述流表支持能力信息;将所述流表支持能力信息发送至所述下游节点152;
所述下游节点152设备,具体用于接收所述管理设备154发送的所述流表支持能力信息。
进一步的,所述流表项包括:流分类字段与动作的对应关系;
所述下游节点152,具体用于根据所述流表支持能力信息判断所述上游节点151是否支持根据所述流分类字段生成流表项;以及根据所述流表支持能力信息判断所述上游节点151是否支持所述动作。
进一步的,所述上游节点151,还用于在所述接收所述下游节点152发送的所述下游节点152流表之前,判断当前是否允许修改所述上游节点151流表;若当前允许修改所述上游节点151流表,则接收所述下游节点152发送的所述下游节点152流表;
所述下游节点152,还用于在所述向所述上游节点151发送所述下游节点152的流表之前,判断所述上游节点151当前是否允许修改所述上游节点151流表;若所述上游节点151当前允许修改所述上游节点151流表,则向所述上游节点151发送所述下游节点152的流表。
进一步的,所述流表项包括:流分类字段与动作的对应关系;
所述上游节点151,还用于判断所述上游节点151流表是否包括指定流表项,所述指定流表项为流分类字段与所述下游节点152流表中的流表项中的流分类字段相同的流表项;若所述上游节点151流表包括所述指定流表项,则将所述下游节点152流表中,与所述指定流表项的流分类字段相同的流表项中的动作添加到相应的指定流表项中;或者,
所述上游节点151,还用于判断所述上游节点151流表是否包括指定流表项,所述指定流表项为流分类字段与所述下游节点152流表中的流表项中的流分类字段相同的流表项;若所述上游节点151流表不包括所述指定流表项,则根据所述下游节点152流表在所述上游节点151流表中建立新的流表项。
进一步的,所述上游节点151,具体用于判断所述上游节点151流表当前是否存在空闲位置;或者,判断所述上游节点151当前是否允许对所述下游节点152进行流量卸载。
进一步的,所述上游节点151,具体用于在所述根据所述下游节点152流表修改上游节点151流表之后,根据所述修改后的上游节点151流表对接收到的报文进行流处理;从进行流处理后的报文中获取所述第一报文;将所述第一报文发送至次下游节点153。
进一步的,所述上游节点151,还用于在所述根据所述修改后的上游节点151流表对接收到的报文进行流处理之后,从所述进行流处理后的报文中获取第二报文,将所述第二报文发送至所述下游节点152,所述第二报文为根据所述修改后的上游节点151流表进行流处理后的且不为与所述下游节点152流表中的流表项对应的流的报文;
所述下游节点152,还用于接收所述上游节点151发送的所述第二报文。
本实施例中,上游节点,用于向下游节点发送所述上游节点的流表支持能力信息;在所述下游节点根据所述流表支持能力信息判断出所述上游节点支持下游节点流表之后,接收所述下游节点发送的所述下游节点流表,所述下游节点流表包括至少一个流表项,每个流表项对应一个流;根据所述下游节点流表修改上游节点流表,修改后的上游节点流表包括所述下游节点流表;将根据所述修改后的上游节点流表进行流处理后的第一报文发送至次下游节点,所述第一报文为与所述下游节点流表中的一个流表项对应的流的报文;所述下游节点,用于接收所述流表支持能力信息;根据所述流表支持能力信息判断所述上游节点是否支持所述下游节点流表;若所述上游节点支持所述下游节点流表,则向所述上游节点发送所述下游节点流表;所述次下游节点,用于接收所述上游节点发送的所述第一报文。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (33)
1.一种流量卸载的方法,其特征在于,包括:
下游节点接收上游节点的流表支持能力信息;
根据所述流表支持能力信息判断所述上游节点是否支持下游节点流表,所述下游节点流表包括至少一个流表项,每个流表项对应一个流;
若所述上游节点支持所述下游节点流表,则向所述上游节点发送所述下游节点流表。
2.根据权利要求1所述的流量卸载的方法,其特征在于,所述下游节点接收上游节点的流表支持能力信息,包括:
所述下游节点接收所述上游节点直接发送的所述流表支持能力信息;或者,
所述下游节点接收所述上游节点通过管理设备发送的所述流表支持能力信息。
3.根据权利要求1或2所述的流量卸载的方法,其特征在于,所述流表项包括:流分类字段与动作的对应关系;
所述根据所述流表支持能力信息判断所述上游节点是否支持下游节点流表,包括:
根据所述流表支持能力信息判断所述上游节点是否支持根据所述流分类字段生成流表项;以及
根据所述流表支持能力信息判断所述上游节点是否支持所述动作。
4.根据权利要求1或2所述的流量卸载的方法,其特征在于,在所述向所述上游节点发送所述下游节点的流表之前,所述方法还包括:
判断所述上游节点当前是否允许修改所述上游节点流表;
所述向所述上游节点发送所述下游节点的流表,包括:
若所述上游节点当前允许修改所述上游节点流表,则向所述上游节点发送所述下游节点的流表。
5.根据权利要求4所述的流量卸载的方法,其特征在于,所述方法还包括:
接收所述上游节点发送的报文,所述报文为所述上游节点根据所述修改后的上游节点流表进行流处理后的且不为与所述下游节点流表中的流表项对应的流的报文。
6.一种流量卸载的方法,其特征在于,包括:
上游节点向下游节点发送所述上游节点的流表支持能力信息;
接收所述下游节点发送的所述下游节点流表,所述下游节点流表包括至少一个流表项,每个流表项对应一个流;
根据所述下游节点流表修改上游节点流表,修改后的上游节点流表包括所述下游节点流表;
将根据所述修改后的上游节点流表进行流处理后的第一报文发送至次下游节点,所述第一报文为与所述下游节点流表中的一个流表项对应的流的报文。
7.根据权利要求6所述的流量卸载的方法,其特征在于,所述上游节点向下游节点发送所述上游节点的流表支持能力信息,包括:
所述上游节点直接向所述下游节点发送所述流表支持能力信息;或者,
所述上游节点通过管理设备向所述下游节点发送所述流表支持能力信息。
8.根据权利要求6或7所述的流量卸载的方法,其特征在于,所述流表项包括:流分类字段与动作的对应关系;
所述根据所述下游节点流表修改上游节点流表,包括:
判断所述上游节点流表是否包括指定流表项,所述指定流表项为流分类字段与所述下游节点流表中的流表项中的流分类字段相同的流表项;若所述上游节点流表包括所述指定流表项,则将所述下游节点流表中,与所述指定流表项的流分类字段相同的流表项中的动作添加到相应的指定流表项中;或者,
判断所述上游节点流表是否包括指定流表项,所述指定流表项为流分类字段与所述下游节点流表中的流表项中的流分类字段相同的流表项;若所述上游节点流表不包括所述指定流表项,则根据所述下游节点流表在所述上游节点流表中建立新的流表项。
9.根据权利要求6或7所述的流量卸载的方法,其特征在于,在所述接收所述下游节点发送的所述下游节点流表之前,所述方法还包括:
判断当前是否允许修改所述上游节点流表;
所述接收所述下游节点发送的所述下游节点流表,包括:
若当前允许修改所述上游节点流表,则接收所述下游节点发送的所述下游节点流表。
10.根据权利要求9所述的流量卸载的方法,其特征在于,所述判断当前是否允许修改所述上游节点流表,包括:
判断所述上游节点流表当前是否存在空闲位置;或者,
判断所述上游节点当前是否允许对所述下游节点进行流量卸载。
11.根据权利要求6或7所述的流量卸载的方法,其特征在于,在所述根据所述下游节点流表修改上游节点流表之后,所述方法还包括:
根据所述修改后的上游节点流表对接收到的报文进行流处理;
所述将根据所述修改后的上游节点流表进行流处理后的第一报文发送至次下游节点,包括:
从进行流处理后的报文中获取所述第一报文;
将所述第一报文发送至次下游节点。
12.根据权利要求11所述的流量卸载的方法,其特征在于,在所述根据所述修改后的上游节点流表对接收到的报文进行流处理之后,所述方法还包括:
从所述进行流处理后的报文中获取第二报文,所述第二报文为根据所述修改后的上游节点流表进行流处理后的且不为与所述下游节点流表中的流表项对应的流的报文;
将所述第二报文发送至所述下游节点。
13.一种流量卸载的装置,其特征在于,包括:
第一接收单元,用于接收上游节点的流表支持能力信息;
第一判断单元,用于根据所述流表支持能力信息判断所述上游节点是否支持下游节点流表,所述下游节点流表包括至少一个流表项,每个流表项对应一个流;
发送单元,用于若所述上游节点支持所述下游节点流表,则向所述上游节点发送所述下游节点流表。
14.根据权利要求13所述的流量卸载的装置,其特征在于,所述第一接收单元,具体用于接收所述上游节点直接发送的所述流表支持能力信息;或者,
接收所述上游节点通过管理设备发送的所述流表支持能力信息。
15.根据权利要求13或14所述的流量卸载的装置,其特征在于,所述流表项包括:流分类字段与动作的对应关系;
所述第一判断单元,具体用于根据所述流表支持能力信息判断所述上游节点是否支持根据所述流分类字段生成流表项;以及根据所述流表支持能力信息判断所述上游节点是否支持所述动作。
16.根据权利要求13或14所述的流量卸载的装置,其特征在于,所述装置还包括:
第二判断单元,用于在所述向所述上游节点发送所述下游节点的流表之前,判断所述上游节点当前是否允许修改所述上游节点流表;
所述发送单元,具体用于若所述上游节点当前允许修改所述上游节点流表,则向所述上游节点发送所述下游节点的流表。
17.根据权利要求16所述的流量卸载的装置,其特征在于,所述装置还包括:
第二接收单元,用于接收所述上游节点发送的报文,所述报文为所述上游节点根据所述修改后的上游节点流表进行流处理后的且不为与所述下游节点流表中的流表项对应的流的报文。
18.一种流量卸载的装置,其特征在于,包括:
第一发送单元,用于向下游节点发送上游节点的流表支持能力信息;
接收单元,用于接收所述下游节点发送的所述下游节点流表,所述下游节点流表包括至少一个流表项,每个流表项对应一个流;
修改单元,用于根据所述下游节点流表修改上游节点流表,修改后的上游节点流表包括所述下游节点流表;
第二发送单元,用于将根据所述修改后的上游节点流表进行流处理后的第一报文发送至次下游节点,所述第一报文为与所述下游节点流表中的一个流表项对应的流的报文。
19.根据权利要求18所述的流量卸载的装置,其特征在于,所述第一发送单元,具体用于直接向所述下游节点发送所述流表支持能力信息;或者,
通过管理设备向所述下游节点发送所述流表支持能力信息。
20.根据权利要求18或19所述的流量卸载的装置,其特征在于,所述流表项包括:流分类字段与动作的对应关系;
所述修改单元,具体用于判断所述上游节点流表是否包括指定流表项,所述指定流表项为流分类字段与所述下游节点流表中的流表项中的流分类字段相同的流表项;若所述上游节点流表包括所述指定流表项,则将所述下游节点流表中,与所述指定流表项的流分类字段相同的流表项中的动作添加到相应的指定流表项中;或者,
所述修改单元,具体用于判断所述上游节点流表是否包括指定流表项,所述指定流表项为流分类字段与所述下游节点流表中的流表项中的流分类字段相同的流表项;若所述上游节点流表不包括所述指定流表项,则根据所述下游节点流表在所述上游节点流表中建立新的流表项。
21.根据权利要求18或19所述的流量卸载的装置,其特征在于,所述装置还包括:
判断单元,用于在所述接收单元接收所述下游节点发送的所述下游节点流表之前,判断当前是否允许修改所述上游节点流表;
所述第一发送单元,具体用于若所述判断单元判断出当前允许修改所述上游节点流表,则接收所述下游节点发送的所述下游节点流表。
22.根据权利要求21所述的流量卸载的装置,其特征在于,所述判断单元,具体用于判断所述上游节点流表当前是否存在空闲位置;或者,
判断所述上游节点当前是否允许对所述下游节点进行流量卸载。
23.根据权利要求18或19所述的流量卸载的装置,其特征在于,所述装置还包括:
处理单元,用于在所述修改单元根据所述下游节点流表修改上游节点流表之后,根据所述修改后的上游节点流表对接收到的报文进行流处理;
所述第二发送单元,具体用于从进行流处理后的报文中获取所述第一报文;将所述第一报文发送至次下游节点。
24.根据权利要求23所述的流量卸载的装置,其特征在于,所述装置还包括:
获取单元,用于在所述根据所述修改后的上游节点流表对接收到的报文进行流处理之后,从所述进行流处理后的报文中获取第二报文,所述第二报文为根据所述修改后的上游节点流表进行流处理后的且不为与所述下游节点流表中的流表项对应的流的报文;
第三发送单元,用于将第二报文发送至所述下游节点。
25.一种流量卸载的系统,其特征在于,包括:
上游节点,用于向下游节点发送所述上游节点的流表支持能力信息;在所述下游节点根据所述流表支持能力信息判断出所述上游节点支持下游节点流表之后,接收所述下游节点发送的所述下游节点流表,所述下游节点流表包括至少一个流表项,每个流表项对应一个流;根据所述下游节点流表修改上游节点流表,修改后的上游节点流表包括所述下游节点流表;将根据所述修改后的上游节点流表进行流处理后的第一报文发送至次下游节点,所述第一报文为与所述下游节点流表中的一个流表项对应的流的报文;
所述下游节点,用于接收所述流表支持能力信息;根据所述流表支持能力信息判断所述上游节点是否支持所述下游节点流表;若所述上游节点支持所述下游节点流表,则向所述上游节点发送所述下游节点流表;
所述次下游节点,用于接收所述上游节点发送的所述第一报文。
26.根据权利要求25所述的流量卸载的系统,其特征在于,所述上游节点,具体用于直接向所述下游节点发送所述流表支持能力信息;
所述下游节点,具体用于接收所述上游节点发送的所述流表支持能力信息。
27.根据权利要求25所述的流量卸载的系统,其特征在于,所述系统还包括:管理设备;
所述上游节点,具体用于向所述管理设备发送所述流表支持能力信息;
所述管理设备,用于接收所述上游节点发送的所述流表支持能力信息;将所述流表支持能力信息发送至所述下游节点;
所述下游节点设备,具体用于接收所述管理设备发送的所述流表支持能力信息。
28.根据权利要求25-27中任一项所述的流量卸载的系统,其特征在于,所述流表项包括:流分类字段与动作的对应关系;
所述下游节点,具体用于根据所述流表支持能力信息判断所述上游节点是否支持根据所述流分类字段生成流表项;以及根据所述流表支持能力信息判断所述上游节点是否支持所述动作。
29.根据权利要求25-27中任一项所述的流量卸载的系统,其特征在于,所述上游节点,还用于在所述接收所述下游节点发送的所述下游节点流表之前,判断当前是否允许修改所述上游节点流表;若当前允许修改所述上游节点流表,则接收所述下游节点发送的所述下游节点流表;
所述下游节点,还用于在所述向所述上游节点发送所述下游节点的流表之前,判断所述上游节点当前是否允许修改所述上游节点流表;若所述上游节点当前允许修改所述上游节点流表,则向所述上游节点发送所述下游节点的流表。
30.根据权利要求25-27中任一项所述的流量卸载的系统,其特征在于,所述流表项包括:流分类字段与动作的对应关系;
所述上游节点,还用于判断所述上游节点流表是否包括指定流表项,所述指定流表项为流分类字段与所述下游节点流表中的流表项中的流分类字段相同的流表项;若所述上游节点流表包括所述指定流表项,则将所述下游节点流表中,与所述指定流表项的流分类字段相同的流表项中的动作添加到相应的指定流表项中;或者,
所述上游节点,还用于判断所述上游节点流表是否包括指定流表项,所述指定流表项为流分类字段与所述下游节点流表中的流表项中的流分类字段相同的流表项;若所述上游节点流表不包括所述指定流表项,则根据所述下游节点流表在所述上游节点流表中建立新的流表项。
31.根据权利要求30所述的流量卸载的系统,其特征在于,所述上游节点,具体用于判断所述上游节点流表当前是否存在空闲位置;或者,判断所述上游节点当前是否允许对所述下游节点进行流量卸载。
32.根据权利要求25-27中任一项所述的流量卸载的系统,其特征在于,所述上游节点,具体用于在所述根据所述下游节点流表修改上游节点流表之后,根据所述修改后的上游节点流表对接收到的报文进行流处理;从进行流处理后的报文中获取所述第一报文;将所述第一报文发送至次下游节点。
33.根据权利要求25-27中任一项所述的流量卸载的系统,其特征在于,所述上游节点,还用于在所述根据所述修改后的上游节点流表对接收到的报文进行流处理之后,从所述进行流处理后的报文中获取第二报文,将所述第二报文发送至所述下游节点,所述第二报文为根据所述修改后的上游节点流表进行流处理后的且不为与所述下游节点流表中的流表项对应的流的报文;
所述下游节点,还用于接收所述上游节点发送的所述第二报文。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310659400.9A CN104702519B (zh) | 2013-12-06 | 2013-12-06 | 流量卸载的方法、装置及系统 |
PCT/CN2014/085355 WO2015081735A1 (zh) | 2013-12-06 | 2014-08-28 | 流量卸载的方法、装置及系统 |
EP14867575.4A EP3068085B1 (en) | 2013-12-06 | 2014-08-28 | Traffic offloading method, apparatus, and system |
US15/172,715 US9942155B2 (en) | 2013-12-06 | 2016-06-03 | Traffic offloading method, apparatus, and system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310659400.9A CN104702519B (zh) | 2013-12-06 | 2013-12-06 | 流量卸载的方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104702519A CN104702519A (zh) | 2015-06-10 |
CN104702519B true CN104702519B (zh) | 2018-02-13 |
Family
ID=53272840
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310659400.9A Active CN104702519B (zh) | 2013-12-06 | 2013-12-06 | 流量卸载的方法、装置及系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9942155B2 (zh) |
EP (1) | EP3068085B1 (zh) |
CN (1) | CN104702519B (zh) |
WO (1) | WO2015081735A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9961125B2 (en) | 2013-07-31 | 2018-05-01 | Microsoft Technology Licensing, Llc | Messaging API over HTTP protocol to establish context for data exchange |
US10440066B2 (en) | 2013-11-15 | 2019-10-08 | Microsoft Technology Licensing, Llc | Switching of connection protocol |
US20150142982A1 (en) * | 2013-11-15 | 2015-05-21 | Microsoft Corporation | Preservation of connection session |
EP3188427B1 (en) | 2015-12-28 | 2019-08-21 | Institut Mines-Télécom | Reordered sub-block decoding |
CN113285892A (zh) * | 2020-02-20 | 2021-08-20 | 华为技术有限公司 | 报文处理系统、方法、机器可读存储介质以及程序产品 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102209348A (zh) * | 2011-05-26 | 2011-10-05 | 中国电信股份有限公司 | 流量卸载方法、系统及分组数据网网关 |
US8327014B2 (en) * | 2008-06-30 | 2012-12-04 | Cisco Technology, Inc. | Multi-layer hardware-based service acceleration (MHSA) |
CN103036802A (zh) * | 2013-01-08 | 2013-04-10 | 中国科学院计算技术研究所 | 一种流量卸载的方法和系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090092136A1 (en) * | 2007-10-09 | 2009-04-09 | Broadcom Corporation | System and method for packet classification, modification and forwarding |
CN102349268B (zh) * | 2009-03-09 | 2015-11-25 | 日本电气株式会社 | OpenFlow通信系统和OpenFlow通信方法 |
CN104137493A (zh) * | 2012-02-20 | 2014-11-05 | 日本电气株式会社 | 网络系统和改善资源利用率的方法 |
US10097452B2 (en) * | 2012-04-16 | 2018-10-09 | Telefonaktiebolaget Lm Ericsson (Publ) | Chaining of inline services using software defined networking |
-
2013
- 2013-12-06 CN CN201310659400.9A patent/CN104702519B/zh active Active
-
2014
- 2014-08-28 EP EP14867575.4A patent/EP3068085B1/en active Active
- 2014-08-28 WO PCT/CN2014/085355 patent/WO2015081735A1/zh active Application Filing
-
2016
- 2016-06-03 US US15/172,715 patent/US9942155B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8327014B2 (en) * | 2008-06-30 | 2012-12-04 | Cisco Technology, Inc. | Multi-layer hardware-based service acceleration (MHSA) |
CN102209348A (zh) * | 2011-05-26 | 2011-10-05 | 中国电信股份有限公司 | 流量卸载方法、系统及分组数据网网关 |
CN103036802A (zh) * | 2013-01-08 | 2013-04-10 | 中国科学院计算技术研究所 | 一种流量卸载的方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
US9942155B2 (en) | 2018-04-10 |
CN104702519A (zh) | 2015-06-10 |
EP3068085A4 (en) | 2016-11-09 |
EP3068085A1 (en) | 2016-09-14 |
US20160285770A1 (en) | 2016-09-29 |
WO2015081735A1 (zh) | 2015-06-11 |
EP3068085B1 (en) | 2017-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104702519B (zh) | 流量卸载的方法、装置及系统 | |
US9444702B1 (en) | System and method for visualization of NoC performance based on simulation output | |
US9571420B2 (en) | Integrated NoC for performing data communication and NoC functions | |
CN103036787B (zh) | 一种网络路由收敛处理方法和装置 | |
Zhang et al. | HSDC: A highly scalable data center network architecture for greater incremental scalability | |
WO2015013609A1 (en) | System level simulation in network on chip architecture | |
CN102447639B (zh) | 一种策略路由方法及装置 | |
Seiculescu et al. | A method to remove deadlocks in networks-on-chips with wormhole flow control | |
CN109218352A (zh) | 一种区块链网络中交易信息的共识确认方法及装置 | |
CN103269315B (zh) | 标签分配方法、装置、系统和网络设备 | |
CN104580107B (zh) | 恶意攻击检测方法及控制器 | |
CN113992569B (zh) | Sdn网络中多路径业务收敛方法、装置及存储介质 | |
CN103580923B (zh) | 软件部署的方法和装置 | |
CN102201949B (zh) | 一种测试网络设备转发性能的系统及方法 | |
CN104205745B (zh) | 报文处理的方法与设备 | |
CN103631947A (zh) | 一种列表的搜索方法及搜索系统 | |
CN107135083A (zh) | 一种计费方法和装置 | |
CN107370615A (zh) | 一种网络策略控制方法及设备 | |
CN105247823A (zh) | 调整链路开销的方法和装置 | |
CN110086722A (zh) | 一种路由路径确定方法及装置、路由设备 | |
CN101146035B (zh) | 标签交换路径路由搜索方法和系统 | |
Brown et al. | Tracing data movements within MPI collectives | |
CN107333320A (zh) | 数据转发方法和装置 | |
CN105450481B (zh) | 片上网络的布局优化方法及装置 | |
JP2007293761A (ja) | エージェントの配置プログラム、方法、および装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |