zoukankan      html  css  js  c++  java
  • L2TP

    L2TP

    编辑词条

    L2TP是一种工业标准的Internet隧道协议,功能大致和PPTP协议类似,比如同样可以对网络数据流进行加密。不过也有不同之处,比如PPTP要求网络为IP网络,L2TP要求面向数据包的点对点连接;PPTP使用单一隧道,L2TP使用多隧道;L2TP提供包头压缩、隧道验证,而PPTP不支持。

     

    编辑本段基本介绍

      英文原义:

      Layer 2 Tunneling Protocol

      中文释义:

      第二层隧道协议

      注解:  

      L2TP协议是由IETF起草,微软、Ascend、Cisco、3COM等公司参予制定的二层隧道协议,它结合了PPTP和L2F两种二层隧道协议的优点,为众多公司所接受,已经成为IETF有关2层通道协议的工业标准,此协议基于微软的点对点隧道协议(PPTP)和思科2层转发协议(L2F)之上,这种虚拟私有网络可以被因特网服务提供商和公司通过因特网使用。

    编辑本段信息类型

      L2TP 是一个应用层协议,基于UDP。其报文分为数据消息和控制消息两类。数据消息用投递 PPP 帧,该帧作为L2TP报文的数据区。L2TP不保证数据消息的可靠投递,若数据报文丢失,不予重传,不支持对数据消息的流量控制和拥塞控制。控制消息用以建立、维护和终止控制连接及会话,L2TP确保其可靠投递,并支持对控制消息的流量控制和拥塞控制。

    编辑本段协议结构

      L2TP 命令头 :12 16 32 bit

      T L X X S X O P X X X X VER Length

      Tunnel ID Session ID

      Ns (opt) Nr (opt)

      Offset Size (opt) Offset Pad (opt)

      T ― T 位表示信息类型。若是数据信息,该值为0;若是控制信息,该值为1。

      L ― 当设置该字段时,说明 Length 字段存在,表示接收数据包的总长。对于控制信息,必须设置该值。

      X ― X 位为将来扩张预留使用。在导出信息中所有预留位被设置为0,导入信息中该值忽略。

      S ― 如果设置 S 位,那么 Nr 字段和 Ns 字段都存在。对于控制信息,S 位必须设置。

      O ― 当设置该字段时,表示在有效负载信息中存在 Offset Size 字段。对于控制信息,该字段值设为0。

      P - 如果 Priority (P)位值为1,表示该数据信息在其本地排队和传输中将会得到优先处理。

      Ver ― Ver 位的值总为002。它表示一个版本1 L2TP 信息。

      Length ― 信息总长,包括头、信息类型 AVP 以及另外的与特定控制信息类型相关的 AVPs。

      Tunnel ID ― 识别控制信息应用的 Tunnel。如果对等结构还没有接收到分配的 Tunnel ID,那么 Tunnel ID 必须设置为0。一旦接收到分配的 Tunnel ID,所有更远的数据包必须和 Tunnel ID 一起被发送。

      Call ID ― 识别控制信息应用的 Tunnel 中的用户会话。如果控制信息在 Tunnel 中不应用单用户会话(例如,一个 Stop-Control-Connection-Notification 信息),Call ID 必须设置为0。

      Nr ― 期望在下一个控制信息中接收到的序列号。

      Ns ― 数据或控制信息的序列号。

      Offset Size & Pad ― 该字段规定通过 L2F 协议头的字节数,协议头是有效负载数据起始位置。Offset Padding 中的实际数据并没有定义。如果 Offset 字段当前存在,那么 L2TP 头 Offset Padding 的最后八位字节后结束。

    编辑本段主要应用

      在VPN连接中要设置L2TP连接,方法同PPTPVPN设置,同样是在VPN连接属性窗口的“网络”选项卡中,将VPN类型设置为“L2TP IPSec VPN”即可。

      第二层隧道协议(L2TP)是用来整合多协议拨号服务至现有的因特网服务提供商点。PPP 定义了多协议跨越第二层点对点链接的一个封装机制。特别地,用户通过使用众多技术之一(如:拨号 POTS、ISDN、ADSL 等)获得第二层连接到网络访问服务器(NAS),然后在此连接上运行 PPP。在这样的配置中,第二层终端点和 PPP 会话终点处于相同的物理设备中(如:NAS)。

      L2TP 扩展了 PPP 模型,允许第二层和 PPP 终点处于不同的由包交换网络相互连接的设备来。通过 L2TP,用户在第二层连接到一个访问集中器(如:调制解调器池、ADSL DSLAM 等),然后这个集中器将单独得的 PPP 帧隧道到 NAS。这样,可以把 PPP 包的实际处理过程与 L2 连接的终点分离开来。

      对于这样的分离,其明显的一个好处是,L2 连接可以在一个(本地)电路集中器上终止,然后通过共享网络如帧中继电路或英特网扩展逻辑 PPP 会话,而不用在 NAS 上终止。从用户角度看,直接在 NAS 上终止 L2 连接与使用 L2TP 没有什么功能上的区别。L2TP 协议也用来解决“多连接联选组分离”问题。多链接 PPP,一般用来集中 ISDN B 通道,需要构成多链接捆绑的所有通道在一个单网络访问服务器(NAS)上组合。因为 L2TP 使得 PPP 会话可以出现在接收会话的物理点之外的位置,它用来使所有的通道出现在单个的 NAS 上,并允许多链接操作,即使是在物理呼叫分散在不同物理位置的 NAS 上的情况下。

      LNS表示L2TP网络服务器(L2TP Network Server),是PPP端系统上用于处理L2TP协议服务器端部分的设备。它作为L2TP隧道的另一侧端点,是LAC的对端设备,是被LAC进行隧道传输的PPP会话的逻辑终止端点。

    编辑本段相关比较

      PPTP和L2TP都使用PPP协议对数据进行封装,然后添加附加包头用于数据在互联网络上的传输。尽管两个协议非常相似,但是仍存在以下几方面的不同:

      1.PPTP要求互联网络为IP网络。L2TP只要求隧道媒介提供面向数据包的点对点的连接。L2TP可以在IP(使用UDP),帧中继永久虚拟电路(PVCs),X.25虚拟电路(VCs)或ATM VCs网络上使用。

      2.PPTP只能在两端点间建立单一隧道。L2TP支持在两端点间使用多隧道。使用L2TP,用户可以针对不同的服务质量创建不同的隧道。

      3.L2TP可以提供包头压缩。当压缩包头时,系统开销(overhead)占用4个字节,而PPTP协议下要占用6个字节。

      4.L2TP可以提供隧道验证,而PPTP则不支持隧道验证。但是当L2TP或PPTP与IPSEC共同使用时,可以由IPSEC提供隧道验证,不需要在第2层协议上验证隧道

      5.L2TP访问集中器(L2TP Access Concentrator,LAC)是一种附属在网络上的具有PPP端系统和L2Tpv2协议处理能力的设备,它一般就是一个网络接入服务器软件,在远程客户端完成网络接入服务的功能。

      6.L2TP网络服务器(L2TP Network Server,LNS)是用于处理L2TP协议服务器端的软件。

      L2TP支持的协议

      IP协议、IPX协议和NetBEUI协议   

  • 相关阅读:
    C语言的灵魂(函数)
    GO语言测试题
    gRPC的发布订阅模式
    gRPC 介绍和简单实现
    RPC与Protobuf(五)
    RPC和Protubuf(四)
    RPC与Protobuf(三)
    JS立即执行函数的几种写法
    如何写出让人看了恶心的代码
    记录几个前端必备的库/框架
  • 原文地址:https://www.cnblogs.com/kungfupanda/p/3198132.html
Copyright © 2011-2022 走看看