发明内容:
本发明所要解决的问题是提供一种实现基于动态端口建立随机隧道的方法,以解决固定端口隧道所造成的系统在传送数据过程中效率低下和易受攻击的问题。
解决上述问题的技术方案是:
1)漫游到扩展网络域的移动节点通过接入管理实体与它的基本域管理实体之间进行注册;
2)基本域管理实体利用注册请求消息进行动态地协商数据端口,隧道实现所依赖的数据端口不必事先配置,由系统自身进行动态协商管理;
3)接入管理实体使用该端口作为隧道端口,实现了能穿越NAT的随机多隧道柔性IP网络技术体系。
4)隧道创建后,建立隧道漫游撤销机制。
具体说,该发明使得基本域管理实体为不同扩展域的移动节点或位于不同的NAT或不同路由位置的移动节点分别动态协商随机的端口。
实现的动态端口隧道保证了在任何允许从内部访问外部网络UDP数据的网络环境中,都能够有效的穿越NAT,动态地协商数据传送的端口,并由系统为隧道协商数据端口,这种方法将给移动IP系统的使用推广带来很大的灵活性;同时为不同的移动节点建立不同的隧道,可以提高数据传送的效率、增加管理控制的灵活性,避免针对固定端口的拒绝服务攻击,使用户发生在不同的扩展网络域间移动、隧道超时等环境下,可自动完成隧道的切换和漫游,保证隧道的可用性和安全性。
本发明的随机隧道的建立是通过接入管理实体、基本域管理实体、扩展域管理实体(或移动节点)三者动态协商出数据端口完成的,在无需配置的情况下可以正常动态建立随机的数据隧道。首先接入管理实体根据注册请求消息,创建随机端口,然后通过注册消息所用的端口告知基本域管理实体和扩展域管理实体,基本域管理实体和扩展域管理实体(或移动节点)通过内部发起数据访问,建立随机数据连接,然后三者分别建立数据隧道,完成随机隧道的建立,超时或漫游用户切换扩展域后,数据隧道会重新建立,完成隧道的漫游。
随机端口的建立对用户NAT透明,不需要进行特殊的设置,仅要求NAT允许用户从NAT内部发起的正常UDP访问是被允许的。
具体实施方式:
以下针对柔性IP网络技术体系中如何利用动态端口协商实现建立随机隧道进行详细描述,包括随机端口的分配策略、利用注册请求消息进行随机端口的协商,以及对建立完成的随机端口隧道的映射机制、隧道建立后的漫游撤销机制。
图1给出了本发明使用的一般网络环境。图中1-基本域管理实体;2-防火墙,基本网络域的防火墙;3-接入管理实体;4-Internet;5-防火墙,扩展网络域的防火墙;6-移动节点。
1、随机端口的分配策略。接入管理实体上设置随机端口的分配策略:可以指定为由系统完全动态分配,或者在限定的端口范围内进行动态分配。两种分配策略对于用户NAT来说都是随机的端口,无需进行端口映射和特殊设置;基本域管理实体通常直接进行端口的完全动态分配。
在限定端口范围的分配情况下,系统维护一个端口使用的状态表,在分配时选择一个未用的端口号,并更改状态为占用;当隧道拆除或协商被取消时,恢复状态为可用,全部端口均占用后,将通知相关的移动节点无可用的系统资源,同时清除该移动节点占用的系统资源。
2、数据端口的分配策略确定后,其实现过程伴随移动节点的注册请求和应答完成。接入管理实体利用注册请求消息进行动态地协商数据端口,即:利用柔性IP网络技术体系的认证通道进行各种必须的端口协商和消息交互,认证流程记录上次通信的源地址,并周期性发送,从而保证了端口协商消息的可达性。动态端口协商的流程如图4所示。
3、柔性IP网络技术体系首先通过固定UDP端口建立基本域管理实体与接入管理实体的认证连接。移动节点移动到扩展网络域后,首先创建认证端口,经过接入管理实体向基本域管理实体的固定认证UDP端口发送注册请求消息,注册请求消息中携带了需要为移动节点建立UDP隧道的标志信息,该标志信息在接入管理实体和基本域管理实体、扩展域管理实体上将会被检测,以决定移动节点是否需要动态协商UDP隧道的支持,如果需要,将进行后续的协商操作;否则,如果请求访问基本域管理实体的方式为直接路由访问,则不必建立UDP隧道,不需要动态协商数据端口。
4、接入管理实体利用注册请求消息进行动态地协商数据端口:
4.1、接入管理实体接收到移动节点发给基本域管理实体的注册请求消息并处理,此时,接入管理实体可以依据端口分配策略动态分配数据端口,或者等待基本域管理实体验证通过,并收到基本域管理实体发送的注册应答消息后再分配该端口。其中限定端口范围的端口协商根据系统维护的端口使用状态表,选择本次的端口,并设置使用状态。接入管理实体端口使用状态表如图2所示。
4.2、接入管理实体端口分配完成后,通过固定UDP认证端口给基本域管理实体和扩展域管理实体(或移动节点)发送端口通知消息。该消息中携带了接入管理实体的可路由IP地址和为某移动节点当前请求分配的数据端口,以及用于表明消息服务对象的移动节点的IP地址。端口通知消息的结构如图3所示。
4.3、基本域管理实体和扩展域管理实体接收到端口通知消息后,也分别动态分配一个数据端口用于端口协商。该传输端口建立后,不需要通知接入管理实体和对方扩展域管理实体,而是直接向接入管理实体的数据端口发送数据连接消息,该消息包含移动节点的IP地址表明消息的服务对象。
4.4、接入管理实体得到数据连接消息后,获取双方NAT网关上的动态地址(包括IP和传输端口),对于没有NAT设备的一端(直接使用可路由地址),获取的地址直接为它的IP和端口。
4.5、接入管理实体通知把检测到的NAT动态端口通过固定UDP认证端口,以数据端口通知消息通知对方管理实体(把基本域管理实体的NAT地址信息通知给扩展域管理实体或移动节点,同时把扩展域管理实体或移动节点的地址信息通知基本域管理实体)。
5、消息通知完成后,基本域管理实体、接入管理实体、扩展域管理实体(或移动节点)三方都获得了动态的随机端口。本次移动节点的数据通信就以本次协商的随机端口建立,完成随机隧道的创建。整个创建中柔性IP网络技术体系自动完成端口的分配和协商,对用户和原有的网络设备透明。
6、在基本域管理实体和移动接入管理实体上,对于不同NAT后面的移动节点分别建立不同的随机隧道,隧道的协商由移动节点的请求发起。
7、移动节点的相应随机隧道建立后,如果超时或者用户主动关闭本地连接,整个隧道会自动重新协商。其中漫游条件的判断根据以下条件分析,如果超时无隧道连接消息、注册请求消息的源地址显示发生了切换,系统将进行隧道的漫游。
本发明的技术可以在一系列的软件和软硬混合系统实现,实现的系统能够动态地协商出隧道端口,完成数据传送。
本发明所说的接入管理实体是具有可在因特网路由IP地址的网络设备,它位于基本域管理实体与扩展域管理实体之间,注册请求消息以及数据包转发的中继设备。接入管理实体在移动节点从扩展网络域访问基本网络域时提供接入服务,对基本域管理实体和扩展域管理实体进行双向认证,允许移动节点和基本网络域建立连接,响应移动节点远程接入基本网络域的请求。
本发明所涉及的其它相关技术术语如下:
1基本域管理实体:有一个端口与移动节点所在的基本网络域相连的网络设备,为发生漫游的移动节点提供权限认证以及身份代理。
2扩展域管理实体:在移动节点的扩展网络域上的网络设备,为移动节点转发身份认证消息以及数据包。
3接入管理实体:具有可在因特网路由的IP地址的网络设备,它位于基本域管理实体与扩展域管理实体之间,对移动节点身份进行认证以及转发移动节点数据包的中继设备。
4基本网络域:移动节点漫游前所在的网络。
5扩展网络域:移动节点漫游后所到达的网络。
6IP隧道:是指基于IP的一个数据包被封装在另一个IP数据包的净负荷中进行传送时经过的路径。
7隧道技术:指包括数据封装,传输和解包在内的全过程。
8移动节点:可以将接入因特网的位置从一条链路切换到另一条链路上,而仍然保持所有正在进行的通信,并且只使用原有固定IP地址的设备。