前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Tungsten Fabric的服务链

Tungsten Fabric的服务链

原创
作者头像
Tungsten Fabric
修改2020-06-15 11:00:44
6310
修改2020-06-15 11:00:44
举报

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

当网络策略指定两个网络之间的流量,必须流经一个或多个网络服务(例如防火墙、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”标识顺序激活的接口。 VNF必须有一个配置,该配置可根据数据包到达的接口,正确地处理这些数据包。 服务(VNF)有三种类型:

lLayer 2 Transparent -以太网帧被发送到服务中,其目标MAC地址是原始目的地的MAC地址。这最常用于深度包检测服务。

lLayer 3 (In Network) - 以太网帧被发送到服务中,其目的地MAC设置为服务的入口接口的MAC,终止L2连接并使用出口MAC作为发送到目的地的帧的源MAC建立新的连接。这用于防火墙,负载平衡器和TCP代理。

lLayer 3 (NAT) - 类似 In Network,除了服务将源IP地址更改为可从目的地路由的地址(网络地址转换)。

下面说明了各种服务链的场景,并分别进行简要说明。

基本服务链

在第一个面板中,通过编辑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不同的配置。

主-备服务链{#active-standby}

在某些情况下,流量通常需要通过某个特定的服务链,但如果检测到该链存在问题,则应将流量切换为备份。备用服务链位于不太有利的地理位置时,可能会出现这种情况。

在Tungsten Fabric中,主-备机制配置分两步完成。

首先,将路由策略应用于每个服务链的入口,为优选的活动链入口指定较高的本地优先级值。

其次,每个链上都附有一个运行状况检查,可以测试服务实例是否可达,或是否可以到达链另一侧的目的地。如果运行状况检查失败,则撤消到正常活动服务链的路由,并且流量将流经备用服务链。


 更多Tungsten Fabric解析文章

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

第二篇:TF怎么运作

第三篇:详解vRouter体系结构

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
负载均衡
负载均衡(Cloud Load Balancer,CLB)提供安全快捷的流量分发服务,访问流量经由 CLB 可以自动分配到云中的多台后端服务器上,扩展系统的服务能力并消除单点故障。负载均衡支持亿级连接和千万级并发,可轻松应对大流量访问,满足业务需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档