通过思科模拟器CISCO PACKET TRACER学习网络——VPN

一、VPN的概念
VPN(Virtual Private Network):虚拟专用网络,简称虚拟专网,VPN工作在三层以上的设备,如:路由器、防火墙等,而交换机是不行的,他工作在数据链路层(第二层) 。VPN属于远程访问技术,简单地说就是利用公用网络架设专用网络,进行加密通讯 。
例如某公司员工出差到外地,他想访问企业内网的服务器资源 。这就是为什么需要虚拟专网的原因 。
VPN可以实现在不安全的网络上,安全的传输数据,好像专网 。实质上就是利用加密技术在公网上封装出一个数据通讯隧道 。
让外地员工访问到内网资源,利用VPN的解决方法就是在内网中架设一台VPN服务器 。外地员工在当地连上互联网后,通过互联网连接VPN服务器,然后通过VPN服务器进入企业内网 。为了保证数据安全,VPN服务器和客户机之间的通讯数据都进行了加密处理 。
有了数据加密,就可以认为数据是在一条专用的数据链路上进行安全传输,就如同专门架设了一个专用网络一样,但实际上VPN使用的是互联网上的公用链路,因此VPN称为虚拟专用网络,其实质上就是利用加密技术在公网上封装出一个数据通讯隧道 。有了VPN技术,用户无论是在外地出差还是在家中办公,只要能上互联网就能利用VPN访问内网资源,这就是VPN在企业中应用得如此广泛的原因 。
二、工作原理

  1. 通常情况下,VPN网关采取双网卡结构,外网卡使用公网IP接入internet 。
  2. 网络一(假定为公网internet)的终端A访问网络二(假定为公司内网)的终端B,其发出的访问数据包的目标地址为终端B的内部IP地址 。
  3. 网络一的VPN网关在接收到终端A发出的访问数据包时对其目标地址进行检查,如果目标地址属于网络二的地址,则将该数据包进行封装,封装的方式根据所采用的VPN技术不同而不同,同时VPN网关会构造一个新VPN数据包,并将封装后的原数据包作为VPN数据包的负载,VPN数据包的目标地址为网络二的VPN网关的外部地址 。
  4. 网络一的VPN网关将VPN数据包发送到internet,由于VPN数据包的目标地址是网络二的VPN网关的外部地址,所以该数据包将被Internet中的路由正确地发送到网络二的VPN网关 。
  5. 网络二的VPN网关对接收到的数据包进行检查,如果发现该数据包是从网络一的VPN网关发出的,即可判定该数据包为VPN数据包,并对该数据包进行解包处理 。解包的过程主要是先将VPN数据包的包头剥离,再将数据包反向处理还原成原始的数据包 。
  6. 网络二的VPN网关将还原后的原始数据包发送至目标终端B,由于原始数据包的目标地址是终端B的IP,所以该数据包能够被正确地发送到终端B 。在终端B看来,它收到的数据包就和从终端A直接发过来的一样 。
  7. 从终端B返回终端A的数据包处理过程和上述过程一样,这样两个网络内的终端就可以相互通讯了 。
那么我们知道,对于VPN通讯的两个参数是很重要的:原始数据包目标地址(VPN的目标地址)和远程VPN的网关地址 。
由于网络通讯是双向的,在进行VPN通讯时,隧道两端的VPN网关都必须知道VPN目标地址和与此对应的远端VPN网关地址 。
三、基本处理过程
①要保护主机发送明文信息到其他VPN设备 。
②VPN设备根据网络管理员设置的规则,确定是对数据进行加密还是直接传输 。
③对需要加密的数据,VPN设备将其整个数据包(包括要传输的数据、源IP地址和目的lP地址)进行加密并附上数据签名,加上新的数据报头(包括目的地VPN设备需要的安全信息和一些初始化参数)重新封装 。
④将封装后的数据包通过隧道在公共网络上传输 。

推荐阅读