L2TP(Layer 2 Tunneling Protocol,二层隧道协议)是VPDN(Virtual Private Dial-up Network,虚拟私有拨号网)隧道协议的一种。

VPDN是指利用公共网络(如ISDN或PSTN)的拨号功能接入公共网络,实现虚拟专用网,从而为企业、小型ISP、移动办公人员等提供接入服务。即,VPDN为远端用户与私有企业网之间提供了一种经济而有效的点到点连接方式。

VPDN采用专用的网络通信协议,在公共网络上为企业建立安全的虚拟专网。企业驻外机构和出差人员可从远程经由公共网络,通过虚拟隧道实现和企业总部之间的网络连接,而公共网络上其它用户则无法穿过虚拟隧道访问企业网内部的资源。

VPDN有以下两种实现方式:

l 接入服务器发起VPDN连接

NAS(Network Access Server,网络接入服务器)通过使用VPDN隧道协议,将客户的PPP连接直接连到企业的VPDN网关上,从而与VPDN网关建立隧道。这些对于用户是透明的,用户只需要登录一次就可以接入企业网络,由企业网进行用户认证和地址分配,而不占用公共地址。该方式需要NAS支持VPDN协议、认证系统支持VPDN属性。

l 用户发起VPDN连接

客户端与VPDN网关建立隧道。这种方式由客户端先建立与Internet的连接,再通过专用的客户软件(如Windows 2000支持的L2TP客户端)与VPDN网关建立隧道连接。用户上网的方式和地点没有限制,不需ISP介入。但是,用户需要安装专用的软件(一般都是Windows 2000平台),限制了用户使用的平台。

VPDN网关一般使用路由器或VPN专用服务器。

VPDN隧道协议主要包括以下三种:

l PPTP(Point-to-Point Tunneling Protocol,点到点隧道协议)

l L2F(Layer 2 Forwarding,二层转发)

l L2TP

IOS最佳的链接方式是L2TP。

L2TP典型组网应用
使用L2TP协议构建的VPDN应用的典型组网如图 1所示。

图 1 应用L2TP构建的VPDN服务

在L2TP构建的VPDN中,网络组件包括以下三个部分:

l 远端系统

远端系统是要接入VPDN网络的远地用户和远地分支机构,通常是一个拨号用户的主机或私有网络的一台路由设备。

l LAC(L2TP Access Concentrator,L2TP访问集中器)

LAC是附属在交换网络上的具有PPP端系统和L2TP协议处理能力的设备,通常是一个当地ISP的NAS,主要用于为PPP类型的用户提供接入服务。

LAC位于LNS和远端系统之间,用于在LNS和远端系统之间传递信息包。它把从远端系统收到的信息包按照L2TP协议进行封装并送往LNS,同时也将从LNS收到的信息包进行解封装并送往远端系统。

LAC与远端系统之间采用本地连接或PPP链路,VPDN应用中通常为PPP链路。

l LNS(L2TP Network Server,L2TP网络服务器)对应S1500的L2TP Server?

LNS既是PPP端系统,又是L2TP协议的服务器端,通常作为一个企业内部网的边缘设备。

LNS作为L2TP隧道的另一侧端点,是LAC的对端设备,是LAC进行隧道传输的PPP会话的逻辑终止端点。通过在公网中建立L2TP隧道,将远端系统的PPP连接的另一端由原来的LAC在逻辑上延伸到了企业网内部的LNS。

L2TP基本概念

  1. L2TP协议背景
    PPP定义了一种封装技术,可以在二层的点到点链路上传输多种协议数据包,当用户与NAS之间运行PPP协议时,二层链路端点与PPP会话点驻留在相同硬件设备(NAS)上。

L2TP(RFC 2661)是一种对PPP链路层数据包进行隧道传输的技术,允许二层链路端点(LAC)和PPP会话点(LNS)驻留在通过分组交换网络连接的不同设备上,从而扩展了PPP模型,使得PPP会话可以跨越帧中继或Internet等网络。

L2TP结合了L2F和PPTP的各自优点,成为IETF有关二层隧道协议的工业标准。

  1. L2TP协议结构
    图 2描述了控制通道以及PPP帧和数据通道之间的关系。PPP帧在不可靠的L2TP数据通道上进行传输,控制消息在可靠的L2TP控制通道内传输。

图 2 L2TP协议结构

图 3描述了LAC与LNS之间的L2TP数据报文的封装结构。通常L2TP数据以UDP报文的形式发送。L2TP注册了UDP 1701端口,但是这个端口仅用于初始的隧道建立过程中。L2TP隧道发起方任选一个空闲的端口(未必是1701)向接收方的1701端口发送报文;接收方收到报文后,也任选一个空闲的端口(未必是1701),给发送方的指定端口回送报文。至此,双方的端口选定,并在隧道保持连通的时间段内不再改变。

图 3 L2TP报文封装结构图

  1. 隧道和会话
    在一个LNS和LAC对之间存在着两种类型的连接。

l 隧道(Tunnel)连接:它对应了一个LNS和LAC对。

l 会话(Session)连接:它复用在隧道连接之上,用于表示承载在隧道连接中的每个PPP会话过程。

在同一对LAC和LNS之间可以建立多个L2TP隧道,隧道由一个控制连接和一个或多个会话连接组成。会话连接必须在隧道建立(包括身份保护、L2TP版本、帧类型、硬件传输类型等信息的交换)成功之后进行,每个会话连接对应于LAC和LNS之间的一个PPP数据流。

控制消息和PPP数据报文都在隧道上传输。L2TP使用Hello报文来检测隧道的连通性。LAC和LNS定时向对端发送Hello报文,若在一段时间内未收到Hello报文的应答,隧道断开。

  1. 控制消息和数据消息
    L2TP中存在两种消息:控制消息和数据消息。

l 控制消息用于隧道和会话连接的建立、维护以及传输控制。它的传输是可靠传输,并且支持对控制消息的流量控制和拥塞控制。

l 数据消息用于封装PPP帧,并在隧道上传输。它的传输是不可靠传输,若数据报文丢失,不予重传,不支持对数据消息的流量控制和拥塞控制。

控制消息和数据消息共享相同的报文头。L2TP报文头中包含隧道标识符(Tunnel ID)和会话标识符(Session ID)信息,用来标识不同的隧道和会话。隧道标识相同、会话标识不同的报文将被复用在一个隧道上。报文头中的隧道标识符与会话标识符由对端分配。

L2TP隧道模式及隧道建立过程

  1. 两种典型的L2TP隧道模式
    L2TP隧道的建立包括以下两种典型模式。

l NAS-Intiated

如图 4所示,由LAC端(指NAS)发起L2TP隧道连接。远程系统的拨号用户通过PPPoE/ISDN拨入LAC,由LAC通过Internet向LNS发起建立隧道连接请求。拨号用户的私网地址由LNS分配(S1500的板子相当于拨号用户?不是LAC?);对远程拨号用户的验证与计费既可由LAC侧代理完成,也可在LNS侧完成。

图 4 NAS-Initiated L2TP隧道模式

l Client-Initiated

如图 5所示,直接由LAC客户(指本地支持L2TP协议的用户)发起L2TP隧道连接。LAC客户获得Internet访问权限后,可直接向LNS发起隧道连接请求,无需经过一个单独的LAC设备建立隧道。LAC客户的私网地址由LNS分配。

在Client-Initiated模式下,LAC客户需要具有公网地址,能够直接通过Internet与LNS通信。

图 5 Client-Initiated L2TP隧道模式

  1. L2TP隧道的建立过程
    L2TP应用的典型组网如图 6所示。

图 6 L2TP应用的典型组网

下面以NAS-Initiated模式的L2TP隧道为例,介绍L2TP的呼叫建立流程。

图 7 L2TP隧道的呼叫建立流程

如图 7所示,L2TP隧道的呼叫建立流程过程为:

(1) 远端系统Host发起呼叫连接请求;

(2) Host和LAC端(RouterA)进行PPP LCP协商;

(3) LAC对Host提供的用户信息进行PAP或CHAP认证;

(4) LAC将认证信息(用户名、密码)发送给RADIUS服务器进行认证;

(5) RADIUS服务器认证该用户,如果认证通过,LAC准备发起Tunnel连接请求;

(6) LAC端向指定LNS发起Tunnel连接请求;

(7) 在需要对隧道进行认证的情况下,LAC端向指定LNS发送CHAP challenge信息,LNS回送该challenge响应消息CHAP response,并发送LNS侧的CHAP challenge,LAC返回该challenge的响应消息CHAP response;

(8) 隧道验证通过;

(9) LAC端将用户CHAP response、response identifier和PPP协商参数传送给LNS;

(10) LNS将接入请求信息发送给RADIUS服务器进行认证;

(11) RADIUS服务器认证该请求信息,如果认证通过则返回响应信息;

(12) 若用户在LNS侧配置强制本端CHAP认证,则LNS对用户进行认证,发送CHAP challenge,用户侧回应CHAP response;

(13) LNS再次将接入请求信息发送给RADIUS服务器进行认证;

(14) RADIUS服务器认证该请求信息,如果认证通过则返回响应信息;

(15) 验证通过,LNS端会给远端用户分配一个企业网内部IP地址,用户即可以访问企业内部资源。

L2TP协议的特点

  1. 灵活的身份验证机制以及高度的安全性
    L2TP协议本身并不提供连接的安全性,但它可依赖于PPP提供的认证(比如CHAP、PAP等),因此具有PPP所具有的所有安全特性。L2TP可与IPsec结合起来实现数据安全,这使得通过L2TP所传输的数据更难被攻击。L2TP还可根据特定的网络安全要求在L2TP之上采用隧道加密技术、端对端数据加密或应用层数据加密等方案来提高数据的安全性。

  2. 多协议传输
    L2TP传输PPP数据包,在PPP数据包内可以封装多种协议。

  3. 支持RADIUS服务器的验证
    LAC和LNS可以将用户名和密码发往RADIUS服务器进行验证申请,RADIUS服务器负责接收用户的验证请求,完成验证。

  4. 支持内部地址分配
    LNS可放置于企业网的防火墙之后,它可以对远端用户的地址进行动态的分配和管理,可支持私有地址应用(RFC 1918)。为远端用户所分配的地址不是Internet地址而是企业内部的私有地址,这样方便了地址的管理并可以增加安全性。

  5. 网络计费的灵活性
    可在LAC和LNS两处同时计费,即ISP处(用于产生帐单)及企业网关(用于付费及审计)。L2TP能够提供数据传输的出入包数、字节数以及连接的起始、结束时间等计费数据,可根据这些数据方便地进行网络计费。

  6. 可靠性
    L2TP协议支持备份LNS,当主LNS不可达之后,LAC可以与备份LNS建立连接,增加了VPN服务的可靠性和容错性。

l2tp协议介绍,跟PPTP有什么不同?相关推荐

  1. ×××的各种协议介绍

    ***中的隧道是由隧道协议形成的,***使用的隧道协议主要有三种:点到点隧道协议(pptp).第二层隧道协议(l2tp)以及ipsec. pptp封装了ppp数据包中包含的用户信息,支持隧道交换.隧道 ...

  2. 搭建Netscreen SSG5基于L2TP协议拨号平台

     隧道技术及L2TP隧道简介  隧道协议有很多种,不同的隧道协议工作在不同的TCP/IP层 隧道技术(Tunneling) 隧道技术的基本过程是在源局域网与公网的接口处将数据(可以是ISO 七层模型中 ...

  3. PPTP协议介绍及其报文的分析

    PPTP协议介绍及其报文的分析 PPTP简介 PPTP处理的报文 PPTP报文详情及流程 incoming模式(被动模式)与outgoing模式(主动模式)的区别 PPTP数据链路报文格式 其他 PP ...

  4. L2TP协议笔记1---L2TP概念及协议流程分析

    这个协议是早前做防火墙测试工作时主要负责测试的协议,虽然只做了几个月,但感觉如果把当时的一些学习笔记和经验整理好放在网络中,不仅可以使自己的协议理解得到巩固,也让自己有机会在和别人交流中互相学习.   ...

  5. L2TP协议笔记2---L2TP主要协议报文分析

    五.L2TP的Tunnel和Session建立过程   ① 1(SCCRQ)Start-Control-Connection-Request       控制链接发起请求,由LAC或LNS向对端发送, ...

  6. 常用开源协议介绍以及开源软件规范列表

    1. 开源协议介绍 GPL: General Public License,开源项目最常用的许可证,衍生代码的分发需开源并且也要遵守此协议.该协议也有很多变种,不同变种要求会略微不同. MPL: MP ...

  7. open source license主流的开源软件协议介绍

    open source license主流的开源软件协议介绍(20190222) 文章目录: 一.开源软件的直观介绍 二.常用开源协议介绍 三.常用开源协议之间的对比 当Adobe.Microsoft ...

  8. SNMP协议介绍和操作截图

    第一章 SNMP协议介绍 SNMP协议 基于TCP/IP的网络管理包含3个组成部分: 1) 一个管理信息库MIB(Management Information Base).管理信息库包含所有代理进程的 ...

  9. VRRP协议介绍--转

    http://www.cnblogs.com/jony413/articles/2697404.html VRRP协议介绍 参考资料: RFC 3768 1. 前言 VRRP(Virtual Rout ...

最新文章

  1. 《iOS应用开发指南——使用HTML5、CSS3和JavaScript》——导读
  2. Lua中的字符串函数库
  3. linux下统计所有py文件的代码多少行
  4. [转载]jquery 消息插件--仿QQ消息弹出提醒
  5. PHP和MySQL Web开发从新手到高手,第7天-创建author管理页面
  6. javascript实现的复制到剪贴板
  7. 做生意如何选一个好的行业,请记住这4点
  8. 摄像头各参数的意义_详解:摄像头参数介绍说明
  9. linux软连接出现红色闪烁
  10. 贝贝走进ku6eyh我在在雅虎的是
  11. ADC0804工作原理及过程
  12. deadline集群渲染_Maya笔记
  13. 如何使用免费软件实现iPad当Windows电脑副屏的效果
  14. 《青春》英语美文欣赏(中英对照)
  15. 标段(包)分类 字典sql
  16. 在沟通管理中,如何给予有效的反馈意见? | 每天成就更大成功
  17. 人生到处知何似,应似飞鸿踏雪泥
  18. 网络常识,whirshark分析
  19. android mock测试资源,Android测试基础整理篇
  20. UINO优锘科技:一台物理发动机带你看懂数字孪生八要素

热门文章

  1. Undertow启动报Buffer pool was not set on WebSocketDeploymentInfo, the default pool will be used
  2. [OpenGL]射线拾取RayPicking---(1)生成射线
  3. 偷师腾讯由硬转软 新苹果的游戏业务对腾讯威胁最大
  4. php laravel框架开发实例,Laravel框架集合用法实例浅析
  5. Topaz Video AI 视频修复工具 安装教程
  6. 企业信息化规划时应考虑到哪些关键因素
  7. windows server 服务器 ftp搭建所遇到问题总结
  8. 北京国家会计学院副教授王亚星:智能会计和价值财务有力支撑企业高质量发展
  9. php获取局域网主机信息,PHP如何获取客户端的“局域网内”的IP地址?
  10. 写一封「用户体验」良好的求职邮件