CN1889505A - 一种辅助cpu转发报文的方法及系统 - Google Patents
一种辅助cpu转发报文的方法及系统 Download PDFInfo
- Publication number
- CN1889505A CN1889505A CNA2006100990524A CN200610099052A CN1889505A CN 1889505 A CN1889505 A CN 1889505A CN A2006100990524 A CNA2006100990524 A CN A2006100990524A CN 200610099052 A CN200610099052 A CN 200610099052A CN 1889505 A CN1889505 A CN 1889505A
- 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.)
- Granted
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种辅助CPU转发报文的方法及系统,属于网络通信领域。为了解决现有技术中CPU转发报文负担重,影响整个路由转发设备的转发性能,本发明提供了一种辅助CPU转发报文的方法,所述方法包括把访问控制列表配置在网络处理器上、网络处理器获取通道封装协议类型和报文的业务类型、封装报文头、将封装后的报文发送给CPU、CPU得到通道封装协议类型和报文业务类型进行转发报文的步骤。本发明还提供了一种辅助CPU转发报文的系统,所述系统包括网络处理器和CPU。应用NP配合CPU转发报文,使CPU对报文的处理流程得到了简化,提高了路由设备的转发性能。
Description
技术领域
本发明涉及网络通信领域,特别涉及一种辅助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对所述获取二进制编码单元获取的二进制编码进行解码得到通道封装协议类型和报文业务类型。
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 true CN1889505A (zh) | 2007-01-03 |
CN100446501C 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) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008089652A1 (fr) * | 2007-01-19 | 2008-07-31 | Huawei Technologies Co., Ltd. | Procédé, dispositif et système pour la mise en convergence d'une messagerie sur ip |
WO2008119289A1 (en) * | 2007-03-30 | 2008-10-09 | Huawei Technologies Co., Ltd. | Method and device for sending mac |
WO2009086779A1 (zh) * | 2007-12-29 | 2009-07-16 | Huawei Technologies Co., Ltd. | 一种转发分组报文的方法、系统及装置 |
CN101610217B (zh) * | 2009-06-05 | 2011-08-24 | 中兴通讯股份有限公司 | 实现在扩展处理器和交换芯片之间传输报文的方法和系统 |
CN106302848A (zh) * | 2016-07-25 | 2017-01-04 | 杭州华三通信技术有限公司 | 一种资源分配方法及装置 |
CN107547417A (zh) * | 2016-06-29 | 2018-01-05 | 中兴通讯股份有限公司 | 一种报文处理方法、装置及基站 |
CN110850841A (zh) * | 2019-10-30 | 2020-02-28 | 深圳市元征科技股份有限公司 | 故障诊断方法和相关装置 |
CN114095383A (zh) * | 2022-01-20 | 2022-02-25 | 紫光恒越技术有限公司 | 网络流量采样方法、系统和电子设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100437550C (zh) * | 2002-09-24 | 2008-11-26 | 武汉邮电科学研究院 | 一种以太网认证接入的方法 |
US8181258B2 (en) * | 2003-11-26 | 2012-05-15 | Agere Systems Inc. | Access control list constructed as a tree of matching tables |
CN1708029A (zh) * | 2004-06-08 | 2005-12-14 | 华为技术有限公司 | 建立转发流表的方法 |
-
2006
- 2006-07-17 CN CNB2006100990524A patent/CN100446501C/zh not_active Expired - Fee Related
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008089652A1 (fr) * | 2007-01-19 | 2008-07-31 | Huawei Technologies Co., Ltd. | Procédé, dispositif et système pour la mise en convergence d'une messagerie sur ip |
WO2008119289A1 (en) * | 2007-03-30 | 2008-10-09 | Huawei Technologies Co., Ltd. | Method and device for sending mac |
CN101277254B (zh) * | 2007-03-30 | 2010-11-10 | 华为技术有限公司 | 一种报文发送的方法和装置 |
WO2009086779A1 (zh) * | 2007-12-29 | 2009-07-16 | Huawei Technologies Co., Ltd. | 一种转发分组报文的方法、系统及装置 |
CN101610217B (zh) * | 2009-06-05 | 2011-08-24 | 中兴通讯股份有限公司 | 实现在扩展处理器和交换芯片之间传输报文的方法和系统 |
CN107547417A (zh) * | 2016-06-29 | 2018-01-05 | 中兴通讯股份有限公司 | 一种报文处理方法、装置及基站 |
CN106302848A (zh) * | 2016-07-25 | 2017-01-04 | 杭州华三通信技术有限公司 | 一种资源分配方法及装置 |
CN110850841A (zh) * | 2019-10-30 | 2020-02-28 | 深圳市元征科技股份有限公司 | 故障诊断方法和相关装置 |
CN114095383A (zh) * | 2022-01-20 | 2022-02-25 | 紫光恒越技术有限公司 | 网络流量采样方法、系统和电子设备 |
CN114095383B (zh) * | 2022-01-20 | 2022-04-12 | 紫光恒越技术有限公司 | 网络流量采样方法、系统和电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN100446501C (zh) | 2008-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1889505A (zh) | 一种辅助cpu转发报文的方法及系统 | |
CN1866923A (zh) | 一种实现捆绑接口边到边伪线仿真服务的方法及系统 | |
CN1946054A (zh) | 一种高速数据流的传输方法、装置及数据交换设备 | |
CN1610301A (zh) | 从无线网络控制器提供分组数据到基站的方法 | |
CN101035033A (zh) | 支持远程报文镜像的报文镜像方法和网络设备 | |
CN1835476A (zh) | 分组传输方法和设备 | |
CN1157985C (zh) | 无线通信系统及组播通信方法 | |
CN101043387A (zh) | 远程镜像实现方法、远程监控设备及实现远程镜像的系统 | |
CN101043304A (zh) | 长期演进网络的数据处理方法 | |
CN1866835A (zh) | 网络中数据传输的方法 | |
CN1909508A (zh) | 端口流控方法 | |
CN1282342C (zh) | 一种无线局域网网桥透明桥接的实现方法 | |
CN1705308A (zh) | 一种用户面数据处理方法 | |
CN1612501A (zh) | 利用复帧传送数据 | |
CN1214548C (zh) | 无线接入网中的数据传输方法 | |
CN1921346A (zh) | 数据分割级联传送方法 | |
CN1863141A (zh) | 一种ip分片报文传输处理方法 | |
CN1558626A (zh) | 一种用网络处理器实现分组控制功能的方法 | |
CN1700789A (zh) | 一种短消息的传输方法 | |
CN101079815A (zh) | 报文转换方法、系统及装置 | |
CN1866905A (zh) | 对网络中传输的业务流进行整形的方法及装置 | |
CN1925689A (zh) | 一种寻呼消息处理方法及装置 | |
CN1640072A (zh) | 数据发送装置、中继装置、数据发送接收装置、数据通信方法 | |
CN1691628A (zh) | 在rpr网络上传输以太网业务的实现方法及系统 | |
CN1863148A (zh) | 穿越二层隧道网络实现vlan设备间交互bpdu报文的方法 |
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 |