我们通过一个用户登录VPN,然后访问互联网资源的流程,来对VPN的工作原理进行说明。流程步骤如下:
1,在客户端安装客户端软件,生成虚拟网卡;
说明:虚礼网卡的功能有两点,一是将用户的Web请求进行新的协议封装,二是将用户的访问地址改为VPN网关的地址,保证VPN网关能够截获所有的用户Web请求。
2,通过客户端软件配置VPN网关的网络位置,可以用IP或域名配置;
3,登录,建立与VPN网关的链接,VPN网关收到登录请求后,先是作认证处理,认证成功就给客户端分配一个私有的IP;
说明:私有地址是VPN网络用来标识机器在虚拟网络中的位置,这里的虚拟网的意思就是通过VPN建立的虚拟局域网。
4,用户访问网上资源都是通过这虚拟网卡进行https协议的封装和内部自己开发的协议封装然后发送给VPN网关;
说明:只要用户连上VPN网关,所有的Web请求都会被作https的封装,并送到VPN网关。所以用户如果不访问VPN内部资源的时候就必须下VPN,否则会一直发送到VPN网关。
5,VPN网关将收到的请求拆包(首先是按照https拆包,然后是按照VPN自设的通信协议拆包),然后看用户的请求是否有VPN内部资源的私有地址;
6,如果没有内部资源的私有地址,表示用户访问的非虚拟网内部的资源,就直接转发;
7,如果有内部资源的私有地址,则从VPN自设的通信协议中取出目标私有地址,根据私有地址表取到公共地址,然后根据取的公共地址生成新的http请求;
由上面工作原理的分析可以看出:
1.基于https协议基础上的VPN技术是采用应用层来实现的;
2.分配的自己定义的IP,不是公共IP,即用户脱离虚拟网络环境直接使用这个IP是不能访问的;
3.用户在登录虚拟网络后,所有的Web请求都是用https协议作了封装发送给VPN网关,由VPN网关来转发。




