论文部分内容阅读
摘要:移动组播技术是近几年来无线互联网领域的一个研究热点,其相当一部分应用要求移动环境下也能提供相当于有线链路的可靠性。但是移动环境下的突出特点就是链路差错率高,组播成员位置动态变化,这给移动组播尤其是可靠移动组播提出了很大的挑战。基于IPv4的可靠移动组播算法具有两种不同的设计思想,其中一部分算法是针对现有的移动组播算法存在的问题,进行可靠性方面的改进,另一部分算法是专门用于实现可靠移动组播的,它们大都引入了新的功能实体来保证可靠性。
关键词:移动IP;移动组播;可靠组播;安全组播
近年来,随着GPRS、EDGE、3G和Wi-Fi等无线技术的成熟和实施,越来越多的人希望在移动中借助笔记本或智能手机接入Internet。所以,让现有的Internet支持移动就成为一个很迫切的需求。另外,在很多具体应用,例如网络视频会议、网络游戏中,不仅需要支持移动性,还需要有一定服务质量(Qos)保证的组播技术与之结合。
在移动环境中,移动节点常常要使用无线链路,其最显著的特征是受限的链路带宽和较高的错误率;另外,移动节点体积较小,处理能力和存储能力有限,而IP组播节省资源的高效特性,恰恰对移动节点十分重要。移动和组播的结合将具有十分广泛的发展空间。
![](https://www.soolun.com/img/pic.php?url=http://img.resource.qikan.cn/qkimages/zxtx/zxtx200903/zxtx20090310-1-l.jpg)
固定网络的组播技术中,有两种最重要的协议,分别是组播路由协议和成员组管理协议。在移动和组播的结合中,组播不仅要管理动态组播组成员,建立和维护组播树,还需要解决成员位置动态变化的问题。IETF提出了双向隧道和远程签署协议来实现移动网络环境中的组播,但它们存在严重的缺陷。研究者在此基础上提出了许多改进协议,例如移动组播协议(MoM)、基于范围的移动组播协议(RBMoM)、路由优化的移动组播协议(MMROP)等,下文将对这些协议的性能进行简要讨论。
移动IP组播中的一个重要方面是提供可靠性组播,这对于软件分发、社区白板等应用意义重大。可靠移动组播要解决的问题是组播数据包的丢失、错误、重复、失序,本文的重点是讨论移动环境中可靠组播面临的新问题,并对一些比较典型的可靠移动组播协议进行介绍和分析。
1 现有的移动组播协议
在双向隧道算法中,移动节点(MN)和家乡代理(HA)之间需建立双向隧道,隧道的建立需要外地代理(FA)的帮助。需要注意的是,家乡代理是有一个端口与移动节点家乡链路相连的路由器。外地代理是在移动节点的外地链路上的路由器。家乡代理代替移动节点加入组播组,移动节点通过隧道经家乡代理收发组播数据。这个算法的实质是把移动节点的移动性隐藏了起来,这样做的优点是移动对于组播协议是透明的,组播树无须因移动节点位置的改变和重构。但是双向隧道算法也存在着严重的缺陷:
![](https://www.soolun.com/img/pic.php?url=http://img.resource.qikan.cn/qkimages/zxtx/zxtx200903/zxtx20090310-2-l.jpg)
·存在三角路由问题。链路开销较大,当移动节点远离家乡网络加入外地链路的本地组播组时,时延和开销巨大。
·存在隧道汇聚问题,如图1所示(图1中MN1-1及MN1-2归属于HA1MN2-1归属于HA2,MN3-1及MN3-2归属于HA)。当外地链路有多个属于同一组播组的移动节点,并且这些移动节点属于不同的家乡网络时,每个移动节点的家乡代理都与同一个外地链路建立双向隧道,并通过这些隧道传输相同的组播数据包,造成网络资源的浪费。
IETF提出的另一种移动组播算法是远程签署,当移动节点离开外地代理时获取一个转交地址,用新获得的转交地址重新加入原组播组,继续接受该组播组的服务。该算法实现简单,可以直接使用现有的组播协议,无须建立任何隧道,因此不会有隧道汇聚问题,组播包转发路径达到最优,不存在三角路由问题。该算法的缺陷主要有:
·当移动节点每次移动到新的链路都要重新申请加入组播组,引起组播树的重构,当移动节点移动频繁时,树的重构开销巨大。
·即使切换可以做到非常迅速,但是由于网络的动态性,各个子网接收组播包的时延不同,因此产生了移动环境特有的“同步丢失”问题。
目前的移动组播协议大都基于双向隧道和远程签署进行改进,其中主要包括MoM、RBMoM、MMROP算法。
MoM算法基于双向隧道进行改进,算法的核心是引入了指定组播服务提供者(DMSP)。每个外地代理都有且仅有一个DMSP负责给它建立隧道转发数据,这样能防止外地代理收到同一份数据的多个拷贝。MoM解决了隧道汇聚问题,但还是存在着双向隧道固有的三角路由问题。同时,对于由于移动节点在不同外地链路间移动所引起的DMSP切换,MoM并没有很好的解决方法[2]。
RBMoM方案在MoM的基础上进行改进,主要技术特点是引入了基于服务范围的组播。RBMoM为每个移动节点选择一个组播家乡代理(MHA),负责将组播数据包转发给移动节点所在的外地代理。MHA只给其服务范围内的移动节点转发数据。RBMoM的实质是双向隧道和远程签署的结合,具有组播包转发路径接近最优和组播树更新开销相对较小的特点。整体而言,RBMoM是一个具有创新性的算法,但是它并没有提出如何确定服务范围。因此,如何根据网络环境自适应确定MHA的服务范围,是一个值得关注的研究方向_5_。另外在RBMoM中,如果FA下的多台移动节点分别由不同的MHA来服务,那么会引入类似于双向隧道的隧道汇聚问题,RBMoM解决这一问题的方法是在MHA中选择出一个DMSP,但是这样却带来了DSMP选择和切换问题:如何选择DMSP,以及DMSP切换时发生的服务中断问题。
MMROP以远程签署为基础,主要解决了移动节点移动到新外地链路存在的同步丢失问题,这部分丢失的数据包将由旧的外地代理通过隧道提供给新的外地代理。MMROP保持了远程签署的转发路径最优的特点,同时解决了切换丢包问题,但是MMROP没有解决远程签署中组播树更新频繁的问题。
2 可靠移动组播
可靠组播可以定义为每个接收者都能正确接收到所有的组播包,一般还要求组播包按序到达,无丢失,无重复。组播采用的是不可靠的无连接的方式,为了达到组播可靠性的要求,出现了可靠的组播协议,其中通常要用到自动重发请求(ARQ)和前向纠错(FEC)两种机制。ARQ需要错误反馈,因此时延较大。FEC需要使用冗余信息,增加了网络流量,也不能保证完全正确。可靠组播一般采用FEC和ARQ相结合的方式。
典型的可靠组播协议有可扩展的可靠组播(sRM)、可靠多播传输协议(RMTP)、可靠多播协议(RMP)等。这些协议有各自不同的适用范围,如RMTP协议基于树的拓扑结构、RMP基于环的拓扑结构,这些协议在固定网络中都有不错的性能。 需要指出的是,移动网络的特殊性对可靠组播提出了更大的挑战。首先,无线链路带宽有限,数据传输错误率较高;另外,由于移动节点动态变化位置,因此移动环境中还存在着切换丢包和同步丢失问题。移动节点从旧的链路移动到新的链路,存在着注册转交地址和重新加入组播组的过程,这期间会存在组播服务的短暂中断。另外,原有的可靠组播协议没有考虑到主机频繁移动会给组播树带来频繁重构。考虑到以上因素,一系列针对移动环境设计的可靠组播协议逐渐被提出,其中包括以下几个协议。
2.1主机视图成员关系协议
主机视图成员关系协议(HVMP)方案中使用了移动支持站点(Mss)为移动节点提供可靠组播。MMS会缓存所有的组播分组。这样,当某移动节点刚刚移动到某条新链路上时,依然能从MSS处获得切换可能丢失的包,从而解决了切换丢包问题。但是该协议对MSS的缓存的要求很高,尤其当数据传输量大时,MSS更会不堪重负。因此,HVMP实用性并不好。
2.2可靠移动组播协议
可靠移动组播协议(RMMP)在MMROP的基础上对可靠性进行了改进。MMROP协议基于远程签署。主要优点是使用最优路由,同时把切换时的丢包问题减少到最低。RMMP协议继承了这些优点,同时采用了包确认机制。在RMMP中,移动代理(家乡代理和外地代理)不仅提供移动管理功能,而且提供可靠性组播支持。
RMMP的基本思想:在远程签署算法中引入隧道机制,当移动节点发生切换时,由旧的代理补充切换时丢失的组播包到新的代理中,从而解决“同步丢失”问题;与此同时,移动代理除了要代表子网内的移动节点加入组播组,还要收集子网内的移动节点的数据接收确认(ACK),并向可靠组播代理转发这些ACK。
如图2,每个移动代理维护一张表格,其中包含3个主要部分:服务列表,记录子网中加入到该组播组的移动节点;隧道列表,记录那些曾经在该子网注册、但现在已经离开并请求该移动代理对丢失的组播包进行恢复的移动节点;数据包传送状态列表(PDSL),记录在其管理下的所有移动节点对每个组播数据包的接收状态反馈。
在收到一个序列号为一的组播数据包时,移动代理在缓存区中增加一项PDSL记录,服务列表中每个主机都将加入其中。只有当PDSL中的所有主机都已经确认接收这一序列号为n的组播数据包,缓存区才会删除该数据包。另外,为了解决同步丢失问题,当移动节点移动到新的链路后,需要向新外地代理发送互联网组成员管理协议(IGMP)消息请求加入组播组,然后外地代理代表移动节点加入组播组G。同时移动节点需要检查新旧链路中组播包的序号差。如果发现丢包,则向旧外地代理发送携带偏移量的离开消息,由旧移动代理通过隧道把这部分数据补充过来。
2.3可靠的基于范围的移动组播协议
可靠的基于范围的移动组播协议(RRBMoM)。是在RBMoM上提出的可靠移动组播协议。它在RBMoM的两种特性,即转发路径最短和组播树更新频繁之间进行了折中。通过制定服务范围,MHA只为其服务范围内的移动链路上的移动节点服务。在可靠性方面,它提供了基于ACK的可靠性和发送者负责的错误恢复机制。为了防止ACK爆炸,它使用了基于树的分层确认架构,与每个组播接收者都发送ACK的方式不同,此时由MHA作为其服务范围内所有移动节点的代理向组播发送者发送ACK。
服务范围的概念如图3所示,其中MHA,、MHA2是组播树上的两个组播路由器。组播树见图3中粗线,假设服务范围为1跳,MHA T加入组播树从组播源收到数据后,把组播数据包转发给服务范围内的FA3、FAT、FA9;类似的,MHA2把数据包转发给FA17、FA19、FA23。
在协议中需要确定由哪些节点来备份组播数据包以便恢复。MHA负责收集服务范围内的FA的ACK,并向组播接收者重传丢失的数据包。所以,协议中很自然地选择把数据包备份在MHA中。
当移动节点到达一个新的外地网络时,它向该FA注册,同时上报数据包的序列号信息。如果该FA上已经有主机加入到组播组中,FA就会向MHA转发该信息。然后该MHA会向组播树的根转发该信息。为了减轻发送者的负担,处理这种信息和负责重传的任务可由树中的其他节点负责。
RRBMoM使用基于树的分层架构来处理ACK爆炸问题。如图4,由MHA负责向树中的父节点发送这些ACK信息。树的节点收集所有下游节点的ACK信息后,再向其父节点发送自己的状态信息。由此形成了分层的树状架构。注意,在状态信息中,一个接收到的数据包意味着所有的下游节点都已正确接收到该包。
相对于远程签署算法,RRBMoM减少了组播转发树的更新频率,同时,它的组播转发路径也是接近最优的。同时,在RBMoM中引入了分层的ACK确认机制,提高了可靠性。
但是RRBMoM仍然没有提出如何根据网络状况选择服务范围。同时,由于MHA要负责其服务范围内所有主机的数据恢复,当服务范围较大时,MHA负担会很重,效率下降明显。
2.4基于范围的可靠移动组播协议
基于范围的可靠移动组协议(RRBMM)在RBMoM的基础上提出了另一种提高可靠性的方案,当节点移动时采用在移动代理间建立隧道的方式补充数据包,这实际上是利用了MMROP的方法。
类似于RBMoM的MHA,协议中使用组播外部代理(MFA),由它负责把组播包转发给MH的外地代理。当节点移动到一个新的外地链路时,如果新的FA中已经有该组播组的MFA记录,则直接用此MFA更新MH中的MFA信息。如果新的FA中还没有属于该组播组的MFA,则从MH处获得其原来的MFA,然后依此计算FA与MFA之间的距离。如果距离大于服务范围,则需要重新选择MFA。比较简单的方式就是直接指定新的FA作为新的MFA。新的MFA需要加入到组播组中,相应的更新组播转发树。
为了减少切换时候丢失的组播包,MH需要检查新、老链路中组播包的序号差,如果老链路值大于新链路值,则MH向原FA发送离开消息,同时指明序号偏移量为0;否则,MH在发送离开消息的同时指明组播包偏移量,原FA通过隧道的形式向新的FA补充这部分组播包。
MFA和MHA存在着概念上的区别。MHA的信息保存在HA中,一个外地链路的所有节点可能具有不同的MHA,只有作为DMSP的MHA才能向FA转发数据包。而MFA信息保存在MH中,一个外地链路的所有节点具有相同的MFA,即只有唯一的MFA向FA转发数据包,所以不会产生隧道汇聚问题。
图5描述了RRBMM的数据结构。 该算法解决了RBMoM的DMSP问题,同时又通过隧道缓解了同步丢失问题,另外,和MMROP相比,在保持可靠性的同时,可通过改变服务范围在最优转发路径和组播树重构频率间寻求平衡。
算法的缺陷在于没有能够解决由于无线链路引起的数据包丢失问题,同时依然没有提出如何根据网络情况选择服务范围。
2.5支持可扩展性的多层可靠移动
组播协议
在SRM中,所有的成员地位相等,它能够适用的组规模的范围很宽,同时能适应动态拓扑,但是不支持移动性。支持可扩展性的多层可靠移动组播协议(MRMoM)提供了对移动组播和多级可靠性的支持。
为支持移动组播,MRMoM采取了移动IP区域注册技术,把移动节点的移动相对于主组播树隔离开来。这样可以把由于主机移动引起的组播树重构机率缩小到最小。在MRMoM中。移动节点被分成一个个区域。每个区域有一个网关外地代理(GFA)负责区域性注册,并作为组播代理。
为支持分级可靠性,当移动节点作为接收者时,MRMoM提供了端到端的可靠性。
·从组播源到GFA:使用SRM。
·从GFA到FA:GFA向FA转发收到的组播源的数据报。这是点到点的传输,所以使用基于NACK的反馈机制来保证可靠性。
·从FA到移动节点:使用基于NACK的重传机制。当FA向组成员转发数据,每个移动节点将检查组播数据包的序列号,如果发现数据丢失,移动节点将向FA发送NACK,由FA负责重传。
MRMoM是一个性能相对较好的可靠移动组播算法,能够适应组播源移动的情况。同时数据传递效率高,端到端时延小。
2.6各种协议的比较
各种协议的比较如表1所示。
3 未来的研究方向
可靠移动组播是一个崭新的研究方向。目前还没有一个算法能够做到性能比较均衡,适用于可靠组播的各类情况。所以,需要研究人员做进一步的研究和改进。
现有的很多研究是基于移动组播协议进行改进,不过如果像MRMoM那样适当地使用固定网络可靠组播的一些技术,反而能在一定情况达到比较好的性能。另外,考虑到实际的应用,比如视频流和软件分发需要的QoS,如何区分这些业务,并采取不同的策略,是一个值得深入研究的问题。可靠移动组播未来的研究还需要考虑IPv6和MIPv6带来的不同,这是因为MIPv6中取消了外地代理的概念,同时组播组成员管理协议也有所不同。
4 结束语
可靠移动组播是移动组播研究的一个重要组成部分,也是最近的研究热点。在此,本文分析了移动环境给可靠组播带来的挑战,对几种比较典型的移动组播协议进行了讨论,并在最后指出了可靠移动组播未来的研究方向。
关键词:移动IP;移动组播;可靠组播;安全组播
近年来,随着GPRS、EDGE、3G和Wi-Fi等无线技术的成熟和实施,越来越多的人希望在移动中借助笔记本或智能手机接入Internet。所以,让现有的Internet支持移动就成为一个很迫切的需求。另外,在很多具体应用,例如网络视频会议、网络游戏中,不仅需要支持移动性,还需要有一定服务质量(Qos)保证的组播技术与之结合。
在移动环境中,移动节点常常要使用无线链路,其最显著的特征是受限的链路带宽和较高的错误率;另外,移动节点体积较小,处理能力和存储能力有限,而IP组播节省资源的高效特性,恰恰对移动节点十分重要。移动和组播的结合将具有十分广泛的发展空间。
![](https://www.soolun.com/img/pic.php?url=http://img.resource.qikan.cn/qkimages/zxtx/zxtx200903/zxtx20090310-1-l.jpg)
固定网络的组播技术中,有两种最重要的协议,分别是组播路由协议和成员组管理协议。在移动和组播的结合中,组播不仅要管理动态组播组成员,建立和维护组播树,还需要解决成员位置动态变化的问题。IETF提出了双向隧道和远程签署协议来实现移动网络环境中的组播,但它们存在严重的缺陷。研究者在此基础上提出了许多改进协议,例如移动组播协议(MoM)、基于范围的移动组播协议(RBMoM)、路由优化的移动组播协议(MMROP)等,下文将对这些协议的性能进行简要讨论。
移动IP组播中的一个重要方面是提供可靠性组播,这对于软件分发、社区白板等应用意义重大。可靠移动组播要解决的问题是组播数据包的丢失、错误、重复、失序,本文的重点是讨论移动环境中可靠组播面临的新问题,并对一些比较典型的可靠移动组播协议进行介绍和分析。
1 现有的移动组播协议
在双向隧道算法中,移动节点(MN)和家乡代理(HA)之间需建立双向隧道,隧道的建立需要外地代理(FA)的帮助。需要注意的是,家乡代理是有一个端口与移动节点家乡链路相连的路由器。外地代理是在移动节点的外地链路上的路由器。家乡代理代替移动节点加入组播组,移动节点通过隧道经家乡代理收发组播数据。这个算法的实质是把移动节点的移动性隐藏了起来,这样做的优点是移动对于组播协议是透明的,组播树无须因移动节点位置的改变和重构。但是双向隧道算法也存在着严重的缺陷:
![](https://www.soolun.com/img/pic.php?url=http://img.resource.qikan.cn/qkimages/zxtx/zxtx200903/zxtx20090310-2-l.jpg)
·存在三角路由问题。链路开销较大,当移动节点远离家乡网络加入外地链路的本地组播组时,时延和开销巨大。
·存在隧道汇聚问题,如图1所示(图1中MN1-1及MN1-2归属于HA1MN2-1归属于HA2,MN3-1及MN3-2归属于HA)。当外地链路有多个属于同一组播组的移动节点,并且这些移动节点属于不同的家乡网络时,每个移动节点的家乡代理都与同一个外地链路建立双向隧道,并通过这些隧道传输相同的组播数据包,造成网络资源的浪费。
IETF提出的另一种移动组播算法是远程签署,当移动节点离开外地代理时获取一个转交地址,用新获得的转交地址重新加入原组播组,继续接受该组播组的服务。该算法实现简单,可以直接使用现有的组播协议,无须建立任何隧道,因此不会有隧道汇聚问题,组播包转发路径达到最优,不存在三角路由问题。该算法的缺陷主要有:
·当移动节点每次移动到新的链路都要重新申请加入组播组,引起组播树的重构,当移动节点移动频繁时,树的重构开销巨大。
·即使切换可以做到非常迅速,但是由于网络的动态性,各个子网接收组播包的时延不同,因此产生了移动环境特有的“同步丢失”问题。
目前的移动组播协议大都基于双向隧道和远程签署进行改进,其中主要包括MoM、RBMoM、MMROP算法。
MoM算法基于双向隧道进行改进,算法的核心是引入了指定组播服务提供者(DMSP)。每个外地代理都有且仅有一个DMSP负责给它建立隧道转发数据,这样能防止外地代理收到同一份数据的多个拷贝。MoM解决了隧道汇聚问题,但还是存在着双向隧道固有的三角路由问题。同时,对于由于移动节点在不同外地链路间移动所引起的DMSP切换,MoM并没有很好的解决方法[2]。
RBMoM方案在MoM的基础上进行改进,主要技术特点是引入了基于服务范围的组播。RBMoM为每个移动节点选择一个组播家乡代理(MHA),负责将组播数据包转发给移动节点所在的外地代理。MHA只给其服务范围内的移动节点转发数据。RBMoM的实质是双向隧道和远程签署的结合,具有组播包转发路径接近最优和组播树更新开销相对较小的特点。整体而言,RBMoM是一个具有创新性的算法,但是它并没有提出如何确定服务范围。因此,如何根据网络环境自适应确定MHA的服务范围,是一个值得关注的研究方向_5_。另外在RBMoM中,如果FA下的多台移动节点分别由不同的MHA来服务,那么会引入类似于双向隧道的隧道汇聚问题,RBMoM解决这一问题的方法是在MHA中选择出一个DMSP,但是这样却带来了DSMP选择和切换问题:如何选择DMSP,以及DMSP切换时发生的服务中断问题。
MMROP以远程签署为基础,主要解决了移动节点移动到新外地链路存在的同步丢失问题,这部分丢失的数据包将由旧的外地代理通过隧道提供给新的外地代理。MMROP保持了远程签署的转发路径最优的特点,同时解决了切换丢包问题,但是MMROP没有解决远程签署中组播树更新频繁的问题。
2 可靠移动组播
可靠组播可以定义为每个接收者都能正确接收到所有的组播包,一般还要求组播包按序到达,无丢失,无重复。组播采用的是不可靠的无连接的方式,为了达到组播可靠性的要求,出现了可靠的组播协议,其中通常要用到自动重发请求(ARQ)和前向纠错(FEC)两种机制。ARQ需要错误反馈,因此时延较大。FEC需要使用冗余信息,增加了网络流量,也不能保证完全正确。可靠组播一般采用FEC和ARQ相结合的方式。
典型的可靠组播协议有可扩展的可靠组播(sRM)、可靠多播传输协议(RMTP)、可靠多播协议(RMP)等。这些协议有各自不同的适用范围,如RMTP协议基于树的拓扑结构、RMP基于环的拓扑结构,这些协议在固定网络中都有不错的性能。 需要指出的是,移动网络的特殊性对可靠组播提出了更大的挑战。首先,无线链路带宽有限,数据传输错误率较高;另外,由于移动节点动态变化位置,因此移动环境中还存在着切换丢包和同步丢失问题。移动节点从旧的链路移动到新的链路,存在着注册转交地址和重新加入组播组的过程,这期间会存在组播服务的短暂中断。另外,原有的可靠组播协议没有考虑到主机频繁移动会给组播树带来频繁重构。考虑到以上因素,一系列针对移动环境设计的可靠组播协议逐渐被提出,其中包括以下几个协议。
2.1主机视图成员关系协议
主机视图成员关系协议(HVMP)方案中使用了移动支持站点(Mss)为移动节点提供可靠组播。MMS会缓存所有的组播分组。这样,当某移动节点刚刚移动到某条新链路上时,依然能从MSS处获得切换可能丢失的包,从而解决了切换丢包问题。但是该协议对MSS的缓存的要求很高,尤其当数据传输量大时,MSS更会不堪重负。因此,HVMP实用性并不好。
2.2可靠移动组播协议
可靠移动组播协议(RMMP)在MMROP的基础上对可靠性进行了改进。MMROP协议基于远程签署。主要优点是使用最优路由,同时把切换时的丢包问题减少到最低。RMMP协议继承了这些优点,同时采用了包确认机制。在RMMP中,移动代理(家乡代理和外地代理)不仅提供移动管理功能,而且提供可靠性组播支持。
RMMP的基本思想:在远程签署算法中引入隧道机制,当移动节点发生切换时,由旧的代理补充切换时丢失的组播包到新的代理中,从而解决“同步丢失”问题;与此同时,移动代理除了要代表子网内的移动节点加入组播组,还要收集子网内的移动节点的数据接收确认(ACK),并向可靠组播代理转发这些ACK。
如图2,每个移动代理维护一张表格,其中包含3个主要部分:服务列表,记录子网中加入到该组播组的移动节点;隧道列表,记录那些曾经在该子网注册、但现在已经离开并请求该移动代理对丢失的组播包进行恢复的移动节点;数据包传送状态列表(PDSL),记录在其管理下的所有移动节点对每个组播数据包的接收状态反馈。
在收到一个序列号为一的组播数据包时,移动代理在缓存区中增加一项PDSL记录,服务列表中每个主机都将加入其中。只有当PDSL中的所有主机都已经确认接收这一序列号为n的组播数据包,缓存区才会删除该数据包。另外,为了解决同步丢失问题,当移动节点移动到新的链路后,需要向新外地代理发送互联网组成员管理协议(IGMP)消息请求加入组播组,然后外地代理代表移动节点加入组播组G。同时移动节点需要检查新旧链路中组播包的序号差。如果发现丢包,则向旧外地代理发送携带偏移量的离开消息,由旧移动代理通过隧道把这部分数据补充过来。
2.3可靠的基于范围的移动组播协议
可靠的基于范围的移动组播协议(RRBMoM)。是在RBMoM上提出的可靠移动组播协议。它在RBMoM的两种特性,即转发路径最短和组播树更新频繁之间进行了折中。通过制定服务范围,MHA只为其服务范围内的移动链路上的移动节点服务。在可靠性方面,它提供了基于ACK的可靠性和发送者负责的错误恢复机制。为了防止ACK爆炸,它使用了基于树的分层确认架构,与每个组播接收者都发送ACK的方式不同,此时由MHA作为其服务范围内所有移动节点的代理向组播发送者发送ACK。
服务范围的概念如图3所示,其中MHA,、MHA2是组播树上的两个组播路由器。组播树见图3中粗线,假设服务范围为1跳,MHA T加入组播树从组播源收到数据后,把组播数据包转发给服务范围内的FA3、FAT、FA9;类似的,MHA2把数据包转发给FA17、FA19、FA23。
在协议中需要确定由哪些节点来备份组播数据包以便恢复。MHA负责收集服务范围内的FA的ACK,并向组播接收者重传丢失的数据包。所以,协议中很自然地选择把数据包备份在MHA中。
当移动节点到达一个新的外地网络时,它向该FA注册,同时上报数据包的序列号信息。如果该FA上已经有主机加入到组播组中,FA就会向MHA转发该信息。然后该MHA会向组播树的根转发该信息。为了减轻发送者的负担,处理这种信息和负责重传的任务可由树中的其他节点负责。
RRBMoM使用基于树的分层架构来处理ACK爆炸问题。如图4,由MHA负责向树中的父节点发送这些ACK信息。树的节点收集所有下游节点的ACK信息后,再向其父节点发送自己的状态信息。由此形成了分层的树状架构。注意,在状态信息中,一个接收到的数据包意味着所有的下游节点都已正确接收到该包。
相对于远程签署算法,RRBMoM减少了组播转发树的更新频率,同时,它的组播转发路径也是接近最优的。同时,在RBMoM中引入了分层的ACK确认机制,提高了可靠性。
但是RRBMoM仍然没有提出如何根据网络状况选择服务范围。同时,由于MHA要负责其服务范围内所有主机的数据恢复,当服务范围较大时,MHA负担会很重,效率下降明显。
2.4基于范围的可靠移动组播协议
基于范围的可靠移动组协议(RRBMM)在RBMoM的基础上提出了另一种提高可靠性的方案,当节点移动时采用在移动代理间建立隧道的方式补充数据包,这实际上是利用了MMROP的方法。
类似于RBMoM的MHA,协议中使用组播外部代理(MFA),由它负责把组播包转发给MH的外地代理。当节点移动到一个新的外地链路时,如果新的FA中已经有该组播组的MFA记录,则直接用此MFA更新MH中的MFA信息。如果新的FA中还没有属于该组播组的MFA,则从MH处获得其原来的MFA,然后依此计算FA与MFA之间的距离。如果距离大于服务范围,则需要重新选择MFA。比较简单的方式就是直接指定新的FA作为新的MFA。新的MFA需要加入到组播组中,相应的更新组播转发树。
为了减少切换时候丢失的组播包,MH需要检查新、老链路中组播包的序号差,如果老链路值大于新链路值,则MH向原FA发送离开消息,同时指明序号偏移量为0;否则,MH在发送离开消息的同时指明组播包偏移量,原FA通过隧道的形式向新的FA补充这部分组播包。
MFA和MHA存在着概念上的区别。MHA的信息保存在HA中,一个外地链路的所有节点可能具有不同的MHA,只有作为DMSP的MHA才能向FA转发数据包。而MFA信息保存在MH中,一个外地链路的所有节点具有相同的MFA,即只有唯一的MFA向FA转发数据包,所以不会产生隧道汇聚问题。
图5描述了RRBMM的数据结构。 该算法解决了RBMoM的DMSP问题,同时又通过隧道缓解了同步丢失问题,另外,和MMROP相比,在保持可靠性的同时,可通过改变服务范围在最优转发路径和组播树重构频率间寻求平衡。
算法的缺陷在于没有能够解决由于无线链路引起的数据包丢失问题,同时依然没有提出如何根据网络情况选择服务范围。
2.5支持可扩展性的多层可靠移动
组播协议
在SRM中,所有的成员地位相等,它能够适用的组规模的范围很宽,同时能适应动态拓扑,但是不支持移动性。支持可扩展性的多层可靠移动组播协议(MRMoM)提供了对移动组播和多级可靠性的支持。
为支持移动组播,MRMoM采取了移动IP区域注册技术,把移动节点的移动相对于主组播树隔离开来。这样可以把由于主机移动引起的组播树重构机率缩小到最小。在MRMoM中。移动节点被分成一个个区域。每个区域有一个网关外地代理(GFA)负责区域性注册,并作为组播代理。
为支持分级可靠性,当移动节点作为接收者时,MRMoM提供了端到端的可靠性。
·从组播源到GFA:使用SRM。
·从GFA到FA:GFA向FA转发收到的组播源的数据报。这是点到点的传输,所以使用基于NACK的反馈机制来保证可靠性。
·从FA到移动节点:使用基于NACK的重传机制。当FA向组成员转发数据,每个移动节点将检查组播数据包的序列号,如果发现数据丢失,移动节点将向FA发送NACK,由FA负责重传。
MRMoM是一个性能相对较好的可靠移动组播算法,能够适应组播源移动的情况。同时数据传递效率高,端到端时延小。
2.6各种协议的比较
各种协议的比较如表1所示。
3 未来的研究方向
可靠移动组播是一个崭新的研究方向。目前还没有一个算法能够做到性能比较均衡,适用于可靠组播的各类情况。所以,需要研究人员做进一步的研究和改进。
现有的很多研究是基于移动组播协议进行改进,不过如果像MRMoM那样适当地使用固定网络可靠组播的一些技术,反而能在一定情况达到比较好的性能。另外,考虑到实际的应用,比如视频流和软件分发需要的QoS,如何区分这些业务,并采取不同的策略,是一个值得深入研究的问题。可靠移动组播未来的研究还需要考虑IPv6和MIPv6带来的不同,这是因为MIPv6中取消了外地代理的概念,同时组播组成员管理协议也有所不同。
4 结束语
可靠移动组播是移动组播研究的一个重要组成部分,也是最近的研究热点。在此,本文分析了移动环境给可靠组播带来的挑战,对几种比较典型的移动组播协议进行了讨论,并在最后指出了可靠移动组播未来的研究方向。