CN100583828C - 分片报文处理方法与装置 - Google Patents

分片报文处理方法与装置 Download PDF

Info

Publication number
CN100583828C
CN100583828C CN200710080193A CN200710080193A CN100583828C CN 100583828 C CN100583828 C CN 100583828C CN 200710080193 A CN200710080193 A CN 200710080193A CN 200710080193 A CN200710080193 A CN 200710080193A CN 100583828 C CN100583828 C CN 100583828C
Authority
CN
China
Prior art keywords
message
fragment
fragment message
burst
information
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.)
Expired - Fee Related
Application number
CN200710080193A
Other languages
English (en)
Other versions
CN101018206A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN200710080193A priority Critical patent/CN100583828C/zh
Publication of CN101018206A publication Critical patent/CN101018206A/zh
Application granted granted Critical
Publication of CN100583828C publication Critical patent/CN100583828C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供了一种分片报文处理方法,该方法包括:获取分片报文,若所述报文中携带有端口信息,则创建分片会话表项,包括该分片报文携带的源IP地址、目的IP地址、源端口号、目的端口号的对应关系,并将该分片报文进行转发;并且判断在已保存的包括源IP地址以及目的IP地址的报文信息中,是否有与所述分片会话表项匹配的报文,若有,则获取该分片会话表项中的源端口号及目的端口号,进而将所述已保存的报文进行转发;若所述获取的报文中不携带端口信息,则根据该报文中携带的包括源IP地址、目的IP地址的报文信息,在所述分片会话表中查找到对应的源端口号及目的端口号,进而转发该报文;否则,保存该报文以及所述报文信息。

Description

分片报文处理方法与装置
技术领域
本发明涉及通信技术领域,尤其涉及一种分片报文处理方法与装置。
背景技术
随着通信技术的发展,NGN(Next Generation Network,下一代网络)和网络安全方面的技术已经得到广泛的应用,人们对流转发设备的性能要求也越来越高。
为详细介绍现有技术的内容,首先简单介绍一下流转发设备转发报文的基本原理:
例如:A--------------B[流转发设备]C--------------D
其中A、D为两个终端,B和C分别是流转发设备上的两个端口。其中流转发设备通过端口B与A相连,通过端口C与D相连。
假设终端A需要把报文发送到终端D,则首先把报文发送到流转发设备的接口B。所述流转发设备中维护了一个session表,流转发设备根据所述报文中携带的KEY值五元组(包括源IP地址-A、源端口A、目的IP地址-B、目的端口B以及协议号)在session表中查找到与其对应的转发端口/设备信息(即IP地址C、端口C、目的IP地址D,目的端口D),并修改报文中的源IP地址、源端口、目的IP地址、目的端口分别为IP地址-C、端口C、目的IP地址-D,目的端口D,进而实现报文转发到设备D。
现有的数据传输技术采用了将完整数据分片打包的方法进行发送,进而根据对数据的分片顺序,可将流转发设备待转发的报文分为数据的首分片报文和后续分片报文。在所述首分片报文中携带了所述完整的KEY值,而在到达流转发设备的后续分片报文中通常只携带源IP地址、目的IP、协议号,而不携带端口信息。
在现实的网络中,由于各种隧道的加封装及传输等原因,首分片经常会迟于后续分片到达流转发设备,然而由于后续分片报文中并未携带端口信息,因而无法构成完整的KEY值五元组,因而报文无法被转发到设备D。
为了解决上述问题,现有技术中进一步提出了分片session表的概念。用于维护到达流转发设备时报文的源IP地址(即A设备的IP地址)、目的IP地址(B端口的IP地址)、协议号、分片ID及源端口(A)和目的端口(B);后续分片报文到达时通过查找所述的分片session表获取端口信息。该分片session表项在首分片报文到达流转发设备时创建。
在创建分片session表后,首分片报文会通过报文Key值,即源IP地址-A、目的IP地址-B、协议号、源端口A和目的端口B来查找session表,将首分片报文的中携带的KEY值五元组信息变成:源IP地址-C,源端口C,目的IP地址-D,目的端口D。若查找不到session表,则流转发设备会根据预先设置的所有端口信息创建session表,然后再根据五元组信息查找session表,将首分片要到达的源IP-C、目的IP地址-D、源端口C和目的端口D替换原有的源IP地址-A、目的IP-B、源端口A和目的端口B,继而转发该首分片报文。
后续分片报文到达时,由于后续分片报文中没有端口信息,所以在流转发设备时会通过源IP地址-A、目的IP-B、协议号,分片ID查找分片session表,如果查找到,从分片session表里取出分片所缺的五元组信息,即端口信息;构造完整的五元组后查session表,如果查找到,就转发该后续分片报文,否则丢弃。如果在分片session表中未查找到,就入缓存队列,重新执行报文转发流程。
具体流程请参见图1:
步骤101:接收分片报文;
步骤102:判断接收的报文是否为首分片报文;是则执行步骤103;否则执行步骤108;
步骤103:通过首分片报文创建所述的分片session表,记录首分片报文中携带的源IP地址-A、目的IP地址-B、协议号、分片ID及源端口A和目的端口B;
步骤104:判断流转发设备中是否存在session表,若是,则执行步骤106;若否则执行步骤105;
步骤105:网络设备通过预置的所有源端口信息与目的端口信息创建session表,执行步骤106;
步骤106:依据KEY值五元组信息查找session表,获取与所述KEY值对应的源IP地址-C、目的IP地址-D、源端口C和目的端口D,并修改报文中携带的KEY值;执行步骤107;
步骤107:转发该报文至设备D,跳出本流程;
步骤108:判断是否存在该后续分片报文的分片session,若存在则执行步骤109;若不存在则执行步骤110;
步骤109:查找分片session表,通过后续分片报文中携带的源/目的IP地址查找到保存的源/目的端口信息,进而获取完整的KEY值五元组信息,并执行步骤106;
步骤110:判断该后续分片报文是否第1次到达,若是则执行步骤112;若否则执行步骤111;
步骤111:丢弃该后续分片报文,跳出本流程;
步骤112:将该报文发送至步骤101处,重新开始执行本流程。
现有技术的目的是为了解决首分片和后续分片同时到达流转发设备的情况。如果后续分片报文先到达流转发设备,首分片报文后到达,那么后续分片报文由于查找不到分片session,会重新执行一遍后续分片报文转发流程,即流转发设备会第二次接收该后续分片报文,。但是如果流转发设备第二次接收该后续分片报文时,首分片报文还没有到达流转发设备,则依然无法建立起后续分片报文转发所需的分片session表,那么该后续分片报文就要被丢弃。所以现有流程仅仅只解决了首分片报文和后续分片几乎同时到达的问题,对于首分片报文迟于后续分片报文到达时间较长的情况无法处理,造成后续分片报文的丢弃比较严重,因而对分片乱序报文的转发问题没有得到根本解决。
发明内容
本发明要解决的技术问题是提供一种报文处理方法,能够处理后续分片报文先于首分片报文到达流转发设备,并且对于首分片报文迟于后续分片报文到达时间较长时能够进行较好的处理。
为解决上述技术问题,本发明的目的是通过以下技术方案实现的:
获取分片报文,若所述分片报文中携带有端口信息,则创建分片会话表项(分片session表),包括该分片报文携带的源IP地址、目的IP地址、源端口号、目的端口号的对应关系,并将该分片报文进行转发;并且判断在已保存的包括源IP地址以及目的IP地址的报文信息中,是否有与所述分片会话表项匹配的报文,若有,则获取该分片会话表项中的源端口号及目的端口号,进而将该分片报文进行转发;
若所述获取的分片报文中不携带端口信息,则根据该分片报文中携带的包括源IP地址、目的IP地址的报文信息,在所述分片会话表中查找到对应的源端口号及目的端口号,进而转发该分片报文;否则,保存该分片报文以及所述报文信息。
其中:对于携带有端口信息的分片报文,进一步在所述分片会话表项中保存该分片报文携带的协议号;以及,所述报文信息进一步包括协议号。
其中:对于携带有端口信息的分片报文,进一步在所述分片会话表项中保存该分片报文携带的分片ID;以及,所述报文信息进一步包括分片ID。
其中:根据所述报文信息,若获取的未携带端口信息的分片报文未在分片会话表中查找到对应的源端口号和目的端口号,则进一步判断该分片报文的查找次数是否达到预置的第一门限,若是,则对该分片报文及报文信息进行保存,否则,重新在分片会话表中查找所对应的源端口号和目的端口号。
其中,所述重新在分片会话表中查找所述对应的源端口号和目的端口号之前进一步包括:
解析该分片报文,并重新判断该分片报文是否携带端口信息,若不携带,则执行在所述分片会话表中查找源端口号和目的端口号的步骤。
其中,进一步在判断得到已保存的具有相同报文信息的报文数未达到预置的第二门限时,执行对获取分片报文的保存;否则,将所述获取的分片报文丢弃。
其中,所述的预置的第二门限值为2。
其中,若所述已保存报文数达到预置的第二门限,则进一步将已保存的报文及报文信息删除。
其中,进一步在判断得到已保存的具有相同报文信息的报文数未达到预置的第二门限时,执行对获取分片报文的保存;否则,删除最先保存的报文及报文信息,并执行对该分片报文及报文信息的保存。
其中,若某个已保存的报文的保存时长达到预置的第三门限,则删除该已保存的报文及报文信息。
本发明还提供了一种报文处理装置,该装置包括:接收单元、分片会话表单元、存储单元、判断单元、发送单元;
接收单元,用于获取分片报文;
分片会话表单元,对于携带有端口信息的分片报文,创建保存该分片报文携带的源IP地址、目的IP地址、分片ID、源端口号、目的端口号的对应关系的分片会话表;
存储单元,用于保存分片报文,保存报文信息,包括获取到分片报文携带的源IP地址、目的IP地址以及分片ID;
判断单元,用于判断接收到的分片报文为首分片报文或后续分片报文,若是则通知分片会话表单元创建分片会话表、通知发送单元将该分片报文转发;若否则通过携带的报文信息查找分片会话表,若查找到则获取端口信息,通知发送单元将该分片报文转发;若查找不到则通知存储单元存储该分片报文以及所述的报文信息,直到创建分片会话表后,重新判断该分片报文是否携带端口信息;
发送单元,用于将分片报文发送至目的设备。
其中,所述的判断单元进一步用于:判断接收的后续分片报文查找次数是否达到预置的第一门限,若是则通知存储单元存储该报文及报文信息;否则,重新在分片会话表中查找该报文所对应的源端口号和目的端口号。
其中,所述的判断单元进一步用于判断与接收的分片报文具有相同报文信息的存储单元已经保存的报文的报文数是否未达到预置的第二门限,若是则通知存储单元保存该后续的分片报文,若否则将该后续的分片报文丢弃。
其中,所述的判断单元进一步用于在判断得到已经保存的报文数达到预置的第二门限时,通知将已经保存的报文及报文信息删除。
其中,所述的判断单元进一步用于,判断与接收的分片报文具有相同报文信息的存储单元已经保存的报文的报文数是否未达到预置的第二门限,若否,删除存储单元最先保存的报文及报文信息,并通知存储单元对该接收的分片报文及报文信息的保存。
以上技术方案可以看出,由于本发明实施例在后续分片报文先于首分片报文到达流转发设备的情况下,即后续分片报文无法匹配到分片会话表项时,将所述后续分片报文及该报文的包含源IP、目的IP等报文信息进行保存,使得首分片报文迟于后续分片到达流转发设备的情况下,即使首分片报文迟于后续分片较长时间到达流转发设备,由于对后续分片报文进行了缓存,因而在首分片报文到达时依然能够识别后续分片报文的存在,进而触发后续分片报文在首报文到达时所创建的分片session表项(至少包含源IP地址、目的IP地址、源端口号、目的端口号)获取端口号,进而使得能够依据流转发设备的转发session中维护的端口和地址间的对应关系实现报文的转发,与现有技术的将后续报文进行丢弃的做法相比,本发明提高了数据转发的可靠性和转发效率,尤其是提高了后续报文先于首报文到达流转发设备较长时间情况下的数据转发可靠性和转发效率。
附图说明
图1为现有技术的实现方法流程图;
图2为本发明实施例的实现方法流程图;
图3为本发明实施例装置图。
具体实施方式
本发明实施例主要针对现实网络中,首分片报文迟于后续分片报文到达的情况,提供了流转发设备对报文的转发处理方法。
为解决首分片报文迟于后续分片报文到达时间较长时,后续报文的丢弃比较严重的问题,本发明实施例在session表和分片session表的基础上,进一步提出了分片缓存表的概念。
所述session表维护了第一源IP地址、第一目的IP地址、第一源端口号、第一目的端口号与第二源IP地址、第二目的IP地址、第二源端口号、第二目的端口号的映射关系,进一步还可以包括与协议号的映射,通过查找session实现对报文KEY值的修改,即将第一源IP地址、第一目的IP地址、第一源端口号、第一目的端口号修改为所述的第二源IP地址、第二目的IP地址、第二源端口号、第二目的端口号,进而实现流转发设备对报文的转发。
所述分片session表中保存了首分片报文中携带的第一源IP地址、第一目的IP地址、第一源端口号、第一目的端口号之间的对应关系,甚至还包括所述地址/端口信息与分片ID和/或协议号之间的对应关系,使得后续分片报文通过所携带的第一源IP地址、第一目的IP地址,或进一步的分片ID和/或协议号查找到所述的第一源端口号和第一目的端口号,进而使得可在上述的session表中查找到所述的第二源IP地址、第二目的IP地址、第二源端口号、第二目的端口号,最终实现报文的转发。
所述分片缓存表用于存储后续分片报文的报文信息及存储后续分片报文,使得在首分片报文到达流转发设备并创建所述的分片session表后,可依据报文信息在所述分片缓存表中查找到先于该首分片报文到达的后续分片报文,进而依据分片session表的记载获取端口信息以最终实现报文的转发。所述的报文信息至少包括每一个后续分片报文的源IP地址、目的IP地址,以及还可进一步包括分片报文的分片ID和协议号。当为降低流转发设备的存储容量时,可以在分片缓存表中增加已经存储了后续分片报文数量的内容。
在本发明的实施例中:当首分片报文到达流转发设备时:
创建分片session表项;查找是否存在与首分片报文相同的第一源IP地址、第一目的IP地址,或进一步与首报文所携带的协议号及分片ID相匹配的分片缓存表;
若存在,说明流转发设备中缓存该首分片报文所对应的后续分片报文,进而依据所述分片缓存表中保存的报文信息查找分片session以获得所述的第一源端口号和第一目的端口号,以最终实现报文的转发;
流转发设备根据所述的session表修改首分片报文的KEY值以实现对首分片报文的转发。
在本发明的实施例中,当后续分片报文到达流转发设备时:
查找分片session表;如果没有查找到与后续报文所携带报文信息相匹配的分片session表项,则会通过该后续分片报文的分片ID、源IP地址、目的IP地址等报文信息(或进一步包括协议号)判断是否存在对应该后续分片报文的分片缓存表;若不存在则创建分片缓存表,并将该分片报文的分片ID、源IP地址、目的IP地址等报文信息号保存入分片缓存表中;以及存储该后续分片报文到分片缓存表中,以等待首分片报文到达并创建分片session表后到所述session表中获取端口号,以实现最终的报文转发。
在上述方法实施例基础上,在后续分片执行查找分片session表项的动作执行完成后,可进一步判断查找次数是否到达了预置的门限(第一门限,所述门限值可取2,但本发明并不对所述第一门限的取值进行限制),如果未达到,则重新执行查找分片session表项的动作,或者重新将该后续分片报文置流转发设备接收端。这样做的目的同现有技术相同,为了解决首分片报文与后续分片报文几乎同时到达的问题,因为首分片报文到达后可能还未创建好分片session表,后续分片报文就到达,所以后续分片可能查找不到分片session表,进而通过再次执行对后续分片报文的相关处理或者查找动作使得在再次查找时可获取到首报文刚刚创建的分片session表,进而可获取相关的端口信息。
进一步的,为了降低流转发设备的存储容量时,可以在分片缓存表中增加已经存储了后续分片报文数量的内容。具体的,如果根据该后续分片报文的分片ID、源IP地址、目的IP地址及协议号没有查找到已建立有分片缓存表,则创建分片缓存表,并将该分片报文的所有后续分片报文信息写入缓存表中,并在分片缓存表中设置已经存储后续分片报文的报文信息;如果查找到已建立的分片缓存表,则进一步判断,如果所述分片缓存表中已存储的分片报文数达到了预置的门限(第二门限,所述第二门限值可取2,但本发明并不对所述第二门限的取值进行限定),则将该后续分片报文或/和所述分片缓存表中已保存的后续分片报文进行处理。
所述的处理方式包括:
1)删除缓存表中已保存对应的后续分片报文及对应的报文信息;或者还可进一步删除该后续分片报文及报文信息,以释放缓存表的空间。
2)对已存储的后续分片报文及新到达的后续分片报文的处理方法也可以按照先进先出的原则,将最先存储的后续分片报文及报文信息删除,将最后到达的后续分片报文存储。
存储了后续分片报文后,这些报文就等待首分片报文的到达,创建分片session表,触发根据已保存的后续分片报文的报文信息到首分片报文创建的session表中获取端口信息,以首先最终的报文转发。
为了更详细、具体的说明本发明实施例,参见图2为本发明的一个实施例,每一个分片报文到达流转发设备后,具体操作流程如图2所示:
步骤201:接收分片报文;
步骤202:判断接收到的分片报文是否为首分片报文;若是则执行步骤203;若否则该分片报文为后续分片报文,执行步骤210;所述判断方法包括:依据报文中携带的分片ID判断当前收到的报文为首分片报文或后续分片报文;或者直接判断当前收到的报文中是否携带了端口信息;
步骤203:通过首分片报文创建分片session表,记录首分片报文中携带的报文信息,包括源IP地址、目的IP地址、源端口号和目的端口号,以及进一步包括协议号、分片ID;
步骤204:通过首分片报文携带的报文信息,包括源IP地址、目的IP地址,以及进一步包括分片ID及协议号查找分片缓存表;若查找到与首分片报文的报文信息相匹配的分片缓存表项,说明流转发设备中缓存有后续分片报文,则执行步骤205、步骤206;若未找到匹配的表项,则说明流转发设备中没有缓存后续分片,则执行步骤206;
所述分片缓存表是根据后续分片报文创建的,该表中存储有后续分片报文中携带的源IP地址、目的IP地址、以及可进一步包括分片ID和协议号;
步骤205:将所述缓存的后续分片报文发送至流转发设备接收端,执行步骤201;
步骤206:判断流转发设备中是否有session表,若有则执行步骤208;若没有则执行步骤207;所述的session表中存储有用于实现报文转发的第一源IP地址、第一目的IP地址、第一源端口号和第一目的端口号与第二源IP地址、第二目的IP地址、第二源端口号和第二目的端口号的对应关系;
步骤207:流转发设备根据预置的所有端口信息创建session表,执行步骤208;
步骤208:依据报文中携带的KEY值五元组信息查找session表,获取所述的第二源IP地址、第二目的IP地址、第二源端口号和第二目的端口号,进而修改报文中携带的第一源IP地址、第一目的IP地址、第一源端口号和第一目的端口号信息更改为所述的第二源IP地址、第二目的IP地址、第二源端口号和第二目的端口号,执行步骤209;
步骤209:依据修改后的地址信息和端口号将该报文转发;
步骤210:通过后续分片携带的报文信息(包括源IP地址、目的IP地址,或/和进一步携带的协议号、分片ID)判断是否存在与所述报文信息匹配的分片session表项;若存在则执行步骤217;若不存在则执行步骤211;
步骤211:判断根据该后续分片报文的报文信息查找分片session表的执行次数是否已经达到了预置的门限(本实施例取值为2,但本发明不对该门限的取值进行限制),若达到则执行步骤212;否则执行步骤205;
步骤212:通过后续报文携带的报文信息判断是否存在与报文信息相匹配的分片缓存表;若存在则执行步骤214;若不存在则执行步骤213;
步骤213:创建分片缓存表,将该报文所有后续分片报文的报文信息写入该分片缓存表中;并记录已保存在所述分片缓存表中的报文数;本实施例将所述的数量控制在两个,超过两个后将会进行相应的处理;
步骤214:读取分片缓存表的内容,判断分片缓存表中已保存的后续分片报文数量是否达到预置的门限,(如上文所述,本实施例中取值为2),若否则执行步骤215;若是则执行步骤216;
步骤215:将新到达的后续分片报文信息写入分片缓存表中,并更新已保存的报文数,即本实施例中将已经到达后续分片报文数更改为2;
步骤216:删除后续分片缓存表,并将后续分片缓存表中对应的已经缓存的两个后续分片报文删除,释放缓存;并将该新到达的后续分片报文丢弃。
本发明实施例对以上所述的分片缓存表中后续分片报文到达数量是否为2的限值并不限制,该数值为本发明实施例的优选数值。
或者步骤216的另外一个处理方法为:按照先进先出原则,将先保存的后续分片报文及其报文信息删除;保存最后进入的后续分片报文及报文信息。
步骤217:查找分片session表,通过后续分片报文中携带的报文信息查找到所述的第一源/目的端口信息,进而获取完整的五元组信息:第一源IP地址、第一目的IP地址、协议号、分片ID及第一源端口号和第一目的端口,执行步骤208。
如果在缓存了后续分片报文后,长时间首分片报文都不到达,会占用流转发设备过多的缓存资源,因此本发明实施例还采用了对分片缓存表定时清理的方法。
采用该方法需要在创建分片缓存表的时候建立时间戳。该方法大致如下:流转发设备会在硬件上采用定时器,定时对分片缓存表进行检查。到一定的时间就读取分片缓存表的内容,判断时间戳,如果当前时间戳大于创建分片缓存表时建立的时间戳,那么则将该分片缓存表删除,同时将缓存的分片缓存表中存储的后续分片报文删除,释放缓存报文的空间。此方法的目的是为了减轻流转发设备的缓存压力。
在首分片报文到达流转发设备后,对首分片报文的转发以及对是否存在已保存的后续分片报文的判断及相应处理是首先本发明实施例所需的两个动作,因而本发明并不对首分片报文的转发动作与建立分片session表的动作的顺序进行限制,即在图2所示的实施例中,步骤204与步骤206之间的顺序不进行限定。
进一步的,上述实施例中在步骤211判断得到根据该后续分片报文的报文信息查找分片session表的执行次数已经达到了预置的门限时,本发明的另一种实现方法中,也可不跳转执行步骤205,而是执行步骤210,重新对分片session表进行查询。
本发明实施例还提供了一种报文处理装置,该装置包括:
该装置包括:接收单元301、分片会话表单元302、存储单元303、判断单元304、发送单元305;
接收单元301,用于获取报文;
分片会话表单元302,对于携带有端口信息的报文,创建保存该报文携带的源IP地址、目的IP地址、分片ID、源端口号、目的端口号的对应关系的分片会话表;
存储单元303,用于保存分片报文,保存报文信息,包括获取到报文携带的源IP地址、目的IP地址以及分片ID;
判断单元304,用于判断接收到的报文为首分片报文或后续分片报文,若是则通知分片会话表单元创建分片会话表、通知发送单元将该分片报文转发;若否则通过携带的报文信息查找分片会话表,若查找到则获取端口信息,通知发送单元将该报文转发;若查找不到则通知存储单元存储该报文以及所述的报文信息,直到创建分片会话表后,重新判断该分片报文是否携带端口信息;
发送单元305,用于将分片报文发送至目的设备。
在上述实施例结构基础上,所述的判断单元304进一步用于:判断接收的后续分片报文查找次数是否达到预置的第一门限,若是则通知存储单元存储该报文及报文信息;否则,重新在分片会话表中查找该报文所对应的源端口号和目的端口号。
在上述实施例结构基础上,所述的判断单元304进一步用于判断接收的分片报文是否与存储单元已经保存的具有相同报文信息的报文数未达到预置的第二门限,若是则通知存储单元保存该分片报文,若否则将该分片报文丢弃。
在上述实施例结构基础上,所述的判断单元304进一步用于在判断得到已经保存的报文数达到预置的第二门限时,通知将已经保存的报文及报文信息删除。
在上述实施例结构基础上,所述的判断单元304进一步用于,在判断接收的分片报文是否与存储单元已经保存的具有相同报文信息的报文数未达到预置的第二门限,若是,删除存储单元最先保存的报文及报文信息,并通知存储单元对该报文及报文信息的保存。
以上对本发明所提供的一种分片报文处理方法与装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (15)

1、一种分片报文处理方法,其特征在于,该方法包括:
获取分片报文,若所述分片报文中携带有端口信息,则创建分片会话表项,包括该分片报文携带的源IP地址、目的IP地址、源端口号、目的端口号的对应关系,并将该分片报文进行转发;并且判断在已保存的包括源IP地址以及目的IP地址的分片报文的报文信息中,是否有与所述分片会话表项匹配的分片报文,若有,则获取该分片会话表项中的源端口号及目的端口号,进而将该分片报文进行转发;
若所述获取的分片报文中不携带端口信息,则根据该分片报文中携带的包括源IP地址、目的IP地址的报文信息,在所述分片会话表中查找到对应的源端口号及目的端口号,进而转发该分片报文;若在所述分片会话表中查找不到对应的源端口号及目的端口号,则保存该分片报文以及该分片报文的报文信息。
2、根据权利要求1所述的分片报文处理方法,其特征在于:
对于携带有端口信息的分片报文,进一步在所述分片会话表项中保存该分片报文携带的协议号;以及,
所述报文信息进一步包括协议号。
3、根据权利要求1或2所述的分片报文处理方法,其特征在于:
对于携带有端口信息的分片报文,进一步在所述分片会话表项中保存该分片报文携带的分片ID;以及,
所述报文信息进一步包括分片ID。
4、根据权利要求2所述的分片报文处理方法,其特征在于:
根据所述报文信息,若获取的未携带端口信息的分片报文未在分片会话表中查找到对应的源端口号和目的端口号,则进一步判断该分片报文的查找次数是否达到预置的第一门限,若是,则对该分片报文及报文信息进行保存,否则,重新在分片会话表中查找所对应的源端口号和目的端口号。
5、根据权利要求4所述的分片报文处理方法,其特征在于,所述重新在分片会话表中查找所述对应的源端口号和目的端口号之前进一步包括:
解析该分片报文,并重新判断该分片报文是否携带端口信息,若不携带,则执行在所述分片会话表中查找源端口号和目的端口号的步骤。
6、根据权利要求4所述的分片报文处理方法,其特征在于,
进一步在判断得到已保存的具有相同报文信息的报文数未达到预置的第二门限时,执行对获取分片报文的保存;否则,将所述获取的分片报文丢弃。
7、根据权利要求6所述的分片报文处理方法,其特征在于,所述的预置的第二门限值为2。
8、根据权利要求6所述的分片报文处理方法,其特征在于,
若已保存报文数达到预置的第二门限,则进一步将已保存的报文及报文信息删除。
9、根据权利要求5所述的分片报文处理方法,其特征在于,
进一步在判断得到已保存的具有相同报文信息的报文数未达到预置的第二门限时,执行对获取分片报文的保存;否则,删除最先保存的报文及报文信息,并执行对该获取分片报文及报文信息的保存。
10、根据权利要求5所述的分片报文处理方法,其特征在于,
若某个已保存的报文的保存时长达到预置的第三门限,则删除该已保存的报文及报文信息。
11、一种分片报文处理装置,其特征在于,该装置包括:接收单元、分片会话表单元、存储单元、判断单元、发送单元;
接收单元,用于获取分片报文;
分片会话表单元,对于携带有端口信息的分片报文,创建保存该分片报文携带的源IP地址、目的IP地址、分片ID、源端口号、目的端口号的对应关系的分片会话表;
存储单元,用于保存分片报文,保存报文信息,包括获取到分片报文携带的源IP地址、目的IP地址以及分片ID;
判断单元,用于判断接收到的分片报文为首分片报文或后续分片报文,若为首分片报文则通知分片会话表单元创建分片会话表、通知发送单元将该分片报文转发;若为后续分片报文则通过携带的报文信息查找分片会话表,若查找到则获取端口信息,通知发送单元将该分片报文转发;若查找不到则通知存储单元存储该分片报文以及报文信息,直到创建分片会话表后,重新判断该分片报文是否携带端口信息;
发送单元,用于将分片报文发送至目的设备。
12、根据权利要求11所述的分片报文处理装置,其特征在于,所述的判断单元进一步用于:判断接收的后续分片报文查找次数是否达到预置的第一门限,若是则通知存储单元存储该后续的分片报文及报文信息;否则,重新在分片会话表中查找该后续的分片报文所对应的源端口号和目的端口号。
13、根据权利要求12所述的分片报文处理装置,其特征在于,所述的判断单元进一步用于判断与接收的分片报文具有相同报文信息的存储单元已经保存的报文的报文数是否未达到预置的第二门限,若是则通知存储单元保存该分片报文,若否则将该分片报文丢弃。
14、根据权利要求13所述的分片报文处理装置,其特征在于,所述的判断单元进一步用于在判断得到已经保存的报文数达到预置的第二门限时,通知将已经保存的报文及报文信息删除。
15、根据权利要求12所述的分片报文处理装置,其特征在于,所述的判断单元进一步用于,判断与接收的分片报文具有相同报文信息的存储单元已经保存的报文的报文数是否未达到预置的第二门限,若否,删除存储单元最先保存的报文及报文信息,并通知存储单元对该接收的分片报文及报文信息的保存。
CN200710080193A 2007-02-14 2007-02-14 分片报文处理方法与装置 Expired - Fee Related CN100583828C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200710080193A CN100583828C (zh) 2007-02-14 2007-02-14 分片报文处理方法与装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200710080193A CN100583828C (zh) 2007-02-14 2007-02-14 分片报文处理方法与装置

Publications (2)

Publication Number Publication Date
CN101018206A CN101018206A (zh) 2007-08-15
CN100583828C true CN100583828C (zh) 2010-01-20

Family

ID=38726967

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200710080193A Expired - Fee Related CN100583828C (zh) 2007-02-14 2007-02-14 分片报文处理方法与装置

Country Status (1)

Country Link
CN (1) CN100583828C (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101651610A (zh) * 2008-08-13 2010-02-17 华为技术有限公司 在网络中传输报文的方法、装置和接收报文的方法、装置
CN101447928B (zh) * 2008-12-31 2011-09-14 华为技术有限公司 分片信息处理的方法和装置
CN102255932B (zh) * 2010-05-20 2015-09-09 百度在线网络技术(北京)有限公司 负载均衡方法和负载均衡器
CN102025631B (zh) * 2010-12-15 2017-03-29 中兴通讯股份有限公司 一种动态调整出端口缓存的方法及交换机
CN104396196A (zh) * 2013-06-26 2015-03-04 华为技术有限公司 数据报文处理方法、数据报文处理装置及系统
CN104579948A (zh) * 2013-10-29 2015-04-29 国家计算机网络与信息安全管理中心 一种报文分片处理方法及装置
CN103634228A (zh) * 2013-11-25 2014-03-12 华为技术有限公司 一种网络报文的传送方法和设备
CN108243115B (zh) * 2016-12-26 2021-06-29 新华三技术有限公司 报文处理方法及装置
CN110198315B (zh) * 2019-05-30 2022-02-25 新华三信息安全技术有限公司 一种报文处理的方法及装置
CN110351208A (zh) * 2019-07-03 2019-10-18 天津华云软件有限公司 一种报文转发方法、装置、设备及计算机可读存储介质
CN111193941B (zh) * 2020-01-07 2021-09-17 北京东土科技股份有限公司 一种媒体数据的传输方法、装置、设备及存储介质
CN111355672A (zh) * 2020-03-02 2020-06-30 杭州迪普信息技术有限公司 一种报文转发的方法及装置
CN112104761A (zh) * 2020-08-20 2020-12-18 广东网堤信息安全技术有限公司 一种nat地址转换的方法
CN112511516B (zh) * 2020-11-20 2022-07-01 杭州迪普科技股份有限公司 一种防护攻击的方法及装置
CN115065735A (zh) * 2022-03-08 2022-09-16 阿里巴巴(中国)有限公司 报文处理方法及电子设备
CN116055586B (zh) * 2022-08-15 2023-09-01 荣耀终端有限公司 分片报文的匹配方法、路由器及存储介质

Also Published As

Publication number Publication date
CN101018206A (zh) 2007-08-15

Similar Documents

Publication Publication Date Title
CN100583828C (zh) 分片报文处理方法与装置
US7212529B2 (en) System for retrieving destination of a packet with plural headers
CN102480462A (zh) 通用协议适配方法及装置
US6765889B1 (en) Communication method and system
CN101667976B (zh) 一种邮件推送方式确定方法、推送方法及装置
CN102027461A (zh) 扩展的消息收发平台
CN111385269B (zh) 数据传输方法和装置
CN101534483B (zh) 一种实现多媒体消息断点发送的方法及系统
KR101092478B1 (ko) 이종 링크 상에서의 패킷 전송 방법 및 그 시스템
CN101110772B (zh) 一种处理报文的设备和方法
CN100359891C (zh) 一种通过缓存提高多媒体消息中心业务处理性能的方法
CN101771686B (zh) 一种通信方法和网络适配器
EP2178270B1 (en) Methods and apparatuses for using a cache of outgoing packet identifiers to recover from a protocol error in GTP-u
CN101548514B (zh) 在一个移动无线电系统中交换消息的方法和设备
CN101827068B (zh) 一种业务场景还原方法与装置
CN101447926A (zh) 基于点对点的数据传输系统及方法
CN100550844C (zh) 还原重定向报文特征信息的方法
CN114449051B (zh) 一种数据包的传输方法以及通信设备
US7415025B1 (en) Method and apparatus for clearing a large number of connections in an ATM network
CN100502391C (zh) 一种分片报文的重组方法
CN109450810A (zh) 识别冗余消息的方法及装置
CN103944875A (zh) 数据交换方法及数据交换系统
CN106470156B (zh) 一种转发报文的方法和装置
CN101282201B (zh) 一种通讯设备中消息监控的方法和设备
CN103188289A (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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100120

Termination date: 20170214

CF01 Termination of patent right due to non-payment of annual fee