VPN隧道技术及二次封装过程
理解VPN隧道
隧道技术是在源和目标的公共网云之间打一条逻辑的通道,使其源和目标之间感觉像是直连链路,具体如图所示:防火墙1与防火墙2就在ISP1、ISP2、ISP3之间打通了一条隧道。
那究竟什么是隧道技术呢?
1. 一种穿越Internet的数据封装技术
2. 在一种网络协议中封装另一种网络协议(具备常规包检测逃逸性)
3. 隧道技术本身并不具备任何安全性
4. 可以分为二层和三层隧道
5. 典型的隧道技术又GRE、L2F、L2TP
其中,GRE是三层隧道技术,L2F和L2TP是二层隧道技术
【注意】隧道的层次并不代表VPN的层次。因为VPN有两部分构成:隧道技术 + 安全技术 。
VPN的二次封装过程
其实在技术实质上隧道是通过二次封装数据报文并插入新的地址来完成数据运载的.
具体示意图如图所示,假使主机A要通过隧道转发数据给另一端的主机B。
首先是主机A产生目标地址为192.168.3.2;源地址为192.168.2.2的原始报文,当主机A的原始报文被送入防火墙后,防火墙判定该报文需要通过隧道转发,此时防火墙会将主机A的原始报文插入新的源和目标地址,该地址就是隧道的两个端地址。
转发,然后在外部世界的设备ISP1、2、3都只读取隧道插入的新地址进行路由转发,对用户原始的数据报文及其中的IP地址并不感兴趣,所以从某种意义上讲主机A到B的整个原始报文就被二次封装,仅作为二次封装的载荷体现,所以感觉上就是防火墙1和防火墙2直接相连,但实际上数据还是被逐跳转发到目标的,只是中间设备不读取用户的原始报文。
以上过程就是我们常用的VPN技术既GRE(通用路由封装)隧道技术的技术实质,作为最为众所周知的隧道技术,理解GRE隧道技术非常的重要!