三、发明内容
本发明解决了背景技术中的传统移动IP的NAT穿越方法不能保证有效穿越以及通信的效率和安全性得不到保证的技术问题。
本发明的技术解决方案是:一种柔性IP网络技术体系中利用接入管理实体实现NAT穿越的方法,其特殊之处在于:该方法包括以下步骤:
1)移动节点漫游到扩展网络域后,移动节点通过配置一个扩展网络域地址并发送注册请求给接入管理实体,接入管理实体转发注册请求给基本域管理实体;
2)注册成功将激发接入管理实体建立数据端口,并通知基本域管理实体和扩展域管理实体或移动节点建立数据端口,并通过此数据端口发起对接入管理实体数据端口的连接;
3)数据连接建立成功后,接入管理实体从连接中收集相关地址信息,并分别通知对方;
4)接入管理实体以刚才的数据端口建立隧道设备,扩展域管理实体或移动节点和基本域管理实体以获得的地址信息建立隧道设备;
5)移动节点发送数据包给基本网络域主机时,扩展域管理实体或移动节点把该数据包打包,使得该数据包内层源IP地址为接入管理实体IP地址,源端口号为接入管理实体的数据端口,目的地址的IP地址和端口分别为接入管理实体通知的基本域管理实体对应的NAT的可路由地址和基本域管理实体对应NAT映射的端口;外层源IP地址为扩展域管理实体或移动节点IP地址,目的地址为接入管理实体地址;打包完毕后,发送给接入管理实体;
6)接入管理实体接收到数据后去掉外层包头,直接路由转发;
7)数据被传送给基本域管理实体处理并转发给基本网络域主机。
上述步骤3)中,当基本域管理实体、扩展域管理实体分别位于不同的NAT后时,接入管理实体把基本域管理实体NAT的IP地址和端口通知给扩展域管理实体,同时把扩展域管理实体NAT的IP地址和端口通知给基本域管理实体。
上述步骤3)中,当基本域管理实体位于NAT后,扩展域管理实体配置有可路由的IP地址,接入管理实体把基本域管理实体NAT的IP地址和端口通知给扩展域管理实体,同时把扩展域管理实体的IP地址和端口通知给基本域管理实体。
上述步骤3)中扩展域管理实体位于NAT后,基本域管理实体配置有可路由的IP地址,接入管理实体把基本域管理实体的IP地址和端口通知给扩展域管理实体,同时把扩展域管理实体NAT的IP地址和端口通知给基本域管理实体。
本发明在柔性IP网络技术体系中为了有效地接收注册请求,在因特网和/或广域网范围内接入一台提供接入服务的专用服务器,即接入管理实体,可以使移动节点的注册请求消息能正常转发给基本域管理实体,接入管理实体在整个过程中采用了附加安全认证的消息转发机制,进行安全的注册请求和应答的中继,使得移动节点漫游到扩展网络域后,能够穿越扩展网络域NAT和基本网络域NAT,建立与基本域管理实体的通信,并且数据的传送使用一种可靠高效的转发机制,对任何允许内部发起正常数据访问的NAT,本发明都能可靠地实现穿越,同时又比通常的中间人转发方式效率有很大提高。
五、具体实施方式
柔性IP网络技术体系包括接入管理实体、基本域管理实体、扩展域管理实体、移动节点,在网络环境中接入管理实体配置了可路由的IP地址,能被私有网络主机访问。
基本域管理实体、扩展域管理实体在网络环境中存在NAT的情况下,有以下三种网络配置:
1、基本域管理实体、扩展域管理实体分别位于不同的NAT后,都配置有私有IP地址;
2、基本域管理实体位于NAT后,扩展域管理实体配置有可路由的IP地址;
3、扩展域管理实体位于NAT后,基本域管理实体配置有可路由的IP地址;
基本域管理实体和移动节点发送数据时采用隧道技术,该隧道包括可穿越NAT并路由到接入管理实体的地址信息,同时还包括接入管理实体如何进一步转发穿越对端NAT的地址信息。数据包从基本域管理实体或扩展域管理实体发出后,包括了原始数据包的IP源地址和目的地址,同时还携带了自身NAT地址、接入管理实体地址、对端NAT地址。整个NAT穿越的方法最终都依赖于三个设备上隧道的建立和使用基础上,由隧道设备进行信息的封装和拆封。
参见图1,以网络配置1为例,本发明的具体方法流程如下:
1)移动节点漫游到扩展网络域后,移动节点通过配置一个扩展网络域地址并发送注册请求给接入管理实体,接入管理实体转发注册请求给基本域管理实体。
2)注册成功将激发接入管理实体建立数据端口,并通知基本域管理实体和扩展域管理实体(或移动节点)建立数据端口,基本域管理实体和扩展域管理实体(或移动节点)通过此数据端口分别从两个NAT发起对接入管理实体数据端口的访问。由于接入管理实体具有可路由的网络地址,两端从NAT内部发起的访问能正常访问到该地址,用来在NAT上建立合法的端口地址映射。此时接入管理实体具有了向两端(基本域管理实体和扩展域管理实体)NAT上的映射端口发送数据信息的能力,该数据将被认为是内部发起数据的正常应答,因此可通过NAT,在NAT上目的地址被更改为内部地址,到达相应的主机或服务器。
3)数据连接建立成功后,接入管理实体从连接中收集相关地址信息,并分别通知对方。这样基本域管理实体就获得了接入管理实体的地址、扩展域管理实体或移动节点在扩展网络域NAT上的映射地址端口;扩展域管理实体或移动节点就获得了接入管理实体地址端口和基本域管理实体在NAT上映射的地址端口。此过程分以下三种情况:
a、当基本域管理实体、扩展域管理实体分别位于不同的NAT后时,接入管理实体把基本域管理实体NAT的IP地址和端口通知给扩展域管理实体,同时把扩展域管理实体NAT的IP地址和端口通知给基本域管理实体;
b、当基本域管理实体位于NAT后,扩展域管理实体配置有可路由的IP地址,接入管理实体把基本域管理实体NAT的IP地址和端口通知给扩展域管理实体,同时把扩展域管理实体的IP地址和端口通知给基本域管理实体;
c、当扩展域管理实体位于NAT后,基本域管理实体配置有可路由的IP地址,接入管理实体把基本域管理实体的IP地址和端口通知给扩展域管理实体,同时把扩展域管理实体NAT的IP地址和端口通知给基本域管理实体;
4)接入管理实体以刚才的数据端口建立隧道设备,扩展域管理实体(或移动节点)和基本域管理实体以获得的地址信息也建立隧道设备,以后数据的发送接收将通过这一系列隧道进行。
5)移动节点发送数据给基本网络域主机时,在有扩展域管理实体情况下,扩展域管理实体把该数据包打包,使得该数据包在第一阶段数据IP源地址为扩展域管理实体IP地址,目的地址为接入管理实体地址,此时数据包使用隧道协商时使用的本地源端口和目的端口,按照NAT映射规则,对应的映射端口保持不变;
数据包到达接入管理实体时,数据包的源地址为扩展网络域NAT地址和端口,目的地址端口为接入管理实体的地址及相应数据端口,接入管理实体接收并处理。
6)接入管理实体接收到数据后去掉外层包头,直接路由转发,该数据要从接入管理实体利用基本域管理实体数据端口在基本网络域NAT上的地址,让数据穿越NAT透传到基本域管理实体,由于数据包在内层包头中封装了这些信息,因此接入管理实体不需要对刚才的数据包进行重构包头的存储转发。数据包此时的包头地址为目的地址为基本网络域NAT上的映射地址和端口,源地址为接入管理实体地址和数据端口。
7)基本网络域NAT接收到数据后,由于NAT上维持有相应的端口映射,因此NAT会将数据透传,此时数据包头改变,源地址为接入管理实体地址端口,目的地址为基本域管理实体地址和数据端口,数据被传送给基本域管理实体处理并转发给基本网络域主机。完成移动节点给基本网络域主机传送数据的任务。
基本网络域主机给处于扩展网络域的移动节点发送数据也类似,在基本域管理实体上把内层、外层的地址信息封装,到达接入管理实体,接入管理实体把内层数据直接路由转发给扩展网络域的NAT,扩展网络域的NAT上维护着扩展域管理实体的端口映射,数据将透传到扩展网络域的扩展域管理实体上,并由扩展域管理实体转交给移动节点,完成数据发送。
移动节点在漫游过程中,三个实体上的隧道需要维护,主要目的是在没有数据传送的时候,保持周期性的数据连接流量,避免NAT上的端口映射超时丢失,造成数据连接的中断。
参见图2,移动节点发出的访问基本网络域的数据包格式
外层IP地址:源IP地址为扩展域管理实体的IP地址,目的IP地址为接入管理实体的IP地址
外层UDP端口:源端口为扩展域管理实体上的数据端口,目的端口为接入管理实体的数据端口
内层IP地址:源IP地址为接入管理实体的IP地址,目的IP地址为基本域管理实体对应NAT的可路由地址
内层UDP端口:源端口为接入管理实体的数据端口,目的端口为基本域管理实体对应NAT映射的端口
参见图3,移动节点发出的数据包在扩展网络域NAT与接入管理实体之间时的格式
外层IP地址:源IP地址为扩展域管理实体对应NAT的IP地址,目的IP地址为接入管理实体的IP地址
外层UDP端口:源端口为扩展域管理实体对应NAT上的数据端口,目的端口为接入管理实体的数据端口
内层IP地址:源IP地址为接入管理实体的IP地址,目的IP地址为基本域管理实体对应NAT的可路由地址
内层UDP端口:源端口为接入管理实体的数据端口,目的端口为基本域管理实体对应NAT映射的端口
参见图4,移动节点发出的数据包在接入管理实体与基本网络域NAT之间时的格式如下;
IP地址:源IP地址为接入管理实体的IP地址,目的IP地址为基本域管理实体对应NAT的可路由地址
UDP端口:源端口为接入管理实体的数据端口,目的端口为基本域管理实体对应NAT映射的端口
参见图5,基本域管理实体接收到的移动节点数据包的包头格式如下:
IP地址:源IP地址为接入管理实体的IP地址,目的IP地址为基本域管理实体的私有网络地址
UDP端口:源端口为接入管理实体的数据端口,目的端口为基本域管理实体的数据端口
名词解释:
1基本域管理实体:有一个端口与移动节点所在的基本网络域相连的网络设备,为发生漫游的移动节点提供权限认证以及身份代理。
2扩展域管理实体:在移动节点的扩展网络域上的网络设备,为移动节点转发身份认证消息以及数据包。
3接入管理实体:具有可在因特网路由的IP地址的网络设备,它位于基本域管理实体与扩展域管理实体之间,对移动节点身份进行认证以及转发移动节点数据包的中继设备。
4基本网络域:移动节点漫游前所在的网络。
5扩展网络域:移动节点漫游后所到达的网络。
6移动节点:可以将接入因特网的位置从一条链路切换到另一条链路上,而仍然保持所有正在进行的通信,并且只使用原有固定IP地址的设备。