一种PPP协议的硬件加速系统及其实现方法技术方案

技术编号:8326021 阅读:155 留言:0更新日期:2013-02-14 08:59
本发明专利技术公开了一种PPP协议的硬件加速系统及其实现方法,该系统包括:物理接口,提供运行该PPP协议的端口;中央处理单元,运行PPP协议,根据硬件加速引擎的需要产生匹配头信息,并通过配置接口下发到该硬件加速引擎;以及硬件加速引擎,设置于该物理接口与该中央处理单元之间,通过配置接口获得该中央处理单元下发的匹配头信息,并根据匹配头信息对每个PPP报文进行匹配,根据匹配结果对每个PPP报文进行预处理,通过本发明专利技术,可降低系统中CPU的负荷,提高系统处理能力。

【技术实现步骤摘要】

本专利技术关于一种硬件加速系统及其实现方法,特别是涉及一种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,把p本文档来自技高网...

【技术保护点】
一种PPP协议的硬件加速系统,至少包括:物理接口,提供运行该PPP协议的端口;中央处理单元,运行PPP协议,根据硬件加速引擎的需要产生匹配头信息,并通过配置接口下发到该硬件加速引擎;以及硬件加速引擎,设置于该物理接口与该中央处理单元之间,通过配置接口获得该中央处理单元下发的匹配头信息,并根据匹配头信息对每个PPP报文进行匹配,根据匹配结果对每个PPP报文进行预处理。

【技术特征摘要】
1.一种PPP协议的硬件加速系统,至少包括 物理接口,提供运行该PPP协议的端口 ; 中央处理单元,运行PPP协议,根据硬件加速引擎的需要产生匹配头信息,并通过配置接口下发到该硬件加速引擎;以及 硬件加速引擎,设置于该物理接口与该中央处理单元之间,通过配置接口获得该中央处理单元下发的匹配头信息,并根据匹配头信息对每个PPP报文进行匹配,根据匹配结果对每个PPP报文进行预处理。2.如权利要求I所述的一种PPP协议的硬件加速系统,其特征在于该预处理为如果匹配,则该硬件加速引擎自动进行报头剥离或报头增加处理;如果不匹配,则该硬件加速引擎不做处理,透传给该中央处理单元处理。3.如权利要求2所述的一种PPP协议的硬件加速系统,其特征在于该硬件加速引擎包括写入模组、匹配模组、预处理模组以及传输模组,其中该写入模组用于接收该中央处理单元通过配置接口写入的匹配头信息;该匹配模组根据匹配头信息对每个PPP报文进行匹配;该预处理模组于该匹...

【专利技术属性】
技术研发人员:朱一群汪超
申请(专利权)人:上海电机学院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1