[发明专利]一种IP分片报文的重组方法和装置有效
申请号: | 200910189954.0 | 申请日: | 2009-09-03 |
公开(公告)号: | CN101645851A | 公开(公告)日: | 2010-02-10 |
发明(设计)人: | 赵丰收;姚俊;郭树波;汪勇;单丽杰;谈青 | 申请(专利权)人: | 中兴通讯股份有限公司 |
主分类号: | H04L12/56 | 分类号: | H04L12/56;H04L12/46;H04L29/06 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 518057广东省深圳市南山*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 ip 分片 报文 重组 方法 装置 | ||
技术领域
本发明涉及网络通信技术领域,尤其涉及一种IP分片报文的重组方法 和装置。
背景技术
IP是TCP/IP协议族中最为核心的协议。所有的TCP、UDP、ICMP及 IGMP数据都以IP数据报格式传输,用IP协议封装的数据单元叫做IP报文。 IP协议的下层协议是链路层协议,对于大多数链路层协议来说,所能传输的 数据帧长度都有一个上限,比如以太网和802.3对所能传输的长度其最大值 分别为1500和1492字节,链路层的这个特性称作MTU,即最大传输单元。
如果IP层有一个数据报文需要传递,而且数据的长度比链路的MTU还 大,那么IP层就需要对IP报文进行分片,使每个报文的长度都不大于链路 层的MTU,然后才能在链路上发送报文。
在接收端,为了还原发送端发出来的原始报文,必须将收到的属于同一 个原始报文的各个IP分片进行重组,重组成一个完整的报文之后再交由上 层协议处理。重组一般由目的主机完成,但是对于一般特殊的情况,比如说 NAT(网络地址转换)过程需要重新计算整个报文的校验和,路由器等中间 节点也需要对分片报文进行重组。
RFC791描述了对IP报文进行分片和重组的过程。该协议指出,IP头中 的IP_ID、源IP地址、目的IP地址以及协议号四个字段用于标识属于同一 原始IP报文的各个分片。如果这些字段相同,则认为它们是由同一个报文 分片成的多个报文,需要将其重组成一个报文。
图1是重组表的基本结构图
在系统初始化阶段,重组模块首先在内存中分配两片内存,其中一片内 存用于重组表,另外一片内存用于重组表对应的冲突表。重组表用于保存在 后续的重组过程中每个分片报文的必要信息,需要保存的信息包括IP_ID、 协议号、源IP地址、目的IP地址。这样一个数据结构叫做重组表,除了能 够保存以上信息之外,每个重组表的表项还需要保存两个指针,分别指向重 组表的冲突表项,以及一个叫做“分片报文链表”的数据结构。在重组模块 寻找每个分片报文对应的重组表项时,对IP_ID、协议号、源IP地址、目的 IP地址这四个值进行哈希,当不同报文的哈希结果相同时,就需要使用冲突 表项(冲突的重组表项)。冲突表项与重组表表项一样,都保存在内存中, 其结构与重组表表项结构完全相同,在某些系统实现中,并不区分重组表表 项和冲突表项,因此在后面的描述中,可能会将冲突表项直接描述为重组表 表项。所谓“分片报文链表”,是指网络设备所接收到的一串相同特征的IP 分片报文,所谓相同特征是指IP_ID、协议号、源IP地址、目的IP地址这 四个字段完全相同。事实上,当IP分片报文被接收到网络设备之中时,它 已经保存在了网络设备的内存中,重组模块只是使用“分片报文链表”将属 于同一原始IP报文的多个分片报文链接起来,以完成对报文的重组。图中 分别画出了前面所提到的重组表项、冲突表项、分片报文链表。在这个重组 表中,重组表项2和表项n被使用,并且每个表项后面还链接有冲突表项, 每个表项还有一个指针指向分片报文链表。
在IP网络运行了多年之后,VPN出现了,VPN的出现改变了一个事实, 互联网由原来平面结构变成了立体结构,由于VPN之间相互隔绝,不同VPN 内的主机可以具有相同的IP地址。
由于IPv4报文的IP头内没有携带VPN信息,而且IPv4的出现远远早 于VPN,因此IPv4报文的重组流程没有考虑到VPN因素,这样一来,IPv4 报文的重组过程就不再具有完备性。如果分别属于VPN1和VPN2的主机 A1和主机A2发出去的IP分片报文的源IP地址、目的IP地址、IP_ID、协 议号相同,报文到达路由器R之后,由于路由器R的重组模块不区分VPN 信息,因此在其重组时就会认为来自主机A1和主机A2的分片报文属于同 一个原始IP报文,就可能会将来自主机A1和主机A2的分片报文重组到一 起,显然这样重组出来的是一个错误的报文。虽然IPv6协议出现时间要晚 于IPv4协议,但是IPv6报文的重组流程依然是只考虑了IP头本身的内容, 并未考虑VPN,因此IPv6报文的重组流程也有与IPv4重组流程相同的问题。
发明内容
本发明的目的是,针对上述IP重组方法的现状,改进IP重组流程,使 不同VPN内需要重组的IP报文相互之间不受影响。
为解决上述技术问题,本发明提出了一种IP分片报文的重组方法,具 体包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910189954.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种挡风御寒披风
- 下一篇:烟滤嘴成型机降温装置