论文部分内容阅读
网络层组播可以比单播更高效地实现一对多或多对多的数据分发,能显著提高网络资源的利用效率。然而,传统的网络层组播技术存在着路由器转发状态数膨胀、部署成本高等问题,阻碍了组播的普及推广。虽然后来提出的一些网络组播方案在一定程度上有所改善,但都无法从根本上解决这些问题。在这样的背景下,应用层组播应运而生,由于其组播转发在应用层实现而无须路由器参与,因而从根本上避免了网络层组播的转发状态数问题。近几年,应用层组播被广泛地部署于视频会议、网络电视、视频通话、网络流媒体等网络应用中。然而,随着用户需求的不断提升,现有的应用层组播技术也逐渐显现出不足,例如端到端延迟过大、节点负载过高、转发网络不稳定等,这些问题在一定程度上阻碍了应用层组播的进一步推广部署。本文论述了目前应用层组播的各种性能指标以及这些指标对组播质量的影响,在此基础上,对目前已存在的各种应用层组播建模方案做了对比分析,采用度和延迟约束的最小生成树(Degree-and Delay-Constrained Minimum SpanningTree,DDCMST)作为应用层组播的算法模型,该模型对应用层组播的两个关键性能指标:端到端延迟和节点度数进行约束,使组播的端到端延迟始终保持在可接受的范围内,并有效限制终端节点的负载。该模型以生成树费用作为优化目标,可以在满足用户需求的前提下,尽量节省网络资源、降低部署成本,有利于应用层组播的推广。在对DDCMST问题深入分析的基础上,本文给出了该问题为NPC问题的证明,并提出用微粒群算法求解该问题。微粒群算法是一种新兴的群智能算法,该算法的迭代过程体现了群体行为在个体经验的交互过程中不断趋优的过程。该算法有着良好的收敛性和稳定性,被广泛应用于各个领域。微粒群算法起初主要应用于求解连续非线性函数的极值问题,并不能直接用于求解DDCMST这样的组合优化问题,本文在微粒群算法基本思想的基础上,对标准微粒群算法进行了改造,其中包括初始解的生成、速度向量的更新、可行解的树形变换和消环等算法过程,从而将微粒群算法应用于求解DDCMST问题。通过对DDCMST问题的求解,得出了一种全新的应用层组播路由算法。该算法继承了标准微粒群算法的优点,扩展性好,收敛速度快,十分适合求解大规模的应用层组播路由问题。本文提出的基于微粒群的算法方案不仅能够应用于求解DDCMST问题,对于其它各种带约束的最小生成树问题,同样可以求解,只需针对不同的约束条件调整其适应度计算函数。基于这一思想,本文又提出了两种求解带约束的最小生成树问题的算法方案,其中一种用于求解度约束的最小生成树问题,另一种用于求解叶节点约束的最小生成树问题。本文最后对提出的基于微粒群的应用层组播路由算法进行了仿真实验,将另外两种分别基于蚁群和遗传的应用层组播方案与本文方案进行了对比,实验结果表明,本文的应用层组播路由方案在端到端延迟、生成树费用、节点度数、收敛时间等方面都具备一定的优势,当拓扑规模较大时,优势更加明显,呈现了良好的稳定性和扩展性。