admin 管理员组

文章数量: 887033


2024年3月9日发(作者:zip文件怎么换成xml)

VPN的典型隧道协议

隧道技术是一种通过使用互联网络的基础设施在网络之间传递数据的方式。

使用隧道传递的数据(或负载)可以是不同协议的数据桢(此字不正确)或包。

隧道协议将这些其它协议的数据桢或包重新封装在新的包头中发送。

新的包头提供了路由信息,从而使封装的负载数据能够通过互联网络传递。

被封装的数据包在隧道的两个端点之间通过公共互联网络进行路由。

被封装的数据包在公共互联网络上传递时所经过的逻辑路径称为隧道。

一旦到达网络终点,数据将被解包并转发到最终目的地。

注意隧道技术是指包括数据封装,传输和解包在内的全过程。

1、点对点隧道协议(PPTP)

点对点隧道协议(PPTP,Point-to-point Tunneling Protocol)是一种用于让远程用户拨号连接到本地ISP,通过因特网安全远程访问公司网络资源的新型技术。PPTP对PPP协议本身并没有做任何修改,只是使用PPP拨号连接,然后获取这些PPP包,并把它们封装进GRE头中。PPTP使用PPP协议的PAP或CHAP(MS-CHAP)进行认证,另外也支持Microsoft公司的点到点加密技术(MPPE)。PPTP支持的是一种客户-LAN型隧道的VPN实现。

传统网络接入服务器(NAS) 执行以下功能:它是PSTN或ISDN的本地接口,控制着外部的MODEM或终端适配器:它是PPP链路控制协议会话的逻辑终点;它是PPP认证协议的执行者;它为PPP多链路由协议进行信道汇聚管理;它是各种PPP网络控制协议的逻辑终点。PPTP协议将上述功能分解成由两部分即PAC(PPTP接入集中器)和PNS(PPTP网络服务器)来分别执行。这样一来,拨号PPP链路的终点就延伸至PNS。

PPTP协议正是利用了“NAS功能的分解”这样的机制支持在因特网上的VPN实现。ISP的NAS将执行PPTP协议中指定的PAC的功能。而企业VPN中心服务器将执行PNS的功能,通过PPTP,远程拥护首先拨号到本地ISP的NAS,访问企业的网络和应用,而不再需要直接拨号至企业的网络,这样,由GRE将PPP报文封装成IP报文就可以在PAC-PNS之间经由因特网传递,即在PAC和PNS之间为用户的PPP会话建立一条PPTP隧道。

建立PPTP连接,首先需要建立客户端与本地ISP的PPP连接。一旦成功的接入因特网,下一步就是建立PPTP连接。从最顶端PPP客户端、PAC 和PNS服务器之间开始,由已经安装好PPTP的PAC建立并管理PPTP任务。如果PPP客户端将PPTP添加到它的协议中,所有列出来的PPTP通信都会在支持PPTP的客户端上开始与终止。由于所有的通信都将在IP包内通过隧道,因此PAC只起着通过PPP连接进因特网的入口点的作用。从技术上讲,PPP包从PPTP隧道的一端传输到另一端,这种隧道对用户是完全透明的。

PPTP具有两种不同的工作模式,即被动模式和主动模式。被动模式的PPTP会话通过一个一般是位于ISP处的前端处理器发起,在客户端不需要安装任何与PPTP有关的软件。在拨号连接到ISP的过程中,ISP为用户提供所有的相应服务和帮助。被动方式的好处是降低了对客户的要求,缺点是限制了客户对因特网其他部分的访问。

主动方式是由客户建立一个与网络另外一端服务器直接连接的PPTP隧道,这种方式不需要ISP的参与,不再需要位于ISP处的前端处理器,ISP只提供透明的传输通道。这种方式的优点是客户拥有对PPTP的绝对控制,缺点是对用户的要求较高,并需要在客户端安装支持PPTP的相应软件。

通过PPTP,远程用户经由因特网访问企业的网络和应用,而不再需要直接拨号至企业的网络。这样大大的减少了建立和维护专用远程线路的费用。且为企业提供了充分的安全保证。另外,PPTP还在IP网络中支持IP协议。PPTP“隧道”将IP、IPX、APPLE-TALK等协议封装在IP包中,使用户能够运行基于特定网络协议的应用程序。同时,“隧道”采用现有的安全检测和认证策略,还允许管理员和用户对数据进行加密,使数据更加安全。PPTP

还提供了灵活的IP地址管理。如果企业专用的网络使用未经注册的IP地址,那么PNS将把此地址和企业专用地址联系起来。

PPTP协议是一个为中小企业提供的VPN解决方案,但PPTP协议在实现上存在着重大安全隐患。有研究表明其安全性甚至比PPP还要弱,因此不适用于需要一定安全保证的通信。如果条件允许,用户最好选择完全能够替代PPTP的下一代二层协议L2TP。

2、第二层转发(L2F)

L2F由Cisco公司在1998年5月提交给IETF,RFC2341对L2F有详细的阐述。L2F可以在多种介质(如AMT、帧中继、IP网)上建立多协议的安全虚拟专用网。它将链路层的协议(如HDLC,PPP,ASYNC等)封装起来传送。因此,网络的链路层完全独立于用户的链路层协议。L2F远端用户能够通过任何拨号方式接入公共IP网络,首先按常规方式拨号到ISP的接入服务器(NAS),建立PPP连接:NAS根据用户名等信息,发起第二重连接,呼叫用户网络的服务器。在这种方式下隧道的建立和配置对用户是完全透明的。L2F允许拨号接入服务器发送PPP帧传输并通过WAN连接到达L2F服务器。L2F服务器将包去封装后把它们接入到公司自己的网络中。

3、二层隧道协议(L2TP)

L2TP协议的前身是Microsoft公司的点到点隧道协议(PPTP)和Cisco公司的二层转发协议(L2F)。PPTP协议是一个为中小企业提供的VPN解决方案。但PPTP协议在实现上存在着重大安全隐患,有研究表明其安全性甚至比PPP还要弱,因此不适用于需要一定安全保证的通信。L2F协议是一种安全通信隧道协议,但它的主要缺陷是没有把标准加密方法包括在内,因此它也已经成为一个过时的隧道协议。IETF的开放标准L2TP协议结合了PPTP协议和L2F的优点,特别适合组建远程接入方式的VPN,已经成为事实上的工业标准。

远程拨号的用户通过本地PSTN、ISDN或PLMN拨号,利用ISP提供的VPDN特服号,接入ISP在当地的接入服务器(NAS)。NAS通过当地的VPDN的管理系统(如认证系统),对用户身份进行认证,并获得用户对应的企业安全网关(CPE)的隧道属性(如企业网关的IP地址等)。NAS根据获得的这些信息,采用适当的隧道协议封装上层协,议建立一个位于NAS和LNS(本地网络服务器)之间的虚拟转网。

4、多协议标记交换(MPLS)

MPLS为每个IP包加上一个固定长度的标签,并根据标签值转发数据包。

MPLS实际上就是一种隧道技术,所以使用它来建立VPN隧道是十分容易的。

同时,MPLS是一种完备的网络技术,可以用它来建立起VPN成员之间简单而高效的VPN。MPLS

VPN适用于实现对服务质量、服务等级的划分以及网络资源的利用率、网络的可靠性有较高要求的VPN业务。

CE路由器是用于将一个用户站点接入服务提供者网络的用户边缘路由器。CE路由器不使用MPLS,它可以只是一台IP路由器。CE不必支持任何VPN的特定路由协议或信令。

PE路由器是与用户CE路由器相连的服务提供者边缘路由器。PE实际上就是MPLS中的边缘标记交换路由器(LER),它需要能够支持BGP协议,一种或几种IGP路由协议以及MPLS协议,需要能够执行IP包检查、协议转换等功能。

用户站点是指这样一组网络或子网,它们是用户网络的一部分并且通过一条或多条PE/CE链路接至VPN。一组共享相同路由信息的站点就构成了VPN。一个站点可以同时位于不同的几个VPN之中。

从MPLS VPN网络的结构可以看到,与前几种VPN技术不同,MPLS VPN网络中的主角虽然仍然是边缘路由器(此时是MPLS网络的边缘LSR),但是它需要公共IP网内部的所有相关路由都能够支持MPLS,所以这种技术对网络有较为特殊的要求。

5、IP安全(IPSec)

IPSec是专门为IP设计提供安全服务的一种协议(其实是一种协议族)。IPSec可有效保护IP数据报的安全,所采取的具体保护形式包括:数据源验证、无连接数据的完整性验证、数据内容的机密性保护、抗重播保护等。

IPSec主要由AH(认证头)、ESP(封装安全载荷)、IKE(因特网密钥交换)三个协议组成,各协议之间的关系如下图所示

①AH为IP数据包提供无连接的数据完整性和数据源身份认证,同时具有防重放攻击的能力。数据完整性校验通过消息认证码(如MD5)产生的校验来保证;数据源身份认证通过在待认证数据中加入一个共享密钥来实现;AH报头中的序列号可以防止重放攻击。

②ESP为IP数据包提供数据的保密性 (加密)、无连接的数据完整性、数据源身份认证以及防重放攻击保护。其中的数据保密性是ESP的基本功能,而数据源身份证、数据完整性检验以及重放保护都是可选的。

③AH和ESP可以单独使用,也可以结合使用,甚至嵌套使用。通过这些组合方式,可以在两台主机、两台安全网关(防火墙和路由器),或者主机与安全网关之间使用。

④解释域(DOI)将所有的IPSec协议捆绑在一起,是IPSec安全参数的主要数据库。

⑤密钥管理包括IKE协议和安全联盟(SA)等部分。IKE提供密钥确定、密钥管理。它在通信系统之间建立安全联盟,是一个产生和交换密钥材料并协调IPSec参数框架。

IPSec可以在主机、路由器/防火墙(创建一个安全网关)或两者中同时实施和部署。用户可以根据对安全服务的要求决定究竟在什么地方实施。、为实现在专用或公共IP网络上的安全传输,IPSEC隧道模式使用的安全方式封装和加密整个IP包。然后对加密的负载再次封装在明文IP包头内通过网络发送到隧道服务器端。隧道服务器对收到的数据报进行处理,在去除明文IP包头,对内容进行解密之后,获的最初的负载IP包。负载IP包在经过正常处理之后被路由到位于目标网络的目的地。

6、通用路由封装(GRE)

通用路由协议封装(GRE)是由Cisco和NetSmiths等公司1994年提交给IETF的,标号为RFC1701和RFC1702。目前有多数厂商的网络设备均支持GER隧道协议。

GER规定了如何用一种网络协议去封装另一种网络协议的方法。GER的隧道由两端的源IP和目的IP来定义,允许用户使用IP包封装IP、IPX、AppleTalk包,并支持全部的路由协议(如RIP2、OSPF等)。通过GER,用户可以利用公共IP网络连接IPX网络、AppleTalk网络,还可以使用保留地址进行网络互联,或者对公网隐藏企业网的IP地址。GER只提供了数据包的封装,并没有加密功能来防止网络侦听和攻击,所以在实际环境中经常与IPSec在一起使用,由IPSec提供用户数据的加密,从而给用户提供更好的安全性。GER的实施策略以及网络结构与IPSec非常相似,只需要网络边缘的接入设备支持GER协议即可。GER封装的格式如下图。

第二层和第三层隧道协议的区别主要在于用户数据在网络协议栈的第几层被封装,其中GRE、IPSec和MPLS主要用于实现专线VPN业务,L2TP主要用于实现拨号VPN业务(但也可以用于实现专线VPN业务),当然这些协议之间本身不是冲突的,而是可以结合使用的。

隧道技术可以分别以第2层或第3层隧道协议为基础。上述分层按照开放系统互联(OSI)的参考模型划分。第2层隧道协议对应OSI模型中的数据链路层,使用桢作为数据交换单位。PPTP,L2TP和L2F(第2层转发)都属于第2层隧道协议,都是将数据封装在点对点协议(PPP)桢中通过互联网络发送。第3层隧道协议对应OSI模型中的网络层,使用包作为数据交换单位。IP overIP以及IPSec隧道模式都属于第3层隧道协议,都是将IP包封装在附加的IP包头中通过IP网络传送。


本文标签: 协议 网络 用户