首页 > 其他分享 >《计算机网络微课堂》3-5 点对点协议PPP

《计算机网络微课堂》3-5 点对点协议PPP

时间:2024-05-26 15:11:34浏览次数:18  
标签:协议 字节 16 IP 点对点 计算机网络 PPP 链路

本节课我们介绍点对点协议 PPP。

点对点协议,PPP 是目前使用最广泛的点对点数据链路层协议。请大家想想看,‍‍一般的因特网用户是如何接入到因特网的,通常都是要通过连接到某个因特网服务提供者 ISP,‍‍例如中国电信、中国联通、中国移动这三大运营商才能接入因特网。‍‍

这些 ISP‍‍已经从因特网管理机构申请到了一批 IP 地址,用户计算机只有获取到 ISP 所分配的合法 IP 地址后,‍‍才能成为因特网上的主机。

用户计算机与 ISP 进行通信时所使用的数据链路层协议,‍‍通常就是 PPP 协议。这里需要说明的是,在 1999 年公布的在以太网上运行的 PPP 协议,‍‍即 PPP over ethernet,简称为 PPPOE。它使得 ISP 可以通过 DSL 电路调制解调器、‍‍以太网等宽带接入技术,以以太网接口的形式‍‍为用户提供接入服务。‍‍另外点对点协议 PPP 也广泛应用于广域网路由器之间的专用线路。‍‍

PPP 协议是因特网工程任务组 IEFT 在 1992 年制定的,经过 1993 年‍‍和 1994 年的修订,现在的 PPP 协议已成为因特网的正式标准。‍‍我们可以在 IEFT 官方网站的相关页面,搜索并查看 PPP 协议的相关 RFC 文档:

PPP 协议为在点对点链路传输各种协议数据报提供了一个标准方法,‍‍主要由以下三部分构成:

  • 第一,对各种协议数据报的封装方法,‍‍也就是我们之前课程中介绍的封装成帧
  • 第二,链路控制协议 lcp,用于建立配置‍‍以及测试数据链路的连接
  • 第三,一套网络控制协议 ncps,其中的每一个协议‍‍支持不同的网络层协议

从网络体系结构的角度看,PPP 是数据链路层的协议,‍‍他将上层交付下来的协议数据单元‍‍封装成 PPP 帧.

为了支持不同的网络层协议,PPP 协议包含了一套网络控制协议 NCPs,其中的每一个协议支持不同的网络层协议,例如 TCP/IP 中的 IP‍‍,Novell NeteWare 网络操作系统中的 IPX,苹果公司的 Apple Talk 等。

链路控制协议 LCP,用于建立配置以及测试数据链路的连接,PPP 协议能够在多种类型的点对点链路上运行,‍‍例如面向字节的异步联络,‍‍面向比特的同步链路。‍‍

接下来我们来看看 PPP 协议的帧格式,帧首部由 4 个字段构成,‍‍帧尾部由两个字段构成,各字段的长度以及帧的数据部分的最大长度如图所示‍‍。

帧首和帧尾部中的标志字段是 PPP 间的定界符,取值为 16 进制的 7E。‍‍帧首部中的地址字段取值为 16 进制的 FF,控制字段取值为 16 进制的 03,‍‍最初曾考虑以后再对这两个字段的值进行其他定义,‍‍但至今也没有给出,可见这两个字段实际上并没有携带 PPP 帧的信息,帧首部中的协议字段,‍‍指明了帧的数据部分,应送交哪个协议处理。

  • 当协议字段取值为 16 进制的 0x0021 时,‍‍PPP 帧的数据部分就是 IP 数据报,如图所示,
  • 当协议字段取值为 16 进制的 0xc021 时,‍‍PPP 帧的数据部分就是链路控制协议 LCP 的分组,如图所示,‍‍
  • 当协议字段取值为 16 进制的 0x8021 10PPP 帧的数据部分,就是网络控制协议 ncp 的分组,‍‍如图所示。

帧尾部中的帧检验序列 FCS 字段,‍‍取值是使用循环冗余校验 CRC 计算出的校验位,用于检查 PPP 帧是否存在误码。‍‍


接下来‍‍我们来看看 PPP 协议是如何解决透明传输问题的。‍‍当 PPP 帧的数据部分‍‍出现帧手和帧尾中的标志字段时,如果不采取措施,‍‍则会造成接收方对 PPP 帧是否结束的误判。因为标志字段是 PPP 帧的定界,符‍‍取值为 16 进制的 7E,也就是二进制的 0111 1110。

PPP 协议实现透明传输的方法,‍‍取决于所使用的链路类型:

  • 如果是面向字节的异步电路,则采用字节填充法,也就是插入转义字符
  • 如果是面向比特的同步电路,则采用比特填充法,也就是插入比特 0

我们来举例说明字节填充法,也就是以字节 7E,作为 PPP 帧的定制符,‍‍以字节为单位来讨论问题,来看发送方对 PPP 帧数据部分的处理:

  • 将出现的每一个 7E 字节转变成两次节序列 7D5E 这相当于在 7E 字节前插入了转移字节 7D,并将 7E 字节减去 16 进制的 20
  • 将出现的每一个 7d 字节‍‍转变成两字节序列 7d5d
  • 在出现的每一个 ASCII 码控制字符前‍‍插入一个 7d 字节,同时将该字符的编码加上 16 进制的 0x20
  • 对于 PPP 帧的接收方只要进行反变换,即可恢复出原来的 PPP 帧的数据部分

我们再来举例说明比特填充法也就是以 0111 1110 作为 PPP 帧的定界符,‍‍以比特为单位来讨论问题,‍‍假设 PPP 帧的数据部分如图所示,其中包含了两个真定界符,‍‍来看发送方对 PPP 帧数据部分的处理,对帧的数据部分进行扫描,一般由硬件实现,‍‍只要发现 5 个连续的比特 1,则立即填充 1 个比特 0,如图所示。‍‍

再来看接收方对 PPP 帧数据部分的处理,对帧的数据部分进行扫描,一般由硬件实现,‍‍只要发现 5 个连续的比特 1,就把其后的 1 个比特 0 删除,如图所示。‍‍


接下来‍‍我们来看看 PPP 协议‍‍是如何进行差错检测的,PPP 帧的尾部包含有一个两字节的帧检验序列 FCS 字段,‍‍使用循环冗余校验 CRC 来计算该字段的取值。采用的生成多项式如下所示。‍‍RFC 1662 文档的附录部分,给出了 FCS 的计算方法的 C 语言实现。‍‍为了减少对 CPU 的占用,采用查表法来实现 FCS 的计算范围,如图所示。

接收方每收到一个 PPP 帧就进行 crc 检验,若 crc 检验正确,就收下这个帧,‍‍反之就要丢弃这个帧,‍‍使用 PPP 的数据链路层,向上不提供可靠传输服务。


最后我们以拨号接入为例,‍‍简单介绍一下 PPP 协议的工作状态:

  • PPP 链路的开始和结束状态都是静止状态,‍‍这时并不存在物理层的连接。当检测到调制解调器的载波信号,并建立物理层连接后,‍‍PPP 就进入链路的建立状态。‍‍
  • 这时链路控制协议 LCP 开始协商一些配置选项,‍‍若协商成功‍‍则进入鉴别状态,若协商失败则退回到静止状态。
  • 所协商的配置选项,‍‍包括最大帧长,鉴别协议等,可以不使用鉴别,也可以使用口令鉴别协议 PAP 或挑战握手鉴别协议 CHAP
  • 若通信双方无需鉴别或鉴别身份成功,‍‍则进入网络状态,若鉴别失败则进入终止状态,
  • 进入网络状态后,进行 NCP 配置,‍‍配置完成后就要进入打开状态。
  • PPP 链路的两端,通过相互交换网络层特定的 NCP 分组‍‍来进行 ncp 配置。‍‍如果在 PPP 链路上运行的是 IP 协议,则使用 IP 控制协议IPCP 来对 PPP 链路的每一端配置 IP 模块,例如分配 IP 地址
  • 只要链路处于打开状态,‍‍就可以进行数据通信。当出现故障或链路的一端发出终止请求时,就进入终止状态。‍‍
  • 当载波停止后‍‍则回到静止状态

本节课的内容小结如下:

标签:协议,字节,16,IP,点对点,计算机网络,PPP,链路
From: https://www.cnblogs.com/PeterJXL/p/18213711

相关文章

  • 《计算机网络微课堂》3-6 媒体接入控制
    本节课我们介绍媒体接入控制的基本概念。3.6.1媒体接入控制的基本概念如图所示,这是一根同轴电缆,有多台主机连接到这根同轴电缆上,他们共享这跟传输媒体‍‍,形成了一个总线型的局域网。​​各主机竞争使用总线,随机的在信道上发送数据,如果恰巧有两个‍‍或更多的站点在同一时刻......
  • 计算机网络微课堂-课程概述
    ​​‍‍课程介绍本专栏主要是B站课程《计算机网络微课堂》的文字版,作者是湖南科技大学的老师。B站地址:https://www.bilibili.com/video/BV1c4411d7jb该课程好评如潮,包含理论课,实验课,考研真题分析课,在B站上播放量第一:​​‍‍部分......
  • 计算机网络之应用层知识点总结
    6.1网络应用模型(1)应用层概述(2)网络应用模型的介绍客户/服务器(C/S)模型P2P模型6.2域名解析系统DNS(1)DNS系统介绍(2)域名(3)域名服务器(4)域名解析过程6.3文件传输协议FTP(1)文件传输协议的介绍(2)FTP服务器和用户端(3)FTP工作原理6.4电子邮件(1)电子邮件系统概......
  • 山大软件23年下半年计算机网络复习
     PS:结合老师屁屁踢复习吧,图片丢失太多懒得改了 point单播:只有一个发送方和一个接收方的点到点传输。组播:将一个数据包发送给一组机器,即所有机器的一个子集。广播:将一个数据包发送给所有的目标机器。面向连接的服务:按照电话系统建模,服务用户首先必须建立一个连接,然......
  • Java核心面试知识集—计算机网络基础
    计算机网络体系结构在计算机网络的基本概念中,分层次的体系结构是最基本的。计算机网络体系结构的抽象概念较多,在学习时要多思考。这些概念对后面的学习很有帮助。网络协议是什么?在计算机网络要做到有条不紊地交换数据,就必须遵守一些事先约定好的规则,比如交换数据的格式、是否需......
  • 北航研究生计算机网络实验期末复习
    基本命令看路由表#交换机MAC地址表[H3c]displaymac-address#查看arp缓存C:\arp-a#清空arp缓存(可能需要管理员权限打开cmd)C:\arp-d数据链路层PPP(PointtoPointProtocol)LCP(LinkControlProtocol):[R1-Serial1/0]link-protocolppp<R1>debuggin......
  • 计算机网络常见面试题总结(上)
    计算机网络常见面试题总结(上)OSI七层模型应用层,表示层,会话层,传输层,网络层,数据链路层,物理层。每一层都为上一层提供服务TCP/IP四层模型应用层,传输层,网络层,网络接口层,各层相互独立,为上层提供服务常见的网络协议应用层:HTTP,超文本传输协议,浏览器网页使用的就是HTTP请求加载的。SM......
  • 计算机网络体系结构
    一、计算机网络概念1、计算机网络定义将分散的、具有独立功能的计算机系统,通过通信设备与线路连接起来,由功能完善的软件实现资源共享的系统。与多终端系统的区别:传统多终端系统是由中央处理器、多个联机终端及一个多用户操作系统组成。终端本身不具备独立的数据处理能力计算......
  • 【计算机网络】通过ensp实验分析二三层数据包转发过程
    一、实验准备需要提前安装好wireshark、virtalbox、WinPcap和模拟工具ensp,具体的安装过程可以自行百度~特别提醒一点就是virtalbox和ensp的兼容性问题,我安装的是ensp1.3.00.100版本,该版本不支持virtalbox官网的6和7版本,我这边退回到5版本才正常运行起来。 二、网络拓扑图pc......
  • 计算机网络
    在当今信息时代,计算机网络如同一座无形的桥梁,将世界紧密地连接在一起。它是现代社会不可或缺的基础设施,对人们的生活和经济发展产生着深远的影响。计算机网络是由一系列相互连接的计算机设备和通信链路组成的系统。通过网络,信息可以在不同的地点之间快速、准确地传输,实现资源共享......