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

news2024/10/7 0:51:43

前言:
我们在学习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网络则在此基础上构建和应用虚拟网络和服务。

在这里插入图片描述

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

  • 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网络标识符字段中进行设置的。


如图:

在这里插入图片描述

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网络包括但不限于物理设备如:交换机、路由器、防火墙、负载均衡器和入侵检测系统等,它们通过物理线路连接起来,形成了一个传统的物理网络。这个物理网络可能包括有线和无线介质,如铜线、光纤和无线电波。

在这里插入图片描述



1.4 Overlay vs Underlay总结


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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1427908.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

架构整洁之道-组件构建原则

5 组件构建原则 大型软件系统的架构过程与建筑物修建很类似,都是由一个个小组件组成的。所以,如果说SOLID原则是用于指导我们如何将砖块砌成墙与房间的,那么组件构建原则就是用来指导我们如何将这些房间组合成房子的。 5.1 组件 组件是软件的…

IntelliJ创建一个springboot工程

安装jdk mac教程 windows教程 安装maven mac教程 windows教程 建议: 在本地磁盘新建一个文件夹叫maven,然后把下载的maven安装到这里。在后续的IntelliJ操作中,配置maven的settings.xml和repository地址为这个目录下的地址。 创建sprin…

stack和queue及优先级队列和适配器(包括deque)的介绍

stack stack的介绍 stack是一种容器适配器,专门用在具有后进先出操作的上下文环境中,其删除只能从容器的一端进行元素的插入与提取操作。stack是作为容器适配器被实现的,容器适配器即是对特定类封装作为其底层的容器,并提供一组…

【INTEL(ALTERA)】为什么 F-tile Serial Lite IV FPGA IP 设计示例会失败

说明 由于Intel Agilex 7 FPGA I 系列收发器-SoC 开发套件的时钟控制器 GUI 存在问题,当您需要配置芯片 Si5332 的 OUT1 时钟频率时,您可能会发现 F-tile Serial Lite IV 英特尔 FPGA IP设计示例失败。这是因为此 Si5332 GUI 存在问题;无法准确配置 OUT…

【算法】约数之和(数论)

题目 给定 n 个正整数 ai,请你输出这些数的乘积的约数之和,答案对 1097 取模。 输入格式 第一行包含整数 n。 接下来 n 行,每行包含一个整数 ai。 输出格式 输出一个整数,表示所给正整数的乘积的约数之和,答案需…

CentOS 8最小安装和网络配置

文章目录 简介下载地址VMware 17创建虚拟机最小化安装拥有的外部命令yum源有问题网络配置开启SSH Server服务关闭防火墙(目前这个地方还是有问题-加上端口依然不能访问)设置host配置JDK环境完整参考 简介 CentOS 8的IOS如果下载DVD版本至少有10G 这里我们直接选择最小安装&…

当Meta转向AI并宣布为投资者分红时,其收入激增

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

算法day9

算法day9 栈与队列基础232用栈实现队列225用队列实现栈 栈与队列理论基础 言简意赅:栈的原理就是后进先出。队列就是先进先出。 相关操作: 栈:入栈,出栈,判栈空,取栈顶元素。 队列:出队&#…

Linux第41步_移植ST公司uboot的第2步_修改网络驱动_USB OTG设备树_LCD驱动_以及编译和烧写测试

移植ST公司uboot的第1步,创建配置文件、设备树、修改电源管理和sdmmc节点后,还需要进一部修改,如:网络驱动、USB OTG设备树、LCD驱动,以及编译和烧写测试。 一、在虚拟机中,使用VSCode打开my_uboot工作区 …

1E,Jarvis March

四个问题: 一,Jarvis March算法借鉴了什么算法? 二,如何确定初始点 三,如何获取凸包的边? 四,Jarvis March算法的好处在哪里? 首先看第一个问题, 一,Jarvis …

Springboot 自定义参数配置化,密钥,密码,文件保存路径

application.properties 和 application.yml 都是一样的配置方法,只是格式不一样 定义配置文件 server.port8080 image.save.pathE:\ #自定义文件保存路径读取配置文件 Value("${image.save.path}")private String filePath;//E:\优化配置文件 如果我参…

算法——A/算法通识

目录 一、复杂度分析 A/时间复杂度 B/空间复杂度 C/分析技巧 二、枚举分析 A/枚举算法介绍 B/解空间的类型 C/循环枚举解空间 三、模拟算法 四、递归 A/递归介绍 递归的两个关键要素: B/递归如何实现 C/递归和循环的比较 一、复杂度分析 A/时间复杂度…

Unknown custom element:<xxx>-did you register the component correctly解决方案

如图所示控制台发现了爆红(大哭): 报错解释: 当我们看到报错时,我们需要看到一些关键词,比如显眼的“component”和“name”这两个单词, 因此我们就从此处切入,大概与组件有关系。…

Transition内置组件设置无效的原因

1. 包裹的组件是否有显示隐藏状态的切换&#xff0c;或者是绑定的key值是否发生改变 由 v-if 所触发的切换由 v-show 所触发的切换由特殊元素<component> 切换的动态组件改变特殊的key属性 2. 要放在发生变化的组件外层&#xff0c;如果中间有其他元素或组件会不生效 …

C++ copy()函数详细介绍

copy() 是一个标准库函数&#xff0c;位于 头文件中。它用于将一个容器中的元素复制到另一个容器中&#xff0c;或者将一个范围内的元素复制到另一个范围中。 函数参数介绍 copy( first, last, d_first );first 和 last&#xff1a;表示输入范围的迭代器。 first 指向要复制的…

Keil软件某些汉字输出乱码,0xFD问题,51单片机

1. 问题 keil软件输入某些汉字的时候会输出乱码&#xff0c;例如&#xff1a;升、 数 2. 原因 keil软件会忽略0xFD。 升的GB2312编码为 0xc9fd&#xff0c;keil解析为0xc9数的GB2312编码为 0xcafd&#xff0c;keil解析为0xca 关于Keil软件中0xFD问题的说明 3. 解决方案1 …

深入解剖指针篇(3)

个人主页&#xff08;找往期文章&#xff09; &#xff1a;我要学编程(ಥ_ಥ)-CSDN博客 目录 二级指针 指针数组 指针数组模拟二维数组 字符指针变量 数组指针 数组指针初始化 二维数组传参的本质 函数指针 函数指针的使用 typedef关键字 函数指针数组 二级指针…

Linux内存管理:(十一)页面分配之慢速路径

文章说明&#xff1a; Linux内核版本&#xff1a;5.0 架构&#xff1a;ARM64 参考资料及图片来源&#xff1a;《奔跑吧Linux内核》 Linux 5.0内核源码注释仓库地址&#xff1a; zhangzihengya/LinuxSourceCode_v5.0_study (github.com) 1. 水位管理和分配优先级 页面分配…

0202-2-存储器管理

第四章:存储器管理 存储器的层次结构 多层结构的存储系统 存储器的多层结构 CPU寄存器主存辅存 可执行存储器 寄存器和主存的总称访问速度快&#xff0c;进程可以在很少的时钟周期内用一条load或store指令完成存取。 主存储器与寄存器 高速缓存和磁盘缓存 程序的装入和链…

《金融时报》:直面“雪球”风波 究竟影响几何?

“他们给我推荐的时候说是只要市场不大跌&#xff0c;我就能按照年化20%获得收益&#xff0c;当时我看大盘走势&#xff0c;也认为跌那么多的概率不大。”李先生告诉《金融时报》记者&#xff0c;他当初被银行客户经理推荐“雪球”产品并头脑一热买了的时候&#xff0c;以为按照…