论文部分内容阅读
移动互联网、云计算及网络媒体的快速发展逐渐改变了互联网的形态和业务需求,这主要体现在以下四个方面:1)底层网络的拓扑结构可能会根据使用者的弹性需求而动态地改变;2)网络内移动终端规模爆发式增长;3)流媒体成为网络流量的主要贡献者;4)视频点播、在线会话等与流媒体相关的分布式应用成为一类重要的网络服务。这一新的互联网发展趋势可以概括为底层网络及终端设备的动态化,网络流量的媒体化,以及信息生产者的多元化。因此,在新的网络环境下需要有一种高效的通信方式为分布式应用提供有力地支撑。单播、广播、多播是互联网内三类主要的通信方式。与单播和广播相比,多播是用以支撑这类应用的理想手段。它不需要像单播一样在多方通信的参与者之间建立点对点连接,因此减少了带宽资源的占用;它也不需要像广播一样通过泛洪的形式向网络的所有分支发送大量数据包,因此有效减少了网络内无效数据包的数量,缓解了网络冲突。可见,多播通信在当前新的网络发展趋势下显得越来越重要。多播通信是在多播框架的支撑下实现的,多播框架起到了管理多播组和执行多播路由算法的作用。然而,在经典IP网络架构下,现存的多播框架在设计之初就具有通用性和独占性。其缺省的多播路由算法没有为底层网络和终端设备的动态性做出特别的优化,同时客制化的多播路由算法也无法被部署于该框架上。因此,现存的多播框架无法满足各种应用程序对多播通信的不同Qo S需求。不仅如此,目前所广泛采用的PIM、CBT等多播协议都基于汇集点建立多播树,这有可能引起数据包在汇集点附近产生拥塞,同时也引入了“最优汇集点选择”的新问题。为了解决上述问题,必须向网络内部署一个额外的多播框架,然后将面向动态多播的路由算法或面向其他Qo S需求的多播路由算法部署在这个多播框架上。然而,由于在多播通信设计之初并没有考虑其扩展性和灵活性,因此当网络内存在两个多播框架时,它们之间将会产生严重的冲突。为了向网络内部署客制化的路由算法,传统的方法是使用应用层多播框架,通过应用层协议管理多播组。而现存多播框架通过网络层的IGMP协议管理多播组,两种多播框架因此彼此隔离开来从而避免了冲突。然而,正是由于应用层多播框架没有采用标准的IGMP协议管理多播组,造成过去已经开发完成的海量经典多播应用程序无法兼容于该框架。多播应用程序的开发者不得不为每个多播路由算法开发专用的应用层协议和相应的应用层程序,这违反了软件工业的可重用原则。因此,如何向网络内部署适用于动态应用场景的多播路由算法而又保持与经典多播应用程序的兼容性成为多播研究领域内的一个待解的难题。为了解决这一问题,本文基于新兴SDN网络架构,对动态多播从物理框架、数学理论基础、路由算法、实际应用四个方面进行了研究。提出了一个基于SDN的插件化多播框架,该框架能够在不与现存多播框架产生干扰的情况下允许使用者向本框架内部署客制化的多播路由算法,同时又保持与经典多播应用程序的兼容性。在此框架的基础上,本文提出了面向动态应用场景的非重构动态多播路由算法和可重构多播路由算法。最后,我们基于本文所提出的多播框架和算法实现了一个分布式共享内存系统,该系统证明了多播框架和算法的可行性和高效性。全文的主要研究内容和创新点包括:针对现存多播框架的扩展性和灵活性不佳的问题提出了基于SDN的插件化多播框架。该多播框架能够在不与现存多播框架产生冲突的前提下使得客制化多播路由算法作用于网络。更重要的是,与应用层多播框架相比,它完全遵循标准IGMP协议实现,因此保持了与经典多播应用程序的兼容性。针对可重构多播路由算法对多播树的扰动而引起的丢包,提出了基于SDN的丢包保护机制。将链路的带宽因素引入到时变图理论内并将该理论从时间空间推广到时间空间和多播组空间,以更清晰、精确、全面地形式化描述SDN环境下的动态多播和可重构多播路由算法。针对新的网络环境下多播的高动态特性以及汇聚点对现有动态多播路由算法所带来的缺陷提出了基于任播模型的非重构多播路由算法和可重构多播路由算法。在上述四个研究成果的基础上提出了基于SDN的分布式共享内存。