PPP协议简述

article/2025/8/24 14:23:13

1. 发展:

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

日益增长的网络需求,如何在串行点对点的链路上封装IPX、AppleTalk等网络层的协议呢?

2.简介

PPP(Point to Point Protocol, PPP)提供了一种在点对点的链路上封装多协议数据报(IP、IPX和AppleTalk)的标准方法。
在这里插入图片描述

它不仅能支持IP地址的动态分配和管理;
同步(面向位的同步数据块的传送)或异步(起始位+数据位+奇偶校验位+停止位元)物理层的传输;
网络层协议的复用;
链路的配置、质量检测和纠错;
而且还支持多种配置参数选项的协商。

主要包括三个部分:
通过串行链路封装数据包的方法;
用于建立、配置和测试数据连接的链路控制协议(LCP);
用于配置不同网络层协议的网络控制协议簇(NCPS)。

3.封装格式

在这里插入图片描述
标志域(F)
标志域为一个字节,表示数据帧的开始或结束。标志序列为16 进制 7E。它是数据
帧间隔,两个数据帧之间只要一个标志即可,两个连续的标志表示一个空数据帧。

地址域(A):
地址域为一个内容为 16 进制 FF 的字节,该地址为广播地址,所有的终端都必须接
受并使用该地址,使用其它地址的数据帧应该被忽略。

控制域(C) :
控制域为一个字节,内容为16 进制 0x03,对于包含其它内容的数据帧应该忽略。

协议域
0021: IP
8021: IP 控制协议
C021: 连接控制协议
C023: 密码鉴权协议 PAP
C223: 握手挑战鉴权协议

信息域
信息域的长度是可变的,其中的内容是按协议域指定的协议封装的用户数据,信息
域的最大长度默认是1500 字节,在经过双方协商后,可以更改为其它值。

校验域 (Frame Check Sequence, FCS)
2个字节,它计算的是在没有插入任何转义符号前的地址域、控制域、协议域、信息域内的数据,不包括标志域和校验域。在发送数据时,依次计算上述内容,然后将计算后的结果放入校验域;在接收时,首先去除转义字符,然后再计算校验。在接收中计算校验时可以将校验域也计算在内,计算的结果应该是固定值 F0B8(16进制)。

4.其他补充协议

LCP协议
为了能适应复杂多变的网络环境,PPP协议提供了一种链路控制协议来配置和测试
数据通信链路,它能用来协商PPP协议的一些配置参数选项;处理不同大小的数据帧;检测链路环路、一些链路的错误;终止一条链路。

NCP协议
PPP的网络控制协议根据不同的网络层协议可提供一族网络控制协议,常用的有提
供给TCP/IP网络使用的IPCP网络控制协议和提供给SPX/IPX网络使用的IPXCP网络控制协议等,但最为常用的是IPCP协议,当点对点的两端进行NCP参数配置协商时,主要是用来通信双方的网络层地址。

5.PPP链路建立:

横线仅代表最终状态,不代表转移事件

a PPP协议建立点对点的通信,双端设备需发送LCP数据报文来配置链路(测试链路)。
b 双方根据LCP配置请求报文中所协商的认证配置参数选项(信息包括:通信过程中的数据包的最大长度、异步通信中的控制字符映像、协议和地址控制域压缩、鉴权协议以及链路检测协议等。)来决定链路两端设备所采用的认证方式。目前,PPP 中支持的鉴权协议包括密码鉴权协议(PAP)挑战握手协议(CHAP)
(LCP协议缺省,点对点通信双方不认证)
c 网络层协商,NCP配置参数选项。
d 几个配置过程全部完成后,双方就可以开始通过已建立好的链路进行网络层数据报文的传送,链路处于可用状态。
e 当任何一端收到LCP或NCP的链路关闭报文时(NCP协议无关闭链路能力要求),故关闭过程:
在LCP协商阶段或应用程序会话阶段发出;
物理层无法检测到载波或管理人员对该链路进行关闭操作,都会将该条链路断开,
最终,终止PPP会话。

6.关于LCP 协商

PPP 数据帧的协议域固定填充 0xC021,不同信息域内容通过不同协议域字段加以区分。
在这里插入图片描述
代码域用来决定数据包的类型;
标识域用来确定发送和请求资料包是否匹配;
长度域表示资料包的长度,包括代码域、标识域、长度域和数据域。
在这里插入图片描述
链路配置报文主要包括Config-Request 、Config-Ack 、Config-Nak 和Config-Reject四种:
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

7.关于鉴权协商

1、PAP-密码鉴权协议,
通过双向握手,在LCP链路建立后,被鉴权者将身份和密(明文,非绝对安全)发送给鉴权者,然后等待对方的确认信息。
在这里插入图片描述
鉴权请求报文(Authenticate-Request) ,启动密码认证协议,将本地的身份标识和密码发送给对方,并等待对方应答。多次重复直到接收到对方的应答信息。
在这里插入图片描述
鉴权确认/鉴权否认报文(Authenticate-ACK/Authenticate-NAK) ,若接收到的鉴权请求数据帧中的用户标识和密码都合法,那么通信终端将使用鉴权确认数据帧进行确认,以通知对方已经通过了身份验证;如果接收到的信息不合法,则使用鉴权否认数据帧通知对方。在鉴权确认数据帧的数据域中可以包含一些用于显示的信息。
在这里插入图片描述
2、CHAP-挑战握手鉴权协议,
三次握手协议,更具有安全性。(它只在网络上传送用户名而不传送口令,因此安全性比PAP高。)首先,鉴权过程中使用不断变化的挑战信息和身份标识,这使得攻击者很难有机会进行破解;其次,鉴权由鉴权者控制,它可以随时对对方进行身份确认。使用CHAP时,必须配合一种链表算法,目前与CHAP配合使用的算法是MD5算法。在PPP中使用CHAP必须在LCP协商时配置相应的鉴权算法给到CHAP
在这里插入图片描述
在这里插入图片描述
挑战和应答数据帧,
用来启动CHAP。鉴权者在LCP协商后主动发送挑战信息来验证用户身份。对方在接收到挑战信息后用单向链表算法进行计算,然后将计算后的结果用应答数据帧进行应答。代码1表示挑战,代码2表示应答。
在这里插入图片描述
成功和失败数据帧,
如果接收到的应答信息是正确的,那么主机使用成功数据包进行应答;反之,主机发送失败数据包并终止连接。代码3表示成功,代码4表示失败。
在这里插入图片描述

8.网络层NCP协商

该协议的数据报文是在网络层协议阶段被交换的,在这个阶段所需的一些配置参数选项协商完后,就可以点对点地进行网络层的通信。NCP协议主要包括IPCP(常见)、IPXCP等。
以IPCP数据帧为例:
在这里插入图片描述
IPCP配置选项:
在这里插入图片描述
IPCP协商过程:
在这里插入图片描述

9.模块侧ip获取过程

模块初始化
SIM卡良好状态检测、SIM卡网络检测、配置对应网络制式的PDP格式及发送拨号指令。
获取PPP报文
发送PPP报文请求
解析PPP报文,并进行组帧回馈
LCP报文协商
捕获收到的PPP报文,依据协议类型,编码类型,ID编号,信息长度,配置选项等进行分析后,对捕获到的PPP报文包进行回复。例如: C0 21 7D 22 7D 21
IPCP协商
IPCP协商需要由Module方主动发起。否则,PPP将停留在LCP建立状态。


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

相关文章

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…

请根据以下需求使用决策表设计测试用例

任务3&#xff1a;请根据以下需求使用决策表设计测试用例 信用卡额度发放&#xff1a; 年收入小于2万&#xff0c;不发放信用卡&#xff1b; 2万<年收入<5万&#xff0c;无稳定工作&#xff0c;额度1万&#xff0c;有稳定工作额度3万&#xff1b; 5万<年收入<1…

决策表法用例设计

决策表法 在一些数据处理问题中,某些操作是否实施依赖于多个逻辑条件的取值。 也即在这些逻辑条件取值的组合所构成的多种情况下,分别执行不同的操作。 处理这类问题的一个非常有力的分析和表达工具是决策表,它可以很清楚地表达各种条件之间的复杂关系。 早在程序设计发…