基于RESTCONF的拓扑查询
任务目的
1、学习了解SDN控制器REST北向接口的作用。
2、熟悉OpenDaylight有关网络拓扑的REST常用接口。
任务环境
设备名称 | 软件环境(镜像) | 硬件环境 |
---|---|---|
控制器 | Ubuntu 14.04桌面版 OpenDaylight Lithium | CPU:2核 内存:4G 磁盘:20G |
交换机 | Ubuntu 14.04命令行版 Open vSwitch 2.3.1 | CPU:1核 内存:2G 磁盘:20G |
主机 | Ubuntu14.04桌面版 | CPU:1核 内存:2G 磁盘:20G |
注:系统默认的账户为:
管理员权限用户名:root,密码:root@openlab;
普通用户用户名:openlab,密码:user@openlab。
可查看当前实验环境右侧“钥匙” 按钮获取对应的密码。
任务内容
1、掌握OpenDaylight有关网络拓扑展示的北向接口。
2、使用Postman,查询网络拓扑并读懂Json内容。
实验原理
OpenDaylight提供了多个模块的北向接口,主要可以分为3大类,分别为网络服务类、平台服务类、拓展类。常用的有Topology、Host Tracker、Flow programmer、Statistices、Switch Manager、User Manage。主要模块以及对应的功能如下:
OpenDaylight的拓扑RESTful API对应的子资源点有两个分别为CONFIG和OPERATIONAL,CONFIG主要是拓扑的配置信息,OPERATIONAL主要是运行时的拓扑信息。每种类型的拓扑中包含两个模块的拓扑信息,flow模块和ovsdb模块。在OpenDaylight没有安装ovsdb模块时,ovsdb拓扑是不展示的。
在CONFIG类型中的拓扑包含ovsdb模块的配置信息如配置的网桥、端口、隧道等,flow模块中包含node、link以及流表的配置信息。
在OPERATIONAL类型中flow模块包含node信息,以及link信息。ovsdb拓扑包含ovsdb的配置信息,端口的流量信息。ovsdb的配置信息中包含当前连接的控制器信息、和控制器通信的 OpenFlow协议版本信息、bridge配置信息等。
任务步骤
一、实验环境检查
步骤1 登录控制器,查看控制器IP,如下图所示。
步骤2 使用root用户登录交换机,然后查看交换机与控制器连接情况。如下图所示,is_connected为true表明控制器与交换机连接成功,如下图所示。
注:当出现交换机与控制器连接不成功时,执行# ovs-vsctl del-controller br-sw #ovs-vsctl set-controller br-sw tcp:30.0.1.3:6633手动重连,稍等一会后,重新查看连接状态。
二、查看拓扑
步骤1 登录控制器主机,单击桌面的Applications MenuDevelopmentPostman菜单,打开postman应用,如下图所示。
步骤2 输入URL http://[controller-ip]:8080/restconf/operational/network-topology:network-topology/
[controller-ip] 为当前控制器的数据层的ip,请求类型选择GET访问一个页面需要输入用户名和密码,同样,用Postman发送请求也需要一定的权限。单击Authorization,type选择basic auth。输入用户名和密码,用户名和密码都是admin,如下图所示。
步骤3 单击Send按钮查看结果如下图所示。
本次实验主要是查看flow拓扑,查看当前拓扑中node节点,node节点的port信息,node节点之间的连接信息。可以查看到,当前flow拓扑中有两个node节点,分别为openflow:152594686067525、openflow:148415615564871。Link信息一端为openflow:148415615564871:2,另一端为openflow:152594686067525:2。