SDN介绍

SDN(Software-Defined-Network,SDN)软件定义网络,主要为解决云资源池网络瓶颈(物理网络扩展限制,配置管理复杂),实现方案主要包括以下3种类型:

(1)基于专用接口的方案: 该类方案是不改变传统网络的实现机制和工作方式,通过对现有网络设备的操作系统进行升级改造,使之能够支持专用的可编程接口(API)供网络管理系统调用,实现网络设备的统一配置管理和策略下发,改变原先需要逐台设备进行登录配置的手工操作方式;同时这些接口也可用于开发网络应用,实现网络设备的软件编程。其中,最典型的技术产品是思科的onePK(Open Network Environment Platform Kit)。

(2)基于叠加网络的方案: 该类方案是以现行的IP网络为基础,在其上建立叠加的逻辑网络(Overlay Logical Network)用于屏蔽掉底层物理网络的差异,实现网络资源的虚拟化,使得多个逻辑上彼此隔离网络分区以及多种异构的虚拟网络可以在同一共享网络基础设施上共存,支持网络资源的多租户共享并突破传统网络技术对租户网络的限制。其中,最典型的技术产品包括VMware NSX及其主导推出的VxLAN、微软支持的NVGRE、IBM的DOVE等,其中VXLAN利用了现有通用的UDP传输,成熟性极高。总体比较,VxLAN技术相对具有优势。VxLAN网络设备主要有3种角色,分别是VTEP(VXLAN Tunnel End Point)、VxLAN GW(VxLAN Gateway)、VxLAN IP GW(VxLAN IP Gateway),均是物理网络的边缘设备,而由3种边缘设备构成了VxLAN Overlay网络,对于应用系统来说,只与这3种设备相关,与底层物理网络无关。
     适用于,对现有网络基础变更较小的方案,利用vxlan结合物理网络的vlan实现逻辑隔离和物理划分,对现有网络的改造风险最低,效益更好;生产实际中,对于大规模云计算资源池网络隔离需求,只利用VLAN,4096远远无法满足需求;另外, 资源池大量的物理及虚拟服务器的存在,物理交换机上的MAC表项资源面临耗尽(MAC地址数量是指交换机的MAC地址表中可以最多存储的MAC地址数量,存储的MAC地址数量越多,那么数据转发的速度和效率也就就越高。不同档次的交换机每个端口所能够支持的MAC数量不同。在交换机的每个端口,都需要足够的缓存来记忆这些MAC地址,所以Buffer(缓存)容量的大小就决定了相应交换机所能记忆的MAC地址数多少,通常一般交换机都能够记忆1024个MAC地址,可满足大多数网络需求),加之多租户的隔离要求,传统的网络架构借助于VXLAN技术可快速实现扩展和弹性适应;数据中心采用TOR 交换机,外联核心路由器为3层路由OSPF(Open Shortest Path First)交换, 这样的架构能支持大量机架及TOR 建设,同时缩小了TOR及核心交换机管理MAC地址的数量,缩小了2层网络范围。

(3)基于开放协议的方案:这是当前最流行的SDN解决方案,它引入了开放的网络协议标准,强调网络中控制转发分离,支持南向网络设备的集中控制,并提供丰富的北向应用编程接口,能够有效降低网络架构复杂度,支持业务驱动的网络资源灵活调配。其中,最典型的技术成果是由ONF(Open Networking Foundation,开放网络基金会)提出的基于OpenFlow南向控制协议的SDN架构(最常见openstack中使用),OpenFlow多描述为是指导网络设备流量转发的流表转发规则,通过TCP、TSL或者SSL来传输流量。


Juniper的SDN解决方案架构:

虚拟逻辑网络对比

VXLAN是由IETF定义的NVO3(Network Virtualization over Layer 3)标准技术之一,采用MAC-in-UDP的报文封装模式,可实现二层网络在三层范围内进行扩展,满足数据中心大二层虚拟机迁移的需求。在VXLAN网络中,属于相同VXLAN的虚拟机处于同一个逻辑二层网络,彼此之间二层互通;属于不同VXLAN的虚拟机之间二层隔离。

VXLAN最初只在虚拟交换机实现,但虚拟交换机天然具有转发性能低下的缺点,并不适合大流量的网络环境。于是,各硬件厂商也纷纷推出支持VXLAN的硬件产品,与虚拟交换机一起,共同成为网络边缘设备,最终使VXLAN技术能够适应各种网络。网络设备厂商,基于硬件设备开发出了EVI(Ethernet Virtualization Interconnect)、TRILL(Transparent Interconnection of Lots of Links)、SPB(Shortest Path Bridging)等大二层技术。这些技术通过网络边缘设备对流量进行封装/解封装,构造一个逻辑的二层拓扑,同时对链路充分利用、表项资源分担、多租户等问题采取各自的解决方法。此类技术一般要求网络边缘设备必须支持相应的协议,优点是硬件设备表项容量大、转发速度快。

虚拟化软件厂商,从自身出发,提出了VXLAN(Virtual eXtensible LAN)、NVGRE(Network Virtualization Using Generic Routing Encapsulation)、STT(A Stateless Transport Tunneling Protocol for Network Virtualization)等一系列技术。这部分技术利用主机上的虚拟交换机(vSwitch)作为网络边缘设备,对流量进行封装/解封装。优点是对网络硬件设备没有过多要求。

下面,让我们看下这几种Overlay技术对比:

VXLAN、NVGRE及STT对比


SDN常用的3种技术:VxLAN=MAC in UDP(VMware) 、NvGRE = MAC in GRE(Microsoft)、STT = MAC in TCP(伪TCP(Nicira)),显而言之都是一种再封装技术,基于新的头部实现隧道互联。使用这些隧道组成的逻辑网络就是数据中心的overlay。基于隧道的发起点不同,又分为硬件overlay(隧道两端是物理交换机)、软件overlay(隧道两端是vSwitch)。

VXLAN

VxLAN作为Overlay网络技术的一种代表,引入云计算资源池的代价是相对较低的,可一定程度上帮助企业实现了网络资源的快速虚拟化转型。

VXLAN网络基本模型

VXLAN帧格式:

• Outer MAC Header:封装外层以太头,14字节,如果有VLAN TAG则为18字节。其中,源MAC地址(Outer Source MAC Address)为源VM所属VTEP的MAC地址,目的MAC地址(Outer Destination MAC Address)为到达目的VTEP的路径上下一跳设备的MAC地址。类型字段为0x0800,指示内层封装的是IP报文。

• Outer IP Header:封装外层IP头,20字节。其中,源IP地址(Outer Source IP Address)为源VM所属VTEP的IP地址,目的IP地址(Outer Destination IP Address)为目的VM所属VTEP的IP地址。协议字段为0x11,指示内层封装的是UDP报文。

• UDP Header:UDP报文头,8字节。其中,UDP目的端口号(UDP Destination Port)固定为4789,指示内层封装报文为VXLAN报文。UDP源端口号(UDP Source Port)为随机任意值,可以用于VTEP之间多路径负载分担的计算。

• VXLAN Header:VXLAN协议新定义的VXLAN头,8字节。

• Flags:8 bit,RRRRIRRR。“I”位为1时,表示VXLAN头中的VXLAN ID有效;为0,表示VXLAN ID无效。“R”位保留未用,设置为0。

• VXLAN ID(VNI):24 bit,用于标识一个单独的VXLAN网络。

• Reserved:分别为24 bit和8 bit。保留位。

• Original L2 Frame:原始以太网报文。

从上可知,VXLAN头和原始二层报文是作为UDP报文的载荷存在的,在VTEP之间的网络设备,只需要根据Outer MAC Header和Outer IP Header进行转发,利用UDP Source Port进行负载分担,这一过程,与转发普通的IP报文完全相同。这样,除了VTEP设备,现网的大量设备无需更换或升级即可支持VXLAN网络。

VxLAN 封包(Mac-in-UDP)示例

以 ping 产生的 ICMP 包为例,下图是VxLAN的封包拆解:


从上图可知,VxLAN 的 overhead 是1514- 1464 = 50 byte,从开机封装VXLAN算起。

一般来说,虚拟机的默认MTU为1500 Bytes,也就是说原始以太网报文最大为1500字节。这个报文在经过VTEP时,会封装上50字节的新报文头(VXLAN头8字节+UDP头8字节+外部IP头20字节+外部MAC头14字节),这样一来,整个报文长度达到了1550字节。而现有的VTEP设备,一般在解封装VXLAN报文时,要求VXLAN报文不能被分片,否则无法正确解封装。这就要求VTEP之间的所有网络设备的MTU最小为 1550字节,我们常在vTep设备上配置MTU为1600;因NSX 的 VXLAN,需要重新封裝標頭,需要 1550 ,如果是 IPv6,則需要到 1574,因此,比較保守的作法,是將 P.Switch 的 MTU,改成 1600

為什麼 NSX 的 VXLAN,要將 MTU 改成 1600呢?

拿vsphere的SD你产品NSX-V来说,在每个群集的基础上配置 VXLAN,将要加入 NSX 的每个群集映射到 vSphere Distributed Switch (VDS)。将群集映射到 Distributed Switch 时,将为逻辑交换机启用该群集中的每个主机NSX代理。用于创建 VMkernel 接口。

如果需要进行逻辑路由和交换,则主机上安装有 NSX VIB 的所有群集还应配置 VXLAN 传输参数。如果计划仅部署分布式防火墙,则无需配置 VXLAN 传输参数(NSX中需要配置transport Zone)。

在配置 VXLAN 网络时,您必须提供 vSphere Distributed Switch、VLAN ID、MTU 大小、IP 寻址机制(DHCP 或 IP 池)和网卡绑定策略。

每个交换机的 MTU 都必须设置为 1550 或更高值。默认情况下,该值设置为 1600。如果 vSphere Distributed Switch MTU 大于 VXLAN MTU,则不会下调 vSphere Distributed Switch MTU。如果该值设置较低,将会对其进行调整以匹配 VXLAN MTU。例如,如果 vSphere Distributed Switch MTU 设置为 2000,并且您接受默认 VXLAN MTU 值 1600,则不会对 vSphere Distributed Switch MTU 进行更改。如果 vSphere Distributed Switch MTU 是 1500,并且 VXLAN MTU 是 1600,vSphere Distributed Switch MTU 将更改为 1600。VTEP 具有关联的 VLAN ID。但是,当为 VTEP 指定 VLAN ID = 0时,这意味着将不标记帧。

不要在 vSphere Distributed Switch 上的不同端口组中混用不同的绑定策略,有些端口组使用以太网通道、LACPv1 或 LACPv2,而其他端口组使用不同的绑定策略。如果这些不同的绑定策略共享上行链路,通信将会中断。如果存在逻辑路由器,将出现路由问题。此类配置不受支持,您应避免使用。

为 VXLAN 隧道终端 (VTEP) 规划 IP 寻址方案。VTEP 是在外部 IP 标头中使用的源和目标 IP 地址,可唯一标识发出和终止 VXLAN 帧封装的 ESX 主机。您可以使用 DHCP 或手动为 VTEP IP 地址配置的 IP 池。

VXLAN网络中的几个概念:

计算域(Computing):其内的VNI(即VXLAN ID)建立以每个业务的各种服务型态为单位, 如典型业务有Web/APP/DB3种服务型态,即开设3个VNI用于该业务,便于实现服务的“东西向”传输效率及提高安全性。虚拟化后的主机通常会发起3种的流量:VxLAN流量、管理流量、vSphere vMotion流量。VxLAN可看作网络虚拟化后新引入的流量,通过UDP封装,用以承载所有虚拟机通信的流量。

边界域(Edge):部署在VxLAN和VLAN网关之间,其数量等于外联VLAN的数量。该设计使得每个Edge虚拟网关负载较小,但数量增加,可以选择使用户集群中的服务器进行负载均衡,且Edge虚拟网关与服务VLAN 1:1对应, 有利于问题的查找。

注:通过VxLAN流量的网络设备,需将MTU值置为>1600(网络分段传输的需要)。

对于VMware的 SD你产品NSX-V,可以将虚拟化网络后的资源分成3个域,以3种集群的视角来设计:计算集群(业务域)、边界集群(edge域)、管理集群(管理域)

●Underlay网络和Overlay网络:
将已有的物理网络作为Underlay网络,在其上构建出虚拟的二层或三层网络,即Overlay网络。即:建立VXLAN隧道的基础网络称为Underlay网络,VXLAN隧道所承载的业务网络称为Overlay网络。Overlay网络通过封装技术、利用Underlay网络提供的三层转发路径,实现租户报文在不同站点间传递。对于租户来说,Underlay网络是透明的,只能感知到Overlay网络。

Underlay是底层网络,负责互联互通;overlay是基于隧道技术实现的,overlay的流量需要跑在underlay之上,underlay的作用就只是提供隧道两端IP可达性.

● NVE(Network Virtualization Edge):
网络虚拟边缘节点NVE,实现网络虚拟化功能的网络实体。报文经过NVE封装转换后,NVE间就可基于三层基础网络建立二层虚拟化网络。
注:设备和服务器上的虚拟交换机VSwitch都可以作为NVE。

计算集群

计算集群用以为业务平台提供虚拟计算资源,其也称为“有效负载集群”,是使用应用程序虚拟机(如Web、数据库等)的集群。如果一个计算集群需要具备NSX逻辑交换、路由或防火墙功能,必须针对该计算集群执行安装操作。计算集群需要具有如下设计属性:

与现有网络可交互
对于新部署或重新设计
对于虚拟机接入不需要考虑VLAN划分
对于计算集群的网络扩展不应该考虑VLAN方式。
提供一种可重复利用的架构设计

虚拟化后的主机通常会发起3种的流量:VxLAN流量、管理流量、vSphere vMotion流量。VxLAN可看作网络虚拟化后新引入的流量,通过UDP封装,用以承载所有虚拟机通信的流量。

不同的流量类型可以被VLAN隔离,从IP地址段的层面加以明确区分。VLAN在TOR交换机汇聚,设定如下:

VTEP的VLAN提供一个3层的网络端口;
vMotion的VLAN并不提供任何网关,不论2或3层都无法上行出去;
管理VLAN上行至另一独立的管理接入交换机以2层连接至核心交换机。

边界集群

边界集群作为连接虚拟与物理网络之间的桥梁,会有大量的数据交互,其主要功能:

提供“进站 / 出站”式的物理网络连接
通过VLAN与物理网络建立连接
主机式集中物理服务

边界是所有逻辑网络的终点,并且在物理和逻辑网络间提供3层跳转。设计思路的重点是区分VxLAN(叠加)流量和未封装(原始)流量。物理上这两种网络流量会有重叠,可能都汇聚在相同的边界集群接入交换机上,需要使用两个不同的VLAN加以区分。

边界节点(Edge)可以使用两种方式提供服务,根据实际情况选择适合的方案:

内部地址仅在Edge内部使用,对外使用NAT的方式进行通信。外部VLAN在Edge上联口终止。外部网关设备无需额外路由配置。
内部地址通过默认路由方式对外建立连接。网关使用静态路由将需要访问内部的流量向Edge传输,后者通过OSPF获得路由进行数据包分发。Edge上联口仅需配置点对点传输接口即可。
管理集群

集群内安装了管理组件,包括资源池虚拟化管理平台、资源池网络管理组件,管理集群内的配置不包含任何业务平台相关的地址。

VNI(VXLAN Network Identifier,VXLAN网络标识符):VXLAN通过VXLAN ID来标识,其长度为24比特。VXLAN 16M个标签数解决了VLAN标签不足的缺点。其实际类似VLAN ID,用于区分VXLAN段,不同VXLAN段的虚拟机不能直接二层相互通信。

VTEPVXLAN Tunnel End Point,VXLAN隧道端点):VXLAN的边缘设备。VXLAN的相关处理都在VTEP上进行,例如识别以太网数据帧所属的VXLAN、基于VXLAN对数据帧进行二层转发、封装/解封装报文等。VTEP可以是一台独立的物理设备,也可以是虚拟机所在服务器的虚拟交换机。每个VTEP具备两个接口:一个是本地桥接接口,负责原始以太帧接收和发送,另一个是IP接口,负责VXLAN数据帧接收和发送。

VTEP是VXLAN隧道端点,封装在NVE中,用于VXLAN报文的封装和解封装。
注: VTEP与物理网络相连,分配有物理网络的IP地址,该地址与虚拟网络无关。LI如NSX edge中的VTEP地址实际就是逻辑交换机上一个逻辑端口组,他们分配一个业务网的物理地址,vxlan隧道中只携带VNI,上联到业务端口组时,业务网ip即解封vxlan后携带vlan连入之物理网络。

VXLAN报文中源IP地址为本节点的VTEP地址,VXLAN报文中目的IP地址为对端节点的VTEP地址,一对VTEP地址就对应着一个VXLAN隧道。

VXLAN Tunnel:两个VTEP之间点到点的逻辑隧道。VTEP为数据帧封装VXLAN头、UDP头、IP头后,通过VXLAN隧道将封装后的报文转发给远端VTEP,远端VTEP对其进行解封装

VSI(Virtual Switching Instance,虚拟交换实例):VTEP上为一个VXLAN提供二层交换服务的虚拟交换实例。VSI可以看作是VTEP上的一台基于VXLAN进行二层转发的虚拟交换机,它具有传统以太网交换机的所有功能,包括源MAC地址学习、MAC地址老化、泛洪等。VSI与VXLAN一一对应(1:1)。其与BD(Bridge Domain)类似,BD是VXLAN网络中转发数据报文的二层广播域。在VXLAN网络中,将VNI以1:1方式映射到广播域BD,BD成为VXLAN网络转发数据报文的实体。

VSI-Interface(VSI的虚拟三层接口):类似于Vlan-Interface,用来处理跨VNI即跨VXLAN的流量。VSI-Interface与VSI一一对应,在没有跨VNI流量时可以没有VSI-Interface。类似于VBDIF接口:基于BD创建的三层逻辑接口。通过VBDIF接口配置IP地址可实现不同网段的VXLAN间,及VXLAN和非VXLAN的通信,也可实现二层网络接入三层网络。

现有VTEP设备中,一般用“接口+VLAN”的方式来区分流量与VSI的对应关系,而VSI与VXLAN Tunnel之间既可以建立全连接,也可以根据需求进行关联。

● VAP(Virtual Access Point):
虚拟接入点VAP,即VXLAN业务接入点,可以是二层子接口或VLAN。

VXLAN应用需考虑的因素:

1.通过VxLAN 可以自由定义2层网络,实现了可扩展的多租户网络,可以由租户自管理和自配置(这需要通过专线或vpn打通租户的内网),目前VxLAN技术已经基本成熟,且业内已经基本形成产业标准,实施维护成本较低。

2.以业务平台(租户)为单位实现路由、负载均衡、NAT和防火墙功能,是未来资源池设计必须实现的目标,由此达到网络资源池的2次隔离和封装的目的,用以实现任何一个业务平台的网络变更、割接都不会对其他业务和大网造成影响。

3.分布式路由功能有必要在资源池网络虚拟化工作中引入,其可以大大减轻资源池核心交换机的流量压力和配置的复杂性,也为以业务为单位的QoS及SLA定义提供了便捷。

4.资源池多层次的安全控制必须被考虑,包括资源池“东西向”流量安全和“南北向”进出流量安全,可以通过软、硬结合的防火墙实现。

NSX-V介绍

首先介绍下作为控制面板的组件NSX controller ,它是NSX网络虚拟化平台控制平面的主要组件。他的职责是控制运行在Hypervisor之上的交换、路由和各种Edge服务。通过将Vmware Installation Bundles(VIBs)安装到ESXi主机Hypervisor的内核空间,以实现NSX-V的各种功能–分布式交换和路由、分布式防火墙以及VXLAN的封装与解封装。

NSX-V的组件架构及相关介绍,可参考:https://blog.csdn.net/ximenjianxue/article/details/107522440

NSX Controller作为控制平面,对数据平面流量实现集中式策略控制,其主要功能如下:
1) 向ESXi主机发布VXLAN、逻辑路由等信息。
2)形成NSX Controller集群,在集群内部进行工作负载的分配。
3)在物理网络中去除组播路由。用户无需提供组播IP地址,也无需提供支持PIM路由或IGMP Snooping的物理网络设备。
4)在VXLAN网络环境中抑制ARP广播流量,减少二层网络的ARP广播泛洪。

在NSX Controller中存储了如下4个表项:

 ARP 表、 MAC地址表、  VTep表、路由表

当NSX Controller发来控制指令,在ESXi主机的Hypervisor之上就可以对以下流量信息进行处理:

虚拟机广播流量
虚拟机单播流量
虚拟机组播流量

当一台虚拟机为了获知另一台虚拟机的MAC地址,发送了一个ARP请求。这个ARP请求会在进入数据(转发)平面之前,被ESXI主机的Hypervisor拦截,将其信息发送到NSX controller。NSX Controller根据这个请求,生成正确的转发规则,并将信息返回给ESXi主机,ESXi主机再根据控制平面的规则进行本地转发。对于三层消息,NSX Controller是从DLR Control VM中获取到虚拟机的路由表;而对于ARP、MAC、VTEP这些二层的表项,则是ESXi主机的Hypervisor学习到了网络中的相关信息后,提供给NSX Controller的。

如上图所示,过程如下:
NSX manager 生成了证书,并储存在数据库中,NSX manager 将这些证书推送给NSX controller,然后NSX manager 使用message bus与esxi主机通信,nsx manager 通过rest API(REST 的可编程接口),部署ESXi主机的内核模块,NSX controller 与esxi 的证书进行相互验证,其中ESXi主机的证书与NSX Controller的验证是通过UWA(User world Agent)来进行的;UWA运行一个叫做netcpa的进程,与内核空间中负责NSX二层和三层功能的组件**(VIB)**进行通信,并将相关日志信息存储在/var/log/netcpa.log。

注: RobbitMQ消息队列用于 vsfwd(rabbitMQ客户端)和rabbit服务器(以进程的形式寄宿在nsx manager上)建立通信连接,使得NSX manager将消息发送到ESXi主机上,vsfwd可以与内核空间的分布式防火墙逻辑相连,故NSX manager也是NSX 分布式逻辑防火墙的控制平面。User World Agent进程(netcpa)是在ESXi Hypervisor与Controller集群建立的SSL通信通道之上在进行TCP连接。

NSX controller 则通过这个通道将MAC地址表、ARP表和Vtep表填充到自己的表项中。用以保持逻辑网络中已建立的连接可以快速通信。

NSX-V vxlan配置

webclient登录vcenter,导航到主页 > 网络和安全 > 安装 (Home > Networking & Security > Installation),然后选择主机准备 (Host Preparation)选项卡–VXLAN 列中单击未配置 (Not Configured):
设置逻辑网络,这包括选择 vSphere Distributed Switch、VLAN ID、MTU 大小、IP 寻址机制和网卡绑定策略。


上图中,VTEP 的数量不可编辑。VTEP 数量已设置为匹配正在准备的 vSphere Distributed Switch 上的 dvUplink 数量;IP地址池,生产中我的配置是业务地址池,这样多租户环境,将通过业务地址,出上层物理交换机,对外提供服务。配置完之后:
)
#pic_center)
配置 VXLAN 将导致在指定的 vSphere Distributed Switch 中创建新的分布式端口组。可以在网络标签里看到vds下只有一个上联端口组,vTep在分布式端口组里也只出现一个;



分配分段 ID 池和多播地址范围:

VXLAN 分段构建于 VXLAN 隧道端点 (VTEP) 之间。虚拟化管理程序主机是一个典型的 VTEP 示例。每个 VXLAN 隧道都具有一个分段 ID。必须为每个 NSX Manager 指定一个分段 ID 池来隔离网络流量。如果您的环境中未部署 NSX Controller,则还必须添加一个多播地址范围以帮助将流量分散到网络中,从而避免单个多播地址过载。

限制条件: 在确定每个分段 ID 池的大小时,请记住,分段 ID 池范围控制可以创建的逻辑交换机的数量。选择 1600 万(16M)潜在 VNI 的小型子集。单个 vCenter 中不应配置超过 10,000 个 VNI,因为 vCenter 将 dvPortgroup 的数量限制为 10,000。

如果 VXLAN 位于其他 NSX 部署中,请考虑哪些 VNI 已在使用并避免重叠 VNI。单个 NSX Manager 和 vCenter 环境中会自动实施非重叠 VN,非重叠 VNI 对跟踪很有用。

如果任何传输区域将使用多播或混合复制模式,必须添加一个多播地址或一定范围的多播地址。如果具有多个多播地址,则可将流量分散到网络中,防止单个多播地址超载,并能更好地包含 BUM 复制。请勿使用 239.0.0.0/24 或 239.128.0.0/24 作为多播地址范围,因为这些网络用于本地子网控制,这意味着物理交换机会使所有使用这些地址的流量泛洪。

如果 VXLAN 多播和混合复制模式配置正确且运行正常,则只会将多播流量的副本传送给已发送 IGMP 加入消息的主机。否则,物理网络会把所有多播流量泛洪到同一广播域中的所有主机。要避免此类泛洪,必须:
1>确保为底层物理交换机配置的 MTU 大于或等于 1600。
2>确保底层物理交换机配置正确,在承载 VTEP 流量的网络分段中启用了 IGMP 侦听和 IGMP 查询器功能。
3>确保为传输区域配置了建议的多播地址范围。建议的多播地址范围从 239.0.1.0/24 开始,并排除 239.128.0.0/24。
在 vSphere Web Client 界面中,您可以配置单个分段 ID 范围以及单个多播地址或多播地址范围。如果要配置多个分段 ID 范围或多个多播地址值,您可以使用 NSX API 执行该操作。

在vcenter导航到主页 > 网络和安全 > 安装 (Home > Networking & Security > Installation),然后选择逻辑网络准备 (Logical Network Preparation)选项卡,单击分段 ID > 编辑 (Segment ID > Edit)

输入一个分段 ID 范围,例如,5000-5999,多播寻址关闭(官方文档说打开需要配置推荐的多播IP地址池)。

想要任何传输区域将使用多播或混合复制模式,您必须添加一个多播地址或一定范围的多播地址。

1>选中启用多播寻址 (Enable Multicast addressing)复选框。
2>输入一个多播地址或多播地址范围,例如,239.0.0.0-239.255.255.255。
配置完成后,在配置逻辑交换机时,每个逻辑交换机都会接收来自该池的分段 ID,即租户网络都会获取一个VNI。

添加传输区域

传输区域控制逻辑交换机可以延伸到的主机。它可以跨越一个或多个 vSphere 群集。传输区域确定了哪些群集可以参与使用特定网络,进而确定了哪些虚拟机可以参与使用该网络。可简单理解,NSX-V中的传输区域为可以在整个物理网络中与其他组件通信的ESXi主机的集合。NSX环境下的每一台ESXi主机关联了一个或多个逻辑交换机接口并定义VTEP,再利用VTEP进行网络中的通信对VXLAN进行封装和解封装。

NSX 环境可以根据您的需要包含一个或多个传输区域。一个主机群集可以属于多个传输区域。一个逻辑交换机只能属于一个传输区域。

NSX 不允许连接位于不同传输区域的虚拟机。逻辑交换机的跨度仅限于一个传输区域,因此不同传输区域中的虚拟机不能位于同一第 2 层网络。分布式逻辑路由器无法连接到位于不同传输区域的逻辑交换机。连接第一个逻辑交换机后,只能在同一传输区域中选择其他逻辑交换机。

在NSX-V的部署中,可以认为是多个VDS部署在了同一个NSX域中。计算VDS跨越了多个计算集群中的ESXi主机,而Edge VDS单独使用在Edge集群中。逻辑交换机则为可以在多个VDS之间处理交换流量,并可以在NSX环境中实现Overlay且接受NSX Controller控制的虚拟交换机。对于一个给定的逻辑交换机,可以为跨越计算集群和Edge集群的虚拟交换机提供连接性。

设计传输区域参考规则:

● 如果某个群集需要第 3 层连接,则该群集必须位于同时包含 Edge 群集(即,具有分布式逻辑路由器和 Edge 服务网关等第 3 层 Edge 设备的群集)的传输区域中,即edge需要与逻辑交换机处于同一群集中,且属于同一传输区域。
● 假设您有两个群集,一个用于 Web 服务,另一个用于应用程序服务。要在这两个群集中的虚拟机之间建立 VXLAN 连接,这两个群集必须包含在传输区域中。
请记住,传输区域中所有逻辑交换机都将对传输区域中群集内的所有虚拟机可用并可见。如果某个群集包含安全环境,您可能不希望使其可用于其他群集中的虚拟机。相反,您可以将安全群集放置在更为孤立的传输区域中。
● vSphere Distributed Switch(VDS 或 DVS)的跨度应与传输区域跨度相匹配。在多群集 VDS 配置中创建传输区域时,确保选定 VDS 中的所有群集都包含在传输区域中。这可确保 DLR 在提供了 VDS dvPortgroup 的所有群集上都可用。

1)下图为一个传输区域与VDS 边界正确对齐的示例:

如果 VDS 跨越多个主机群集,且传输区域只包含其中一个(或部分)群集,则该传输区域中包含的任何逻辑交换机都可以访问 VDS 跨越的所有群集中的虚拟机。换句话说,传输区域将无法将逻辑交换机跨度限制为部分群集。如果稍后将此逻辑交换机连接到 DLR,则必须确保仅在传输区域中包含的群集上创建路由器实例,以避免出现任何第 3 层问题。

2)传输区域与 VDS 边界不对应的示例:


上图所示,逻辑交换机(5001、5002 和 5003)的范围和这些逻辑交换机连接到的 DLR 实例将被拆散,这将导致群集 Comp A 中的虚拟机无法访问 DLR 逻辑接口 (LIF)。

传输区域配置创建

登录vcenter,主页 > 网络和安全 > 安装 (Home > Networking & Security > Installation),然后选择逻辑网络准备 (Logical Network Preparation)选项卡—单击传输区域 (Transport Zones),然后单击新建传输区域 (New Transport Zone) (新建逻辑交换机) 图标:


键入传输区域的名称和可选描述

可根据环境中是否有控制器节点是否要使用多播地址,选择控制层面模式,默认采用单播,生产环境我们采用多播,验证并未受影响。

多播 (Multicast):物理网络中的多播 IP 地址用于控制层面。仅在您从较旧的 VXLAN 部署升级时才推荐使用该模式。在物理网络中需要 PIM/IGMP。在不同子网中时,对于VTEP可达性来说,组播不是必需的;
单播 (Unicast):控制层面由 NSX Controller 处理。所有单播流量都利用优化的头端复制。不需要任何多播 IP 地址或特殊的网络配置。
混合 (Hybrid):将本地流量复制卸载到物理网络(L2 多播)。这在第一个跃点交换机上需要 IGMP 侦听,并且需要在每个 VTEP 子网中访问 IGMP 查询器,但是不需要 PIM。第一个跃点交换机将处理该子网的流量复制。

为 NSX 准备的每个 ESXi 主机都配置了 VXLAN 隧道端点 (VTEP)。每个 VXLAN 隧道端点具有一个 IP 地址。这些 IP 地址可以位于同一子网中,也可以位于不同子网中。

在不同 ESXi 主机上的两个虚拟机直接通信时,将在两个 VTEP IP 地址之间传输单播封装流量,而无需进行泛洪。不过,与任何第 2 层网络一样,有时来自某个虚拟机的流量必须进行泛洪操作,或者发送到属于同一逻辑交换机的所有其他虚拟机。第 2 层广播、未知单播和多播流量统称为 BUM 流量。必须将来自特定主机上的某个虚拟机的 BUM 流量复制到将虚拟机连接到同一个逻辑交换机的所有其他主机。

复制模式选择参考:

单播复制模式

单播复制模式无需物理网络支持第 2 层或第 3 层多播来处理逻辑交换机内的 BUM 流量。使用单播模式可以将逻辑交换机从物理网络中完全分离出来。单播模式会将所有 BUM 流量复制到源主机本地,并通过单播数据包将这些 BUM 流量转发给远程主机。在单播模式下,可以将所有 VTEP 放在一个子网中,也可以放在多个子网中。

一个子网的情况:当所有主机 VTEP 接口都属于一个子网时,源 VTEP 会将 BUM 流量转发给所有远程 VTEP。这种复制称为头端复制。头端复制可能会导致不必要的主机开销和更高的带宽使用。具体影响取决于 BUM 流量多少以及子网内的主机和 VTEP 数量。

多个子网的情况:如果主机 VTEP 接口分布到多个 IP 子网,源主机将分两部分处理 BUM 流量。源 VTEP 将 BUM 流量转发到同一子网中的每个 VTEP(与一个子网的情况相同)。对于远程子网中的 VTEP,源 VTEP 会将 BUM 流量转发给每个远程 VTEP 子网中的一个主机,并设置复制位以将此数据包标记为本地复制。远程子网中的主机在收到此数据包并找到所设置的复制位后,会将数据包发送到其子网中逻辑交换机所在的所有其他 VTEP。

因此,在具有许多 VTEP IP 子网的网络架构中,单播复制模式具有良好的可扩展性,因为负载在多个主机之间进行分发。

多播复制模式

多播复制模式需要在物理基础架构中同时启用第 3 层和第 2 层多播。要配置多播模式下,网络管理员需要将每个逻辑交换机与 IP 多播组关联起来。对于在特定逻辑交换机上托管虚拟机的 ESXi 主机,其相关联的 VTEP 会使用 IGMP 加入多播组 G。路由器会跟踪 IGMP 联接情况并使用多播路由协议在 IGMP 联接之间创建多播分发树。

当主机将 BUM 流量复制到位于同一 IP 子网的 VTEP 时,它们使用第 2 层多播。当主机将 BUM 流量复制到位于不同 IP 子网的 VTEP 时,它们使用第 3 层多播。在这两种情况下,由物理基础架构来处理到远程 VTEP 的 BUM 流量复制。

尽管 IP 多播是一项众所周知的技术,但由于各种技术、运营或管理原因,在数据中心中部署 IP 多播通常被视为一大难题。网络管理员必须密切关注物理基础架构支持的最大多播状态,以便在逻辑交换机与多播组之间启用一对一映射。虚拟化的一个好处是,允许在不将其他状态公开到物理基础架构的情况下扩展虚拟基础架构。将逻辑交换机映射到“物理”多播组会破坏此模型。

**注:**在多播复制模式下, NSX Controller 群集不用于逻辑交换。

混合复制模式

混合模式是单播和多播复制模式的组合。在混合复制模式中,主机 VTEP 使用第 2 层多播将 BUM 流量分发到位于同一子网的对等 VTEP。当主机 VTEP 将 BUM 流量复制到位于不同子网中的 VTEP 时,它们会以单播数据包形式将这些流量转发给每个 VTEP 子网中的一个主机。然后,接收流量的主机使用第 2 层多播将数据包发送给子网中的其他 VTEP。

在客户网络中,第 2 层多播比第 3 层多播更常用,因为第 2 层多播通常可以轻松部署。将 BUM 流量复制到位于同一子网中的不同 VTEP 通常在物理网络中进行。如果同一子网中有多个对等 VTEP,则混合复制可以有效缓解源主机的 BUM 流量。使用混合复制,您可以扩展至分段很少或不含分段的高密度环境。

选择要添加到传输区域的群集,因我的环境vTEP全部放置同一网段,这里选单播即可,实际验证多播也不影响:

BUM报文转发

BUM(Broadcast, Unknown-unicast, Multicast)即广播、未知单播、组播流量。根据对泛洪流量的复制方式不同可分为单播路由方式(头端复制)和组播路由方式(核心复制)两种。

【单播复制】

在单播复制方式下,VTEP负责复制报文,采用单播方式将复制后的报文通过本地接口发送给本地站点,并通过VXLAN隧道发送给VXLAN内的所有远端VTEP。

如上图所示,当VTEP 1上的VM 1发出BUM报文后,VTEP 1判断数据所属的VXLAN,通过该VXLAN内所有本地接口和VXLAN Tunnel转发报文。通过VXLAN Tunnel转发报文时,封装VXLAN头、UDP头和IP头,将泛洪报文封装于单播报文中,发送到VXLAN内的所有远端VTEP。远端VTEP收到VXLAN报文后,解封装报文,将原始数据在本地站点的VXLAN内泛洪。为避免环路,远端VTEP从VXLAN隧道上接收到报文后,不会再将其泛洪到其他的VXLAN隧道。

【单播报文转发流程】:
利用一个实例来理解VXLAN是如何完成报文转发的(实例来源于网络资料),其中,BUM报文采用单播复制的方法进行泛洪。


• 1)ARP请求报文转发流程

  1. VM 1与VM3的IP地址在同一网段。VM 1想要与VM 3进行通信,但发现没有VM 3的MAC地址,于是发起VM 3的ARP请求报文。ARP请求报文的源IP是VM 1的IP,目的IP是VM 3的IP,源MAC是VM 1的MAC,目的MAC则是全0字段,表示希望获得VM 3的MAC信息。外层封装以太网头,其中目的MAC为全F,表示这是一个广播报文。

  2. Leaf A收到了VM 1发来的ARP请求报文,根据其入端口和VLAN信息,判断出这个报文应该匹配VXLAN 10。将VXLAN、MAC、入端口和VLAN信息写入相应的VSI MAC表中。

  3. Leaf A发现ARP请求报文是一个广播报文,于是将这个报文在本地和远端所有VXLAN 10的端口进行广播。由于本流程广播采用头端复制的方法,Leaf A将给Leaf B和Spine C各发送一份VXLAN报文。Leaf A发送给Leaf B的报文,最外层是以太网头,接着是IP头,其中源IP是Leaf A的IP,目的IP是Leaf B的IP。再往内是UDP头和VXLAN头,其中VNI为10。最内层是VM 1的ARP请求报文。Leaf A发给Spine C的报文封装相同,不同之处在于外层目的IP是Spine C的IP,外层目的MAC根据下一跳不同而不同。

  4. Spine C收到Leaf A发来的报文,发现外层目的IP是自己,于是将其解封装。发现UDP的目的端口是4789,于是将UDP的上层报文进行VXLAN解封装处理。根据VXLAN报文的信息,将VXLAN、内部MAC、入端口等信息写入相应的VSI MAC表中。再发现内部原始二层报文是一个广播报文,根据水平分割的要求,不再往其他VTEP设备转发,只在本地的VXLAN 10端口内进行广播。由于Spine C上没有连接服务器,所以Spine C对这个报文不再进行后续处理,予以丢弃。

  5. 同样的,Leaf B也收到Leaf A发来的报文,解封装后,将VXLAN、内部MAC、入端口等信息写入相应的VSI MAC表中。由于报文是从Tunnel 1中收到的,所以端口信息为Tunnel 1。根据VXLAN 10的映射关系表,将原始二层报文在本地所有VXLAN 10端口进行广播.

  6. 最终VM 3收到了VM 1的ARP请求报文,将VM 1的IP和MAC对应关系写入自己的ARP表项,准备进行ARP应答。


•2) ARP应答报文转发流程

  1. VM 3给VM 1发送ARP应答报文。ARP应答报文的源IP是VM 3的IP,目的IP是VM 1的IP,源MAC是VM 3的MAC,目的MAC是VM 1的MAC。外层封装以太网头,源MAC是VM 3的MAC,目的MAC是VM 1的MAC,表示这是一个单播报文。

  2. Leaf B收到VM3发来的ARP应答报文,根据其入端口和VLAN信息,判断出这个报文应该匹配VXLAN 10。将VXLAN、MAC、入端口和VLAN信息写入相应的VSI MAC表中。

  3. Leaf B发现ARP应答报文是一个单播报文,其目的MAC是MAC 1,于是在VXLAN 10中查找。发现MAC 1的条目存在,其对应的端口为VXLAN Tunnel 1,于是把原始报文进行VXLAN封装。最外层是以太网头,接着是IP头,其中源IP是Leaf B的IP,目的IP是Leaf A的IP。再往内是UDP头和VXLAN头,其中VNI为10。最内层是VM 3的ARP应答报文。

  4. Leaf A收到Leaf B发来的报文,发现外层目的IP是自己,于是将其解封装。发现UDP的目的IP是4789,于是将UDP的上层报文进行VXLAN解封装处理。根据VXLAN报文的信息,将VXLAN、内部MAC、入端口等信息写入相应的VSI MAC表中。发现原始二层报文的目的MAC为MAC 1,于是在VXLAN 10中查找,找到MAC 1的对应表项,将报文从对应端口发送出去。

  5. VM 1收到了VM 3的ARP应答报文,将VM 3的IP和MAC写入ARP表项中,完成了此次ARP的学习。

    • 3)同VNI单播报文转发流程

  6. 在进行ARP报文的交互后,VM 1上已经存在VM 3的ARP表项,VM 3上也有VM 1的ARP表项。之后,VM 1和VM 3的通信就走单播报文转发流程了。

  7. VM 1将发给VM 3的单播报文发送出去。Leaf A收到VM 1发来的报文,发现其目的MAC为MAC 3,在VXLAN 10中查找到MAC 3后,进行VXLAN封装后通过Tunnel 1发送出去。

  8. Leaf B收到Leaf A发来的报文,解封装后在VXLAN 10中找到MAC 3表项,将其在对应的本地端口和VLAN中发出去。

  9. VM 3收到报文后,往VM 1发送单播报文的流程相同;


跨VNI 的流量需要经过VXLAN L3 Gateway(VXLAN L3 Gateway用于转发跨VXLAN的流量)来转发,这里采用集中式网关的模式进行说明。又分集中式网关和分布式网关。

由于是首次进行通信,且VM 1和VM 4处于不同网段。VM 1的网关VSI-Interface 10的IP为IP G10,MAC为MAC G10;VM4的网关VSI-Interface 20的IP为IP G20,MAC为MAC G20;VSI-interface 10 和VSI-interface 20均在Spine C(叶脊网络中的脊节点)上。VM 1需要先发送ARP广播报文请求网关(VSI-Interface 10)的MAC,获得网关的MAC后,VM 1先将数据报文发送给网关;之后网关也将发送ARP广播报文请求VM 4的MAC,获得VM 4的MAC后,网关再将数据报文发送给VM 4。以上MAC地址学习的过程与同子网互通中MAC地址学习的流程一致。假设VM 1和VM 4均已学到网关的MAC、网关也已经学到VM 1和VM 4的MAC,让我们来看下数据报文是如何从VM 1发送到VM 4的。

  1. VM 1先将报文发送给网关。报文的源MAC是VM 1的MAC,目的MAC是网关VSI-Interface 10的MAC,源IP是VM 1的IP,目的IP是VM 4的IP。

  2. Leaf A收到VM 1发来的报文,识别此报文属于VXLAN 10,查找目的MAC G10的表项,就报文进行VXLAN封装后从Tunnel 2发送出去。其中,VXLAN头中的VNI为10;外层源IP地址为Leaf A的IP,外层目的IP地址为Spine C的IP;外层源MAC地址为Leaf A的MAC,而外层目的MAC地址为去往目的IP的网络中下一跳设备的MAC地址。封装后的报文,根据外层MAC和IP信息,在IP网络中进行传输,直至到达对端VTEP。

  3. Spine C收到Leaf A发来的报文,发现外层目的IP是自己,于是对报文进行解封装。解完封装后,Spine C发现原始二层报文的目的MAC为本机VSI-interface 10的MAC,目的IP是IP4,于是根据路由表查找IP 4的下一跳。发现一下跳为Leaf B,出接口为VSI-Interface 20。再查询ARP表项,并将原始二层报文的源MAC修改为VSI-interface 20的MAC,将目的MAC修改为VM 4的MAC。报文到达VSI-interface 20接口时,识别到需要进入VXLAN 20隧道,所以根据MAC表对报文进行封装。这里封装的VXLAN头中的VNI为20,外层源IP地址为Spine C的IP地址,外层目的IP地址为Leaf B的IP地址;外层源MAC地址为Spine C的MAC地址,而外层目的MAC地址为去往目的IP的网络中下一跳设备的MAC地址。封装后的报文,根据外层MAC和IP信息,在IP网络中进行传输,直至到达对端VTEP。

  4. Leaf B收到Spine C发来的报文后,解封装,得到原始二层报文。在VXLAN 20内找到目的MAC为MAC 4的表项,并将报文从对应的接口和VLAN中发送出去。最终VM 4收到了来自VM 1的报文。

  5. VM 4发送给VM 1的过程与此类似。

【集中式三层网关】

集中式网关,即网关都集中在Spine设备。如上图所示,VSI-interface 10和VSI-interface 20都在Spine C设备上。所有跨VXLAN的流量,VXLAN与非VXLAN的互访流量都需要经过Spine,上图中VM 1访问VM 4时,需要通过Spine设备,并经过两段VXLAN Tunnel,即VXLAN Tunnel 2和VXLAN Tunnel 3。而VM 1访问VM 2,也需要绕行Spine设备,同样需要历经从A到C和从C到A两次VXLAN封装。

集中式网关的优点是流量均会经过Spine设备,能比较容易实现流量控制、自动引流等功能。缺点是Spine设备压力过大,不利于大规模部署。

【分布式三层网关】:
每台VTEP设备都可以作为VXLAN IP网关,对本地站点的流量进行三层转发。分布式三层网关可以很好地解决流量集中而导致Spine设备压力过大的问题,在组网上也可以做到灵活扩展。分布式网关组网中,Spine设备一般不是VTEP,仅为Underlay网络的一部分,承担普通IP报文的转发功能。

VXLAN的三层网关分布在所有的Leaf设备上。如上图所示,Leaf A和Leaf B上均有相同的VSI-Interface。VM 1访问VM 4为跨网段通信,VXLAN流量只需要在Leaf A和Leaf B之间直接交互,而不用Spine设备参与。VM 1访问VM 2也是跨网段通信,由于VM 1和VM 2都直连在Leaf A下,VXLAN流量都不用出Leaf A就能完成互访。可看出,分布式网关的部署方式大大减少了Spine设备的压力。

【多播复制】:

组播复制方式中,同一个VXLAN内的所有VTEP都加入同一个组播组,利用组播路由协议(如PIM)在IP网络上为该组播建立组播转发表项,VTEP上相应生成一个组播隧道。

如上图所示,当VTEP 1上的VM 1发出BUM报文后,VTEP 1不仅在本地站点内泛洪,还会为其封装组播目的IP地址,封装后的报文根据已建立的组播转发表项转发到IP网络。

在组播报文到达IP网络中的中间设备时,该设备根据已建立的组播表项对报文进行复制并转发。远端VTEP(VTEP 2和VTEP 3)接收到报文后,解封装报文,将原始的数据帧在本地站点的指定VXLAN泛洪。为了避免环路,远端VTEP从VXLAN隧道上接收到报文后,不会再将其泛洪到其他的VXLAN隧道。另外,由于泛洪流量使用了组播技术,所以整个组网中的网络设备需要支持组播路由协议(如PIM等)来建立组播路径以便组播报文转发。

【ARP抑制】
ARP流量是数据网络中最常见的BUM报文。为了尽量减少ARP广播对带宽的影响,一般会在VXLAN网络中开启ARP抑制功能。

ARP抑制方法有两种,我们称之为ARP代理和ARP代答。在ARP代理模式中,VTEP设备会用网关自身的MAC地址进行回应ARP请求。

  1. VM 1想要和同网段的VM 3进行通信,于是VM 1发起了ARP请求寻找VM 3的MAC。

  2. Leaf A开启了ARP代理模式,于是将VSI-Interface 10的MAC回应给VM 1,VM 1上生成了IP 3和MAC G10对应的ARP表项。

  3. Leaf A若是没有VM 3的ARP表项,则会在VXLAN中的所有本地和远端端口广播。Leaf A将ARP请求报文的源MAC地址修改成本地地址MAC A,再封装成VXLAN报文发送出去。

  4. Leaf B收到Leaf A发来的报文,解封装后,将IP 1与MAC A的对应关系写进表项。发现请求的是本地直连网段的ARP,于是将ARP请求报文中的源MAC地址修改成本地VSI-Interface 10的MAC,发送出去。

  5. VM 3收到Leaf B发来的ARP请求报文,将IP 1和MAC G10的对应关系写进自己的ARP表。然后开始回送ARP应答报文,一路回送,最终Leaf A学到了IP 3与MAC B的对应表项。

  6. VM 1发送数据报文给VM 3,目的MAC地址为Leaf A上的网关MAC。Leaf A收到报文后,发现目的MAC地址是VSI-interface 10的MAC,于是进行三层查表转发。找到IP 3对应的表项,将目的MAC改为Leaf B的MAC后,再把报文进行VXLAN封装发送给Leaf B。

  7. Leaf B解封装VXLAN报文后,发现目的MAC是自己,于是进行三层查表转发。找到IP 3对应的表项,将目的MAC改为VM 3的MAC后,发送给VM 3。VM 3收到VM 1发来的数据报文,回送过程不再赘述。

在ARP代理模式下,网关设备在回应ARP时,只会以自己的网关MAC进行回应,这将所有下挂的服务器MAC进行了屏蔽,实现了ARP抑制的作用。而在数据转发时,由于报文的目的MAC是自己,所以每一跳都会进行三层查表转发。


在ARP代答模式中,VTEP设备将会用请求虚拟机的实际MAC回应ARP请求。ARP代答模式下的首次ARP请求和前文“同VNI单播报文转发流程”章节中的过程相同。在VM 1和VM 3已经在经过flood-learn的过程后,VM 1和VM 3已经可以正常通信,且沿途的设备均已建立正确的表项。

此时,处于同一网段的VM2,同样想要和VM 3通信时,就需要发送ARP请求报文来寻找VM 3的MAC信息。Leaf A已经开启了ARP代答功能,且此时Leaf A上已经有了VM 3的IP和MAC对应表项,那么Leaf A会直接将表项中的MAC 3回应给VM 2,而不需要再经过一次泛洪。这样,ARP代答就可以大大减少ARP泛洪流量。而ARP代答若是配合可以在全网VTEP同步IP和MAC信息的VXLAN控制平面,那么ARP泛洪流量对带宽的影响可以降至最低。

SDN之虚拟逻辑网络相关推荐

  1. 技术谈 | SDN 和 NFV 之间的爱与恨

    部分开发者经常混淆 SDN 和 NFV,无法看清他们的关系.今天,小编搬出华为技术专家的一篇大稿,给大家掰扯掰扯:SDN 和 NFV 究竟是什么关系. ----文/闫长江 什么是 SDN 回到基本的概 ...

  2. SDN:简述对各类SDN交换机的认识

    SDN:简述对各类SDN交换机的认识 按照SDN交换机所支持的南向协议来看,SDN交换机可分为纯SDN交换机(仅支持OpenFlow协议).混合交换机(支持 Open Flow协议和传统网络协议).自 ...

  3. 到2022年SDN市场将达到1300亿美元

    随着数据大爆炸.移动设备.云计算和社交媒体的不断增长,传统网络的性能日益不能满足用户应用的需求.对高级网络基础设施的需求越来越大,计算和存储受益于自动化和虚拟化的创新,但这些创新都被网络功能所限制. ...

  4. SDN 过时?这些应用让 SDN 长盛不衰

    2021年8月17日,<Gartner宣布放弃SDN!>一文出现在众多网络从业者的视野,继而引发了大量的讨论,看到众多同仁的转发和观点. <Gartner宣布放弃SDN!>文中 ...

  5. 一步步实现SDDC-Edge与动态路由实现

    实验摘要: 1>Windows Server软路由器静态路由设置 [难度★复杂度★] 2>Edge Services Gateway边界服务网关部署 [难度★复杂度★] 3>动态路由 ...

  6. [云数据中心] 《云数据中心网络架构与技术》读书笔记 第八章 构建云数据中心端到端安全

    8.1 云数据中心面临的安全挑战 因为云化和SDN化的网络特点(网元出现的位置随意性更大,出现和消失的时间不定): 首先会导致安全业务开通周期长: 其次SDN的自动化能力是现在安全业务所不能达到的,很 ...

  7. 【交易技术前沿】海通证券金融云思考与实践(下)

    海通证券信息技术管理部 王洪涛.王朝阳.纪飞.魏勇.张真真 上一期<海通证券金融云思考与实践(上)>一文中讲述了OpenStack架构设计和多类型底层存储资源池相关的内容,这篇文章将会重点 ...

  8. 网络安全与机器学习(二):网络安全任务如何结合机器学习?

    摘要: 网络安全遇见机器学习,会摩擦出怎样的火花呢? 网络安全任务和机器学习 让我们看看常见的网络安全任务和机器学习结合的机会,而不是查看ML任务并尝试将它们应用于网络安全.具体我们需要考虑三个维度( ...

  9. kubelet配置cni插件_kubernetes网络插件对比分析(flannel、calico、weave)

    本文将在介绍技术原理和相应术语的基础上,再集中探索与详细对比目前最流行的CNI插件: Flannel Calico Weave 介绍 网络架构是Kubernetes中较为复杂.让很多用户头疼的方面之一 ...

最新文章

  1. input[type=file] 异步上传文件
  2. 当分区数量与reducer task数量不一致时,会怎么样。
  3. CSS Hack(Safari、Opera、Chrome、IE6、IE7、 IE8和IE9)
  4. SpringBoot 集成Nacos报错(一)
  5. cross_val_score 如何对孤立森林_【收藏】森林防火手抄报素材汇总!
  6. c++-串的模式匹配
  7. python实现一对一聊天_vue+django实现一对一聊天功能
  8. 【转】Office2003与Office2007/2010共存方法
  9. unity 电梯_unity应用实例——电梯模拟系统
  10. 三、spring中高级装配(1)
  11. 计算机系统 基础知识点汇总,超全!!!
  12. Luogu 1894 [USACO4.2]完美的牛栏The Perfect Stall
  13. 百度地图迁徙大数据_百度地图迁徙大数据:复工后北上广深城内出行年后首次大幅增长...
  14. 瀑布流插件WookMark
  15. action、gitter
  16. python数据整理--绘图工具matplotlib
  17. Python异常UnicodeEncodeError: 'gbk' codec can't encode character '\uXXX' in position
  18. 如何将控制台程序发布为服务
  19. ltspice语言中文_LTspice-一-简介(中文教程)
  20. 最近帮朋友写了一个百度竞价关键词快速分词(分组)工具,支持与或逻辑分组,附源码和工具下载链接...

热门文章

  1. 两直线垂直的充要条件
  2. 基于matlab人,基于MATLAB的人口预测研究
  3. java 对象验证非空_判断Bean对象指定字段非空
  4. 打Oracle PSU时碰到的一些问题处理
  5. 华大HC32F005 Systick问题
  6. 输电塔绝缘子上鸟巢检测(源码&教程)
  7. 计算机出纳面试试题及答案,面试模拟题集参考答案
  8. ZETA与RFID在供应链物流场景中是否可以互补?
  9. ISE14.7 综合编译时碰到错误
  10. Selenium UI 自动化获取接口数据