深入探索OpenDaylight Topology REST API

5星 · 超过95%的资源 需积分: 50 82 下载量 166 浏览量 更新于2024-07-23 2 收藏 9.34MB DOC 举报
"本文档详细探讨了OpenDaylight控制器中的Topology REST API,涵盖了API的使用方式、认证机制以及数据模型的各个元素。" OpenDaylight是一个开源的网络控制器平台,它提供了一组丰富的RESTful API,允许开发者和系统通过HTTP或HTTPS与控制器进行交互,实现对网络的编程和管理。在OpenDaylight中,Topology REST API是用于获取和操作网络拓扑信息的关键接口。 1. Topology REST APIs 这些API位于`org.opendaylight.controller.topology.northbound`包中,主要负责处理与网络拓扑相关的请求。API支持HTTP基本认证,认证域为`opendaylight`,默认使用安全的HTTPS协议。 **服务与操作:** - GET请求:用于查询拓扑信息,例如发送`GET /topology`请求可以获取整个网络的拓扑概览。 - GET请求:获取用户配置的连接,如`GET /list`用于列出用户自定义的连接配置。 - PUT请求:添加新的用户连接,使用`PUT /topologyUserLinkConfig`来创建或更新连接配置。 2. Topology REST APIs的数据模型 数据模型定义了API交互时使用的XML数据结构。以下是一些关键的数据元素及其属性: - `edge`:表示网络中的边,连接两个节点连接器(nodeConnectors)。 - `edgeProperties`:包含边缘的属性集合,每个属性由`properties/property`元素表示。 - `list`:用于存储`topologyUserLinks`,即用户定义的连接列表。 - `node`:表示网络中的节点,可能包含类型和ID信息。 - `nodeConnector`:节点上的连接点,具有类型、ID以及关联的节点信息。 - `property`:通用属性元素,用于存储各种属性值。 - `topology`:整体的网络拓扑,包含多个边缘属性和边缘。 - `topologyUserLinkConfig`:用户定义的连接配置,包含状态等信息。 数据元素的出现次数可以根据需求变化,例如`edgeProperties`和`properties`元素可以有零个到无限个实例。 3. 使用举例 - 查询拓扑:发送一个GET请求到`https://controller-ip:8080/opendaylight/restconf/operational/topology/topology`,返回的是当前网络的拓扑结构。 - 添加连接:通过PUT请求更新拓扑,例如`PUT /opendaylight/restconf/config/topology/topologyUserLinkConfig`,提供XML格式的连接配置信息。 4. 安全与性能 - HTTP基本认证提供了基础的安全性,但可能需要配合其他安全措施如SSL/TLS加密来确保通信安全。 - 由于REST API基于HTTP/HTTPS,可以通过负载均衡和缓存策略来提高服务性能和可用性。 OpenDaylight的Topology REST API为网络管理员和开发者提供了强大的工具,使他们能够以标准化、灵活的方式与网络控制器进行交互,实现网络的自动化管理和编程。理解并熟练使用这些API,可以有效地管理和监控复杂的网络环境。