OpenDaylight虚拟租户网络(VTN)详解及开发环境搭建
一、VTN简介及架构分析:
具体详见开发人员指南wiki:https://wiki.opendaylight.org/view/Release/Lithium/VTN/developer_Guide
这里有两篇很好的初学者文章作为入门:
《Opendaylight VTN虚拟网功能验证与开发环境搭建》
1. VTN Coordinator:
VTN Coordinator是外置的一个网络应用,通过ODL上的VTN Manager提供的北向REST接口,向上层VTN Application用户提供虚拟网络功能。Coordinator架构如下:
Web Server 子模块负责与上层VTN应用通过REST API进行交互,并将上层的REST API向下转换成对应的Java API。其主要功能包括:
-通过catalina.sh启动
-VTN 应用以XML或者JSON格式发送HTTP请求给Web Server
-创建会话和获取读写锁定
-根据url调用下层对应的java API library
-向上层vtn应用返回响应消息
VTN Service JAVA API Library 提供java api library来与coordinator的下层模块进行通信。其主要功能包括:
-创建一个对下层的进程间通信客户端会话
-将应用请求转换成进程间通信框架格式
-调用下层API(比如UPPL API, UPLL API, TC API)
-将下层响应消息返回给上层web服务器
-vtn service java library详细类
* 需要注意的是,vtn coordinator并不具有karaf特性。更多rest api相关信息请登录wiki
* coordinator向上提供有限的获取底层物理网络信息的api。
*详见官方文档:https://wiki.opendaylight.org/view/OpenDaylight_Virtual_Tenant_Network_(VTN):VTN_Coordinator
2. VTN Manager:
ODL控制器上的一个功能插件。通过控制器上的其他功能模块进行交互从而部署vtn功能。它同样提供rest api接口来配置控制器上的vtn组件(增加、更新、删除vtn)。用户命令被coordinator处理后通过coordinator底层的odc driver驱动组件转换为rest api发送给vtn manager。它同样可以与著名的openstack进行整合。详见相关文档:
3. 用例实验
这里是一些基本的配置和用例实验:
Coordinator的 Web UI 和 CLI:http://plvision.eu/blog/opendaylight-vtn-coordinator-enabling-webui-and-cli/
Manager:How to:Provision virtual L2 network:https://wiki.opendaylight.org/view/VTN:Manager:How_to:Provision_virtual_L2_network
Coordinator:RestApi:How to configure L2 Network with Single Controller:https://wiki.opendaylight.org/view/OpenDaylight_Virtual_Tenant_Network_(VTN):VTN_Coordinator:RestApi:How_to_configure_L2_Network_with_Single_Controller
更多请访问本人博客地址:https://jiang-hao.com
- 【iOS开发-92】在mac上如何搭建apache+php+mysql环境用于ios网络测试?
- VMWare虚拟OSX系统搭建ios、iphone开发环境并成功运行模拟器(2016)
- [1.0.2] 详解基于maven管理-scala开发的spark项目开发环境的搭建与测试
- Mac下搭建Go语言开发环境详解(步骤配图)
- 图文详解如何搭建Windows的Android C++开发环境(一)
- python搭建虚拟环境的步骤详解
- 《Metasploit魔鬼训练营》虚拟环境搭建中网络配置的一些问题
- Unix/Linux环境C编程入门教程(11) 开发环境搭建VMWare虚拟安装之虚拟化检测
- ubuntu环境利用Vagrant搭建一个虚拟开发环境
- Scala 深入浅出实战经典 第97讲:使用SBT开发Akka第一个案例环境搭建详解
- 虚拟机搭建半封闭开发环境网络
- Angular2从搭建环境到开发步骤详解
- Android开发环境的搭建之(三)虚拟设备AVD的创建
- Java+MyBatis+MySQL开发环境搭建流程详解
- Vue开发环境搭建详解
- ESX 4.0虚拟环境搭建之RouterOS网络环境(二)
- Python网络编程实战之一个人开发环境搭建
- 虚拟开发板-Linux开发环境搭建
- (详解)Eclipse3.6搭建 Android 2.2 开发环境