https://www.zhihu.com/question/40463989
作者:车小胖
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
先来看看Overlay这个词的来源。
Cisco在Nexus 7K平台率先推出一个技术,名字叫OTV(Overlay Transport Virtualization),后来又推广到ASK1000平台,这个OTV是干嘛的呢?
举个例子
客户有几个数据中心,分布在五湖四海,希望有一种解决方案,可以跨越Internet互联起来、也可以拉Fiber互联起来、还可以使用MPLS VPN互联起来,客户说了,无论使用什么手段互联,但一定要提供大二层扩展。
什么是大二层扩展?
通俗地说,就是几个数据中心处于一个广播域里,比如一个主机发ARP广播,可以到达所有的数据中心,这样这个大二层的主机、服务器可以直接通信,无论它移动到什么位置(数据中心),只要它的VLAN不变,就可以保持自己的IP不变。
OTV
OTV恰恰可以满足用户的需求,这个方案最大的优点,就是不管数据中心是如何互联,只是在数据中心之间IP可达,就可以在Edge Device上建立OTV隧道,这是一种UDP隧道,将用户的二层及以上的协议头、数据全部封装在自己的负载里。
VxLAN
由于OTV是Cisco 的私有实现,并没有获得广泛的支持,而由此技术为蓝本实现的一个协议VxLAN,由于是业界标准,很快获得广泛支持,其原理非常相似,在此协议里提出了一个比VLAN更大的隔离空间概念,VxLAN ID由于有24位,可以提供16M+ 的隔离空间,而普通的VLAN只有4094的隔离空间,很显然无法隔离海量的虚拟用户空间。
谈了那么多,只是为了解释一个词:Overlay,顾名思义,上层的,或者说,业务层面的、用户层面的,overlay traffic 是指用户业务流量。
而与overlay所对应的是underlay,顾名思义,下层的,或者说,基础架构层,专门用于承载用户流量的传统的IP网络,只要可以提供IP包的转发即可。
https://zhuanlan.zhihu.com/p/32486650
在SDN如火如荼的今天,每一个网络工程师见到最多的术语大概就是Underlay、Overlay、大二层了。每一个人理解这些技术一定有一套自己的见解,今天站在我个人的家角度来探讨一下Underlay、Overlay、大二层技术。
我第一次在网络领域看到overlay这个术语大概在2011年左右,刚入门开始学习MPLS/ L 3 VPN那会。我们不妨来看一下MPLS/ L3 VPN中介绍的Overlay是怎样的。
VPN的两大类别:
Peer-to-Peer VPN
Overlay VPN
相关术语——
1,P network:运营商核心网络,也就是提供VPN服务供应商自己的网络 "P = provider"
2,C network:客户网络 "C = customer"
3,P device: 运营商网络核心设备
4,PE device:运营商网络边缘设备,用于连接P网络与C网络 "PE = Provider Edge"
5,CE device:客户网络边缘设备,用于连接P网络与C网络 "CE = Customer Edge"
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之上。