什么是Overlay网络?Overlay网络与Underlay网络有什么区别?

2023-12-04 23:20
文章标签 网络 区别 overlay underlay

本文主要是介绍什么是Overlay网络?Overlay网络与Underlay网络有什么区别?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

你们好,我的网工朋友。

在传统历史阶段,数据中心的网络是以三层架构(核心、汇聚、接入)为基本标准。

但是随着技术的发展,不同的厂家有不同的组建方式,比如说在核心层、汇聚层和接入层增加虚拟化技术。

不管怎么改变,都没有改变以太网络传输的基本原则,都是需要靠网络地址、物理地址来进行控制转发,是这个理吧?

但是随着云计算的发展,虚拟计算跨区域迁移保护困难,集群网络隔离规模受限等等,Overlay网络粉墨登场。

Overlay网络是通过网络虚拟化技术,在同一张Underlay网络上构建出的一张或者多张虚拟的逻辑网络。

怎么说呢,不同的Overlay网络虽然共享Underlay网络中的设备和线路,但是Overlay网络中的业务与Underlay网络中的物理组网和互联技术相互解耦。

具体这俩有啥区别,是怎么一回事儿,看完这篇科普就懂了。

今日文章阅读福利:《 Overlay技术白皮书 》

关于Overlay技术,你需要了解的还有很多,想学习Overlay技术是怎样实现的,研究典型应用,这份实打实的技术白皮书,收藏必看。

私信我,发送暗号“Overlay”,限量获取资源。

01 Underlay网络

Underlay 网络是负责传递数据包的物理网络,由交换机和路由器等设备组成,借助以太网协议、路由协议和VLAN协议等驱动。

Underlay的所有网络组件都必须通过使用路由协议来确定 IP 连接。

对Underlay 网络而言,需要建立一个设计良好的L3,包括园区边缘交换机等,以确保网络的性能、可扩展性和高可用性。

Underlay协议:BGP、OSPF、IS-IS、EIGRP

02 Overlay网络

Overlay 是使用网络虚拟化在物理基础设施之上建立连接的逻辑网络。

与UnderLay网络相比,Overlay实现了控制平面与转发平面的分离,这也是SDN的核心理念。

VXLAN协议是目前最流行的Overlay网络隧道协议之一,它是由IETF定义的NVO3(Network Virtualization over Layer 3)标准技术之一;

采用L2 over L4(MAC-in-UDP)的报文封装模式,将二层报文用三层协议进行封装,可实现二层网络在三层范围内进行扩展,将“二层域”突破规模限制形成“大二层域”。

通过OverLay技术,可以在对物理网络不做任何改造的情况下,通过隧道技术在现有的物理网络上创建了一个或多个逻辑网络,有效解决物理数据中心存在的诸多问题,实现了数据中心的自动化和智能化。

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

03 Underlay网络的一些限制

传统路由协议构建了路由前缀列表,每个路由条目都指向下一跳的 IP 地址。

这意味着每个数据包都会根据路由表在网络中逐跳转发到目的地。这种逐跳路由行为有许多低效之处,例如:

1)网络分段和网络切片很难大规模实现

  • 在网络中逐跳传输分段标签需要 VRF、MPLS 和 MP-BGP 之间进行复杂的控制平面交互。
  • 网络切片和多租户无法实现。#网络工程师俱乐部

2)多路径转发繁琐,无法融合多个底层网络来实现负载均衡

3)服务链无法有效扩展,因为它需要在多个设备上进行手动配置

4)互联网不能保证私密通信的安全要求

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

那么Overlay网络又是如何形成的呢?

04 Overlay网络是如何形成的?

Overlay是基于软件的,不依赖于传输,它就像物理网络之上的虚拟网络。

Overlay网络的一个典型例子是Internet VPN ,它在Internet上构建了一个虚拟的封闭网络。

通过使用IPsec等协议构建虚拟网络,使私有 IP 地址的通信成为可能。

此外,SDN和SD-WAN也采用了Overlay网络的概念。

但是,要在 SD-WAN 中构建Overlay,需要一个特殊 CPE,称为 SD-WAN 边缘设备。

下面以SD-WAN边缘设备建立GRE隧道为例进行说明。

相互连接的SD-WAN边缘设备之间建立隧道,数据包准备传输出去时,设备为数据包添加新的IP头部和隧道头部,并将内部IP头与MPLS域隔离,MPLS转发基于外部IP头进行。#网络工程师俱乐部

一旦数据包到达其目的地,SD-WAN 边缘设备将删除外部 IP 标头和隧道标头,得到的是原始 IP 数据包。

在整个过程中,Overlay网络感知不到Underlay网络。

同样的过程也可以用于Internet Underlay,但需要使用IPSec进行加密。

05 Overlay网络如何解决问题?

1. 使用加密技术可以保护私密流量在互联网上的通信。

2. 流量传输不依赖特定线路。Overlay网络使用隧道技术,可以灵活选择不同的底层链路,使用多种方式保证流量的稳定传输。

3. 支持多路径转发。在Overlay网络中,流量从源传输到目的可通过多条路径,从而实现负载分担,最大化利用线路的带宽。

4. 支持网络切片与网络分段。将不同的业务分割开来,可以实现网络资源的最优分配。

06 Overlay vs Underlay


整理:老杨丨10年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部

这篇关于什么是Overlay网络?Overlay网络与Underlay网络有什么区别?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/455283

相关文章

C++中NULL与nullptr的区别小结

《C++中NULL与nullptr的区别小结》本文介绍了C++编程中NULL与nullptr的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编... 目录C++98空值——NULLC++11空值——nullptr区别对比示例 C++98空值——NUL

Conda与Python venv虚拟环境的区别与使用方法详解

《Conda与Pythonvenv虚拟环境的区别与使用方法详解》随着Python社区的成长,虚拟环境的概念和技术也在不断发展,:本文主要介绍Conda与Pythonvenv虚拟环境的区别与使用... 目录前言一、Conda 与 python venv 的核心区别1. Conda 的特点2. Python v

Go语言中make和new的区别及说明

《Go语言中make和new的区别及说明》:本文主要介绍Go语言中make和new的区别及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1 概述2 new 函数2.1 功能2.2 语法2.3 初始化案例3 make 函数3.1 功能3.2 语法3.3 初始化

Linux中压缩、网络传输与系统监控工具的使用完整指南

《Linux中压缩、网络传输与系统监控工具的使用完整指南》在Linux系统管理中,压缩与传输工具是数据备份和远程协作的桥梁,而系统监控工具则是保障服务器稳定运行的眼睛,下面小编就来和大家详细介绍一下它... 目录引言一、压缩与解压:数据存储与传输的优化核心1. zip/unzip:通用压缩格式的便捷操作2.

深度解析Spring Boot拦截器Interceptor与过滤器Filter的区别与实战指南

《深度解析SpringBoot拦截器Interceptor与过滤器Filter的区别与实战指南》本文深度解析SpringBoot中拦截器与过滤器的区别,涵盖执行顺序、依赖关系、异常处理等核心差异,并... 目录Spring Boot拦截器(Interceptor)与过滤器(Filter)深度解析:区别、实现

Before和BeforeClass的区别及说明

《Before和BeforeClass的区别及说明》:本文主要介绍Before和BeforeClass的区别及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Before和BeforeClass的区别一个简单的例子当运行这个测试类时总结Before和Befor

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio

Linux中的more 和 less区别对比分析

《Linux中的more和less区别对比分析》在Linux/Unix系统中,more和less都是用于分页查看文本文件的命令,但less是more的增强版,功能更强大,:本文主要介绍Linu... 目录1. 基础功能对比2. 常用操作对比less 的操作3. 实际使用示例4. 为什么推荐 less?5.

Java 关键字transient与注解@Transient的区别用途解析

《Java关键字transient与注解@Transient的区别用途解析》在Java中,transient是一个关键字,用于声明一个字段不会被序列化,这篇文章给大家介绍了Java关键字transi... 在Java中,transient 是一个关键字,用于声明一个字段不会被序列化。当一个对象被序列化时,被

Linux网络配置之网桥和虚拟网络的配置指南

《Linux网络配置之网桥和虚拟网络的配置指南》这篇文章主要为大家详细介绍了Linux中配置网桥和虚拟网络的相关方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 一、网桥的配置在linux系统中配置一个新的网桥主要涉及以下几个步骤:1.为yum仓库做准备,安装组件epel-re