图书简介:
第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
展开
序1
随着软件定义思想在信息网络中的应用,信息技术创新和网络系统变革相继发生。软件定义计算、软件定义存储、软件定义网络等新理论与新技术不断被提出并应用于信息网络建设,使网络系统的设施形态和体系架构发生了巨大变化。从物理静态形式到虚实融合的动态形式,体系架构呈现出数控分离和开放可编程的特点,进而增强了网络系统资源的共享性、扩展性和可重构性。然而,随着软件定义思想的广泛应用,网络安全防护体系的构建方法与技术也遭遇了全面挑战。同时,网络系统设施形态与体系架构变化引发了新的网络威胁与安全问题,软件定义安全相关理论与技术成为安全从业人员亟须掌握的知识。
网络空间部队信息工程大学的杨英杰教授团队多年来持续跟踪软件定义安全领域的技术发展,开展了相关技术研究与教学实践。他们基于多年的教学经验、科研成果和专业知识,编写了本书,系统地梳理了软件定义的基本概念、相关技术与应用实践,深入探讨了软件定义带来的网络安全技术革新、系统安全问题与挑战等。本书具有如下特点。
(1)体系性强。本书遵循知识内在逻辑与依赖关系来组织章节内容,按照从支撑技术、关键技术到技术应用的层次构建知识体系,并选取典型案例进行分析,帮助读者系统、准确地理解和运用技术解决实际问题。
(2)内容新颖。本书紧跟软件定义与网络安全技术的前沿发展,在确保知识体系完整的基础上,吸纳了最新国内外相关理论与技术,汲取了诸多新思想和新方法,力求通过最新应用案例反映技术新发展,体现内容的先进性。
(3)实践性强。该书注重知识的运用与实践能力的提升,增强了软件定义与网络安全的实践性内容,包括丰富的实验项目和案例资源,能够有效提升读者的实际动手能力。
我很高兴推荐本书作为网络空间安全、信息对抗、网络工程与信息工程等相关专业的本科生及研究生教材,同时将其推荐给所有对软件定义与网络安全方向感兴趣的自学者和专业人士。希望本书能够促进软件定义、虚拟化和网络安全等技术的推广与普及,相信这本书会使很多读者受益。
冯登国
中国科学院院士
序2
目前,我们正在迈入软件定义的时代,通过“虚拟化可虚拟化的一切,数字化可数字化的一切”的方式,创造一个虚拟的信息空间。这个空间突破了物理空间距离、位置与布局等方面的约束,可以将分散部署的计算、存储、网络、数据及各类传感设备等资源进行虚拟化,并有机融合在一起,通过编程方式进行资源的调度与控制管理,从而有效支撑云计算、大数据、智能计算、智能制造等新型应用。鉴于软件定义思想带来的重大影响和意义,工业和信息化部在《“十四五”软件和信息技术服务业发展规划》中提出,软件定义赋能实体经济新变革,并明确指出软件定义是新一轮科技革命和产业变革的新特征与新标志,已成为驱动未来发展的重要力量。
软件定义思想应用于信息网络,引发了信息技术创新与网络系统变革,催生了软件定义计算、软件定义存储、软件定义网络、软件定义安全等大量新理论、新技术与新产品。与此同时,网络系统的体系架构、资源形态、管控机制与组网模式也发生了巨大变化,演变成数控分离的网络架构、虚拟化的资源形态、开放可编程的管控机制和虚实融合的组网模式,网络系统具有了更好的共享性、开放性、扩展性和可重构性。技术创新与系统变革对网络信息化和网络安全从业人员提出了新的要求及挑战,他们必须跟上时代步伐和技术发展,深入理解软件定义思想的内涵,掌握软件定义计算、软件定义存储、软件定义网络等相关理论与技术,全面认识软件定义引发的网络安全威胁与问题,以及应对策略、方法与技术。
为了帮助人们学习和掌握软件定义与网络安全相关知识,杨英杰教授团队基于多年的教学经验和科研成果,编写了本书,书中全面系统地阐述了软件定义与网络安全相关理论和技术。该书注重知识的系统性、实用性与创新性,知识脉络清晰、易于学习和理解;强调理论联系实际,并注重技术综合运用的讲解,以促进分析解决问题能力的培养;紧跟技术前沿发展,在确保知识体系完整、系统的基础上,吸纳最新国内外相关理论与技术,确保内容的先进性与创新性,以激励创新意识与创新精神的培养。此外,本书紧密围绕软件定义与网络安全这一主题,引导读者深入认识软件定义理念的应用与网络安全的提升对社会发展和国家安全的重要性,帮助读者树立正确的价值观和精益求精的工匠精神。
本书可作为网络空间安全、信息对抗、网络工程与信息工程等相关专业的本科生及研究生教材,也可作为网络信息化人员、安全管理人员、网络与信息系统管理人员的参考手册和培训教材。目前,软件定义与网络安全相关理论和技术已得到广泛应用和关注。希望本书能够对软件定义、虚拟化和网络安全等技术知识的推广与发展起到重要的推动作用,并相信这本书将使许多人受益。
孔志印
中国工程院院士
前言
随着云计算、大数据、智能计算等新型应用模式的提出与发展,特别是软件定义计算、软件定义存储和软件定义网络等理论与技术在信息网络中的广泛应用,具有软件定义特征的网络基础设施建设已成为趋势和主流。新的构建理念和技术的引入,使得信息网络在架构、技术和运维等多个方面发生了变化,网络系统变为逻辑与虚拟化形态,网络边界也从物理的固定静态形式变为逻辑的模糊动态形式。这一变化对网络安全防御体系的构建与运维方法产生了巨大冲击,推动了方法与技术的变革和创新,也促使软件定义安全的相关理论与技术成为网络安全从业人员亟须掌握的知识。
根据编写团队调研,目前国内缺乏系统化讲解软件定义安全相关知识的公开出版书籍,大多数书籍以云计算、软件定义、虚拟化等技术为主题,仅个别章节涉及安全相关内容。编写团队所在的网络空间部队信息工程大学是国内较早从事信息安全领域科学研究和人才培养的军事院校,2000年创建了军内第一个信息安全本科专业,2016年获评首批网络空间安全一级学科博士学位授予点,并成为中央网信办批准的5个网络安全人才培养基地之一。编写团队承担了本科信息安全专业“软件定义安全”课程的建设与授课任务,已开展近7年的授课工作,积累了丰富的教学资源。同时,编写团队还进行了软件定义安全的相关理论与技术研究,并取得了大量研究成果,为本书的编写奠定了坚实的技术基础。主编杨英杰教授具有近30年的教学经历,具备丰富的教材编写经验,曾编写并出版了普通高等教育“十一五”国家级规划教材《信息安全管理》,该教材被网络空间部队信息工程大学、湖南大学、苏州大学等60余所高校选为授课教材,并于2017年作为国家重点图书出版规划项目出版了第二版。
本书结合编写团队的教学与科研实践,系统、深入地讲述了软件定义与网络安全之间复杂的知识脉络和关联影响;通过厘清知识脉络、突出体系引领,遵循软件定义与网络安全内在的逻辑与依赖关系组织章节内容,以帮助读者理解和掌握软件定义理念及其在网络安全中的应用与影响。书中着重能力培养,突出理论知识与应用实践的结合,选取典型案例和技术实验进行分析与实践,促进知识的运用与实践能力的提升;紧跟前沿动态、突出知识创新,科学吸纳国内外最新相关理论与技术研究成果,确保涵盖软件定义与网络安全领域的新需求、新理论和新技术。期望读者通过阅读本书,能够深入理解和掌握软件定义的概念及相关理论与技术,熟悉软件定义思想和技术带来的安全问题与挑战,掌握软件定义网络安全相关理论与技术,并具备一定的基于软件定义理念设计和构建网络安全防御体系的能力。
本书共18章,第2~17章分为5篇,在网络空间部队信息工程大学的杨英杰教授带领下,由“软件定义安全”课程组共同编写。其中,杨英杰教授负责统稿及编写第1章、第10章、第11章、第12章、第16章和第18章,常德显负责编写第7章、第8章、第9章、第13章、第14章和第17章,孙佳佳负责编写第2~4章,朱远芳负责编写第5章、第6章和第15章。此外,研究生乔斌和李遨宇,本科生张鑫涛和杜佳负责编辑整理全书图表。
本书包含配套教学资源,读者可登录华信教育资源网免费下载。
在本书编写过程中,编写团队参考引用了大量相关文献,在此谨向这些文献的作者表示衷心的感谢。
衷心感谢给予编写团队指导、支持和帮助的领导、专家与同行。
衷心感谢电子工业出版社对本书的认可。
软件定义与网络安全领域的知识内容广泛、发展迅速,技术理论及相关内容也在不断更新。由于编写团队水平有限,书中难免存在不足,敬请读者批评指正。
编写团队
展开