ppp协议 订阅
点对点协议(Point to Point Protocol,PPP)为在点对点连接上传输多协议数据包提供了一个标准方法。PPP 最初设计是为两个对等节点之间的 IP 流量传输提供一种封装协议。在 TCP-IP 协议集中它是一种用来同步调制连接的数据链路层协议(OSI模式中的第二层),替代了原来非标准的第二层协议,即 SLIP。除了 IP 以外 PPP 还可以携带其它协议,包括 DECnet 和 Novell 的 Internet 网包交换(IPX)。 展开全文
点对点协议(Point to Point Protocol,PPP)为在点对点连接上传输多协议数据包提供了一个标准方法。PPP 最初设计是为两个对等节点之间的 IP 流量传输提供一种封装协议。在 TCP-IP 协议集中它是一种用来同步调制连接的数据链路层协议(OSI模式中的第二层),替代了原来非标准的第二层协议,即 SLIP。除了 IP 以外 PPP 还可以携带其它协议,包括 DECnet 和 Novell 的 Internet 网包交换(IPX)。
信息
外文名
Point to Point Protocol
要    求
简单、封装成帧
类    别
数据链路层协议
中文名
点对点协议
学    科
计算机网络
简    写
PPP
PPP简介
点到点协议(Point to Point Protocol,PPP)是为在同等单元之间传输数据包这样的简单链路设计的链路层协议。 [1]  这种链路提供全双工操作,并按照顺序传递数据包。设计目的主要是用来通过拨号或专线方式建立点对点连接发送数据,使其成为各种主机、网桥和路由器之间简单连接的一种共通的解决方案。PPP具有以下功能:(1)PPP具有动态分配IP地址的能力,允许在连接时刻协商IP地址;(2)PPP支持多种网络协议,比如TCP/IP、NetBEUI、NWLINK等;(3)PPP具有错误检测能力,但不具备纠错能力,所以ppp是不可靠传输协议;(4)无重传的机制,网络开销小,速度快。(5)PPP具有身份验证功能。(6) PPP可以用于多种类型的物理介质上,包括串口线、电话线、移动电话和光纤(例如SDH),PPP也用于Internet接入。
收起全文
精华内容
下载资源
问答
  • PPP协议

    2021-10-18 01:06:12
    PPP协议的特点是什么?为什么PPP不使用帧的编号?PPP适用于什么情况? 主要特点: (1)点对点协议,既支持异步链路,也支持同步链路。 (2)PPP是面向字节的。 PPP不采用序号和确认机制是出于以下的考虑: 第一,若...

    PPP协议的特点是什么?为什么PPP不使用帧的编号?PPP适用于什么情况?

    主要特点:

    (1)点对点协议,既支持异步链路,也支持同步链路。

    (2)PPP是面向字节的。

    PPP不采用序号和确认机制是出于以下的考虑:

    第一,若使用能够实现可靠传输的数据链路层协议(如HDLC),开销就要增大。在数据链路层出现差错的概率不大时,使用比较简单的PPP协议较为合理。

    第二,在因特网环境下,PPP的信息字段放入的数据是IP数据报。假定我们采用了能实现可靠传输但十分复杂的数据链路层协议,然而当数据帧在路由器中从数据链路层上升到网络层后,仍有可能因网络授拥塞而被丢弃。因此,数据链路层的可靠传输并不能保证网络层的传输也是可靠的。

    第三,PPP协议在帧格式中有帧检验序列FCS安段。对每一个收到的帧,PPP都要使用硬件进行CRC检验。若发现有差错,则丢弃该帧(一定不能把有差错的帧交付给上一层)。端到端的差错检测最后由高层协议负责。因此,PPP协议可保证无差错接受。

    PPP协议适用于用户使用拨号电话线接入因特网的情况。

    展开全文
  • 今天给大家介绍一下PPP协议的相关内容,文章浅显易懂,特别适合0基础同学。本文主将主要从PPP概述、PPP链路建立过程和PPP认证三个角度对PPP协议进行讲解。 一、PPP概述 PPP,point-to-point协议,即点对点协议,是...

    今天给大家介绍一下PPP协议的相关内容,文章浅显易懂,特别适合0基础同学。本文主将主要从PPP概述、PPP链路建立过程和PPP认证三个角度对PPP协议进行讲解。

    一、PPP概述

    PPP,point-to-point协议,即点对点协议,是数据链路层封装协议的一种。刚开始接触计算机网络的同学很多人都有一种误区,认为数据链路层网络等同于以太网,所有的数据链路层封装方式都是以太网格式的以太帧。但是其实数据链路层有很多种网络,其数据链路层封装方式有很多。目前,Internet协议普遍采用的是TCP/IP协议,只要不同的网络运行的网络运行的网络层协议是TCP/IP协议,不管数据链路层是什么协议,都可以接入到互联网大家庭。(实际上,这也是网络分层设计的一大好处之一)
    PPP协议工作在串行接口和串行链路上,一般来说,PPP协议所构成的网络只允许双方之间通信,不允许像以太网一样接入交换机后接入其他的主机或设备。
    刚才我们说过,PPP协议在数据链路层封装的是PPP帧,PPP帧格式如下:
    在这里插入图片描述
    上述字段介绍如下:
    1、FLAG
    在PPP协议中,头部和尾部都有一个Flag字段,Flag字段标识着一个PPP帧的开始和结束。FLAG字段长度8bit,固定为0x7e,因为PPP协议将FLAG设置为PPP帧的开始和结束,因此在一个PPP帧中不允许出现0x7e字段的数据,如果出现这样的数据,则需要进行特殊形式的转义。
    2、Address
    在PPP协议中,因为进行通信的只有两方,因此一方发送的数据总是另一方,这一点PPP协议不像以太网协议一样,必须使用MAC地址来表明数据帧的发送者和接收者。PPP协议中的Address字段取值固定为0xff。
    3、Control
    长度8bit,取值固定0x03,无特殊作用。
    4、Protocol
    长度16bit,其取值类似于以太网帧的类型,表明了上层数据的类型。
    5、FCS
    长度16bit,用于帧校验。一个设备在收到PPP帧后会进行PPP帧校验,如果发现PPP在传输过程中出错,该帧会被立即丢弃。PPP协议没有纠错和重传机制。

    二、PPP链路建立

    PPP帧从开始建立到能够正常转发数据包需要一段时间,并且需要经历协商验证过程。PPP链路建立共分5个阶段,过程如下:
    在这里插入图片描述
    在Link Dead阶段,PPP链路进行初始化,当物理层接口联通后,状态自动进入到Link Establishment阶段。
    进入到Link Establishment阶段,通信双方互相发送LCP报文,进行参数协商,如果参数协商失败,则会回退到Link Dead阶段。如果参数协商成功,并且双方需要认证,则进入到authentication阶段,如果不需要认证,则会直接进入到Network Layer Protocol阶段。
    在Authentication阶段,通信双方会进行认证。
    在Network Layer Protocol阶段,双方会再次进行协商,这次协商主要协商网络层参数,比如发送自己的IP地址、子网掩码等信息,看是否存在IP地址冲突或者不属于一个网段等情况。如果参数协商一致,那么此时就可以进行正常的数据包传送了。
    在Link Termination阶段,代表PPP链接终止,除了Link Dead阶段之外,任何协商过程失败都会进入这一阶段,而如果处于Network Layer Protocol阶段,管理员手动关闭了链路,也会进入这一状态。

    三、PPP认证

    PPP协议认证有PAP和CHAP两种方式。
    如果采取PAP认证方式,在Link Establishment阶段中,一方会对另一方发送包含用户名和密码的Authentication Request报文,另一方会在自己的用户名密码列表中查找是否存在该用户名和密码。如果认证通过,则会向对方发送一个Authentication ACK报文,如果认证不通过,则会向对方发送一个Authentication Nak报文。而到了Authentication阶段,验证方和被验证方会交互重复上述过程。
    注意,如果采用PAP认证方式,认证的用户名和口令都是采用明文传输,在安全性上存在一定的风险。
    与PAP方式相比,CHAP认证方式大体与之相同,但是CHAP认证方式会将用户名和密码以密文的形式包含在报文中,因此在安全性方面有很大的提升。
    原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200/article/details/118582795

    展开全文
  • PPP协议(Point-to-Point Protocol)提供了在串行点对点链路上传输数据报的方法,支持异步8位数据及位导向的同步连接(如ISDN)。它提供了一种管理两点间会话的有效方法,正在取代SLIP(Serial Line Interface Protocol)...

    PPP协议(Point-to-Point Protocol)提供了在串行点对点链路上传输数据报的方法,支持异步8位数据及位导向的同步连接(如ISDN)。它提供了一种管理两点间会话的有效方法,正在取代SLIP(Serial Line Interface Protocol)协议成为点对点网络的标准。

    嵌入式单片机PPP协议是在单片机中嵌入PPP协议,以实现单片机与计算机之间的PPP数据传输,使它既可以作为PPP连接的客户端,也可以作为独立的PPP服务器端来使用。它在家电控制和小型数据传输系统中具有非常广阔的应用前景,并且具有成本低、传输稳定等特点,是当前单片机研究的热门话题之一。

    1 PPP的工作原理

    PPP采用高级数据链路控制(HDLC)协议作为在对点链路上分装数据报的基本方法。使用可扩展的链路控制协议(LCP)来建立、配置和测试数据链路。用网络控制协议簇(NCP)来建立和配置不同的网络层协议,PPP允许同时采用多种网络层协议。

    为了建立点对点链路上的通信连接,发送端PPP首先发送LCP帧,以配置和测试数据链路。在LCP建立好数据链路并协调好所选设备后,发送端PPP发送NCP帧,以选择和配置一个或多个网络层协议。当所选的网络层协议配置好后,便可以将各网络层协议的数据包发送到数据链路上。配置好的链路将一直处于通信状态,直到LCP帧或NCP帧明确提示关闭链路,或有其它的外部事件发生。PPP连接状态图如图1所示。

    1.1 连接死亡阶段

    一个连接的开始和结束都要经历这个阶段。当一个外部事件指示物理层已准备好并可使用时,PPP进入建立连接阶段。此时,LCP自动机处于初始阶段。当它向链路建立阶段转换时将给LCP自动机发送一个UP事件信号。

    1.2 连接建立阶段

    LCP用于交换配置信息包、建立连接。一旦一个配置成功的信息包发送且被接收,就完成了交换,进入LCP开启状态。所有的配置选项都假定使用默认值,除非在配置交换过程中被改变。只有那些与特定的网络层协议无关的选项才会被LCP配置。收到LCP配置数据包将使链路从网络层协议阶段或者认证阶段返回到链路建立阶段。

    1.3 认证阶段

    在某些连接情况下,希望在允许网络层协议交换数据前对等实行认证。默认情况下,是不要求认证的。认证要求必须在建立连接阶段提出,然后进入认证阶段。如果认证失败,将进入连接终止阶段。在此阶段只对连接协议、认证协议、连接质量测试数据包进行处理。

    1.4 网络层协议阶段

    一旦PPP完成上述阶段,便进入网络协议阶段。每一个网络层协议 (例如IP、IPX、AppleTalk等)必须有相应的网络控制协议(NCP)单独配置,每个网络控制协议都可以随时打开或关闭。此阶段,LCP协议自动状态机处于打开状态,接收到的任何不支持的协议数据包都会被返回一个协议拒绝包,而接收到的所有支持的数据包都将被丢弃。此时,链路上流通的是LCP数据包、NCP数据包以及网络协议数据包。

    1.5 终止连接阶段

    PPP连接可以随时被终止。LCP通过交换连接终止包来终止连接。当连接被终止时,PPP会通知物理层采取相应的动作。只有当物理层断开,连接才会真正被终止。此阶段,接收到的所有非LCP数据包都将被丢弃。

    2 PPP数据结构

    PPP数据帧的结构如表1所示,PPP协议标志如表2所示。

    每个PPP数据包的开始和结束都有一个0x7E的数据标志。在开始标志后,紧跟2个HDLC常量:地址常量0xFF和控制常量0x03。协议域长度通常为2字节,表示信息域里包含的是哪种协议以及它的处理信息。随后是代码(Code)、标识符(ID)和长度域(Length)。事实上它们都是信息域(Payload)的一部分。信息域长度最多为1500字节。代码部分用来指示LCP、PAP、IPCP或者CHAP协议数据包中的某种类型。通常情况下,用来表示IP自寻址信息数据包的标识是0x45。ID对于每一帧来说都是唯一的,所有协议间的商谈和响应都通过ID联系在一起。只有当PPP协议帧被压缩成IP寻址信息包时例外。这个时候ID表示的是一种服务类型。有效载荷部分是可变的,并能随着请求和响应的变化作相应的改变。在IP自寻址情况下,IP数据包的大小与PPP协议帧的大小是兼容的,有效载荷包含有关协议的商谈和数据包的保持。然后是一个长度为2字节循环冗余检验码,以检测数据帧中的错误。由于标志字符的值是0x7E,因此当该字符出现在信息字段中时, PPP需要对它进行转义。具体实现过程如下:

    (1)当遇到字符0x7E时,需连续传送2个字符:0x7D和0x5E,以实现标志字符的转义。

    (2)当遇到转义字符0x7D时,需连续传送2个字符:0x7D和0x5D,以实现转义字符的转义。

    (3)默认情况下,如果字符的值小于0x20(例如ASCII控制字符),一般都要进行转义。例如,遇到字符0x01时需连续传送0x7D和0x21两个字符(这时,第6个比特取补码后变为1,而前面两种情况均把它变为0)。这样做是防止它们出现在双方主机的串行接口驱动程序或调制解调器中,因为它们有时会把这些控制字符解释成特殊的含义。另一种可能是用链路控制协议来指定是否需要对这32个字符中的某些值进行转义。默认情况下是对所有的32个字符都进行转义。

    关于PPP协议的详尽描述可以参阅RFC1661文档。

    3 单片机PPP协议

    单片机PPP协议是PPP协议在单片机中的应用,有其特点。单片机的存储空间只有64KB,而PPP协议包括LCP、PAP、IPCP以及NCP等协议,并且在连接建立后还要用到数据传输协议(TCP/IP、UDP等)、各种压缩协议等。要把这些协议完全嵌入单片机是不可能的,所以只能根据实际需要选择其中的一部分。

    例如采用UDP协议而不是功能相对齐全但协议内容过于庞大的TCP/IP协议来传输数据,传输中基本上不使用数据压缩协议,跳过单片机作为服务器端时的密码验证过程,省略IPX、AppleTalk等网络层协议等。也就是说,本文的单片机PPP协议,事实上只包含了从PPP连接的建立到实现简单的数据传输所必需的协议,而不包括PPP协议的所有功能。这种协议的取舍是由硬件的客观限制以及实际的应用需要共同决定的。

    4 单片机PPP协议PPP连接的建立

    建立后的单片机PPP连接状态如图2所示。

    84d9616e334661b2dfa2522cb7483d45.gif

    其中,C51系统是已经植入PPP协议的51系列单片机,电话线部分也可以是某个网络的一部分,甚至是Internet。

    单片机PPP协议流程图如图3所示。

    6930d8aeb1387a198cb96602572701f6.gif

    PPP连接的建立主要经过三个阶段,分别是LCP协商、密码认证以及网络层协议配置。

    4.1 LCP处理阶段

    首先,第一个LCP数据包被服务器端发送后,从服务器端返回一个PPP拒绝包给除密码认证外的所有选项,接着服务器端强制认证协议进行协商(先前来自否定帧的PAP和CHAP都被发送)。随后服务器端返回一个拒绝包给CHAP,本文用PAP来代替。然后服务器端认同并返回一个新的请求,这时候需要进行PAP。接下去对PAP进行确认,系统对字符映射的丢弃进行协商。最后所有控制特性被服务器端同意丢弃。

    下面是由服务器发送的一段LCP建立连接的字符串:

    0000:7E FF 03 C0 21 01 71 00 2B 01 04 06 40 05 06 3A 5D 8B B4 02 06 00

    0016:00 00 00 11 04 06 40 17 04 00 64 00 02 03 04 C0 23 13 09 03 08 00

    002C:03 0A 2C 2C 95 7F 7E

    对它进行分析如表3。

    ddd3d2f0227c48a8ec20ff4d4d6bc4b8.gif

    4.2 PAP处理阶段

    首先,系统发送PAP数据包给服务器端,然后服务器端通过用户ID和密码验证。

    PAP密码验证协议在RFC1334中有详细定义,主要是为拨号网络中提供密码保护。这个选项是可选的。在本应用软件中,强制单片机和PC协商的选项中,PC要求密码验证,单片机端不要求。所以如果PC机作为服务器,单片机需要发送用户名和密码;如果单片机作服务器,则没有密码验证的要求。

    PAP的格式如图4所示。

    3b61c6a41da51d855d5114b8079b89b5.gif

    下面是单片机发送PAP的数据包:

    7E FF 03 C0 23 01 06 00 0C 03 7A 77 6D 03 7A 77 6D…

    解析如表4所示。

    1034a339e6ff9bd3e7f6a2c1611719d2.gif

    单片机向PC机发送PAP数据包是在PC机发送对单片机LCP选项的确认之后、PC机向单片机发送IPCP请求之前。

    4.3 IPCP处理阶段

    IPCP是用来设置PPP连接中的网络环境,包括IP地址、IP压缩协议、DNS服务器地址等都是通过IPCP来协商的。首先服务器端发送请求进行IPCP协商,然后系统返回一个拒绝包给除IP地址外的所有操作。由于先前的发送被拒绝,服务器端发送一个回复,只包含IP地址。此时,系统相当于服务器端的IP地址认证,然后由请求信息和IP地址来完成三路握手协议。接着服务器端返回一个包含预先指派IP地址的拒绝包。此时连接建立并拥有一个指定的IP地址。IPCP帧的格式与LCP也是类似的:一字节的代码,然后是标志,长度,选项。当IP协议的选项配置完,就可以开始通讯了。IPCP的详细描述在RFC1332中。

    连接建立后,PPP将在原有协议的基础上调用网络协议UDP(User Datagram Protocol)和ICMP(Internet Control Messages Protocol)等。有关用户数据包协议UDP的详细资料可参看RFC882、RFC883文档;Internet信息控制协议ICMP的详细资料可参看文档RFC792。

    展开全文
  • PPP协议详解

    万次阅读 多人点赞 2021-01-26 14:20:11
    点对点协议(Point-to-Point Protocol,PPP)提供了一种通过点到点链路传输多协议数据报的标准方法。PPP由三个主要部分组成: 封装多协议数据报的方法。 一种链路控制协议(Link Control Protocol ,LCP),用于...

     

    摘要

    点对点协议(Point-to-Point Protocol,PPP)提供了一种通过点到点链路传输多协议数据报的标准方法。PPP由三个主要部分组成:

    1. 封装多协议数据报的方法。
    2. 一种链路控制协议(Link Control Protocol ,LCP),用于建立、配置和测试数据链路连接。
    3. 用于建立和配置不同网络层协议的一系列网络控制协议(Network Control Protocols,NCPs)。

    本文件定义了PPP组织和方法、PPP封装以及可扩展的能够协商大量配置参数选项的协商机制,并提供额外的管理功能。

    1. 简介

           点对点协议是为在两个对等点之间传输数据包的简单链路而设计的。这些链路提供全双工同时双向操作,并假定按顺序传送数据包。它的目的是提供一个通用的解决方案,方便连接各种各样的主机、网桥和路由器。

    1. 封装

                PPP封装提供在同一链路上同时复用不同的网络层协议。PPP封装经过精心设计,以保持与最常用的支持硬件的兼容性。

              在默认的类HDLC帧中使用时,封装只需要8个额外的字节来。在带宽非常宝贵的环境中,封装和帧可以缩短到2或4字节。

        为了协议实现高性能,默认的封装只使用简单的字段,只需检查其中一个字段以进行分解复用。默认的标头和信息字段位于32位边界上,并且尾部可以填充到任意边界。

    1. 链路控制协议(Link Control Protocol)

           为了协议的的可移植性,PPP提供了一种链路控制协议(LCP)。 LCP用于自动约定封装格式选项,处理数据包大小的不同限制,检测回环链接和其他常见的错误配置并终止链接。

    其他可选功能包括对链路上其对等方的身份进行身份验证,以及确定链路何时正常运行以及何时发生故障。

    1. 网络控制协议

            点对点链路往往会加剧当前网络协议家族的许多问题。例如,IP地址的分配和管理,即使在LAN环境中也是一个问题,在电路交换的点对点链路(如拨号调制解调器服务器)上尤其困难。这些问题由一系列网络控制协议(NCPs)来处理,它们各自管理各自网络层协议的特定需求。

    1. 配置

          旨在使PPP链接易于配置。 通过设计,标准默认值处理所有常见配置。 实施者可以对默认配置进行改进,这些改进将自动传达给对等方,而无需操作员干预。 最后,操作员可以明确的配置链接选项,使链接能够在原本不可能运行的环境中运行。

           这种自我配置是通过扩展的选项协商机制实现的,其中链路的每一端都向对方描述其功能和要求。 尽管本文档中描述的选项协商机制是根据链路控制协议(LCP)进行指定的,但相同的功能仍仍然适用于其他控制协议,尤其是NCPs家族。

    1. 术语

    名词

    解释

    数据报

    网络层(如IP)的传输单元。传递到数据链路层的数据报可以封装在一个或多个包中。

    数据链路层的传输单元。帧可以包括头部和/或尾部,以及一些数据单元。

    封装的基本单位,通过网络层和数据链路层之间的接口传递。 数据包通常映射到一个帧。 例外情况是在执行数据链路层分段时,或者在单个帧中合并了多个数据包时。

    对端

    点对点链接的另一端。

    静默丢弃

    在没有进一步处理的情况下丢弃数据包。但应该记录包括静默丢弃的数据包的内容的错误,并且应该在统计计数器中记录事件。

    1. PPP封装

    PPP封装用于消除多协议数据报的歧义,需要构思封装的开始和结束。配套文件中规定了提供框架的方法。

    PPP封装如下所示。从左向右传输字段。

    1. Protocol字段

    协议字段是一个或两个字节,其值标识封装在数据包Information字段中的数据报。首先发送和接收最高有效字节。

           该字段的结构与用于地址字段的ISO 3309扩展机制一致。 所有Protocol字段必须是奇数; 最低有效字节的最低有效位必须等于“ 1”。 同样,必须分配所有Protocols,使得最高有效字节的最低有效位等于“ 0”。 收到的不符合这些规则的帧必须被视为无法识别的协议。

          “0***”到“3***”范围内的Protocol字段值标识特定数据包的网络层协议,“8***”到“b***”范围内的值标识属于网络控制协议(NCP)的数据包。

          “4***”到“7***”范围内的Protocol字段值用于没有相关NCP的低流量协议;“c***”到“f***”范围内的Protocol字段值将数据包标识为链路层控制协议(如LCP)。

    在最新的“Assigned Numbers” RFC中指定了Protocol字段的最新值。 本规范保留以下值:

    解释

    0x0001

    填充协议

    0x 0003 to 0x 001f

    保留(透明度低)

    0x 007d

    保留(控制转义)

    0x 00cf

    保留(PPP NLPID)

    0x 00ff

    保留(压缩效率低)

    0x 8001 to 0x 801f

    未使用

    0x 807d

    未使用

    0x 80cf

    未使用

    0x 80ff

    未使用

    0x c021

    链接控制协议(Link Control Protocol)

    0x c023

    密码认证协议(Password Authentication Protocol)

    0x c025

    链接质量报告(Link Quality Report)

    0x c223

    质询握手身份验证协议(Challenge Handshake Authentication Protocol)

    新协议的开发者必须从Internet分配号码授权机构(IANA)处获取一个号码,地址为IANA@isi.edu

    1. Information字段

    Information字段为零或多个字节。Information字段包含Protocol字段中指定的协议数据报。

    Information字段的最大长度(包括填充,但不包括协议字段)称为最大接收单元(MRU),默认为1500个八位字节。通过协商,PPP实施使用其他的MRU值。

    1. Padding字段

    在传输时,Information字段可以填充任意的字节数到MRU。每个协议都有责任区分填充字节和真实信息。

    1. PPP链路操作
    1. 概述

          为了在点到点链路上建立通信,PPP链路的每一端必须首先发送LCP分组来配置和测试数据链路。在链路建立之后,对等方可以进行认证。

    然后,PPP必须发送NCP数据包以选择和配置一个或多个网络层协议。配置完成后,的就可以通过链路发送来自每个配置的网络层协议的数据报。

    链路保持配置以进行通信,直到LCP或NCP数据包关闭链路或发生某些外部事件(不活动定时器到期或网络管理员干预)。

    1. 状态机

    在配置,维护和终止点对点链路的过程中,PPP链路会经历几个不同的阶段,其状态转换图如下:

    并非所有的转换都在上图中。必须遵循以下语义。

    1. 链路失效(物理层未就绪)

    链接必定以这个阶段开始和结束。当外部事件(如载波检测或网络管理员配置)表示物理层准备好了,PPP将进入链路建立阶段。

    在此阶段,LCP状态机(稍后描述)将处于Initial或Starting状态。向链路建立阶段转化会向LCP状态发送一个Up事件信号。

    实现提示:

    通常,在调制解调器断开后,链路将自动返回此阶段。在硬连线连接的情况下,这个阶段可能非常短——仅仅能检测存在的设备。

    1. 链路建立阶段

    链路控制协议(LCP)用于通过交换配置数据包建立连接。一旦发送和接收到Configure Ack数据包(稍后描述),此交换完成,并进入LCP Opened状态。

    如果配置交换不更改配置选项,则所有配置选项都为默认值。

    需要注意的是,LCP只配置独立于特定网络层协议的配置选项。在网络层协议阶段,各个网络层协议的配置由单独的网络控制协议(NCP)处理。

    在此阶段接收到的任何非LCP数据包都必须静默丢弃。

    接收到LCP Configure-Request会导致从网络层协议阶段或认证阶段返回到链路建立阶段。

    1. 身份验证阶段

    在某些链路上,在允许交换网络层协议包之前,可能需要一个对等方对自己进行身份验证。

    身份验证默认不是强制性的。 如果程序希望对等体通过某种特定的认证协议进行认证,则它必须在链路建立阶段中请求使用该认证协议。

    建立链接后应尽快进行认证。但是,确定链路质量可能会同时发生。程序必须不允许链路质量确定包的交换无限期地延迟认证。

    在验证完成之前,绝不能发生从验证阶段到网络层协议阶段的升级。 如果认证失败,则认证者应该继续进行到链路终止阶段。

    在此阶段只允许使用链路控制协议、身份验证协议和链路质量监视数据包。在此阶段接收到的所有其他数据包必须以静默丢弃。

    实现说明:一个程序不应该仅仅由于超时或缺乏响应而使认证失败。 认证应该允许某种重传方法,并且仅在超过多次认证尝试之后才进入链路终止阶段。

    负责链路终止阶段的程序是拒绝对等方身份验证的程序。

    1. 网络层协议阶段

    一旦PPP完成了前面的阶段,则必须由相应的网络控制协议(NCP)配置每个网络层协议(如IP、IPX或AppleTalk)。

    每个NCP可以随时打开和关闭。

    实现提示:因为最初可能会使用大量的时间来确定链路质量,所以在等待对等方配置NCP时,应该不使用固定的超时。

    NCP处于 “打开”状态时,PPP将携带相应的网络层协议数据包。 当相应的NCP不处于“打开”状态时,接收到的任何支持的网络层协议包必须静默丢弃。

    实现提示:当LCP处于“打开”状态时,任何不支持的协议包都必须返回Protocol- Reject。只有支持的协议会被静默丢弃。

    在此阶段,链路通信由LCP、NCP和网络层协议包的组合组成。

    1. 链路终止阶段

    由于载波丢失、身份验证失败、链路质量失败、空闲时间过长或的关闭链路使PPP可以随时终止链路。

    LCP通过交换Terminate数据包来关闭链路。 当链接关闭时,PPP会通知网络层协议,以便它们可以采取适当的措施。

    在交换Terminate数据包之后,具体实现应该向物理层发出断开连接的信号,强制链路的终止,尤其是在认证失败的情况下。Terminate-Request的发送方在接收到Terminate-Ack或Restart计数器过期后应断开连接。Terminate-Request的接收者应等待对等方断开连接,并且在发送终止请求后至少要经过一个Restart时间后,才能断开连接。 PPP应该进入Link Dead阶段。

    在此阶段接收到的任何非LCP数据包都必须静默丢弃。

    实现提示: LCP关闭链接就足够了。无需每个NCP发送大量Terminate数据包。相反,即使一个NCP是当前处于“打开”状态的唯一NCP,该NCP处于Closed的状态也不足以导致PPP链路终止。

    1. 选项协商状态机

    状态机由事件,动作和状态转换组成。事件包括接收的外部命令(如Open and Close)、Restart定时器过期以及接收到来自对等方的数据包动作包括启动Restart定时器和向对等方传输数据包。

    在状态机中,某些类型的数据包(如Configure-Naks 和 Configure-Rejects,或 Code-Rejects 和 Protocol-Rejects,或 Echo-Requests, Echo-Replies 和 Discard-Requests)没有区别。这些包确实服务于不同的功能。但是,它们总是导致相同的状态转换。

    1. 状态转换表

    状态转换表如下。水平表示状态,垂直表示事件。状态转换和动作以动作/新状态的形式表示。多个动作用逗号分隔,并且可以根据空间需要在后续行中继续;可以以任何顺序实现多个动作。状态后可以跟一个字母,表示一个解释性脚注。 破折号('-')表示非法转换。

    通过出现的TO事件可以识别运行Restart定时器的状态。 只有Send-Configure-Request,Send-Terminate-Request 和 Zero-Restart-Count t操作会启动或重启Restart定时器。 从定时器正在运行的任何状态转换为定时器未运行的状态时,Restart定时器都会停止。

    事件和动作是根据消息传递体系结构而不是信令体系结构定义的。 如果需要控制特定信号的操作(例如DTR),则会需要其他操作。

    [p] 被动选项;请参阅停止状态讨论。

    [r] 重新启动选项;请参阅打开事件讨论。

    [x] 交叉连接;见RCA事件讨论。

    1. 状态

    下面详细描述状态机的每个状态。

    1. 初始

    在初始状态下,下层不可用(Down),并且未发生任何Open,Restart定时器在初始状态下未运行。

    1. 启动

    启动状态是初始状态相对应的打开状态。管理打开已启动,下层仍不可用(Down)。Restar定时器在启动状态下未运行。

    当下层可用时(Up),则发送Configure-Request。

    1. 关闭

    在关闭状态下,下层可用(Up),并且未发生Open。 Restart定时器未运行。

    收到Configure-Request数据包后,将发送一个Terminate-Ack。 Terminate-Acks静默丢弃,以避免创建循环。

    1. 停止

    停止状态是关闭状态相对应的打开状态。 在This-Layer-Finished动作之后或在发送Terminate-Ack之后,状态机正在等待Down事件时进入此状态。Restart定时器未运行。

    收到Configure-Request数据包后,将发送适当的响应。 收到其他数据包后,将发送一个Terminate-Ack。 Terminate-Acks被静默丢弃,以避免创建循环。

    基本原理:停止状态是链路终止、链路配置故障和其他状态机故障模式的连接点状态。这些可能独立的状态已经合并为停止状态。

    在Down事件响应(来自This-Layer-Finished动作)和Receive-Configure-Request事件之间存在竞争条件。 当Configure-Request在Down事件之前到达时,状态机返回到启动状态来取代Down事件。 这样可以防止重复攻击。

    实现提示:在对等方无法响应Configure-Requests之后,可以被动地等待对等方发送Configure-Requests。在这种情况下,This-Layer-Finished动作不用于状态为Req-Sent, Ack- Rcvd 和 Ack-Sent的TO-event。

    该选项适用于专用电路或没有状态信号的电路,但不应用于开关电路。

    1. 正在关闭

    在此状态下,尝试终止连接。已发送Terminate-Request,Restart定时器正在运行,但尚未收到Terminate-Ack。

    接收到Terminate-Ack后,进入关闭状态。在Restart定时器过期时,传送新的Terminate-Request,重新启动Restart定时器。Restart定时器超过Max-Terminate次数后,进入关闭状态。

    1. 正在停止

    正在停止状态是与正在关闭状态相对应的打开状态。已发送Terminate-Request,Restart定时器正在运行,但尚未收到Terminate-Ack。

    基本原理:停止状态提供了可以在允许新流量之前终止链路的良好的机会。链路终止后,可以通过停止或启动状态进行新的配置。

    1. 已发送请求

    在已发送请求状态下,尝试配置连接。已发送Configure-Request, Restart定时器正在运行,但尚未收到或发送Configure-Ack。

    1. 已收到确认

    在“已收到确认”状态中,已发送Configure-Request,已收到Configure-Ack。因为尚未发送Configure-Ack,Restart定时器仍在运行。

    1. 已发送确认

    在“已发送确认”状态中,已发送Configure-Request和Configure-Ack,但未收到Configure-Ack,Restart定时器仍在运行。

    1. Opened

    在Opened状态下,Configure-Ack已发送和接收。Restart定时器未运行。

    当进入Opened状态时,应向上层发出信号,表明已经启动了。相反,当离开Opened状态时,应向上层发出信号,表示现在已关闭。

    1. 事件

    状态机中的状态转换和动作是由事件引起的。

    1. Up

    当下层表示已准备好承载数据包时,发生此事件。

    通常,调制解调器处理或呼叫过程或PPP链路与物理介质的其他某种耦合使用此事件,以向LCP发出信号,通知该链路正在进入链路建立阶段。

    LCP也可以使用它向每个NCP发出链路正在进入网络层协议阶段的信号。 也就是说,来自LCP的This-Layer-Up动作会触发NCP中的Up事件。

    1. Down

    当下层表示不再准备承载数据包时,发生此事件。

    通常,调制解调器处理或呼叫过程或PPP链路与物理介质的其他某种耦合使用此事件,以向LCP发出信号,通知该链路正在进入链路死亡阶段。

    LCP也可以使用它向每个NCP发出链路正在离开网络层协议阶段的信号。 也就是说,来自LCP的This-Layer-Down动作会触发NCP中的Down事件。

    1. Open

    此事件表示该链接可用于通信;也就是说,网络管理员(人员或程序)表示允许打开该链接。当此事件发生时,且链接未处于打开状态,状态机尝试向对等方发送配置数据包。

    如果状态机无法开始配置(下层为Down,或先前的Close事件尚未完成),则链接的建立会自动延迟。

    当接收到Terminate-Request,或发生导致链接不可用的其他事件时,状态机将进入链接准备重新打开的状态。不需要额外的干预。

    实现选项:经验表明,当用户想要重新协商链接时,他们将执行一个额外的Open命令,表示要协商新的值。由于这不是Open事件的含义,建议在Open、Closing、Stopping或Stopped状态下执行Open 用户命令时,先发出Down事件,紧接着发出Up事件。必须注意,不能从另一个来源同时发生Down事件。Down后Up通过从Starting状态进入Request-Sent状态,引起有序地重新协商链接,没有任何副作用。

    1. Close

    此事件表示该链接不可用于传输;也就是说,网络管理员(人员或程序)表示不允许打开该链接。 发生此事件,且链接未处于Closed状态时,状态机将尝试终止连接。 在发生新的Open事件之前,将拒绝重新配置链接的尝试。

    实现提示:当认证失败时,应终止链接,以防止重复攻击从而拒绝向其他用户提供服务。由于链接在管理上是可用的(根据定义),因此可以通过模拟LCP的Close事件,紧接着是Open事件来实现。必须注意,不能从另一个来源同时发生Close事件。

    先Close后Open通过Closing进入Stopping状态引起链接有序终止,This-Layer-Finished操作可以断开链接。自动机在Stopped或Starting状态下等待下一次连接。

    1. Timeout (TO+,TO-)

    此事件表示Restart定时器过期。Restart定时器用于对Configure-Request 和 Terminate-Request的响应进行计时。

    TO+事件表示Restart计数器大于零,相应的Configure-Request或Terminate-Request数据包需要重新发送。

    TO-事件表示Restart计数器不大于零,不再需要重新发送数据包。

    1. Receive-Configure-Request (RCR+,RCR-)

    从对等方接收到Configure-Request数据包时,会发生此事件。Configure-Request包表示希望打开连接,并指定配置选项。

    RCR+事件表示接受Configure-Request,并触发发送Configure-Ack数据包。

    RCR-事件表示不接受Configure-Requeste,并触发发送Configure Nak或Configure Reject。

    实现提示:这些事件发生在已经处于Opened状态的连接上。程序必须准备立即重新协商配置选项。

    1. Receive-Configure-Ack (RCA)

    从对等方收到有效的Configure-Ack数据包时,发生此事件。Configure-Ack数据包是对Configure-Request数据包的肯定响应。无效的数据包被静默丢弃。

    实现提示:由于在到达Ack-Rcvd或Opened状态之前已经收到了正确的数据包,因此另一个这样的数据包将极不可能到达。按照规定,所有无效的Ack/Nak/ Rej数据包都静默丢弃,并且不会影响状态机的状态转换。

    但是,正确形成的数据包通过巧合的定时交叉连接到达是可能的,这很可能是实现错误的结果。应该记录这种情况。

    1. Receive-Configure-Nak/Rej (RCN)

    从对等方收到有效的Configure-Nak或Configure-Reject数据包时,发生此事件。Configure-Nak和Configure-Reject数据包是对Configure-Request数据包的否定响应。无效的数据包被静默丢弃。

    实现提示:尽管Configure-Nak和Configure-Reject在状态机中引起相同的状态转换,这两个数据包对在Configure-Request数据包中发送的配置选项产生明显不同的影响。

    1. Receive-Terminate-Request (RTR)

    当接收到Terminate-Request数据包时,会发生此事件。Terminate-Request数据包表示对等方希望关闭连接。

    实现提示:此事件与Close事件(见上文)不同,并且不会覆盖本地网络管理员的Open命令。程序必须在没有网络管理员干预的情况下,准备好接收新的Configure-Request。

    1. Receive-Terminate-Ack (RTA)

    当接收到Terminate- Ack数据包时,会发生此事件。Terminate-Ack数据包是对Terminate-Request数据包的响应。 Terminate-Ack数据包还表示对等体处于Closed或stopped状态,并用于重新同步链路配置。

    1. Receive-Unknown-Code (RUC)

    当从对等方接收到不可解释的数据包时,发生此事件。作为响应发送Code-Reject数据包。

    1. Receive-Code-Reject, Receive-Protocol-Reject (RXJ+,RXJ-)

    当接收到Code-Reject 或 a Protocol-Reject数据包时,会发生此事件。

    当拒绝值可接受时,例如扩展代码的Code-Reject或NCP的Protocol-Reject,RXJ +事件就会发生。 这些均在正常操作范围内。程序必须停止发送有问题的数据包类型。

    当拒绝的值是灾难性的时,例如Configure-Request的Code-Reject或LCP的Protocol-Reject,则发生RXJ事件。 此事件传达了一个终止了连接的不可恢复错误。

    1. Receive-Echo-Request, Receive-Echo-Reply, Receive-Discard-Request (RXR)

    从对等方接收到Echo-Request,Echo-Reply或Discard-Request数据包时,发生此事件。 Echo-Reply是对Echo-Request的响应。 没有对Echo-Reply或Discard-Request数据包的应答包。

    1. 动作

    状态机中的动作是由事件引起的,通常表示数据包的传输和/或Restart定时器的启动或停止。

    1. Illegal-Event (-)

    在正确实现的状态机中无法发生的事件。发生本事件会导致程序一个内部错误,应报告并记录该错误。 不进行任何转换,并且实现不应重置或停止。

    1. This-Layer-Up (tlu)

    此动作向上层表示状态机正在进入Opened状态。

    通常,LCP使用该动作向NCP、Authentication Protocol或Link Quality Protocol发送Up事件信号,或者NCP可以使用该动作表示链路可用于网络层通信。

    1. This-Layer-Down (tld)

    此动作向上层表示状态机正在离开Opened状态。

    通常,LCP使用该动作向NCP、Authentication Protocol或Link Quality Protocol发送Down事件信号,或者NCP可以使用该动作表示链路对其网络层通信不可用。

    1. This-Layer-Started (tls)

    此动作向低层表示状态机正在进入Starting状态,并且需要低层链路。当低层可用时,低层应以Up事件响应。

    动作的结果高度依赖于实现。

    1. This-Layer-Finished (tlf)

    此动作向较低层表示状态机正在进入Initial、Closed或Stopped状态,不再需要低层链路。当低层终止时,低层应响应Down事件。

    通常,LCP可以使用该动作来推进到Link Dead阶段,或者NCP可以使用该动作来向LCP表示在没有其他NCP打开时,链路可以终止。

    1. Initialize-Restart-Count (irc)

    此动作将Restart计数器设置为适当的值(Max-Terminate或Max-Configure)。每次传输(包括第一次传输)计数器都递减。

    实现提示:除了设置Restart计数器外,在使用Restart定时器回退时,程序还必须将超时时间设置为初始值。

    1. Zero-Restart-Count (zrc)

    此动作设置Restart计数器为零。

    实现提示:此动作使FSA能够在进入所需的最终状态之前暂停,从而允许对等方处理通信量。除了将Restart计数器归零外,程序还必须将超时时间设置为适当的值。

    1. Send-Configure-Request (scr)

    发送Configure-Request,表示希望使用指定的配置选项打开连接。当发送Configure-Request数据包时,Restart定时器启动,以防止数据包丢失(超时),Restart计数器递减。

    1. Send-Configure-Ack (sca)

    发送一个Configure-Ack数据包,确认接收到带有一组可接受的配置选项的Configure-Request数据包。

    1. Send-Configure-Nak (scn)

    视情况发送Configure-Nak或Configure-Reject分组。此否定响应报告接收到带有一组不可接受的配置选项的Configure-Request包。

    Configure-Nak数据包用于拒绝配置选项值,并建议一个新的可接受值。通常是因为无法识别或实现有关配置选项,Configure-Reject数据包用于拒绝所有协商。

    1. Send-Terminate-Request (str)

    发送一个Terminate-Request数据包,表示希望关闭连接。 发送Terminate-Request数据包时,Restart定时器启动,以防止数据包丢失(超时),Restart计数器递减。

    1. Send-Terminate-Ack (sta)

    发送一个Terminate-Ack数据包,确认了接收到了Terminate-Request数据包,否则将用于同步状态机。

    1. Send-Code-Reject (scj)

    发送Code-Reject包,表示接收到未知类型的数据包。

    1. Send-Echo-Reply (ser)

    发送Echo-Reply包,确认了Echo-Request数据包的接收。

    1. 避免环路

    协议为避免配置选项协商环路做出了合理的尝试,但是,不能保证不会发生环路。与任何协商一样,可以配置两个具有冲突策略(不会达成一致)的PPP实现。也可以配置确实可以达成一致但需要花费大量资源的策略。实现者应该记住这一点,并且应该实现循环检测机制或更高级别的超时。

    1. 计数和定时器
    1. Restart定时器

    状态机使用一种特殊的定时器,Restart定时器用于对Configure-Request和Terminate-Request数据包的传输计时。Restart定时器到期将导致Timeout事件,并重传相应的Configure-Request或Terminate-Request数据包。重新启动定时器必须是可配置的,但应默认为3秒。

    实现提示:Restart定时器应该基于链接的速度。 默认值用于低速(2,400至9,600 bps),高交换延迟链路(典型电话线)。高速或低切换延迟的链路应具有相应更快的重传时间。

    Restart定时器可以不是一个恒定值,而是从一个较小的初始值开始,然后逐渐增加到配置的最终值。每个小于最终值的值应至少是先前值的两倍。初始值应足够大,以说明数据包的大小,以链路速度传输的往返时间的两倍,以及至少额外的100毫秒,以允许对等方在响应之前处理数据包。有些电路还增加了200毫秒的卫星延迟。工作在14400 bps的调制解调器的往返时间测量范围为160毫秒到600毫秒以上。

    1. Max-Terminate

    Terminate-Requests有一个必需的重启计数器。 Max-Terminate表示在未接收到Terminate-Ack的情况下发送的Terminate-Request数据包的数量。 Max-Terminate必须是可配置的,默认为2次传输。

    1. Max-Configure

    对于Configure-Request,建议使用类似的计数器。Max- Configure表示在未接收到有效的Configure Ack、Configure Nak或Configure Reject的情况下发送的Configure-Request数据包的数量。Max Configure必须是可配置的,默认为10次传输。

    1. Max-Failure

    对于Configure-Nak,建议使用相关的计数器。Max-Failure表示在未发送Configure-Ack的情况下发送的Configure-Nak数据包的数量。达到最大发送数量的Configure-Nak,转换为Configure-Reject,并不再附加本地所需的选项。Max-Failure必须是可配置的,默认为5次传输。

    1. LCP 报文格式

    有三类LCP数据包:

    1. 用于建立和配置链路的链路配置包(Configure-Request, Configure-Ack,Configure-Nak 和 Configure-Reject)。
    2. 用于终止链路的链路终止包(Terminate-Request和Terminate-Ack)。
    3. 用于管理和调试链路的链路维护数据包(Code-Reject,Protocol-Reject,Echo-Request,Echo-Reply,和Discard-Request)。

    为了简单起见,LCP包中没有版本字段。一个正常运行的LCP程序总是用一个容易识别的LCP包来响应未知的协议和代码,从而为其他版本的实现提供一个确定的回退机制。

    无论启用了哪个配置选项,所有LCP链路配置,链路终止和Code-Reject包(代码1到7)始终都会被发送,就好像没有协商任何配置选项一样。 特别是,每个配置选项都指定一个默认值。 这样可确保即使链路的一端错误地认为链路已打开,此类LCP数据包也始终可被识别。

    在PPP信息字段中封装了正好一个LCP包,其中PPP协议字段为0xc021(链路控制协议)类型。

    链路控制协议包格式如下所示。字段从左到右传输。

    Code:Code字段占一个字节,用于标识LCP数据包的类型。当接收到具有未知Code域的包时,发送Code-Reject包。

    LCP Code字段的最新值在最新的“Assigned Numbers”RFC[2]中指定。本文件涉及以下值:

    1       Configure-Request

             2       Configure-Ack

             3       Configure-Nak

             4       Configure-Reject

             5       Terminate-Request

             6       Terminate-Ack

             7       Code-Reject

             8       Protocol-Reject

             9       Echo-Request

             10      Echo-Reply

             11      Discard-Request

    Identifier:Identifier字段占一个字节,有助于匹配请求和答复。 当接收到带有无效Identifier字段的数据包时,该数据包将被静默丢弃,而不会影响状态机。

    Length:Length字段占两个字节,表示LCP数据包的长度,包括Code,Identifier,Length和 Data字段。长度不得超过链接的MRU。

    在Length字段范围之外的字节被视为填充,并且在接收时被忽略。 当接收到带有无效Length字段的数据包时,该数据包被静默丢弃,而不会影响状态机。

    Data:零个或多个字节,格式由代码字段决定。

    1. Configure-Request

    描述:

    希望打开连接的实现必须发送一个Configure-Request。选项字段中填充了对链接默认值的更改。默认的配置选项不应包含在其中。

    收到Configure-Request后,必须回复适当的报文。

    Configure-Request包格式如下。字段从左到右传输。

    Code:1用于Configure-Request。

    Identifier:当Options字段的内容更改或当收到上一个请求的有效答复时,都必须更改标识符字段。对于重传,标识符可以保持不变。

    Options:选项字段的长度是可变的,包含发送者希望协商的零个或多个配置选项的列表。 所有配置选项总是同时协商的。

    1. Configure-Ack

    描述:

    如果在接收到的Configure-Request中的每个配置选项都是可识别的,并且所有值都是可接受的,则实现必须发送一个配置确认。 不得以任何方式对已确认的配置选项进行重新排序或修改。

    收到Configure-Ack消息后,Identifier字段必须与最后发送的Configure-Request字段匹配。 另外,Configure-Ack中的配置选项必须与上次发送的Configure-Request中的配置选项完全匹配。 无效的数据包静默丢弃。

    Configure-Ack包格式如下。字段从左到右传输。

    Code:2用于Configure-Ack。

    Identifier:复制与Configure-Ack匹配的Configure-Request中的Identifier字段。

    Options:选项字段的长度是可变的,包含发送者确认的零个或多个配置选项的列表。 所有配置选项总是同时确认的。

    1. Configure-Nak

    描述:

    如果接收到的配置选项的每个实例都是可识别的,但是有些值是不可接受的,那么实现必须发送Configure-Nak。Options字段仅填充Configure-Request中不可接受的配置项。所有可接受的配置项都将从Configure-Nak中过滤掉,否则,来自于Configure-Request中的配置项不得重新排序。

    没有值字段的选项(布尔选项)必须改用Configure-Reject 回复。

    必须仅将单个实例允许的每个配置选项都必须修改为Configure-Nak发送者可接受的值。 当默认值与请求值不同时,可以使用默认值。

    只允许一个实例的配置选项必须修改为Configure-Nak发送者可以接受的值。当与请求的值不同时,可以使用默认值。

    当特殊类型的配置选项可以使用不同的值多次列出时,Configure-Nak必须包含Configure-Nak发送者可接受的该选项的所有值的列表,包括Configure-Request中存在的可接受值。

    最后,实现可配置为请求协商特定的配置选项。如果未列出该选项,则该选项可附加到Nak的配置选项列表中,以便提示对等方在其下一个Configure-Request包中包括该选项。任何选项的值字段都必须为Configure-Nak 发送者可接受的值。

    接收到的Configure-Nak的Identifier字段必须与上次发送的Configure-Request的Identifier字段匹配。无效的数据包静默丢弃。

    接收到有效的Configure-Nak表示当发送新的Configure-Request时,可以按照Configure-Nak中的指定值修改配置选项。当存在一个配置选项的多个实例时,对等体应该选择一个值包含在其下一个Configure-Reques包中。

    某些配置选项的长度可变。 由于Nak的选项已被对等方修改,实现必须能够处理与原始Configure-Request不同的选项长度。

    Configure- Nak包格式如下。字段从左到右传输。

    Code:3用于Configure- Nak。

    Identifier:复制与Configure- Nak匹配的Configure-Request中的Identifier字段。

    Options:选项字段的长度是可变的,并且包含发送者正在发送零个或多个配置选项的列表。 所有配置选项始终同时是Nak的。

    1. Configure-Reject

    描述:

    如果在Configure-Request中收到的某些配置选项无法识别或无法接受协商(由网络管理员配置),则实现必须发送Configure-Reject。 在Options字段中仅填充了Configure-Request中不可接受的配置选项。 所有可识别和可协商的配置选项都从Configure-Reject中过滤掉,但不得以任何方式对配置选项进行重新排序或修改。

    接收到的Configure-Nak的Identifier字段必须与上次发送的Configure-Request的Identifier字段匹配。此外,Configure-Reject中的配置选项必须是上次发送的Configure-Request中的配置选项的适当子集。

    Configure- Reject包格式如下。字段从左到右传输。

    Code:4用于Configure- Reject。

    Identifier:复制与Configure- Reject匹配的Configure-Request中的Identifier字段。

    Options:Options字段的长度是可变的,包含发送方拒绝的零个或多个配置选项。所有配置选项同时被拒绝。  

    1. Terminate-Request and Terminate-Ack

    描述:

             LCP包括Terminate-Request和Terminate-Ack,以便提供关闭连接的机制。

    希望关闭连接的实现应该持续Terminate-Request,直到接收到Terminate-Ack,底层表示已经关闭,或者已经发送了足够大的数量,使得对等方以合理的确定性关闭 。

    一旦接收到Terminate-Request,必须发送Terminate-Ack。

    接收到非法的Terminate-Ack表示对等方处于关闭或停止状态,或者需要重新协商。

    Terminate-Request和Terminate-Ack包格式如下。字段从左到右传输。

    Code:5用于Terminate-Request;6用于Terminate-Ack。

    Identifier:

    在传输时,每当Data字段的内容改变或每当收到前一个请求的有效答复时,标识符字段都必须改变。 对于重传,标识符可以保持不变。

    接收时,将Terminate-Request的Identifier字段复制到Terminate-Ack数据包的Identifier字段中。

    Data:Data字段是零个或多个字节,包含供发送方使用的未解释的数据。数据可以包含任何二进制值。 Length表示字段的结尾。

    1. Code-Reject

    描述:

    收到具有未知Code的LCP数据包表示对等方使用其他版本进行操作。 必须通过发送Code- Reject将其报告给未知Code的发送者。

    在接收到对该协议版本至关重要的Code-Reject后,实现应报告问题并断开连接,因为这种情况不太可能自动纠正。

    Configure- Reject包格式如下。字段从左到右传输。

    Code:7用于Code-Reject;

    Identifier:对每次发送的Code-Reject,必须更改Identifier字段。

    Rejected-Packet:Rejected-Packet字段包含被拒绝的从信息字段开始,不包括任何数据链路层头或FCS的LCP数据包的副本。如果包长度超过了MRU,则被拒绝的数据包必须被截断。

    1. Protocol-Reject

    描述:

    接收到带有未知Protocol字段的PPP数据包表示对等方正在使用不受支持的协议。这通常发生在对等方尝试配置新协议时。如果LCP状态机处于打开状态,则必须通过发送Protocol-Reject来向对等方报告。

    收到Protocol-Reject后,实现必须尽早停止发送指定协议的数据包。

    Protocol-Reject包只能在LCP处于Opened状态下发送,任何其他状态下接收的Protocol-Reject数据包都应静默丢弃。

    Protocol-Reject包格式如下。字段从左到右传输。

    Code:8用于Protocol-Reject;

    Identifier:每次发送Protocol-Reject,必须更改Identifier字段。

    Rejected-Protocol:Rejected-Protocol字段两个字节,包含被拒绝的PPP包的Protocol字段。

    Rejected-Information:拒绝信息字段包含被拒绝的从信息字段开始,不包括任何数据链路层头或FCS数据包的副本。如果包长度超过了MRU,则被拒绝的数据包必须被截断。

    1. Echo-Request and Echo-Reply

    描述:

    LCP包括Echo-Request和Echo-Reply,以提供用于链路的两个方向的数据链路层环回机制。 这对于调试,链接质量确定,性能测试以及许多其他功能很有帮助。

    在在LCP处于Opened状态下一旦接收Echo-Request时,必须发送Echo-Reply。

    Echo-Request和Echo- Reply包只能在LCP处于Opened状态下发送,任何其他状态下接收的Echo-Request和Echo- Reply包都应静默丢弃。

    Echo-Request和Echo- Reply包格式如下。字段从左到右传输。

    Code:9用于Echo-Request;10用于Echo- Reply。

    Identifier:

    在传输时,每当Data字段的内容改变或每当收到前一个请求的有效答复时,标识符字段都必须改变。 对于重传,标识符可以保持不变。

    接收时,将Echo-Request的Identifier字段复制到Echo- Reply数据包的Identifier字段中。

    Magic-Number:Magic-Number字段占四个字节,有助于检测处于环回状态的链接。在协商Magic-Number配置选项成功之前,Magic-Number必须全为零。

    Data:Data字段是零个或多个字节,包含供发送方使用的未解释的数据。数据可以包含任何二进制值。 Length表示字段的结尾。

    1. Discard-Request

    描述:

    LCP包括Discard-Request,以提供用于执行链路中本地到远程方向的数据链路层接收器机制。 这对于调试,性能测试以及许多其他功能很有帮助。

    Discard-Request包只能在LCP处于Opened状态下发送。

    一旦在接收到Discard-Request,接收方必须必须将其静默丢弃。

    Discard-Request包格式如下。字段从左到右传输。

    Code:11用于Discard-Request。

    Identifier:每次发送Protocol-Reject,必须更改Identifier字段。

    Magic-Number:Magic-Number字段占四个字节,有助于检测处于环回状态的链接。在协商Magic-Number配置选项成功之前,Magic-Number必须全为零。

    Data:Data字段是零个或多个字节,包含供发送方使用的未解释的数据。数据可以包含任何二进制值。 Length表示Data字段的结尾。

    1. LCP配置选项

    LCP配置选项在点到点链路上允许通过协商对默认特性进行修改。Configure-Request数据包中不包含的配置选项,则使用默认值。

    某些配置选项可以列出多次。其效果与具体的配置选项相关,由每个配置选项描述其效果。(本规范中配置选项都不能多次列出。)

    Length表示配置选项的结尾。

    除非另有规定,否则所有配置选项从配置请求发送方的角度来看,在链路的接收方向都以半双工方式应用。

    1. 设计理念

    选项表示请求选项的程序的附加功能或要求。不理解任何选项的程序应该与实现每个选项的程序进行互操作。

    每个选项都有默认值,尽管性能可能不太理想,但可以使链接在不协商选项的情况下能正确运行。

    除非明确指定,否则对选项的确认不要求对等方采取默认操作以外的其他任何操作。

    使用默认值的配置选项不必在Configure-Request中发送。

    配置选项格式如下,字段从左向右传输。

    Type:Type字段占一个字节,表示配置选项的类型。Type字段的最新值在最新的“Assigned Numbers”RFC[2]中指定。本文件涉及以下值:

                       0       RESERVED

            1       Maximum-Receive-Unit

            3       Authentication-Protocol

            4       Quality-Protocol

            5       Magic-Number

            7       Protocol-Field-Compression

            8       Address-and-Control-Field-Compression

    Length:Length字段占一个字节,表示此配置选项的长度,包括Type、Length和Data字段。

    如果在Configure-Request中接收到长度无效或无法识别的可协商的配置选项,则应发送Configure-Nak,其中包括所希望的具有适当长度和数据的配置选项。

    Data:Data字段占零个或多个的字节,并且包含特定的配置选项的信息。data字段的格式和长度由Type和Length字段决定。

    当Data字段超出Length表示的Information字段末尾之外的长度指时,整个数据包在不影响状态机的情况下静默丢弃。

    1. Maximum-Receive-Unit (MRU)

    描述:

    发送本配置选项来通知对等方可以接收较大的分组,或者请求对等方发送较小的分组。

    默认为1500个字节。如果请求较小的数据包,为了防止链路同步丢失,程序仍必须能够接收完整的1500个字节信息。

    实现提示:

    此选项用于表示程序的接收能力。对等方不需要最大限度地利用。例如,当表示MRU是2048个字节时,对等方不需要发送的报文都是2048个字节。对等方不需要发送Configure-Nak来表示它只发送较小的数据包,因为程序至少支持1500个字节的。

    Maximum-Receive-Unit配置选项格式如下。字段从左到右传输。

    Type:1。

    Length:4。

    Maximum-Receive-Unit:Maximum-Receive-Unit字段占两个字节,并指定Information和Padding字段最大字节数。它不包括帧、协议字段、FCS,也不包括任何透明位或字节。

    1. Authentication-Protocol

    描述:

    在某些链路上,在允许交换网络层协议包之前,需要对等方对自己进行身份验证。

    此配置选项提供了协商使用某一协议进行身份验证的方法。默认不需要身份验证。

    实现不能在其Configure-Request包中包含多个身份验证协议配置选项。相反,它应该首先尝试配置最理想的协议。如果该协议对等方不接受,那么实现应该在下一个Configure-Request中尝试下一个最理想的协议。

    发送Configure-Request的实现表明它需要来自对等方的身份验证。如果实现发送Configure-Ack,那么它同意使用指定的协议进行身份验证。接收Configure-Ack的实现认为对等方使用已确认的协议进行身份验证。

    不要求身份验证是全双工的,也不要求在两个方向上使用相同的协议。可以在每个方向上使用不同的协议,这将取决于协商的的具体协议。

    Authentication-Protocol配置选项格式如下。字段从左到右传输。

    Type:3。

    Length:>= 4。

    Authentication-Protocol:Authentication- Protocol字段占两个字节,表示所希望的身份验证协议。此字段的值始终与同一身份验证协议的PPP的Protocol字段值相同。

    Authentication-Protocol字段的最新值在最新的“Assigned Numbers”RFC[2]中指定。当前值分配如下:

    0x c023            Password Authentication Protocol

    0x c223            Challenge Handshake Authentication Protocol

    Data:Data字段占零个或多个字节,包含由特定协议确定的附加数据。

    1. Quality-Protocol

    在某些链路上,希望确定何时,多频繁的丢包。这叫做链路质量监控。

    此配置选项提供了协商一种用于链路质量监控使用的协议的方法。链路质量监控默认未启用。

    发送Configure-Request的实现表示它希望从对等方接收监控信息。如果实现发送了Configure-Ack,则表示它同意发送指定的协议。接收到Configure-Ack的实现希望对等方发送确认的协议。

    没有要求质量监控是全双工的,也没有要求在两个方向上使用相同的协议。完全可以在每个方向上使用不同的协议,这将取决于具体的协议协商。

    Authentication-Protocol配置选项格式如下。字段从左到右传输。

    Type:4。

    Length:>= 4。

    Quality-Protocol:质量协议字段占两个字节,表示所希望的链路质量监控协议。此字段的值始终与监控协议的PPP的Protocol字段值相同。

    Quality -Protocol字段的最新值在最新的“Assigned Numbers”RFC[2]中指定。当前值分配如下:

             0xc025            Link Quality Report

    Data:Data字段占零个或多个字节,包含由特定协议确定的附加数据。

    1. Magic-Number

    描述:

    此配置选项提供了一种检测环回链路和数据链路层其他异常的方法。某些其他配置选项(如Quality-Protocol配置选项)需要此配置选项。默认不协商幻数,在使用幻数的地方插入零。

    在请求此配置选项之前,实现必须选择其Magic-Number。建议以随机的方式选择Magic-Number,以保证实现以很高的概率得到唯一数。选择唯一随机数的好方法是从唯一的种子开始。建议唯一数的来源包括机器序列号、其他网络硬件地址、时钟等。特别好的随机数种子是物理事件的到达间隔时间的精确测量,例如在其他连接的网络上的分组接收、服务器响应时间或人类用户的键入速率。还建议同时使用尽可能多的来源。

    当接收到带有Magic-Number配置选项的Configure-Request时,会将接收到的Magic-Number与发送给对等方的最后一个Configure-Request的Magic-Number进行比较。如果两个Magic-Number是不相等,那么链接不存在环路,并且应该确认Magic-Number。如果这两个Magic-Number相等,则链接可能(不确定)存在环路,并且此Configure-Reques实际上是最后发送的哪个请求。要确定这一点,必须发送Magic-Number不同的 Configure-Nak。新的Configure-Request不应发送到对等方,直到正常处理会导致它被发送(也就是说,直到收到Configure-Nak或重启计时器用完)。

    接收到的Configure-Nak的Magic-Number不同于发送给对等方的最后一个Configure-Nak的Magic-Number表明链路没有环路,表示唯一的Magic-Number。如果Magic-Number等于最后一个Configure Nak中发送的Magic-Number,则增加了环回链路的可能性,则必须选择一个新的幻数。在任何一种情况下,都应该发送一个具有新Magic-Number的新的Configure-Request。

    如果链路确实是环路,则会一遍又一遍地重复此序列(发送Configure-Request,接收Configure-Request,发送Configure-Nak,接收Configure-Nak)。如果链接没有被环回,这个序列可能会出现几次,但是重复出现的可能性非常小。更有可能的是,在两端选择的幻数会迅速发散,终止序列。下表显示了假设链接的两端的Magic-Number完全均匀分布的冲突概率:

    这种分歧的发生需要良好的唯一性或随机性来源。如果找不到良好的唯一性源,建议不要启用此配置选项;不应传输带有此选项的Configure-Request,并且应确认或拒绝对等方发送的任何Magic-Number配置选项。在这种情况下,环路链路不能被实现可靠地检测到,尽管它们仍然可以被对等方检测到。

    如果程序发送带有Magic-Number配置选项的Configure-Request,那么当它接收到带有Magic-Number配置选项的Configure-Request时,就不能使用Configure-Reject进行响应。也就是说,如果程序希望使用Magic-Number,那么它还必须允许它的对等方这样做。如果一个实现收到一个Configure-Reject,那么它只能意味着链接没有环路,并且对等方不会使用Magic-Number。在这种情况下,实现应该像协商成功一样工作(就像它收到了Configure-Ack)。

    Magic-Number还可以用于在正常操作期间检测环路链接。所有的LCP Echo-Request,Echo-Reply和Discard-Request数据包都有一个Magic-Number字段。在成功协商了Magic-Number数情况下,则程序发送的这些包中其Magic-Number字段必须为协商的Magic-Number。

    这些包的Magic-Number字段应该在接收时检查。根据对等方是否协商了Magic-Number,所接收到的Magic-Number字段必须等于零或对等方的唯一幻数。接收到的等于经协商的本地Magic-Number的Magic-Number字段表示存在环路。 接收到的Magic-Number不等于经协商的本地Magic-Number,对等方的协商的Magic-Number以及零,则表示已(错误)配置了与其他对等方通信的链接。

    存在环路时,有两种方案。一种是假设状态机收到LCP的Down事件。直到环路条件终止,并且成功协商幻数,则Open事件开始重新建立链接的过程才能完成。另一种则是开始发送LCP 的Echo-Request包,直到接收到表示环路终止的适当的Echo-Reply。

    Magic-Number配置选项格式如下。字段从左到右传输。

    Type:5。

    Length:6。

    Magic-Number:Magic-Number字段占四个字节,该数字对于链接的一端是唯一的。Magic-Numbe为零是非法的。如果Magic-Number没有被拒绝,则必须始终是Nak'd。

    1. Protocol-Field-Compression (PFC)

    描述:

             此配置选项提供了协商PPP协议字段压缩的方法。所有实现默认都使用两个字节PPP协议字段来传输数据包。

    选择PPP协议字段号,以便将一些值压缩成单个字节形式。发送此配置选项是通知对等方,实现可以接收这样的单字节协议字段。

    如前所述,协议字段使用与地址字段的iso3309扩展机制一致的扩展机制;每个字节的最低有效位(LSB)用于指示协议字段的扩展。LSB为“0”表示Protocol字段继续使用以下字节。LSB为“1”表示协议字段的最后一个字节。请注意,任何数量的“0”八位字节都可以在字段前面,并且仍然指示相同的值(考虑000000011和000000000000011的两个二进制表示法)。

    使用低速链路时,希望发送尽可能少的冗余数据来节省带宽。Protocol-Field-Compression配置选项允许在实现简单性和带宽效率之间进行权衡。如果协商成功,可以使用iso3309扩展机制将Protocol字段压缩为一个字节而不是两个字节。,因为数据协议分配的Protocol字段值通常小于256,所以大多数数据包是可压缩的。

    除非已协商此配置选项,否则不能传输Compressed Protocol字段。协商时,PPP实现必须同时接受具有双字节以及单字节的Protocol字段的PPP数据包,并且不能区分它们。

    为了明确识别LCP包,LCP数据包从不压缩Protocol字段。

    Protocol字段被压缩时,数据链路层FCS字段在压缩帧上计算。

    Protocol-Field-Compression配置选项格式如下。字段从左到右传输。

    Type:7。

    Length:2。

    1. Address-and-Control-Field-Compression (ACFC)

    描述:

             此配置选项提供协商数据链路层地址和控制字段压缩的方法。所有实现默认都传输具有与链接帧相适应的地址和控制字段的帧。

    对于点到点链接,这些字段通常具有常量值,很容易被压缩。发送此配置选项是为了通知对等方程序可以接收压缩的地址和控制字段。

    Address-and-Control-Field-Compression未经协商时,收到压缩帧,则程序会静默丢弃该帧。

    为了明确识别LCP包,LCP数据包从不压缩地址和控制字段。

    地址和控制字段被压缩时,数据链路层FCS字段在压缩帧上计算。

    Address-and-Control-Field-Compression配置选项格式如下。字段从左到右传输。

    Type:8。

    Length:2。

    1. 安全考虑

    在有关身份验证阶段、Close事件和Authentication-Protocol协议配置选项的部分讨论了安全问题。

    展开全文
  • 转载自文章:http://blog.csdn.net/windeal3203/article/details/51066331安全PPP协议概述PPP(Point-to-Point Protocol点到点...PPP协议支持如下功能:服务器IP地址的动态分配和管理同步或异步的物理层通讯链路的配...
  • 在介绍PPP协议之前,我们先简单介绍下数据链路层信道的类型,以及数据链路层协议的三个基本问题。数据链路层使用的信道主要有以下两种类型:点对点信道 这种信道使用一对一的点对点通信方式。广播信道这种信道使用一...
  • 20、PPP协议

    2021-08-03 16:26:19
    前面我们分了五节的内容,用了很大的篇幅介绍了局域网的数据链路层的知识,在这其中主要是以太网的相关内容。本节开始我们学习广域网的数据链路层协议,主要学习...PPP协议就是用户的计算机和ISP进行通信时所使用的数据
  • ppp协议总结

    2021-10-03 15:32:28
    PPP协议是用户计算机和ISP之间进行通信的一种协议。广域网的数据链路层协议。 PPP特点:简单,封装成帧,透明性,多种网络层协议,多种类型链路,差错检验,检测连接状态,最大传输单元,网络层地址协商,数据...
  • PPP协议的应用PPP协议是目前广域网上应用最广泛的协议之一,它的优点在于简单、具备用户验证能力、可以解决IP分配等。 www.2cto.com家庭拨号上网就是通过PPP在用户端和运营商的接入服务器之间建立通信链路。 目前,...
  • 文章目录ppp-2.4.9 源码分析PPP协议工作流程ppp-2.4.9 源码分析全局变量和结构体说明第一阶段 初始化第二阶段 开始链接第三阶段 建立PPP链路第四阶段:链路终止参考资料 PPP协议工作流程 当用户拨号接入ISP后,就...
  • 一、轮询访问介质访问控制 (一)介质访问控制 信道划分介质访问控制(MAC Multiple Access Control )协议: ...轮询访问MAC协议/轮流协议/轮转访问MAC协议:既要不产生冲突,又要发送时占全部带宽。 ①、轮询
  • PPP协议格式】

    2021-12-01 21:11:38
    协议(protocol)字段表示PPP报文中封装的payload(data字段)的类型,如果为0x0021,则表示PPP封装的IP报文,0x002B表示IPX报文,0x0029表示AppleTalk报文,这几种都属于PPP的数据报文;如果为0xC021则表示PPP的LCP...
  • 3.7PPP协议和HDLC协议

    2021-08-08 15:38:34
    PPP协议和HDLC协议 广域网 广域网(WAN):通常跨接很大的物理范围,所覆盖的范围从几十公里到几千公里,它能够连接多个城市、国家或者跨越几个洲,形成国际性的远程网络 广域网的通信子网主要使用分组交换技术。广域...
  • PPP协议配置基础知识常用命令实验流程目的1.设计拓扑2.配置主机IP地址3.配置路由器4.设置PPP协议5.验证主机连通 基础知识 PPP协议即点对点协议,是在点对点连接上传输多协议数据包提供了一个标准方法,是一种点到点...
  • 高级数据链路控制(High-levelData Link Control, HDLC)协议是ISO制定的面向比特(记住PPP协议是面向字节的)的数据链路层协议,它和PPP协议是数据链路层重要的协议。 1、数据操作方式 1、正常响应方式:这是一种非...
  • 数据链路层 PPP协议工作过程

    千次阅读 2021-11-13 14:58:28
    下面是两个路由器通过点到点连接,配置好使用ppp协议不是立刻就能够通了,而是要经过下面三个步骤。 LCP协议用来协商端口的一些参数,比如路由器端口支持的最大接收单元是2000,要求身份验证,PAP就是账号密码...
  • PPP 协议的帧格式PPP 帧的首部和尾部分别为 4 个字段和 2 个字段。标志字段F = 0x7E (符号“0x”表示后面的字符是用十六进制表示。十六进制的7E的二进制表示是 01111110)。地址字段A只置为0xFF。地址字段实际上并不...
  • 模拟PPP协议0比特填充

    2020-12-23 15:45:40
    模拟PPP协议0比特填充importjava.io.UnsupportedEncodingException;/***编码类*功能:模拟PPP协议字节填充的编码过程*/publicclassCode{//把字符串的长度填充到8privateStringfillEight(Stringstr){if(str.length()...
  • -只显示静态路由表 12、[R1]display ip interface brief ——显示路由器上每个接口的IP地址和状态 二、配置PPP协议的PAP认证 1、发送端 ①[AR1]aaa --进入AAA视图 ②[AR1- aaa]local-user Auser password cipher ...
  • PPP 协议工作流程 1、用户拨号接入 ISP 后,就建立了一条从用户个人电脑到 ISP 的物理连接 2、用户pc 向 ISP 发送一系列的链路控制协议 LCP分组(封装成多个 PPP 帧),这些分组及其相应选择了将要使用的一些 PPP ...
  • H3C PPP协议

    2021-05-19 17:06:17
    一、PPP和MP协议简介 1.1 PPP简介 PPP(Point-to-Point Protocol,点对点协议)是在点到点链路上承载网络层数据包的一种链路层协议。它能够提供用户认证,易于扩充,并且支持同/异步通信,因而获得广泛应用。 ...
  • 数据链路层 PPP 协议的帧格式

    千次阅读 2021-10-29 08:18:31
    PPP 协议的帧格式 PPP 帧的首部和尾部分别为 4 个字段和 2 个字段。 标志字段 F = 0x7E (符号“0x”表示后面的字符是用十六进制表示。...这个就是ppp协议规定的。 F代表开始和结束,分别占用一个字节,这..
  • H3C配置PPP协议

    2021-08-09 12:57:12
    1.R1 和 R2 使用 PPP 链路直连,R2 和 R3 把 2 条 PPP 链路捆绑为 PPP MP 直连 2.按照图示配置 IP 地址 3.R2 对 R1 的 PPP 进行单向 chap 验证 4.R2 和 R3 的 PPP 进行双向 chap 验证 实验拓扑: 各个路由器ip配置 ...
  • PPP协议的使用

    2021-06-24 13:05:06
    PPP PAP 认证 1.路由器的基本配置 Router1(config)#int s2/0 Router1(config-if)#ip address 172.16.2.1 255.255.255.0 Router1(config-if)#encapsulation ppp Router1(config-if)#no shutdown Router2...
  • 开始/结束标志(F,1字节):PPP采用7EH作为一帧的开始和结束标志,固定值(0x7E); 地址域(A,1字节):固定值(0xFF); 控制域(C,1字节):固定值(0x03); 协议域(2字节):IP分组(0x0021),网络控制数据...
  • PPP协议对同步传输方式采用了()实现透明传输。A.字符填充法B.比特填充法C.PPP帧D.广播信道更多相关问题[单选] 在知识深刻内化的过程中,学生的()水平始终是影响该进程的关键之一,也是制约对知识深刻内化程度的重要...
  • 网络协议从入门到底层原理 ...PPP协议(Point to Point Protocol) 【网络协议从入门到底层原理】学习笔记汇总 网络互联模型(了解请求过程、网络分层) 请求过程: 物理层的1代表前同步码:
  • 一、PAP和CHAP通常被用在PPP封装的串行线路上的身份认证阶段,提供安全性认证。 二、PAP身份验证方式下账号和密码在网络中明文传输,CHAP身份验证方式下密码加密传输。 三、PAP认证和CHAP认证过程图 1、PAP认证...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 39,795
精华内容 15,918
关键字:

ppp协议

友情链接: em78P156eandht1621LED.zip