论文部分内容阅读
随着网络技术的进步和Internet的迅速普及,网络正以前所未有的速度发展;然而,在网络规模进一步扩大,信息流量迅速增加的同时,网络已经变得非常拥挤,在这样的背景下,组播技术诞生了。组播是一种有效的支持多点通信的机制,它通过使一个或多个组播源,只把数据分组发送给特定的组播组来节约网络中的资源;因此,组播这种通信方式可以有效的解决如交互游戏、IP电话、视频点播、视频会议、远程教育等需要占用大量网络资源的多媒体业务。组播技术的核心是组播路由技术;其中,带延迟约束的组播路由技术因为对网络中的实时业务具有非常重要的意义,所以已经引起了人们的广泛关注;该问题的主要目标是建立覆盖所有组播组成员,并保证端到端传输延迟的组播树。带延迟约束的组播路由问题,从源节点数量上可分为点到多点(one-to-many)带延迟约束的组播路由问题和多点到多点(many-to-many)带延迟约束的组播路由问题。本文对上述两个问题进行了介绍,并对每个问题提出了相应的算法;这两个算法都源于蚁群算法。在众多智能优化算法之中,蚁群算法因其健壮性、灵活性、鲁棒性和富于建设性而备受推崇。此外,蚁群的正反馈性和协同性,使之可以用于分布式环境;其隐含的并行性更是使之较为适合于分布式算法的设计。因此,本文中的算法均借鉴了基本蚁群算法的部分有益思路,并在其基础上进行了扩展和改进,使算法更加适合于解决相应的问题。点到多点带延迟约束的组播路由问题的特点是,在整个组播通信的过程中,只有一个源节点;该问题常被归结为最小耗费的约束斯坦立树(Steiner Tree)问题,通过求解Steiner最小树来得到相应的组播树。该问题已被证明是NP完全问题,不存在多项式时间的解法;近年来,出现了大量优秀的算法思想,这使得人们对NP完全问题的研究不断深入。为了更好的解决组播路由问题,前人已经提出了很多集中式算法,但是在真实的网络环境中,集中式算法的实现往往具有较大的局限性;本文在第4章中,提出了一个动态优化的分布式组播路由算法。该算法利用蚁群思想解决组播路由问题,由于不同代的蚂蚁之间可以通过信息素来实现间接通信,而信息素又是一种可以反映环境变化的媒介质;因此,算法能够根据网络环境的变化及时做出调整。结合拓扑生成器产生的网络拓扑进行仿真实验,实验结果表明:通过蚂蚁一代代的进化,算法可以找到一棵满足延迟约束,并且耗费尽可能小的组播树。随着多媒体技术的发展,出现了许多包括多个源节点和多个目的节点的实时业务应用,如交互游戏等。这类应用对应的组播路由问题被称为多点到多点带延迟约束的组播路由问题。可以通过为所有的源节点和目的节点建立一棵(或仅仅少数几棵)组播树,使得多个源节点共同使用此组播树传输数据分组来解决此类问题。这种形式的组播树被称为共享树;共享树结构的优点在于只有树上的路由器才需要维持组成员信息,因此,路由器所需存储的状态信息的数量和组播树的总耗费都相对较小。中心选择是建立共享树时所需要解决的一个重点和难点问题;前人对于该问题的研究往往局限于对单个中心进行选择;但是,因为单中心共享树在延迟方面的缺陷明显,所以已经有越来越多的学者开始研究多中心共享树;本文第5章提出了一个基于多中心的多点到多点带延迟约束的组播路由算法,该算法的重点在于多中心的选择部分;最终的仿真结果说明可以在不显著增加共享树的中心数目和耗费的情况下,使用多中心共享树降低组播数据的传输延迟。