当前位置: 首页 > news >正文

计算机网络笔记(十五)——3.2点对点协议PPP

3.2.1PPP协议的特点

PPP协议(Point-to-Point Protocol)是广泛使用的点对点数据链路层协议,其核心特点如下:

一、PPP协议的核心特性

特性说明
简单性无流量控制、无序号机制,仅进行CRC校验并丢弃错误帧
封装成帧使用特殊标记(0x7E)定义帧边界
透明传输通过字节填充零比特填充避免特殊字符干扰
支持多网络层协议可通过NCP协商支持IP、IPX等多种协议
多链路类型兼容适用于串行/并行、同步/异步、铜缆/光纤等多种物理链路
差错检测使用CRC校验检测错误帧并直接丢弃
动态MTU协商默认MTU为1500字节,协商失败则拒绝传输
身份验证支持支持PAP(明文)和CHAP(加密)两种验证机制
无可靠传输机制依赖上层协议(如TCP)处理重传和纠错

二、协议组成

PPP协议由三个核心组件构成:

在这里插入图片描述

三、帧格式分析

PPP帧结构如下图所示:

在这里插入图片描述

  • 关键字段
    • 标志字段:固定0x7E(二进制01111110)作为帧边界
    • 协议字段:0x0021表示IPv4,0xC021表示LCP数据
    • 数据部分:最大传输单元(MTU)默认1500字节

四、透明传输实现

类型原理示例
字节填充转义字符0x7D前导特殊字符原数据7E → 编码为7D 5E
零比特填充发送端每5个连续1后插入0,接收端删除原比特流01111101 → 填充为011111001

在这里插入图片描述

五、典型工作流程

PPP链路建立过程的状态转移图:

在这里插入图片描述

详细步骤
  1. LCP协商:协商MTU、认证方式(PAP/CHAP)
  2. 身份认证
    • PAP:明文传输用户名/密码(易被窃听)
    • CHAP:通过哈希挑战应答实现安全验证
  3. NCP配置:分配IP地址(如使用IPCP),启用TCP首部压缩

六、与传统协议的对比

对比项PPPHDLC
可靠性无纠错和重传机制支持可靠传输(已逐渐被淘汰)
灵活性支持多种网络层协议仅支持固定网络层格式
验证机制支持PAP和CHAP无内置验证
应用场景拨号接入、PPPoE宽带路由器间专用线路

七、实际应用场景

  1. 拨号上网:用户通过调制解调器建立PPP连接

  2. PPPoE(PPP over Ethernet):

    • 将PPP帧封装在以太网帧中
    • 用于ADSL宽带接入,通过pppoe-discovery发现BAS

在这里插入图片描述

  1. VPN隧道:通过GRE/L2TP封装PPP实现远程安全接入

总结:PPP协议以其简单、灵活和兼容性强的特点,成为点对点通信的核心协议。结合LCP/NCP的动态协商能力,既能适应不同链路环境,又能支持多种网络层协议,但需注意其在可靠性和安全性上对上层协议的依赖。

3.2.2PPP协议的帧格式

3.2.2 PPP协议的帧格式

PPP(Point-to-Point Protocol)协议的帧格式设计目标是简单、高效且支持透明传输。其标准帧结构如下:

PPP帧完整结构图(mermaid):

在这里插入图片描述

各字段详细说明:

1. 标志字段(Flag)

  • 固定值 0x7E(二进制 01111110
  • 标识帧的开始和结束
  • 连续两个Flag表示空帧(丢弃处理)

2. 地址字段(Address)

  • 固定值 0xFF(广播地址)
  • 所有PPP节点必须接受该地址(实际无实际寻址功能)

3. 控制字段(Control)
固定值 0x03(无编号帧UI - Unnumbered Information)
保留HDLC兼容设计,无流量控制功能

4. 协议字段(Protocol)

  • 2字节,标识数据域的协议类型:
    ┌──────────┬─────────────────────────┐
    │ 协议值 │ 描述 │
    ├──────────┼─────────────────────────┤
    │ 0x0021 │ IPv4数据包 │
    │ 0xC021 │ LCP控制协议 │
    │ 0x8021 │ IPCP控制协议 │
    │ 0x8035 │ NCP协商 │
    └──────────┴─────────────────────────┘

5. 信息域(Information)

  • 长度可变(默认MTU为1500字节)
  • 包含上层数据载荷(IP/NCP/LCP等)

6. 帧校验序列(FCS)

  • 使用 CRC循环冗余校验(通常为2字节的CRC-16)
  • 可扩展为4字节的CRC-32(用于高速链路)

透明传输实现机制

当数据中出现 0x7E0x7D 等特殊字符时,PPP采用 字节填充(Byte Stuffing)

在这里插入图片描述

转义规则:
原字符转义后序列说明
0x7E0x7D 0x5E标志字符转义
0x7D0x7D 0x5D转义字符自身转义
ASCII控制符(≤0x20)0x7D (ch XOR 0x20)控制字符转义

PPP帧示例

假设发送数据 HelloPPP(协议类型为IPv4):

在这里插入图片描述

关键特点总结

  1. 极简设计:去除了传统HDLC的复杂控制功能(如窗口、确认机制)
  2. 协议协商:通过LCP进行链路参数协商(如MRU、认证方式)
  3. 多协议支持:通过Protocol字段区分不同上层协议
  4. 错误检测:CRC校验保障帧完整性,错误帧直接丢弃(无重传机制)

实际应用中,PPP广泛用于拨号连接、PPPoE(ADSL宽带接入)等场景。

3.2.3PPP协议的工作状态

PPP(Point-to-Point Protocol)协议的工作状态是整个PPP链路建立过程的核心

一、PPP协议工作状态详解

1. 链路静止(Link Dead)

表示物理线路未接通或已断开,PPP协议无法进行任何通信。

  • 触发离开条件:检测到物理链路可用(如调制解调器拨号成功)。

2. 链路建立(Link Establish)

双方通过LCP协议(链路控制协议)协商链路参数:

  • 协商最大传输单元(MTU)
  • 认证协议(PAP/CHAP)
  • 是否禁用地址字段和控制字段
  • 状态转换条件
    • 成功:LCP协商参数达成一致 → 进入认证阶段
    • 失败:超时或协商不一致 → 返回链路静止

3. 认证阶段(Authenticate)

通过预设协议验证对方身份:

  • PAP(Password Authentication Protocol):
    明文传输用户名和密码,存在安全风险。
  • CHAP(Challenge-Handshake Authentication Protocol):
    使用挑战哈希加密,更安全。
  • 状态转换条件
    • 成功:身份验证通过 → 进入网络层协商
    • 失败:验证错误或超时 → 进入链路终止

4. 网络层协议(Network)

使用NCP协议(网络控制协议)配置网络层参数:

  • 对于IP协议(IPCP):
    • 协商IP地址(静态分配或动态获取)
    • 启用IPv4报头压缩
  • 状态转换条件
    • 成功:网络层配置完成 → 进入链路打开
    • 失败:配置参数不一致 → 进入链路终止

5. 链路打开(Link Open)

数据传输阶段:

  • 可传输IP数据包、网络层控制信号(如ICMP)。
  • 周期性发送LCP Echo Request检测链路存活。

6. 链路终止(Link Terminate)

任何一方发起终止请求后:

  • 交换LCP终止分组(Terminate-Request/Ack)。
  • 关闭物理连接 → 回到链路静止状态

二、工作状态流程图

在这里插入图片描述

三、关键子协议

  1. LCP(链路控制协议)
    • 负责链路参数协商,包括最大帧长度、认证协议选择。
  2. NCP(网络控制协议)
    • 针对不同网络层协议(如IP/IPv6)进行配置;
    • IPCP(IP控制协议)是最常用的NCP。

四、典型应用场景

  • 用户拨号上网
    1. 用户拨号 → Modem建立物理连接;
    2. 发起LCP协商 → 通过PAP/CHAP验证;
    3. 分配IP地址 → 进入网络数据传输。

通过上述流程,PPP协议能够逐步建立连接、验证安全参数、配置网络选项,最终实现端到端的可靠数据传输。

相关文章:

  • MySQL数据库创建、删除、修改
  • 2.4 点云数据存储格式——轻量文本型存储格式
  • 20250508在WIN10下使用移远的4G模块EC200A-CN直接上网
  • WEB UI自动化测试之Pytest框架学习
  • 前端取经路——框架修行:React与Vue的双修之路
  • 稳定性_李雅普诺夫——Lyapunov直接法
  • 数据结构-非线性结构-二叉树
  • Qt开发经验 --- 避坑指南(8)
  • 10. CSS通配符与选择器权重深度解析:以《悯农》古诗为例
  • 新能源汽车CAN通信深度解析:MCU、VCU、ECU协同工作原理
  • 图漾相机——Sample_V2示例程序(待补充)
  • 人工智能在网络安全中的重要性
  • 湖北理元理律师事务所的企业债务重组实践:挽救实体经济的法律处方
  • Android7 Input(六)InputChannel
  • 网络安全赛题解析
  • 手撕基于AMQP协议的简易消息队列-1(项目介绍与开发环境的搭建)
  • 65.微服务保姆教程 (八) 微服务开发与治理实战
  • B站搜索关键词全攻略:掌握B站搜索关键词的运作机制
  • Andorid 文件打印功能
  • 服务器托管的常见问题
  • 夜读丨古代有没有近视眼?
  • 迪拜金融市场CEO:2024年市场表现出色,超八成新投资者来自海外
  • 小米回应SU7Ultra排位模式限制车辆动力:暂停推送更新
  • 媒体起底“速成洋文凭”灰产链,专家:我们要给学历“祛魅”
  • 上海营商环境的“分寸”感:底线之上不断拓宽自由,底线之下雷霆制止
  • 马上评|颜宁“简历打假”的启示