tun/tap 驱动程序实现了虚拟网卡的功能,tun表示虚拟的是点对点设备,tap表示虚拟的是以太网设备,这两种设备针对网络包实施不同的封装。利用tun/tap 驱动,可以将tcp/ip协议栈处理好的网络分包传给任何一个使用tun/tap驱动的进程,由进程重新处理后再发到物理链路中。
开源项目openvpn (http://openvpn.sourceforge.net)和Vtun(http://vtun.sourceforge.net)都是利用tun/tap驱动实现的隧道封装。
参考链接:
http://blog.csdn.net/lishuhuakai/article/details/73136442
http://blog.csdn.net/lishuhuakai/article/details/73136469
http://blog.csdn.net/lishuhuakai/article/details/73136509
https://www.cnblogs.com/chris-cp/p/4688375.html