点对点协议 (PPP)
点对点协议 (PPP) 是数据链路层的一种通信协议,用于在两台直接连接(点对点)的计算机之间传输多协议数据。它是一种面向字节的协议,广泛应用于负载大和速度高的宽带通信中。由于它是一种数据链路层协议,因此数据以帧的形式传输。它也称为 RFC 1661。
PPP 提供的服务
点对点协议提供的主要服务包括:
定义要传输数据的帧格式。
定义在两点之间建立链路和交换数据的过程。
说明网络层数据在帧中的封装方法。
说明通信设备的身份验证规则。
为网络通信提供地址。
通过多个链路提供连接。
通过提供一系列服务来支持各种网络层协议。
PPP 的组成部分
点对点协议是一个分层协议,具有三个组成部分:
**封装组件** - 它封装数据报,以便可以通过指定的物理层传输。
**链路控制协议 (LCP)** - 它负责建立、配置、测试、维护和终止传输链路。它还提供链路两端点选项设置和功能使用的协商。
**身份验证协议 (AP)** - 这些协议对使用服务的端点进行身份验证。PPP 的两个身份验证协议是:
密码身份验证协议 (PAP)
质询握手身份验证协议 (CHAP)
**网络控制协议 (NCP)** - 这些协议用于协商网络层的参数和功能。对于 PPP 支持的每个上层协议,都存在一个 NCP。PPP 的一些 NCP 包括:
互联网协议控制协议 (IPCP)
OSI 网络层控制协议 (OSINLCP)
互联网络分组交换控制协议 (IPXCP)
DECnet IV 期控制协议 (DNCP)
NetBIOS 帧控制协议 (NBFCP)
IPv6 控制协议 (IPV6CP)
PPP 帧
PPP 是一种面向字节的协议,其中帧的每个字段都由一个或多个字节组成。PPP 帧的字段包括:
**标志** - 1 个字节,标记帧的开始和结束。标志的位模式为 01111110。
**地址** - 1 个字节,在广播情况下设置为 11111111。
**控制** - 1 个字节,设置为 11000000 的常数值。
**协议** - 1 个或 2 个字节,定义有效负载字段中包含的数据类型。
**有效负载** - 这承载来自网络层的数据。有效负载字段的最大长度为 1500 字节。但是,这可以在通信端点之间协商。
**FCS** - 它是一个 2 字节或 4 字节的帧校验序列,用于错误检测。使用的标准代码是 CRC(循环冗余校验)。
**PPP 帧中的字节填充** - 当消息中出现标志序列时,PPP 有效负载字段使用字节填充,以便接收器不会将其视为帧的结尾。转义字节 01111101 在每个包含与标志字节或转义字节相同的字节的字节之前进行填充。接收器在接收消息后,会在将其传递到网络层之前删除转义字节。