zoukankan      html  css  js  c++  java
  • 【2019.11.27】SDN课程阅读作业(2)

    过去20年中可编程网络的发展可以分为几个阶段?每个阶段的贡献是什么?

    Making computer networks more programmable enables innovation in network management and lowers the barrier to deploying new services. In this section, we review early work on programmable networks. We divide the history into three stages, as shown in Figure 1.
    Each stage has its own contributions to the history:
    (1) active networks (from the mid-1990s to the early 2000s),which introduced programmable functions in the network to enable greater to innovation;
    (2) control and data plane
    separation (from around 2001 to 2007), which developed open interfaces between the control and data planes;
    (3) the OpenFlow API and network operating systems (from 2007 to around 2010), which represented the first instance of widespread adoption of an open interface and developed ways to make control-data plane separation scalable and practical.
    Network virtualization played an important role throughout the historical evolution of SDN, substantially predating SDN yet taking root as one of the first significant use cases for SDN. We discuss network virtualization and its relationship to SDN in Section 3.

    使计算机网络更具可编程性有助于网络管理的创新,并降低部署新服务的障碍。在本节中将回顾可编程网络的早期工作。我们将历史分为三个阶段,如上图所示。

    每个阶段对历史都有自己的贡献:

    (1)主动网络(从20世纪90年代中期到21世纪初),它在网络中引入了可编程功能,以实现更大程度的创新;

    (2)控制和数据平面

    分离(2001年至2007年),开发了控制平面和数据平面之间的开放接口;

    (3)OpenFlow API和网络操作系统(2007年至2010年左右),代表了广泛采用开放接口的第一个实例,并开发了使控制数据平面分离可扩展和实用的方法。

    网络虚拟化在SDN的历史演进过程中扮演着重要的角色,它在SDN出现之前就已经有了实质性的发展,但作为SDN最早的重要用例之一,网络虚拟化已经扎根于SDN之上。

    网络虚拟化与SDN的关系:

    Relationship of Network Virtualization to SDN.
    Network virtualization (an abstraction of the physical network in terms of a logical network) clearly does not require SDN. Similarly, SDN (the separation of a logically centralized control plane from the underlying data plane)
    does not imply network virtualization. Interestingly, however, a symbiosis between network virtualization and SDN has emerged, which has begun to catalyze several new research areas. SDN and network virtualization relate in
    three main ways:

    • SDN as an enabling technology for network virtualization. Cloud computing brought network virtualization to prominence, because cloud providers need a way to allow multiple customers (or “tenants”) to share the same network infrastructure. Nicira’s Network Virtualization Platform (NVP) offers this abstraction without requiring any support from the underlying networking hardware. The solution is use overlay networking to provide each tenant with the abstraction of a single switch connecting all of its virtual machines. Yet, in contrast to previous work on overlay networks, each overlay node is a actually an extension of the physical network—a software switch that encapsulates traffic destined to virtual machines running on other servers. A logically centralized controller installs
      the rules in these virtual switches to control how packets are encapsulated, and updates these rules when virtual machines move to new locations.
    • Network virtualization for evaluating and testing SDNs.The ability to decouple an SDN control application from the underlying data plane makes it possible to test and evaluate SDN control applications in a virtual environment before the application is deployed on an operational network. Mininet uses process-based virtualization to run multiple virtual OpenFlow switches,end hosts, and SDN controllers—each as a single process on the same physical (or virtual) machine. The use of process-based virtualization allows Mininet to emulate a network with hundreds of hosts and switches on a single machine. In such an environment, a researcher or network operator can develop control logic and easily test it on a full-scale emulation of the production data plane; once the control plane has been evaluated, tested, and debugged, it can then be deployed on the real production network.
    • Virtualizing (“slicing”) an SDN. In conventional networks, virtualizing a router or switch is complicated,because each virtual component needs to run own instance of control-plane software. In contrast, virtualizing a “dumb” SDN switch is much simpler. The FlowVisor system enables a campus to support a testbed for networking research on top of the same physical equipment that carries the production traffic. The main idea is to divide traffic flow space into “slices” (a concept introduced in earlier work on PlanetLab ), where each slice has a share of network resources and is managed by a different SDN controller. FlowVisor runs as a hypervisor, speaking OpenFlow to each of the SDN controllers and to the underlying switches. Recent work has proposed slicing control of home networks, to allow different third-party service providers (e.g., smart grid operators) to deploy services on the network without having to install their own infrastructure [89]. More recent work proposes ways to present each “slice” of a software-defined network with its own logical topology and address space.

    网络虚拟化(从逻辑网络的角度对物理网络进行抽象)显然不需要SDN。类似地,SDN(逻辑集中控制平面与底层数据平面的分离)

    并不意味着网络虚拟化。然而,有趣的是,网络虚拟化和SDN之间的共生关系已经出现,这已经开始催化几个新的研究领域。SDN和网络虚拟化

    三种主要方式:

    • SDN作为网络虚拟化的一种支持技术。云计算使网络虚拟化变得突出,因为云提供商需要一种方式,允许多个客户(或“租户”)共享同一网络基础设施。Nicira的网络虚拟化平台(Network Virtualization Platform,NVP)提供了这种抽象,而不需要底层网络硬件的任何支持。解决方案是使用覆盖网络为每个租户提供连接其所有虚拟机的单个交换机的抽象。然而,与先前在覆盖网络上的工作不同,每个覆盖节点实际上是物理网络的一个扩展——一个软件交换机,它封装了发送到其他服务器上运行的虚拟机的流量。逻辑集中式控制器安装这些虚拟交换机中的规则控制数据包的封装方式,并在虚拟机移动到新位置时更新这些规则。
    • 用于评估和测试SDN的网络虚拟化。将SDN控制应用程序与底层数据平面分离的能力使得在将应用程序部署到操作网络之前,可以在虚拟环境中测试和评估SDN控制应用程序。Mininet使用基于进程的虚拟化在同一物理(或虚拟)机上运行多个虚拟OpenFlow交换机、终端主机和SDN控制器,每个控制器都作为单个进程。使用基于进程的虚拟化允许Mininet模拟一个网络,在一台机器上有数百个主机和交换机。在这样的环境中,研究人员或网络运营商可以开发控制逻辑,并在生产数据平面的全面仿真上轻松地对其进行测试;一旦对控制平面进行了评估、测试和调试,就可以将其部署到实际的生产网络上。
    • 虚拟化(“切片”)在传统网络中,虚拟化路由器或交换机是很复杂的,因为每个虚拟组件都需要运行自己的控制平面软件实例。相比之下,虚拟化“哑”SDN交换机要简单得多。FlowVisor系统使校园能够支持在承载生产流量的相同物理设备上进行联网研究的试验台。其主要思想是将流量空间划分为“片”(PlanetLab的早期工作中引入的一个概念),其中每个片都有一个共享的网络资源,并由不同的SDN控制器管理。FlowVisor作为hypervisor运行,向每个SDN控制器和底层交换机讲OpenFlow。最近的工作建议对家庭网络进行分层控制,以允许不同的第三方服务提供商(如智能电网运营商)在网络上部署服务,而无需安装自己的基础设施。最近的工作提出了用自己的逻辑拓扑和地址空间来表示软件定义的网络的每个“片段”的方法。
  • 相关阅读:
    js中父窗口获得模态窗口的返回值
    Jquery获取控件值实例(转载)
    各种类库网址学习
    IIS启动网站时, 提示: “另一个程序正在使用此文件,进程无法访问”
    查看端口占用情况
    顽固的换行问题
    mac上共享android手机屏幕软件
    关于软键盘弹出的问题
    mac搭建android studio开发环境
    C语言位域和大小端
  • 原文地址:https://www.cnblogs.com/mokou/p/11945386.html
Copyright © 2011-2022 走看看