实验4:开源控制器实践——OpenDaylight
一、实验目的
1.能够独立完成OpenDaylight控制器的安装配置;
2.能够使用Postman工具调用OpenDaylight API接口下发流表。
二、实验环境
1.下载虚拟机软件Oracle VisualBox或VMware;
2.在虚拟机中安装Ubuntu 20.04 Desktop amd64,并完整安装Mininet;
三、实验要求
(一)基本要求
1.配置JAVA环境,下载并解压安装OpenDaylight,版本选择Carbon 或 Beryllium;
2.下载并解压安装Postman;
3.利用Mininet平台搭建下图所示网络拓扑,并连接OpenDaylight控制器;
./distribution-karaf-0.6.4-Carbon/bin/karaf
sudo mn --topo=single,3 --controller=remote,ip=127.0.0.1,port=6633 --switch ovsk,protocols=OpenFlow13
pingall
4.通过Postman工具调用OpenDaylight提供的API下发流表,实现拓扑内主机h1和h3网络中断10s。
通过Postman请求Restful API,进行流表下发
url:http://127.0.0.1:8181/restconf/config/opendaylight-inventory:nodes/node/openflow:1/flow-node-inventory:table/0/flow/1
./postman
{ //json
"flow": [
{
"id": "1",
"match": {
"in-port": "1",
"ethernet-match": {
"ethernet-type": {
"type": "0x0800"
}
},
"ipv4-destination": "10.0.0.3/32"
},
"instructions": {
"instruction": [
{
"order": "0",
"apply-actions": {
"action": [
{
"order": "0",
"drop-action": {}
} ] } } ]
},
"flow-name": "flow1",
"priority": "65535",
"hard-timeout": "10",
"cookie": "2",
"table_id": "0"
} ] }
h1 ping h3
四.个人总结
这次实验应该是最简单的一次,但是安装软件对我来说太折磨了,很多地方在安装的时候都会出错,下载ryu源码,执行命令git clone https://github.com/faucetsdn/ryu.git
时,老是失败时,可把https换成git,安装 Ryu,执行命令 sudo pip install .
,无数次的失败,快崩溃了,网上搜索方法是因为网络问题,sudo pip install . -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
换用阿里云镜像,速度起飞,最后查询版本ryu –-version //是两个--不然一直以为安装失败了
,用火狐下载安装包时有时下载速度很慢,可以试试删除重新下载,或者用网页端的QQ邮箱在Windows发送下载好的安装包。哦,还有在执行sudo apt-get install python3-pip
命令出错时,执行sudo apt-get update
等待一会再次执行就好了。