第二层隧道协议L2TP详解_第1页
第二层隧道协议L2TP详解_第2页
第二层隧道协议L2TP详解_第3页
第二层隧道协议L2TP详解_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第二层隧道协议L2TP详解1、引言隧道技术是建立安全VPN的基本技术之一,类似于点对点连接技术,在公用网建立一条数 据遂道,让数据包通过这条隧道传输。隧道是由隧道协议形成的,分为第二、三层隧道协议。 第二层隧道协议有L2F、PPTP和L2TP等,是先把各种网络协议封装到PPP中,再把整个数 据包装入隧道协议中。这种双层封装方法形成的数据包靠第二层协议进行传输。第三层隧道 协议有GRE、IPSEC等。第二层隧道协议和第三层隧道协议的本质区别在于在隧道内用户的 数据包是被封装在哪种数据包中进行传输的。L2TP隧道协议是典型的被动式隧道协议,它结合了 L2F和PPTP的优点,可以让用户从客户 端或访

2、问服务器端发起VPN连接。L2TP是把链路层PPP帧封装在公共网络设施如IP、ATM、 帧中继中进行隧道传输的封装协议。L2TP 主要由 LAC(L2TP Access Concentrator)和 LNS(L2TP Network Server)构成,LAC 支持客户 端的L2TP,用于发起呼叫、接收呼叫和建立隧道;LNS是所有隧道的终点,LNS终止所有的 PPP流。在传统的PPP连接中,用户拨号连接的终点是LAC,L2TP使得PPP协议的终点延伸 到 LNS。L2TP的好处在于支持多种协议,用户可以保留原有的IPX、Appletalk等协议或公司原有的IP 地址。L2TP还解决了多个PPP

3、链路的捆绑问题,PPP链路捆绑要求其成员均指向同一个 NAS(Network Access Server),L2TP可以使物理上连接到不同NAS的PPP链路,在逻辑上的终 结点为同一个物理设备。L2TP还支持信道认证,并提供了差错和流量控制。L2TP利用IPsec增强了安全性,支持数据包的认证、加密和密钥管理。L2TP/IPSec因此能为 远程用户提供设计精巧并有互操作性的安全隧道连接。这对安全的远程访问和安全的网关之 间连接来说,它是一个很好的解决方案。因此,安全的VPN需要同时解决好L2TP和IPSec 这两个不同的问题L2TP协议解决了穿过IP网络的不同用户协议的转换问题;IPSec协议

4、(加 密/解密协议)解决了通过公共网络传输信息的保密问题。2、应用L2TP技术的网络拓扑结构该网络结构中将IPSec SGW(安全网关)和LNS合并成一个系统,即安全远程访问服务器SRAS (Secure Remote Access Server)0这样,远程访问客户将访问唯一的节点SRAS,该节点既是NAS服务的PPP终端,也是进入企业的安全网关节点。至于远程访问,好处是对于穿过Internet的端到端IP包,将IPSec安全性当作适合企业请求 的可信任模型。这样,你可以简单地使用AH,它不存在对外来窃听的担心,你只需要验证 包数据(包括包的来源);你也可以使用ESP (包括ESP验证),它

5、不考虑对网络的信任以及 任何人对公司活动窃听的问题。SRAS的操作要求配置防火墙允许UDP包进入SRAS节点,该节点将依次只处理L2TP包并丢 弃其它包。而且,SRAS将要求所有嵌入在PPP内的IP包封装成AH和ESP包之一,并指向 它自身。另外,为了执行IKE协商和动态生成IPSec密钥,SRAS也将允许IKE UDP包指向它 自身。企业通过只允许安全远程访问包进入企业来实施安全策略,它将丢弃所有其它嵌入 PPP内的IP包。当一个PPP会话被丢弃时,与远程访问用户相关的IPSec和ISAKMP的SAs (安全关联)也从SRAS内被丢弃。这样,在捆绑SRAS后,SGW和LNS相分离的网络结构

6、的所有缺点都不存在了。图1给出了应用L2TP技术的网络拓扑结构。3、L2TP报头格式L2TP使用两种类型的消息:控制消息和数据消息。控制消息用于隧道和呼叫的建立、维护 和清除,它使用L2TP内的可靠控制通道来保证传送。数据消息用于封装隧道传输的PPP帧, 当发生包丢失时不再传送数据消息。PPP帧先由L2TP报头封装,再由一种包传输机制(如UDP、帧中继、ATM等)封装之后在 一个不可靠的数据通道上传输。但是,控制消息在一个可靠的L2TP控制通道上传送,这个 控制通道在同一包传输机制上传送包。在所有的控制消息中都需要有序列号,序列号还用于 提供控制通道上的可靠传送。数据消息可以使用序列号来重新排

7、序数据包和检测包的丢失。 控制通道和数据通道的L2TP数据包的报头格式相同(如图2所示)。在该报头格式中,当一 个可选字段未被选中时,在消息中不为这个字段预留空间。注意:当数据消息的可选项Ns 在消息中出现(即被选中)则可选项Nr必须出现在所有控制消息中。T:消息类型,1 bit。0数据消息;1控制消息。L:长度字段出现,1 bit,可选。如果设置了这一位,则长度字段出现。控制消息中必须设 置这一位。S:序列号出现,1 bit。如果设置了这一位,则Ns和Nr字段出现。控制消息中必须设置这 一位。0:偏移字段出现,1 bit。如果设置了这一位,则Offset Size字段出现。控制消息中必须设

8、置这一位。P:优先权,1 bit。这一特征只是对数据消息而言,控制消息都必须设置这一位。如果设置 了这一位,则在本地排队和传输中将优先处理这个数据消息。Version: 4 bits。指明L2TP协议的版本,必须被设置为2。保留值1用作允许对L2F数据包 的检测,判断是否与L2TP数据包一起到达。当接收到一个版本值未知的数据包时,必须丢 弃这个数据包。Length: 16 bits。指明消息的总长度,用字节表示。Tunnel ID: 16 bits。指明控制连接的标识符。L2TP遂道由只有本地意义的标识符命名;即, 同一隧道在隧道的每一端都有不同的Tunnel IDs。每一个消息中的Tunne

9、l ID都是预定接收者 而不是发送者的Tunnel ID。在隧道创建期间,Tunnel IDs的选择和交换都是作为Assigned Tunnel ID AVPs(Attribute-Value Pair)进行的。Session ID,16 bits。指明一个隧道内的一次会话的标识符。L2TP会话由只有本地意义的 标识符命名;即,同一个会话在会话的每一端有不同的Session IDs。每一个消息中的Tunnel ID都是预定接收者而不是发送者的Session ID。在会话创建期间,Session IDs的选择和交换 都是作为 AssignedSession ID AVPs进行的。Ns: 16 b

10、its,可选。指明数据消息或控制消息的序列号。从0开始每发送一个消息加1。Nr: 16 bits,可选。表明所要收到的下一个控制消息中预定的序列号0。因此,Nr被设为 所接收到的最后一个消息的Ns加1。若在数据消息中保留Nr,则接收时必须忽略。Offset Size: 16 bits,可选。如果出现,则指定了 L2TP报头之后的字节数,因为载荷数据从 这里开始(即载荷数据的字节数)。如果offset字段出现,则L2TP header在offset padding 的最后一个字节之后结束。Offset Pad :偏移填充,可变长度,可选。Data :可变长度。4、相关技术与应用4.1用L2TP控

11、制消息维护隧道与PPTP不同,L2TP隧道的维护不在独立的TCP连接上进行。L2TP呼叫控制和管理业务在 L2TP客户和服务器之间以UDP消息的形式发送。在Windows 2000中,L2TP客户和服务器 都使用UDP端口 1701。值得注意的是,Windows 2000的L2TP服务器也支持使用的其他UDP 端口(UDP端口不为1701)的L2TP客户。IP上的L2TP控制消息以UDP数据包的形式发送。在Windows 2000实现中,这样的L2TP 控制消息作为IPSec ESP的加密载荷发送,如图3所示:因为没有使用TCP连接,L2TP使用消息序列确保L2TP消息的传输。L2TP控制消息

12、中,Nr 和Ns字段都用于保持控制消息的次序,违反次序的数据包将被丢弃。Nr和Ns字段也可用 于隧道数据的顺序传送和流控制。L2TP的每一个隧道都支持多个呼叫L2TP控制消息和报头中有隧道数据的Tunnel ID-用于指 定隧道和Call ID-用于指定这个隧道中的一次呼叫。4.2 L2TP数据的隧道传输L2TP数据的隧道传输是通过多级封装实现的。图4为IPSec隧道数据进行L2TP封装之后产 生的结构。其中,Data-Link Layer封装是为了在LAN或WAN连接上传送,IP数据包用数据链路层的 报头和报尾封装。例如,以太网接口上发送的IP数据报用以太网报头和报尾封装。当IP数 据报在点

13、到点WAN链路(如模拟电话线或ISDN)上传送时,IP数据报用一个PPP报头和 报尾来封装。接收到L2TP封装的IPSec隧道数据后,L2TP客户或L2TP服务器将进行L2TP的分离处理, 过程如下:处理并剥去数据链路层报头和报尾;处理并剥去IP header;使用 IPSec ESP Auth trailer 认证 IP 载荷和 IPSec ESP 报头;使用IPSec ESP header解密数据包的加密部分;处理UDP header并将L2TP数据包发给L2TP;L2TP使用L2TP header中的Tunnel ID和Call ID确定特定的L2TP遂道;使用PPP header确定P

14、PP载荷,并将它转发给适当的协议驱动器进行处理。4.3在Windows 2000网络体系结构中利用L2TP技术实现VPN图5说明了隧道传输数据在Windows 2000网络体系结构中从一个VPN客户使用一个模拟 MODEM在远程访问VPN经过的过程:一个IP数据报、IPX数据报、或NetBEUI帧由适当的协议发送到虚拟接口上,使用NDIS(网 络驱动器接口标准)表示VPN连接。NDIS向NDISWAN提交一个数据包(可以是压缩过的)并提供一个只包含PPP协议ID字段 的PPP报头,不添加Flag和FCS字段。NDISWAN向L2TP协议驱动器提供PPP帧,由L2TP协议驱动器用一个L2TP报头

15、封装PPP帧。 在L2TP报头中,将Tunnel ID和Call ID设置成适当的值以确定L2TP隧道。然后L2TP协议驱动器向TCP/IP协议驱动器提交产生的数据包,同时还要提交将L2TP数据包 以UDP消息形式从UDP端口 1701发送到UDP端口 1701,同时提交的还有VPN客户和服务 器的IP地址。TCP/IP协议驱动器用适当的IP报头和UDP报头构建一个IP数据包;然后IPSec分析这个IP 数据包找出与之相匹配的IPSec。IPSec根据这个策略的设置,使用适当的ESP报头和报尾 封装和加密IP数据包中的UDP消息部分;将Protocol字段设为50的源IP header添加到ESP 数据包前面。然后TCP/IP协议驱动器向使用UDIS表示到本地ISP的拨号连接的接口提交所产生的数据包。NDIS向NDISWAN提交这个数据包。NSIDWAN提供PPP报头和报尾,并将产生的PPP帧提交给适当的、表示拨号硬件的WAN miniport驱动器。应当注意到,拨号连接可以和ISP协商一个加密的PPP连接,但是不必要也不推荐这样做, 因为所发送的专用数据或隧道传输的PPP帧已经用IPSe

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论