ppp协议,一文带你了解
一、PPP协议简介
PPP(Point-to-Point Protocol)是一种数据链路层协议,用于在两个节点之间建立点对点的数据通信连接。PPP协议是TCP/IP协议族中的一员,它可以在串行通信线路上传输IP数据包,支持多种网络层协议,如IP、IPX、AppleTalk等。PPP协议定义了一整套协议,包括建立连接的五种状态、LCP协议、Authenticate验证协议、Network网络层协议等。
二、PPP建立连接的五种状态
PPP建立连接的过程中,有五种状态,分别是:
1. 非建立状态(Dead):初始状态,表示没有建立连接。
2. 等待状态(Establishing):表示正在建立连接,发送方发送LCP协议报文,接收方回复LCP协议报文。
3. 认证状态(Authenticate):可选状态,表示正在进行认证,发送方发送认证请求报文,接收方回复认证响应报文。
4. 网络层协商状态(Network):表示正在进行网络层协商,发送方发送IPCP协议报文,接收方回复IPCP协议报文。
5. 已建立状态(Opened):表示连接已经建立,可以进行数据传输。
三、LCP简介
LCP(Link Control Protocol)是PPP协议中的一个重要协议,用于在两个节点之间建立连接。LCP协议定义了一系列报文类型和状态,用于协商连接参数,如最大传输单元(MTU)、协议版本、认证方式等。
1.LCP报文类型
LCP报文类型分为三大类,分别是:
1. 配置请求报文(Configure-Request):发送方向接收方请求协商某个参数的值。
2. 配置响应报文(Configure-Ack):接收方回复发送方的请求,同意协商某个参数的值。
3. 配置拒绝报文(Configure-Nak):接收方回复发送方的请求,拒绝协商某个参数的值,并提供一个备选值。
2.LCP协商报文交互过程
LCP协商报文交互过程如下:
1. 发送方发送配置请求报文。
2. 接收方回复配置响应报文或配置拒绝报文。
3. 如果接收方回复配置拒绝报文,则发送方根据备选值再次发送配置请求报文。
4. 如果接收方回复配置响应报文,则协商成功。
3.LCP协商状态
LCP协商状态分为五种,分别是:
1. 初始状态(Initial):表示连接尚未建立,发送方发送配置请求报文。
2. 配置请求已发送状态(Starting):表示发送方已经发送了配置请求报文,等待接收方回复。
3. 配置请求已接收状态(Req-Sent):表示接收方已经接收到了配置请求报文,正在处理。
4. 配置已协商状态(Ack-Received):表示接收方已经回复了配置响应报文,发送方正在处理。
5. 已建立状态(Opened):表示连接已经建立,可以进行数据传输。
四、Authenticate验证阶段
PPP协议支持两种认证方式,分别是PAP和CHAP。
1.PAP认证报文交互过程
PAP认证报文交互过程如下:
1. 发送方发送认证请求报文,包含用户名和密码。
2. 接收方回复认证响应报文,表示认证成功或失败。
2.CHAP认证报文交互过程
CHAP认证报文交互过程如下:
1. 发送方发送挑战请求报文,包含一个随机数。
2. 接收方回复挑战响应报文,包含一个经过加密的随机数。
3. 发送方将接收到的随机数和密码进行加密,生成一个响应报文。
4. 接收方验证响应报文是否正确,如果正确则认证成功,否则认证失败。
五、Network网络层协商阶段
PPP协议支持多种网络层协议,如IP、IPX、AppleTalk等。在网络层协商阶段,使用IPCP协议进行协商。
IPCP简介
IPCP(Internet Protocol Control Protocol)是PPP协议中的一个重要协议,用于在两个节点之间协商IP地址、DNS服务器地址等网络层参数。
1.IPCP报文类型
IPCP报文类型分为三种,分别是:
1. 配置请求报文(Configure-Request):发送方向接收方请求协商某个参数的值。
2. 配置响应报文(Configure-Ack):接收方回复发送方的请求,同意协商某个参数的值。
3. 配置拒绝报文(Configure-Nak):接收方回复发送方的请求,拒绝协商某个参数的值,并提供一个备选值。
2.IPCP协商报文交互过程
IPCP协商报文交互过程如下:
1. 发送方发送配置请求报文。
2. 接收方回复配置响应报文或配置拒绝报文。
3. 如果接收方回复配置拒绝报文,则发送方根据备选值再次发送配置请求报文。
4. 如果接收方回复配置响应报文,则协商成功。
3.IPCP协商状态
IPCP协商状态分为四种,分别是:
1. 初始状态(Initial):表示连接尚未建立,发送方发送配置请求报文。
2. 配置请求已发送状态(Starting):表示发送方已经发送了配置请求报文,等待接收方回复。
3. 配置请求已接收状态(Req-Sent):表示接收方已经接收到了配置请求报文,正在处理。
4. 已建立状态(Opened):表示连接已经建立,可以进行数据传输。
六、PPP报文
PPP报文由两部分组成,分别是PPP头部和数据部分。
1.PPP头部
PPP头部由三个字段组成,分别是标志字段、地址字段和控制字段。其中标志字段固定为01111110,地址字段固定为11111111,控制字段固定为00000011。
2.LCP报文格式
LCP报文格式由四个字段组成,分别是代码字段、标识符字段、长度字段和数据字段。其中代码字段表示报文类型,标识符字段用于标识报文,长度字段表示数据字段的长度,数据字段包含具体的协商参数。
3.PAP报文格式
PAP认证报文格式由三个字段组成,分别是代码字段、标识符字段和数据字段。其中代码字段表示报文类型,标识符字段用于标识报文,数据字段包含用户名和密码。
4.CHAP报文格式
CHAP认证报文格式由四个字段组成,分别是代码字段、标识符字段、长度字段和数据字段。其中代码字段表示报文类型,标识符字段用于标识报文,长度字段表示数据字段的长度,数据字段包含挑战请求或响应的随机数和加密后的密码。
5.IPCP报文格式
IPCP报文格式与LCP报文格式类似,由四个字段组成,分别是代码字段、标识符字段、长度字段和数据字段。其中代码字段表示报文类型,标识符字段用于标识报文,长度字段表示数据字段的长度,数据字段包含具体的协商参数,如IP地址、DNS服务器地址等。
七、PPP排错
在PPP协议中,常见的排错方法包括以下几种:
1. 使用debug命令查看PPP协议报文交互过程。
2. 检查物理连接是否正常,如串口线是否插好、串口波特率是否设置正确等。
3. 检查PPP协议参数是否设置正确,如最大传输单元(MTU)、认证方式等。
4. 检查网络层协议参数是否设置正确,如IP地址、DNS服务器地址等。
5. 使用网络分析工具,如Wireshark等,分析PPP协议报文,查找问题所在。
八、PPP认证
PPP支持多种认证方式,包括PAP(Password Authentication Protocol)、CHAP(Challenge Handshake Authentication Protocol)等。
1. PAP认证:PAP认证是一种简单的明文认证方式,客户端发送用户名和密码给服务器端,服务器端进行验证。如果验证通过,PPP链路建立成功。
2. CHAP认证:CHAP认证是一种更加安全的认证方式,它使用挑战-响应机制进行认证。服务器端发送一个随机数给客户端,客户端使用密码对随机数进行加密后返回给服务器端,服务器端进行验证。如果验证通过,PPP链路建立成功。
ppp协议,一文带你了解相关推荐
- ipv6单播地址包括哪两种类型_IPV6中为啥没有ARP了呢?一文带你搞懂NDP邻居发现协议...
前言 前面我们介绍了ICMPv6协议 除了提供ICMPv4常用的基本功能之外,还有邻居发现(ND)的功能.一文带你看懂ICMPv6和ICMPv4的区别 那么究竟什么是邻居发现协议(ND)呢? 邻居发现 ...
- 一文带你读懂HTTP协议的前世今生
点击上方蓝字关注我们 HTTP,Hypertext Transfer Protocol,超文本协议,是在万维网上传输文件(如文本.图形图像.声音.视频和其他多媒体文件)的规则集.如果web用户打开他们 ...
- ppp chap 加密摘要_“网络工程师培训”基础教程:一文读懂PPP协议
1.PPP协议简介 PPP 是一种得到广泛应用的广域网协议,它同时支持同/异步传输介质,也支持拨号方式.在我们的日常生活.工作中,拨号上网.DDN 专线等网络连接方式都是封装的 PPP 协议. 2.P ...
- 一文带你看懂TCP/IP协议 (更新中 现更新至网络层部分)
相信大家在编程的学习或应用中,对网络编程都有一定的需求.我们都知道http/https属于TCP/IP协议,也都用到过get,post等方法,但是想要真正的了解这些东西的原理.我认为TCP/IP协议还 ...
- 一文看懂PPP协议——PPP协议简介
今天给大家介绍一下PPP协议的相关内容,文章浅显易懂,特别适合0基础同学.本文主将主要从PPP概述.PPP链路建立过程和PPP认证三个角度对PPP协议进行讲解. 一.PPP概述 PPP,point-t ...
- RFC1661中文 ppp协议
组织:中国互动出版网(http://www.china-pub.com/) RFC文档中文翻译计划(http://www.china-pub.com/compters/emook/aboutemook ...
- 一文带你深入理解JVM内存模型
一文带你深入理解JVM内存模型 一.JAVA的并发模型 共享内存模型 在共享内存的并发模型里面,线程之间共享程序的公共状态,线程之间通过读写内存中公共状态来进行隐式通信 该内存指的是主内存,实际上是物 ...
- 什么是5G NR技术?一文带你深入了解5G NR技术
什么是5G NR技术?一文带你深入了解5G NR技术 工信部IMT-2020(5G)推进组正式发布了5G第三阶段研发试验规范,5G第三阶段研发试验已启动.该研发试验基于3GPP 5G标准,构建统一环境 ...
- 超详细!一文带你了解 LVS 负载均衡集群!
作者 | JackTian 来源 | 杰哥的IT之旅(ID:Jake_Internet) 前言 如今,在各种互联网应用中,随着站点对硬件性能.响应速度.服务稳定性.数据可靠性等要求也越来越高,单台服务 ...
最新文章
- php使用memcache存储session
- 使用OGR创建dxf格式矢量数据
- ab压力测试_CentOS安装压力测试工具ApacheBench(ab)
- java一键保存表格增删改,一个增删改功能的表格小demo
- 批处理写入以及动态与参数化SQL,数据库的性能如何?
- 一群人围成一圈从123报数,如果报到3就退出该圈中,直到最后一个人留下来!...
- web的case点总结
- Java 基于javaMail的邮件发送(支持附件)
- Intellij IDEA连接Spark集群
- 正确识别希捷Backup Plus新睿品1TB正品,杜绝奸商猖獗
- java基于springboot校园餐厅订餐管理系统
- 水果忍者 java_水果忍者v1.7.2
- bootice添加linux_使用BOOTICE 恢复系统启动项
- 1005打印任务取消不了 hp_HP打印机打印时任务打印不了时无法取消
- 采用曼码调制的非接触式IC卡译码软件设计
- 人工智能数学基础-线性代数1:向量及向量加减法与数乘
- 常用C++开发环境介绍
- 【折腾电脑】win笔记本雷电3外接显卡过程记录(使用内屏)、雷电三驱动怎么更新
- oracle查询为姓 张,Oracle经典查询案例
- 小学语文毕业知识整理与复习题
热门文章
- 为什么 95% 自学成才的开发人员很快就转行了?
- [windows] win10刷新dns的方法
- 需求分析——数据流图的绘制
- 刚离开苹果,GAN 之父已找好下家:再次重返谷歌,继续在家办公
- MySQL 约束(Constraint)
- cannot add foreign key constraint mysql_解决1215 - cannot add foreign key constraint
- 数据加密 三种密钥交换算法详解(RSA DHE ECDHE)
- 微型计算机原理8255a考研题,2017年华中农业大学信息学院820微型计算机原理及应用考研题库...
- 【DL】第5章 以示例文本的样式生成文本
- 常系数非齐次线性微分方程通解的求法