CN103634213A - 一种报文转发方法 - Google Patents
一种报文转发方法 Download PDFInfo
- Publication number
- CN103634213A CN103634213A CN201310541581.5A CN201310541581A CN103634213A CN 103634213 A CN103634213 A CN 103634213A CN 201310541581 A CN201310541581 A CN 201310541581A CN 103634213 A CN103634213 A CN 103634213A
- Authority
- CN
- China
- Prior art keywords
- message
- label
- vlan
- exchange chip
- type
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 43
- 230000008859 change Effects 0.000 claims description 6
- 238000007789 sealing Methods 0.000 abstract 1
- 230000008569 process Effects 0.000 description 13
- 230000008447 perception Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 101150082208 DIABLO gene Proteins 0.000 description 2
- 102100033189 Diablo IAP-binding mitochondrial protein Human genes 0.000 description 2
- MHABMANUFPZXEB-UHFFFAOYSA-N O-demethyl-aloesaponarin I Natural products O=C1C2=CC=CC(O)=C2C(=O)C2=C1C=C(O)C(C(O)=O)=C2C MHABMANUFPZXEB-UHFFFAOYSA-N 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
Images
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 (7)
1.一种报文转发方法,其特征在于,使用时将交换芯片作为主接口注册,所述方法包括:
交换芯片入接口接收报文并辨别报文类型;
根据报文类型定位报文IP头的位置;
将处理后的报文送入业务处理流程;
根据交换芯片出接口的属性信息,获取交换芯片出接口方向报文需要加封vlan标签的值和标签的层数;
对报文的链路层加封vlan标签,并发送经过业务处理的报文。
2.根据权利要求1所述的方法,其特征在于,所述报文类型包括:本机处理或设备转发。
3.根据权利要求2所述的方法,其特征在于,所述报文类型为本机处理时,所述根据报文类型定位报文IP头的位置包括:
剥离报文中链路层的vlan标签,使头指针指向IP头位置。
4.根据权利要求3所述的方法,其特征在于,所述剥离报文中链路层的vlan标签为:剥离由交换芯片添加的vlan标签。
5.根据权利要求3所述的方法,其特征在于,进一步包括:报文自身携带的子接口vlan标签直接随报文一同送入业务处理流程。
6.根据权利要求2所述的方法,其特征在于,所述报文类型为设备转发时,所述根据报文类型定位报文IP头的位置包括:
根据交换芯片入接口的属性信息确定由交换芯片添加的vlan标签的层数;根据交换芯片添加的vlan标签的层数,将头指针偏移至IP头位置。
7.根据权利要求6所述的方法,其特征在于,所述头指针偏移包括:更改头指针地址信息,更改变量与交换芯片添加的vlan标签的层数相同。
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 true CN103634213A (zh) | 2014-03-12 |
CN103634213B 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) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104243208A (zh) * | 2014-09-09 | 2014-12-24 | 福建星网锐捷网络有限公司 | 一种端口扩展及报文处理方法、装置和网络设备 |
CN106658236A (zh) * | 2016-10-31 | 2017-05-10 | 盛科网络(苏州)有限公司 | 基于多层vlan标签处理的gpon业务承载芯片实现方法 |
CN109474527A (zh) * | 2018-12-13 | 2019-03-15 | 新华三技术有限公司成都分公司 | 一种报文转发方法及装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1486038A (zh) * | 2003-08-29 | 2004-03-31 | 北京港湾网络有限公司 | 组播精确转发的控制方法 |
CN1503514A (zh) * | 2002-11-21 | 2004-06-09 | 华为技术有限公司 | 一种在atm网络上实现虚拟专用网的方法 |
CN101175025A (zh) * | 2006-10-30 | 2008-05-07 | 华为技术有限公司 | 支持混合转发报文的***、交换机及方法 |
CN101325551A (zh) * | 2008-07-28 | 2008-12-17 | 杭州华三通信技术有限公司 | 一种报文处理方法和报文处理装置 |
US20100232435A1 (en) * | 2009-03-16 | 2010-09-16 | Cisco Technology, Inc. | Logically partitioned networking devices |
CN102571738A (zh) * | 2010-12-08 | 2012-07-11 | 中国电信股份有限公司 | 基于虚拟局域网交换的入侵防御方法与*** |
CN103023779A (zh) * | 2012-08-13 | 2013-04-03 | 中兴通讯股份有限公司 | 一种数据报文处理方法及装置 |
CN103368775A (zh) * | 2013-07-09 | 2013-10-23 | 杭州华三通信技术有限公司 | 流量备份方法及核心交换设备 |
-
2013
- 2013-11-04 CN CN201310541581.5A patent/CN103634213B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1503514A (zh) * | 2002-11-21 | 2004-06-09 | 华为技术有限公司 | 一种在atm网络上实现虚拟专用网的方法 |
CN1486038A (zh) * | 2003-08-29 | 2004-03-31 | 北京港湾网络有限公司 | 组播精确转发的控制方法 |
CN101175025A (zh) * | 2006-10-30 | 2008-05-07 | 华为技术有限公司 | 支持混合转发报文的***、交换机及方法 |
CN101325551A (zh) * | 2008-07-28 | 2008-12-17 | 杭州华三通信技术有限公司 | 一种报文处理方法和报文处理装置 |
US20100232435A1 (en) * | 2009-03-16 | 2010-09-16 | Cisco Technology, Inc. | Logically partitioned networking devices |
CN102571738A (zh) * | 2010-12-08 | 2012-07-11 | 中国电信股份有限公司 | 基于虚拟局域网交换的入侵防御方法与*** |
CN103023779A (zh) * | 2012-08-13 | 2013-04-03 | 中兴通讯股份有限公司 | 一种数据报文处理方法及装置 |
CN103368775A (zh) * | 2013-07-09 | 2013-10-23 | 杭州华三通信技术有限公司 | 流量备份方法及核心交换设备 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104243208A (zh) * | 2014-09-09 | 2014-12-24 | 福建星网锐捷网络有限公司 | 一种端口扩展及报文处理方法、装置和网络设备 |
CN106658236A (zh) * | 2016-10-31 | 2017-05-10 | 盛科网络(苏州)有限公司 | 基于多层vlan标签处理的gpon业务承载芯片实现方法 |
CN106658236B (zh) * | 2016-10-31 | 2020-05-05 | 盛科网络(苏州)有限公司 | 基于多层vlan标签处理的gpon业务承载芯片实现方法 |
CN109474527A (zh) * | 2018-12-13 | 2019-03-15 | 新华三技术有限公司成都分公司 | 一种报文转发方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103634213B (zh) | 2017-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110266592B (zh) | Srv6网络与ip mpls网络的通信方法及装置 | |
CN105871721B (zh) | 一种段路由处理方法、处理装置及发送装置 | |
CN111800326B (zh) | 报文传输方法及装置、处理节点及存储介质 | |
EP3782336B1 (en) | Multi-vrf universal device internet protocol address for fabric edge devices | |
CN102368727B (zh) | 跨ip网络的trill网络通信方法、***和设备 | |
CN104869042A (zh) | 报文转发方法和装置 | |
CN102281181B (zh) | 扩展端口桥设备中实现多播转发的方法、装置及*** | |
CN105187311B (zh) | 一种报文转发方法及装置 | |
CN102347889B (zh) | 一种分层虚拟专用局域网中的报文转发方法、***和装置 | |
CN105490957A (zh) | 一种负载分担方法及装置 | |
WO2015149620A1 (zh) | 一种业务路由报文的封装方法、业务转发实体及控制平面 | |
EP3032782B1 (en) | Packet transmission method and apparatus | |
CN102291305B (zh) | 实现6to4中继路由的方法和设备以及报文转发方法 | |
CN105453513A (zh) | 报文转发方法、转发表项下发方法及网络设备 | |
CN102064999B (zh) | 实现组播报文转发的方法和组播报文转发设备 | |
CN104780090A (zh) | Vpn组播传输的方法、装置、pe设备 | |
CN103634213A (zh) | 一种报文转发方法 | |
CN104579973A (zh) | 一种虚拟集群中的报文转发方法和装置 | |
CN100479457C (zh) | 一种实现虚拟私有网络中数据传输的方法 | |
CN110572326A (zh) | 转发路径的建立方法、装置、网络设备及*** | |
CN116488958A (zh) | 网关处理方法、虚拟接入网关、虚拟业务网关及相关设备 | |
CN104023091B (zh) | 一种多链路融合方法及设备 | |
CN108270638B (zh) | 一种基于网口传输的纠错方法、装置及网口传输设备 | |
CN106797344B (zh) | 通过远端网元端口通信的方法和装置 | |
CN111447131B (zh) | 报文解封装方法及装置、报文封装方法及装置 |
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 |
Effective date of registration: 20180528 Granted publication date: 20170419 |
|
PP01 | Preservation of patent right | ||
PD01 | Discharge of preservation of patent |
Date of cancellation: 20240528 Granted publication date: 20170419 |