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的安装教程很 ...
随机推荐
- ElasticSearch改造研报查询实践
背景: 1,系统简介:通过人工解读研报然后获取并录入研报分类及摘要等信息,系统通过摘要等信息来获得该研报的URI 2,现有实现:老系统使用MSSQL存储摘要等信息,并将不同的关键字分解为不同字段来提供 ...
- FreeMaker入门介绍
一.FreeMaker介绍 FreeMarker是一款免费的Java模板引擎,是一种基于模板和数据生成文本(HMLT.电子邮件.配置文件.源代码等)的工具,它不是面向最终用户的,而是一款程序员使用的组 ...
- Vue2.0使用vue-cli脚手架搭建
一:安装node.js Node.js官网:https://nodejs.org/en/download/ 选择相应的版本即可安装 通过node自带的npm包管理工具 二.安装依赖 安装依赖:npm ...
- 记录下curl的使用方法
curl是一个可以在命令行中直接发起请求的工具,基础用法如下: curl localhost:6767/1.html //返回url对应的页面内容 curl localhost:6767/1.html ...
- springcloud-zuul路由网关
路由网关(zuul) 在微服务架构中,需要多个基础的服务治理组件,包括服务注册与发现.服务消费.负载均衡.断路器.智能 路由.配置管理等,由这个基础组件相互协作,共同组建了一个简单的微服务系统.一个简 ...
- 安全基线自动化扫描、生成报告、加固的实现(以Tomcat为例)
一.背景说明 当前在服务上线前,安全部门都会对服务基线配置进行把关,整个流程可以分为扫描.生成报告.修复三步. 在执行这一流程时当前普遍的做法是半自动化的,扫描和生成报告是自动化的,执行扫描.执行生成 ...
- 版本控制,django缓存,跨域问题解决
复习 分页: 1. 简单分页 2. 偏移分页 3. 加密分页 解析器:客户处理前端提交来的数据 urlencode: body体中的数据格式: key=value& formdata编码:为区 ...
- postman-SSL证书问题-支持HTTPS请求
使用Google接口调试插件postman请求https协议的接口,postman提示: 为此,需要解决这个问题,提示信息已经给出了解决方案!Using self-signed SSL certifi ...
- REST(Representational state transfer)的四个级别以及HATEOAS介绍
Rest RES(Representational state transfer):表现层状态转移.其实它省略了主语,「表现层」其实指的是「资源」的「表现层」,所以通俗来讲就是:资源在网络中以某种表现 ...
- linux 下mysql多实例安装
1.软件下载 https://dev.mysql.com/downloads/file/?id=479096 免编译二进制包 mysql-5.6.21-linux-glibc2.5-x86_64.ta ...