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