现在的位置: 首页 > 综合 > 正文

技术分析:浅谈VPN的实现原理

2017年10月07日 ⁄ 综合 ⁄ 共 1054字 ⁄ 字号 评论关闭

2005-4-15 9:11:00 文/ 出处:IT.com.cn(IT世界)

  众所周知,由于公共IP的短缺,我们在组建局域网时,通常使用保留地址作为内部IP,这些保留地址Internet上是无法被路由的,所以在正常情况下我们无法直接通过Internet访问到在局域网内的主机。为了实现这一目的,我们需要使用VPN隧道技术,其实现过程可以通过下面的图示说明: 



  - 通常情况下,VPN网关采用双网卡结构,外网卡使用公共IP接入Internet; 


  - 如果网络一的终端A需要访问网络二的终端B,其发出的访问数据包的目标地址为终端B的IP (内部IP); 


  - 网络一的VPN网关在接收到终端A发出的访问数据包时对其目标地址进行检查,如果目标地址属于网络二的地址,则将该数据包进行封装,封装的方式根据所采用的VPN技术不同而不同,同时VPN网关会构造一个新的数据包(VPN数据包),并将封装后的原数据包作为VPN数据包的负载,VPN数据包的目标地址为网络二的VPN网关的外部地址; 


  - 网络一的VPN网关将VPN数据包发送到Internet,由于VPN数据包的目标地址是网络二的VPN网关的外部地址,所以该数据包将被Internet中的路由正确地发送到网关; 

  - 网络二的VPN网关对接收到的数据包进行检查,如果发现该数据包是从网络一的VPN网关发出的,即可判定该数据包为VPN数据包,并对该数据包进行解包处理。解包的过程主要是先将VPN数据包的包头剥离,在将负载通VPN技术反向处理还原成原始的数据包; 


  - 网络二的VPN网关将还原后的原始数据包发送至目标终端,由于原始数据包的目标地址是终端B的IP,所以该数据包能够被正确地发送到终端B。在终端B看来,它收到的数据包就从终端A直接发过来的一样; 


  - 从终端B返回终端A的数据包处理过程与上述过程一样,这样两个网络内的终端就可以相互通讯了。   

    通过上述说明我们可以发现,在VPN网关对数据包进行处理时,有两个参数对于VPN隧道通讯十分重要:原始数据包的目标地址(VPN目标地址)和远程VPN网关地址。根据VPN目标地址,VPN网关能够判断对哪些数据包需要进行VPN处理,对于不需要处理的数据包通常情况下可直接转发到上级路由;远程VPN网关地址则指定了处理后的VPN数据包发送的目标地址,即VPN隧道的另一端VPN网关地址。由于网络通讯是双向的,在进行VPN通讯时,隧道两端的VPN网关都必须知道VPN目标地址和与此对应的的远端VPN网关地址。

抱歉!评论已关闭.