📄 rfc2330.txt
字号:
该路径的参数相关的假定时,这个猜想规定了该参数显示了时间合成性。那么,定义里
就应包括:
用于该度量参数的明确的猜想,
在对路径上该参数的准确测量方面,这个合成在实践中有用的理由,
在更有效的使用A-frame概念对路径作出分析方面,这个合成的有用性的理由,
10. 与时间有关的问题
10.1.时钟问题
对许多度量参数来说,时间的测量是一个中心问题。因为这点,在设计测量某参数
的方法时弄清由不完善的系统时钟引起的不同类型错误和不确定性至关紧要。这一部分
里,我们定义讨论时钟特性的术语并简单涉及任何合理的方法都应阐明的与测试相关的
问题。
网络时间协议(NTP; RFC 1305)定义了讨论时钟特性的术语,在适当时我们也是采用
它。NTP的主要目的是在相当长时间范围内提供准确的记时,比如几天内精确到分钟;
然而,对测量目的而言,如在测量的开始到结束,或跨越收集测量样本过程的一段时间,
短期内记时的准确性常常是更重要的。目标上的不同有时导致不同术语的定义,正如下
所讨论的。
一开始,我们定义一个在特定瞬间的时钟“偏移”为系统时钟报告的时间与UTC
定义的“真实”时间的差。如果时钟报告时间Tc,真实时间是Tt,那么时钟偏移就是
Tc - Tt.
如果在特定瞬间的时钟偏移是零我们说时钟是“精确”的,更一般的,时钟“精确
度”就是偏移的绝对值有多靠近零。对NTP而言,精确度还包括时钟频率的概念;对我
们的目的而言,我们把这个概念包含在时钟的“脉冲相位差(skew)”中,因为我们是根
据单一时刻而不是一个时间段来定义精确度的。
在特定瞬间时钟的“脉冲相位差”是时钟和真实时间之间频率的不同(它关于真实
时间的偏移的第一个派生)。
正如RFC1305中所叙,真实时钟显示了一些脉冲相位差的变化。即,时钟关于真实
时间的偏移的第二个派生通常是非零的。为与RFC1305保持一致,我们定义这个数量为
时钟“漂移”
时钟“分辨率(resolution)”是时钟时间更新的最小单位。它给出了时钟不确定性的
低级的边界。(注意时钟可能有非常高的分辨率却又不精确)分辨率是以秒来定义的。然
而,分辨率是相对于时钟报告的时间而言而不是真实时间,所以例如说时钟10毫秒的分
辨率只是意味着它的时间概念按0.01秒增长,而不是时间更新时的真实数值。
{注释:系统在与时钟接口的应用程序时钟没有提前时怎样报告顺序呼叫的时间这方
面是不同的。一些系统就是简单的返回相同的没变化的给前面呼叫的时间。其它一些系
统可能给报告的时间增加一个小的增量,以保持单调增加的时间戳。对于后一个系统,
在定义时钟分辨率时我们不考虑这个小增量。实际上,它是评估时钟分辨率的一个障碍,
因为一个很自然的评估时钟分辨率的方法是重复的问询系统时钟来确定报告的时间里最
小的非零的不同。
我们期望时钟分辨率很少变化(例如,因为硬件的更新)。
有许多有趣的度量参数,它们的一些自然的测量方法涉及比较两个不同的时钟报告
的时间。一个例子就是单向分组延迟[AK97]。这里,分组通过网络所需要的时间经过比
较在分组走过路径一端的时钟报告的时间(相应的是分组第一次进入网络的时间)和在
路径另一端的时钟报告的时间(相应的是分组结束通过网络的时间)而得出。
因此我们也对描叙两个时钟C1 和C2怎样比较的术语感兴趣。为了这个目的,我
们指出上面“真实时间”的概念被系统时钟C1所报告的时间所代替。例如,时钟C2在
一特定瞬间相对于C1的偏移是Tc2 - Tc1,即由C2和C1所报告时间的即时差别。为了
消除两个时钟之间比较时术语的使用和与真实时间比较时术语的使用的歧义,我们在前
一种情况使用“相对”这个词语。所以我们在这一段开始所定义的偏移是C2和C1之间
的“相对偏移”。
在比较时钟时,“分辨率”与上一段术语的类似术语不是“相对分辨率”,实际上而
是“联合分辨率”,亦即C1和C2分辨率之和。联合分辨率暗示了对通过将一个时钟产
生的时间戳减去另一个时钟产生的时间戳而计算得的任何时间间隔的精确度的保守的较
低的限制。
如果两个时钟关于彼此是“准确的”(它们的相对偏移是零),我们就说这个时钟对
是“同步”的。注意时钟可能高度同步却在它们报告真实时间方面很不精确。这一点很
重要,因为对许多互联网测量来说,两个时钟之间的同步远比时钟的准确性重要。这对
脉冲相位差来说也有点正确:只要绝对脉冲相位差不是太大,那么最小的相对脉冲相位
差更重要,因为它引起通过比较由两个时钟产生的时间戳而测量到的分组传输时间的系
统的趋势。
这些区别的说明是因为对互联网测量而言,往往最重要的是那个通过比较两个时钟
输出而计算的时间的差别。计算这些差别的过程清除了任何由于时钟对真实时间不准确
而产生的错误;但是,这些差别本身要准确地反映真实时间的差别这一点至关重要,
测量方法会常常从保证两个时钟是同步的而且有最小的脉冲相位差和漂移这一步骤
开始。
{注释:一个保证这些条件(和时钟准确性)的有效的方法是使用从外部资源获得时
间观念的时钟,而不只是主机计算机的时钟(这后者往往会面临很大的错误)。如果时钟
直接获得时间,例如通过与GPS(全球定位系统)单位有即时通道,就更好。}
如果时钟使用如NTP的网络时间同步协议来间接获得它们的时间,就出现了两个重
要的关注之点:
第一,NTP的准确性部分依赖于为NTP对等体所用的互联网路径的属性(特别是
延迟属性),并且这些属性可能恰恰就是我们希望测量的属性,所以使用NTP来校准这
样的测量可能是谬误的。
第二,NTP的焦点在时钟的准确性,它可能以短期的时钟脉冲相位差和漂移为代价
来达到这点。例如,当一个主机的时钟是间接地与时钟源同步时,如果同步间隔很少出
现,那么主机有时候会面临这样的问题:怎样以它刚刚知道的相当不同的、更准确的时
间Ta来调校它当前的不正确的时间Ti。达到这一目的的两种方法是或者立即将当前时
间设置为Ta,或者调整当地时钟的更新频率(也即它的脉冲相位差)以至在未来某点当
地时间Ti会与更准确的时间Ta一致。前一个机制导致了不连续性而且也违背了时间戳
是单调增加的普遍假设。如果主机的时钟被设置为向后“合拍”,有时这很容易被探测到。
如果时钟被设置为向前“合拍”,这会很难探测到。第二种机制引起的脉冲相位差在计算
时间的差别时,如上所讨论的,能导致相当的不准确。
为了阐明为什么脉冲相位差是至关重要的,考虑以一分钟为间隔测得的两互联网主
机间的单向延迟样本。对一横穿网络的路径,主机间的真实传输延迟似乎应该是50毫秒
的价数。如果两个时钟间的脉冲相位差是0.01%,亦即10000中的1份,那么在观测10
分钟之后引入测量中的错误是60毫秒。除非被纠正了,这个错误足够彻底地抹杀传输延
迟测量中的任何准确性。最后,我们指出估计不同步的网络时钟之间的脉冲相位差错误
是个开放的研究领域(探测和补偿这类错误的讨论见[Pa97])。这个缺点使使用可靠的,
诸如GPS之类的独立时钟源变得特别合意。
10.2.“线时(Wire Time)”的概念
互联网测量时常是复杂的,因为要使用互联网主机自己来完成测量。这些主机能引
起延迟,瓶颈,和相似的由硬件或操作系统的影响且与我们想要测量的网络行为无关的
事件。在网络事件的时间戳出现在应用层时,这个问题特别尖锐。
为了提供讨论这些影响的一般的方法,我们引入“线时(wire time)”的两个概念。
这些概念只是根据在特定位置观测互联网路径L的主机H来定义的:
对于一给定分组P,P在L上到H的“线路达到时间(wire arrival time)”是P的任
何位在H在L上的观察位置出现的第一时间。
对于一给定分组P,P在L上到H的“线路退出时间(wire exit time)” 是P的所
有位在H在L上的观察位置出现的第一时间
注意,定义的本质是我们在链路哪里观察的观念。这个区别很重要,因为对于大延
迟链路,我们可能获得非常不同的时间,恰恰依赖我们在哪里观察链路。我们可以允许
观察位置是沿链路的任意位置;然而,我们根据互联网主机来定义是因为我们预期在实
践中,对于IPPM测量参数,所有这样的记时都应被限制由互联网主机来完成,而不是
可能可以在主机不能观察的位置监视链路的特别的硬件设备。这个定义也考虑到了由多
个物理信道所组成的链路的问题。因为这些多个的信道在IP层不可见,它们不能按照上
面定义个别地观察。
有可能,尽管希望不是普遍的,一个分组P因为转发循环而可能多次通过特定链路
P,多次循环的旅程甚至可能相互重叠,由链路技术决定。无论何时出现这种现象,我
们定义一个与每个H在链路上的位置见到P的时刻关联的单独的线时。这个定义是值得
的,因为它暗示了分组通过互联网内一点的唯一的时间是天生地需要小心对待的观念。
历史上,线时这个术语被用来宽松地表示分组在链路上出现的时间,没有明确说明
这是指第一个位,最后一位,或者其它的考虑。这个非正式的定义普遍地已经非常有用,
因为它常常用来区分因为网络而不是终端主机引起的分组的传播延迟开始和终止。
在适当的时候,度量参数应根据线时而不是主机终点时间来定义,因此度量参数的
定义从由网络引起的延迟里突出了由主机引起的单独的延迟。
我们指出涉及到IP分段来处理线时的时候一个潜在的困难。可能会有这种情况,由
于分段,特定分组只有一部分通过H的位置。这样的分片它本身是合法的分组并且有与
它相关联的定义明确的线时;但它们集合而成的IP分组可能没有。
我们还指出,根据我们的知识,对于互联网流量这些概念先前还没有以确切的术语
来定义。因此,我们可以凭经验知道在将来这些定义需要一些修改。
{注释:有时测量线时是困难的,一种技术是使用分组筛选器(packet filter)来监视
链路上的流量。
这些筛选器的体系结构常常试图将每一个分组与尽可能靠近线时的一个时间戳关联
起来。然而我们指出一个普遍的错误来源是在终端主机之一上运行分组筛选器。这种情
况下,可观察到一些分组筛选器接受了一些与分组被调度注入网络时间相应的分组时间
戳,而不是分组实际被发送到网络的时间(线时)。这两个时间会有着实质的不同。处理
这一问题的技术是在单独的被动地监视给定链路的主机上运行分组筛选器。然而,对一
些链路技术而言这可能是有问题的。对分组筛选器能引起的错误见[Pa97]。最后,我们
指出分组筛选器常常会只捕获分段IP分组的第一个分片,因为筛选是根据IP内的域和
传输协议报头的。由于我们通常希望我们的测量方法避免产生了分段流量的复杂性,使
当分组筛选器探知有分段时一个处理它们的出现的策略是:标记测量流量具有反常的形
式并放弃对分组记时的进一步分析。}
11. 个体,样本,与统计
根据经验,我们发现在三个截然不同然而又相关的概念之间引入区别很有用:
用“个体”度量参数,我们是指在某种意义上度量参数是原子的。例如,从一个主
机到另一个主机的“桶吞吐量容量(bulk throughput capacity)”的单个例子可以被定义为
一个个体度量参数,即使这个例子涉及测量大量互联网分组的记时。
用“样本”度量参数,我们是指通过将大量独特的例子合在一起从给定的个体度量
参数得出的度量参数。例如,从一个主机到另一个主机的单向延迟的样本度量参数我们
可以定义为一小时长的测量,测量时间间隔服从泊松分布,平均每次测量持续一秒钟。
用“统计” 度量参数,我们是指源于通过计算一些个体度量参数在样本上定义值的
统计量得出的特定样本度量参数的度量参数。例如,上面给出的样本的所有单向延迟的
平均可被定义为一个统计度量参数。
通过一致地使用个体,样本,统计这些概念,我们可以重用怎样定义不同的度量参
数的样本和统计量的教训。这三个概念之间的正交性因而使得我们所有的工作更有效更
可被业界理解
在这一节的剩余部分,我们将包括我们相信对多种度量参数定义和测量努力很重要
的话题
11.1.收集样本的方法
收集样本的主要理由是了解被测的参数呈现出何种变化和一致性。这些变化应该是
关于互联网不同点或不同测量时间的。在基于样本估计变化时,人们通常做出了样本是
“没有偏见的”假设,意味着收集样本的测量结果的过程不会使样本偏斜而以至它不再
准确地反映度量参数的变化和一致性。
一个普遍的收集样本的方法是在由固定时间数分开的点测量:周期抽样。因为它的
简单,周期抽样特别吸引人,但它有两个潜在的问题:
如果被测量的参数本身表现出周期行为,那么存在一个可能性:如果周期碰巧相同
(或者周期直接相同或者一个是另一个的倍数),抽样会仅仅观察到周期行为的一部分。
与这个问题有关的是周期抽样能被容易地预测的观念。如果有网络组件能临时被改动的
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -