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中监测数据

相关推荐
努力努力再努力wz1 小时前
【MySQL 进阶系列】C/C++ 如何通过客户端库访问 MySQL?从连接原理到 API 调用流程详解(附完整demo代码)
服务器·c语言·数据结构·数据库·c++·b树·mysql
千百元1 小时前
华为应用生成 .p12、.cer、.p7b
运维·服务器
孙同学_1 小时前
【Linux篇】NTA机制与网络地址转换原理详解
linux·网络·智能路由器
小趴菜要进步2 小时前
Kali/Linux 更改国内镜像源
linux·运维·服务器
kuaixunbao2 小时前
2026年5月PCB厂家推荐:口碑好的产品解决高频信号传输稳定性痛点
大数据·运维·网络
xxjj998a2 小时前
PHP vs Go vs Python:三大语言终极对比
python·golang·php
cookies_s_s2 小时前
C++ 内存模型与无锁编程:从底层原理到实战
linux·服务器·开发语言·c++
计算机安禾2 小时前
【计算机网络】第9篇:互联网控制报文协议——ICMP的类型体系与诊断功能
网络·计算机网络
@insist1232 小时前
信息安全工程师-物理隔离技术典型应用场景与国家级部署实践
网络·软考·信息安全工程师·软件水平考试