pcie usb3.0 驱动 for linux_Linux 中的虚拟网络

本文介绍了Linux环境下的网络虚拟化,重点关注Open vSwitch的使用和硬件加速技术,如PCIe SR-IOV,用于提高虚拟化网络性能。文章探讨了QEMU、virtio、TAP/TUN等虚拟化技术,并阐述了虚拟LANs和虚拟设备在虚拟化网络中的作用。
摘要由CSDN通过智能技术生成

许多人视虚拟化为 CPU,内存和存储的虚拟化,但是这样太过简单化解决方案了。网络是虚拟化的一个关键方面,代表虚拟化设置中第一等的元素。

虚拟化网络

我们从问题的高层次开始探索,然后深入到 Linux® 构建和支持的网络虚拟化各种方法。


在传统环境中(见图 1 ),一系列物理服务器支持所需的应用程序设置。为了实现服务器间的通信,每个服务器都包含一个或者多个网络接口卡(NICs),它们连接到一个外部网络设施上。带有网络软件栈的 NIC 通过网络设施支持端点间的通信。正如图 1 所示,这个在功能上表示为一个交换机,它支持参与其中的端点间的高效数据包通信。


图 1. 传统网络基础架构

7c16ff2e6c316a2710f21aa479be65b1.png

服务器合并背后的关键改革是物理硬件的抽象,允许多操作系统和应用程序共享硬件(见图 2)。这一改革名为 hypervisor (或者 virtual machine [VM] monitor)。每个 VM(一个操作系统和应用程序设置)视底层硬件为非共享的,一个完整机器,即使它们部分可能并不存在,或者被多个 VM 共享。虚拟的 NIC(vNIC)就是一个例子。管理程序为每个 VM 创建一个或者多个 vNICs。这些 NICs 对 VM 可以作为物理 NICs,但是它们实际上只表示 NIC 的接口。管理程序也允许虚拟网络的动态构建,由虚拟交换机完成,支持可配置的 VM 端点间的通信。最后,管理程序还允许和物理网络基础架构的通信,通过将服务器的物理 NICs 连接到管理程序的逻辑设施,允许管理程序中 VMs 间高效的通信,以及和外部网络的高效通信。在 参考资料 部分,您将会找到更多关于 Linux 管理程序信息的链接(开源操作系统的丰富区域)。

图 2. 虚拟的网络设施
d8d1bd0fcd7a089ad63a7da7fd0e1404.png

在这期间最重要的项目之一名为 Open vSwitch, 接下来本文会探讨这部分内容。


在服务器中隔离本地流量的一个问题就是流量不是外部可视的(例如,对网络分析员)。实现通过各种计划解决了这一问题,例如 OpenFlow,NetFlow 和 sFlow,它们还用于输出远程访问来控制和监控流量。

Open vSwitch

分布式虚拟交换机的早期实现已经结束,并且受限于管理程序专有设置的操作。但是在今天的云环境中,支持多管理程序共存的异构环境是很理想的。


Open vSwitch 是一个多层的虚拟交换机,在 Apache 2.0 许可下可用作为开放资源。截止 2010 年 5 月,Open vSwitch 已有版本 1.0.1 可用,并且支持一系列有用的功能。Open vSwitch 支持领先的开源管理程序解决方案,包括基于内核的 VM(KVM),VirtualBox,Xen 和 XenServer。它还是当前 Linux 桥模块的下拉替换。


Open vSwitch 由交换机守护,管理基于流的交换机的配套内核模块组成。还存在各种其他的守护程序和实体,用于管理交换机(特别是从 OpenFlow 方面)。您可以在用户空间完全运行 Open vSwitch,但是这么做会导致性能的下降。


除了为 VM 环境提供一个生产品质的交换机,Open vSwitch 还有令人印象深刻的功能路线图,和其他相似的、专有的解决方案竞争。

网络设备虚拟化

NIC 硬件的虚拟化以各种形式已经存在了一段时间 — 在虚拟交换机出现之前。本节将说明实现和硬件加速的部分内容,它们可用于改善网络虚拟化的速度。

QEMU

虽然 QEMU 是一个平台模拟器,但它还提供各种硬件设备的软件模拟,包括 NICs。此外,QEMU 还提供了用于 IP 地址分配的内部 Dynamic Host Configuration Protocol 服务器。QEMU 和 KVM 一起运作,提供平台模拟和独立的设备模拟,为基于 KVM 的虚拟化提供平台。您可以在 参考资料 部分了解更多关于 QEMU 的内容。

virtio

virtio 是一个 Linux 的输入/输出(I/O)准虚拟化框架,它简化并加快了 VM 到管理程序的 I/O 通信。virtio 创建了 VM 和用于虚拟块设备,通用的外围组件互连(PCI)设备,网络设备等的管理程序间 I/O 的标准化传输机制。您可以在 参考资料 部分了解更多 virtio 的内容。

TAP 和 TUN

虚拟化在网络栈中实现已经有一段时间了,允许 VM 访客网络栈访问主机网络栈。计划之二就是 TAP 和 TUN。TAP 是一个虚拟网络内核驱动,该驱动实现 Ethernet 设备,并在 Ethernet 框架级别操作。TAP 驱动提供了 Ethernet “tap”,访客 Ethernet 框架能够通过它进行通信。TUN(或者网络“通道”)模拟网络层设备,并且在 IP 数据包的较高层进行通信,这些数据包提供一些优化,因为底层 Ethernet 设备能够管理 TUN 的 IP 数据包的 2 层框架。

I/O 虚拟化

I/O 虚拟化来自在硬件层上支持加速虚拟化的 PCI-Special Interest Group(SIG)的标准化计划。特别是,Single-root IOV(SR-IOV)提供一个接口,通过它独立的 PCI Express(PCIe)卡能够作为多 PCIe 卡出现在众多用户面前,允许多个独立的驱动连接到 PCIe 卡,无需相互了解。SR-IOV 通过将虚拟功能扩展到各种用户来实现,这是作为 PCIe 空间的物理功能,但是在卡中作为共享功能表示。

SR-IOV 带给网络虚拟化的好处就是性能。比起实现物理 NIC 共享的管理程序,卡自身实现复合,允许从访客 VM I/O 接口直接到卡的通路。

Linux 今天包含对 SR-IOV 的支持,这对 KVM 管理程序很有好处。Xen 也包括对 SR-IOV 的支持,允许它高效地向访客 VMs 显示 vNIC。对 SR-IOV 的支持在 Open vSwitch 的路线图上。

虚拟 LANs

虽然相关,但是虚拟 LANs(VLANs)是网络虚拟化的物理方法。VLANs 提供创建跨分布网络的虚拟网络的能力,这样就会出现不同的主机(在独立的网络上),如果它们是相同广播域的一部分。VLANs 通过使用 VLAN 信息标记框架完成这个,用来识别特定 LAN(按照 Institute of Electrical and Electronics Engineers [IEEE] 802.1Q 标准)的成员关系。主机和 VLAN 交换机一起运作,进行物理网络虚拟化。然而,虽然 VLANs 提供独立网络的假象,但它们共享同一个网络以及可用带宽,影响阻塞带来的结果。

硬件加速

许多针对 I/O 的虚拟化加速开始出现,寻址 NICs 和其他设备。Intel® Virtualization Technology for Directed I/O(VT-d)提供隔离 I/O 资源的功能来获得改进的可靠性和安全性,它包括重映射直接内存访问(使用多级页表)和设备相关的中断重映射,支持未修正的和虚拟化感知的访客。Intel Virtual Machine Device Queues(VMDq)还通过硬件中的嵌入排序和智能排序,加速了在虚拟化设置中的网络通信流,实现了管理程序较低的 CPU 利用率和总体系统性能的更大程度改善。Linux 包含对两者的支持。

网络虚拟设备

目前为止,本文探讨了 NIC 设备和交换机的虚拟化,当前实现的部分内容,通过硬件加速虚拟化的部分方法。现在,我们将这个讨论扩大到通常的网络服务。

虚拟化范围内的有趣革新之一就是从服务器整合演化而来的生态系统。比起将应用程序投入到特定的硬件版本,服务器的一部分和服务器内扩展服务的强大 VM 相隔离。这些 VMs 被称为 虚拟设备, 因为它们关注一个特定的应用程序,被部署用于虚拟化设置。

虚拟设备通常连接到管理程序 — 或者有管理程序的良好网络设置— 来扩展特定的服务。这个之所以独特是因为,在合并服务器中,处理功能的部分(例如核)和 I/O 带宽能够为虚拟设备动态地配置。这个功能使它更成本有效(因为一个独立的服务器并不会为它而被隔离),并且您能够根据在服务器上运行的其他应用程序的需求,动态地改变它的功能。虚拟设备还能更易于管理,因为应用程序被绑定在操作系统中(在 VM 内)。无需特殊配置,因为 VM 是作为整体进行预配置的。这对于虚拟设备来说是个值得考虑的好处,这也是今天它一直发展的原因。

虚拟设备已经为许多企业软件进行了开发,并且包括 WAN 优化,路由器,虚拟专用网,防火墙,防止/检测入侵的系统,邮件分类和管理等等。除了网络服务以外,虚拟设备还用于存储,安全,应用程序框架以及内容管理。

结束语

曾几何时一切都可管理还是物理上可实现的。但是今天,在我们不断虚拟化的世界中,物理设备和服务已经消失不见。物理网络被虚拟化地分割,允许通信隔离和跨地理实体的虚拟网络的构建。应用程序消失在虚拟设备中,这些设备在强大服务器的核之间被分割,虽然为管理者添加了很多复杂性,但是也提供了更好的灵活性,改善了可管理能力。当然,Linux 就走在前沿。

您好,对于使用PCIEUSB 3.0 控制器 chip upd720201 在 Linux 系统下的驱动,下面是一个简要的回答: upd720201 是一种常见的 PCIEUSB 3.0 控制器芯片,一般用于将 PCIE 接口转换为 USB 3.0 接口的转换器或扩展卡上。在使用 Linux 系统时,对于 upd720201 的驱动,一般来说,Linux 内核已集成了常见的控制器芯片的驱动程序,因此通常无需手动安装额外的驱动。 通常在多数 Linux 发行版,内核已经支持 upd720201 控制器芯片,并自动加载正确的驱动。因此,当您将 PCIEUSB 3.0 转换器或扩展卡插入服务器或台式机的 PCIE 插槽时,Linux 内核会自动识别并加载驱动。运行 lsusb 命令可以查看与该控制器相关的 USB 设备是否正确识别。 但请注意,在某些情况下,可能会出现兼容性问题,导致标准内核驱动无法正常工作。如果您遇到这种情况,您可以尝试以下解决方法: 1. 更新 Linux 内核:某些发行版的内核版本可能较旧,不支持最新的硬件设备。通过更新最新版本的内核,可以增加对 upd720201 的支持,并解决兼容性问题。 2. 安装额外的驱动程序:如果更新内核后问题仍然存在,您可以尝试手动安装 upd720201 的特定驱动程序。您可以在 upd720201 控制器芯片制造商的网站上查找针对 Linux驱动程序,并根据提供的安装指南进行操作。 总结一下,大多数情况下,在 Linux 系统使用 PCIEUSB 3.0 控制器芯片 upd720201 时,不需要手动安装额外驱动程序。但在某些情况下,可能需要更新内核或安装特定的驱动程序来解决兼容性问题。希望能对您有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值