蒲公英VPN路由器的出现,为网络管理带来很多方便,将用户和网络设备聚合到一起,从而支持商业需求,比如轻松管理电子教学平台、多分支企业异地互联互访、多门店远程摄像监控等。今天笔者就要从蒲公英说起,来跟大家谈谈虚拟局域网VPN通信技术。
蒲公英X5新品路由
大家都知道蒲公英X系列路由设置简单,60秒就能实现异地虚拟局域网的组建,但是往往越是简单的东西其实越复杂。事实上蒲公英的通信进程、系统交互确实跟OpenVPN一样庞杂,只是蒲公英研发团队简化了设置过程,才使用户觉得轻松、小白。
蒲公英VPN路由到底是如何实现异地虚拟局域网通信的?
通过研究分析,笔者认为蒲公英其实是使用的/dev/net/tun设备创建TAP虚拟网卡转发VPN所有通信,只不过蒲公英所有协议都是自有协议。最重要的一点:蒲公英其实是有SSL Server在Internet上!蒲公英的这个Server既完成组成员上下线通知,也进行Ethernet数据包的转发任务。
VPN体系模型
蒲公英VPN具体通信过程如下:
1、路由器1的VPN进程到API查询所属组需要登录到哪台VPN服务器;
2、同一个组的路由器2登录到同一个VPN服务器;
3、登录成功后进程会拿到自己虚拟网卡应有的MAC地址跟虚拟IP(172.x.x.x),并调用相关脚本在路由器中创建转发与防火墙规则;
4、这个时候两个路由器之间已经可以通过VPN服务器转发所有的以太网数据包,双方路由器下的电脑可以互相ping通了。但这个时候仅仅是通了,还需要提高速度!
5、在进程登陆成功的同时,蒲公英拿到P2P撮合服务的地址,其中IP比较小的那台,会主动登陆P2P服务器并通过Server通告另一台可以使用此P2P地址与自己尝试进行P2P的连接;
6、一旦双方P2P协商完成,所有刚才在Server上发送的数据包会全部切换到P2P直连通道上,这个时候用户看到的是:ping的延时一下子变小了。