CN106921589A - 一种ip数据包的处理方法和装置 - Google Patents
一种ip数据包的处理方法和装置 Download PDFInfo
- Publication number
- CN106921589A CN106921589A CN201511005543.3A CN201511005543A CN106921589A CN 106921589 A CN106921589 A CN 106921589A CN 201511005543 A CN201511005543 A CN 201511005543A CN 106921589 A CN106921589 A CN 106921589A
- Authority
- CN
- China
- Prior art keywords
- packets
- port information
- burst
- headers
- type
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
Abstract
本发明提供一种IP数据包的处理方法和装置,该方法包括:接收经过分片处理的IP数据包,并确定所述IP数据包的业务类型;当所述业务类型为依赖端口信息进行业务处理的业务类型时,判断所述IP数据包是否为首数据包;如果是,则建立分片转发表项,并在所述分片转发表项中记录所述IP数据包的IP头信息和端口信息,利用所述端口信息对所述IP数据包进行业务处理;如果否,则将所述IP数据包的IP头信息对应的分片转发表项中记录的端口信息,与所述IP数据包进行对应,并利用所述端口信息对所述IP数据包进行业务处理。通过本发明的技术方案,不需要对所有IP数据包进行重组,减少IP数据包的缓存,提升系统整体处理效率和转发效率。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种IP数据包的处理方法和装置。
背景技术
MTU(Maximum Transmission Unit,最大传输单元)是一条链路上能够传输的IP数据包的最大值。在IP数据包的传输过程中,需要根据MTU对IP数据包进行合理的分片,以确保IP数据包能够在链路上进行传输。
如图1所示,针对包含IP头和IP数据的IP数据包,如果该IP数据包的长度大于MTU,则将该IP数据包中的IP数据拆分成IP数据1和IP数据2,并将IP数据包分成IP数据包1和IP数据包2,IP数据包1中包括IP头和IP数据1,IP数据包2中包括IP头和IP数据2。IP数据包1的长度不大于MTU,且IP数据包2的长度不大于MTU。IP数据包1的IP头与IP数据包2的IP头相同,均为IP数据包中的IP头。其中,将拆分后的第一个IP数据包(即IP数据包1)称为IP数据包的首数据包,将第一个IP数据包之外的其它IP数据包(即IP数据包2)称为IP数据包的后续数据包。
发明内容
本发明提供一种IP数据包的处理方法,所述方法包括以下步骤:
接收经过分片处理的IP数据包,并确定所述IP数据包的业务类型;
当所述业务类型为依赖端口信息进行业务处理的业务类型时,判断所述IP数据包是否为首数据包;
如果是,则建立分片转发表项,并在所述分片转发表项中记录所述IP数据包的IP头信息和端口信息,利用所述端口信息对所述IP数据包进行业务处理;
如果否,则将所述IP数据包的IP头信息对应的分片转发表项中记录的端口信息,与所述IP数据包进行对应,并利用所述端口信息对所述IP数据包进行业务处理。
本发明提供一种IP数据包的处理装置,所述装置具体包括:
确定模块,用于接收经过分片处理的IP数据包,并确定所述IP数据包的业务类型;
判断模块,用于当所述业务类型为依赖端口信息进行业务处理的业务类型时,判断所述IP数据包是否为首数据包;
处理模块,用于当判断结果为是时,则建立分片转发表项,并在所述分片转发表项中记录所述IP数据包的IP头信息和端口信息,并利用所述端口信息对所述IP数据包进行业务处理;当判断结果为否时,则将所述IP数据包的IP头信息对应的分片转发表项中记录的端口信息,与所述IP数据包进行对应,并利用所述端口信息对所述IP数据包进行业务处理。
基于上述技术方案,本发明实施例中,在接收到分片处理的IP数据包后,可以区分IP数据包的业务类型,针对依赖端口信息进行业务处理的业务类型,可以先等待首数据包,并基于首数据包的端口信息,将该端口信息与后续数据包进行对应,使得能够获得分片处理的所有IP数据包的端口信息,继而利用端口信息对各IP数据包进行业务处理。在满足业务处理需求的同时,不需要对所有IP数据包进行重组,尽可能减少IP数据包的缓存,提升系统整体处理效率和转发效率。
附图说明
图1是根据MTU对IP数据包进行合理的分片的示意图;
图2是本发明一种实施方式中的应用场景示意图;
图3是本发明一种实施方式中的IP数据包的处理方法的流程图;
图4是本发明另一种实施方式中的IP数据包的处理方法的流程图;
图5是本发明一种实施方式中的网络设备的硬件结构图;
图6是本发明一种实施方式中的IP数据包的处理装置的结构图。
具体实施方式
针对现有技术中存在的问题,本发明实施例中提出一种IP数据包的处理方法,该方法可以应用在源设备与目的设备之间的网络设备上。以图2为本发明实施例的应用场景示意图,该方法可以应用在网络设备1或者网络设备2上,以应用在网络设备2为例。在源设备发送IP数据包时,可以根据MTU对IP数据包进行合理的分片,以确保IP数据包能够传输到目的设备。以图1为例,源设备将IP数据包分成IP数据包1和IP数据包2,网络设备1分别收到IP数据包1和IP数据包2,并分别将IP数据包1和IP数据包2发送给网络设备2,以网络设备2接收到IP数据包1和IP数据包2的处理为例。在上述应用场景下,如图3所示,该IP数据包的处理方法包括以下步骤:
步骤301,接收经过分片处理的IP数据包,确定IP数据包的业务类型。
步骤302,当业务类型为依赖端口信息进行业务处理的业务类型时,判断该IP数据包是否为首数据包。如果是,执行步骤303;如果否,执行步骤304。
其中,IP数据包中还可以包含分片标记、分片偏移量等信息。分片标记表示当前IP数据包是经过分片处理的IP数据包。分片偏移量表示当前IP数据包是首数据包、或者第二个IP数据包、…、或者最后一个IP数据包等。基于分片偏移量,可以判断当前IP数据包是否为首数据包。
例如,首数据包的分片偏移量为0,如果首数据包的长度为100,则第二个IP数据包的分片偏移量为101,如果第二个IP数据包的长度为100,则第三个IP数据包的分片偏移量为201,以此类推。基于此,如果当前收到的IP数据包的分片偏移量是0,则确定当前IP数据包是首数据包,如果当前收到的IP数据包的分片偏移量不是0,则确定当前IP数据包不是首数据包。
网络设备2在接收到IP数据包1时,确定IP数据包1是首数据包。网络设备2在接收到IP数据包2时,确定IP数据包2不是首数据包。IP数据包1包括IP头和IP数据1,IP数据包2中包括IP头和IP数据2,IP数据包1的IP头与IP数据包2的IP头相同,均为IP数据包中的IP头。在实际应用中,未经分片处理的初始IP数据包(即图1所示的IP数据包)包含IP头和IP数据,IP头中包括IP头信息,而紧跟着IP头的IP数据部分会包含端口信息。基于此,经过分片处理的IP数据包1中,在紧跟着IP头的IP数据1部分会包含端口信息。
本发明实施例中,IP头信息具体可以包括但不限于以下之一或者任意组合:序列号、源IP地址、目的IP地址、协议标识。端口信息具体可以包括但不限于以下之一或者任意组合:目的端口标识和/或源端口标识。
其中,依赖端口信息进行业务处理的业务类型可以为NAT(NetworkAddress Translation,网络地址转换)业务,包过滤业务等。网络设备2在进行业务处理时,可以根据IP头信息和端口信息进行业务处理。例如,针对NAT业务,网络设备2可以基于源IP地址和源端口标识查询NAT映射表,并将源IP地址和源端口标识修改为NAT映射表中记录的IP地址和端口标识,该NAT业务的处理过程不再详加赘述。针对包过滤业务,网络设备2可以基于源IP地址、目的IP地址、源端口标识、目的端口标识查询过滤表,以确定是否丢弃IP数据包,该包过滤业务的处理过程不再详加赘述。
步骤303,建立分片转发表项,并在该分片转发表项中记录IP数据包的IP头信息和端口信息,并利用端口信息对该IP数据包进行业务处理。
步骤304,将IP数据包的IP头信息对应的分片转发表项中记录的端口信息,与该IP数据包进行对应,并利用该端口信息对IP数据包进行业务处理。
针对步骤303,网络设备2在接收到IP数据包1时,建立分片转发表项,并在该分片转发表项中记录IP数据包1中包括IP头信息和端口信息。此外,由于IP数据包1中已经包括端口信息,因此,网络设备2可以直接利用端口信息对IP数据包1进行NAT业务处理、包过滤业务处理等过程。
针对步骤304,网络设备2在接收到IP数据包2时,由于IP数据包2中不包含端口信息,因此,网络设备2无法直接利用端口信息对IP数据包2进行NAT业务处理、包过滤业务处理等过程。基于此,网络设备2先使用IP数据包2的IP头信息对应的分片转发表项(即包含IP数据包1中的IP头信息和端口信息的分片转发表项),找到对应的端口信息(即IP数据包1中的端口信息),并将该端口信息与该IP数据包2进行对应,并利用该端口信息对IP数据包2进行业务处理。
本发明实施例中,针对步骤304,将IP数据包的IP头信息对应的分片转发表项中记录的端口信息,与该IP数据包进行对应的过程,具体可以包括但不限于如下方式:利用该IP数据包的IP头信息查询分片转发表项。如果分片转发表项中已经存在该IP头信息对应的端口信息,则直接将该端口信息与该IP数据包进行对应。如果分片转发表项中不存在该IP头信息对应的端口信息,则先缓存该IP数据包,并等到分片转发表项中已经存在IP头信息对应的端口信息之后,则将该端口信息与缓存的IP数据包进行对应。
本发明实施例中,将端口信息与该IP数据包进行对应的过程,具体可以包括但不限于如下方式:方式一、在本地的数据结构中记录端口信息与该IP数据包之间的对应关系。或者,方式二、将端口信息添加到该IP数据包对应的内存区域中。
为了方便描述,后续以方式二为例进行说明。针对方式二,在实际应用中,针对每个收到的IP数据包,网络设备会在内存中划分出该IP数据包对应的内存区域,在此基础上,本发明实施例中,可以将端口信息添加到IP数据包对应的内存区域中,而在对IP数据包进行业务处理时,可以直接从该内存区域中得到该IP数据包对应的端口信息,继而利用该端口信息对IP数据包进行业务处理。
假设网络设备2先接收到IP数据包1,后接收到IP数据包2。在接收到IP数据包2时,由于已经基于IP数据包1建立了分片转发表项,因此,可以查询到IP数据包2的IP头信息对应的分片转发表项,并将该分片转发表项中记录的端口信息添加到IP数据包2对应的内存区域,之后对IP数据包2进行业务处理。
假设网络设备2先接收到IP数据包2,后接收到IP数据包1。在接收到IP数据包2时,由于当前还没有基于IP数据包1建立分片转发表项,因此,无法在IP数据包2对应的内存区域中添加端口信息,先缓存IP数据包2。在接收到IP数据包1,并基于IP数据包1建立分片转发表项之后,则可以查询到IP数据包2的IP头信息对应的分片转发表项,因此,可以将该分片转发表项中记录的端口信息添加到IP数据包2对应的内存区域,之后对IP数据包1和IP数据包2进行业务处理。
针对步骤303,网络设备2在对IP数据包1进行业务处理后,可以直接将IP数据包1发送给目的设备。针对步骤304,网络设备2在对IP数据包2进行业务处理后,可以直接将IP数据包2发送给目的设备。
基于上述技术方案,本发明实施例中,在接收到分片处理的IP数据包后,可以区分IP数据包的业务类型,针对依赖端口信息进行业务处理的业务类型,可以先等待首数据包,并基于首数据包的端口信息,将该端口信息与后续数据包进行对应,使得能够获得分片处理的所有IP数据包的端口信息,继而利用端口信息对各IP数据包进行业务处理。在满足业务处理需求的同时,不需要对所有IP数据包进行重组,尽可能减少IP数据包的缓存,提升系统整体处理效率和转发效率。
以下结合图4所示的流程图对上述IP数据包的处理方法进行详细说明。
步骤401,接收经过分片处理的IP数据包,确定IP数据包的业务类型。当业务类型为依赖端口信息进行业务处理的业务类型时,则执行步骤402;当业务类型为依赖内容信息进行业务处理的业务类型时,则执行步骤405;当业务类型为不用进行业务处理的业务类型时,则执行步骤408。
其中,依赖端口信息进行业务处理的业务类型,可以如NAT业务,包过滤业务等。依赖内容信息(如TCP(Transmission Control Protocol,传输控制协议)端口、HTTP(Hyper Text Transfer Protocol,超文本传输协议)内容等)进行业务处理的业务类型,可以如DPI(Deep Packet Inspection,深度包检测)业务等。不用进行业务处理的业务类型,即IP数据包可以直接进行转发。
其中,当网络设备上没有配置依赖端口信息进行业务处理的业务类型的业务,且没有配置依赖内容信息进行业务处理的业务类型的业务时,则可以认为是不用进行业务处理的业务类型,即IP数据包直接转发。
在实际应用中,假设IP数据包的业务类型同时为多个,则可以按照各业务类型的优先级选择IP数据包的业务类型。例如,当业务类型的优先级为:依赖内容信息进行业务处理的业务类型大于依赖端口信息进行业务处理的业务类型,且依赖端口信息进行业务处理的业务类型大于不用进行业务处理的业务类型时,当IP数据包的业务类型同时为依赖内容信息进行业务处理的业务类型和依赖端口信息进行业务处理的业务类型时,如对IP数据包进行NAT业务和DPI业务,则选择IP数据包的业务类型为依赖内容信息进行业务处理的业务类型。
步骤402,当业务类型为依赖端口信息进行业务处理的业务类型时,判断该IP数据包是否为首数据包。如果是,执行步骤403;如果否,执行步骤404。
其中,IP数据包中还可以包含分片标记、分片偏移量等信息。分片标记表示当前IP数据包是经过分片处理的IP数据包。分片偏移量表示当前IP数据包是首数据包、或者第二个IP数据包、…、或者最后一个IP数据包等。基于分片偏移量,可以判断当前IP数据包是否为首数据包。
例如,首数据包的分片偏移量为0,如果首数据包的长度为100,则第二个IP数据包的分片偏移量为101,如果第二个IP数据包的长度为100,则第三个IP数据包的分片偏移量为201,以此类推。基于此,如果当前收到的IP数据包的分片偏移量是0,则确定当前IP数据包是首数据包,如果当前收到的IP数据包的分片偏移量不是0,则确定当前IP数据包不是首数据包。
步骤403,建立分片转发表项,并在该分片转发表项中记录IP数据包的IP头信息和端口信息,并利用端口信息对该IP数据包进行业务处理。
步骤404,将IP数据包的IP头信息对应的分片转发表项中记录的端口信息,与该IP数据包进行对应,并利用该端口信息对IP数据包进行业务处理。
本发明实施例中,IP头信息具体可以包括但不限于以下之一或者任意组合:序列号、源IP地址、目的IP地址、协议标识。端口信息具体可以包括但不限于以下之一或者任意组合:目的端口标识和/或源端口标识。
本发明实施例中,针对步骤404,将IP数据包的IP头信息对应的分片转发表项中记录的端口信息,与该IP数据包进行对应的过程,具体可以包括但不限于如下方式:利用该IP数据包的IP头信息查询分片转发表项。如果分片转发表项中已经存在该IP头信息对应的端口信息,则直接将该端口信息与该IP数据包进行对应。如果分片转发表项中不存在该IP头信息对应的端口信息,则先缓存该IP数据包,并等到分片转发表项中已经存在IP头信息对应的端口信息之后,则将该端口信息与缓存的IP数据包进行对应。
本发明实施例中,将端口信息与该IP数据包进行对应的过程,具体可以包括但不限于如下方式:方式一、在本地的数据结构中记录端口信息与该IP数据包之间的对应关系。或者,方式二、将端口信息添加到该IP数据包对应的内存区域中。
为了方便描述,后续以方式二为例进行说明。针对方式二,在实际应用中,针对每个收到的IP数据包,网络设备会在内存中划分出该IP数据包对应的内存区域,在此基础上,本发明实施例中,可以将端口信息添加到IP数据包对应的内存区域中,而在对IP数据包进行业务处理时,可以直接从该内存区域中得到该IP数据包对应的端口信息,继而利用该端口信息对IP数据包进行业务处理。
步骤402-步骤404的处理与步骤302-步骤304的处理类似,在此不再赘述。
基于步骤402-步骤404的技术方案,在接收到分片处理的IP数据包后,可以区分IP数据包的业务类型,针对依赖端口信息进行业务处理的业务类型,可以先等待首数据包,并基于首数据包的端口信息,将该端口信息与后续数据包进行对应,使得能够获得分片处理的所有IP数据包的端口信息,继而利用端口信息对各IP数据包进行业务处理。在满足业务处理需求的同时,不需要对所有IP数据包进行重组,尽可能减少IP数据包的缓存,提升系统整体处理效率和转发效率,尽可能快的转发IP数据包,缩短了时延。
步骤405,当业务类型为依赖内容信息进行业务处理的业务类型时,判断当前是否已存在IP数据包对应的所有分片IP数据包;如果否,执行步骤406;如果是,执行步骤407。
在实际应用中,每个IP数据包中均会携带分片偏移量,且最后一个IP数据包中还会携带最后数据包的标记。基于各IP数据包的分片偏移量以及最后数据包的标记,可以判断出当前是否已存在所有分片IP数据包。
例如,假设已经收到携带最后数据包的标记的IP数据包,该IP数据包的分片偏移量为301,如果当前已经收到分片偏移量为0,数据包的长度为100的IP数据包,分片偏移量为101,数据包的长度为100的IP数据包,分片偏移量为201,数据包的长度为100的IP数据包,则这4个IP数据包正好组成一个完整的IP数据包,因此,判断出当前已存在所有分片IP数据包。
步骤406,缓存IP数据包,继续接收其它分片IP数据包。
步骤407,对IP数据包对应的所有分片IP数据包进行重组,并对重组后的IP数据包进行业务处理。
例如,网络设备2在先接收到IP数据包1时,由于还没有接收到IP数据包2,因此当前没有存在IP数据包1对应的所有分片IP数据包,缓存IP数据包1。网络设备2在接收到IP数据包2时,由于已经接收到IP数据包1,因此当前已经存在IP数据包2对应的所有分片IP数据包,对所有分片IP数据包(IP数据包1和IP数据包2)进行重组,得到重组后的IP数据包(即图1中的IP数据包),并对重组后的IP数据包进行业务处理。
其中,针对依赖内容信息进行业务处理的业务类型,例如,DPI业务,网络设备2在接收到IP数据包1或者IP数据包2时,由于IP数据包1或者IP数据包2均只包含部分IP数据,因此无法单独基于IP数据包1或者IP数据包2进行业务处理。在此基础上,需要将IP数据包1和IP数据包2重组成未经分片处理的IP数据包,并对重组后的IP数据包进行业务处理。
其中,在对IP数据包1和IP数据包2进行重组的过程中,可以根据IP数据包1中包含的源IP地址、目的IP地址、协议标识、分片标记、分片偏移量,IP数据包2中包含的源IP地址、目的IP地址、协议标识、分片标记、分片偏移量等信息,将对IP数据包1和IP数据包2进行重组后生成的IP数据包与未经分片处理的IP数据包内容相同。
针对步骤407,网络设备2在对重组后的IP数据包进行业务处理后,可以直接将重组后的IP数据包发送给目的设备,或者,网络设备2也可以根据MTU对重组后的IP数据包进行合理的分片,将重组后的IP数据包分成IP数据包1和IP数据包2,并分别将IP数据包1和IP数据包2发送给目的设备。
步骤408,当业务类型为不用进行业务处理的业务类型时,则利用IP数据包的IP头信息转发IP数据包。其中,该IP头信息具体可以包括但不限于以下之一或者任意组合:序列号、源IP地址、目的IP地址、协议标识。
例如,网络设备2在接收到IP数据包1之后,可以利用IP数据包1中携带的序列号、源IP地址、目的IP地址、协议标识,将IP数据包1发送给目的设备。网络设备2在接收到IP数据包2之后,可以利用IP数据包2中携带的源IP地址、目的IP地址、协议标识,将IP数据包2发送给目的设备。
基于与上述方法同样的发明构思,本发明实施例中还提供了一种IP数据包的处理装置,该IP数据包的处理装置可以应用在网络设备上。其中,该IP数据包的处理装置可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在的网络设备的处理器,读取非易失性存储器中对应的计算机程序指令形成的。从硬件层面而言,如图5所示,为本发明提出的IP数据包的处理装置所在的网络设备的一种硬件结构图,除了图5所示的处理器、非易失性存储器外,网络设备还可以包括其他硬件,如负责处理报文的转发芯片、网络接口、内存等;从硬件结构上来讲,该网络设备还可能是分布式设备,可能包括多个接口卡,以便在硬件层面进行报文处理的扩展。
如图6所示,为本发明提出的IP数据包的处理装置的结构图,所述装置具体包括:确定模块11,用于接收经过分片处理的IP数据包,并确定所述IP数据包的业务类型;判断模块12,用于当所述业务类型为依赖端口信息进行业务处理的业务类型时,判断所述IP数据包是否为首数据包;处理模块13,用于当判断结果为是时,则建立分片转发表项,并在所述分片转发表项中记录所述IP数据包的IP头信息和端口信息,并利用所述端口信息对所述IP数据包进行业务处理;当判断结果为否时,则将所述IP数据包的IP头信息对应的分片转发表项中记录的端口信息,与所述IP数据包进行对应,并利用所述端口信息对所述IP数据包进行业务处理。
所述处理模块13,具体用于在将所述IP数据包的IP头信息对应的分片转发表项中记录的端口信息,与所述IP数据包进行对应的过程中,利用所述IP数据包的IP头信息查询分片转发表项;如果所述分片转发表项中存在所述IP头信息对应的端口信息,则将所述端口信息与所述IP数据包进行对应;如果所述分片转发表项中不存在所述IP头信息对应的端口信息,则缓存所述IP数据包,并在分片转发表项中存在所述IP头信息对应的端口信息后,将所述端口信息与缓存的IP数据包进行对应。
所述判断模块12,还用于当所述业务类型为依赖内容信息进行业务处理的业务类型时,则判断当前是否已经存在所述IP数据包对应的所有分片IP数据包;
所述处理模块13,还用于当判断结果为否时,则缓存所述IP数据包,继续接收其它分片IP数据包;当判断结果为是时,则对所述IP数据包对应的所有分片IP数据包进行重组,并对重组后的IP数据包进行业务处理。
所述处理模块13,还用于当所述业务类型为不用进行业务处理的业务类型时,则利用所述IP数据包的IP头信息转发所述IP数据包。
本发明实施例中,所述IP头信息具体包括以下之一或者任意组合:序列号、源IP地址、目的IP地址、协议标识;所述端口信息具体包括:目的端口标识和/或源端口标识。
其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可进一步拆分成多个子模块。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
Claims (10)
1.一种IP数据包的处理方法,其特征在于,所述方法包括以下步骤:
接收经过分片处理的IP数据包,并确定所述IP数据包的业务类型;
当所述业务类型为依赖端口信息进行业务处理的业务类型时,判断所述IP数据包是否为首数据包;
如果是,则建立分片转发表项,并在所述分片转发表项中记录所述IP数据包的IP头信息和端口信息,利用所述端口信息对所述IP数据包进行业务处理;
如果否,则将所述IP数据包的IP头信息对应的分片转发表项中记录的端口信息,与所述IP数据包进行对应,并利用所述端口信息对所述IP数据包进行业务处理。
2.根据权利要求1所述的方法,其特征在于,
将所述IP数据包的IP头信息对应的分片转发表项中记录的端口信息,与所述IP数据包进行对应的过程,具体包括:
利用所述IP数据包的IP头信息查询分片转发表项;
如果所述分片转发表项中存在所述IP头信息对应的端口信息,则将所述端口信息与所述IP数据包进行对应;
如果所述分片转发表项中不存在所述IP头信息对应的端口信息,则缓存所述IP数据包,并在分片转发表项中存在所述IP头信息对应的端口信息后,将所述端口信息与缓存的IP数据包进行对应。
3.根据权利要求1所述的方法,其特征在于,在确定所述IP数据包的业务类型之后,如果所述业务类型为依赖内容信息进行业务处理的业务类型,所述方法还包括:
判断当前是否已经存在所述IP数据包对应的所有分片IP数据包;
如果否,则缓存所述IP数据包,继续接收其它分片IP数据包;
如果是,则对所述IP数据包对应的所有分片IP数据包进行重组,并对重组后的IP数据包进行业务处理。
4.根据权利要求1所述的方法,其特征在于,在确定所述IP数据包的业务类型之后,如果所述业务类型为不用进行业务处理的业务类型,所述方法还包括:
利用所述IP数据包的IP头信息转发所述IP数据包。
5.根据权利要求1-4任一项所述的方法,其特征在于,
所述IP头信息具体包括以下之一或者任意组合:序列号、源IP地址、目的IP地址、协议标识;所述端口信息具体包括:目的端口标识和/或源端口标识。
6.一种IP数据包的处理装置,其特征在于,所述装置具体包括:
确定模块,用于接收经过分片处理的IP数据包,并确定所述IP数据包的业务类型;
判断模块,用于当所述业务类型为依赖端口信息进行业务处理的业务类型时,判断所述IP数据包是否为首数据包;
处理模块,用于当判断结果为是时,则建立分片转发表项,并在所述分片转发表项中记录所述IP数据包的IP头信息和端口信息,并利用所述端口信息对所述IP数据包进行业务处理;当判断结果为否时,则将所述IP数据包的IP头信息对应的分片转发表项中记录的端口信息,与所述IP数据包进行对应,并利用所述端口信息对所述IP数据包进行业务处理。
7.根据权利要求6所述的装置,其特征在于,
所述处理模块,具体用于在将所述IP数据包的IP头信息对应的分片转发表项中记录的端口信息,与所述IP数据包进行对应的过程中,利用所述IP数据包的IP头信息查询分片转发表项;如果所述分片转发表项中存在所述IP头信息对应的端口信息,则将所述端口信息与所述IP数据包进行对应;如果所述分片转发表项中不存在所述IP头信息对应的端口信息,则缓存所述IP数据包,并在分片转发表项中存在所述IP头信息对应的端口信息后,将所述端口信息与缓存的IP数据包进行对应。
8.根据权利要求6所述的装置,其特征在于,
所述判断模块,还用于当所述业务类型为依赖内容信息进行业务处理的业务类型时,则判断当前是否已经存在所述IP数据包对应的所有分片IP数据包;
所述处理模块,还用于当判断结果为否时,则缓存所述IP数据包,继续接收其它分片IP数据包;当判断结果为是时,则对所述IP数据包对应的所有分片IP数据包进行重组,并对重组后的IP数据包进行业务处理。
9.根据权利要求6所述的装置,其特征在于,
所述处理模块,还用于当所述业务类型为不用进行业务处理的业务类型时,则利用所述IP数据包的IP头信息转发所述IP数据包。
10.根据权利要求6-9任一项所述的装置,其特征在于,
所述IP头信息具体包括以下之一或者任意组合:序列号、源IP地址、目的IP地址、协议标识;所述端口信息具体包括:目的端口标识和/或源端口标识。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511005543.3A CN106921589A (zh) | 2015-12-28 | 2015-12-28 | 一种ip数据包的处理方法和装置 |
PCT/CN2016/112270 WO2017114378A1 (zh) | 2015-12-28 | 2016-12-27 | Ip数据包的转发 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511005543.3A CN106921589A (zh) | 2015-12-28 | 2015-12-28 | 一种ip数据包的处理方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106921589A true CN106921589A (zh) | 2017-07-04 |
Family
ID=59225911
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201511005543.3A Pending CN106921589A (zh) | 2015-12-28 | 2015-12-28 | 一种ip数据包的处理方法和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN106921589A (zh) |
WO (1) | WO2017114378A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107395504A (zh) * | 2017-07-28 | 2017-11-24 | 江西山水光电科技股份有限公司 | 一种超长帧业务报文转发的方法及装置 |
CN107948072A (zh) * | 2017-10-31 | 2018-04-20 | 新华三技术有限公司 | 报文转发方法和装置 |
CN114465979A (zh) * | 2021-12-21 | 2022-05-10 | 天翼云科技有限公司 | 一种ip库生成方法、系统及电子设备 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115460164B (zh) * | 2022-08-20 | 2023-11-10 | 西安翔腾微电子科技有限公司 | 一种基于arinc664协议的组包方法 |
CN117097678B (zh) * | 2023-10-20 | 2024-01-26 | 深圳华云信息系统科技股份有限公司 | 分片报文的流式转发方法、装置、设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1863158A (zh) * | 2005-10-31 | 2006-11-15 | 华为技术有限公司 | 一种ip报文分片缓存及转发方法 |
CN1960316A (zh) * | 2005-11-04 | 2007-05-09 | 华为技术有限公司 | 分片报文的网络地址转换方法 |
CN101783786A (zh) * | 2009-01-19 | 2010-07-21 | 中兴通讯股份有限公司 | 数据包过滤方法和装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7624195B1 (en) * | 2003-05-08 | 2009-11-24 | Cisco Technology, Inc. | Method and apparatus for distributed network address translation processing |
TW201130265A (en) * | 2010-02-26 | 2011-09-01 | Connection Technology Systems Inc | Method for forwarding data packets and network device using the same thereof under NAT mode |
-
2015
- 2015-12-28 CN CN201511005543.3A patent/CN106921589A/zh active Pending
-
2016
- 2016-12-27 WO PCT/CN2016/112270 patent/WO2017114378A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1863158A (zh) * | 2005-10-31 | 2006-11-15 | 华为技术有限公司 | 一种ip报文分片缓存及转发方法 |
CN1960316A (zh) * | 2005-11-04 | 2007-05-09 | 华为技术有限公司 | 分片报文的网络地址转换方法 |
CN101783786A (zh) * | 2009-01-19 | 2010-07-21 | 中兴通讯股份有限公司 | 数据包过滤方法和装置 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107395504A (zh) * | 2017-07-28 | 2017-11-24 | 江西山水光电科技股份有限公司 | 一种超长帧业务报文转发的方法及装置 |
CN107948072A (zh) * | 2017-10-31 | 2018-04-20 | 新华三技术有限公司 | 报文转发方法和装置 |
CN107948072B (zh) * | 2017-10-31 | 2021-04-27 | 新华三技术有限公司 | 报文转发方法和装置 |
CN114465979A (zh) * | 2021-12-21 | 2022-05-10 | 天翼云科技有限公司 | 一种ip库生成方法、系统及电子设备 |
CN114465979B (zh) * | 2021-12-21 | 2024-01-02 | 天翼云科技有限公司 | 一种ip库生成方法、系统及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
WO2017114378A1 (zh) | 2017-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106921589A (zh) | 一种ip数据包的处理方法和装置 | |
CN104348716B (zh) | 一种报文处理方法及设备 | |
CN104468866B (zh) | 一种无线局域网中多网关终端快速漫游方法 | |
US10103976B2 (en) | Service bitmask-based service application in service function chaining | |
CN102316121B (zh) | 支持动态扩展帧头的过滤匹配预处理方法及装置 | |
CN101567852B (zh) | Ip报文网络地址转换的方法及装置 | |
CN102075404A (zh) | 一种报文检测方法及装置 | |
CN104601467B (zh) | 一种发送报文的方法和装置 | |
CN102195882B (zh) | 根据数据流应用类型选路的方法及装置 | |
EP2478677B1 (en) | An apparatus for analyzing a data packet, a data packet processing system and a method | |
CN104980374B (zh) | 一种业务路由报文的封装方法、业务转发实体及控制平面 | |
US10587515B2 (en) | Stateless information centric forwarding using dynamic filters | |
CN108353022A (zh) | 一种数据报文的处理方法、装置及系统 | |
CN105991793B (zh) | 报文转发的方法和装置 | |
CN107888710A (zh) | 一种报文转发方法及装置 | |
CN111193813B (zh) | 确定nat类型的测试请求处理方法、装置和计算机设备 | |
CN112468469A (zh) | 一种保障sctp协议多归属报文同源同宿的方法和装置 | |
CN103796191B (zh) | 向用户终端发送数据的方法、装置及终端 | |
CN103581361A (zh) | 一种域名解析代理方法、设备及系统 | |
CN104486244A (zh) | 一种服务质量QoS策略的执行方法及装置 | |
CN106105098A (zh) | 交换机及业务请求报文的处理方法 | |
GB2592315A (en) | Methods and systems for sending packets through a plurality of tunnels | |
CN104639439B (zh) | 一种业务报文的处理方法和设备 | |
CN100579075C (zh) | 一种快速响应icmp回送请求报文的方法 | |
CN110166375A (zh) | 一种报文转发方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170704 |