一种分片报文的重组方法技术

技术编号:3547012 阅读:205 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供一种网间协议IP分片报文的重组方法,应用于IP层的IP报文接收端。该方法为:在IP报文接收端中建立三个级别索引表和重组信息表,一级索引表是以IP分片报文的IP协议类型为索引的索引表,一级索引表指向以IP分片报文的标识字段为索引的二级索引表,二级索引表指向以IP分片报文的源IP地址为索引的三级索引表,三级索引表指向IP分片报文的重组信息表;IP报文接收端接收到IP分片报文后根据三个级别索引表查找到对应的重组信息表,然后根据重组信息表完成IP分片报文的重组。本发明专利技术提供的IP分片报文的重组方法有内存需求小而且实时性好的优点。

【技术实现步骤摘要】
一种分片报文的重组方法
本专利技术涉及数据通讯领域的网间协议(Internet Protocol,IP)层报文的处理,具体涉及IP分片报文的重组方法。
技术介绍
在数据通信网络中,IP报文要通过物理层才可以发送出去。物理层一般要限制一次发送的数据帧的最大长度(Maximum Transfer Data)。因此,在IP层将一份IP报文提交物理层之前,需要知道物理层的MTU(MaximumTransmission Unit)大小,并决定是否需要将该IP报文分成多片,以保证物理层报文的大小不会超过MTU。相应的,在IP报文的接收端,需要判断收到的IP报文是否是一个完整的报文,或者仅仅是IP报文的一个分片。如果接收到的是IP报文的分片,则需要将多个IP分片重组起来,最终恢复成一个完整的IP报文。在IP报文的首部,包含了与IP分片相关的信息。这些信息主要有:32位的源IP地址,16位的标识、8位的IP协议类型和13位的分片偏移,如图1所示。在图1中,16位的标识字段是为了使各个IP分片报文最后能准确地重组成为一个完整的IP报文而设计的。同一个IP报文的多个分片具有相同的源IP地址、相同的IP协议类型和相同的16位标识。只有这三者都完全匹配的分片才属于同一IP报文,接收端设备据此判断出多个分片是否属于同一IP报文,并将它们重组起来。-->标志字段占3比特(bit),目前只有前两个比特有意义。标志字段中的最低位为MF(More Fragment),表示“更多的片”。MF=1即表示后面还有后续的IP分片,MF=0表示这是属于同一完整IP报文的多个分片中的最后一个。除了最后一个分片外,其它各个分片报文都要将MF置1。标志字段中间的一位记为DF(Don’t Fragment),表示“不分片”。只有当DF=0时才允许分段。如果将这一比特置1,IP将不对数据报文进行分片。在图1中,13位的分片偏移字段指的是该分片偏移原始IP报文开始处的位置。另外,当IP报文被分片后,每个分片在IP首部的总长度值是该IP分片报文本身的长度值。在IP报文的发送端,IP报文的分片过程是:首先将一个长度较大的IP报文的数据部分拆成多个分片,要保证每个分片的物理帧长度的不超过MTU的大小。然后再根据上面描述的16位的标识、3位的标志及13位的分片偏移地址等字段的含义,封装IP首部信息。最后通过物理层,将报文发送出去。在IP报文的接收端,IP分片报文的重组过程是:根据接收到的分片的源IP地址,标识及协议类型的值,判断接收到的多个分片是否属于同一个完整的IP报文,并为属于同一个IP报文的分片保存状态信息。如果是,则根据IP报文首部13位的分片偏移字段,将这些分片的数据部分逐一取出,并按顺序重组起来。直到同一IP报文的所有分片被接收后,就可以完成多个IP分片的重组,最终恢复成一个完整的IP报文。在进行分片报文的重组时,需要建立一个重组信息表,用于保存与重组相关的状态信息以及各分片报文的地址、长度等信息。接收端设备接收-->到一个IP分片后,要根据源IP地址、IP协议类型和IP头中的标识找到对应的重组信息表。作为重组信息表索引的源IP地址、IP头标识和IP协议类型各占32、16和8比特,索引值的范围很广,因此IP分片重组的难点就在于重组信息表的组织和查找。尤其在语音或视频通信等实时业务中,要同时完成IP分片的重组并保证足够小的延时,很难用现有的方式实现。目前查找重组信息表主要有两种方案:第一种是为每一个可能出现的源IP地址、IP协议类型和16位标识的组合建立一个重组信息表。对接收到的每一个分片,可以根据源IP地址、IP协议类型和16位的标识直接查找到一个重组信息表,然后在这个表中记录当前接收到的所有分片的信息并更新重组的状态,比如各分片在内存中的地址、报文长度等。接收到已分片IP报文的最后一个分片后,将所有分片的数据部分重组起来,重新恢复成一个完整的IP报文。这种为每一个可能出现的源IP地址、IP协议类型和16位标识的组合建立一个重组信息表,所需要的表项数目非常巨大,需要的内存太多,只有理论上的可行性。第二种方案与第一种方案有所不同。在这个方案中,接收端设备用一个队列动态地保存着当前时刻已收到但未重组完毕的所有已分片IP报文的源IP地址、IP协议类型和标识组合,并为每个组合建立一个重组信息表。队列中没有重复的源IP地址、IP协议类型和标识组合,且每当完成一个IP报文的重组后,对应的组合要从队列中删除。对接收到的每一个分片,将其源IP地址、IP协议类型和16位标识与队列中保存的源IP地址、IP协议类型和标识的组合逐一匹配。如果没有找到完全匹配的项,则为该组合建立一个重组信息表,并将这个组合增加到这个队列中。如果可以找到完全-->匹配的项,则表示对应重组信息表已经建立。这样,接收到的每一个IP分片都可以找到一个重组信息表。通过重组信息表,可以找到同一已分片IP报文的所有分片的信息,并将它们重组起来,重新恢复成一个完整的IP报文。第二种重组方案的缺点在于分片重组的时间不可控。当同一时刻有较多不同IP报文的分片时,需要进行多次源IP地址、IP协议类型和标识的匹配。在实时性要求较高的语音和视频通讯中,实时性无法保证。从以上两种现有技术方案可以看出,现有技术方案在IP报文重组过程中,没能提供一种内存需求小而且实时性好的IP报文重组方法。第一种技术方案需要消耗较多内存资源,而且实时性差,第二种虽然对第一种技术方案有所改进,在内存要求上大大降低,但同样无法满足实时性要求。
技术实现思路
鉴于上述现有技术所存在的缺点,本专利技术的目的是提供一种内存需求小而且实时性好的IP报文重组方法。本专利技术的目的是通过以下技术方案实现的:一种网间协议(IP)分片报文的重组方法,应用于IP层的IP报文接收端,包括步骤:1)在所述IP报文接收端中建立三个级别索引表和重组信息表,一级索引表是以所述IP分片报文的IP协议类型为索引的索引表,一级索引表指向以所述IP分片报文的标识字段为索引的二级索引表,二级索引表指向以所述IP分片报文的源IP地址为索引的三级索引表,三级索引表指向所述IP分片报文的所述重组信息表;-->2)所述IP报文接收端接收到所述IP分片报文后根据所述三个级别索引表查找到对应的所述重组信息表,然后根据所述重组信息表完成所述IP分片报文的重组。其中,所述步骤1)中所述的一级索引表的表项数目为所述IP报文接收端需要支持的所述IP协议类型的数目,所述的二级索引表的数目为所述一级索引表的表项数目。其中,所述步骤1)中的三级索引表是动态建立的,当所述IP分片报文根据所述源IP地址索引没有对应的所述三级索引表时,则为所述IP分片报文建立对应的所述三级索引表,当所述三级索引表对应的所述IP分片报文都重组完后,则删除对应的所述三级索引表。其中,所述步骤1)中所述的三级索引表中的表项是动态建立的,当所述IP分片报文没有对应的三级索引表的表项时,则为其建立对应的所述三级索引表的表项,当所述三级索引表表项对应的所述IP分片报文都重组完后,则删除对应的所述三级索引表的表项。其中,所述步骤1)还包括,为所述IP分片报文建立对应的所述三级索引表的表项之后,也为所述IP分片报文建立对应的所述重组信息表;删除本文档来自技高网
...

【技术保护点】
一种网间协议(IP)分片报文的重组方法,应用于IP层的IP报文接收端,其特征在于,包括步骤:1)在所述IP报文接收端中建立三个级别索引表和重组信息表,一级索引表是以所述IP分片报文的IP协议类型为索引的索引表,一级索引表指向以所述I P分片报文的标识字段为索引的二级索引表,二级索引表指向以所述IP分片报文的源IP地址为索引的三级索引表,三级索引表指向所述IP分片报文的所述重组信息表;2)所述IP报文接收端接收到所述IP分片报文后根据所述三个级别索引表查找到对应的 所述重组信息表,然后根据所述重组信息表完成所述IP分片报文的重组。

【技术特征摘要】
1、一种网间协议(IP)分片报文的重组方法,应用于IP层的IP报文接收端,其特征在于,包括步骤:1)在所述IP报文接收端中建立三个级别索引表和重组信息表,一级索引表是以所述IP分片报文的IP协议类型为索引的索引表,一级索引表指向以所述IP分片报文的标识字段为索引的二级索引表,二级索引表指向以所述IP分片报文的源IP地址为索引的三级索引表,三级索引表指向所述IP分片报文的所述重组信息表;2)所述IP报文接收端接收到所述IP分片报文后根据所述三个级别索引表查找到对应的所述重组信息表,然后根据所述重组信息表完成所述IP分片报文的重组。2、根据权利要求1所述的IP分片报文的重组方法,其特征在于,所述步骤1)中所述的一级索引表的表项数目为所述IP报文接收端需要支持的所述IP协议类型的数目,所述的二级索引表的数目为所述一级索引表的表项数目。3、根据权利要求1所述的IP分片报文的重组方法,其特征在于,所述步骤1)中的三级索引表是动态建立的,当所...

【专利技术属性】
技术研发人员:黄伟才
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:94[中国|深圳]

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

1