【华为云技术分享】《跟唐老师学习云网络》 - TUN/TAP网线
介绍TUN/TAP设备的概念和常见作用(即打通VM和Host间的网络),以及和Veth-pair网线的区别。这一节内部比较简单,因为主要内容已经在Veth网线里面讲了。
什么是TUN/TAP
TUN/TAP是Linux中一种虚拟出来的网络设备,简单说,它也是一种“网线”,只是这种网线和Veth牌网线有点不同。Veth网线的2头是一样的,都是水晶头。TUN/TAP网线的2头长得不一样,一头是水晶头,另一头是USB的。
稍正式一点的描述,它是一种用户空间和内核空间传输报文用的网线。一头是普通的网卡,跟eth0一样,Host主机可以用;另一头则是一个文件描述符,给用户空间的程序用的。
大家都知道一个VM本质上是一个qemu进程,所以其实TUN/TAP网线大多都是给VM用的。即上图的右边其实就是VM啦,它里面看到的eth0就是虚拟出来的。
于是你跟Veth网线一样的去理解就行了,那么Host主机网络模型也类似:
如果要添加TUNTAP网卡,还是使用咱们的ip命令。
ip tuntap add tap0 mode tap
这样就可以用的app程序,去open文件句柄“/dev/net/tun”了,发送&接收报文了。
那当你需要将你创建的这些VM连接起来组成局域网,或者与外界(主机外部)通信时,就需要用上Linux Bridge了。
Docker容器也是这样,如果希望将很多容器按组管理,或者容器连通外网,也会需要使用Linux Bridge(上图的 br0)。这个咱们下节课讲.
作者:tsjsdbd