一种网络封包的校验值运算系统及其运算方法

文档序号:7601408阅读:205来源:国知局
专利名称:一种网络封包的校验值运算系统及其运算方法
技术领域
本发明涉及一种检查码运算系统,特别是涉及一种以硬件装置运算网络封包的校验值(Checksum)运算系统及其运算方法。
背景技术
随着网络时代的来临,使用者通过网络可获取所需的信息,为了确认数据在网络传送过程中是否有遭破坏或数据遗失等导致改变原数据内容的因素发生,校验值(Checksum)机制为目前常使用的网络封包数据传输验证方式。
为了确保网络封包数据在传输过程中的完整性,需要在传送前运算出对应网络封包数据的校验值,并填入网络封包中的特定位置,以传送网络封包,而接收端在接收到网络封包后,先获取出网络封包中的校验值,并对网络封包数据再次进行相同的运算,以取得其对应的校验值,接着,比较两校验值是否相同,以判断网络封包数据是否完整,而上述过程只是利用校验值验证网络封包数据的基本原理,在许多已有的网络通信协议(TCP/IP)中,其校验值比较次数可能需要数次以上,例如,TCP层需要计算一次,IP层也需要再计算一次等,而这些运算及比较过程均通过计算机系统中的中央处理器来负责执行相关的运算与比较工作,因此需消耗大量的中央处理器资源,由于中央处理器为计算机系统中的核心模块,若占用过多的系统资源,将使计算机系统的效率下降。
因此,如何提供一种网络封包的校验值运算系统,以加速网络封包处理速度,相对减低中央处理器的负担,成为研究人员待解决问题之一。

发明内容
本发明所要解决的技术问题在于提供一种网络封包的校验值运算系统及其运算方法,通过校验值运算模块对网络封包进行校验值运算,并比较校验值是否在传送过程中改变,而中央处理器只需根据运算与比较结果决定是否继续对接收的网络封包进行后续处理,大大降低中央处理器的负担,从而达到加速网络封包处理速度的目的。
为了实现上述目的,本发明提供了一种网络封包的校验值运算系统,在一计算机系统中以一硬件装置组成的校验值运算模块对一传送网络封包或一接收网络封包进行一校验值运算,其特点在于,该计算机系统由该校验值运算模块独立进行该校验值运算;其中,该校验值运算模块在该网络封包传送时,还根据一检验值演算规则运算该传送网络封包,以产生对应该传送网络封包的第一校验值;及其中,该校验值运算模块在该网络封包接收时,还根据该检验值演算规则运算该接收网络封包,以产生对应该接收网络封包的第二校验值,并比较该第一与该第二校验值,以产生一比较结果供处理该接收网络封包。
上述校验值运算系统,其特点在于,该校验值运算模块还包含有一第一校验值运算单元,通过该检验值演算规则运算该传送网络封包,以产生对应该传送网络封包的数据区块的该第一校验值;一校验值附加单元,附加该第一校验值至该传送网络封包中;一第二校验值运算单元,通过该检验值演算规则运算该接收网络封包,以产生对应该接收网络封包的数据区块的该第二校验值;一校验值获取单元,获取该接收网络封包中附加的该第一校验值;及一校验值比较单元,比较该第一与该第二校验值,并产生该比较结果。
上述校验值运算系统,其特点在于,该校验值演算规则为MD5单向杂序函数算法。
上述校验值运算系统,其特点在于,该校验值附加单元附加该第一校验值至该传送网络封包的校验值放置区块中。
上述校验值运算系统,其特点在于,该校验值获取单元至该接收网络封包的校验值放置区块中获取该第一校验值。
上述校验值运算系统,其特点在于,该校验值运算模块为一特殊应用集成电路单芯片所组成。
上述校验值运算系统,其特点在于,该校验值运算模块为一现场式可编程栅极列单芯片所组成。
上述校验值运算系统,其特点在于,该比较结果为该第一与该第二校验值不相同时,则丢弃该接收网络封包。
本发明还提供一种网络封包的校验值运算方法,在一计算机系统中对一传送网络封包或一接收网络封包进行一校验值运算,其特点在于,包含有设置一校验值运算模块于该计算机系统中,用以独立进行该校验值运算;在该网络封包传送时,该校验值运算模块还依据一检验值演算规则运算该传送网络封包,以产生对应该传送网络封包的第一校验值;附加该第一校验值至该传送网络封包中,以传递该传送网络封包;在该网络封包接收时,该校验值运算模块还依据该检验值演算规则运算该接收网络封包,以产生对应该接收网络封包的第二校验值;及比较该第一与该第二校验值,以产生一比对结果供处理该接收网络封包。
上述校验值运算方法,其特点在于,该校验值演算规则为MD5单向杂序函数算法。
上述校验值运算方法,其特点在于,该校验值运算模块还包含有一第一校验值运算单元,通过该检验值演算规则运算该传送网络封包,以产生对应该传送网络封包的数据区块的该第一校验值;一校验值附加单元,附加该第一校验值至该传送网络封包中;一第二校验值运算单元,通过该检验值演算规则运算该接收网络封包,以产生对应该接收网络封包的数据区块的该第二校验值;一校验值获取单元,获取该接收网络封包中附加的该第一校验值;及一校验值比较单元,比较该第一与该第二校验值,并产生该比较结果。
上述校验值运算方法,其特点在于,该校验值附加单元附加该第一校验值至该传送网络封包的校验值放置区块中。
上述校验值运算方法,其特点在于,该校验值获取单元至该接收网络封包的校验值放置区块中获取该第一校验值。
上述校验值运算方法,其特点在于,该校验值运算模块为一特殊应用集成电路单芯片所组成。
上述校验值运算方法,其特点在于,该校验值运算模块为一现场式可编程栅极列单芯片所组成。
上述校验值运算方法,其特点在于,该比较结果为该第一与该第二校验值不相同时,则丢弃该接收网络封包。
本发明的功效,通过这种网络封包的校验值运算系统及其运算方法,利用校验值运算模块运算并产生对应网络封包的校验值,并对接收的网络封包进行校验值比较程序,而中央处理器只需根据运算与比较结果处理接收的网络封包,达到加速网络封包处理速度的目的。并且,通过校验值运算模块对传送封包或接收封包独立进行校验值运算与比较,以提供中央处理器决定网络封包处理的判断依据,从而降低中央处理器的工作负担,相对加快网络封包处理速度,使单位时间内的网络流量增大,进一步达到提高网络传输品质的目的。
以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。


图1为本发明所提的校验值运算模块的系统方块图;图2A为本发明所提的封包传送的系统方块示意图;图2B为本发明所提的封包接收的系统方块示意图;图3A为本发明所提的封包传送的校验值运算步骤流程图;及图3B为本发明所提的封包接收的校验值运算步骤流程图。
其中,幅图标记10-校验值运算模块,11-校验值获取单元12-第一校验值运算单元,13-第二校验值运算单元14-校验值附加单元,15-校验值比较单元20-网络封包,20a-校验值放置区块40-中央处理器模块步骤100-运算网络封包的数据区块,以产生第一校验值步骤101-根据网络协议传输格式决定校验值放置区块步骤102-附加第一校验值至网络封包的校验值放置区块中步骤103-传送附加第一校验值的网络封包步骤200-取出校验值放置区块中的第一校验值步骤201-运算网络封包的数据区块,以产生第二校验值步骤202-比较第一校验值与第二校验值是否相同步骤203-对收的网络封包进行后续处理步骤204-丢弃接收的网络封包具体实施方式
请参照图1,为本发明的校验值(Checksum)运算模块的系统方块图,包含有校验值获取单元11、第一校验值运算单元12、第二校验值运算单元13、校验值附加单元14及校验值比较单元15。
校验值运算模块10,由一硬件装置所组成,根据检验值演算规则独立对待传送或已接收的网络封包进行运算,以产生第一校验值或第二校验值,而校验值演算规则可通过MD5单向杂序函数算法建立并进行运算,以产生一组32位的数字(例如,d1363f529163ccc7ca540c2f895dcc90),其中校验值运算模块10可为特殊应用集成电路(Application-Specific Integrated Circuit,ASIC)单芯片或现场式可编程栅极列(Field-Programmable Gate Array,FPGA)单芯片所组成。
校验值获取单元11,用以获取出网络封包中的校验值放置区块所附加的第一校验值。
第一校验值运算单元12,与校验值获取单元11连接,通过一检验值演算规则运算无校验值的网络封包(例,待传送封包)的数据区块大小,以产生第一校验值。
第二校验值运算单元13,与校验值获取单元11连接,通过一检验值演算规则运算无校验值的网络封包(例,已接收封包)的数据区块大小,以产生第二校验值。
校验值附加单元14,分别与第一校验值运算单元12及第二校验值运算单元13连接,用以附加第一校验值至网络封包中的校验值放置区块,或传送第二校验值至校验值比较单元15,以进行校验值比较作业。
校验值比较单元15比较第一校验值与第二校验值是否相同,以提供中央处理器模块40(参照图2B)决定丢弃或继续处理接收网络封包(例,转送、取样、流量统计或流量等级区分等)的判断依据,若校验值比较结果为相同,即表示接收网络封包内的数据正确,并对其进行后续处理,若校验值比较结果为不相同,即表示接收网络封包内的数据不正确,则丢弃接收网络封包。
接下来,请参照图2A,为本发明的封包传送的系统方块示意图,首先,待传送的网络封包20中包含有数据区块与校验值放置区块,将网络封包20送至校验值运算模块10中进行校验值运算,接着,第一校验值运算单元12根据检验值演算规则运算网络封包20的数据区块大小,并产生出第一校验值20a,再通过校验值附加单元14将第一校验值20a附加至网络封包20中的校验值放置区块,以继续网络封包传送程序,而校验值演算规则可通过MD5单向杂序函数算法建立并进行运算,以产生一组32位的数字(例如,d1363f529163ccc7ca540c2f895dcc90)。
另外,请参照图2B,为本发明的封包接收的系统方块示意图,首先,已接收的网络封包20中包含有数据区块与校验值放置区块20a,将网络封包20送至校验值运算模块10中进行校验值运算,接着,通过校验值获取单元11至校验值放置区块20a中取出网络封包20中的第一校验值,而第二校验值运算单元13根据检验值演算规则运算网络封包20的数据区块大小,并产生出第二校验值(图中未示),再通过校验值附加单元14将第二校验值传送至校验值比较单元15中,以进行校验值比较作业。
中央处理器模块40,与校验值运算模块10连接,为计算机系统中的核心模块,负责各模块的信号处理作业,并根据校验值比较单元15的比较结果,决定丢弃或继续处理网络封包20,其中若校验值运算模块10的第一校验值运算单元12或第二校验值运算单元13发生故障时,中央处理器模块40仍然可通过校验值获取单元11或校验值附加单元14继续执行校验值运算工作。
请参照图3A,为本发明封包传送的校验值运算步骤流程图,首先,设置校验值运算模块10于计算机系统中,用以独立进行校验值运算,在网络封包传送端步骤100,第一校验值运算单元12根据检验值演算规则运算网络封包的数据区块,以产生对应网络封包的第一校验值;步骤101,根据网络协议(TCP/IP)传输格式,决定网络封包中校验值放置区块;步骤102,接下来,通过校验值附加单元14附加第一校验值至校验值放置区块中;步骤103,传送附加第一校验值的网络封包。
接着,请参照图3B,为本发明的封包接收的校验值运算步骤流程图,首先,设置校验值运算模块10于计算机系统中,用以独立进行校验值运算,在网络封包接收端步骤200,校验值获取单元11获取出校验值放置区块20a中的第一校验值;步骤201,第二校验值运算单元13根据检验值演算规则运算网络封包的数据区块,以产生第二校验值;步骤202,校验值比较模块30比较第一与第二校验值是否相同;步骤203,在比较结果为相同时,则通知中央处理器模块40继续处理网络封包,并继续校验值运算作业;步骤204,若比较结果为不相同时,则通知中央处理器模块40丢弃此网络封包。
通过这种网络封包的校验值运算系统及其运算方法,通过校验值运算模块对传送封包或接收封包独立进行校验值运算与比较,以提供中央处理器决定网络封包处理的判断依据,从而降低中央处理器的工作负担,相对加快网络封包处理速度,使单位时间内的网络流量增大,进一步达到提高网络传输品质的目的。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明权利要求的保护范围。
权利要求
1.一种网络封包的校验值运算系统,在一计算机系统中以一硬件装置组成的校验值运算模块对一传送网络封包或一接收网络封包进行一校验值运算,其特征在于,该计算机系统由该校验值运算模块独立进行该校验值运算;其中,该校验值运算模块在该网络封包传送时,还根据一检验值演算规则运算该传送网络封包,以产生对应该传送网络封包的第一校验值;及其中,该校验值运算模块在该网络封包接收时,还根据该检验值演算规则运算该接收网络封包,以产生对应该接收网络封包的第二校验值,并比较该第一与该第二校验值,以产生一比较结果供处理该接收网络封包。
2.根据权利要求1所述的校验值运算系统,其特征在于,该校验值演算规则为MD5单向杂序函数算法。
3.根据权利要求1所述的校验值运算系统,其特征在于,该校验值运算模块还包含有一第一校验值运算单元,通过该检验值演算规则运算该传送网络封包,以产生对应该传送网络封包的数据区块的该第一校验值;一校验值附加单元,附加该第一校验值至该传送网络封包中;一第二校验值运算单元,通过该检验值演算规则运算该接收网络封包,以产生对应该接收网络封包的数据区块的该第二校验值;一校验值获取单元,获取该接收网络封包中附加的该第一校验值;及一校验值比较单元,比较该第一与该第二校验值,并产生该比较结果。
4.根据权利要求2所述的校验值运算系统,其特征在于,该校验值附加单元附加该第一校验值至该传送网络封包的校验值放置区块中。
5.根据权利要求2所述的校验值运算系统,其特征在于,该校验值获取单元至该接收网络封包的校验值放置区块中获取该第一校验值。
6.根据权利要求1所述的校验值运算系统,其特征在于,该校验值运算模块为一特殊应用集成电路单芯片所组成。
7.根据权利要求1所述的校验值运算系统,其特征在于,该校验值运算模块为一现场式可编程栅极列单芯片所组成。
8.根据权利要求1所述的校验值运算系统,其特征在于,该比较结果为该第一与该第二校验值不相同时,则丢弃该接收网络封包。
9.一种网络封包的校验值运算方法,在一计算机系统中对一传送网络封包或一接收网络封包进行一校验值运算,其特征在于,包含有设置一校验值运算模块于该计算机系统中,用以独立进行该校验值运算;在该网络封包传送时,该校验值运算模块还依据一检验值演算规则运算该传送网络封包,以产生对应该传送网络封包的第一校验值;附加该第一校验值至该传送网络封包中,以传递该传送网络封包;在该网络封包接收时,该校验值运算模块还依据该检验值演算规则运算该接收网络封包,以产生对应该接收网络封包的第二校验值;及比较该第一与该第二校验值,以产生一比对结果供处理该接收网络封包。
10.根据权利要求9所述的校验值运算方法,其特征在于,该校验值演算规则为MD5单向杂序函数算法。
11.根据权利要求9所述的校验值运算方法,其特征在于,该校验值运算模块还包含有一第一校验值运算单元,通过该检验值演算规则运算该传送网络封包,以产生对应该传送网络封包的数据区块的该第一校验值;一校验值附加单元,附加该第一校验值至该传送网络封包中;一第二校验值运算单元,通过该检验值演算规则运算该接收网络封包,以产生对应该接收网络封包的数据区块的该第二校验值;一校验值获取单元,获取该接收网络封包中附加的该第一校验值;及一校验值比较单元,比较该第一与该第二校验值,并产生该比较结果。
12.根据权利要求10所述的校验值运算方法,其特征在于,该校验值附加单元附加该第一校验值至该传送网络封包的校验值放置区块中。
13.根据权利要求10所述的校验值运算方法,其特征在于,该校验值获取单元至该接收网络封包的校验值放置区块中获取该第一校验值。
14.根据权利要求10所述的校验值运算方法,其特征在于,该校验值运算模块为一特殊应用集成电路单芯片所组成。
15.根据权利要求10所述的校验值运算方法,其特征在于,该校验值运算模块为一现场式可编程栅极列单芯片所组成。
16.根据权利要求10所述的校验值运算方法,其特征在于,该比较结果为该第一与该第二校验值不相同时,则丢弃该接收网络封包。
全文摘要
本发明涉及一种网络封包的校验值运算系统,在计算机系统中以硬件装置组成的校验值运算模块对传送网络封包或接收网络封包进行校验值运算,计算机系统由校验值运算模块独立进行校验值运算;其中,校验值运算模块在网络封包传送时,还根据检验值演算规则运算该传送网络封包,以产生对应该传送网络封包的第一校验值;及其中,校验值运算模块在该网络封包接收时,还根据该检验值演算规则运算该接收网络封包,以产生对应该接收网络封包的第二校验值,并比较该第一与该第二校验值,以产生一比较结果供处理该接收网络封包。本发明可降低中央处理器的工作负担,相对加快网络封包处理速度,使单位时间内的网络流量增大,进一步达到提高网络传输品质的目的。
文档编号H04L1/24GK1798015SQ200410103509
公开日2006年7月5日 申请日期2004年12月29日 优先权日2004年12月29日
发明者宋建福, 刘文涵, 崔佳 申请人:英业达股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1