盘点下 NSX-v 中“不合理”的命名

https://mp.weixin.qq.com/s/CeoEFBycUziGTLDi6zY0kw

 

很久没写东西了,这篇写一个轻松的话题。

文章创意来自某天一个读者的留言,TA 对 NSX 中的部分名词意思表示困惑,希望知道其准确意思。这篇就来吐槽一下 NSX-v 中一些不合理的命名,纯属娱乐。

 

0x00. 传输区域 - Transport Zone

 

说实话,这是我刚学 NSX 时花了1年时间还没准确理解这个设定意义的名词。

 

在 NSX 架构中,网络分为 Overlay(叠加层/覆盖层) 和 Underlay (底层网络)两个层面,上面的 Overlay 是虚拟出来的逻辑网络,Underlay 是底层硬件组成的网络。

 

Overlay 的网络使用 VXLAN 去搭建,VXLAN 很类似于 VLAN,都是有一个个 ID。在物理网络中,我们需要给使用某 VLAN 的交换机配置此 VLAN,在 NSX 中,同样需要给使用某 VXLAN 的设备配置此 VXLAN,NSX 使用了集中配置来统一下发这一策略,背后有以下设定:

 

 

所以所谓的传输区域,全称应该为限制 VXLAN 传输范围的区域。

 

那么传输区域怎么用?我整理了以下简单使用原则:

1、一套 NSX manager,管理多套网络相互隔离的集群的环境,使用多个传输区域(有这种环境的多为服务提供商);

2、多 NSX manager 链接环境可能需要使用多个传输区域;

3、其他环境均使用一个传输区域。

 

在 NSX-T 之前,传输一词几乎只有传输区域在用,所以很难理解是个什么东西。直到 NSX-T 中,Tranport Zone 才稍微好理解一点:Overlay 的网络由一台台 ESXi 主机和其他一些 NSX 组件组成,这些参与 NSX 网络的主机被称作传输节点(Transport Node,传输 VXLAN 网络的节点)。那么 Transport Zone 就代表一组组有共性的 Tranport Node,共性便是提供相同的 VXLAN 网络。

 

 

0x01. Overlay - 翻译过来咋就这么蹩脚

 

上面简单说了 Overlay 和 Underlay,这两个词真的很好理解,随便拉一张拓扑图就能看清。vSphere Distributed Switch 上面的就是 Overlay,下面的就是 Underlay。

 

 

简而言之,Overlay 代表上层虚拟网络,Underlay 代表底层物理网络。

 

我觉得这样翻译就可以了啊,然而很多官方对 Overlay 的翻译是叠加网络、覆盖网络,反正我是觉得难以理解,难以记忆,难以说清。翻译的信雅达去了哪里。。

 

0x02. Logical Switch - 逻辑交换机

 

遇到过 N 次大家问,VMware 的虚拟交换机能不像物理交换机一样嵌套,会不会有环路,这个问题我能接受,谁让我们有交换机功能,以物理交换机的知识,确实能问出这样的问题。

 

到了 NSX-v 里,问题变成了逻辑交换机和分布式虚拟交换机是什么关系,这个我就真没办法解答了。

 

从原理上看,Logical Switch 就是一个 VXLAN ID,代表一个二层的虚拟隔离网络(Virtual Local Area Network),可是 NSX 竟然将这个叫做交换机?

 

从用户层面,一个 Logical Switch 等于一个 vDS 的端口组,这也能叫交换机?

 

或许研发意识到了这个问题,在 NSX-T 中,一开始 LSW 依然叫 LSW,后来改为了 Segment 分段,我觉得这样才真正表达清楚了 LSW 的涵义。

 

0x03. Edge 

 

新手一定会被 Edge 这个词弄懵。

 

在 NSX 中,Edge 既可以是 Edge Service Gateway 的简称(非官方简称,官方简称为 ESG),也可以代表创建 DLR 和 Edge Service Gateway 的地方。这个设定实在奇葩。

 

Edge 这个词单独只在 UI 界面配置上会出现,比如你要添加一个分布式逻辑路由器(DLR),需要点击”网络与安全>NSX Edge“,再去点击”+“,选择逻辑路由器,然后再创建。

 

 

Edge 直译为边界,NSX Edge 如果直译过来估计很多人搞不懂是做什么的,所以最终就没人翻译了。。

 

很明显,这里的 Edge 代表的就是虚拟路由设备,而这个虚拟路由设备包含了分布式逻辑路由器和 Edge 服务网关。那直接把 Edge 替换为“虚拟路由器”,或者“路由器”不更好嘛?不知道曾经的产品经理怎么想的。

 

0x04. Edge 设备

 

如果说 Edge 一词设定奇葩,那 Edge 设备就是奇葩的二次方。

 

我们都说 NSX 是转控分离的 SDN 架构,转代表转发层面,控代表控制层面。

 

下图详细描述了 NSX 各个层面的组件。

 

 

 

可以看到,分布式逻辑路由器是有两个组件的:控制层面有个虚拟机,数据平面有个进程。

 

其区别在于:数据平面只进行数据的三层转发,不参与任何决策;控制层面只负责动态路由的学习和相关路由表的下发。

 

熟悉网络的都知道,路由分为动态路由和静态路由,静态路由一般是人为计算通信路径是怎样,手动配置路由表,动态路由则是人工配置让设备相互间学习对方的网络,再自己算出路由表。

 

NSX 中,延续了这一设定,工作流程是这样子:

 

  • 静态路由在 VC+NSX Manager 上配置,配置完成后直接通过 Controller 下发给数据层;

  • 动态路由必须有控制平面的 DLR 虚拟机参与,这个虚拟机进行动态路由协商(例如 OSPF 建邻居),算路由表,算好的路由表通过 Controller 下发给数据层。

 

简而言之,如果需要使用动态路由,必须在创建 DLR 的时候部署一个虚拟机出来,只使用静态路由时不需要部署这个虚拟机。

 

这个配置在哪做?看下图

 

 

按照原理,实际上这里的 Edge 设备指的是 DLR 控制层虚拟机,那直接叫 DLR 控制层虚拟机不应该更好吗?(目前 H5 界面的配置已改成控制虚拟机,Flash 界面依然是部署 Edge 设备)。

 

PS:在 VMware 中,很多封装好的实现某一功能的 Linux 系统都叫做 Appliance(设备),例如 vcsa、vr 等。对于这一词我也很无奈。

 

0x05. VXLAN 配置

 

在配置 NSX 时有一步叫做 VXLAN 配置,如果你以为这代表 VXLAN 配置完了,那么你想多了。

 

VXLAN 全称 Virtual Extended Local Area Network,在实现上,VXLAN 并不像 VLAN 那么简单直接。

 

要使用 NSX 搭建一套基于 VXLAN 虚拟网络,需要做以下事:

1、部署 NSX manager,部署 NSX Controller

2、主机准备,安装数据层面的组件

3、VXLAN 配置,为主机安装 VTEP VMKernel (此步骤是搭建 Underlay 网络的最后一步)

4、配置 LSW、DLR、ESG 等

 

仔细看第3步,NSX 竟然将准备 VTEP 网络称作 VXLAN 配置,实在不知道说什么(举个不恰当的例子,你把做饺子皮叫做包饺子),我觉得直接改成 VTEP 网络准备更恰当些吧。

 

0x06. 东西向防火墙

 

还有一个经常被别人问起的问题,NSX DFW 和 ESG 的防火墙有什么区别?怎么用?是不是 DFW 只能管控东西向流量,ESG 只能管控南北向流量?甚至有些同行直接说 DFW 提供东西向防火墙功能,ESG 提供南北向防火墙功能。

 

为何会有这些问题?因为我们官方文档中这么说:

 

 

不得不佩服文档用词的”恰当“,侧重一词似乎很确切的说明了两者的用法,然而实则不然。下表完整列出了两者的对比,个人觉得影响实际用法的就三点:价钱、架构,管理。

 

文档的问题在于从未考虑过防火墙怎么用!任意的防火墙,要能防,前提是流量经过此防火墙,而一旦流量经过了防火墙,必须设定 Allow 还是 Deny 的策略。

 

所以如果你用了 DFW,所有和虚拟机相关的流量都可以管控,也必须管控,那么这时候说 DFW 侧重东西向就不对了,在执行层面,你必须同时设定东西向和南北向的策略才行,做不到 DFW 管控东西向流量,ESG 管控南北向流量。

 

当然,如果你用黑名单防火墙机制,东西南北流量就可以分得开,只是这样用真有点浪费 DFW 了。

 

0x07. Locale-ID - 区域ID

 

NSX-v 有个挺好玩的技术 Cross-vCenter NSX,字面意思即跨 vCenter 的 NSX。NSX-v 的架构规定每个 NSX Manager 必须一对一和一个 vCenter 连接,这时候遇到一种客户需求,就是多个 vCenter 想要共用一套 NSX 逻辑网络。于是 NSX-v 新增了 Cross-vCenter NSX 这一架构,保持 NSX manager-vCenter 一对一,将多个NSX manager 链接在一起,组成一主N备的架构,实现跨 vCenter 的统一逻辑网络。

 

 

在多中心网络架构中,有个永恒的问题是路由怎么配,数据流从哪边走。

 

一般有三种架构:

  • 所有流量从A中心出去、进来

  • 所有流量同时从A和B的网络出去、进来

  • 业务负载在A中心时,使用A的网络设备传输数据;业务负载在B中心时,使用B的网络设备传输数据。

 

NSX 也支持这三种架构:

 

 

 

 

第三种架构中,NSX 有个私有技术(Local Egress)控制虚拟机的出向流量路径,这个技术便用到了一个概念Locale-ID。

 

Locale-ID 就像字面意思一样是个 ID,默认这个 ID 继承 NSX manager 的 UUID。

Locale-ID 对两个对象生效,ESXi 主机和 UDLR 控制虚拟机。

 

假如主机所在集群归 nsx-mgr-a 管理,那么这个主机的 Locale-ID 等于 nsx-mgr-a 的 UUID。同样,在启用 Local Egress 功能后,一个 UDLR 可以在不同中心创建多个控制层虚拟机,每个控制层虚拟机使用本地 NSX Manager 的 UUID。

 

Locale-ID 最终决定哪些主机从哪个 UDLR 控制虚拟机去接收路由,从而实现不同位置的主机使用不同的路由,进而完成出流量本地优化。

 

Local-ID 这个用词还算比较准确,只是,中文翻译成位置 ID 应该更合适一点,毕竟 Locale-ID 背后代表的多个位置不同的数据中心中 NSX manager 的 UUID。

 

0x08. Connected - 已连接

 

NSX 的某些英文命名完全不会考虑本地化,例如 Connected 这一词,这个词脱离语境用很容易有歧义,翻译成中文就更歧义。

 

在网络的世界里,存在很多路由协议,BGP、OSPF、EIGRP 等,这些协议间默认是不能相互兼容的,也就意味着 BGP 中的设备和 OSPF 中的设备不能通。于是聪明的人类发明了一种技术叫做 Route Redistribution(路由重发布)或者叫路由注入 Import。

 

这种技术可以将一个协议的路由信息传送给另一个协议,实现路由的共享,达成互通的目的。

 

如果要将 OSPF 重发布到 BGP,那就开启 BGP 协议的重发布,将 OSPF 路由引入;

如果要将静态路由重发布到 BGP,那就开启 BGP 协议的重发布,将静态路由引入;

如果要将设备本地接口产生的直连路由重发布到 BGP,那就开启 BGP 协议的重发布,将直连路由引入。

 

下图是两个直连路由的示例,每个本地的接口都会在路由表中产生一个直连路由:

 

 

 

再回到 NSX 配置界面,已连接其实就代表 directly connected,英文省去 directly 只留下 connected,比较难理解。

 

 

0x09. 想不到更多了

 

凑不够 10 个了,下面整理一些翻译不够准确的词:

 

Graceful Restart - 正常重新启动,行业内一般的翻译为“优雅重启”。

Default Originate - 默认源,指下放默认路由操作。

nexthop - 下一跃点,一般称作“下一跳”。

cost - 成本,一般称作“(路由)开销”。
 

欢迎补充

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
VMware NSX-T Reference Design Guide Table of Contents 1 Introduction 4 1.1 How to Use This Document 4 1.2 Networking and Security Today 5 1.3 NSX-T Architecture Value and Scope 5 2 NSX-T Architecture Components 11 2.1 Management Plane 11 2.2 Control Plane 12 2.3 Data Plane 12 3 NSX-T Logical Switching 13 3.1 The N-VDS 13 3.1.1 Uplink vs. pNIC 13 3.1.2 Teaming Policy 14 3.1.3 Uplink Profile 14 3.1.4 Transport Zones, Host Switch Name 16 3.2 Logical Switching 17 3.2.1 Overlay Backed Logical Switches 17 3.2.2 Flooded Traffic 18 3.2.2.1 Head-End Replication Mode 19 3.2.2.2 Two-tier Hierarchical Mode 19 3.2.3 Unicast Traffic 21 3.2.4 Data Plane Learning 22 3.2.5 Tables Maintained by the NSX-T Controller 23 3.2.5.1 MAC Address to TEP Tables 23 3.2.5.2 ARP Tables 23 3.2.6 Overlay Encapsulation 25 4 NSX-T Logical Routing 26 4.1 Logical Router Components 27 4.1.1 Distributed Router (DR) 27 4.1.2 Services Router 32 4.2 Two-Tier Routing 36 VMware NSX-T Reference Design Guide 2 4.2.1 Interface Types on Tier-1 and Tier-0 Logical Routers 37 4.2.2 Route Types on Tier-1 and Tier-0 Logical Routers 38 4.2.3 Fully Distributed Two Tier Routing 39 4.3 Edge Node 41 4.3.1 Bare Metal Edge 42 4.3.2 VM Form Factor 46 4.3.3 Edge Cluster 48 4.4 Routing Capabilities 49 4.4.1 Static Routing 49 4.4.2 Dynamic Routing 50 4.5 Services High Availability 53 4.5.1 Active/Active 53 4.5.2 Active/Standby 54 4.6 Other Network Services 56 4.6.1 Network Address Translation 56 4.6.2 DHCP Services 56 4.6.3 Metadata Proxy Service 57 4.6.4 Edge Firewall Service 57 4.7 Topology Consideration 57 4.7.1 Supported Topologies 57 4.7.2 Unsupported Topologies 59 5 NSX-T Security 60 5.1 NSX-T Security Use Cases 60 5.2 NSX-T DFW Architecture and Components 62 5.2.1 Management Plane 62 5.2.2 Control Plane 62 5.2.3 Data Plane 63 5.3 NSX-T Data Plane Implementation - ESXi vs. KVM Hosts 63 5.3.1 ESXi Hosts- Data Plane Components 64 5.3.2 KVM Hosts- Data Plane Components 64 5.3.3 NSX-T DFW Policy Lookup and Pa

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值