论文部分内容阅读
软件定义网络(Software Defined Networking,SDN)是近年来提出的一种新的网络范型,它通过采用控制/转发分离架构,将传统网络设备的数据转发功能和路由控制功能相分离,交换设备可以更关注于数据转发,提高转发效率。集中式的控制器通过标准的南向接口对连接的网络设备进行管理和配置,它抽象了底层网络设备,提供给上层应用一个一致的管理视图和编程接口,实现网络可编程性。出于地域、归属权不同以及便于维护管理等原因,互联网被划分为不同的自治系统,自治系统间通过BGP协议交互网络可达信息。为提高网络的服务质量,引入了流量工程。但BGP无法满足域间流量工程的需求,集中控制思想开始展现出它的优势。因此本文考虑将SDN用于域间路由,每个区域拥有自己的控制器。每个域内控制器可以学习到本区域的网络视图,处理域内业务。但对于跨域业务,需要每个控制器都有一个全局网络视图才能做出决策,这就需要控制器间协同交互。本文对多域控制器间的交互协同进行了设计实现,主要包含的工作如下:(1)设计了一种轻量级的多域控制器间东西向水平对等架构,通过自拟的水平交互协议进行消息的传递和扩散,控制器基于此协议完成了全局网络状态的同步和一致。(2)系统实现了控制器动态加入,利用LLDP协议发现域间链路,由此域间链路传输控制器的相关信息,然后通过Netty实现相邻控制器间的对等互连。控制器间传输可达区域路径信息,根据收到的信息更新内存数据。当业务到来时,每个区域根据最短区域路径策略选取下一跳区域出口,域内仍然按照最短路方式路由,按照这样的策略部署跨域业务的路径。(3)每个控制器根据自己学习到的本区域底层网络拓扑抽象出一个虚拟网络视图,它是一个该区域边界交换机全互连的虚拟拓扑,统计该虚拟拓扑中链路的带宽、时延、丢包率等信息。每个控制器通过水平交互协议将统计信息通过邻域扩散到整个网络,最终达到全局网络信息的一致性。(4)发起业务的源区域控制器根据全局网络信息选取出一条适合此业务的优化路径,向路径上的区域控制器正向传递此路径信息,从业务目的区域的控制器开始下发流表项,并且反向路径回传成功消息进行下一区域流表项的下发,最终完成到优化路径的流量迁移。