CN105519058B - 控制器、服务节点和数据包转发方法 - Google Patents

控制器、服务节点和数据包转发方法 Download PDF

Info

Publication number
CN105519058B
CN105519058B CN201480037491.5A CN201480037491A CN105519058B CN 105519058 B CN105519058 B CN 105519058B CN 201480037491 A CN201480037491 A CN 201480037491A CN 105519058 B CN105519058 B CN 105519058B
Authority
CN
China
Prior art keywords
service
node
data
service node
flow
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
Application number
CN201480037491.5A
Other languages
English (en)
Other versions
CN105519058A (zh
Inventor
庄毓新
冯江平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Cloud Computing Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN105519058A publication Critical patent/CN105519058A/zh
Application granted granted Critical
Publication of CN105519058B publication Critical patent/CN105519058B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/02Communication route or path selection, e.g. power-based or shortest path routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/256NAT traversal

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及通信技术领域,尤其涉及控制器、服务节点和数据包转发方法,用以解决采用业务链技术的网络中,数据流的所有数据包都需要经过过滤型的服务节点,数据包处理效率低的问题。在本发明实施例提供的控制器中,接收模块接收M个服务节点中的第一服务节点发送的上报信息,处理模块根据上报信息,在第一服务节点对应的交换节点或者业务链上的第一服务节点的前一个服务节点对应的交换节点上重新配置第二流表,指示依照第一数据流的变更的后续处理动作转发第一数据流的后续数据包。由于指示交换节点对第一数据流的后续数据包的处理动作,第一数据流的后续数据包就无需经过该第一服务节点的处理,第一数据流的数据包处理效率得以提高。

Description

控制器、服务节点和数据包转发方法
技术领域
本发明涉及通信技术领域,尤其涉及控制器、服务节点和数据包转发方法。
背景技术
在固定或移动宽带接入领域及数据中心应用中,会存在很多基于4层到7层的增值业务处理,包括:防病毒、防火墙、应用缓存和加速、网络地址转换(Network AddressTranslation,NAT)地址转换等增值业务处理功能。通常如图1所示,在固定或移动用户接入设备后面串接提供上述增值业务处理功能的增值业务处理节点。在实际应用中,部分数据流如仅视频或Web访问业务流才需要应用缓存和加速。但在图1所示组网技术中,所有的业务流都需要流经串接的多个增值业务处理节点,不管这些数据流是否需要进行相应的增值业务处理。此方式对增值业务处理节点的处理容量要求大,导致不必要的网络设备投资;同时,也会增加网络中的故障点,某个增值业务设备出现故障,会导致整体业务流中断和故障。
为解决上述问题,业界提出了配置“业务链”的概念,业务链包括某个数据流所需经过的增值业务处理节点的序列。比如,业务链一:防病毒节点、防火墙节点、NAT地址转换节点;业务链二:应用缓存和加速节点、防火墙节点、NAT地址转换节点;业务链三:防火墙节点、NAT地址转换节点。对应不同业务链的不同数据流只需流经相应的服务节点(服务节点即:增值业务处理节点)即可。
采用业务链技术的一个典型的网络架构如图2所示,网络中通常包括:业务协同层、分类器、交换机、控制器、服务节点等多个部件,各部件功能列举如下:
业务协同层:运营商的操作维护人员通过业务协同层配置业务链,以及进入各业务链的数据流的类型。通常,配置业务链时,需要配置该业务链上的服务节点的序列和该业务链对应的数据流的类型,数据流的类型的分类方法依据场景而异。业务协同层根据配置的业务链的信息(比如:业务链标识、服务节点的序列和该业务链对应的数据流的类型)配置控制器,并将数据流的类型与业务链的对应关系发送至分类器。
分类器:将数据流按照预先配置好的规则分类,属于某种类型的数据流会被导入该类型对应的业务链,发往该业务链上的第一个服务节点;
控制器:根据业务协同层配置的业务链的信息,向相关交换机下发流表项,以配置业务链的数据转发路径,通常,流表项中包括入端口标识、业务链标识、源IP地址、目的IP地址、协议类型、源端口号、目的端口号、执行的操作中的一项或多项信息。其中,控制器的逻辑可以通过软件定义网络(Software Defined Network,SDN)控制器实现。
交换机:可为物理交换机或虚拟交换机。交换机根据控制器配置的流表项转发由各端口收到的数据包;
服务节点:对收到的数据包进行业务处理,处理完后将数据包发送出去。
图2中包含两条业务链:业务链1和业务链2。业务链1的服务节点的序列包括服务节点b1-c1-e1,数据流流经业务链1时,会串行依次被服务节点b1、c1和e1处理;业务链2的服务节点的序列包括服务节点a1-d1,数据流流经业务链2时,会串行依次被服务节点a1和d1处理,服务节点a1、b1连接交换机1,服务节点c1、d1和e1连接交换机2。
业务链中的数据流会被全部转发到业务链上的服务节点,服务节点将处理完的数据包发出,交换机会将其转发到下一个服务节点。很多过滤型的服务节点,比如:防火墙节点、入侵检测节点、防病毒节点,有时只需要检查数据流中前面几个数据包,就可以确定该数据流后续的数据包可以通过或者禁止通过。但目前,该数据流后续的数据包仍需要经过该过滤型的服务节点,由于后续数据包仍需要该过滤性的服务节点处理,因此数据包的处理效率低。
综上,现有采用业务链技术的网络中,数据流的所有数据包都需要经过过滤型的服务节点,数据包处理效率低。
发明内容
本发明实施例提供控制器、服务节点和数据包转发方法,用以解决采用业务链技术的网络中,数据流的所有数据包都需要经过过滤型的服务节点,数据包处理效率低的问题。
第一方面,本发明实施例提供一种控制器,包括:
接收模块,用于接收M个服务节点中的第一服务节点发送的上报信息,所述上报信息用于指示同一组数据流中的第一数据流的变更的后续处理动作,其中,所述同一组数据流对应一条业务链,所述业务链指示所述同一组数据流中的每个数据流需要经过的所述M个服务节点组成的序列,所述M为大于等于1的自然数;
处理模块,用于根据所述上报信息,在所述第一服务节点对应的交换节点或者第二服务节点对应的交换节点上重新配置第二流表,其中,所述第二服务节点为所述第一服务节点在所述业务链上的前一个服务节点,所述第二流表用于指示所述第一服务节点对应的交换节点或者所述第二服务节点对应的交换节点依照所述第一数据流的变更的后续处理动作转发所述第一数据流的后续数据包。
结合第一方面,在第一种可能的实现方式中,所述处理模块还用于:在所述接收模块接收第一服务节点发送的上报信息之前,
根据所述业务链,确定所述同一组数据流的转发规则,其中,所述M个服务节点对应N个交换节点,所述第一转发规则包含N个第一流表,每个交换节点对应一个第一流表,所述N为大于等于1的自然数;
在所述每个交换节点上配置所述每个交换节点对应的第一流表,其中,所述每个交换节点被配置的第一流表用于指示所述每个交换节点依照所述第一转发规则转发所述同一组数据流中的每个数据流。
结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述处理模块还用于:在所述第一服务节点对应的交换节点或者第二服务节点对应的交换节点上重新配置第二流表之后,
配置所述第一服务节点对应的交换节点或者所述第二服务节点对应的交换节点上的流表的优先级,其中,所述第二流表的优先级高于所述第一流表。
结合第一方面、第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式,在第三种可能的实现方式中,所述接收模块具体用于:
接收所述第一服务节点发送的所述第一数据流的特征信息以及所述第一数据流的变更的后续处理动作指示。
结合第一方面的第三种可能的实现方式,在第四种可能的实现方式中,所述第一数据流的变更的后续处理动作指示为:所述第一数据流的后续数据包绕过所述第一服务节点;
所述处理模块具体用于:
根据所述第一数据流的特征信息确定所述业务链,从所述业务链上确定第三服务节点,所述第三服务节点为所述第一服务节点在所述业务链上的后一个服务节点;
在所述第一服务节点对应的交换节点或者所述第二服务节点对应的交换节点上重新配置所述第二流表,其中,所述第二流表包含至少一个新流表项,所述新流表项包括所述第一数据流的特征信息、入端口和出端口,其中,所述出端口配置为所述第三服务节点对应的交换节点的端口。
结合第一方面的第三种可能的实现方式,在第五种可能的实现方式中,所述第一数据流的变更的后续处理动作指示丢弃所述第一数据流的后续数据包;
所述处理模块具体用于:在所述第一服务节点对应的交换节点或者所述第二服务节点对应的交换节点上重新配置所述第二流表,其中所述第二流表指示丢弃所述第一数据流的后续数据包。
第二方面,本发明实施例提供一种服务节点,包括:
接收模块,用于接收第一数据流的数据包并进行处理;
发送模块,用于在确定对所述第一数据流的后续处理动作发生变更时,向控制器发送上报信息,所述上报信息用于指示所述第一数据流的变更的后续处理动作。
结合第二方面,在第一种可能的实现方式中,所述上报信息包括所述第一数据流的特征信息以及所述第一数据流的变更的后续处理动作指示。
结合第二方面或第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述第一数据流的变更的后续处理动作指示为:所述第一数据流的后续数据包绕过所述第一服务节点或者丢弃所述第一数据流的后续数据包。
第三方面,本发明实施例提供一种数据包转发方法,包括:
接收M个服务节点中的第一服务节点发送的上报信息,所述上报信息用于指示同一组数据流中的第一数据流的变更的后续处理动作,其中,所述同一组数据流对应一条业务链,所述业务链指示所述同一组数据流中的每个数据流需要经过的所述M个服务节点组成的序列,所述M为大于等于1的自然数;
根据所述上报信息,在所述第一服务节点对应的交换节点或者第二服务节点对应的交换节点上重新配置第二流表,其中,所述第二服务节点为所述第一服务节点在所述业务链上的前一个服务节点,所述第二流表用于指示所述第一服务节点对应的交换节点或者所述第二服务节点对应的交换节点依照所述第一数据流的变更的后续处理动作转发所述第一数据流的后续数据包。
结合第三方面,在第一种可能的实现方式中,所述接收第一服务节点发送的上报信息之前,还包括:
根据所述业务链,确定所述同一组数据流的转发规则,其中,所述M个服务节点对应N个交换节点,所述第一转发规则包含N个第一流表,每个交换节点对应一个第一流表,所述N为大于等于1的自然数;
在所述每个交换节点上配置所述每个交换节点对应的第一流表,其中,所述每个交换节点被配置的第一流表用于指示所述每个交换节点依照所述第一转发规则转发所述同一组数据流中的每个数据流。
结合第三方面的第一种可能的实现方式,在第二种可能的实现方式中,在所述第一服务节点对应的交换节点或者第二服务节点对应的交换节点上重新配置第二流表之后,还包括:
配置所述第一服务节点对应的交换节点或者所述第二服务节点对应的交换节点上的流表的优先级,其中,所述第二流表的优先级高于所述第一流表。
结合第三方面、第三方面的第一种可能的实现方式或第三方面的第二种可能的实现方式,在第三种可能的实现方式中,接收所述M个服务节点中的第一服务节点发送的上报信息包括:
接收所述第一服务节点发送的所述第一数据流的特征信息以及所述第一数据流的变更的后续处理动作指示。
结合第三方面的第三种可能的实现方式,在第四种可能的实现方式中,所述第一数据流的变更的后续处理动作指示为:所述第一数据流的后续数据包绕过所述第一服务节点;
根据所述上报信息,在所述第一服务节点对应的交换节点或者第二服务节点对应的交换节点上重新配置第二流表包括:
根据所述第一数据流的特征信息确定所述业务链,从所述业务链上确定第三服务节点,所述第三服务节点为所述第一服务节点在所述业务链上的后一个服务节点;
在所述第一服务节点对应的交换节点或者所述第二服务节点对应的交换节点上重新配置所述第二流表,其中,所述第二流表包含至少一个新流表项,所述新流表项包括所述第一数据流的特征信息、入端口和出端口,其中,所述出端口配置为所述第三服务节点对应的交换节点的端口。
结合第三方面的第三种可能的实现方式,在第五种可能的实现方式中,所述第一数据流的变更的后续处理动作指示丢弃所述第一数据流的后续数据包;
根据所述上报信息,在所述第一服务节点对应的交换节点或者第二服务节点对应的交换节点上重新配置第二流表包括:
在所述第一服务节点对应的交换节点或者所述第二服务节点对应的交换节点上重新配置所述第二流表,其中所述第二流表指示丢弃所述第一数据流的后续数据包。
第四方面,本发明实施例提供一种数据包转发方法,包括:
接收第一数据流的数据包并进行处理;
在确定对所述第一数据流的后续处理动作发生变更时,向控制器发送上报信息,所述上报信息用于指示所述第一数据流的变更的后续处理动作。
结合第四方面,在第一种可能的实现方式中,所述上报信息包括所述第一数据流的特征信息以及所述第一数据流的变更的后续处理动作指示。
结合第四方面或第四方面的第一种可能的实现方式,在第二种可能的实现方式中,所述第一数据流的变更的后续处理动作指示为:所述第一数据流的后续数据包绕过所述第一服务节点或者丢弃所述第一数据流的后续数据包。
第五方面,本发明实施例提供一种控制器,包括:
接收器,用于接收M个服务节点中的第一服务节点发送的上报信息,所述上报信息用于指示同一组数据流中的第一数据流的变更的后续处理动作,其中,所述同一组数据流对应一条业务链,所述业务链指示所述同一组数据流中的每个数据流需要经过的所述M个服务节点组成的序列,所述M为大于等于1的自然数;
处理器,用于根据所述上报信息,在所述第一服务节点对应的交换节点或者第二服务节点对应的交换节点上重新配置第二流表,其中,所述第二服务节点为所述第一服务节点在所述业务链上的前一个服务节点,所述第二流表用于指示所述第一服务节点对应的交换节点或者所述第二服务节点对应的交换节点依照所述第一数据流的变更的后续处理动作转发所述第一数据流的后续数据包。
结合第五方面,在第一种可能的实现方式中,所述处理器还用于:在所述接收器接收第一服务节点发送的上报信息之前,
根据所述业务链,确定所述同一组数据流的转发规则,其中,所述M个服务节点对应N个交换节点,所述第一转发规则包含N个第一流表,每个交换节点对应一个第一流表,所述N为大于等于1的自然数;
在所述每个交换节点上配置所述每个交换节点对应的第一流表,其中,所述每个交换节点被配置的第一流表用于指示所述每个交换节点依照所述第一转发规则转发所述同一组数据流中的每个数据流。
结合第五方面的第一种可能的实现方式,在第二种可能的实现方式中,所述处理器还用于:在所述第一服务节点对应的交换节点或者第二服务节点对应的交换节点上重新配置第二流表之后,
配置所述第一服务节点对应的交换节点或者所述第二服务节点对应的交换节点上的流表的优先级,其中,所述第二流表的优先级高于所述第一流表。
结合第五方面、第五方面的第一种可能的实现方式或第五方面的第二种可能的实现方式,在第三种可能的实现方式中,所述接收器具体用于:
接收所述第一服务节点发送的所述第一数据流的特征信息以及所述第一数据流的变更的后续处理动作指示。
结合第五方面的第三种可能的实现方式,在第四种可能的实现方式中,所述第一数据流的变更的后续处理动作指示为:所述第一数据流的后续数据包绕过所述第一服务节点;
所述处理器具体用于:
根据所述第一数据流的特征信息确定所述业务链,从所述业务链上确定第三服务节点,所述第三服务节点为所述第一服务节点在所述业务链上的后一个服务节点;
在所述第一服务节点对应的交换节点或者所述第二服务节点对应的交换节点上重新配置所述第二流表,其中,所述第二流表包含至少一个新流表项,所述新流表项包括所述第一数据流的特征信息、入端口和出端口,其中,所述出端口配置为所述第三服务节点对应的交换节点的端口。
结合第五方面的第三种可能的实现方式,在第五种可能的实现方式中,所述第一数据流的变更的后续处理动作指示丢弃所述第一数据流的后续数据包;
所述处理器具体用于:在所述第一服务节点对应的交换节点或者所述第二服务节点对应的交换节点上重新配置所述第二流表,其中所述第二流表指示丢弃所述第一数据流的后续数据包。
第六方面,本发明实施例提供一种服务节点,包括:
接收器,用于接收第一数据流的数据包并进行处理;
发射器,用于在确定对所述第一数据流的后续处理动作发生变更时,向控制器发送上报信息,所述上报信息用于指示所述第一数据流的变更的后续处理动作。
结合第六方面,在第一种可能的实现方式中,所述上报信息包括所述第一数据流的特征信息以及所述第一数据流的变更的后续处理动作指示。
结合第六方面或第六方面的第一种可能的实现方式,在第二种可能的实现方式中,所述第一数据流的变更的后续处理动作指示为:所述第一数据流的后续数据包绕过所述第一服务节点或者丢弃所述第一数据流的后续数据包。
综上,本发明实施例提供控制器、服务节点和数据包转发方法,其中,控制器根据接收的M个服务节点中的第一服务节点发送的上报信息,在第一服务节点对应的交换节点或者第二服务节点对应的交换节点上重新配置第二流表,其中,第二服务节点为第一服务节点在业务链上的前一个服务节点,第二流表用于指示第一服务节点对应的交换节点或者第二服务节点对应的交换节点依照第一数据流的变更的后续处理动作转发第一数据流的后续数据包。
由于指示交换节点对第一数据流的后续数据包的处理动作,第一数据流的后续数据包就无需经过该第一服务节点的处理,而直接由第一服务节点对应的交换节点或第二服务节点对应的交换节点处理,第一数据流的数据包处理效率得以提高,同时也降低了第一服务节点的处理负荷。
附图说明
图1为具有增值业务处理功能的网络的网络架构图;
图2为采用业务链技术的典型网络的网络架构图;
图3为本发明实施例提供的数据通信系统的结构示意图;
图4为本发明实施例提供的数据通信系统对数据流的处理方式示意图;
图5为本发明示例一中控制器配置交换节点的方法示意图;
图6为本发明实施例提供的第一种控制器的结构示意图;
图7为本发明实施例提供的第二种控制器的结构示意图;
图8为本发明实施例提供的第一种服务节点的结构示意图;
图9为本发明实施例提供的第二种服务节点的结构示意图;
图10为本发明实施例提供的第一种数据包转发方法的流程图;
图11为本发明实施例提供的第二种数据包转发方法的流程图。
具体实施方式
本发明实施例提供控制器、服务节点和数据包转发方法,用以解决采用业务链技术的网络中,数据流的所有数据包都需要经过过滤型的服务节点,数据包处理效率低的问题。
在本发明实施例提供的控制器中,接收模块接收M个服务节点中的第一服务节点发送的上报信息,该上报信息用于指示同一组数据流中的第一数据流的变更的后续处理动作,其中,该同一组数据流对应一条业务链,业务链指示同一组数据流中的每个数据流需要经过的M个服务节点组成的序列,M为大于等于1的自然数;处理模块根据上报信息,在第一服务节点对应的交换节点或者第二服务节点对应的交换节点上重新配置第二流表,其中,第二服务节点为第一服务节点在业务链上的前一个服务节点,第二流表用于指示第一服务节点对应的交换节点或者第二服务节点对应的交换节点依照第一数据流的变更的后续处理动作转发第一数据流的后续数据包。
其中,由于指示交换节点对第一数据流的后续数据包的处理动作,第一数据流的后续数据包就无需经过该第一服务节点的处理,而直接由第一服务节点对应的交换节点或第二服务节点对应的交换节点处理,第一数据流的数据包处理效率得以提高,同时也降低了第一服务节点的处理负荷。
下面,结合附图对本发明实施例进行详细说明。
图3为本发明实施例提供的数据通信系统。如图3所示,该系统包括:一条业务链上的M个服务节点、控制器302和M个服务节点中每一个服务节点对应的交换节点;该业务链上的数据流需要顺序经过该M个服务节点;M为大于等于1的自然数;其中,
M个服务节点节点中的第一服务节点301a,用于接收该业务链上的第一数据流的数据包并进行处理;在确定对第一数据流的后续处理动作发生变更时,向控制器302发送上报信息,该上报信息用于指示第一数据流的变更的后续处理动作;
控制器302,用于接收第一服务节点301a发送的上述上报信息,并根据该上报信息,在第一服务节点301a对应的交换节点303a或者第二服务节点301b对应的交换节点303b上重新配置第二流表,其中,第二服务节点301b为上述M个服务节点中,第一服务节点301a在该业务链上的前一个服务节点,第二流表用于指示第一服务节点301a对应的交换节点303a或者第二服务节点301b对应的交换节点303b依照第一数据流的变更的后续处理动作转发第一数据流的后续数据包。
图3中,各节点之间的连接关系仅为示意,其中,控制器302也可如图2中所示,通过诸如交换机的交换节点与M个服务节点中的各服务节点连接。
图3中,各服务节点与交换节点之间的连线为虚线,其表示一种对应关系,即服务节点与其对应的交换节点对其数据包进行路由转发。服务节点可与对应的交换节点直接连接,也可通过其他路由设备、中继设备连接。
图3中,M个服务节点中的各服务节点可分别具有自身所对应的交换节点,也可多个服务节点对应一个交换节点,如图2中所示,服务节点a1和服务节点b1均对应作为交换节点的交换机1。
可选地,第一服务节点301a为过滤型的服务节点。
可选地,第一服务节点301a向控制器302发送的该上报信息包括第一数据流的特征信息以及第一数据流的变更的后续处理动作指示。
可选地,上述数据流特征信息包括:五元组信息或四元组信息。
其中,四元组信息包括:源IP地址、目的IP地址、源端口号和目的端口号;
五元组信息包括:源IP地址、目的IP地址、协议号、源端口号和目的端口号。
可选地,第一数据流的变更的后续处理动作指示为:
第一数据流的后续数据包绕过第一服务节点;或者
丢弃第一数据流的后续数据包。
若第一数据流的变更的后续处理动作指示为:第一数据流的后续数据包绕过第一服务节点,则
控制器302根据第一数据流的特征信息确定业务链,从业务链上确定第三服务节点,第三服务节点为第一服务节点301a在业务链上的后一个服务节点;在第一服务节点301a对应的交换节点303a或者第二服务节点301b对应的交换节点303b上重新配置第二流表,其中,第二流表包含至少一个新流表项,新流表项包括第一数据流的特征信息、入端口和出端口,其中,出端口配置为第三服务节点对应的交换节点的端口。
若第一数据流的变更的后续处理动作指示丢弃第一数据流的后续数据包,则
控制器302在第一服务节点301a对应的交换节点303a或者第二服务节点301b对应的交换节点303b上重新配置第二流表,其中第二流表指示丢弃第一数据流的后续数据包。
可选地,控制器302接收第一服务节点301a发送的上报信息之前,根据业务链,确定该业务链上的数据流的转发规则,其中,上述M个服务节点对应N个交换节点,第一转发规则包含N个第一流表,每个交换节点对应一个第一流表,N为大于等于1的自然数;
在每个交换节点上配置每个交换节点对应的第一流表,其中,每个交换节点被配置的第一流表用于指示每个交换节点依照第一转发规则转发该业务链上的数据流。
可选地,控制器302在第一服务节点301a对应的交换节点303a或者第二服务节点301b对应的交换节点303b上重新配置第二流表之后,
配置第一服务节点301a对应的交换节点303a或者第二服务节点301b对应的交换节点303b上的流表的优先级,其中,第二流表的优先级高于第一流表。这样,可使得第一数据流的数据包优先按照第二流表进行转发,当第二流表不匹配时,按照原先的第一流表转发,既能够提高数据包转发效率,又能够保证在第二流表不匹配的情况下,仍能够转发第一数据流的数据包。
可选地,第一服务节点301a在向控制器302发送上述上报信息时,可同时携带该业务链的业务链标识,以标识该业务链。
可选地,业务链标识可为业务链的序号,比如:一定位数的整数;也可为业务链的名称,或者是该业务链上的按序排列的各服务节点的标识等,只要能够将一个业务链和其他业务链区分开即可。
控制器302配置交换节点303a或交换节点303b执行上述变更的后续处理动作的一个具体示例可参见后面的示例一。
可选地,若后续处理动指示丢弃第一数据流的后续数据包,则控制器302在收到第一服务节点301a发送的上述上报信息后。可配置该业务链上的第一个服务节点对应的交换节点:丢弃第一数据流的后续数据包。
这样做的一个好处是,若一个业务链上的任何一个服务节点确定需要丢弃一个数据流的数据包时,该数据流的后续数据包进入该业务链的第一个服务节点连接的交换节点时,即被该交换节点丢弃,进一步减轻了后续交换节点和服务节点的处理负荷。
仍以图2中的业务链1和业务链2上的数据流为例,如图4所示,若服务节点c1判定要丢弃业务链1上的数据流A的后续数据包,则向控制器发送上报信息,指示丢弃数据流A的后续数据包;控制器通知该业务链1上的第一个服务节点b1连接的交换机1,丢弃数据流A的后续数据包。则与图2相比,数据流A的后续数据包不会再通过交换机2发给服务节点c1、e1。
若服务节点a1判定,业务链2上的数据流B直接转发至业务链2上的下一个服务节点d1,则向控制器发送上报信息,指示将业务流B的后续数据包直接转发至业务链2上的下一个服务节点d1。则与图2相比,数据流B的后续数据包不会再发给服务节点a1处理,而是直接通过交换机2发给服务节点d1。
可选地,控制器302预先开放给第一服务节点301a配置接口,第一服务节点301a可通过该配置接口将上述上报信息发给控制器302。
可选地,该配置接口的信息包括:控制器302的地址和端口号。可选地,第一服务节点301可从控制器302处获得该配置接口的地址和端口号,比如:从控制器302发送的控制消息中获取该配置接口的地址和端口号;也可通过操作维护(Operation&Maintenance,OM)的方式获取该配置接口的地址和端口号。
示例一
示例一给出了本发明实施例中,控制器配置交换节点执行处理动作的一个具体例子。这里,以配置第一服务节点301a对应的交换节点303a为例,配置第二服务节点301b对应的交换节点303b的原理相同,不再赘述。
如图5所示,第一服务节点301a与交换节点303a(比如:虚拟交换机)相连。对于业务链标识为1的业务链上的数据流,该业务链标识为1的业务链对应的转发规则为第一转发规则,表示对应于所述业务链1的同一数据流需要根据所属第一转发规则进行转发。该业务链1对应N个交换节点,其中本实施例中介绍的交换节点303a上的配置的属于第一转发规则的规则为:从端口102流入交换节点,由端口101发送至服务节点,被服务节点处理后,由端口101流入交换节点,最后从端口103发往下一个目的地。
此时,交换节点303a中设置的第一流表应有如下逻辑:
Inport=102,chain_id=1,action=(output:101);
Inport=101,chain_id=1,action=(output:103)。
其中,上述第一流表的逻辑中第一行表示:对输入端口为102、业务链标识为1的数据流,执行的处理动作是从端口101输出;
上述第一流表的逻辑中第二行表示:对输入端口为101、业务链标识为1的数据流,执行的处理动作是从端口103输出。
需要说明的是,对于不同类型和型号的交换节点,上述逻辑的表述方式各异,这里以一种方式为例,其他方式原理类似,在此不再赘述。
另需要说明的是,该业务链1涉及的每个交换节点上都配置有第一流表,每个交换节点上配置的第一流表的逻辑与以上例子中所介绍的交换节点303a中设置的第一流表类似,使得每个交换节点依照所述业务链标识为1的业务链确定的第一转发规则转发所述同一组数据流中的每个数据流。其它交换节点上配置的第一流表在此不再详述。
当第一服务节点301a判定,业务链标识1所标识的业务链中,第一数据流的特征信息为五元组(srcIP:1.1.1.1,dstIP:2.2.2.2,proto:TCP,srcPort:6666,dstPort:80),即源IP地址为1.1.1.1,目的IP地址为2.2.2.2、协议类型为传输控制协议(TransmissionControl Protocol,TCP)、源端口号为6666,目的端口号为80的数据流可以直接通过,即该第一数据流可以直接发给业务链1上的下一个服务节点,则第一服务节点301a向控制器302发送上报信息,所述上报信息用于指示同一组数据流中的第一数据流的变更的后续处理动作,以使得控制器302根据所述上报信息配置新的流表,例如重新配置后的交换节点303a中第二流表逻辑如下:
Inport=102,chain_id=1,srcIP=1.1.1.1,dstIP=2.2.2.2,proto=TCP,srcPort=6666,dstPort=80,action=(output:103);
Inport=102,chain_id=1,action=(output:101);
Inport=101,chain_id=1,action=(output:103)。
其中,上述第二流表逻辑中第一行表示:对输入端口为102、业务链表示为1的业务链上的,源IP地址为1.1.1.1、目的IP地址为2.2.2.2、协议类型为传输控制协议(Transmission Control Protocol,TCP)、源端口号为6666,目的端口号为80的数据流,执行的动作是从端口103输出;
上述第二流表逻辑中第二行表示:对输入端口为102、业务链标识为1的,上述五元组所标识的数据流之外的其他数据流,执行的处理动作是从端口101输出;
上述第二流表逻辑中第三行表示:对输入端口为101、业务链标识为1的、上述五元组所标识的数据流之外的其他数据流的数据流,执行的处理动作是从端口103输出。
通过重新对交换节点303a下发第二流表,使得上述五元组标识的第一数据流从交换机303a的端口102输入后,直接从交换节点303a的端口103输出,无需第一服务节点301a的处理。
另外,上述示例以在交换节点303a重新配置第二流表为例,在其他的实施例中还可以重配所述第一服务节点301a在所述业务链1上的前一个服务节点,本实施例不再赘述。
进一步,在所述第一服务节点301a对应的交换节点或者所述第一服务节点301a在所述业务链1上的前一个服务节点对应的交换节点上重新配置第二流表之后,还包括:
配置所述第一服务节点对应的交换节点或者所述第二服务节点对应的交换节点上的流表的优先级,其中,所述第二流表的优先级高于所述第一流表。
基于同一发明构思,本发明实施例还提供了服务节点、控制器和数据包转发方法,这些设备和方法解决问题的原理与本发明实施例提供的数据通信系统类似,其实施可参考该系统的实施,重复之处不再赘述。
图6为本发明实施例提供的第一种控制器的结构示意图。如图6所示,该控制器包括:
接收模块601,用于接收M个服务节点中的第一服务节点发送的上报信息,上报信息用于指示同一组数据流中的第一数据流的变更的后续处理动作,其中,同一组数据流对应一条业务链,业务链指示同一组数据流中的每个数据流需要经过的M个服务节点组成的序列,M为大于等于1的自然数;
处理模块602,用于根据上报信息,在第一服务节点对应的交换节点或者第二服务节点对应的交换节点上重新配置第二流表,其中,第二服务节点为第一服务节点在业务链上的前一个服务节点,第二流表用于指示第一服务节点对应的交换节点或者第二服务节点对应的交换节点依照第一数据流的变更的后续处理动作转发第一数据流的后续数据包。
可选地,处理模块602还用于:在接收模块601接收第一服务节点发送的上报信息之前,根据业务链,确定同一组数据流的转发规则,其中,M个服务节点对应N个交换节点,第一转发规则包含N个第一流表,每个交换节点对应一个第一流表,N为大于等于1的自然数;
在每个交换节点上配置每个交换节点对应的第一流表,其中,每个交换节点被配置的第一流表用于指示每个交换节点依照第一转发规则转发同一组数据流中的每个数据流。
可选地,处理模块602还用于:在第一服务节点对应的交换节点或者第二服务节点对应的交换节点上重新配置第二流表之后,
配置第一服务节点对应的交换节点或者第二服务节点对应的交换节点上的流表的优先级,其中,第二流表的优先级高于第一流表。
可选地,接收模块601具体用于:
接收第一服务节点发送的第一数据流的特征信息以及第一数据流的变更的后续处理动作指示。
可选地,第一数据流的变更的后续处理动作指示为:第一数据流的后续数据包绕过第一服务节点;
处理模块602具体用于:
根据第一数据流的特征信息确定业务链,从业务链上确定第三服务节点,第三服务节点为第一服务节点在业务链上的后一个服务节点;
在第一服务节点对应的交换节点或者第二服务节点对应的交换节点上重新配置第二流表,其中,第二流表包含至少一个新流表项,新流表项包括第一数据流的特征信息、入端口和出端口,其中,出端口配置为第三服务节点对应的交换节点的端口。
可选地,第一数据流的变更的后续处理动作指示丢弃第一数据流的后续数据包;
处理模块602具体用于:在第一服务节点对应的交换节点或者第二服务节点对应的交换节点上重新配置第二流表,其中第二流表指示丢弃第一数据流的后续数据包。
图7为本发明实施例提供的第二种控制器的结构示意图。如图7所示,该控制器包括:
接收器701,用于接收M个服务节点中的第一服务节点发送的上报信息,上报信息用于指示同一组数据流中的第一数据流的变更的后续处理动作,其中,同一组数据流对应一条业务链,业务链指示同一组数据流中的每个数据流需要经过的M个服务节点组成的序列,M为大于等于1的自然数;
处理器702,用于根据上报信息,在第一服务节点对应的交换节点或者第二服务节点对应的交换节点上重新配置第二流表,其中,第二服务节点为第一服务节点在业务链上的前一个服务节点,第二流表用于指示第一服务节点对应的交换节点或者第二服务节点对应的交换节点依照第一数据流的变更的后续处理动作转发第一数据流的后续数据包。
其中,在图7中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器702代表的一个或多个处理器和存储器703代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。接收器701可以是多个元件,提供用于在传输介质上与各种其他装置通信的单元。针对不同的用户设备,用户接口704还可以是能够外接内接需要设备的接口,连接的设备包括但不限于小键盘、显示器、扬声器、麦克风、操纵杆等。
可选地,处理器702还用于:在接收器701接收第一服务节点发送的上报信息之前,
根据业务链,确定同一组数据流的转发规则,其中,M个服务节点对应N个交换节点,第一转发规则包含N个第一流表,每个交换节点对应一个第一流表,N为大于等于1的自然数;
在每个交换节点上配置每个交换节点对应的第一流表,其中,每个交换节点被配置的第一流表用于指示每个交换节点依照第一转发规则转发同一组数据流中的每个数据流。
可选地,处理器702还用于:在第一服务节点对应的交换节点或者第二服务节点对应的交换节点上重新配置第二流表之后,
配置第一服务节点对应的交换节点或者第二服务节点对应的交换节点上的流表的优先级,其中,第二流表的优先级高于第一流表。
可选地,接收器701具体用于:
接收第一服务节点发送的第一数据流的特征信息以及第一数据流的变更的后续处理动作指示。
可选地,第一数据流的变更的后续处理动作指示为:第一数据流的后续数据包绕过第一服务节点;
处理器702具体用于:
根据第一数据流的特征信息确定业务链,从业务链上确定第三服务节点,第三服务节点为第一服务节点在业务链上的后一个服务节点;
在第一服务节点对应的交换节点或者第二服务节点对应的交换节点上重新配置第二流表,其中,第二流表包含至少一个新流表项,新流表项包括第一数据流的特征信息、入端口和出端口,其中,出端口配置为第三服务节点对应的交换节点的端口。
可选地,第一数据流的变更的后续处理动作指示丢弃第一数据流的后续数据包;
处理器702具体用于:在第一服务节点对应的交换节点或者第二服务节点对应的交换节点上重新配置第二流表,其中第二流表指示丢弃第一数据流的后续数据包。
图8为本发明实施例提供的第一种服务节点的结构示意图。如图8所示,该服务节点包括:
接收模块801,用于接收第一数据流的数据包并进行处理;
发送模块802,用于在确定对第一数据流的后续处理动作发生变更时,向控制器发送上报信息,上报信息用于指示第一数据流的变更的后续处理动作。
可选地,上报信息包括第一数据流的特征信息以及第一数据流的变更的后续处理动作指示。
可选地,第一数据流的变更的后续处理动作指示为:第一数据流的后续数据包绕过第一服务节点或者丢弃第一数据流的后续数据包。
图9为本发明实施例提供的第二种服务节点的结构示意图。如图9所示,该服务节点包括:
接收器901,用于接收第一数据流的数据包并进行处理;
发射器902,用于在确定对第一数据流的后续处理动作发生变更时,向控制器发送上报信息,上报信息用于指示第一数据流的变更的后续处理动作。
其中,在图9中,总线架构可以包括任意数量的互联的总线和桥,将接收器901、发射器902,以及诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。针对不同的用户设备,用户接口903还可以是能够外接内接需要设备的接口,连接的设备包括但不限于小键盘、显示器、扬声器、麦克风、操纵杆等。
可选地,上报信息包括第一数据流的特征信息以及第一数据流的变更的后续处理动作指示。
可选地,第一数据流的变更的后续处理动作指示为:第一数据流的后续数据包绕过第一服务节点或者丢弃第一数据流的后续数据包。
图10为本发明实施例提供的第一种数据包转发方法的流程图。如图10所示,该方法包括如下步骤:
S1001:接收M个服务节点中的第一服务节点发送的上报信息,上报信息用于指示同一组数据流中的第一数据流的变更的后续处理动作,其中,同一组数据流对应一条业务链,业务链指示同一组数据流中的每个数据流需要经过的M个服务节点组成的序列,M为大于等于1的自然数;
S1002:根据上报信息,在第一服务节点对应的交换节点或者第二服务节点对应的交换节点上重新配置第二流表,其中,第二服务节点为第一服务节点在业务链上的前一个服务节点,第二流表用于指示第一服务节点对应的交换节点或者第二服务节点对应的交换节点依照第一数据流的变更的后续处理动作转发第一数据流的后续数据包。
可选地,步骤S1001接收第一服务节点发送的上报信息之前,还包括:
根据业务链,确定同一组数据流的转发规则,其中,M个服务节点对应N个交换节点,第一转发规则包含N个第一流表,每个交换节点对应一个第一流表,N为大于等于1的自然数;
在每个交换节点上配置每个交换节点对应的第一流表,其中,每个交换节点被配置的第一流表用于指示每个交换节点依照第一转发规则转发同一组数据流中的每个数据流。
可选地,在步骤S1002第一服务节点对应的交换节点或者第二服务节点对应的交换节点上重新配置第二流表之后,还包括:
配置第一服务节点对应的交换节点或者第二服务节点对应的交换节点上的流表的优先级,其中,第二流表的优先级高于第一流表。
可选地,步骤S1001中,接收M个服务节点中的第一服务节点发送的上报信息包括:
接收第一服务节点发送的第一数据流的特征信息以及第一数据流的变更的后续处理动作指示。
可选地,第一数据流的变更的后续处理动作指示为:第一数据流的后续数据包绕过第一服务节点;
步骤S1002中,根据上报信息,在第一服务节点对应的交换节点或者第二服务节点对应的交换节点上重新配置第二流表,包括:
根据第一数据流的特征信息确定业务链,从业务链上确定第三服务节点,第三服务节点为第一服务节点在业务链上的后一个服务节点;
在第一服务节点对应的交换节点或者第二服务节点对应的交换节点上重新配置第二流表,其中,第二流表包含至少一个新流表项,新流表项包括第一数据流的特征信息、入端口和出端口,其中,出端口配置为第三服务节点对应的交换节点的端口。
可选地,第一数据流的变更的后续处理动作指示丢弃第一数据流的后续数据包;
步骤S1002中,根据上报信息,在第一服务节点对应的交换节点或者第二服务节点对应的交换节点上重新配置第二流表包括:
在第一服务节点对应的交换节点或者第二服务节点对应的交换节点上重新配置第二流表,其中第二流表指示丢弃第一数据流的后续数据包。
图11为本发明实施例提供的第二种数据包转发方法的流程图。如图11所示,该方法包括如下步骤:
S1101:接收第一数据流的数据包并进行处理;
S1102:在确定对第一数据流的后续处理动作发生变更时,向控制器发送上报信息,上报信息用于指示第一数据流的变更的后续处理动作。
可选地,上报信息包括第一数据流的特征信息以及第一数据流的变更的后续处理动作指示。
可选地,第一数据流的变更的后续处理动作指示为:第一数据流的后续数据包绕过第一服务节点或者丢弃第一数据流的后续数据包。
综上,本发明实施例提供控制器、服务节点和数据包转发方法,其中,控制器根据接收的M个服务节点中的第一服务节点发送的上报信息,在第一服务节点对应的交换节点或者第二服务节点对应的交换节点上重新配置第二流表,其中,第二服务节点为第一服务节点在业务链上的前一个服务节点,第二流表用于指示第一服务节点对应的交换节点或者第二服务节点对应的交换节点依照第一数据流的变更的后续处理动作转发第一数据流的后续数据包。
由于指示交换节点对第一数据流的后续数据包的处理动作,第一数据流的后续数据包就无需经过该第一服务节点的处理,而直接由第一服务节点对应的交换节点或第二服务节点对应的交换节点处理,该数据流的数据包处理效率得以提高,同时也降低了第一服务节点的处理负荷。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (27)

1.一种控制器,其特征在于,包括:
接收模块,用于接收M个服务节点中的第一服务节点发送的上报信息,所述上报信息用于指示同一组数据流中的第一数据流的变更的后续处理动作,其中,所述同一组数据流对应一条业务链,所述业务链指示所述同一组数据流中的每个数据流需要经过的所述M个服务节点组成的序列,所述M为大于等于1的自然数;
处理模块,用于根据所述上报信息,在所述第一服务节点对应的交换节点或者第二服务节点对应的交换节点上重新配置第二流表,其中,所述第二服务节点为所述第一服务节点在所述业务链上的前一个服务节点,所述第二流表用于指示所述第一服务节点对应的交换节点或者所述第二服务节点对应的交换节点依照所述第一数据流的变更的后续处理动作转发所述第一数据流的后续数据包。
2.如权利要求1所述的控制器,其特征在于,所述处理模块还用于:在所述接收模块接收第一服务节点发送的上报信息之前,
根据所述业务链,确定所述同一组数据流的转发规则,其中,所述M个服务节点对应N个交换节点,第一转发规则包含N个第一流表,每个交换节点对应一个第一流表,所述N为大于等于1的自然数;
在所述每个交换节点上配置所述每个交换节点对应的第一流表,其中,所述每个交换节点被配置的第一流表用于指示所述每个交换节点依照所述第一转发规则转发所述同一组数据流中的每个数据流。
3.如权利要求2所述的控制器,其特征在于,所述处理模块还用于:在所述第一服务节点对应的交换节点或者第二服务节点对应的交换节点上重新配置第二流表之后,
配置所述第一服务节点对应的交换节点或者所述第二服务节点对应的交换节点上的流表的优先级,其中,所述第二流表的优先级高于所述第一流表。
4.如权利要求1~3任意一项所述的控制器,其特征在于,所述接收模块具体用于:
接收所述第一服务节点发送的所述第一数据流的特征信息以及所述第一数据流的变更的后续处理动作指示。
5.如权利要求4所述的控制器,其特征在于,所述第一数据流的变更的后续处理动作指示为:所述第一数据流的后续数据包绕过所述第一服务节点;
所述处理模块具体用于:
根据所述第一数据流的特征信息确定所述业务链,从所述业务链上确定第三服务节点,所述第三服务节点为所述第一服务节点在所述业务链上的后一个服务节点;
在所述第一服务节点对应的交换节点或者所述第二服务节点对应的交换节点上重新配置所述第二流表,其中,所述第二流表包含至少一个新流表项,所述新流表项包括所述第一数据流的特征信息、入端口和出端口,其中,所述出端口配置为所述第三服务节点对应的交换节点的端口。
6.如权利要求4所述的控制器,其特征在于,
所述第一数据流的变更的后续处理动作指示丢弃所述第一数据流的后续数据包;
所述处理模块具体用于:在所述第一服务节点对应的交换节点或者所述第二服务节点对应的交换节点上重新配置所述第二流表,其中所述第二流表指示丢弃所述第一数据流的后续数据包。
7.一种服务节点,其特征在于,包括:
接收模块,用于接收第一数据流的数据包并进行处理;
发送模块,用于在确定对所述第一数据流的后续处理动作发生变更时,向控制器发送上报信息,所述上报信息用于指示所述第一数据流的变更的后续处理动作;
其中,变更所述第一数据流的后续处理动作是通过检查所述第一数据流的前n个数据包确定的,所述n为正整数,所述第一数据流的变更的后续处理动作为所述第一数据流的后续数据包绕过所述服务节点。
8.如权利要求7所述的服务节点,其特征在于,所述上报信息包括所述第一数据流的特征信息以及所述第一数据流的变更的后续处理动作指示。
9.如权利要求7或8所述的服务节点,其特征在于,所述第一数据流的变更的后续处理动作指示为:所述第一数据流的后续数据包绕过所述服务节点。
10.一种数据包转发方法,其特征在于,包括:
接收M个服务节点中的第一服务节点发送的上报信息,所述上报信息用于指示同一组数据流中的第一数据流的变更的后续处理动作,其中,所述同一组数据流对应一条业务链,所述业务链指示所述同一组数据流中的每个数据流需要经过的所述M个服务节点组成的序列,所述M为大于等于1的自然数;
根据所述上报信息,在所述第一服务节点对应的交换节点或者第二服务节点对应的交换节点上重新配置第二流表,其中,所述第二服务节点为所述第一服务节点在所述业务链上的前一个服务节点,所述第二流表用于指示所述第一服务节点对应的交换节点或者所述第二服务节点对应的交换节点依照所述第一数据流的变更的后续处理动作转发所述第一数据流的后续数据包。
11.如权利要求10所述的方法,其特征在于,所述接收第一服务节点发送的上报信息之前,还包括:
根据所述业务链,确定所述同一组数据流的转发规则,其中,所述M个服务节点对应N个交换节点,第一转发规则包含N个第一流表,每个交换节点对应一个第一流表,所述N为大于等于1的自然数;
在所述每个交换节点上配置所述每个交换节点对应的第一流表,其中,所述每个交换节点被配置的第一流表用于指示所述每个交换节点依照所述第一转发规则转发所述同一组数据流中的每个数据流。
12.如权利要求11所述的方法,其特征在于,在所述第一服务节点对应的交换节点或者第二服务节点对应的交换节点上重新配置第二流表之后,还包括:
配置所述第一服务节点对应的交换节点或者所述第二服务节点对应的交换节点上的流表的优先级,其中,所述第二流表的优先级高于所述第一流表。
13.如权利要求10-12任意一项所述的方法,其特征在于,接收所述M个服务节点中的第一服务节点发送的上报信息包括:
接收所述第一服务节点发送的所述第一数据流的特征信息以及所述第一数据流的变更的后续处理动作指示。
14.如权利要求13所述的方法,其特征在于,所述第一数据流的变更的后续处理动作指示为:所述第一数据流的后续数据包绕过所述第一服务节点;
根据所述上报信息,在所述第一服务节点对应的交换节点或者第二服务节点对应的交换节点上重新配置第二流表包括:
根据所述第一数据流的特征信息确定所述业务链,从所述业务链上确定第三服务节点,所述第三服务节点为所述第一服务节点在所述业务链上的后一个服务节点;
在所述第一服务节点对应的交换节点或者所述第二服务节点对应的交换节点上重新配置所述第二流表,其中,所述第二流表包含至少一个新流表项,所述新流表项包括所述第一数据流的特征信息、入端口和出端口,其中,所述出端口配置为所述第三服务节点对应的交换节点的端口。
15.如权利要求13所述的方法,其特征在于,所述第一数据流的变更的后续处理动作指示丢弃所述第一数据流的后续数据包;
根据所述上报信息,在所述第一服务节点对应的交换节点或者第二服务节点对应的交换节点上重新配置第二流表包括:
在所述第一服务节点对应的交换节点或者所述第二服务节点对应的交换节点上重新配置所述第二流表,其中所述第二流表指示丢弃所述第一数据流的后续数据包。
16.一种数据包转发方法,其特征在于,所述方法用于服务节点,包括:
所述服务节点接收第一数据流的数据包并进行处理;
所述服务节点检查所述第一数据流的前n个数据包,确定变更所述第一数据流的后续处理动作,所述n为正整数;
在确定对所述第一数据流的后续处理动作发生变更时,向控制器发送上报信息,所述上报信息用于指示所述第一数据流的变更的后续处理动作;
其中,所述第一数据流的变更的后续处理动作为所述第一数据流的后续数据包绕过所述服务节点。
17.如权利要求16所述的方法,其特征在于,所述上报信息包括所述第一数据流的特征信息以及所述第一数据流的变更的后续处理动作指示。
18.如权利要求16或17所述的方法,其特征在于,所述第一数据流的变更的后续处理动作指示为:所述第一数据流的后续数据包绕过所述服务节点。
19.一种控制器,其特征在于,包括:
接收器,用于接收M个服务节点中的第一服务节点发送的上报信息,所述上报信息用于指示同一组数据流中的第一数据流的变更的后续处理动作,其中,所述同一组数据流对应一条业务链,所述业务链指示所述同一组数据流中的每个数据流需要经过的所述M个服务节点组成的序列,所述M为大于等于1的自然数;
处理器,用于根据所述上报信息,在所述第一服务节点对应的交换节点或者第二服务节点对应的交换节点上重新配置第二流表,其中,所述第二服务节点为所述第一服务节点在所述业务链上的前一个服务节点,所述第二流表用于指示所述第一服务节点对应的交换节点或者所述第二服务节点对应的交换节点依照所述第一数据流的变更的后续处理动作转发所述第一数据流的后续数据包。
20.如权利要求19所述的控制器,其特征在于,所述处理器还用于:在所述接收器接收第一服务节点发送的上报信息之前,
根据所述业务链,确定所述同一组数据流的转发规则,其中,所述M个服务节点对应N个交换节点,第一转发规则包含N个第一流表,每个交换节点对应一个第一流表,所述N为大于等于1的自然数;
在所述每个交换节点上配置所述每个交换节点对应的第一流表,其中,所述每个交换节点被配置的第一流表用于指示所述每个交换节点依照所述第一转发规则转发所述同一组数据流中的每个数据流。
21.如权利要求20所述的控制器,其特征在于,所述处理器还用于:在所述第一服务节点对应的交换节点或者第二服务节点对应的交换节点上重新配置第二流表之后,
配置所述第一服务节点对应的交换节点或者所述第二服务节点对应的交换节点上的流表的优先级,其中,所述第二流表的优先级高于所述第一流表。
22.如权利要求19~21任意一项所述的控制器,其特征在于,所述接收器具体用于:
接收所述第一服务节点发送的所述第一数据流的特征信息以及所述第一数据流的变更的后续处理动作指示。
23.如权利要求22所述的控制器,其特征在于,所述第一数据流的变更的后续处理动作指示为:所述第一数据流的后续数据包绕过所述第一服务节点;
所述处理器具体用于:
根据所述第一数据流的特征信息确定所述业务链,从所述业务链上确定第三服务节点,所述第三服务节点为所述第一服务节点在所述业务链上的后一个服务节点;
在所述第一服务节点对应的交换节点或者所述第二服务节点对应的交换节点上重新配置所述第二流表,其中,所述第二流表包含至少一个新流表项,所述新流表项包括所述第一数据流的特征信息、入端口和出端口,其中,所述出端口配置为所述第三服务节点对应的交换节点的端口。
24.如权利要求22所述的控制器,其特征在于,
所述第一数据流的变更的后续处理动作指示丢弃所述第一数据流的后续数据包;
所述处理器具体用于:在所述第一服务节点对应的交换节点或者所述第二服务节点对应的交换节点上重新配置所述第二流表,其中所述第二流表指示丢弃所述第一数据流的后续数据包。
25.一种服务节点,其特征在于,包括:
接收器,用于接收第一数据流的数据包并进行处理;
发射器,用于在确定对所述第一数据流的后续处理动作发生变更时,向控制器发送上报信息,所述上报信息用于指示所述第一数据流的变更的后续处理动作;
其中,变更所述第一数据流的后续处理动作是通过检查所述第一数据流的前n个数据包确定的,所述n为正整数,所述第一数据流的变更的后续处理动作为所述第一数据流的后续数据包绕过所述服务节点。
26.如权利要求25所述的服务节点,其特征在于,所述上报信息包括所述第一数据流的特征信息以及所述第一数据流的变更的后续处理动作指示。
27.如权利要求25或26所述的服务节点,其特征在于,所述第一数据流的变更的后续处理动作指示为:所述第一数据流的后续数据包绕过所述服务节点。
CN201480037491.5A 2014-11-10 2014-11-10 控制器、服务节点和数据包转发方法 Active CN105519058B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2014/090707 WO2016074126A1 (zh) 2014-11-10 2014-11-10 控制器、服务节点和数据包转发方法

Publications (2)

Publication Number Publication Date
CN105519058A CN105519058A (zh) 2016-04-20
CN105519058B true CN105519058B (zh) 2020-07-21

Family

ID=55725069

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480037491.5A Active CN105519058B (zh) 2014-11-10 2014-11-10 控制器、服务节点和数据包转发方法

Country Status (2)

Country Link
CN (1) CN105519058B (zh)
WO (1) WO2016074126A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106713026A (zh) * 2016-12-15 2017-05-24 锐捷网络股份有限公司 业务链拓扑结构、业务链设置方法和控制器
CN108289007B (zh) 2017-01-10 2022-04-15 中兴通讯股份有限公司 数据包传输方法及装置
US11563640B2 (en) 2018-12-13 2023-01-24 At&T Intellectual Property I, L.P. Network data extraction parser-model in SDN
CN111385212B (zh) * 2018-12-29 2021-08-31 华为技术有限公司 数据传输技术及神经网络系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102546363A (zh) * 2010-12-21 2012-07-04 深圳市恒扬科技有限公司 一种报文处理方法、装置及设备
CN102801558A (zh) * 2012-07-30 2012-11-28 中国联合网络通信集团有限公司 基于分组传送网的链路保护方法、节点和系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101505296A (zh) * 2008-02-05 2009-08-12 华为技术有限公司 隧道业务数据流的控制方法和装置
CN101800632A (zh) * 2009-02-09 2010-08-11 中兴通讯股份有限公司 用户数据报协议传输模式下丢包补偿方法与装置
US9397895B2 (en) * 2011-12-13 2016-07-19 Viavi Solutions Inc. Method and system for collecting topology information
CN103037341B (zh) * 2012-12-06 2017-12-12 惠州Tcl移动通信有限公司 播放、转换流式媒体的方法及移动终端、服务器

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102546363A (zh) * 2010-12-21 2012-07-04 深圳市恒扬科技有限公司 一种报文处理方法、装置及设备
CN102801558A (zh) * 2012-07-30 2012-11-28 中国联合网络通信集团有限公司 基于分组传送网的链路保护方法、节点和系统

Also Published As

Publication number Publication date
CN105519058A (zh) 2016-04-20
WO2016074126A1 (zh) 2016-05-19

Similar Documents

Publication Publication Date Title
US11374848B2 (en) Explicit routing with network function encoding
CN107819663B (zh) 一种实现虚拟网络功能服务链的方法和装置
CN104322019B (zh) 业务路由系统、设备和方法
US9736057B2 (en) Forwarding packet fragments using L4-L7 headers without reassembly in a software-defined networking (SDN) system
US10805390B2 (en) Automated mirroring and remote switch port analyzer (RSPAN) functions using fabric attach (FA) signaling
US10178017B2 (en) Method and control node for handling data packets
WO2013144747A1 (en) Implementing epc in a cloud computer with openflow data plane
CN105519058B (zh) 控制器、服务节点和数据包转发方法
WO2015170204A1 (en) Implementing a 3g packet core in a cloud computer with openflow data and control planes
CN104125088A (zh) Drni中同一端内系统之间交互信息的方法和系统
EP2911355A1 (en) Method and device for flow path negotiation in link aggregation group
CN105515816B (zh) 检测层次信息的处理方法及装置
CN108289061B (zh) 基于sdn的业务链拓扑系统
CN105745874B (zh) 一种确定服务功能路径的方法及装置
Ricart‐Sanchez et al. Toward hardware‐accelerated QoS‐aware 5G network slicing based on data plane programmability
EP3200398B1 (en) Automated mirroring and remote switch port analyzer (rspan)/encapsulated remote switch port analyzer (erspan) functions using fabric attach (fa) signaling
US20170222953A1 (en) User packet forwarding control method and processing node
WO2016049926A1 (zh) 一种数据包处理装置及方法
CN103346950A (zh) 一种机架式无线控制器用户业务板间负载均摊方法及装置
Bifulco et al. Ready-to-deploy service function chaining for mobile networks
CN104767720A (zh) 一种软件定义网络中OpenFlow消息跟踪和过滤的方法
KR101679224B1 (ko) Sdn 기반의 트래픽 분배 가능한 네트워크 시스템
KR101629089B1 (ko) 레거시 네트워크 프로토콜 기능과 sdn 기능이 하이브리드하게 동작하는 오픈플로우 동작 방법
US9270577B2 (en) Selection of one of first and second links between first and second network devices
CN107566278B (zh) 传输方法、装置及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220215

Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province

Patentee after: Huawei Cloud Computing Technologies Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.