点对点PPP协议目录

  • PPP 协议的特点
  • PPP协议应满足的需求
  • PPP 协议不需要的功能
  • PPP 协议的组成
  • PPP 协议的帧格式
  • 透明传输问题
  • 零比特填充
  • 字符填充
  • 不提供使用序号和确认
  • PPP 协议的工作状态
  • PPP 协议的状态图

PPP 协议的特点

• 对于点对点的链路,目前使用得最广泛的数据链路层协议是点对点协议 PPP(Point-to-Point Protocol)。
• 用户使用拨号电话线接入互联网时,用户计算机和 ISP 进行通信时所使用的数据链路
层协议就是 PPP 协议。
• PPP 协议在1994年就已成为互联网的正式标准。
• 不是可靠传输。

用户到 ISP 的链路使用 PPP 协议

PPP协议应满足的需求

• 简单 —— 这是首要的要求。
• 封装成帧—— 必须规定特殊的字符作为帧定界符。
• 透明性 —— 必须保证数据传输的透明性。
• 差错检测 —— 能够对接收端收到的帧进行检测,并立即丢弃有差错的帧。
• 支持多种网络层协议 —— 能够在同一条物理链路上同时支持多种网络层协议。
• 支持多种类型链路 —— 能够在多种类型的链路上运行。
• 检测连接状态 —— 能够及时自动检测出链路是否处于正常工作状态。
• 设置最大传送单元 —— 必须对每一种类型的点对点链路设置最大传送单元 MTU 的标准
默认值,促进各种实现之间的互操作性。
• 网络层地址协商 —— 必须提供一种机制使通信的两个网络层实体能够通过协商知道或能够配置彼此的网络层地址。
• 数据压缩协商 —— 必须提供一种方法来协商使用数据压缩算法。

PPP 协议不需要的功能

• 纠错(成本太高,检错即可)
• 流量控制
• 序号
• 多点线路
• 半双工或单工链路,只支持全双工

PPP 协议的组成

PPP 协议有三个组成部分:
– (1) 一个将 IP 数据报封装到串行链路的方法,能够支持同步和异步链路。
– (2) 链路控制协议 LCP (Link Control Protocol),用来建立、配置和测试数据链路连接。
– (3) 网络控制协议 NCP (Network Control Protocol),满足对网络层协议的支持。

PPP 协议的帧格式


• PPP 帧的首部和尾部分别为 4 个字段和 2 个字段。
• 标志字段 F = 0x7E (二进制表示是 01111110)。
• 地址字段 A 只置为 0xFF,控制字段 C 通常置为0x03 ,实际这两个字段上并不起作用。

PPP 有一个 2 个字节的协议字段。其值
• 若为 0x0021,则信息字段就是 IP 数据报。
• 若为 0x8021,则信息字段是网络控制数据。
• 若为 0xC021,则信息字段是 PPP 链路控制数据。
• 若为 0xC023,则信息字段是鉴别数据。

• 信息部分长度可变,受到最大传送单元的限制,不超过1500字节。
• 尾部第一字段2个字节,是使用CRC的帧校验序列FCS。
• PPP 是面向字节的,所有的 PPP 帧的长度都是整数字节。

透明传输问题

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

零比特填充

• 同步传输时采用零比特填充法使一帧中两个F字段之间不会出现 6 个连续1。
• 在发送端,只要发现有5个连续1,则立即填入一个0。
• 接收端对帧中的比特流进行扫描。每当发现 5 个连续1时,就把这 5 个连续 1 后的一个 0 删除,以还原成原来的比特流。

零比特填充举例:
零比特的填充与删除

字符填充

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

字符填充例题:
一个PPP帧的数据部分是
7D 5E FE 27 7D 5D 7D 5D 65 7D 5E
试问真正的数据是什么?
解:
接收到 7D 5E FE 27 7D 5D 7D 5D 65 7D 5E
实际数据为 7E FE 27 7D 7D 65 7E

不提供使用序号和确认

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

PPP 协议的工作状态

• 当用户拨号接入 ISP 时,路由器的调制解调器对拨号做出确认,并建立一条物理连接。
• PC 机向路由器发送一系列的 LCP 分组(封装成多个 PPP 帧)。
• 这些分组及其响应选择一些 PPP 参数,并进行网络层配置,NCP 给新接入的 PC 机分配一个临时的 IP 地址,使 PC 机成为因特网上的一个主机。
• 通信完毕时,NCP 释放网络层连接,收回原来分配出去的 IP 地址。接着,LCP 释放数据链路层连接。最后释放的是物理层的连接。
• 可见,PPP 协议已不是纯粹的数据链路层的协议,它还包含了物理层和网络层的内容。

PPP 协议的状态图


(笔记总结自学校网课的MOOC视频)

计算机网络笔记8 点对点PPP协议相关推荐

  1. 【计算机网络学习笔记07】PPP协议、IP编址、NAT技术

    [计算机网络学习笔记07]PPP协议.IP编址.NAT技术 一.PPP协议 是TCP/IP网络中最重要的点到点的数据链路层协议. 1 PPP协议的组成 1)链路控制协议:建立并维护数据链路连接(身份验 ...

  2. 3.5计算机网络(无线局域网 PPP协议&HDLC协议 广域网 链路层设备)

    目录 1.IEEE 802.11 && 无线局域网 1.802.11的MAC帧头格式 2.无线局域网的分类 1. 有固定基础设施无线局域网 2. 无固定基础设施无线局域网的自组织网络 ...

  3. 计算机网络学习笔记(四)——差错控制、停等协议、回退N帧、选择性重传、滑动窗口、数据链路层HDLC、PPP协议、有限状态机

    文章目录 前言 概念 一.差错控制 1.停等协议 2.回退N帧协议(GoBack_N,GB_N) 3.选择性重传协议(Selective Repeat,SR) 4.单帧确认和累计确认.捎带应答 二.链 ...

  4. 【计算机网络笔记】数据链路层:点对点协议PPP

    ppp的介绍: 点对点协议PPP(point-to-Point Protocl)是目前使用最广泛的点对点数据链路层协议. 问题:因特网用户如何接入因特网? 通过连接到某个因特网服务提供者ISP,这些I ...

  5. 计算机网络-数据链路层(广域网及相关协议(PPP协议帧格式,HDLC协议)数据链路层设备(网桥,交换机))

    文章目录 1. 广域网的概念 2. PPP协议(面向字节的协议) PPP协议组成部分 PPP协议的帧格式 3. HDLC协议(面向比特的协议) HDLC站(主站,从站,复合站) HDLC协议帧格式 4 ...

  6. 计算机网络:PPP协议与HDLC协议

    文章目录 PPP协议 HDLC协议 PPP协议 PPP (Point-to-Point Protocol)是使用串行线路通信的面向字节的协议,该协议应用在直接连接两个结点的链路上.设计的目的主要是用来 ...

  7. 【计算机网络】数据链路层 : 广域网 ( 广域网概念 | PPP 协议 | PPP 协议功能 | PPP 协议组成 | PPP 协议帧格式 )

    文章目录 一.广域网 二.广域网 与 局域网 对比 三.PPP 协议 四.PPP 协议 需要实现的功能 五.PPP 协议 不需要实现的功能 六.PPP 协议 组成部分 七.PPP 协议 示例 八.PP ...

  8. 计算机网络【四】数据链路层基本概念+点到点通信(PPP协议)

    数据链路层基本概念 路由器是网络层设备 数据链路层:数据管道,传输的是数据包加上发送地址,接收地址,校验的数据帧 数据链路层的信道类型: 点到点信道:使用一对一的点到点通信方式(两个设备之间直接使用网 ...

  9. 计算机网络之数据链路层:17、PPP协议、HDLC协议

    数据链路层:17.PPP协议.DHLC协议 思维导图: 广域网: PPP协议:(点对点协议) PPP协议需要满足的要求: PPP协议需要满足的要求: PPP协议的组成: PPP协议状态图: PPP协议 ...

最新文章

  1. 机房收费系统总结【5】——无用功
  2. python初学--day1
  3. 基于正则化的特征选择
  4. OO实现ALV TABLE 八:ALV的布局功能
  5. 查看家庭组组计算机用户名密码是什么,windows10系统如何查看家庭组密码
  6. cocos2dx java 调用lua_cocos2dx之C++调用Lua
  7. 【LeetCode】44. Wildcard Matching (2 solutions)
  8. PMI、砺志咨询活动:项目经理软技能征文大赛—15个PDU、免费软技能培训
  9. mysql处理emoji表情_mysql支持emoji表情存取的解决方案
  10. 【word论文排版教程1】页面设置
  11. java 使用socks代理
  12. 腾讯3轮面试都问了Android事件分发,最强技术实现
  13. 功能性4G工业路由器该如何选择
  14. 今年晋升本没抱希望,已有绩效更好的同事将参加晋升,leader却临时让我也去答辩,怀疑自己被拉去陪跑,该怎么办?...
  15. 人工智能如何用在智能家居行业?
  16. VGA显示图像 详细总结
  17. html5定义一个变量,JavaScript 变量
  18. onekey ghost下载_onekey ghost y6.3下载地址
  19. 通过MCU实现Altera FPGA在线升级
  20. 早起打卡平分挑战金 ,鸟不叫早起挑战

热门文章

  1. Anaconda Navigator无法打开的解决方法
  2. Serial Box for Mac(软件序列号查询软件)
  3. PCLint选项详解
  4. hive SQL 创建数据库,创建hive表、查询时,其表名,字段,统统不区分大写(在底层一律转换为小写)
  5. springcloud 302跨域问题
  6. 5、spss做加权最小二乘回归及岭回归
  7. linux if判断
  8. 牛客网vivo2020届春季校园招聘在线编程考试
  9. 理解受控组件和非受控组件
  10. 面向 JavaScript 开发人员的 5 大物联网库