分享

网络虚拟化,看这一篇就够了!

 wanglh5555 2020-07-28

不久之前有一篇《万字长文:IP网络的前浪和后浪》从网工的视角介绍了IP网络的发展变化。其中最后推荐的Cisco的大牛的Silivano Gai 的《Building-Future-Proof-Cloud-Infrastructure-Architecture》的确值得一读。其中就高屋建瓴:

“The debate between bridging and routing supporters has been very active for the last 25 years. With Ethernet being the only surviving technology at layer 2, the term bridging is today a synonym of Ethernet bridging, with its behavior defined by the Institute of Electrical and Electronics Engineers (IEEE) in IEEE 802.1 [2] and implemented by bridges. On the other hand, IP is the only surviving technology at layer 3, and routing is the synonym of IP routing with its behavior defined by IETF [3] (Internet Engineering Task Force) RFC (Request For Comment) standards and implemented by routers.”

因此,对于网络虚拟化也就相对简单明了,就是L2/L3之间的事情。接上次的作业,个人认为需要有一个名词解释的环节了。对于网络虚拟化,就从这个开始吧。

分类
技术
交换机
VEB, VEPA, VNTAG,VSS,DVS, OVS, FEX 
二层的link
VLAN
L2 网络 on L2VLAN
L2 网络 on L3NVO3,VXLAN,NVGRE,STT,TRILL,LISP
路由
VRF,VRRP
L3 网络 on L3
MPLS, GRE, GUE, Geneve 

VEB  (Virtual Ethernet Bridge )

最初的VEB的例子就是VMware的vswitch。

对于VEB的实现,有软件和硬件两类。[1]

软件VEB就是虚拟交换机上联物理网卡,来自虚拟网卡的包先到虚拟交换机,根据虚拟交换机的信息,VM之间的包由vswitch转发,需要到外部的包转发到物理网卡。

硬件的VEB其实就是基于SRIOV的网卡,SRIOV可以让虚拟网卡bypass hypervisor的虚拟交换机直接到虚拟机。SRIOV的网卡替代了虚拟交换机的功能,对于VM之间的包的路径,还是一样。

可以看出,VEB的基本功能是VM之间的包交换,这个交换发生在server端,如果考虑到整体的网络管理功能,特别是ACL之类的控制,交换机厂家是有需求希望可以让VM之间的流量到交换机的。

VEPA(Virtual Ethernet Port Aggregator ):

这个就是有人讲的“发卡弯”了,虚拟机所有的流量都通过物理网卡到外置的交换机去,这样原来虚拟交换机的功能都可以卸载到物理交换机上了,物理网络和虚拟网络都在一起了。

这里面有一个hairpinning的概念了,就是同一台物理机上的虚拟机之间的流量在交换机对应的端口进,同端口出,对于一个合格的2层交换机,STP(spinning tree protocol)是不允许的。这个就需要特殊的虚拟化支持了。

这里的EVB,就是Edge Virtual Bridge的意思。VEPA是HP提出的IEEE的协议IEEE 802.1qbg standard.

对于VEPA来讲,VM和Hypervisor的权利被剥离了,如果他们需要直接访问网卡,或者部分VM就希望使用VEB,因此VEPA就有了S-Channel的观念来支持多样的需求。

VNTAG (Virtual Network TAG)

对于上面VEPA对于STP的违反,Cisco在 802.1qbh ‘Bridge Port Extension.’ 基础上提出了VNTAG来解决VM的网络管理的问题。[2]

VIF_ID在一个物理网口上定义多个虚拟的网口,从而解决了hairpinning的问题。

对于交换机自身,也有虚拟化的需求:

VSS (Vmware Stanard Virtual Switch) 这个不用讲了。最基础的虚拟网络。[3]

DVS (Distributed Virtual Switches)

这个也是VMware的概念。Vsphere多node之间的网络管理。[4]

OVS ( Open vSwitch)

目前公有云最热门的虚拟网络交换。

FEX ( Fabric Extender) 

Cisco的虚拟交换机系统,可以聚合物理交换机到单一的逻辑交换机。

VLAN -这个不用解释了

传统的数据中心需要支持BUM (Broadcast, unknown-unicast and multicast )traffic 以及二层的桥接技术。为了这些功能,网络架构相对比较复杂,有过多的冗余设计,难以扩展。一般采用“1+1”的冗余设计,网络规模要靠增加交换机来扩大。

现代的数据中心没有这些负担,设备的同质化很高,网络可以集中在Unicast和三层路由,从而大大简化网络的负责程度。现代的数据中心网络一般采用全三层设计,路由网络协议,没有二层的桥接,组播和广播的功能。

Overlay

本质上就是在三层网络上跑二层的协议。[6]

接着就理解下面的2层over 3层,和3层 over 3层了。

NVO3 (Network Virtualization Overlays)[5]

The purpose of the NVO3 WG is to develop a set of protocols and/or
protocol extensions that enable network virtualization within a data
center (DC) environment that assumes an IP-based underlay. An NVO3
solution provides layer 2 and/or layer 3 services for virtual networks
enabling multi-tenancy and workload mobility, addressing the issues
described in the problem statement (including management and security),
and consistent with the framework previously produced by the NVO3 WG.

The NVO3 WG will develop solutions for network virtualization based on
the following architectural tenets:
- Support for an IP-based underlay data plane
- A logically centralized authority for network virtualization
Network virtualization approaches that do not adhere to these tenets are
explicitly outside of the scope of the NVO3 WG.

In pursuit of the solutions described above, the NVO3 WG will document
an architecture for network virtualization within a data center
environment.

NVO3 更像一个多租户的公有云环境下的整体框架,和之前的OSI的7层模型类似,没有很强的操作意义,反而其中某些技术的作用更大。

VXLAN (Virtual eXtensible Local Area Networks)

VNI -Virtual Network interface

VTEP - Virtual Tunnel End Point

VxLAN的报文格式

NVGRE (Network Virtualization Using Generic Routing Encapsulation)

从名字上看是基于GRE (Generic Routing Encapsulation),报文的格式如下,目前的主要用户是微软。

STT (Stateless Transport Tunneling Protocol)

STT和VXLAN和NVGRE一样,都是一种tunelling的协议。

在STT中因为使用了TCP的header,因此就引入两个优化的技术。LSO(large segmentation offloading )和LRO (large receive offlaoding).

TRILL (Transparent Interconnection of Lots of Links )

数据中心网络带宽优化的方法。作为新的大二层网络的代表,在2010年和SPB (Shortest Path Bridging )之间有过较量,但是目前数据中心大二层的概念已经被overlay的概念替代了。

TRILL可能代表着数据中心网络中交换机为中心的没落,网络虚拟化从而转向以Host位置的VXLAN/NVGRE/STT的时代。

LISP (Locator/ID Separation Protocol)

Cisco 主导的下一代三层路由的协议。不知道是否可以取代目前数据中心中普遍使用的BGP协议。

VRF (virtual routing and forwarding)

和二层的VLAN类似,可以让多个路由表在一个物理路由上共存。

VRRP (Virtual Router Redundancy Protocol)

这个主要是路由器之间的冗余配置协议,详细的对比如下[7]

MPLS (Multi-protocol label switching)

这个貌似是现在整个互联网的基石。标准的L3 in L3.

GRE (Generic Routing Encapsulation)

先到这里吧,只是讲了目前数据中心网络虚拟化的方面相关的一些名词,就有感觉这个坑越来越大的感觉。在云计算兴起之前,还有carrier ethernet和data center ethenet的说法,现在可以看到NFV的兴起,两个网络有融合的趋势,可能在5G,边缘计算的大框架里,ICT已经合体。

[1]http://networkerhere./2012/11/impact-of-server-virtualization-on.html

[2]http://www./access-layer-network-virtualization-vn-tag-and-vepa/

[3]https://pubs./vsphere-51/topic/com.vmware.wssdk.pg.doc/PG_Networking.11.4.html?resultof=%22%56%53%53%22%20%22%76%73%73%22%20

[4]https://pubs./vsphere-51/index.jsp?topic=%2Fcom.vmware.wssdk.pg.doc%2FPG_Networking.11.4.html

[6]企业数字化基石――阿里巴巴云计算基础设施实践

[5]https://datatracker./wg/nvo3/about/

[7]https://www./hsrp-vrrp-glbp-comparison/


高端微信群介绍

创业投资群


AI、IOT、芯片创始人、投资人、分析师、券商

闪存群


覆盖5000多位全球华人闪存、存储芯片精英

云计算群


全闪存、软件定义存储SDS、超融合等公有云和私有云讨论

AI芯片群


讨论AI芯片和GPU、FPGA、CPU异构计算

5G群


物联网、5G芯片讨论

第三代半导体群

氮化镓、碳化硅等化合物半导体讨论

储芯片群

DRAM、NAND、3D XPoint等各类存储介质和主控讨论

汽车电子群

MCU、电源、传感器等汽车电子讨论

光电器件群

光通信、激光器、ToF、AR、VCSEL等光电器件讨论

渠道群

存储和芯片产品报价、行情、渠道、供应链

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多