数据链路层(四)---PPP协议的工作状态

news2025/1/23 13:14:57

1 PPP链路的初始化

通过前面几章的学习,我们学了了PPP协议帧的格式以及组成,那么对于使用PPP协议的链路是怎么初始化的呢?

当用户拨号上网接入到ISP后,就建立起了一条个人用户到ISP的物理链路。这时,用户向ISP发送一系列的链路控制协议LCP分组(封装成多个PPP帧),以便建立起LCP连接。这些分组及相应选择了将要使用的一些PPP参数。接着还要进行网络层配置,网络控制协议NCP给新接入的用户个人电脑分配一个临时的IP地址,这样,用户就完成了与互联网的初始化连接。当用户通信完毕时,NCP释放网络层连接,收回原来分配出去的IP地址,LCP释放数据链路层连接,最后释放物理层的连接。

2 PPP链路的详细工作过程

(1)PPP链路的起始和终止状态永远时链路静止状态,这个时候用户与ISP的路由器不存在任何物理层上的连接;

(2)当用户通过调制解调器发出载波信号呼叫路由器时,路由器就能够检测到调制解调器的信号,双方开始建立物理连接。比如,你打开了百度搜索;

(3)双方完成物理层连接以后,PPP进入链路建立状态,其目的是为了建立数据链路层的LCP连接:用户侧会发送LCP的配置请求帧(封装成多个PPP协议帧,此时PPP协议帧中的协议字段为LCP对应的代码:0xC021),而信息字段包含特定的信息配置(包括:最大帧长、所使用的鉴别协议的规定、不使用PPP帧中的地址和控制字段等)。链路另一端在收到LCP配置请求帧后,可以响应以下几种协议帧的一种:

配置确认帧(Configure-ACK):所有选项都接受

配置否认帧(Configure-NCK):所有选项都理解但不接受

配置拒绝帧(Configure-Reject):选项有的无法识别或不能接受,需要协商。

(4)双方协商结束后,即建立起了LCP链路,紧接着进入“鉴别”状态。在此状态下,只允许传送LCP协议的分组、鉴别协议的分组以及检测链路质量的分组。鉴别状态下可以使用两种鉴别协议:PAP(口令鉴别协议)和CHAP(口令鉴别协议)。其中,CHAP更见安全、可靠。

PAP:认证过程比较简单,发起方发送用户名/密码至服务端做请求认真,服务器处理并做出回应,整个过程明文传输,安全性低。

CHAP:全程采用加密传输,需要做三次认证,过程比较复杂。具体过程如下:

1) 在LCP协商完成之后,服务端(认证方)会发送一个challenage报文给用户端(被认证方);

2) 用户端在收到challenage报文以后,根据challenage报文对用户名/密码进行md5加密,然后将加密后的数据发送给服务端;

3)服务端收到数据后,从本地数据库调取对应用户名密码,同样进行md5加密,与收到的用户名密码进行比对,如果一样,则表示鉴别成功,向用户端回复认可消息,否则失败。

(5)链路鉴别失败,则直接进入链路终止,如果链路鉴别成功,则进入“网络层协议”状态,开始准备NCP配置协商。PPP链路的两端网络控制协议NCP根据网络层的不同协议互相交换网络层特定的网络控制分组,保证在两端运行不同网络层协议的数据可以使用同一个PPP协议进行通信。

(6)当网络层配置完毕后,链路就进入可进行数据通信的“链路打开”状态。链路的两个PPP端点可以进行彼此向对方发送数据分组。两个PPP端点可以发送会送请求LCP分组和回送回答LCP分组,以来检车链路的状态。

(7)数据传输结束后,可以由链路的一端发出中止请求LCP分组请求链路中止连接,在收到对方发来的终止确认LCP分组后,转到“链路终止”状态。

(8)当链路终止,调制解调器的载波停止后,则回到“链路静止”状态。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2253636.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

UE5 C++ 不规则按钮识别,复选框不规则识别 UPIrregularWidgets

插件名称:UPIrregularWidgets 插件包含以下功能 你可以点击任何图片,而不仅限于矩形图片。 UPButton、UPCheckbox 基于原始的 Button、Checkbox 扩展。 复选框增加了不规则图像识别功能,复选框增加了悬停事件。 欢迎来到我的博客 记录学习过…

Latex转word(docx)或者说PDF转word 一个相对靠谱的方式

0. 前言 投文章过程中总会有各种各样的要求,其中提供word格式的手稿往往是令我头疼的一件事。尤其在多公式的文章中,其中公式转换是一个头疼的地方,还有很多图表,格式等等,想想就让人头疼欲裂。实践中摸索出一条相对靠…

Leetcode打卡:棋盘上有效移动组合的数目

执行结果:通过 题目:2056 棋盘上有效移动组合的数目 有一个 8 x 8 的棋盘,它包含 n 个棋子(棋子包括车,后和象三种)。给你一个长度为 n 的字符串数组 pieces ,其中 pieces[i] 表示第 i 个棋子的…

Day5:生信新手笔记 — R语言基本语法

一、数据类型 &#xff08;重点只有两个&#xff0c;剩下的不看&#xff09; 1.1 向量&#xff08;vector&#xff09; 矩阵&#xff08;Matrix&#xff09; 数组&#xff08;Array&#xff09; 1.2 数据框&#xff08;Data frame&#xff09; x<- c(1,2,3) #常用的向…

【Win11的Bug】无法在文件夹中创建txt文件

问题 右键只能新建文件夹 , 无法新建txt文本文档 解决办法 将注册表中的一个参数从1改为0即可. 具体内容: WinR输入regeditHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System 将1改为0(下面这张图我已改过) 4.然后重新启动电脑即可 小技…

word如何快速创建目录?

文章目录 1&#xff0c;先自己写出目录的各级标题。2、选中目标标题&#xff0c;然后给它们编号3、给标题按照个人需求开始分级4、插入域构建目录。4.1、利用快捷键插入域构建目录4.2、手动插入域构建目录 听懂掌声&#xff01;学会了吗&#xff1f; 前提声明&#xff1a;我在此…

Java程序调kubernetes(k8s1.30.7)core API简单示例,并解决403权限验证问题,即何进行进行权限授权以及验证

简单记录问题 一、问题描述 希望通过Java程序使用Kubernetes提供的工具包实现对Kubernetes集群core API的调用&#xff0c;但是在高版本上遇见权限验证问题4xx。 <dependency><groupId>io.kubernetes</groupId><artifactId>client-java</artifact…

合合信息扫描全能王线下体验活动:科技与人文的完美交融

文章目录 前言签到欢迎仪式产品体验智能高清滤镜去除透字效果照片高清修复 破冰行动会议感受 前言 作为合合信息旗下扫描全能王的忠实粉丝&#xff0c;上周&#xff0c;我很荣幸参与了扫描全能王“扫出你的能量buff”快闪活动及技术交流会。这次活动的不仅让我对这款强大的文档…

【工具变量】上市公司企业所在地城市等级直辖市、副省级城市、省会城市 计划单列市(2005-2022年)

一、包含指标&#xff1a; 股票代码 股票代码 股票简称 年份 所属城市 直辖市&#xff1a;企业所在地是否属于直辖市。1是&#xff0c;0否。 副省级城市&#xff1a;企业所在地是否属于副省级城市。1是&#xff0c;0否。 省会城市&a…

Svn如何切换删除账号

记录Svn清除切换账号 1.首先打开小乌龟的设置如下图 打开设置后单击已保存数据&#xff0c;然后选择清除 接上图选择清除后&#xff0c;就可以打勾选择清除已保存的账号&#xff0c;我们再次检出的就可以切换账号了 &#x1f449;总结 本次记录Svn清除切换账号 如能帮助到你…

ASP.NET Core SignalR 入门

一、简介 &#x1f4e2; SignalR的主要功能是提供服务器和客户端之间的实时通信。当连接的客户端变得可用时&#xff0c;服务器可以立即向其推送内容&#xff0c;而不是等待客户端发起请求。这种功能特别适合需要实时更新数据的应用场景&#xff0c;如聊天应用、实时数据分析、…

分布式光伏电站如何实现监控及集中运维管理?

安科瑞戴婷 Acrel-Fanny 前言 今年以来&#xff0c;在政策利好推动下光伏、风力发电、电化学储能及抽水蓄能等新能源行业发展迅速&#xff0c;装机容量均大幅度增长&#xff0c;新能源发电已经成为新型电力系统重要的组成部分&#xff0c;同时这也导致新型电力系统比传统的电…

2022-12-4----Android11(H713m)---- WiFi驱动添加写入mac号补丁

一、问题 用全志的写号工具&#xff0c;写入wifi_mac&#xff0c;设置下边不生效 二、分析 因为我们的WiFi不是用全志平台的&#xff0c;也不是用全志集成好的&#xff0c;而是用希微这家第三方的WiFi/BT&#xff0c;所以该驱动还没完善。 三、修改前的准备 用写号工具写号…

Linux笔记---进程:进程替换

1. 进程替换的概念 进程替换是指在一个正在运行的进程中&#xff0c;用一个新的程序替换当前进程的代码和数据&#xff0c;使得进程开始执行新的程序&#xff0c;而不是原来的程序。 这种技术通常用于在不创建新进程的情况下&#xff0c;改变进程的行为。 我们之前谈到过for…

Linux 权限管理:用户分类、权限解读与常见问题剖析

&#x1f31f; 快来参与讨论&#x1f4ac;&#xff0c;点赞&#x1f44d;、收藏⭐、分享&#x1f4e4;&#xff0c;共创活力社区。&#x1f31f; &#x1f6a9;用通俗易懂且不失专业性的文字&#xff0c;讲解计算机领域那些看似枯燥的知识点&#x1f6a9; 目录 &#x1f4af;L…

【开源】A060-基于Spring Boot的游戏交易系统的设计与实现

&#x1f64a;作者简介&#xff1a;在校研究生&#xff0c;拥有计算机专业的研究生开发团队&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的网站项目。 代码可以查看项目链接获取⬇️&#xff0c;记得注明来意哦~&#x1f339; 赠送计算机毕业设计600个选题ex…

rabbitmq 安装延时队列插件rabbitmq_delayer_message_exchange(linux centOS 7)

1.插件版本 插件地址&#xff1a;Community Plugins | RabbitMQ rabbitmq插件需要对应的版本&#xff0c;根据插件地址找到插件 rabbitmq_delayer_message_exchange 点击Releases 因为我rabbitmq客户端显示的版本是&#xff1a; 所以我选择插件版本是&#xff1a; 下载 .ez文…

elementui table滚动分页加载

文章目录 概要 简化的实现示例&#xff1a; 小结 概要 在使用 Element UI 的 Table 组件时&#xff0c;如果需要实现滚动分页加载的功能&#xff0c;可以通过监听 Table 的滚动事件来动态加载更多数据。 简化的实现示例&#xff1a; <template><el-table ref"…

书生浦语第四期--基础岛-第五关

文章目录 学习使用Xtuner微调大模型开始微调检查hf文件夹检查meraged文件夹启用WebUI 对话查看效果 学习使用Xtuner微调大模型 开始微调 检查hf文件夹 检查meraged文件夹 启用WebUI 对话 查看效果

基于Transformer的编码器-解码器图像描述模型在AMD GPU上的应用

Transformer based Encoder-Decoder models for image-captioning on AMD GPUs — ROCm Blogs 图像描述&#xff0c;即基于生成式人工智能&#xff08;GenAI&#xff09;自动生成简洁的图像文本描述&#xff0c;在现实世界中有着非常重要的应用。例如&#xff0c;图像描述可以为…