02
第02篇:隧道技术(Tunnel)
导读:
★本文旨在努力使用最简单明了的语言与实验向您解述当前最常用的几乎所有类型的VPN,通读本文,您将熟练掌握几乎所有类型VPN的理论与配置。
★本文旨在成为您学习VPN的最佳教材、最佳笔记、最佳实验手册。
上一节学习了VPN简述,本节学习隧道技术(Tunnel),跟着我一起往下看吧。
隧道技术(Tunnel)
由于在某些环境下,通过Internet连接的远程网络之间,双方需要直接使用对方私有IP地址来互访,而私有IP网段是不能传递到Internet上进行路由的,在数据包封装为私有IP发到Internet之后,由于Internet的路由器没有私有IP网段,所以最终数据包将全部被丢弃而不能到达真正目的地。如下图:
上图中,上海分公司要访问北京分公司的R4,如果通过将数据包目的IP封装为192.168.1.4,该数据包到达Internet后是会被丢弃的,因为Internet没有192.168.1.0的路由,所以数据包也就不可能到达北京分公司的路由器;从图中我们不难发现,除非数据包的目的IP为200.1.1.1,才能到达北京分公司的路由器,否则别无它法,所以上海公司发出去的数据包的目标IP只有封装为200.1.1.1才能到达北京分公司的路由器R3,既然如此,我们就思考着想办法将数据包原来的私有IP地址先隐藏起来,在外部封装上公网IP,等数据包通过公网IP被路由到该IP的路由器后,再由该路由器剥除数据包外层的公网IP,从而发现数据包的私有IP后,再通过私有IP将数据包发到真正的目的地。可以肯定,完成数据包封装与解封装的路由器必须既能与Internet直接通信,也能与私有网络通信。在上图中,上海分公司的R2要想直接通过私有IP地址192.168.1.4与北京分公司的R4通信,在数据包的目标IP封装为192.168.1.4发到路由器R1之后,R1就必须将整个数据包当成数据,然后在该数据包的外层再次将北京分公司路由器R3的公网IP地址200.1.1.1写上,然后发到Internet,Internet根据数据包的公网IP地址200.1.1.1将数据包路由到R3,然后R3将数据包的公网IP剥除后,看见私有IP地址192.168.1.4,然后再根据该地址将数据包发到R4,最终实现了上海分公司通过私有IP地址192.168.1.4访问北京分公司网络的功能。
上个例子中,通过在目标IP为私有IP的数据包外面封装公网IP,从而实现远程网络之间使用私有IP通信的技术,称为隧道技术,由此可见,在隧道中传递的数据包至少包含着两个IP包头(两个IP地址),最外面的IP地址肯定是公网IP,以用作在Internet中路由该数据包,里面的IP应该是私有IP,就是目标主机的真实IP。通过隧道连接的两个远程网络就如同直连,隧道达到的效果,就是网络直连的效果。隧道就像一辆汽车,原本为私有IP的数据包就像是乘客,路途中只看汽车不看乘客,只要汽车能去哪个地方,汽车里的乘客就可以被送到哪个地方,在行驶过程中,车内的乘客不受干扰。被隧道再次封装公网IP的数据包协议称为乘客协议(Passenger protocol),不是所有类型协议的数据包能被隧道封装,所以对于隧道来说,乘客协议(Passenger protocol)是有范围限制的,但本文只谈IP协议。隧道中传输的数据包格式如下图:
就隧道技术有多种实现方式,也就存在多种隧道协议,隧道可以实现远程网络之间通过私有IP地址互访,隧道技术,就是VPN技术,要实现VPN,就是实现隧道,不能实现隧道,就不叫VPN。下文将全力解述最有用的隧道技术与VPN技术。
隧道协议目前共有:
GRE(Generic Routing Encapsulation)
IP Security (IPsec)
Secure Sockets Layer/Transport Layer Security (SSL/TLS)
VPN (WebVPN)
Point-to-Point Tunneling Protocol (PPTP)
Layer Two Tunneling Protocol (L2TP)
好了,本节到此结束,下一节我们将学习GRE(Generic Routing Encapsulation)
领取专属 10元无门槛券
私享最新 技术干货