基于RYU的拓扑发现】的更多相关文章

基于RYU的拓扑发现 前言 本次实验是一个基于RYU的拓扑发现功能.参考了呈神的实现方式,并加了一些自己实现方式,做了一些数据结构的改动. 数据结构 link_to_port 字典 有两种关系: 一是记录交换机与交换机之间的链接 (src_dpid, src_port_no) => (dst_dpid, dst_port_no) 一是记录交换机与控制器之间的链接 (dpid, port_no) =>(mac, ip) host_or_switch 字典 用来记录交换机连的端口连接的为何种类型的…
一.三层(网络层)发现 算法来源:王娟娟.基于SNMP的网络拓扑发现算法研究.武汉科技大学硕士学位论文,2008 数据结构: 待检路由设备网关链表:存放指定深度内待检路由设备的网关信息,处理后删除. 拓扑信息链表:存放从已检测路由设备的网关信息. 子网信息链表:存放网关信息对应的子网信息. 基本思想: 类似于广度优先,在指定深度内运行算法,最后根据拓扑信息链表获得所有路由及其互联关系,根据子网信息链表各路由设备连接的子网及子网内所有活动主机的信息. 需要获得的信息: 路由信息如下图所示. 点击可…
前言 最近纠结于控制器如何发现拓扑,于是就翻起了OpenFlow 1.3进行查看,以及一些相关协议 OF 1.3 安全通道,即交互消息 OpenFlow Switch Specification 1.3.0 1.消息类型 controller-to-switch 消息由控制器初始化,用来直接管理或监视交换机状态 asynchronous 消息由交换机初始化,用来更新控制器的网络事件以及记录交换机状态 symmetric 消息可以被控制器或交换机初始化 2.通信基础机制 建立TCP连接 交换机主动…
原文由我发表在sdnlab.com.原文链接:http://www.sdnlab.com/15425.html SDN网络的一大特点就是资源由控制器集中管理,控制器管理网络,最基本的当然需要知道网络的拓扑,而网络拓扑可能时时发生变化,所以控制器需要时时监测,对于整个网络来说,控制器担负了太多的计算任务,所以如果能够帮助控制器减压,则会提高整个网络的性能.本片文章将以ryu控制器为例,首先介绍传统网络和现在SDN网络的拓扑发现原理,然后介绍改进算法,最后讲解改写后的代码逻辑. 一. LLDP拓扑发…
目录 0.预备知识 1.实验内容 2.编写脚本addflow.sh一步实现流表下发 3.使用api查看流表 4.实验结果 0.预备知识 ryu控制器的API文档:ryu.app.ofctl_rest 根据博客基于RYU restful api实现的VLAN网络虚拟化完成最后的自动化脚本编写,实现RYU REST API的VLAN实现 1.实验内容 参加博客基于OVS命令的VLAN实现 启动RYU ~/ryu/ryu/app$ ryu-manager ofctl_rest.py 如果同时要看拓扑:…
今天在公司试用了一下两款商业拓扑发现软件游龙科技的siteview和速方软件ElementSentry. 条目/产品 速方软件ElementSentryv5.0 游龙科技Siteview NNM v3.7 Window/linux版本 都有 只有window版本 软件形式 B/S C/S 拓扑发现链接覆盖范围 服务器.网络设备都覆盖 只覆盖网络设备 发现准确率 比较准确 不准确 缩略子图 有 有 机柜视图 有 无 拓扑背景更换 右 无 siteview的NNM3.7拓扑王发现的结果是 Eleme…
prometheus 基于DNS的目标发现 DNS服务发现依赖于查询A.AAAA或SRV DNS记录. 1.基于 SRV 记录发现 scrape_configs: - job_name: 'webapp' dns_sd_configs: - names: [‘_prometheus._tcp.shhnwangjian.com] 注意:_prometheus 为服务名称,_tcp 为协议, xiodi.cn 为域名 2.基于 A 记录 - job_name: 'webapp' dns_sd_con…
基于文件的服务发现方式不需要依赖其他平台与第三方服务,用户只需将要新的target信息以yaml或json文件格式添加到target文件中 ,prometheus会定期从指定文件中读取target信息并更新. target文件 vim /usr/local/prometheus-2.1/targets.json [ { "targets": [ "192.168.20.136:9100"], "labels": { "instance&…
prometheus 基于文件的目标发现 1.创建目录 cd /usr/local/prometheus/conf mkdir -pv targets/{nodes,docker} 2.修改prometheus.yml文件 scrape_configs: - job_name: 'prometheus' static_configs: - targets: ['localhost:9090'] - job_name: 'node_exporter' file_sd_configs: - file…
基于Ryu的服务器实现及相关请求访问处理 前言及问题描述 近期又遇到了一个非常棘手的问题,由于Ryu是通过Python语言开发的,通过Ryu的wsgi的方式建立服务器,无法解析PHP,通过多次方法解决无效,后来直接基于Python做了一次实验,通过Python语言去调用相应脚本. 实现方案 实现方案,通过ryu的web gui的实现进行改装 改装后代码 import os import commands from webob.static import DirectoryApp from ryu…