【原创】L2TP封装详解
- 格式:docx
- 大小:1.01 MB
- 文档页数:5
第二层隧道协议L2TP详解1、引言隧道技术是建立安全VPN的基本技术之一,类似于点对点连接技术,在公用网建立一条数据遂道,让数据包通过这条隧道传输。
隧道是由隧道协议形成的,分为第二、三层隧道协议。
第二层隧道协议有L2F、PPTP和L2TP等,是先把各种网络协议封装到PPP中,再把整个数据包装入隧道协议中。
这种双层封装方法形成的数据包靠第二层协议进行传输。
第三层隧道协议有GRE、IPSEC等。
第二层隧道协议和第三层隧道协议的本质区别在于在隧道内用户的数据包是被封装在哪种数据包中进行传输的。
L2TP隧道协议是典型的被动式隧道协议,它结合了L2F和PPTP的优点,可以让用户从客户端或访问服务器端发起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链路的捆绑问题,PPP链路捆绑要求其成员均指向同一个NAS(Network Access Server),L2TP可以使物理上连接到不同NAS的PPP链路,在逻辑上的终结点为同一个物理设备。
L2TP还支持信道认证,并提供了差错和流量控制。
L2TP利用IPsec增强了安全性,支持数据包的认证、加密和密钥管理。
L2TP/IPSec因此能为远程用户提供设计精巧并有互操作性的安全隧道连接。
这对安全的远程访问和安全的网关之间连接来说,它是一个很好的解决方案。
L2TP协议特点一.L2TP协议具有以下优势:1.灵活的身份验证机制以及高度的安全性L2TP本身并不保证连接的安全性,但它可利用PPP提供的认证机制(如CHAP、PAP),因此具有PPP的所有安全特性。
L2TP可以与IPSec结合,使通过L2TP所传输的数据更难被攻击。
可根据特定的网络安全要求,在L2TP之上采用通道加密技术、端对端数据加密或应用层数据加密等方案来提高安全性。
2.多协议传输L2TP传输PPP数据包,PPP本身可以传输多协议,而不仅仅是IP。
可以在PPP 数据包内封装多种协议,甚至运载链路层协议(如Ethernet)。
3.支持RADIUS服务器的验证LAC端支持将用户名和密码发往RADIUS服务器进行验证申请,由RADIUS服务器负责接收用户的验证请求,完成验证。
4.支持内部地址分配LNS可放置于企业网的防火墙之后,对远端用户地址进行动态分配和管理,并支持私有地址应用(RFC1918,Address Allocation for Private Internets)。
5.网络计费的灵活性可在LAC和LNS同时计费,即ISP处(用于产生帐单)及企业网关(用于付费及审计)。
L2TP能够提供数据传输的出入包数、字节数以及连接的起始、结束时间等计费数据,可根据这些数据方便地进行网络计费。
6.可靠性L2TP协议支持备份LNS,当一个主LNS不可达之后,LAC可以与备份LNS建立连接,增强了VPN服务的可靠性和容错性。
二.L2TP协议的不足L2TP协议存在以下不足:1.L2TP隧道内封装了整个PPP帧,在L2TP封装后还要进行UDP头和IP头的封装,开销很大,可能产生传输效率问题。
2.PPP会话贯穿整个隧道并终止在用户侧设备上,导致用户侧网关需要保存大量PPP会话状态与信息,对系统负荷产生较大的影响,也影响到系统的扩展性。
3.由于PPP的LCP及NCP协商对时间敏感,隧道效率降低会造成PPP对话超时等问题。
L2TP协议特点与原理L2TP(Layer 2 Tunneling Protocol)是一种用于虚拟专用网络(VPN)的隧道协议。
它通过在现有的网络基础设施中创建VPN连接,使得用户可以安全地访问私有网络资源。
本文将介绍L2TP协议的特点与原理,帮助读者更好地理解这一协议的工作机制。
一、L2TP协议特点1.1 无连接性L2TP协议建立的连接是无连接的,即在通信开始前不需要建立持久的连接。
这使得L2TP协议非常适用于互联网等不可靠的网络环境中。
1.2 兼容性强L2TP协议能够与其他的隧道协议相互兼容,例如IPsec协议。
这使得它可以与不同厂商、不同设备之间的VPN连接进行互操作。
1.3 支持多种验证和加密技术L2TP协议支持多种验证和加密技术,例如PAP(Password Authentication Protocol)、CHAP(Challenge Handshake Authentication Protocol)和MS-CHAPv2(Microsoft Challenge Handshake Authentication Protocol version 2)等。
这些技术可以确保用户身份的安全,并保护通信内容的机密性。
1.4 支持多种信道类型L2TP协议支持多种信道类型,如以太网、同步光纤传输模式(Synchronous Optical Networking)、异步传输模式(Asynchronous Transfer Mode)等。
这使得L2TP协议可以在不同网络环境下进行部署和使用。
1.5 提供高效的隧道交换L2TP协议通过构建隧道,将数据进行封装和传输。
它可以在多个隧道之间快速切换,以提供高效的传输效果。
二、L2TP协议原理2.1 隧道建立与维护L2TP协议需要在两个网络节点之间建立隧道,即L2TP隧道。
隧道的建立包括三个阶段:隧道建立、控制连接建立和数据连接建立。
首先,两个网络节点之间通过IP网络建立L2TP隧道。
L2TP(Layer 2 Tunneling Protocol)是一种用于建立虚拟专网(VPN)隧道连接的协议。
它结合了点对点隧道协议(PPTP)和层二转发协议(L2F)的优点,提供了一种可靠、安全和高效的通信方式。
本文将介绍L2TP隧道的实现原理。
一、L2TP概述L2TP是在数据链路层上运行的一种隧道协议。
它允许用户通过公共网络(如Internet)建立安全的私有连接,从而扩展局域网(LAN)的范围。
L2TP隧道通过封装和加密数据包,在公共网络上传输私有数据,保证数据的机密性和完整性。
二、L2TP隧道实现原理1. 建立隧道连接L2TP隧道的建立需要两个主要组件:L2TP Access Concentrator(LAC)和L2TP Network Server(LNS)。
LAC作为客户端负责发起连接请求,LNS作为服务器接受连接请求。
当LAC希望建立一个隧道连接时,它向LNS发送一个连接请求。
2. 握手过程LAC和LNS之间的握手过程包括以下步骤:a. LAC发送SCCRQ(Start-Control-Connection-Request)消息给LNS,包含LAC的身份验证信息。
b. LNS收到SCCRQ消息后,发送SCCRP (Start-Control-Connection-Reply)消息给LAC,确认连接请求。
c. LAC收到SCCRP消息后,发送SCCCN (Start-Control-Connection-Connected)消息给LNS,表示连接已建立。
3. 隧道数据传输一旦隧道连接建立,L2TP开始封装并加密数据包以在公共网络上传输。
每个隧道都有一个唯一的隧道标识符(Tunnel ID),用于区分不同的隧道连接。
LAC和LNS之间通过隧道传输L2TP数据包,以及其他协议(如IP、PPP等)的数据包。
4. L2TP数据封装L2TP将原始数据包封装到L2TP数据包中,以便在隧道中传输。
L2TP (二层隧道协议)1.第二层隧道协议:所谓二层VPN是指工作在数据链路层的VPN技术,VPN隧道内封装数据链路帧。
L2TP,PPTP和MPLS L2 VPN 等技术允许在IP隧道中传送二层的PPP帧或以太帧通过这些技术,VPN的用户,站点之间直接通过链路层连接,可以运行各自不同的网络层协议。
这些都属于二层VPN的实现2.第三层隧道协议:三层VPN又称为网络层VPN,在这一级别里,VPN站点通过网络层协议互联,隧道内封装三层数据包。
例如,GRE对三层数据包加以封装,可以构建GRE隧道,这就是一种网络层隧道。
又如IPSEC,通过AH和ESP对三层数据包直接进行安全处理,等等。
这些都是典型的三层VPN。
简介:由IETF起草,微软,CISCO.3COM等公司参与制定的2层隧道协议;是PPTP与L2F(二层转发协议)的组合,定义在RFC2661及3428里;合并了IPsec的安全性及用户验证、隧道地址分配和配置以及PPP的多协议支持。
L2TP以UDP/IP承载,注册UDP端口号为1701 (区别于PPTP的控制连接为TCP,数据为GRE(协议号47))其运行模式:1、强制隧道模式:(用户PC不为隧道终端)LAC端接来自远程接入客户的呼叫,然后通过中间网络以隧道方式将其PPP会话延伸到LNS,这种模式不要求远程客户了解L2TP,远程接入客户只需要使用PPP拨号到LAC即可。
2、自发隧道模式:(用户PC为隧道终端)在自发隧道模式下,远程接入客户运行L2TP软件,充当了L2TP连接模型中的LAC远程接入客户/LAC连接到LNS,PPP帧通过L2TP隧道直接在客户和LNS之间转发强制与自发在于与LNS建立隧道的终端类型一个用户侧的IP报文的传递过程来描述L2TP VPN工作原理:从远程系统向服务器方向上:1、原始数据(IP包)用PPP封装;2、在LAC用L2TP封装(隧道ID、会话ID等),再用UDP封装(源目1701);3、IP封装(公有IP头部)区别于PPTP采用MPPE加密(经PPP协商),L2TP数据采用IPsec的ESP的传输模式保护(可以不采用IPsec,如不采用,则不能启用加密功能)注:AH亦被L2TP/IPsec所支持,但因为地址转换问题,故不常使用LAC与LNS两种连接:1、隧道的控制连接:控制连接的作用是建立,维护和释放隧道中的会话以及隧道本身2、会话连接:用在隧道连接之上,用于表示承载在隧道连接中的每个PPP会话过程。
二三层隧道协议
一直知道L2TP是第二层隧道协议,GRE是第三层隧道协议,可是一直不是太明白,今天总结一下自己理解的。
L2TP是用于三层网络上承载二层协议报文的隧道协议,是用于在三层网络上跑PPP 的。
GRE是通用路由封装协议,内部能封装二层,三层,MPLS……它能封装的报文类型很多,但一般都用于封装三层报文,所以也有叫三层隧道协议的,但这个说法也不严谨。
例如:GRE能封装MPLS,ISIS等,这些都不是三层报文。
Gre over ipsec就是通过GRE将广播,组播,非IP报文通过GRE封装变成单播IP报文,然后再用IPSEC封装加密,IPSEC是个标准的三层隧道协议,它只能承载单播IP报文。
L2TP原理第2层通道协议(L2TP)让拨号用户可以通过虚拟点对点协议(PPP)连接到L2TP网络服务器(L2TP),而该服务器可以是一台LinkTrust UTM。
L2TP通过L2TP存取集中器(LAC)和LNS之间的一个通道发送PPP帧。
最初设计L2TP的目的,是在位于一个ISP网站上的LAC和另一ISP 网站或企业网站上的LNS之间建立通道连接。
L2TP通道没有完全扩展到拨号用户的计算机上,而只是扩展到拨号上网用户本地ISP的LAC上。
因为PPP链接通过互联网从拨号用户扩展到LNS,所以是由LinkTrust UTM而不是由ISP 来分配客户机的IP地址、DNS 和WINS 服务器地址,以及从本地数据库或外部认证服务器(RADIUS、SecurID 或LDAP)认证用户。
拨号用户收到两个IP地址,一个用于它和ISP的物理连接,另一个是来自LNS的逻辑连接。
当拨号用户(例如使用PPP)与自己的ISP联系时,该ISP进行IP和DNS指派,并对用户进行认证。
这样允许用户以可路由的IP地址连接到互联网,该IP地址成为L2TP 通道的外部IP地址。
然后,当L2TP通道向LinkTrust UTM转发封装PPP帧时,该LinkTrust UTM为用户分配IP 地址以及DNS和WINS设置。
该IP地址可以是私有的不可路由地址,它成为L2TP 通道的内部地址。
尽管可以使用CHAP或PAP认证拨号用户,但是L2TP 通道没有加密,因此它不是一个真正的VPN 通道。
L2TP的目的只是允许本地LinkTrust UTM的管理员为远程拨号用户分配IP 地址。
然后这些地址可以被引用到策略中。
要加密一个L2TP通道,需要为该L2TP 通道应用一个加密方案。
因为L2TP假设LAC与LNS之间的网络为IP,因此可以使用IPSec来提供加密。
这种组合称为IPSec 上的L2TP。
IPSec上的L2TP 要求用同样的端点设置一个L2TP通道和IPSec通道,然后在策略中将它们链接到一起。
L2TP原理与应用目录1 VPN简介 (2)1.1VPN产生背景 (2)1.2 典型VPN协议介绍 (2)2 L2TP原理 (2)2.1 L2TP协议简介 (2)2.2 L2TP报文介绍 (3)2.3 L2TP连接协商、维持、拆除过程 (5)2.4 L2TP数据传输 (6)2.5 L2TP应用模型 (7)3 L2TP验证 (8)3.1 Intranet VPN (8)3.2 Access VPN (16)4 总结 (19)1 VPN简介1.1VPN产生背景目前全球使用的互联网(Internet)是全球范围内各种不同类型的计算机网络连接起来的一个全球性的网络,以此来达到资源共享的目的。
不过internet网络规模巨大,资源丰富,但用户的行为无法约束,其安全性往往得不到保障,另一方面,合法IP地址(global ip)资源也相当匮乏,所以这时候能够同时确保网络安全和解决global ip地址匮乏的机制就提出了需求。
而通过互联网同时能够解决以上两个问题的网络组建就被称作“专网(Virtual Network)”,比如:银行、军队、政府等行业或单位。
通常都组建有自己的专网,建设自己网络体系的基础设施,完成自己内部的资源共享。
当专网需要在互联网之中建立起来时,需要在internet这个网络环境中,虚拟出一个“隧道”,用户可以通过这个隧道相互通信,同时不需要对每个用户设置合法的公有地址,对于隧道外的用户,该虚拟隧道中的数据也不可见的,达到了确保通信安全的目的,此虚拟隧道就称作VPN(Virtual Private Network)。
1.2 典型VPN协议介绍隧道协议协议分为第二层、第三层隧道协议,二者本质区别在于用户的数据包是被封装到那一层的隧道里进行传输的,即建立这个隧道的协议是几层协议。
二层隧道协议:PPTP、L2F、L2TP三层隧道协议:IPsec2 L2TP原理2.1 L2TP协议简介L2TP(layer 2 Tunnel Protocol),它将二层用户数据帧(PPP帧)放到一个逻辑隧道中传输的二层隧道协议。
L2TP端口为UDP 1701
1. L2TP控制报文
IP网上的L2TP控制消息以UDP数据报形式发送。
在Windows 2000实现中,L2TP控制消息即UDP数据报经过IPSec ESP的加密,见下图:
由于UDP提供的是无连接的数据包服务,因此L2TP采用将消息序列化的方式来保证L2TP 消息的按序递交。
在L2TP控制消息中,Next-Received字段(类似于TCP中的确认字段)和Next-Sent字段(类似于TCP中序列号字段)用于维持控制消息的序列化。
无序数据包将被丢弃。
Next-Received字段和Next-Sent字段同样用于用户传输数据的按序递交和流控制。
L2TP支持一条隧道内的多路呼叫。
在L2TP的控制消息中以及L2TP数据帧的报头内,Tunnel ID标识了一条隧道而Call ID标识了该隧道内的一路呼叫。
2. L2TP协商参数过程:
L2TP的PPP LCP协商报文结构:
3. L2TP数据报文封装结构
L2TP用户传输数据的隧道化过程采用多层封装的方法。
下图显示了封装后在隧道中传输的基于IPSec的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有效载荷,并将它转发至相关的协议驱动程序做进一步处理
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微端口驱动程序。