计算机网络 第三章: 点对点协议

文章目录

点对点协议PPP概述

点对点协议(Point-to-Point Protocol,PPP)是目前使用最广泛的点对点数据链路层协议。

点对点协议PPP是因特网工程任务组(Internet Engineering Task Force,IETF)于1992年制定的。经过多次修订,目前PPP已成为因特网的正式标准[RFC1661,RFC1662]。

点对点协议PPP主要有两种应用(下图):

从网络体系结构的角度看点对点协议PPP的组成(下图):

PPP的帧格式

PPP的帧格式如下图:

标志(Flag)字段:PPP帧的定界符,取值为0x7E。
地址(Address)字段:取值为0xFF,预留(目前没有什么作用)。
控制(Control)字段:取值为0x03,预留(目前没有什么作用)。
协议(Protocol)字段:其值用来指明帧的数据载荷应向上交付给哪个协议处理。
帧检验序列(Frame Check Sequence,FCS)字段:其值是使用循环冗余校验CRC计算出的检错码。

PPP桢的透明传输

  • 面向字节的异步链路使用字节填充来实现透明传输[RFC1662]

    发送方的处理

    (1)将数据载荷中出现的每一个 0x7E 减去0x20(相当于异或0x20),然后在其前面插入转义字符0x7D。

    (2)若数据载荷中原来就含有0x7D,则把每一个0x7D减去0x20,然后在其前面插入转义字符0x7D。

    (3)将数据载荷中出现的每一个ASCII码控制字符(即数值小于0x20的字符),加上0x20(相当于异或0x20,将其转换成非控制字符),然后在其前面插入转义字符0x7D。

    接收方的处理

    进行与发送方相反的变换,就可以正确地恢复出未经过字节填充的原始数据载荷。

  • 面向比特的同步链路使用零比特填充来实现透明传输

    发送方的处理

    对帧的数据载荷进行扫描(一般由硬件完成),每出现5个连续的比特1,则在其后填充一个比特0。

    接收方的处理

    对帧的数据载荷进行扫描,每出现5个连续的比特1时,就把其后的一个比特0删除。

PPP帧的差错检测

帧检验序列FCS字段:其值是使用循环冗余校验CRC计算出的检错码。

CRC采用的生成多项式为 CRC−CCITT=X^16+X^12+X^5+1

接收方每收到一个PPP帧,就进行CRC检验。若CRC检验正确,就收下这个帧;否则,就丢弃这个帧。

使用PPP的数据链路层,向上提供的是不可靠数据传输服务。

PPP的工作状态

以用户主机拨号接入因特网服务提供者ISP的拨号服务器的过程为例

‌PPP协议的工作状态有六种‌,分别是链路静止、链路建立、鉴别、网络层协议、链路打开、链路终止。这些状态共同构成了PPP协议的状态转换图,确保用户与ISP之间能够建立稳定可靠的通信连接。

‌链路静止‌:这是PPP协议的初始状态,表示链路没有被使用,物理层活动载体,链路处于静默状态。

‌链路建立‌:当其中一端要进行通信时,将进入建立连接阶段,建立链路层的LCP连接;此阶段双方进行协商,确保双方对数据链路层的参数达成一致。

‌鉴别‌:在链路建立之后,进行身份鉴别,确保通信双方的身份真实性。

‌网络层协议‌:在鉴别成功后,进入网络层协议状态,此时双方开始交换网络层控制分组,如IP地址等,以便双方能够正确地进行网络层通信。

‌链路打开‌:当网络层配置完毕后,链路就进入可进行数据通信的"链路打开"状态。链路的两个PPP端点可以彼此向对方发送分组。

‌链路终止‌:当通信结束或出现错误时,进入链路终止状态,释放资源,准备下一次通信或进入链路静止状态。

通过这些状态的转换,PPP协议确保了用户与ISP之间能够建立起稳定可靠的通信连接,并能够在需要时进行身份验证和网络配置,从而实现了高效的数据传输和服务‌.

相关推荐
shykevin1 小时前
python开发Streamable HTTP MCP应用
开发语言·网络·python·网络协议·http
tmacfrank2 小时前
网络编程中的直接内存与零拷贝
java·linux·网络
数据与人工智能律师4 小时前
虚拟主播肖像权保护,数字时代的法律博弈
大数据·网络·人工智能·算法·区块链
QQ2740287564 小时前
Soundness Gitpod 部署教程
linux·运维·服务器·前端·chrome·web3
purrrew5 小时前
【Java ee初阶】HTTP(2)
网络·网络协议·http
冼紫菜5 小时前
[特殊字符]CentOS 7.6 安装 JDK 11(适配国内服务器环境)
java·linux·服务器·后端·centos
爱莉希雅&&&6 小时前
shell脚本之条件判断,循环控制,exit详解
linux·运维·服务器·ssh
玉笥寻珍7 小时前
筑牢信息安全防线:涉密计算机与互联网隔离的理论实践与风险防控
开发语言·计算机网络·安全·计算机外设·php·安全架构·安全性测试
wei_work@7 小时前
【linux】Web服务—搭建nginx+ssl的加密认证web服务器
linux·服务器·ssl
hgdlip7 小时前
怎么快速换电脑浏览器的ip:方法与注意事项
网络·网络协议·tcp/ip·电脑