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

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

Info

Publication number
CN1798015A
CN1798015A CN 200410103509 CN200410103509A CN1798015A CN 1798015 A CN1798015 A CN 1798015A CN 200410103509 CN200410103509 CN 200410103509 CN 200410103509 A CN200410103509 A CN 200410103509A CN 1798015 A CN1798015 A CN 1798015A
Authority
CN
China
Prior art keywords
check value
network package
package
computing
check
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
Application number
CN 200410103509
Other languages
English (en)
Other versions
CN100481760C (zh
Inventor
宋建福
刘文涵
崔佳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inventec Corp
Original Assignee
Inventec Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Inventec Corp filed Critical Inventec Corp
Priority to CNB2004101035095A priority Critical patent/CN100481760C/zh
Publication of CN1798015A publication Critical patent/CN1798015A/zh
Application granted granted Critical
Publication of CN100481760C publication Critical patent/CN100481760C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及一种网络封包的校验值运算系统,在计算机系统中以硬件装置组成的校验值运算模块对传送网络封包或接收网络封包进行校验值运算,计算机系统由校验值运算模块独立进行校验值运算;其中,校验值运算模块在网络封包传送时,还根据检验值演算规则运算该传送网络封包,以产生对应该传送网络封包的第一校验值;及其中,校验值运算模块在该网络封包接收时,还根据该检验值演算规则运算该接收网络封包,以产生对应该接收网络封包的第二校验值,并比较该第一与该第二校验值,以产生一比较结果供处理该接收网络封包。本发明可降低中央处理器的工作负担,相对加快网络封包处理速度,使单位时间内的网络流量增大,进一步达到提高网络传输品质的目的。

Description

一种网络封包的校验值运算系统及其运算方法
技术领域
本发明涉及一种检查码运算系统,特别是涉及一种以硬件装置运算网络封包的校验值(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丢弃此网络封包。
通过这种网络封包的校验值运算系统及其运算方法,通过校验值运算模块对传送封包或接收封包独立进行校验值运算与比较,以提供中央处理器决定网络封包处理的判断依据,从而降低中央处理器的工作负担,相对加快网络封包处理速度,使单位时间内的网络流量增大,进一步达到提高网络传输品质的目的。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明权利要求的保护范围。

Claims (16)

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所述的校验值运算方法,其特征在于,该比较结果为该第一与该第二校验值不相同时,则丢弃该接收网络封包。
CNB2004101035095A 2004-12-29 2004-12-29 一种网络封包的校验值运算系统及其运算方法 Expired - Fee Related CN100481760C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2004101035095A CN100481760C (zh) 2004-12-29 2004-12-29 一种网络封包的校验值运算系统及其运算方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2004101035095A CN100481760C (zh) 2004-12-29 2004-12-29 一种网络封包的校验值运算系统及其运算方法

Publications (2)

Publication Number Publication Date
CN1798015A true CN1798015A (zh) 2006-07-05
CN100481760C CN100481760C (zh) 2009-04-22

Family

ID=36818821

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004101035095A Expired - Fee Related CN100481760C (zh) 2004-12-29 2004-12-29 一种网络封包的校验值运算系统及其运算方法

Country Status (1)

Country Link
CN (1) CN100481760C (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103093130A (zh) * 2013-01-09 2013-05-08 杭州华三通信技术有限公司 一种硬件绑定信息加密方法和网络设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103093130A (zh) * 2013-01-09 2013-05-08 杭州华三通信技术有限公司 一种硬件绑定信息加密方法和网络设备
CN103093130B (zh) * 2013-01-09 2016-05-11 杭州华三通信技术有限公司 一种硬件绑定信息加密方法和网络设备

Also Published As

Publication number Publication date
CN100481760C (zh) 2009-04-22

Similar Documents

Publication Publication Date Title
CN1198403C (zh) 首部复原装置和首部复原方法
CN1174588C (zh) 分组接收装置和分组传输方法
CN1906906A (zh) 用于ip语音的最优无线承载电路配置
CN1968074A (zh) 网络封包串流仿真方法
US8306062B1 (en) Method and apparatus of adaptive large receive offload
CN1778079A (zh) 用于协调tcp/ip网络与其他网络之间的流控制的方法和设备
CN1674485A (zh) 动态提供计算机系统资源的方法和系统
CN1757220A (zh) 检测极小分段攻击的装置和方法
CN1282331C (zh) 一种实现异常流量控制的装置及方法
CN1889414A (zh) 一种基于丢失pdu检测机制发送状态pdu的方法
CN1830183A (zh) 分组通信装置以及分组通信方法
CN1700677A (zh) 与帧集合一起使用的mac报头压缩
CN101051957A (zh) 链路状态以及捆绑链路状态动态调整方法和装置
CN1287568C (zh) 局域网内的数据传输方法
CN1633796A (zh) 针对广播或无线网络修改tcp/ip
CN1977497A (zh) 避免服务数据单元(sdu)复制的无损无线链路控制实体(rlc)的重建
CN1248465C (zh) 网络通信中数据发送/接收缓冲区的管理方法
CN1777148A (zh) 一种路由表下一跳ip地址到mac地址解析方法
CN1859312A (zh) 一种ip报文分片重组的方法
CN1271833C (zh) 无需ip重组分发分组的装置和方法
CN1863100A (zh) 一种基于弹性分组环的获取链路评价参数的方法
CN1499751A (zh) 数据发射装置、发射和接收数据的方法及数据通信系统
CN1798015A (zh) 一种网络封包的校验值运算系统及其运算方法
CN1689277A (zh) 无线电接入系统中的移动终端和无线电接入点
CN1205780C (zh) 服务器与网络系统及其接收载荷控制方法

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: 20090422

Termination date: 20101229