01- k8s基础网络知识 之 underlay与overlay网络


前言:
我们在学习k8s网络之前,必须要了解k8s网络相关的一些基础知识,比如什么是underlay网络、overlay网络等,只有把基础知识掌握之后,后续学习k8s网络的时候,一些知识点就不会再云里雾里了。


1 underlay与overlay网络


1.1 概念

Underlay网络是Overlay网络的底层物理基础,它是由各种物理设备和网络组成的,负责网络之间的数据包传输。具体来说,Underlay网络包括但不限于物理设备如:交换机、路由器、防火墙、负载均衡器和入侵检测系统等,它们通过物理线路连接起来,形成了一个传统的物理网络。这个物理网络可能包括有线和无线介质,如铜线、光纤和无线电波。

Underlay网络的特点在于它的物理性和稳定性,它是整个网络的基础,而Overlay网络则是构建在这些基础网络之上的虚拟网络。Overlay网络利用了Underlay网络提供的硬件设施和服务,在不改变Underlay网络结构的前提下,通过隧道技术或其他虚拟化技术在上面创建虚拟逻辑网络。这样做可以在不进行大规模网络改造的情况下,实现应用的承载并与其他网络业务分离。

例如,在数据中心环境中,Underlay网络可能是由Spine-Leaf架构构成的,其中Leaf节点负责接入不同的服务和设备,而Spine节点则执行核心功能,如路由和交换。而Overlay是基于软件的,它是Underlay物理网络之上的虚拟网络,Overlay网络的一个典型例子是Internet VPN ,它在Internet上通过使用IPsec等协议构建虚拟网络,使私有 IP地址的通信成为可能,此外,SDN和SD-WAN也采用了Overlay网络的概念。

总结来说,Underlay网络是支持Overlay网络运行的基础网络层,它提供了网络基础设施和物理连接,而Overlay网络则在此基础上构建和应用虚拟网络和服务。

01- k8s基础网络知识 之 underlay与overlay网络_第1张图片

谈了那么多,只是为了解释:

  • Overlay,顾名思义,上层的,或者说,业务层面的、用户层面的,overlay traffic 是指用户业务流量。
  • 而与overlay所对应的是underlay,顾名思义,下层的,或者说,基础架构层,专门用于承载用户流量的传统底层网络。


1.2 Overlay网络


1.2.1 Overlay的来源

先来看看Overlay这个词的来源。


Cisco在Nexus 7K平台(思科的交换机相关产品)率先推出一个技术,名字叫OTV(Overlay Transport Virtualization),后来又推广到ASK1000平台,这个OTV是干嘛的呢?


举个例子
客户有几个数据中心,分布在五湖四海,希望有一种解决方案,可以跨越Internet使这几个数据中心互联起来,比如使用VPN相关技术使之互联起来,客户说了,无论使用什么手段互联,但一定要提供大二层扩展。

小知识:什么是大二层扩展?
通俗地说,就是几个数据中心处于一个广播域里,比如一个主机发ARP广播,可以到达所有的数据中心,这样这个大二层的主机、服务器可以直接通信,无论它移动到什么位置(数据中心),只要它的VLAN不变,就可以保持自己的IP不变。(大二层网络这种网络解决方案,主要是为了解决数据中心虚拟机动态迁移这一特定需求而出现的,点击这里查看具体介绍)


OTV
OTV恰恰可以满足用户的需求,这个方案最大的优点,就是不管数据中心是如何互联,只是在数据中心之间IP可达,就可以在Edge Device上建立OTV隧道,这是一种UDP隧道,将用户的二层及以上的协议头、数据全部封装在自己的负载里。



1.2.2 VxLAN的来源

(下面的内容,我们接着上一小节继续讲。)


但是,由于OTV是Cisco 的私有实现,并没有获得广泛的支持。而由此技术理念为蓝本实现的一个协议 VxLAN(virtual Extensible LAN虚拟可扩展局域网),在2011年的VMworld大会上,被VMware提出,VXLAN技术是VMware、CISCO、Arista、Broadcom、Citrix和Redhat等厂商共同开发用于虚拟网络的技术。


VxLAN由于是基于业界标准被提出的,便很快获得了广泛支持,其原理和OVT非常相似,在此协议里提出了一个比VLAN更大的隔离空间概念,VxLAN ID由于有24位,可以提供多达1600万个隔离空间,而普通的VLAN只有4096个隔离空间(即一台交换机最多可以分4096个VLAN ID),很显然无法隔离海量的虚拟用户空间。

VXLAN协议是目前最流行的Overlay网络隧道协议之一,它采用L2 over L4(MAC-in-UDP)的报文封装模式,最终将二层报文用三层协议进行封装,可实现二层网络在三层范围内进行扩展,将“二层域”突破规模限制形成“大二层域”。 通过OverLay技术,可以在对物理网络不做任何改造的情况下,在现有的物理网络上创建了一个或多个逻辑网络,满足数据中心大二层虚拟迁移和多租户的需求。


Overlay协议:VXLAN、NVGRE、GRE、OTV、OMP、mVPN


1.2.2.1 VXLAN隧道是如何建立的?

VXLAN隧道是如何建立的?什么是VXLAN中的VTEP和VNI?

VXLAN中的两个重要概念:

  • VTEP(VXLAN Tunnel Endpoint)
  • VNI(VXLAN Network Identifier)

VXLAN隧道的建立就是通过使用VTEP和VNI来实现的。


VTEP 是VXLAN中的隧道端点,在每个VXLAN网络中都有一个或多个VTEP设备。VTEP设备是在传统网络设备上添加VXLAN功能,其主要功能是:将数据报文封装为VXLAN报文,并将其传输到目标VTEP设备。VTEP设备同时也负责解封装接收的VXLAN报文,并将其还原为原始数据报文。VTEP对数据报文的封装和解封装是通过添加和剥离VXLAN报文头部来完成的。


VNI 是VXLAN中的网络标识符,用于区分不同的VXLAN网络。每个VXLAN网络都有一个唯一的VNI,其范围是1到16777215。VNI标识了VXLAN报文的宿主子网,使得不同子网中的虚拟机可以通过VXLAN隧道进行通信。VNI是在VXLAN头部中的VXLAN网络标识符字段中进行设置的。


如图:

01- k8s基础网络知识 之 underlay与overlay网络_第2张图片

VXLAN隧道的建立是通过VTEP设备之间的通信来实现的。具体的建立过程如下:

  1. VTEP设备通过组播或单播方式进行VXLAN通信的配置,以确保它们能够互相通信。组播方式可以提供更好的扩展性和冗余性。

  2. VTEP设备在本地维护一个VNI到MAC地址的转发表,用于确定VXLAN报文的目标MAC地址。当接收到需要发送的数据报文时,VTEP设备会根据转发表确定目标VTEP设备。

  3. 发送方的VTEP设备将数据报文封装为VXLAN报文。封装过程包括在数据报文前面添加VXLAN报文头部,其中包含了目标VTEP设备的信息,以及源和目标VNI。

  4. VTEP设备将封装后的VXLAN报文通过底层网络发送到目标VTEP设备。底层网络可以是物理网络也可以是虚拟网络,如网络隧道。

  5. 目标VTEP设备接收到VXLAN报文后,根据报文头部的目标VNI和目标MAC地址信息,将报文解封装为原始数据报文。

  6. VTEP设备将解封装后的原始数据报文发送到目标主机。

VXLAN隧道的建立和VNI的维护使得不同子网中的虚拟机能够透明地进行通信,扩展了数据中心网络的规模和灵活性。VXLAN技术在云计算和虚拟化环境中被广泛应用,为大规模数据中心的网络架构提供了一种高效的解决方案。


1.2.2.2 vxlan为何采用UDP封装,而不是TCP?

VXLAN(虚拟扩展局域网)选择使用UDP(用户数据报协议)进行封装的原因主要有以下几点:

  1. 高效的数据转发:由于VXLAN隧道的目的是跨越不同的网络层次,包括不同类型的网络设备,如路由器和交换机,以及可能的NAT(网络地址转换)设备。使用UDP封装允许VXLAN数据包直接穿过这些设备,因为UDP提供了无连接的服务模型,适合于数据包交换的场景。

  2. 兼容性:UDP是一种广泛使用的协议,几乎所有的现代操作系统都支持UDP。因此,使用UDP封装意味着VXLAN可以在多种设备和系统中运行,提高了其可移植性和通用性。

  3. 简化网络配置:在某些情况下,如数据中心环境中,存在大量冗余链路。使用UDP封装可以减少网络设备在处理VXLAN数据包时的复杂性,因为它不需要像TCP那样执行复杂的拥塞控制机制。此外,UDP封装还减少了网络设备的负载,特别是那些不支持ECMP(边缘计算多层交换)的设备。

  4. 支持多种传输模式:UDP封装使得VXLAN能够支持组播传输和多播复制,这在需要同时发送给多个接收者或进行广播通信的情况下非常有用。


综上所述,VXLAN采用UDP封装是因为它能够提供高效的传输效率、广泛的平台兼容性、简化的网络配置需求以及对多种传输模式的良好支持。



1.3 Underlay网络

前面说了,Underlay网络是Overlay网络的底层物理基础,它是由各种物理设备和网络组成的,负责网络之间的数据包传输。具体来说,Underlay网络包括但不限于物理设备如:交换机、路由器、防火墙、负载均衡器和入侵检测系统等,它们通过物理线路连接起来,形成了一个传统的物理网络。这个物理网络可能包括有线和无线介质,如铜线、光纤和无线电波。

01- k8s基础网络知识 之 underlay与overlay网络_第3张图片



1.4 Overlay vs Underlay总结


Underlay Overlay
定义 underlay是指物理网络,它是由物理设备通过物理线路连接起来形成一个传统的物理网络 Overlay网络则是构建在这些基础网络之上的虚拟网络。Overlay网络利用了Underlay网络提供的硬件设施和服务,在不改变Underlay网络结构的前提下,通过隧道技术或其他虚拟化技术在上面创建虚拟逻辑网络
特性 物理性、稳定性 灵活性
数据传输 通过物理网络设备例如路由器、交换机进行传输 沿着节点间的虚拟链路进行传输
包封装和开销 发生在网络的二层和三层 需要跨源和目的封装数据包,产生额外的开销
报文控制 面向硬件 面向软件
部署时间 由于依赖硬件,上线新服务涉及大量配置,耗时多 只需更改虚拟网络中的拓扑结构,可快速部署
协议 以太网交换、VLAN、路由协议(OSPF、IS-IS、BGP等)、MACVLAN、IPVLAN VXLAN、NVGRE、SST、GRE、NVO3、EVPN
扩展性 由于依赖硬件,底层网络一旦搭建好,新增设备较为困难,可扩展性差 扩展性强,例如VLAN最多可支持4096个标识符,而VXLAN则提供多达1600万个标识符
多路径转发 因为可扩展性低,所以需要使用多路径转发,而这会产生更多的开销和网络复杂度 在Overlay网络中,流量从源传输到目的可通过多条路径,从而实现负载分担,最大化利用线路的带宽。
多租户管理 要使用基于NAT或者VRF的隔离,这在大型网络中是个巨大的挑战 支持管理多个租户之间的重叠IP地址

综上所述,Underlay网络存在着以上诸多限制,而Overlay带来了Underlay无法提供的灵活性。

你可能感兴趣的:(k8s网络,kubernetes,网络,linux,运维,计算机网络,云原生)