摘要 本文首先介绍了移动ip技术的基本原理,并在此基础上给出了移动ip中实现多播机制的四种网络模型,并分别分析了其工作原理及优缺点。最后指出了移动ip中实现多播存在的问题并对其研究前景阐述了自己的观点。
关键词 移动ip 隧道 多播 分级策略
1 引言
随着互联网的迅猛发展,产生了许多的多媒体应用,如电视会议、远程教学系统等,这些系统都需要把数据包从一个源地址发送到多个目的地址,多播(multicast)这种点对多点的数据传输技术应运而生。传统的多播技术处理的都是针对固定节点的情况,而在移动ip网络中实现多播,不仅要考虑到动态的成员关系,还要考虑到成员的动态的位置关系。每当成员发生移动时,如果都需要重新计算多播分发树,网络开销较大;但如果不更改多播分发树,又可能导致多播包路由不正确,甚至导致移动节点无法接收数据包。因此,随着移动ip的逐渐成熟和完善,该网络模型下如何较好地实现多播,成为人们迫切要解决的问题。
2 移动ip的基本原理
移动ip通过引入两个网络实体:家乡代理(ha)和外地代理(fa)来进行移动性管理。这两个代理分别在家乡网络和外地网络通过发送广播消息来向移动节点(mn)通知自己的存在。mn依据代理广播消息来判断自己是在家乡网络还是在外地网络。当mn在家乡网络时,它使用正常的ip通信。当它进入外地网络后,需要获得一个新的ip地址,称为转交地址(care of address,coa)。mn要么通过fa,要么直接向ha发送注册请求消息,告诉ha它的当前位置(coa)。
通信节点(cn)发送给mn的数据包通过正常的ip路由到达mn的ha。ha替mn截获这些数据包,将他们重新封装,添加新的ip包头,其目的地址为coa,源地址为ha的地址,ha将封装过的ip包通过隧道技术(tunneling)转发到mn的当前位置(coa),再由fa或mn自己将原来的ip包恢复出来。从mn到cn的数据包则采用正常的ip路由协议。从中可以看出,移动ip中存在着三角路由的问题,即从cn到mn的数据包需要经过ha的转发,经过的路径不是最佳路由,路由效率低。特别是当cn和mn的距离很近,离ha很远的时候,三角路由问题对数据传输的影响更为突出。
3 移动ip中的多播实现
3.1 双向隧道方案
所谓双向隧道是指mn收发多播包都通过隧道进行,该方案要求ha具有多播功能,mn通过ha来加入或离开多播组,发送和接收多播包。当mn在外地网络时,它通过隧道向ha发送多播请求消息,请求加入多播组。ha将自身加入到多播分发树中,替mn接收数据包,并通过隧道将多播包发送给mn。这样,mn的移动性对于其他多播成员来说是透明的,各个成员的位置关系是固定的,即使mn发生移动,多播树也不用更新。
该方案的优点是移动节点mn的移动性对于其他多播成员来说是透明的,即使mn发生移动,多播成员之间的关系仍然是固定的,多播树也不用更新和重建。但是,该方案中移动节点mn收发数据都要通过隧道来完成,因此路由优化问题没有得到解决,路由效率低。并且当有大量属于同一多播组的mn,通过同一个fa通信时,由于各个移动节点具有不同的ha(即使具有相同的ha,同一多播包也需要复制多份,然后逐个发送到同一个fa),存在“隧道汇聚”的问题,导致网络资源利用率不高。针对“隧道汇聚”的问题,人们提出了许多解决办法,如家乡代理路由、外地代理路由以及移动多播等,请参阅有关的文献。
3.2 远程订阅方案
此方案要求fa具有多播功能。当移动节点mn在外地网络时,直接向fa发送多播请求消息,请求加入多播组,外地网络中的多播路由器fa会加入到多播分发树中。当mn切换到另外的网络,它需要重新进行上述的过程,而原来的多播树枝可能会因为超时而被删除。在这种方案中,多播分发树的更新频率是与mn的切换频率相关的。
该方案的优点是从源地址到多播组各个成员的数据不需要通过ha的转交,路由都是最佳的,因此它的效率很高,并且不存在“隧道汇聚”问题。此方案的缺点是每当mn发生移动到另一个外地网络,多播分发树都需要重新计算,这样网络开销会很大;并且当mn在不同的外地网络之间切换时,由于需要重新建立多播树,会造成数据传输时延较大并有可能使数据丢失,这对于许多实时业务来说,是不允许的。
3.3 分级策略多播方案
为彻底解决“隧道汇聚”以及mn切换时延过长等问题,人们提出了一种基于分级策略的多播解决方案。该方案引入了新的功能实体rootfa——根外地代理,并要求其具有多播功能,mn的本地注册过程也可以通过根外地代理完成(如图5所示)。该方案可以分别与双向隧道和远程订阅方案相结合。
首先看与双向隧道方案相结合的情况。此时,如果mn想加入多播组并接收多播包,必然先向最接近的外地代理(例如fa5)发送多播加入请求消息。fa5获得多播加入请求消息后,把该消息送往上一级fa2,直到送至root fa1。根外地代理通过分析多播请求加入消息,获得mn的转交地址,并把该消息送往mn的ha。ha获得该消息后,同时获得mn的转交地址,并把自己加入多播组,替mn接收多播包。并通过ha至root fa1之间的隧道向根外地代理root fa1传送一份多播包(因为root fa1具有多播功能),这样就从本质上解决了隧道汇聚问题。并且根外地代理获得多播包后,同样可通过隧道或下级具有多播功能的外地代理来向移动节点mn传送此多播包。
单纯的远程订阅方案,虽然不存在隧道汇聚的问题,但是,无法克服大量移动节点在不同的外地代理之间切换时,给网络带来的巨大开销,并且切换时延和丢包率也较大。当与分级策略方案相结合时,由于root fa具有多播和本地注册的功能,因此能较好地克服远程订阅的缺点。因此,基于分级策略的移动ip多播方案能从根本上解决“隧道汇聚”问题,并且当移动节点mn在不同的网路之间切换时,由于根外地代理的作用,切换时延及丢包率都有明显的改善。但是该方案系统复杂,网络成本较高,只适合于大型高速移动ip网络。
3.4 明确指示多播方案
所谓明确指示多播方案是指在多播包中明确列出多播目的地址的一种多播解决方案,多播包的传送可以通过单播路由协议来传送,是上述多播方案的一种有益补充。图6给出了明确指示多播和双向隧道方案相结合的网络模型。由图可见,ha送往fa的明确指示多播包中明确列出mn的转交地址(coa1、coa2、coa3),fa获得多播包后通过分析多播包中的多播地址,从而把多播包送往不同的移动节点(mn1、mn2、mn3)。当然,明确指示多播也可以和远程订阅以及分级策略的多播方案相结合,以提高这些解决方案的灵活性,并可进一步达到“软化”这些方案的目的。
明确指示多播方案的优点是,不需要分配多播地址,不需要单独的多播路由协议支持,多播路由器中无需保存多播路由表,并且可以“软方式”解决三角路由问题,可充分利用有效的网络资源,并能自动支持一般的路由协议。由于多播地址明确列出,因此提高了网络多播功能的简单性和安全性,并且使多播技术较容易嫁接到其他的网络技术中,使多播这种复杂的网络技术具有了较强的伸缩性。但是该多播方案最大的缺点是由于明确列出多播地址而导致的多播包头过长问题,这必然增加包头的处理时间。并且随着多播组成员数量的增加,其多播包头的长度呈线性增加,因此不适合于具有数量较大的移动节点组成的多播网络,仅仅是其他移动ip多播解决方案的有益补充。
4 结论
移动ip技术是近几年来发展起来的新的网络技术,可以为网络提供主机移动性的解决方案,成为下一代网络的关键技术。针对移动ip网络的特点,人们提出了许多基于移动ip的多播实现机制,但由前面的分析可知,各种多播算法仍然存在这样那样的问题,并且大多处于试验阶段,离算法的真正实用仍有很长的路要走。因此,研究有效实用的多播算法,仍然是移动ip网络下一步研究的一个重要方向。并且随着移动ip技术的不断成熟和完善,多播算法的安全性和可靠性也越来越成为算法研究必需要解决的问题。
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器