Hi!这里是Tungsten Fabric架构解析内容的第四篇,本文将详细介绍Tungsten Fabric的服务链。 Tungsten Fabric架构解析系列文章,由TF中文社区为你呈现,旨在帮助初入TF社区的朋友答疑解惑。咱们将系统介绍TF有哪些特色、如何运做、如何收集/分析/部署、如何编排、如何链接到物理网络等话题。
当网络策略指定两个网络之间的流量,必须流经一个或多个网络服务(例如防火墙、TCP代理、负载平衡器等)时,即造成服务链,这些网络服务也被称为虚拟网络功能(VNF)。算法
网络服务在虚拟机(VM)中实现,这些虚拟机在Tungsten Fabric中被标识为服务,而后包含在策略中。安全
Tungsten Fabric支持OpenStack和VMware vCenter环境中的服务链。微信
下面显示了在两个VM之间实现服务链的路由简化视图(实际的Tungsten Fabric实现中,特殊的“服务”VRF包含在服务链的路由中)。网络
当在控制器中将VM配置为服务实例(VNF),并在网络策略中应用该服务实例时,控制器将在“Left”和“Right”端口所在的VRF中安装路由,用于引导流量经过VNF。架构
当封装路由经过VNF vRouter发布回控制器时,路由将分发给具备Red和Green VRF的其余vRouters,最终结果是一组路由指示Red和Green网络之间的流量经过该服务实例。负载均衡
当VNF启动时,经过标签“Left”和“Right”标识顺序激活的接口。ide
VNF必须有一个配置,该配置可根据数据包到达的接口,正确地处理这些数据包。测试
服务(VNF)有三种类型:spa
下面说明了各类服务链的场景,并分别进行简要说明。3d
在第一个面板中,经过编辑Red和Green网络之间的网络策略来建立简单的服务链,包括服务FW和DPI。这些虚拟机是先前在OpenStack或vCenter中启动的,而后在Tungsten Fabric中配置为具备Red和Green网络中的接口的服务实例。
保存策略并将其应用于两个网络后,全部附加了Red或Green VM的vRouters中的路由都将被修改,以经过服务链发送流量。
例如,在修改策略以前,Red网络中的每一个VRF都有一条到绿色网络中每一个VM的路由,其中包含运行VM的主机的下一跳,以及控制器指定了主机vRouter的标签。
路由被修改成具备FW服务实例的入口VRF的下一跳,以及为FW Left接口指定的标签。Right FW接口所在的VRF具备指向DPI Left接口的全部Green目的地的路由,而且DPI的Right VRF将包含全部Green目的地的路由以及它们运行的主机的下一跳和原始路由标签。
反向流量的路由,也是相似的处理。
当单个VM没有处理服务链流量要求的能力时,能够在服务中包含多个相同类型的VM,如第二个面板所示。完成此操做后,使用ECMP在两端服务链的入口接口对流量进行负载均衡,并在不一样服务实例之间进行负载均衡。
能够根据须要在Tungsten Fabric中添加新的服务实例,虽然传统的ECMP哈希算法实现一般会在目标数量发生变化时,将大多数会话移动到其余路径,但在Tungsten Fabric中,这仅适用于新流,由于现有路径流量是根据上一篇文章(详解vRouters的体系结构)中描述的流表肯定的。
对于必须查看流中的全部数据包的有状态服务,此行为相当重要,不然流将被阻止,从而致使用户会话中断。
经过相同的服务实例,流表还被反向填充,以确保数据流中反向的流量。
互联网草案 https://datatracker.ietf.org/doc/draft-ietf-bess-service-chaining 上包含有关具备状态服务的扩展服务链的更多详细信息。
有些状况下,不一样类型的流量须要传递到不一样的服务链中。经过在网络或安全策略中包含多条子策略,能够在Tungsten Fabric中实现。在图中的示例中,端口80和8080上的流量必须经过防火墙(FW-1)和DPI,而全部其余流量仅经过防火墙(FW-2),其可能具备与防火墙FW-1不一样的配置。
在某些状况下,流量一般须要经过某个特定的服务链,但若是检测到该链存在问题,则应将流量切换为备份。备用服务链位于不太有利的地理位置时,可能会出现这种状况。
在Tungsten Fabric中,主-备机制配置分两步完成。
首先,将路由策略应用于每一个服务链的入口,为优选的活动链入口指定较高的本地优先级值。
其次,每一个链上都附有一个运行情况检查,能够测试服务实例是否可达,或是否能够到达链另外一侧的目的地。若是运行情况检查失败,则撤消到正常活动服务链的路由,而且流量将流经备用服务链。
更多Tungsten Fabric解析文章
第一篇:TF主要特色和用例
第二篇:TF怎么运做
第三篇:详解vRouter体系结构
关注微信:TF中文社区