History of SDN 1.3 - 1.4

课程地址

Network Virtualization

网络可虚拟化,可以说是SDN的一项核心内容,同样也源自很多先前的技术和思想。我们先讨论何为网络虚拟化,然后我们会追溯其历史,探索其在近十年来为网络实验提供的支持、以及带来的一些新概念。最后,讲一下网络虚拟化与SDN的联系。

What is Network Virtualization?

wiki - In computing, network virtualization or network virtualisation (see spelling differences) is the process of combining hardware and software network resources and network functionality into a single, software-based administrative entity, a virtual network. Network virtualization involves platform virtualization, often combined with resource virtualization.

老师下的定义:

Representation of one or more logical network topologies on the same underlying infrastructure.

网络虚拟化就是表示在相同的基础设施上集合了一个或多个逻辑网络拓扑结构。

Benefits of Network Virtualization

  • Sharing

    • Multiple logical routers on single platform.
    • Resource isolation in CPU, memory, bandwith, forwarding tables...

运用网络虚拟化的思想,可以在单一的平台,或者物理结点上搭建多个逻辑路由器的实例。也可以以某一个网络为基础设施,在其之上建立多个虚拟网络。可以方便信息的分享,同时带来了对资源的独立性的要求,例如CPU、内存、带宽等等。

  • Customizability

    • Customizable routing and forwarding softwares.
    • General-purpose CPUs for the control node.
    • Network processors and FGPAs for data plane.

除了方便信息分享,网络虚拟化为用户带来了自定义功能的前景。从本质上讲,虚拟化网络的用户可以对他们自己的逻辑网络、网络拓扑可以有很清晰的观察(view),而且是不受其他用户的逻辑网络干扰的,即使它们运行在同一个物理基础设施上面。能够很清楚地了解自己的独立的逻辑网络,允许用户运行自定义的路由、传输数据的业务,并且是在自己的那一部分网络上,并不影响虚拟网络中的其他用户。

下面是一个固定的网络基础设施。有许多的使用者想使用这些基础设施来搭建网络,他们中的每一方有可能想去访问不同的网络资源,也有可能想建立任意数量的网络拓扑结构,而这一切都是在共享共同的基础设施之上的。这里可以运用网络虚拟化的思想,让想使用这些基础设施的一方拥有一种能力:拥有自己一方的网络拓扑结构的清晰视野,而每一方的服务都能独立运行,不会受对方干扰,也不会打扰对方。

Three Examples of Network Virtualization

  • Tempest:Switchlets(1998)

    • Seperation of control framework from switches.
    • Virtualization of the switch.

上世纪九十年代末有一个框架叫做 Tempest ,它也有提出从底层交换机中将控制模块分离出来的思想,同时又有虚拟化交换机硬件的能力。

在这个架构的底部配置了一台交换机,管控资源。在它的上面有一个开放的控制接口,可以为其上方的软件提供资源。这种控制接口的思想有点儿像 OpenFlow。这种思想的动机是为了让多个控制架构在一个网络结构上运行。Divider 将多个 Switchlets controllers 和底部设施分离,允许每个 controller 都拥有各自的视野。

  • VINI:A Virtual Network Infrastructure(2006)

VINI,是一种网络基础设施的虚拟化版本。它的动机是想让研究人员在其各自的网络上做实验,这些网络分享同一个基础设施。

网络虚拟化是一座桥梁,它将研究人员做的小范围研究和模拟,与实际的运用与配置联系起来。一般来说,小范围的研究成果是可以重复实现的,但与实际运用有差别。如果实际运用跑起来了,那不一定要求可重复实现,但会遇到一些很实际的问题。我们可以运用网络虚拟化的思想来弥补这其中的空缺。

  • Cabo:Separate infrastructure, services(2007)

Cabo(Concurrent Architectures are Better than One) 提供了一种思路:允许服务提供商和基础设施提供商互相独立地工作,这样方便引入新的服务,为创新加速。基础设施提供商,负责提供硬件并维护;服务提供商,为用户提供各种点对点服务。他们可以互相独立地工作。

Summary

网络虚拟化将原本绑定在一起的逻辑网络和基础设施分离开来,允许提供商和用户对自己的网络有很清晰的视野,允许多个参与方共享同一网络基础设施。网络虚拟化有着丰富的历史,为SDN提供了很丰富的思想。例如分离服务和基础设施、单个交换机和多个控制器的组合,等等。

Software Defined Networking(Week 2, part 2)的更多相关文章

  1. Software Defined Networking(Week 1)

    前言 课程名称:软件定义网络 课程地址 Coursera上新的一期还没开课,所以是YouTube. Instructor:Nick Feamster Get Started 对于本次课程,主要的新内容 ...

  2. Software Defined Networking For Dummies, Cisco Special Edition

    从接触SDN开始,不论是硬件还是软件,一直都是从具体的点开始,慢慢的勾勒出自己认为的SDN的样子,相信读完这本思科出的关于SDN的书会对其有新的认识 这本书的名字就是Software Defined ...

  3. Improving Network Management with Software Defined Networking

    Name of article:Improving Network Management with  Software Defined Networking Origin of the article ...

  4. Method of Seamless Integration and Independent Evolution of Information-Centric Networking via Software Defined Networking

    A method of transferring data between a software defined network (SDN) and an information-centric ne ...

  5. Software Defined Networking(Week 2, part 1)

    History of SDN 1.1 - 1.2 本节讨论从上世纪八十年代时到现在为止出现的SDN的思想和发展历史.了解历史,可以明白技术后面的成因以及一些原则,并从架构上去大致掌握.了解一些主旨. ...

  6. A Survey of Machine Learning Techniques Applied to Software Defined Networking (SDN): Research Issues and Challenges

    将机器学习用到SDN中的综述:研究的问题和挑战 从流量分类.路由优化.服务质量(Qos)/体验质量(QoE)预测.资源管理和安全性的角度,回顾了机器学习算法如何应用于SDN领域. 相关知识 在SDN中 ...

  7. Software Defined Networking(Week 3, part 1)

    Control and Data Plane Seperation 课程地址 Overview 今天正式地学习一个控制与数据平面分离.学习完本节,应该要掌握何为控制和数据平面,了解它们的功能以及好处, ...

  8. Software Defined Networking(Week 2, part 3)

    Control of Packet-switch Network 我们已经讨论过中心控制网络的原理,但主要是以电话网络做模型的.现在我们来看看对于分组交换网络的控制是如何改进的. Why Separa ...

  9. RFIDler - An open source Software Defined RFID Reader/Writer/Emulator

    https://www.kickstarter.com/projects/1708444109/rfidler-a-software-defined-rfid-reader-writer-emul h ...

随机推荐

  1. 用CBrother将excel中的数据转换为C语言头文件

    用CBrother将excel中的数据转换为C语言头文件 最近在工作中,产品这边总是要调整一些参数,而我们在这一块要求所有的配置必须用宏定义来做,因为不同型号直接硬编码写死在代码里,但是一但数量大了, ...

  2. Android初学-AsyncTask下载网络图片

    AsyncTask 异步处理: mainfest: 注意添加的: -------------------- <uses-permission android:name="android ...

  3. 使用开源软件 enfuse 做照片的曝光合成

    使用开源软件 enfuse 做照片的曝光合成 所谓曝光合成就是对同一场景用不同的曝光量拍摄多张照片,然后将这些照片再合成为一张照片.之所以我们要这么做是因为现在的相机感光的动态范围相比人眼实在是太小了 ...

  4. nginx 配置 ssl 双向证书

    CA 根证书制作 # 创建 CA 私钥 openssl genrsa -out ca.key 2048 #制作 CA 根证书(公钥) openssl req -new -x509 -days 3650 ...

  5. 树莓派修改VNC分辨率

    1.打开终端输入 sudo raspi-config 2. 选择 Advanced Options  再选择 Resolution 3.选择想要的分辨率,确定 4.重启

  6. rest的Web服务端获取http请求头字段

    如上图所示 输出的i就是获取的头字段的值 (仅自己记录)

  7. Jmeter接口测试(七)用例数据分离

    之前我们的用例数据都是配置在 Jmeter Http 请求中,每次需要增加,修改用例都需要打开 jmeter 重新编辑,当用例越来越多的时候,用例维护起来就越来越麻烦,有没有好的方法来解决这种情况呢? ...

  8. python描述符详解

    1描述符: 描述符是指将某种特殊类型的类的实例支配给另外一个类的属性. 对于特殊类型必须实现以下三个方法中至少一个方法:    def __get__(self,instance,owner): -用 ...

  9. CentOS7上部署ASP.Net Core 2.2应用

    前言 在CentOS7上部署ASP.Net Core应用是我的技术路线验证的一部分,下一个产品计划采用ASP.Net Boilerplate Framework开发.因此需要求提前进行一下技术验证,在 ...

  10. Oracle执行SQL查询语句的步骤

    Oracle执行SQL查询语句的步骤 如果用户在SQL*Plus下输入了如下查询语句:SELECT * FROM dept: 查询语句的处理主要包括三个过程:编译(parse).执行(execute) ...