ITPub博客

首页 > IT基础架构 > 网络通信/物联网 > Tungsten Fabric架构解析丨TF怎么运作?

Tungsten Fabric架构解析丨TF怎么运作?

原创 网络通信/物联网 作者:TF中文社区 时间:2019-12-13 12:15:28 0 删除 编辑

Hi!这里是TF中文社区关于Tungsten Fabric架构解析内容的第二篇,解读TF如何运作。本文介绍TF控制器和vRouter的软件体系结构,以及在虚拟机或容器启动时,vRouters与Tungsten Fabric控制器之间的交互。


Tungsten Fabric支持Orchestrator(编排器)


Tungsten Fabric控制器集成了OpenStack或Kubernetes等云管理系统,其功能是确保在创建虚拟机(VM)或容器时,根据控制器或协调器中指定的网络和安全策略为其提供网络连接。


Tungsten Fabric由两个主要软件组成:

 Tungsten Fabric 控制器– 一组维护网络和网络策略模型的软件服务,为实现高可用性,通常在多个服务器上运行。

Tungsten Fabric vRouter– 安装在运行工作负载(虚拟机或容器)的每个主机上,vRouter执行封包转发,并实施网络和安全策略。


Tungsten Fabric的典型部署如下图所示:


Tungsten Fabric控制器通过软件插件与协调器集成在一起,该插件实现了协调器的网络服务。


例如,OpenStack的Tungsten Fabric插件实现了Neutron API,kube-network-manager_和_CNI(容器网络接口)组件使用Kubernetes k8s API监听网络相关事件。


Tungsten Fabric vRouter取代Linux桥接器和IP表,或计算主机上的Open vSwitch网络,控制器配置vRouters以实现所需的网络和安全策略。


VM的封包如果要转发到不同主机上,vRouter会加MPLS over UDP / GRE或VXLAN封装,其中外部标头的目标是运行目标VM的主机的IP地址。控制器负责在每个实现网络策略的vRouter的每个VRF中安装路由集。


例如:默认情况下,同一网络中的虚拟机可以相互通信,但不能与不同网络中的虚拟机进行通信,除非在网络策略中特别允许。控制器和vRouters之间的通信是通过一种广泛使用且灵活的消息传递协议XMPP实现的。


云自动化的一个关键特性,是用户可以为其应用程序请求资源,而无需了解如何或在何处提供资源的详细信息。


这通常是通过一个门户网站完成的,该门户网站提供了一组服务产品,用户可以从中选择,并将其转换为API调用到底层系统,包括云协调器,以启动具有必要内存、磁盘和CPU的虚拟机或容器,满足用户要求的能力。


服务产品可以像具有特定内存、分配给它的磁盘和CPU的虚拟机一样简单,也可以包括由多个预配置软件实例组成的整个应用程序堆栈。


和Orchestrator的互动


Tungsten Fabric控制器和vRouter的架构,以及与协调器的交互,如下图所示:




该图显示了一个协调器工作虚拟机管理程序和虚拟机,这和容器协调器的信息流类似,例如Kubernetes(带有Tungsten Fabric的Kubernetes容器)。


主机上运行的工作负载的每个接口都连接到VRF,包含相应网络的L2和L3转发表,其中包含该接口的IP地址。


vRoute r实现物理路由器执行的集成桥接和路由(IRB)功能。 vRouter仅具有位于该主机上有网 络接口的VRF,包括连接到主机物理接口的Fabric VRF。 使用VRF可以使不同的虚 拟网络具有重叠的IP和MAC地址,不会定义任何网络策略来允许它们之间的流量


Tungsten Fabric虚拟化网络使用封装隧道在不同主机上的VM之间传输封包,而封 装和解封装在Fabric VRF和VM VRF之间发生。


创建新的虚拟工作负载时,会在特定于orchestrator的插件中看到一个事件并将其发送到控制器,然后控制器会向代理发送请求,以便在虚拟网络的VRF中安装路由,然后代理将其配置在转发器里。


使用单个接口在新VM上配置网络的逻辑流程如下:


1. 使用UI、CLI或北向REST API在Orchestrator或Tungsten Fabric中定义网络和网络策略。 网络主要定义为IP地址池,在创建VM时将分配给接口。

2. 用户请求由协调器启动VM,包括其接口所在的网络。

3. 协调器选择要运行的新VM的主机,并指示该主机上的计算代理程序获取其映像并启动VM。

4. Tungsten Fabric插件从协调器的网络服务接收事件或API调用,指示它为将要启动的新VM的接口设置网络。 这些指令将转换为Tungsten Fabric REST调用并发送到Tungsten Fabric控制器。

5. Tungsten Fabric控制器向vRouter代理发送请求,以便将新VM虚拟接口连接到指定的虚拟网络。 vRouter代理指示vRouter转发器将VM接口连接到虚拟网络的VRF。如果不存 在,则创建VRF,并且接口连接到它。

6. 计算代理启动VM,通常将其配置为使用DHCP为其每个接口请求IP地址。 vRouter代理DHCP请求,然后对接口IP地址,默认网关和DNS服务器地址进行响应。

7. 一旦接口启动且具有来自DHCP的IP地址,vRouter安装到VM的IP和MAC地址路由,并将下一跳设为VM虚拟接口。

8. vRouter为接口分配标签,并在MPLS表中安装标签路由。 vRouter向控制器发送XMPP消息,该消息包含到新VM的路由。该路由具有运行vRouter的服务器的IP地址的下一跳,并使用刚刚分配的标签指定封装协议。

9. 在网络策略所允许下,控制器将新VM路由分发到其他vRouters,包含VM位于同一网络和其他网络。

10. 在网络策略所允许下,控制器将其他VM的路由发送到新VM的vRouter。


在此过程结束时,已更新数据中心中所有vRouter的VRF中的路由已经有新VM的信息。


更多Tungsten Fabric解析文章

第一篇: TF主要特点和用例


关注微信:TF中文社区
邮箱:tfzw001@163.com


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/69957171/viewspace-2668456/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
Tungsten Fabric项目是一个开源项目协议,它基于标准协议开发,并且提供网络虚拟化和网络安全所必需的所有组件。项目的组件包括:SDN控制器,虚拟路由器,分析引擎,北向API的发布,硬件集成功能,云编排软件和广泛的REST API。

注册时间:2019-12-11

  • 博文量
    31
  • 访问量
    11843