IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 计算机网络数据链路层之点对点协议PPP -> 正文阅读

[网络协议]计算机网络数据链路层之点对点协议PPP

点对点协议PPP

PPP协议的特点

  • 对于点对点的链路,目前使用得最广泛的数据链路层协议是点对点协议PPP(point-to-point protocol)。
  • PPP协议在1994年就已成为互联网的正式标准。

用户到ISP的链路使用PPP协议
效果图

  1. PPP协议应满足的需求
    • 简单——这是首要的要求
    • 封装成帧 —— 必须规定特殊的字符作为真界定符。
    • 透明性 —— 必须保证数据传输的透明性。
    • 多种网络层协议 —— 能够在同一条物理链路上同时支持多种网络层协议。
    • 多种类型链路 —— 能够在多种功能类型的链路上运行。
    • 差错检测 —— 能够对接收端收到的帧进行检测,并立即丢弃有差错的帧。
    • 检测连接状态 —— 能够及时自动检测链路是否纯在正常工作状态。
    • 最大传送单元 —— 必须对每一种类型的点对点链路设置最大的传送单元MTU的标准默认值,促进各种设备实现之间的互操作性。
    • 网络层地址协商 —— 必须提供一种机制使通信的两个网络层实体能够通过协商知道或能够配置彼此的网络层地址。
    • 数据压缩协商 —— 必须提供一种方法来协商使用数据压缩算法。
  2. PPP协议不需要的功能
    • 纠错
    • 流量控制
    • 序号
    • 多点线路
    • 半双工或单工链路
  3. PPP协议的组成
    • PPP协议有三个组成部分:
      1. 一个将IP数据报封装到串行链路的方法。
      2. 链路控制协议LCP(link control protocol)。
      3. 网络控制协议NCP(network control protocol)。

PPP协议的帧格式

  • PPP帧的首部和尾部分别为4个字段和2个字段。

  • 标志字段F = 0x7E(符号“0x”表示后面的字符使用十六进制表示。十六进制的7E的二进制表示是01111110)。

  • 地址字段A只置为0xFF。地址字段实际上并不起作用。

  • 控制字段C通常置为0x03。

  • PPP是面向字节的,所有的PPP帧的长度都是整数字节。
    效果图
    PPP有一个2个字节的协议字段。其值

    • 若为0x0021,则信息字段就是IP数据报。
    • 若为0x8021,则信息字段就是网络控制数据。
    • 若为0xC021,则信息字段就是PPP链路控制数据。
    • 若为0xC023,则信息字段是鉴别数据。

    透明传输问题

    • 当PPP用在异步传输时,就是用一种特殊的字符填充法
    • 当PPP用在同步传输链路时,协议规定采用硬件来完成比特填充(和HDLC的做法一样)。

    字符填充

    • 将信息字段中出现的每一个0x7E字符转变成为2字节序列(0x7D,0x5E)。
    • 若信息字段中出现一个0x7D的字节,则将其转变为2字节序列(0x7D,0x5D)。
    • 若信息字段中出现ascii码的控制字符(即数值小于0x20的字符),则在该字符前面要加入一个0x7D字节,同时将该字符的编码加以改变。

    字符填充法
    效果图
    零比特填充

    • PPP协议用在SONET/SDH链路时,使用同步传输(一连串的比特连续传送)。这时PPP协议采用零比特填充方法来实现透明传输。

    • 在发送端,只要发现有5个连续1,则立即在其后填入一个0。

    • 接收端对帧中的比特流进行扫描。每当发现5个连续1时,就把这5个连续1后的一个0删除。

    • 同步传输(synchronous transmission)以数据帧为单位传输数据,可采用字符型时或位组合形式的帧同步信号,在短距离的高速传输中,该时钟信号可由专门的时钟线路传输,由发送端或接收端提供专用于同步的时钟信号。计算机网络采用同步传输方式时,常将时钟同步信号(前同步码)植入数据信号帧中,以实现接收端与发送端的时钟同步。
      效果图

    • 异步传输(asynchronous transmission)以字符为单位传输数据,发送端和接收端具有相互的时钟(频率相差不能太多),并且两者中任一方都不向对方提供时钟同步信号。
      效果图
      零比特填充
      效果图

      TIPS:7E的二进制为0111 1110。所以信息字段需要在第5个1之后补0。

    不提供使用序号和确认的可靠传输

    • PPP协议之所以不使用序号和确认机制是出于以下的考虑:
      1. 在数据链路层出现差错的概率不大时,使用比较简单的PPP协议较为合理。
      2. 在因特网环境下,PPP协议的信息字段放入的数据是IP数据报。数据链路层的可靠传输并不能保证网络层的传输是可靠的。
      3. 帧检测序列FCS字段可保证无差错接收。

PPP协议的工作状态

  • 当用户拨号接入ISP时,路由器的调制解调器对拨号做出确认,并建立一条物理连接。

  • PC机向路由器发送一系列的LCP分组(封装成多个PPP帧)。

  • 这些分组及其响应选择一些PPP参数,并进行网络层配置,NCP给新接入的PC机分配一个临时的IP地址,使PC记能够称为因特网的一个主机。

  • 通信完毕时,NCP释放网络层连接,发收回原来分配出去的IP地址。接着,LCP释放数据链路层连接。最后释放的是物理层的连接。

  • 可见,PPP协议已不是纯粹的数据链路层的协议,它害包含了物理层和网络层的内容。
    效果图

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-10-24 15:11:52  更:2021-10-24 15:12:35 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 4:28:02-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码