ITPub博客

首页 > IT基础架构 > 网络通信/物联网 > 细说TF服务链丨服务链后台的路由实现

细说TF服务链丨服务链后台的路由实现

原创 网络通信/物联网 作者:TF中文社区 时间:2020-07-21 15:32:11 0 删除 编辑

作者: Umberto Manferdini  译者:TF编译组

上一篇文章中, 配置了 最简单的服务链 。现在,是时候了解路由实际上是如何实现的了。

我们的拓扑结构是这样一条简单的服务链:

 

让我们看一下路由表。  

“分离的” VN 开始:没有策略,没有服务链。

 

在本实例中,路由表仅包含该虚拟网络的地址。

 

接下来,应用策略,但不添加任何服务实例:

 

现在,左侧网络还包括来自右侧网络的路由:

 

在这背后是什么?Route   Target

为了解更多信息,我将在控制节点上使用Introspect 并浏览路由表(模块为 bgp_peer ,然后使用 ShowRoute family 请求)。

创建虚拟网络后,会自动为其分配R oute Target 。即使没有配置R oute Target ,仍然有一个VN 。这种 R oute Target 的值高于800 万,因此很容易识别。

指定左侧VN target:64520:8000059

 

指定右侧VN target:64520:8000060

 

一旦我们应用网络策略,允许这两个VN 之间进行通信, Tungsten Fabric 就会自动调整导入R oute Target 策略。

左侧VN 现在会导入“ 8000060 ”,这意味着它将导入右侧 VN 的路由:

  右侧 VN 的更新方式类似,不过它将导入 RT 8000059 ”,即左侧 VN RT

 

到最后,网络策略看起来似乎只是利用Route   Target执行泄漏。

那么,为什么在创建虚拟网络时,我们要花时间在网络策略上,而不仅仅是配置适当的Route   Target ,然后导入 Route   Target 策略就好了?

我们知道,网络策略允许创建L4 规则。通过网络策略,可以决定允许 TCP 通信,以及阻止 UDP 通信。这就是重点,我们可以创建服务链。

开始吧!最后一步,服务链:

查看左侧VN导入 Route   Target政策:

 

这很有趣……我们知道还有两个虚拟网络:

–左侧,原始 VN 出来

–左侧服务,一个辅助 VN “映射”到了服务实例

左侧VN 导出 RT 8000059 ”,而左侧服务则导出 RT 8000061 ”。这两个 VN 相互导入 RT 。这意味着它们之间有泄漏!

来看一下右侧的情况:

我们看到了类似的东西:右侧和右侧服务相互导入 RT

没有服务实例,左侧VN 将导入右侧 VN ,反之亦然。现在,此机制仅限于左侧和左侧服务(或右侧和右侧服务)。那么,从右到左的路由如何到达?

看起来,RT 泄漏并不简单。

在这种情况下,我们必须谈论路由重新分配。这意味着 Tungsten Fabric 将重新分配路由。仔细考虑一下,这是有道理的。

假如没有服务实例,可以按原样从右向左复制路由,反之亦然。

另一方面,在服务实例起作用的情况下,当一条路由从右侧“泄露”到左侧时,下一跳必须更新,因为它必须指向服务实例 vmi

那么这是如何工作的呢?让我们看看右侧VN 路由: 192.168.20.3/32

跟以往一样,该路由有两个副本:XMPP BGP

查看这些路由更多的详细信息:

 

这里要注意的是,该路由具有一个辅助表,是的,它是右侧服务!这里右侧到右侧服务的泄露,是由于我们之前看到的导入Route   Target 策略。可以看到, BGP 路由(第二个)导出 RT 8000060 ”,而该 RT 是由右侧服务导入的。

现在,我们转到左侧服务路由表:

 

仍然有两条路由,但XMPP 的那一条已被服务链的那一条所取代。

此路由将左侧VN 作为辅助表:

下图表示了路由的传播:

  当流量从左向右移动时,会发生以下情况:

回程流量利用了现有流量。

是不是有点复杂?可能是的……但是考虑一下,我们为创建这条链实际配置了什么,很明显 Tungsten Fabric 是如何隐藏了所有的复杂性!

下一次,我将开始研究高级服务实例的设置。

 ---

细说TF服务链——

  1. 一文讲透什么是服务链(多图)

  2. 手把手教你配置服务链


  Tungsten Fabric 架构解析 列文章 ——


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

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

注册时间:2019-12-11

  • 博文量
    113
  • 访问量
    52868