[go: up one dir, main page]

CN103200101B - 基于交换芯片的openflow多表查询的方法及装置 - Google Patents

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

Info

Publication number
CN103200101B
CN103200101B CN201310128378.5A CN201310128378A CN103200101B CN 103200101 B CN103200101 B CN 103200101B CN 201310128378 A CN201310128378 A CN 201310128378A CN 103200101 B CN103200101 B CN 103200101B
Authority
CN
China
Prior art keywords
exchange chip
port group
packet
ingress port
exchange
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
CN201310128378.5A
Other languages
English (en)
Other versions
CN103200101A (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.)
Shanghai V&g Information Technology Co ltd
Wu Jia
Original Assignee
KUNSHAN TIANYUANCHANG ELECTRONIC 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 KUNSHAN TIANYUANCHANG ELECTRONIC CO Ltd filed Critical KUNSHAN TIANYUANCHANG ELECTRONIC CO Ltd
Priority to CN201310128378.5A priority Critical patent/CN103200101B/zh
Publication of CN103200101A publication Critical patent/CN103200101A/zh
Application granted granted Critical
Publication of CN103200101B publication Critical patent/CN103200101B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种基于交换芯片的openflow多表查询的方法及装置,包括两块或者两块以上以背靠背方式串联的交换芯片,各交换芯片的端口均包括入口端口组和出口端口组,依次将上层交换芯片的入口端口组和下层交换芯片对应的出口端口组串联,最上层的交换芯片的入口端口组为对外提供转发业务的端口,能够实现oepnflow交换机的multi-table多表查询功能,无需重新设计一款符合openflow交换机标准的交换芯片,减少了开发成本和开发时间,具有良好的应用前景。

Description

基于交换芯片的openflow多表查询的方法及装置
技术领域
本发明涉及网络通信技术领域,具体涉及到一种基于交换芯片实现openflow交换机多表查询的方法及装置。
背景技术
近年来,由于互联网提供商希望信息基础设施能够迅速应对不断变化的市场需求,导致信息系统的正变得越来越复杂和多样化的。然而在传统的网络中,因为系统需求而改变网络配置时,需要网络管理员繁琐地更改每台网络设备,难以实现灵活快捷的更改网络配置。因此,在网络领域,作为一种可以灵活的控制网络的软件技术SDN已经逐渐发展起来了,开放网络基金会(ONF)因此制订了openflow的标准v1.0,v1.1和v1.2。
传统的网络设备是把控制平面和转发平面集成到一台设备中,在openflow交换机中,将控制平面从设备中分离出来,openflow交换机本身只负责转发平面,所有的网络设备的控制平面由集中的网络控制器(controller)负责。因为将设备的控制平面分离出来,所以网络控制器可以更方便地与其他定制的应用系统交互和配合,更灵活的控制网络,网络的运营成本因此可以减少50%以上。
在openflow标准v1.0中,单台openflow交换机只定义了一个flowtable流表,所有由网络控制器下发的流条目都下发到网络芯片的TCAM表中,所有数据包都通过匹配这个单流表决定采用哪个action动作(转发,修改或者丢弃),因此在现行网络交换芯片上可以方便的实现openflowv1.0标准,但是从openflow标准v1.1开始,标准中定义支持最多255个flowtable流表,比如第一个流表专门存储检查MAC地址的流条目,第二个流表专门存储检查IP地址的流条目,第三个流表可以存储一些修改某些数据包字段的流条目,数据包可以按照顺序分别匹配查询这些流表,这样就使openflow交换机网络的灵活性得到非常大的提高,但现在实用化的网络芯片不允许如此灵活的划分TCAM流表和多次在流表中进行匹配,若重新设计一款符合openflow标准的芯片不管从成本上或者复杂度上都有较大的难度,由于当前所有的的openflow交换机都不能实现硬件上的multi-table多流表的功能,因此利用现有的简单交换芯片上满足openflow标准,是当前迫切需要解决的问题。
发明内容
本发明所解决的技术问题是重新设计一款符合openflow交换机标准的交换芯片成本高、难度大,当前penflow交换机都不能在简单交换芯片实现multi-table多流表的功能的问题。
为了解决上述技术问题,本发明所采用的技术方案是:
一种基于交换芯片的openflow多表查询的方法,其特征在于,包括以下步骤:
(a)将两块或者两块以上的交换芯片内的TCAM流表和openflow交换机的各个table条目形成映射关系;
(b)以背靠背方式串联的各交换芯片,最上层的交换芯片的入口端口组为对外提供转发业务的端口;
(c)数据包依次通过各交换芯片,执行动作
数据包根据网络控制器的要求,经过最上层交换芯片的入口端口组,TCAM流表进行匹配,匹配到对应的流后,数据包执行相应的动作,并继续送往下一层交换芯片继续匹配,并执行相应的动作,直到依次按顺序经过最后一层的交换芯片的入口端口组,匹配到对应的流后,数据包执行相应的动作;
(d)将数据包转发到相应的业务口
执行相应动作后的数据包,从最后一层的交换芯片的出口端口组,直接向前一层的入口端口组转发,在通过前一层的出口端口组转发给在前一层的入口端口组,依次循环,经最上层的交换芯片的入口端口组将数据包向对应的业务端口发送出去。
前述的基于交换芯片的openflow多表查询的方法,其特征在于,步骤(a)交换芯片内的TCAM流表和openflow交换机的各个table条目形成映射关系是通过各交换芯片的TCAM流表存储对应openflow交换机的对应的table条目完成的。
前述的基于交换芯片的openflow多表查询的方法,其特征在于,除最上层交换芯片外,其他的各交换芯片都对每一组对应的出口端口和入口端口配置一条最高优先级的默认流条目,保证交换芯片的出口端口组收到数据包时,优先匹配将数据包转发到对应的入口端口,实现数据包快速发送。
基于上述的openflow多表查询方法的查询装置,其特征在于:包括两块或者两块以上以背靠背方式串联的交换芯片,各交换芯片的端口均包括入口端口组和出口端口组,依次将上层交换芯片的入口端口组和下层交换芯片对应的出口端口组串联,最上层的交换芯片的入口端口组为对外提供转发业务的端口;
前述的openflow多表查询方法的查询装置,其特征在于:各交换芯片均为ASIC交换芯片。
本发明的有益效果是:本发明的基于交换芯片的openflow多表查询的方法及装置,包括两块或者两块以上以背靠背方式串联的交换芯片,各交换芯片的端口均包括入口端口组和出口端口组,依次将上层交换芯片的入口端口组和下层交换芯片对应的出口端口组串联,最上层的交换芯片的入口端口组为对外提供转发业务的端口,能够实现oepnflow交换机的multi-table多表查询功能,无需重新设计一款符合openflow交换机标准的交换芯片,减少了开发成本和开发时间,具有良好的应用前景。
附图说明
图1是本发明的基于交换芯片的openflow多表查询的装置结构示意图。
图2是本发明的基于交换芯片的openflow多表查询的装置实施例的示意图。
具体实施方式
下面将结合说明书附图,对本发明作进一步的说明。
本发明的基于交换芯片的openflow多表查询的方法及装置,能够实现oepnflow交换机的multi-table多表查询功能,无需重新设计一款符合openflow交换机标准的交换芯片,减少了开发成本和开发时间,如图1所示,本发明的交换芯片的openflow多表查询的装置,包括两块或者两块以上以背靠背方式串联的交换芯片,各交换芯片的端口均包括入口端口组[1~N/2]和出口端口组[N/2+1~N],依次将上层交换芯片的入口端口组和下层交换芯片对应的出口端口组串联,即第i块芯片的入口端口1连着第i-1块芯片的出口端口N/2+1,以此类推,完成若干片交换芯片的串联,最上层的交换芯片的入口端口组为对外提供转发业务的端口,各交换芯片均为ASIC交换芯片,成本低廉,连接方便,运行在此openflow多表查询的装置的多表查询的方法,包括以下步骤:
(a)将两块或者两块以上的交换芯片内的TCAM流表和openflow交换机的各个table条目形成映射关系,是通过各交换芯片的TCAM流表存储对应openflow交换机的对应的table条目完成的;
(b)以背靠背方式串联的各交换芯片,最上层的交换芯片的入口端口组同时为对外提供转发业务的端口;
(c)数据包依次通过各交换芯片,执行动作
数据包根据网络控制器的要求,经过最上层交换芯片的入口端口组,TCAM流表进行匹配,匹配到对应的流后,数据包执行相应的动作,并继续送往下一层交换芯片继续匹配,并执行相应的动作,直到依次按顺序经过最后一层的交换芯片的入口端口组,匹配到对应的流后,数据包执行相应的动作;
(d)将数据包转发到相应的业务口
执行相应动作后的数据包,从最后一层的交换芯片的出口端口组,直接向前一层的入口端口组转发,在通过前一层的出口端口组转发给在前一层的入口端口组,依次循环,经最上层的交换芯片的入口端口组将数据包向对应的业务端口发送出去,这里除最上层交换芯片外,其他的各交换芯片都对每一组对应的出口端口和入口端口配置一条最高优先级的默认流条目,保证交换芯片的出口端口组收到数据包时,优先匹配将数据包转发到对应的入口端口,实现数据包快速发送。
下面介绍本发明的一具体实施例,将三块廉价的交换芯片(48个1Gbit以太网口的ASIC交换芯片),以如2图所示的结构串联起来,其中交换芯片1的25-48端口分别和交换芯片2的1-24端口连起来,交换芯片2的25-48端口分别和交换芯片3的1-24端口连起来,其中交换芯片1,2,3的TCAM流表分别如表1,2,3,
表1交换芯片1的TCAM流表
NO 匹配字段 action动作 优先级piority 是否可删除
inport=25 Output=1 0 N
2 inport=26 output=2 0 N
3 inport=27 output=3 0 N
……… …… …… ……
24 inport=48 output=24 0 N
25 inpor=2,SAC=22:22:22:22:22:22 修改SMAC为22:22:22:33:33:33,再匹配tab1e:2 65536 Y
表2交换芯片2的TCAM流表
NO. 匹配字段 action动作 优先级piority 是否可删除
inport=25 output=1 0 N
2 inport=26 output=2 0 N
3 inport=27 o\utput=3 0 N
……… …… …… ……
24 inport=48 output=24 0 N
25 inport=2,SMAC=22:22:22:33:33:33 修改VLAN-ID为100,再匹配taable:3 4096 Y
表3交换芯片3的TCAM流表
NO. 匹配字段 actlon动作 优先级priority 是否可删除
inport=25 output=1 0 N
2 inport=26 output=2 0 N
3 inport=27 output=3 0 N
……… …… …… ……
24 inport=48 output=24 0 N
2 inport=2,SMAC=22:22:22:33:33:33 修改802.lp优先级为7,再output=23 8192 Y
以上在3个交换芯片的交换芯片中,第1-24条为系统保留的最高优先级的默认流,第25条为网络控制器下发的用户流,在图2中,假设数据包从交换芯片1的2端口进来的时候,其数据包内容如下表
4:
表4进入交换芯片1的端口2的数据包内容
此时的数据包将会匹配交换芯片1的流表的第25条流条目,将被修改源MAC为22:22:22:33:33:33并继续匹配下一个流表,匹配后的数据包的内容如下表5:
表5进入交换芯片2的2端口的数据包内容
此时数据包将会匹配交换芯片2的流表的第25条流条目,将被修改VLAN-ID为100并继续匹配下一个流表,匹配后的数据包的内
容如下表6:
表6进入交换芯片3的2端口的数据包内容
此时数据包将会匹配交换芯片3的流表的第25条流条目,将被修改802.1P优先级为7并转发交换芯片1的端口23,匹配后的数据包的内容如下表7:
表7进入交换芯片3的2端口的数据包内容
在此之后,这个数据包将匹配交换芯片2和交换芯片1的第23条默认流,依次经过交换芯片3的23端口,交换芯片2的47和23端口,交换芯片1的47和23端口,最后从交换芯片1的23端口转发出来,至此这个数据包完成了openflow交换机的多表匹配过程。
以上显示和描述了本发明的基本原理、主要特征及优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。

Claims (2)

1.一种基于交换芯片的openflow多表查询的方法,其特征在于,包括以下步骤:
(a)将两块或者两块以上的交换芯片内的TCAM流表和openflow交换机的各个table条目形成映射关系;
(b)以背靠背方式串联的各交换芯片,最上层的交换芯片的入口端口组为对外提供转发业务的端口;
(c)数据包依次通过各交换芯片,执行动作
数据包根据网络控制器的要求,经过最上层交换芯片的入口端口组,TCAM流表进行匹配,匹配到对应的流后,数据包执行相应的动作,并继续送往下一层交换芯片继续匹配,并执行相应的动作,直到依次按顺序经过最后一层的交换芯片的入口端口组,匹配到对应的流后,数据包执行相应的动作;
(d)将数据包转发到相应的业务口
执行相应动作后的数据包,从最后一层的交换芯片的出口端口组,直接向前一层的入口端口组转发,在通过前一层的出口端口组转发给在前一层的入口端口组,依次循环,经最上层的交换芯片的入口端口组将数据包向对应的业务端口发送出去;
其中,步骤(a)交换芯片内的TCAM流表和openflow交换机的各个table条目形成映射关系是通过各交换芯片的TCAM流表存储对应openflow交换机的对应的table条目完成的;
除最上层交换芯片外,其他的各交换芯片都对每一组对应的出口端口和入口端口配置一条最高优先级的默认流条目,保证交换芯片的出口端口组收到数据包时,优先匹配将数据包转发到对应的入口端口,实现数据包快速发送。
2.根据权利要求1所述的openflow多表查询方法的查询装置,其特征在于:包括两块或者两块以上以背靠背方式串联的交换芯片,各交换芯片的端口均包括入口端口组和出口端口组,依次将上层交换芯片的入口端口组和下层交换芯片对应的出口端口组串联,最上层的交换芯片的入口端口组为对外提供转发业务的端口;各交换芯片均为ASIC交换芯片。
CN201310128378.5A 2013-04-15 2013-04-15 基于交换芯片的openflow多表查询的方法及装置 Active CN103200101B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310128378.5A CN103200101B (zh) 2013-04-15 2013-04-15 基于交换芯片的openflow多表查询的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310128378.5A CN103200101B (zh) 2013-04-15 2013-04-15 基于交换芯片的openflow多表查询的方法及装置

Publications (2)

Publication Number Publication Date
CN103200101A CN103200101A (zh) 2013-07-10
CN103200101B true CN103200101B (zh) 2015-12-23

Family

ID=48722464

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310128378.5A Active CN103200101B (zh) 2013-04-15 2013-04-15 基于交换芯片的openflow多表查询的方法及装置

Country Status (1)

Country Link
CN (1) CN103200101B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103428094B (zh) 2013-08-12 2016-08-17 杭州华三通信技术有限公司 开放流OpenFlow系统中的报文转发方法及装置
CN104753885B (zh) 2013-12-30 2018-06-26 杭州华为数字技术有限公司 一种流表匹配的方法、装置和OpenFlow交换系统
KR101996337B1 (ko) * 2014-10-28 2019-07-04 후아웨이 테크놀러지 컴퍼니 리미티드 교환기 처리 방법, 제어기, 교환기 및 교환기 처리 시스템
CN104283785B (zh) * 2014-10-29 2018-11-27 新华三技术有限公司 一种快速处理流表的方法和装置
CN104363177B (zh) * 2014-11-06 2017-10-10 北京东土科技股份有限公司 一种用于报文处理的规则表项的优化方法及装置
CN110233800A (zh) * 2019-05-09 2019-09-13 星融元数据技术(苏州)有限公司 一种开放可编程的报文转发方法和系统
CN114374648B (zh) * 2020-10-14 2024-03-19 芯启源(南京)半导体科技有限公司 一种np芯片结合tcam实现智能网卡的方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1221789A2 (en) * 2000-09-20 2002-07-10 Broadcom Corporation Method and apparatus for enabling L3 switching by a network switch in a stacking environment
CN1658592A (zh) * 2004-02-16 2005-08-24 威盛电子股份有限公司 串接网络交换芯片的方法及其相关装置
CN101106532A (zh) * 2007-07-10 2008-01-16 中兴通讯股份有限公司 实现交换芯片与网络处理器混合转发的方法
CN101345708A (zh) * 2008-08-25 2009-01-14 杭州华三通信技术有限公司 一种生成转发表的方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1221789A2 (en) * 2000-09-20 2002-07-10 Broadcom Corporation Method and apparatus for enabling L3 switching by a network switch in a stacking environment
CN1658592A (zh) * 2004-02-16 2005-08-24 威盛电子股份有限公司 串接网络交换芯片的方法及其相关装置
CN101106532A (zh) * 2007-07-10 2008-01-16 中兴通讯股份有限公司 实现交换芯片与网络处理器混合转发的方法
CN101345708A (zh) * 2008-08-25 2009-01-14 杭州华三通信技术有限公司 一种生成转发表的方法和装置

Also Published As

Publication number Publication date
CN103200101A (zh) 2013-07-10

Similar Documents

Publication Publication Date Title
CN103200101B (zh) 基于交换芯片的openflow多表查询的方法及装置
US8358597B2 (en) Method for building scalable Ethernet switch network and huge Ethernet switch
CN103338161B (zh) 一种实现跨设备聚合的方法和设备
CN103095583B (zh) 通过芯片环回实现Openflow两级流表的方法及系统
CN104917678B (zh) 基于sdn的链路聚合方法
CN105430113B (zh) Sdn网络arp报文处理方法、系统、控制器及交换机
US8488604B2 (en) Method, device and system for forwarding multicast packets
CN102957616B (zh) 在asic中转发trill网络报文的方法及系统
US20130286817A1 (en) Three stage folded clos optimization for 802.1aq
CN106664261A (zh) 一种配置流表项的方法、装置和系统
CN101668238B (zh) Epon中实现vlan n:1汇聚和1:n转换的方法、装置及光网络单元
CN102158421A (zh) 创建三层接口的方法及单元
CN105227464B (zh) Vcf系统中的报文转发方法及装置
RU2007111857A (ru) Кольцевая сеть, устройство связи и способ оперативного управления, используемый для кольцевой сети и устройства связи
CN101931835A (zh) Epon中实现vlan汇聚和转换的方法及装置
CN102647359B (zh) 基于DSA TAG及自定义协议栈的网桥IGMP Snooping实现方法
CN106209689A (zh) 从vxlan至vlan的组播数据报文转发方法和设备
CN104734961B (zh) 基于fc交换网络的路由选择方法
CN102801622B (zh) 一种数据报文的转发方法及转发装置
US20160043878A1 (en) Multicast communications method and aggregation switch
CN106453091A (zh) 路由器转发平面的等价路由管理方法和装置
CN105591897B (zh) Trill网络的mac地址同步方法及装置
CN104065494B (zh) 一种机架式olt设备及其实现多组播vlan的方法
CN106209558B (zh) 形成同一mac地址转发表项扩展转发表容量的方法
CN107566238A (zh) 一种用户态配置物理接口自动识别vlan帧和非vlan帧的方法

Legal Events

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

Effective date of registration: 20190411

Address after: Room 208, 2nd floor, No. 599 Gaojing Road, Qingpu District, Shanghai, 201799

Patentee after: SHANGHAI V&G INFORMATION TECHNOLOGY CO.,LTD.

Address before: Room 1202, No. 19, 1168 Lane, Tongchuan Road, Putuo District, Shanghai, 2003

Patentee before: Wu Jia

Effective date of registration: 20190411

Address after: Room 1202, No. 19, 1168 Lane, Tongchuan Road, Putuo District, Shanghai, 2003

Patentee after: Wu Jia

Address before: 215300 No. 5 Tsinghua Science Park, 1666 Weicheng South Road, Yushan Town, Kunshan City, Suzhou City, Jiangsu Province

Patentee before: KUNSHAN TIANYUANCHANG ELECTRONIC Co.,Ltd.