点对点协议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协议已不是纯粹的数据链路层的协议,它害包含了物理层和网络层的内容。

计算机网络数据链路层之点对点协议PPP相关推荐

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

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

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

    对于点对点链路,目前使用最为广泛的数据链路层协议是点对点协议PPP. PPP的特点: 简单:接受方接受到一个帧就进行CRC检验.正确收下,否则丢弃. 封装成帧:保证数据传输的透明性. 多种网络层协议: ...

  3. 计算机网络(三)—— 数据链路层(5):点对点协议PPP

    计算机网络系列内容的学习目录→\rightarrow→谢希仁计算机网络学习系列内容汇总. 5. 点对点协议PPP 5.1 透明传输 5.2 差错检测 5.3 PPP协议的工作状态 5.4 总结 5.5 ...

  4. 【计算机网络】第三章 数据链路层的共同问题、点对点协议PPP

    文章目录 3 数据链路层 3.1 数据链路层的共同问题 3.2 点对点协议PPP (Point to Point Protocol) 3.2.1 PPP协议的特点 3.2.2 PPP帧的格式 3 数据 ...

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

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

  6. 计算机网络——数据链路层局域网、以太网、PPP协议和HDLC协议、链路层设备

    文章目录 前言 一.局域网简介 1.局域网的基本概念和特点 2.局域网的主要要素 3.局域网的分类与 IEEE 802 标准 4.LLC 子层和 MAC 子层 二.以太网 三.无线局域网 四.PPP ...

  7. 计算机网络——数据链路层PPP、CSMA/CD协议

    概述 数据链路层属于计算机网络的低层,数据链路层使用的信道的类型有以下两种: (1)点对点通信:这种信道使用一对一的点对点通信方式 (2)广播信道:这种信道使用一对多的广播通信方式,因此过程比较复杂, ...

  8. 计算机网络 数据链路层(一)点对点协议与广播信道

    计算机网络(五) 学习计算机网络过程中的心得体会以及知识点的整理,方便我自己查找,也希望可以和大家一起交流. -- 数据链路层 -- 文章目录 计算机网络(五) -- 数据链路层 -- 1. 使用点对 ...

  9. 计算机网络点对点协议PPP

    点对点协议PPP(计算机网络)

  10. 数据链路层协议之点对点协议 PPP

    文章目录 点对点协议 PPP 1.PPP 协议应满足的需求 2.PPP 协议不需要的功能 3.PPP 协议的组成 4.PPP 协议的帧格式 5.透明传输问题 零比特填充 字符填充 不提供使用序号和确认 ...

最新文章

  1. P2387 [NOI2014]魔法森林
  2. Windows 7删需要权限的文件
  3. Docker cgroups作用(十)
  4. scala 学习笔记(07) 一等公民的函数
  5. 9.匿名函数:lambda表达式/filter()/map()
  6. VC开发多语言界面支持的简单方法
  7. redis管道的使用
  8. linux 传真 邮件,如何在Linux环境下架设一台传真服务器(2)
  9. 深度学习(十七)——SSD, YOLOv2
  10. 好程序员Java分享SQL语言之索引
  11. 五分钟了解操作系统内核
  12. Cross Entropy Loss 交叉熵损失函数公式推导
  13. python定时启动任务_python--实现定时任务
  14. IDEA下载并安装SVN教程
  15. 用python写恶搞病毒
  16. 嵌入式单片机基础篇(十九)之一般TFTLCD 模块的使用流程
  17. (转载)重新编译SJF2410以适应NM9805并口卡(PCMICIA接口)
  18. gzip already installed and latest version解决方法
  19. 2016年9个最受欢迎的H5页面制作工具
  20. ArcGIS Server 自定义比例尺切图

热门文章

  1. pyspark —— spark dataframe 从hdfs读写文件
  2. 深度学习中的BN和dropout方法及训练和测试时的差异
  3. LeetCode学习记录(1-3)
  4. 跟着AlphaGo 理解深度强化学习框架
  5. 4个你未必知道的内存小知识
  6. 共迎海量数据库管理挑战 中韩数据库专家对话北京
  7. 博文视点经典新书样章下载
  8. python staticmethod
  9. PyTorch:距离度量
  10. c语言如何在手机上运行程序,各位前辈这两个程序怎么在手机上运行