CN103634213B - 一种报文转发方法 - Google Patents

一种报文转发方法 Download PDF

Info

Publication number
CN103634213B
CN103634213B CN201310541581.5A CN201310541581A CN103634213B CN 103634213 B CN103634213 B CN 103634213B CN 201310541581 A CN201310541581 A CN 201310541581A CN 103634213 B CN103634213 B CN 103634213B
Authority
CN
China
Prior art keywords
message
label
vlan
exchange chip
interface
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
CN201310541581.5A
Other languages
English (en)
Other versions
CN103634213A (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.)
TIANJIN OPZOON INFORMATION TECHNOLOGY Co Ltd
Original Assignee
TIANJIN OPZOON INFORMATION TECHNOLOGY 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 TIANJIN OPZOON INFORMATION TECHNOLOGY Co Ltd filed Critical TIANJIN OPZOON INFORMATION TECHNOLOGY Co Ltd
Priority to CN201310541581.5A priority Critical patent/CN103634213B/zh
Publication of CN103634213A publication Critical patent/CN103634213A/zh
Application granted granted Critical
Publication of CN103634213B publication Critical patent/CN103634213B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例提供了一种报文转发方法,能在上层业务流程不感知底层交换芯片的基础上实现转发,同时不影响设备的业务功能和转发性能。本发明实施例所提供的报文转发方法,使用时将交换芯片作为主接口注册,该方法包括:交换芯片入接口接收报文并辨别报文类型;根据报文类型定位报文IP头的位置;将处理后的报文送入业务处理流程;根据交换芯片出接口的属性信息,获取交换芯片出接口方向报文需要加封vlan标签的值和标签的层数;对报文的链路层加封vlan标签,并发送经过业务处理的报文。

Description

一种报文转发方法
技术领域
本发明涉及网络技术领域,具体涉及一种报文转发方法。
技术背景
网络设备中使用交换芯片对设备接口进行扩展是常见的一种手段,可以用较低的成本对转发接口进行复用,提高设备整体使用的灵活性和竞争力。
使用交换芯片复用接口必须利用vlan的隔离特性对接口进行划分,即不同接口送上来的报文,都会被添加该接口对应的vlan标签。此种方式可以有效的对不同接口进行区分,保证接口复用的独立性。但是使用此种方式收发的报文,比原始报文多加了一层vlan标签,在进入CPU处理时,如何对此标签进行处理,会直接影响到业务处理流程的统一性和设备转发的性能。
现有技术中将交换芯片作为主接口注册时,不对报文类型进行区分,均采用剥离vlan标签的方法进行报文转发,当转发流量较大时,由于进行了标签剥离和添加操作,对每一个报文都存在内存拷贝操作,极大的降低了设备的转发性能。
发明内容
有鉴于此,本发明实施例提供了一种报文转发方法,可以实现在上层业务流程不感知底层交换芯片的基础上实现转发,同时不影响设备的业务功能和转发性能。
本发明一实施例提供了一种报文转发方法,其特征在于,使用时将交换芯片作为主接口注册,所述方法包括:
交换芯片入接口接收报文并辨别报文类型;
根据报文类型定位报文IP头的位置;
将处理后的报文送入业务处理流程;
根据交换芯片出接口的属性信息,获取交换芯片出接口方向报文需要加封vlan标签的值和标签的层数;
对报文IP头前面的链路层加封vlan标签,并发送经过业务处理的报文。
其中,所述报文类型包括:本机处理或设备转发。
其中,所述报文类型为本机处理时,所述根据报文类型定位报文IP头的位置包括:剥离报文中链路层的vlan标签,使头指针指向IP头位置。
其中,所述剥离报文中链路层的vlan标签为:剥离由交换芯片添加的vlan标签。
其中,进一步包括:报文自身携带的子接口vlan标签直接随报文一同送入业务处理流程。
其中,所述报文类型为设备转发时,所述根据报文类型定位报文IP头的位置包括:
根据交换芯片入接口的属性信息确定由交换芯片添加的vlan标签的层数;根据交换芯片添加的vlan标签的层数,将头指针偏移至IP头位置。
其中,所述头指针偏移包括:更改头指针地址信息,更改变量与交换芯片添加的vlan标签的层数相同。
本发明公开的报文转发方法,将交换芯片作为主接口注册,业务功能不收子接口限制;同时根据报文类型,采取不同的方式定位IP头的位置。对于报文类型为设备转发的情况,不需要对报文进行剥离,而是采取指南偏移的方式获取IP头位置,避免了在报文转发过程中对报文的多次拷贝;进而提到了设备的处理和转化性能。
附图说明
图1所示为本发明一实施例提供的报文结构示意图。
图2所示为本发明一实施例提供的报文转发方法流程图。
图3所示为本发明一实施例提供的经处理后本机处理报文的结构示意图。
图4所示为本发明一实施例提供的设备转发报文转发方法示意图。
图5所示为本发明一实施例提供的对处理后的本机处理报文封装vlan标签信息后的结构示意图。
图6所示为本发明另一实施例提供的对处理后的设备转发报文封装vlan标签信息后的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种携带多层vlan标签报文的转发方法,将交换芯片作为主接口注册,并根据报文类型对报文采取不同的转发方式,可以实现在上层业务流程不感知底层的交换芯片的基础上实现转发,同时不影响设备的业务功能和转发性能。
图1所示为携带多层vlan标签报文的结构示意图,如图1所示,携带多层vlan标签的报文包括MAC头、至少一个vlan标签、IP头以及报文内容。其中,图示DMAC+SMAC为MAC头,由交换芯片添加的vlan标签位于MAC头和IP头之间,如图示VLAN1、VLAN2......。这里,报文中的VLAN标签的个数即为交换芯片添加的vlan标签的层数。
图2所示为本发明一实施例提供的报文转发方法的流程图,如图2所示,当接收到如图1所述的报文后,该方法包括:
步骤201:交换芯片入接口接收报文,并辨别报文类型。
报文类型包括:本机处理或设备转发。本机处理报文目的地为本地网络设备,接收后用于本地协议学习等,业务处理流程为送入内核协议栈进行业务处理,在本地设备终结不进行转发,仅在需要时发送与原报文相对应的应答报文,一般转发流量较小。设备转发报文目的地为其他网络设备,接收后需要送入区别于内核协议栈的设备转发业务处理流程,更新信息后再发送出去,其转发流量大。
步骤202:根据报文类型,定位报文IP头的位置
当报文类型为本机处理时,定位报文IP头的位置为:剥离报文中链路层的vlan标签,即可得到包含MAC头(DMAC+SMAC)和IP头组成的报文,剥离后的报文结构具体如图3所示。由于后续CPU所处理的报文已经不再包含vlan标签,头指针直接指向IP头,因此后续处理流程中CPU不会感知到底层交换芯片的存在。
这里需要注意,在本发明一实施例中,被剥离的vlan标签为由交换芯片添加的标签。报文自身携带的子接口vlan标签不能进行剥离,需随报文一同送入内核协议栈中处理。
当报文类型为设备转发时,定位报文IP头的位置为:根据交换芯片入接口的属性信息确定由交换芯片添加的vlan标签的层数,将头指针偏移至IP头位置,这样CPU在识别IP头时,可直接通过头指针正确定位IP头,不会受到报文中链路层信息的干扰,从而使得上层业务流程不会感知底层交换芯片。如图4所示,在定位IP头时,头指针pucData向报文IP头位置偏移,并指向IP头的位置,偏移量为由交换芯片添加的vlan标签的层数。
头指针的偏移可通过改变头指针的地址信息实现,头指针的地址信息为在内存中的存放位置。如MAC头和IP头位置之间添加的vlan标签层数为3层,而一个vlan标签为4个字节,那么将头指针地址信息加12个字节即可实现向IP头位置的偏移。在这种情况下,避免了标签剥离和添加操作时的内存操作
步骤203:将报文送入业务处理流程。
当报文类型为本机处理时,内核协议栈仅对报文中所包含的信息进行本地学习,并发送与原报文相对应的应答报文;当报文类型为设备转发时,设备转发流程需对报文内容进行解析,并更新报文信息,然后选择相应的接口发送更新信息后的报文。
步骤204:根据交换芯片出接口的属性信息,获取交换芯片出接口方向报文需要加封vlan标签的值和标签的层数。
后续报文每经过一个交换芯片,即需要加封一层vlan标签。这里,获取需要加封的vlan标签的值以及层数(经过的交换芯片的个数),vlan标签的取值和层数存储于交换芯片出接口的属性信息中。
步骤205:对报文IP头前面的链路层加封vlan标签,并发送经业务处理后的报文。对报文的链路层信息进行封装时,多层vlan标签被重新添加。
当报文类型为本机处理时,所述封装报文链路层信息的详细过程如图5所示,多层vlan标签(VLAN1、VLAN2......)被重新添加。对于本机处理报文业务处理,报文仅在本地学习,报文内容并没有改变,CPU所要发送的应答报文与原报文一致,重新添加的vlan标签也与原报文一致。
当报文类型为设备转发时,所述封装报文链路层信息的详细过程如图6所示,报文的多层vlan标签(VLAN1、VLAN2......)经CPU处理和重新封装后变为(VLAN3、VLAN2......)。对于设备转发报文业务处理,根据路由信息,转发报文会选择相应的接口发送出去。其对应的交换芯片vlan标签信息也会改变。这样在转发流量首包进行处理时,按本发明所提供的技术方案会重新封装其链路层信息,并保存下来。后续报文可直接封装上此链路层信息进行转发。
本发明公开的报文转发方法接收本机处理报文时,由于本机处理报文流量小不影响设备的转发性能,采用剥离vlan标签方法可使处理流程中不感知底层交换芯片的存在。
本发明公开的报文转发方法接收设备转发报文时,由于设备转发报文流量大,其转发效率高低直接影响到设备性能。采用偏移头指针的方法,避免了标签剥离和添加操作时的内存操作,保证了设备性能,提高了效率。
本领域技术人员可以理解,以上所有的步骤均可以使用程序代码来实现,并不代表实际的实现过程。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换等,均应包含在本发明的保护范围之内。

Claims (5)

1.一种报文转发方法,其特征在于,使用时将交换芯片作为主接口注册,所述方法包括:
交换芯片入接口接收报文并辨别报文类型;
根据报文类型定位报文IP头的位置,所述报文类型包括本机处理或设备转发,所述报文类型为设备转发时,所述根据报文类型定位报文IP头的位置,包括:根据交换芯片入接口的属性信息确定由交换芯片添加的vlan标签的层数,根据交换芯片添加的vlan标签的层数,将头指针偏移至IP头位置;
将处理后的报文送入业务处理流程;
根据交换芯片出接口的属性信息,获取交换芯片出接口方向报文需要加封vlan标签的值和标签的层数;
对报文的链路层加封vlan标签,并发送经过业务处理的报文。
2.根据权利要求1所述的方法,其特征在于,所述报文类型为本机处理时,所述根据报文类型定位报文IP头的位置包括:
剥离报文中链路层的vlan标签,使头指针指向IP头位置。
3.根据权利要求2所述的方法,其特征在于,所述剥离报文中链路层的vlan标签为:剥离由交换芯片添加的vlan标签。
4.根据权利要求2所述的方法,其特征在于,进一步包括:报文自身携带的子接口vlan标签直接随报文一同送入业务处理流程。
5.根据权利要求1所述的方法,其特征在于,所述头指针偏移包括:更改头指针地址信息,更改变量与交换芯片添加的vlan标签的层数相同。
CN201310541581.5A 2013-11-04 2013-11-04 一种报文转发方法 Active CN103634213B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310541581.5A CN103634213B (zh) 2013-11-04 2013-11-04 一种报文转发方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310541581.5A CN103634213B (zh) 2013-11-04 2013-11-04 一种报文转发方法

Publications (2)

Publication Number Publication Date
CN103634213A CN103634213A (zh) 2014-03-12
CN103634213B true CN103634213B (zh) 2017-04-19

Family

ID=50214854

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310541581.5A Active CN103634213B (zh) 2013-11-04 2013-11-04 一种报文转发方法

Country Status (1)

Country Link
CN (1) CN103634213B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104243208A (zh) * 2014-09-09 2014-12-24 福建星网锐捷网络有限公司 一种端口扩展及报文处理方法、装置和网络设备
CN106658236B (zh) * 2016-10-31 2020-05-05 盛科网络(苏州)有限公司 基于多层vlan标签处理的gpon业务承载芯片实现方法
CN109474527B (zh) * 2018-12-13 2021-04-06 新华三技术有限公司成都分公司 一种报文转发方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101175025A (zh) * 2006-10-30 2008-05-07 华为技术有限公司 支持混合转发报文的系统、交换机及方法
CN102571738A (zh) * 2010-12-08 2012-07-11 中国电信股份有限公司 基于虚拟局域网交换的入侵防御方法与系统
CN103023779A (zh) * 2012-08-13 2013-04-03 中兴通讯股份有限公司 一种数据报文处理方法及装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1260916C (zh) * 2002-11-21 2006-06-21 华为技术有限公司 一种在atm网络上实现虚拟专用网的方法
CN1218540C (zh) * 2003-08-29 2005-09-07 港湾网络有限公司 组播精确转发的控制方法
CN101325551B (zh) * 2008-07-28 2010-09-22 杭州华三通信技术有限公司 一种报文处理方法和报文处理装置
US8792490B2 (en) * 2009-03-16 2014-07-29 Cisco Technology, Inc. Logically partitioned networking devices
CN103368775B (zh) * 2013-07-09 2016-08-17 杭州华三通信技术有限公司 流量备份方法及核心交换设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101175025A (zh) * 2006-10-30 2008-05-07 华为技术有限公司 支持混合转发报文的系统、交换机及方法
CN102571738A (zh) * 2010-12-08 2012-07-11 中国电信股份有限公司 基于虚拟局域网交换的入侵防御方法与系统
CN103023779A (zh) * 2012-08-13 2013-04-03 中兴通讯股份有限公司 一种数据报文处理方法及装置

Also Published As

Publication number Publication date
CN103634213A (zh) 2014-03-12

Similar Documents

Publication Publication Date Title
CN106936777B (zh) 基于OpenFlow的云计算分布式网络实现方法、系统
CN102437931B (zh) 一种业务路径的探测方法及设备
CN101155130B (zh) 学习mac地址的方法及传送vpls客户数据的系统及设备
CN110266592A (zh) Srv6网络与ip mpls网络的通信方法及装置
CN104092595B (zh) 基于802.1br的虚拟化系统中的报文处理方法及装置
EP3782336B1 (en) Multi-vrf universal device internet protocol address for fabric edge devices
CN100555999C (zh) 一种实现边缘到边缘伪线仿真的方法和装置
CN104283750B (zh) 基于以太网总线的统一链路层多协议交换方法
CN103401773A (zh) 一种实现板间通信的方法及网络设备
CN103780470B (zh) 一种is‑is的信息同步方法和装置
CN103023779B (zh) 一种数据报文处理方法及装置
CN102984043B (zh) 组播数据流的转发方法及装置
CN108040135A (zh) 一种vpws报文穿越三层ip网络的方法及装置
CN103634213B (zh) 一种报文转发方法
CN102064999B (zh) 实现组播报文转发的方法和组播报文转发设备
EP3032782B1 (en) Packet transmission method and apparatus
CN106330499A (zh) 一种时分复用数据的传输方法、装置及网络侧边缘设备
EP2485451A1 (en) Two-layer forwarding method for a pseudo wire (pw) service and system thereof
RU2517695C2 (ru) Устройство и способ для обеспечения доступа путём сквозной эмуляции псевдопровода
CN104780090A (zh) Vpn组播传输的方法、装置、pe设备
CN105141538A (zh) 一种跨网络堆叠系统及其对报文的处理方法
CN102263700B (zh) 一种报文收发方法、装置和系统
CN104811381A (zh) 一种分布式环境下基于标签的数据传输方法及设备
CN101286918A (zh) 虚拟专用网络系统及其数据处理方法
WO2021244108A1 (zh) Bier组播流量的统计方法、设备以及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
PP01 Preservation of patent right
PP01 Preservation of patent right

Effective date of registration: 20180528

Granted publication date: 20170419