CN102932458A - 一种ppp协议的硬件加速系统及其实现方法 - Google Patents
一种ppp协议的硬件加速系统及其实现方法 Download PDFInfo
- Publication number
- CN102932458A CN102932458A CN2012104351258A CN201210435125A CN102932458A CN 102932458 A CN102932458 A CN 102932458A CN 2012104351258 A CN2012104351258 A CN 2012104351258A CN 201210435125 A CN201210435125 A CN 201210435125A CN 102932458 A CN102932458 A CN 102932458A
- Authority
- CN
- China
- Prior art keywords
- ppp
- hardware
- hardware acceleration
- acceleration engine
- cpu
- 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
Abstract
本发明公开了一种PPP协议的硬件加速系统及其实现方法,该系统包括:物理接口,提供运行该PPP协议的端口;中央处理单元,运行PPP协议,根据硬件加速引擎的需要产生匹配头信息,并通过配置接口下发到该硬件加速引擎;以及硬件加速引擎,设置于该物理接口与该中央处理单元之间,通过配置接口获得该中央处理单元下发的匹配头信息,并根据匹配头信息对每个PPP报文进行匹配,根据匹配结果对每个PPP报文进行预处理,通过本发明,可降低系统中CPU的负荷,提高系统处理能力。
Description
技术领域
本发明关于一种硬件加速系统及其实现方法,特别是涉及一种PPP协议的硬件加速系统及其实现方法。
背景技术
PPP(Point to Point Protocol,点对点协议)协议是应用广泛的链路层协议,主要用于广域网之间的点对点通信,目前PPP协议的实现主要依靠CPU通过分层软件来处理,即驱动软件负责收发报文,链路层软件负责链路层协议处理,并把数据净荷送给上层协议软件处理。
然而,由于PPP协议在完成协商后,其报文格式是固定的,而基于CPU的软件仍然需要对每个PPP数据报文做同样的报文分析、头部剥离、头部增加的处理,这样会降低CPU的处理能力,也使得系统处理能力降低。
发明内容
为克服上述现有技术存在的不足,本发明的主要目的在于提供一种PPP协议的硬件加速系统及其实现方法,其通过在运行PPP协议的物理端口和CPU之间,增加硬件加速引擎,利用硬件加速引擎对PPP数据报文做头部剥离、头部增加的硬件预处理,降低CPU的负荷,提高系统处理能力。
为达上述及其它目的,本发明提出一种PPP协议的硬件加速系统,至少包括:
物理接口,提供运行该PPP协议的端口;
中央处理单元,运行PPP协议,根据根据硬件加速引擎的需要产生匹配头信息,并通过配置接口下发到该硬件加速引擎;以及
硬件加速引擎,设置于该物理接口与该中央处理单元之间,通过配置接口获得该中央处理单元下发的匹配头信息,并根据匹配头信息对每个PPP报文进行匹配,根据匹配结果对每个PPP报文进行预处理。
进一步地,该预处理为如果匹配,则该硬件加速引擎自动进行报头剥离或报头增加处理;如果不匹配,则该硬件加速引擎不做处理,透传给该中央处理单元处理。
进一步地,该硬件加速引擎包括写入模组、匹配模组、预处理模组以及传输模组,其中该写入模组用于接收该中央处理单元通过配置接口写入的匹配头信息;该匹配模组根据匹配头信息对每个PPP报文进行匹配;该预处理模组于该匹配模组的结果为匹配时,对PPP报文自动进行报头剥离或报头增加处理;该传输模组用于将预处理后的PPP报文或匹配结果为不匹配的PPP报文传输给该中央处理单元。
进一步地,该硬件加速引擎通过FPGA实现。
进一步地,该物理接口为通用串口或点对点接口。
为达到上述及其他目的,本发明还提供一种PPP协议的硬件加速系统的实现方法,包括如下步骤:
中央处理单元于完成PPP协商后将匹配头信息通过配置接口写入硬件加速引擎;
该硬件加速引擎根据匹配头信息对每个PPP报文进行匹配;以及
如果匹配,该硬件加速引擎自动进行报头剥离或报头增加处理。
进一步地,如果不匹配,该硬件加速引擎不做处理,透传给该中央处理单元处理。
进一步地,该硬件加速引擎通过FPGA实现。
与现有技术相比,本发明一种PPP协议的硬件加速系统及其实现方法通过在运行PPP协议的物理端口和CPU之间,增加基于FPGA的硬件加速引擎,利用FPGA和CPU算法协同,对PPP数据报文做头部剥离、头部增加的硬件预处理,降低CPU的负荷,提高系统处理能力,本发明对所有PPP报文适用,方法简明,易于实现,占用逻辑资源少,具有很高的性价比。
附图说明
图1为本发明一种PPP协议的硬件加速系统的系统架构图;
图2为本发明一种PPP协议的硬件加速系统的实现方法的步骤流程图;
图3为本发明一种PPP协议的硬件加速系统的实现方法之较佳实施例中发送报文的流程图;
图4为本发明一种PPP协议的硬件加速系统的实现方法之较佳实施例中接收报文的流程图。
具体实施方式
以下通过特定的具体实例并结合附图说明本发明的实施方式,本领域技术人员可由本说明书所揭示的内容轻易地了解本发明的其它优点与功效。本发明亦可通过其它不同的具体实例加以施行或应用,本说明书中的各项细节亦可基于不同观点与应用,在不背离本发明的精神下进行各种修饰与变更。
图1为本发明一种PPP协议的硬件加速系统的系统架构图。如图1所示,本发明一种PPP协议的硬件加速系统,包括:物理接口10、硬件加速引擎11以及中央处理单元12。
其中,物理接口10提供运行PPP协议的端口,其可以是通用串口,也可以是E1接口、POS等点对点接口;硬件加速引擎11设置于物理接口10与中央处理单元12之间,其通过配置接口获得中央处理单元12下发的匹配头信息,并根据匹配头信息对每个PPP报文进行匹配,如果匹配,说明是PPP数据报文,硬件加速引擎11自动进行报头剥离、报头增加处理,如果不匹配,则说明是协议报文,硬件加速引擎11不做处理,透传给中央处理单元12处理,在本发明较佳实施例中,硬件加速引擎11可通过FPGA(Field-Programmable Gate Array,现场可编程门阵列)实现;中央处理单元(CPU)12上运行PPP协议,根据硬件加速引擎11的需要产生匹配头信息,并通过配置接口下发到硬件加速引擎11,中央处理单元12上软件无需再对PPP数据报文做报头剥离、报头增加处理。
具体的,硬件加速引擎11包括写入模组110、匹配模组111、预处理模组112以及传输模组113,其中写入模组110用于接收中央处理单元12通过配置接口写入的匹配头信息,即中央处理单元12上运行PPP协议,完成PPP协商后中央处理单元12将匹配头信息通过配置接口写入硬件加速引擎11;匹配模组111根据匹配头信息对每个PPP报文进行匹配;预处理模组112于匹配模组111的结果为匹配时,对PPP报文自动进行报头剥离及报头增加处理,因为如果匹配,则说明该PPP报文是PPP数据报文,则通过预处理模组112对其进行预处理;传输模组113用于将预处理后的PPP报文或匹配结果为不匹配的PPP报文传输给中央处理单元12,即如果不匹配,则说明是协议报文,则不需进行预处理,直接传输给中央处理单元12处理。由于PPP完成协商后,大量传输的是数据报文,因此硬件加速引擎11可大大降低CPU的负荷,提高系统处理能力。
图2为本发明一种PPP协议的硬件加速系统的实现方法的步骤流程图。如图2所示,本发明一种PPP协议的硬件加速系统的实现方法,包括如下步骤:
步骤201,CPU运行PPP协议,完成PPP协商后CPU将匹配头信息通过配置接口写入硬件加速引擎11,在本发明较佳实施例中,硬件加速引擎11通过FPGA(Field-Programmable Gate Array,现场可编程门阵列)实现。
步骤202,硬件加速引擎11根据匹配头信息对每个PPP报文进行匹配;
步骤203,如果匹配,则说明是PPP数据报文,硬件加速引擎11(FPGA)自动进行报头剥离或报头增加处理;
步骤204,如果不匹配,则说明是协议报文,硬件加速引擎11(FPGA)不做处理,透传给CPU处理。
以下将通过一具体的报文收发流程来进一步说明本发明之硬件加速系统的工作原理。图3为本发明一种PPP协议的硬件加速系统的实现方法之较佳实施例中发送报文的流程图,如图3所示,发送报文的流程如下:
步骤301,FPGA从CPU接收报文pack_buf;
步骤302,根据预设的匹配头做匹配;
步骤303,若匹配,则获取预设发送报文头部out_header和长度out_len;若不匹配,则直接进入步骤305;
步骤304,pack_buf前封装预设发送报文头部;
步骤305,把pack_buf交给物理接口。
图4为本发明一种PPP协议的硬件加速系统的实现方法之较佳实施例中接收报文的流程图。如图4所示,接收报文的流程如下:
步骤401,FPGA从物理端口接收PPP报文pack_buf;
步骤402,匹配预设的匹配头信息in_header和pack_buf最前面in_len个字节;
步骤403,若匹配,则将pack_buf剥离in_len个字节;若不匹配,则直接进入404;
步骤404,把pack_buf发送给CPU。
可见,本发明一种PPP协议的硬件加速系统及其实现方法通过在运行PPP协议的物理端口和CPU之间,增加基于FPGA的硬件加速引擎,利用FPGA和CPU算法协同,对PPP数据报文做头部剥离、头部增加的硬件预处理,降低CPU的负荷,提高系统处理能力,本发明对所有PPP报文适用,方法简明,易于实现,占用逻辑资源少,具有很高的性价比。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何本领域技术人员均可在不违背本发明的精神及范畴下,对上述实施例进行修饰与改变。因此,本发明的权利保护范围,应如权利要求书所列。
Claims (8)
1.一种PPP协议的硬件加速系统,至少包括:
物理接口,提供运行该PPP协议的端口;
中央处理单元,运行PPP协议,根据硬件加速引擎的需要产生匹配头信息,并通过配置接口下发到该硬件加速引擎;以及
硬件加速引擎,设置于该物理接口与该中央处理单元之间,通过配置接口获得该中央处理单元下发的匹配头信息,并根据匹配头信息对每个PPP报文进行匹配,根据匹配结果对每个PPP报文进行预处理。
2.如权利要求1所述的一种PPP协议的硬件加速系统,其特征在于:该预处理为如果匹配,则该硬件加速引擎自动进行报头剥离或报头增加处理;如果不匹配,则该硬件加速引擎不做处理,透传给该中央处理单元处理。
3.如权利要求2所述的一种PPP协议的硬件加速系统,其特征在于:该硬件加速引擎包括写入模组、匹配模组、预处理模组以及传输模组,其中该写入模组用于接收该中央处理单元通过配置接口写入的匹配头信息;该匹配模组根据匹配头信息对每个PPP报文进行匹配;该预处理模组于该匹配模组的结果为匹配时,对PPP报文自动进行报头剥离或报头增加处理;该传输模组用于将预处理后的PPP报文或匹配结果为不匹配的PPP报文传输给该中央处理单元。
4.如权利要求2所述的一种PPP协议的硬件加速系统,其特征在于:该硬件加速引擎通过FPGA实现。
5.如权利要求2所述的一种PPP协议的硬件加速系统,其特征在于:该物理接口为通用串口或点对点接口。
6.一种PPP协议的硬件加速系统的实现方法,包括如下步骤:
中央处理单元于完成PPP协商后将匹配头信息通过配置接口写入硬件加速引擎;
该硬件加速引擎根据匹配头信息对每个PPP报文进行匹配;以及
如果匹配,该硬件加速引擎自动进行报头剥离或报头增加处理。
7.如权利要求6所述的一种PPP协议的硬件加速系统的实现方法,其特征在于:如果不匹配,该硬件加速引擎不做处理,透传给该中央处理单元处理。
8.如权利要求6所述的一种PPP协议的硬件加速系统的实现方法,其特征在于:该硬件加速引擎通过FPGA实现。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210435125.8A CN102932458B (zh) | 2012-11-02 | 2012-11-02 | 一种ppp协议的硬件加速系统及其实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210435125.8A CN102932458B (zh) | 2012-11-02 | 2012-11-02 | 一种ppp协议的硬件加速系统及其实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102932458A true CN102932458A (zh) | 2013-02-13 |
CN102932458B CN102932458B (zh) | 2015-05-20 |
Family
ID=47647154
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210435125.8A Active CN102932458B (zh) | 2012-11-02 | 2012-11-02 | 一种ppp协议的硬件加速系统及其实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102932458B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104899085A (zh) * | 2015-05-29 | 2015-09-09 | 华为技术有限公司 | 一种数据处理方法和装置 |
CN105656994A (zh) * | 2014-12-31 | 2016-06-08 | 华为技术有限公司 | 一种业务加速方法和装置 |
CN106936718A (zh) * | 2017-03-30 | 2017-07-07 | 网宿科技股份有限公司 | PPPoE报文传输方法和PPPoE服务器 |
CN116016713A (zh) * | 2022-12-13 | 2023-04-25 | 苏州盛科通信股份有限公司 | 报文传输方法、装置、网络设备及可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006069473A1 (fr) * | 2004-12-28 | 2006-07-06 | Zte Corporation | Procede et dispositif de double encapsulation d'informations dans un dispositif de communication |
CN1885784A (zh) * | 2006-07-04 | 2006-12-27 | 华为技术有限公司 | 一种单播数据群组寻址方法及其系统 |
CN1968350A (zh) * | 2006-06-08 | 2007-05-23 | 华为技术有限公司 | 数字电视网络中的单播寻址系统及方法 |
EP2007078A1 (en) * | 2007-06-19 | 2008-12-24 | Panasonic Corporation | Header size reduction of data packets |
-
2012
- 2012-11-02 CN CN201210435125.8A patent/CN102932458B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006069473A1 (fr) * | 2004-12-28 | 2006-07-06 | Zte Corporation | Procede et dispositif de double encapsulation d'informations dans un dispositif de communication |
CN1968350A (zh) * | 2006-06-08 | 2007-05-23 | 华为技术有限公司 | 数字电视网络中的单播寻址系统及方法 |
CN1885784A (zh) * | 2006-07-04 | 2006-12-27 | 华为技术有限公司 | 一种单播数据群组寻址方法及其系统 |
EP2007078A1 (en) * | 2007-06-19 | 2008-12-24 | Panasonic Corporation | Header size reduction of data packets |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105656994A (zh) * | 2014-12-31 | 2016-06-08 | 华为技术有限公司 | 一种业务加速方法和装置 |
CN105656994B (zh) * | 2014-12-31 | 2019-02-05 | 华为技术有限公司 | 一种业务加速方法和装置 |
CN104899085A (zh) * | 2015-05-29 | 2015-09-09 | 华为技术有限公司 | 一种数据处理方法和装置 |
WO2016192573A1 (zh) * | 2015-05-29 | 2016-12-08 | 华为技术有限公司 | 一种数据处理方法和装置 |
CN104899085B (zh) * | 2015-05-29 | 2018-06-26 | 华为技术有限公司 | 一种数据处理方法和装置 |
US10432506B2 (en) | 2015-05-29 | 2019-10-01 | Huawei Technologies Co., Ltd. | Data processing method and apparatus |
CN106936718A (zh) * | 2017-03-30 | 2017-07-07 | 网宿科技股份有限公司 | PPPoE报文传输方法和PPPoE服务器 |
CN106936718B (zh) * | 2017-03-30 | 2019-12-13 | 网宿科技股份有限公司 | PPPoE报文传输方法和PPPoE服务器 |
CN116016713A (zh) * | 2022-12-13 | 2023-04-25 | 苏州盛科通信股份有限公司 | 报文传输方法、装置、网络设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN102932458B (zh) | 2015-05-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2016187813A1 (zh) | 一种光电混合网络的数据传输方法及装置 | |
WO2017045276A1 (zh) | 终端互联方法、装置和存储介质 | |
CN102104544B (zh) | 硬件加速的多核处理器ip隧道分片报文流保序方法 | |
KR20090090394A (ko) | 향상된 무선 usb 프로토콜 및 허브 | |
CN104468309B (zh) | 一种低速smp与高速密码卡的高效适配方法 | |
CN102932458A (zh) | 一种ppp协议的硬件加速系统及其实现方法 | |
CN114257972B (zh) | 电力终端用嵌入式5g通信系统及方法 | |
CN109828940A (zh) | 一种智能网卡及数据处理系统和方法 | |
CN106998347A (zh) | 服务器虚拟化网络共享的装置和方法 | |
CN103415062B (zh) | 一种网络连接装置、无线路由器和网络连接方法 | |
CN109525639A (zh) | 车载电子设备通过usb线连接智能手机实现上网的方法 | |
CN105190530A (zh) | 传输硬件渲染的图形数据 | |
CN104283854A (zh) | 一种基于IPSec的VPN中大数据量传输方法 | |
CN113556340B (zh) | 一种便携式vpn终端、数据处理方法及存储介质 | |
CN102122255A (zh) | 利用虚拟字符设备和genetlink实现Linux系统中进程间通信的方法 | |
CN102480473A (zh) | 基于fsk的安全性信息交互系统及方法 | |
CN102724133A (zh) | 一种ip报文传输的方法及装置 | |
CN105471718A (zh) | 一种全双工消息队列的实现方法 | |
CN110198533A (zh) | 一种远程控制ble蓝牙设备的方法和ble蓝牙设备 | |
CN109831404A (zh) | 一种兼容多终端的即时通讯系统及方法 | |
CN103248679A (zh) | 一种网络消息传递方法 | |
CN104951417A (zh) | 一种实现适用于大容量usim的usb复合设备的方法 | |
CN112737932B (zh) | 一种基于dpdk实现高性能ipsce网关 | |
CN107846709A (zh) | 一种基于LoRa的无线通信装置及无线通信方法 | |
CN107819831A (zh) | 一种基于metaq及mns的通用消息系统 |
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 |
Effective date of registration: 20220804 Address after: No. 53, Room 404, Science and Technology Plaza Building, Qianjin East Road, Kunshan Development Zone, Suzhou City, Jiangsu Province, 215000 (cluster registration) Patentee after: Suzhou boyande Information Technology Co.,Ltd. Address before: 200240 No. 690, Jiangchuan Road, Shanghai, Minhang District Patentee before: SHANGHAI DIANJI University |
|
TR01 | Transfer of patent right |