一种ppp协议的硬件加速系统及其实现方法

文档序号:7864639阅读:351来源:国知局
专利名称:一种ppp协议的硬件加速系统及其实现方法
技术领域
本发明关于一种硬件加速系统及其实现方法,特别是涉及一种PPP协议的硬件加速系统及其实现方法。
背景技术
PPP(Point to Point Protocol,点对点协议)协议是应用广泛的链路层协议,主要用于广域网之间的点对点通信,目前PPP协议的实现主要依靠CPU通过分层软件来处理,即驱动软件负责收发报文,链路层软件负责链路层协议处理,并把数据净荷送给上层协议软件处理。然而,由于PPP协议在完成协商后,其报文格式是固定的,而基于CPU的软件仍然需要对每个PPP数据报文做同样的报文分析、头部剥离、头部增加的处理,这样会降低CPU的处理能力,也使得系统处理能力降低。

发明内容
为克服上述现有技术存在的不足,本发明的主要目的在于提供一种PPP协议的硬件加速系统及其实现方法,其通过在运行PPP协议的物理端口和CPU之间,增加硬件加速弓I擎,利用硬件加速引擎对PPP数据报文做头部剥离、头部增加的硬件预处理,降低CPU的负荷,提闻系统处理能力。为达上述及其它目的,本发明提出一种PPP协议的硬件加速系统,至少包括物理接口,提供运行该PPP协议的端口;中央处理单元,运行PPP协议,根据根据硬件加速引擎的需要产生匹配头信息,并通过配置接口下发到该硬件加速引擎;以及硬件加速引擎,设置于该物理接口与该中央处理单元之间,通过配置接口获得该中央处理单元下发的匹配头信息,并根据匹配头信息对每个PPP报文进行匹配,根据匹配结果对每个PPP报文进行预处理。进一步地,该预处理为如果匹配,则该硬件加速引擎自动进行报头剥离或报头增加处理;如果不匹配,则该硬件加速引擎不做处理,透传给该中央处理单元处理。进一步地,该硬件加速引擎包括写入模组、匹配模组、预处理模组以及传输模组,其中该写入模组用于接收该中央处理单元通过配置接口写入的匹配头信息;该匹配模组根据匹配头信息对每个PPP报文进行匹配;该预处理模组于该匹配模组的结果为匹配时,对PPP报文自动进行报头剥离或报头增加处理;该传输模组用于将预处理后的PPP报文或匹配结果为不匹配的PPP报文传输给该中央处理单元。进一步地,该硬件加速引擎通过FPGA实现。进一步地,该物理接口为通用串口或点对点接口。为达到上述及其他目的,本发明还提供一种PPP协议的硬件加速系统的实现方法,包括如下步骤CN 102932458 A



2/3页中央处理单元于完成PPP协商后将匹配头信息通过配置接口写入硬件加速引擎;该硬件加速引擎根据匹配头信息对每个PPP报文进行匹配;以及如果匹配,该硬件加速引擎自动进行报头剥离或报头增加处理。进一步地,如果不匹配,该硬件加速引擎不做处理,透传给该中央处理单元处理。进一步地,该硬件加速引擎通过FPGA实现。与现有技术相比,本发明一种PPP协议的硬件加速系统及其实现方法通过在运行PPP协议的物理端口和CPU之间,增加基于FPGA的硬件加速引擎,利用FPGA和CPU算法协同,对PPP数据报文做头部剥离、头部增加的硬件预处理,降低CPU的负荷,提高系统处理能力,本发明对所有PPP报文适用,方法简明,易于实现,占用逻辑资源少,具有很高的性价比。


图1为本发明一种PPP协议的硬件加速系统的系统架构图;图2为本发明一种PPP协议的硬件加速系统的实现方法的步骤流程图;图3为本发明一种PPP协议的硬件加速系统的实现方法之较佳实施例中发送报文的流程图;图4为本发明一种PPP协议的硬件加速系统的实现方法之较佳实施例中接收报文的流程图。
具体实施例方式以下通过特定的具体实例并结合

本发明的实施方式,本领域技术人员可由本说明书所揭示的内容轻易地了解本发明的其它优点与功效。本发明亦可通过其它不同的具体实例加以施行或应用,本说明书中的各项细节亦可基于不同观点与应用,在不背离本发明的精神下进行各种修饰与变更。图1为本发明一种PPP协议的硬件加速系统的系统架构图。如图I所示,本发明一种PPP协议的硬件加速系统,包括物理接口 10、硬件加速引擎11以及中央处理单元12。其中,物理接口 10提供运行PPP协议的端口,其可以是通用串口,也可以是El接口、POS等点对点接口 ;硬件加速引擎11设置于物理接口 10与中央处理单元12之间,其通过配置接口获得中央处理单元12下发的匹配头信息,并根据匹配头信息对每个PPP报文进行匹配,如果匹配,说明是PPP数据报文,硬件加速引擎11自动进行报头剥离、报头增加处理,如果不匹配,则说明是协议报文,硬件加速引擎11不做处理,透传给中央处理单元12处理,在本发明较佳实施例中,硬件加速引擎11可通过FPGA(Field-Programmable GateArray,现场可编程门阵列)实现;中央处理单元(CPU) 12上运行PPP协议,根据硬件加速引擎11的需要产生匹配头信息,并通过配置接口下发到硬件加速引擎11,中央处理单元12上软件无需再对PPP数据报文做报头剥离、报头增加处理。具体的,硬件加速引擎11包括写入模组110、匹配模组111、预处理模组112以及传输模组113,其中写入模组110用于接收中央处理单元12通过配置接口写入的匹配头信息,即中央处理单元12上运行PPP协议,完成PPP协商后中央处理单元12将匹配头信息通过配置接口写入硬件加速引擎11 ;匹配模组111根据匹配头信息对每个PPP报文进行匹
4配;预处理模组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数据报文,硬件加速引擎Il(FPGA)自动进行报头剥离或报头增加处理;步骤204,如果不匹配,则说明是协议报文,硬件加速引擎Il(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报文适用,方法简明,易于实现,占用逻辑资源少,具有很高的性价比。上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何本领域技术人员均可在不违背本发明的精神及范畴下,对上述实施例进行修饰与改变。因此,本发明的权利保护范围,应如权利要求书所列。
权利要求
1.一种PPP协议的硬件加速系统,至少包括 物理接口,提供运行该PPP协议的端口 ; 中央处理单元,运行PPP协议,根据硬件加速引擎的需要产生匹配头信息,并通过配置接口下发到该硬件加速引擎;以及 硬件加速引擎,设置于该物理接口与该中央处理单元之间,通过配置接口获得该中央处理单元下发的匹配头信息,并根据匹配头信息对每个PPP报文进行匹配,根据匹配结果对每个PPP报文进行预处理。
2.如权利要求I所述的一种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实现。
全文摘要
本发明公开了一种PPP协议的硬件加速系统及其实现方法,该系统包括物理接口,提供运行该PPP协议的端口;中央处理单元,运行PPP协议,根据硬件加速引擎的需要产生匹配头信息,并通过配置接口下发到该硬件加速引擎;以及硬件加速引擎,设置于该物理接口与该中央处理单元之间,通过配置接口获得该中央处理单元下发的匹配头信息,并根据匹配头信息对每个PPP报文进行匹配,根据匹配结果对每个PPP报文进行预处理,通过本发明,可降低系统中CPU的负荷,提高系统处理能力。
文档编号H04L29/08GK102932458SQ20121043512
公开日2013年2月13日 申请日期2012年11月2日 优先权日2012年11月2日
发明者朱一群, 汪超 申请人:上海电机学院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1