【华为云技术分享】《跟唐老师学习云网络》 - TUN/TAP网线

介绍TUN/TAP设备的概念和常见作用(即打通VM和Host间的网络),以及和Veth-pair网线的区别。这一节内部比较简单,因为主要内容已经在Veth网线里面讲了。

什么是TUN/TAP

TUN/TAP是Linux中一种虚拟出来的网络设备,简单说,它也是一种“网线”,只是这种网线和Veth牌网线有点不同。Veth网线的2头是一样的,都是水晶头。TUN/TAP网线的2头长得不一样,一头是水晶头,另一头是USB的。

image.png

稍正式一点的描述,它是一种用户空间和内核空间传输报文用的网线。一头是普通的网卡,跟eth0一样,Host主机可以用;另一头则是一个文件描述符,给用户空间的程序用的。

image.png

大家都知道一个VM本质上是一个qemu进程,所以其实TUN/TAP网线大多都是给VM用的。即上图的右边其实就是VM啦,它里面看到的eth0就是虚拟出来的。

于是你跟Veth网线一样的去理解就行了,那么Host主机网络模型也类似:

image.png

 如果要添加TUNTAP网卡,还是使用咱们的ip命令。

image.png

ip tuntap add tap0 mode tap

这样就可以用的app程序,去open文件句柄“/dev/net/tun”了,发送&接收报文了。

扫描二维码关注公众号,回复: 9783888 查看本文章

那当你需要将你创建的这些VM连接起来组成局域网,或者与外界(主机外部)通信时,就需要用上Linux Bridge了。

image.png

Docker容器也是这样,如果希望将很多容器按组管理,或者容器连通外网,也会需要使用Linux Bridge(上图的 br0)。这个咱们下节课讲.

作者:tsjsdbd

发布了1070 篇原创文章 · 获赞 5456 · 访问量 108万+

猜你喜欢

转载自blog.csdn.net/devcloud/article/details/104746713