mininet+RYU实现交换机

本文介绍如何使用Mininet创建网络拓扑,并通过Ryu控制器实现简单的OpenFlow操作。包括启动Mininet与Ryu控制器的方法,REST API的调用过程,以及流表更新的具体步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

启动mininet:
sudo mn --topo single,3 --mac --switch=user --controller=remote

启动ryu控制器:
cd /usr/local/lib/python2.7/dist-packages/ryu/app
ryu-manager --verbose simple_switch_13.py ofctl_rest.py rest_topology.py(后面的两个文件是为了进行restapi的调用加载的)

在浏览器中调用ryu的api

显示交换机1的相关信息

在没有ping之前直接查看交换机当前的流表,这时只有packet-in

mn中h1 ping h2
这时再查看流表的情况:

匹配的是目标mac地址和源端口

mn:h1 ping h3
浏览器中查看流表情况:

这时会发现新增加了h1和h3之间的流表


对流表进行更改,选择post,

查看现在的流表,发现已经有了改变:

在mn中h1 ping h2,会发现Ping不通

h1 ping h2 的过程
h1 arp request h2 广播 mac_to_port中保存h1的信息
h2 arp reply h1 添加h2-h1流表,执行packet-out;mac_to_port中添加h2的信息
h1 icmp request h2 添加h1-h2流表,执行packet-out;
h2 icmp reply h1 h2-h1流表已经存在,执行packet-out
在这个过程中,h2-h1的流表会被执行2次,h1-h2的流表会被执行一次,第一次的arp request是广播的
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值