网络虚拟化之FlowVisor:网络虚拟层(上)
概念解释:切片:虚拟网络的一个实例
一. 网络虚拟化(虚拟网络)
人类社会的发展在很大方面得益于自然界,飞机受益于鸟,雷达受益于蝙蝠等等,所以专门有个学科为仿生学就是研究和模仿生物的特殊本质,利用生物的结构和功能原理来研制机械或各种新技术的科学技术。而人类社会已经发展了这么多年,沉淀了很多可以和自然界相媲美的创造和思想,计算机就是其中之一。所以,总结人类历史上成功的思想,伟大的创新,举一反三,也是科技进步的重要力量,这篇文章所提到的SDN和网络虚拟化等这些思想在计算机技术中早有应用。
与其说SDN是一种新的技术,不如称他为一种思想。首先对比下面两幅图片,左图为现在的计算机系统构架,右图的(b)图为SDN的系统构架,稍作对比可以发现两者有很大的相似性,也有些不同,比如网络是分布式系统,但是核心思想还是相同的,所以,计算机系统的优点,比如硬件管理简单,应用开发方便等等都可以在SDN中发现,这篇文章侧重于虚拟网络


计算机虚拟化的成功归结于底层硬件的抽象。更详细点说,计算机虚拟层通过硬件抽象允许资源被操作系统切片和共享,所以在用户看来,这些硬件都是归操作系统私有,一个定义好的硬件抽象会促进他的上层和下层快速的发展和革新,在更上层,操作系统百花齐放,常用的如UNIX,MacOD,Linux以及Windows,在这些操作系统上面可以跑各种各样的应用;在更下层,可以按需采购不同的硬件,如Intel,AMD,PPC,ARM等等,只要他可以映射到硬件抽象层,因此不同的硬件可以拥有不同的指令集,他们只需要注重性能优化等等,虚拟层的上下层会将这种灵活性进一步扩散,不同的人群可以DIY自己舒适的工作,学习,生活方式。
网络虚拟化一直是网络研究者追求的一个目标,有了它,多个拥有不同寻址和转发机制的逻辑独立的网络可以共享底层的物理设施(交换机,路由器,无线集线器等等),现在网络虚拟化的实现方式主要有两种:利用软件的灵活性和复制硬件组件。更通俗的来说,我觉得网络虚拟化至少有如下两个让程序员非常向往的好处:解放劳动力同时可以更好更充分的利用物理资源。
二. 现在和虚拟网络相关的技术
如今部署在网络中的相关策略并不是为了虚拟化而设计的,他们和计算机硬件抽象层也没有什么共同之处,虽然存在这一些技术可以划分特定的硬件资源(MPLS可以虚拟化转发表)和网络层(WDM划分物理层,VLANs划分链路层),但是没有一种技术可以网络虚拟化为一个整体,虚拟网络之间互相独立。可以预见性的说,在现在的网络里面实现虚拟化是不大可能的,因为商用交换机的设计都保留在设备厂商手里,他们只公布了一定的接口给网管去改变配置参数,我们能做的只是敲一些命令行。所以FlowVisor是基于OpenFlow交换机的。
三. 网络虚拟化所关注的主要资源
- 带宽:划分链路带宽给每个网络切片
- 拓扑:每个网络切片应该拥有自己的网络拓扑
- 流量:流量和虚拟网络关联
- 计算资源:划分交换机和路由的计算资源
- 转发表:网络设备支持一定数量的转发表
四. FlowVisor
FLowVisor为一个网络抽象层,包含了一种新的交换机层网络虚拟化技术,同一个硬件转发平面可以被多个逻辑网络共享。类似于计算机的虚拟层,FLowVisor位于底层硬件和上层软件之间,他的结构如下图所示。操作系统利用指令集控制底层硬件,FLowVisor利用的是前文提到的OpenFlow协议,有如下如特性:
- FLowVisor定义切片为由OpenFlow交换机组成的拓扑上的一组流
- FLowVisor位于每个OpenFlow控制器和OpenFlow交换机之间,确保每个控制器只能看到和控制他应该管理的OpenFlow交换机
- FLowVisor通过给组成切片的流一个最小的数据速率来划分带宽
- FLowVisor通过追踪流表项属于哪个控制器来划分交换机的流表

本文围绕着计算机系统的虚拟层和网络虚拟层的比较,做了大量的铺垫,引出了位于OpenFlow控制器和OpenFlow交换机之间的虚拟层FLowVisor,接下来的文章会详细介绍FLowVisor的技术。
网络虚拟化之FlowVisor:网络虚拟层(上)的更多相关文章
- 网络虚拟化之FlowVisor:网络虚拟层(下)
在前面两篇文章:网络虚拟化之FlowVisor:网络虚拟层(上)和网络虚拟化之FlowVisor:网络虚拟层(中)中分别介绍了FLowVisor的特性和实现,三连载的最后一篇介绍虚拟网络的隔离机制. ...
- 网络虚拟化之FlowVisor:网络虚拟层(中)
上一篇博客网络虚拟化之FlowVisor:网络虚拟层(上)主要对比了计算机虚拟化和网络虚拟化,引出了FLowVisor网络虚拟层,介绍了其一些特性,这篇博文深入讲解FLowVisor的技术. 一. 概 ...
- 删除Windows中隐藏的物理网卡和网络虚拟化失败后的虚拟网卡
Windows环境下,在更换硬件服务器主板和网卡等硬件.恢复操作系统或者网络虚拟化失败后,可能会出现网卡方面的问题.例如,设备管理器中多了不应该存在的网卡:因命名冲突无法重命名当前网络连接:IP地址冲 ...
- Windows Server 2016-Hyper-V网络虚拟化概述
在 Windows Server 2016 和虚拟机管理器中,Microsoft 提供的端到端网络虚拟化解决方案. 有构成了 Microsoft 的网络虚拟化解决方案的五个主要组件: Windows ...
- 《重构网络:SDN架构与实现》Chapter7 SDN与网络虚拟化 随笔
参考: <重构网络:SDN架构与实现>,作者:杨泽卫.李呈. Chapter7 SDN与网络虚拟化 结构 7.1 网络虚拟化 7.1.1 为什么需要网络虚拟化技术 7.1.2 网络虚拟化 ...
- 从SDN鼻祖Nicira到VMware NSX 网络虚拟化平台的简单探讨
以前的大二层技术,一般是在物理网络底层使用IS-IS路由技术,再在此基础之上,实现数据中心网络的二层扩展,如公有的Trill.SPB技术和Cisco私有的OTV.Fabricpath技术:前沿一些的网 ...
- Hyper-V 网络虚拟化技术细节
Hyper-V 网络虚拟化技术细节 适用对象:Windows Server 2012 R2 服务器虚拟化能让多个服务器实例在同一台物理主机上同步运行,但各个服务器实例都是相互独立的. 每台虚拟机的运作 ...
- 数据中心网络技术新贵:VXLAN与园区网络虚拟化
摘要:为了应对传统数据中心网络对服务器虚拟化技术的限制,VXLAN技术应运而生. 1 概述 传统数据中心网络面临的问题 虚拟机规模受设备表项规格限制 在传统二层网络中,交换机通过查询MAC地址表来转发 ...
- 网络虚拟化之linux虚拟网络基础
1 linux虚拟网络基础 1.1 Device 在linux里面devic(设备)与传统网络概念里的物理设备(如交换机.路由器)不同,Linux所说的设备,其背后指的是一个类似于数据结构.内核模块或 ...
随机推荐
- pandas数据处理基础——基础加减乘除的运算规则
上周公司对所有员工封闭培训了一个星期,期间没收手机,基本上博客的更新都停止了,尽管培训时间不长,但还是有些收获,不仅来自于培训讲师的,更多的是发现自己与别人的不足,一个优秀的人不仅仅是自己专业那块的精 ...
- document.documentElement.scrollTop
要获取当前页面的滚动条纵坐标位置, 用: document.documentElement.scrollTop; 而不是: document.body.scrollTop; doc ...
- Android USB转串口通信开发基本流程
好久没有写文章了,年前公司新开了一个项目,是和usb转串口通信相关的,需求是用安卓平板通过usb转接后与好几个外设进行通信.一直忙到近期,才慢慢闲下来,趁着这个周末不忙.记录下usb转串口通信开发的基 ...
- Windows Azure Platform 性能监视器(转载)
Windows操作系统提供了查看性能监视器的功能,用于监视CPU使用率.内存使用率,硬盘读写速度,网络速度等.您可以在开始-->运行-->输入Perfmon,就可以打开性能监视器. 我们知 ...
- MySQL索引长度限制问题
在修改表结构时出现了错误:Specified key was too long;max key length is 1000 bytes. MySQL版本为Server version: 5.1.36 ...
- Redis 5种数据类型,2种特殊数据处理策略
5种数据类型 String [html] view plaincopy 1.String 经常使用命令: 除了get.set.incr.decr mget等操作外,Redis还提供了下面一些操 ...
- CvSplit
/* possible split in the tree */ typedef struct CvSplit { CvTreeCascadeNode* parent; CvTreeCascadeNo ...
- C#元祖Tuple的事例
数组合并了同样类型的对象.而元祖合并了不同类型的对象.元祖起源于函数编程语言(F#) NET Framework定义了8个泛型Tuple(自NET4.0)和一个静态的Tuple类,他们作用元祖的工厂, ...
- C/C++ 错误笔记-解决swap函数与标准库的std::swap函数冲突的问题
下午写了一份代码: #include <iostream> using namespace std; // 模板1:交换基本类型的值 template<typename T> ...
- jsp中 自定义 tag的几种方式
在jsp文件中,可以引用tag和tld文件. 1.对于tag文件,使用tagdir引用(这个直接是引用的后缀tag文件的jsp文件) <%@ taglib prefix="ui&quo ...