科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网网络频道虚拟专用网VPN系列讲座(三)

虚拟专用网VPN系列讲座(三)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

层隧道协议L2TP是PPTP和第二层转发L2F两种技术的结合,后者是由Cisco公司提出的隧道技术。IPSec封装 基于IPSec安全策略,UDP消息通过添加IPSec封装安全负载ESP报头、报尾和IPSec认证报尾,进行IPSec加密封装。

作者:中国IT实验室 2007年9月14日

关键字: VPN 虚拟专用网 SSL VPN IPSecVPN

  • 评论
  • 分享微博
  • 分享邮件

  一、第二层隧道协议L2TP和IP安全IPSec

  第二层隧道协议L2TP(Layer Two Tunneling Protocol)是PPTP和第二层转发L2F两种技术的结合,后者是由Cisco公司提出的隧道技术。为了避免PPTP和L2F两种互不兼容的隧道技术在市场上彼此竞争从而给用户造成困惑,带来不方便,IETF要求将两种技术结合在单一隧道协议中,并在该协议中糅合PPTP和L2F两者的优点,由此产生了L2TP。有关L2TP协议标准详见RFC 2661。

  

  L2TP协议将 PPP帧封装后,可通过IP,X.25,帧中继或ATM等网络进行传送。目前,仅定义了基于IP网络的L2TP。在IP网络中L2TP采用用户数据报协议UDP封装和传送PPP帧。L2TP隧道协议可用于Internet,也可用于其他企业专用Intranet中。

  

  IP网上的L2TP不仅采用UDP封装用户数据,还通过UDP消息对隧道进行维护。PPP帧的有效载荷即用户传输数据,可以经过加密、压缩或两者的混合处理,但需要指出的是,与PPTP不同,在Windows 2000中,L2TP客户机不采用MPPE对L2TP连接进行加密,L2TP连接加密由IPSec ESP提供。

  

  在Windows 2000中,创建一条未经IPSec加密的L2TP连接是有可能的,但在这种情形下,由于用户私有数据没有经过加密处理,因此该L2TP连接不属于VPN连接。非加密L2TP连接一般用于临时性的对基于IPSec的L2TP连接进行故障诊断和排除,在这种情况下,可以省略IPSec认证和协商过程。

  

  与PPTP类似,L2TP协议假定在L2TP客户机和L2TP服务器之间有连通且可用的IP网络。因此如果L2TP客户机本身已经是某IP网络的组成部分,那么即可通过该IP网络与L2TP服务器取得连接;而如果L2TP客户机尚未连入网络,譬如在Internet拨号用户的情形下,L2TP客户机必须首先拨打NAS建立IP连接。这里所说的L2TP客户机也就是使用L2TP隧道协议和IPSec安全协议的VPN客户机,而L2TP服务器亦即使用L2TP隧道协议和IPSec安全协议的VPN服务器。

  

  创建L2TP隧道时必须使用与PPP连接相同的认证机制,诸如EAP,MS?CHAP,CHAP,SPAP,和PAP。基于Internet的L2TP服务器亦即使用L2TP协议的拨号服务器,它的一个接口在外部网络Internet上,另一个接口在目标专用网络Intranet上。

  

  L2TP隧道维护控制消息和隧道化用户传输数据具有相同的包格式。

  

  二、基于L2TP控制消息的隧道维护

  与PPTP不同,L2TP不是通过一条单独的TCP连接来进行隧道维护。L2TP客户机和服务器之间的呼叫控制和管理均以发送UDP消息的方式进行。在Windows 2000中,L2TP客户机和服务器都使用UDP1701端口。

  

  -------------------------------------------------------------------------- 注:在Windows 2000中,L2TP客户机和服务器始终使用UDP1701端口,但Windows 2000 L2TP服务器也支持使用非1701 UDP端口的L2TP客户机。

   --------------------------------------------------------------------------

  IP网上的L2TP控制消息以UDP数据报形式发送。在Windows 2000实现中,L2TP控制消息即UDP数据报经过IPSec ESP的加密,见下图:

  

   

  

  图十一、L2TP控制消息

  

  由于UDP提供的是无连接的数据包服务,因此L2TP采用将消息序列化的方式来保证L2TP消息的按序递交。在L2TP控制消息中,Next-Received字段(类似于TCP中的确认字段)和Next-Sent字段(类似于TCP中序列号字段)用于维持控制消息的序列化。无序数据包将被丢弃。Next-Received字段和Next-Sent字段同样用于用户传输数据的按序递交和流控制。

  

  L2TP支持一条隧道内的多路呼叫。在L2TP的控制消息中以及L2TP数据帧的报头内,Tunnel ID标识了一条隧道而Call ID标识了该隧道内的一路呼叫。

  

  下表列出了一些主要的L2TP控制消息。

  

  表二、L2TP控制消息

  

   

  

  L2TP 控制消息的确切格式,请参阅L2TP Internet 草案。

  

  三、L2TP数据封装

  L2TP用户传输数据的隧道化过程采用多层封装的方法。图十二显示了封装后在隧道中传输的基于IPSec的L2TP数据包格式。

  

   

  

  图十二、L2TP数据包封装

  

  1)L2TP封装 初始PPP有效载荷如IP数据报、IPX数据报或NetBEUI帧等首先经过PPP报头和L2TP报头的封装。

  

  2)UDP封装 L2TP帧进一步添加UDP报头进行UDP封装,在UDP报头中,源端和目的端端口号均设置为1701。

  

  3)IPSec封装 基于IPSec安全策略,UDP消息通过添加IPSec封装安全负载ESP报头、报尾和IPSec认证报尾(Auth trailer),进行IPSec加密封装。

  

  4)IP封装 在IPSec数据报外再添加IP报头进行IP封装,IP报头中包含VPN客户机和服务器的源端和目的端IP地址。

  

  5)数据链路层封装 数据链路层封装是L2TP帧多层封装的的最后一层,依据不同的外发物理网络再添加相应的数据链路层报头和报尾。例如,如果L2TP帧将在以太网上传输,则用以太网报头和报尾对L2TP帧进行数据链路层封装;如果L2TP帧将在点-点WAN上传输,如模拟电话网或ISDN等,则用PPP报头和报尾对L2TP帧进行数据链路层封装。

  

  6)基于IPSec的L2TP隧道化数据的解封装过程 在接收到L2TP帧后,L2TP客户机或服务器将做如下解封装处理:

  

  1.处理并去除数据链路层报头和报尾

  

  2.处理并去除IP报头

  

  3.用IPSec ESP认证报尾对IP有效载荷和IPSec ESP报头进行认证

  

  4.用IPSec ESP报头对数据报的加密部分进行解密

  

  5.处理UDP报头并将数据报提交给L2TP协议

  

  6.L2TP协议依据L2TP报头中Tunnel ID和Call ID分解出某条特定的L2TP隧道

  

  7.依据PPP报头分解出PPP有效载荷,并将它转发至相关的协议驱动程序做进一步处理

  

  四、基于IPSec的L2TP数据包和Windows 2000网络体系结构

  下图描述了某使用modem进行远程访问的VPN连接中,VPN客户机端L2TP数据包在Windows 2000网络体系结构中的封装流程。

  

  

  

  图十三、L2TP数据包的封装流程

  

  具体步骤如下:

  

  1.IP数据报、IPX数据报或NetBEUI帧由各自协议提交给对应于VPN连接的虚拟接口。该接口符合网络驱动程序接口规范NDIS。

  

  2.NDIS将数据报提交给NDISWAN,NDISWAN可选择对数据进行压缩处理后,添加PPP报头进行第一步封装。该PPP报头仅含一个PPP协议标识域,不附加任何帧校正序列FCS或其他标记。

  

  3.NDISWAN将PPP帧提交给L2TP协议驱动程序,该驱动程序负责在PPP帧外添加L2TP报头进行第二步封装。在L2TP报头中,Tunnel ID 和Call ID的组合标识了一条隧道。

  

  4.L2TP协议驱动程序再将封装后的数据报提交给TCP/IP协议驱动程序,并告之驱动程序,将L2TP数据报作为UDP消息发送,两端UDP端口号均为1701。

  

  5.TCP/IP协议驱动程序对报文添加IP报头和UDP报头。然后由IPSec对报文进行分析,选择与之相匹配的安全策略,并在此安全策略的基础上,给数据报的UDP消息部分添加相应的ESP报头、报尾,进行IPSec加密、封装。

  

  完成IPSec封装后,将原先的IP报头中协议字段值设置为50,同时将该IP报头添加在ESP报文外。之后,TCP/IP协议驱动程序将结果报文提交给拨往本地ISP的拨号连接接口,该接口符合网络驱动程序接口规范NDIS。

  

  6.NDIS再次将数据报提交给NDISWAN。

  

  7.由NDISWAN提供数据链路层PPP报头、报尾,并将最终形成的PPP帧提交给与拨号硬件相对应的WAN微端口驱动程序。

  

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章