gpt4 book ai didi

linux - Linux 中的虚拟网络设备

转载 作者:IT王子 更新时间:2023-10-29 00:18:17 31 4
gpt4 key购买 nike

谁能详细解释一下 veth 对和 tap 接口(interface)的区别,以及这些设备如何连接到 linux bridge 或 openvswitch。

我发现了这个:“Veth 是成对创建的特殊网络设备,我认为它是一种改变流量方向的方法,也就是说,当出方向的流量从 Linux 协议(protocol)栈发送到 veth 设备时,它被发送到另一个它的镜像veth 设备,因此镜像将其视为方向流量并将其放回 Linux 协议(protocol)栈以供进一步使用。

Tap 设备是逻辑网络设备,但与其他设备不同的是:它允许用户空间程序直接将流量注入(inject) Linux 协议(protocol)栈,并且可以从堆栈中检索流量。它在用户空间的第 2 层(或第 3 层的 tun 设备)打开一条通往 Linux 协议(protocol)栈的隧道,该协议(protocol)栈会将来自用户空间的数据视为方向流量"

但它并没有给我全貌。

提前致谢!

最佳答案

使用 ip tuntap 创建的 Linux tap 接口(interface)不能用于附加网络命名空间到 linuxbridges 或 openvswitch,因此我们需要依赖 veth 对。

虚拟以太网接口(interface)成对出现,它们像一根 pipe 一样连接在一起——任何进入一个 veth 接口(interface)的东西都会从另一个对等的 veth 接口(interface)出来。因此,您可以使用 veth 接口(interface)通过“默认”或“全局”命名空间将网络命名空间连接到外部世界接口(interface)存在。

TAP 设备(例如 vnet0)是 KVM 和 Xen 等管理程序实现虚拟网络接口(interface)卡(通常称为 VIF 或 vNIC)的方式。发送到 TAP 设备的以太网帧由 guest 操作系统接收。

关于linux - Linux 中的虚拟网络设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25641630/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com