实验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控制器;
    img
  • 搭建如上图拓扑

    image-20211006161639383

  • 连接OpenDayLight控制器

    image-20211006162559060

4.通过Postman工具调用OpenDaylight提供的API下发流表,实现拓扑内主机h1和h3网络中断10s。

  • url
http://127.0.0.1:8181/restconf/config/opendaylight-inventory:nodes/node/openflow:1/flow-node-inventory:table/0/flow/1
  • 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"
        }
    ]
}

image-20211006165054180

  • 检查h1和h3连通性

    image-20211006165430412

(二)进阶要求

  1. 查找资料,整理和记录ODL控制器主要的REST API文档,包括但不限于ODL提供的文档链接,获取拓扑的交换机、获取流表状态数量、获取特定交换机端口的状态、新增修改和删除流表等。

四、个人总结

  • 实验难度:较简单

    这次实验要做的内容不多,整体比较简单,主要难度在于环境的配置和工具的安装,工具的安装过程中出现了各种各样的问题

  • 实验过程遇到的困难:

    1.问题:出现如下图让人疑惑的问题image-20211006155515833

    解决方案:该步从部分 PDF 软件直接复制下来有的连接符会消失或变为空格,执行后会报类似错误,有问题发生时需要核对命令是否正确,节约时间

    2.问题:无法将压缩包移动到/user/local/java目录下

    解决方案:在控制台中使用sudo mv /压缩包所在位置 /user/local/java指令

  • 个人感想:

    通过这次的实验,了解到了OpenDaylight、Postman等一系列工具的配置方法,学习到了如何使用Postman工具调用OpenDaylight API接口下发流表,总体上来说还是收获满满。这次实验还是遇到了很多环境配置方面的问题,获取了很多相关经验,未来在面对这些问题是应该也会更加得心应手。

posted @ 2021-10-06 17:21  NoahQ  阅读(56)  评论(0编辑  收藏  举报