网络虚拟化解决了什么问题?

发布时间:2022-01-28作者:小编阅读:0

网络虚拟化技术是伴随着服务器虚拟化技术不断发展的,网络虚拟化重点解决了以下问题:

虚拟机虚拟网卡如何实现,以及它如何与外界物理网络设备进行交互。毕竟ECS实际上是一台虚拟机,不可能每台虚拟机都对应一块真正的物理网卡。

随着数据中心规模的不断扩大,传统二层组网方式逐渐暴露出一些技术短板,诸如VLAN标签域存在数量上限4096、核心交换机MAC/ARP表项过大引发性能损耗、虚拟机跨三层网络无法热迁移等问题,严重阻碍了云数据中心规模发展。引入网络虚拟化技术,在基础网络上构建租户专有网络并构建大二层网络,是解决上述问题的一个有效方法。

我们可以参考计算虚拟化、Overlay的一些技术演进来了解网络虚拟化。网络虚拟化本质上是一个对虚拟机原始指令和报文进行封装/解封装的过程,让物理机系统能承载虚拟机系统,基础网络能承载虚拟网络。那么,虚拟机管理器(VMM)如何截获虚拟机网络I/O指令,翻译成物理机内核协议栈的I/O指令下发至网卡驱动?Overlay技术如何基于传统IP协议完成封装、交互和解封装,从而使得虚拟机能跨局域网甚至数据中心进行互访和迁移?这些问题通过网络虚拟化技术均可以得到完美解决。

下面将介绍三种网络虚拟化技术:网卡虚拟化、虚拟交换技术和最常见的Overlay技术——VXLAN。

网络虚拟化解决了什么问题?

1.网卡虚拟化SR-IOV(Single Root I/O Virtualization)是基于网卡的虚拟化解决方案,可提升性能和可伸缩性。SR-IOV标准允许在虚拟机之间高效共享PCIe设备,并且在硬件中实现以获得与服务器几乎一样的性能。一个SR-IOV设备具有一个或多个PF(物理功能),PF是标准的PCIe设备(比如网卡)。每个PF都可以创建多个VF(虚拟功能),VF是“轻量级”的PCIe设备,每个VF都拥有独立的收发数据包的关键资源,如收发队列、DMA通道等,并且与其他VF共享其他非关键的设备资源。把一个VF分配给一台虚拟机,该虚拟设备就具备了直接使用该VF进行数据发送和接收的能力,并且可以直接进行I/O操作。

2.虚拟交换技术虚拟机虚拟网卡是网络虚拟化的前端,其如何与物理网络设备进行交互,以及如何与其他虚拟机进行交互是实现虚拟化网络的关键。业界通用的实现方案是在物理服务器上部署一套虚拟交换机(vSwitch)作为虚拟机和物理网络的中继设备,提供基础二层转发能力和部分高级特性。

虚拟交换机有大家熟知的VMware ESXi vSwitch、开源的OpenvSwitch和LinuxBridge,以及阿里云自研的第一代和第二代虚拟交换机AVS。下面重点介绍业界比较流行的开源虚拟交换机:OpenvSwitch(OVS)。

(1)OpenvSwitch

OpenvSwitch是一个虚拟交换机软件,支持Xen/XenServer、KVM以及VirtualBox多种虚拟化技术,也支持802.1Q、网卡绑定、NetFlow/sFlow、GRE和VXLAN隧道等功能。

OpenvSwitch主要组件有datapath、vswitchd和ovsdb,其中datapath是负责数据交换的内核模块,它负责从网口读取数据,并快速匹配FlowTable中的流表项,如果匹配成功,则直接转发,否则上交vswitchd处理,它在初始化和端口绑定时注册钩子函数,把端口的报文处理接管到内核模块中;vswitchd是一个守护进程,它是OVS的管理和控制服务,通过UNIX Socket将配置信息保存到ovsdb中,并通过NetLink和内核模块交互;ovsdb则是OVS的数据库,其中保存了OVS配置信息。

OpenvSwitch数据包转发流程如下:

①设置标准以太网接口模式为混杂模式,从以太网接口中截获数据包,提取出关键字段。如果能够匹配流表,则转入⑦,否则转入②。

②通过调用upcall函数,使用NetLink协议封装数据包并上传到用户空间。在vswitchd模块中对NetLink消息解封装后,在ovsdb中进行查表匹配,如果能够匹配流表,则转入④,否则转入③。

③通过OpenFlow协议与控制器通信,控制器下发流表项,vswitchd模块通过解析流表项得到相应的动作,同时将流表项存储到ovsdb中。

④将匹配的流表项组织成内核FlowTable中的表项结构,并通过NetLink协议将流表项下发至内核的FlowTable中。

⑤通过调用reinject函数,使用NetLink协议封装数据包,重新发回至内核中。

⑥重新通过datapath模块进行流表项查找匹配。

⑦根据查找结果,指导数据包的转发。

OpenvSwitch可以建立网桥,将物理网卡和虚拟机TAP设备进行桥接,像交换机一样进行二层转发,为虚拟机和网络设备建立桥梁。虚拟机之间在学习到对方的ARP信息后,可以正常通过OVS和物理交换机进行数据转发。

亿联云作为国内知名的云服务综合解决方案提供商,拥有包括数据中心专线、互联网专线MPLS专线、云专线以及SD-WAN在内的多种产品,可为您提供专业、灵活、多样性的专线及SD-WAN组网解决方案,如有任何疑问,欢迎致电010-53390328!

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,请联系站长邮箱:shawn.lee@eliancloud.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

标题:网络虚拟化解决了什么问题?

TAG标签:

地址:https://www.elinkcloud.cn/article/20220110174126.html

上一篇:云计算中的关键技术和难点技术有哪些?
下一篇:云计算迎来黄金十年,新风向标在哪里?
返回顶部