一种基于双向隧道的实现跨异构网络移动通信的方法

文档序号:7645069阅读:142来源:国知局
专利名称:一种基于双向隧道的实现跨异构网络移动通信的方法
技术领域
本发明涉及通信领域,具体涉及一种基于双向隧道的实现跨异构网络移动通信的方法。
背景技术
随着网络技术的发展和网络规模的扩大,IPv4(Internet Protocol version 4)已经不能满足网络发展的要求。IPv6(Internet Protocol version 6)作为IPv4的替代版本,能够提供巨大的地址空间,并具有许多IPv4所不具备的新特性,受到了越来越多的重视。由于我国拥有的IPv4地址数量很少,地址枯竭的问题尤为突出,我国正大力推进IPv6的研究和发展。另一方面,随着人们对移动通信需求的日益增加,对移动通信的研究也达到了前所未有的高度。
为了解决移动通信的问题,人们引入了Mobile IP(移动IP)技术。Mobile IP技术的一个显著特点是移动节点的移动对于网络层上所承载的应用具有透明性。简单地说,就是移动节点在不同的网络之间移动,传输层及传输层以上的应用都不必改变通信的源地址和目的地址,从而保持通信的连续性。
目前,对Mobile IP技术的研究已经取得一定成效。IETF在2002年和2004年分别提出了Mobile IPv4(在RFC3344中定义)协议和Mobile IPv6(在RFC3775中定义)协议,有效地解决了在纯IPv4网络和纯IPv6网络的移动通信问题。然而,IPv6取代IPv4不是一朝一夕的事情,IPv4和IPv6将长期共存。因此,解决异构网络(这里指IPv4和IPv6网络)之间的移动通信问题,具有十分重要的意义。
异构网络的移动通信问题,大致有下面六种情况1、移动节点及其家乡代理处于IPv6网络,通信节点处于IPv4网络;2、移动节点及其家乡代理处于IPv4网络,通信节点处于IPv6网络;3、移动节点的家乡代理处于IPv6网络,通信节点处于IPv4网络,移动节点从IPv6网络切换到IPv4网络;4、移动节点的家乡代理处于IPv6网络,通信节点处于IPv6网络,移动节点从IPv6网络切换到IPv4网络;5、移动节点的家乡代理处于IPv4网络,通信节点处于IPv4网络,移动节点从IPv4网络切换到IPv6网络;6、移动节点的家乡代理处于IPv4网络,通信节点处于IPv6网络,移动节点从IPv4网络切换到IPv6网络。
目前,IETF还没有提出上述问题的解决方案。公开的资料表明,国内已有单位针对上面的第一种情况提出了一种解决方案,并提交了专利申请(专利申请号为200510105560.4),针对上面的第二和第四种情况,我们分别提出了解决方案,并提交了专利申请(专利申请号分别为200710026298.3和200710027050.9),但这三种解决方案并不适用于上述的另外三种情况。本发明的目的就是针对上述的第五种情况提出一种解决方案。
如前所述,IPv6将与IPv4长期共存。目前,主要有三种技术支持处于IPv6网络的节点和处于IPv4网络的节点之间的通信,即双栈技术、隧道技术以及NAT-PT技术。
NAT-PT(即网络地址转换-协议转换)技术的基本原理是,在IPv4网络和IPv6网络之间设置网关(称为NAT-PT网关),对不同协议版本的数据报文进行地址转换和协议转换,即从IPv4网络发往IPv6网络的数据报文要转换成IPv6格式的报文;从IPv6网络发往IPv4网络的数据报文要转换成IPv4格式的报文。NAT-PT网关负责维护一个IPv4地址池和一张IPv4地址和IPv6地址的映射表。对于IPv6到IPv4的地址转换,NAT-PT网关从地址池中分配一个可用的IPv4地址映射IPv6地址,并记录这个射关系,以供NAT-PT网关在随后的通信过程中查询;对于IPv4到IPv6的地址转换,NAT-PT网关则在IPv4地址前面加上一个96位的NAT-PT网关前缀。
另外,因为NAT-PT网关属于网络层的设备,一般只在网络层对数据报文进行转换,因此DNS、FTP等在应用层涉及到地址转换的应用不能穿越NAT-PT网关。为了解决这个问题,人们在NAT-PT网关加上ALG(应用层网关),针对不同的应用,就有DNS-ALG,FTP-ALG等。把NAT-PT网关的网络层转换功能和ALG的应用层处理功能结合起来,就能够解决DNS、FTP等穿越NAT-PT网关的问题。
下面结合图1用实例说明用NAT-PT网关加上DNS-ALG实现异构网络之间的DNS查询的工作原理。
如图1所示,处于IPv6网络的节点A要与处于IPv4网络的节点B通信,节点A需要首先用节点B的域名查询到节点B的IP地址(IPv6格式),这个过程要借助DNS服务器来完成。
为方便说明,假设IPv6网络和IPv4网络均只有一台DNS服务器,分别是DNS服务器A和DNS服务器B。节点B的域名为www.abc.com,其IPv4地址为202.116.78.26。NAT-PT网关的前缀为3333::/96。
节点A要查询节点B的IP地址,首先向DNS服务器A发送DNS查询请求,DNS服务器A发现没有上述域名的记录,于是向DNS服务器B查询。DNS服务器B找到上述域名的记录,把其解释为IPv4地址202.116.78.26,并向DNS服务器A发送应答消息。该应答消息经过NAT-PT网关时,NAT-PT网关在节点B的IPv4地址前面加上NAT-PT网关前缀,以此作为节点B的IPv6地址(即3333::202.116.78.26)。经过修改后的应答消息经原路返回到节点A,于是节点A就可以通过3333::202.116.78.26与节点B进行通信。
节点B如果要查询节点A的IP地址,其过程大致相同。应答消息返回的时候,NAT-PT网关会从地址池中找出一个可用的IPv4地址映射节点B的IPv6地址。
本发明还涉及Mobile IPv4技术。下面结合图2和RFC 3344说明Mobile IPv4的基本原理1、移动代理通过代理广告消息表明它们的存在。移动节点也可以选择性地通过代理请求消息请求所在链路的移动代理向其发送代理广告消息。
2、移动节点接收移动代理广告消息,并根据此消息判断自己处于家乡网络还是外地网络。
3、如果移动节点发现自己处于家乡网络,则采用与普通的固定节点一样的方式工作;如果移动节点发现自己从外地网络返回家乡网络,则向家乡代理注销。
4、如果移动节点发现自己移动到外地网络,则从外地网络获得一个转交地址。转交地址可以由外地代理指派,也可以通过DHCP等方式获取。
5、移动节点向其家乡代理注册新的转交地址。注册请求消息和注册响应消息一般要经过外地代理。
6、移动节点往通信节点发送数据报文时,一般通过标准的IP路由机制,直接把数据报文发送给其通信节点,当移动节点所在的外地网络的路由器有“入口过滤”(Ingress Filtering)功能时,移动节点也可以首先通过反向隧道把数据报文发送到家乡代理,然后再由家乡代理转交到通信节点。
但是,Mobile IPv4协议不能直接应用于上述第五种情况,其主要问题有两个移动节点从IPv4网络切换到IPv6网络后,随后的注册、通信过程都在异构网络之间进行,需要进行地址转换,即如何处理地址转换的问题;还有就是在移动节点向家乡代理注册的过程中,Mobile IPv4里的注册请求消息的格式不能直接应用于上述第五种情况,必须作适当的修改。对于第二个问题,现结合图3作简单说明。根据RFC 3344,注册请求消息的格式如图3所示。其中,类型值为1,表明这个消息是注册请求消息;S、B、D等位是用来表明该注册请求的有关属性的;生存期是注册失效前的剩余时间;家乡地址、家乡代理地址、转交地址都是IPv4格式的,分别占32位;标识符用于安全认证;扩展用来指明该注册请求消息的其他属性,其中家乡代理和移动节点间的认证等扩展是必需的。从图3可见,注册请求消息的转交地址域为IPv4格式的32位地址;而本发明中,移动节点在IPv6网络获得的转交地址是IPv6格式的128位地址,地址转换比较麻烦一方面,如果在转交地址域填上IPv6格式的转交地址,则注册请求消息经过NAT-PT网关的时候,NAT-PT网关要深入应用层进行地址转换;另一方面,如果要在转交地址域上填上IPv4格式的转交地址,则必须通过其他方式首先把IPv6格式的转交地址转换成IPv4格式的转交地址。这两种方法操作起来都比较麻烦。

发明内容
本发明的目的就是针对上述问题,提供一种基于双向隧道的实现跨异构网络移动通信的方法。通过该方法,移动节点从IPv4网络移动到IPv6网络后仍然能够维持原有的通信,保证了移动节点的移动对于网络层上所承载的应用的透明。本发明的目的是这样实现的1、家乡代理地址的获取移动节点在切换到IPv6网络前的通信过程中一直知道家乡代理的地址,但这种地址是IPv4格式的。当移动节点切换到IPv6网络之后,移动节点要马上向家乡代理注册,并且后续的通信也需要经过家乡网络。这就要求移动节点能够在所处的IPv6网络里把数据报文发送到处于IPv4网络的家乡代理,也就是移动节点必须能够获取家乡代理的IPv6格式的地址。
本发明通过在IPv4网络和IPv6网络之间设置带有DNS-ALG的NAT-PT网关来达到上述目。移动节点从IPv4网络切换到IPv6网络后,获得一个新的转交地址。移动节点在向家乡代理注册这个新的转交地址之前,首先发出关于家乡代理的域名解释请求。如背景技术部分所述,移动节点最终会在带有DNS-ALG的NAT-PT网关和域名服务器的配合下获得家乡代理IPv6格式的地址。
应用本发明的上述方法还需要满足下面的条件A、移动节点同时支持IPv4和IPv6两种协议,以便能够在IPv4网络和IPv6网络之间自由地切换;B、在IPv4网络和IPv6网络之间设置带有DNS-ALG的NAT-PT网关;C、为每个家乡代理配置一个域名;D、移动节点记住家乡代理的域名;2、转交地址的注册A、注册请求消息的格式本发明中,注册请求消息的格式如图4所示。其中,类型值、各种属性位、生存期、标识符、扩展等的设置及意义与Mobile IPv4协议的规定相同。家乡地址、家乡代理地址都是采用IPv4格式的IP地址。而转交地址域置零;消息的源地址为IPv6格式的转交地址,目的地址为家乡代理的IPv6地址。转交地址域置零的作用有两个首先,家乡代理可以据此知道移动节点已经移动到IPv6网络;其次,家乡代理看到此标志后,就会以消息的源地址作为转交地址(源地址在经过NAT-PT网关时会转换成IPv4格式)。这样,就克服了背景技术部分所述的问题。
B、注册请求消息的处理注册请求消息的源地址为IPv6形式的转交地址,目的地址为家乡代理的IPv6地址。该消息经过NAT-PT网关时会被转换成IPv4格式。具体的,NAT-PT网关从其地址池中找出一个可用的IPv4地址作为消息的源地址,并记录这个映射关系;并取目的地址的后32位作为新的目的地址。经过转换后的注册请求消息最终会被路由到家乡代理。
家乡代理收到注册请求消息后,若发现消息的转交地址域不为0,则按照常规的MobileIPv4协议对该消息进行处理;反之,家乡代理若发现消息的转交地址域为0,则知道移动节点已经移动到IPv6网络,继而以消息的源地址作为转交地址,并建立或者更新绑定关系。处理完成后,家乡代理向移动节点发送注册响应消息。
此外,值得注意的是,出于安全的考虑,注册请求消息的尾部必须有一个家乡代理和移动节点之间的安全认证扩展,家乡代理收到注册请求消息后,要进行验证,验证通过后,才有可能同意该注册请求。在本发明中,安全认证扩展的处理与Mobile IPv4协议相同。
3、移动节点和通信节点之间的通信移动节点成功地注册了新的转交地址后,就可以和通信节点继续通信了。
A、通信节点发往移动节点的数据报文首先路由到家乡网络,然后由家乡代理通过隧道发往移动节点的转交地址。
从通信节点发出的数据报文,源地址为通信节点地址,目的地址为移动节点的家乡地址。由于目的地址为移动节点的家乡地址,所以这些数据报文会被路由到家乡网络。家乡代理代表移动节点拦截这些数据报文,在这些数据报文前面加上一个新的IP头,其源地址为家乡代理的地址,目的地址为转交地址(IPv4格式)。新的数据报文经过NAT-PT网关时,由NAT-PT网关转换成IPv6格式后发往移动节点的转交地址。
B、移动节点发往通信节点的数据报文首先通过反向隧道发送到家乡代理,再由家乡代理发送到通信节点。
移动节点首先生成发往通信节点的数据报文(IPv4格式),其源地址为移动节点的家乡地址,目的地址为通信节点地址。然后,移动节点在这些数据报文前面加上一个新的IP头(IPv6格式),其源地址为转交地址,目的地址为家乡代理地址。新的数据报文经过NAT-PT网关时,由NAT-PT网关转换成IPv4格式。家乡代理收到上述数据报文后,去掉外层的IP头,把内层的数据报文发送到通信节点。


图1为Mobile IPv4技术的基本原理示意图;图2为在异构网络之间进行DNS查询的基本原理示意图;图3为Mobile IPv4中的注册请求消息格式示意图;图4为经过修改后的注册请求消息格式示意图;图5为本发明示意图。
具体实施例方式
本发明提供了一种基于双向隧道的实现跨异构网络移动通信的方法,其基本思想是移动节点同时支持IPv4和IPv6协议,以使移动节点在不同的网络能用相应的协议通信;在IPv4网络和IPv6网络之间设置带有DNS-ALG的NAT-PT网关,移动节点从IPv4网络移动到IPv6网络之后,通过DNS查询到家乡代理的IP地址,用于后续的注册、通信过程,从而保证通信的连续性。
下面给出本发明的一个实例,并结合图5详细说明本发明的具体实施方式

1、移动节点判定自己已从IPv4网络切换到IPv6网络,并在IPv6网络获得一个新的转交地址。
在本发明中,移动节点支持两种协议,当移动节点切换到IPv6网络后,会通过Mobile IPv6的机制判断自己的位置已经发生移动继而获得新的转交地址。RFC 3775里描述了利用邻居发现(Neighbor Discovery)机制检测移动节点发生移动的方法。其中,邻居发现包括路由发现(Router Discovery)和邻居不可达检测(Neighbor Unreachability Detection)。
获知自己移动切换到IPv6网络后,移动节点可以通过常规的IPv6机制,例如无状态或有状态自动配置,来获得新的转交地址。移动节点可以同时有多个转交地址,但是任何时候移动节点只能有一个主转交地址(Primary Care-of Address),也就是移动节点向家乡代理注册的那个转交地址。
2、移动节点通过家乡代理的域名查询到家乡代理的IPv4地址。
移动节点获得转交地址后要向家乡代理注册,而注册前移动节点必须知道家乡代理的IP地址才能发送注册消息。在本发明中,移动节点是通过DNS查询获得家乡代理的IP的地址的。
移动节点向IPv6网络里的DNS服务器发送DNS查询请求以查询家乡代理的IP地址,IPv6网络里的DNS服务器查找不到相关记录就会向IPv4网络里的DNS服务器查询。IPv4网络里的DNS服务器找到上述域名的相关记录,并返回一条应答消息,该应答消息包含与上述域名对应的IPv4格式的IP地址。上述应答消息经过带有DNS-ALG的NAT-PT网关时,NAT-PT网关会在该IPv4地址前面加上一个96位的NAT-PT网关前缀,从而得到家乡代理的IPv6地址。经过修改后的应答消息返回给移动节点。移动节点收到上述应答消息,就知道家乡代理的IP地址(IPv4格式)了。
3、移动节点通过注册请求消息向其家乡代理注册新的转交地址。
移动节点向家乡代理发送注册请求消息,该消息的源地址为转交地址,目的地址为家乡代理的IPv6地址。
在Mobile IPv4中,注册请求消息的格式如图3所示,从图3可见,转交地址是放在负载里面的。而在本发明中,由于注册请求消息经过NAT-PT网关后,IP头的地址都会转换成IPv4格式,因此家乡代理直接以注册请求消息的源地址作为转交地址。另外,在图3中,原来存放转交地址的32位全部置零作为一个标志,家乡代理看到后,就可以知道移动节点已经从IPv4网络移动到IPv6网络。
上述注册请求消息会经过NAT-PT网关并由NAT-PT网关转换成IPv4格式。具体地,NAT-PT网关去掉上述注册请求消息的目的地址的96位前缀作为新的目的地址;并从其维护的地址池中找出一个可用的IPv4地址映射上述注册请求消息的源地址,并建立映射表。此外,NAT-PT网关还会对注册请求消息的其他部分做相应转换。转换完成后,NAT-PT网关把新的注册请求消息发送给家乡代理。
4、家乡代理收到注册请求后,如果接受该请求,则创建或者更新移动节点的家乡地址与其转交地址的绑定关系,并向移动节点发送注册响应消息表示接受请求;否则,向移动节点发送注册响应消息表示拒绝。
家乡代理如果接受请求,会查看注册请求消息的转交地址域,当家乡代理发现转交地址域全部置零时,会读取注册请求消息的源地址作为转交地址。
上述注册响应消息的源地址为家乡代理地址,目的地址为移动节点的转交地址(IPv4格式)。
上述注册响应消息同样会经过NAT-PT网关并由NAT-PT网关转换成IPv4格式。具体地,NAT-PT网关在注册响应消息的源地址前加上96位的NAT-PT网关前缀作为新的源地址,并以注册请求消息的目的地址为关键词搜索其映射表,找出对应的IPv6地址作为新的目的地址。此外,NAT-PT网关还会对注册响应消息的其他部分做相应转换。
移动节点收到上述转换后的注册响应消息,获悉家乡代理已经接受注册请求。至此,注册过程全部完成,移动节点和通信节点就可以继续进行通信了。
5、通信节点发送给移动节点的数据报文会被路由到家乡代理,再由家乡代理通过隧道发送到移动节点的转交地址。
从通信节点发出的数据报文的源地址为通信节点地址,目的地址为移动节点的家乡地址。上述数据报文被路由到家乡网络。家乡代理会代理移动节点截获这些数据报文,并通过隧道把这些数据报文发送给移动节点的转交地址。具体地,家乡代理在其截获的数据报文前面加上一个新的IP头,其源地址为家乡代理的地址,目的地址为转交地址。新的数据报文经过NAT-PT网关的时候,会被转换成IPv6格式。移动节点收到这些新的数据报文后,就进行解封装,得到内层的数据报文。
6、移动节点发送给通信节点的数据报文通过反向隧道发送到家乡代理,并通过家乡代理转发给通信节点。
移动节点首先用IPv4的方式生成一个发往通信节点的数据报文,其源地址为移动节点的家乡地址,目的地址为通信节点的地址。然后,移动节点在上述数据报文前面加上一个新的IPv6格式的IP头,其源地址为转交地址,目的地址为家乡代理的IPv6地址。当新的数据报文经过NAT-PT网关时,NAT-PT会将其转换成IPv4格式。
家乡带来收到上述新的数据报文后,就进行解封装,得到内层的数据报文,然后直接把内层的数据报文转发出去,最后到达通信节点。
从本发明的上述具体实施方式
可以看出,本发明的实施是建立在充分利用现有MobileIPv4技术的基础上的。由于在本发明所讨论的问题中,移动节点原先是在IPv4网络里通信,后来移动到IPv6网络的,因此,移动节点需要同时支持IPv4和IPv6协议。此外,由于家乡代理和通信节点均处于IPv4网络,移动节点从IPv4网络移动到IPv6网络之后,注册、通信等数据报文都必须穿越IPv6网络到达IPv4网络,这就给地址的处理带来困难。本发明利用NAT-PT网关的功能,使移动节点能够通过域名查询的方式获得家乡代理以及通信节点的IPv4地址,从而解决了在异构网络间进行注册、通信的地址转换问题。另外,本发明还对Mobile IPv4中的注册请求消息作了适当修改,以使其适用于本发明所描述的情况。
权利要求
1.一种基于双向隧道的实现跨异构网络移动通信的方法,包括A、在IPv4网络和IPv6网络之间设置带有DNS-ALG的NAT-PT网关;B、移动节点同时支持IPv4协议和IPv6协议;C、移动节点从IPv4网络移动到IPv6网络后,通过域名查询方式获得家乡代理IPv6形式的地址;D、把注册请求消息中的转交地址域置零,家乡代理从注册请求消息的源地址域获得移动节点的转交地址。
2.在权利要求1所述C步骤之前,移动节点利用邻居发现机制获知自己已经从IPv4网络移动到IPv6网络并在所在IPv6网络获得一个转交地址。
3.在权利要求2所述步骤之后,移动节点向家乡代理注册,具体包括以下三个步骤(1)移动节点通过家乡代理的域名查询到家乡代理的IPv6地址;(2)移动节点向家乡代理发送注册请求消息以注册其转交地址;(3)家乡代理处理上述注册请求消息并向移动节点发送注册响应消息。
4.在权利要求3所述步骤(1)中,移动节点通过家乡代理的域名查询到家乡代理的IPv4地址,其过程是(1)移动节点向IPv6网络内的DNS服务器发送关于家乡代理的DNS查询请求;(2)IPv6网络内的DNS服务器把该查询请求转发到IPv4网络内的DNS服务器,途中要经过带有DNS-ALG的NAT-PT网关;(3)IPv4网络内的DNS服务器成功解析该域名,并发送一条应答消息,该应答消息里面含有家乡代理的IPv4地址;(4)上述应答消息经过上述带有DNS-ALG的NAT-PT网关时,NAT-PT网关在上述IPv4地址前面加上一个96位的NAT-PT网关前缀作为家乡代理的IPv6地址,并对上述应答消息做适当修改;(5)移动节点收到上述经过修改的应答消息,从而获得家乡代理的IPv6地址。
5.通信节点发往移动节点的数据报文首先被路由到家乡网络并被家乡代理截获,然后由家乡代理通过隧道发送到移动节点的转交地址。
6.移动节点发往通信节点的数据报文首先通过反向隧道发送到家乡代理,然后由家乡代理发送到通信节点。
全文摘要
本发明涉及一种基于双向隧道的实现跨异构网络移动通信的方法,具体地,本发明要解决的问题是家乡代理和通信节点均处于IPv4网络,移动节点从IPv4网络移动到IPv6网络的过程中,如何保证通信的连续性。由于移动节点先后接入IPv4网络和IPv6网络,因此移动节点需要同时支持IPv4和IPv6两种协议。本发明的目的是这样实现的利用Mobile IPv6技术的基本原理,在IPv4网络和IPv6网络之间设置带有DNS-ALG的NAT-PT网关,移动节点从IPv4网络移动到IPv6网络之后通过域名查询家乡代理的IPv6地址;对注册请求消息作适当修改以便注册的顺利进行;通信过程中,通信节点和移动节点发出的数据报文都要经过家乡代理。
文档编号H04Q7/38GK101030934SQ20071002740
公开日2007年9月5日 申请日期2007年4月5日 优先权日2007年4月5日
发明者马争鸣, 谭庆宇, 向征, 张旭韬, 陈力超, 熊佳妮 申请人:中山大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1