ryu

【SDN课设】正式开始第一步:源码解析+arp回复

亡梦爱人 提交于 2020-12-29 12:41:23
正式开始 ryu源码分析之packet类 ryupacket源码 ryu packet文档 结合这个例子学习构造包下发 逐级封装: e = ethernet . ethernet ( dst = 'ff:ff:ff:ff:ff:ff' , src = '08:60:6e:7f:74:e7' , ethertype = ether . ETH_TYPE_ARP ) a = arp . arp ( hwtype = 1 , proto = 0x0800 , hlen = 6 , plen = 4 , opcode = 2 , src_mac = '08:60:6e:7f:74:e7' , src_ip = '192.0.2.1' , dst_mac = '00:00:00:00:00:00' , dst_ip = '192.0.2.2' ) p = packet . Packet ( ) p . add_protocol ( e ) p . add_protocol ( a ) 添加action事件下发包 actions = [ parser . OFPActionOutput ( port = port ) ] out = parser . OFPPacketOut ( datapath = datapath , buffer_id = ofproto . OFP_NO_BUFFER

想学习日语不会日语五十音图发音及写法怎么能行?

假装没事ソ 提交于 2020-08-04 18:37:04
日语的发音 日语发音的基础单位是用平假名表示的一个一个的音拍。因此,日语也被称为“音拍语”(more语言)。汉语则是音节语(syllable语言)。所谓“拍”,就是发音的时间单位。如「うみ」(海)为两拍,是两拍词。「さくら」(桜)是三拍词。日语的每一拍就是一个“元音”或“辅音+元音”。 日语发音和平假名的基础,则是“五十音图”在这里我特地把片假名和罗马字也放在一起。并注有汉语拼音字母及汉语近似音。以便于大家认识。 五十音图(第一行为平假名,第2行为片假名,再下面的是发音) 那么先来测一测你的五十音小天赋https://sourl.cn/Pzx2Sb(复制打开) あ い う え お ア イ ウ エ オ a i u e o a yiwuei o 啊 衣 乌 诶 哦 か き く け こ カ キ ク ケ コ kakikukeko kakikukeiko 咖 ** 哭 ** 阔 さ し す せ そ サ シ ス セ ソ sasisu se so sa xi sisei so 撒 西 思 ** 唆 た ち つ て と タ チ ツ テ ト ta ci cu te to ta qi ci tei to 他 七 刺 忒 拖 な に ぬ ね の ナ ニ ヌ ネ ノ nani nu ne no nani nu nei no 那 哩 努 呐 诺 は ひ ふ へ ほ ハ ヒ フ ヘ ホ ha hi hu he

Docker部署SDN环境

我只是一个虾纸丫 提交于 2020-04-02 09:28:50
2014-12-03 by muzi Docker image = Java class Docker container = Java object 前言 5月份的时候,当我还是一个大学生的时候,有个网友问我,你有研究Docker吗?当时我连Docker是什么都不知道。谷歌之后,对Docker产生兴趣,但是一直没有时间去学习。这个周终于将这个学习计划列入了Todolist。所以我花了3天时间,认真地把这 《Docker 从入门到实践》 看完并实践了一遍,收获颇丰。虽然我的导师以及我自己还是觉得我在瞎转,而且我觉得没有方向的日子很痛苦。所以只好自己做计划,学习点新知识,打打基础了。本篇内容主要介绍什么是Docker、Docker简单入门以及如何使用Docker部署SDN环境,以及docker的网络配置等内容。What is Docker和Why Docker部分摘自《Docker从入门到实践》。 What is Docker Docker 是一个开源项目,诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余项目。它基于 Google 公司推出的 Go 语言实现。 项目后来加入了 Linux 基金会,遵从了 Apache 2.0 协议,项目代码在 GitHub 上进行维护。Redhat 已经在其 RHEL6.5 中集中支持 Docker;Google 也在其 PaaS

RYU 灭龙战 third day

♀尐吖头ヾ 提交于 2020-03-24 07:59:57
RYU 灭龙战 third day 前言 传统的交换机有自学习能力。然而你知道在SDN的世界里,脑子空空的OpenFlow交换机是如何学习的吗?今日说法带你领略SDN的mac学习能力。 RYUBook 从中学习 场景描述 传统交换机原理 学习连接到传统交换机的主机的mac地址,并把其存在mac地址表中 对于已经记录下来的mac地址,若是收到送往该mac地址的数据包时,就往对应的端口进行转发 对于mac地址表中没有的数据包,则进行flooding OpenFlow交换机实现传统交换机功能 对于接收到的数据包针对指定的端口转发 把接收到的数据包发送给控制器(Packet-In) 把从控制器接收到的数据包转发到指定的端口(Packet-Out) 图示 1.初始状态 mac地址表和交换机的流表均为空的表项 2.Host A -> Host B 当Host A 向 Host B 发送数据包时。这个时候会出发PacketIn消息。Host A的mac地址以及对应的端口会记录到mac地址表内。然后由于Host B的mac不在mac地址表内,此时会flooding 3.Host B -> Host A 数据包从host B回复给Host B时,在Flow table上新增一条流表,讲数据包转发给端口1 4.Host A -> Host B 再次由主机A向主机B发送数据包,新增流表

实践一:sdn-mininet、ryu控制器

左心房为你撑大大i 提交于 2020-03-21 10:26:04
启动ryu控制器命令:ryu-manager simple_switch.py 启动mininet:sudo mn -custom experl.py --topo mytopo --controller=remote,ip=127.0.0.1,port=6633 mininet中流表相关操作的命令: 1、dpctl dump-flows  查看流表 2、dpctl add-flow in_port=1,actions=drop  添加进口是1的放弃流表 3、pingall  测试连通性 4、dpctl add-flow in_port=1,actions=output:2  添加进口是1,出口是2的流表放弃 5、sh ovs-ofctl del-flows s1 in_port=2   针对某一个节点进行流表的删除 iperf网络性能测试工具的运用: 测试TCP性能带宽:iperf h1 h2 iperfmulti udp测试:iperfmulti 0.025M 来源: https://www.cnblogs.com/chaochaochaochao/p/9748234.html

Ryu, openflow v1.5, OFPET_BAD_ACTION, OFPBAC_BAD_OUT_PORT errors

淺唱寂寞╮ 提交于 2019-12-23 02:58:13
问题 When I run simple_switch_14.py application in mininet environment, the ping of hosts works just fine. Then I change the following strings of code: 1) "from ryu.ofproto import ofproto_v1_4" to "from ryu.ofproto import ofproto_v1_5" 2) "OFP_VERSIONS = [ofproto_v1_4.OFP_VERSION]" to "OFP_VERSIONS = [ofproto_v1_5.OFP_VERSION]" 3) "out = parser.OFPPacketOut(datapath=datapath, buffer_id=msg.buffer_id, in_port=in_port, actions=actions, data=data)" to "out = parser.OFPPacketOut(datapath=datapath,

2019 SDN上机第6次作业

爷,独闯天下 提交于 2019-12-21 20:07:14
2019 SDN上机第6次作业 1.实验拓扑 实验拓扑 见 2019 SDN上机第2次作业 要求 使用Python脚本完成拓扑搭建,并连接ryu控制器。 2.使用Ryu的REST API下发流表实现和第2次实验同样的VLAN 参考资料 REST API:可以在线学习中国大学MOOC 《软件定义网络》第六讲 北向接口 Ryu控制器的API文档:ryu.app.ofctl_rest Ryu的拓扑展示 助教博客:基于RYU restful api实现的VLAN网络虚拟化 要求 编写脚本,一键执行下发流表。 3.对比两种方法,写出你的实验体会 1.实验拓扑 python 脚本如下 from mininet.topo import Topo class MyTopo(Topo): def __init__(self): # initilaize topology Topo.__init__(self) # add hosts and switches h1 = self.addHost('h1') h2 = self.addHost('h2') h3 = self.addHost('h3') h4 = self.addHost('h4') h5 = self.addHost('h5') h6 = self.addHost('h6') s1 = self.addSwitch('s1') s2

Understanding Ryu OpenFlow Controller, mininet, WireShark and tcpdump

橙三吉。 提交于 2019-12-20 10:12:47
问题 I am a newbie to OpenFlow and SDN. I need help setting up the Ryu OpenFlow controller on a Ubuntu or Debian machine and understand a basic Ryu application. Note : this question already has an answer. 回答1: This is probably one of the longest posts I have written on Stack Overflow. I have been learning about OpenFlow, SDN and Ryu and would like to document my knowledge for a beginner here. Please correct/edit my post if needed. This short guide assumes you already have knowledge of computer

get_all_link(self) outputting all possible LINKs for a topo

一世执手 提交于 2019-12-12 04:38:06
问题 I have topo with 4 switches and 4 hosts. The switches construct a loop. My goal is to learn the topology of the network when switches are connected to the controller. The problem is that the function get_all_links() returns all of the possible links or at least something that doesn't make sense. I call that function when a port_modify event is fired. Here is the code I use to construct the topo: <Removed Imports to save space> class Simple3PktSwitch(Topo): """Simple topology example.""" def _

基于DFS算法的Ryu+Mininet应用

一曲冷凌霜 提交于 2019-12-10 20:05:34
利用DFS算法,实现Ryu应用,并在Mininet上完成相关验证 Ryu与Mininet相关安装与配置详见: https://blog.csdn.net/haimianxiaojie/article/details/50705288 关于本文内所有完整代码详见: https://github.com/PPPerry/Ryu_projects 中的DFS部分 实现内容如下: 在Mininet上搭建一个20个节点网络(拓扑给定),每个网络节点下挂一个主机; 按照如图所示的拓扑,编写mininet的拓扑代码,各个交换机与主机的序号均相同。 完整的拓扑代码如下: #!/usr/bin/python from mininet . net import Mininet from mininet . node import Controller , RemoteController , OVSController from mininet . node import CPULimitedHost , Host , Node from mininet . node import OVSKernelSwitch , UserSwitch from mininet . node import IVSSwitch from mininet . cli import CLI from mininet .