本书以软件定义为出发点,以网络安全为落脚点,在全面系统介绍软件定义的基本概念、相关技术与应用实践的基础上,讲解和探讨软件定义引发的网络安全技术革新、系统安全问题与挑战等内容。全书共18章,首先总体讲解软件定义的概念、技术本质,以及面临的机遇与挑战,然后阐述计算虚拟化与软件定义计算、存储虚拟化与软件定义存储、网络虚拟化与软件定义网络等软件定义相关理论、方法与技术,最后在理解和掌握软件定义的概念、理论、方法与技术的基础上,深入讲解基于软件定义的网络安全技术,并探讨软件定义引发的系统安全问题及其解决思路与方法。本书可作为网络空间安全相关专业的本科生及研究生教材,以及网络工程、信息工程与信息管理等计算机类相关专业的参考书,也可作为网络信息化人员、安全管理人员、网络与信息系统管理人员的参考手册和培训教材。
杨英杰,信息工程大学,教授。曾获河南省第十一届青年科技奖、获军队育才奖银奖、获省部级科技进步一等奖1项、二等奖3项、三等奖3项。出版《信息安全管理》等。
第1章 绪论 1
1.1 软件定义的提出与发展 1
1.1.1 软件定义的提出 1
1.1.2 软件定义的概念 2
1.1.3 软件定义的发展 2
1.2 软件定义的技术本质 4
1.2.1 软件定义体系架构 4
1.2.2 软件定义技术特点 6
1.2.3 软件定义实现技术 8
1.3 软件定义面临的机遇与挑战 11
1.3.1 软件定义面临的机遇 11
1.3.2 软件定义面临的挑战 13
习题 15
参考文献 16
第1篇 计算虚拟化与软件定义计算
第2章 虚拟机技术 19
2.1 虚拟机系统架构 19
2.2 基于x86架构的虚拟机技术 20
2.2.1 全虚拟化技术 21
2.2.2 半虚拟化技术 21
2.2.3 硬件辅助虚拟化技术 22
2.3 虚拟机系统典型案例——KVM 23
2.3.1 KVM架构 23
2.3.2 KVM应用部署 23
2.4 虚拟机管理工具——Libvirt 27
2.4.1 Libvirt组成 27
2.4.2 Libvirt部署模式 28
第3章 容器技术 29
3.1 容器的提出与发展 29
3.2 容器系统技术基础 30
3.2.1 命名空间隔离 30
3.2.2 控制组 32
3.3 Docker技术 32
3.3.1 Docker基本概念 33
3.3.2 Docker架构 34
3.3.3 Docker部署模式 36
3.4 容器与虚拟机技术对比 37
第4章 软件定义计算技术 38
4.1 软件定义计算内涵 38
4.2 OpenStack虚拟机编排技术 39
4.2.1 OpenStack概述 39
4.2.2 Nova 43
4.2.3 Heat 47
4.3 Kubernetes容器编排技术 50
4.3.1 容器编排技术概述 50
4.3.2 Kubernetes架构 50
4.3.3 基于Deployment的容器编排机制 51
4.3.4 基于Deployment的资源管理案例 55
习题 59
参考文献 60
第2篇 存储虚拟化与软件定义存储
第5章 存储虚拟化技术 63
5.1 存储虚拟化概念 63
5.2 虚拟存储服务模型 64
5.3 存储虚拟化技术框架 65
5.4 虚拟存储标准化问题 67
5.5 虚拟存储空间映射机制 67
5.6 存储虚拟化实现方式 68
5.6.1 基于主机的存储虚拟化 69
5.6.2 基于设备的存储虚拟化 70
5.6.3 基于网络的存储虚拟化 71
5.6.4 基于分布式存储的存储虚拟化 72
5.7 分布式虚拟存储系统——Ceph 72
5.7.1 Ceph架构 73
5.7.2 Ceph统一存储机制 74
5.7.3 Ceph数据管理机制 75
第6章 软件定义存储技术 77
6.1 软件定义存储概述 77
6.2 软件定义存储体系架构 78
6.2.1 架构组成 78
6.2.2 架构实现 79
6.3 OpenStack软件定义存储机制 80
6.3.1 Cinder架构与运行机制 80
6.3.2 Cinder后端存储系统对接机制 81
6.3.3 基于RESTful API的卷管理实例 82
习题 85
参考文献 86
第3篇 网络虚拟化与软件定义网络
第7章 网络虚拟化技术 89
7.1 网络虚拟化概述 89
7.1.1 基于协议的网络虚拟化 89
7.1.2 基于虚拟设备的网络虚拟化 92
7.2 覆盖网络技术 92
7.2.1 覆盖网络的基本架构 92
7.2.2 覆盖网络的数据传输 92
7.2.3 覆盖网络的隧道技术标准 94
7.2.4 VXLAN隧道技术 94
7.3 虚拟交换转发技术 99
7.3.1 Linux网桥 100
7.3.2 OVS 103
7.4 虚拟路由转发技术 105
第8章 NFV技术 106
8.1 NFV概述 106
8.1.1 NFV的提出与发展 106
8.1.2 NFV的标准化工作 107
8.2 NFV体系架构 108
8.2.1 架构组成 108
8.2.2 架构特点 112
8.3 NFV体系架构的开源实现 113
8.3.1 NFV平台开源组织与项目 113
8.3.2 基于开源技术的NFV平台构建 114
第9章 SDN技术 117
9.1 SDN技术概述 117
9.1.1 SDN的内涵 117
9.1.2 网络可编程技术的发展 117
9.2 SDN体系架构 118
9.3 SDN交换机技术 121
9.3.1 网络数据转发模型 121
9.3.2 OpenFlow交换机数据转发模型 121
9.4 SDN控制器技术 125
9.5 SDN接口技术 127
9.5.1 南向接口技术 127
9.5.2 北向接口技术 130
9.6 数据平面可编程技术——P4 131
9.6.1 P4技术的提出 131
9.6.2 基于P4的数据平面可编程架构 132
9.6.3 P4技术的应用与优势 135
习题 136
参考文献 137
第4篇 软件定义网络安全技术
第10章 软件定义安全概述 139
10.1 软件定义安全内涵 139
10.2 软件定义安全体系架构 140
10.3 软件定义安全技术实践 143
10.3.1 基于SDN的软件定义网络安全技术 143
10.3.2 不基于SDN的软件定义网络安全技术 144
10.4 技术特点与优势 145
第11章 软件定义防火墙 147
11.1 防火墙概述 147
11.1.1 基本概念 147
11.1.2 技术原理 147
11.2 软件定义防火墙系统架构 150
11.3 服务机制设计 152
11.3.1 包过滤服务 152
11.3.2 状态检测服务 155
11.3.3 联动防御服务 158
11.4 技术特点与优势 158
第12章 软件定义移动目标防御技术 160
12.1 移动目标防御技术概述 160
12.1.1 基本概念 160
12.1.2 技术原理 162
12.2 软件定义MTD系统架构 168
12.3 网络层软件定义MTD技术案例 169
12.3.1 单控制域网络层软件定义MTD技术 169
12.3.2 跨控制域网络层软件定义MTD技术 175
12.4 平台层软件定义MTD技术案例 178
12.5 技术特点与优势 181
第13章 基于P4的软件定义加密隧道技术 182
13.1 加密隧道技术概述 182
13.2 基于P4的软件定义加密隧道体系架构 183
13.2.1 架构组成 183
13.2.2 工作流程 185
13.3 基于P4的可编程隧道加密机制 187
13.4 技术特点与优势 189
第14章 SSFC编排与管理技术 190
14.1 技术概述 190
14.1.1 技术需求 190
14.1.2 相关概念 190
14.2 基于SDN的SSFC编排体系架构 192
14.2.1 架构组成 192
14.2.2 工作流程 194
14.3 SSFC的编排与管理 195
14.4 SSFC编排技术 197
14.4.1 SSFC描述与组链 198
14.4.2 SSFC的数据转发 199
14.5 SSFC映射技术 201
14.5.1 单域网络SSFC映射方法 203
14.5.2 多域网络SSFC映射方法 207
14.6 SSFC调整技术 210
14.7 技术特点与优势 213
第15章 SDP技术 215
15.1 SDP技术概述 215
15.1.1 技术需求 215
15.1.2 基本概念 215
15.2 SDP体系架构 216
15.2.1 架构组成 216
15.2.2 工作流程 218
15.3 SPA技术 219
15.3.1 SPA技术的提出 219
15.3.2 SPA协议消息格式 220
15.3.3 SPA实现方式 220
15.4 SDP控制协议 222
15.4.1 AH-控制器协议 222
15.4.2 IH-控制器协议 224
15.4.3 IH-AH协议 227
15.5 SDP应用部署 229
15.6 技术特点与优势 231
第16章 微分段技术 233
16.1 微分段技术概述 233
16.1.1 技术需求 233
16.1.2 基本概念 236
16.2 微分段技术实现 237
16.2.1 实现方式 237
16.2.2 基于VXLAN的微分段实现技术 239
16.2.3 基于软件定义的微分段系统架构 242
16.3 微分段设计与应用 244
16.4 技术特点与优势 245
习题 247
参考文献 248
第5篇 软件定义网络系统安全
第17章 软件定义网络系统概述 253
17.1 软件定义网络系统产生 253
17.2 主流软件定义网络系统 254
17.2.1 SDDC网络 254
17.2.2 SDCN 256
17.2.3 SDIoT 258
第18章 软件定义网络系统安全问题探讨 261
18.1 软件定义网络系统安全分析 261
18.2 虚拟化网络基础设施安全 262
18.2.1 虚拟化计算设施安全 262
18.2.2 虚拟化存储设施安全 268
18.2.3 虚拟化网络设施安全 270
18.3 可编程网络控制机制安全 274
18.3.1 集中化管控模式安全 274
18.3.2 开放可编程接口安全 276
18.3.3 专用管控服务安全 278
18.4 虚实融合网络应用环境安全 279
18.4.1 应用环境面临的安全问题 279
18.4.2 应用环境防御方法与技术 280
习题 287
参考文献 288