《软件定义网络技术》为计算机类新工科教材,面向地方院校网络工程专业和其他计算机类专业的软件定义网络课程而开发。全书共9章,其中第1、2章主要介绍SDN基础知识,包括SDN的产生背景、发展历程与标准化工作,SDN的体系结构与设计思想;第3~6章依照SDN的体系架构中自下而上的顺序,以开源技术为主线,分别介绍数据平面、南向接口、控制平面和北向接口相关技术;第7~9章以行业领先企业思科(Cisco)的SDN实现技术与方法为主线,分别介绍软件定义数据中心、软件定义园区网和软件定义广义网的商业化开发与实现。
本教材充分重视对“学生为本”教学理念的诠释,和对人才培养的有效支持。在关注知识学习的同时,强调了软件定义网络思维方法和自主学习能力的培养。每一章除了正文叙述关注知识内容背后的背景问题与思想方法外,提供进一步学习的参考文献、练习思考题,拓展学习的深度与广度;提供了相应开发实践活动,促进学生软件定义网络技术实践技能的培养,缩短校内教学与网络工程实际的距离。
《软件定义网络技术》特色:
·目标定位明确,立足网络工程新工科人才培养
·产学合作开发,接轨主流技术与工程实际
·理论实践兼顾,面向新技术实践能力培养
·线上线下结合,支持以学生为中心的混合式教学
软件定义网络是新一代自动化与智能化网络的关键支撑技术,近年来得到了学术界和产业界的广泛关注。随着软件定义网络技术的发展及其在产业界的落地,网络工程人才需求随之发生重大变化,这给网络工程等专业的人才培养带来了新的机遇与挑战。然而,即使一些院校的相关专业看到了软件定义网络人才培养和相关课程开设的必要性,缺乏教材等基础性教学资源仍然使其止步不前。温州大学网络工程专业为教育部“十二五”专业综合改革试点专业,是国内地方院校网络工程专业中首个通过工程教育认证的专业点,2019年入选首批国家级一流本科专业建设点,在国内同专业中具有重要的影响力和示范作用。以温州大学网络工程专业一线教师牵头,融入企业(思科)开发技术人员的丰富经验,校企强强联合,相信本书会为相关院校和专业点新工科转型与软件定义网络课程教学助一臂之力。
本书适合作为网络工程和其他相关专业的“软件定义网络”课程教材。本教材的主要特点包括:(1)融入学生中心、产出导向、持续改进的先进教学理念,教学目标确定、教学内容选择与教学方法设计等都体现了工程教育认证的OBE理念,除教材内容及配套的数字化教学资源之外,还可以为教师提供遵循OBE理念和工程教育认证要求的课程教学大纲以及课程教学质量线上评价服务;(2)理论与实践兼顾,既关注软件定义网络的理论基础知识,也强调学生的实践开发能力;(3)开源与商业化技术兼顾,既提供开源软件定义网络技术的教学内容,又提供了基于行业领先厂商的商业化解决方案供学生学习;(4)提供线上线下相结合的丰富教学资源,本课程已在中国大学MOOC上线,基于MOOC的混合式教学也已历经两轮实践,可为有兴趣实施软件定义网络课程混合式教学的院校和专业点提供相关支持。
本书第1章和第2章由温州大学施晓秋编写,第3~6章由温州大学黄辉编写,第7—9章由思科公司彭达卫编写,全书由施晓秋修改、定稿。
本书开发得到了思科大中华区副总裁侯胜利先生的大力支持,同时温州大学网络工程专业学生叶奔、马月、朱溢寒、石炳楠、沈晗参与了部分配图与实验测试工作,在此一并表示由衷的谢意。本书也得到了教育部首批新工科研究与实践项目“面向新经济的网络工程产教融合、校际互动、多元协同人才培养共同体研究与实践”和教育部产学合作协同育人项目“新工科背景下产学协同的网络工程新技术教学建设与实践”的支持。
作为面向新技术的新工科教材,存在一些不足在所难免,我们将会通过数字化教学资源的迭代优化和后续的教材改版予以改进。欢迎读者赐宝贵意见与建议,E-mail联系方式:huanghui@wzu.edu.cn。
第1章 概述
1.1 SDN的产生
1.1.1 传统网络概述
1.1.2 传统网络存在的问题
1.1.3 SDN的应运而生
1.2 SDN的发展
1.2.1 发展历程
1.2.2 研究与应用现状
1.3 SDN的标准化组织
1.3.1 0NF
1.3.2 IETF
1.3.3ITU-T
1.3.4ETSI
习题
第2章 SDN的基本原理
2.1 SDN的定义
2.2 SDN的体系架构
2.2.1 0NF定义的SDN架构
2.2.2 IETF定义的SDN架构
2.2.3 0verlay网络架构
2.3 SDN的核心设计思想
2.3.1 控制平面与数据平面的解耦
2.3.2 网络能力的抽象
2.3.3 网络可编程
习题
开发实践活动
第3章 SDN数据平面
3.1 数据平面概述
3.1.1 传统网络数据平面
3.1.2 SDN数据平面
3.2 0penFlow交换机模型
3.2.1 0penFlow概述
3.2.2 0penFlow交换机功能架构
3.2.3 流表
3.2.4 组表
3.2.5 计量表
3.2.6 流表匹配
3.3 SDN交换机
3.3.1 交换芯片概述
3.3.2 交换芯片产品
3.3.3 SDN交换机产品
3.4 通用可编程数据平面
3.4.1 协议无关的交换机架构
3.4.2 数据平面编程语言
习题
开发实践活动
第4章 南向接口协议
4.1 南向接口协议概述
4.2 0penFlow协议
4.2.1 消息类型
4.2.2 消息格式
4.2.3 通信流程
4.3 0F-Config
4.3.1 0F-Config概述
4.3.2 设计需求
4.3.3 数据模型
4.3.4 传输协议
4.4 NETCONF协议
4.4.1 概述
4.4.2 协议架构
4.4.3 操作示例
4.5 0VSDB管理协议
4.5.1 数据模式
4.5.2 线路协议
4.5.3 数据库操作
4.6 其他南向接口协议
4.6.1 XMPP
4.6.2 PCEP
4.6.3 12RS
4.6.4 0pFlex
习题
开发实践活动
第5章 SDN控制平面
5.1 SDN控制器概述
5.1.1 SDN控制器体系架构
5.1.2 SDN控制器的基础功能
5.1.3 SDN控制器的扩展
5.1.4 SDN控制器的评估要素
5.2 开源控制器
5.2.1 NOX/POX
5.2.2 Ryu
5.2.3 Floodlight
5.2.4 0penDaylight
5.2.5 0NOS
5.3 商业控制器
5.3.1 思科APIC与DNA.C
5.3.2 VMware的NSX.T控制器
5.4 基于控制器的编程
5.4.1 基于POX编程
5.4.2 基于Ryu编程
习题
开发实践活动
第6章 SDN北向接口
6.1 北向接口概述
6.1.1 北向接口功能与类型
6.1.2 北向接口的标准化
6.2 REST API
6.2.1 什么是REST API
6.2.2 REST API的设计规范
6.2.3 开源控制器的REST API
6.2.4 思科DNA-C API
6.3 RESTCONF协议
6.3.1 RESTCONF概述
6.3.2 资源模型
6.3.3 消息
6.3.4 操作
6.3.5 应用示例
习题
开发实践活动
第7章 SDN在数据中心的应用
7.1 软件定义的数据中心网络技术
7.1.1 什么是软件定义的数据中心网络
7.1.2 数据中心的Spine-Leaf组网架构
7.1.3 数据中心的Overlay网络
7.2 实现1:基于EVPN的VXIAN
7.2.1 EVPN详解
7.2.2 通过控制器实现软件定义
7.3 实现2:思科ACI
7.3.1 ACI架构
7.3.2 ACI策略部署
习题
开发实践活动
……
第8章 SDN在园区网的应用
第9章 SDN在广域网的应用SD-WAN
参考文献