《重构网络:SDN架构与实现》第一章总结
2017-10-12 16:54
393 查看
最近加入SDN项目的研究,对SDN一知半解,仅知道是控制平面与数据平面分离,支持网络可编程。在看了《重构网络:SDN架构与实现》一章之后,对SDN的原理及发展有了更深刻的了解。特此进行简要总结,以便后续查阅。希望在研究SDN一段时间之后,再来看这篇总结,能有更多体会和收获。
(1)ONRC对SDN的定义:“SDN是一种逻辑集中控制的新网络架构,其关键属性包括:数据平面和控制平面分离;控制平面与数据平面之间有统一的开放接口OpenFlow
强调了“数控分离”、逻辑集中式控制和统一、开放的接口。
(2)ONF对SDN的定义:“SDN将网络的控制平面和数据平面解耦分离,抽象了数据平面网络资源,并支持通过统一的接口对网络直接进行编程控制。”强调了SDN对网络资源的抽象能力和可编程能力。
虽然强调的重点不一样,但殊途同归。由此可见SDN主要具有以下三个特征:网络开放可编程、控制平面与数据平面的分离、逻辑上的集中控制。
主要包括SDN网络应用、北向接口、SDN控制器、南向接口和SDN数据平面共5部分。
(1)SDN创始人Nick Mckeown从计算机产业创新模式出发,抽象出计算机产业发展速度的三要素:通用硬件底层、软件定义功能和开源模式。对比网络产业提出了SDN。
计算机产业: 网络产业:
面向计算的通用硬件底层 —— > 面向服务的白盒数据平面 (一改网络尽力而为的服务模式,大幅提升基础网络服务能力,支持上层自顶向下的网络设计)
计算机功能的软件定义方式 —— > 控制层软件定义、控制整个网络的数据平面(可编程能力带来了灵活性、加速网络应用发展和创新)
OpenSource ——> 社区化 (加速产业快速发展)
(2)Shenker教授从计算机软件编程的发展出发,提出“抽象”的概念,同样解释了推动SDN发展的原因。在SDN架构中,SDN控制平面、数据平面通过抽象模型和全局网络状态视图三种抽象模型实现了包括控制平面抽象在内的网络抽象架构。
SDN控制平面:支持用户在控制平面上进行编程去控制网络,无须关心数据平面的实现细节。
SDN数据平面:通过抽象模型将不同协议的匹配表整合起来,形成多字段匹配表,解决网络协议堆砌问题。
集中式的SDN控制平面还可统计网络状态信息,提供描述网络状态的抽象模型。
(1)(2)从不同角度阐述了网络需要更多可编程能力的事实。
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的出现。相关文章推荐
- 网络基本架构的实现和管理(第一章)
- 【Tensorflow网络架构简单实现】 用Tensorflow实现VGG模型
- 网络层架构设计与实战十六https功能设计与实现
- 《重构网络-SDN架构与实现》阅读随笔
- 重构Minot's应用——ios网络通信中的设计模式与架构设计
- 2014.02.15 重构代码之按不同级部门统计报表的实现总结(后台实现)
- 一步一步实现企业网络架构之五:利用IPSEC建立安全的网络通讯 推荐
- 王景佳:基于Intel架构的SDN网络
- 医疗行业多层级复杂网络环境下的消息传输(远程会诊)架构与实现
- [网络广播] SQL Server 主数据管理结合 BizTalk Server SOA 架构实现保险行业 ECIF 解决方案
- 《神经网络与深度学习》第一章 使用神经网络来识别手写数字(三)- 用Python代码实现
- 测试网络层架构设计与实战十七https功能设计与实现之单向认证和双向认证
- F5:让应用和网络完美融合,轻松实现SDN
- 计算机网络第一章知识总结
- 陈海泉:SDN/NFV 2.0 架构的网络技术实践
- 【SDN专栏】Mininet下编写python,实现自定义的网络topo结构
- Android基础学习总结(十三)——利用jsoup解析html实现网络爬虫
- 【厚积薄发】编程技术项目总结3—定制版本架构设计与实现
- Spring Cloud与微服务学习总结(3)——认证鉴权与API权限控制在微服务架构中的设计与实现(一)