- 软件定义安全:SDN/NFV新型网络的安全揭秘
- 刘文懋 裘晓峰 王翔
- 7字
- 2023-01-13 13:51:29
第1章 SDN和NFV:下一代网络的变革
1.1 什么是SDN和NFV
1.1.1 SDN/NFV诞生的背景
计算机网络的高速发展催生了海量的网络应用,而以TCP/IP协议为核心的互联网早已渗透到人们工作、生活的各个领域,如信息化系统、搜索引擎、电子商务和社交网络等。随着网络用户数量的急剧增加,网络规模不断扩大,网络设备承载了过多复杂的网络协议。由于传统网络设备大都以封闭硬件的形态交付和部署,网络中充斥着烟囱式产品形态的网络设备。因此,网络设备的封闭性增加了网络定制与优化的难度,使得现有的计算机网络在丰富的网络应用面前,越来越突显其架构演进的局限性。
近年来,虚拟化与云计算技术的兴起给网络动态性提出了更高的要求。随着云计算和移动互联网技术的飞速发展,越来越多的网络业务逐渐向云数据中心迁移,而网络流量也随之呈爆发式增长。根据思科《全球云指数(2013—2018)》[1]的预测:全球数据中心的网络流量在2018年将达8.6ZB(1ZB = 220PB);相较于传统数据中心,云数据中心的网络流量占比将从2013年的54%提升至2018年的76%;从流量类型上看,74.5%的网络流量发生在数据中心内部。网络业务和流量的快速增长极大地提高了云服务商对云数据中心网络,尤其是云数据中心内部网络的管理难度。另一方面,云计算以“租用”的方式改变了IT资源的交付手段。租户对资源“按需申请”和“按使用付费”,使得部署在云数据中心网络中的各种资源处于持续改变的状态。网络拓扑的动态性给网络运维人员带来了前所未有的管理挑战。
众多网络领域的学者认为,以TCP/IP为基础的传统自治的网络架构的弊端在多年的发展演进中逐渐显露,这些问题难以通过打补丁的方式从根本上得到解决。因此,网络架构的重构势在必行。重构的新的网络体系架构一方面能够尽可能地考虑当前的各种需求,另一方面能够尽可能地满足未来可能的需求。这种架构重构的方案在学术界被称为“Clean Slate”方案[2],其中代表性的工作有:美国的GENI、欧盟的FIRE、中国的CENI,以及日本的AKARI。在这些工作中,斯坦福大学Nick Mckeown教授的博士生Martin Casado领导的一个关于网络安全的子项目Ethane[3]获得了广泛的关注。该项目利用集中的网络控制器,定义基于网流粒度的全网安全策略,并将这些策略动态部署到所控制的交换机上,从而实现对安全的管控。通过在Ethane工作的基础上进行抽象,Nick Mckeown研究组提出将传统网络设备的控制平面与数据平面在物理上进行分离,构建全网范围内集中的控制平面,同时标准化网络设备的编程接口,进而实现网络行为的可定制性。这些创新型的网络架构理念,在2008年发表的“OpenFlow: Enabling Innovation in Campus Networks”一文[4]中得到了系统的阐释,SDN(软件定义网络,Software Defined Network)架构和OpenFlow标准接口就此形成。SDN技术[5]提出了交换设备数据平面和控制平面相分离的网络体系架构。通过逻辑上集中的控制器和开放、标准的交换设备编程接口,网络的转发行为可以灵活、快速地由控制器上根据业务逻辑编写的应用程序来定制,从而极大地方便了网络管理,促进了网络领域的研究创新。SDN的提出在网络领域迅速掀起了研究与应用的热潮。为了进一步推进SDN的标准化,加快SDN应用的落地,非营利性组织性质的开放网络基金会(Open Networking Foundation, ONF于2011年成立。它每年举办的开放网络峰会(Open Networking Summit, ONS汇聚了全球工业界最前沿的SDN技术和应用案例;同时,该峰会还专门设立了研究通道,供学术界和工业界就SDN的发展前沿进行沟通。由于能够对网络设备实施更有效的控制,SDN技术在校园网、企业网、无线网和数据中心网络等多种环境下获得了广泛的实验部署。SDN最成功的实际应用当属在数据中心网络环境下。对于数据中心的内部网络,SDN/OpenFlow的创始团队成立了网络初创公司Nicira,瞄准云数据中心的网络虚拟化需求,提出了基于OpenFlow软件交换机的SDN解决方案[6],得到了虚拟化领域的巨头VMware公司的重视,并被后者以12.6亿美元收购。对于数据中心之间的网络,互联网巨头Google公司利用OpenFlow硬件交换机和分布式控制器,在全球多个数据中心之间实施流量工程,将广域网的链路利用率从30%~40%提升至接近100%,并且降低了交换机的网包缓存需求,使得网络状态变得更加稳定[7]。
与起源于学术界的SDN不同,网络领域最大的客户群体——运营商,对网络设备,尤其是网络服务设备,有着另一番认识。由于运营商所提供业务的多样性,其网络中部署了大量的专用硬件设备。而运营商每开通一项新业务,往往难以对已有的硬件资源进行重新利用,必须采购新的网络硬件设备才能实现对新业务的支持。这些新增的硬件设备消耗了机房和电力资源,增加了运营商的资本性支出(Capital Expenditure, CAPEX);同时,不同类型、不同厂商设备的管理接口和功能特性通常存在差异,运营商在进行系统集成和运营维护时面临着较高的复杂性,增加了运营商的运营成本(Operating Expense, OPEX)。更为严重的是,随着技术进步速度的逐步加快,网络设备的产品生命周期逐渐缩短,从而加快了产品的更新换代,影响了运营商利润的增长。
随着x86服务器性能的不断提升,网络中间设备平台逐渐进入网络设备厂商和运营商的视野,成为网络服务设备实现的备选平台。网络中间设备又称中间设备(Middlebox, MB),它能为网络流量提供安全增强、性能提升和带宽优化等多种监控功能。中间设备主要包括防火墙、入侵检测/防御系统、负载均衡器,以及虚拟专用网和广域网代理等多种服务型网关[8]。运营商希望利用通用硬件来减少对特定硬件平台的依赖,将网络功能从专用硬件设备中解耦出来,各自独立进行演进,从而实现根据需要动态灵活部署网络功能。2012年10月,AT&T、BT、DT、Orange等7家运营商在欧洲电信标准协会(European Telecommunications Standards Institute, ETSI)下发起成立了一个新的标准工作组——网络功能虚拟化(Network Function Virtualization, NFV)工作,并发布了NFV技术白皮书[9]。该工作组的主要目标是希望基于虚拟化技术,采用通用的计算、存储和网络硬件,承载各种类型的网络功能,实现在网络各个节点灵活部署配置,从而降低业务部署的复杂度,最终降低网络的CAPEX和OPEX。
自2012年该概念提出之后,NFV技术不仅在标准化方面推进迅速,在实现方案上也快速成熟。2012年,网络领域的顶级国际会议SIGCOMM上有一篇文章对中间设备在实际网络中的部署情况进行了调查,调查样本包括19个小型网络(终端数量少于1000)、18个中型网络(终端数量为1000~10 000)、11个大型网络(终端数量为10 000~100 000)和7个超大型网络(终端数量大于100 000),共55个实际网络环境[8]。如图1-1所示,在以上各种规模的网络环境下,中间设备的总量和交换设备的总量相当。例如,在超大型网络中,路由器的平均数量为2850台,而中间设备的平均数量为1946台;在小型网络中,上述两个数据分别为7.3台和10.2台,中间设备总数甚至超过了路由器总数。此外,在所有中间设备类型中,网络安全设备占了绝大多数,而防火墙和入侵检测/防御系统也分列平均部署总量的前两位。
图1-1 网络中间设备部署数量
SDN和NFV一起成为了下一代网络变革的核心技术。作为全球领先的运营商, AT&T公司在2013年9月发布的Domain 2.0网络变革计划中[10],旗帜鲜明地将SDN和NFV作为其下一代网络架构的关键技术;同时宣称到2020年,会将基于SDN和NFV的新架构运用到超过75%的对外电信网络服务中,并彻底转型为一家软件公司。
1.1.2 SDN/NFV的体系结构
根据ONF制定的SDN白皮书,SDN的体系结构可以分为3层:基础设施层、控制层和应用层[5],如图1-2所示。基础设施层与控制层之间通过控制数据平面接口(也称为南向接口)进行交互,控制层与应用层之间通过应用程序编程接口(也称为北向接口)进行交互。基础设施层由经过资源抽象的网络设备组成,这些网络设备仅实现网络转发等数据平面的功能,不包含或仅包含有限的控制平面的功能。控制层利用南向接口控制基础设施层的网络设备,构建并维护全局的网络视图,实现传统网络设备中控制平面的功能。应用层基于北向接口和控制层提供的网络视图进行编程,实现各种不同的网络应用,使得网络的转发行为能够通过软件进行定义,实现网络智能化。
图1-2 SDN架构概览
根据ETSI制定的NFV技术白皮书[9], NFV的体系结构可以分为3部分:虚拟网络功能、NFV基础设施、NFV管理和编排,如图1-3所示。NFV基础设施将基于通用服务器提供的计算、存储和网络进行虚拟化,形成不同类型的资源池。虚拟网络功能在虚拟化资源池的基础上实现各种网络设备的功能,如防火墙、入侵防御、视频加速、网络代理等。NFV管理和编排则在纵向上负责对上述两个部分进行配置和系统集成。
图1-3 NFV架构概览
ETSI的NFV技术白皮书中还描述了NFV与SDN之间的关系,具体如下。
1)SDN和NFV技术高度互补,但是并不相互依赖。NFV可以不基于SDN技术进行实现,然而两者相融合则可能产生更大的潜在价值。
2)利用数据中心现有的技术,NFV的目标可以基于非SDN的机制来实现。然而SDN所提出的控制平面和数据平面解耦的思路,可以进一步提升现有部署服务的性能并简化其互操作性,减轻运维的负担。
3)NFV能够为SDN软件提供其运行所需要的基础设施。
此外,NFV与SDN的目标都是尽可能使用通用/白牌服务器/交换机来实现网络功能,前者可使网络功能开发者只关注于虚拟网络资源的管理,而不需要关心底层硬件规格和其他细节;同样后者可让网络运维开发者只关注上层的网络业务特性和控制,而不需要花太多的精力在底层网络组网技术和数据包转发逻辑上。