计算机网络——点对点协议PPP
文章目录
- 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相关推荐
- 计算机网络点对点协议PPP
点对点协议PPP(计算机网络)
- 【计算机网络笔记】数据链路层:点对点协议PPP
ppp的介绍: 点对点协议PPP(point-to-Point Protocl)是目前使用最广泛的点对点数据链路层协议. 问题:因特网用户如何接入因特网? 通过连接到某个因特网服务提供者ISP,这些I ...
- 计算机网络(三)—— 数据链路层(5):点对点协议PPP
计算机网络系列内容的学习目录→\rightarrow→谢希仁计算机网络学习系列内容汇总. 5. 点对点协议PPP 5.1 透明传输 5.2 差错检测 5.3 PPP协议的工作状态 5.4 总结 5.5 ...
- 【计算机网络】第三章 数据链路层的共同问题、点对点协议PPP
文章目录 3 数据链路层 3.1 数据链路层的共同问题 3.2 点对点协议PPP (Point to Point Protocol) 3.2.1 PPP协议的特点 3.2.2 PPP帧的格式 3 数据 ...
- 【计算机网络】数据链路层:点对点协议PPP
对于点对点链路,目前使用最为广泛的数据链路层协议是点对点协议PPP. PPP的特点: 简单:接受方接受到一个帧就进行CRC检验.正确收下,否则丢弃. 封装成帧:保证数据传输的透明性. 多种网络层协议: ...
- 计算机网络——数据链路层PPP、CSMA/CD协议
概述 数据链路层属于计算机网络的低层,数据链路层使用的信道的类型有以下两种: (1)点对点通信:这种信道使用一对一的点对点通信方式 (2)广播信道:这种信道使用一对多的广播通信方式,因此过程比较复杂, ...
- 点对点协议PPP的特点
点对点协议PPP的特点 因特网用户通常都要连接到某个ISP才能接入到因特网.PPP协议就是用户计算机和ISP进行通信时所使用的数据链路层协议. 1. PPP协议需要的功能 1.1 简单 IETF在设计 ...
- 点对点协议PPP(Point-to-Point Protocol)
目录 PPP协议具体的使用场景 PPP协议的组成部分 PPP协议帧的格式 PPP协议解决透明传输问题的两种办法 字节填充法(插入转义字符)--面向字节的异步链路 比特填充法(插入比特0)--面向比特的 ...
- 数据链路层协议之点对点协议 PPP
文章目录 点对点协议 PPP 1.PPP 协议应满足的需求 2.PPP 协议不需要的功能 3.PPP 协议的组成 4.PPP 协议的帧格式 5.透明传输问题 零比特填充 字符填充 不提供使用序号和确认 ...
最新文章
- 一个装作异步的代码段
- Android控件美化Shape
- numpy 按照指定字段排序
- Redis报错:redis.exceptions.ResponseError: MISCONF Redis is configured to save RDB snap
- C# DataTable用法详解
- C# 中的数字分隔符 _
- java vector 线程安全_关于Vector到底是不是 线程安全的 问题
- LSTM模型实战案例:TensorFlow实现预测3位彩票号码
- testng 监听器_TestNG侦听器
- .net Core使用RabbitMQ
- Maple入门使用教程
- 内码输入法手机版下载_win7 64位内码输入法下载
- 内存——CPU、内存以及磁盘是如何交互的
- 电子通信协议之SPI通信协议篇
- 【好玩的应用】QQ连连看辅助工具
- mysql简述cs结构与bs结构的区别_什么是BS和CS结构?
- PPT文件太大,怎样将PPT进行压缩?这一招教你实现
- Poco库学习——1
- k3s+traefik+cert-manager+letsencrypt实现web服务全https
- kaggle竞赛:泰坦尼克幸存者预测