202107 VMware NSX-T培训笔记1(Overlay网络通讯原理)

 前言

VMware NSX-T是一个商业SDN解决方案,可以用于ESXi、KVM、Linux、Windows等环境,具体支持的情况需要查阅兼容性矩阵。

NSX-T作为一个开放的SDN解决方案,在VMware的软件定义数据中心解决方案里扮演重要角色

NSX-T Overlay网络二层通讯原理

  NSX-T和大多数SDN方案一样,采用overlay的网络(Geneve)来实现VxLAN的网络寻址与互联,下面先从报文角度出发,先来看看Geneve的实现方法:

202107 VMware NSX-T培训笔记1(Overlay网络通讯原理)_第1张图片

假设我们的环境如上图,NSX-T分布式交换机分别位于多个主机中,这些分布式交换机虽然在不同的节点上,但其IP和MAC都完全相同。

NSX-T服务是运行在ESXi kernel层的,我们可以在ESXi执行命令看到其服务状态,内核运行效率要远远优于用户空间的进程,在支持KVM的Linux主机上也是运行在内核层。

图中NSX-T分布式交换机划分了3个网段:VNI 100、VNI 200、VNI 300,分别对应WEB、APP、DB的网段。

下面我们来看看图中的数据报文如何封装和转发到正确的目的端:

1、在封装之前,NSX-T查询三张表:

TEP表,由NSX-T维护和必须的表:

TEP VNI
10.0.0.1

100

300

10.0.0.2

100

200

MAC表,由NSX-T维护和必须的表::

TEP     VNI VM MAC
10.0.0.1

100

300

VM WEB1 MAC

VM DB1 MAC

VM WEB2 MAC

10.0.0.2

100

200

VM APP1 MAC

VM WEB3 MAC

ARP表,非必须的表,但却能帮助我们减少BUM(B广播、U单播、M多播)泛洪:

TEP VNI VM MAC VM IP
10.0.0.1

100

300

VM WEB1 MAC

VM DB1 MAC

VM WEB2 MAC

目前为空
10.0.0.2

100

200

VM APP1 MAC

VM WEB3 MAC

目前为空

这个例子是虚拟机172.1.0.2要去访问172.1.0.4,一开始ARP表为空,因此我们也就不知道172.1.0.4的MAC地址是多少,因此要先发出BUM查询MAC

2、NSX-T在所有具有VNI 100的ESXi机器上BUM泛洪,得到目标的VM MAC地址,与现有的MAC表格对比后建立ARP表

TEP VNI VM MAC VM IP
10.0.0.1

100

300

VM WEB1 MAC

VM DB1 MAC

VM WEB2 MAC

VM WEB1 IP

10.0.0.2

100

200

VM APP1 MAC

VM WEB3 MAC

VM WEB3 IP

3、现在NSX-T知道了目标在哪个ESXi主机上,并且知道对端TEP MAC(底层网络的ARP表可以查到)、对端TEP IP、VNI、VM MAC、VM IP,开始对数据包进行封装:

202107 VMware NSX-T培训笔记1(Overlay网络通讯原理)_第2张图片

4、红色部分报文在目标端ESXi的NSX-T上进行解封给到目标虚拟机原始报文,两台虚拟机之间就实现了寻址与通讯。

你可能感兴趣的:(技术文章,运维)