服务器虚拟化改变了IT运营方式,随之而来的是越来越多的网络被虚拟化。
当今,几乎所有的IT基础架构都在朝云的方向发展。在基础架构中,服务器和存储虚拟化已经发展的比较成熟,作为基础架构中的虚拟网络,为了迎合云计算和互联网发展的需求,迎来了新的挑战,UCloud虚拟网络平台负责人徐亮对此进行了梳理。
徐亮,UCloud虚拟网络平台负责人,公司首位5级技术专家。先后任职于上海贝尔、腾讯,有超过18年电信与互联网行业研发管理经验。加入UCloud后主要负责云平台网络架构,包括UXR网络解耦、网络产品架构升级、虚拟网络架构升级等。
网络虚拟化与SDN
网络虚拟化是一个历史比较悠久的概念,普遍认为最初的网络虚拟化是起源于VLAN。网络虚拟化让一个物理网络能够支持多个逻辑网络。虚拟化保留了网络设计中原有的层次结构、数据通道和所能提供的服务,使得最终用户的体验和独享物理网络一样。因此带来了三大优势:帮助更好的利用网络资源,平摊被过度使用的资源上的通信量;无需部署专用物理架构就可以实现一些隔离操作, 提高网络安全性;合并端口,以提高网络的利用率和性能。
SDN(Software-defined Networking)是将网络设备的控制平面(control plane)从数据平面(data plane)中分离,改用软件的方式实现,即软件定义网络。SDN可使网络管理员在不变更硬件设备的前提下,以中央控制的方式用程序重新规划网络,为控制网络流量提供了新方案,也为核心网络和应用创新提供了良好平台,成为网络虚拟化发展的有力推动者。
云计算给网络虚拟化带来新挑战
首先,云计算,特别是公有云,需要网络虚拟化提供多租户和VPC的能力。VPC(Virtual Private Cloud)允许不同租户甚至同一租户的网络地址重叠,广播域独立,必然导致对网络虚拟化的需求。最早的网络虚拟化是VLAN协议,但VLAN协议中的VID只有12个bit,仅支持4094个虚拟网络,在公有云的环境下是远远不够的。这就促使公有云厂商纷纷引入Overlay技术解决这一问题。从早期的NVGRE到现在比较主流的VxLAN,和比较新的GENEVE,都支持24 bits(16M)的租户ID,满足了公有云的需求。
其次,云计算需要SDN帮助提供灵活、弹性的控制面。传统网络中大多使用硬件设备,如果新增了一个租户,去配置硬件设备是一件比较困难的事情,因为每家配置都是不同的。但是如果用计算的方式,通过软件可以在不触及物理网络设备的情况下,动态的去修改网络配置,从而使网络虚拟化能够像计算一样轻松、快速、动态。
举个例子来说明:当租户VPC-100下的一台VM10.10.12.34要访问同子网下的另一个IP 10.10.56.78时,首先需要通过ARP协议去获得10.10.56.78的MAC地址。当这个ARP请求报文到达宿主机的vSwitch上时,由于VPC的存在IP地址可能被不同租户复用,所以首先必须要识别出该ARP请求来自VPC-100,才能识别出这个ARP报文请求的是VPC-100下的IP 10.10.56.78. 由于Overlay网络不支持广播,所以需要知道该子网下所有VM所在的宿主机在哪里,才能够把这个ARP请求加上Overlay封装送到目的宿主机上。当然如果vSwitch了解VPC-100的10.10.56.78