SDN练习一,,SDN练习第一题题目


SDN练习第一题

题目描述


实现网络拓扑:

技术分享图片

具体要求:

南向接口采用OpenFlow 协议。可查看网络的拓扑信息视图。H1、H2、H3、H4 任意两两可互通。

实现思路


利用mininet可视化图形界面miniedit画出网络拓扑以及实现openflow协议,之后导出python脚本。运行floodlight控制器。运行python脚本并连接floodlight控制器。ping以及拓扑信息视图获取。

miniedit


使用以下命令运行miniedit:
root@ubuntu:/home/liuhy# cd mininet/root@ubuntu:/home/liuhy/mininet# cd examples/root@ubuntu:/home/liuhy/mininet/examples# ./miniedit.py 

技术分享图片

画出拓扑:
技术分享图片

右键点击控制器c0选择Preferences修改信息如下:

技术分享图片

说明:1.2版本的flood了light控制器默认端口为6653。不修改会造成端口冲突等问题。

左上角Edit→Preferences来编辑协议等信息。

技术分享图片

左上角File→Expoet Level 2 Script储存python脚本。

运行floodlight控制器


通过以下命令来创建floodlight控制器,默认端口6653
root@ubuntu:/home/liuhy# cd floodlight/root@ubuntu:/home/liuhy/floodlight# java -jar target/floodlight.jar

运行脚本


为了确保准确无误,我们来检查脚本。
root@ubuntu:/home/liuhy/mininet# vim sdn1.py

技术分享图片

保存

运行脚本连接控制器


注意:脚本直接运行,不用像实验三那样子配置参数,因为脚本中已经配置完毕。
root@ubuntu:/home/liuhy/mininet# sudo python sdn1.py
效果如图

mininet
技术分享图片

floodlight
技术分享图片

信息获取


连接状态
mininet> pingall

技术分享图片

拓扑信息

技术分享图片

遇到的问题


安装floodlight时环境变量出现问题,管态下命令丢失。

/bin 不在PATH 环境变量中,故无法找到该命令

原因:配置java环境变量时,不小心把系统的PATH变量弄丢了(或者说覆盖掉)。解决方法:打开 ~/.bashrc 进行修改。运行 gedit ~/.bashrc如果碰到:“/gedit 不在PATH 环境变量中,故无法找到该命令”,问题,可以先设置临时的PATH变量。贴出设置环境变量方法连接floodlight控制器时连接失败问题原因:端口错误。解决办法:查看相关版本生成控制器的端口号。理解脚本创建拓扑的原理,修改脚本。

SDN练习一

评论关闭