论文部分内容阅读
软件定义网络(Software Defined Networking,SDN)将控制平面和数据平面进行分离。SDN的控制平面负责全网的逻辑控制、维护全局的网络拓扑信息,数据平面负责数据包的转发。为了建立全局的网络可见性,控制平面的控制器需要发现整个SDN网络的网络拓扑结构。在SDN的运行过程中,安全高效的拓扑发现策略对于网络中的转发路径计算、安全规则应用至关重要。本文针对数据中心网络的SDN拓扑发现过程中控制器计算开销、发现流量开销较大的问题,研究了 SDN的链路发现问题,提出了基于最少交换机覆盖的SDN拓扑发现策略(Minimum Switch Coverage,MSC),设计并实现了 SDN拓扑发现系统。本文的主要研究内容如下:本文提出了基于最少交换机覆盖的SDN拓扑发现策略。首先根据初始的网络拓扑状态计算出一个最少覆盖交换机集合,该集合中的交换机可以连接网络中所有的链路。遍历集合中所有的交换机,根据交换机的端口情况为每个交换机生成一个活跃端口列表。判断集合中任意两个交换机是否为邻接交换机,如果是邻接交换机,则删除其中一个交换机与这条链路相连的活跃端口。控制器预先安装流规则来规定交换机转发探测数据包的行为,对于集合中的交换机,下发一个根据活跃端口复制探测数据包的规则,对于非集合中的交换机,下发一个原路回传探测数据包的规则。当控制器根据集合下发和转发链路探测数据包时,MSC能够减少控制器的发送和处理的数据包数量,减小控制器的计算负载。MSC对单向链路进行单独验证,分别从每条链路端口的入口和出口对链路断开事件进行验证。当网络中链路断开事件发生时,控制器会分别从链路的两端下发一个探测数据包,对链路两端端口的收包和发包功能进行验证。从而确定链路断开事件是单向断开还是双向断开。MSC在数据中心网络拓扑上进行了实验,并与其他拓扑发现策略进行比对,实验结果显示MSC可以准确地收集网络的拓扑信息,并能有效减少控制器的计算开销和发现流量开销。基于最少交换机覆盖的SDN拓扑发现策略,设计并实现了软件定义网络拓扑发现系统。包括覆盖交换机模块、流规则下发模块、拓扑管理模块、断开链路探测模块以及控制器负载监控模块。通过实验和测试并验证了系统的功能、性能以及可靠性。