HCIA-PPP

一、基本概念

1、定义:PPP 协议是一种数据链路层协议,在两点之间建立直接通信连接。常用于拨号上网、宽带接入、路由器间通信等。

2、核心功能

①链路控制:建立、配置和测试数据链路连接。

②网络层协议支持:支持 IP、IPX 等多种网络层协议。

③错误检测:通过 CRC 校验保证数据完整性

、协议组成

2、LCP(链路控制协议):通过交互数据报文协商对应的参数

①链路建立阶段

发送请求:客户端向对端发送Configure - Request帧,其中包含期望协商的参数,如 MRU、认证协议类型、魔术字等。

接收回应:对端收到帧后检查参数。会有以下情况:

若全部参数可接受,发Configure - Ack帧确认;

若部分参数不匹配,发Configure - Nak帧并给出建议值;

若有参数不识别,发Configure - Reject帧要求重协商。

重复协商:若收到 Configure - Nak 或 Configure - Reject 帧,客户端调整参数后重新发送 Configure - Request 帧,直至双方都发送 Configure - Ack 帧,链路参数协商完成。

②链路维护阶段

在链路正常运行过程中,双方会定期发送 LCP 帧来维持链路的连接,例如通过发送 Echo - Request 和 Echo - Reply 帧来检测链路的连通性。

③链路终止阶段

当需要终止链路时,一方会发送 Terminate - Request 帧,另一方收到后如果同意终止,会发送 Terminate - Ack 帧进行确认,然后双方关闭链路。

2、NCP(网络控制协议):互相交互报文协议为IPCP,检测IP地址冲突,学习路由,下发地址等

①前提条件:LCP 协商成功,链路建立后,开启 NCP 协商。

②发送请求:依据不同网络层协议,发送对应的 NCP Configure - Request帧,如 IP 协议帧会包含 IP 地址分配方式。

③接收回应

静态IP地址协商:接收方检查请求帧,能接受所有参数则发Configure-Ack报文确认;检查IP地址是否冲突。

动态IP地址协商:部分不可接受发Configure-Nak报文并提建议;下发地址。

④重复协商:若收到非Configure-Ack帧,发送方调整参数重发请求帧,直至双方确认协商成功,网络层协议开始工作。

3、认证协议及协商过程

①PAP认证----两次握手明文认证

协商阶段:在 LCP 协商中确认使用 PAP 认证。

认证过程

  • 客户端发送 Authenticate-Request帧(含明文用户名和密码)。
  • 服务器验证:验证通过 → 回复Authenticate-Ack帧;
  • 验证失败 → 回复 Authenticate-Nak 帧

特点:明文传输,安全性低,适用于低风险场景。

②CHAP认证----三次握手认证

协商阶段:LCP 协商时确定是否用 CHAP 认证。

认证过程

  • 服务器发送Challenge 帧给客户端,含随机挑战值和标识符。
  • 客户端用密码和挑战值哈希运算,将结果、用户名、标识符放Response帧发给服务器。
  • 服务器用保存密码和原挑战值运算,结果与客户端比对,相同发Success帧,不同发 Failure 帧。

特点:加密传输,安全性高,适用于高风险场景。

三、 工作流程

1、链路建立:LCP 协商参数,确定通信规则。

2、身份认证(可选):使用 PAP 或 CHAP 验证用户身份。

3、网络层协议配置:NCP 为特定网络层协议分配资源(如 IP 地址)。

4、数据传输:封装并传输网络层数据包。

5、链路终止:LCP 关闭连接。

四、 数据封装格式

PPP 帧结构如下:

标志位(1 字节)地址(1 字节)控制(1 字节)协议(2 字节)数据(可变)FCS(2-4 字节)标志位(1 字节)

1、标志位:固定为0x7E,标识帧的开始和结束。

2、协议字段:指示数据部分的协议类型(如0x0021表示 IPv4)。

3、FCS:帧校验序列,用于检测传输错误。

五、应用场景

1、拨号上网:通过电话线连接 ISP(如早期的 Modem 拨号)。

2、宽带接入:ADSL、光纤到户(FTTH)的 PPP 封装(如 PPPoE 协议)。

3、VPN 隧道:在 L2TP/IPSec 等隧道技术中封装数据。

4、路由器间通信:广域网(WAN)链路上的点对点连接。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据结构与算法-图论-拓扑排序

前置芝士 概念 拓扑排序(Topological Sorting)是对有向无环图(DAG,Directed Acyclic Graph)的顶点进行排序的一种算法。它将图中的所有顶点排成一个线性序列,使得对于图中的任意一条有向边 (u, v)&#x…

市长海报/ Mayor‘s posters

AB 省 Bytetown 的市民无法忍受市长竞选活动的候选人随心所欲地将他们的选举海报贴在各个地方。市议会最终决定建造一面选举墙来放置海报,并引入以下规则: 每个候选人都可以在墙上放置一张海报。所有海报的高度都与墙壁的高度相同;海报的宽度可以是任意整…

LeetCode hot 100—验证二叉搜索树

题目 给你一个二叉树的根节点 root ,判断其是否是一个有效的二叉搜索树。 有效 二叉搜索树定义如下: 节点的左子树只包含 小于 当前节点的数。节点的右子树只包含 大于 当前节点的数。所有左子树和右子树自身必须也是二叉搜索树。 示例 示例 1&#…

ccfcsp3402矩阵重塑(其二)

//矩阵重塑&#xff08;其二&#xff09; #include<iostream> using namespace std; int main(){int n,m,t;cin>>n>>m>>t;int c[10000][10000];int s0,sum0;int d[10000],k[100000];for(int i0;i<n;i){for(int j0;j<m;j){cin>>c[i][j];d[s…

MCP和Function Calling的区别

文章目录 1、什么是MCP1.1、定义和特点1.2、架构和工作原理3.3、MCP 的主要优势 2、什么是Function Calling3、MCP和Function Calling的区别4、总结 &#x1f343;作者介绍&#xff1a;双非本科大四网络工程专业在读&#xff0c;阿里云专家博主&#xff0c;前三年专注于Java领域…

裂缝识别系统 Matlab GUI设计

使用说明 裂缝识别系统 Matlab GUI设计 &#xff0c;运行环境Matlab2023b及以上&#xff1b; 一种基于MATLAB图形用户界面&#xff08;GUI&#xff09;的裂缝自动识别系统&#xff0c;该系统利用数字图像处理技术实现裂缝图像的预处理&#xff0c;集成均衡化、噪声滤波、对比…

【源码分析】Nacos实例注册流程分析-事件驱动框架

【踩坑记录】 本人下载的Nacos 服务端版本是2.3.2&#xff0c;在开始进行源码编译便遇到问题&#xff0c;下面是各个问题记录 源码大量爆红 在最开始用Idea加载Maven项目的时候&#xff0c;发现项目中大量的代码爆红&#xff0c;提示其类或者包不存在&#xff0c;后来结果查…

51单片机指令系统入门

目录 基本概念讲解 一、机器指令​ 二、汇编指令​ &#xff08;一&#xff09;汇编指令的一般格式 &#xff08;二&#xff09;按字节数分类的指令 三、高级指令 总结​ 基本概念讲解 指令是计算机&#xff08;或单片机&#xff09;中 CPU 能够识别并执行的基本操作命令…

mysql5.x和mysql8.x查看和设置隔离级别

MySQL的隔离级别 级别标志值描述读未提交READ-UNCOMMITTED0存在脏读、不可重复读、幻读的问题读已提交READ-COMMITTED1解决脏读的问题&#xff0c;存在不可重复读、幻读的问题可重复读REPEATABLE-READ2mysql 默认级别&#xff0c;解决脏读、不可重复读的问题&#xff0c;存在幻…

【函数式编程】【C#/F#】第四讲:单子与函子 - 抽象的编程模式

在第二讲中我们探讨了一个诚实的函数应该要做到什么事&#xff0c;并运用了一种方法&#xff0c;让我们可以去准确的描述数据。 不过有一种情况让我们始料未及&#xff0c;例如网站需要收集一些信息&#xff0c;但有些信息不是必须的&#xff0c;是可有可无的。如果我们要去准…

【vue2 + Cesium】使用Cesium、添加第三方地图、去掉商标、Cesium基础配置、地图放大缩小事件、获取可视区域、层级、高度

参考文章&#xff1a; vue2 使用 cesium 篇【第一篇】 vue2 使用 cesium 【第二篇-相机视角移动添加模型】 vue2 项目模版&#xff1a; vue2-common 安装 cesium npm install cesium --save这个就很简单&#xff0c;只需要一句简简单单的命令就可以实现在 vue 项目中安装 ce…

vllm-openai多服务器集群部署AI模型

服务器配置是两台ubantu系统电脑,每台电脑安装两张4090-48G显存的显卡,共计192G显存。 服务器1 服务器2 准备工作: 1.两台电脑都已经安装了docker 2.两台电脑都已经安装了nvidia驱动 参考vllm官方资料 https://docs.vllm.ai/en/latest/serving/distributed_serving.html…

【电源】斩波电路

文章目录 前言定义概念 缩写降压斩波电路使用步骤总结参考文献 前言 进行大创项目开发的学习 bilibili 定义概念 缩写 斩波电路&#xff1a;分为降压&#xff0c;电荷泵&#xff0c;升压&#xff0c;升降压&#xff0c;Cuk&#xff0c;Speic&#xff0c;Zeta 等等 降压斩…

Hadoop集群组成

&#xff08;一&#xff09;Hadoop的组成 对普通用户来说&#xff0c; Hadoop就是一个东西&#xff0c;一个整体&#xff0c;它能给我们提供无限的磁盘用来保存文件&#xff0c;可以使用提供强大的计算能力。 在Hadoop3.X中&#xff0c;hadoop一共有三个组成部…

c++基础知识-图论进阶

一、拓扑排序 1、基础知识 1&#xff09;什么是拓扑排序 对一个有向无环图G进行拓扑排序&#xff0c;是将G中所有顶点排成一个线性序列&#xff0c;使得图中任意一对顶点u和v&#xff0c;若&#xff0c;则u在线性序列中出现在v之前。 2&#xff09;拓扑排序的操作方法 重复执行…

从Scaling Laws中解析大模型训练的边际递减临界点

前言 当我们拆解GPT-4到DeepSeek的演进路径&#xff0c;会发现一个反直觉的真相&#xff1a;​AI的智能跃迁不依赖参数堆砌&#xff0c;而取决于对"结构-能量-信息"三元关系的精准把控。就像人类大脑在进化中通过皮层折叠而非单纯增大体积来实现智能突破&#xff0c…

Word 小黑第20套

对应大猫21 特定一页设为横向 上下用分页符

【从0到1搞懂大模型】RNN基础(4)

先说几个常用的可以下载数据集的地方 平台&#xff1a;kaggle&#xff08;https://www.kaggle.com/datasets&#xff09; 和鲸社区&#xff08;https://www.heywhale.com/home&#xff09; 阿里天池&#xff08;https://tianchi.aliyun.com/&#xff09; 其他&#xff1a;海量公…

openEuler24.03 LTS下安装MySQL8

前提条件 拥有openEuler24.03 LTS环境&#xff0c;可参考&#xff1a;Vmware下安装openEuler24.03 LTS 步骤 卸载原有mysql及mariadb sudo systemctl stop mysql mysqld 2>/dev/null sudo rpm -qa | grep -i mysql\|mariadb | xargs -n1 sudo rpm -e --nodeps 2>/dev/…

如何在Odoo 18中实现OWL通知服务

如何在Odoo 18中实现OWL通知服务 OWL&#xff08;Odoo Web Library&#xff09;是Odoo的前端框架&#xff0c;用于构建现代化的动态响应式用户界面。在早期版本中&#xff0c;Odoo 前端设计与开发使用的是诸如 QWeb 这类较为老旧的框架&#xff0c;而随着 Odoo 每发布一个新版本…