一种网络交换芯片可识别流表的智能匹配方法组成比例

技术编号:17117480 阅读:34 留言:0更新日期:2018-01-25 00:22
本发明专利技术涉及一种网络交换芯片可识别流表的智能匹配方法,该方法是将Openflow控制器通过Openflow南向协议下发的多级流表与网络交换芯片支持的流表进行智能匹配,该匹配方法主要通过分析控制器下发的Openflow协议侧单个流表项的表ID,以及动作信息中的GOTO_TABLE跳转指令,来决定是否需要映射交换芯片侧流表处理,同时根据Openflow协议侧流表中匹配信息来决定映射到交换芯片侧哪些流表处理。本发明专利技术提供的匹配方法通用性强,使用户下发流表与芯片流表之间可智能匹配,实现了SDN架构中控制面与转发面之间的分离,利于Openflow流表实现硬件化。

An intelligent matching method for the identifiable flow table of network switching chips

The invention relates to a network switch chip intelligent identification of flow table matching method, this method is the Openflow controller through the Openflow protocol issued by the South multi-level flow table and network exchange table flow chip support for intelligent matching, the matching method is mainly through the analysis of the single side Openflow protocol under the control flow items table ID, movement information and GOTO_TABLE in the jump instruction, to decide whether to switch chip side flow mapping table processing, at the same time according to the flow to determine the mapping to the switch chip which side flow table processing information matching table of Openflow protocol in the side. The matching method provided by the invention has strong versatility, and can match intelligently between the user down flow meter and the chip flow table, and realizes the separation between the control plane and the forwarding surface in the SDN architecture, which is conducive to the hardware implementation of the Openflow flow table.

【技术实现步骤摘要】
一种网络交换芯片可识别流表的智能匹配方法
本专利技术涉及网络通信领域,特别涉及一种网络交换芯片可识别流表的智能匹配方法。
技术介绍
SDN(软件定义网络)架构具有控制面与转发面分离、开放的可编程接口、集中化的网络控制及网络业务的自动化应用程序控制等特征,越来越受到行业所推崇。其中,Openflow是SDN网络架构中标准化南向接口的一种。在Openflow协议中,Openflow控制器通过标准的消息接口与交换机通信,协议中定义了流表项中支持的各种match匹配字段以及actions动作字段,这些字段存在于流表中,当报文从不同的端口进来,设备需要查找对应的流表,匹配到流表项后便可执行该条流表项所指定的动作或指令,如从哪个口出去,是否需要丢弃或将报文送到控制器等。目前在实际应用中,由于交换芯片未实现流表统一的标准化的接口,从而导致用户下发的流表不能与芯片流表之间一一映射,常常出现芯片无法识别用户下发流表的表ID,即使表ID被识别了也会出现无法将匹配信息或动作信息对应至芯片流表的情况。
技术实现思路
本专利技术为了解决上述技术问题,提供了一种网络交换芯片可识别流表的智能匹配方法。一种网络交换芯片可识别流表的智能匹配方法,所述方法应用于至少由控制器及网络设备交换机组成的Openflow网络中,具体包括如下步骤:S1、网络设备交换机分析控制器下发的Openflow协议侧单个流表项的表ID,若表ID为0则进入步骤S2,若表ID不为0则进入步骤S5;S2、判断流表动作信息是否带GOTO_TABLE跳转指令,若流表动作信息带GOTO_TABLE跳转指令则进入步骤S3,若流表动作信息不带GOTO_TABLE跳转指令则进入步骤S4;S3、保存当前流表的匹配信息和动作信息,正向查找Openflow侧流表,判断该流表是否存在,若不存在则不处理,若存在则转入S2;S4、判断流表的动作信息是否含有输出、丢弃或者上送控制器的指令;若是则进入S9;若否则不处理,提示异常;S5、判断流表动作信息是否带GOTO_TABLE跳转指令,若流表动作信息带GOTO_TABLE跳转指令则进入步骤S7,若流表动作信息不带GOTO_TABLE跳转指令则进入步骤S6;S6、保存流表的匹配信息和动作信息,反向查找Openflow侧流表,判断该流表是否存在,若存在则继续步骤S6,若不存在则转至步骤S4;S7、保存流表的匹配信息和动作信息,反向查找Openflow侧流表,判断该流表是否存在,若存在则继续步骤S7,若不存在则进入S8;S8、保存流表的匹配信息和动作信息,正向查找Openflow侧流表,判断该流表是否存在,若不存在则不处理,若存在则进一步判断流表动作信息是否含有输出、丢弃或上送控制器的指令,若否则继续S8,若是则进入S9;S9、根据流表链匹配信息的不同将流表匹配至具体的交换芯片侧流表,所述交换芯片侧流表为ASIC流表。该匹配方法主要针对控制器下发的Openflow协议侧单个流表项的表ID,以及动作信息中的GOTO_TABLE跳转指令进行分析,从而决定是否需要映射交换芯片侧流表处理,一旦确定需要映射则根据Openflow协议侧流表中的匹配信息映射至对应的交换芯片侧流表处理。该匹配方法通用性强,使用户下发流表与交换芯片侧流表之间可智能匹配,有效避免了信息无法识别等情况的发生。进一步的,步骤S9包括如下子步骤:S91、获取流表链的所有的匹配信息和动作信息,若匹配信息只带有二层则进入S92;若匹配信息只带有三层则进入步骤S93;若匹配信息带隧道ID则进入步骤S94;若匹配信息带MPLS标签则进入步骤S95;若匹配信息均不符合上述几种情况则使用交换芯片VLAN/ACL流表进行处理,一般而言,交换芯片的ACL流表可以处理上述几种芯片流表无法处理的流表;S92、可使用交换芯片VLAN/BRIDGE流表处理;S93、可使用交换芯片VLAN/路由流表处理;S94、可使用交换芯片Overlay流表处理;S95、可使用交换芯片MPLS流表处理。进一步的,步骤S3及步骤S8中通过正向查找Openflow侧流表,获取GOTO-TABLE跳转指令中的ID值对应的流表,来判断该ID流表是否存在。若根据GOTO-TABLE跳转指令中的ID值找到对应的流表则判断该ID流表存在,若未找到对应流表则判断该ID流表不存在。进一步的,步骤S6及步骤S7中通过反向查找Openflow侧流表,获取GOTO-TABLE跳转指令到当前表ID对应的流表,从而判断该ID流表是否存在。即先根据GOTO-TABLE跳转指令查找到GOTO-TABLE跳转指令中的ID值,再通过GOTO-TABLE跳转指令中的ID值查找表ID相符的流表进一步的,所述流表由若干流表项组成,所述Openflow侧流表及流表项数据结构采用数组链表方式维护。进一步的,所述交换芯片侧流表及其流表项数据结构采用平衡二叉查找树结构维护。进一步的,所述表ID可以为0也可以不为0,若无指定则默认为0。进一步的,所述流表处理完成后需将匹配信息和动作信息进行清空处理。上述技术方案中的流表项可以通过动作信息中的GOTO-TABLE跳转指令跳至下一条流表,但GOTO-TABLE跳转指令中的ID值必须大于表ID,当然也可以不通过GOTO-TABLE跳转指令转至其他流表。此外,维护一定的数据结构包括所有流表链中的匹配信息和动作信息以及匹配信息和动作信息使用的带有各类型的数据结构存储。有益技术效果:与现有技术相比较,本专利技术公开的一种网络交换芯片可识别流表的智能匹配方法涵盖了所有条件下的匹配情况,使用户下发流表与芯片流表之间可智能匹配,实现了SDN架构中控制面与转发面之间的分离,利于Openflow流表实现硬件化。附图说明图1为网络设备交换机与Openflow控制器的连接示意图。图2为流表中tableid为0的处理流程图。图3为流表中tableid不为0,且actions中不带gototable处理流程图。图4为流表中tableid不为0,且actions带gototable处理流程图。图5为流表匹配至具体交换芯片ASIC流表的实现方法流程图。具体实施方式下面结合附图对本专利技术的较佳实施例进行详细阐述,以使本专利技术的优点和特征更易被本领域技术人员理解,从而对本专利技术的保护范围作出更为清楚的界定。实施例1:本实施例提供了一种网络交换芯片可识别流表的智能匹配方法,该方法应用于至少由控制器及网络设备交换机组成的Openflow网络中,具体包括如下步骤:S1、网络设备交换机分析控制器下发的Openflow协议侧单个流表项的表ID,若表ID为0则进入步骤S2,若表ID不为0则进入步骤S5;S2、判断流表动作信息是否带GOTO_TABLE跳转指令,若流表动作信息带GOTO_TABLE跳转指令则进入步骤S3,若流表动作信息不带GOTO_TABLE跳转指令则进入步骤S4;S3、保存当前流表的匹配信息和动作信息,正向查找Openflow侧流表,判断该流表是否存在,若不存在则不处理,若存在则转入S2;S4、判断流表的动作信息是否含有输出、丢弃或者上送控制器的指令;若是则进入S9;若否则不处理,提示异常;S5、判断流表动作信息是否带GOTO_TABLE跳转指令,若流表动作信息带GOTO本文档来自技高网...
一种网络交换芯片可识别流表的智能匹配方法

【技术保护点】
一种网络交换芯片可识别流表的智能匹配方法,其特征在于,所述方法应用于至少由控制器及网络设备交换机组成的Openflow网络中,具体包括如下步骤:S1、网络设备交换机分析控制器下发的Openflow协议侧单个流表项的表ID,若表ID为0则进入步骤S2,若表ID不为0则进入步骤S5;S2、判断流表动作信息是否带GOTO_TABLE跳转指令,若流表动作信息带GOTO_TABLE跳转指令则进入步骤S3,若流表动作信息不带GOTO_TABLE跳转指令 则进入步骤S4;S3、保存当前流表的匹配信息和动作信息,正向查找Openflow侧流表,判断该流表是否存在,若不存在则不处理,若存在则转入S2;S4、判断流表的动作信息是否含有输出、丢弃或者上送控制器的指令; 若是则进入S9;若否则不处理,提示异常;S5、判断流表动作信息是否带GOTO_TABLE跳转指令,若流表动作信息带 GOTO_TABLE跳转指令则进入步骤S7,若流表动作信息不带GOTO_TABLE跳转指令则进入步骤S6;S6、保存流表的匹配信息和动作信息,反向查找Openflow侧流表,判断该流表是否存在,若存在则继续步骤S6,若不存在则转至步骤S4;S7、保存流表的匹配信息和动作信息,反向查找Openflow侧流表,判断该流表是否存在,若存在则继续步骤S7,若不存在则进入S8;S8、保存流表的匹配信息和动作信息,正向查找Openflow侧流表,判断该流表是否存在,若不存在则不处理,若存在则进一步判断流表动作信息是否含有输出、丢弃或上送控制器的指令,若否则继续S8,若是则进入S9;S9、根据流表链匹配信息的不同将流表匹配至具体的交换芯片侧流表,所述交换芯片侧流表为ASIC流表。...

【技术特征摘要】
1.一种网络交换芯片可识别流表的智能匹配方法,其特征在于,所述方法应用于至少由控制器及网络设备交换机组成的Openflow网络中,具体包括如下步骤:S1、网络设备交换机分析控制器下发的Openflow协议侧单个流表项的表ID,若表ID为0则进入步骤S2,若表ID不为0则进入步骤S5;S2、判断流表动作信息是否带GOTO_TABLE跳转指令,若流表动作信息带GOTO_TABLE跳转指令则进入步骤S3,若流表动作信息不带GOTO_TABLE跳转指令则进入步骤S4;S3、保存当前流表的匹配信息和动作信息,正向查找Openflow侧流表,判断该流表是否存在,若不存在则不处理,若存在则转入S2;S4、判断流表的动作信息是否含有输出、丢弃或者上送控制器的指令;若是则进入S9;若否则不处理,提示异常;S5、判断流表动作信息是否带GOTO_TABLE跳转指令,若流表动作信息带GOTO_TABLE跳转指令则进入步骤S7,若流表动作信息不带GOTO_TABLE跳转指令则进入步骤S6;S6、保存流表的匹配信息和动作信息,反向查找Openflow侧流表,判断该流表是否存在,若存在则继续步骤S6,若不存在则转至步骤S4;S7、保存流表的匹配信息和动作信息,反向查找Openflow侧流表,判断该流表是否存在,若存在则继续步骤S7,若不存在则进入S8;S8、保存流表的匹配信息和动作信息,正向查找Openflow侧流表,判断该流表是否存在,若不存在则不处理,若存在则进一步判断流表动作信息是否含有输出、丢弃或上送控制器的指令,若否则继续S8,若是则进入S9;S9、根据流表链匹配信息的不同将流表匹配至具体的交换芯片侧流表,所述交换芯片侧流表为ASIC流表。2.如权利要求1所述一种网络交换芯片可识别流表的智能...

【专利技术属性】
技术研发人员:吴兵王志
申请(专利权)人:深圳市德赛微电子技术有限公司
类型:发明
国别省市:广东,44

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

1