《重构网络:SDN架构与实现》Chapter7 SDN与网络虚拟化 随笔
参考:
《重构网络:SDN架构与实现》,作者:杨泽卫、李呈。
Chapter7 SDN与网络虚拟化
结构
7.1 网络虚拟化
- 7.1.1 为什么需要网络虚拟化技术
- 7.1.2 网络虚拟化
7.2 SDN与网络虚拟化
- 7.2.1 SDN与网络虚拟化
- 7.2.2 SDN实现网络虚拟化
7.3 网络虚拟化产品
- 7.3.1 开源产品
- 7.3.2 商业产品
7.4 未来研究方向
7.5 本章小结
7.1 网络虚拟化
1. 为什么需要网络虚拟化技术?
目的:将物理资源虚拟化成虚拟资源,从而实现动态、按需、弹性的资源分配,既能满足需求,又不浪费资源。
优势:
- 资源共享:减少资源浪费、提高资源利用率;
- 资源隔离:防止用户的虚拟网络之间相互影响;
- 资源聚合:形成一个虚拟的大型资源池,实现资源聚合,将资源能力最大化;
- 动态分配:在DC场景中,虚拟机动态迁移对于负载均衡来说非常重要;虚拟化技术支持资源动态分配的需求,可以很好满足DC对于资源和策略动态分配的需求;
- 降低管理难度:相比于物理资源,虚拟资源更容易管理。
2.物理虚拟化
网络虚拟化Network Virtualization可以归类为External Virtualization和Internal Virtualization:
- External Virtualization范畴中的网络虚拟化主要表现为网络“一虚多”和“多虚一”;
- Internal Virtualization范畴中的网络虚拟化指的是同一个服务器/主机上的多个虚拟机提供网络功能,向内提供虚拟资源。
p1.网卡虚拟化:物理网卡到虚拟网卡的映射;代表有VMware虚拟化技术和XEN虚拟化技术。
p2.链路虚拟化:主要分为三类,(1)物理信道复用:在同一个物理信道上创建出多个子链路;(2)带宽虚拟化:把多个子信道聚合为一个更大的虚拟子信道,提供更多的带宽;(3)数据路径虚拟化:通过数据本身划分虚拟链路,比如打Tag(VLAN),打Tunnels(GRE, IPsec, VxLAN)。
p3.交换机虚拟化:每台服务器有多台虚拟机,虚拟交换机负责将虚拟机数据正确转发到网络。代表有OpenvSwitch(VMware),VPP(Cisco)。新的挑战:由于ToR交换机接收的是混合流量,如何区分虚拟机流量,将网络策略部署到虚拟交换机(解决方法:虚拟机流量标识)。
p4.网络虚拟化:Overlay网络、VPN网络、VSN(Virtual Share Network)网络。
(1)Overlay网络是在现有底层网络基础之上的虚拟网络,底层网络称为Underlay网络,上层网络称为Overlay网络。基于VxLAN等隧道技术,强调物理网络上架设虚拟网络。
(2)VPN是NV的一种表现形式,它是一种架设在基础网络之上的加密通道,强调虚拟私有网络之间的连接:
私有网络1 <-> VPN承载网络 <-> 私有网络2
(3)VSN是虚拟共享网络,强调不同的虚拟网络共享同一片网络资源。
(4)三者区别:Overlay强调在底层网络上创建与底层物理网络分离的虚拟上层网络;VPN强调与公网数据的隔离,私网之间的连接;VSN强调多个虚拟网络共享资源。
7.2 SDN与网络虚拟化
1.SDN与网络虚拟化
SDN不等于NV:SDN是一种集中控制的架构,而网络虚拟化是一种网络技术,可以在物理拓扑结构上创建虚拟网络。
传统网络虚拟化需要手动逐条配置(如VLAN),效率低成本高,在现如今的DC场景下,为了实现快速灵活部署和动态调整,必须使用自动化的部署方案。
SDN的出现为NV带来了新的解决方案,通过转控分离集中全网控制,实现了自动化业务的部署,显著缩短了业务的部署时间。
2.SDN实现网络虚拟化
(1)网络虚拟化平台:在控制平面和数据平面之间的代理,实现虚拟网络的创建和管理,一虚多以及多虚一。
(2)网络资源虚拟化:包括拓扑虚拟化、节点虚拟化和链路资源虚拟化。
- 拓扑虚拟化:虚拟节点、链路 与 物理节点、链路 之间的映射;
- 节点资源虚拟化:节点的流表、CPU等资源的虚拟化,实现细粒度网络虚拟化;
- 链路资源虚拟化:交换机带宽、端口的队列等资源
(3)网络隔离:包括控制平面隔离 - 租户控制器之间互不影响,和数据平面隔离 - 节点的CPU、流表及链路带宽等资源。
(4)地址隔离:保证租户可使用任意的地址空间,实现地址隔离,主要是通过地址映射完成。在物理网络中,通过不同的物理地址,实现了地址的隔离。
tenant host1 <=> pkt(with phyIP) <=> ingress sw <=> pkt(with virIP) <=> ... <=> egress sw <=> pkt(with phyIP) <=> tenant host2
7.3 网络虚拟化产品
1.开源产品:
- FlowVisor
- OpenVirteX
- VTN(OpenDayLight)
2.商业产品:
- NSX(VMware)
- ACI(Cisco)
7.4 未来研究方向
- 1.性能提升
- 2.安全与隐私
- 3.架构设计
- 4.资源发现、虚拟化和调度
2017.8
《重构网络:SDN架构与实现》Chapter7 SDN与网络虚拟化 随笔的更多相关文章
- 《重构网络-SDN架构与实现》阅读随笔
<重构网络-SDN架构与实现>: SDNLAB <重构网络-SDN架构与实现>新书有奖试读活动 资源下载 随笔 有幸拜读了李呈前辈和杨泽卫杨老师的作品<重构网络-SDN架 ...
- SDN理解:云数据中心底层网络架构
目录 - 目录 - 云数据中心流量类型 - NSX整体网络结构 - 管理网络(API网络) - 租户网络 - 外联网络 - 存储网络 - openstack整体网络结构 - 管理网络:(上图中蓝线) ...
- 云计算和大数据时代网络技术揭秘(十二)自定义网络SDN
软件定义网络——SDN SDN是网络技术热点,即软件定义网络,OpenFlow是实现SDN思想的一个框架标准, open是指公开.开放,具体为控制平面的规则由各个通信厂家自定义变为公开的技术标准, f ...
- sdn学习-1(概念:Underlay网络和Overlay网络)
随着云计算.大数据.移动互联网等新技术的普及,部署大量虚拟机成为一种必然趋势.解决这些虚拟机迁移问题理想的方案是在传统单层网络(Underlay)基础上叠加(Overlay)一层逻辑网络,将网络分成两 ...
- 浅谈SDN架构下的运维工作
导读 目前国内的网络运维还处于初级阶段,工作人员每天就像救火一样,天天疲于奔命.运维人员只能埋头查找系统运行的日志,耗时耗力,老眼昏花不说,有时候忙了半天还一无所获,作为运维工程师的你,有木有遇到过类 ...
- QQ和微信凶猛成长的背后:腾讯网络基础架构的这些年
本文来自腾讯资深架构师杨志华的分享. 1.前言 也许没有多少人记得2004年发生的事情.但对于老腾讯来说,14年前的那个日子,2004年6月16日永远难以忘怀.这一天,QQ诞生5年后的腾讯在香港联交所 ...
- 数据中心网络架构的问题与演进 — CLOS 网络与 Fat-Tree、Spine-Leaf 架构
目录 文章目录 目录 前文列表 CLOS Networking Switch Fabric 胖树(Fat-Tree)型网络架构 Fat-Tree 拓扑示例 Fat-Tree 的缺陷 叶脊(Spine- ...
- PrismCDN 网络的架构解析,以及低延迟、低成本的奥秘
5 月 19.20 日,行业精英齐聚的 WebRTCon 2018 在上海举办.又拍云 PrismCDN 项目负责人凌建发在大会做了<又拍云低延时的 WebP2P 直播实践>的精彩分享. ...
- 数据中心网络架构的问题与演进 — Overlay 网络
目录 文章目录 目录 前文列表 数据中心网络架构演进回顾 Overlay 网络 Overlay 网络的优势 基于 VxLAN Overlay 的 Spine-Leaf 网络架构 参考文章 前文列表 & ...
随机推荐
- BUG笔记:Android原生浏览器不认负百分数margin致Foundation Orbit往右滑动动画出错
一看这标题就知道无比蛋疼了是不?至少我从来不用安卓自带的浏览器... 发现这个bug的场景:万恶的Foundation,它的滚动图片插件Orbit在安卓自带浏览器下手指从左往右滑动时动画仍旧表现为从右 ...
- mysql 内置功能 存储过程介绍
存储过程介绍 就是mysql内置功能把逻辑写好 的功能给封装好,封装成一个接口名,把接口名丢给应用程序,应用程序直接调用接口名实现一系列增删改查功能 这个接口叫存储过程 基于存储过程封装成一个功能 存 ...
- SQLServer和MySQL job和 event定时器的差别
SQLServer和MySQL job和 event定时器的差别
- 对innodb_flush_log_at_commit参数的写日志和刷盘行为进行图解
对innodb_flush_log_at_commit参数的写日志和刷盘行为进行图解
- layer,一个可以让你想到即可做到的javascript弹窗(层)解决方案
学习网址:http://layer.layui.com/ 下载地址:http://res.layui.com/download/layer-v2.1.zip 我们提到的基础参数主要指调用方法时用到的配 ...
- [py]flask从0到1-模板/增删改查
flask知识点 1.后端渲染html到前端 render_template 2.后端获取前端数据 request.args.get 3.前端获取后端数据 模板 4.警示消息 flash {{ get ...
- categoriy 重写函数会怎样?
From comp.lang.objective-C FAQ listing: "What if multiple categories implement the same method? ...
- CloudFlare防护下的破绽:寻找真实IP的几条途径
本文仅代表作者独立观点,本文提及的技术仅供安全研究和渗透测试用途 看Twitter发现CloudFlare总裁什么的最近很高调,北京.香港的跑着参加会议.发表演说什么的,CloudFlare似乎也没那 ...
- c++多个文件中如何共用一个全局变量
例子: 头文件:state.h 源文件:state.cpp 其它源文件:t1.cpp t2.cpp t3.cpp, 这些源文件都包含头文件state.h. 需要定义一个全局变量供这些源文件中使 ...
- 007-配置IP和DNS
2.配置DNS. 3.