论文部分内容阅读
近年来,实时视频会议、网络音视频点播、分布式存储备份以及虚拟现实游戏等诸多分布式多媒体技术的使用在生活中发挥着越来越大的作用。组播技术作为这些分布式实时应用的关键技术,因其能够有效节约带宽、减轻服务器负载以及网络负载等优点一直以来都是研究的热点。但是组播因为所有底层路由器必须支持组播协议、组播状态的存储限制可扩展性、最短路径方式难以优化网络资源以及缺乏有效的组播动态管理机制等原因始终难以在传统网络中大规模部署。软件定义网络(SDN)把分布式的组播控制问题上升为一个集中管控的方案,使传统组播中存在的一些问题得以解决。转发设备(如OpenFlow交换机)只需根据控制层下发的既定规则进行数据包的转发而不需部署分布式组播路由协议,组播树的构建与维护、组播组及成员管控都能在控制层进行处理。但SDN组播依然存在因流表约束而导致的组播状态存储受限问题。SDN底层交换机中转发规则的实现使用了TCAM等成本昂贵的技术,流表规模受到约束。随着大量多媒体应用的出现,会产生大规模组播组,如何控制和减少庞大的组播转发流表将成为未来SDN网络的一个急需解决的瓶颈问题。本文主要研究了SDN网络中受流表约束的组播路由问题,基于组播流表约束提出了一个新的SDN组播模型,规划为分支节点带度依赖权重的Steiner树(DBWST)问题。在新的组播模型中采用了分支转发策略,不是所有的组播节点需要存储组播流表,而是只在转发分支节点存储即可。在现实情况中,当网络中存在大规模组播或者大量的组播组时,一个转发节点可能有较多分支,也有可能是很多组播组的转发分支节点,组播数据包处理会占用很多的设备资源和处理时间,使交换机能耗增加的同时也使得网络的整体性能下降。因此新模型中还考虑了节点度数对转发节点的影响。DBWST问题是NPC的,其目标是求解一棵可扩展的最优化边代价和转发分支节点代价的组播树,其中转发分支节点的代价随其度数变化而改变。本文首先给出了一个快速启发式算法ESPH--扩展的SPH算法来求解DBWST问题的近似解。在ESPH算法中,目的节点动态地加入已有组播树,算法时间复杂度低,易于实现动态SDN组播,且在选择待加入的目的节点时还考虑到转发节点的代价,使得新树的增加代价最小。仿真结果显示,ESPH算法能高效地求解DBWST问题,得到的组播树能有效减少网络中的组播流表,同时度依赖的代价使转发分支节点中的负载也得到了平衡和控制。为了获取更优解,本文设计了一种基于路径向量的和声搜索近似算法PVHS来解决DBWST问题。根据和声搜索算法中记忆库更新的特点,本文提出路径向量概念并基于路径向量的方式构建和声记忆库,并说明了路径向量和组播树之间如何相互转化。PVHS算法中组播树的构建以及优化操作均基于路径向量。算法中使用组播记忆库随机选择、路径向量局部调整以及路径向量随机生成三种合理调整的更新原则进行迭代更新。仿真结果表明,PVHS能找到一棵整体更优的节约流表和带宽的组播树,但是其执行效率有待提高。