2019 SDN上机第二次作业

1.利用mininet创建如下拓扑,要求拓扑支持OpenFlow 1.3协议,主机名、交换机名以及端口对应正确,请给出拓扑Mininet执行结果,展示端口连接情况

1.1创建拓扑结构

1.2执行结果

1.3展示网络信息

1.4展示端口连接情况

2.直接在Open vSwitch下发流表,实现如下连通性要求,请逐条说明所下发的流表含义

2.1 s1流表

#s1将从端口号为1,2,3的主机发来的数据贴上相同的vlan tag,然后从4端口发往s2(vlan_id从0开始)
sudo ovs-ofctl -O OpenFlow13 add-flow s1 priority=1,in_port=1,actions=push_vlan:0x8100,set_field:4096-\>vlan_vid,output:4
sudo ovs-ofctl -O OpenFlow13 add-flow s1 priority=1,in_port=2,actions=push_vlan:0x8100,set_field:4097-\>vlan_vid,output:4
sudo ovs-ofctl -O OpenFlow13 add-flow s1 priority=1,in_port=3,actions=push_vlan:0x8100,set_field:4098-\>vlan_vid,output:4 #s1将接收到的数据包去除vlan tag,然后根据dl_vlan(数据包原始的vlan_id),向指定端口转发
sudo ovs-ofctl -O OpenFlow13 add-flow s1 priority=1,dl_vlan=0,actions=pop_vlan,output:1
sudo ovs-ofctl -O OpenFlow13 add-flow s1 priority=1,dl_vlan=1,actions=pop_vlan,output:2
sudo ovs-ofctl -O OpenFlow13 add-flow s1 priority=1,dl_vlan=2,actions=pop_vlan,output:3

2.2 s2流表

#同上所述
sudo ovs-ofctl -O OpenFlow13 add-flow s2 priority=1,in_port=1,actions=push_vlan:0x8100,set_field:4096-\>vlan_vid,output:4
sudo ovs-ofctl -O OpenFlow13 add-flow s2 priority=1,in_port=2,actions=push_vlan:0x8100,set_field:4097-\>vlan_vid,output:4
sudo ovs-ofctl -O OpenFlow13 add-flow s2 priority=1,in_port=3,actions=push_vlan:0x8100,set_field:4098-\>vlan_vid,output:4 sudo ovs-ofctl -O OpenFlow13 add-flow s2 priority=1,dl_vlan=0,actions=pop_vlan,output:1
sudo ovs-ofctl -O OpenFlow13 add-flow s2 priority=1,dl_vlan=1,actions=pop_vlan,output:2
sudo ovs-ofctl -O OpenFlow13 add-flow s2 priority=1,dl_vlan=2,actions=pop_vlan,output:3

3.直接在Open vSwitch查看流表,提交OVS命令执行结果

3.1查询s1流表

sudo ovs-ofctl -O OpenFlow13 dump-flows s1

3.2查询s2流表

sudo ovs-ofctl -O OpenFlow13 dump-flows s2

4.提交主机连通性测试结果,验证流表的有效性

4.1测试其连通性

pingall

5.利用Wireshark抓包,分析验证特定报文

最新文章

  1. 用ProGet搭建内部的NuGet服务器
  2. 图解SQL的Join 转自coolshell
  3. Linux解决Device eth0 does not seem to be present
  4. leetcode 229 Majority Element II
  5. IOS中如何获取手机的当前IP
  6. error LNK2005 new,delete 等已经在LIBCMT.lib(delete.obj) 中定义 错误修正
  7. JDBC学习笔记(7)——事务的隔离级别&批量处理
  8. 【BZOJ】1925: [Sdoi2010]地精部落 DP+滚动数组
  9. 字符编码知识:Unicode、UTF-8、ASCII、GB2312等编码之间是如何转换的?
  10. Swift 项目中常用的第三方框架
  11. 基于 HTML5 WebGL 的 3D SCADA 主站系统
  12. bzoj4152[AMPPZ2014]The Captain 最短路
  13. Android开发学习之路--MAC下Android Studio开发环境搭建
  14. kafka手动开启监听
  15. java前台线程和后台线程
  16. Dada_WenJian
  17. docker mysql Exit 1
  18. spring-boot(hello world)
  19. UML和模式应用5:细化阶段(5)---系统顺序图
  20. Linux后台运行进程

热门文章

  1. shell 下
  2. C++入门到理解阶段二基础篇(5)——C++流程结构
  3. C#截图操作(几种截图方法)
  4. Redis for OPS 07:Redis 补充说明
  5. length()返回当前字符串的字符个数
  6. ucoreOS_lab5 实验报告
  7. windows10 性能优化
  8. [20191010]bash行计算器.txt
  9. Linux 查看 添加 修改路由
  10. Centos7下安装配置keepalived