⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rfc1661.txt

📁 最近的中文RFC文档
💻 TXT
📖 第 1 页 / 共 5 页
字号:
  当收到一个来自peer的有效Configure-Ack packet时,该事件发生。Configure-Ack packet是对Configure-Request packet的肯定应答。序列之外的或者无效的packet被静静的丢弃。
  执行笔记:
  既然在到达Ack-Rcvd或Opened状态之前,正确的packet已经被收到了,那就绝不可能有另一个这样的packet的到来。像说明的一样,所有无效的Ack/Nak/Rej packets将被静静的丢弃,并不影响自动机的(状态)转换。
  然而,格式正确的packet不可能通过coincidentally-timed cross-connection(同步交换连接)到达(目的地)的。它更可能是执行出错的结果。至少,这种情况应该被记录下来。
  Receive-Configure-Nak/Rej (RCN):
  当收到一个来自peer的有效Configure-Nak或Configure-Reject packet时,该事件发生。Configure-Nak或Configure-Reject packet是对Configure-Request packet的否定应答。序列之外的或者无效的packet被静静的丢弃。
  执行笔记:
  尽管Configure-Nak和Configure-Reject在自动机中引起相同的状态转换,但这些packets对发送于Configure-Request packet中的配置选项有着截然不同的影响。
  Receive-Terminate-Request (RTR):
  当收到一个Terminate-Request packet时,该事件发生。Terminate-Request packet表明希望peer去关闭连接。
  执行笔记:
  该事件于Close事件不同,它需要考虑局域网管理者的Open命令。执行必须准备接收新的没有网络管理者干涉的Configure-Request。
  Receive-Terminate-Ack (RTA):
  当收到一个来自peer的Terminate-Ack packet时,该事件发生。Terminate-Ack packet通常是对Terminate-Request packet的响应。Terminate-Ack packet也可以表明peer正处于Closed或Stopped状态,适应于链路配置的再同步。
  Receive-Unknown-Code (RUC):
  当收到一个来自peer的un-interpretable(不能说明的)packet时,该事件发生。发送一个Code-Reject packet作为响应。
  Receive-Code-Reject, Receive-Protocol-Reject (RXJ+,RXJ-):
  当收到一个来自peer的Code-Reject或Protocol-Reject packet时,该事件发生。
  当拒绝值可接受时(例如一个扩充编码的Code-Reject,或一个NCP的Protocol-Reject,这些在一般操作的范围内),RXJ+事件出现。执行必须停止发送损坏了的packet类型。
  当拒绝值是灾难性的时候(例如一个Configure-Request的Code-Reject,或一个LCP的Protocol-Reject),RXJ- 事件出现。该事件传达了一个不可校正的错误(导致连接终止)。
  Receive-Echo-Request, Receive-Echo-Reply, Receive-Discard-Request(RXR):
  当收到一个来自peer的Echo-Request,Echo-Reply或Discard-Request packet时,该事件发生。Echo-Reply packet是对Echo-Request packet的响应。Echo-Reply或Discard-Request packet没有响应。
4-4 动作
  自动机中的动作有事件引起。典型的,动作表明了packets的传输,和/或Restart timer的启动和停止。
  Illegal-Event (-):不合法的事件
  该动作指出一个在正常执行的自动机中不可能出现的事件。执行有一个内在的错误,应该把它报告并记录下来。没有转换被执行,执行不应该reset or freeze(重新安排或冻结)。
  This-Layer-Up(tlu)
  动作给自动进入打开阶段的上边的层做指示。
典型的,该动作被LCP用于对一个NCP发送向上的事件信号,或者链路质量协议,或者可以被一个NCP用于显示该链路可用于它的网络层往来。
  This-Layer-Down(tld)
  该动作给自动留下打开的阶段的上边的层做指示。
  典型地,该动作被LCP用于向一个NCP发送向下的事件,证实协议,或者可以被一个NCP用于显示该链路对它的网络层传输不再可用。
  This-Layer-Started了(tls)
  该动作对自动进入开始状态的更低的层做指示,并且需要更低的层用于该链路。
  当更低的层可用的时候,更低的层应该用一个向上的事件响应。
  该动作的结果是高度的依赖动作的执行的。
  This-Layer-Finished(tlf)
  该动作给自动进入最初,关闭了或者停止的阶段的更低的层做指示,并且,在链路上不再需要更低的层。
  当更低的层终止的时候,更低的层应该用一个向下的事件应答。
  典型地,该动作可以被LCP用于前进到链路死掉的状态,或者可以被一个NCP用于给当没有其他的NCPs打开时链路可以被终止的LCP做指示。
  该动作的结果是高度的依赖动作的执行的。
  Initialize-Restart-Count(irc)
  该动作对Restart计数器设置适当的值(Max-Terminate 或 Max-Configure)。
  每次传输,包括第一次传输,计数器自减。
  执行记录:
  附加的设置Restart计数器,当使用了重定时返回时,该执行必须设置超时周期到初始值。
  Zero-Restart-Count(zrc)
  该动作对Restart计数器清零。
  执行记录:
  该动作允许FSA在进行到要求的最终状态之前暂停,允许用peer进行传输。
  附加的清零Restart计数器,该执行必须设置超时周期到初始值。
  Send-Configure-Request(scr)
  一个Configure-Request的包被传送。
  这表明要用指定的一套特殊的配置选项打开一个连接。
  为了防止包丢失,Restart计时器在Configure-Request包被传送的时候打开。
  每次一个Configure-Request被发送的时候,Restart计数器自减。
  Send-Configure-Ack(sca)
  一个Configure-Ack包被传送。这确认接收了一个带有一套可接受的配置选项的Configure-Request包。
  Send-Configure-Nak(scn)
  一个Configure-Nak或Configure-Reject包被稳妥的传送。
  否定的响应表明一个Configure-Request包带有一套不可接受的配置选项。
  Configure-Nak包被用于拒绝一个配置选项值,并提议一个新的,可接受的值。
  Configure-Reject包被用于拒绝全部的关于一个配置选项的协商,典型的因为不被认可或不被满足。
  在关于LCP包格式的章节对Configure-Nak的使用比Configure-Reject有更充分的描述。
  Send-Terminate-Request(str)
  一个Terminate-Request包被传送。
  这表示想要关上连接的愿望。
  当Terminate-Request包被传送时Restart计时器被开启,来防止包丢失。
  每次一个Terminate-Request被发送的时候,Restart计数器自减。
  Send-Terminate-Ack (sta)
  一个Terminate-Ack包被传送。
  这确认Terminate-Request的包的接收,或者以别的方式对于自动同步起作用。
  Send-Code-Reject(scj)
  一个Code-Reject包被传送。
  这表示未知的种类的包的接收。
  Send-Echo-Reply (ser)
  一个Echo-Reply包被传送。
  这确认一个Echo-Request包的接收。
4-5 环躲避(循环避免)
  协议做避开协商成环状的配置选项的适当尝试。
  不过,协议不保证环将不发生。
  和任何协商一样,有可能来设置2个PPP由不收敛的矛盾的方法来执行。
  同样,也有可能配置收敛的,重要的时间这样去做的方法。
  设备应该考虑这些,并且应该满足环侦测机制或更高水平的超时。
4-6 计数器和定时器
  重启动定时器
  有一个特殊的定时器被自动使用。
  重启动定时器被用于计算Configure-Request和Terminate-Request包的传输时间。
  重启动定时器的满期产生一个超时事件,并且通信Configure-Request或Terminate-Request包重新传送。
  重启动定时器必须是可配置的,但是应该缺省为三(3)秒。
  执行记录:
  重新开始计时器应该根据链路的速度。
  缺省值被指定为低的速度(2,400~9,600 bps),高交换的等待时间链路(典型电话线)。
  更高的速度链路或和低交换等待时间的链路应该相对应有更快的再次传输时间。
  代替恒定值,重新开始计时器可以从最初的小的值开始增加到配置的最终值。
  每一个小于最终值的连续值应该至少是前一个值的两倍。
  初始值应该对包的大小来说足够大,用于以线路速率传输两倍的round trip时间,并且至少附加100毫秒来允  许peer来处理响应之前的包。
  一些电路又加了200毫秒的附加迟延。
  以14,400 bps运作的调制解调器的round trip时间范围中精确到160到600毫秒以上。
  Max-Terminate
  必须有一个Terminate-Requests的restart计数器。
  Max-Terminate显示Terminate-Request包发送,但是认为peer不会应答的,没有收到Terminate-Ack的包的个数。
  Max-Terminate必须是可配置的,但是应该缺省为二(2)秒传输。
  Max-Configure
  推荐为Configure-Requests采用一个类似的计数器。
  Max-Configure显示Configure-Request包发送,在peer不会应答前的,没有接收到一个有效的Configure-  Ack,Configure-Nak 或 Configure-Reject的包的个数。
  Max-Configure必须是可配置的,但是应该缺省为十(10)次传输。
  Max-Failure
  推荐为Configure-Nak采用一个相关的计数器。
  Max-Failure显示Configure-Nak包发送,在假定配置不收敛之前发Configure-Ack的Configure-Nak包的个数。
  任何更进一步的用于peer请求的选项被转换到Configure-Reject包,并且不在附加局部要求选项。
  Max-Failure必须是可配置的,但是应该缺省为五(5)次传输。
5 LCP包格式
  LCP包有3类:
  1.链路配置包,用于建立和配置链路(Configure-Request,Configure-Ack,Configure-Nak,和Configure-Reject)。
  2.链路结束包被用于结束一个链路(Terminate-Request 和 Terminate-Ack)
  3.链路维修包被用于管理和调试一个链路(Code-Reject, Protocol-Reject, Echo-Request, Echo-Reply, 和 Discard-Request)。
  为了简单的利益,LCP包里没有版本域。
  一个正确的运作的LCP的执行将总是对带有简单地可以识别的LCP包的未知协议和代码进行响应。这样倘若一个确定性的可靠的机制用于其他版本的执行。
  不管哪个配置选项被允许,所有的LCP链路配置,链路终止和代码-拒绝包(代码1到7)总被发送,就像没有配置选项被协商一样。
  特别是,每个配置选项都指定缺省值。
  这就保证了这样的LCP包总是可以识别的,甚至当1个链路的结束错误的相信该链路是开着的。
  确切的说1个LCP包被封装在PPP信息域中,该PPP协议域表示类型为十六进制c021(链路控制协议)。
  链环控制协议包格式的摘要如下。
  域被从左往右传送。

0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 代码 | 标识符 | 长度 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 数据...
+-+-+-+-+

代码
  代码域是一个八位字节,确定LCP包的种类。
  当收到一个带有未知域的包时,一个Code-Reject包被传送。
  LCP代码域的Up-to-date值在最近的"指定号码"RFC[2]中被指定。该文档涉及以下的值:
  1 Configure-Request
  2 Configure-Ack
  3 Configure-Nak
  4 Configure-Reject
  5 Terminate-Request
  6 Terminate-Ack
  7 Code-Reject
  8 Protocol-Reject
  9 Echo-Request
  10 Echo-Reply
  11 Discard-Request
标识符
  标识符域是一个八位字节,对匹配请求和回复中有帮助。当带有无效标识符域的包被接收时候,该包将不影响自动机制,被静静的丢弃。
长度
  长度域是二个八位字节,指出LCP包的长度,包括代码,标识符,长度和数据域。该长度必须不超过链路的MRU。
  长度域以外的字节被当作填料而忽略处理。当收到带有无效标识符该包将不影响自动机制,被静静的丢弃。
数据
  数据域是零或多个八位字节,由长度域声明。数据域的格式由代码域决定。
5-1. Configure-Request
  描述
  一个执行想要打开一个连接必须传送一个Configure-Request。选项域被填充任何想要的对链路默认的改变。配置选项应该不被包括到默认值中。Configure-Request的接收上,必须传送适当的答复。
  下面给出Configure-Request包的格式的摘要。域从左到右传输。

0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 代码 | 标识符 | 长度 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 选项 ...
+-+-+-+-+
代码
  1 为Configure-Request

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -