手册下载
H3C S1020V虚拟交换机技术白皮书-5W100-整本手册.pdf (624.70 KB)
H3C S1020V虚拟交换机技术白皮书
资料版本:5W100-20240919
Copyright © 2024 新华三技术有限公司 版权所有,保留一切权利。
非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。
除新华三技术有限公司的商标外,本手册中出现的其它公司的商标、产品标识及商品名称,由各自权利人拥有。
本文档中的信息可能变动,恕不另行通知。
随着虚拟化、云计算、大数据等技术的发展,数据中心网络承载业务逐渐多样化和复杂化,当前的基础网络架构越来越难以满足上层应用的需求,成为了数据中心业务发展的瓶颈。通过SDN(软件定义网络)实现网络灵活管理和控制的方式成为了解决当前瓶颈最重要的技术手段。为此H3C推出了一款支持网络虚拟化的分布式虚拟交换机S1020V。
S1020V是H3C公司面向运营商、企业和行业数据中心虚拟化环境推出的一款智能软件交换机产品,适用于H3C CAS和Workspace虚拟化软件,并能与开源的KVM等虚拟化系统紧密集成,为虚拟机提供功能增强型的分布式虚拟交换能力。
S1020V基于Open vSwitch(简称OVS)开源程序开发,本文也用OVS指代S1020V。
S1020V以软件包的形式安装到服务器上,可以对服务器上各虚拟机之间以及虚拟机与外部网络之间的流量进行转发。
S1020V可在云网络中建立起安全的、可审核的数据中心网络,为业务部门提供成本更低的基础架构,针对业务部门的需求做出快速的响应。
S1020V提供了高可靠的集群功能,通过多台控制器集群,可以控制数万台虚拟化主机,在其上建立超大规模分布式虚拟交换机,进而构建一个超大规模的虚拟网络。同时,集群支持主控制器的高可靠性,当主用虚拟交换机控制器发生故障时,备用虚拟交换机控制器可代替主用虚拟交换机控制器进行工作,提高了数据中心业务可靠、安全、高效的不间断运行的能力。
H3C AD-DC应用驱动数据中心解决方案通过SDN融合架构,实现全网协同统一编排,完成架构设计仿真、网络构建、运行保障端到端的业务闭环,为用户提供一站式的服务,降低运维压力。
S1020V也符合SDN的架构,它可以在服务器上创建虚拟化的网络,在虚拟机之间提供网络连接, 并且与SDN控制器集成后,可实现网络的灵活控制和管理。它可以跨越物理服务器、虚拟机和容器,提供统一的网络管理。
与物理交换机相比,S1020V具有如下优势:
(1) 硬件资源配置灵活:S1020V可以通过占用不同数量的服务器资源,从而获得不同的转发性能,以满足网络的实际需要。而物理交换机则完全由硬件规格决定最大性能。
(2) 支持集中化管理:S1020V完全支持SDN技术,并与SDN控制器紧密集成。网络管理员可以通过一个统一的SDN控制器管理界面进行配置、监控和故障处理等。简化了网络管理的过程,提高运维效率。物理交换机目前无法做到和SDN控制器的完全耦合。
(3) 低成本:S1020V是安装在服务器上的软件,仅占用服务器的部分性能资源即可实现交换功能,可以降低虚拟化场景中的网络成本。物理交换机硬件成本较高。
(4) 支持虚拟化网络:S1020V广泛应用于虚拟化环境中,如云计算平台。它可以提供虚拟化网络功能,支持虚拟机间的通信和隔离,以及虚拟机与物理网络之间的互联。物理交换机难以管理服务器内虚拟机间的流量。
(5) 高可用性:S1020V可以实现业务虚拟机在多台服务器之间的负载均衡和故障转移,提高网络的高可用性。物理交换机通常需要多台交换设备做冗余。
如图1所示,S1020V主要包括以下组件:ovs-vswitchd、ovsdb-server、ovs-failover、datapath、以及相关的维护工具。
主要组件:
l ovsdb-server:S1020V的数据库服务,用于管理S1020V的配置信息、操作记录。并将其保存到数据库文件conf.db中。
l ovs-vswitchd:S1020V核心服务,主要用于实现报文转发、与控制器进行OpenFlow报文交互、使用OVSDB协议与ovsdb-server通信、下发表项到datapath模块等。
l ovs-failover:逃生服务,用于提供控制器断连状态下的不间断dhcp地址分配和续约服务。
l Datapath:负责数据交换的内核服务,datapath从网口读取数据,并快速匹配Flowtable中的流表项。匹配成功的直接进行转发,匹配失败的通过netlink上送ovs-vswitchd处理。
维护工具:
· ovs-ofctl:基于OpenFlow协议对OpenFlow交换机进行监控和管理,可以显示一个OpenFlow交换机的当前状态。包括功能、配置和表项等。
· ovs-dpctl:用来配置交换机的内核模块datapath,它可以创建,修改和删除datapath,还可以统计每个datapath上的设备通过的流量,打印流的信息等。
· ovs-appctl:查询和控制运行中的OVS守护进程,包括ovs-switchd,datapath,OpenFlow控制器等。
· ovs-vsctl:查询和更新ovs-vswitchd的配置,负责和ovsdb-server相关的数据库操作。
· ovsdb-tool:ovsdb-client要借ovsdb-server才能进行相关数据库操作,而ovsdb-tool可以直接操作数据库。
图1 S1020V软件架构
S1020V在设计上遵循OpenFlow标准体系架构,实现控制平面与转发平面分离的可编程网络技术。
如图2所示:
· 在控制平面,S1020V支持配合H3C SeerEngine-DC控制器,由控制器提供可与云兼容的REST API。
· 在转发平面,S1020V安装和运行在计算节点的物理服务器上,能够完全取代服务器原有虚拟交换的功能,相当于OpenFlow标准中的OpenFlow交换机。
S1020V部署在多个计算节点服务器上后,可组成一个跨物理主机的分布式软件虚拟交换机。支持内核态和用户态转发,其中用户态转发利用了DPDK加速,实现了性能上的加速优化。
图2 S1020V典型组网
H3C S1020V按照不同的划分标准对应不同的桥模型:
· 按照转发模式来划分
可以分为system类型桥和netdev类型桥。system类型桥一般称为内核桥(OVS-Kernel),netdev类型桥一般称为DPDK桥(OVS-DPDK)。
OVS-DPDK桥使用DPDK进行用户态收发包,整体转发性能远优于OVS-Kernel内核桥,但是耗费主机资源较内核桥多,建议根据实际使用场景选择不同类型的OVS桥。
· 按照桥的数目来划分
可以分为单桥和双桥。双桥是指一个桥负责处理Overlay流量,此桥受SDN控制器管控,该桥通常称为内桥、VXLAN桥或Overlay桥;另一个桥负责处理Underlay流量,不受SDN控制器管控,该桥通常称为外桥、Normal桥或Underlay桥。两个桥之间用Patch口连接。
无论是单桥还是双桥,对控制器可见的只有一个桥,双桥时只有内桥对控制器可见。
目前H3C S1020V的内核桥采用单桥模型,DPDK桥采用双桥模型。但转发模式和桥数目本身没有依赖关系,不排除后续有其他的使用方式。
H3C S1020V的端口如表1所示:
表1 H3C S1020V端口说明
类型 |
说明 |
上行口 |
· 单桥的上行口是物理口 · 双桥的外桥上行口是物理口,type为DPDK |
桥口 |
Type为internal,又称VTEP口、Local口,与桥同名。桥口作为VXLAN隧道端点,用于VXLAN报文的解封装 |
vxlan口 |
Type为vxlan,名称为vxlan_桥口 |
虚机口 |
· 对于内核桥:一般是tap设备(Linux内核虚拟网络设备) · 对于DPDK桥:桥Type为DPDKvhostuserclient |
patch口 |
Type为patch。双桥才有patch口,连接外桥和内桥,但不会有流量转发 |
单桥模型如图3所示,OVS桥连接控制器,控制器会下发相应流表,指导OVS流量转发。虚机入方向流量转发路径如下:
(1) 外部VXLAN报文从Leaf发送到上行口;
(2) 上行口根据VXLAN报文外部目的IP(即VTEP IP)将报文转发到桥口;
(3) 桥口上会将VXLAN报文头剥掉并转发至VXLAN口;
(4) VXLAN口将内层报文转发给虚机口,最终达到虚机。
虚机出方向流量转发过程即相反过程,不再赘述。
图3 H3C S1020V单桥模型示意图
双桥模型如图4所示,双桥分为OVS外桥和OVS内桥。其中,OVS外桥对控制器不可见,默认只有一个自动生成的Normal流表,根据Normal流表可以对数据包进行二三层处理;OVS内桥对控制器可见,控制器会给OVS内桥下发流表,OVS根据下发的流表项处理报文。虚机入方向流量转发路径如下:
(1) 外部VXLAN报文从Leaf发送到OVS外桥上行口;
(2) OVS外桥上行口根据Normal流表将VXLAN报文外部目的IP(即VTEP IP)将报文转发到OVS外桥桥口;
(3) OVS外桥桥口上会将VXLAN报文头剥掉并转发至OVS内桥VXLAN口;
(4) OVS内桥VXLAN口将内层报文转发给OVS内桥上的虚机口,最终到达虚机。
虚机出方向流量转发过程即相反过程,不再赘述。
图4 H3C S1020V双桥模型示意图
H3C S1020V支持的特性如下:
· 支持DPDK收发包
· 支持VXLAN隧道
· 支持安全策略、状态化流表
· 支持主机分布式DHCP、主机逃生
· 支持端口聚合
· 支持端口镜像
· 支持端口限速,包括QoS限速、Meter限速
特性支持情况与H3C S1020V版本有关,请以H3C S1020V版本实际支持情况为准。
这里指的是DPDK桥支持的网卡,如表2所示。
表2 H3C S1020V DPDK桥支持的网卡
网卡速率 |
网卡型号 |
CPU架构 |
10G |
Intel 82599 |
X86 |
Intel X710 |
||
Intel X722 |
||
BCM 9573xx |
||
25G |
Intel XXV710 |
|
Intel E810-XXVDA2 |
||
Mellanox ConnectX-4 LX |
||
Mellanox ConnectX-5 EN |
||
Huawei TM280 |
ARM |
|
Huawei SP580 |
网卡支持情况与H3C S1020V版本有关,请以H3C S1020V版本实际支持情况为准。
H3C S1020V目前主要使用在主机overlay(主机上的虚拟交换机进行VXLAN封装、解封装)场景下,组网示意图如图5所示。
图5 H3C S1020V主机overlay组网示意图
S1020V支持对流量进行VLAN/VXLAN封装,并可将VXLAN路由保存到服务器,降低对物理网络的要求。VXLAN封装技术的主要功能为:
· 实现虚拟网络和物理网络的解耦合,支持在虚拟网络中便捷的扩展业务。
· 突破隔离网络的4K限制,虚拟网络的数目最多可扩展到16M。
S1020V不仅支持虚拟交换机的基本转发功能,还支持强大的虚拟网络管理功能:
· 支持虚拟网络(Network)和虚拟端口(Port)的创建、子网(Subnet)的配置以及虚拟路由器(Router)功能。用户可以实现虚拟网络内的二层转发,及跨虚拟网络的三层转发。
· 支持丰富的网络策略,如Qos策略、安全策略和IP/MAC绑定防欺骗等功能。当虚拟机上线的时候,系统会动态、智能的将网络策略绑定到虚拟网卡上,实现对虚拟机业务的流量整形和安全监控功能。
· 支持网络与迁移同步跟随,支持将集群内所有主机服务器上的虚端口统一编排,并使端口和下挂虚拟机的网卡一一对应。无论虚拟机迁移到哪台主机服务器上,其虚拟网卡对应的全局唯一编号都保持不变,网络策略可跟随迁移。并且可对所有的全局虚端口的流量统计和状态监控。
S1020V可兼容多个操作系统,除了支持H3C CAS和Workspace虚拟化管理平台外,也支持CentOS、BClinux、BClinux for euler等操作系统及其对应的虚拟化平台,同时S1020V可跨越不同操作系统、虚拟化平台完成VXLAN网络部署,具备良好的扩展性和兼容性。
在CentOS、BClinux和BClinux for euler操作系统中,S1020V可配合控制器在云网络中作为网络组件提供服务,在云的统一管理下,能够适配对应的虚拟化组件,提供云服务。
在CAS和Workspace虚拟化平台安装S1020V后可提供云上的VXLAN业务转发服务和纯二层转发服务,作为我司整体解决方案的组件,各产品之间的耦合度非常高。S1020V安装在CAS或Workspace中比安装在其它操作系统时可提供额外功能,包括但不限于:
· 支持对网络内的所有节点批量安装、升级S1020V。
· 支持在web界面上对DPDK、网桥、mtu、vlan tag和网卡聚合模式等与S1020V有关的配置进行增删改查,操作友好。同时web界面上还集成了各接口的流量统计功能。
· 支持将存储网络、管理网络纳入S1020V进行集中管理。并通过web界面展现。
S1020V可运行在多种CPU上,能兼容客户多样化的服务器需求。但可提供的功能、性能会因CPU支持的特性不同而有区别。目前支持的有:
· intel系列:5118、5218R和GOLD 6150等。
· 海光系列:Hygon 7265、7285和7360等。
· AMD系列:AMD 7542、7642和7763等。
· 鲲鹏系列:KP 920 3210、5250和5251K等。
· 飞腾系列:飞腾S2500、S5000。
对于以上CPU,普遍支持内核态,对DPDK用户态的支持则因CPU特性而异。
S1020V在单个转发平面的性能,处于业界领先水平。在使用DPDK时,单CPU的性能可以达到不使用DPDK时的6倍以上。增加S1020V使用的CPU数量后,还可以使性能达到更高的水平。
随着云网络的普及,应用场景变得越来越广泛,对网络中的性能要求也越来越高。即使在DPDK技术的加持下,OVS处理40G或100G网卡中的流量时占用的服务器资源也会偏高。为解决这些问题,虚拟交换机结合智能网卡的技术应运而生。
智能网卡是一种在网卡中集成了更多智能化功能、提高处理能力的高级网络接口卡。
智能网卡会拥有独立的操作系统,在S1020V支持智能网卡的场景中:
· S1020V可以安装在该操作系统内,通过与智能网卡的驱动程序协作,使用DPDK技术关联网卡接口和创建vhost口向业务侧提供服务。
· S1020V保留传统云网络中的虚拟网络管理功能。在SDN控制器下发网络策略后,可以通过S1020V实时同步到智能网卡上,对网络进行灵活配置和控制,动态配置智能网卡的处理规则。
· 大多数业务流量的处理都将在网卡上进行,从而减轻主机的硬件压力并提高转发性能。
· S1020V支持如下功能:
¡ 支持TCP、UDP流量的卸载。
¡ 支持基于接口的QOS卸载。
¡ 支持安全组场景下流规则卸载和流镜像场景下流规则卸载。
¡ 支持基于ACL规则匹配流规则卸载。
¡ 支持智能网卡bond模式。
¡ 运维功能:支持各类报文统计和硬件流表统计。
S1020V支持了移动IT云卸载规范,并配合硬件offload功能,可将业务流量卸载至智能网卡上,具体卸载流程如下:
(1) 主机收到首包流量时,上送S1020V进行用户态处理,生成dpcls快转表。
(2) S1020V使用rte_flow接口把转发表项卸载到网卡硬件上。
(3) 后续有流量进入时,会直接匹配硬件流表进行转发,实现硬件加速,提高转发性能。
如图6所示,流量到达主机后,首包流量会上送S1020V生成快转表,S1020V将流表卸载至智能网卡硬件上,后续流量直接进行硬件转发,降低主机CPU负载。
S1020V支持智能网卡场景,可以给云网络带来以下优势:
(1) 提高网络处理性能:S1020V可以将部分网络任务卸载给智能网卡,实现在硬件层面而非软件层面的流量转发,提高了网络的处理性能和吞吐量。
(2) 降低主机CPU负载:智能网卡场景下,S1020V软件安装在智能网卡单独的操作系统上,而不是主机服务器上。不会占用主机的CPU、内存等硬件资源,从而降低主机CPU的负载,用户可以利用节省的资源创建更多业务虚拟机。
H3C S1020V虚拟交换机基于SDN网络中OpenFlow交换机的概念,可以在服务器上创建虚拟化的网络,在虚拟机之间提供网络连接。与SDN控制器集成后,可实现云网络的灵活控制和管理,在虚拟化场景中相比于物理交换机有独特的优势。并且在支持智能网卡后,可以不占用服务器资源的同时拥有更强的性能表现,使得优点更为突出。