经验 4546 分贝 0 家园分 9796 在线时间: 735 小时 最后登录: 2014-10-5 帖子: 1490 精华: 0 注册时间: 2006-7-13 UID: 113459
注册:2006-7-13
发表于 2007-12-5 09:20:00
| 显示全部楼层
引入独立于IP地址的主机标识解决移动IP缺陷
The introduction of identifier independent of IP address to avoid the defects of Mobile IP
摘要: 本文揭示了目前移动IP协议存在的逻辑缺陷,指出正是这个缺陷导致了移动IP三角路由问题。然后,给出一种新的移动IP框架。新的移动IP架构中引入了TCP层地址作为主机的标识,其移动性管理不是在网络层实现,而是在TCP层实现。该移动IP框架有望完美而巧妙地解决移动IP中的路由优化和切换问题。
Abstract: This paper reveals the logical defect of current Mobile IP, which leads to the problem of triangle routing. A new architecture of Mobile IP is proposed, in which a TCP layer address is introduced as the identifier of a host and the TCP layer provides management of mobility instead of the IP layer. This new architecture of Mobile IP is expected to avoid the problem of triangle routing and has better performance of handover.
关键词: 移动IP 三角路由 协议 家乡代理 移动性管理 TCP地址 移动TCP
Keywords: Mobile IP, triangle routing, protocol, home agent, management of mobility, TCP layer address, Mobile TCP
1 移动IP的缺陷
目前的移动IP存在两个主要缺陷,下面分别分析。
1.1 主机地址和网络地址混淆
传统的IP协议并未考虑主机的移动性管理,对于主机固定或整个子网同时移动然后以电路交换方式接入的情况,主机地址和网络地址合二为一不会产生问题。但是,在主机经常移动的情况,如果仍然用网络地址,也即IP地址来标识主机就存在问题。
从逻辑考虑,IP网络的子网是与空间位置相联系的,IP地址是网络中接入点的标识,即网络地址。因而,网络地址也就与地理位置相关。对于主机经常移动的情况,由于主机接入的子网经常变化,用网络地址标识主机显然存在问题。
上述情况表明,在移动的情况下,主机需要一个与网络地址独立的唯一标识。实际上,在移动电话网中情况正是这样。每个移动终端都有一个唯一的号码用于标识,但这个号码与网络中的路由没有关系。目前的移动IP由于采用移动主机的家乡网址(以下称归属地网址)标识主机,导致了以下两个问题。
第一,必须引入归属地代理,从而带来三角路由问题。因为需要与某个移动主机通信的对端主机无法根据IP地址(网址)确定移动主机的当前位置,只能把数据分组发送到移动主机的归属地代理。
第二,归属地代理需要为每一个漫游离开归属地的主机维护转交地址,并在代理和转交地址之间维护隧道连接。在归属地代理和转交地址之间,漫游主机在归属地分配的IP地址实际上起到了标识主机的作用,而不是用于确定路由。这实际上与为每个主机维护独立的路由表并无二致。因而,此种方案不符合IP网络的子网划分和路由聚合的理念。当然,这种方案也有一个重要的优点,那就是当移动主机的转交地址由于切换而改变时,可以维持原有的TCP连接不致中断,从而避免了重建TCP连接的开销。
如果突破网络地址与主机地址合二为一的思维定式,回到IP协议的基本宗旨就会发现,移动主机的IP地址(网络地址)在主机漫游过程变化是非常自然的,而为了维持TCP层以及TCP层之上的各个层的连接不致中断,移动主机恰恰需要一个稳定的TCP地址。
1.2 移动性管理能力受到限制
目前,移动IP的移动性管理主要由拜访地代理和归属地代理处理。拜访地代理为处于其管理区域内的移动主机提供接入链路,并周期性广播其管理区域的识别信息,以便漫游入的主机发现自己已经离开归属地。移动主机通过向拜访地代理发出请求获得在该拜访地代理管理区域内有效的网络地址,该网络地址通常称为转交地址。然后,移动主机向归属地代理注册此转交地址。归属地代理负责维护归属主机的转交地址,并在需要向漫游主机转发数据分组时建立与转交地址之间的隧道连接。
由上面的分析可见,归属地代理既要维护移动主机的位置信息,又要管理隧道连接,还要负责数据分组的转发。当移动主机数量多时,归属地代理可能成为网络瓶颈。在本文提出的移动IP 体系框架中,相当多的移动性管理将分散到移动主机上,从而使网络设备的结构得到简化。由于移动主机处理能力不断提高,移动主机分担移动性管理更符合分布式处理的潮流。
为了特指本文提出的移动IP 方案,本文以后的部分将称之为移动TCP。在移动TCP方案中,由于TCP地址和新的移动管理策略的引入以及移动主机分担了移动性管理,将不再依赖隧道技术,而且可以随时使用最优路由,解决了三角路由问题,同时保证了切换过程TCP以上各层连接的持续性。
2 移动TCP方案框架
实际上,现有移动IP 由于存在上述局限性,已经被证明不适合移动VOIP应用。H.323协议是IP网络上成熟的VOIP协议,但是它本身不包含移动性管理。为了支撑移动情况下的IP 电话,ITU-T提出了H.510协议,以便为H.323提供移动性管理。H.510吸取了移动电话网成熟的移动性管理思想,其网络结构和管理技术与移动电话网非常相似。故本文提出的移动TCP 方案将借鉴H.510的体系结构。有关H.510 的体系结构可参考有关标准和文献,这里不再赘述。
但是,H.510 是TCP层之上的专门为移动VOIP制定的移动性管理协议,它并不能为所有的移动应用提供移动性管理解决方案。同时,H.510协议比较复杂,目前还在不断完善之中,而且H.510未定义切换过程的管理。切换过程不能维持已存在的TCP连接。对于VOIP应用,话音一般采用UDP分组封装,保持TCP层的连接并不重要,切换仅导致短暂的话音中断。但是对于其它数据传输应用,重新建立连接将带来不必要的开销。
2.1 TCP 地址的引入
综合前面的阐述,主机的唯一标识、移动性管理、保持切换过程的连接是移动IP必须解决的三个问题。通过后面的论述可知,引入TCP地址是解决这三个问题的方法之一。引入TCP地址的方案包括以下要点。
1. TCP 地址的格式和子网的划分与IP地址相似,但TCP 地址不是标识网络接入点的网络地址,而是标识主机的主机地址;
2. 主机协议栈的IP层仍然需要IP地址,该地址用于确定数据分组的路由,功能与传统的IP地址相同。IP层并不知道TCP 地址的存在;
3. TCP 地址是从IPv6地址空间专门划分出的一部分,就像移动电话号码是专门的号段,便于区分使用和管理;
4. 利用TCP 地址可以支撑域名的多个别名,便于各种应用的寻址。例如,未来的移动终端(主机)可能运行多个应用,这些应用可能包括VOIP应用、浏览器应用、WEB服务等。对于VOIP应用,域名可以采用E.164格式的电话号码,而其他应用的域名可以采用通常的WEB网站的域名格式。DNS服务器将这些别名解析到同一个TCP 地址;
5. TCP 地址是主机的稳定标识,不随主机的漫游而变化,而主机对应的IP地址可以随接入位置而变化;
6. 在电话网中,同一个区域同时存在移动电话覆盖和固定电话服务。与电话网类似,同一个区域的IP网络也划分为移动IP网络和固定IP网络。从来不移动的固定主机接入固定IP网,移动主机接入移动IP网。同一个区域的固定IP网和移动IP网在本地通过网关互连。固定主机对移动主机的访问应通过本区域的网关实现;
7. 固定IP网内不必引入TCP 地址,其路由及寻址方式与传统IP网完全相同。固定主机使用移动主机的TCP 地址与之通信,它不知道移动主机IP地址的存在。固定主机发送给移动主机的分组由网关转换后转发给移动主机;
8. 移动主机使用固定主机的IP地址与之通信,目的IP地址为固定主机的分组被路由到网关后转发到固定IP网;
9. 引入TCP地址后,主机之间传送的分组的格式如图2-1所示。图中移动主机到固定主机的分组中,目的地址直接使用固定主机的IP地址。因为固定主机地址不会变化,在整个IP网络中指向固定子网的路由与传统的IP网络的路由方式相同。
10. 最能够体现移动移动TCP优越性的特性是固定主机发送给移动主机的分组直接使用移动主机的TCP地址。因为固定主机不必支撑移动性管理,它也无从知晓某个移动主机当前的IP地址,故它直接使用移动主机的TCP地址。在固定网中目的地址为TCP地址的分组被路由到网关。由于TCP地址是单独划分的一部分地址空间,这种地址很容易识别。这种分组到达网关之后,由网关确定目的主机当前的IP地址并转发。假如移动主机的标识不是采用与IP地址结构相同的TCP地址,处理会比较麻烦。
2.2 网络结构和路由方式
本文提出的移动TCP 协议相应的网络架构模型如图2-2 所示。该模型参考了移动电话网和H.510 建议的网络结构。
图中的HLF、AuF 与H.510 建议中相应实体的功能基本相同。VLF与H.510 建议中的VLF有所不同,移动TCP 架构中的VLF更像GSM移动通信网中的MSC。VLF的主要功能是实现接入链路的管理、接入终端的认证(与HLF配合完成)、切换管理等。
在支撑移动TCP 协议的移动IP网络中,普通的数据分组的路由方式传统的IP网络相同。这些普通数据分组的目的地址域内的IP地址是目的主机当前的IP地址。网络中还有一些特殊的分组,这些特殊的分组通常是一些控制分组,例如移动性管理分组。下面以TCP地址解析分组为例讨论这些特殊分组的路由方式。
本文前面已经提到,一个主机与移动主机建立连接之前,通常首先需要解析移动主机域名。这个域名可以是通常的互联网域名,也可以是E.164格式的电话号码,以及其他格式的合法域名。通过域名解析可以得到目的主机的TCP地址。但是,要完成与移动主机的通信,还需要通过TCP地址得到其当前的IP地址,这个过程称之为TCP地址解析。为了阐述TCP地址解析分组的路由方式,首先给出TCP地址解析的机制。
图2-2 移动TCP 网络架构模型
假设移动主机H1要与H2通信,H1应首先向H2的归属HLF,记为HLF2,发送TCP地址解析请求分组。由于网络中引入了终端认证设备AuF和终端认证机制,移动主机接入网络之前已经完成身份的认证,这就基本杜绝了恶意攻击者接入的可能,即使发生恶意攻击,也很容易确定攻击者。所以,HLF2可以放心地响应TCP地址解析请求,返回TCP地址解析的结果。H1得到H2的IP地址后就可以建立通信连接。由于发送给H2的分组中包含了H1的源IP地址和TCP地址,故H2可以得到这两个地址。
下面分析网络中的路由如何设置才能保证这些分组正确到达。
对于任意移动主机H1,它可以预先知道其归属HLF1的TCP地址和IP地址。但是, H1保存全球其他HLF的TCP地址和IP地址显然不现实。能否采用类似DNS的机制,根据主机H2的TCP地址查询其归属HLF2的地址呢?当然可以,但是需要引入相应的设备,还存在数据的更新问题。利用移动TCP协议,可以巧妙地解决这个问题。实现方法如下。
H1发出的TCP地址解析请求分组直接以H2的TCP地址为目的IP地址,网络的路由设置使这个分组路由到H2的归属HLF,即HLF2,而不是H2。发送给H2的分组,其目的IP地址应为H2在当前接入点分配的IP地址,而不是H2的TCP地址。上述的路由方式也可以等价表述为:以主机的TCP地址为目的IP地址的分组均被路由到该主机归属HLF。
为了更便于讨论移动TCP协议中的上述特殊路由方式,可以引入TCP子网的概念。TCP子网定义为一个HLF相应的管理域内的归属主机的TCP地址构成的集合。目的IP地址是某个TCP子网的主机TCP地址的分组均被路由到该子网的HLF。
例如,如果H1在漫游状态下接入了其它管理域,H1就需要向其归属HLF发出注册分组,以便更新其当前的IP地址,使其它主机能够与之通信。注册分组的可以使用H1的TCP地址作为目的IP地址,这样该分组就会被路由到HLF1。但通常情况下,H1事先可以知道其归属HLF的IP地址,故也可以直接使用归属HLF的IP地址作为注册分组的目的IP地址。
2.3 切换过程
2.1 节已经指出,引入TCP地址的三个优越性之一就是保持切换过程TCP连接的连续性,TCP层之上的应用看到的是不变的TCP地址和稳定的TCP连接。从下面给出的切换过程算法,读者不难发现这个优越性。这个切换管理算法具有简便,管理开销小的优点。
假设主机H1在与H2通信的过程中发生切换,切换到了某个HLF3相应的管理域。切换的处理流程如下。
1. H1向其归属的HLF1发出注册或位置更新请求,这个请求中包含其当前的IP地址以及当前正在与之通信的主机(如H2)的TCP地址;
2. HLF1收到这个注册分组后,马上更新H1当前的IP地址,以便其它主机访问H1;
3. HLF1向H2的归属HLF,即HLF2发出H1的IP地址已经改变的通知分组,如前所述,这个通知分组的目的IP地址是H2的TCP地址。这个通知分组同时还包括HLF2管辖的,当前正在与H1通信的其它主机的TCP地址;
4. HLF2根据其记录的H2当前的IP地址,向H2发出H1已经切换的通知分组,这个通知分组还包含了H1当前的IP地址;
5. HLF2向其管辖的其它正在与H1通信的主机发出类似的通知分组;
6. H2的TCP层得到H1的新IP地址后,使用该地址与之通信。
在上述切换过程中,H1、H2的TCP地址均未改变,TCP连接的参数、计数器、定时器等均不会被复位。而在TCP层之上的各层,并不能察觉这个TCP连接与传统的基于IP地址的TCP连接的不同,高层仍可如同传统方式下一样使用移动TCP协议提供的TCP连接,这就保持了对高层的兼容性。
为什么发生切换的主机H1不是直接将其新的IP地址通知正在与其通信的其它主机呢?原因主要有下面几点。
1. 从安全方面考虑,可以避免黑客假冒H1向H2发出欺骗性位置更新通知。HLF2发给H2的通知分组可以采用数字签名防止伪造。当然,从理论上讲,H1也可以发送经数字签名的通知分组给H2,但是这需要在H1和H2之间引入密钥管理机制,增加了系统的复杂性。
2. 从效率方面考虑,假如H1是一个服务器或同时存在大量主机与之通信,那么它需要通知所有的主机,这增加了H1的处理工作量;
3. 假如H2也是移动主机,它在H1切换前后的短时间内也发生了切换,如果H1仍利用H2原来的IP地址向其发送通知分组,势必导致分组无法到达H2。而HLF2总是最先得到H2最新的IP地址,由HLF2通知H2是比较可取的。
3. 简要总结
为了解决移动IP协议中存在的主机缺乏有效标识、三角路由等问题,本文提出引入TCP层地址的构想。TCP地址作为主机的标识具有唯一和稳定性,主机的IP层按所处位置动态得到IP地址。从而实现主机地址和网络地址分离。初步分析的结论是解决了主机标识、三角路由等问题,同时具有良好的切换性能。本文只提出了框架性的设想,协议的制定还需要业界的进一步工作。当然,这个设想也可能存在严重逻辑错误,根本不能实用,希翼读者和广大专家指正。
参考文献:
[1] 赵志峰等,“H.323 IP电话系统移动呼叫路由”,《中国数据通信》,2003年第12期;
[2] (美)Roger S. Pressman,《Mobile IP The Internet Unplugged》, (美)McGraw-Hill出版,机械工业出版社中译本,1998 年;
[3] ITU-T Recommendation H.323, draft Recommendation H.510;