SDN开发环境搭建之ryu+ovs+mininet

首先简单解释本文的几个名词

第一个SDN,就是软件定义的网络,通过控制层与数据转发层分析,实现可编程的网络

ryu,这个是日本人写的一个sdn控制器,这个翻译是龙的意思,大概和网络流量flow管理有某种关系

ovs是一个软交换机,支持openflow协议

mininet是一个网络模拟器,屌丝玩SDN没有那么多机器,那么mininet是个很好的模拟器,功能很强大

ok

下面开始环境搭建

1.ovs安装

如果ubuntu直接apt-get install安装即可

centos如如果想安装最新版,源码安装是个好办法

	# 编译openvswitch源码
	yum install -y openssl-devel rpm-build
	wget http://openvswitch.org/releases/openvswitch-2.5.0.tar.gz
	mkdir -p ~/rpmbuild/SOURCES
	cp openvswitch-2.5.0.tar.gz ~/rpmbuild/SOURCES/
	tar xzf openvswitch-2.5.0.tar.gz
	rpmbuild -bb --without check openvswitch-2.5.0/rhel/openvswitch.spec
	# 安装生成的软件包
	yum localinstall -y rpmbuild/RPMS/x86_64/openvswitch-2.5.0-1.x86_64.rpm
	/etc/init.d/openvswitch start

2.mininet安装

sudo apt-get install mininet

3.安装ryu,

你可以通过pip install直接安装ryu  (pip install  ryu)

也可以通过源码安装,python setup.py install


当一切都安装好了之后调试环境

启动mn

sudo mn --controller remote,ip=192.168.56.102,port=6633
启动mn创建默认拓扑,并把sdn控制器指向自己ryu,这里我们测试OpenFlow13

设置openflow协议,默认是openflow11,我们用现在最流行的13

sudo ovs-vsctl set Bridge s1 protocols=OpenFlow13


最后启动我们的app,如下图所示:

 sudo ryu-manager --verbose simple_switch_13.py 



此时,交换机上面还没有任何流表

 sudo ovs-ofctl -O Openflow13 dump-flows s1

但当我们在网络中发包以后sdn控制器就开始下发流表了

如下图所示:

此时流表如下所示:


这个流表的内容很简单,就不赘述,再看一下app里面记录的日志


从日志可以看出,交换机第一次不知如何操作的时候就发送packet-in询问ryu控制器。至此sdn的开发环境搭建完成。




这是一个比较复杂的实验,需要一定的基础知识,以下是基本步骤: 1. 安装OpenStack:在一台物理机器上安装OpenStack,并且创建一个网络和两个虚拟机(VM1和VM2)以及一个路由器,将VM1和VM2分别连接在这个网络上。 2. 安装RYU控制器:在一台物理机器上安装RYU控制器,并且编写一个简单的SDN控制器程序。这个程序可以接收交换机发来的OpenFlow消息,并且根据需要下发流表或者修改流表。 3. 安装Docker:在一台物理机器上安装Docker,并且创建两个容器(Container1和Container2)。这两个容器将被用来模拟两个主机,它们将连接在同一个虚拟交换机上。 4. 安装Mininet:在一台物理机器上安装Mininet,并且使用Mininet创建一个虚拟交换机和两个虚拟主机(Host1和Host2)。这两个虚拟主机将连接在这个虚拟交换机上。 5. 配置OVS交换机:在VM1上安装OpenvSwitch(OVS),并且配置OVS交换机。将这个OVS交换机连接到OpenStack网络上,并且添加一个端口,将这个端口连接到RYU控制器上。 6. 配置Docker容器:在Container1和Container2中安装OpenvSwitch,并且配置OVS交换机。将这个OVS交换机连接到Mininet虚拟交换机上,并且添加一个端口,将这个端口连接到RYU控制器上。 7. 运行实验:现在可以运行实验了。在Host1和Host2之间发送一些数据包,观察RYU控制器的行为以及OVS交换机的流表。可以尝试修改SDN控制器程序,并且观察它的影响。 注意,以上仅是基本步骤,具体操作还需要结合实际情况进行调整。此外,这个实验需要一定的计算资源和网络资源,需要提前准备好。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

柳清风09

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值