一种基于SDN多路径传输的链路监控方法与流程

文档序号:12752178阅读:655来源:国知局
一种基于SDN多路径传输的链路监控方法与流程

本发明属于SDN中链路负载均衡相关领域,尤其涉及一种基于SDN多路径传输的链路监控机制。



背景技术:

在后网络2.0时代,数据通信多次加速,超过百分之五十的数据通信属于实时视频数据流,因此,设计一个新的网络迫在眉睫。网络的发展需要跟上数据通信加速的步伐(从电路/数据包交换到基于100G网速的复杂网络协议),网络发展的下一阶段即是软件定义网络(SDN)。

软件定义网络(Software Defined Network,SDN),是一种新型网络创新架构,其核心技术OpenFlow通过将网络设备控制面与数据面分离开,使控制逻辑集中,SDN控制器拥有网络的全局静态拓扑、全网的动态转发表信息、全网络的资源利用率、故障状态等,从而也开放了网络能力。但是目前SDN网络中对负载均衡的研究中,大部分是基于传统网络中负载均衡的思路,没有充分发挥SDN网络架构的潜力和功能。



技术实现要素:

本发明要解决的技术问题是:提供一种基于SDN多路径传输的链路监控机制,来实时根据全网转发情况,动态调整转发路径,使数据尽量处于全网最优路径上传输,减少了时延,降低丢包率,使得网络资源得到最佳利用,提升了网络资源的利用率。

为解决上述问题,本发明采用如下的技术方案:

一种基于SDN多路径传输的链路监控方法,本发明提出的一种基于SDN多路径传输的链路监控方法是在基于RYU的路由算法及传输机制仿真平台中实现及应用,Mininet、RYU、Iperf的共同协作来完成路由算法及传输机制的仿真实现。首先由Mininet建立网络拓扑,控制器中运行APP文件来启动RYU控制器,周期性通过RYU的API获取到全网的拓扑信息,集中式处理和存储,利用Iperf模拟产生数据流,根据数据流的源目IP,调用路由算法计算出一对节点间的多条转发路径,通过评价函数选择出全网最优路径,同时开启路径监控,当某条路径负载过重时,动态调整转发路径。

该方法包括以下步骤:

步骤1:在SDN网络传输中,RYU控制器依据数据包的源目IP调用路由算法计算出转发路径,然后下发流表到交换机中。

步骤2:将已下发的转发路径加入到路径监控列表。

步骤2.1:SDN中计算并下发的转发路径是源节点到目的节点的一条转发路线,是由多条链路组成,每一条链路的转发状况都会影响到整个路径的转发状况,路径监控列表是一种按路径及路径信息一一对应存储的数据结构,是基于链路信息的路径监控,根据每一条路径中各条链路信息来判别该条路径数据转发是否需要重路由。路径监控列表数据结构如下表1所示:

表1

如上表1所示,第一行表示源目节点对,第二行表示源目IP对,第三行表示路径相关信息,路径监控列表中包含多个源目节点对,每一对源目节点对下,包含多个源目IP对,每一对源目IP对下又包含路径path和路径信息info。

步骤2.2:在RYU控制器中下发流表后,先检查源目节点对是否在路径监控列表中,若不存在,则添加该节点对,同时将源目IP信息和路径信息添加到该节点对下。

步骤2.3:若在路径监控列表中存在该节点对,则在该节点对下,继续检查源目IP对是否存在,若不存在,则将源目IP对相关信息添加该节点对下;若存在,就检查该源目IP对下的路径信息是否正确,不正确的话将对路径信息进行修正,并将路径加入到路径监控列表中。

步骤3:周期性的获取底层转发流量状况;

RYU控制器通过周期性下发packet-out消息到交换机,获取到交换机中端口流量信息和流表流量信息。

步骤4:周期性的检查路径监控列表中路径的流量状况;

步骤4.1:遍历路径监控列表中每一对交换机节点,检查路径监控列表中包含的每一条路径的流量状况。

步骤4.2:在路径监控列表的一对节点间,首先检查一对节点间的源目ip对数,若大于一对,说明这一对节点间不只是在一对主机间传输数据,而是多对主机间有数据传输,因此当一对节点间多路径传输数据时,是否发生链路拥塞,数据传输是否均衡,就是需要考虑的内容。

步骤4.3:在确认一对节点间的源目ip对数不只有一对时,遍历一对节点间不同源目IP,读取每一对源目IP下包含的转发路径,对这些路径进行查看。

步骤4.4:对转发路径状况进行查看时,首先通过函数获取到每条路径中的最小可用带宽,然后对其进行归一化处理,得到路径评价,并将路径评价和源目ip一一对应的存储到一个数据结构中。该数据结构如下表2所示:

表2

如表2所示,第一行表示路径评价,用数字来衡量这些路径的转发情况,第二行表示源目IP对,用源目IP对来区分路径。

步骤4.5:当遍历一对节点对下的所有IP对,获取到所有的转发路径评价后,对比一对节点间的各条转发路径的链路评价,找到这些转发路径中路径评价最差的路径,若该条转发路径的路径评价低于预定的阈值,则调整该条转发路径。

步骤5:重路由

步骤5.1:对于需要重路由的路径,首先根据原转发路径,回溯,从路径监控列表中获取到相关的路径信息。

步骤5.2:获取到相关的路径信息后,根据源目ip,依据网络现有转发情况,调用路由算法,计算重路由路径。

步骤5.3:下发重路由路径时,重路由路径的优先级要略高于原路径,同时下发路径后更新路径监控列表。

步骤6:删除无效路径监控;

步骤6.1:当数据传输完毕,路径监控列表中对于该条转发路径的监控就没有存在的意义,因此需要周期性的监控数据转发状况,这里采用基于流表流量的无效路径监控删除机制。

步骤6.2:和路径监控同周期内,遍历每对节点下,每对IP下的转发路径,如果转发路径的长度不大于1,则直接删除包括该节点对下的包括IP对在内的所有信息;如果路径的长度大于1,则进行查看路径起始交换机对应于入/出端口的流表流量。

步骤6.3:当路径的长度大于1时,读取到路径的相关信息,包括路径的第一个节点交换机号,第一个交换机的入、出端口号,目的IP,根据这些信息,读取到该条转发路径的起始交换机对应于入/出端口的流表流量,若此时流表流量为0,则说明该条转发路径上的数据传输完毕,可以删除对此条路径的监控,删除该节点对下包括IP对在内的所有路径信息。

本方法可行性高、可靠性强,可以实时根据全网转发情况,动态调整转发路径,使之尽量处于全网最优路径上传输,减少了时延,降低丢包率,使得网络资源得到最佳利用,提升了网络资源的利用率。

附图说明

图1为网络拓扑图。

图2为交换机9上的主机(10.0.0.6)向交换机7上的主机(10.0.0.1)发送数据的路径并加入路径监控列表。

图3为交换机9上的主机(10.0.0.5)向交换机7上的主机(10.0.0.2)发送数据的路径并加入路径监控列表。

图4为流表流量的相关信息。

图5为监控日志的显示信息。

图6为重路由中计算路径的细节显示信息。

图7为显示流表流量信息。

图8为显示删除路径监控信息一。

图9为显示删除路径监控信息二。

图10为本方法的实施流程图。

具体实施方式

下面结合附图1-10和实施例对本发明做进一步说明:

本发明提供一种基于SDN多路径传输的链路监控方法,包括以下步骤:

步骤1:在SDN网络传输中,RYU控制器依据数据包的源目IP调用路由算法计算出转发路径,然后下发流表到交换机中。

步骤2:将已下发的转发路径加入到路径监控列表。

步骤2.1:SDN中计算并下发的转发路径是源节点到目的节点的一条转发路线,是由多条链路组成,每一条链路的转发状况都会影响到整个路径的转发状况,路径监控列表是一种按路径及路径信息一一对应存储的数据结构,是基于链路信息的路径监控,根据每一条路径中各条链路信息来判别该条路径数据转发是否需要重路由。路径监控列表数据结构如下表3所示:

表3

如上表所示,第一行表示源目节点对,第二行表示源目IP对,第三行表示路径相关信息,路径监控列表中包含多个源目节点对,每一对源目节点对下,可包含多个源目IP对,每一对源目IP对下又包含路径(path)和路径信息(info)。

步骤2.2:在RYU控制器中下发流表后,先检查源目节点对是否在路径监控列表中,若不存在,则添加该节点对,同时将源目IP信息和路径信息添加到该节点对下。

步骤2.3:若在路径监控列表中存在该节点对,则在该节点对下,继续检查源目IP对是否存在,若不存在,则将源目IP对相关信息添加该节点对下;若存在,就检查该源目IP对下的路径信息是否正确,不正确的话将对路径信息进行修正,并将路径加入到路径监控列表中。

步骤3:周期性的获取底层转发流量状况;

RYU控制器通过周期性下发packet-out消息到交换机,获取到交换机中端口流量信息和流表流量信息。

步骤4:周期性的检查路径监控列表中路径的流量状况;

步骤4.1:遍历路径监控列表中每一对交换机节点,检查路径监控列表中包含的每一条路径的流量状况。

步骤4.2:在路径监控列表的一对节点间,首先检查一对节点间的源目ip对数,若大于一对,说明这一对节点间不只是在一对主机间传输数据,而是多对主机间有数据传输,因此当一对节点间多路径传输数据时,是否发生链路拥塞,数据传输是否均衡,就是需要考虑的内容。

步骤4.3:在确认一对节点间的源目ip对数不只有一对时,遍历一对节点间不同源目IP,读取每一对源目IP下包含的转发路径,对这些路径进行查看。

步骤4.4:对转发路径状况进行查看时,首先通过函数获取到每条路径中的最小可用带宽,然后对其进行归一化处理,得到路径评价,并将路径评价和源目ip一一对应的存储到一个数据结构中。该数据结构如下表4所示:

表4

如表4所示,第一行表示路径评价,用数字来衡量这些路径的转发情况,第二行表示源目IP对,用源目IP对来区分路径。

步骤4.5:当遍历一对节点对下的所有IP对,获取到所有的转发路径评价后,对比一对节点间的各条转发路径的链路评价,找到这些转发路径中路径评价最差的路径,若该条转发路径的路径评价低于预定的阈值,则调整该条转发路径。

步骤5:重路由

步骤5.1:对于需要重路由的路径,首先根据原转发路径,回溯,从路径监控列表中获取到相关的路径信息。

步骤5.2:获取到相关的路径信息后,根据源目ip,依据网络现有转发情况,调用路由算法,计算重路由路径。

步骤5.3:下发重路由路径时,重路由路径的优先级要略高于原路径,同时下发路径后更新路径监控列表。

步骤6:删除无效路径监控;

步骤6.1:当数据传输完毕,路径监控列表中对于该条转发路径的监控就没有存在的意义,因此需要周期性的监控数据转发状况,这里采用基于流表流量的无效路径监控删除机制。

步骤6.2:和路径监控同周期内,遍历每对节点下,每对IP下的转发路径,如果转发路径的长度不大于1,则直接删除包括该节点对下的包括IP对在内的所有信息;如果路径的长度大于1,则进行查看路径起始交换机对应于入/出端口的流表流量。

步骤6.3:当路径的长度大于1时,读取到路径的相关信息,包括路径的第一个节点交换机号,第一个交换机的入、出端口号,目的IP,根据这些信息,读取到该条转发路径的起始交换机对应于入/出端口的流表流量,若此时流表流量为0,则说明该条转发路径上的数据传输完毕,可以删除对此条路径的监控,删除该节点对下包括IP对在内的所有路径信息。

下面运行一个已应用此链路监控方法的仿真平台,通过仿真来重现该链路监控方法的运行机制和效果。

步骤1:利用Mininet建立K=2的Fat-tree网络拓扑,网络拓扑如图1所示。

从图1中看出,一对节点间存在多条转发路径,比如从节点E7到节点E9间存在多条路径,H1向H5的转发路径和H2向H6的转发路径不一定一样,可以在节点E7到节点E9间的两条不同路径上同时转发。

步骤2:运行RYU控制器。

步骤3:利用Iperf模拟产生数据流。

步骤4:在RYU控制器运行日志中看到此链路监控方法的运行状态。

步骤4.1:下发转发路径,加入路径监控列表。

交换机9上的主机(10.0.0.5)向交换机7上的主机(10.0.0.2)发送数据,如图2所示。经过RYU控制器中路由算法计算,得出传输路径为:S9-->S6-->S2-->S3-->S7(S9等代表交换机号)

交换机9上的主机(10.0.0.6)向交换机7上的主机(10.0.0.1)发送数据,如图2所示。

Path_Monitor显示的内容为路径监控列表,(9,7)是源目交换机对,(10.0.0.5,10.0.0.2)是源目IP,‘info’是存储的路径相关信息,‘path’是存储的传输路径。

显示表明:两条路径在下发后,加入了路径监控列表。

步骤4.2:流表流量显示

图4是流表流量的相关信息。Access Host部分显示的是交换机和主机的连接关系,还包括主机的MAC地址和IP地址。而下部分的内容是流表流量的相关信息,datapath是交换机号,in-port是入端口号,ip-dst是目的IP,out-port是出端口号,packets是统计的数据包数量,bytes是统计的字节数,flow-speed是对应交换机入/出端口的流表流量。

步骤4.3:监控路径,评价显示

图5中显示的是监控日志,首先进入路径监控列表,然后遍历每对交换机节点对、每对源目IP对中路径,对路径情况进行评价并保存到Multi_Path数据结构中,其中10代表路径评价,(10.0.0.6,10.0.0.1)是该条路径的源目IP,该数据结构保存的是路径评价和源目IP的一一对应,由于路径评价低于阈值,因此需要重路由。

步骤4.4:重路由

图6显示的是重路由中计算路径的细节,交换机9上的主机(10.0.0.6)向交换机7上的主机(10.0.0.1)的转发路径由原来的S9-->S5-->S1-->S3-->S7变为S9-->S5-->S1-->S4-->S7。

步骤4.5:删除无效路径监控

图7显示流表流量为0,说明数据传输完毕。

图8、图9显示删除路径监控,分两次把路径监控删除,最后剩下(9,7)交换机对。

通过上述仿真实验,实现了一种基于SDN多路径传输的链路监控方法,其中包括下发转发路径并加入路径监控列表、监控路径转发并动态调整、数据传输完毕后删除无效路径监控;本发明中所述细节均实现,保证了网络的负载均衡。

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