摘要:实验二基础操作学习可视化工具创建拓扑拓扑动态更改连接控制器流表操作可视化工具创建拓扑以上版本自带进入在目录下操作启动界面如下自定义拓扑拖拽设备到画布配置设备属性设置控制器属性长按右键控制器图标选择修改点击,开启的终端变化配置交换机属性填写
实验二:SDN 基础操作学习
Mininet 可视化工具创建拓扑
Mininet 拓扑动态更改
Mininet 连接控制器
流表操作
Mininet 可视化工具创建拓扑Mininet 2.2.0 以上版本自带
1. 进入 mininet/example
在~目录下操作
cd ~ cd mininet/example
2. 启动 miniedit.py
sudo ./miniedit.py
界面如下:
3. 自定义拓扑:拖拽设备到画布
4. 配置 Mininet 设备属性
① 设置控制器属性
长按右键控制器图标-选择「Properties」
修改 Controller Type
点击OK,开启 miniedit 的终端变化:
② 配置交换机属性
填写 16位 DPID,更改 Switch Type
③ 配置主机属性
设置主机 IP 地址
④ 配置全局属性
菜单栏 - Edit - Preferences
勾选:Start CLI 和 OpenFlow 1.3
IP Base 默认设置了网段,刚才第③步骤可以不填。
5. 点击左下角 Run
观察打开 miniedit.py 的终端变化
6. mininet 基础命令
① 使用 dump 命令查看网络节点信息
② 使用 net 命令查看链路端口对应信息
③ 使用 nodes 查看节点信息
④ 使用 links 查看链路连接状态
7. 保存拓扑图
菜单栏选择:File - Export Level 2 Script 保存
创建好后,终端 CTRL+C 关闭 miniedit
8. 验证下次使用
打开新的终端Ctrl+Alt+T
cd mininet/examples sudo python sdnsy.py
9. 退出mininet
exit
10. 如果再次使用Mininet报错,RTENETLINK answers:File exists
sudo mn -c
清空一下缓存再使用。
mininet 拓扑动态更改已经启动 mininet 拓扑条件下
1. 增加主机
py net.addHost("h4")
2. 增加链路(主机h4和交换机s2
py net.addLink(s2,net.get("h4"))
3. 交换机新增端口,连接主机
py s2.attach("s2-eth3")
4. 新增主机配置 IP 地址
py net.get("h4").cmd("ifconfig h4-eth0 10.4")
5. links 查看结果
1. 启动控制器
开启终端1
启动 Ryu 应用(二层交换)
ryu-manager ryu/app/simple_switch.py
2. 启动 mininet 拓扑
再开启终端2, 用刚才自己创建的拓扑
cd mininet/examples sudo python sdnsy.py
3. Ryu 接收到 PACKET-IN 消息
4. mininet 测试连通性
在mininet 终端页面
pingall
5. mininet 测试带宽
iperf h1 h2流表操作
1. 启动控制器
在 ryu 文件夹内操作
cd ryu/ ryu-manager ryu/app/simple_switch.py
2. 启动mininet
打开新的终端Ctrl+Alt+T
cd mininet/examples sudo python sdnsy.py
3. mininet 查看当前流表
网络拓扑刚创建,没有数据流传输,初始流表为空
dpctl dump-flows
4. pingall 产生PACKET-IN数据包
simple_switch 应用会处理 Packet-in 并下发流表
pingall
5. 再次查看流表
dpctl dump-flows
6. 删除所有流表
dpctl del-flows
7. 查看流表,验证删除结果
dpctl dump-flows
8. 手动添加流表,实现数据转发
dpctl add-flow in_port=1,ations=output:2 dpctl add-flow in_port=2,ations=output:1
9. 查看流表,验证添加结果
dpctl dump-flows
观察到两个交换机均添加了这两条流
10. ping,验证流表
h1 ping h2
可以 ping 通
h1 ping h3
由于流表匹配项是in_port=1,执行的action是转发到端口2,所以h1 ping h3时,流表匹配,全部转发到端口2,到达不了h3,ping不通
11. 数据包丢弃的流表操作
交换机丢弃所有端口2传入的数据包
① 手动添加流表
dpctl add-flow in_port=2,actions=drop
② 查看流表结果
dpctl dump-flows
③ ping 查看流表是否作用
pingall
发现 ping 不通,流表项起作用
12. 流表优先级
① 先删除所有流表
dpctl del-flows
② pingall 通过应用:simple_switch 下发流
pingall
③ 添加数据包丢弃流表
dpctl add-flow in_port=2,actions=drop
④ 查看流表结果
dpctl dump-flows
⑤ 验证pingall 是否仍然连通
pingall
结果仍然能够 ping 通
思考:为什么这次主机间还可以通信?不是已经添加 drop 了么?
13. 删除指定流表
删除交换机 s1 条件字段中包含 in_port=1 的所有流表,并查看当前流表
sh ovs-ofctl del-flows s1 in_port=2 dpctl dump-flows
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/42096.html
摘要:未来几年将是现代数据中心和整个云生态系统的决定性时刻。有了这一切,让我们来看看年影响数据中心和云计算环境的五大趋势物联网规模越来越大物联网设备的爆发将轰动业界。从现在起到年,我们将看到在数据中心和云计算呈爆炸式增长态势。 未来几年将是现代数据中心和整个云生态系统的决定性时刻。人们开始看到越来越多的市场、产业和行业采用新一代技术。所有这些都将影响人们设计数据中心方式,以及支持我们的不同的应用...
摘要:期间笔者有幸采访了虚拟网络负责人周健,更近距离的了解在异构网络下的创新历程。周健表示异构网络跨域互联存在几个难点,安全隔离性能保障用户体验一致性。2020年10月23日,UCloud用户大会暨TIC 2020大会于上海召开,以探讨云端构建,一起创见未来为主题。期间笔者有幸采访了UCloud虚拟网络负责人周健,更近距离的了解UCloud在异构网络下的SDN创新历程。今年1月20日,公司正式登陆...
摘要:虚拟交换机是云数据中心网络不可分割的一部分,但其性能已经成为在及更高数据速率时的一个重要障碍,中国移动项目经理李晨说。 领先的高性能智能网络连接解决方案提供商Netronome日前宣布:推出其业界首款针对网络连接新功能动态化编程的P4及C语言兼容集成开发环境(IDE),可用于Netronome已量产的Agilio CX及LX系列智能服务器适配卡(ISA)。作为NetronomeProgra...
阅读 2044·2021-11-12 10:36
阅读 1916·2021-11-09 09:49
阅读 2616·2021-11-04 16:12
阅读 1162·2021-10-09 09:57
阅读 3255·2019-08-29 17:24
阅读 1926·2019-08-29 15:12
阅读 1287·2019-08-29 14:07
阅读 1301·2019-08-29 12:53