取决于状态的数据转发方法、控制器和存储介质技术

技术编号:13912835 阅读:45 留言:0更新日期:2016-10-27 07:53
本发明专利技术提供一种用于根据用于软件定义网络(software‑defined networking,SDN)架构中的本地管理数据转发的协议转发多个数据包的数据流的方法,所述方法包含将多个数据包的所述数据流中的每个数据包输入到数据通信转发实体(forwarding entity,FE)。在所述转发实体处,通过将状态机逻辑应用到所述数据包的至少一个字段以及应用到在所述数据包被接收之前所述转发实体所追踪的状态信息来选择所述数据包的下一个目的地。所述状态机逻辑包含转发所述数据包的规则。

【技术实现步骤摘要】
【国外来华专利技术】

技术介绍
在本专利技术的一些实施例中,本专利技术涉及取决于状态的数据转发,并且具体而言但非排他地,涉及在软件定义网络中取决于状态的数据转发。OpenFlow是用于创建软件定义网络(software-defined network,SDN)的新兴标准和协议。OpenFlow协议包含可编程转发元件,所述元件以它们可通过外部控制器编程的能力为特征。通过添加表项到也由OpenFlow协议定义其结构的转发表,控制器对也被称为转发实体的OpenFlow转发元件(Forwarding Element,FE)进行编程。OpenFlow和SDN中的前提是每个新数据流的第一帧被发送到控制器,控制器又在分析帧头之后向所有的参与FE发送转发规则。同一流的所有后续帧均由OpenFlow FE来处理而不被发送到控制器,因此降低了控制器资源的负担。然而,当需要监测给定数据流的状态(或多种状态)时会破坏所述前提。实施于OpenFlow表中的规则是无状态的,意味着每个帧的转发决策仅取决于所述帧中包含的信息(例如,帧头的值)。任何取决于当前或历史状态的决策必须发送到控制器,因此控制器需要处理比最初设计所要求的更多的包。此外此外,由于在OpenFlow中仅存在无状态的转发规则,因此不存在流作为在参与主机之间的一组相关入和出业务流的概念,即,当A被允许与B通信时,则存在两个规则,一个用于A->B(出),一个用于A<-B(入)。另外,不存在针对流的流上下文的概念,例如流所来自的端口,发送流的虚拟机(virtual machine,VM)等。在一个解决方案中,对于数据流上的任何取决于状态的操作,所有与给定流相关的帧被发送到控制器,其中使用控制器或相关的SDN应用程序来处理所有帧。因此,代替就位置而言且就适应性而言均针对包处理优化过的在FE级的有效操作,需要将帧输送到远程地点,所有无效性均由输送而引起。此外,存在主要用例,无论如何在OpenFlow中都不存在针对这些情况的解决方案,甚至通过发送数据帧到控制器也不存在,因为它们是基于逐帧决策。实例包含1):1)取决于状态的防火墙;2)链路聚合(Link Aggregation,LAG);3)操作、管理和维护(Operation,Administration,and Management,OAM)(例如,802.3ah链路OAM);4)自动保护倒换(Automatic Protection Switching,APS);5)负载均衡;以及6)带宽(Bandwidth,BW)封顶。在其中数据转发是基于逐帧决策的情况下,目前不存在用于数据转发的有效SDN解决方案。在一些情况下,将外部组件添加到OpenFlow开关,例如用于防火墙的IP表,用于LAG的端口组。然而,这些解决方案针对特定用例而调整,不连接到SDN框架。这由于开关和外部组件上的冗余功能而导致非最优资源利用。另外,此类解决方案对于基于硬件的OpenFlow开关并不相关。其它解决方案将取决于状态的应用程序的完全功能添加到FE(例如防火墙SDN应用程序)。这种方法颇为浪费,因为所有帧都需要被发送到SDN控制器并返回FE,由此因需要追踪大量数据流而限制了SDN控制器的规模。额外的
技术介绍
包含:开放网络基金会OpenFlow开关规制;以及关于“基于SDN、NFV和网络智能的可感知服务的网络架构”的架构处理器白皮书。
技术实现思路
根据本专利技术的第一方面,提供一种根据用于软件定义网络(software-defined networking,SDN)架构中的本地管理数据转发的协议转发多个数据包的数据流的方法。所述方法包含将多个数据包的数据流中的每个数据包输入到数据通信转发实体。在转发实体处,通过将状态机逻辑应用到数据包的至少一个字段以及应用到在数据包被接收之前转发实体所追踪的状态信息来选择数据包的下一个目的地。状态机逻辑包含转发数据包的规则。在根据第一方面的第一可能实施方案中,应用状态机逻辑确定转发实体将对数据包执行的动作,并且所述方法进一步包含在转发之前对包执行所述动作。在根据如此第一方面或根据第一方面的第一实施形式的第二可能实施形式中,状态信息包含以下各项中的至少一者:将数据包从包的发送者传送到包的目的地的网络的网络状态、数据通信转发实体的转发实体状态、输入数据包的包状态、包括输入数据包的数据流的数据流状态、网络的策略数据、在数据包被接收之前记录的事件的事件信息、识别应用于数据包的相应状态机逻辑的状态机标识符(ID),以及数据流的流上下文。在根据如此第一方面或根据第一方面的任何前述实施形式的第三可能实施形式中,所述方法进一步包含在数据流开始时定义应用于数据流的数据包的相应状态机逻辑。在根据如此第一方面或根据第一方面的任何前述实施形式的第四可能实施形式中,所述方法进一步包含确定当前状态机逻辑需要更新,并且在将状态机逻辑应用到数据包之前更新状态机逻辑。在根据如此第一方面或根据第一方面的任何前述实施形式的第五可能实施形式中,所述方法进一步包含在转发之前用数据包封装至少一些状态信息。在根据如此第一方面或根据第一方面的任何前述实施形式的第六可能实施形式中,所述方法进一步包含在转发实体处根据状态机逻辑的指令产生用于转发到下一个目的地的帧。在根据如此第一方面或根据第一方面的任何前述实施形式的第七可能实施形式中,所述方法进一步包含通过匹配数据包的至少一个字段与转发实体维持的流表来确定应用于数据包的状态机逻辑,其中流表包含用于数据包的相应状态机逻辑的标识符。在根据如此第一方面或根据第一方面的任何前述实施形式的第八可能实施形式中,流表包含用于存储状态信息的至少一个字段,并且所述方法进一步包括在数据流期间追踪状态信息以及当检测到所追踪的状态信息的改变时更新流表中用于存储状态信息的至少一个字段。在根据如此第一方面或根据第一方面的任何前述实施形式的第九可能实施形式中,协议是OpenFlow协议。根据本专利技术的第二方面,提供一种用于取决于状态的数据转发的软件定义网络(Software-defined network,SDN)控制器,其中根据用于SDN架构中的本地管理数据转发的协议转发多个数据包的数据流。将所述多个数据包中的每个数据包输入到数据通信转发实体(forwarding entity,FE)。在所述FE处,通过将状态机逻辑应用到所述数据包的至少一个字段以及应用到在所述数据包被接收之前所述FE所追踪的状态信息来选择所述数据包的下一个目的地,其中所述状态机逻辑包括转发所述数据包的规则;以及将所述数据包转发到所述选定的下一个目的地。在根据第二方面的第一可能实施方案中,应用状态机逻辑确定转发实体将对数据包执行的动作,并且所述方法进一步包含在转发之前对包执行所述动作。在根据如此第二方面或根据第二方面的第一实施形式的第二可能实施形式中,状态信息包含以下各项中的至少一者:将数据包从包的发送者传送到包的目的地的网络的网络状态、数据通信转发实体的转发实体状态、输入数据包的包状态、包括输入数据包的数据流的数据流状态、网络的策略数据、在数据包被接收之前记录的事件的事件信息、识别应用于数据包的相应状态机逻辑的状态机标识符(ID),以及数据流的流上下文。在根据如此第二方面或根据第二方面本文档来自技高网
...

【技术保护点】
一种方法,其特征在于,包括:根据用于软件定义网络SDN架构中的本地管理数据转发的协议转发多个数据包的数据流;将所述多个数据包中的每个数据包输入到数据通信转发实体FE(100);其中在所述FE处,通过将状态机逻辑应用到所述数据包的至少一个字段以及应用到在所述数据包被接收之前所述FE所追踪的状态信息来选择所述数据包的下一个目的地(110),其中所述状态机逻辑包括转发所述数据包的规则;以及将所述数据包转发到所述选定的下一个目的地(120)。

【技术特征摘要】
【国外来华专利技术】1.一种方法,其特征在于,包括:根据用于软件定义网络SDN架构中的本地管理数据转发的协议转发多个数据包的数据流;将所述多个数据包中的每个数据包输入到数据通信转发实体FE(100);其中在所述FE处,通过将状态机逻辑应用到所述数据包的至少一个字段以及应用到在所述数据包被接收之前所述FE所追踪的状态信息来选择所述数据包的下一个目的地(110),其中所述状态机逻辑包括转发所述数据包的规则;以及将所述数据包转发到所述选定的下一个目的地(120)。2.根据权利要求1所述的方法,其特征在于,所述应用状态机逻辑确定所述FE将对所述数据包执行的动作,并且所述方法进一步包括在所述转发之前对所述包执行所述动作。3.根据权利要求1或权利要求2所述的方法,其特征在于,所述状态信息包括以下各项中的至少一者:将所述数据包从所述包的发送者传送到所述包的目的地的网络的网络状态、所述数据通信FE的FE状态、所述输入数据包的包状态、包括所述输入数据包的数据流的数据流状态、所述网络的策略数据、在所述数据包被接收之前记录的事件的事件信息、识别应用于数据包的相应状态机逻辑的状态机标识符ID,以及所述数据流的流上下文。4.根据权利要求1到3中任一项所述的方法,其特征在于,进一步包括在所述数据流开始时定义应用于所述数据流的所述数据包的相应状态机逻辑。5.根据权利要求1到4中任一项所述的方法,其特征在于,进一步包括确定当前状态机逻辑需要更新,并且在将所述状态机逻辑应用到所述数据包之前更新所述状态机逻辑。6.根据权利要求1到5中任一项所述的方法,其特征在于,进一步包括在所述转发之前用所述数据包封装至少一些状态信息。7.根据权利要求1到6中任一项所述的方法,其特征在于,进一步包括在所述FE处根据所述状态机逻辑的指令产生用于转发到所述下一个目的地的帧。8.根据权利要求1到7中任一项所述的方法,其特征在于,进一步包括通过匹配所述数据包的至少一个字段与所述FE维持的流表来确定应用于所述数据包的所述状态机逻辑,其中所述流表包含用于所述数据包的相应状态机逻辑的标识符。9.根据权利要求8所述的方法,其特征在于,所述流表包含用于存储状态信息的至少一个字段,并且所述方法进一步包括在所述数据流期间追踪状态信息以及当检测到所述所追踪的状态信息的改变时更新所述流表中用于存储状态信息的所述至少一个字段。10.一种用于取决于状态的数据转发的软件定义网络SDN控制器,其特征在于根据用于SDN架构中的本地...

【专利技术属性】
技术研发人员:哈依姆·珀拉特
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

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

1