移动ip中一种数据包传输的方法

文档序号:7925767阅读:515来源:国知局
专利名称:移动ip中一种数据包传输的方法
技术领域
本发明涉及计算机网络中的移动IP技术,具体地说,涉及一种数据包传输的方法。
背景技术
移动IP技术是一种在全球因特网上提供移动功能的技术,它使节点在切换链路时仍可保持正在进行的通信。通过提供一种IP路由机制,使移动节点可以以一个永久的IP地址连接到任何链路上。目前移动IP技术最主要的应用是第三代移动通信WCDMA的网关GPRS服务节点(英文缩略GGSN)、CDMA2000的分组数据服务节点(英文缩略PDSN)。
下面是相关技术的一些术语1)移动节点可以将接入因特网的位置从一条链路切换到另一条链路上,而仍然保持所有正在进行的通信,并且只使用它的家乡地址(原先链路上的网络地址)的那些节点。
2)转交地址转交地址是指移动节点连接在外地链路上时的相关IP地址,它可分为两种,外地代理转交地址(外地代理的IP地址)和配置转交地址(暂时分配给移动节点的某个端口的IP地址)。
3)家乡代理有一个端口与移动节点家乡链路相连的路由器。
当移动节点切换链时,家乡代理一直通知移动节点它的当前位置,这个信息由移动节点保存在它的转交地址中。
有时,家乡代理广播对移动节点家乡地址的网络前缀的可达性,从而吸引那些送往移动节点的家乡地址的IP数据包。
解析送往移动节点的家乡地址的IP数据包,并将这些包通过隧道技术传送到移动节点的转交地址上。
4)外地代理在移动节点的外地链路上的路由器。
帮助移动节点通知它的家乡代理它的转交地址。
有时,提供移动节点的转交地址,并为已被家乡代理设置了隧道的移动节点发送拆封后的包。
作为连接在外地链路上的移动节点的缺省路由器。
5)隧道当一个数据包被封装在另一个数据包的净荷中进行传送时,所经过的路径称为隧道。
6)会话网络设备之间的消息通信。
7)网络地址转换通常我们所说的网络地址转换主要是指为解决IPv4地址匮乏的问题而采用的私有网络地址与全局地址的相互映射,而这里的网络地址转换概念上有所差异,是将外部主机主动发起的与移动节点的会话映射为外部主机——>家乡代理、家乡代理——>移动节点的会话,而反过来将移动节点回复外部主机的会话映射为移动节点——>家乡代理、 家乡代理——>外部主机的会话。在这里家乡代理实际上充当了类似代理服务器的功能。
8)注册移动节点把自己的转交地址告诉家乡代理的规程。
9)GRE通用路由封装(Generic Routing Encapsulation)是移动IP采用的一种隧道技术。
接下来我们简要分析一下目前的移动IP技术(IETF RFC3220)的工作机制1)通过周期地组播或广播一个称为代理广播的消息,家乡代理和外地代理宣告它们与链路的连接关系。
2)移动节点收到这些代理广播消息后,检查其中的内容以确定自己是连在家乡链路还是外地链路上。当它连在家乡链路上时,移动节点就可像固定节点一样工作,即它不再利用移动IP的其他功能。
现在我们假设移动节点已经离开当前链路,漫游连接在一条外地链路上。
3)连在外地链路上的移动节点需要一个转交地址。它可以从外地代理广播的代理广播消息中找到外地代理转交地址,配置转交地址必须通过一个配置规程得到,比如用动态主机配置协议(英文缩略DHCP)、点对点协议(英文缩略PPP)的IPCP或手工配置。
4)移动节点向家乡代理注册从第3步中得到的转交地址。在注册过程中,如果链路上有一个外地代理,移动节点就向它请求服务。为阻止拒绝服务攻击,注册消息要求进行认证。
5)家乡代理或者是在家乡链路上的其他一些路由器广播对移动节点家乡地址的网络前缀的可达性,从而吸引发往移动节点家乡地址的数据包,家乡代理截取这个包,并根据移动节点在第4步中注册的转交地址,通过隧道将数据包传送给移动节点。
6)在转交地址处(可能是外地代理或移动节点的一个端口),原始数据包被从隧道中提取出来送给移动节点。
7)相反,由移动节点发出的数据包被直接选路到目的节点上,无需隧道技术(对于某些应用,如防火墙,需要考虑反向隧道,即与正向过程类似的处理过程)。对所有来访的移动节点发出的包来说,外地代理完成缺省路由器的功能。
从上述的工作机制可以看出,外部主机要访问已经离开本地链路的移动节点,数据包需要经过外地主机发送——>家乡代理截获——>家乡代理封装、转发——>外地代理截获——>外地代理解封装、转发——>移动节点接收的过程。
在上述的过程中就存在一个隧道的操作,隧道的操作解决了移动性的问题,但是同时也带来了一些负面效应,如IP分片,因为数据链路层以及在它们底层运行的硬件对能传送的最大帧长有限制,这种限制称为最大传输单元(MaximumTransfer Unit,英文缩略MTU),这种限制限制了在一帧中能传送的IP包的最大长度。如果IP包比传送它的数据链路层的MTU要大,在传送前就要将IP包分片。分片就是将一个大IP包分成几个小段(片),以便每一个小片可以装进数据链路层的MTU中。而隧道实际上就是在将原有IP包放在新的IP包的净荷中传输,增大了长度,在某些极限情况下就会造成IP分片。
还有的一个负面效应就是对于家乡代理和外地代理来说,隧道的开销是巨大的,往往这个操作成为整个数据传输过程中的瓶颈。

发明内容
本发明的目的就是为了解决现有的移动IP技术中采用隧道机制带来的问题,而提供了移动IP中一种数据包传输的方法,即提供了网络地址转换的方式,它可以减少外地代理的操作,这时数据包的传输过程就变为外地主机发送——>家乡代理截获——>家乡代理对会话作网络地址转换、转发——>外地代理转发——>移动节点接收,从移动节点看来,会话的发起者是家乡代理,而不是原先的外部主机,因此外地代理无需做复杂的隧道封装、解封装的操作,只充当移动节点的缺省路由器。
本发明的目的是这样实现的,即用网络地址转换替代原先的隧道机制,实现外部代理与家乡代理之间数据包的传输;扩展了移动代理发现报文格式,家乡代理收到该报文即进行网络地址转换操作;外地代理上维护TCP/UDP/ICMP的网络地址转换表;外地代理在做网络地址转换处理的同时,修改TTL的值为255,保证数据包不在传输中途被丢弃。
具体措施是1、扩展移动代理发现报文移动代理发现消息位于ICMP路由器发现报文的扩展域中,移动节点通过发送该消息发现家乡代理的地址和指示相应的隧道封装格式。
扩展移动代理发现报文,插入一个“N”比特,用以指示家乡代理进行网络地址转换(而不是GRE、IP in IP、Mini IP的隧道封装),修改后的报文格式见图1。
2、家乡代理中增加一个网络地址转换表网络地址转换表用来记录转换前后的网络地址、端口以及其它关键标识,因为目前因特网上传输的主要是IP数据包,所以考虑最常用的几种协议的网络地址转换方式。
对于协议类型为TCP或者UDP的数据包,需要记录发起会话主机IP地址、发起会话主机端口、移动节点的家乡地址家乡代理IP地址、家乡代理别名端口、移动节点移交地址,一条表项包含6个域,2个键值,每个键值各由3个域构成。查找和存储推荐采用哈希+链表。表项格式见图2对于协议类型为ICMP的数据包,需要记录发起会话主机IP地址、ICMP询问标识符(英文缩略ICMP Query ID)、移动节点的家乡地址家乡代理IP地址、家乡代理别名Query ID、移动节点移交地址,一条表项包含6个域,2个键值,每个键值各由3个域构成。查找和存储推荐采用哈希+链表。表项格式见说明书附图3对于每一条表项,必须维护一个生命时钟,如果某条表项在设定的时间阈值内未被访问,将会被删除,否则会造成表项的无限增长。
3、操作流程*外部主机发起与移动节点的会话操作流程见图4a.外部主机发出的数据包目的地址是移动节点的家乡地址,按照正常路由,该数据包将会传送到移动节点的家乡链路。
b.家乡代理截获该数据包,查询当前存储的移动节点注册表,看该移动节点是否在家乡链路上。如果在家乡链路,则正常转发数据包到该节点,操作结束。如果不在家乡链路,继续。
c.家乡代理发现移动节点已经离开家乡链路,从移动节点注册表项中获得其转交地址,解析数据包的协议类型若该数据包的协议类型为TCP或者UDP,根据发起会话主机IP地址、发起会话主机端口、移动节点的家乡地址组成的键值查询TCP/UDP网络地址转换表,看是否存在相应表项,存在转d步骤,否则继续。
将数据包的源IP地址修改为家乡代理的IP地址,数据包的源端口修改为家乡代理的随机生成的且不重复的一个别名端口号,目的地址修改为移动节点的转交地址。同时对于如果更上层的应用中包含IP地址和端口号的,也要做类似的修改,然后生成一条网络地址转换表项,包含发起会话主机IP地址、发起会话主机端口、移动节点的家乡地址家乡代理IP地址、家乡代理别名端口、移动节点移交地址,添加到网络地址转换表中。转e步骤。
若该数据包的协议类型为ICMP,根据发起会话主机IP地址、ICMP QUERYID、移动节点的家乡地址组成的键值查询ICMP网络地址转换表,看是否存在相应表项,存在转d步骤,否则继续。
将数据包的源IP地址修改为家乡代理IP地址,ICMP Query ID修改为家乡代理的随机生成且不重复的别名Query ID,目的地址修改为移动节点的转交地址。然后生成一条表项,包含发起会话主机IP地址、ICMP QUERY ID、移动节点的家乡地址家乡代理IP地址、家乡代理别名Query ID、移动节点移交地址,添加到网络地址转换表中。转e步骤。
d.查询网络地址转换表,发现已经存在相关表项,则根据协议类型对数据包的操作同上,但不操作网络地址转换表。
e.修改TTL为255,因为数据包的传输在外部主机——家乡代理——外地代理——移动节点的过程中可能因为TTL为0被丢弃(很可能超过一个数据包传输的正常跳数),修改TTL的值很必要,然后修改校验和(包括IP校验和以及更上层协议的校验和)。
f.家乡代理将修改后的数据包发向移动节点所在的外地链路。
g.外地代理接收到数据包,转发给移动节点。
*移动节点回复由外部主机发起的会话操作流程见图5a.移动节点发送数据包。
b.外地代理转发数据包。
c.家乡代理接收数据包,解析协议类型若为TCP或者UDP,根据家乡代理IP地址、家乡代理别名端口、移动节点移交地址组成的键值反向查找网络地址转换表。
若为ICMP,根据家乡代理IP地址、家乡代理别名Query ID、移动节点移交地址组成的键值反向查找网络地址转换表。
若不存在相应表项,则不作网络地址转换,操作结束,否则继续d步骤。
d.若为TCP或者UDP,家乡代理根据家乡代理IP地址、家乡代理别名端口、移动节点移交地址组成的键值反向查找网络地址转换表,获得对应的发起会话主机IP地址、发起会话主机端口、移动节点的家乡地址。修改数据包的目的IP为发起会话主机IP地址,修改目的端口为发起会话主机端口,修改源IP为家乡代理IP地址。
若为ICMP,家乡代理根据家乡代理IP地址、家乡代理别名Query ID、移动节点移交地址组成的键值反向查找网络地址转换表,获得对应的发起会话主机IP地址、ICMP QUERY ID、移动节点的家乡地址。修改数据包的目的IP为发起会话主机IP地址,修改Query ID为家乡代理别名Query ID,修改源IP地址为家乡代理IP地址。
e.修改TTL为255,然后修改校验和(包括IP校验和以及更上层的校验和)。
f.家乡代理发送该数据包,经正常路由至外部主机。
*移动节点主动发起的会话对于移动节点主动发起的会话,直接采用转交地址通过正常路由完成。
与传统的隧道机制相比,用网络地址转换的方法访问移动节点时具有提高数据包处理效率的优点。
隧道两端的处理即封装和解封装的过程,占处理器的资源很多,包的延时也很大,设备必须接收完整个数据包,才能将其放进新构建的数据包的负荷中,我们知道,构建数据包头和计算校验和的过程都是非常复杂的。以GRE(一种隧道机制)为例,即使采用了网络处理器,设备的处理效率还是下降到原先的30%,而网络地址转换只需对包的头部作修改,处理不需要在接收完整个数据包之后,对包的延时影响较小,设备的处理效率可达到原先的80%以上。
对于外地代理来说,原先复杂的隧道封装和解封装操作都可以省略,提高了外地代理处理数据包的效率。
第三代移动通信CDMA2 000系统中,PDSN是在无线系统与分组交换的IP网络之间的网关节点。它的功能是负责建立、维护、中断与一个无线用户之间的连接,不仅需要维持A10/A11接口通信,同时还充当外地代理的作用,显然对PDSN的处理效率要求非常大。如果采用本技术方案,在家乡代理(分组数据网中的一台路由器)中采用网络地址转换,PDSN就可以从复杂的封装和解封装的工作中解脱出来,提高了数据包处理的效率。
目前本发明正准备应用于的F-engineR4000/MP6001/R8001设备中(武汉邮电科学院烽火公司烽火网络)。


图1是扩展后的移动代理发现报文;图2是TCP/UDP的网络地址转换表;图3是ICMP的网络地址转换表;图4是外部主机发起与移动节点会话数据包的流向图;图5是移动节点回复外部主机的数据包流向图;其中1-类型,该字段的值为16,指明为移动代理广播扩展类型;2-长度,该字段的值为6+4*N,其中序列号、注册生命周期、标记和保留字段总计6个字节,而N指的是广播的移交地址的个数;3-序列号,移动代理初始化后发送的代理广播报文个数;4-注册生命周期,该代理愿意接受注册请求的最长时间;5-保留;6-发起会话主机IP地址;7-发起会话主机端口;8-移动节点的家乡地址;9-家乡代理IP地址;10-家乡代理别名端口;11-移动节点移交地址;12-ICMP Query ID;13-家乡代理别名Query ID;14-互联网;15-外部主机;16-家乡代理;17-外地代理;18-移动节点;
下面结合附图详细说明图1为扩展后的移动代理发现报文,增加了N的标记字段,指示家乡代理执行网络地址转换操作,而不是隧道封装机制来处理数据包。下面解释各标记字段的含义R,表示需要注册;B,表示该代理不再接受更多的移动节点注册请求;H,执行家乡代理功能;F,执行外地代理功能;M,表明采用最小封装的隧道格式;G,表明采用通用路由封装(英文缩略GRE)的隧道格式;r,该字节发送时置为0;T,表明外地代理支持反向隧道;N,表明家乡代理采用网络地址转换操作。
图2为家乡代理上存储的TCP/UDP网络地址转换表,家乡代理根据ICP/UDP会话,创建表项,在数据包的处理过程中查找该表,获得相应信息,对数据包进行处理。
图3为家乡代理上存储的ICMP网络地址转换表,家乡代理根据ICMP会话,创建表项,在数据包的处理过程中查找该表,获得相应信息,对数据包进行处理。
图4为外部主机发起与移动节点会话数据包的流向图。
a.外部主机发出的数据包目的地址是移动节点的家乡地址,按照正常路由,该数据包将会传送到移动节点的家乡链路。
b.家乡代理截获该数据包,查询当前存储的移动节点注册表,看该移动节点是否在家乡链路上。如果在家乡链路,则正常转发数据包到该节点,操作结束。如果不在家乡链路,继续。
c.家乡代理发现移动节点已经离开家乡链路,从移动节点注册表项中获得其转交地址,解析数据包的协议类型若该数据包的协议类型为TCP或者UDP,根据发起会话主机IP地址、发起会话主机端口、移动节点的家乡地址组成的键值查询TCP/UDP网络地址转换表,看是否存在相应表项,存在转d步骤,否则继续。
将数据包的源IP地址修改为家乡代理的IP地址,数据包的源端口修改为家乡代理的随机生成的且不重复的一个别名端口号,目的地址修改为移动节点的转交地址。同时对于如果更上层的应用中包含IP地址和端口号的,也要做类似的修改,然后生成一条网络地址转换表项,包含发起会话主机IP地址、发起会话主机端口、移动节点的家乡地址家乡代理IP地址、家乡代理别名端口、移动节点移交地址,添加到网络地址转换表中。转e步骤。
若该数据包的协议类型为ICMP,根据发起会话主机IP地址、ICMP QUERYID、移动节点的家乡地址组成的键值查询ICMP网络地址转换表,看是否存在相应表项,存在转d步骤,否则继续。
将数据包的源IP地址修改为家乡代理IP地址,ICMP Query ID修改为家乡代理的随机生成且不重复的别名Query ID,目的地址修改为移动节点的转交地址。然后生成一条表项,包含发起会话主机IP地址、ICMP QUERY ID、移动节点的家乡地址家乡代理IP地址、家乡代理别名Query ID、移动节点移交地址,添加到网络地址转换表中。转e步骤。
d.查询网络地址转换表,发现已经存在相关表项,则根据协议类型对数据包的操作同上,但不操作网络地址转换表。
e.修改TTL为255,因为数据包的传输在外部主机——家乡代理——外地代理——移动节点的过程中可能因为TTL为0被丢弃(很可能超过一个数据包传输的正常跳数),修改TTL的值很必要,然后修改校验和(包括IP校验和以及更上层协议的校验和)。
f.家乡代理将修改后的数据包发向移动节点所在的外地链路。
g.外地代理接收到数据包,转发给移动节点。
图5是移动节点回复外部主机的数据包流向图。
a.移动节点发送数据包。
b.外地代理转发数据包。
c.家乡代理接收数据包,解析协议类型若为TCP或者UDP,根据家乡代理IP地址、家乡代理别名端口、移动节点移交地址组成的键值反向查找网络地址转换表。
若为ICMP,根据家乡代理IP地址、家乡代理别名Query ID、移动节点移交地址组成的键值反向查找网络地址转换表。
若不存在相应表项,则不作网络地址转换,操作结束,否则继续d步骤。
d.若为TCP或者UDP,家乡代理根据家乡代理IP地址、家乡代理别名端口、移动节点移交地址组成的键值反向查找网络地址转换表,获得对应的发起会话主机IP地址、发起会话主机端口、移动节点的家乡地址。修改数据包的目的IP为发起会话主机IP地址,修改目的端口为发起会话主机端口,修改源IP为家乡代理IP地址。
若为ICMP,家乡代理根据家乡代理IP地址、家乡代理别名Query ID、移动节点移交地址组成的键值反向查找网络地址转换表,获得对应的发起会话主机IP地址、ICMP QUERY ID、移动节点的家乡地址。修改数据包的目的IP为发起会话主机IP地址,修改Query ID为家乡代理别名Query ID,修改源IP地址为家乡代理IP地址。
e.修改TTL为255,然后修改校验和(包括IP校验和以及更上层的校验和)。
f.家乡代理发送该数据包,经正常路由至外部主机。
权利要求
1.移动IP中一种数据包传输的方法,其特征在于用网络地址转换替代原先的隧道机制,实现外部代理与家乡代理之间数据包的传输扩展了移动代理发现报文格式,家乡代理收到该报文即进行网络地址转换操作;外地代理上维护TCP/UDP/ICMP的网络地址转换表;外地代理在做网络地址转换处理的同时,修改TTL的值为255,保证数据包不在传输中途被丢弃。
全文摘要
本发明公开了移动IP中一种数据包传输的方法,涉及计算机网络中的移动IP技术。本发明用网络地址转换替代原先的隧道机制来实现外部代理与家乡代理之间数据包的传输,扩展了移动代理发现报文格式,家乡代理收到该报文即进行网络地址转换操作;外地代理上维护TCP/UDP/ICMP的网络地址转换表;外地代理在做网络地址转换处理的同时,修改TTL的值为255,保证数据包不在传输中途被丢弃。由于减少了外部代理在数据包处理过程中的频繁封装、解封装操作,提高了数据传输的效率,因此具有广泛的应用前景。
文档编号H04W80/04GK1411231SQ0213918
公开日2003年4月16日 申请日期2002年10月17日 优先权日2002年10月17日
发明者张人杰, 余少华 申请人:武汉邮电科学研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1