点对点协议(PPP)为基于点对点连接的多协议自寻址数据包的传输提供了一个标准方法。PPP 最初设计是为两个对等结构之间的 IP 流量的传输提供一种封装协议。在 TCP-IP 协议集中它是一种关于同步调制连接的数据链路层协议(OSI 模式中的第二层),替代了原非标准第二层协议,即 SLIP。除了 IP 以外 PPP 还可以传送其它协议,包括 DECnet 和 Novell 的 Internet 网包交换(IPX)。
PPP 主要由以下几部分组成:
封装:一种封装多协议数据报的方法。PPP 封装提供了不同网络层协议同时通过统一链路的多路技术。(人们)精心的设计 PPP 封装,使其保有对常用支持硬件的兼容性。
链路控制协议:为了在一个很宽广的环境内能足够方便的使用,PPP 提供了 LCP。LCP 用于就封装格式选项自动的达成一致,处理数据包大小的变化,探测 looped-back 链路和其他普通的配置错误,以及终止链路。提供的其他可选设备有:对链路中对等单元标识的认证,和链路功能正常或链路失败情况下的决定。
网络控制协议:一种扩展链路控制协议,用于建立、配置、测试和治理数据链路连接。
配置:通过链路控制协议使 PPP 链路很轻易配置。该机制也应用于其它控制协议如网络控制协议(NCPs)
为了建立点对点链路通信,PPP 链路的每一端,必须首先发送 LCP 包以便设定和测试数据链路。在链路建立之后,LCP 可选设备才可以被认证。然后,PPP 必须发送 NCP 包以便选择和设定一个或更多的网络层协议。一旦每个被选择的网络层协议都被设定好了,来自每个网络层协议的数据报就能在连路上发送了。
链路将保持通信设定不变,直到外在的 LCP 和 NCP 关闭链路,或者是发生一些外部事件的时候(如,休止状态的定时器期满或者网络治理员干涉)。
协议结构
8
16
24
40 bits
Variable…
16-32 bits
Flag
Address
Control
Protocol
Information
FCS
Flag ― 表示帧的起始或结束,由二进制序列01111110构成。
Address ― 包括二进制序列11111111,标准广播地址(注重:PPP 不分配个人站地址)
Control ― 二进制序列00000011,要求用户数据传输采用无序帧。
Protocol ― 识别帧的 Information 字段封装的协议。
Information ― 0或更多八位字节,包含 Protocol 字段中指定的协议数据报。
FCS ― 帧校验序列(FCS)字段,通常为16位。PPP 的执行可以通过预先协议采用32位 FCS 来提高差错检测效果。
Flag ― 表示帧的起始或结束,由二进制序列01111110构成。
Address ― 包括二进制序列11111111,标准广播地址(注重:PPP 不分配个人站地址)
Control ― 二进制序列00000011,要求用户数据传输采用无序帧。
Protocol ― 识别帧的 Information 字段封装的协议。
Information ― 0或更多八位字节,包含 Protocol 字段中指定的协议数据报。
FCS ― 帧校验序列(FCS)字段,通常为16位。PPP 的执行可以通过预先协议采用32位 FCS 来提高差错检测效果。