基于交换芯片的openflow多表查询的方法及装置的制作方法

文档序号:7555135阅读:106来源:国知局

专利名称::基于交换芯片的openflow多表查询的方法及装置的制作方法
技术领域
:本发明涉及网络通信
技术领域
,具体涉及到一种基于交换芯片实现openflow交换机多表查询的方法及装置。
背景技术
:近年来,由于互联网提供商希望信息基础设施能够迅速应对不断变化的市场需求,导致信息系统的正变得越来越复杂和多样化的。然而在传统的网络中,因为系统需求而改变网络配置时,需要网络管理员繁琐地更改每台网络设备,难以实现灵活快捷的更改网络配置。因此,在网络领域,作为一种可以灵活的控制网络的软件技术SDN已经逐渐发展起来了,开放网络基金会(ONF)因此制订了openflow的标准vl.0,vl.1和vl.2。传统的网络设备是把控制平面和转发平面集成到一台设备中,在openflow交换机中,将控制平面从设备中分离出来,openflow交换机本身只负责转发平面,所有的网络设备的控制平面由集中的网络控制器(controller)负责。因为将设备的控制平面分离出来,所以网络控制器可以更方便地与其他定制的应用系统交互和配合,更灵活的控制网络,网络的运营成本因此可以减少50%以上。在openflow标准vl.0中,单台openflow交换机只定义了一个flowtable流表,所有由网络控制器下发的流条目都下发到网络芯片的TCAM表中,所有数据包都通过匹配这个单流表决定采用哪个action动作(转发,修改或者丢弃),因此在现行网络交换芯片上可以方便的实现openflowvl.0标准,但是从openflow标准vl.1开始,标准中定义支持最多255个flowtable流表,比如第一个流表专门存储检查MAC地址的流条目,第二个流表专门存储检查IP地址的流条目,第三个流表可以存储一些修改某些数据包字段的流条目,数据包可以按照顺序分别匹配查询这些流表,这样就使openflow交换机网络的灵活性得到非常大的提高,但现在实用化的网络芯片不允许如此灵活的划分TCAM流表和多次在流表中进行匹配,若重新设计一款符合openflow标准的芯片不管从成本上或者复杂度上都有较大的难度,由于当前所有的的openflow交换机都不能实现硬件上的mult1-table多流表的功能,因此利用现有的简单交换芯片上满足openflow标准,是当前迫切需要解决的问题。
发明内容本发明所解决的技术问题是重新设计一款符合openflow交换机标准的交换芯片成本高、难度大,当前penflow交换机都不能在简单交换芯片实现mult1-table多流表的功能的问题。为了解决上述技术问题,本发明所采用的技术方案是:一种基于交换芯片的openflow多表查询的方法,其特征在于,包括以下步骤:(a)将两块或者两块以上的交换芯片内的TCAM流表和openflow交换机的各个table条目形成映射关系;(b)以背靠背方式串联的各交换芯片,最上层的交换芯片的入口端口组为对外提供转发业务的端口;(C)数据包依次通过各交换芯片,执行动作数据包根据网络控制器的要求,经过最上层交换芯片的入口端口组,TCAM流表进行匹配,匹配到对应的流后,数据包执行相应的动作,并继续送往下一层交换芯片继续匹配,并执行相应的动作,直到依次按顺序经过最后一层的交换芯片的入口端口组,匹配到对应的流后,数据包执行相应的动作;(d)将数据包转发到相应的业务口执行相应动作后的数据包,从最后一层的交换芯片的出口端口组,直接向前一层的入口端口组转发,在通过前一层的出口端口组转发给在前一层的入口端口组,依次循环,经最上层的交换芯片的入口端口组将数据包向对应的业务端口发送出去。前述的基于交换芯片的openflow多表查询的方法,其特征在于,步骤(a)交换芯片内的TCAM流表和openflow交换机的各个table条目形成映射关系是通过各交换芯片的TCAM流表存储对应openflow交换机的对应的table条目完成的。前述的基于交换芯片的openflow多表查询的方法,其特征在于,除最上层交换芯片外,其他的各交换芯片都对每一组对应的出口端口和入口端口配置一条最高优先级的默认流条目,保证交换芯片的出口端口组收到数据包时,优先匹配将数据包转发到对应的入口端口,实现数据包快速发送。基于上述的openflow多表查询方法的查询装置,其特征在于:包括两块或者两块以上以背靠背方式串联的交换芯片,各交换芯片的端口均包括入口端口组和出口端口组,依次将上层交换芯片的入口端口组和下层交换芯片对应的出口端口组串联,最上层的交换芯片的入口端口组为对外提供转发业务的端口;前述的openflow多表查询方法的查询装置,其特征在于:各交换芯片均为ASIC交换芯片。本发明的有益效果是:本发明的基于交换芯片的openflow多表查询的方法及装置,包括两块或者两块以上以背靠背方式串联的交换芯片,各交换芯片的端口均包括入口端口组和出口端口组,依次将上层交换芯片的入口端口组和下层交换芯片对应的出口端口组串联,最上层的交换芯片的入口端口组为对外提供转发业务的端口,能够实现c^pnflow交换机的mult1-table多表查询功能,无需重新设计一款符合openflow交换机标准的交换芯片,减少了开发成本和开发时间,具有良好的应用前景。图1是本发明的基于交换芯片的openflow多表查询的装置结构示意图。图2是本发明的基于交换芯片的openflow多表查询的装置实施例的示意图。具体实施例方式下面将结合说明书附图,对本发明作进一步的说明。本发明的基于交换芯片的openflow多表查询的方法及装置,能够实现oepnflow交换机的mult1-table多表查询功能,无需重新设计一款符合openflow交换机标准的交换芯片,减少了开发成本和开发时间,如图1所示,本发明的交换芯片的openflow多表查询的装置,包括两块或者两块以上以背靠背方式串联的交换芯片,各交换芯片的端口均包括入口端口组[IN/2]和出口端口组[N/2+1N],依次将上层交换芯片的入口端口组和下层交换芯片对应的出口端口组串联,即第i块芯片的入口端口I连着第i_l块芯片的出口端口N/2+1,以此类推,完成若干片交换芯片的串联,最上层的交换芯片的入口端口组为对外提供转发业务的端口,各交换芯片均为ASIC交换芯片,成本低廉,连接方便,运行在此openflow多表查询的装置的多表查询的方法,包括以下步骤:(a)将两块或者两块以上的交换芯片内的TCAM流表和openflow交换机的各个table条目形成映射关系,是通过各交换芯片的TCAM流表存储对应openflow交换机的对应的table条目完成的;(b)以背靠背方式串联的各交换芯片,最上层的交换芯片的入口端口组同时为对外提供转发业务的端口;(C)数据包依次通过各交换芯片,执行动作数据包根据网络控制器的要求,经过最上层交换芯片的入口端口组,TCAM流表进行匹配,匹配到对应的流后,数据包执行相应的动作,并继续送往下一层交换芯片继续匹配,并执行相应的动作,直到依次按顺序经过最后一层的交换芯片的入口端口组,匹配到对应的流后,数据包执行相应的动作;(d)将数据包转发到相应的业务口执行相应动作后的数据包,从最后一层的交换芯片的出口端口组,直接向前一层的入口端口组转发,在通过前一层的出口端口组转发给在前一层的入口端口组,依次循环,经最上层的交换芯片的入口端口组将数据包向对应的业务端口发送出去,这里除最上层交换芯片外,其他的各交换芯片都对每一组对应的出口端口和入口端口配置一条最高优先级的默认流条目,保证交换芯片的出口端口组收到数据包时,优先匹配将数据包转发到对应的入口端口,实现数据包快速发送。下面介绍本发明的一具体实施例,将三块廉价的交换芯片(48个IGbit以太网口的ASIC交换芯片),以如2图所示的结构串联起来,其中交换芯片I的25-48端口分别和交换芯片2的1-24端口连起来,交换芯片2的25-48端口分别和交换芯片3的1_24端口连起来,其中交换芯片I,2,3的TCAM流表分别如表1,2,3,表I交换芯片I的TCAM流表权利要求1.一种基于交换芯片的openflow多表查询的方法,其特征在于,包括以下步骤:Ca)将两块或者两块以上的交换芯片内的TCAM流表和openflow交换机的各个table条目形成映射关系;(b)以背靠背方式串联的各交换芯片,最上层的交换芯片的入口端口组为对外提供转发业务的端口;(C)数据包依次通过各交换芯片,执行动作数据包根据网络控制器的要求,经过最上层交换芯片的入口端口组,TCAM流表进行匹配,匹配到对应的流后,数据包执行相应的动作,并继续送往下一层交换芯片继续匹配,并执行相应的动作,直到依次按顺序经过最后一层的交换芯片的入口端口组,匹配到对应的流后,数据包执行相应的动作;Cd)将数据包转发到相应的业务口执行相应动作后的数据包,从最后一层的交换芯片的出口端口组,直接向前一层的入口端口组转发,在通过前一层的出口端口组转发给在前一层的入口端口组,依次循环,经最上层的交换芯片的入口端口组将数据包向对应的业务端口发送出去。2.根据权利要求1所述的基于交换芯片的openflow多表查询的方法,其特征在于,步骤(a)交换芯片内的TCAM流表和openflow交换机的各个table条目形成映射关系是通过各交换芯片的TCAM流表存储对应openflow交换机的对应的table条目完成的。3.根据权利要求1所述的基于交换芯片的openflow多表查询的方法,其特征在于,除最上层交换芯片外,其他的各交换芯片都对每一组对应的出口端口和入口端口配置一条最高优先级的默认流条目,保证交换芯片的出口端口组收到数据包时,优先匹配将数据包转发到对应的入口端口,实现数据包快速发送。4.基于权利要求1的openflow多表查询方法的查询装置,其特征在于:包括两块或者两块以上以背靠背方式串联的交换芯片,各交换芯片的端口均包括入口端口组和出口端口组,依次将上层交换芯片的入口端口组和下层交换芯片对应的出口端口组串联,最上层的交换芯片的入口端口组为对外提供转发业务的端口。5.根据权利要求4所述的openflow多表查询方法的查询装置,其特征在于:各交换芯片均为ASIC交换芯片。全文摘要本发明公开了一种基于交换芯片的openflow多表查询的方法及装置,包括两块或者两块以上以背靠背方式串联的交换芯片,各交换芯片的端口均包括入口端口组和出口端口组,依次将上层交换芯片的入口端口组和下层交换芯片对应的出口端口组串联,最上层的交换芯片的入口端口组为对外提供转发业务的端口,能够实现oepnflow交换机的multi-table多表查询功能,无需重新设计一款符合openflow交换机标准的交换芯片,减少了开发成本和开发时间,具有良好的应用前景。文档编号H04L12/931GK103200101SQ201310128378公开日2013年7月10日申请日期2013年4月15日优先权日2013年4月15日发明者任颢,任素文申请人:昆山天元昌电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1