ppp 协议简介

article/2025/8/24 14:10:47

1 点对点协议PPP(Point-to-Point Protocol)

PPP(Point-to-Point Protocol),链路层协议。PPP是为了在点对点物理链路(例如RS232串口链路、电话ISDN线路等)上传输OSI模型中的网络层报文而设计的,它改进了之前的一个点对点协议-SLIP协议–只能同时运行一个网络协议、无容错控制、无授权等许多缺陷,PPP是现在最流行的点对点链路控制协议。这种连接提供了同时的双向的全双工操作,并且假定数据包是按顺序投递的。PPP连接提供了一种广泛的解决办法,方便地将多种多样不同的值作为最大接收单元的值。

 

帧格式与HDLC相似,不同的是PPP是面向字符,HDLC是面向位的。PPP属于广域网范畴,MAC是局域网范畴,按实际情况和环境就选用不同的协议,PPP支持的网络结构只能是点对点,MAC支持多点对多点。 这类广域网协议,其帧的结构与以太网的完全不同,当然,PPPOE除外,因为PPPOE是基于以太网上的,而其它的如PPP,FR,X.25等却并不是。 PPP协议是目前广域网上应用最广泛的协议之一,它的优点在于简单、具备用户验证能力、可以解决IP分配等。

 

 

1.1 PPP协议功能

(1) 简单:在同一条物理链路上进行点对点的数据传输,对数据链路层的帧不进行纠错,不需要序号,不需要流量控制。

(2) 封装成帧:加入帧界定符。

(3) 透明性:字节填充法。

(4) 多种网络层协议:在同一条物理链路上同时支持多种网络层协议(如IP和IPX等)的运行。

(5) 多种链路类型:PPP必须能够在多种类型的链路上运行,例如串行或并行链路。

(6) 差错检测:接收方收到一个帧后进行CRC检验,若正确就收下这个帧,反之则丢弃。

(7) 检测连接状态:自动检测链路是否处于正常工作状态。

 

1.2 PPP协议组成

(1) 提供一个将IP数据报封装到串行链路的方法。IP数据报在PPP帧中就是信息部分,长度受最大传送单元MTU的限制。PPP支持异步链路(无奇偶校验的8比特数据)和面向比特的同步链路。

 

(2) 链路控制协议LCP(Link Control Protocol)

当线路不再需要时,挑出这些线路,测试它们,商议选择,并仔细地再次释放链路控制协议。

 

(3) 一套网络控制协议NCP(Network Control Protocol)

其中每一个协议支持不同的网络层协议,如IP、OSI的网络层等。

 

(4) 认证协议

最常用的包括口令验证协议PAP(Password Authentication Protocol)和挑战握手验证协议CHAP(Challenge-Handshake Authentication Protocol)。

 

1.3 PPP帧格式

(1) 首部

字段

长度

说明

F

1字节

标志字段F,固定为0x7E,标志一个帧的开始或结束。连续2个帧之间只需要一个标志字段,如果出现连续两个标志字段,表示这是一个空帧。

A

1字节

地址字段A是固定不变的,为0xFF。

C

1字节

控制字段C是固定不变的,为 0x03。

协议

2字节

协议字段不同,后面信息部分表示的数据类型不同。

 

0x0021——信息字段是IP数据报

0xC021——信息字段是链路控制数据LCP

0x8021——信息字段是网络控制数据NCP

0xC023——信息字段是安全性认证PAP

0xC025——信息字段是LQR

0xC223——信息字段是安全性认证CHAP

(2) 信息部分

长度不超过1500字节 。

(3) 字节填充法

(a) 当信息字段中出现0x7E时,将每一个0x7E字节转变成2字节序列(0x7D,0x5E)。

(b) 若信息字段中出现一个0x7D的字节,则将其转变成2字节序列(0x7D,0x5D)。

(c) 若信息字段中出现ASCII码的控制字符(即数值小于0X20的字符),则该字符前面需要加入一个0x7D字节,同时将该字符的编码加以改变(+20)。例如,出现0x03,就要把它转为2字节序列(0x7D,0x23)

(4) 0比特填充法

PPP协议用在SONET/SDH链路时,使用同步传输(一连串的比特连续传送),此时使用0比特填充法。

(a) 在发送端扫描整个信息字段,当有5个1连续出现时,立即填入一个0,保证信息字段中不会出现6个连续1。

(b) 在接收端删除连续5个1后面的0。

(5) 尾部

FCS:使用CRC的帧校验序列。

 

2 PPP协议的工作状态

PPP通讯是两个端点之间的通讯,每一端必须首先发送LCP packets数据来设定和测试数据链路,当链路建立后,peer才可以被认证,认证完成后,再通过发送NCP packets来选定网络层协议,这些后续的通讯就可以在网络层进行了。

具体的过程如下:

序号

状态

说明

1

链路静止状态

链路一定开始并结束于这个阶段。当一个外部事件(例如载波侦听或网络管理员设定)指出物理层已经准备就绪时,PPP将进入链路建立阶段。在这个阶段,LCP自动机器将处于初始状态,向链路建立阶段的转换将给LCP自动机器一个UP事件信号。

2

链路建立状态

LCP用于交换配置信息包(Configure packets),建立连接。一旦一个配置成功信息包(Configure-Ackpacket)被发送且被接收,就完成了交换,进入了LCP开启状态。所有的配置选项都假定使用默认值,除非被配置交换所改变。有一点要注意:只有不依赖于特别的网络层协议的配置选项才被LCP配置。在网络层协议阶段,个别的网络层协议的配置由个别的网络控制协议(NCP)来处理。在这个阶段接收的任何非LCPpackets必须被silentlydiscarded(静静的丢弃)。收到LCPConfigure-Request(LCP配置要求)能使链路从网络层协议阶段或者认证阶段返回到链路建立阶段。

3

认证阶段

在一些链路上,在允许网络层协议packets交换之前,链路的一端可能需要peer去认证它。认证是不需要强制执行的。如果一次执行希望peer根据某一特定的认证协议来认证,那么它必须在链路建立阶段要求使用那个认证协议。应该尽可能在链路建立后立即进行认证。链路质量检查可以同时发生。在认证完成之前,禁止从认证阶段前进到网络层协议阶段。如果认证失败,认证者应该跃迁到链路终止阶段。

 

在这一阶段里,只有链路控制协议、认证协议,和链路质量监视协议的packets是被允许的。在该阶段里接收到的其他的packets必须被静静的丢弃。

4

网络层协议阶段

一旦PPP完成了前面的阶段,每一个网络层协议(例如IP,IPX,或AppleTalk)必须被适当的网络控制协议(NCP)分别设定。比如,NCP可以给新接入的PC机分配一个临时的IP地址,这样PC机就成为Internet上一个主机了。每个NCP可以随时被打开和关闭。当一个NCP处于Opened状态时,PPP将携带相应的网络层协议packets。当相应的NCP不处于Opened状态时,任何接收到的被支持的网络层协议packets都将被静静的丢弃。

5

链路终止阶段

PPP可以在任意时间终止链路。引起链路终止的原因很多:载波丢失、认证失败、链路质量失败、空闲周期定时器期满、或者管理员关闭链路。LCP用交换Terminate(终止)packets的方法终止链路。当链路正被关闭时,PPP通知网络层协议,以便他们可以采取正确的行动。交换Terminate(终止)packets之后,执行应该通知物理层断开,以便强制链路终止,尤其当认证失败时。Terminate-Request(终止-要求)的发送者,在收到Terminate-Ack(终止-允许)后,或者在重启计数器期满后,应该断开连接。收到Terminate-Request的一方,应该等待peer去切断,在发出Terminate-Request后,至少也要经过一个Restarttime(重启时间),才允许断开。PPP应该前进到链路死亡阶段。在该阶段收到的任何非LCPpackets,必须被静静的丢弃。

 

 


http://chatgpt.dhexx.cn/article/I012CXuG.shtml

相关文章

PPP协议

目录 PPPPPP成员协议PPP建立流程PPP状态机PPP认证方式 PPP 点对点协议PPP也称P2P,主要用在全双工的同异步链路上进行点到点的数据传输。 PPP成员协议 链路控制协议(LCP):用来建立、拆除和监控PPP数据链路。LCP包括的参数有最大…

PPP协议简述

1. 发展: SLIP(Serial Line Internet Protocol)协议,人们不仅可以通过在计算机上安装该协议实现浏览Internet的梦想,而且还可以互连许多网络设备(如路由器与路由器的互连、路由器与主机的互连和主机与主机的互连)。 日益增长的网络需求&…

PPP协议(详解)

目录 PPP协议概述PPP协议的组成 PPP协议的帧格式标志字段字节填充比特填充透明传输 地址字段和控制字段协议字段有效数据部分帧检验序列FCS字段 PPP协议的工作状态LCP协议编码标识长度选项 鉴别协议口令鉴别协议PAP查询握手鉴别协议CHAP 网络控制协议NCPIPCP协议 PPP协议概述 …

PPP协议讲解(PPP连接状态、PPP报文)

目录 简介 PPP定义的一整套协议(3大部分) PPP建立连接的五种状态(阶段) Establish阶段 LCP简介 LCP报文类型---3大类报文 LCP协商报文交互过程 LCP协商状态—5种状态 Authenticate验证阶段(可选) …

一文看懂PPP协议——PPP协议简介

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

基于决策表的测试

在所有的测试方法中,基于决策表的测试方法是最严格的,因为决策表具有逻辑严格性。 决策表有四个部分,如下所示:条件桩 条件条目行动桩 行动条目(条目中的一列就是一个规则)所有条件都是二…

管理信息系统——决策表例题

1、某公司的对客户分类标准如下: 顾客每次订货额在 1000元以上(含1000元),信誉好的,订单设“优先”标志; 信誉不好,但是老客户的,订单设“优先”标志; 信誉不好&#x…

软件测试 7(决策表) --决策表测试

软件测试专栏上一篇主目录 下一篇 目录 1 决策表简介2 测试实例3 总结 【前言】 1 决策表简介 是最严格的功能性测试,具有逻辑性,用于表示和分析复杂的逻辑关系。适合描述不同条件集合下采取行动的若干组合的情况。决策表被设计成说明性的(与…

规则引擎 Drools:决策表

规则引擎 Drools:决策表 Drools除了支持drl形式的文件外还支持xls格式的文件(即Excel文件)。这种xls格式的文件通常称为决策表(decision table)。 决策表(decision table)是一个“精确而紧凑的…

决策表(决策树)-- homework

一、定义:决策表又称判断表,是一种呈表格状的图形工具,适用于描述处理判断条件较多,各条件又相互组合、有多种决策方案的情况。精确而简洁描述复杂逻辑的方式,将多个条件与这些条件满足后要执行动作相对应。但不同于传…

软件测试_决策表(Decision Table)

软件测试_因果图与决策表 决策表(Decision Table) 定义 利用判定表设计测试用例集合的方法叫做判定表驱动分析法(决策表法)。 决策表测试 在所有的黑盒测试方法中,基于决策表的测试是最严格的、最具有逻辑性的测试方法。 决策表…

判定表法(决策表)-实验五例题-三角形决策表

判定表也称为决策表,其实质就是一种逻辑表。利用决策表可以设计出完整的测试用例集合。 下面通过一个“图书阅读指南”来制作一个决策表。图书阅读指南指明了图书阅读过程中可能出现的状况,以及针对各种情况给读者的建议。在图书阅读过程中可能会出现3 种…

测试设计之决策表

案例一、四边形4条边:a,b,c,d,其中a、c为对边,b、d为对边,根据条件判断四边形类型 条件:C1:a//c;C2:b//d;C3:ac&#xff1…

【软件工程】决策表和决策树

1.1决策表 1.1.1决策表的定义 决策表又称判断表,是一种呈表格状的图形工具,适用于描述处理判断条件较多,各条件又相互组合、有多种决策方案的情况。精确而简洁描述复杂逻辑的方式,将多个条件与这些条件满足后要执行动作相对应。…

规则引擎 Drools--决策表(Decision Table)使用简介

参考:规则引擎 Drools:决策表_jueyinga的博客-CSDN博客_drools 决策表 一、规则引擎 Drools:决策表 Drools除了支持drl形式的文件外还支持xls格式的文件(即Excel文件)。这种xls格式的文件通常称为决策表(d…

如何用决策表设计测试用例?

实际测试中,如果输入条件较多,再加上各种输人与输出之间相互的作用关系,画出的因果图会比较复杂,容易使人混乱。为了避免这种情况,人们往往使用决策表法代替因果图法。 决策表也称为判定表,其实质就是一严…

浅谈决策树与决策表

前言 在程序设计过程中,经常会出现多层逻辑控制的嵌套,而这样的嵌套关系往往会导致我们不能直观的看出程序的逻辑关系,这会导致在测试过程中比较容易出现遗漏。因此我们需要引入决策表、决策树,其中决策表就是设计逻辑控制时十分…

决策表法

决策表法介绍: >>在因果图法设计测试用例的步骤中“因果图转换成判定表”中已使用了判定表。判定表又称决策表,为决策表发的核心,是分析和表达 多逻辑条件下执行不同操作情况的有效工具。因此,决策表法是一种能够将复杂逻辑…

6.决策表

决策表的使用方式与使用drl规则文件基本一致&#xff0c;好处是可以把一些相关的规则以表格方式展示&#xff0c;便于阅读及维护 1.maven依赖 <!-- 决策表 --> <dependency><groupId>org.drools</groupId><artifactId>drools-decisiontables&l…