因特网业界已经采用了以下两种方案来在串行点对点链路上封装和传输IP(网际协议)数据报:SLIP(串行线路接口协议)和PPP(点对点协议)。SLIP协议较早,现在已不再使用。PPP因为可与其他协议(如IPX)一起工作,而且设计来消除早期协议的问题而成为主流协议。
PPP(Point-to-Point Protocol点到点协议)是为在同等单元之间传输数据包这样的简单链路设计的链路层协议。这种链路提供全双工操作,并按照顺序传递数据包。设计目的主要是用来通过拨号或专线方式建立点对点连接发送数据,使其成为各种主机、网桥和路由器之间简单连接的一种共通的解决方案。
提供关于对PPP的需求及其发展的历史资料。现在,一系列相关的RFC已编制出来,用于定义各种不同的网络控制协议(包括TCP/IP、DECnet、 ApplenlK、IPX和其他)如何使用PPP。
PPP提供路由器到路由器、主机到路由器和主机到主机的连接。PPP协议用于在用户和因特网POP(存在点)之间建立拨号因特网连接。PPP 最初设计是为两个对等节点之间的 IP 流量传输提供一种封装协议。POP是一个拥有大量远程接入设备(调制解调器组合器和接入服务器)的设施;它位于ISP处,或者并置在服务提供商设施处。当用户拨入时,在用户的系统和接入服务器之间建立连接并设置PPP会话。设置中包含身份验证和IP地址分配。这些过程完成之后,用户的计算机就成为因特网的扩展,而用户的串行端口和调制解调器具有的功能则与连接到服务提供商的网络的网络接口卡相同。
PPP提供可顺序传递数据分组的全双工双向链路。这一点很重要。顾名思义,PPP链路是点对点链路。它是一种专用于用户的电路,数据分组可通过它从用户的计算机发送到服务提供商的路由器。PPP提供帧流,其中封装着数据报并将它通过链路发送。读者可以设想成厢式汽车不断经过PPP链路的情景。PPP还支持不同的网络层协议(例如TCP/IP、NetBEUI和IPX)在同一条链路上的多路复用。
多数PPP实现使用的成帧技术源自中描述HDLC(高级数据链路协议)。这种成帧方法在使用串行通信协议(EIA—232-E、EIA-422和EIA-423,以及CCITT V.24和V.35)的异步和同步线路上使用。但其他成帧机制也受到支持,在以下RFC中对它们进行描述。这些成帧方法通常用于在企业网和因特网主干网中支持路由器到路由器链路:
描述PPP如何在点到点ATM连接上使用ATM FUNI(帧用户网络接口)。
描述如何在以太网上建立PPP会话和封装PPP数据分组。
描述“SONET/SDH上的PPP上的IP”,这是一种用于在光网络上不使用ATM而直接发送IP数据分组的技术。
前面已谈到,PPP的标准成帧方法源自HDLC,而后者本身又来自IBM的SDLC(同步数据链路协议)。
定界符 标记帧的开始和结束
地址 保存目的地址
控制 保存确保正确处理的序列号
协议 标识帧中包含的协议(IP、IPX、AppleTalK等)
数据 包含数据,数据长度是可变的
帧检查序列 计算用于差错检查的检验和
PPP标准还定义一种名为LCP(链路控制协议)的可扩展协议,它在设置连接的“链路建立”阶段使用。在这个阶段,将对基本的通讯方式进行选择。链路两端设备通过LCP向对方发送配置信息报文(Configure Packets)。一旦一个配置成功信息包(Configure-Ack packet)被发送且被接收,就完成了交换,进入了LCP开启状态。LCP建立封装格式选项和数据分组大小,还检测环回链路并确定链路是工作正常还是已发生故障。建立链路之后,LCP协商身份验证、加密和压缩的方法。
最初使用的身份验证方法是PAP和CHAP,但现在还可以使用其他的身份验证方法。身份验证是在“链路建立”阶段之后,因此允许身份验证程序在决定身份验证机制之前请求更多的信息。支持的机制包括:MD5询问、一次性密码、令牌卡以及其他一些机制。描述在EAP中如何支持TLS(传输层安全)机制。
在身份验证阶段,客户端会将自己的身份发送给远端的接入服务器。该阶段使用一种安全验证方式避免第三方窃取数据或冒充远程客户接管与客户端的连接。在认证完成之前,禁止从认证阶段前进到网络层协议阶段。如果认证失败,认证者应该跃迁到链路终止阶段。
定义协商PPP链路上数据加密的方法。RFC1962定义协商PPP链路上数据压缩的方法。
一种有趣的PPP扩展是MLPPP(多链路PPP),它使两个或几个ISDN线上的B信道组合成单个更快的PPP(点对点协议)连接的协议。利用多链PPP绑定两个ISDN 64Kbps B信道。可以提供一个128Kps的连接信道。例如,可以通过两个调制解调器和两条电话线建立两个PPP链路并连接到可支持MLPPP的某个服务提供商。在建立两个连接之后,数据速率通常是一条线路的两倍。性能取决于调制解调器的类型和连接的质量。
L2TP(第2层隧道协议)是一个通过ATM网络、帧中继网络或因特网传递PPP(点对点协议)会话的隧道协议。它提供拨号VPN(虚拟专用网络)服务,可为通过数据包媒介发送的点对点协议(PPP)帧提供封装服务。L2TP允许对IP通信流量进行加密处理,并通过可支持点对点数据报提交的任何媒介(如IP)进行发送。