分享

二层和三层隧道协议

 雅心楼 2012-04-10

 隧道协议的类型

  随着VPN技术的不断发展和在企业中的广泛应用,隧道技术也在不断的得到了完善,目前较为成熟的隧道技术主要有以下几各种。

  (1)IP网络上的SNA隧道技术

  当系统网络结构(System Network Architecture)的数据流通过企业IP网络传送时,SNA数据包将被封装在UDP和IP协议包头中。

  (2)IP网络上的Novell NetWare 隧道技术

  当一个IPX数据包被发送到NetWare服务器或IPX路由器时,服务器或路由器用UDP和IP包头将其重新封装打包后再通过IP网络发送。另一端的IP-TO-IPX路由器在去除UDP和IP包头之后,把数据包转发到IPX目的地。

  (3)点对点隧道协议(PPTP)

  PPTP协议允许对IP、IPX或NetBEUI数据流进行加密,然后封装在IP包头中通过企业IP网络或公共互联网络发送。

  (4)第2层隧道协议(L2TP)

  L2TP协议允许对IP、IPX、或NetBEUI数据流进行加密,然后通过支持点对点的数据包传递的任意网络发送,如IP、X.25、帧中继或ATM等。

  (5)安全IP(IPSec)隧道模式

  IPSec隧道模式允许对IP数据进行加密,然后封装在IP包头中通过企业IP网络或公共互联网络(如因特网)发送。

  为创建隧道,隧道的客户机和服务器双方必须使用相同的网络隧道协议。目前能够应用在虚拟专用网中的隧道协议比较多,但根据开放系统互联(OSI)的参考模型,可以分为二层隧道协议和三层隧道协议两种类型。其中第二层协议对应OSI模型中的数据链路层,它使用帧作为数据的交换单位,也就是说将数据封装在点对点协议(PPP)帧中,通过互联网发送。而第三层隧道协议对应OSI模型中的网络层,使用包作为数据交换单位,它将IP包封装在附加的IP包头中通过IP公共互联网络传送。表列出了几种隧道协议的比较。

      二层隧道协议和三层隧道协议的比较

OSI七层模型

安全技术

安全协议

协议优点

应用层

应用代理

表示层

会话层

会话代理

SOCKS v5

能同低层协议如IPV4IPSecPPTPL2TP一起使用

传输层

网络层

包过滤

IPSec

可扩充、安全、可靠

数据链路层

PPTPL2TP

端到端压缩加密、双向隧道配置

物理层

 


 1 二层隧道协议

  用于传输二层网络协议的隧道协议称为二层隧道协议,目前,这种二层隧道协议主要有以下3种。

   PPTP协议:PPTP(Point to Point Tunneling Protocol,点对点隧道协议)协议是一种点对点的隧道协议,得到了Microsoft、Ascend、3COM等公司支持的,如 Windows NT 4.0以上版本的Microsoft操作系统中都增加了对该协议的支持。PPP支持多种网络协议,可把IP、IPX、AppleTalk或NetBEUI的数据包封装在PPP包中,再将整个报文封装在PPTP隧道协议包中,最后,再嵌入IP报文或帧中继或ATM中进行传输。PPTP提供流量控制,降低了数据拥塞的可能性,避免了由数据包丢失而引发报文重新传输的数量。PPTP的加密方法采用了Microsoft点对点加密(MPPE Microsoft Point-to-Point Encryption)算法,可以选用较弱的40位密钥或强度较大的128位密钥。

   L2F协议:L2F协议(Layer 2 Forwarding)是一种二层转发的隧道协议,它得到了Cisco、北方电信等公司支持的,主要用于Cisco的路由器和拨号访问服务器。

   L2TP协议:L2TP(Layer 2 Tunneling Protocol)协议是由IETF起草,Microsoft、Ascend、Cisco、3COM等公司参与的二层隧道协议,它结合了上述两种协议,利用公共网络封装PPP帧,可以实现和企业原有非IP网络的兼容,同时L2TP还继承了PPTP的流量控制技术,支持MP(Multilink Protocol),把多个物理通道捆绑为单一的逻辑信道,并使用PPP可靠性发送(RFC1663)实现数据包的可靠传输。L2TP隧道在两端的VPN服务器之间采用口令握手协议CHAP来验证对方的身份。L2TP作为更优更新的标准,目前已经得到了如Microsoft、Ascend、Cisco、3COM等公司的支持,以后还必将为更多的网络厂商所支持,将是应用最为广泛的虚拟专用网协议。

  PPTP/L2TP的优点是:对Microsoft操作系统的用户来说非常方便,因为Microsoft已经将这两隧道协议作为了路由软件的一部分。另外,PPTP/L2TP使用IP帧在两台计算机之间创建和打开数据通道,一旦通道打开,就不再需要源和目的用户身份,这样可能带来某些安全方面的问题,因为它们不对两个节点间的信息传输进行监视和控制。PPTP和L2TP限制同时最多只能连接255个用户,并且端点用户需要在连接前通过手工方式建立加密通道,谁证和加密受到了限制。

  PPTP和L2TP都使用点到点的PPP协议对数据进行封装,然后添加附加包头,用于数据在公共网络上的传输,因此,它们之间既有区别又有联系。表列出了PPTP和L2TP之间的不同点。

                                                         PPTPL2TP协议的区别

项目

PPTP

L2TP

对公共网络的要求

IP

IP、帧中继、X.25ATM

可建隧道的数量

单一隧道

多条隧道

压缩包头时系统的开销

6字节

4字节

隧道验证

不支持

支持

  这里以L2TP协议为例介绍二层隧道协议。应用L2TP二层隧道协议所构建的虚拟专用网的网络图。如图所示。


  其中,LAC表示表示L2TP访问集中器(L2TP Access Concentrator),是附属在交换网络上的具有PPP端系统和L2TP协议处理能力的设备。LAC一般就是一个网络接入服务器NAS(Network Access Server),它的作用是为用户提供通过PSTN/ISDN的网络接入服务。LNS表示L2TP网络服务器(L2TP Network Server),实质就是PPP端系统上用于处理L2TP协议的服务器软件的。

  在通过L2TP构建的VPN网络中,LNS和LAC对之间存在着两种类型的连接,一种是隧道(tunnel)连接,它定义了一个LNS和LAC对;另一种是会话(session)连接,它复用在隧道连接之上,用于表示承载在隧道连接中的每个PPP会话过程。

  L2TP连接的维护以及PPP数据的传送都是通过L2TP消息的交换来完成的,这些消息再通过UDP的 1701端口承载于TCP/IP之上。L2TP消息可以分为两种类型,一种是控制消息,另一种是数据消息。控制消息用于隧道连接和会话连接的建立与维护,其中的参数用AVP(Attribute Value Pair)值对来表示,使得协议具有很好的扩展性,同时在控制消息的传输过程中还应用了消息丢失后重新传送和定时检测通道连通性等机制来保证L2TP传输的可靠性;数据消息用于承载用户的PPP会话数据包,L2TP数据消息的传输不采用重新传输机制,所以它无法保证传输的可靠性,但这一点可以通过上层协议如TCP等得到保证,另外,数据消息的传输可以根据应用的需要灵活地采用流量控制或非流量控制机制,甚至可以在传输过程中动态地使用消息序列号,从而动态地激活消息顺序检测和流量控制的功能。

  L2TP还具有适用于VPN服务的以下几个特性。

   灵活的身份验证机制以及高度的安全性。

  L2TP继承了PPP的所有安全特性,可以选择多种身份验证机制(如CHAP、口令验证、PAP等),L2TP还可以对隧道端点进行验证,这使得通过L2TP所传输的数据更加安全保密。而且,L2TP还可以根据特定的网络安全要求方便的采用隧道加密、端对端数据加密或应用层数据加密等方案来提高数据的安全性。

   内部地址分配的支持

  L2TP构建的VPN网络中,LNS可以放置于企业网络的防火墙之后,它可以对远端用户的地址进行动态的分配和管理,可以支持DHCP和私有地址应用(RFC1918)等方案。远端用户所分配的地址不是因特网地址而是企业内部的私有地址,这样方便了地址的管理并可以增加安全性。

   网络计费的灵活性。

  L2TP构建的VPN网络中,可以在LAC和LNS两个环节同时计费。在网络服务提供商处计费,用于产生企业的付费账单;在企业处计费,用于计费及审计。L2TP能够提供数据传输的出入包数,字节数及连接的起始、结束时间等用于计费的数据,可以根据这些数据方便地进行网络计费。

   可靠性。

  L2TP协议可以支持备份的LNS,当主LNS出现故障后,LAC可以重新与备份LNS建立连接,这样增加了VPN服务的可靠性和容错性。

2 三层隧道协议

  用于传输三层网络协议的隧道协议称为三层隧道协议。目前,三层隧道协议主要包括GRE(Generic Routing Encapsulation)协议和IETF的IP层加密标准协议IPSec。下面以IPSecy为例进行介绍。

  IPSec是IETF(Internet Engineering Task Force,互联网工程任务组)提出的IP安全标准。它在IP层对数据包进行高强度的加密和验证,使安全服务独立于各种应用程序,较好地保证了数据包在公共网络上传输时的私有性、完整性和真实性。因此,IPSec提供的安全服务共享程度高,利用IPSec构筑VPN代价低廉,可扩展性强。

  IPSec协议不是一个单独的协议,它给出了应用于IP层上网络数据安全的整套用于认证、保护私有性和完整性的标准协议,包括网络安全协议Authentication Header(AH)和Encapsulating Security Payload(ESP)协议、密钥管理协议Internet Key Exchange(IKE)和用于网络验证及加密的一些算法如DES、三重DES、IDEA等。IPSec规定了如何在对等层之间选择安全协议、确定安全算法和密钥交换,向上提供了访问控制、数据源验证、数据加密等网络安全服务。

  (1)IPSec的优点

  传统的安全体系一般都建立在应用层上。这些完全体系虽然具有一定的可行性,但也存在着巨大的安全隐患。其原因是,IP包本身不继承任何安全特性,很容易被修改、伪造、查看和重播。IPSec在IP层上对数据包进行安全处理,提供数据源地验证、无连接数据完整性、数据机密性、抗重播和有限业务流机密性等安全服务。各种应用程序可以享用IP层提供的安全服务和密钥管理,而不必设计和实现自己的安全机制,因此减少密钥协商的开销,也降低了产生安全漏洞的可能性。

  具体地说,IPSec具有如下优点。

   IPSec检查传输的数据包的完整性,以确保数据没有被修改。

   IPSec可用来在多个防火墙和服务器之间提供安全性,以确保运行在TCP/IP上的多个VPN网络之间的互操作性。

   IPSec在传输层之下,对于应用程序来说是透明的。当在路由器或防火墙上安装IPSec时,无需更改用户或服务器系统中的软件设置。即使在终端系统中执行IPSec,应用程序一类的上层软件也不会受到影响。

   IPSec对终端用户来说是透明的,因此不必对用户进行安全机制的培训。

   如果需要,IPSec可以为个别用户提供安全保障,这样做就可以保护企业内部的重要信息。

  (2)IPSec的实现方式

  IPSec安全协议,是一组开放协议的总称,它可以在特定的通信方之间提供数据的私有性、完整性保护,并能对数据源进行验证。IPSec使用密钥管理协议IKE进行协议及算法的协商,并采用由IKE生成的密码来加密和验证,以便保证数据包在公共网络上传输时的私有性、完整性和真实性。IPSec通过两个安全协议AH和ESP,并配合一定的加密算法在IP层提供这些安全服务,对IP及所承载的数据提供保护。这些机制的实现不会对用户、主机或其他Internet组件造成影响;用户可以选择不同的加密算法,而不会对实现的其他部分造成影响。IPSec提供以下几种网络安全服务。

   私有性:IPSec在数据包传输之前将其加密,以保证数据的私有性。

   完整性:IPSec在目的地要验证数据包,以保证该数据包在传输过程中没有任何不可检测的数据丢失与改变。

   真实性:IPSec端要验证所有受IPSec保护的数据包,以保证该数据包在传输过程中没有被替换或修改。

   反重复:IPSec防止了数据包被捕捉并重新投放到网上,即目的地会拒绝老的或重复的数据包;这个功能可以通过与AH或ESP一起工作的序列号实现。

  IPSec协议由3个基本要素来提供以上几种安全保护服务:认证协议头(AH)、安全加载封装(ESP)和互联网密匙管理协议(IKMP)。认证协议头和安全加载封装可以通过分开或组合使用来达到所希望的保护等级。

  IPSec本身定义了如何在IP数据包中增加字段来保证IP包的完整性、私有性和真实性,这些协议还规定了如何对数据包加密。因此,使用IPSec协议,数据就可以在公共网络上传输,而不必担心数据被监视、修改或伪造了。IPSec提供了两个主机之间、两个安全网关之间或主机和安全网关主机的保护。

  IPSec定义了两个新的数据包头并将它们增加到IP包中,这些数据包头用于保护IP数据包的安全性。这两个数据包头由AH(Authentication Header)和ESP(Encapsulating Security)和真实性,防止黑客截断数据包或向网络中插入伪造的数据包。AH采用了安全哈希算法来对数据包进行保护。ESP将需要保护的用户数据进行加密后再封装到IP包中,ESP可以保证数据的完整性、真实性和私有性。

  IPSec有隧道和传送两种工作方式。在隧道方式中,用户的整个IP数据包被用来计算ESP头,且被加密,ESP头和保密用户数据被封装在一个新的IP数据包中;在传送方式中,只是传输层(如TCP、IDP、ICMP)数据被用来计算ESP头,ESP头和被加密的传输层数据被放置在原IP包头后面。当IPSec通信的一端为安全网关时,必须采用隧道方式。

  Internet密钥管理协议(IKE)用于在两个通信实体协商和建立安全相关,如交换密钥。安全相关(Security Association)是IPSec中的一个重要概念。一个安全相关表示两个或多个通信实体之间经过了身份认证,且这些通信实体都能支持相同的加密算法,成功地交换了会话密钥,可以开始利用IPSec进行安全通信。IPSec协议本身没有提供在通信实体间建立安全相关的方法,利用IKE建立安全相关。IKE定义了通信实体间进行身份认证、协商加密算法以及生成共享的会话密钥的方法。IKE中身份认证采用共享密钥和数字签名两种方式,密钥交换采用DiffieHellman协议。

  另外,安全相关也可以通过人工手动的方式来建立,人工手动管理方式是指管理员使用自己的密钥及其他系统的密钥手工设备每个系统。这种方法在小型网络环境中使用比较实际。当虚拟专用网中节点增多时,手工配置将变得非常困难。手工管理系统在有限的安全需要系统中可以工作得很好。使用手工管理系统,密匙由管理站点确定然后分发到所有的远程用户。真实的密匙可以用随机数字生成器或简单的拼凑计算出来,每一个密匙可以根据集团的安全策略进行修改。


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多