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

📄 rfc1333.txt

📁 很多RFC的中文文档
💻 TXT
📖 第 1 页 / 共 2 页
字号:
组织:中国互动出版网(http://www.china-pub.com/)
RFC文档中文翻译计划(http://www.china-pub.com/compters/emook/aboutemook.htm)
E-mail:ouyang@china-pub.com
译者:王奎(pywang  mailto: wangtianzhi@263.net)
译文发布时间:2001-12-28
版权:本翻译文档可以用于非商业用途自由转载,但必须保留本文档的翻译及组织信息。


Network Working Group                                        		M. Simpson
Request for Comments: 1333					        Daydreamer
                                                     	May 1992

PPP 链路质量监控
(RFC1333——PPP Link Quality Monitoring )

备忘录状态
   	此RFC 为internet community详细说明了 IAB 标准跟踪协议,并且请求讨论和建议
以便改进。请参考IAB Official Protocol Standards 的当前版本,确保这个协议陈述和
状态的标准化。此备忘录的分发不受限制。

摘要
点到点协议(the Point-to-Point Protocol)提供了一种在点到点链路上封装网络层协议
信息的标准方法。PPP 也定义了可扩展的链路控制协议(Link Control Protocol),它(Link 
Control Protocol)允许在链路生存期内对链路持续监控,磋商链路质量。
这个文档为生成链路质量报告(Link-Quality-Reports)定义了协议。
此RFC是IETF(the Internet Engineering Task Force)的PPP协议工作组的成果。关于
这个备忘录的建议请提交给:ietf-ppp@ucdavis.edu。
目录
1. 介绍	2
2. 链路质量监控	2
2.1 设计动机	2
2.2 计数器	3
2.3 计算包(packets)和八位字节(octets)	3
2.4 处理过程	4
2.5 配置选项格式	4
2.6 包格式	5
2.7 报告传输	7
2.8 计算	8
2.9 失败检测	8
2.10 策略建议	8
安全考虑	9
参考文献	9
致谢	9
主席地址	9
作者地址	10
完整版权说明	10
致谢	10

1. 介绍
PPP 有三个主要的组成部分:
1.	在串行链路上封装数据报(datagrams)的方法。
2.	建立,配置和测试数据链路链接(the data-link connection)的LCP协议(Link 
Control Protocol)。
3.	建立和配置不同网络层协议的一组NCP协议(Network Control Protocol)。
为了在点到点链路(point-to-point link)上建立通信,PPP链路的一端必须在建立阶段
(Establishment phase)首先发送LCP包(packets)配置数据链路。在鉴定和网络层协
议阶段(Authentication and Network-Layer Protocol phases),必须检测链路以决定链路质
量是否满足操作需要。这种检测是完全可选的。

如果一个实现(implementation)要求对端(peer)使用某个特定的链路质量监控协议,
那就必须在链路建立阶段使用质量协议配置选项(the Quality-Protocol Configuration 
Option)磋商特定协议的使用。

这个磋商机制在任一个方向上是独立的。然而,如果对端同意发送质量协议包
(Quality-Protocol packets),那么在接受方必须适当地处理这种包,即使它没有请求这种
包或者不需要实现这种监控策略。
    
2. 链路质量监控
	数据通信链路是很少完美的。由于各种原因(例如线路噪音,设备失败,缓存溢出等等),
链路上的包可能被丢掉或者被破坏。有时候,有必要决定什么时候链路丢数据,丢包频率。
例如,路由器可能要暂时允许另一个路由器占的优先权。一个实现也可能使用选项断掉和切
换到另一个替换的链路。决定数据丢失的过程被称为“链路质量监控”。
2.1 设计动机
有很多不同的方法测量链路质量,并且有更多的方法对链路质量测量有效。胜于指定一
个单独的方法,链路质量监控被分为一个机制(mechanism)和一个策略(policy)。PPP
通过定义链路质量报告包(Link-Quality-Report Packet)和指定一个处理过程,为链路质量
监控详细说明了监控机制。PPP没有说明链路质量监控策略――如何断定链路质量或者当
链路不充分时该怎么做。这个被留做一个实现决策,并且在链路的各端可能是有差别的。我
们允许甚至鼓励实现(implementations)去试验各种链路质量策略。链路质量监控机制说
明书保证了使用不同策略的两个实现可以通信和内部操作的。
为了允许实现灵活的策略,PPP链路质量监控机制以包(packet),八位字节(octets)
和链路质量报告(Link-Quality-Reports)为单位测量数据丢失率。每个测量方法被分别用
来测量链路的每半部分,包括内部和外部。所有的测量方法被通知给链路的两端,以致链路
的每一端能够为它的输入和输出链路实现自己的链路质量策略。
最后,链路质量监控协议被设计成可以在许多不同系统上实现。尽管通常实现PPP(特
别是链路质量监控)作为一个单独的软件过程,但是我们也预想带硬件支持的多过程实现。
PPP链路质量监控机制通过仔细定义链路质量报告包的格式和为所有数据传输和接受测量
方法指定参考要点,提供了多过程实现的方法。

2.2 计数器
每种链路质量监控实现维持着发送和成功接受包和八位字节的数目的计数器,并且定期
的用链路质量报告包把这个信息发送给对端。
这些计数器类似于序列号;它们一直增加,这指示通过外部链路的包和八位字节的数目。
通过比较连续的LQR中的数值,LQR接受者可以计算出通过链路成功通信的包和八位字节
的“delta”数。比较这些绝对值数然后给出链路质量的迹象。除了绝对值,相对值也被传
输。这是因为它们能够大大的简化链路同步。
LQR使用由SNMP MIB-II[2]定义的接口计数器。当LCP进入建立阶段时,这些计数器
并不初始化为任何值。
另外,LQR要求实现下面三个无符号的,单调递增的计数器,它们符合SNMP MIB计
数器要求的类型和大小。
OutLQRs:
OutLQRs是一个32位的计数器。每发送一个LQR包,它递增1。在LCP进入建立阶
段时,这个计数器必须置零,并且一直到LCP离开终止阶段它一定不得被重置。这个计数
器在被插入LQR包前增1。
InLQRs:
InLQRs是一个32位的计数器。每接收一个LQR包,它递增1。在LCP进入建立阶
段时,这个计数器必须置零,并且一直到LCP离开终止阶段它一定不得被重置。这个计数
器在被插入LQR包(在一个依靠方式的实现中)前增1。
InGoodOctes:
InGoodOctes是一个32位的计数器。它每次增加每个正确接收的数据链路层包中的八
位字节数。不像MIB的ifInOctets,在ifInDiscards和ifInErrors中计数的帧中的八位字节禁
止被计数。这个计数器在LCP进入建立阶段时可以被初始化为任何值。但是直到LCP离开
终止阶段前,不能被重置。
2.3 计算包(packets)和八位字节(octets)
		计数器的目的是为了提供一种方法来表示通过链路上的信息量,而不是实际的所用
的带宽量。这种规范被设计成在各种环境中能够产生相同的计数。例如一个单独的设备隐式
的为实现提供分帧和封装机制,或者在链路中同步到异步的转换器在各机制中的变化。
在FCS计算时,所有的Octets必须被计算在内,包括包头,信息域和任何填料。
FCS Octets也必须被计算在内,每帧的一个标志Octets也必须被计算在内。其它所有的Octets
(例如额外的标志序列号,逃跑位或者Octets)不得计算在内。
	当在LQR中插入包和Octets计数时,这些计数必须包括LQR本身期待得数值。
2.4 处理过程
	PPP链路质量监控机制希望用一个“逻辑过程”模型。如下所示,在每个双向链路的每
一端共复制了五个逻辑过程。
	+---------+   +-------+   +----+ Outbound
   |         |-->|  Mux  |-->| Tx |=========>
   | Link-   |   +-------+   +----+
   | Manager |
   |         |   +-------+   +----+ Inbound
   |         |<--| Demux |<--| Rx |<=========
   +---------+   +-------+   +----+

	链路管理器:
		链路管理器传输和接收LQR,和实现所期待的链路质量策略。LQR包以恒定的速
率传输。这个速率是由LCP质量协议配置选项磋商得到的。
	Mux:
	Mux把来自各个协议(例如LCP,IP,XNS等等)的多元包处理成一个单独的,连续
的,有优先级的包流。LQR包必须被赋予可能的最高优先级,以保证链路质量信息及时被
传输。
	Tx:
	Tx过程维护着MIB计数器ifOutUniPackets 和ifOutOctets,和内部计数器OutLQRs,它
用来测量在输出链路上传输的数据量。当Tx处理LQR包时,它把这些计数器的值插入到
包中的PeerOut域。Tx过程必须跟在Mux过程后面以确保这些包以在链路上传输的顺序计
数。
	Rx:
	Rx过程维护着MIB计数器ifInUniPackets,ifInDiscards,ifInErrors 和ifInOctets,和内部计
数器InLQRs和InGoodOctets,它用来测量在输入链路上接收的数据量。当Tx处理LQR包
时,它把这些计数器的值插入到包中的SaveIn域(在一个依靠方式的实现中)。
	Demux:
	Demux过程为各种协议分解多元包。Demux过程必须跟在Rx过程后面以确保这些包
以在链路上接收的顺序计数。
2.5 配置选项格式
	描述:
	实现者必须为LQR准备接收质量协议配置选项(Quality-Protocol Configuration Option)。
然而,不需要磋商。仅在实现者希望保证对端传输不同于其他质量协议的LQR,或者防止
对端维护自己的计时器,或者在LQR传输间建立最大的时间间隔,磋商是必须的。
	下面是磋商LQR的质量协议配置选项格式的总结。各个域是由左到右传输的。

    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Type      |    Length     |        Quality-Protocol       |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                      Reporting-Period                         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

	类型:
     4
 	长度:
     8
	质量协议:
	c025(十六进制)(LQR)
	报告周期:
   	报告周期域(the Reporting-Period field)是4个Octets 和表明了在包传输间的最大时间
间隔(以1/100秒计算)。对端可以以比商议的更快的速率传输包。
	此值为零表明对端不需要维护计时器。作为替代,对端一旦接收LQR立即产生一个
LQR。当对端为带零值的LQR已经发送或者将发送一个包含质量协议配置选项的配置请求
包时,它必须不被带非零值得对端应答。
2.6 包格式
	LQR包被封装在PPP数据链路层帧的信息域中,此帧的协议域为c025(LQR)。下面
是LQR包格式的总结。域名相对于包的接收者,因为是接收者请求的配置包,各个域从左
到右传输。


    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                         Magic-Number                          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                         LastOutLQRs                           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                        LastOutPackets                         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                        LastOutOctets                          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                         PeerInLQRs                            |

⌨️ 快捷键说明

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