1、VTN——Virtual Tenant Network(虚拟租赁网络):是一种应用,能够在SDN控制器上,提供多租赁虚拟网络。
Conventionally, huge investment in the network systems and operating expenses are needed because the network is configured as a silo for each department and system. So, various network appliances must be installed for each tenant and those boxes cannot be shared with others. It is a heavy work to design, implement and operate the entire complex network.
各种网络应用必须为每个租户安装,然而安装的这种框架却不能分享给别人。所以,设计实施和操作整个复杂的网络是非常繁重的任务。
The uniqueness of VTN is a logical abstraction plane. This enables the complete separation of logical plane from physical plane. Users can design and deploy any desired network without knowing the physical network topology or bandwidth restrictions.
VTN的独特之处是它有一个逻辑抽象平台。逻辑抽象平台能够使逻辑平台从物理平台中完全分离。用户可以设计或部署任何想要的网络,而不需知道物理网络拓扑或带宽限制。
2、物理网络资源的映射(Maping of Physical Network Resources)
Mapping
Port mapping
VLAN mapping
MAC mapping
VTN可以从一个连接到映射了VTN的交换机终端上学习到终端信息。
1、 学习终端信息
VTN存储终端的MAC地址和VLAN ID,这些MAC和VLAN ID对应着交换机的端口
2、 终端信息的老化
从VTN上学习到的终端信息,一直将被维持,直到来自终端的包流入VTN,如果终端没有和VTN链接,定时器此时启动,终端信息一直被维持着,直到超时。
BR1的一个接口使用端口映射(port mapping),来自OFS1(openflow switch)GBE0/1上的包被认为是从和其通信的BR1接口上的包。同样,BR2被映射到VLAN 200上,使用了VLAN映射。来自任何OFS上任何端口的标记了VLAN 200的包也被认为是来自BR2的接口。
3、vBridge Function
vBridge查MAC地址table,如果目标MAC地址已经被学到了,转发包给相应的虚拟接口。如果目标MAC地址没有被学习到,则除了接收端口,洪泛(flooding)
MAC address learning
MAC address aging
vRouter Function
Routing function
ARP learning function
DHCP relay agent function
4、Flow Filter Function(流过滤功能)
功能与ACL相似。特殊的情况下,能够允许或禁止与某种特定的包通信。他执行一种重定位的进程——WayPoint routing,与ACL不同。Flow Filter在VTN中能够应用到Vnode的任何接口上,控制包通过接口。匹配条件比较特殊。
Action
Pass通过
Drop丢弃
Redirection重定位
5、Multiple SDN Controller Coordination(多SDN控制器协调)
用户偏爱管理多VTNs仅用一种策略,那么这些VTNs可以被看成是一个单一的VTN。
这些特性,我们可以应用到多数据中心的环境中。即使这些数据中心在地理上是分开的,并有不同的控制器控制着,用VTN可以实现单一策略虚拟网络。
用户可以轻易地添加一个SDN控制器到已有的VTN中,同样,也可以从VTN中删除某个SDN控制器。
VTN API
应用在REST框架上
(Orchrestration:编制)
6、结构综述(Architecture Overview)
VNT应用包含2个组件:VTN Manager和VTN Coordinator
VTN Manager- A OpenDayLight Controller Plugin that interacts with other modules to implement the components of the VTN model. It also provides a REST interface to configure VTN components in ODL controller.
VTN Coordinator - An External Application that provides a REST interface to user to use the VTN Virtualization. It interacts with VTN Manager plugin to implement the user configuration. It is also capable of multiple controller orchestration.
VTN Manager:一种opendaylight控制器插件。提供了一个RESZ的接口,以便配置ODL控制器VTN组件。
VTN Coordinator:外部的应用,给用户提供REST接口,使用VTN虚拟化。能与VTN Manager插件相互作用来实施用户的配置。也具有多控制器编制的能力。
VTN Manager Implementation
VTN Manager will be implemented in Java, and consists of OSGi bundles in an OpenDaylight Controller. It provides virtual network functions for VTN Coordinator via REST API.
VTN Manager is developed from scratch(擦除、暂用) to take advantage of functions of the OpenDaylight controller.
VTN管理者是用Java实现的,在OpenDayLight控制器里,包含了OSGi丛。VTN管理者通过REST API向VTN协作者提供虚拟网络功能。它的发展是来源于充分利用OpenDayLight控制前作用。
提供的REST API
l VTN GET/POST/DELETE
l vBridge GET/POST/DELETE
l Interface GET/POST/DELETE
l Port map GET/POST/DELETE
l Vlan map GET/POST/DELETE
VTN Manager for VTN multi-tenancy
我们打算为每个VTN建立一个容器,但是似乎OpenDayLight控制器中现有的容器管理者并不能实施容器创建功能,除了默认的容器。因此,我们正打算创建所有的VTN和默认容器的vNode。容器管理者的实施计划清晰后,我们就会重新开始这个设计。
VTN Manager for vBridge
为了正常操作虚拟L2网络,VTN管理器具有以下功能:
l 每个vBridge创建MAC地址表
l 接收Packet-in events(不知道怎么翻译比较合适),发送Packet-out,基于目的MAC地址给交换机设置流实体
l 丢弃包,如果该包是来自非VTN配置的端口
PS:这些都是opendaylight官网上翻译总结的,整体较糙,大家可以做个参考,有不正确的地方还请大家指出,我的邮箱是[email protected]。如果想真正弄懂VTN的话,还是必须去官网看英文版+看VTN的源代码(可以在github上下载)。