《企业级容器云架构开发指南》—2.2.2 微服务的特性
543
2022-05-29
1.2 虚拟化热点技术与终极目标
1.2.1 网络虚拟化
虚拟化技术体系的核心是计算虚拟化,体现为一个物理主机分割为多个虚拟机,但整个虚拟化技术体系中最难的则是网络虚拟化技术,这对绝大多数软件工程师和IT人员来说,都是一个高门槛的领域。
互联网已经成为我们生活中必不可少的一部分,可能对于很多人来说,一年的语音通话时长要远远少于上网和网络即时通信所花费的时间。对于一台无法联网的计算机来说,它的价值甚至不如一个能上网的手机。对于虚拟机也是一样的,如果虚拟出来的虚拟机不能与其他虚拟机进行通信,不能访问外网或不能被外网访问,那么虚拟机的价值将会大打折扣,公有云将不会存在。
怎么理解网络虚拟化?简单来说,原来是一个物理服务器作为单独的通信端点存在,但虚拟化后,变成多个拥有独立IP的虚拟机。这些虚拟机跟物理机一样,也需要挂接到交换机上进行通信,虚拟机的IP地址与物理机的IP地址属于两个不同的IP地址平面,相互是隔离的,如果一个物理机上的虚拟机与另外一个物理机上的虚拟机要进行通信,那么通信的报文就必须通过物理机的IP地址和物理链路进行传递,所以就出现了所谓的报文封装的概念和技术,如GRE隧道或者VXLAN以及其他厂商的私有方案。
通常来说,位于一个机房或数据中心的所有物理机属于同一个局域网,延伸开来,这些物理机上的所有虚拟机也属于同一个虚拟局域网。由于虚拟机的数量可能是物理机数量的10倍甚至100倍,所以这个虚拟局域网又被称为“大二层”交换网,即总体上是一个扁平的二层网络,只有交换而没有路由。我们知道,网络通信严重依赖于网络设备,如网卡、交换机、路由器,与CPU不同的网络相关规范标准与硬件升级都是一个很缓慢的过程,所以网络虚拟化发展缓慢,目前主要还是采用软件模拟的方式来兼容已有的网络协议和网络设备,导致虚拟化网络的性能成为明显的瓶颈。但可以预见的是,不久的将来,越来越多的网络设备将会直接支持网络虚拟化技术,如VXLAN与GRE。
1.网络虚拟化之SDN
除了“大二层”的底层网络虚拟化技术之外,网络虚拟化目前在朝着两个比较热门的高层领域加速发展。第一个是SDN(Software Defined Network,软件定义的网络)。SDN实际上是想抛弃传统的网络管理模式,通过虚拟化平台提供的网络管理界面,采用软件的方式来完成任意业务所需的底层网络的规划、部署、扩容和自动化管理能力,即通过简单的软件操作就能完全控制网络的定义和管理。SDN希望虚拟机所依附的网络也像虚拟机那样能够实现灵活定义、动态改变和自动化管理。
SDN之所以会兴起,背后有深刻的原因:传统网络的规划建设很多时候没有办法覆盖可能承载的各类业务,而且一旦建成,就基本上一成不变,但业务则是不断发展和变化的,底层网络的不变与其上业务的不断变化就产生了矛盾。此外,在这个竞争加剧的互联网时代,软件敏捷交付以支持业务快速上线的能力正变得越来越重要,虚拟化技术的不断发展也进一步促进了这方面的进步。但网络这部分则始终游离在软件交付的控制范围之外,如果待交付的软件需要对网络做一些定制的配置,如开启某些端口、配置某些路由,则软件团队必须要提交一个工单给网络管理员(或者网运部门),后者经过漫长的审批和施工才能完成工单。如果在这个过程中信息有所缺失或者沟通不畅,那么等待的时间将会大幅增加。在这个场景中,我们看到底层网络与上层应用的第二个越来越突出的矛盾:网络与应用完全隔离,缺乏联动。因此,SDN技术必然出现,可以将其看作以软件为核心的虚拟化技术进一步蚕食传统网络供应商地盘的结果,SDN要淘汰原先与应用无关的传统网络管理和运维模式,使得软件敏捷交付变得更加敏捷,进一步提升了软件技术在整个IT行业的领导力和价值。
SDN把网络这一层拆分为三部分:第一部分是数据平面(Data Plane),专门负责数据传输,相当于网络底层的传输部分;第二部分是控制平面(Control Plane),它属于SDN的核心和主要模块,负责对网络设备下发管理指令,所有网络设备都由集中的一个Controller控制,底层的协议是标准的,纳入SDN系统的所有设备都要遵循标准协议,因此Controller可以无缝对接和管理不同厂家的数据平面网络设备,成为实际上标准化的大网管平台;第三部分就是SDN Controller定义的网络管理接口,这些接口采用了流行的REST API方式进行定义,这样一来,上层应用就可以采用REST API来实现SDN的宣传理念——软件定义网络,如编程方式定义路由策略、流量控制策略,修改防火墙规则,映射NAT端口,创建子网等。SDN的提出和发展也进一步促进了云计算的大规模推广。但是目前SDN碰到了一个比较棘手的问题,即Controller对下面的数据平面有标准接口,但是Controller开放出来的RESTful API没有一个公开认可的标准,所以这一块的接口比较杂乱,每个厂家的接口都不一样,因此上层应用需要针对不同厂家的SDN Controller的特点进行相应的适配,这增加了开发的工作量和难度。
2.网络虚拟化之NFV
除了SDN,网络虚拟化的另外一个重点发展方向就是NFV(Network Function Virtualization网络功能虚拟化)技术,NFV主要针对电信行业,背后的推动力量也是电信行业与相关的供应商,图1-4为我们展示了NFV与SDN的关系。
在传统电信领域中的网元设备基本上都是各个专业厂商生产的,这些网元设备的软件与硬件相对都很封闭,大部分采用了专有的硬件,因此成本相对较高,而对于其性能我们也无法很客观地进行评价,专有系统也不利于大规模自动化运维。随着云计算的规模化发展,电信行业希望将网元设备标准化,底层的网络功能完全采用标准化的X86设备支撑,从而搭上了网络虚拟化的顺风车。
图1-4 网络虚拟化之NFV和SDN
NFV将网元底层硬件交给X86,并且将底层网络功能交给网络虚拟化技术实现以后,网元中的上层电信应用则可以统一在X86平台上提供,各个厂商的软件只要符合NFV标准规范即可,从而实现了网元设备软硬件的彻底分离及标准化目标。未来各个电信软件开发商只需要提供具有标准化功能的网元软件(程序代码),这些网元软件既可以安装在标准的X86通用服务器上,也可以部署在X86虚拟机上,这些虚拟机可能是电信运营商内部的资源,也可能是公有云上的资源,因此电信业务很容易根据用户规模的变化而快速弹性伸缩,并且电信新业务的试点和开展也变得更加容易。正因为前景一片光明,NFV已成为目前电信行业的一个重点技术,并已在国外很多运营商中得到了大规模的推广,如韩国、美国及欧洲的电信行业中都有相应的NFV商用案例。目前国内的中国移动、中国联通、中国电信都在进行NFV试点,摸索和积累整个网络向NFV迁移的问题和经验。根据规划,2017~2018年将是NFV大规模地推广或者至少是生产过亿的一年。
OpenStack 云计算
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。