
隧道技术(Tunneling)是一种通过使用互联网络的基础设施在网络之间传递数据的方式。使用隧道传递的数据(或负载)可以是不同协议的数据帧或包。隧道协议将其他协议的数据帧或包重新封装然后通过隧道发送。新的帧头提供路由信息,以便通过互联网传递被封装的负载数据。
隧道协议
为创建隧道,隧道的客户机和服务器双方必须使用相同的隧道协议。隧道技术可分别以第2层或第3层隧道协议为基础。第2层隧道协议对应于OSI模型的数据链路层,使用帧作为数据交换单位。PPTP(点对点隧道协议)、L2TP(第二层隧道协议)和L2F(第2层转发协议)都属于第2层隧道协议,是将用户数据封装在点对点协议(PPP)帧中通过互联网发送。第3层隧道协议对应于OSI模型的网络层,使用包作为数据交换单位。IPIP(IP over IP)以及IPSec隧道模式属于第3层隧道协议,是将IP包封装在附加的IP包头中,通过IP网络传送。无论哪种隧道协议都是由传输的载体、不同的封装格式以及用户数据包组成的。它们的本质区别在于,用户的数据包是被封装在哪种数据包中在隧道中传输。这里我们主要介绍一下第2层隧道协议。
1.点对点隧道协议
PPTP(Point to Point Tunneling Protocol)提供PPTP客户机和PPTP服务器之间的加密通信。PPTP是PPP协议的一种扩展。它提供了一种在互联网上建立多协议的安全虚拟专用网(VPN)的通信方式。远端用户能够透过任何支持PPTP的ISP访问公司的专用网。通过PPTP,客户可采用拨号方式接入公用IP网。PPTP采用基于RSA公司RC4的数据加密方法,保证了虚拟连接通道的安全。PPTP把建立隧道的主动权交给了用户,但用户需要在其PC机上配置PPTP,这样做既增加了用户的工作量,又会给网络带来隐患。另外,PPTP只支持IP作为传输协议。
2.第二层转发协议
L2F(Layer Two Forwarding protocol )是一种可以在多种介质,如ATM、帧中继、IP网上建立多协议的安全虚拟专用网的通信。远端用户能通过任何拨号方式接入公用IP网,首先按常规方式拨到ISP的接入服务器(NAS),建立PPP连接;NAS根据用户名等信息,建立直达HGW服务器的第二重连接。在这种情况下,隧道的配置和建立对用户是完全透明的。
3.第二层隧道协议
L2TP(Layer Two Tunneling Protocol)结合了L2F和PPTP的优点,允许用户从客户端或访问服务器端建立VPN连接。L2TP的好处在于支持多种协议,用户可以保留原有的IPX、Appletalk等协议或公司原有的IP地址。L2TP还解决了多个PPP链路的捆绑问题,PPP链路捆绑要求其成员均指向同一个NAS,L2TP则允许在物理上连接到不同NAS的PPP链路,在逻辑上的终点为同一个物理设备。L2TP扩展了PPP连接,同时L2TP作为PPP的扩充提供了更强大的功能,包括允许第2层连接的终点和PPP会话的终点分别设在不同的设备上。
L2TP主要由LAC(L2TP Access Concentrator)和LNS(L2TP Network Server)构成。LAC支持客户端的L2TP,发起呼叫,接收呼叫和建立隧道;LNS是所有隧道的终点。在传统的PPP连接中,用户拨号连接的终点是LAC,而L2TP能把PPP协议的终点延伸到LNS。
L2TP方式给服务提供商和用户带来了许多方便。用户不需要在PC板上安装专门的客户端软件,企业网可以使用未注册的IP地址,并在本地管理认证数据库,从而降低了应用成本和培训维护费用。
与PPTP和L2F相比,L2TP的优点在于提供了差错和流量控制;L2TP使用UDP封装和传送PPP帧。面向无连接的UDP无法保证网络数据的可靠传输,L2TP使用Nr(下一个希望接受的信息序列号)和Ns(当前发送的数据包序列号)字段进行流量和差错控制。双方通过序列号来确定数据包的顺序和缓冲区,一旦丢失数据,根据序列号可以进行重发。作为PPP的扩展协议,L2TP支持标准的安全特性CHAP和PAP,可以进行用户身份认证。
用隧道技术提升网速
正常情况下,电信、网通在本网访问都是非常快的。但是如果跨网访问,效果就比较差,这就是通常所说的网络瓶颈。
假如你的公司在网通和电信的IDC各有一台服务器,并且通过专线连通了私网。那么我们就可以利用隧道技术,借用私网的网速快,超越网络瓶颈了。
如果你公司的网络情况如图所示,我们假设在网通机房有台服务器私网IP为192.168.100.1,在电信机房有台服务器私网IP为192.168.200.1,它们之间通过专线相连,因而如果我从网通机房访问电信服务器的私网IP很快。但是,如果我从网通机房访问电信服务器的公网,在没有设置隧道的情况下,会非常慢。因为网通的服务器会先到网通的公网出口,然后去访问电信的公网入口。这就形成跨网访问,进入网络瓶颈了。从电信机房访问网通的服务器,情况也是一样。
通过隧道技术,上面的问题就迎刃而解了。例如上图,网通和电信的服务器通过私网专线建立一条隧道,网通服务器设置隧道IP为:10.100.0.1,电信服务器设置隧道IP为10.100.0.2.在网通服务器上设置路由,如果访问电信的公网IP就走网关10.100.0.1,然后在电信服务器上通过IPtables 设置SNAT,如果源IP在10.100.0.0/24 这段里,则通过电信服务器的公网IP向外访问。这就相当于通过电信的服务器去访问电信公网,速度自然很快。同理,类似上面配置,电信服务器访问网通的公网也会很快。
巧用隧道技术,可能会给我们的工作带来很大的便利,例如,需要同时对电信和网通的服务器进行外网监控,或者对它们的外网服务进行管理,大家可以根据自己的实际情况继续挖掘。
(责任编辑:孙明胜) |