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
OpenDaylight虚拟租户网络(VTN)详解及开发环境搭建的更多相关文章
- 超全详解Java开发环境搭建
摘自:https://www.cnblogs.com/wangjiming/p/11278577.html 超全详解Java开发环境搭建 在项目产品开发中,开发环境搭建是软件开发的首要阶段,也是必 ...
- Linux网络配置文件详解
--Linux网络配置文件详解----------------------2013/10/03 目前在企业级服务器的Linux系统中,RHEL占有绝对的优势,不管是曾经在互联网公司还是在目前测试Vir ...
- Docker:网络模式详解
Docker作为目前最火的轻量级容器技术,牛逼的功能,如Docker的镜像管理,不足的地方网络方面. Docker自身的4种网络工作方式,和一些自定义网络模式 安装Docker时,它会自动创建三个网络 ...
- Vmware在NAT模式下网络配置详解
Vmware在NAT模式下网络配置详解 Linux中的网络配置对于接触Linux不久的小白菜来说,还是小有难度的,可能是不熟悉这种与windows系列迥然不同的命令行操作,也可能是由于对Linux的结 ...
- Docker网络模式详解
一.Docker四种工作模式 安装Docker时,它会自动创建三个网络,bridge(创建容器默认连接到此网络). none .hosthost:容器将不会虚拟出自己的网卡,配置自己的IP等,而是使用 ...
- docker 网络概述及网络模式详解
docker 网络概述及网络模式详解 1.网络概述 2.网络模式详解 1.网络概述: Docker 网络实现原理 Docker使用Linux桥接,在宿主机虚拟一个Docker容器网桥(docker0) ...
- 用netstat查看网络状态详解
--用netstat查看网络状态详解 -----------------------------2014/06/11 一.Linux服务器上11种网络连接状态: ...
- Docker基础 :网络配置详解
本篇文章将讲述 Docker 的网络功能,包括使用端口映射机制来将容器内应用服务提供给外部网络,以及通过容器互联系统让多个容器之间进行快捷的网络通信,有兴趣的可以了解下. 大量的互联网应用服务包含多个 ...
- 【转】Linux 网络工具详解之 ip tuntap 和 tunctl 创建 tap/tun 设备
原文:https://www.cnblogs.com/bakari/p/10449664.html -------------------------------------------------- ...
随机推荐
- springmvc 开涛 注解式控制器
版本 定义处理器类 处理器映射适配器 备注 支持的注解 2.5前 controller 2.5 注解 DefaultAnnotationHandlerMapping AnnotationM ...
- EF添加Msysql实体异常:表“TableDetails”中列“IsPrimaryKey”的值为 DBNull。 ---> System.InvalidCastException: 指定的转换无效。
尝试一下以下步骤: 1.关闭VS项目, 以管理员权限来打开: 1.执行语句 set global optimizer_switch='derived_merge=OFF'; set optimizer ...
- SQL SERVER 2014--内存表实现秒杀场景
===================================== 网上针对“秒杀”的解决方案很多,数据拆分化解热点,READPAST解决锁问题,应用程序排队限制并发等等很多方式,各有优缺点, ...
- 使用vs code开发纸壳CMS并启用Razor智能提示
关于纸壳CMS 纸壳CMS是一个开源免费的,可视化设计,在线编辑的内容管理系统.基于ASP .Net Core开发,插件式设计: 下载代码 GitHub:https://github.com/Seri ...
- 解决win10不显示coreldraw x4/5/6菜单栏
1.下载插件 https://pan.baidu.com/s/1nQ1kgUNSD7-9sjUbv5M6XA 复制链接下载插件 2.导入插件到工作区 3.设置工具栏显示 4.把工具栏拖动到菜单栏位置, ...
- 分享一个经验,代码打开mysql链接,执行存储过程时,提示:Table 'mysql.proc' doesn't exist
先说说的场景 老项目,因为服务器升级了mysql数据库版本,从5.7.13升到8.0.15 然而代码里面有直连数据的访问,通过执行存储过程来查询数据的业务,此时抛出异常 Table 'mysql. ...
- 编程哲学之C#篇:01——创世纪
我们能否像神一样地创建一个世界? 对于创建世界而言,程序员的创作能力最接近于神--相对于导演,作家,漫画家而言,他们创建的世界(作品)一旦完成,就再也不会变化,创建的角色再也不会成长.而程序员创建的世 ...
- 用0x077CB531计算末尾0的个数
http://www.matrix67.com/blog/archives/3985 unsigned int v; // find the number of trailing zeros in ...
- Python面向对象(类的成员之方法)
day24 类的成员之方法 - 普通方法,保存在类中,由对象来调用,self > 对象 - 静态方法,保存在类中,由类直接调用 - 类方法,保存在类中,由类直接调用,cls > 当前类 c ...
- 应该怎么理解 app = Flask(__name__)
初始化生成一个app对象,这个对象就是Flask的当前实例对象,后面的各个方法调用都是这个实例Flask会进行一系列自己的初始化,比如web API路径初始化,web资源加载,日志模块创建等.然后返回 ...