SDN网络感知服务与最短路径的结构和分析以及流量统计

SDN网络感知服务与最短路径的结构和分析以及流量统计,第1张

本文将介绍RYU中的网络感知服务,与基于网络服务的最短路径应用,主要内容包括网络资源感知模块,网络监控模块和基于网络信息的最短路由模块介绍。在一个真实的网络环境下,需掌握网络的实时动态,包括网络的资源以及网络流量状况,其中网络的信息包括交换机,端口,主机的信息,以及基于流的流量统计信息和基于端口的流量统计信息。在掌握这些关键的网络信息后,控制器就可以根据这些信息作出当下最正确的路由决策,完成网络的通信。

网络资源感知
网络资源感知模块用于感知网络资源的实时变化,包括拓扑信息以及主机信息的变化。任何网络应用,可达性都是最基本的要求。SDN网络的集中控制,使得控制器可以根据全局的信息作出最佳决策而无需在交换节点上采用分布式的路由算法。所以感知网络资源是SDN应用最基础的一项服务。网络资源感知模块源码链接:network_aware. 实现该模块的类为Network_Aware类,该类描述如下:

SDN网络感知服务与最短路径的结构和分析以及流量统计,SDN网络感知服务与最短路径的结构和分析以及流量统计,第2张

其中数据结构与其作用关系如下:

link_to_port字典存储交换机之间链路与端口的映射关系;

access_table字典存储主机的接入信息;

switch_port_table存储交换机端口列表;

access_ports存储外向端口(与终端连接的接口);

interior_ports存储内部端口;

grap存储网络拓扑图;

pre_link_to_port等带有pre前缀的数据结构用于保存上一次获取的信息,用于和当前获取信息做比较。

_discover函数是主循环函数

在_discover函数中,周期执行get_topology和是show_topology函数。在get_topology函数中,控制器可以获取到网络中的交换机和端口信息、链路信息、主机接入信息等。此外,控制器通过实时检测网络变化的异步事件来更新网络资源信息。show_topology函数则是将网络信息格式化地展示在终端中。由于前端开发能力有限,目前仅仅简单将后台数据展现在终端。

Note that:可以通过置位IS_UPDATE来控制是否输出信息。此外,若拓扑信息不发生变化,将不打印,即仅打印拓扑一次,直至拓扑更新。可以将判断中的and 修改为or,即可每次都打印。

SDN网络感知服务与最短路径的结构和分析以及流量统计,图1.网络资源信息,第3张

 

图1.网络资源信息

网络流量监控
网络的信息除了物理资源信息以外,还包括逻辑链路等信息;获取流表信息可获得对应的逻辑连接信息。此外,获取网络的数据流量的统计情况对防止网络故障,合理优化网络等方面起到了重要的作用。网络流量监控模块实现了对端口流量和流表项流量的监控。应用可周期获取到流量信息,并在终端中输出展示。源码链接:Network_Monitor

实现网络流量监控的类为:Network_Monitor,具体描述如下:

SDN网络感知服务与最短路径的结构和分析以及流量统计,SDN网络感知服务与最短路径的结构和分析以及流量统计,第4张

其中数据结构的作用如下:

datapaths记录与控制器连接的datapath;

port_stats保存端口的统计信息;

port_speed保存端口的速率信息;

flow_stats保存流的统计信息;

flow_speed保存流的速率信息;

stats保存所有的统计信息;

port_link保存link的特性信息;

_monitor函数为主循环函数;

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2607188.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-09
下一篇 2022-08-09

发表评论

登录后才能评论

评论列表(0条)

保存