一种实现移动节点从IPv4网络切换到IPv6网络的通信方法

文档序号:7645071阅读:161来源:国知局
专利名称:一种实现移动节点从IPv4网络切换到IPv6网络的通信方法
技术领域
本发明涉及通信领域,具体涉及一种实现移动节点从IPv4网络切换到IPv6网络的通信方法。
背景技术
随着网络技术的发展和网络规模的扩大,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);但这几种解决方案并不适用于上述的另外三种情况。本发明的目的就是针对上述的第五种情况提出的一种解决方案。
如前所述,IPv4将与IPv6长期共存。目前,主要有三种技术支持处于IPv4网络的节点和处于IPv6网络的节点之间的通信,即双栈技术、隧道技术以及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所示,处于IPv4网络的节点A要与处于IPv6网络的节点B通信,节点B需要首先用节点A的域名查询到节点A的IP地址(IPv6格式),这个过程要借助DNS服务器来完成。
为方便说明,假设IPv4网络和IPv6网络均只有一台DNS服务器,分别是DNS服务器A和DNS服务器B。假设节点A的域名为www.abc.com。
节点B要查询节点A的IP地址,首先向DNS服务器B发送DNS查询请求,DNS服务器B发现没有上述域名的记录,于是向DNS服务器A查询。DNS服务器A找到上述域名的记录,把其解释为IPv4地址202.116.78.10,并向DNS服务器B发送应答消息。该应答消息经过NAT-PT网关时,NAT-PT网关会在节点A的IPv4地址202.116.78.10前加上一个96位的NAT-PT网关前缀prefix作为节点A的IPv6地址。经过修改后的应答消息经原路返回到节点B,于是节点B就可以通过prefix202.116.78.10与节点A进行通信。
节点A如果要查询节点B的IP地址,其过程大致相同。应答消息返回的时候,NAT-PT网关从其维护的地址池中找出一个可用的IPv4地址作为节点B的IPv4地址,并创建一条映射记录。
本发明涉及Mobile IPv4技术。下面首先结合图2说明Mobile IPv4的基本原理1、移动代理(包括外地代理和家乡代理)通过代理广告消息(Agent AdvertisementMessage)表明它们的存在。移动节点也可以选择性地通过代理请求消息(Agent SolicitationMessage)请求所在链路的移动代理向其发送代理广告消息。
2、移动节点接收移动代理广告消息,并根据此消息判断自己处于家乡网络还是外地网络。
3、如果移动节点发现自己处于家乡网络,则采用与普通固定节点一样的方式工作;如果移动节点发现自己从外地网络返回家乡网络,则向家乡代理注销。
4、如果移动节点发现自己移动到外地网络,则从外地网络获得一个转交地址。转交地址可以由外地代理指派,也可以通过DHCP等方式获取。
5、移动节点向其家乡代理注册新的转交地址。注册请求消息和注册响应消息一般要经过外地代理,同时注册请求消息和注册响应消息中必须含有身份认证部分。
6、发往移动节点的数据报文被其家乡代理截获,并通过隧道转发。隧道的终点为移动节点的转交地址,数据报文最终被转发到移动节点。
7、在相反方向上,移动节点通过标准的IP路由机制,直接把数据报文发送给其通信节点,不必经过家乡代理。
在Mobile IPv4中,移动节点移动到外地网络之后,并没有把新的转交地址通知通信节点。通信节点实际上不知道移动节点已经移动,它向移动节点发送数据报文的时候只是简单地以移动节点的家乡地址作为目的地址。这样,通信节点发送的数据报文就被路由到移动节点的家乡网络,并被家乡代理截获,最后由家乡代理通过隧道把数据报文发送给移动节点。而在相反方向上,移动节点则直接把数据报文发往通信节点。可见,数据报文的路由路径构成了一个三角形,因此这种通信方式称为“三角路由”方式。
本发明还涉及Mobile IPv6技术。下面结合图3说明Mobile IPv6的基本原理1、无论是在家乡网络还是外地网络,移动节点的家乡地址都不会改变。当移动节点处于家乡网络时,移动节点通过常规的IP路由机制收发数据报文;2、IPv6的移动代理(可以是外地网关)会周期性地在所在网络发送代理广告消息以表明它们的存在,其中包含该IPv6网络的前缀。移动节点接收到代理广告消息后,检查其中的网络前缀,就可以判断自己是否已经从IPv4网络移动到IPv6网络。移动节点也可以通过向移动代理发送代理请求消息请求移动代理向自己发送代理广告。
3、当移动节点移动到IPv6网络上时,它采用IPv6定义的地址自动配置方法得到在此IPv6网络上的转交地址。由于移动IPv6没有外地代理,因此移动IPv6中唯一的一种转交地址是配置转交地址,移动节点可以采用被动地址自动配置,也可以采用主动地址自动配置。
4、移动节点与其通信节点的通信有两种方式。
第一种是“双向隧道”方式。通信节点发出的数据报文被路由到家乡网络,家乡代理截获此数据报文并通过隧道把此数据报文发送到移动节点的转交地址;而移动节点发出的数据报文通过反向隧道发送到家乡网络,然后再从家乡网络发送到通信节点。采用这种方式时,通信节点无需知道移动节点当前的位置信息。
第二种是“路由优化”方式。这种通信方式允许通信节点把数据报文直接发送到移动节点的转交地址,其前提条件是,移动节点必须向通信节点注册以使通信节点知道其家乡地址与转交地址的绑定关系。
5、当通信节点向移动节点发送数据报文时,目的地址为移动节点的转交地址,并且在数据报文里携带移动节点的家乡地址信息。相似地,移动节点向通信节点发送数据报文时,源地址为转交地址,并且在数据报文里携带家乡地址信息。携带家乡地址的目的是为了保证转交地址对于网络层以上的应用透明。
但是由于移动节点是在一个异构网络环境中移动,单纯的Mobile IPv4和Mobile IPv6协议都不能直接应用于上述第五种情况,其主要问题有四个1、移动节点从IPv4网络移动到IPv6网络后,随后的注册、通信过程都在异构网络之间进行,需要进行地址转换,即如何处理地址转换的问题。2、移动节点从IPv4网络移动到IPv6网络后,移动节点处于IPv6网络,家乡代理处于IPv4网络,之间存在有NAT-PT网关,在移动节点和通信节点通信之前,移动节点要向家乡代理注册其转交地址,即如何在异构网络中实现移动节点向家乡代理注册的问题3、在移动节点向家乡代理注册请求和家乡代理向移动节点注册应答过程中,基于安全考虑,移动节点和家乡代理之间要互相进行认证,即如何处理在注册请求和注册应答过程中的认证问题。4、当移动节点从IPv4网络移动到IPv6网络后,地址会发生变化,移动节点和通信节点之间的通信会受到影响,即如何保证移动节点和通信节点之间实现通信透明性的问题。这四个问题是解决上述第五种情况所描述的移动通信问题的关键。

发明内容
本发明的目的就是针对上述问题,提供一种实现移动节点从IPv4网络切换到IPv6网络的通信方法。通过该方法,移动节点从IPv4网络移动到IPv6网络后仍然能够维持原有的通信,保证了移动节点的移动对于网络层上所承载的应用的透明。
本发明的目的是这样实现的(1)域名查询A、设定移动节点的家乡代理是有域名的,通过域名查询的方式可以得到其IP地址。
B、在IPv4网络与IPv6网络之间设置带有DNS-ALG的NAT-PT网关。在本发明中移动节点通过DNS查询的方式获知家乡代理和通信节点的IPv6地址。此时移动节点处于IPv6网络中,家乡代理和通信节点处于IPv4网络中,具体过程包括B1、移动节点查询家乡代理的IPv6地址。进一步包括①移动节点要查询家乡代理的IPv6地址,首先向在IPv6网络中的本地DNS服务器发送DNS查询请求,如果本地的DNS服务器没有发现上述域名的记录,就通过NAT-PT网关上的DNS-ALG转向在IPv4网络中的外地DNS服务器查询。②在IPv4网络中的外地DNS服务器找到上述域名的记录,把其解释为一个IPv4地址。③外地DNS服务器向本地DNS服务器发送应答消息。④该应答消息经过NAT-PT网关时,NAT-PT网关会在得到的家乡代理IPv4地址前加上一个96位的NAT-PT网关前缀prefix作为家乡代理的IPv6地址。⑤经过修改后的应答消息经原路返回到移动节点,于是移动节点就得到了家乡代理的IPv6地址,然后就可以通过这个地址向家乡代理进行注册了。
B2、移动节点查询通信节点的IPv6地址。其过程与步骤B1中移动节点查询家乡代理的IPv6地址的过程是一样的,于是移动节点就可以通过这种方式得到通信节点的IPv6地址。
(2)MIP-ALG(移动IP应用层网关)的设置在IPv4网络与IPv6网络之间的NAT-PT网关上增置一个MIP-ALG(移动IP应用层网关)。MIP-ALG主要是用来建立移动节点在IPv4网络中的家乡地址HoAv4和移动节点在IPv6网络中的转交地址CoAv6的映射关系。具体过程包括A、移动节点向家乡代理发送Registration Request消息,以注册其转交地址,消息的源地址是移动节点的转交地址CoAv6,目的地址是家乡代理的IPv6地址。进一步包括①Registration Request消息采用UDP封装,其目的端口号是434。②Registration Request消息到达NAT-PT网关后,如果NAT-PT网关发现它是UDP数据包,而且使用的目的端口号是434,同时根据UDP载荷数据中的第一个载荷类型来确认这个消息是移动节点发往家乡代理的注册请求消息,然后NAT-PT网关将截获此消息并转交给MIP-ALG,MIP-ALG从消息中提取源端口号,并把它存储在MIP-ALG中,我们把这个端口号定义为PortA,这个端口号将在后面用到。③同时,NAT-PT网关从自己的地址池中取出一个IPv4格式的地址作为注册请求消息的新的源地址(记作CoAv4);把消息的目的地址(即家乡代理的IPv6地址)的96位前缀去掉得到一个IPv4格式的地址(即家乡代理的IPv4地址)作为注册请求消息的新的目的地址;并建立一个CoAv4和CoAv6的映射。④NAT-PT网关把经过修改后的注册消息发送给家乡代理。
C、家乡代理接收到移动节点发送过来的Registration Request消息后,需要向移动节点发送一个Registration Reply消息作为对注册请求消息的回应。
D、家乡代理向移动节点发送Registration Reply消息,消息的源地址和目的地址是分别从收到的注册请求消息的目的地址和源地址拷贝而来,其目的端口号拷贝Registration Request消息的源端口号,即PortA。进一步包括①当Registration Reply消息经过NAT-PT网关时,如果网关检测到这个消息是用UDP封装,而且它使用的源端口号为434,目的端口号是PortA(在前面的步骤A中被NAT-PT网关截获并存储在MIP-ALG中的那个端口号),同时根据UDP载荷数据中的第一个载荷类型来确认这个消息是家乡代理发往移动节点的注册应答消息,则MIP-ALG会对消息进行处理。②MIP-ALG从消息中取出移动节点的IPv4格式的家乡地址HoAv4,从地址映射表中取出移动节点的IPv6格式的转交地址CoAv6,然后建立HoAv4和CoAv6的对应关系,并把这个对应关系存储到MIP-ALG中,同时不破坏CoAv6在地址映射表中的映射。③NAT-PT网关把经过修改后的注册消息发送给移动节点。
E、移动节点收到家乡代理发送过来的注册应答消息后,则注册过程完成。
F、移动节点向通信节点发送数据包,数据包的源地址是移动节点的转交地址CoAv6,目的地址是通信节点的IPv6地址CNAv6。进一步包括①NAT-PT网关截获数据包后,如果发现数据包的源地址是CoAv6,目的地址是通信节点的IPv6地址CNAv6,则MIP-ALG会对数据包进行处理。②MIP-ALG把数据包的源地址CoAv6转换成其在MIP-ALG中的对应地址HoAv4,同时NAT-PT网关会把目的地址转换成通信节点的IPv4地址CNAv4。③通信节点收到数据包,其收到的数据包的源地址是HoAv4,目的地址是CNAv4,从而能保证通信的透明性。MIP-ALG的工作原理如图4所示。
(3)移动节点和家乡代理之间的认证根据Mobile IPv4的要求,在移动节点向家乡代理发送Registration Request消息和家乡代理向移动节点发送Registration Reply消息时移动节点和家乡代理之间需要进行身份认证。
具体过程包括A、这个认证需要在消息中增加一个Mobile-Home Authentication Extension(移动节点和家乡代理认证扩展头),Mobile-Home Authentication Extension的格式如图5所示,其中Type字段表明扩展的类型,在Mobile IPv4中,定义Mobile-Home Authentication Extension的类型值是32;Length字段表明Length字段之后所有字段的总长度,包括SPI字段和Authenticator字段;SPI(安全参数索引)字段定义了用来计算Authenticator字段的安全上下文,SPI必须由接收者用于检查该Authenticator的值,同时SPI选择了认证算法和认证模式以及用来计算Authenticator的密钥,SPI不能使用0到255的值;Authenticator字段用来存放通过计算得到的认证值。
B、移动节点向家乡代理发送Registration Request消息过程中移动节点和家乡代理之间的认证。进一步包括①移动节点移动到外地网络后新获得一个转交地址,移动节点通过向家乡代理发送Registration Request消息来注册这个新的转交地址,Registration Request消息的格式如图6所示。②在移动节点向家乡代理发送Registration Request消息之前,为了计算认证值需要定义Registration Request消息中各个字段的初始值。对于一些在传输过程中不发生变化的字段如Type、S、B、D、M、G、r、T、x、Life Time、Home Address、Identification以及Mobile-Home Authentication Extension中的Type、Length、SPI,按照正常的情形参与计算。由于移动节点在注册之前就知道家乡代理的IPv4地址,家乡代理字段设置为家乡代理的IPv4地址;对于Care-of Address字段,由于移动节点只知道它的IPv6格式的地址,而在这里需要它的IPv4格式的地址,把这个字段的初始值置为零。③认证值的计算可以通过HMAC-MD5算法来进行的,其计算公式为MAC=HMAC-MD5(Key,Message),其中Key是密钥,HMAC-MD5是算法,它们是由SPI定义的,Message是上面提到的那些参与计算的字段,MAC是计算得到的认证码,这个值添加到Authenticator字段,作为认证的标志。④移动节点向家乡代理发送Registration Request消息。⑤家乡代理收到移动节点发送来的Registration Request消息后,首先进行认证(家乡代理使用和移动节点同样的认证算法和认证模式重新计算移动节点发送来的Registration Request消息,得到一个新的值,用这个值和Registration Request消息中Authenticator字段的值进行比较),如果两个值相同,则认证通过,家乡代理向移动节点发送一个注册应答确认消息;如果两个值不同,则认证没有通过,家乡代理向移动节点发送一个拒绝请求的消息。
C、家乡代理向移动节点发送Registration Reply(注册应答)消息过程中移动节点和家乡代理之间的认证。Registration Reply消息的格式如图7所示。进一步包括①家乡代理向移动节点发送应答消息之前也需要计算一个认证值,参与计算的部分是注册应答消息的UDP的载荷数据,由于家乡代理处于IPv4网络,不需要对消息中的字段值进行特殊定义,按正常约定初始值进行计算,计算算法和模式同上。②家乡代理向移动节点发送Registration Reply(注册应答)消息。③移动节点收到家乡代理发送的Registration Reply(注册应答)消息后,首先利用Registration Reply消息中的Code字段的值进行判断,如果Code字段的值为0则表明家乡代理接受了移动节点的注册请求;如果Code字段的值为1则表明家乡代理也接受了移动节点的注册请求,但不支持同时绑定多个转交地址。④然后进行认证,移动节点通过计算家乡代理发送来的Registration Reply消息,得到一个新的值,用这个值和Registration Reply消息中Authenticator字段的值进行比较,如果两个值相同,则认证通过,如果两个值不同,则认证没有通过。
(4)通信节点发起向移动节点的通信通信节点发起向移动节点的通信,具体过程包括A、通信节点向移动节点发送数据包,中间必须经过家乡代理,其源地址是通信节点的IPv4格式的地址CNAv4,目的地址是移动节点的IPv4格式的家乡地址HoAv4。
B、数据包经过家乡代理时,家乡代理对数据包进行IP-IN-IP封装,把原来的数据包作为载荷建立一个新的数据包,以隧道模式发送给移动节点其源地址是家乡代理的IPv4格式的地址HAAv4,目的地址是移动节点IPv4格式的地址CoAv4。
C、数据包经过NAT-PT网关时,首先根据数据包的内部IP头的源地址和目的地址判断这个数据包是由通信节点发往移动节点的,然后由NAT-PT网关把外部IP头的源地址和目的地址转换成IPv6格式,具体地,NAT-PT网关会给这个IPv4格式的家乡代理地址HAAv4加上96位的NAT-PT网关前缀得到一个IPv6地址HAAv6作为数据包外部IP头中新的源地址;以目的地址为关键词查找地址映射表,找到移动节点的IPv6地址CoAv6作为数据包外部IP头中新的目的地址。除此外,NAT-PT网关还会对数据包的其他部分做相应转换。
D、然后NAT-PT网关把新的数据包发送给移动节点,移动节点对数据包进行解封装后,得到一个以CNAv4为源地址,以HoAv4为目的地址的数据包,从而实现通信节点和移动节点之间的透明性通信。
除了上述几点外,本发明的实施还应用了现有的Mobile IP的一些技术和原则,主要包括1、在IPv6网络中,无论是在家乡网络还是外地网络,移动节点的家乡地址都不会改变。当移动节点处于家乡网络时,移动节点通过常规的IP路由机制收发数据报文;2、移动节点通过接收移动代理广告消息判断自己处于家乡网络还是外地网络;3、移动节点到达外地网络后,获得转交地址。发往此转交地址的数据报文会被发送到移动节点;4、移动节点会向家乡代理发送注册请求消息以注册其获得的转交地址;5、通信节点与移动节点的通信采用常规的方式,通信节点发往移动节点的数据包必须经过家乡代理,同时家乡代理与NAT-PT网关之间采取隧道模式。


图1为在异构网络之间进行DNS查询的基本原理示意图;图2为Mobile IPv4技术的基本原理示意图;图3为Mobile IPv6技术的基本原理示意图;图4为MIP-ALG的工作原理5为Mobile-Home Authentication Extension格式示意6为Registration Request消息的格式示意7为Registration Reply消息的格式示意8为本发明示意图。
具体实施例方式
本发明提供了一种实现移动节点从IPv4网络切换到IPv6网络的通信方法,其基本思想是移动节点同时支持IPv4和IPv6协议,以使移动节点在不同的网络能用相应的协议通信;家乡代理HA和通信节点CN具有域名,能通过域名查询得到其IP地址;在IPv4网络和IPv6网络之间设置带有DNS-ALG的NAT-PT网关,移动节点从IPv4网络移动到IPv6网络之后,通过DNS查询到家乡代理及其通信节点的IP地址,用于后续的注册、通信过程,从而保证通信的连续性,并且支持路由优化;在IPv4网络和IPv6网络之间的NAT-PT网关上同时设置一个MIP-ALG,用来取数据包中的移动节点的家乡地址HoAv4和移动节点的转交地址CoAv6,同时建立一个HoAv4和CoAv6的映射,从而保证通信的连续性和透明性;为了保证通信的安全性,必须实现移动节点和家乡代理之间的认证,为了计算认证数据,为Registration Request(注册请求)消息中的Care-of Address字段定义了初始值。
下面给出本发明的一个实例,并结合图8详细说明本发明的具体实施方式

1、移动节点通过IPv6的邻居发现机制检测自己是否已经从IPv4网络进入IPv6网络。
IPv6的移动代理(可以是外地网关)会周期性地在所在网络发送代理广告消息以表明它们的存在,其中包含该IPv6网络的前缀。移动节点接收到代理广告消息后,检查其中的网络前缀,就可以判断自己是否已经从IPv4网络移动到IPv6网络。移动节点也可以通过向移动代理发送代理请求消息请求移动代理向自己发送代理广告。
2、移动节点在所在的IPv6网络获得一个转交地址CoAv6。
IPv6网络没有外地代理。当移动节点移动到IPv6网络上时,它采用IPv6定义的地址自动配置方法得到在此IPv6网络上的转交地址。
3、移动节点通过家乡代理的域名查询到家乡代理的IPv6格式地址HAAv6。
移动节点获得转交地址后要向家乡代理注册,而注册前移动节点必须知道家乡代理的IP地址才能发送注册消息。在本发明中,移动节点是通过DNS查询获得家乡代理的IP的地址的。
移动节点向IPv6网络里的DNS服务器发送DNS查询请求查询家乡代理的IP地址,IPv6网络里的DNS服务器查找不到相关记录就会向IPv4网络里的DNS服务器查询。IPv4网络里的DNS服务器找到上述域名的相关记录,并返回一条应答消息,该应答消息包含与上述域名对应的IPv4格式的IP地址。上述应答消息经过NAT-PT网关时,NAT-PT网关会给这个IPv4格式的IP地址加上96位的NAT-PT网关前缀得到一个IPv6地址,并通过DNS-ALG修改该应答消息。移动节点收到上述应答消息,就知道家乡代理的IPv6格式的地址HAAv6了。
4、移动节点通过Registration Request(注册请求)消息向其家乡代理注册新的转交地址。
移动节点从IPv4网络移动到IPv6网络后,后续的注册、通信过程都要跨越异构网络,移动节点为了向家乡代理注册其新获得的转交地址CoAv6,家乡代理向移动节点发送Registration Request消息,此消息需要经过带有DNS-ALG和MIP-ALG的NAT-PT网关,NAT-PT网关会对消息进行处理,具体地如下。
①当移动节点向家乡代理发送Registration Request消息时,此消息的源地址是移动节点的转交地址CoAv6,目的地址是家乡代理的IPv6格式地址HAAv6。由于Registration Request消息是用UDP封装的,其目的端口号是434,可以把UDP封装和目的端口号联合起来作为一个MIP-ALG对数据包进行处理的标志。当一条消息到达NAT-PT网关后,如果NAT-PT网关发现它是UDP数据包,而且使用的目的端口号是434,同时根据UDP载荷数据中的第一个载荷类型来确认这个消息是移动节点发往家乡代理的注册请求消息,则截获此消息的源端口号,并把它存储在MIP-ALG中,我们把这个端口号定义为PortA,这个端口号将在后面用到。
②NAT-PT网关对地址进行处理,具体地,对消息的源地址,即移动节点的IPv6格式的转交地址CoAv6,NAT-PT网关从地址池中分配一个IPv4格式的地址(记作CoAv4)来替换CoAv6作为新的源地址,同时在地址映射表中建立一个CoAv4和CoAv6的映射;对消息的目的地址—家乡代理的IPv6格式的地址HAAv6,NAT-PT网关会去掉这个IPv6格式的地址的96位前缀得到一个IPv4格式的地址HAAv4,并通过DNS-ALG修改该应答消息。
③转换完成后,NAT-PT网关把新的Registration Request消息发送给家乡代理。
④家乡代理收到移动节点发送过来的Registration Request消息后,进行认证,如果通过认证的话,家乡代理将向移动节点发送一个Registration Reply消息。
由于此过程中需要实现移动节点和家乡代理之间的认证,需要在注册请求消息中添加一个Mobile-Home Authentication Extension(移动节点和家乡代理认证扩展头),这个头中的各个字段在前面已经介绍过了。同时在移动节点向家乡代理发送Registration Request消息之前,为了计算认证值需要定义Registration Request消息中各个字段的初始值,对于一些在传输过程中不发生变化的字段如Type、S、B、D、M、G、r、T、x、Life Time、Home Address、Identification以及Mobile-Home Authentication Extension中的Type、Length、SPI,按照正常的情形参与计算;由于移动节点在注册之前知道家乡代理的IPv4地址,把家乡代理字段设置为家乡代理的IPv4地址;对于Care-of Address字段,由于移动节点只知道它的IPv6格式的地址,而在这里需要它的IPv4格式的地址,把这个字段的初始值置为零;Authenticator字段存放计算得到的认证值,这个值用来作为家乡代理对移动节点的认证标志,Authenticator字段本身不参与计算。
认证值的计算是通过HMAC-MD5算法来进行的,不过也可以用其它算法,由SPI决定,HMAC-MD5算法产生一个128位的值,只取其中的前96位值作为认证值,其计算公式为MAC=HMAC-MD5(Key,Message),其中Key是密钥,HMAC-MD5是算法,它们是由SPI定义的,Message是上面提到的那些参与计算的字段,MAC是计算得到的认证码,这个值添加到Authenticator字段,作为认证的标志。
5、家乡代理收到注册请求消息后向移动节点发送Registration Reply(注册应答)消息。
①家乡代理收到移动节点发送来的Registration Request消息后,首先进行认证(家乡代理使用和移动节点同样的认证算法和认证模式重新计算移动节点发送来的RegistrationRequest消息,得到一个新的值,用这个值和Registration Request消息中Authenticator字段的值进行比较),如果两个值相同,则认证通过,家乡代理向移动节点发送一个注册应答确认消息;如果两个值不同,认证没有通过,家乡代理向移动节点发送一个拒绝请求的消息。家乡代理向移动节点发送应答消息之前也需要计算一个认证值,参与计算的部分是注册应答消息的UDP的载荷数据,由于家乡代理处于IPv4网络,不需要对消息中的字段值进行特殊定义,按正常约定初始值进行计算,计算算法和模式同上。
上述注册应答消息的源地址为家乡代理地址HAAv4,目的地址为CoAv4,这两个地址是从家乡代理接收到的注册请求消息中的目的地址和源地址拷贝而来。其目的端口号也是从家乡代理接收到的注册请求消息中的源端口号拷贝而来,即PortA,而源端口则为434。
②上述注册应答消息同样会经过NAT-PT网关并由NAT-PT网关转换成IPv6格式。具体地,NAT-PT网关会给这个IPv4格式的家乡代理地址HAAv4加上96位的NAT-PT网关前缀得到一个IPv6地址;以目的地址为关键词查找地址映射表,找到移动节点的IPv6地址CoAv6作为注册应答消息新的目的地址。除此外,NAT-PT网关还会对注册响应消息的其他部分做相应转换。
③另,当数据包经过NAT-PT网关时,如果网关检测到这个消息是用UDP封装,而且它使用的源端口号是434,目的端口号是PortA(在前面被NAT-PT网关截获的注册请求消息的源端口),同时根据UDP载荷数据中的第一个载荷类型来确认这个消息是家乡代理发往移动节点的注册应答消息,则MIP-ALG会从消息中取出移动节点的IPv4格式的家乡地址HoAv4,从地址映射表中取出移动节点的IPv6格式的转交地址CoAv6,同时不破坏CoAv6在地址映射表中的映射,然后建立HoAv4和CoAv6的对应关系,并把这种对应关系存储到MIP-ALG中。
④移动节点收到家乡代理发送过来的注册应答消息后,首先利用注册应答消息中的Code字段的值进行判断,如果Code字段的值为0则表明家乡代理接受了移动节点的注册请求;如果Code字段的值为1则表明家乡代理也接受了移动节点的注册请求,但不支持同时注册多个转交地址。然后再进行认证,如果认证通过,则获悉家乡代理已经接受注册请求,至此,移动节点完成了向家乡代理注册的操作,下面就可以开始通信节点和移动节点之间的通信了。
6、通信节点发起向移动节点的通信。
通信节点向移动节点发送数据包,中间必须经过家乡代理,其源地址是通信节点的IPv4格式的地址CNAv4,目的地址是移动节点的IPv4格式的家乡地址HoAv4。数据包经过家乡代理时,家乡代理对数据包进行IP-IN-IP封装,把原来的数据包作为载荷建立一个新的数据包,以隧道模式发送给移动节点,其源地址是家乡代理的IPv4格式的地址HAAv4,目的地址是移动节点IPv4格式的地址CoAv4。数据包经过NAT-PT网关时,首先根据数据包的内部IP头的源地址和目的地址判断这个数据包是由通信节点发往移动节点的,然后由NAT-PT网关把外部IP头的源地址和目的地址转换成IPv6格式,具体地,NAT-PT网关会给这个IPv4格式的家乡代理地址HAAv4加上96位的NAT-PT网关前缀得到一个IPv6地址HAAv6作为数据包外部IP头中新的源地址;以目的地址为关键词查找地址映射表,找到移动节点的IPv6地址CoAv6作为数据包外部IP头中新的目的地址。除此外,NAT-PT网关还会对数据包的其他部分做相应转换。
然后NAT-PT网关把新的数据包发送给移动节点,移动节点对数据包进行解封装后,得到一个以CNAv4为源地址,以HoAv4为目的地址的数据包,从而实现通信节点和移动节点之间的透明性通信。
7、移动节点通过域名查询通信节点的IPv6地址。
移动节点在向通信节点发送数据包之前,移动节点需要知道通信节点的IPv6地址。在本发明中,移动节点是通过DNS查询获得通信节点的IPv6地址的。
移动节点向IPv6网络里的DNS服务器发送DNS查询请求查询通信节点的IP地址,IPv6网络里的DNS服务器查找不到相关记录就会向IPv4网络里的DNS服务器查询。IPv4网络里的DNS服务器找到上述域名的相关记录,并返回一条应答消息,该应答消息包含与上述域名对应的IPv4格式的IP地址CNAv4。上述应答消息经过NAT-PT网关时,NAT-PT网关会给这个IPv4格式的IP地址加上96位的NAT-PT网关前缀得到一个IPv6地址CNAv6,并通过DNS-ALG修改该应答消息。移动节点收到上述应答消息,就知道通信节点的IPv6格式的地址CNAv6了。
8、移动节点发起向通信节点的通信。
移动节点得到通信节点的IPv6格式的地址CNAv6后,移动节点向通信节点发送数据包,其源地址是移动节点的转交地址CoAv6,目的地址是通信节点的IPv6格式的地址CNAv6。NAT-PT网关截获数据包后,如果发现数据包的源地址是CoAv6,目的地址是通信节点的IPv6地址CNAv6,则MIP-ALG会对数据包进行处理,把数据包的源地址CoAv6转换成其在MIP-ALG中的对应地址HoAv4,同时NAT-PT网关会把目的地址转换成通信节点的IPv4地址CNAv4。除此外,NAT-PT网关还会对注册响应消息的其他部分做相应转换。然后NAT-PT网关把转换后新的数据包发送给通信节点。
通信节点接收发送过来的数据包,其收到的数据包的源地址是HoAv4,目的地址是CNAv4,从而能保证移动节点和通信节点之间通信的透明性。
上面的步骤1、2、3、4、5、6、7、8分别对应图8中的步骤①、②、③、④、⑤、⑥、⑦、⑧。具体见图8,为本发明示意图。
从本发明的上述具体实施方式
可以看出,本发明的实施是建立在充分利用现有MobileIPv4技术和Mobile IPv6技术的基础上的。由于在本发明所讨论的问题中,移动节点原先是在IPv4网络里通信,后来移动到IPv6网络的,因此,移动节点需要同时支持IPv4和IPv6协议。此外,由于家乡代理和通信节点均处于IPv4网络,移动节点从IPv4网络移动到IPv6网络之后,注册、通信等数据报文都必须穿越IPv6网络到达IPv4网络,这就给地址的处理带来困难。本发明利用NAT-PT网关加上DNS-ALG的功能,使移动节点能够通过域名查询的方式获得家乡代理以及通信节点的IPv6地址,从而解决了注册、通信穿越IPv6网络的问题。同时为了实现移动节点和通信节点的透明性通信,利用NAT-PT网关加上MIP-ALG的功能,在地址映射表里建立一个移动节点的IPv4格式的家乡地址HoAv4和移动节点的IPv6格式的转交地址CoAv6的映射。最后,在注册请求消息和注册应答消息中,出于安全性和可靠性方面的考虑,移动接点和家乡代理之间需要做认证,因此在注册请求消息和注册应答消息中都添加了一个Mobile-Home Authentication Extension,同时为了计算认证值,对消息中的一些字段的值进行了定义。通过上述具体实施方式
的各个步骤,解决了移动节点从IPv4网络切换到IPv6网络后的注册、通信问题。
权利要求
1.一种实现移动节点从IPv4网络切换到IPv6网络的通信方法,包括A、设定移动节点的家乡代理是有域名的,通过域名查询的方式可以得到其IP地址;B、在IPv4网络和IPv6网络之间设置带有DNS-ALG的NAT-PT网关;C、在IPv4网络与IPv6网络之间的NAT-PT网关上再增置一个MIP-ALG;D、定义了注册请求消息中移动节点转交地址字段的初始值,把这个初始值置为0,用于移动节点和家乡代理之间进行认证时计算认证数据。
2.在权利要求1所述B步骤之前,移动节点根据移动代理广告消息获知自己已经从IPv4网络移动到IPv6网络并在所在IPv6网络获得一个转交地址。
3.在权利要求2所述步骤之后,移动节点向家乡代理注册,具体包括以下四个步骤(1)移动节点通过家乡代理的域名查询到家乡代理的IPv6地址;(2)移动节点向家乡代理发送注册请求消息以注册其转交地址;(3)家乡代理处理上述注册请求消息并向移动节点发送注册应答消息;(4)移动节点接收家乡代理发送的注册应答消息。
4.在权利要求3所述步骤(1)中,移动节点通过家乡代理的域名查询到家乡代理的IPv6地址,其过程是(1)移动节点向IPv6网络内的DNS服务器发送关于家乡代理的DNS查询请求;(2)IPv6网络内的DNS服务器把该查询请求转发到IPv4网络内的DNS服务器;(3)IPv4网络内的DNS服务器成功解析该域名,并发送一条应答消息,该应答消息里面含有家乡代理的IPv4地址;(4)上述应答消息经过NAT-PT网关时,NAT-PT网关会给家乡代理的IPv4地址加上一个96位的前缀得到一个IPv6地址,并对上述应答消息做适当修改;(5)移动节点收到上述经过修改的应答消息,从而获得家乡代理的IPv6地址。
5.在权利要求3所述步骤(2)中,移动节点向家乡代理发送注册请求消息以注册其转交地址,具体包括(1)移动节点向家乡代理发送注册请求消息;(2)在发送之前,定义了注册请求消息中一些字段的初始值,并计算认证值;(3)NAT-PT网关截获消息,利用MIP-ALG对消息进行处理;(4)家乡代理接收注册请求消息。
6.在权利要求3所述步骤(3)、(4)中,家乡代理处理上述注册请求消息并向移动节点发送注册应答消息,移动节点接收家乡代理发送的注册应答消息。具体包括(1)家乡代理重新计算认证值,如果认证通过,家乡代理向移动节点发送注册应答消息,如果认证没有通过,则向移动节点发送拒绝请求消息;(2)家乡代理向移动节点发送注册应答消息,在发送消息之前家乡代理需要计算认证值,此时对注册应答消息中的字段的值不作特殊定义;(3)NAT-PT网关截获消息,利用MIP-ALG对消息进行处理;(4)NAT-PT网关把处理后的消息发送给移动节点;(5)移动节点接收消息后,首先通过消息中的Code字段的值进行判断,如果Code字段的值为0,则表明家乡代理接受了移动节点的注册请求;如果Code字段的值为1,也表明家乡代理接受了请求,但不支持同时注册多个转交地址。然后进行认证,移动节点通过计算家乡代理发送来的Registration Reply消息,得到一个新的值,用这个值和Registration Reply消息中Authenticator字段的值进行比较),如果两个值相同,则认证通过,如果两个值不同,则认证没有通过。
7.在权利要求5所述步骤(3)中,NAT-PT网关截获消息,利用MIP-ALG对消息进行处理,具体包括(1)NAT-PT网关截获消息后,如果NAT-PT网关发现消息是UDP数据包,而且使用的目的端口号是434,同时根据UDP载荷数据中的第一个载荷类型来确认这个消息是移动节点发往家乡代理的注册请求消息,则截获此消息的源端口号,并把它存储在MIP-ALG中,把这个端口号定义为PortA;(2)NAT-PT网关对地址进行处理,形成新的数据包并发送给家乡代理。
8.在权利要求6所述步骤(3)中,NAT-PT网关截获消息,利用MIP-ALG对消息进行处理,具体包括(1)NAT-PT网关截获消息后,如果NAT-PT网关发现消息是UDP数据包,而且它使用的源端口号为434,目的端口号是PortA(在前面被NAT-PT网关截获的注册请求消息的源端口),同时根据UDP载荷数据中的第一个载荷类型来确认这个消息是家乡代理发往移动节点的注册应答消息,则MIP-ALG会从消息中取出移动节点的IPv4格式的家乡地址HoAv4,从地址映射表中取出移动节点的IPv6格式的转交地址CoAv6,同时不破坏CoAv6在地址映射表中的映射,然后建立HoAv4和CoAv6的对应关系,并把这种对应关系存储到MIP-ALG中;(2)NAT-PT网关对地址进行处理,形成新的数据包并发送给移动节点。
9.通信节点发往移动节点的数据报文需要经过家乡代理,具体包括(1)通信节点向移动节点发送数据包,中间必须经过家乡代理,其源地址是通信节点的IPv4格式的地址CNAv4,目的地址是移动节点的IPv4格式的家乡地址HoAv4;(2)数据包经过家乡代理时,家乡代理对数据包进行IP-IN-IP封装,把原来的数据包作为载荷建立一个新的数据包,以隧道模式发送给移动节点其源地址是家乡代理的IPv4格式的地址HAAv4,目的地址是移动节点IPv4格式的转交地址CoAv4;(3)NAT-PT网关截获数据包,首先根据数据包的内部IP头的源地址和目的地址判断这个数据包是由通信节点发往移动节点的,然后由NAT-PT网关把外部IP头的源地址和目的地址转换成IPv6格式,形成新的数据包并发送给移动节点,移动节点收到数据包后对数据包进行解封装,得到一个以CNAv4为源地址,以HoAv4为目的地址的数据包,从而实现通信节点和移动节点之间的透明性通信。
10.移动节点发起向通信节点的通信,具体包括(1)在向通信节点发送数据包之前,移动节点通过DNS查询获得通信节点的IPv6地址;(2)移动节点向通信节点发送数据包,其源地址是移动节点的转交地址CoAv6,目的地址是通信节点的IPv6格式的地址CNAv6;(3)NAT-PT网关截获数据包后,如果发现数据包的源地址是CoAv6,目的地址是通信节点的IPv6格式的地址CNAv6,则MIP-ALG会对数据包进行处理,把数据包的源地址CoAv6转换成其在MIP-ALG中的对应地址HoAv4,同时NAT-PT网关会把目的地址转换成通信节点的IPv4地址CNAv4;(4)通信节点接收发送过来的数据包,其收到的数据包的源地址是HoAv4,目的地址是CNAv4,从而能保证移动节点和通信节点之间通信的透明性。
全文摘要
本发明涉及一种实现移动节点从IPv4网络切换到IPv6网络的通信方法,具体地,本发明要解决的问题是家乡代理和通信节点均处于IPv4网络,移动节点从IPv4网络移动到IPv6网络的过程中,如何保证通信的连续性。本发明是这样实现的家乡代理HA具有域名,能通过域名查询得到其IP地址;在IPv4网络和IPv6网络之间设置带有DNS-ALG的NAT-PT网关,移动节点从IPv4网络移动到IPv6网络之后,通过DNS查询到家乡代理和通信节点的IP地址;在IPv4网络和IPv6网络之间的NAT-PT网关上同时增置一个MIP-ALG,用来取数据包中的移动节点的家乡地址HoAv4和移动节点的转交地址CoAv6,同时建立一个HoAv4和CoAv6的映射;为了计算认证值实现移动节点和家乡代理之间的认证,把注册请求消息中移动节点转交地址字段的初始值置为0。
文档编号H04Q7/38GK101030936SQ20071002740
公开日2007年9月5日 申请日期2007年4月5日 优先权日2007年4月5日
发明者马争鸣, 向征, 谭庆宇, 张旭韬, 何尚桥, 熊佳妮 申请人:中山大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1