TAP/TUN/VETH理解

一 图例
二 图解
1 将vm的网卡和host OS的网卡连接在一起。
2 通过tun/tap adapter,会在host OS上生成虚拟网卡tap。
3 tun是点对点的网络设备,使得vm的网卡和tap虚拟网卡成为一对。
4 从vm网卡发出的所有网络包,host OS的tap0都能收到,最终通过eth0发出。
5 虚拟机将网络包通过字符设备写入/dev/net/tun(host OS上的一个文件)。
6 字符设备驱动将数据包写入虚拟网卡驱动。
7 虚拟网卡驱动将包通过tcp/ip协议栈写入host OS上的虚拟网卡tap0.
8 在host OS通过路由规则(通过网桥(东西向流量)、网桥和路由器(南北向流量)),包从ech0出去。

三 原理
TAP/TUN是Linux内核实现的一对虚拟网络设备,TAP工作在二层,TUN工作在三层,Linux内核通过TAP/TUN设备向绑定该设备的用户空间程序发送数据,反之,用户空间程序也可以像操作硬件网络设备那样,通过TAP/TUN设备发送数据。
基于TAP驱动,即可以实现虚拟网卡的功能,虚拟机
  • 5
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值