【基于分层移动组播代理的可靠移动组播算法】组播路由算法

  摘要:移动IP组播技术是移动IP技术和组播技术的结合,有广泛的发展空间。该文对MMA(移动组播代理)算法进行适当的改进后,给出了一种在移动IPv6环境下的移动组播算法。该算法把MMA算法的思想引入到移动IPv6环境中,同时采用基于区域的分层结构,并且在节点移动时采用在移动代理间建立隧道的方法补充数据包,减少了组播树的频繁重构,提高了组播可靠性。对比移动IPv6环境下的双向隧道和远程签署两种移动组播算法,该算法具有较好的综合性能。
  关键词 :移动IP;组播算法;分层结构;组播可靠性
  中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2012)29-6915-03
  近年来,随着移动通信技术的飞速发展,移动设备的大量应用,越来越多的用户希望在日常生活和商务活动中能通过无线设备随时随地访问Internet。因此,让现有的Internet支持移动就成为通信产业发展的一个迫切的需求。但是不断增长的用户数量以及新的接入设备和新的信息服务内容,尤其是用户的移动性要求,给移动Internet带来许多新的挑战。例如,无线链路的带宽受限问题,由于组播应用具有可扩展性强、节约网络资源等优点,所以在移动这种资源受限的环境中组播显得尤为突出和重要。因此,移动环境中的组播应用引起了人们越来越多地重视,成为在该领域研究的一个热点。
  IP组播即从一个组播源同时把信息发送给组内所有成员,能够节省发送者自身的资源,并且具有较高的网络利用率,所以在带宽和节点能量非常有限的移动环境中有着广泛的应用前景。移动IP和组播的结合称之为移动IP[1]组播。目前Internet中的组播协议如DVMRP( Distance vector multicast routing Protocol)[2] 、MOSPF( Multicast extensions to OSPF)[3]、PIM ( Protocol independent Multicast)[4]等,都只适用于固定环境中的成员节点,而移动组播除了要和它们一样管理动态组播成员之外,还要考虑成员位置动态变化的问题,为了解决这一问题,IETF提出了双向隧道BT(Bi-directional tunneling)和远程签署RS(Remote Subscription)两种基本的移动组播算法。
  在双向隧道中,HA(home agent)代表MN(mobile node)加入组播组,移动节点MN和家乡代理HA之间建立双向隧道,MN收发组播数据都是通过隧道由HA转发。这种方法隐藏了节点的移动性,组播树无需因MN的移动而被重构。其主要缺点是当移动节点远离HA时,数据传输路径远非最优,不仅增加了组播数据传输的时延,而且链路开销较大。
  在远程签署中,每次移动节点移动到外地网络后,都需要重新加入到组播组 ,并重新计算与其对应的组播树。因此,当前网络的组播路由器必须也加入组播组,MN通过该组播路由器收发组播分组。这使得RS算法具有接近最优的组播传输路径,但同时也造成了组播树频繁重构的缺陷,当节点移动过于频繁时,会加大组播树重构开销。
  目前,针对MIPv6的移动组播路由算法的研究正成为国际上的研究热点之一,但是成果并不多。以这两种算法为基础,TETF和IRTF投入大量精力研究移动网络中的组播,以改进其中存在的缺陷。例如,Jelger[5]博士等提出了一种在MIPv6中结合远程签署和双向隧道二者优点的方法,即FHSR算法,其他的还有基于移动管理的RHMOM算法,以及基于时间和距离的TDB-MA算法等。研究的新组播算法只是解决了移动组播所面临的部分新问题,而且目前仍然没有一个全面有效的解决方法。
  为了更好的解决移动组播面临的缺陷,本文在MMA算法的基础上进行改进,给出一种在移动IPv6环境下新的移动组播算法。算法把MMA算法的思想引入到移动IPv6环境中,同时采用基于区域的分层结构,并且在节点移动时采用在移动代理间建立隧道的方法补充数据包,提高了组播的可靠性。
  1 现有的移动组播算法
  移动组播协议MoM[6](Mobile Multicast Protocol)对移动IPv4协议中的双向隧道方法进行改进,目的是解决双向隧道算法中隧道聚合问题。MOM算法为外地网络中的每一个组播组选择一个家乡代理作为组播分组转发者,称之为DMSP(Designated Multicast Service Provider),DMSP可以通过隧道将数据发送给相应的外地代理,以避免多份拷贝传递给同一个外代理,同时外地代理再通过链路级组播方式将组播数据转发给移动节点。MOM算法解决了隧道汇聚问题,但同时也带来了DMSP的切换问题。
  基于范围的移动组播协议RBMoM[7](Range-Based Mobile Multicast)也是以双向隧道作为基础,引入了新的功能实体组播家乡代理MHA(Multicast Home Agent)和服务范围的概念。MHA负责以隧道的方式向节点所在的外地网络转发组播数据,MHA只为其服务范围内的移动节点提供组播服务。但是它并没有提出如何确定合适的服务范围,所以,如何根据网络环境确定MHA的服务范围将是一个非常值得研究的方向。
  在移动组播代理算法MMA[8](Mobile Multicast Agent)中,引入了组播代理MA(Multicast Agent)和组播转发者MF(Multicast Forwarder)两个逻辑实体。MA为其子网内移动主机提供组播服务,但它本身不一定加入组播树,可以在邻近多个MF中选择一个MF为其转发组播分组。MA选择的MF在位置上靠近该MA,MF加入到相应的组播树,并负责把组播数据转发给该MA。当本地子网的MA已经加入组播树,MA的MF可以是MA本身;当本地子网没有在组播传输树上时,MA的MF是附近网络中已经在组播树上的组播路由器。   2 基于分层移动组播代理的可靠移动组播算法
  为了更好的解决移动组播算法中组播数据包丢失的问题,本文将MMA算法进行修改,并结合层次结构的思想将组播外部代理和组播子网代理MSA结合起来,提取各自的优点,给出一种新的基于移动IPv6协议的可靠移动组播算法RMMA(Reliable Mobile Multicast Agent)算法。该组播算法使用区域层次型路由结构,一个区域分成多个子网,这样就有效的降低了组播传输树的重构开销,引入组播子网代理MSA的思想,优化了组播数据传输路径,有效缩短了组播传输时延以及提高了算法的健壮性,在节点移动时采用在移动代理间建立隧道的方法补充丢失的组播数据包,提高了组播的可靠性。
  2.1 RMMA移动组播算法的结构模型
  本文提出的基于分层结构的移动组播代理的组播算法,把网络划分成许多个互不相交的区域,每个区域包含多个子网。在每个区域内设置一个组播外部代理MFA(multicast foreign agent)。区域内的组播外部代理MFA是参与Internet中组播路由的组播路由器,它为其所覆盖的每个子网提供组播转发服务,是组播子网代理和组播骨干网之间的访问接入点。每个子网内设置一个组播子网代理MSA(multicast subnet agent),MSA为其子网内的移动节点提供组播服务。同时,该算法还引入了逻辑实体组播转发者MF(multicast forward),MF是邻近子网中已经加入组播组,并离当前子网最近的组播子网代理,MSA和MF只是逻辑上的层次关系,MF在其所在的子网中也是MSA。该算法的区域分层结构示意图见图1。
  当移动节点MN到达一个新的外地子网并接收到此子网中的MSA发送的通告消息后,它会向新的MSA发送组成员报告消息。若当前子网中的MSA已经加入了该组播组,那么MSA就直接向移动节点MN转发组播数据包。若新的外地子网中还没有属于该组播组的MFA,则从移动节点MN处获得其原来的MFA,然后依此计算新的MSA与MFA之间的距离。若距离大于MFA的服务范围,则需要从新选择MFA。比较简单的方法就是直接指定新的MFA为移动节点当前的MFA,同时更新MN和MSA中的MFA信息。如果MFA已经加入该组播组,则直接通过隧道向MSA转发组播数据包;如果MFA没有加入该组播组,则申请加入组播组。若距离在服务范围之内,并且移动节点MN是该子网内该组的第一个成员,那么此子网的MSA就会从自己维护的MF列表中选择一个位置上离自己最近的MF作为自己的MF,并且向选出的MF发送消息请求与其建立隧道。同时,MSA向MFA发送组成员报告消息,申请加入组播组。当收到来自于MFA的组播数据包时,MSA向MF发送消息拆除两者之间建立的隧道。
  为了降低切换时丢失的数据包,MN需要检查新老链路中组播包的序列号的差值。如果Seq-old≥Seq-new,则MN向PMSA发送离开消息,同时指明序号偏移量为0;否则,MN在发送离开消息的同时指明组播包偏移量为 [Seq-old,Seq-new],PMSA通过隧道的形式向新的MSA补充这部分组播包。
  2.2 组成员管理和组播数据包的传输
  当移动节点到达新的外地子网后,移动节点要向外地子网中的组播子网代理MSA发送组成员报告消息。MSA记录本子网内所有组成员的组播组,通过周期性发送组成员查询消息来维护组播组列表。当移动节点接收到MSA的通告消息后,响应MSA的查询消息。移动节点离开该子网时并不向MSA发送离开消息,而是MSA通过定时器超时发现移动节点的离开。如果本地子网中的MSA是其它子网选出的MF,那么它们之间通过隧道转发查询和组报告消息。当MSA与MF之间的隧道拆除时,对于MF而言,表明有移动节点离开相应的组播组。当MSA接收到组播数据包时,通过本地组播方式转发给该子网内所有的组成员。如果需要通过隧道转发给其它MSA组播数据包时,需要对组播数据包进行隧道封装后再转发给相应的MSA。此外,MSA通过定期向MF列表中的成员发送组查询消息来维护组播组中的MF列表信息。
  当MSA维护的组播组列表有变化时,MSA会向MFA发送组播组报告消息,将此变化通告给MFA。组播外部代理MFA维护其管辖区域内移动节点加入的组播组列表,以及每个组播组包含的MSA列表。MFA加入到组播组列表中的组播组,参与组播路由。当接收到组播组数据包时,MFA转发给组播组内的每个MSA,然后MSA再将组播数据包转发给该子网内组播组中的移动节点。
  3 性能分析
  本文提出的基于分层移动组播代理的可靠移动组播算法有以下优点:第一,有效减少了组播树的频繁重构。由于引入了区域的概念,MFA为其所覆盖的的子网提供组播转发服务,移动节点只要在区域内的多个子网间移动就不会造成组播树的重构;第二,通过设置MFA服务区域的大小,使传输路径接近最优,有效缩短的组播数据传输延时;第三,有效提高了组播的可靠性,节点移动时采用在移动代理间建立隧道的方法补充丢失的组播数据包,减低了组播包的丢失率。
  4 结束语
  本文综合研究和分析了目前移动环境中多种IP组播算法,进而在MMA算法的基础上进行改进,给出一种在移动IPv6环境下的移动组播算法。通过分析,该算法在组播树重构开销、传输延迟和丢包率方面的综合性能是优化的,有效提高的组播传输的可靠性。
  参考文献:
  [1] Perkins C. IP mobility support for IPv4. RFC3220,2002
  [2] G.Malkin.RIP Version2 Carrying Additional Information[S].RFC1388.Januaryl993.
  [3] MOYJ. RFC1584, Multicast extensions to OSPF[S]. In: Internet Engineering Task Force, 1994.   [4] ADAMSA,NICHOLASJ, SIADAKW. RFC 3973, Protocol independent multicast densemode ( PIM-DM ): protocol specification [S].In: Internet Engineering Task Force, 2005.
  [5] Jelger C, Noel T. Multicast for mobile hosts in IP networks: Progress and challenges. IEEE Wireless Communications ,2002, 9(5):58-64.
  [6] Harrison T, Williamson C, Mackrell W, Bunt R. Mobile multicast (MoM) protocol: multicast support for mobile hosts. In:Proceedings of the ACM Mobile’97. Budapest: IEEE Computer Society Press, 1997:151-160.
  [7] Lin CR, Wang KM. Mobile multicast support in IP networks. Proceedings of the InfoCom 2000. Tel Aviv: IEEE Computer Society Press, 2000:1664-1672.
  [8] Suh Y, Shin H, Kwon D. An efficient multicast routing protocol in wireless mobile networks. Wireless Networks, 2001,7(5):443-453.
  [9] Wang Y, Chen W. Supporting multicast for mobile hosts. Mobile Networks and Applications, 2001,5(6):57-66.
  [10] 吴茜,吴建平,徐恪,刘莹.移动Internet中的IP组播研究综述[J].软件学报,2003.
  [11] 孙利民,阚志刚,郑健平,王在方,廖勇.移动IP技术[M].北京:电子工业出版社,2003.

推荐访问:组播 分层 算法 可靠