zoukankan      html  css  js  c++  java
  • 《重构网络-SDN架构与实现》阅读随笔

    《重构网络-SDN架构与实现》:

    SDNLAB 《重构网络-SDN架构与实现》新书有奖试读活动

    资源下载

    随笔

    有幸拜读了李呈前辈和杨泽卫杨老师的作品《重构网络-SDN架构与实现》的前两个章节,晚辈阅读该书之后感悟和学习颇多,特此记之。由于我对章节一的印象十分深刻,所以本文主要是对章节一的小结和感想。

    试读章节共有两章,第一章是“SDN重塑网络”,第二章是“SDN南向协议”,结构如下:

    Ch1.SDN重塑网络

    • 1.1 SDN是什么
    • 1.2 为什么需要SDN
    • 1.3 网络可编程探索之路
    • 1.4 SDN发展历史
    • 1.5 SDN重塑网络
    • 1.6 本章小结

    Ch2.SDN南向协议

    • 2.1 SDN南向协议简介
    • 2.2 狭义SDN南向协议
    • 2.3 广义SDN南向协议
    • 2.4 完全可编程南向协议
    • 2.5 SDN南向协议标准之战
    • 2.6 本章小结

    章节1"SDN重塑网络"所阐述的内容从标题即可略窥一二,两位前辈对SDN是什么以及为什么需要SDN进行了详细的解读和说明,内容清晰明了。

    Ch1.1 SDN是什么

    Ch1.1中介绍了SDN的定义以及三大特征。

    定义:

    (1)ONRC: "SDN 是一种逻辑集中控制的新网络架构,其关键属性包括:数据平面 和控制平面分离;控制平面和数据平面之间有统一的开放接口OpenFlow。" => 强调数控分离和集中控制等表现形式;

    (2)ONF: "SDN是一种支持动态、弹性管理的新型网络体系结构,是实现高带宽、动态网络的理想架构。SDN将网络的控制平面和数据平面解耦分离,抽象了数据平面网络资源,并支持通过统一的接口对网络直接进行编程控制。" => 强调SDN对网络资源的抽象能力和可编程能力。

    三大特征:

    • 网络开放可编程
    • 控制平面和数据平面分离
    • 逻辑上的集中控制

    及一张体系架构图:

    Ch1.2 为什么需要SDN

    Ch1.2中对我们为什么需要SDN进行了讨论和阐述。

    文中的答案是:"我们需要拥有更多可编程能力的网络, 来支持快速增长的网络业务需求。" 分别从Nick McKeown教授和Shenker教授的两个观点进行了分析。

    Nick教授从计算机产业迅速发展的支撑点出发,借鉴了其思想,重新按层次划分了传统网络系统架构的功能模块,层次之间通过开放可编程的协议接口进行通信,创建了SDN体系架构;

    • 面向计算的通用硬件底层 => 面向服务的白盒数据平面 => 一改网络尽力而为服务模式,大幅提升基础网络服务能力,支持上层自顶向下网络设计。
    • 计算机功能的软件定义方式 => 控制层软件定义、控制整网的数据平面 => 可编程能力带来了灵活性,加速网络应用发展和创新。
    • OpenSource => 社区化,加速产业快速发展。

    Shenker教授从现网管理复杂、协议种类繁多入手,探寻能够简化网络管理、提高网络可编程能力的途径,由繁化简。他分析了计算机软件编程的发展历程,发现建立网络抽象模型是完成这一转变的关键。而SDN控制平面、数据平面提供了网络的抽象架构,使网络从管理复杂性转向提取简单性的阶段,从而更好的满足用户的需求,简化管理和运维,智化网络。

    总结下,本节内容从两个角度对我们为什么需要SDN进行了分析。第一种角度从系统功能重构的角度出发:通过三因素的支撑,形成面向服务的SDN体系结构,从而加速网络产业的发展和应用创新;第二种角度从解决现网问题的角度入手,为了将现网管理复杂性阶段转向提取简单性阶段,进行对网络抽象模型的重定义,达到封装底层网络细节,满足上层易用性需求的目的,SDN架构即是网络抽象模型的合理集合。这两个角度都有相同的特点,即是使网络拥有灵活的可编程能力,从而使网络最大化的适配上层动态业务需求。

    这里再从上层的角度来看SDN,上层业务对于网络有如下要求:

    • 网络能够满足我们业务的特定需求,比如直播要求低时延,不卡顿,会议视频要求安全性高,等等。
    • 底层Underlay网络要易于运维、监控,容错率高,有问题能够立即反馈。
    • 业务有动态性和实时性,对网络的灵活性有较高的要求。
    • etc...

    SDN控制平面通过全局网络拓扑这一抽象制定相关网络策略,哪条链路过载就做LB,哪条链路故障了换冗余,要安全性走firewall,要快就调度流量,还可以通过编程的方式来灵活控制网络行为,根本不用care底层的细节;哪台机器故障了、过载了,控制层面都能够实时查看,极大的方便了网络运维和管理;白盒化的数据平面设备无条件支持上层业务逻辑和策略下发,最大化的提供支持。SDN就像一块橡皮泥,你想捏成什么样子就捏成什么样子。

    在本章节中,学习和收获颇多的即是第一节和第二节,从文字中即可看出两位作者的功底及对SDN的深刻理解,awesome!

    Ch1.3 网络可编程探索之路

    本节内容介绍了人们对网络可编程的探索之路。

    网络设备可配置 => Active Networking => 为获取可编程能力,需要将网络设备中的数据平面和控制平面分离开 => ForCES(数控平面分离先行者) => RCP => 4D(SDN雏形) => SANE, Ethane => OpenFlow的诞生,SDN的正式提出 => SDN控制器,高度抽象的网络模型,提供更加高级的可编程能力 => NPL, 数据平面可编程, 白盒化通用数据平面网络设备, such as P4 => ...


    (Figure: The Road to SDN[1])

    Ch1.4 SDN发展历史

    介绍了SDN的发展历史。

    SDN前期大事记:



    SDN中期大事记:

    SDN大事记:

    Ch1.5 & Ch1.6

    传统网络已然是十分成功,但是随着万物移云,云计算、大数据、IoT等新兴IT技术的兴起和发展给目前的网络带来了许多无法解决的问题和挑战,传统网络体系结构已十分臃肿,需要做出架构的改变。

    SDN下一代网络体系架构,主张从当前应用需求来定义网络,使网络服务、适配于业务;从目前的发展趋势来看,SDN必将成为网络的变革浪潮。

    感想

    先说结论:《重构网络-SDN构架与实现》这本书无疑是一本好书。这并不是吹捧或是浮夸,接触SDN一年以来,此书能够让我静下心回想起SDN的根源,在阅读的同时无形中加深了对SDN的理解和感悟,当看到"为什么需要SDN"这一章节的时候,作者们的两个角度让晚辈有醍醐灌顶的感觉。从全文的结构来看,本书覆盖SDN的各个方面和角落,既有深度又有广度,不可多得!在SDN的学习之路上有此书指引,实乃晚辈之幸!

    参考文献:

    [1]Nick Feamster, Jennifer Rexford, Ellen Zegura, The Road to SDN, ACM SIGCOMM Computer Communication Review, Volume 44, Number 2, April 2014, pages 87-98.

  • 相关阅读:
    I2C总线驱动框架详解
    Allegro封装的制作
    轮询与中断 简单分析
    SMI#、SCI#信号在OS、BIOS、EC中的中断方式(Linux)
    var
    集合元素重复问题
    子类重写父类属性和方法
    内存(转)
    DesiredSize,RenderSize&& Width ,ActualWidth
    sql select(A.B)拼接
  • 原文地址:https://www.cnblogs.com/qq952693358/p/6657878.html
Copyright © 2011-2022 走看看