当前位置: 首页 > news >正文

04 KVM虚拟化网络概述

文章目录

    • 04 KVM虚拟化网络概述
      • 4.1 Linux Bridge
      • 4.2 Open vSwitch

04 KVM虚拟化网络概述

为了使虚拟机可以与外部进行网络通信,需要为虚拟机配置网络环境。KVM虚拟化支持Linux Bridge、Open vSwitch网桥等多种类型的网桥。如图1所示,数据传输路径为“虚拟机 -> 虚拟网卡设备 -> Linux Bridge或Open vSwitch网桥 -> 物理网卡”。创建网桥,除了为虚拟机配置虚拟网卡设备外,为主机创建网桥是连接虚拟化网络的关键。

图 1 虚拟网络结构图

image-20230206202829694

虚拟交换机,就是使用软件实现的交换机,具备硬件交换机的功能,但与硬件交换机相比减少了采购成本,且软件层面更具灵活性。虚拟交换机主要使用在云环境中,在虚拟机之间、虚拟机和外部网络之间实现网络的连通。

常用的虚拟交换机有多种,这里以主流的两种作为范例。

4.1 Linux Bridge

Linux Bridge简称网桥,工作在数据链路层,将多个局域网(LAN)连起来,根据MAC地址(物理地址)来转发帧,与二层硬件交换机功能相似,通常用于联接数量不多、同一类型的网段。

Linux Bridge使用brctl命令创建/删除网桥接口,使用ip或者ifconfig命令设置接口的MAC信息。Bridge设备网络接口可以和Linux上其他设备网络接口连接,从设备被虚拟化为端口port。Port的IP及MAC都不可用,且被设置为接受任何包,最终由Bridge设备来决定数据包的去向——接收到本机、转发、丢弃、广播。

Linux Bridge在L2数据链路层,通过学习和缓存在数据包中的源MAC地址以及物理层的端口,实现工作机制:

收到新数据包时,记录源MAC地址和输入端口;

根据数据包中目的MAC地址查找本地缓存,查找到对应的MAC地址记录;

若发现记录不在本地网络,则直接丢弃数据包;

若发现记录存在对应的端口,则将数据包直接从该端口转发出去;

如果本地缓存中不存在任何记录,则在本网段中进行广播。

4.2 Open vSwitch

Open vSwitch(OVS)是一种具有产品级质量的多层虚拟交换机,利用软件的方式实现了硬件交换机的功能。跟硬件交换机相比,OVS具备众多优点:

  • 配置灵活

一台普通的服务器可以配置出多台虚拟交换机且端口数目可以灵活选择,也可以通过可编程扩展来实现大规模网络自动化配置、管理和维护。同时,OVS支持现有标准管理接口和协议,如netFlow,sFlow,SPAN,RSPAN,LACP等。

  • 成本更低

硬件交换机以昂贵成本才能达到的性能用OVS即可达到。

OVS是运行在虚拟化平台上的虚拟交换机,为本台物理机上的VM提供二层网络接入,跟云计算中的物理交换机一样工作在L2层。

OVS主要包括用户态的转发逻辑处理线程ovs-vswitchd、数据库配置线程ovsdb-server和内核态的datapath模块。ovs-vswitchd线程是switch功能的实现核心,同时支持openflow,包含多个配置工具如ovs-dpctl等。ovsdb-server线程用于处理switch和flow table的配置。Datapath模块根据flowtable规则,处理数据包转发的任务。

img

OVS内部框架图(图片来源:《An overview of Openvswitch implementation》)

与Linux Bridge相比,Open vSwitch具有多种特性:

  • 网络隔离

OVS原生支持VLAN功能本身就可以支持二层网络隔离,同时能够像配置物理交换机一样把同一台host上的众多VM分配到不同VLAN中去。

  • QoS(服务质量)配置

可以按需配置每台VM不同的网络速率和网络带宽,以保证核心业务VM的网络性能,通过OVS命令配置接口的QoS,可以实现物理交换机的traffic queuing和traffic shaping功能。

  • 流量监控

支持配置Netflow、sFlow的功能配置,实现网络流量监控和分析。

  • 端口镜像

OVS可以配置各种span(SPAN, RSPAN, ERSPAN),把端口的数据包镜像复制到指定端口,再通过tcpdump抓包分析。

  • 其他功能

支持多种tunnel协议,如vxlan、gre等;支持openflow协议、ovn,具备SDN数据处理能力;支持dpdk,ebpf等高级功能,可以优化数据处理能力。

如果对Linux Bridge和OVS作比较,会发现两者之间优劣对比显而易见。Linux Bridge 作为内核实现的原生桥接功能具有转发逻辑简单、转发性能强、功能稳定和可靠等特点,但扩展性较一般;OVS是伴随着虚拟化平台一起成长的虚拟交换机,经过不断的优化,在性能上和Linux Bridge相差不大, 但其强大的可配置性和可扩展性便于使其得到更好的应用。

👍 点赞,你的认可是我创作的动力!

⭐️ 收藏,你的青睐是我努力的方向!

✏️ 评论,你的意见是我进步的财富!

image-20230428163949084

http://www.lryc.cn/news/63154.html

相关文章:

  • 110页智慧农业解决方案(农业信息化解决方案)(ppt可编辑)
  • Java知识体系及聊天室程序
  • java的详细发展历程
  • 丢石子
  • skywalking手动上报一些指标信息
  • NUMA详解
  • H68K在Armbina系统下开AP
  • 还不懂Redis?看完这个故事就明白了!
  • Haproxy负载均衡集群
  • 17.计及电转气协同的含碳捕集与垃圾焚烧虚拟电厂优化调度
  • 企业数字化管理中,数据治理到底怎么“治”
  • 《HelloGitHub》第 85 期
  • 自动驾驶人机交互HMI产品技术方案
  • 开发感悟20230426
  • C和C++的区别
  • 【力扣-141】 环形链表 + 【力扣-142】 环形链表 II
  • 云计算:优势与未来趋势
  • Linux namespace
  • 第十三章 移动和旋转(上)
  • 视频文件切片
  • 维生素的缺乏与生理功能,是否需要补充维生素【持续学习】
  • CUDA下载,以及下载GPU版本的pytorch
  • 学习笔记:c存储类
  • 236. 二叉树的最近公共祖先【190】
  • 即时配送,即时很重要!商家能不能盈利,“快”是源头
  • ChatGPT原理剖析
  • 「C/C++」C/C++软件跨平台思维
  • c# 通过界面上填写的信息输出到对应的word中,并另存为一个新的文件
  • HTML+CSS+JS 学习笔记(四)———jQuery
  • TryHackMe-Mnemonic(boot2root)