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

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

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及通信
,尤其涉及控制器、服务节点和数据包转发方法
技术介绍
在固定或移动宽带接入领域及数据中心应用中,会存在很多基于4层到7层的增值业务处理,包括:防病毒、防火墙、应用缓存和加速、网络地址转换(NetworkAddressTranslation,NAT)地址转换等增值业务处理功能。通常如图1所示,在固定或移动用户接入设备后面串接提供上述增值业务处理功能的增值业务处理节点。在实际应用中,部分数据流如仅视频或Web访问业务流才需要应用缓存和加速。但在图1所示组网技术中,所有的业务流都需要流经串接的多个增值业务处理节点,不管这些数据流是否需要进行相应的增值业务处理。此方式对增值业务处理节点的处理容量要求大,导致不必要的网络设备投资;同时,也会增加网络中的故障点,某个增值业务设备出现故障,会导致整体业务流中断和故障。为解决上述问题,业界提出了配置“业务链”的概念,业务链包括某个数据流所需经过的增值业务处理节点的序列。比如,业务链一:防病毒节点、防火墙节点、NAT地址转换节点;业务链二:应用缓存和加速节点、防火墙节点、NAT地址转换节点;业务链三:防火墙节点、NAT地址转换节点。对应不同业务链的不同数据流只需流经相应的服务节点(服务节点即:增值业务处理节点)即可。采用业务链技术的一个典型的网络架构如图2所示,网络中通常包括:业务协同层、分类器、交换机、控制器、服务节点等多个部件,各部件功能列举如下:业务协同层:运营商的操作维护人员通过业务协同层配置业务链,以及进入各业务链的数据流的类型。通常,配置业务链时,需要配置该业务链上的服务节点的序列和该业务链对应的数据流的类型,数据流的类型的分类方法依据场景而异。业务协同层根据配置的业务链的信息(比如:业务链标识、服务节点的序列和该业务链对应的数据流的类型)配置控制器,并将数据流的类型与业务链的对应关系发送至分类器。分类器:将数据流按照预先配置好的规则分类,属于某种类型的数据流会被导入该类型对应的业务链,发往该业务链上的第一个服务节点;控制器:根据业务协同层配置的业务链的信息,向相关交换机下发流表项,以配置业务链的数据转发路径,通常,流表项中包括入端口标识、业务链标识、源IP地址、目的IP地址、协议类型、源端口号、目的端口号、执行的操作中的一项或多项信息。其中,控制器的逻辑可以通过软件定义网络(SoftwareDefinedNetwork,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的自然数;处理模块,用于根据所述上报信息,在所述第一服务节点对应的交换节点或者第二服务节点对应的交换节点上重新配置第二流表,其中,所述第二服务节点为所述第一服务节点在所述业务链上的前一个服务节点,所述第二流表用于指示所述第一服务节点对应的交换节点或者所述第二服务节点对应的交换节点依照所述第一数据流的变更的后续处理动作转发所述第一数据流的后续数据包。

【技术特征摘要】
【国外来华专利技术】1.一种控制器,其特征在于,包括:
接收模块,用于接收M个服务节点中的第一服务节点发送的上报信息,
所述上报信息用于指示同一组数据流中的第一数据流的变更的后续处理动作,
其中,所述同一组数据流对应一条业务链,所述业务链指示所述同一组数据流
中的每个数据流需要经过的所述M个服务节点组成的序列,所述M为大于等
于1的自然数;
处理模块,用于根据所述上报信息,在所述第一服务节点对应的交换节点
或者第二服务节点对应的交换节点上重新配置第二流表,其中,所述第二服务
节点为所述第一服务节点在所述业务链上的前一个服务节点,所述第二流表用
于指示所述第一服务节点对应的交换节点或者所述第二服务节点对应的交换
节点依照所述第一数据流的变更的后续处理动作转发所述第一数据流的后续
数据包。
2.如权利要求1所述的控制器,其特征在于,所述处理模块还用于:在
所述接收模块接收第一服务节点发送的上报信息之前,
根据所述业务链,确定所述同一组数据流的转发规则,其中,所述M个
服务节点对应N个交换节点,所述第一转发规则包含N个第一流表,每个交
换节点对应一个第一流表,所述N为大于等于1的自然数;
在所述每个交换节点上配置所述每个交换节点对应的第一流表,其中,所
述每个交换节点被配置的第一流表用于指示所述每个交换节点依照所述第一
转发规则转发所述同一组数据流中的每个数据流。
3.如权利要求2所述的控制器,其特征在于,所述处理模块还用于:在
所述第一服务节点对应的交换节点或者第二服务节点对应的交换节点上重新
配置第二流表之后,
配置所述第一服务节点对应的交换节点或者所述第二服务节点对应的交
换节点上的流表的优先级,其中,所述第二流表的优先级高于所述第一流表。
4.如权利要求1~3任意一项所述的控制器,其特征在于,所述接收模块
具体用于:
接收所述第一服务节点发送的所述第一数据流的特征信息以及所述第一
数据流的变更的后续处理动作指示。
5.如权利要求4所述的控制器,其特征在于,所述第一数据流的变更的
后续处理动作指示为:所述第一数据流的后续数据包绕过所述第一服务节点;
所述处理模块具体用于:
根据所述第一数据流的特征信息确定所述业务链,从所述业务链上确定第
三服务节点,所述第三服务节点为所述第一服务节点在所述业务链上的后一个
服务节点;
在所述第一服务节点对应的交换节点或者所述第二服务节点对应的交换
节点上重新配置所述第二流表,其中,所述第二流表包含至少一个新流表项,
所述新流表项包括所述第一数据流的特征信息、入端口和出端口,其中,所述
出端口配置为所述第三服务节点对应的交换节点的端口。
6.如权利要求4所述的控制器,其特征在于,
所述第一数据流的变更的后续处理动作指示丢弃所述第一数据流的后续
数据包;
所述处理模块具体用于:在所述第一服务节点对应的交换节点或者所述第
二服务节点对应的交换节点上重新配置所述第二流表,其中所述第二流表指示
丢弃所述第一数据流的后续数据包。
7.一种服务节点,其特征在于,包括:
接收模块,用于接收第一数据流的数据包并进行处理;
发送模块,用于在确定对所述第一数据流的后续处理动作发生变更时,向
控制器发送上报信息,所述上报信息用于指示所述第一数据流的变更的后续处
理动作。
8.如权利要求7所述的服务节点,其特征在于,所述上报信息包括所述

\t第一数据流的特征信息以及所述第一数据流的变更的后续处理动作指示。
9.如权利要求7或8所述的服务节点,其特征在于,所述第一数据流的
变更的后续处理动作指示为:所述第一数据流的后续数据包绕过所述第一服务
节点或者丢弃所述第一数据流的后续数据包。
10.一种数据包转发方法,其特征在于,包括:
接收M个服务节点中的第一服务节点发送的上报信息,所述上报信息用
于指示同一组数据流中的第一数据流的变更的后续处理动作,其中,所述同一
组数据流对应一条业务链,所述业务链指示所述同一组数据流中的每个数据流
需要经过的所述M个服务节点组成的序列,所述M为大于等于1的自然数;
根据所述上报信息,在所述第一服务节点对应的交换节点或者第二服务节
点对应的交换节点上重新配置第二流表,其中,所述第二服务节点为所述第一
服务节点在所述业务链上的前一个服务节点,所述第二流表用于指示所述第一
服务节点对应的交换节点或者所述第二服务节点对应的交换节点依照所述第
一数据流的变更的后续处理动作转发所述第一数据流的后续数据包。
11.如权利要求10所述的方法,其特征在于,所述接收第一服务节点发
送的上报信息之前,还包括:
根据所述业务链,确定所述同一组数据流的转发规则,其中,所述M个
服务节点对应N个交换节点,所述第一转发规则包含N个第一流表,每个交
换节点对应一个第一流表,所述N为大于等于1的自然数;
在所述每个交换节点上配置所述每个交换节点对应的第一流表,其中,所
述每个交换节点被配置的第一流表用于指示所述每个交换节点依照所述第一
转发规则转发所述同一组数据流中的每个数据流。
12.如权利要求11所述的方法,其特征在于,在所述第一服务节点对应
的交换节点或者第二服务节点对应的交换节点上重新配置第二流表之后,还包
括:
配置所述第一服务节点对应的交换节点或者所述第二服务节点对应的交

\t换节点上的流表的优先级,其中,所述第二流表的优先级高于所述第一流表。
13.如权利要求10-12任意一项所述的方法,其特征在于,接收所述M个
服务节点中的第一服务节点发送的上报信息包括:
接收所述第一服务节点发送的所述第一数据流的特征信息以及所述第一
数据流的变更的...

【专利技术属性】
技术研发人员:庄毓新冯江平
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1