RFC双语计划:rfc1661中文版(中英文对照)............RFC1661 PPP协议
http://kummerwu.web.officelive.com/Documents/rfc1661-0.html
更多RFC中文版,中英文对照版,请查阅http://kummerwu.web.officelive.com/Documents/index.html
这儿目前收录来OSPF,BGP,RIP,MPLS(VPN)、HTTP,Telnet,RSVP,PPP,POP3,RTP,NAT,FTP等最新RFC中文版和中英文对照版。而且内容还在不断更新中......
------------------------------------------------------------------------
RFC1661 PPP协议
本备忘录状态
摘要
PPP为基于点对点连接的多协议自寻址数据包的传输提供了一个标准方法。PPP包含以下三个成分:
1. 压缩多协议自寻址数据包的方法。
2. 用于建立、设定和测试数据链路连接的LCP。
3. 一族用于建立、设定不同网络层协议的NCP。
本文档定义了PPP的组织和方法,以及PPP封装,与之一起定义的还有:扩展选项协商机制,他使得(人们)可以就丰富的设定参数进行磋商,同时还提供额外的管理功能。PPP链路控制协议(LCP)九是用这种机制描述的。
目录
1 介绍 3
1-1 要求说明书 4
1-2 术语 4
2 PPP封装 5
3 PPP链路操作 6
3-1 概述 6
3-2 阶段划分框图 6
3-3 链路死亡(物理连接不存在) 6
3-4 链路建立阶段 7
3-5 认证阶段 7
3-6 网络层协议阶段 7
3-7 链路终止阶段 8
4 自动机协商选项 8
4-1 状态迁移图 9
4-2 状态 10
4-3 事件 12
4-4 动作 14
4-5 环躲避(循环避免) 15
4-6 计数器和定时器 16
5 LCP包格式 16
5-1. Configure-Request 18
5-2. Configure-Ack 18
5-3. Configure-Nak 19
5-4. Configure-Reject 20
5-5. Terminate-Request and Terminate-Ack 20
5-6. Code-Reject 21
5-7. Protocol-Reject 22
5-8. Echo-Request and Echo-Reply 22
5-9. Discard-Request 23
6. LCP配置选项 24
6-1. Maximum-Receive-Unit (MRU) 25
6-2. Authentication-Protocol 25
6-3. Quality-Protocol 26
6-4. Magic-Number 27
安全考虑 30
参考资料 30
致谢 31
主席地址 31
作者地址 32
1 介绍
PPP是为在同等单元之间传输数据包这样的简单的链路而设计的。这种链路提供全双工操作,并按照顺序传递数据包。(人们)有意让PPP为基于各种主机、网桥和路由器的简单连接提供一种共通的解决方案。
封装:
PPP封装提供了不同网络层协议同时通过统一链路的多路技术。(人们)精心的设计PPP封装,使其保有对常用支持硬件的兼容性。
当使用默认的类HDLC帧(HDLC-like framing)时,仅需要8个额外的字节,就可以形成封装。在带宽需要付费时,封装和帧可以减少到2或4个字节。
为了支持高速的执行,默认的封装只使用简单的字段,多路分解只需要对其中的一个字段进行检验。默认的头和信息字段落在32-bit边界上,尾字节可以被填补到任意的边界。
链路控制协议(LCP):
为了在一个很宽广的环境内能足够方便的使用,PPP提供了LCP。LCP用于就封装格式选项自动的达成一致,处理数据包大小的变化,探测looped-back链路和其他普通的配置错误,以及终止链路。提供的其他可选设备有:对链路中同等单元标识的认证,和当链路功能正常或链路失败时的决定。
网络控制协议:
点对点连接可能和当前的一族网络协议产生许多问题。例如,基于电路交换的点对点连接(比如拨号模式服务),分配和管理IP地址,即使在LAN环境中,也非常困难。这些问题由一族网络控制协议(NCP)来处理,每一个协议管理着各自的网络层协议的特殊需求。
配置:
(人们)有意使PPP链路很容易配置。通过设计,标准的默认值处理全部的配置。执行者可以对默认配置进行改进,它被自动的通知给其同等单元而无需操作员的干涉。最终,操作员可以明确的为链路设定选项,以便其正常工作。
1-1 要求说明书
在本文档中,用以下几个词来表示说明书的要求,这些词一般以大写字体书写。
MUST--要求;MUST NOT--禁止;SHOULD--推荐;MAY--可选。
1-2 术语
本文档中,频繁使用以下术语:
datagram -- 在网络层中的传输单元(例如IP)。一个datagram可能被压缩成一个或几个packets,在数据链路层中传输。
frame -- 在数据链路层中的传输单元。 一个frame包括一个头和/或尾字节,后面跟有几个单元的数据。
packet -- 封装的基本单元,它穿越网络层和数据链路层的分解面。通常一个packet映射成一个frame,但也有例外:即当数据链路层执行拆分或将几个packet合成一个frame的时候。
peer -- 点对点链路的另一端。
silently discard
-- 丢弃packet而不进行进一步的处理。执行(这个动作)应该提供记录错误,包括丢弃packet的内容,的容量,并且应该在一个统计计数器中记录这一事件。
2 PPP封装
PPP封装用于消除多协议datagrams的歧义。封装需要帧同步以确定封装的开始和结束。提供帧同步的方法在参考文档中。
PPP封装的概要如下所示。字段的传输从左到右。
协议字段:
协议字段由一个或两个字节组成。它的值标识着压缩在packet的信息字段里的datagram。字段中最有意义位(最高位)被首先传输。
该字段结构与ISO 3309地址字段扩充机制相一致。该字段必须是奇数:最轻意义字节的最轻意义位(最低位)必须等于1。另外,字段必须被赋值,以便最有意义字节的最轻意义位为0。收到的不符合这些规则的frames,必须被视为带有不被承认的协议。
在范围"0***"到"3***"内的协议字段,标识着特殊packets的网络层协议。在范围"8***" 到"b***"内的协议字段,标识着packets属于联合的(相关的)网络控制协议(NCP)。在范围"4***"到"7***"内的协议字段,用于没有相关NCP的低通信量协议。在范围"c***"到"f***"内的协议字段,标识着使用链路层控制协议(例如LCP)的packets。
到目前为止,协议字段的值在最近的"Assigned Numbers" RFC [2]里有详细的说明。本说明书保留以下的值:
Value (in hex) Protocol Name
0001 Padding Protocol填料协议
0003 to 001f reserved (transparency inefficient)保留(透明度效率低的)
007d reserved (Control Escape)保留(控制逃逸)
00cf reserved (PPP NLPID)保留(PPP NLPID)
00ff reserved (compression inefficient)保留(压缩效率低的)
8001 to 801f unused(未使用)
807d unused(未使用)
80cf unused(未使用)
80ff unused(未使用)
c021 Link Control Protocol链路控制协议
c023 Password Authentication Protocol密码认证协议
c025 Link Quality Report链路品质报告
c223 Challenge Handshake Authentication Protocol挑战-认证握手协议
新的协议的开发者必须从the Internet Assigned Numbers Authority (IANA), at IANA@isi.edu.处获得号码。
信息字段:
信息字段是0或更多的字节。对于在协议字段里指定的协议,信息字段包含datagram。
信息字段的最大长度,包含填料但不包含协议字段,术语叫做最大接收单元(MRU),默认值是1500字节。若经过协商同意,也可以使用其它的值作为MRU。
填料:
在传输的时候,信息字段会被填充若干字节以达到MRU。每个协议负责根据实际信息的大小确定填料的字节数。
3 PPP链路操作
3-1 概述
为了通过点对点链路建立通信,PPP链路的每一端,必须首先发送LCP packets以便
------------------------------------------------------------------------
。。。。。。。。
完整内容参见 http://kummerwu.web.officelive.com/Documents/rfc1661-0.html
更多RFC中文版,中英文对照版,请查阅http://kummerwu.web.officelive.com/Documents/index.html
这儿目前收录来OSPF,BGP,RIP,MPLS(VPN)、HTTP,Telnet,RSVP,PPP,POP3,RTP,NAT,FTP等最新RFC中文版和中英文对照版。而且内容还在不断更新中......