文章目录

  • 1.PPP协议特点
    • 1.1PPP协议组成
  • 2.PPP协议的帧格式
    • 2.1各字段的意义
    • 2.2字节填充
    • 2.3零比特填充
  • 3.PPP协议的工作状态

1.PPP协议特点

    互联网用户通常要连接到某个ISP才能接入到互联网,PPP协议就是计算机和ISP通信时所使用的数据链路层协议

1.1PPP协议组成

    PPP协议有三个组成部分:

  • 一个将IP数据报封装到串行链路的方法。PPP既支持异步链路,也支持同步链路。IP数据报就是PPP帧中的信息部分,长度受限于最大传送单元MTU的限制。
  • 一个用来建立、配置和测试数据链路连接的链路控制协议LCP
  • 一套网络控制协议NCP,每一个协议支持一个网络层协议,如IP、AppleTalk等。

2.PPP协议的帧格式

2.1各字段的意义

    PPP帧的首部有4个字段,尾部有2个字段。首部的第一个字段和尾部的第二个字段都是标志字段F(Flag),规定为0x7E。标志字段标志着一个帧的开始或结束。

    首部的地址字段A和控制字段C至今没有进行其他定义,这两个字段实际上没有携带PPP帧的信息。
    首部的第四个字段是2字节的协议字段,当其为0x0021时,PPP帧的信息字段就是IP数据报。若为0xC021,则信息字段是PPP链路控制协议LCP的数据,而0x8021表示是网络层的控制数据。
    尾部中的第一个字段是使用CRC帧检验序列FCS。

2.2字节填充

    当信息字段中出现和标志字段一样的比特(0x7E)组合时,要采取一些措施使其不出现在信息字段中。
    PPP使用异步传输时,把转义字符定义为0x7D,使用字节填充,方法如下:

  • 信息字段中每一个0x7E字节变成2字节序列(0x7D,0x5E)。
  • 信息字段中每一个0x7D字节(出现和转义字符一样的比特组合)转变成2字节序列(0x7D,0x5D)。
  • 信息字段中每一个ASCII码的控制字符(数值小于0x20的字符),在该字符前面要加入一个0x7D字节。
        接收端在收到数据后进行与发送端字节填充相反的变换,就可以正确恢复出原来信息。

2.3零比特填充

    PPP协议用在SONET/SDH链路时,使用同步传输,这种情况下,采用零比特填充方法实现透明传输。
    发送端先扫描信息字段,发现有5个连续的1,就在后面填入一个0。接收端收到一个帧,找到F确定边界后,通过扫描发现5个连续的1,就将其后的一个0删除,还原成原来的比特流。


3.PPP协议的工作状态

    当用户拨号接入ISP后,建立了从用户个人电脑到ISP的物理连接。用户个人电脑会向ISP发送一系列的链路控制协议LCP分组(封装成多个PPP帧),建立LCP连接。网络控制协议NCP给新接入的用户个人电脑分配一个临时的IP地址,这样用户个人电脑就成为互联网上一个有IP地址的主机。
    用户通信完毕,NCP释放网络层连接,收回IP地址。LCP释放数据链路层连接,最后释放物理层的连接。

    PPP链路起始处于链路静止状态,电脑和ISP的路由器间不存在物理连接。
    电脑通过调制解调器呼叫路由器,路由器就能检测到载波信号,双方建立了物理层连接,进入链路连接状态,目的是建立链路层的LCP连接。
    此时LCP开始协商一些配置选项,发送LCP的配置请求帧,即是协议字段置为LCP对应代码的PPP帧,其信息字段包含特定的配置请求。
    协商结束后就建立了LCP链路,接收进入鉴别状态。这个状态只允许传送LCP协议的分组、鉴别协议的分组以及监测链路质量的分组。若鉴别身份失败,则转到链路终止状态,鉴别成功,则进入网络层协议状态。
    网络层协议状态,PPP链路两端的网络控制协议NCP根据网络层的不同协议互相交换网络层特定的网络控制分组。PPP协议两端的网络层可以运行不同的网络层协议,但仍然可以使用同一个PPP协议进行通信。如果在PPP链路上运行的是IP协议,则对PPP链路的每一段配置IP协议模块时就要使用NCP中支持IP的协议——IP控制协议IPCP。
    网络层配置完毕后,链路进入链路打开状态,两个PPP端点可以彼此发送分组。数据传输结束后,链路一端发出终止请求LCP分组请求终止链路连接,收到对方发来的终止确认LCP分组后,转到链路终止状态。

计算机网络——点对点协议PPP相关推荐

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

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

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

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

  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

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

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

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

  7. 点对点协议PPP的特点

    点对点协议PPP的特点 因特网用户通常都要连接到某个ISP才能接入到因特网.PPP协议就是用户计算机和ISP进行通信时所使用的数据链路层协议. 1. PPP协议需要的功能 1.1 简单 IETF在设计 ...

  8. 点对点协议PPP(Point-to-Point Protocol)

    目录 PPP协议具体的使用场景 PPP协议的组成部分 PPP协议帧的格式 PPP协议解决透明传输问题的两种办法 字节填充法(插入转义字符)--面向字节的异步链路 比特填充法(插入比特0)--面向比特的 ...

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

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

最新文章

  1. 一个装作异步的代码段
  2. Android控件美化Shape
  3. numpy 按照指定字段排序
  4. Redis报错:redis.exceptions.ResponseError: MISCONF Redis is configured to save RDB snap
  5. C# DataTable用法详解
  6. C# 中的数字分隔符 _
  7. java vector 线程安全_关于Vector到底是不是 线程安全的 问题
  8. LSTM模型实战案例:TensorFlow实现预测3位彩票号码
  9. testng 监听器_TestNG侦听器
  10. .net Core使用RabbitMQ
  11. Maple入门使用教程
  12. 内码输入法手机版下载_win7 64位内码输入法下载
  13. 内存——CPU、内存以及磁盘是如何交互的
  14. 电子通信协议之SPI通信协议篇
  15. 【好玩的应用】QQ连连看辅助工具
  16. mysql简述cs结构与bs结构的区别_什么是BS和CS结构?
  17. PPT文件太大,怎样将PPT进行压缩?这一招教你实现
  18. Poco库学习——1
  19. k3s+traefik+cert-manager+letsencrypt实现web服务全https
  20. kaggle竞赛:泰坦尼克幸存者预测

热门文章

  1. matplotlib画多个子图
  2. 替换雷劈网表单设计器使用的默认主题,使用neditor
  3. layer.photos 相册(图片查看器)实现缩放
  4. 独家 | 离开百度后,王劲创办的景驰将于2020年6月量产自动驾驶汽车
  5. flowci php,我和flow.ci的第一次亲密接触
  6. VLC播放画质延迟改善方法
  7. 一文入门USB设备的驱动编写方法
  8. 人与自然,《棕熊之王-下》
  9. java实现数字黑洞
  10. 电子科大 数据结构专题