第二层隧道协议L2TP详解
- 格式:docx
- 大小:19.01 KB
- 文档页数:4
L2TP协议一、什么是L2TP协议?L2TP(Layer 2 Tunneling Protocol)是一种用于在互联网上传送数据的网络协议。
它结合了PPTP(Point-to-Point Tunneling Protocol)和L2F(Layer 2 Forwarding)协议的优点,提供了一种安全可靠的远程访问解决方案。
L2TP协议被广泛应用在VPN(Virtual Private Network)领域,用于建立安全的协议隧道,确保数据在公共网络中的传输安全。
二、L2TP协议的工作原理L2TP协议通过利用隧道技术,将数据在互联网上传送,同时提供了对数据的加密和身份验证功能。
以下是L2TP协议的工作过程:1.连接建立阶段:客户端发起与服务器端的连接请求。
在连接建立过程中,客户端和服务器端通过交换协议消息,协商连接参数,包括加密方法、密钥等。
2.隧道建立阶段:在连接建立阶段成功后,客户端和服务器端将建立一个隧道。
隧道是一个虚拟的通道,用于在公共网络上传送数据。
该隧道是安全的,数据通过该隧道传输时会被加密。
3.数据传输阶段:隧道建立成功后,客户端和服务器端可以开始通过隧道传输数据。
数据在传输前被加密,确保了数据的机密性。
同时,L2TP还提供了身份验证机制,确保数据的完整性和真实性。
三、L2TP协议的优点L2TP协议有以下几个优点:1.安全性高:L2TP协议提供了数据加密和身份验证功能,确保数据在传输过程中的安全性。
这使得L2TP协议非常适用于建立安全的远程访问连接,保护敏感数据的安全。
2.兼容性强:L2TP协议与许多其他的网络协议兼容,包括IPsec(Internet Protocol Security)、PPTP等。
这使得L2TP协议能够与现有的网络设备和系统无缝集成,提供便利的接入方式。
3.稳定可靠:L2TP协议基于底层网络协议进行数据传输,确保了数据的稳定和可靠。
即使在网络条件不理想的情况下,L2TP协议能够保证数据的正常传输。
第二层隧道协议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因此能为远程用户提供设计精巧并有互操作性的安全隧道连接。
这对安全的远程访问和安全的网关之间连接来说,它是一个很好的解决方案。
隧道技术是VPN的基本技术类似于点对点连接技术,它在公用网建立一条数据通道(隧道),让数据包通过这条隧道传输。
隧道是由隧道协议形成的,分为第二、三层隧道协议。
第二层隧道协议是先把各种网络协议封装到PPP中,再把整个数据包装入隧道协议中。
这种双层封装方法形成的数据包靠第二层协议进行传输。
第二层隧道协议有L2F、PPTP、L2TP等。
L2TP协议是目前IETF的标准,由IETF融合PPTP与L2F而形成。
第三层隧道协议是把各种网络协议直接装入隧道协议中,形成的数据包依靠第三层协议进行传输。
第三层隧道协议有VTP、IPSec等。
IPSec(IP Security)是由一组RFC文档组成,定义了一个系统来提供安全协议选择、安全算法,确定服务所使用密钥等服务,从而在IP层提供安全保障。
GRE、PPTP、L2TP隧道协议在IPSec 和Multiprotocol Label Switching (MPLS) VPN出现前,GRE被用来提供Internet上的VPN功能。
GRE将用户数据包封装到携带数据包中。
因为支持多种协议,多播,点到点或点到多点协议,如今,GRE仍然被使用。
在GRE隧道中,路由器会在封装数据包的IP头部指定要携带的协议,并建立到对端路由器的虚拟点对点连接•Passenger: 要封装的乘客协议 (IPX, AppleTalk, IP, IPSec, DVMRP, etc.).•Carrier: 封装passenger protocol的GRE协议,插入到transport和passenger 包头之间, 在GRE包头中定义了传输的协议•Transport: IP协议携带了封装的passenger protocol. 这个传输协议通常实施在点对点的GRE连接中(GRE是无连接的).GRE的特点:•GRE是一个标准协议•支持多种协议和多播•能够用来创建弹性的VPN•支持多点隧道•能够实施QOSGRE的缺点:•缺乏加密机制•没有标准的控制协议来保持GRE隧道(通常使用协议和keepalive)•隧道很消耗CPU•出现问题要进行DEBUG很困难•MTU和IP分片是一个问题配置:这里配置对端的IP地址和tunnel ID (tunnel key 2323)来进行简单的认证。
关于PPTP协议、L2TP协议和SSTP协议PPTP:点对点隧道协议(PPTP: Point to Point Tunneling Protocol)默认端口号:1723 (TCP)点对点隧道协议(PPTP)是一种支持多协议虚拟专用网络的网络技术,它工作在第二层。
通过该协议,远程用户能够通过 Microsoft Windows 操作系统以及其它装有点对点协议的系统安全访问公司网络,并能拨号连入本地ISP,通过 Internet 安全链接到公司网络。
L2TP:第二层隧道协议(L2TP: Layer 2 Tunneling Protocol)默认端口号:1701 (UDP)L2TP是一种工业标准的Internet隧道协议,功能大致和PPTP协议类似,比如同样可以对网络数据流进行加密。
不过也有不同之处,比如PPTP要求网络为IP网络,L2TP要求面向数据包的点对点连接;PPTP使用单一隧道,L2TP使用多隧道;L2TP提供包头压缩、隧道验证,而PPTP不支持。
关于PPTP和L2TPPPTP和L2TP都属于第二层隧道协议,使用PPP协议对数据进行封装,然后添加附加包头用于数据在互联网络上的传输。
尽管两个协议非常相似,但是仍存在以下几方面的不同:1、PPTP要求互联网络为IP网络。
L2TP只要求隧道媒介提供面向数据包的点对点的连接。
L2TP可以在IP(使用UDP),帧中继永久虚拟电路(PVCs)、X.25虚拟电路(VCs)或ATM 网络上使用2、PPTP只能在两端点间建立单一隧道。
L2TP支持在两端点间使用多隧道。
使用L2TP,用户可以针对不同的服务质量创建不同的隧道3、L2TP可以提供包头压缩。
当压缩包头时,系统开销(overhead)占用4个字节,而PPTP 协议下要占用6个字节4、L2TP可以提供隧道验证,而PPTP则不支持隧道验证。
但是当L2TP或PPTP与IPsec共同使用时,PCVPN定做的登录器支持PPTP和L2TP(IPSEC)密钥功能,可以由IPsec提供隧道验证,不需要在第2层协议上验证隧道.SSTP:安全套接字隧道协议SSTP可以创建一个在HTTPS上传送的VPN隧道,从而消除与基于PPTP(点对点隧道协议)或L2TP(第2层隧道协议)VPN连接有关的诸多问题。
H3C路由器L2TP配置详解H3C路由器L2TP配置详解1:引言L2TP(Layer 2 Tunneling Protocol)是一种用于在公共互联网上建立虚拟私人网络(VPN)连接的协议。
本文将详细介绍如何在H3C路由器上配置L2TP协议。
2:确认硬件和软件要求在开始配置L2TP协议之前,请确保满足以下硬件和软件要求:- H3C路由器设备- 最新的H3C路由器操作系统- 有效的许可证3:步骤一、创建L2TP配置文件要创建L2TP配置文件,请按照以下步骤操作:- 连接到H3C路由器设备。
- 使用管理员权限登录。
- 打开路由器CLI(命令行界面)。
- 进入全局配置模式。
- 创建L2TP配置文件,并配置相关参数,如:隧道名称、IP 地址、预共享密钥等。
4:步骤二、配置L2TP隧道一旦L2TP配置文件创建成功,您需要完成以下步骤来配置L2TP隧道:- 进入隧道配置模式。
- 配置隧道类型和IP地址范围。
- 配置L2TP隧道的其他参数,如:数据压缩、最大会话数等。
5:步骤三、配置L2TP服务继续按照以下步骤配置L2TP服务:- 进入L2TP服务配置模式。
- 配置L2TP服务相关参数,如:监听端口、报文加密方式等。
- 配置L2TP客户端的IP地址池。
6:步骤四、配置用户认证为了确保只有经过身份验证的用户才能访问L2TP隧道,您需要配置用户认证。
请按照以下步骤操作:- 进入L2TP用户池配置模式。
- 配置用户认证相关参数,如:认证方式、用户名密码等。
7:步骤五、保存和应用配置完成以上步骤后,请保存并应用您的配置,使其生效。
示例如下:- 保存当前配置。
- 退出并应用配置。
8:附件本文档涉及以下附件:- 示例配置文件- L2TP隧道配置示意图9:法律名词及注释- L2TP(Layer 2 Tunneling Protocol):一种用于在公共互联网上建立虚拟私人网络(VPN)连接的协议。
- VPN(Virtual Private Network):通过使用公共互联网等非专用传输网络,在不同的网络之间建立安全的连接。
L2TP简介1.L2TP简介L2TP(Layer 2 Tunneling Protocol,⼆层隧道协议)是VPDN(Virtual Private Dial-up Network,虚拟私有拨号⽹)隧道协议的⼀种。
VPDN 隧道协议主要包括以下三种,⽬前使⽤最⼴泛的是L2TP。
●PPTP(Point-to-Point Tunneling Protocol,点到点隧道协议)●L2F(Layer 2 Forwarding,⼆层转发)●L2TPL2TP的⽹络拓扑图如下所⽰:1)远端系统远端系统是要接⼊VPDN ⽹络的远地⽤户和远地分⽀机构,通常是⼀个拨号⽤户的主机或私有⽹络的⼀台路由设备。
2)LAC(L2TP Access Concentrator,L2TP 访问集中器)LAC 是附属在交换⽹络上的具有PPP 端系统和L2TP 协议处理能⼒的设备,通常是⼀个当地ISP的NAS,主要⽤于为PPP 类型的⽤户提供接⼊服务。
LAC 位于LNS 和远端系统之间,⽤于在LNS 和远端系统之间传递信息包。
它把从远端系统收到的信息包按照L2TP 协议进⾏封装并送往LNS,同时也将从LNS 收到的信息包进⾏解封装并送往远端系统。
LAC 与远端系统之间采⽤本地连接或PPP 链路,VPDN 应⽤中通常为PPP 链路。
3)LNS(L2TP Network Server,L2TP ⽹络服务器)LNS 既是PPP 端系统,⼜是L2TP 协议的服务器端,通常作为⼀个企业内部⽹的边缘设备。
LNS 作为L2TP 隧道的另⼀侧端点,是LAC 的对端设备,是LAC 进⾏隧道传输的PPP 会话的逻辑终⽌端点。
通过在公⽹中建⽴L2TP 隧道,将远端系统的PPP 连接的另⼀端由原来的LAC 在逻辑上延伸到了企业⽹内部的LNS。
隧道和会话的概念在⼀个LNS和LAC对之间存在着两种类型的连接,⼀种是隧道(Tunnel)连接,⼀对LAC和LNS中可以有多个L2TP隧道;另⼀种是会话(Session)连接,它复⽤在隧道连接之上,⽤于表⽰承载在隧道连接中的每个PPP会话过程。
二三层隧道协议
一直知道L2TP是第二层隧道协议,GRE是第三层隧道协议,可是一直不是太明白,今天总结一下自己理解的。
L2TP是用于三层网络上承载二层协议报文的隧道协议,是用于在三层网络上跑PPP 的。
GRE是通用路由封装协议,内部能封装二层,三层,MPLS……它能封装的报文类型很多,但一般都用于封装三层报文,所以也有叫三层隧道协议的,但这个说法也不严谨。
例如:GRE能封装MPLS,ISIS等,这些都不是三层报文。
Gre over ipsec就是通过GRE将广播,组播,非IP报文通过GRE封装变成单播IP报文,然后再用IPSEC封装加密,IPSEC是个标准的三层隧道协议,它只能承载单播IP报文。
第二层隧道协议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因此能为远程用户提供设计精巧并有互操作性的安全隧道连接。
这对安全的远程访问和安全的网关之间连接来说,它是一个很好的解决方案。
因此,安全的VPN需要同时解决好L2TP和IPSec 这两个不同的问题。
L2TP协议解决了穿过IP网络的不同用户协议的转换问题;IPSec协议(加密/解密协议)解决了通过公共网络传输信息的保密问题。
2、应用L2TP技术的网络拓扑结构该网络结构中将IPSec SGW(安全网关)和LNS合并成一个系统,即安全远程访问服务器SRAS (Secure Remote Access Server)。
这样,远程访问客户将访问唯一的节点SRAS,该节点既是NAS服务的PPP终端,也是进入企业的安全网关节点。
至于远程访问,好处是对于穿过Internet的端到端IP包,将IPSec安全性当作适合企业请求的可信任模型。
这样,你可以简单地使用AH,它不存在对外来窃听的担心,你只需要验证包数据(包括包的来源);你也可以使用ESP(包括ESP验证),它不考虑对网络的信任以及任何人对公司活动窃听的问题。
SRAS的操作要求配置防火墙允许UDP包进入SRAS节点,该节点将依次只处理L2TP包并丢弃其它包。
而且,SRAS将要求所有嵌入在PPP内的IP包封装成AH和ESP包之一,并指向它自身。
另外,为了执行IKE协商和动态生成IPSec密钥,SRAS也将允许IKE UDP包指向它自身。
企业通过只允许安全远程访问包进入企业来实施安全策略,它将丢弃所有其它嵌入PPP内的IP包。
当一个PPP会话被丢弃时,与远程访问用户相关的IPSec和ISAKMP的SAs (安全关联)也从SRAS内被丢弃。
这样,在捆绑SRAS后,SGW和LNS相分离的网络结构的所有缺点都不存在了。
图1给出了应用L2TP技术的网络拓扑结构。
3、L2TP报头格式L2TP使用两种类型的消息:控制消息和数据消息。
控制消息用于隧道和呼叫的建立、维护和清除,它使用L2TP内的可靠控制通道来保证传送。
数据消息用于封装隧道传输的PPP帧,当发生包丢失时不再传送数据消息。
PPP帧先由L2TP报头封装,再由一种包传输机制(如UDP、帧中继、ATM等)封装之后在一个不可靠的数据通道上传输。
但是,控制消息在一个可靠的L2TP控制通道上传送,这个控制通道在同一包传输机制上传送包。
在所有的控制消息中都需要有序列号,序列号还用于提供控制通道上的可靠传送。
数据消息可以使用序列号来重新排序数据包和检测包的丢失。
控制通道和数据通道的L2TP数据包的报头格式相同(如图2所示)。
在该报头格式中,当一个可选字段未被选中时,在消息中不为这个字段预留空间。
注意:当数据消息的可选项Ns 在消息中出现(即被选中)则可选项Nr必须出现在所有控制消息中。
T:消息类型,1 bit。
0 数据消息;1 控制消息。
L:长度字段出现,1 bit,可选。
如果设置了这一位,则长度字段出现。
控制消息中必须设置这一位。
S:序列号出现,1 bit。
如果设置了这一位,则Ns和Nr字段出现。
控制消息中必须设置这一位。
O:偏移字段出现,1 bit。
如果设置了这一位,则Offset Size字段出现。
控制消息中必须设置这一位。
P:优先权,1 bit。
这一特征只是对数据消息而言,控制消息都必须设置这一位。
如果设置了这一位,则在本地排队和传输中将优先处理这个数据消息。
Version:4 bits。
指明L2TP协议的版本,必须被设置为2。
保留值1用作允许对L2F数据包的检测,判断是否与L2TP数据包一起到达。
当接收到一个版本值未知的数据包时,必须丢弃这个数据包。
Length:16 bits。
指明消息的总长度,用字节表示。
Tunnel ID:16 bits。
指明控制连接的标识符。
L2TP遂道由只有本地意义的标识符命名;即,同一隧道在隧道的每一端都有不同的Tunnel IDs。
每一个消息中的Tunnel 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 bits,可选。
指明数据消息或控制消息的序列号。
从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控制消息维护隧道与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控制消息中,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数据报在点到点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确定PPP载荷,并将它转发给适当的协议驱动器进行处理。
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报头封装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 数据包前面。