一种结合网络地址转换与移动互联网协议的通讯方法

文档序号:7593011阅读:106来源:国知局
专利名称:一种结合网络地址转换与移动互联网协议的通讯方法
技术领域
本发明涉及在通信领域路由器中,对访问外部网络时需要进行NAT转换的私网中的移动节点在internet中利用mobile ip技术进行移动的解决方法。
背景技术
NAT(网络地址转换)技术是通过私网地址与公网地址相互映射的方式,解决IP地址不足的问题的一种协议。而Mobile ip(移动互联网协议)是用于解决移动主机在不需要更换ip地址和中断当前连接的情况下在因特网上自由移动的协议。但是,通常的假设是基于Mobile ip的移动节点(以下简称MN)与家乡代理(以下简称HA)和外地代理(以下简称FA)都需要有合法的公网地址才能进行移动,那对于ip地址紧缺的今天而言,是比较奢侈的,因而其使用可能会受到限制。同时,由于很多专用网是使用私网地址的,并通过NAT访问internet,所以,这也会使得Mobile ip的应用范围受到限制。在RFC3024(Mobile ip的反向隧道规范文件)中提到可以利用反向隧道技术实现具有私网地址或不提供全局路由地址的移动节点与家乡链路上节点通信的方法,但是,对于如何将NAT与Mobile ip的反向隧道技术结合则没有说明,本方法即在此基础上进行扩展。

发明内容
本发明所要解决的技术问题是提供一种结合网络地址转换与移动互联网协议的通讯方法,解决使用私网地址的移动节点在internet上移动时需要通过Mobile ip和NAT进行不间断通信的问题。
为达到上述目的,本发明提供了一种结合网络地址转换与移动互联网协议的通讯方法,应用于路由器中对家乡代理、外地代理和移动节点进行配置,其特点在于,包括如下步骤在家乡代理上,设置网络地址转换模块,建立家乡虚接口,对家乡虚接口赋予网络地址转换模块的内口属性;在外地代理上,移动节点注册转交地址,建立外地虚接口,通过隧道虚接口方式在所述家乡虚接口和外地虚接口之间建立隧道连接;在移动节点上,判断移动节点所使用的转交地址是外地代理转交地址还是配置转交地址,如果使用外地代理转交地址,则移动节点完成正常的移动互联网协议功能;如果移动节点使用配置转交地址,则移动节点发出的数据包经反向隧道传送;由家乡代理和外地代理对数据包进行处理,并且数据包在家乡代理和移动节点注册的转交地址间通过隧道传送。
上述的方法,其特点在于,所述隧道虚接口方式为将数据包进入/离开隧道所必须进行的隧道包头封装/解封装功能抽象成虚接口。
上述的方法,其特点在于,当数据包进入隧道时需要先进入所述虚接口,将其进行隧道包头的封装,然后在通过实际的物理接口发送出去;当隧道中的数据包进入用于离开隧道的物理接口后,经过校验正确还要进入虚接口,进行隧道的解封装操作,然后对内层的IP包进行查路由转发处理。
上述的方法,其特点在于,在移动节点的注册过程中还包括建立所述外地虚接口、移动节点所在的外地链路对应的外地代理的接口以及移动节点的链路层信息的绑定关系,用来替代普通路由,作为移动节点通过外地代理通信的转发依据。
上述的方法,其特点在于,所述链路层信息是MAC地址,用以避免有相同私网IP地址的移动节点移动到同一个外地代理上。
上述的方法,其特点在于,在所述家乡代理对数据包的处理中,包括有对家乡节点发送的数据包的处理,并具有如下步骤步骤a,家乡代理收到家乡节点发送的数据包;步骤b,查路由;步骤c,判断是否需要进行网络地址转换,是则执行步骤d,否则执行步骤e;步骤d,进行网络地址转换,并转到步骤h;步骤e,数据包的出口设置为家乡虚接口,目的地址为在外地的移动节点;步骤f,进行隧道包头封装;步骤g,查外层隧道包头目的地址的路由;
步骤h,从对应的物理接口将数据包发送出去。
上述的方法,其特点在于,在所述外地代理对数据包的处理中,包括有对来自移动节点的数据包的处理,并具有如下步骤步骤A,从外地虚接口收到来自移动节点的数据包;步骤B,判断数据包的目的地址是否为互联网上的主机,是则执行步骤D,否则执行步骤C;步骤C,查路由,并转到步骤F;步骤D,进行网络地址转换处理;步骤E,查路由;步骤F,从相应的接口发送数据包。
本发明的技术效果在于本发明所提供的方法,通过对移动ip的各个要素进行适当的改造而将NAT和Mobile ip相结合,使得使用NAT的专用网中的移动节点可以良好的利用Mobile ip功能,而且移动到外地链路上的的移动节点无论与家乡专用网或者internet上的主机进行通信时,都如同在其家乡链路时一样。
下面结合附图进一步详细说明本发明的具体实施例。


图1是本发明中移动节点位于家乡链路上时进行通信的数据流的示意图;图2是本发明中移动节点移动到外地链路时与家乡链路上节点通信的数据流的示意图;图3是本发明中当移动节点移动到外地链路时与internet上的主机通信的数据流的示意图;图4是本发明中在HA上家乡节点发送的包的处理流程图;图5是本发明中HA处理从隧道虚接口进入的来自移动节点的数据包的流程图。
具体实施例方式
请参阅图1,是移动节点位于家乡链路上时进行通信的数据流的示意图。当移动节点在本地时,其访问本地节点时可以直接通信,而访问外部主机时则需要经过路由器上的NAT模块进行地址转换,其数据流101如图所示。
请参阅图2,是移动节点移动到外地链路时与家乡链路上节点通信的数据流的示意图。当MN移动到外地链路上时,其与家乡链路上的节点进行通信时,数据流201为本地节点和HA上隧道虚接口的数据流,本地节点发送的数据包到达虚接口时,就将通过隧道向MN发送,而从MN发往本地节点的数据流,则离开虚接口后,可以直接转发给本地节点。图中数据流202则是虚接口封装后的数据包通过隧道送往MN的数据流。数据流202在外地代理上的转发是依靠前面所说的隧道虚接口、链路层信息和MN所在链路端口的绑定关系进行的。
请参阅图3,是当移动节点移动到外地链路时与internet上的主机通信时的数据流的示意图。其中数据流301表示在HA上需要进行NAT转换的数据流部分,此时数据包在NAT的内口(隧道虚接口)和外口(与Internet相连的接口)之间流动,需要进行NAT转换。而数据流302则为虚接口和移动节点间的数据流。
下面再分别就FA和HA上涉及的处理进行说明在FA上,并不需要涉及NAT,但要将MN的源IP地址屏蔽。在MN的注册过程中,将移动节点的链路层信息(如mac地址等,不使用ip地址,防止私网地址冲突)、所连接的外地代理的端口和用于该节点的外地代理与家乡代理间的隧道相绑定,这样,所有MN从所在外地链路发出的包,在FA上进行链路层信息检查,检查匹配则都经由反向隧道送给HA,而HA送给MN的包,先通过隧道送到FA,然后FA通过与该隧道绑定的移动节点所连的外地链路端口和MN的链路层信息,将该数据包送给MN。
对于HA,在其上将隧道与NAT结合,采用虚接口机制,即将隧道的入、出口也作为一种接口,称为虚接口,当数据包经过隧道虚接口发出时,要对原始数据包进行隧道封装,如果从虚接口进入的包,则要进行隧道解封装以获得原始数据包。这里将隧道虚接口设为NAT内口。具体的数据流可以分两种情况看,对于MN和私网主机通信,当MN发出的数据包到私网,则从虚接口进入,因为虚接口为内口,这时该包要到私网去,则出口也是内口,不需要作NAT转换,如果私网的主机要访问MN,也为内口到内口,其不需要进行NAT转换,可以直接通过隧道发送给MN;如果MN要到公网去,对于MN发出的包,在HA上入口为内口,出口是外口,需要作NAT转换,对于从公网回来的包,入口是外口,出口是虚接口,为内口,因而也要作NAT转换。
参见附图4,是在HA上家乡节点发送的包的处理流程图,显示了当家乡节点需要和移动节点通信或直接访问外网时HA上的处理,对访问外网时需要进行NAT转换,对于访问MN时这要进行隧道封装,具体步骤包括步骤401,家乡代理收到家乡节点发送的数据包;步骤402,查路由;步骤403,判断是否需要进行网络地址转换,是则执行步骤404,否则执行步骤405;步骤404,进行网络地址转换,并转到步骤408;步骤405,数据包的出口设置为家乡虚接口,目的地址为在外地的移动节点;步骤406,进行隧道包头封装;步骤407,查外层隧道包头目的地址的路由;步骤408,从对应的物理接口将数据包发送出去。
图5显示当HA收到从MN送来的包的处理,也分两种情况,即访问家乡链路上的节点时不需要进行NAT转换,而访问外部主机时则需要进行NAT转换,具体步骤包括步骤501,从外地虚接口收到来自移动节点的数据包;步骤502,判断数据包的目的地址是否为互联网上的主机,是则执行步骤504,否则执行步骤503;步骤503,查路由,并转到步骤506;步骤504,进行网络地址转换处理;步骤505,查路由;步骤506,从相应的接口发送数据包。
权利要求
1.一种结合网络地址转换与移动互联网协议的通讯方法,应用于路由器中对家乡代理、外地代理和移动节点进行配置,其特征在于,包括如下步骤在家乡代理上,设置网络地址转换模块,建立家乡虚接口,对家乡虚接口赋予网络地址转换模块的内口属性;在外地代理上,移动节点注册转交地址,建立外地虚接口,通过隧道虚接口方式在所述家乡虚接口和外地虚接口之间建立隧道连接;在移动节点上,判断移动节点所使用的转交地址是外地代理转交地址还是配置转交地址,如果使用外地代理转交地址,则移动节点完成正常的移动互联网协议功能;如果移动节点使用配置转交地址,则移动节点发出的数据包经反向隧道传送;由家乡代理和外地代理对数据包进行处理,并且数据包在家乡代理和移动节点注册的转交地址间通过隧道传送。
2.根据权利要求1所述的方法,其特征在于,所述隧道虚接口方式为将数据包进入/离开隧道所必须进行的隧道包头封装/解封装功能抽象成虚接口。
3.根据权利要求2所述的方法,其特征在于,当数据包进入隧道时需要先进入所述虚接口,将其进行隧道包头的封装,然后在通过实际的物理接口发送出去;当隧道中的数据包进入用于离开隧道的物理接口后,经过校验正确还要进入虚接口,进行隧道的解封装操作,然后对内层的IP包进行查路由转发处理。
4.根据权利要求1、2或3所述的方法,其特征在于,在移动节点的注册过程中还包括建立所述外地虚接口、移动节点所在的外地链路对应的外地代理的接口以及移动节点的链路层信息的绑定关系,用来替代普通路由,作为移动节点通过外地代理通信的转发依据。
5.根据权利要求4所述的方法,其特征在于,所述链路层信息是MAC地址,用以避免有相同私网IP地址的移动节点移动到同一个外地代理上。
6.根据权利要求1、2、3或5所述的方法,其特征在于,在所述家乡代理对数据包的处理中,包括有对家乡节点发送的数据包的处理,并具有如下步骤步骤a,家乡代理收到家乡节点发送的数据包;步骤b,查路由;步骤c,判断是否需要进行网络地址转换,是则执行步骤d,否则执行步骤e;步骤d,进行网络地址转换,并转到步骤h;步骤e,数据包的出口设置为家乡虚接口,目的地址为在外地的移动节点;步骤f,进行隧道包头封装;步骤g,查外层隧道包头目的地址的路由;步骤h,从对应的物理接口将数据包发送出去。
7.根据权利要求1、2、3或5所述的方法,其特征在于,在所述外地代理对数据包的处理中,包括有对来自移动节点的数据包的处理,并具有如下步骤步骤A,从外地虚接口收到来自移动节点的数据包;步骤B,判断数据包的目的地址是否为互联网上的主机,是则执行步骤D,否则执行步骤C;步骤C,查路由,并转到步骤F;步骤D,进行网络地址转换处理;步骤E,查路由;步骤F,从相应的接口发送数据包。
全文摘要
本发明公开了一种结合网络地址转换与移动互联网协议的通讯方法,包括在家乡代理上设置网络地址转换模块,建立家乡虚接口,对家乡虚接口赋予网络地址转换模块的内口属性;在外地代理上,移动节点注册转交地址,并在注册过程中建立外地虚接口,在所述家乡虚接口和外地虚接口之间建立隧道连接;在移动节点上,判断转交地址是外地代理转交地址还是配置转交地址,如果使用外地代理转交地址,则移动节点完成正常的移动互联网协议功能;如果使用配置转交地址,则移动节点发出的数据包经反向隧道传送;由家乡代理和外地代理对数据包进行处理,并且数据包在家乡代理和移动节点注册的转交地址间通过隧道传送。
文档编号H04L29/06GK1561053SQ200410046469
公开日2005年1月5日 申请日期2004年6月9日 优先权日2004年2月24日
发明者李一峰, 胡英, 周衍坚, 王伟 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1