您的位置:首页 > 理论基础 > 计算机网络

《重构网络:SDN架构与实现》第一章总结

2017-10-12 16:54 393 查看
        最近加入SDN项目的研究,对SDN一知半解,仅知道是控制平面与数据平面分离,支持网络可编程。在看了《重构网络:SDN架构与实现》一章之后,对SDN的原理及发展有了更深刻的了解。特此进行简要总结,以便后续查阅。希望在研究SDN一段时间之后,再来看这篇总结,能有更多体会和收获。

        1. 什么是SDN?

          作者从两个角度出发阐述了什么是SDN。

       (1)ONRC对SDN的定义:“SDN是一种逻辑集中控制的新网络架构,其关键属性包括:数据平面和控制平面分离;控制平面与数据平面之间有统一的开放接口OpenFlow

强调了“数控分离”、逻辑集中式控制和统一、开放的接口。

        (2)ONF对SDN的定义:“SDN将网络的控制平面和数据平面解耦分离,抽象了数据平面网络资源,并支持通过统一的接口对网络直接进行编程控制。”强调了SDN对网络资源的抽象能力和可编程能力。

          虽然强调的重点不一样,但殊途同归。由此可见SDN主要具有以下三个特征:网络开放可编程、控制平面与数据平面的分离、逻辑上的集中控制。

        2. SDN网络体系结构



        主要包括SDN网络应用、北向接口、SDN控制器、南向接口和SDN数据平面共5部分。

       3. 为什么需要SDN?

         要理解SDN首先要弄懂为什么需要SDN。目前的网络有何缺陷,SDN有何优势,我们为什么需要提出一个新的网络体系结构。答案是:我们需要拥有更多可编程能力的网络,来支持快速增长的网络业务需求。

       (1)SDN创始人Nick Mckeown从计算机产业创新模式出发,抽象出计算机产业发展速度的三要素:通用硬件底层、软件定义功能和开源模式。对比网络产业提出了SDN。

计算机产业:                                     网络产业: 

面向计算的通用硬件底层  —— >     面向服务的白盒数据平面 (一改网络尽力而为的服务模式,大幅提升基础网络服务能力,支持上层自顶向下的网络设计) 

计算机功能的软件定义方式   —— >  控制层软件定义、控制整个网络的数据平面(可编程能力带来了灵活性、加速网络应用发展和创新)

OpenSource  ——>  社区化 (加速产业快速发展)



     (2)Shenker教授从计算机软件编程的发展出发,提出“抽象”的概念,同样解释了推动SDN发展的原因。在SDN架构中,SDN控制平面、数据平面通过抽象模型和全局网络状态视图三种抽象模型实现了包括控制平面抽象在内的网络抽象架构。

SDN控制平面:支持用户在控制平面上进行编程去控制网络,无须关心数据平面的实现细节。

SDN数据平面:通过抽象模型将不同协议的匹配表整合起来,形成多字段匹配表,解决网络协议堆砌问题。

集中式的SDN控制平面还可统计网络状态信息,提供描述网络状态的抽象模型。

      (1)(2)从不同角度阐述了网络需要更多可编程能力的事实。

        4. 网络可编程能力的演进及SDN的发展

         网络设备的简单配置接口——>通用的网络配置协议——>控制平面与数据平面分离——>OpenFlow的出现。







内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息