vpn介绍
vpn(virtual private network)虚拟私有网络
利用共享的公共网络构建私有专用网络
RFC 2764描述了基于ip的VPN框架结构
vpn的本质就是让私网数据报文穿越公网
vpn用途、功能优势
- 可以快速构建网络,降低部署周期
- 与私有网络一样提供安全性、可靠性和管理性
- 可利用Internet,无处不联通,处处可接入
- 简化用户侧的配置和维护工作
- 提高基础资源利用率
- 于客户可节约使用开销
- 于运营商可以更有效的利用基础设施,提供大量,多种业务 (mpls vpn)
vpn简单原理
正常按照网络通信原理来说,如果192.168.1.1要和192.168.2.1进行互相通信,封装的源目地址都是内网地址的话,经过公网路由器绝对会被丢弃掉,因为公网无法传递私网路由,所以为了可以让1.1和2.1可以交互,就需要在之前封装的私网IP头部(例如:192.168.1.1)在进行封装一层公网IP头部(例如:100.1.1.1),这样走到公网路由器后,就可以进行正常的路由传输并达到对端(例如:200.2.2.1)
vpn隧道技术
定义:使用一种协议去封装另一种协议
(拿同一个协议去封装另一个相同的协议也是隧道技术,例如上面的公网IP协议封装私网IP协议)
隧道技术对于业务终端或者说对于2端的客户端来说(例如:192.168.1.1、192.168.2.1就是业务终端)它们对于利用隧道穿越公网是无感知的。
拿生活日常举例来理解隧道技术:
例如a想开车过江,日常生活中陆地上跑的汽车肯定是不具备在水上行走的功能的,所以这时候就需要使用轮渡或者货船水上行驶工具来搭载汽车,将汽车运输到江对面;
那就可以这样理解私网地址肯定是不能在公网中传输的,为了将私网的数据从一端发送到另一端就需要隧道技术进行协议封装,达到可以公网传输私网数据。
相关封装概念
载荷数据:要传输的原始数据
协议b头:称为载荷协议
封装协议头:为vpn的封装协议,是vpn的特殊头部,如果说是gre vpn 这里就是gre头部(GRE 头部协议,标记为47),如果说是ipsec vpn,这里就是IPsec头部;该协议的作用是防止路由设备拆解当前设备可拆解的协议后继续交由上一层协议进行拆解处理(按照数据传输原理,例如三层路由器或者一台服务器,将三层IP头部(网络层)拆解后,它的下一步就是交由传输层进行拆解处理)
也就是对载荷协议封装的方式
协议a头:为承载协议,封装最外层新的协议头部
封装格式如下图:
VPN详细封装原理
PCA、PCB为私网主机,PCA发送 载荷数据(协议B数据包),会使用载荷协议 协议b头 将私网地址进行封装,经过vpn隧道技术的封装协议加一层gre或者ipsec封装协议头(这是为了防止对端收到数据报文后将当前设备可拆解的协议拆封后直接交由上层协议进行处理,而是要告诉当前设备将封装协议拆封后,在进行一次查询路由表,不要直接交由上层协议处理),然后使用承载协议 协议a头将公网地址进行封装。
VPN分类
按照网络层次(工作层次)分类
按照使用场景分类
site-to-site vpn 对于内网用户无感知,2端都需要支持VPN功能设备进行连接。
access vpn 用于单个终端用户接入公司内网,手机移动设备、普通PC就可以接入,不需要购买的专业VPN设备
(l2tp vpn、ssl vpn可以使用浏览器进行使用)
目前看腾讯云也支持了ssl vpn,现在是在内测中,大家可以去申请体验下。