CN100446501C - 一种辅助cpu转发报文的方法及系统 - Google Patents

一种辅助cpu转发报文的方法及系统 Download PDF

Info

Publication number
CN100446501C
CN100446501C CNB2006100990524A CN200610099052A CN100446501C CN 100446501 C CN100446501 C CN 100446501C CN B2006100990524 A CNB2006100990524 A CN B2006100990524A CN 200610099052 A CN200610099052 A CN 200610099052A CN 100446501 C CN100446501 C CN 100446501C
Authority
CN
China
Prior art keywords
type
message
cpu
heading
binary coding
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.)
Expired - Fee Related
Application number
CNB2006100990524A
Other languages
English (en)
Other versions
CN1889505A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CNB2006100990524A priority Critical patent/CN100446501C/zh
Publication of CN1889505A publication Critical patent/CN1889505A/zh
Application granted granted Critical
Publication of CN100446501C publication Critical patent/CN100446501C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供了一种辅助CPU转发报文的方法及系统,属于网络通信领域。为了解决现有技术中CPU转发报文负担重,影响整个路由转发设备的转发性能,本发明提供了一种辅助CPU转发报文的方法,所述方法包括把访问控制列表配置在网络处理器上、网络处理器获取通道封装协议类型和报文的业务类型、封装报文头、将封装后的报文发送给CPU、CPU得到通道封装协议类型和报文业务类型进行转发报文的步骤。本发明还提供了一种辅助CPU转发报文的系统,所述系统包括网络处理器和CPU。应用NP配合CPU转发报文,使CPU对报文的处理流程得到了简化,提高了路由设备的转发性能。

Description

一种辅助CPU转发报文的方法及系统
技术领域
本发明涉及网络通信领域,特别涉及一种辅助CPU转发报文的方法及系统。
背景技术
现有技术中路由转发设备的转发架构由NP(Network Processor,网络处理器)和CPU两个转发引擎配合完成。NP负责报文的上行路由查表转发工作,下行处理完报文后,转交给CPU;CPU运行TM(Traffic Management,流量管理)功能,其中,一个重要的工作是完成下行从NP转发过来的报文的QoS(Quality of Service,服务质量)功能,配合NP的报文转发工作。
从链路层协议来讲,CPU从NP接收的报文有两类:FR(Frame Relay,帧中继)类型和非FR类型,其中,非FR类型包括:PPP(Point-to-Point Protocol,点到点协议),HDLC(High Data LinkControl,高级数据链路控制)等。
对FR类型的报文,NP报文做IP或MPLS(Multi-Protocol Label Switch,多协议标签交换)转发时,NP完成FR封装后送CPU TM处理,TM调用FR的帧发送函数,先作接口下的PVC(Permanent Virtual Circuit,永久虚电路)调度,然后作接口调度,最后转发出去。
对非FR类型,没有FRQoS(Frame Relay Quality of Service,帧中继服务质量)的处理,直接调用通用接口的QoS发送函数作接口调度,转发出去。
路由转发设备同时使用了NP和CPU,报文的转发需要两者配合来完成,具体实现过程如下:
NP处理完上行和下行路由查表转发工作后,把报文转交给CPU;
CPU从NP收到报文后,从NP封装的私有报文头中取出通道号channel_id,用channel_id查询保存在CPU侧的接口数据结构if_net,得到相应通道的封装协议。
通过ACL(Access Control List,访问控制列表)的配置对报文进行流分类,得到报文的业务类型。
根据通道的封装协议判断:
如果封装协议是PPP/HDLC,报文直接作接口调度,转发出去。
如果封装协议是FR,在使能了FRTS的情况下,报文先作接口下的PVC调度,然后作接口调度,最后转发出去;在没有使能FRTS的情况下,报文直接作接口调度,转发出去。
在接口调度为CBWFQ(Class-based Weighted Fair Queuing,基于分类的加权公平排队)的情况下,根据报文的业务类型,将报文入CBWFQ相应的队列。
现有技术的缺点:
NP在把下行报文送给CPU时,不会携带通道封装协议信息和业务类型给CPU,CPU对于收到的每一个报文,都需要解析报文,并作相应的处理,得到出口通道的封装协议(PPP/HDLC/FR)和报文的业务类型(EF/AF4/AF3/AF2/AF1/BE)。
尽管NP的处理能力足够,由于CPU需要对每一个报文作上述解析流程,导致CPU的负担加重,整个转发性能的瓶颈在CPU,影响到整个路由转发设备的转发性能。
发明内容
为了解决现有技术中CPU转发报文负担重,影响整个路由转发设备的转发性能,本发明提供了一种辅助CPU转发报文的方法及系统。
本发明所述技术方案如下:
本发明提供了一种辅助CPU转发报文的方法,把访问控制列表配置在网络处理器上,并执行以下步骤:
步骤A:网络处理器收到报文后,通过查找出口通道对应的通道表得到出口通道封装协议类型,根据访问控制列表的配置进行流分类得到报文的业务类型;
步骤B:网络处理器把通道封装协议类型和报文的业务类型放在报文头,并对报文头进行封装,然后将封装了报文头后的报文发送给CPU;
步骤C:所述CPU收到报文后,根据报文头得到通道封装协议类型和报文业务类型;
步骤D:所述CPU根据封装协议类型和报文业务类型转发报文。
所述步骤B具体包括:
网络处理器把通道封装协议类型的二进制编码和报文的业务类型的二进制编码放在报文头,并对报文头进行封装,然后把封装了报文头后的报文发送给CPU。
所述对报文头进行封装采用的是以太SNAP封装格式。
所述把通道封装协议类型的二进制编码和报文的业务类型的二进制编码放在报文头的步骤具体为:
把所述通道封装协议类型的二进制编码放在报文头的类型域的高字节,把所述报文的业务类型的二进制编码放在所述报文头的类型域的低字节。
所述步骤C具体包括:
步骤C1:所述CPU收到所述报文后,从报文头的类型域获取高低字节的二进制编码;
步骤C2:所述CPU对所述二进制编码进行解码得到通道封装协议类型和报文业务类型。
本发明还提供了一种辅助CPU转发报文的系统,所述系统包括网络处理器和CPU,所述网络处理器包括生成访问控制列表模块、网络处理器类型获取模块和封装与转发模块,所述CPU包括CPU类型获取模块和转发报文模块;
所述生成访问控制列表模块用于生成访问控制列表;
所述网络处理器类型获取模块用于网络处理器收到报文后,通过查找出口通道对应的通道表得到出口通道封装协议类型,根据访问控制列表的配置进行流分类得到报文的业务类型;
所述封装与转发模块用于把所述网络处理器获取类型模块获得的通道封装协议类型和报文的业务类型放在报文头,并对报文头进行封装,然后将封装了报文头后的报文发送给CPU获取类型模块;
所述CPU类型获取模块用于收到所述封装与转发模块发送的报文后,根据报文头得到通道封装协议类型和报文业务类型;
所述转发报文模块用于所述CPU根据封装协议类型和报文业务类型转发报文。
所述封装与转发模块具体包括封装单元和转发单元;
所述封装单元用于网络处理器把通道封装协议类型的二进制编码和报文的业务类型的二进制编码放在报文头,并对报文头进行封装;
所述转发单元用于把封装单元封装了报文头后的报文发送给所述CPU获取类型模块。
所述CPU类型获取模块具体包括二进制编码获取单元和解码单元;
所述二进制编码获取单元用于收到所述转发单元模块发送的报文后,从报文头的类型域获取高低字节的二进制编码;
所述解码单元用于CPU对所述获取二进制编码单元获取的二进制编码进行解码得到通道封装协议类型和报文业务类型。
本发明技术方案带来的有益效果:
应用NP配合CPU转发报文,使CPU对报文的处理流程得到了简化,提高了路由设备的转发性能;
通过对CPU的转发性能进行优化,使转发报文做到了E3线速。
附图说明
图1是本发明提供的辅助CPU转发报文的方法流程图;
图2是本发明提供的辅助CPU转发报文的系统示意图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明,但不作为对本发明的限定。
本发明把ACL配置在NP上,由NP作复杂流分类或作BA(Behavior Aggregate,行为聚集)简单流分类得到报文的业务类型,并由NP查找出口通道封装协议信息,这样CPU就不需要解析报文,简化了CPU转发报文的流程。
NP与CPU的接口为GMII(Gigabit Media Independent Interface,吉比特媒体独立接口),采用以太SNAP封装。
参见图1,本发明所述一种辅助CPU转发报文的方法的具体步骤如下:
步骤101:NP收到上行转发来的报文,根据报文头中的出口通道查找对应的通道表(现有技术中的通道表也是放在NP上的),得到出口通道封装协议的类型,所述通道封装协议的类型具有指PPP类型,HDLC类型,FR类型等。
步骤102:NP根据ACL配置作复杂流分类或作BA简单流分类得到报文的业务类型,所述报文的业务类型包括:EF(Expedited Forwarding,快速转发),AF4(Assured Forwarding,确保转发),AF3,AF2,AF1,BE(Best Effort,尽力转发)。
步骤103:NP把通道封装协议类型的二进制编码放在报文头的TYPE(类型域)的高字节,报文的业务类型的二进制编码放在报文头中的TYPE(类型域)的低字节。
其中,通道封装协议类型的二进制编码指将PPP类型用二进制数000表示,将HDLC类型用二进制数001表示,FR类型用二进制数010表示,即通道封装协议类型与二进制数的对应关系为:PPP-000,
HDLC-001,
FR-010;
业务类型的二进制编码为:
BE-000,AF1-001,AF2-010,AF3-011,AF4-100,EF-101。
步骤104:NP对报文头进行封装,将封装后的报文发送给CPU。封装可以采用以太SNAP封装或POS封装,本实施例采用以太SNAP封装的私有报文头Ptag,其封装格式如表1所示:
  目的MAC   目的MAC
  源MAC   源MAC
  LENGTH   报文长度
  DSAP   0Xaa
  SSAP   0Xaa
  CTRL   0x03
  OUI   0x000000
  TYPE   TYPE域(2Bytes)
  Channel_id   通道号
  CI   CI值
  PAYLOAD   报文
表1
报文头Ptag中的TYPE域是2个字节,其中高字节用来携带报文的通道封装协议,低字节用来携带报文的业务类型。
步骤105:CPU收到从NP发来的报文后,直接从私有报文头的类型域得到高低字节二进制编码。
步骤106:CPU根据所述通道封装协议类型和报文业务类型的二进制编码定义解码得到通道封装协议类型和报文业务类型。
步骤107:CPU判断通道封装类型是否为FR类型,如果是,进行步骤109;否则进行步骤110。
步骤108:判断接口的FRTS是否使能,如果是,进行步骤111,即进行接口调度转发报文;否则进行步骤110。
步骤109:直接作接口调度,接口调度采用CBWFQ队列,根据报文业务类型分别入相应的CBWFQ队列进行转发报文。
步骤110:作2层调度,先作PVC调度,再作接口调度,接口调度采用FIFO(First-In-First-Out,先进先出)队列进行转发报文。
参见图2,本发明还提供了一种辅助CPU转发报文的系统,所述系统包括网络处理器和CPU,所述网络处理器包括生成访问控制列表模块、网络处理器类型获取模块和封装与转发模块,所述CPU包括CPU类型获取模块和转发报文模块;
所述生成访问控制列表模块用于生成访问控制列表;
所述网络处理器类型获取模块用于网络处理器收到报文后,通过查找出口通道对应的通道表得到出口通道封装协议类型,根据访问控制列表的配置进行流分类得到报文的业务类型;
所述封装与转发模块用于把所述网络处理器获取类型模块获得的通道封装协议类型和报文的业务类型放在报文头,并对报文头进行封装,然后将封装后的报文发送给CPU获取类型模块;
所述CPU类型获取模块用于收到所述封装与转发模块发送的报文后,根据报文头得到通道封装协议类型和报文业务类型;
所述转发报文模块用于所述CPU根据封装协议类型和报文业务类型转发报文。
所述封装与转发模块具体包括封装单元和转发单元;
所述封装单元用于网络处理器把通道封装协议类型的二进制编码和报文的业务类型的二进制编码放在报文头,并对报文头进行封装;
所述转发单元用于把封装单元封装后的报文发送给所述CPU获取类型模块。
所述CPU类型获取模块具体包括二进制编码获取单元和解码单元;
所述二进制编码获取单元用于收到所述转发单元模块发送的报文后,从报文头的类型域获取高低字节的二进制编码;
所述解码单元用于CPU对所述获取二进制编码单元获取的二进制编码进行解码得到通道封装协议类型和报文业务类型。
以上所述的实施例,只是本发明较优选的具体实施方式的一种,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。

Claims (8)

1.一种辅助CPU转发报文的方法,其特征在于,把访问控制列表配置在网络处理器上,并执行以下步骤:
步骤A:网络处理器收到报文后,通过查找出口通道对应的通道表得到出口通道封装协议类型,根据访问控制列表的配置进行流分类得到报文的业务类型;
步骤B:网络处理器把通道封装协议类型和报文的业务类型放在报文头,并对报文头进行封装,然后将封装了报文头后的报文发送给CPU;
步骤C:所述CPU收到报文后,根据报文头得到通道封装协议类型和报文业务类型;
步骤D:所述CPU根据封装协议类型和报文业务类型转发报文。
2.如权利要求1所述的辅助CPU转发报文的方法,其特征在于,所述步骤B具体包括:
网络处理器把通道封装协议类型的二进制编码和报文的业务类型的二进制编码放在报文头,并对报文头进行封装,然后把封装了报文头后的报文发送给CPU。
3.如权利要求2所述的辅助CPU转发报文的方法,其特征在于,所述对报文头进行封装采用的是以太SNAP封装格式。
4.如权利要求3所述的辅助CPU转发报文的方法,其特征在于,所述把通道封装协议类型的二进制编码和报文的业务类型的二进制编码放在报文头的步骤具体为:
把所述通道封装协议类型的二进制编码放在报文头的类型域的高字节,把所述报文的业务类型的二进制编码放在所述报文头的类型域的低字节。
5.如权利要求4所述的辅助CPU转发报文的方法,其特征在于,所述步骤C具体包括:
步骤C1:所述CPU收到所述报文后,从报文头的类型域获取高低字节的二进制编码;
步骤C2:所述CPU对所述二进制编码进行解码得到通道封装协议类型和报文业务类型。
6.一种辅助CPU转发报文的系统,所述系统包括网络处理器和CPU,其特征在于,所述网络处理器包括生成访问控制列表模块、网络处理器类型获取模块和封装与转发模块,所述CPU包括CPU类型获取模块和转发报文模块;
所述生成访问控制列表模块用于生成访问控制列表;
所述网络处理器类型获取模块用于网络处理器收到报文后,通过查找出口通道对应的通道表得到出口通道封装协议类型,根据访问控制列表的配置进行流分类得到报文的业务类型;
所述封装与转发模块用于把所述网络处理器获取类型模块获得的通道封装协议类型和报文的业务类型放在报文头,并对报文头进行封装,然后将封装了报文头后的报文发送给CPU获取类型模块;
所述CPU类型获取模块用于收到所述封装与转发模块发送的报文后,根据报文头得到通道封装协议类型和报文业务类型;
所述转发报文模块用于所述CPU根据封装协议类型和报文业务类型转发报文。
7.如权利要求6所述的辅助CPU转发报文的系统,其特征在于,所述封装与转发模块具体包括封装单元和转发单元;
所述封装单元用于网络处理器把通道封装协议类型的二进制编码和报文的业务类型的二进制编码放在报文头,并对报文头进行封装;
所述转发单元用于把封装单元封装了报文头后的报文发送给所述CPU获取类型模块。
8.如权利要求7所述的辅助CPU转发报文的系统,其特征在于,所述CPU类型获取模块具体包括二进制编码获取单元和解码单元;
所述二进制编码获取单元用于收到所述转发单元模块发送的报文后,从报文头的类型域获取高低字节的二进制编码;
所述解码单元用于CPU对所述获取二进制编码单元获取的二进制编码进行解码得到通道封装协议类型和报文业务类型。
CNB2006100990524A 2006-07-17 2006-07-17 一种辅助cpu转发报文的方法及系统 Expired - Fee Related CN100446501C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2006100990524A CN100446501C (zh) 2006-07-17 2006-07-17 一种辅助cpu转发报文的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2006100990524A CN100446501C (zh) 2006-07-17 2006-07-17 一种辅助cpu转发报文的方法及系统

Publications (2)

Publication Number Publication Date
CN1889505A CN1889505A (zh) 2007-01-03
CN100446501C true CN100446501C (zh) 2008-12-24

Family

ID=37578764

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006100990524A Expired - Fee Related CN100446501C (zh) 2006-07-17 2006-07-17 一种辅助cpu转发报文的方法及系统

Country Status (1)

Country Link
CN (1) CN100446501C (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101227418B (zh) * 2007-01-19 2012-04-04 华为技术有限公司 一种实现融合ip消息的方法、装置及系统
CN101277254B (zh) * 2007-03-30 2010-11-10 华为技术有限公司 一种报文发送的方法和装置
CN101471854A (zh) * 2007-12-29 2009-07-01 华为技术有限公司 一种转发报文的方法及装置
CN101610217B (zh) * 2009-06-05 2011-08-24 中兴通讯股份有限公司 实现在扩展处理器和交换芯片之间传输报文的方法和系统
CN107547417A (zh) * 2016-06-29 2018-01-05 中兴通讯股份有限公司 一种报文处理方法、装置及基站
CN106302848B (zh) * 2016-07-25 2021-01-01 新华三技术有限公司 一种资源分配方法及装置
CN110850841A (zh) * 2019-10-30 2020-02-28 深圳市元征科技股份有限公司 故障诊断方法和相关装置
CN114095383B (zh) * 2022-01-20 2022-04-12 紫光恒越技术有限公司 网络流量采样方法、系统和电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1403952A (zh) * 2002-09-24 2003-03-19 武汉邮电科学研究院 一种以太网认证接入的方法
US20050114657A1 (en) * 2003-11-26 2005-05-26 Kumar Vinoj N. Access control list constructed as a tree of matching tables
CN1708029A (zh) * 2004-06-08 2005-12-14 华为技术有限公司 建立转发流表的方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1403952A (zh) * 2002-09-24 2003-03-19 武汉邮电科学研究院 一种以太网认证接入的方法
US20050114657A1 (en) * 2003-11-26 2005-05-26 Kumar Vinoj N. Access control list constructed as a tree of matching tables
CN1708029A (zh) * 2004-06-08 2005-12-14 华为技术有限公司 建立转发流表的方法

Also Published As

Publication number Publication date
CN1889505A (zh) 2007-01-03

Similar Documents

Publication Publication Date Title
CN100446501C (zh) 一种辅助cpu转发报文的方法及系统
WO2020258746A1 (zh) 数据传输处理方法、装置和通信设备
CN102143035A (zh) 数据业务处理方法、网络设备和网络系统
CN110798415A (zh) 一种业务传输的方法、设备及计算机存储介质
CN101150497A (zh) 移动通信中多数据包传输的方法、系统及设备
US20060227752A1 (en) Packet transmission method and apparatus
US8862768B2 (en) Method and system for packetizing data for servicing traffic end-to-end
CN106209640B (zh) Down MEP报文处理方法与系统
US20070195795A1 (en) Network apparatus and method for forwarding packet
CN103748916A (zh) 一种数据发送、接收方法和装置
CN114302345B (zh) 5g网络切片在智慧能源领域的配电自动化系统通信方法
JP5825664B2 (ja) 中継装置、中継方法
CN106101012B (zh) 一种卫星ip网关协议适配的方法
CN114374964B (zh) 一种基于DPDK的5G用户面功能QoS流实现方法
KR101140453B1 (ko) Ip 인터워킹 vll을 통한 회로 에뮬레이션 방법 및 시스템
CN102420772B (zh) 隧道报文收发方法和装置
CN110312226A (zh) 传输数据的方法和通信装置
US7983297B2 (en) Method and apparatus for the efficient use of available communications network bandwidth
WO2018219323A1 (zh) 灵活以太网协议中传递业务流的方法、装置和系统
US20220407742A1 (en) Time-sensitive transmission of ethernet traffic between endpoint network nodes
WO2009146631A1 (zh) 数据传输的方法、装置和系统
WO2011079635A1 (zh) 一种实现时分复用数据传输的方法及装置
CN100502341C (zh) 在rpr网络上传输以太网业务的实现方法及系统
CN115297521A (zh) 基于SRv6的报文转发方法、装置、系统、介质及电子设备
CN101877691B (zh) Eoc网络中物理层帧的封装与解封装方法

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
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20081224

Termination date: 20120717