mininet floodlight 搭建SDN环境
2015-02-06 15:42
323 查看
在安装mininet之前,先介绍一下我对SDN的理解
借用Floodlight主页的图,SDN的整体框架如下图:
上层应用程序制定路由规则,通过北向API,将路由规则传输给floodlight;floodlight控制器,通过openflow协议与下层的Switch通信,传递路由规则,openflow协议是南向API的一种实现;目前openflow已经成为事实上的南向API标准协议,而北向API还没有统一的标准,每个控制器都有自己的一套API,不过未来的走向应该是REST API吧…
这样子就把交换机的路由设计从设备提供商解离了出来,让交换机的使用者可以DIY路由规则,进而控制整个局域网!
Mininet 是一个轻量级软件定义网络和测试平台;它采用轻量级的虚拟化技术使一个单一的系统看起来像一个完整的网络运行想过的内核系统和用户代码,也可简单理解为 SDN 网络系统中的一种基于进程虚拟化平台,它支持 OpenFlow、OpenvSwith 等各种协议,Mininet 也可以模拟一个完整的网络主机、链接和交换机在同一台计算机上且有助于互动开发、测试和演示,尤其是那些使用 OpenFlow 和 SDN 技术;同时也可将此进程虚拟化的平台下代码迁移到真实的环境中。
The Floodlight Open SDN Controller is an enterprise-class, Apache-licensed, Java-based OpenFlow Controller. It is supported by a community of developers including a number of engineers from Big Switch Networks.
回到主题,开始安装mininet和floodlight,搭建SDN的测试环境!
cd mininet
git checkout 2.2.0
cd ..
mininet/util/install.sh -a
(这一步会下载很多文件,时间会比较长,然后就可以运行mn了)
cd floodlight/
ant
java -jar target/floodlight.jar
打开
例如 floodlight 的IP地址为10.17.11.23,则
连接成功之后,在http://localhost:8080/ui/index.html 即可看到hosts和switch的详细信息
为了方便在switch端测试,mininet开发了一个dpctl工具,可以绕过controller直接控制switch的flow规则,主要命令包括:
floodlight之上的Application有两种:
floodlight模块,在floodlight启动时加载;
使用REST API编写应用程序;
REST API 文档
floodlight提供了一个使用REST API实现的应用程序 (Circuit Pusher)
借用Floodlight主页的图,SDN的整体框架如下图:
上层应用程序制定路由规则,通过北向API,将路由规则传输给floodlight;floodlight控制器,通过openflow协议与下层的Switch通信,传递路由规则,openflow协议是南向API的一种实现;目前openflow已经成为事实上的南向API标准协议,而北向API还没有统一的标准,每个控制器都有自己的一套API,不过未来的走向应该是REST API吧…
这样子就把交换机的路由设计从设备提供商解离了出来,让交换机的使用者可以DIY路由规则,进而控制整个局域网!
Mininet 是一个轻量级软件定义网络和测试平台;它采用轻量级的虚拟化技术使一个单一的系统看起来像一个完整的网络运行想过的内核系统和用户代码,也可简单理解为 SDN 网络系统中的一种基于进程虚拟化平台,它支持 OpenFlow、OpenvSwith 等各种协议,Mininet 也可以模拟一个完整的网络主机、链接和交换机在同一台计算机上且有助于互动开发、测试和演示,尤其是那些使用 OpenFlow 和 SDN 技术;同时也可将此进程虚拟化的平台下代码迁移到真实的环境中。
The Floodlight Open SDN Controller is an enterprise-class, Apache-licensed, Java-based OpenFlow Controller. It is supported by a community of developers including a number of engineers from Big Switch Networks.
回到主题,开始安装mininet和floodlight,搭建SDN的测试环境!
安装mininet
git clone git://github.com/mininet/mininetcd mininet
git checkout 2.2.0
cd ..
mininet/util/install.sh -a
(这一步会下载很多文件,时间会比较长,然后就可以运行mn了)
安装floodlight
git clone git://github.com/floodlight/floodlight.gitcd floodlight/
ant
运行floodlight
cd floodlight/java -jar target/floodlight.jar
打开
http://localhost:8080/ui/index.html即可看到floodlight的web界面
运行mininet
sudo mn –controller=remote,ip=IP,port=6653例如 floodlight 的IP地址为10.17.11.23,则
sudo mn --controller=remote,ip=10.17.11.23,port=6653
连接成功之后,在http://localhost:8080/ui/index.html 即可看到hosts和switch的详细信息
为了方便在switch端测试,mininet开发了一个dpctl工具,可以绕过controller直接控制switch的flow规则,主要命令包括:
1. dpctl dump-flows tcp:127.0.0.1:6634 显示 switch中的flow规则 2. dpctl add-flow tcp:127.0.0.1:6634 in_port=2,idle_timeout=360,actions=output:3 添加flow规则,从port 2 发送到switch的数据包,从port 3 转发出去 3. dpctl del-flows tcp:127.0.0.1:6634 in_port=1 删除从port 1 发送到switch的flow规则
floodlight的Application
Floodlight的实现如下:floodlight之上的Application有两种:
floodlight模块,在floodlight启动时加载;
使用REST API编写应用程序;
REST API 文档
floodlight提供了一个使用REST API实现的应用程序 (Circuit Pusher)
相关文章推荐
- Vmware下 Mininet Floodlight SDN网络环境搭建
- SDN学习(一)搭建SDN环境(floodlight+mininet)
- Floodlight+Mininet搭建OpenFlow(三):Floodlight进阶
- openflow搭建floodlight+mininet+wireshark(续)
- Floodlight+Mininet的SDN实验平台搭建初探
- Floodlight+Mininet搭建OpenFlow
- ubuntu12.04环境下Floodlight+mininet搭建OpenFlow测试平台
- mininet和floodlight搭建openflow系统
- mininet+opendaylight/floodlight+wireshark搭建SDN测试环境
- 使用floodlight官网下载虚拟机文件Floodlight-vm搭建OpenFlow测试平台
- Ubuntu下搭建Mininet环境
- 最新OpenDaylight与Mininet环境搭建-亲测可用
- 基于Mininet,搭建简单的sFlow测试环境
- ubuntu下jdk、mininet、floodlight、mysqlworkbench安装
- 简单网络搭建与测试 mininet
- 基于OpenDaylight和Mininet的试验床平台搭建
- SDN环境搭建(mininet,OVS,ryu安装及命令)
- opendaylight + mininet 环境搭建
- SDN环境搭建(mininet,OVS,ryu安装及命令)
- Floodlight+Mininet安装方法记录