sdn学习-1(概念:Underlay网络和Overlay网络)
随着云计算、大数据、移动互联网等新技术的普及,部署大量虚拟机成为一种必然趋势。解决这些虚拟机迁移问题理想的方案是在传统单层网络(Underlay)基础上叠加(Overlay)一层逻辑网络,将网络分成两个组成部分。Overlay网络和Underlay网络是相互独立的,Overlay网络使用Underlay网络点对点传递报文,而报文如何传递到Overlay网络的目的节点完全取决于Underlay网络的控制平面和数据平面,报文在Overlay网络入和出节点的处理则完全由Overlay网络的封装协议来决定。
Underlay网络:以太网从最开始设计出来就是一个分布式网络,没有中心的控制节点,网路中的各个设备之间通过协议传递的方式学习网络的可达信息,由每台设备自己决定要如何转发,这直接导致了没有整体观念,不能从整个网络的角度对流量进行调控。由于要完成所有网络设备之间的互通,就必须使用通用的语言,这就是网络协议,RFC就是网络协议的规范,就基本保证了整个网络世界的正常运行。Underlay就是当前数据中心网路基础转发架构的网络,只要数据中心网络上任意两点路由可达即可,指的是物理基础层。可以通过物理网络设备本身的技术改良、扩大设备数量、带宽规模等完善Underlay网络,其包含了一切现有的传统网络技术。
Overlay网络:在网络技术领域,是一种网络架构上叠加的虚拟化技术模式,对基础网络不进行大规模修改的条件下,实现应用在网络上的承载,并能与其它网络业务分离。它是建立在已有网络上的虚拟网,用逻辑节点和逻辑链路构成了Overlay网络。Overlay网络是具有独立的控制和转发平面,对于连接在Overlay边缘设备之外的终端系统来说,物理网络是透明的。通过部署Overlay网络,可以实现物理网络向云和虚拟化的深度延伸,使云资源池化能力可以摆脱物理网络的重重限制,是实现云网融合的关键。Overlay网络也是一个网络,不过是建立在Underlay网络之上的网络。Overlay网络的节点通过虚拟的或逻辑的链接进行通信,每一个虚拟的或逻辑的链接对应于Underlay网络的一条路径(Path),由多个前后衔接的链接组成。Overlay技术可以分为网络Overlay,主机Overlay和混合式Overlay三大类
从静态和动态两个角度来审视网络:
从静态的角度来看,网络可表示为数据结构中的图(Graph),网络的节点(如交换机和路由器,一些文献把他们统称为Datapath)是为图的顶点(Vertex),而链接(Link)就是图的边(Edge),这就是网络的拓扑视图。对于每一个网络节点,其数据(Data Traffic)转发行为由一系列的查询表(Lookup Table)如二层MAC表(L2 MAC Table)、三层路由表(L3 FIB Table),ACL(Access Control Lists)表来定义。当从某个端口收到一个数据报文(Packet)或数据帧(Frame)时,转发引擎(Forwarding Engine)通过解析,查表,应用策略(如 QoS),最后,将报文或帧从另一个端口转出。这里只是给出非常粗略的描述,实际的情况要复杂很多,其实这也就是我们平常所说的网络的数据平面(Data Plane),对应于物理交换机的交换芯片的转发引擎的功能。当然,也可以看做SDN模式下,由Controller控制的数据转发设备(如OpenFlow交换机)。
从动态的角度来看,网络把数据流(Data Traffic)从一个和网络连接的主机(Host)送到另一个和网络连接的主机,这里,主机可以是物理服务器,也可以是虚拟计算机(Virtual Machine)。为此,事先要有一个定义好的地址空间,每个主机和网络节点都被分配(动态的或静态的)一个唯一标识自己的地址,如IP地址。这样,根据地址就能够识别出每个主机在网络中的位置,即接入网络的入口节点。两个主机要交换数据,首先要计算出他们之间的数据流的通路,上文把网络比作数据结构的图,这里的通路当然相当于图中的路径(Path)了,可表示为一个向量,其中的每个元素代表一个网络节点/顶点,两个相邻的网络节点/顶点之间有链路/边相连接,向量的头元素和尾元素分别与通信的主机相连。数据流透过这一通路,经过中间网络节点的中转,就从源主机到达目的主机。几乎所有的L3路由协议,无论是距离矢量(distance-vector)路由协议如BGP还是链路状态(link-state)路由协议如OSPF,顾名思义,都有一个简单的目标,就是计算并生成主机或子网之间的路由,即通路,并最终将具体的Route Entries安装到网络节点的FIB中。本质上,L2的网络也有自己的机制来计算通路,转发数据,如Ethernet交换机通过MAC地址学习(MAC Learning)来获取数据帧的Egress端口,从而将数据流转发到目的主机。上述的这一动态过程是由网络的控制平面(Control Plane)来管理的,网络操作员(Network Operator)通过控制平面配置L2/L3的路由和转发协议,达到数据在主机之间交换的目的。对应于交换机,控制平面就是运行在CPU之上的操作系统;而对于SDN的模式来说,控制平面是由Controller及上面的应用来实现的。更通俗地讲,在两个主机交换数据之前,网络的控制平面需要回答三个问题:第一,你是谁?(目的主机的地址是什么?);第二,你在哪里?(目的主机和网络的哪个节点连接?);第三,如何找到你?(到达目的主机的通路如何建立?)。
简单总结一下,网络有两部分构成:第一,由网络节点(datapath)作为顶点和网络链接作为边构成的静态的拓扑图;第二,由各种网络协议构成的动态的数据流路由转发机制。若是忘掉那些枯燥繁杂的各式各样的系统、设备、协议的配置细节,网络其实就是这点事儿,看起来并不复杂。虚拟网络作为逻辑意义上的网络,具备网络的所有组成要素,包括网络拓扑,如网络节点、链接、网络节点中的查询表等,相对于物理网络,这些只不过是虚拟的,逻辑的,软件实现的。同样地,虚拟网络也可以是L2网络或L3网络,分别使用不同的控制平面管理,因此也是可配置的。
sdn学习-1(概念:Underlay网络和Overlay网络)的更多相关文章
- 数据中心网络架构的问题与演进 — Overlay 网络
目录 文章目录 目录 前文列表 数据中心网络架构演进回顾 Overlay 网络 Overlay 网络的优势 基于 VxLAN Overlay 的 Spine-Leaf 网络架构 参考文章 前文列表 & ...
- Overlay网络与物理网络的关系
编者按:无论是云计算还是SDN都把注意力集中在数据中心网络的建设上,各种解决方案层出不穷,其中以VMware为代表的软件厂商提出Overlay网络方案后,为数据中心网络的发展提出了新的思路.那么Ove ...
- docker overlay网络实现
DOCKER的内置OVERLAY网络 内置跨主机的网络通信一直是Docker备受期待的功能,在1.9版本之前,社区中就已经有许多第三方的工具或方法尝试解决这个问题,例如Macvlan.Pipework ...
- 基于多租户的云计算Overlay网络
一 . 为什么需要Vxlan 1. vlan的数量限制 4096个vlan远不能满足大规模云计算数据中心的需求 2. 物理网络基础设施的限制 基于IP子网的区域划分限制了需要二层网络连通性的应用负载的 ...
- SDN学习
SDN & OpenFlow & Open vSwitch SDN SDN(软件定义网络)是一个概念.是一个思想.一个框架.是一种网络设计理念,它有三个特征 控制平面与转发平面分离 控 ...
- Overlay网络技术之vxvlan
了解云计算数据中心网络架构的过程中,看到这么一篇不错的关于大二层技术overlay的文章,转载分享给大家! 一. 传统网络面临的问题 随着企业业务的快速扩展需求,IT做为基础设施,快速部署和减少投入成 ...
- docker 跨主机网络:overlay 简介
简介 docker 在早前的时候没有考虑跨主机的容器通信,这个特性直到 docker 1.9 才出现.在此之前,如果希望位于不同主机的容器能够通信,一般有几种方法: 使用端口映射:直接把容器的服务端口 ...
- Docker 新网络 overlay 网络
Overlay网络是指在不改变现有网络基础设施的前提下,通过某种约定通信协议,把二层报文封装在IP报文之上的新的数据格式. 这样不但能够充分利用成熟的IP路由协议进程数据分发,而且在Overlay技术 ...
- SDN学习之RYU源码安装
近些天开始接触SDN,即软件定义网络的学习,由于是初学者,想通过写博客来分享自己对sdn学习中所使用的ryu以及mininet仿真软件. Mininet源码安装: 尽管网上对mininet的安装教程很 ...
随机推荐
- chrome浏览器模拟手机端:jquery click()点击无效解决方法
$(".sku-wrap .ok").click(); chrome浏览器模拟手机端,在油猴插件中写JS代码,然后发现click()点击失效. 解决方法:jquery的click( ...
- .NET SQLServer数据库转MySql
第一步:找到下图两个组件,卸载. 第二步:NuGet下载下图组件. 第三步:在连接数据库OnConfiguring方法处,做如下修改: protected override void OnConfig ...
- (04) springboot 下的springMVC和jsp和mybatis
1. springboot 和springmvc下的注解完全一样(新增了一些有用的) 常用的注解如下: @Controller @RestController= @Controller + @Resp ...
- There are multiple modules with names that only differ in casing. 黄色warning
There are multiple modules with names that only differ in casing.有多个模块同名仅大小写不同This can lead to unexp ...
- Nuget连接失败的问题
---恢复内容开始--- .net 项目开发管理中我们经常使用Nuget管理我们的类库.由于某些原因 nuget v3的镜像源https://api.nuget.org/v3/index.json 经 ...
- stackExchange.redis 实现模糊匹配批量查询
如果使用redis的频次较高,那么业务中经常会出现需要根据关键字进行批量查询,所以总结一下StackExchange中使用批量查询的方法(如果数据量很大,那么在redis中模糊查询很耗时,请慎用!) ...
- Unity中Terrain中刷出的树木模糊解决办法
Billboard Start 该项用于设定摄像机将树渲染为广告牌的距离.
- linux 虚拟机配置固定ip
参考这边博客: https://blog.csdn.net/u014466635/article/details/80284792 但是这个有个小问题,就是没有配置dns,导致连不上公网 /etc/s ...
- MOS管应用概述(四):基本参数
mos管的基本参数,大家熟悉的必然是Ids电流,Ron导通电阻,Vgs的阈值电压,Cgs.Cgd.Cds这几项,然而在高速应用中,开关速度这个指标比较重要.<ignore_js_op> 上 ...
- lintcode 程序题
1500802025 才仁代吉 第一链表类参数是整形链表,广度优先遍历: 队列是先进先出的概念 所以使用于保存节点 2插树的话 1个节点有个2个子节点 先将根节点入队,然后访问根节点数据(此时让根节点 ...