轻松攻略虚拟化网络,原来看完这篇就行了!

01
什么是网络虚拟化?

传统的网络在第2层利用VLAN来实现广播隔离,在以太网数据帧中使用12位的VLAN ID将第二层网络划分成多个广播域,VLAN数量需少于4094个。但随着虚拟化的普及,4094个的数值上限面临着巨大压力。此外,由于生成树协议(STP)的限制,极大的限制了可以使用的VLAN 数量。基于VXLAN的网络虚拟化解决了传统物理网络面临的诸多难题。

网络虚拟化可将网络抽象化为一个广义的网络容量池。因此便可以将统一网络容量池以最佳的方式分割成多个逻辑网络。您可以创建跨越物理边界的逻辑网络,从而实现跨集群和单位的计算资源优化。不同于传统体系架构,逻辑网络无需重新配置底层物理硬件即可实现扩展。VMware网络虚拟化是通过虚拟可扩展局域网(VXLAN)技术,创建叠加在物理网络基础架构之上的逻辑网络。

VMware网络虚拟化解决方案满足了数据中心的以下几大需求:

· 提高计算利用率

· 实现集群的扩展

· 跨数据中心内多个机架利用容量

· 解决IP寻址难题

· 避免大型环境中VLAN数量剧增问题

· 实现大规模多租户

通过采用网络虚拟化,可以有效的解决这些问题并实现业务优势:

· 加快网络和服务的调配速度,实现业务敏捷性。

· 将逻辑网络与物理网络分离,提供充分的灵活性。

· 大规模隔离网络流量并将其分段。

· 自动执行可重复的网络和服务调配工作流。

02
虚拟交换机

虚拟交换机在许多方面都与物理以太网交换机相似。每个虚拟交换机都是互相隔离的,拥有自己的转发表,因此交换机查找的每个目的地只能与发出帧的同一虚拟交换机上的端口匹配。它可以在数据链路层转发数据帧,然后通过以太网适配器出口连接到外部网络。

虚拟交换机能够将多个以太网适配器绑定在一起,类似于传统服务器上的网卡绑定,从而为使用虚拟交换机提供更高的可用性和带宽。它还支持端口级别的VLAN分段,因此可以将每个端口配置为访问端口或中继端口,从而提供对单个或多个VLAN的访问。

但是与物理交换机不同,虚拟交换机不需要生成树协议,因为它强制使用单层网络连接拓扑。多个虚拟交换机无法进行互连,在同一台主机内,网络通信流量无法在虚拟交换机之间直连流动。虚拟交换机通过一个交换机提供用户需要的所有端口。虚拟交换机无需进行串联,因为它们不共享物理以太网适配器。

虚拟交换机可提供二种与主机和虚拟机相连接的类型

· 将虚拟机连接到物理网络。

· 将VMkernel服务连接到物理网络VMkernel服务包括访问IP存储(如:NFS或iSCSI)、执行vMotion迁移以及访问管理网络。

设计网络连接环境时,您可以通过VMware vSphere将所有网络都置于一个虚拟交换机中。或者,您也可以选择多个虚拟交换机,每个虚拟交换机具有一个单独的网络。具体作何选择在某种程度上取决于物理网络的布局。例如:您可能没有足够的网络适配器,无法为每个网络创建一个单独的虚拟交换机。因此,您可能会将这些网络适配器绑定在一个虚拟交换机上,然后使用VLAN来隔离这些网络。

·   虚拟网络分布式交换机:虚拟网络分布式交换机是一款数据中心级交换机。标准交换机基于主机工作,交换机配置保存在ESXi主机上面。而数据中心交换机能够独立于物理结构实现统一虚拟化管理。虚拟网络分布式交换机配置通过vCenterServer管理,并且所有虚拟网络配置的详细信息都存储在vCenter Server数据库中。VXLAN网络可在一个或多个vSphereDistributed Switch上进行配置。

另外,vNetwork分布式交换机具有以下特征:

1. 独立于物理结构的统一网络虚拟化管理。

2. 针对整个数据中心管理一台交换机与针对每台主机管理若干标准虚拟交换机。

3. 支持VMware vSpherevMotion,因此统计数据和策略可随虚拟机一同转移。

4. 独立的管理界面。

5. 高级流量管理功能。

6. 监控和故障排除功能,如NetFlow和端口镜像。

7. 主机级别的数据包捕获工具(tcpdump)。

03
VXLAN虚拟可扩展局域网(上)

VXLAN逻辑网络有以下几项优于传统物理网络的明显优势:

1、突破了传统VLAN的数量限制。

物理网络使用VLAN来限制和隔离第2层广播域,VLAN的数量上限为4094个。随着主机虚拟化技术的兴起,4094个VLAN数已经远不能满足云数据中心的需求。不同于VLAN的4094限制,VXLAN网络可以支持多达1600万个VLAN标识符。

2、突破了传统的物理界限,满足多租户环境和规模扩展的需求。

VXLAN网络是一个创建叠加在物理网络基础架构之上的逻辑网络,实现了在底层硬件上的独立配置。VXLAN网络大大减少了数据中心网络管理和配置所花费的时间,它提供的多层次网络拓扑结构和企业级安全服务,可将部署、调配时间从几周减少到数小时。同时,在VXLAN网络部署的虚拟机可以实现跨物理机迁移,例如:北京数据中心的虚拟机可以和上海的数据中心的虚拟机在二层网络上进行通信,打破了传统的二层网络的界限。

3、解决STP(生成树协议)高负荷

VXLAN 中使用了新技术替代STP(生成树协议), 因此解决了汇聚层交换机由于STP高负荷导致的压力过大问题。

04
VXLAN虚拟可扩展局域网(下)

VXLAN传输数据包

VXLAN虚拟可扩展局域网是一种overlay的网络技术,使用MAC in UDP的方法进行封装,在封装包中间添加了一层共50字节的VXLAN Header,然后以IP数据包的形式通过3层网络进行传输。位于VXLAN安全加密链路任何一端的虚拟机不知道这个封装包。同时,物理网络中的设备也不知道虚拟机的源或目的MAC或IP地址。VXLAN的封装结构如下图所示:

1. VXLAN Header:

共计8个字节,目前被使用的是Flags中的一个标识位和24bit的VXLAN Network Identifier,其余的部分没有定义,但是在使用的时候必须设置为0×0000。

2. 外层的UDP报头:

目的端口使用4789,但是可以根据需要进行修改。同时UDP的校验和必须设置成全0。

3. IP报文头:

目的IP地址可以是单播地址,也可以是多播地址。

单播情况下,目的IP地址是VXLAN Tunnel End Point(VTEP)的IP地址。

在多播情况下引入VXLAN管理层,利用VNI和IP多播组的映射来确定VTEPs。

从封装的结构上来看,VXLAN提供了将二层网络overlay在三层网络上的能力,VXLAN Header中的VNI有24个bit,数量远远大于4096,并且UDP的封装可以穿越三层网络,因此比的VLAN更好的可扩展性。

05
VXLAN协议网络工作原理

(1)网络初始化

在VXLAN协议工作前需要进行网络初始化配置。网络初始化就是让虚拟网络中的主机加入到该VXLAN网络所关联的多播组。例如:VM1和VM2连接到VXLAN网络,那么二台VXLAN主机(ESXi1和ESXi2)就需要先加入IP多播组239.119.1.1。VXLAN的网络标识符(VNI)就是网络ID。

(2)ARP查询

下图描述了VXLAN协议中二个连接到逻辑2层网络的虚拟机(VM1和VM2)ARP查询流程。

1. VM1以广播形式发送ARP请求;

2. VTEP1封装报文。本例中,VXLAN 100关联在IP多播组239.119.1.1中,VNI为100;

3. VTEP1通过多播组将数据包发送给VTEP2;

4. VTEP2接收到多播包。VTEP2将验证VXLAN网段ID,拆封数据包,然后将通过2层广播包的形式其转发到虚拟机VM2;

5. VM2收到广播包后发送ARP响应。

注意:

VTEP1只会在VTEP转发表中没有虚拟机MAC与该MAC地址的VTEP IP之间的映射时,才会生成多播包。在广播数据包时,如果MAC转发表中没有与帧目的MAC地址相匹配的条目,2层交换机会执行ARP查询操作。在发现虚拟机MAC地址与VTEP IP地址的映射条目并将其更新到转发表中后,任何与该特定虚拟机通信的请求都将通过点到点安全加密链路传输。

(3)ARP应答

ARP应答处理流程类似于ARP请求,不同之处在于VM2将通过单播包进行ARP响应。因为VTEP2已经获得了VM1的MAC地址、IP地址以及VTEP1的信息。VTEP2将建立一个转发条目,以后交换数据包操作会使用该转发条目。

(4)VXLAN网关

如果需要VXLAN网络和非VXLAN网络连接,必须使用VXLAN网关才能把VXLAN网络和外部网络进行连接。下图描述了VXLAN网关的工作原理:

1. VM2通过网关MAC地址向网关发送数据包;

2. VTEP2封装数据包,通过多播(第一次)发送给VTEP1;

3. VTEP1拆封数据包,并发送到网关;

4. 网关将IP数据包路由到Internet。

(0)

相关推荐