7. 使用Mininet 创建回环网络拓扑

目录

[1. 任务概览](#1. 任务概览)

[2. 创建py拓扑文件](#2. 创建py拓扑文件)

3.手动在交换机上添加流表项

[3.1 sw添加流表项](#3.1 sw添加流表项)

[3.2 sw中监测数据](#3.2 sw中监测数据)


1. 任务概览

2. 创建py拓扑文件

查看网络基础信息

3.手动在交换机上添加流表项

3.1 sw添加流表项

复制代码
ovs-ofctl add-flow s1 arp,arp_op=1,arp_spa=10.0.0.1,arp_tpa=10.0.0.2,actions=output:2
  • ovs-ofctl:OVS 的 OpenFlow 管理工具
  • add-flow:添加流表项
  • s1:目标交换机名称
  • 匹配条件:
    • arp:匹配 ARP 协议
    • arp_op=1:ARP 请求(ARP Request)
    • arp_spa=10.0.0.1:ARP 源 IP 地址为 10.0.0.1
    • arp_tpa=10.0.0.2:ARP 目标 IP 地址为 10.0.0.2
  • actions=output:2:将匹配的数据包从s1port 2端口转发出去

bash

运行

复制代码
ovs-ofctl add-flow s1 arp,arp_op=1,arp_spa=10.0.0.2,arp_tpa=10.0.0.1,actions=output:1
  • 匹配:源 IP 10.0.0.2、目标 IP 10.0.0.1 的 ARP 请求
  • 动作:从s1port 1端口转发

bash

运行

复制代码
ovs-ofctl add-flow s1 arp,arp_op=2,arp_spa=10.0.0.2,arp_tpa=10.0.0.1,actions=output:1
  • 匹配:源 IP 10.0.0.2、目标 IP 10.0.0.1 的 ARP 响应(arp_op=2
  • 动作:从s1port 1端口转发

bash

运行

复制代码
ovs-ofctl add-flow s1 arp,arp_op=2,arp_spa=10.0.0.1,arp_tpa=10.0.0.2,actions=output:2
  • 匹配:源 IP 10.0.0.1、目标 IP 10.0.0.2 的 ARP 响应
  • 动作:从s1port 2端口转发

bash

运行

复制代码
ovs-ofctl add-flow s1 icmp,nw_src=10.0.0.1,nw_dst=10.0.0.2,icmp_type=8,icmp_code=0,actions=output:2
  • 匹配:源 IP 10.0.0.1、目标 IP 10.0.0.2 的 ICMP Echo 请求(ping 请求,icmp_type=8
  • 动作:从s1port 2端口转发

bash

运行

复制代码
ovs-ofctl add-flow s1 icmp,nw_src=10.0.0.2,nw_dst=10.0.0.1,icmp_type=0,icmp_code=0,actions=output:1
  • 匹配:源 IP 10.0.0.2、目标 IP 10.0.0.1 的 ICMP Echo 响应(ping 回复,icmp_type=0
  • 动作:从s1port 1端口转发
TypeScript 复制代码
osboxes@osboxes:~$ sudo -i
[sudo] password for osboxes:
root@osboxes:~# ovs-ofctl add-flow s1 arp,arp_op=1,arp_spa=10.0.0.1,arp_tpa=10.0.0.2,actions=output:2
root@osboxes:~# ovs-ofctl add-flow s1 arp,arp_op=1,arp_spa=10.0.0.2,arp_tpa=10.0.0.1,actions=output:1
root@osboxes:~# ovs-ofctl add-flow s1 arp,arp_op=2,arp_spa=10.0.0.2,arp_tpa=10.0.0.1,actions=output:1
root@osboxes:~# ovs-ofctl add-flow s1 arp,arp_op=2,arp_spa=10.0.0.1,arp_tpa=10.0.0.2,actions=output:2
root@osboxes:~# ovs-ofctl add-flow s1 icmp,nw_src=10.0.0.1,nw_dst=10.0.0.2,icmp_type=8,icmp_code=0,actions=output:2
root@osboxes:~# ovs-ofctl add-flow s1 icmp,nw_src=10.0.0.2,nw_dst=10.0.0.1,icmp_type=0,icmp_code=0,actions=output:1
root@osboxes:~#
root@osboxes:~# ovs-ofctl add-flow s2 arp,arp_op=1,arp_spa=10.0.0.1,arp_tpa=10.0.0.2,actions=output:3
root@osboxes:~# ovs-ofctl add-flow s2 arp,arp_op=1,arp_spa=10.0.0.2,arp_tpa=10.0.0.1,actions=output:1
root@osboxes:~# ovs-ofctl add-flow s2 arp,arp_op=2,arp_spa=10.0.0.1,arp_tpa=10.0.0.2,actions=output:3
root@osboxes:~# ovs-ofctl add-flow s2 arp,arp_op=2,arp_spa=10.0.0.2,arp_tpa=10.0.0.1,actions=output:1
root@osboxes:~# ovs-ofctl add-flow s2 icmp,nw_src=10.0.0.1,nw_dst=10.0.0.2,icmp_type=8,icmp_code=0,actions=output:3
root@osboxes:~# ovs-ofctl add-flow s2 icmp,nw_src=10.0.0.2,nw_dst=10.0.0.1,icmp_type=0,icmp_code=0,actions=output:2
root@osboxes:~#
root@osboxes:~#
root@osboxes:~# ovs-ofctl add-flow s3 icmp,nw_src=10.0.0.2,nw_dst=10.0.0.1,icmp_type=0,icmp_code=0,actions=output:1
root@osboxes:~#
root@osboxes:~# ovs-ofctl dump-flows s1
cookie=0x0, duration=502.850s, table=0, n_packets=0, n_bytes=0, arp,arp_spa=10.0.0.1,arp_tpa=10.0.0.2,arp_op=1 actions=output:"s1-eth2"
cookie=0x0, duration=473.193s, table=0, n_packets=0, n_bytes=0, arp,arp_spa=10.0.0.2,arp_tpa=10.0.0.1,arp_op=1 actions=output:"s1-eth1"
cookie=0x0, duration=448.571s, table=0, n_packets=0, n_bytes=0, arp,arp_spa=10.0.0.2,arp_tpa=10.0.0.1,arp_op=2 actions=output:"s1-eth1"
cookie=0x0, duration=426.004s, table=0, n_packets=0, n_bytes=0, arp,arp_spa=10.0.0.1,arp_tpa=10.0.0.2,arp_op=2 actions=output:"s1-eth2"
cookie=0x0, duration=343.020s, table=0, n_packets=0, n_bytes=0, icmp,nw_src=10.0.0.1,nw_dst=10.0.0.2,icmp_type=8,icmp_code=0 actions=output:"s1-eth2"
cookie=0x0, duration=317.065s, table=0, n_packets=0, n_bytes=0, icmp,nw_src=10.0.0.2,nw_dst=10.0.0.1,icmp_type=0,icmp_code=0 actions=output:"s1-eth1"
root@osboxes:~# ovs-ofctl dump-flows s2

3.2 sw中监测数据

相关推荐
IPdodo_2 小时前
跨境 API 调用不稳定怎么办:出口、超时重试与链路监控的实践
网络·python·网络协议
Madison-No72 小时前
搭建项目测试环境
linux·运维·服务器·python
悠悠121384 小时前
微服务通信别只看性能:REST 与 gRPC 的 6 个选型判断和一次 502 故障复盘
运维·服务器
xiaoye-duck5 小时前
《Linux 网络编程》深入理解 IP 协议(二):网段划分、私有 IP 与 NAT 地址转换
linux·网络·ip
云老大-阿里云国际站代理商5 小时前
华为云国际站服务代理商:NAT网关怎么配?多台ECS共用公网IP要注意什么
服务器·华为云·云计算
广州宏帝箱包7 小时前
出口箱包的包装标准:防潮、防摔、运输安全的设计要点
大数据·网络
彧azz7 小时前
Linux 网络编程学习总结
linux·网络·笔记·学习·面试
浅念-8 小时前
Redis基础详解:单线程模型、String与Hash数据结构
服务器·数据库·redis·sql·mysql·nosql数据库·nosql
updayday8548 小时前
离职域账号状态变更与Ping64操作记录核对
大数据·网络·数据库·安全·智能路由器
Shadow(⊙o⊙)8 小时前
Linux进阶知识1.0
linux·运维·服务器