一种基于点覆盖集的SDN网络拓扑管理方法与流程

文档序号:12865865阅读:345来源:国知局
一种基于点覆盖集的SDN网络拓扑管理方法与流程

本发明涉及一种基于网络拓扑结构中度数之和最小的点覆盖集的sdn网络拓扑结构优化管理方法。



背景技术:

sdn(软件定义网络)是一种新型的网络架构,它的设计理念是将传统网络中的控制面与数据转发平面进行解耦合,实现真正意义上的网络控制平面与数据转发平面的分离,并且向第三方提供可软件编程的接口,实现真正的通过软件来管理网络。openflow协议是一种比较流行的sdn架构的南向接口标准,定义了一些控制面与数据转发面的消息处理规则,基于openflow协议的sdn网络是当前情况下相对成熟的实现方式,规范了控制平面与数据转发平面的详细的消息通信规则。

openflow协议是基于sdn的网络架构中控制器与openflow交换机之间传输的标准和规范,也是二者在进行交互作用时所使用的接口标准。openflow协议主要支持以下三种类型的消息,即controller-to-switch消息类型、asynchronous消息类型以及symmetric消息类型。其中每个消息类型又由多个子消息所构成。controller-to-switch消息负责控制器到交换机之间的消息传递,通常由控制器主动发起,主要作用是对交换的状态进行查询和对交换机进行管理;asynchronous消息又称为异步消息,它的主要作用是将网络事件以及交换机的状态变化等信息通知控制器。symmetric消息为对称消息,控制器和交换机都能主动发起该消息。

链路层发现协议(linklayerdiscoveryprotocollldp)是sdn网络中用于发现网络设备之间链路的协议。lldp协议使得接入网络的一台设备可以将其主要的能力,管理地址,设备标识,接口标识等信息发送给接入同一个局域网络的其它设备。当一个设备从网络中接收到其它设备的这些信息时,它就将这些信息以mib的形式存储起来。这些mib信息可用于发现设备的物理拓扑结构以及管理配置信息。它提供了关于网络拓扑以及管理配置的信息,这些信息可以被用于管理、配置的目的。它为以太网网络设备,如交换机、路由器和无线局域网接入点定义了一种标准的方法,使其可以向网络中其他结点公告自身的存在,并保存各个邻近设备的发现信息。例如设备配置和设备识别等详细信息都可以用该协议进行公告。具体来说,lldp定义了一个通用公告信息集、一个传输公告的协议和一种用来存储所收到的公告信息的方法。要公告自身信息的设备可以将多条公告信息放在一个局域网数据包内传输,传输的形式为类型长度值(tlv)域。这个协议很成熟,也已经是一个真正的标准,而且它能够显示的信息还不仅仅只有来自不同供应商的互连网络基础架构的信息。



技术实现要素:

本发明所要解决的技术问题是,针对目前新兴的sdn网络架构中控制器在进行网络拓扑管理过程中资源消耗过多的问题。在网络正常运行的过程中,优化网络拓扑结构中的测量点,尽量减少在进行拓扑发现与管理时产生的测量报文,进而减少网络流量。优化算法的思想是基于贪心算法的思想,然后在求解过程加入一定的策略保证得到的点覆盖集的总度数之和最小。做到在保证控制器可以实时掌握网络拓扑结构的前提下,减少网络资源的消耗和提高控制器的运行效率。

本发明根据无向图的点覆盖集结合sdn网络拓扑发现的特点,得到了对网络拓扑进行优化管理的方法,根据本发明所述网络拓扑管理方法,在进行网络拓扑发现的时候如果找到此网络拓扑结构抽象出来无向图的点覆盖集,就可以保证在网络发现过程中发送的lldp报文最少。但是因为要发现整个网络的链路,所以无向图中的每一条边,至少要使用一次,所以控制器监听和处理用于链路发现的packet-in消息至少为网络中的链路的数量,也就是说顶点覆盖集中的顶点数越少越好,在保证每一条边都被覆盖的情况下,重复覆盖的边的数量越少越好。

本发明提出了一种基于点覆盖的网络拓扑管理新方法。以前所采用的方法没有对网络中的发现点进行优化,而是全局的监控,虽然保证了控制器对网络拓扑结构全局视图的能力,但是需要向网络中注入大量多余的报文和openflow消息,不仅占用交换机和控制器的资源,还消耗南向传输接口的传输资源,造成网络资源的浪费。本发明采用对网络拓扑结构进行优化的方法,力图利用最少的网络开销对网络拓扑结构进行管理。通过控制器中的网络拓扑管理模块获取整个网络的拓扑结构,然后抽象并简化成无向图,运用本发明所提出的一种基于贪心算法思想,并添加策略保证得到的最小顶点覆盖集中最小度数之和最小。运用此方法对网络拓扑进行计算,得到点覆盖的拓扑结构。然后触发控制器中的链路发现模块对选定的网络拓扑进行链路发现,同样可以达到对整个网络进行拓扑管理的目的。在实现过程中,我们也设计出了不同的网络拓扑结构和网络环境来验证本发明所提出的网络拓扑结构管理方法的有效性。虽然在不同的网络拓扑下,本发明所作用的方法对网络优化的程度不同,但是在整体上来说,本发明所用方法能够在减少网络中用于拓扑管理的数据报文的情况,达到对网络拓扑结构进行管理的目的,使控制器可以依据本发明采用的方法对网络拓扑进行管理,不再需要周期性的向网络中的每一台交换机发送lldp报文,不仅减少了控制器发送的携带lldp报文的packet-out消息的数量,而且大大降低了控制器对相应的packet-in消息的监听数量,为控制器节约了用于处理其它网络工作的能力,进而提高网络的运行效率。

本发明所提出的基于点覆盖的sdn网络拓扑管理方法的工作流程分为以下三个模块:

1、初始网络拓扑结构获取模块;

2、度数最小的点覆盖集算法设计模块;

3、拓扑计算模块;

首先,初始网络拓扑发现模块根据控制器中的拓扑管理模块获取整个网络的拓扑结构信息。然后,度数最小的点覆盖集算法模块把拓扑信息抽象成无向图,计算出此无向图的最小点覆盖集。最后,拓扑计算模块根据计算出的最小点覆盖集对整个网络拓扑结构重新计算,做到用最少的网络结点的度数对整个网络拓扑结构进行管理的目的。

以下对这三个模块具体说明:

一、初始网络拓扑结构获取模块

为了获取当前网络结构的拓扑信息,控制器的链路发现管理模块周期性的向与之相连的交换机发送携带lldp,linklayerdiscoveryprotocol,报文的packet-out消息,当交换机收到来自控制器的lldp报文之后将其进行广播发送,当与之相连的交换机收到lldp报文之后通过packet-in消息返回给控制器,通过这样的过程,链路发现模块就知道在这两个交换机之间存在链接,并把对应的交换机的数据面id和端口号记录下来,传送给拓扑管理模块,扩展至整个网络,控制器就利用这种方式获取整个网络的拓扑结构;

在sdn网络结构中,控制器拥有全局的网络拓扑信息,并根据其提供的restapi,网络管理人员和应用开发者得到全局网络拓扑的信息,在具体实现的过程中,通过控制器提供的编程接口获取网络的拓扑结构,进行网络拓扑的优化管理,并监听来自交换机的port-status消息,一旦发现其中包含增加端口或者网络设备和删除端口或者网络设备的信息,就对网络拓扑重新计算,接着的执行过程是对得到的拓扑结构进行抽象化处理,把每一个网络中的交换机抽象成一个无向图中的顶点,在抽象的过程中对顶点与交换机进行编号,达到一一对应,然后把交换机之间的链路抽象成无向图的边,在具体实现过程中,我们采用的是二维数组进行存储结点和边的对应关系,把结点之间有边的置1,无边的置0进行保存。

二、度数最小的点覆盖集算法设计模块

计算无向图的点覆盖集算法设计模块,可以计算出拓扑结构图中度数最小的点覆盖集,算法思想主要是源自贪心算法的思想,但是与贪心算法有一定的区别,在寻找点覆盖的过程加入一定的策略,就是在对具有相同的度的顶点进行选取时,要回溯到初始时的结点度进行计算,目的是保证在得到点覆盖集的情况下,所有点的度数之和最小,实现过程中也尽量减少重复覆盖边的情况。算法的实现说明如下:

(1)依据无向图中顶点的度数对顶点按降序排序,然后选取掉度数最多的顶点,同时删除与此顶点相关联的边。

(2)如果遇到有多个度数相同的顶点要选取,则比较这些顶点在选取之前的度数,把这种状态下的度数较小的顶点作为选取的顶点。

(3)如果回溯到初始状态且初始度数相同,则随机选取顶点进行搜索,然后把从每个可能的顶点等到的结果的总度数进行比较,选取度数之和最小的搜索结果作为问题的解。

算法度数最小的点覆盖集

这种求解点覆盖的算法设计与贪心算法相比,相同点是在度数不同的情况下,作出当前情况下最好的选择,是一种局部最优的策略。不同点是当要选取的顶点的度数相同时要从初始条件下度数较小的顶点进行选取,保证整体度数最小,这是一种全局的优化策略,本发明提出这种策略的原因是加快算法搜索的目的性,使求解过程朝着我们想要达到的效果进行,这种效果就是在保证顶点覆盖的前提下,减少顶点覆盖集中的边的数量。

三、拓扑计算模块

在得到网络拓扑的最小顶点覆盖之后,控制器中的链路发现模块(link-discovery)只要向通过计算得到的交换机发送lldp报文并结合相应的packet-in消息就能够计算出控制器所覆盖的网络拓扑结构。一个简单的计算过程附图3结构所示:在图(a)中有9个顶点和8条边,如果不采用任何策略进行拓扑管理,则控制器需要发送9个lldp报文并收到16个对应的packet-in消息才能完成此网络的拓扑管理工作。但是经过顶点覆盖算法优化之后,如图(b)所示,控制器只需要向其中心顶点发送一个lldp报文并处理8个packet-in消息就可以完成同样的拓扑管理工作。可以看出经过优化的网络拓扑方法可以减少控制器在网络拓扑管理过程中,处理报文和消息的数量,从而节约网络资源。

本发明的优点在于:设计出了不同的网络拓扑结构和网络环境来验证本发明所提出的网络拓扑结构管理方法的有效性。虽然在不同的网络拓扑下,本发明所作用的方法对网络优化的程度不同,但是在整体上来说,本发明所用方法能够在减少网络中用于拓扑管理的数据报文的情况,达到对网络拓扑结构进行管理的目的,使控制器可以依据本发明对网络拓扑进行管理,不再需要周期性的向网络中的每一台交换机发送lldp报文,不仅减少了控制器发送的携带lldp报文的packet-out消息的数量,而且大大降低了控制器对相应的packet-in消息的监听数量,为控制器节约了用于处理其它网络工作的能力,进而提高网络的运行效率。

附图说明

图1是本发明sdn拓扑管理方法工作流程图;

图2是本发明采用的数据中心胖树结构模型图;

图3是本发明拓扑计算举例用图;

图4是本发明实验中用到的特殊网络拓扑结构图;

图5是本发明特殊网络拓扑结构优化前后结果比较图;

图6是本发明优化效率与拓扑信息之间的关系图;

图7是特殊网络拓扑结构信息和相关实验结果;

图8是一般网络拓扑结构信息和相关实验结果。

具体实施方式

以下结合附图对本发明做进一步详细说明。

图1是本发明拓扑管理方法工作流程图。从图中可以看出在本发明提出的sdn网络拓扑结构管理方法中,首先需要从控制器上获取当前的网络拓扑结构。这个过程可以在网络初始化完成后进行,因为控制器会在网络初始化过程中通过发送lldp报文获取它所覆盖的整个网络的拓扑结构。另外还要不对来自交换机的port-status消息进行监听,如果发现拓扑结构在一个管理周期内发生变化要立刻更新获取的拓扑结构。然后根据获取的拓扑结构抽象出对应的无向图,交换机抽象为图中的顶点,交换机之间的链路抽象为图中的边。接着根据本发明采用的优化算法计算出此无向图的度数最小的点覆盖集,完成计算之后再把点覆盖集中的点还原成网络中的交换机。控制器只需要向这些点覆盖集中的点发送lldp报文,然后计算整个网络的拓扑结构,这样不仅可以减少含有lldp报文的packet-out消息的发送量,而且会大大减少其对应的packet-in消息的接收量,进而达到减少网络流量的目的。

图2是一个典型的数据中心网络的胖树(fat-tree)结构模型,图中共有10台交换机,交换机与交换机之间有16条链路相联。根据控制器的链路发现规则,在每一个拓扑发现周期内,控制器需要发送10个含有lldp报文的packet-out消息到各个交换机上,经过广播之后,控制器会收到32个封装了lldp的消息,从而确定此网络的拓扑结构。从中不难看出,需要发送的含有lldp报文packet-out消息的数量等于网络中的交换机数量,需要接收的封装lldp报文的packet-in消息是网络中链路数量的2倍,也就是说控制器需要监听和处理2倍于网络链路的packet-in消息,这就会严重影响控制器监听和处理其它类型packet-in消息的能力,一定程度上降低了网络的性能。

图3是一个简单的拓扑结构计算过程图。在图(a)中有9个顶点和8条边,如果不采用任何策略进行拓扑管理,则控制器需要发送9个lldp报文并收到16个对应的packet-in消息才能完成此网络的拓扑管理工作。但是经过顶点覆盖算法优化之后,如图(b)所示,控制器只需要向其中心顶点发送一个lldp报文并处理8个packet-in消息就可以完成同样的拓扑管理工作。可以看出经过优化的网络拓扑方法可以减少控制器在网络拓扑管理过程中,处理报文和消息的数量,从而节约网络资源。

图4是几个典型的网络拓扑结构进行实验,它们分别是:星形拓扑结构、环形拓扑结构、树型拓扑结构和完全图型的拓扑结构。首先使用mininet构造出对应的网络拓扑结构,然后统计控制器在管理这些拓扑结构的过程中发送和接收lldp数据包的数量,然后应用本发明提出的求解点覆盖集的算法对每一种拓扑结构进行点覆盖集求解,在每一个拓扑结构中通过对这些解的点的管理来达到对整个拓扑结构进行管理的目的。

图5是四种特殊网络拓扑结构优化前后的结果比较图。从图中可以看出本发明所述的拓扑管理方法在减少控制器用于进行拓扑管理的数据包的数量方面有着明显的优势,达到了既对网络拓扑结构进行了正确的管理,又减少了管理数据包数量的目的,可以更多的节约控制器的资源,减少控制器的处理工作,从而达到提高网络运行效率的目的。

图6是优化效率与拓扑结构信息之间的关系图。实验过程中发现,在拓扑结构中链路数和结点数之比越小,本发明所使用的拓扑管理的方法效率越好,两者之比越大,则优化效率越低。这是因为两者的之比越小,网络结构比较稀疏,进行拓扑管理过程中,对链路的重复管理的数量就会越少,进而发送和接收的测量包的数量就会变少,优化效果就会更好。反之,两者之比超高,则说明网络结构越密集,对链路重复管理的数量就会越多,所以优化效果就会降低。

图7是对四种特殊网络拓扑结构相关信息的统计,并结合实验得到在进行优化管理前和优化管理后的一个管理周期内,用于每种拓扑管理的测量数据包的数量并计算出在优化前后,使用本发明所提出的方法得到在网络运行过程中,控制器用于网络拓扑管理的数据包的减少量,从不同的网络拓扑结构所得到的数据包的减少量可以看出在星型拓扑结构中,使用本发明提出的方法,得到的优化效果最好,可以把控制器要处理的数据包的数量减少60%以上,环型和树型的拓扑结构也以保证数据包的数据减少一半左右,但是在完全图中,这种拓扑管理的方法所收到的效果就会差一些,只能将数据包的数据减少20%左右。

图8是选取的几种复杂的网络拓扑结构信息和一个管理周期内的实验结果,通过本发明所提出的拓扑结构管理方法基本可以在一般的网络中,把控制器用于拓扑管理的数据包的数量减少30%到50%之间。也可以看出,经过优化方法对拓扑结构进行管理之后,控制器需要处理数据包的数量有明显的降低,一定程度上减少的控制器的工作量,使控制器有更多的资源处理其它业务,从而提高网络的运行效率。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1