一、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