Linux   发布时间:2022-04-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Linux中的虚拟网络设备大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

有人可以详细解释veth对和tap接口有什么区别,以及这些设备如何连接到 linux bridge或openvswitch. 我找到了这个: “Veth是一对特殊的网络设备,我认为它是一种改变流量方向的方法,也就是说,当外向方向流量从Linux协议栈发送到veth设备时,它被发送到另一个镜像veth设备,所以镜像将其视为方向流量,并将其放回Linux协议栈进行进一步的使用. 分接设备是逻辑网络设备
有人可以详细解释veth对和tap接口有什么区别,以及这些设备如何连接到 linux bridge或openvswitch.

我找到了这个:
“Veth是一对特殊的网络设备,我认为它是一种改变流量方向的方法,也就是说,当外向方向流量从Linux协议栈发送到veth设备时,它被发送到另一个镜像veth设备,所以镜像将其视为方向流量,并将其放回Linux协议栈进行进一步的使用.

分接设备是逻辑网络设备,但与其他设备不同:它允许用户空间程序直接将流量注入到Linux协议栈中,并且可以从栈中检索流量.它在用户空间中打开了一个到2层的Linux协议栈(或3级Tun设备)的隧道,该堆栈会用户空间中的数据,如方向流量“

但它并没有给我全部的照片.

提前致谢!

解决方法

这些虚拟网络工件的目的是类似的.但有微妙的差异,因此它们在不同的情况下使用:

> TAP:用户空间应用程序/ VM可以读取或写入以太网帧到分接口,它将到达主机内核,它将像任何其他以太网帧一样通过物理(例如eth0)端口到达内核.您可以将其添加到软件桥(例如linux-bridgE)
> VETH:通常在尝试连接两个想要“获得”的实体(由于缺乏更好的短语)连接转发/接收帧的接口时使用.这些实体可以是container / bridges / ovs-switch等.假设您要将docker / lxc容器连接到OVs.可以创建一个veth对,并将第一个接口推送到docker / lxc(例如,作为物理接口),然后将另一个接口推送到OVs.你不能用TAP这样做.

请注意,我们不应该误会我们需要使用VETH,而不要在使用OVS时点击.我们可以随时创建OVS中的内部端口,其行为与tap接口完全相同.但是,这并不总是可能的,例如当您想要连接到无法合成类似Tap的界面的实体时.即:

$ovs-vsctl add-port ovs-switch-name tap0

现在可以使用tap0,就像我们使用tap接口一样.

大佬总结

以上是大佬教程为你收集整理的Linux中的虚拟网络设备全部内容,希望文章能够帮你解决Linux中的虚拟网络设备所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。