概念解释:切片:虚拟网络的一个实例

一. 网络虚拟化(虚拟网络)

人类社会的发展在很大方面得益于自然界,飞机受益于鸟,雷达受益于蝙蝠等等,所以专门有个学科为仿生学就是研究和模仿生物的特殊本质,利用生物的结构和功能原理来研制机械或各种新技术的科学技术。而人类社会已经发展了这么多年,沉淀了很多可以和自然界相媲美的创造和思想,计算机就是其中之一。所以,总结人类历史上成功的思想,伟大的创新,举一反三,也是科技进步的重要力量,这篇文章所提到的SDN和网络虚拟化等这些思想在计算机技术中早有应用。

与其说SDN是一种新的技术,不如称他为一种思想。首先对比下面两幅图片,左图为现在的计算机系统构架,右图的(b)图为SDN的系统构架,稍作对比可以发现两者有很大的相似性,也有些不同,比如网络是分布式系统,但是核心思想还是相同的,所以,计算机系统的优点,比如硬件管理简单,应用开发方便等等都可以在SDN中发现,这篇文章侧重于虚拟网络

计算机虚拟化的成功归结于底层硬件的抽象。更详细点说,计算机虚拟层通过硬件抽象允许资源被操作系统切片和共享,所以在用户看来,这些硬件都是归操作系统私有,一个定义好的硬件抽象会促进他的上层和下层快速的发展和革新,在更上层,操作系统百花齐放,常用的如UNIX,MacOD,Linux以及Windows,在这些操作系统上面可以跑各种各样的应用;在更下层,可以按需采购不同的硬件,如Intel,AMD,PPC,ARM等等,只要他可以映射到硬件抽象层,因此不同的硬件可以拥有不同的指令集,他们只需要注重性能优化等等,虚拟层的上下层会将这种灵活性进一步扩散,不同的人群可以DIY自己舒适的工作,学习,生活方式。

网络虚拟化一直是网络研究者追求的一个目标,有了它,多个拥有不同寻址和转发机制的逻辑独立的网络可以共享底层的物理设施(交换机,路由器,无线集线器等等),现在网络虚拟化的实现方式主要有两种:利用软件的灵活性和复制硬件组件。更通俗的来说,我觉得网络虚拟化至少有如下两个让程序员非常向往的好处:解放劳动力同时可以更好更充分的利用物理资源。

二. 现在和虚拟网络相关的技术

如今部署在网络中的相关策略并不是为了虚拟化而设计的,他们和计算机硬件抽象层也没有什么共同之处,虽然存在这一些技术可以划分特定的硬件资源(MPLS可以虚拟化转发表)和网络层(WDM划分物理层,VLANs划分链路层),但是没有一种技术可以网络虚拟化为一个整体,虚拟网络之间互相独立。可以预见性的说,在现在的网络里面实现虚拟化是不大可能的,因为商用交换机的设计都保留在设备厂商手里,他们只公布了一定的接口给网管去改变配置参数,我们能做的只是敲一些命令行。所以FlowVisor是基于OpenFlow交换机的。

三. 网络虚拟化所关注的主要资源

  1. 带宽:划分链路带宽给每个网络切片
  2. 拓扑:每个网络切片应该拥有自己的网络拓扑
  3. 流量:流量和虚拟网络关联
  4. 计算资源:划分交换机和路由的计算资源
  5. 转发表:网络设备支持一定数量的转发表

四. FlowVisor

FLowVisor为一个网络抽象层,包含了一种新的交换机层网络虚拟化技术,同一个硬件转发平面可以被多个逻辑网络共享。类似于计算机的虚拟层,FLowVisor位于底层硬件和上层软件之间,他的结构如下图所示。操作系统利用指令集控制底层硬件,FLowVisor利用的是前文提到的OpenFlow协议,有如下如特性:

  • FLowVisor定义切片为由OpenFlow交换机组成的拓扑上的一组流
  • FLowVisor位于每个OpenFlow控制器和OpenFlow交换机之间,确保每个控制器只能看到和控制他应该管理的OpenFlow交换机
  • FLowVisor通过给组成切片的流一个最小的数据速率来划分带宽
  • FLowVisor通过追踪流表项属于哪个控制器来划分交换机的流表

本文围绕着计算机系统的虚拟层和网络虚拟层的比较,做了大量的铺垫,引出了位于OpenFlow控制器和OpenFlow交换机之间的虚拟层FLowVisor,接下来的文章会详细介绍FLowVisor的技术。

网络虚拟化之FlowVisor:网络虚拟层(上)的更多相关文章

  1. 网络虚拟化之FlowVisor:网络虚拟层(下)

    在前面两篇文章:网络虚拟化之FlowVisor:网络虚拟层(上)和网络虚拟化之FlowVisor:网络虚拟层(中)中分别介绍了FLowVisor的特性和实现,三连载的最后一篇介绍虚拟网络的隔离机制. ...

  2. 网络虚拟化之FlowVisor:网络虚拟层(中)

    上一篇博客网络虚拟化之FlowVisor:网络虚拟层(上)主要对比了计算机虚拟化和网络虚拟化,引出了FLowVisor网络虚拟层,介绍了其一些特性,这篇博文深入讲解FLowVisor的技术. 一. 概 ...

  3. 删除Windows中隐藏的物理网卡和网络虚拟化失败后的虚拟网卡

    Windows环境下,在更换硬件服务器主板和网卡等硬件.恢复操作系统或者网络虚拟化失败后,可能会出现网卡方面的问题.例如,设备管理器中多了不应该存在的网卡:因命名冲突无法重命名当前网络连接:IP地址冲 ...

  4. Windows Server 2016-Hyper-V网络虚拟化概述

    在 Windows Server 2016 和虚拟机管理器中,Microsoft 提供的端到端网络虚拟化解决方案. 有构成了 Microsoft 的网络虚拟化解决方案的五个主要组件: Windows ...

  5. 《重构网络:SDN架构与实现》Chapter7 SDN与网络虚拟化 随笔

    参考: <重构网络:SDN架构与实现>,作者:杨泽卫.李呈. Chapter7 SDN与网络虚拟化 结构 7.1 网络虚拟化 7.1.1 为什么需要网络虚拟化技术 7.1.2 网络虚拟化 ...

  6. 从SDN鼻祖Nicira到VMware NSX 网络虚拟化平台的简单探讨

    以前的大二层技术,一般是在物理网络底层使用IS-IS路由技术,再在此基础之上,实现数据中心网络的二层扩展,如公有的Trill.SPB技术和Cisco私有的OTV.Fabricpath技术:前沿一些的网 ...

  7. Hyper-V 网络虚拟化技术细节

    Hyper-V 网络虚拟化技术细节 适用对象:Windows Server 2012 R2 服务器虚拟化能让多个服务器实例在同一台物理主机上同步运行,但各个服务器实例都是相互独立的. 每台虚拟机的运作 ...

  8. 数据中心网络技术新贵:VXLAN与园区网络虚拟化

    摘要:为了应对传统数据中心网络对服务器虚拟化技术的限制,VXLAN技术应运而生. 1 概述 传统数据中心网络面临的问题 虚拟机规模受设备表项规格限制 在传统二层网络中,交换机通过查询MAC地址表来转发 ...

  9. 网络虚拟化之linux虚拟网络基础

    1 linux虚拟网络基础 1.1 Device 在linux里面devic(设备)与传统网络概念里的物理设备(如交换机.路由器)不同,Linux所说的设备,其背后指的是一个类似于数据结构.内核模块或 ...

随机推荐

  1. jenkins部署前端node项目实例

    Jenkins 分发文件用到rsync命令   在 /etc/passwd中 修改 jenkins 为 /bin/bash jenkins:x:494:494:Jenkins Automation S ...

  2. mongodb - mongostat说明

    # ./mongostat insert query update delete getmore command % dirty % used flushes vsize res qr|qw ar|a ...

  3. PyCharm设置python新建文件指定编码为utf-8

    PyCharm新建文件时可以在模板中添加编码字符集为utf-8,新建文件可自动添加了

  4. jquery.cookie中的操作之与换肤

    jquery.cookie.js的插件,插件的源代码如下: /** * Cookie plugin * * Copyright (c) 2006 Klaus Hartl (stilbuero.de) ...

  5. Memcache应用场景介绍,说明[zz]

    转于:http://www.cnblogs.com/literoad/archive/2012/12/23/2830178.html 面临的问题 对于高并发高访问的 Web应用程序来说,数据库存取瓶颈 ...

  6. Unity编辑器下获取动画的根运动状态并修改

    我最初想直接修改.anim文件 但通过后来得到的信息,其实根运动状态储存在FBX.meta文件里,转出的.anim文件虽然也有根运动的信息但是算是塌陷过的,无法进行开关操作. 这是我针对有根运动.an ...

  7. 多线程-BlockingQueue,Array[Linked]BlockingQueue,DelayQueue,PriorityBlockingQueue,SynchronousQueue

    阻塞场景 BlockingQueue阻塞队列,阻塞的情况主要有如下2种: 1. 当队列满了,进行入队操作阻塞 2. 当队列空了,进行出队操作阻塞 阻塞队列主要用在生产者/消费者模式中,下图展示了一个线 ...

  8. atitit.atiOrm.js v2 q61 版本新特性.docx

    atitit.atiOrm.js v2 q61 版本新特性.docx 1. V1新特性如下1 1.1. V2规划,直接生成sql在js端1 2. Orm设计框架图1 2.1. atiOrm.js的原理 ...

  9. 0045 Spring中使用DataSourceTransactionManager进行事务管理的xml配置

    在一个业务的实现过程中,可能需要多条sql完成对数据库的操作,比如账户登录,需要匹配用户名和密码,然后要增加积分,还要记录登录的ip和时间,这可能需要三个sql语句,这三个语句应当是一个整体,任意一个 ...

  10. linux学习笔记29---命令watch

    watch是一个非常实用的命令,基本所有的Linux发行版都带有这个小工具,如同名字一样,watch可以帮你监测一个命令的运行结果,省得你一遍遍的手动运行.在Linux下,watch是周期性的执行下个 ...