计算机网络:overlay(VLAN,VxLAN)、underlay网络、大二层的介绍

目录

相关术语

概述

Overlay 网络

Overlay网络组成

VLAN

VXLAN

Underlay网络

技术专区


 

相关术语


  • P network:运营商核心网络,也就是提供VPN服务供应商自己的网络 "P = provider"
  • C network:客户网络 "C = customer"
  • P device: 运营商网络核心设备
  • PE device:运营商网络边缘设备,用于连接P网络与C网络 "PE = Provider Edge"
  • CE device:客户网络边缘设备,用于连接P网络与C网络 "CE = Customer Edge"

 

概述


SDN如火如荼的今天,每一个网络工程师见到最多的术语大概就是Underlay、Overlay、大二层了。每一个人理解这些技术一定有一套自己的见解,今天站在我个人的家角度来探讨一下Underlay、Overlay、大二层技术。

我第一次在网络领域看到overlay这个术语大概在2011年左右,刚入门开始学习MPLS/ L 3 VPN那会。我们不妨来看一下MPLS/ L3 VPN中介绍的Overlay是怎样的。

VPN的两大类别:

  • Peer-to-Peer VPN
  • Overlay VPN

 

Peer-to-Peer VPN 与 overlay VPN的区别


在peet-to-peer VPN的实现中,C网络路由会在P网络内传递,P设备也会参与C网络的路由选择,这句话突出的重点就是:P网络与C网络融为一体,C网络路由的任何改变都会影响到P网络。

在overlay VPN的实现中,CE对接PE设备,P网络提供所有CE之间的网络可达性,基于这个网络可达性为基准,CE通过隧道技术构建点到点的VPN互联。隧道基于诸如:GRE、L2TP、PPTP、IPsec。VPN隧道把多个分布于不同位置的网络相互互联起来,这些VPN隧道组成的网络就是overlay网络。它们完全独立与底层的P网络,P网络只负责提供VPN隧道的src-dst可达性。

到这里其实已经把underlay与overlay的概念引出来了,underlay就是底层承载网,overlay就是基于底层网络互联互通的基础加上隧道技术去构建一个虚拟的网络。overlay的核心其实就是打隧道(tunnel)。

总结一下:

underlay是底层网络,负责互联互通

overlay是基于隧道技术实现的,overlay的流量需要跑在underlay之上。

VPN场景的Underlay/Overlay就介绍到这里,接下来讨论下DC(DataCenter)网络

server-virtualization 技术把物理服务器虚拟化成多个虚拟机,企业应用部署在虚拟机上,hypervisor/VMM用来监控虚拟机状态,当故障即将来了的时候,hypervisor通过相关技术(vmotion、live migration)把运行在当前物理机上的虚拟机迁移到其他物理机上。虚机迁移这个动作对用用户是透明的,所以在迁移前后必须保证虚机的MAC/IP 是保持不变的。这样就意味着迁移必须在一个二层广播域内完成。(一个IP子网=一个广播域)

计算机网络:overlay(VLAN,VxLAN)、underlay网络、大二层的介绍

在传统的基于STP的组网结构中,为了避免二层广播域太大,二层终结在汇聚交换机上,一组汇聚上的同一VLAN在一个广播域内,这里我们况且把一组汇聚称为一个POD。在传统架构中,虚机迁移只能在POD内完成。

 

STP组网二层无法扩大的原因


因为以太网交换机的工作原理是learn/flooding,这样的机制下如果二层域太大,一个broadcast就有可能影响到所有节点。并且STP是树形结构,单路径转发(冗余路径被阻塞),现代数据中心互联40G/100G情况下,会存在严重的资源浪费。

这个时候MAC Routing技术(Trill/Fabric-Path)应运而生,控制层面采用成熟的IS-IS协议,同时引入AF(assert-forwarder)来破环,这样就可以基于TriLL/Fabirc-Path来构建二层全连接网络。

计算机网络:overlay(VLAN,VxLAN)、underlay网络、大二层的介绍

但是很不幸的是,Trill弥补了STP技术的缺陷,实现了full-mesh的Layer 2 连接,扩大了二层范围,但是由于机制过于复杂、trill域内所有设备必须支持trill、多租户能力不足等缺陷。导致该技术只是昙花一现,并没有做到大范围的部署。

 

Network Virtualization Overlays(NOV3技术)


NOV3技术代表:

  • VxLAN(VMware)
  • NvGRE(Microsoft)
  • STT(Nicira)

可以看到NOV3技术的发起者都是软件厂商, VMware(私有云)、Microsoft(公有云)、Nicira(SDN)。

NOV3技术的实现原理其实非常简单,

  • VxLAN=MAC in UDP
  • NvGRE = MAC in GRE
  • STT = MAC in TCP(伪TCP)

显而言之都是一种再封装技术,基于新的头部实现隧道互联。使用这些隧道组成的逻辑网络就是数据中心的overlay。基于隧道的发起点不同,又分为硬件overlay(隧道两端是物理交换机)、软件overlay(隧道两端是vSwitch)。

计算机网络:overlay(VLAN,VxLAN)、underlay网络、大二层的介绍

当NOV3应用于现代数据中心时,隧道是基于IP实现的,所以underlay的作用就只是提供隧道两端IP可达性,这样底层物理组网就非常可以三层到边,构建CLOS结构的网状IP Fabric。

计算机网络:overlay(VLAN,VxLAN)、underlay网络、大二层的介绍

underlay完成三层互通之后,overlay如何设计、优化就可以独立讨论,因为overlay的任何变化都不会对underlay产生影响。

到这里就大概了解了什么是underlay、overlay,为什么需要大二层、如何构建大二层网络。关于underlay的路由拓扑设计,overlay的控制层面设计后期我们分开讨论。

 

Overlay 网络


Overlay在网络技术领域,指的是一种网络架构上叠加的虚拟化技术模式,其大体框架是对基础网络不进行大规模修改的条件下,实现应用在网络上的承载,并能与其它网络业务分离,并且以基于IP的基础网络技术为主。Overlay 技术是在现有的物理网络之上构建一个虚拟网络,上层应用只与虚拟网络相关。

Overlay网络的出现主要应对数据中心中虚拟机的迁移,打破物理地址的限制,保证在虚拟机进行迁移之后不需要重新配置网络等。Overlay指的是一种传统网络架构上叠加的虚拟化技术模式,在对基础网络不进行大规模修改的条件下,实现应用在网络上的承载,并能与其它网络业务分离,并且以基于IP的基础网络技术为主。

 

Overlay网络组成


  • 边缘设备:是指与虚拟机直接相连的设备
  • 控制平面:主要负责虚拟隧道的建立维护以及主机可达性信息的通告
  • 转发平面:承载 Overlay 报文的物理网络

Overlay技术可以分为网络Overlay,主机Overlay和混合式Overlay三大类。网络Overlay是指通过控制协议对边缘的网络设备进行网络构建和扩展,也就是本文所讲的Overlay网络技术。Overlay网络技术多种多样,一般采用TRILL、VxLan、GRE、NVGRE等隧道技术。TRILL(Transparent InterconnecTIon of Lots of Links)技术是电信设备厂商主推的新型环网技术;NVGRE(Network VirtualizaTIon using Generic RouTIng EncapsulaTIon)STT(Stateless Transport Tunneling Protocol)是IT厂商主推的Overlay技术;以及大家非常熟悉的VXLAN(Virtual eXtensible LAN)等基于隧道的封装技术。由于这些也都是新增的协议,均需要升级现有网络设备才能支持。Overlay网络中应用部署的位置将不受限制,网络设备可即插即用、自动配置下发,自动运行,Overlay网络业务变化,基础网络不感知,并对传统网络改造极少,最为重要的是虚拟机和物理服务器都可以接入Overlay网络中。

计算机网络:overlay(VLAN,VxLAN)、underlay网络、大二层的介绍

当前主流的 Overlay 技术主要有VXLAN, GRE/NVGRE和 STT。这三种二层 Overlay 技术,大体思路均是将以太网报文承载到某种隧道层面,差异性在于选择和构造隧道的不同,而底层均是 IP 转发。如下表所示为这三种技术关键特性的比较。其中VXLAN利用了现有通用的UDP传输,其成熟性高。总体比较,VLXAN技术相对具有优势。

计算机网络:overlay(VLAN,VxLAN)、underlay网络、大二层的介绍

VLAN


VLAN (Virtual Local Area Network)意为虚拟局域网,是在交换机实现过程中涉及到的概念,由802.1Q标准所定义。由于交换机是工作在链路层的网络设备,连接在同一台交换机的终端处于同一个三层网中,同时也处于同一个广播域。当交换机接入较多的终端时,任意一台终端发送广播报文时(例如:ARP请求),报文都会传遍整个网络。对于规模较大的组网场景,广播报文的泛滥对于网络通信将会造成较大的影响。VLAN技术为这一问题提供了解决方案,VLAN将同一网络划分为多个逻辑上的虚拟子网,并规定当收到广播报文时,仅仅在其所在VLAN中进行广播从而防止广播报文泛滥。VLAN技术在链路层的层次中实现了广播域的隔离。

计算机网络:overlay(VLAN,VxLAN)、underlay网络、大二层的介绍
VLAN数据帧

VID字段字段唯一标识了一个VLAN,12bit长度的VID可以表示4096个不同的值,除去两个保留值,一个以太网最多可以划分为4094个VLAN。

 

VXLAN


VXLAN由RFC7348定义,这是2014年定稿的一个协议,VXLAN协议将Ethernet帧封装在UDP内,再加上8个字节的VXLAN header,用来标识不同的二层网络。VXLAN在三层网络基础上构建大二层网络,其物理承载是传统三层网络以及专用的VTEP设备。VTEP(VXLAN Tunnel EndPoint)负责VXLAN报文的封装和解封,对虚拟机隐藏了其链路层帧的转发细节。

计算机网络:overlay(VLAN,VxLAN)、underlay网络、大二层的介绍
VXLAN报文格式
  • 最内层的是VXLAN报文,由VXLAN报文头部和L2帧组成。其中头部包含最重要的字段是VNID,类似于VLAN中的VID,用于分隔虚拟网络的二层域空间;
  • VXLAN报文被VTEP封装在UDP报文中,由VTEP负责封装和解封;
  • Mac帧头部和IP头部也是由VTEP进行装载,传输的过程就是从本地虚拟机所属的VTEP到目的虚拟机所属的VTEP,对虚拟机隐藏底层传输细节。

VXLAN与VLAN的最大区别在于,VLAN只是修改了原始的以太网帧头部,但是整个网络数据包还是原来那个数据包,而VXLAN是将原始的以太网帧隐藏在UDP数据里面。经过VTEP封装之后,在网络线路上看起来只有VTEP之间的UDP数据传递,传输细节对虚拟机透明,从而做到了在L3网络上构建虚拟L2网络。

VXLAN网络中传输的建立依赖于VTEP的组播实现虚拟L2网络的ARP功能。假设虚拟机A与虚拟机B要进行通信,虚拟机A会将以太网帧发送给本地VTEP A,VTEP A将该数据帧封装后进行端到端传输,发送给虚拟机B的本地VTEP B,接下来就是解封数据帧再广播给虚拟机B的过程了。

优势:

  • 相比VLAN所支持的二层网络数量多更多
  • 更为灵活的虚拟机部署——VXLAN可以实现构建在三层网络上的大二层网络网络,通过UDP在L3网络上传输L2网络数据,便于虚拟机迁移等。

缺点:

  • VXLAN是一种overlay网络,不能独立存在,必须依赖underlay网络,而在构建underlay网络时,还是需要借助VLAN。
  • VXLAN的优势是在大规模环境下,如果数据中心的规模较小,那么VXLAN将会浪费很多网络性能。
  • 需要专属设备支持。
  • VXLAN因为需要进行外层封装,每个以太网帧的传输都会浪费50字节,对于小报文的传输将会有极大的浪费。

 

Underlay网络


以太网从最开始设计出来就是一个分布式网络,没有中心的控制节点,网路中的各个设备之间通过协议传递的方式学习网络的可达信息,由每台设备自己决定要如何转发,这直接导致了没有整体观念,不能从整个网络的角度对流量进行调控。由于要完成所有网络设备之间的互通,就必须使用通用的语言,这就是网络协议,RFC就是网络协议的法律,相当于国际法,各个设备供应商遵从国际法行事,就基本保证了整个网络世界的正常运行。Underlay就是当前数据中心网路基础转发架构的网络,只要数据中心网络上任意两点路由可达即可,指的是物理基础层。我们可以通过物理网络设备本身的技术改良、扩大设备数量、带宽规模等完善Underlay网络,其包含了一切现有的传统网络技术。

计算机网络:overlay(VLAN,VxLAN)、underlay网络、大二层的介绍

 

 

本文内容来自:

 

技术专区

 

Underlay、Overlay、大二层介绍

overlay网络与underlay网络的介绍区别

华为:什么是VXLAN

华为:VXLAN介绍

Overlay网络(VLAN,VXLAN)

两种Overlay技术:NVGRE和VXLAN

关于使用通用路由封装 (NVGRE) 实现网络虚拟化

 

上一篇:轻松搭建CAS 5.x系列(1)-使用cas overlay搭建SSO SERVER服务端


下一篇:简单实现SteamVR场景下 UI的 overlay 显示