
SDN
Chen-ky
这个作者很懒,什么都没留下…
展开
-
RYU 启动出现unsupported version 0x1. If possible, set the switch to use one of the versions[4]
这个问题很早前出现过,当时是因为没有正确安装支持of1.3的交换机,缺少make;在做最近的实验的时候又出现了这个问题,不知道是更改了什么设置;运行如下命令即可,但是如果还是出现问题,就要多运行几次,我是第二次运行的时候才恢复正常的。。。$ ./boot.sh$ ./configure$ make$ sudo make install原创 2016-10-30 01:33:43 · 2009 阅读 · 0 评论 -
网络不能ping通,引出的mininet的autoStaticArp选项
问题描述在一个网络拓扑发现的应用中,定义了net = Mininet(topo=topo, link=TCLink, controller=None, autoSetMacs=True, autoStaticArp=True,switch=UserSwitch)但是在互相ping的时候发现不能ping通,而且交换机发现不了host的位置; 感觉交换机的学习功能原创 2017-09-20 09:45:00 · 1575 阅读 · 0 评论 -
RYU 启动出现unsupported version 0x1. If possible, set the switch to use one of the versions[4]
原因是没有正确安装交换机,这里采用的是cpqd。运行如下命令即可,但是如果还是出现问题,就要多运行几次,我是第二次运行的时候才恢复正常的。。。 进入ofsoftswitch13/ 目录下,执行$ ./boot.sh$ ./configure$ make$ sudo make install即可原创 2017-09-12 23:01:05 · 1089 阅读 · 0 评论 -
mininet fattree 拓扑的构建
#!/usr/bin/env pythonfrom mininet.net import Mininetfrom mininet.node import Controller, RemoteControllerfrom mininet.cli import CLIfrom mininet.log import setLogLevel, infofrom mininet.link import原创 2017-09-12 23:03:22 · 2743 阅读 · 3 评论 -
RYU出现cannot drop_packet. unsupported version. 4 的解决方法
问题描述:最近在做路由实验的时候出现了这个问题,会出现大量的 这样的输出。跟踪到源码中发现是ryu/topology/swiches.py这个文件中的输出 具体内容为@staticmethod def _drop_packet(msg): buffer_id = msg.buffer_id if buffer_id == msg.datapath原创 2017-09-12 22:57:35 · 529 阅读 · 0 评论 -
通过Mininet Python API 添加自定义交换机 switch=user的方法
问题描述希望使用自己的cpqd交换机,在命令行的参数中使用的时候是 sudo mn --custom ./li2_topo.py --topo litopo --controller=remote,ip=127.0.0.1,port=6633 --switch=user现在希望在文件中写好,调用Mininet的python api 写成了net = Mininet(topo=topo, link原创 2017-09-20 09:29:26 · 1870 阅读 · 0 评论 -
查看流表时出现 Dpctl : Error During Transaction错误的解决方法
问题描述> dpctl tcp:127.0.0.1:6634 stats-flow> SENDING (xid=0xF0FF00F0):stat_req{type="flow", flags="0x0", table="all", oport="any", ogrp="any", cookie=0x0", mask=0x0", match=oxm{all match}}> Dpctl : Erro原创 2017-09-20 09:18:25 · 932 阅读 · 0 评论 -
流表项莫名地被删除 无故消失的解决方法和参考 流表删除的三种方式 OFPFC_DELETE_STRICT OFPFC_DELETE
问题描述在进行一个实验的时候,需要进行增添和删除流表项的操作,遇到了一个问题,在我删除一个指定表项,添加一个指定表项之后,原先流表中的一个不相关的表项也不见了。 代码如下:ofp = datapath.ofprotoofp_parser = datapath.ofproto_parsercookie = cookie_mask = 0table_id = 0idle_timeout = 1原创 2017-09-18 19:31:41 · 1906 阅读 · 0 评论 -
RYU中域的通配 wildcard
实验中需要有匹配域是通配的,比如IP通配某一部分掩码,官方文档上对于这一部分写的不是很清楚,摸索之后发现写法如下:以一个tuple的形式将掩码和匹配项写在一起即可match = parser.OFPMatch( eth_type=flow_info[0], ipv4_src=("10.0.0.0","255.255.25原创 2017-09-15 08:53:15 · 516 阅读 · 0 评论 -
RYU 删除流表项 删除不掉 问题
问题描述在做实验的时候需要有删除流表的操作,但是在删除的时候发现并删除不掉,很是奇怪,最终在查阅了文档之后才发现貌似RYU对于FlowMod的匹配要求很高,很严格,需要指定很多参数可以看到,上面的match部分就是in_port,eth_type,ipv4_src,ipv4_dst四个字段,所以 我原先的代码是这样的:def del_flow(self, datapath, match):原创 2017-09-14 21:13:54 · 4189 阅读 · 0 评论 -
RYU+mininet常用实验步骤
0.cd /usr/local/lib/python2.7/dist-packages/ryu1.ryu-manager app.simple_switch_13.py(这个地方一定是要用.的,不能用/)ryu-manager ofctl_rest.py simple_switch_13.py 添加restapi的功能, 可以直接用浏览器查看原创 2017-03-21 10:08:24 · 3493 阅读 · 0 评论 -
mininet+RYU实现交换机
启动mininet:sudo mn --topo single,3 --mac --switch=user --controller=remote启动ryu控制器:cd /usr/local/lib/python2.7/dist-packages/ryu/appryu-manager --verbose simple_switch_13.py ofctl_rest.py r原创 2017-03-21 10:03:02 · 6845 阅读 · 0 评论 -
RYU的restapi的使用
http://www.tuicool.com/articles/VZVBZbQhttp://www.sdnlab.com/11552.htmlhttp://www.sdnlab.com/11563.htmlhttp://ryu.readthedocs.io/en/latest/app/ofctl_rest.html#add-a-flow-entry 官方原创 2016-10-30 12:39:32 · 4965 阅读 · 0 评论 -
fattree 拓扑的构建
#!/usr/bin/env pythonfrom mininet.net import Mininetfrom mininet.node import Controller, RemoteControllerfrom mininet.cli import CLIfrom mininet.log import setLogLevel, infofrom mininet.原创 2016-10-30 01:35:50 · 3367 阅读 · 0 评论 -
iperf参数与丢包率的关系
带宽测试通常采用UDP模式,因为能测出极限带宽、时延抖动、丢包率。经常使用的参数例子如下: iperf -b 1m -u -c 10.0.0.1 -t 0.1 -l 30影响丢包率的因素:带宽值:使用iperf生成并发送数据,在数据包长度固定的情况下(L默认为1470字节),带宽越大,每秒钟发送的数据包越多。当链路延时较大时,每秒发送的数据包数量太多时会造成比较大的丢包率 包的长度:-l 可以设置原创 2017-10-11 16:02:15 · 9580 阅读 · 0 评论