この文書はRFC2330の日本語訳(和訳)です。 この文書の翻訳内容の正確さは保障できないため、 正確な知識や情報を求める方は原文を参照してください。 翻訳者はこの文書によって読者が被り得る如何なる損害の責任をも負いません。 この翻訳内容に誤りがある場合、訂正版の公開や、 誤りの指摘は適切です。 この文書の配布は元のRFC同様に無制限です。
Network Working Group V. Paxson Request for Comments: 2330 Lawrence Berkeley National Lab Category: Informational G. Almes Advanced Network & Services J. Mahdavi M. Mathis Pittsburgh Supercomputer Center May 1998 Framework for IP Performance Metrics IP能力測定のための枠組み 1. Status of this Memo 1. この文書の状態 This memo provides information for the Internet community. It does not specify an Internet standard of any kind. Distribution of this memo is unlimited. このメモはインターネット共同体のための情報を供給します。これはインター ネット標準を指定しません。このメモの配布は無制限です。 2. Copyright Notice 2. 著作権表示 Copyright (C) The Internet Society (1998). All Rights Reserved. Table of Contents 目次 1. Status of this Memo 1. この文書の状態 2. Copyright Notice 2. 著作権表示 3. Introduction 3. はじめに 4. Criteria for IP Performance Metrics 4. IP能力測定の基準 5. Terminology for Paths and Clouds 5. パスと雲の用語 6. Fundamental Concepts 6. 基本的な概念 6.1. Metrics 6.1. 測定量 6.2. Measurement Methodology 6.2. 測定方法 6.3. Measurements, Uncertainties, and Errors 6.3. 測定と不確実とエラー 7. Metrics and the Analytical Framework 7. 測定量と分析の枠組み 8. Empirically Specified Metrics 8. 経験的測定量指定 9. Two Forms of Composition 9. 2つの構成フォーム 9.1. Spatial Composition of Metrics 9.1. 測定量の空間成分 9.2. Temporal Composition of Formal Models and Empirical Metrics 9.2. 正式モデルと経験的測定量の時間の成分 10. Issues related to Time 10. 時間と関係がある問題 10.1. Clock Issues 10.1. 時計問題 10.2. The Notion of "Wire Time" 10.2. 「ワイヤ時間」の考え 11. Singletons, Samples, and Statistics 11. 単体、サンプルと統計値 11.1. Methods of Collecting Samples 11.1. サンプル収集方法 11.1.1. Poisson Sampling 11.1.1. ポアソンサンプリング 11.1.2. Geometric Sampling 11.1.2. 幾何学的サンプリング 11.1.3. Generating Poisson Sampling Intervals 11.1.3. ポアソンサンプリング間隔の生成 11.2. Self-Consistency 11.2. 自己一貫性 11.3. Defining Statistical Distributions 11.3. 統計分布の定義 11.4. Testing For Goodness-of-Fit 11.4. 適合性試験 12. Avoiding Stochastic Metrics 12. 推計的測定量の回避 13. Packets of Type P 13. タイプPパケット 14. Internet Addresses vs. Hosts 14. インターネットアドレス対ホスト 15. Standard-Formed Packets 15. 標準形式パケット 16. Acknowledgements 16. 謝辞 17. Security Considerations 17. セキュリティ考慮 18. Appendix 18. 付録 19. References 19. 参考文献 20. Authors' Addresses 20. 著者のアドレス 21. Full Copyright Statement 21. 完全著作権表示 3. Introduction 3. はじめに The purpose of this memo is to define a general framework for particular metrics to be developed by the IETF's IP Performance Metrics effort, begun by the Benchmarking Methodology Working Group (BMWG) of the Operational Requirements Area, and being continued by the IP Performance Metrics Working Group (IPPM) of the Transport Area. このメモの目的は、運用分野の基準論ワーキンググループ(BMWG)で 開始し、転送分野のIP能力測定ワーキンググループ(IPPM)で続け られている特定の測定量と、IETFのIP能力測定の取り組みの発展の ための一般的な枠組みを定義することです。 We begin by laying out several criteria for the metrics that we adopt. These criteria are designed to promote an IPPM effort that will maximize an accurate common understanding by Internet users and Internet providers of the performance and reliability both of end- to-end paths through the Internet and of specific 'IP clouds' that comprise portions of those paths. 我々は我々が採用する測定量のいくつかの基準を説明することから始めます。 これらの基準は、インターネットを通してエンドエンドと、そのパスの一部 を含む特定の「IP雲」の両方について、インターネットユーザとインター ネットプロバイダによる、能力と信頼性の正確な共通認識を最大化するため IPPMの取り組みの促進を意図します。 We next define some Internet vocabulary that will allow us to speak clearly about Internet components such as routers, paths, and clouds. 我々は次に、明確にルーターとパスと雲のようなインターネット構成要素を 話すことを許すため、いくつかのインターネット用語を定義します。 We then define the fundamental concepts of 'metric' and 'measurement methodology', which allow us to speak clearly about measurement issues. Given these concepts, we proceed to discuss the important issue of measurement uncertainties and errors, and develop a key, somewhat subtle notion of how they relate to the analytical framework shared by many aspects of the Internet engineering discipline. We then introduce the notion of empirically defined metrics, and finish this part of the document with a general discussion of how metrics can be 'composed'. 我々はそれから「測定量」と「測定方法」の基本的な概念を定義し、これは 明らかに測定問題を我々が話することを許します。これらの概念という条件 のもとで、我々は測定の不安定とエラーの重要な問題を議論を続行し、イン ターネット工学分野の多くの面で共有された分析的な枠組みにかかわる鍵と なる幾分微妙な考えを開発します。我々はそれから経験的に定義された測定 量の考えを紹介して、そして測定量がどのように「成り立つ」かの一般的な 論議で文書のこの部分を終えます。 The remainder of the document deals with a variety of issues related to defining sound metrics and methodologies: how to deal with imperfect clocks; the notion of 'wire time' as distinct from 'host time'; how to aggregate sets of singleton metrics into samples and derive sound statistics from those samples; why it is recommended to avoid thinking about Internet properties in probabilistic terms (such as the probability that a packet is dropped), since these terms often include implicit assumptions about how the network behaves; the utility of defining metrics in terms of packets of a generic type; the benefits of preferring IP addresses to DNS host names; and the notion of 'standard-formed' packets. An appendix discusses the Anderson-Darling test for gauging whether a set of values matches a given statistical distribution, and gives C code for an implementation of the test. 文書の残りがいろいろな種類の測定量と方法を定義することと関連がある問 題を扱います:不完全な時計を扱う方法;同じぐらい「ホスト時間」と別の 「ワイヤ時間」の考え;サンプルの中に単体測定量の集合を集めて、そして それらのサンプルからいろいろな統計を得る方法;(パケット損失率のよう な)確率用語が、しばしばどのようにネットワークが振る舞うかの暗黙の仮 定を含むから、インターネット特性について考える際に避けることが勧めら れる理由;一般的なタイプのパケットに関して測定量の定義に役立つもの; IPアドレスの方がDNSホスト名より好ましい理由;「標準形式」パケッ トの考え。付録が値の集合が所定の統計分布に合うかどうか判断するアンダー ソン−ダーリンテストを論じ、テスト実装のCコードを与えます。 In some sections of the memo, we will surround some commentary text with the brackets {Comment: ... }. We stress that this commentary is only commentary, and is not itself part of the framework document or a proposal of particular metrics. In some cases this commentary will discuss some of the properties of metrics that might be envisioned, but the reader should assume that any such discussion is intended only to shed light on points made in the framework document, and not to suggest any specific metrics. ある章で、我々は括弧書き{コメント:・・・}である論評文を囲むでしょう。 我々はこの論評がただ論評だけであり、そして枠組みの文書の一部あるいは 特定の測定量の提案でないことを強調します。ある場合にはこの論評は予測 されるある測定量の特性を論じるでしょうが、読者はこのような論議が特定 の測定量を示唆するのではなく、枠組みの文書で取り上げていない部分を浮 かび上がらせる意図だけだと想定するべきです。 4. Criteria for IP Performance Metrics 4. IP能力測定の基準 The overarching goal of the IP Performance Metrics effort is to achieve a situation in which users and providers of Internet transport service have an accurate common understanding of the performance and reliability of the Internet component 'clouds' that they use/provide. IP能力測定の取り組みの支配的な目標は、インターネット転送サービスの ユーザーと供給者が、使用/供給するインターネット構成要素「雲」の、性 能と信頼性の共通認識を持つ状態を成立させることです。 To achieve this, performance and reliability metrics for paths through the Internet must be developed. In several IETF meetings criteria for these metrics have been specified: これを成し遂げるために、インターネットを通るパスの能力と信頼性測定が 開発されなくてはなりません。いくつかのIETFミーティングでこれらの 測定量の基準が指定されました: + The metrics must be concrete and well-defined, + 測定量は具体的で明瞭であるに違いありません。 + A methodology for a metric should have the property that it is repeatable: if the methodology is used multiple times under identical conditions, the same measurements should result in the same measurements. + 測定方法が再現可能で次の特性を持つべきです:もし多数の同一状態下 でその測定方法が使われたら、同じ測定は同じ結果をもたらすべきです。 + The metrics must exhibit no bias for IP clouds implemented with identical technology, + IP雲を同一技術での測定結果が歪みを示してはならない、 + The metrics must exhibit understood and fair bias for IP clouds implemented with non-identical technology, + 同一でない技術での測定結果は、理解可能でかつ公平な傾向を示さなくて はなりません、 + The metrics must be useful to users and providers in understanding the performance they experience or provide, + 測定量は、ユーザが経験するかプロバイダが供給する能力を理解する際に 有用であるに違いありません。 + The metrics must avoid inducing artificial performance goals. + 測定量は不自然な性能目標を誘発するのを避けなくてはなりません。 5. Terminology for Paths and Clouds 5. パスと雲の用語 The following list defines terms that need to be precise in the development of path metrics. We begin with low-level notions of 'host', 'router', and 'link', then proceed to define the notions of 'path', 'IP cloud', and 'exchange' that allow us to segment a path into relevant pieces. 次のリストはパス測定の開発で正確である必要がある用語を定義します。我 々は「ホスト」と「ルータ」と「リンク」の低レベルの考えから始めて、そ して次に、我々にパスを適切な破片に分割することを可能にする「パス」と 「IP雲」と「交換」の考えの定義を行います。 host A computer capable of communicating using the Internet protocols; includes "routers". ホスト インターネットプロトコルを使って通信ができるコンピュータ; 「ルータ」を含む。 link A single link-level connection between two (or more) hosts; includes leased lines, ethernets, frame relay clouds, etc. リンク 2つのホスト間の1つのリンクレベル接続;専用回線やイーサネット やフレームリレー網などを含みます。 routerA host which facilitates network-level communication between hosts by forwarding IP packets. ルータ IPパケットを転送することでホスト間のネットワーク通信を容易に するホスト。 path A sequence of the form < h0, l1, h1, ..., ln, hn >, where n >= 0, each hi is a host, each li is a link between hi-1 and hi, each h1...hn-1 is a router. A pair <li, hi> is termed a 'hop'. In an appropriate operational configuration, the links and routers in the path facilitate network-layer communication of packets from h0 to hn. Note that path is a unidirectional concept. パス n >= 0に対する< h0, l1, h1, ..., ln, hn >形式の連続、各hiはホス トで、各liはhi-1とhiの間のリンクで、各h1〜hn-1はルータです。 <li, hi>対は「ホップ」と呼ばれます。適切な運用設定で、パスのリン クとルーターはh0からhnまでのパケットのネットワーク層通信を容易に します。パスが一方向性の概念であることに注意してください。 subpath Given a path, a subpath is any subsequence of the given path which is itself a path. (Thus, the first and last element of a subpath is a host.) サブパス 与えられたパスの部分集合で、それ自身パスであるものです。(つまり、 サブパスの最初と最後の要素はホストです)。 cloudAn undirected (possibly cyclic) graph whose vertices are routers and whose edges are links that connect pairs of routers. Formally, ethernets, frame relay clouds, and other links that connect more than two routers are modelled as fully-connected meshes of graph edges. Note that to connect to a cloud means to connect to a router of the cloud over a link; this link is not itself part of the cloud. 雲 頂点がルータで、辺がが対のルータを結ぶリンクの、(多分輪になった) 無向グラフ。公式に、イーサネットやフレームリレーや他のリンクは、 2つ以上のルータがつながったリンクは、完全メッシュグラフでモデル 化します。雲につなぐのは、雲のルータにリンクでつなぐことなのに注 意してください;このリンクは雲の一部ではありません。 exchange 交換 A special case of a link, an exchange directly connects either a host to a cloud and/or one cloud to another cloud. リンクの特別な場合で、交換がホストを雲に直接つないだり、雲を他の 雲に直接つないだりします。 cloud subpath 雲サブパス A subpath of a given path, all of whose hosts are routers of a given cloud. 与えられたパスのサブパスで、そのホストは全て与えられた雲のルータ であもの。 path digest パス要約 A sequence of the form < h0, e1, C1, ..., en, hn >, where n >= 0, h0 and hn are hosts, each e1 ... en is an exchange, and each C1 ... Cn-1 is a cloud subpath. n >= 0に対して、< h0, e1, C1,..., en, hn >形式の連続で、h0とhnは ホストで、各e1からenは交換で、各C1からCn-1は雲サブパスです。 6. Fundamental Concepts 6. 基本的な概念 6.1. Metrics 6.1. 測定量 In the operational Internet, there are several quantities related to the performance and reliability of the Internet that we'd like to know the value of. When such a quantity is carefully specified, we term the quantity a metric. We anticipate that there will be separate RFCs for each metric (or for each closely related group of metrics). 運用中のインターネットで、我々が値を知りたいインターネットの性能と信 頼性に関係があるいくつかの量があります。このような量が慎重に指定され る時、我々は量を測定量と呼びます。我々は各測定量のために(あるいは各 測定量に密接に関連したグループのために)別のRFCがあるであろうこと を予想します。 In some cases, there might be no obvious means to effectively measure the metric; this is allowed, and even understood to be very useful in some cases. It is required, however, that the specification of the metric be as clear as possible about what quantity is being specified. Thus, difficulty in practical measurement is sometimes allowed, but ambiguity in meaning is not. ある場合には、効率的に測定量を測る明白な手段がないかもしれません;こ れは許されて、そしてある場合には非常に有用と理解されます。しかしなが ら、測定量の仕様書が、何の量が指定されているかについて、可能な限り明 確であることは、要求されます。それで、実用的な測定の困難が時々許され、 ますが、意味でのあいまい性は許されません。 Each metric will be defined in terms of standard units of measurement. The international metric system will be used, with the following points specifically noted: それぞれの測定量が測定標準単位に関して定義されるでしょう。国際的な メートル法は特に次の様に使われるでしょう: + When a unit is expressed in simple meters (for distance/length) or seconds (for duration), appropriate related units based on thousands or thousandths of acceptable units are acceptable. Thus, distances expressed in kilometers (km), durations expressed in milliseconds (ms), or microseconds (us) are allowed, but not centimeters (because the prefix is not in terms of thousands or thousandths). + 単位が単純なメートル(距離/長さで)、あるいは秒(持続時間)で表現 される時、許容できる単位の千や千分の1に基づいた適切な関連単位は許 容できます。つまり、キロメートル(km)で表現された距離や、ミリセカ ンド(ms)やマイクロセカンド(us)で表現された持続時間が許されます が、センチメートルは許されません(プレフィックスが千や千分の1に関 してないから)。 + When a unit is expressed in a combination of units, appropriate related units based on thousands or thousandths of acceptable units are acceptable, but all such thousands/thousandths must be grouped at the beginning. Thus, kilo-meters per second (km/s) is allowed, but meters per millisecond is not. + 単位が単位の組合せで表現される時、許容できる単位の千や千分の1に基 づいた適切な関連単位は許容できますが、すべて千や千分の1は始めにま とめなくてはなりません。それで、秒毎にキロメートル(km/s)は許され ますが、ミリ秒毎にメートルは許されません。 + The unit of information is the bit. + 情報単位はビットです。 + When metric prefixes are used with bits or with combinations including bits, those prefixes will have their metric meaning (related to decimal 1000), and not the meaning conventional with computer storage (related to decimal 1024). In any RFC that defines a metric whose units include bits, this convention will be followed and will be repeated to ensure clarity for the reader. + 測定量の単位がビットやビットを含む組合せの時、それらの単位はコン ピュータの記憶装置で使われる意味(10進数の1024に関連する)で はなく、メートル法の意味(10進数の1000に関連する)を持つでしょ う。単位にビットを含む測定を定義するRFCはこの習慣に従い、読者に 明快さを保証するために繰り返されるでしょう。 + When a time is given, it will be expressed in UTC. + 時刻が与えられる時、それはUTCで表現されるでしょう。 Note that these points apply to the specifications for metrics and not, for example, to packet formats where octets will likely be used in preference/addition to bits. これらのポイントが測定量の仕様に当てはまり、例えば、パケットフォーマッ トはビットよりも/に追加でオクテットが使われることに注意してください。 Finally, we note that some metrics may be defined purely in terms of other metrics; such metrics are call 'derived metrics'. 最終的に、我々はある測定量が他の測定量に関して純粋に定義されるかもし れないことを指摘します;このような測定量は「派生測定量」と呼ばれます。 6.2. Measurement Methodology 6.2. 測定方法 For a given set of well-defined metrics, a number of distinct measurement methodologies may exist. A partial list includes: 明瞭に定義された測定量に対し、多くの別の測定方法が存在するかもしれま せん。以下は部分的なリストです: + Direct measurement of a performance metric using injected test traffic. Example: measurement of the round-trip delay of an IP packet of a given size over a given route at a given time. + 注入したテストトラフィックを使って能力の直接測定。例:特定の時刻に 特定の経路で特定の大きさのIPパケットの往復遅延の測定。 + Projection of a metric from lower-level measurements. Example: given accurate measurements of propagation delay and bandwidth for each step along a path, projection of the complete delay for the path for an IP packet of a given size. + より低レベルの測定量からの予測測定。例:パスの各ステップでの伝播遅 延とバンド幅の正確な測定を基に、特定のサイズのIPパケットのパスで の遅延の計算予測。 + Estimation of a constituent metric from a set of more aggregated measurements. Example: given accurate measurements of delay for a given one-hop path for IP packets of different sizes, estimation of propagation delay for the link of that one-hop path. + 多く測定量の集約からの、要素の概算測定。例:異なったサイズのIPパ ケットで特定の1ホップパスの遅延の正確な測定から、その1ホップパス リンクの伝播遅延の概算。 + Estimation of a given metric at one time from a set of related metrics at other times. Example: given an accurate measurement of flow capacity at a past time, together with a set of accurate delay measurements for that past time and the current time, and given a model of flow dynamics, estimate the flow capacity that would be observed at the current time. + 他の時刻に測定した結果から、ある時刻の測定量の概算。例:過去の時刻 に流れの容量の正確な測定結果が与えられて、過去と現在の正確な遅延時 間の測定結果が与えられ、そして流体力学モデルの条件のもとで、現在の 観察される流れの容量の見積。 This list is by no means exhaustive. The purpose is to point out the variety of measurement techniques. このリストは決して完全ではありません。目的は測定テクニックの多種多様 さを指摘することです。 When a given metric is specified, a given measurement approach might be noted and discussed. That approach, however, is not formally part of the specification. ある測定量が指定される時、ある測定方法が書かれ、議論されるかもしれま せん。しかしながら、その方法は公式には仕様書の一部でありません。 A methodology for a metric should have the property that it is repeatable: if the methodology is used multiple times under identical conditions, it should result in consistent measurements. 測定量の測定方法は再現可能な特性を持つべきです:もし測定方法が同一状 態下で何度も使われたら、一貫した測定結果をもたらすべきです。 Backing off a little from the word 'identical' in the previous paragraph, we could more accurately use the word 'continuity' to describe a property of a given methodology: a methodology for a given metric exhibits continuity if, for small variations in conditions, it results in small variations in the resulting measurements. Slightly more precisely, for every positive epsilon, there exists a positive delta, such that if two sets of conditions are within delta of each other, then the resulting measurements will be within epsilon of each other. At this point, this should be taken as a heuristic driving our intuition about one kind of robustness property rather than as a precise notion. 前の段落の単語「同一」から少し戻って、我々はある方法の特性を記述する ために、正確な単語「連続性」を使うことができます:ある測定の方法が、 もし少し異なる状態で、測定結果が少しだけ違うなら、連続性を示します。 より正確に言うと、全ての正の数のイプシロンに対し、正の数デルタがあり、 2つの状態がデルタ以内であれば、それぞれの測定結果はイプシロン以内に なる時に連続です。この時点で、これは正確な考えというより、一種の安定 特性に関する我々の直観力の助けと思われるべきです。 A metric that has at least one methodology that exhibits continuity is said itself to exhibit continuity. 少なくとも1つの連続性を示す測定方法を持つ測定量がそれ自身連続性を示 すと言われます。 Note that some metrics, such as hop-count along a path, are integer- valued and therefore cannot exhibit continuity in quite the sense given above. 若干の、パスに沿ってのホップカウントのような測定量が整数値で、従って 上記の意味での連続性を示すことができないことを指摘します。 Note further that, in practice, it may not be practical to know (or be able to quantify) the conditions relevant to a measurement at a given time. For example, since the instantaneous load (in packets to be served) at a given router in a high-speed wide-area network can vary widely over relatively brief periods and will be very hard for an external observer to quantify, various statistics of a given metric may be more repeatable, or may better exhibit continuity. In that case those particular statistics should be specified when the metric is specified. さらに、実際は与えられた時刻における測定に関係がある状態を知ること (あるいは数量化)が実際的ではないかもしれないことを指摘します。例え ば、高速の広域ネットワークであるルータにおける瞬間的な負荷(扱ってい るパケット)が比較的短時間に大きく変化でき、外部の観察者にとって数量 化が非常に難しいであろうから、ある測定量の種々な統計値は再現可能であ るかもしれないか、あるいはもっと良く連続性を示してもよいです。このよ うな場合それらの特定の統計値は、測定量が指定される時、指定されるべき です。 Finally, some measurement methodologies may be 'conservative' in the sense that the act of measurement does not modify, or only slightly modifies, the value of the performance metric the methodology attempts to measure. {Comment: for example, in a wide-are high-speed network under modest load, a test using several small 'ping' packets to measure delay would likely not interfere (much) with the delay properties of that network as observed by others. The corresponding statement about tests using a large flow to measure flow capacity would likely fail.} 最終的に、ある測定方法が測ろうと試みる能力の価を変えないか、あるいは わずかにしか変えないという意味で、「保守的」であるかもしれません。 {コメント:例えば、適度な負荷の元での広帯域高速ネットワークで、遅れ を測るためにいくつかの小さい「ピング」パケットを使ったテストは、他の 人たちに観察されるように、多分(ほとんど)そのネットワークの遅延特性 を妨害しないでしょう。流れ容量を測るために大きい流れを使うテストにつ いての対応する主張は多分失敗するでしょう} 6.3. Measurements, Uncertainties, and Errors 6.3. 測定と不確実とエラー Even the very best measurement methodologies for the very most well behaved metrics will exhibit errors. Those who develop such measurement methodologies, however, should strive to: 最も行儀が良い測定量のための最も良い測定方法さえエラーを示すでしょう。 このような測定方法を開発する人たちは、しかしながら、以下の努力をする べきです: + minimize their uncertainties/errors, + 不確実/エラーを最小にします、 + understand and document the sources of uncertainty/error, and + 不確実/エラーの原因を理解し、文書化します、そして + quantify the amounts of uncertainty/error. + 不確実/エラーの量を数量化してください。 For example, when developing a method for measuring delay, understand how any errors in your clocks introduce errors into your delay measurement, and quantify this effect as well as you can. In some cases, this will result in a requirement that a clock be at least up to a certain quality if it is to be used to make a certain measurement. 例えば、遅延を測る方法を発展させる時、あなたの時計のエラーがどのよう に遅延測定にエラーをもたらすか理解し、そしてできるかぎりこの効果を数 量化してください。ある場合には、これはある測定に使われる時計の品質を、 少なくともあるレベルにする必要条件をもたらすでしょう。 As a second example, consider the timing error due to measurement overheads within the computer making the measurement, as opposed to delays due to the Internet component being measured. The former is a measurement error, while the latter reflects the metric of interest. Note that one technique that can help avoid this overhead is the use of a packet filter/sniffer, running on a separate computer that records network packets and timestamps them accurately (see the discussion of 'wire time' below). The resulting trace can then be analyzed to assess the test traffic, minimizing the effect of measurement host delays, or at least allowing those delays to be accounted for. We note that this technique may prove beneficial even if the packet filter/sniffer runs on the same machine, because such measurements generally provide 'kernel-level' timestamping as opposed to less-accurate 'application-level' timestamping. 2番目の例として、測定をしている測定コンピュータの測定オーバーヘッド のタイミングエラーと、インターネット要素ののタイミングエラーがの対比 を考えてください。前者は測定エラーで、他方後者は関心のある測定を反映 します。このオーバーヘッドを避けることができる1つのテクニックは、ネッ トワークパケットを記録して正確にタイムスタンプを捺す、別のコンピュー タ上で走るパケットフィルター/スニファの使用です(下記の「ワイヤ時間」 の議論を見てください)。結果として生じている跡は、測定ホスト遅延の効 果を最小にするか、少なくともそれらの遅延の説明を許し、テストトラフィッ クを算定するためにそれらの解析を許します。我々は、たとえパケットフィ ルター/スニファが同じマシン上で走っていても、このテクニックが有益か もしれないことを指摘します、なぜならこのような測定は一般に、「アプリ ケーションレベル」タイムスタンプと対照した場合より精度の高い、カーネ ルレベルのタイムスタンプを供給するからです。 Finally, we note that derived metrics (defined above) or metrics that exhibit spatial or temporal composition (defined below) offer particular occasion for the analysis of measurement uncertainties, namely how the uncertainties propagate (conceptually) due to the derivation or composition. 最終的に、我々は(上に定義された)得られた測定量、あるいは(下に定義 された)空間あるいは時間の構成を示す測定量で、測定の不確実さの分析の ために、特定の理由、すなわち不確実がが派生や合成で(概念的に)増加す る方法を提供します。 7. Metrics and the Analytical Framework 7. 測定量と分析の枠組み As the Internet has evolved from the early packet-switching studies of the 1960s, the Internet engineering community has evolved a common analytical framework of concepts. This analytical framework, or A- frame, used by designers and implementers of protocols, by those involved in measurement, and by those who study computer network performance using the tools of simulation and analysis, has great advantage to our work. A major objective here is to generate network characterizations that are consistent in both analytical and practical settings, since this will maximize the chances that non- empirical network study can be better correlated with, and used to further our understanding of, real network behavior. インターネットが1960年代の初期のパケット交換研究から生まれたよう に、インターネットエンジニアリング共同体は概念の共通の分析の枠組みを 発展させました。この分析の枠組み、あるいはAフレームは、デザイナーと プロトコルの実装者によって、測定に関係している人々によって、そしてシ ミュレーションツールと分析ツールを使ってコンピュータ・ネットワーク能 力を研究する人たちによって使われ、我々の仕事に大きい利点を持っていま す。ここの主要な目的は分析や実際の設定で矛盾がないネットワーク特性を 生成することです、これは経験的でないネットワーク研究が実ネットワーク の振舞いにより接近し、理解を進める最大のチャンスです。 Whenever possible, therefore, we would like to develop and leverage off of the A-frame. Thus, whenever a metric to be specified is understood to be closely related to concepts within the A-frame, we will attempt to specify the metric in the A-frame's terms. In such a specification we will develop the A-frame by precisely defining the concepts needed for the metric, then leverage off of the A-frame by defining the metric in terms of those concepts. 可能である時はいつでも、それ故に、我々はAフレームを開発して、借り入 れしたいです。それで、指定される測定量がAフレームの概念に密接に関係 があると理解される時はいつでも、我々はAフレームの基準で測定量を指定 しようと試みるでしょう。このような仕様書で我々は正確に測定量に必要な 概念を定義することでAフレームを開発するでしょう、そして、これらの概 念に関する測定量を定義する際にAフレームを使うでしょう。 Such a metric will be called an 'analytically specified metric' or, more simply, an analytical metric. このような測定量は「分析的に指定された測定量」と呼ばれるか、あるいは、 もっとただ分析測定量と呼ばれるでしょう。 {Comment: Examples of such analytical metrics might include: {コメント:このような分析的な測定量の例が以下を含むかもしれません: propagation time of a link リンク伝播時間 The time, in seconds, required by a single bit to travel from the output port on one Internet host across a single link to another Internet host. 1ビットが1つのインターネットホストの出力ポートからひとつのリンク を通って他のインターネットホストに移動するのに必要な、秒単位の、時 間。 bandwidth of a link for packets of size k サイズkのパケットのためのリンクのバンド幅 The capacity, in bits/second, where only those bits of the IP packet are counted, for packets of size k bytes. 大きさkバイトのパケットだけを考慮した、ビット/秒での、容量。 routeThe path, as defined in Section 5, from A to B at a given time. 経路 5章とで定義された、AからBへの特定の時刻のパス。 hop count of a route 経路のホップカウント The value 'n' of the route path. 経路パスの値「n」。 } } Note that we make no a priori list of just what A-frame concepts will emerge in these specifications, but we do encourage their use and urge that they be carefully specified so that, as our set of metrics develops, so will a specified set of A-frame concepts technically consistent with each other and consonant with the common understanding of those concepts within the general Internet community. 我々がAフレームのどの概念がこれらの仕様書で出現するかの仮定のリス トを作らないことを注意してください、しかし我々はこれらの使用を奨励 して、測定量の開発に際して、であるように技術的にお互いと整合性があ り、そして一般的なインターネット共同体のそれらの概念の共通認識と一 致したAフレーム概念が慎重に指定されるすることを強く主張します。 These A-frame concepts will be intended to abstract from actual Internet components in such a way that: これらのAフレーム概念は実際のインターネット成分から以下のような方 法で要約する意図があるでしょう: + the essential function of the component is retained, + 要素の不可欠な機能は維持される、 + properties of the component relevant to the metrics we aim to create are retained, + 我々が作る事を狙いう測定量に関係がある要素の特性が維持される + a subset of these component properties are potentially defined as analytical metrics, and + これらの要素の特性の一部は潜在的に分析的な測定量と定義される、そし て + those properties of actual Internet components not relevant to defining the metrics we aim to create are dropped. + それらの我々が作ることを目指す測定量を定義することと関係がない実際 のインターネット要素の特性は落とされます。 For example, when considering a router in the context of packet forwarding, we might model the router as a component that receives packets on an input link, queues them on a FIFO packet queue of finite size, employs tail-drop when the packet queue is full, and forwards them on an output link. The transmission speed (in bits/second) of the input and output links, the latency in the router (in seconds), and the maximum size of the packet queue (in bits) are relevant analytical metrics. 例えば、パケット転送環境でルーターを考える時、我々はルータを、ある入 力リンクからパケットを受取り、有限長のFIFOパケット待ち行列に入れ、 パケット待ち行列が満杯のとき最後の1つを破棄し、パケットを出力リンク に転送するものとモデル化するかもしれません。入力リンクと出力リンクの 転送スピード(ビット/秒)と、ルータの遅延(秒)と、最大パケット待ち 行列サイズ(ビット)が適切な分析的な測定量です。 In some cases, such analytical metrics used in relation to a router will be very closely related to specific metrics of the performance of Internet paths. For example, an obvious formula (L + P/B) involving the latency in the router (L), the packet size (in bits) (P), and the transmission speed of the output link (B) might closely approximate the increase in packet delay due to the insertion of a given router along a path. ある場合には、このような関係でルーターに使った分析的な測定量は非常に 密接にインターネットパスの能力の特定の測定量と関係があるでしょう。例 えば、ルータ反応時間(L)とパケットサイズ(ビット)(P)と出力リン ク伝達速度(B)による式(L+P/B)が、パスにあるルータを入れた場 合のパケット遅延の増加の概算かもしれません。 We stress, however, that well-chosen and well-specified A-frame concepts and their analytical metrics will support more general metric creation efforts in less obvious ways. 我々は、しかしながら、精選されよく指定されたAフレーム概念とそれらの 分析的な測定量が明白でない方法でより一般的な測定量の生成の取り組みを 支援することを強調します。 {Comment: for example, when considering the flow capacity of a path, it may be of real value to be able to model each of the routers along the path as packet forwarders as above. Techniques for estimating the flow capacity of a path might use the maximum packet queue size as a parameter in decidedly non-obvious ways. For example, as the maximum queue size increases, so will the ability of the router to continuously move traffic along an output link despite fluctuations in traffic from an input link. Estimating this increase, however, remains a research topic.} {コメント:例えば、パスの流れ容量を考えるとき、パス上の各ルータが上 記のようにパケット転送とモデル化したときの真の値かもしれません。パス の流れ容量を見積もるためのテクニックが明らかに非自明なパラメータの最 大パケット行列サイズを使うかもしれません。例えば、最大の待ち行列サイ ズが増加するにつれて、ルータの入力リンクのトラフィック変動にかかわら ず連続的にトラフィックを出力リンクに動かす能力を持つでしょう。この増 加を推測することは、しかしながら、研究トピックのままでいます。} Note that, when we specify A-frame concepts and analytical metrics, we will inevitably make simplifying assumptions. The key role of these concepts is to abstract the properties of the Internet components relevant to given metrics. Judgement is required to avoid making assumptions that bias the modeling and metric effort toward one kind of design. 我々がAフレーム概念と分析的な測定量を指定する時、我々が必然的に単純 化を仮定にすることに注意してください。これらの概念の重要な役割は特定 の測定量に関係があるインターネット要素の特性を抽象化するはずです。1 つのデザインに向かってモデルと測定量の偏見を生じるような仮定を避ける 判断が要求されます。 {Comment: for example, routers might not use tail-drop, even though tail-drop might be easier to model analytically.} {コメント:例えば、最後のパケットを捨てる方法が分析的にモデル化する のがより容易かもしれないが、ルーターが最後でないパケットを捨てるかも しれません。} Finally, note that different elements of the A-frame might well make different simplifying assumptions. For example, the abstraction of a router used to further the definition of path delay might treat the router's packet queue as a single FIFO queue, but the abstraction of a router used to further the definition of the handling of an RSVP- enabled packet might treat the router's packet queue as supporting bounded delay -- a contradictory assumption. This is not to say that we make contradictory assumptions at the same time, but that two different parts of our work might refine the simpler base concept in two divergent ways for different purposes. 最終的に、Aフレームの異なった要素が、異なった単純化の仮定をする事を 注意します。例えば、パス遅延の定義のために使われたルータの抽象概念は、 ルータのパケット待ち行列をひとつのFIFO待ち行列と取り扱うかもしれ ませんが、RSVPが可能なパケットの取り扱いの定義に使われたルータの 抽象概念はルータのパケット待ち行列を遅延限界をサポートしていると見な すかもしれません−矛盾した仮定。これは我々が同時に矛盾した仮定をする と言っているのではなく、我々の仕事の2つの異なった部分が異なった目的 のために多種多様な方法でより単純な基礎概念を改善するかもしれないと言っ ています。 {Comment: in more mathematical terms, we would say that the A-frame taken as a whole need not be consistent; but the set of particular A-frame elements used to define a particular metric must be.} {コメント:いっそう数学的な基準で、我々は全体としてとられたA−フレー ムが一貫している必要がないと言うでしょう;けれども要素が特定の測定量 を定義するために使った特定のA−フレームのセットはそうであるに違いあ りません。} 8. Empirically Specified Metrics 8. 経験的測定量指定 There are useful performance and reliability metrics that do not fit so neatly into the A-frame, usually because the A-frame lacks the detail or power for dealing with them. For example, "the best flow capacity achievable along a path using an RFC-2001-compliant TCP" would be good to be able to measure, but we have no analytical framework of sufficient richness to allow us to cast that flow capacity as an analytical metric. Aフレームの扱いでは詳しく述べたり力が欠けているため、それほどきちん とAフレームに収まらない、有用な能力と信頼性測定量があります。例えば、 「RFC−2001に従うTCPを使っているパスに沿って達成可能な最も 良い流れ容量」は測るのに良いでしょう、しかし我々は分析的な測定量とし てその流れ容量を表現するのに十分な豊富の分析的な枠組みを持っていませ ん。 These notions can still be well specified by instead describing a reference methodology for measuring them. これらの考えはその代わりにそれらを測定することに対する参照方法を記述 することで上手に指定できます。 Such a metric will be called an 'empirically specified metric', or more simply, an empirical metric. このような測定量は「経験的に指定された測定量」と呼ばれるでしょう、あ るいは簡単に、経験的な測定量。 Such empirical metrics should have three properties: このような経験的な測定量は3つの特性を持つべきです: + we should have a clear definition for each in terms of Internet components, + インターネット要素に関して、それぞれ明確な定義を持つべきです、 + we should have at least one effective means to measure them, and + 測定する手段を少なくとも1を持つべきである、そして、 + to the extent possible, we should have an (necessarily incomplete) understanding of the metric in terms of the A-frame so that we can use our measurements to reason about the performance and reliability of A-frame components and of aggregations of A-frame components. + 可能な程度に、Aフレーム要素とAフレーム要素の集約の能力と信頼性に ついて推論に測定を使うことができるように、Aフレームに関して測定量 の(不完全な)理解を持つべきです。 9. Two Forms of Composition 9. 2つの構成フォーム 9.1. Spatial Composition of Metrics 9.1. 測定量の空間成分 In some cases, it may be realistic and useful to define metrics in such a fashion that they exhibit spatial composition. ある場合には、その空間成分を示す方法で測定量を定義することが現実的で 有用であるかもしれません。 By spatial composition, we mean a characteristic of some path metrics, in which the metric as applied to a (complete) path can also be defined for various subpaths, and in which the appropriate A-frame concepts for the metric suggest useful relationships between the metric applied to these various subpaths (including the complete path, the various cloud subpaths of a given path digest, and even single routers along the path). The effectiveness of spatial composition depends: 空間の成分によって、我々はパスの特性をもくろみます、(完全な)パスに 適用されるその測定量は同様に種々なサブパスに定義でき、そしてその測定 量の適切なAフレーム概念が様々なサブパスに適用される測定量間の有用な 関係を示唆します(サブパスは、完全なパスと、所定のパス要約の種々の雲 サブパスと、パスに上のひとつのルータを含みます)。空間の成分の有効性 が以下に依存します: + on the usefulness in analysis of these relationships as applied to the relevant A-frame components, and + 適切なAフレーム成分への適用の関係分析での有用性、そして + on the practical use of the corresponding relationships as applied to metrics and to measurement methodologies. + 測定量と測定方法に適用された対応関係の実用的な使用 {Comment: for example, consider some metric for delay of a 100-byte packet across a path P, and consider further a path digest <h0, e1, C1, ..., en, hn> of P. The definition of such a metric might include a conjecture that the delay across P is very nearly the sum of the corresponding metric across the exchanges (ei) and clouds (Ci) of the given path digest. The definition would further include a note on how a corresponding relation applies to relevant A-frame components, both for the path P and for the exchanges and clouds of the path digest.} {コメント:例えば、パスP上の100バイトのパケットの遅延に関するある 測定量を考えて、そしてさらにPのパス要約<h0, e1, C1,..., en, hn>を考 えてください。このような測定量の定義はP上の遅延がが非常にほとんど与 えられたパス概要の交換(ei)と雲(Ci)に対応する測定量の合計であるという 推測を含むかもしれません。定義は対応する関係が適切なAフレームコンポー ネントに当てはまる方法の上に、共にパスPのためにそしてパス概要の交換 と雲のためにさらにメモを含むでしょう。} When the definition of a metric includes a conjecture that the metric across the path is related to the metric across the subpaths of the path, that conjecture constitutes a claim that the metric exhibits spatial composition. The definition should then include: 測定量の定義が、パスの測定量が、パスのサブパスの測定量と関係があると いう推測を含む時、その推測は測定量が空間の構成を示すという主張を形成 します。定義が以下を含むべきです: + the specific conjecture applied to the metric, + 測定量に適用された特定の推測、 + a justification of the practical utility of the composition in terms of making accurate measurements of the metric on the path, + パス上の測定量の正確な測定のに関して、実際的な成分の正当化、 + a justification of the usefulness of the composition in terms of making analysis of the path using A-frame concepts more effective, and + いっそう効率的なAフレーム概念を使っているパスの分析に関する成分の 有用性の正当化、そして + an analysis of how the conjecture could be incorrect. + 推測が間違いうるかの分析。 9.2. Temporal Composition of Formal Models and Empirical Metrics 9.2. 正式モデルと経験的測定量の時間の成分 In some cases, it may be realistic and useful to define metrics in such a fashion that they exhibit temporal composition. ある場合には、時間の成分を示す方法で測定量を定義することは現実的で、 そして有用であるかもしれません。 By temporal composition, we mean a characteristic of some path metric, in which the metric as applied to a path at a given time T is also defined for various times t0 < t1 < ... < tn < T, and in which the appropriate A-frame concepts for the metric suggests useful relationships between the metric applied at times t0, ..., tn and the metric applied at time T. The effectiveness of temporal composition depends: 時間の成分によって、我々はパス測定量を意図します、それはパスに時間T に適用される測定量がt0 < t1 < ... < tn < Tにも定義され、時間t0, ... , tnに適用される測定量間に有用な関係がある測定量にAフレーム概念に適 用され、時間Tに測定量が適用されます。時間有効性が以下の構成によりま す: + on the usefulness in analysis of these relationships as applied to the relevant A-frame components, and + 適切なAフレームコンポーネントに適用する、これらの関係の分析での有 用性、そして。 + on the practical use of the corresponding relationships as applied to metrics and to measurement methodologies. + 測定量にそして測定方法に適用された対応する関係の実用的な使用。 {Comment: for example, consider a metric for the expected flow capacity across a path P during the five-minute period surrounding the time T, and suppose further that we have the corresponding values for each of the four previous five-minute periods t0, t1, t2, and t3. The definition of such a metric might include a conjecture that the flow capacity at time T can be estimated from a certain kind of extrapolation from the values of t0, ..., t3. The definition would further include a note on how a corresponding relation applies to relevant A-frame components. {コメントし:例えば、時刻Tを含む5分間にパスPに期待された流れ容量 に関する測定量を考えて、そして4つの前の5分間t0とt1とt2とt3のそれぞ れで対応する値を持っていると考えてください。このような測定量の定義は 時刻Tにおいての流れ容量がt0、・・・、t3値からのある種類の推定から見 積りできるという推測を含むかもしれません。定義は、どのように対応する 関係が適切なAフレームコンポーネントに当てはまるかについて、さらにメ モを含むでしょう。 Note: any (spatial or temporal) compositions involving flow capacity are likely to be subtle, and temporal compositions are generally more subtle than spatial compositions, so the reader should understand that the foregoing example is intentionally naive.} ノート:どんな流れ容量でも伴う(空間、あるいは時間)成分が敏感である 可能性が高いです、そして時間の成分は一般に空間の成分よりいっそう敏感 です、それで読者は前述の例が意図的に誤りやすいことを理解するべきです。} When the definition of a metric includes a conjecture that the metric across the path at a given time T is related to the metric across the path for a set of other times, that conjecture constitutes a claim that the metric exhibits temporal composition. The definition should then include: 測定量の定義が、時刻Tのパス上の測定量が、他の時刻のパス上の測定量と関 係があるという推測を含む時、その推測は測定量が時間成分を含むという宣 言を形成します。定義が以下を含むべきです: + the specific conjecture applied to the metric, + 測定量に適用された特定の推測、 + a justification of the practical utility of the composition in terms of making accurate measurements of the metric on the path, and + パス上の測定量の実用的な成分についてて正確な測定の正当化、そして + a justification of the usefulness of the composition in terms of making analysis of the path using A-frame concepts more effective. + より効率的なAフレーム概念を使っているパスの分析に関して成分の有用 性の正当化。 10. Issues related to Time 10. 時間と関係がある問題 10.1. Clock Issues 10.1. 時計問題 Measurements of time lie at the heart of many Internet metrics. Because of this, it will often be crucial when designing a methodology for measuring a metric to understand the different types of errors and uncertainties introduced by imperfect clocks. In this section we define terminology for discussing the characteristics of clocks and touch upon related measurement issues which need to be addressed by any sound methodology. 時間測定が多くのインターネット測定量の心臓にあります。このため、不完 全な時計によって発生する異なるタイプの誤りと不確実を理解することは、 測定量を測る方法論を設計する時、しばしば決定的であるでしょう。この章 で我々は時計の特徴を論じることに対して専門用語を定義して、そしてどん な方法論でも扱われる必要がある関連した測定問題に簡単に触れます。 The Network Time Protocol (NTP; RFC 1305) defines a nomenclature for discussing clock characteristics, which we will also use when appropriate [Mi92]. The main goal of NTP is to provide accurate timekeeping over fairly long time scales, such as minutes to days, while for measurement purposes often what is more important is short-term accuracy, between the beginning of the measurement and the end, or over the course of gathering a body of measurements (a sample). This difference in goals sometimes leads to different definitions of terminology as well, as discussed below. ネットワーク時間プロトコル(NTP;RFC1305)は時計特性を議論 するための用語を定義し、これは[Mi92]で適切であれば使います。NTPの 主な目的は、分から日のかなり長い時間スケールで正確な時間維持を供給す ることで、他方測定の目的では測定の初めと終わりや、測定の本体(サンプ ル)を集める際の短期の正確さです。この目的の相違は、下に論じられるよ うに、用語の異なった定義に導きます。 To begin, we define a clock's "offset" at a particular moment as the difference between the time reported by the clock and the "true" time as defined by UTC. If the clock reports a time Tc and the true time is Tt, then the clock's offset is Tc - Tt. 最初に、「オフセット」をある瞬間の時計の報告した時間の差と定義し、 「実」時間をUTCで定義されるものとします。もし時計が時間Tcを報告し、 実時間がTtなら、時計のオフセットはTc−Ttです。 We will refer to a clock as "accurate" at a particular moment if the clock's offset is zero, and more generally a clock's "accuracy" is how close the absolute value of the offset is to zero. For NTP, accuracy also includes a notion of the frequency of the clock; for our purposes, we instead incorporate this notion into that of "skew", because we define accuracy in terms of a single moment in time rather than over an interval of time. 我々は、もし時計のオフセットがゼロであるなら、特定の瞬間において時計 を「正確」であると述べるでしょう、そしてより一般に時計の「正確さ」は オフセットの絶対値がゼロにどれぐらい近いかです。NTPでの正確さは時 計の頻度の考えを含みます;我々の目的で、我々が時間の間隔上ではなくあ る瞬間に関して正確さを定義するから、我々はその代わりに「ゆがみ」の考 えを取り入れます。 A clock's "skew" at a particular moment is the frequency difference (first derivative of its offset with respect to true time) between the clock and true time. ある瞬間の時計の「ゆがみ」は時計と実時間の間の頻度差です(実時間に関 するオフセットの最初の派生物)。 As noted in RFC 1305, real clocks exhibit some variation in skew. That is, the second derivative of the clock's offset with respect to true time is generally non-zero. In keeping with RFC 1305, we define this quantity as the clock's "drift". RFC1305で述べられるように、実際の時計はずれが変化を示します。 すなわち、時計の実時間に関するオフセットの2番目の派生物は一般にゼロ 以外です。RFC1305と整合するため、我々はこの量を時計の「ドリフ ト」と定義します。 A clock's "resolution" is the smallest unit by which the clock's time is updated. It gives a lower bound on the clock's uncertainty. (Note that clocks can have very fine resolutions and yet be wildly inaccurate.) Resolution is defined in terms of seconds. However, resolution is relative to the clock's reported time and not to true time, so for example a resolution of 10 ms only means that the clock updates its notion of time in 0.01 second increments, not that this is the true amount of time between updates. 時計の「解像度」は時計の時刻が更新される最も小さい単位です。これは時 計の不確さの下限を与えます。(時計が非常に素晴らしい解像度を持ち、そ してなおかつ不正確であり得ることを注意を払ってください。)解像度が秒 に関して定義されます。しかしながら、解像度は実時間にではなく、時計の 報告時間に相対的です、それで例えば10ミリセカンドの解像度は、更新の 間の本当の時間量ではなく、ただ時計が0.01の秒経過したと考えたとき に更新することを意味するだけです。 {Comment: Systems differ on how an application interface to the clock reports the time on subsequent calls during which the clock has not advanced. Some systems simply return the same unchanged time as given for previous calls. Others may add a small increment to the reported time to maintain monotone-increasing timestamps. For systems that do the latter, we do *not* consider these small increments when defining the clock's resolution. They are instead an impediment to assessing the clock's resolution, since a natural method for doing so is to repeatedly query the clock to determine the smallest non-zero difference in reported times.} {コメント:時計へのアプリケーションインタフェースが、次の呼び出し次 までに、時計が進まなかった時に、どのように報告するかは、システムによっ て異なります。あるシステムは単純に前の呼び出しと同じ時刻を返します。 他は、タイムスタンプが常に増加するように、小さな値を追加した時刻を報 告します。後者のシステムで、時計の解像度を定義する際に、この小さな値 は考慮*しません*。解像度を決定する自然な方法は、時計に繰り返し問合せ を行い、報告される時刻の最小のゼロ以外の差を決定する事なので、これは 時計の解像度を算定することへの障害です。} It is expected that a clock's resolution changes only rarely (for example, due to a hardware upgrade). 時計の解像度の変更はめったにないと思われます(例えば、ハードウェア アップグレードのために)。 There are a number of interesting metrics for which some natural measurement methodologies involve comparing times reported by two different clocks. An example is one-way packet delay [AK97]. Here, the time required for a packet to travel through the network is measured by comparing the time reported by a clock at one end of the packet's path, corresponding to when the packet first entered the network, with the time reported by a clock at the other end of the path, corresponding to when the packet finished traversing the network. 2つの異なった時計によって報告されたある自然な測定方法が時を比較する ことによる面白い測定量があります。例は一方向パケット遅延[AK97]です。 ほら、ネットワークを通過するパケットに時刻が必要なときに、パケットが ネットワークに入ったほうに対応するパスの一方の端の時計の報告値と、パ ケットがネットワークを通過し終えた時に対応する他の端の時計を比較する 測定です。 We are thus also interested in terminology for describing how two clocks C1 and C2 compare. To do so, we introduce terms related to those above in which the notion of "true time" is replaced by the time as reported by clock C1. For example, clock C2's offset relative to C1 at a particular moment is Tc2 - Tc1, the instantaneous difference in time reported by C2 and C1. To disambiguate between the use of the terms to compare two clocks versus the use of the terms to compare to true time, we will in the former case use the phrase "relative". So the offset defined earlier in this paragraph is the "relative offset" between C2 and C1. 我々はどのようにC1とC2の比較を記録を記述する用語に興味を持っていま す。そのため、我々は上記に関係する用語、「実時間」の考えが時計C1で 報告されるように置き換えられる用語を紹介します。例えば、特定の瞬間の 時計C2のC1に対するオフセットはTc2 - Tc1で、C2とC1によって報 告された時間における瞬間的な相違です。2つの時計の比較と実時間との比 較をあいまいさを排除するために、我々は前者で「相対的」を使うでしょう。 それでこの段落の前に定義されたオフセットはC2とC1の間の「相対的オ フセット」です。 When comparing clocks, the analog of "resolution" is not "relative resolution", but instead "joint resolution", which is the sum of the resolutions of C1 and C2. The joint resolution then indicates a conservative lower bound on the accuracy of any time intervals computed by subtracting timestamps generated by one clock from those generated by the other. 時計を比較するとき、「解像度」の類似は「相対的な解像度」ではありませ ん、しかしその代わりにC1とC2の解像度の合計である「結合解像度」で す。結合解像度は一方の時計の生成したタイムスタンプから他方の生成した タイムスタンプを引く事で計算した時間間隔の正確さの保守的な下限です。 If two clocks are "accurate" with respect to one another (their relative offset is zero), we will refer to the pair of clocks as "synchronized". Note that clocks can be highly synchronized yet arbitrarily inaccurate in terms of how well they tell true time. This point is important because for many Internet measurements, synchronization between two clocks is more important than the accuracy of the clocks. The is somewhat true of skew, too: as long as the absolute skew is not too great, then minimal relative skew is more important, as it can induce systematic trends in packet transit times measured by comparing timestamps produced by the two clocks. もし2つの時計がお互いに「正確」ならば(相対オフセットがゼロなら)、 我々は対の時計が「同期している」と言うでしょう。時計が実時間を告げる のに不正確でも高く同期することはかのうです。多くのインターネット測定 で、2つの時計の間の同期が時計の正確さより重要なので、この点は重要で す。これはゆがみについても同じです:これが2つの時計によって作り出さ れた測定パケットのタイムスタンプをを比較する際に組織的な傾向を誘発す るので、絶対的ゆがみが大きくても、最小相対歪みがより重要です。 These distinctions arise because for Internet measurement what is often most important are differences in time as computed by comparing the output of two clocks. The process of computing the difference removes any error due to clock inaccuracies with respect to true time; but it is crucial that the differences themselves accurately reflect differences in true time. インターネット測定でしばしば最も重要であるものは、2つの時計の出力を 比較することによって計算されるから、これらの区別が起きます。差を計算 する手順は本当の時間に関する時計の誤りのエラーを取り除きます;しかし、 本当の時間との相違を反映する、それらの時間差の正確さは決定的です。 Measurement methodologies will often begin with the step of assuring that two clocks are synchronized and have minimal skew and drift. {Comment: An effective way to assure these conditions (and also clock accuracy) is by using clocks that derive their notion of time from an external source, rather than only the host computer's clock. (These latter are often subject to large errors.) It is further preferable that the clocks directly derive their time, for example by having immediate access to a GPS (Global Positioning System) unit.} 測定方法がしばしば2つの時計の時間を合わせられることを確実にし、ゆが みやドリフトを最小にするステップから始まります。これらの条件(そして 同じく時計正確さ)を保証する効率的な方法は、ただホストコンピュータの 時計だけを使うのではなく、外部の情報源から時間の動向を得る時計を使う ことによります。(これらの後者はしばしば大きいエラーの適用を受けてい ます。)例えばGPS(全地球位置把握システム)ユニットに直接のアクセ スを持つことで、時計が直接時刻を得ることはさらに望ましいです。} Two important concerns arise if the clocks indirectly derive their time using a network time synchronization protocol such as NTP: もし時計がNTPのようなネットワーク同期プロトコルを使って間接的に時 を得るなら、2つの重要な懸念が起こります: + First, NTP's accuracy depends in part on the properties (particularly delay) of the Internet paths used by the NTP peers, and these might be exactly the properties that we wish to measure, so it would be unsound to use NTP to calibrate such measurements. + 最初に、NTPの正確さの一部はNTPピアとの間で使うインターネッパ スの特性(特に遅延)に依存します。そしてこれらは正確に我々が測るこ とを望む特性であるかもしれず、それでこのような測定に目盛りを付ける ためにNTPを使うことは不合理であるでしょう。 + Second, NTP focuses on clock accuracy, which can come at the expense of short-term clock skew and drift. For example, when a host's clock is indirectly synchronized to a time source, if the synchronization intervals occur infrequently, then the host will sometimes be faced with the problem of how to adjust its current, incorrect time, Ti, with a considerably different, more accurate time it has just learned, Ta. Two general ways in which this is done are to either immediately set the current time to Ta, or to adjust the local clock's update frequency (hence, its skew) so that at some point in the future the local time Ti' will agree with the more accurate time Ta'. The first mechanism introduces discontinuities and can also violate common assumptions that timestamps are monotone increasing. If the host's clock is set backward in time, sometimes this can be easily detected. If the clock is set forward in time, this can be harder to detect. The skew induced by the second mechanism can lead to considerable inaccuracies when computing differences in time, as discussed above. + 2番目、NTPの時計の正確さに対する見方は、短期的な時計のゆがみや ドリフトを生じさせます。例えば、ホストの時計が時間源に間接的に同期 する時、もし同期間隔がたまにであるなら、ホストは現在のかなり間違っ ている時刻Tiを、ちょうど学んだより正確な時間Taに調節する方法を どうするかというの問題に直面するでしょう。調整の一般的方法は、すぐ に現在の時をTaに設定する方法と、ローカル時計の更新頻度(つまりゆ がみ)を調節し、将来のある時点でローカル時刻Ti’がより正確な時刻 Ta’に一致させるようにする方法、の2通りです。最初のメカニズムは 不連続を導入し、同じくタイムスタンプが単調に増加するとの一般的な仮 定に違反します。もしホストの時計が古い時間に戻されるなら、時々これ は容易に発見されます。もし時計が未来の時間に進められるなら、これは 検出することがいっそう難しくなります。2番目の方法によるゆがみは、 上に論じられるように、時間の差を計算する時に重要な誤を誘発します。 To illustrate why skew is a crucial concern, consider samples of one-way delays between two Internet hosts made at one minute intervals. The true transmission delay between the hosts might plausibly be on the order of 50 ms for a transcontinental path. If the skew between the two clocks is 0.01%, that is, 1 part in 10,000, then after 10 minutes of observation the error introduced into the measurement is 60 ms. Unless corrected, this error is enough to completely wipe out any accuracy in the transmission delay measurement. Finally, we note that assessing skew errors between unsynchronized network clocks is an open research area. (See [Pa97] for a discussion of detecting and compensating for these sorts of errors.) This shortcoming makes use of a solid, independent clock source such as GPS especially desirable. なぜゆがめる決定的な懸念かを示すために、1分間の2つのインターネット ホスト間で一方向遅延のサンプルを考えてください。ホスト間の本当の伝達 遅延は、横断パスで50ミリ秒ぐらいかもしれません。もし2つの時計のゆ がみが0.01%つまり10000分の1とすると、10分の観測で測定に 発生するエラーは60ミリ秒です。修正されないなら、このエラーは十分に 伝達遅延測定の完全な正確さを抹消するはずです。最終的に、我々は同期し ていないネットワーク時計のゆがみの算定が未解決の研究エリアであること を指摘します。(これらのエラーの種類を検出し、埋め合わせることの論議 について[Pa97]を見てください。)この欠点は堅実で独立な時計情報源を利 用する、特にGPSが望ましい。 10.2. The Notion of "Wire Time" 10.2. 「ワイヤ時間」の考え Internet measurement is often complicated by the use of Internet hosts themselves to perform the measurement. These hosts can introduce delays, bottlenecks, and the like that are due to hardware or operating system effects and have nothing to do with the network behavior we would like to measure. This problem is particularly acute when timestamping of network events occurs at the application level. インターネット測定がしばしばそれら自身測定を行うためのインターネット ホストの使用によって複雑にされます。これらのホストは遅延や、ボトルネッ クや、ハードウェアあるいはオペレーティング・システム効果による同種の ものを導入して、そして我々が測りたいネットワーク行動に何も関係を持っ ていない状態であり得ます。この問題は、ネットワークイベントのタイムス タンプがアプリケーションレベルにおいて起こる時、特に激しいです。 In order to provide a general way of talking about these effects, we introduce two notions of "wire time". These notions are only defined in terms of an Internet host H observing an Internet link L at a particular location: これらの効果について話をするため、我々は「ワイヤ時間」の2つの考えを 紹介します。これらの考えはただ特定の場所においてインターネットリンク Lを観察してインターネットホストHに関して定義するだけです: + For a given packet P, the 'wire arrival time' of P at H on L is the first time T at which any bit of P has appeared at H's observational position on L. + 与えられたパケットPについて、L上のHでのPの「ワイヤ到着時刻」は、 PのいずれかビットがL上のHの観察点で現れた最初の時刻Tです。 + For a given packet P, the 'wire exit time' of P at H on L is the first time T at which all the bits of P have appeared at H's observational position on L. + 与えられたパケットPについて、L上のHでのPの「ワイヤ出口時刻」は、 がのために、PのすべてのビットがL上のHの観察点で現われた最初の時 刻Tです。 Note that intrinsic to the definition is the notion of where on the link we are observing. This distinction is important because for large-latency links, we may obtain very different times depending on exactly where we are observing the link. We could allow the observational position to be an arbitrary location along the link; however, we define it to be in terms of an Internet host because we anticipate in practice that, for IPPM metrics, all such timing will be constrained to be performed by Internet hosts, rather than specialized hardware devices that might be able to monitor a link at locations where a host cannot. This definition also takes care of the problem of links that are comprised of multiple physical channels. Because these multiple channels are not visible at the IP layer, they cannot be individually observed in terms of the above definitions. 定義の本質は、リンク上の我々が観察している所の考えです。大きい反応時 間リンクで、我々が正確にどこでリンクを観察しているかによって非常に異 なる時刻を得るかもしれないから、この区別は重要です。我々は観察位置を リンクに沿って任意の場所で許すことができます;しかしながら、我々が実 際は、IPPM測定量のために、すべてこのようなタイミングがホストがな い場所でリンクをモニターする専用装置ではなく、インターネットホストの 実施するハードウェア装置であるであろうことを予想するから、我々はイン ターネットホストに関してそれを定義します。この定義は同じく多数の物理 的な経路で構成されているリンクの問題の面倒を見ます。これらの多数の経 路がIP層において目に見えないから、それらは上記の定義に関して個々に 観察されることができません。 It is possible, though one hopes uncommon, that a packet P might make multiple trips over a particular link L, due to a forwarding loop. These trips might even overlap, depending on the link technology. Whenever this occurs, we define a separate wire time associated with each instance of P seen at H's position on the link. This definition is worth making because it serves as a reminder that notions like *the* unique time a packet passes a point in the Internet are inherently slippery. パケットPが特定のリンクL上で、転送ループのために多数の移動をするか もしれないことは、珍しいと希望するが、可能です。これらの移動は、リン ク技術に依存し、部分的に重なり合いさえするかもしれません。これが起こ る時はいつでも、リンク上のH位置での各パケットPの実体に対して結び付 けられた別のワイヤ時間を定義します。この定義はパケットがインターネッ トのある点を通過したユニークな時間の考えが本来的に当てにならない事を 思い出の役をするから価値を持っています。 The term wire time has historically been used to loosely denote the time at which a packet appeared on a link, without exactly specifying whether this refers to the first bit, the last bit, or some other consideration. This informal definition is generally already very useful, as it is usually used to make a distinction between when the packet's propagation delays begin and cease to be due to the network rather than the endpoint hosts. 用語ワイヤ時間は歴史的に大ざっぱにパケットがリンク上に現われた時を示 すために使われ、正確にこれが最初のビットか、最後のビットか、あるいは 何か他の考えを参照するか明示していません。この非公式の定義は、エンド ホストではなくネットワークについて、パケット伝播遅延の初めと終わりを 区別するので、一般に非常に有用です。 When appropriate, metrics should be defined in terms of wire times rather than host endpoint times, so that the metric's definition highlights the issue of separating delays due to the host from those due to the network. 適切であるなら、測定量がホスト終端時刻ではなく、ワイヤ時間に関して定 義されるべきです、それで測定量の定義はネットワークの遅延とホストの遅 延を分離する問題を強調します。 We note that one potential difficulty when dealing with wire times concerns IP fragments. It may be the case that, due to fragmentation, only a portion of a particular packet passes by H's location. Such fragments are themselves legitimate packets and have well-defined wire times associated with them; but the larger IP packet corresponding to their aggregate may not. 我々は、ワイヤ時間を扱うことがIP分割に関係する時、その1つの可能性 がある困難に気付きます。分割のために、ただ特定のパケットの1部だけが Hの場所のそばを通ることは本当であるかもしれません。このような破片は それ自身で正当なパケットで、そしてワイヤ時間の明瞭な定義がそれらを結 び付けられるようにします;しかし彼らの集約に対応しているより大きいI Pパケットはそうしないかもしれません。 We also note that these notions have not, to our knowledge, been previously defined in exact terms for Internet traffic. Consequently, we may find with experience that these definitions require some adjustment in the future. 我々は同じくこれらの考えが、我々が知っているところでは、インターネッ トトラフィックの正確な用語で前に定義されなかったことを指摘します。従っ て、我々は経験でこれらの定義が将来ある調整を必要とすることに気付くか もしれません。 {Comment: It can sometimes be difficult to measure wire times. One technique is to use a packet filter to monitor traffic on a link. {コメント:ワイヤ時間を測ることは時々難しくあり得ます。1つのテクニッ クがリンクの上のトラフィックをモニターするパケットフィルターを使うこ とです。 The architecture of these filters often attempts to associate with each packet a timestamp as close to the wire time as possible. We note however that one common source of error is to run the packet filter on one of the endpoint hosts. In this case, it has been observed that some packet filters receive for some packets timestamps corresponding to when the packet was *scheduled* to be injected into the network, rather than when it actually was *sent* out onto the network (wire time). There can be a substantial difference between these two times. A technique for dealing with this problem is to run the packet filter on a separate host that passively monitors the given link. This can be problematic however for some link technologies. See [Pa97] for a discussion of the sorts of errors packet filters can exhibit. Finally, we note that packet filters will often only capture the first fragment of a fragmented IP packet, due to the use of filtering on fields in the IP and transport protocol headers. As we generally desire our measurement methodologies to avoid the complexity of creating fragmented traffic, one strategy for dealing with their presence as detected by a packet filter is to flag that the measured traffic has an unusual form and abandon further analysis of the packet timing.} これらのフィルタのアーキテクチャはしばしば可能な限りワイヤ時間に近い タイムスタンプををそれぞれのパケットと結び付ける試みをします。我々は しかしながらエラーの1つの共通原因がパケットフィルターを終端ホストの 上で走らせることであるのを指摘します。この場合、あるパケットフィルター が、パケットがネットワークに送信された時間(ワイヤ時間)ではなく、パ ケットがネットワークに送り込まれる時にに対応するタイムスタンプのある パケットを受信することが観察されます。これらの2つの時間に相当な違い があり得ます。この問題を扱うテクニックがパケットフィルターを受動的に あるリンクをモニターする別のホスト上で走らせることです。これはあるリ ンク技術では、しかしながら問題が多くあり得ます。パケットフィルターが 示すエラーの種類の論議のために[Pa97]を見てください。最終的に、我々は パケットフィルターが、IPと輸送プロトコルヘッダフィールド上のフィル タ使用のため、しばしばただ分割されたIPパケットの最初の部分を獲得す るだけであることを指摘します。我々が分割されたトラフィックを作ること についての複雑さを避けて、一般に我々の測定方法を要望する時、パケット フィルターによりそれらの存在を検出する戦略は、測定トラフィックが異常 な形式を検出し、さらなるパケットタイミングの分析を捨てます。} 11. Singletons, Samples, and Statistics 11. 単体、サンプルと統計値 With experience we have found it useful to introduce a separation between three distinct -- yet related -- notions: 経験で我々は3つの別の−関連した−考えの分離を導入することが有用であ ることを見いだしました: + By a 'singleton' metric, we refer to metrics that are, in a sense, atomic. For example, a single instance of "bulk throughput capacity" from one host to another might be defined as a singleton metric, even though the instance involves measuring the timing of a number of Internet packets. + 「単体」測定量によって、我々はある意味で、原子測定量に言及します。 例えば、「大量スループット容量」で多数のインターネットパケットの実 体がタイミングを評価ために使われるが、1ホストから他ホストまでひと つの要素が単体測定量と定義されるかもしれません。 + By a 'sample' metric, we refer to metrics derived from a given singleton metric by taking a number of distinct instances together. For example, we might define a sample metric of one-way delays from one host to another as an hour's worth of measurements, each made at Poisson intervals with a mean spacing of one second. + 我々は多くの異なる実体をとることで所定の単体測定量から得られた測定 量を、「サンプル」測定量と言います。例えば、我々は1つのホストから 他のホストまでの一方向遅延のサンプル測定量を、平均1秒間隔のポアソ ン間隔でされた測定の1時間値と定義するかもしれません。 + By a 'statistical' metric, we refer to metrics derived from a given sample metric by computing some statistic of the values defined by the singleton metric on the sample. For example, the mean of all the one-way delay values on the sample given above might be defined as a statistical metric. + サンプル上の単体測定量によって定義された値の統計値を計算することに よって、我々はそのサンプル測定量から得られた測定量を、「統計的」測 定と言います。例えば、上で与えられたサンプル上のすべての片道の遅延 値の平均は統計測定と定義されるかもしれません。 By applying these notions of singleton, sample, and statistic in a consistent way, we will be able to reuse lessons learned about how to define samples and statistics on various metrics. The orthogonality among these three notions will thus make all our work more effective and more intelligible by the community. これらの単体とサンプルと統計値の考えに整合した方法を応用することによっ て、我々は種々の測定量でどのようにサンプルと統計値を定義するべきかに ついて学んだレッスンを再利用することが可能であるでしょう。これらの3 つの考えの間の整合は共同体の我々のすべての仕事をいっそう効率的で、そ していっそうわかりやすくするでしょう。 In the remainder of this section, we will cover some topics in sampling and statistics that we believe will be important to a variety of metric definitions and measurement efforts. この章の残りで、我々はサンプリングで若干のトピックをカバーするでしょ う、そして我々が信じる統計値はいろいろな測定量定義と測定取り組みに重 要であるでしょう。 11.1. Methods of Collecting Samples 11.1. サンプル収集方法 The main reason for collecting samples is to see what sort of variations and consistencies are present in the metric being measured. These variations might be with respect to different points in the Internet, or different measurement times. When assessing variations based on a sample, one generally makes an assumption that the sample is "unbiased", meaning that the process of collecting the measurements in the sample did not skew the sample so that it no longer accurately reflects the metric's variations and consistencies. サンプルを集める主な理由はどんな種類の相違と一貫性が測定されている測 定量に存在するかを見ることです。これらの相違はインターネットの異なる 位置によるものかもしれないし、あるいは異なる測定時刻によるものかもし れません。サンプルに基づいて相違を算定する時、一般にサンプルが「公平」 という仮定をします、これはサンプルで測定を集める処理が、正確に測定量 の相違と一貫性を反映しないような、サンプルのゆがめなかったことを意味 します。 One common way of collecting samples is to make measurements separated by fixed amounts of time: periodic sampling. Periodic sampling is particularly attractive because of its simplicity, but it suffers from two potential problems: サンプルを集めることの1つの普通の方法は、固定時間量で切り離された測 定をすることです:周期的なサンプリング。周期的なサンプリングはその単 純さのために特に魅力的ですが、これは2つの可能性がある問題で苦しみま す: + If the metric being measured itself exhibits periodic behavior, then there is a possibility that the sampling will observe only part of the periodic behavior if the periods happen to agree (either directly, or if one is a multiple of the other). Related to this problem is the notion that periodic sampling can be easily anticipated. Predictable sampling is susceptible to manipulation if there are mechanisms by which a network component's behavior can be temporarily changed such that the sampling only sees the modified behavior. + もし測られている測定量それ自身が周期的な行動を示すなら、サンプリン グが、もし期間がたまたま一致するなら(直接、あるいは倍数で)、ただ 周期的な行動の一部だけを観察するであろうという可能性があります。周 期的なサンプリングが容易に予想されるという考えがこの問題と関係があ ります。予測可能なサンプリングが、もしネットワーク構成要素の行動が 一時的に変えられることができるメカニズムがあるなら、サンプリングが ただ修正された行動を見るだけであるように、扱いの影響されやすいです。 + The act of measurement can perturb what is being measured (for example, injecting measurement traffic into a network alters the congestion level of the network), and repeated periodic perturbations can drive a network into a state of synchronization (cf. [FJ94]), greatly magnifying what might individually be minor effects. + 測定の行為は測られているものを不安定にさせることができます(例えば、 ネットワークに測定トラフィックを導入することはネットワークの混雑レ ベルを変更する)、そして繰り返された周期的な混乱を起こすことがネッ トワークを同期状態に追いやることができます([FJ94]参照)、大きく拡 大することは個々のマイナーな効果であるかもしれません。 A more sound approach is based on "random additive sampling": samples are separated by independent, randomly generated intervals that have a common statistical distribution G(t) [BM92]. The quality of this sampling depends on the distribution G(t). For example, if G(t) generates a constant value g with probability one, then the sampling reduces to periodic sampling with a period of g. いっそう健全なアプローチが「ランダム加算のサンプリング」に基づいてい ます:サンプルが普通の統計上の分布G(t)を持つ独立の、ランダムに生 み出された間隔で切り離されます[BM92]。このサンプリングの品質は分布 G(t)に依存します。例えば、もしG(t)が確率1の一定値gを生み出 すなら、サンプリングはg期間の周期的なサンプリングに縮退します。 Random additive sampling gains significant advantages. In general, it avoids synchronization effects and yields an unbiased estimate of the property being sampled. The only significant drawbacks with it are: ランダム加算のサンプリングが重要な利点を増します。一般に、これは同期 効果を避けて、そして試された性質の公平な見積もりをもたらします。この 唯一の重要な欠点は以下です:。 + it complicates frequency-domain analysis, because the samples do not occur at fixed intervals such as assumed by Fourier-transform techniques; and + それは、サンプルが固定した間隔において起こらないから、フーリエ変換 技術で仮定される頻度範囲分析を複雑にします;そして + unless G(t) is the exponential distribution (see below), sampling still remains somewhat predictable, as discussed for periodic sampling above. + G(t)が指数分布ではないなら(下記参照)、上記の周期的なサンプリ ングで論じられるように、サンプリングがまだ幾分予測可能なままでいま す。 11.1.1. Poisson Sampling 11.1.1. ポアソンサンプリング It can be proved that if G(t) is an exponential distribution with rate lambda, that is これは、もしG(t)がラムダ率の指数分布、つまり、 G(t) = 1 - exp(-lambda * t) then the arrival of new samples *cannot* be predicted (and, again, the sampling is unbiased). Furthermore, the sampling is asymptotically unbiased even if the act of sampling affects the network's state. Such sampling is referred to as "Poisson sampling". It is not prone to inducing synchronization, it can be used to accurately collect measurements of periodic behavior, and it is not prone to manipulation by anticipating when new samples will occur. であるなら、新しいサンプルの到着は予言できないと証明されることができ ます(そして、再び、サンプリングは公平です)。さらに、たとえサンプリ ングの行為がネットワークの状態に影響を与えるとしても、サンプリングは 漸近的に公平です。このようなサンプリングは「ポアソンサンプリング」と 述べられます。これは同期を誘発する傾向がありません、これは正確に周期 的な行動の測定を集めるために使うことができます、そしてそれはいつ新し いサンプルが起こるか予想する扱いに陥りやすくありません。 Because of these valuable properties, we in general prefer that samples of Internet measurements are gathered using Poisson sampling. {Comment: We note, however, that there may be circumstances that favor use of a different G(t). For example, the exponential distribution is unbounded, so its use will on occasion generate lengthy spaces between sampling times. We might instead desire to bound the longest such interval to a maximum value dT, to speed the convergence of the estimation derived from the sampling. This could be done by using これらの貴重な特性のために、我々は一般にポアソンサンプリングを使って インターネット測定のサンプルが集められることを望みます。{コメント: 我々は、しかしながら、異なったG(t)の使用に有利にはたらく状況があ るかもしれないことを指摘します。例えば、指数の分布は無制限で、それで この使用は時々、長いサンプル間隔を生成するでしょう。我々はその代わり に最大値dTでこのような間隔の最長限界を指定し、サンプリングから得られ た見積もりの収束を速めることを望むかもしれません。これは以下を使うこ とでできます G(t) = Unif(0, dT) that is, the uniform distribution between 0 and dT. This sampling, of course, becomes highly predictable if an interval of nearly length dT has elapsed without a sample occurring.} すなわち、0とdT間の一様分布です。このサンプリングは、もちろん、も しほとんど長さdTの間にサンプル無しで経過したなら、大いに予測可能に なります。} In its purest form, Poisson sampling is done by generating independent, exponentially distributed intervals and gathering a single measurement after each interval has elapsed. It can be shown that if starting at time T one performs Poisson sampling over an interval dT, during which a total of N measurements happen to be made, then those measurements will be uniformly distributed over the interval [T, T+dT]. So another way of conducting Poisson sampling is to pick dT and N and generate N random sampling times uniformly over the interval [T, T+dT]. The two approaches are equivalent, except if N and dT are externally known. In that case, the property of not being able to predict measurement times is weakened (the other properties still hold). The N/dT approach has an advantage that dealing with fixed values of N and dT can be simpler than dealing with a fixed lambda but variable numbers of measurements over variably-sized intervals. その最も純粋な形式で、ポアソンサンプリングが独立な、指数関数的な分布 の間隔を生成し、、そして、それぞれの間隔が経過した後にひとつの測定を することでされます。もし時刻Tに間隔dTのポアソンサンプリングを始め て、その間にN個の測定が発生したなら、測定が間隔[T,T+dT]の間 で一様分布します。それで他のポアソンサンプリングを行う方法は、dTと Nを選び、間隔[T,T+dT]上で一様にNランダムサンプルを生成する ことです。2つの方法は、NとdTが外部に既知である場合を除いて、等価 です。このような場合、測定時を予言することが可能ではない特性は弱めら れます(他の特性はまだ持ちこたえます)。N/dT方法はNとdTの固定 値を扱うことが、可変間隔で可変個数の測定を行うより単純であるという利 点を持っています。 11.1.2. Geometric Sampling 11.1.2. 幾何学的サンプリング Closely related to Poisson sampling is "geometric sampling", in which external events are measured with a fixed probability p. For example, one might capture all the packets over a link but only record the packet to a trace file if a randomly generated number uniformly distributed between 0 and 1 is less than a given p. Geometric sampling has the same properties of being unbiased and not predictable in advance as Poisson sampling, so if it fits a particular Internet measurement task, it too is sound. See [CPB93] for more discussion. 外部のイベントが固定確率pで評価される「幾何学的サンプリング」が密接 にポアソンサンプリングと関係があります。例えば、リンクの上にすべての パケットを取り込んで、しかし、もし0と1の間の一様分布乱数が与えられ たp以下である場合だけ、ファイルにパケットを記録するかもしれません。 幾何学的サンプリングがポアソンサンプリングと比べて同じぐらい公平で、 予測可能でない特性を持ち、それでもし特定のインターネット測定タスクに 適しているなら、同じくこれは健全です。もっと多くの論議のために[CPB93] を見てください。 11.1.3. Generating Poisson Sampling Intervals 11.1.3. ポアソンサンプリング間隔の生成 To generate Poisson sampling intervals, one first determines the rate lambda at which the singleton measurements will on average be made (e.g., for an average sampling interval of 30 seconds, we have lambda = 1/30, if the units of time are seconds). One then generates a series of exponentially-distributed (pseudo) random numbers E1, E2, ..., En. The first measurement is made at time E1, the next at time E1+E2, and so on. ポアソンサンプリング間隔を生成するために、最初に単体測定が平均して行 われる率であるラムダ率を決定します(例えば、平均30秒のサンプリング 間隔で、もし時間単位が秒であるなら、ラムダ=1/30です)。それから 一連の指数分布の(疑似)乱数E1、E2、・・・、Enを生成します。最 初の測定は時刻E1に、次はE1+E2に、と、測定はされます。 One technique for generating exponentially-distributed (pseudo) random numbers is based on the ability to generate U1, U2, ..., Un, (pseudo) random numbers that are uniformly distributed between 0 and 1. Many computers provide libraries that can do this. Given such Ui, to generate Ei one uses: 指数分布(疑似)乱数を生成する1つのテクニックは0から1の間に一様分 布する(擬似)乱数U1、U2、・・・、Unを生成する能力に基づいてい ます。多くのコンピュータがこのライブラリを供給します。このようなUi から、使用するEiを生成するには: Ei = -log(Ui) / lambda where log(Ui) is the natural logarithm of Ui. {Comment: This technique is an instance of the more general "inverse transform" method for generating random numbers with a given distribution.} log(Ui)がUiの自然対数です。{コメント:このテクニックは、与えられた 分布の擬似乱数を生成するより一般的な「逆変換」方法の、特定の具体化で す。} Implementation details: 実装細部: There are at least three different methods for approximating Poisson sampling, which we describe here as Methods 1 through 3. Method 1 is the easiest to implement and has the most error, and method 3 is the most difficult to implement and has the least error (potentially none). ポアソンサンプリングに近付くための少なくとも3つの異なった方法があり ます、そして我々はここで方法1から方法3と記述します。方法1は実装が 最も容易だが最もエラーが多く、方法3が最も実装が難しいが最もエラーが 少ないです(潜在的にエラーなし)。 Method 1 is to proceed as follows: 方法1が次のように進むはずです: 1. Generate E1 and wait that long. 1. E1を生成し、その時間待つ 2. Perform a measurement. 2. 測定実行 3. Generate E2 and wait that long. 3. E2を生成し、その時間待つ 4. Perform a measurement. 4. 測定実行 5. Generate E3 and wait that long. 5. E3を生成し、その時間待つ 6. Perform a measurement ... 6. 測定実行... The problem with this approach is that the "Perform a measurement" steps themselves take time, so the sampling is not done at times E1, E1+E2, etc., but rather at E1, E1+M1+E2, etc., where Mi is the amount of time required for the i'th measurement. If Mi is very small compared to 1/lambda then the potential error introduced by this technique is likewise small. As Mi becomes a non-negligible fraction of 1/lambda, the potential error increases. この方法における問題は「測定実行」ステップがそれ自身時間を要するため、 サンプリングが時刻E1、E1+E2、など、とされず、M1を測定に必要 な時間とすると、E1、E1+M1+E2、などとなる事です。もしMiが 1/ラムダと比較して非常に小さいなら、このテクニックによるエラーの可 能性は小さいです。Miが1/ラムダに比較して無視できなくなると、エラー の可能性は増加します。 Method 2 attempts to correct this error by taking into account the amount of time required by the measurements (i.e., the Mi's) and adjusting the waiting intervals accordingly: 方法2は測定で必要な時間量(すなわち、Mi )を考慮に入れて、それ相 応する待ち間隔を調整することでこのエラーを修正しようと試みます: 1. Generate E1 and wait that long. 1. E1を生成し、その時間待つ 2. Perform a measurement and measure M1, the time it took to do so. 2. 測定実行し、測定にかかった時間M1を測定 3. Generate E2 and wait for a time E2-M1. 3. E2を生成し、E2-M1時間待つ 4. Perform a measurement and measure M2 .. 4. 測定実行し、M2を測定・・・ This approach works fine as long as E{i+1} >= Mi. But if E{i+1} < Mi then it is impossible to wait the proper amount of time. (Note that this case corresponds to needing to perform two measurements simultaneously.) このアプローチはE{i+1} >= Miであればよく動きます。けれどももしE{i+1} < Miなら、適切な時間待つことは不可能です。(この場合、同時に対応する 2つの測定を行う必要があることに注意してください。) Method 3 is generating a schedule of measurement times E1, E1+E2, etc., and then sticking to it: 方法3が測定時刻E1、E1+E2、などの予定を生成して、そのとおりに行いま す: 1. Generate E1, E2, ..., En. 1. E1, E2, ..., Enを生成ます。 2. Compute measurement times T1, T2, ..., Tn, as Ti = E1 + ... + Ei. 2. 測定時刻T1, T2, ..., Tnを、Ti = E1 + ... + Eiと計算します。 3. Arrange that at times T1, T2, ..., Tn, a measurement is made. 3. 時刻T1, T2, ..., Tnに測定するように手配します。 By allowing simultaneous measurements, Method 3 avoids the shortcomings of Methods 1 and 2. If, however, simultaneous measurements interfere with one another, then Method 3 does not gain any benefit and may actually prove worse than Methods 1 or 2. 同時の測定を許すことによって、方法3は方法1と2の欠点を避けます。も し、しかしながら、同時の測定がお互いを妨害するなら、方法3が利益をな くし、そして実際は方法1や方法2より悪いと分かるかもしれません。 For Internet phenomena, it is not known to what degree the inaccuracies of these methods are significant. If the Mi's are much less than 1/lambda, then any of the three should suffice. If the Mi's are less than 1/lambda but perhaps not greatly less, then Method 2 is preferred to Method 1. If simultaneous measurements do not interfere with one another, then Method 3 is preferred, though it can be considerably harder to implement. インターネット現象で、どのくらいこれらの方法の誤りが重要であるかは周 知ではありません。もしMiが1/ラムダよりはるかに小さいなら、3つの どれででも十分です。もしMiが1/ラムダ以下であるが、それほど小さく ないなら、方法2は方法1より好まれます。もし同時測定がお互いを妨害し ないなら、かなり実行が難しいが、方法3が好まれます。 11.2. Self-Consistency 11.2. 自己一貫性 A fundamental requirement for a sound measurement methodology is that measurement be made using as few unconfirmed assumptions as possible. Experience has painfully shown how easy it is to make an (often implicit) assumption that turns out to be incorrect. An example is incorporating into a measurement the reading of a clock synchronized to a highly accurate source. It is easy to assume that the clock is therefore accurate; but due to software bugs, a loss of power in the source, or a loss of communication between the source and the clock, the clock could actually be quite inaccurate. 堅実な測定方法の基本的な必要条件は、測定が確信できない仮定を可能な限 り少ししか使わないということです。経験が痛々しいほど、正しくない(し ばしば暗黙の)仮定をしてしまい易いか、を示しました。例には、中に大い に正確な情報源に同期した時計の読出し測定を含んでいます。時計がそれ故 に正確であると想定することは容易です;しかし、ソフトウェアバグ、情報 源の力の損失、あるいは情報源と時計の間の通信の損失のために、時計は実 際に非常に不正確であり得ます。 This is not to argue that one must not make *any* assumptions when measuring, but rather that, to the extent which is practical, assumptions should be tested. One powerful way for doing so involves checking for self-consistency. Such checking applies both to the observed value(s) of the measurement *and the values used by the measurement process itself*. A simple example of the former is that when computing a round trip time, one should check to see if it is negative. Since negative time intervals are non-physical, if it ever is negative that finding immediately flags an error. *These sorts of errors should then be investigated!* It is crucial to determine where the error lies, because only by doing so diligently can we build up faith in a methodology's fundamental soundness. For example, it could be that the round trip time is negative because during the measurement the clock was set backward in the process of synchronizing it with another source. But it could also be that the measurement program accesses uninitialized memory in one of its computations and, only very rarely, that leads to a bogus computation. This second error is more serious, if the same program is used by others to perform the same measurement, since then they too will suffer from incorrect results. Furthermore, once uncovered it can be completely fixed. これは測定時に、*何も*仮定にしてはならないと論じるのではなく、どち らかと言うと実用的な程度に仮定が試験されるべきであるということです。 そうする1つの強力な方法は自己一貫性を調べることです。このような検査 は、測定の観測値と、測定処理自身に使われる値の両方に適用します。前者 の単純な例は、往復遅延時間を計算する時、それが負せあるかどうか調べる べきです。負の時間間隔は物理的でないので、もし負であるなら、その調査 結果はすぐにエラーにフラグを付けます。*これらのエラーの種類は調査さ れるべきです!*どこでエラーがおきたか決定することは重大です、なぜな らただ勤勉にそうすることによってだけ、我々が方法論の基本的な健全性の 信頼を増強することができます。例えば、測定の最中に、時計がほかの情報 源との同期処理の結果過去に戻されて、負になる事があり得ます。しかし、 これは測定プログラムが計算の1つで初期化されていないメモリにアクセス することもありえ、そしてまれににせの計算を導くのかもしれません。この 2番目のエラーはより重大です、もし同じプログラムが同じ測定を行うため に他の人たちによって使われるなら、その時彼らは正しくない結果で苦しむ でしょう。さらに、一度発見されれば、完全に修繕され得ます。 A more subtle example of testing for self-consistency comes from gathering samples of one-way Internet delays. If one has a large sample of such delays, it may well be highly telling to, for example, fit a line to the pairs of (time of measurement, measured delay), to see if the resulting line has a clearly non-zero slope. If so, a possible interpretation is that one of the clocks used in the measurements is skewed relative to the other. Another interpretation is that the slope is actually due to genuine network effects. Determining which is indeed the case will often be highly illuminating. (See [Pa97] for a discussion of distinguishing between relative clock skew and genuine network effects.) Furthermore, if making this check is part of the methodology, then a finding that the long-term slope is very near zero is positive evidence that the measurements are probably not biased by a difference in skew. 自己一貫性のテストを行うことのいっそう微妙な例が一方向のインターネッ ト遅延サンプル収集です。もし大きな遅延サンプルを持っているなら、例え ば(測定時刻、測定された遅延)対に一致する線を引いてみて、もしその線 の傾きがゼロでないなら、これは何かを示しているでしょう。もしそうでな ら、可能な解釈は測定で使われた時計の1つが他と比較して歪んでいるとい うことです。もう1つの解釈が傾きが実際に本物のネットワーク効果のため であるということです。いずれが本当かを決定することはしばしば大いに解 明的であるでしょう。(相対的な時計のゆがみと本物のネットワーク効果を 区別する論議は[Pa97]を参照します。)さらに、もしこの検査が方法論の一 部であるなら、長期の傾きがゼロに非常に近いという調査結果は、測定が恐 らく歪みの違いによる偏向がない確かな証拠でしょう。 A final example illustrates checking the measurement process itself for self-consistency. Above we outline Poisson sampling techniques, based on generating exponentially-distributed intervals. A sound measurement methodology would include testing the generated intervals to see whether they are indeed exponentially distributed (and also to see if they suffer from correlation). In the appendix we discuss and give C code for one such technique, a general-purpose, well-regarded goodness-of-fit test called the Anderson-Darling test. 最終例は測定処理それ自身が自己一貫性がないかを点検する例です。上で我 々は指数関数的分布の間隔で生成する事に基づくポアソンサンプリングの概 要を書きました。健全な測定方法は、生成間隔が本当に指数関数的な分布か (そして同じく相関がないかどうか)の検査を含みます。付録で我々はこの ようなテクニックの1つである、汎用の、よく考えられた、適合性がよい、 アンダーソン−ダーリ試験と呼ばれるものの議論とCコードを与えます。 Finally, we note that what is truly relevant for Poisson sampling of Internet metrics is often not when the measurements began but the wire times corresponding to the measurement process. These could well be different, due to complications on the hosts used to perform the measurement. Thus, even those with complete faith in their pseudo-random number generators and subsequent algorithms are encouraged to consider how they might test the assumptions of each measurement procedure as much as possible. 最終的に、我々はインターネット測定量のポアソンサンプリングのために本 当に適切なことが、しばしば測定が始まった時ではなく、測定プロセスに対 応するワイヤ時間であることを指摘します。これらは測定を行うために使わ れたホストの上の複雑な問題のため、よく異なっています。それで、疑似乱 数生成機の完全な信頼を持っている人たちさえ、そして次のアルゴリズムで、 どのように可能な限りそれぞれの測定手順の仮定をテストするべきか、考え るよう奨励されます。 11.3. Defining Statistical Distributions 11.3. 統計分布の定義 One way of describing a collection of measurements (a sample) is as a statistical distribution -- informally, as percentiles. There are several slightly different ways of doing so. In this section we define a standard definition to give uniformity to these descriptions. 測定(サンプル)集合を記述する一つの方法が統計分布としてです−非公式 にパーセントで。これにはいくつかのわずかに異なった方法があります。こ の章で我々はこれらの記述に一様性を与えるために標準的な定義を定義しま す。 The "empirical distribution function" (EDF) of a set of scalar measurements is a function F(x) which for any x gives the fractional proportion of the total measurements that were <= x. If x is less than the minimum value observed, then F(x) is 0. If it is greater or equal to the maximum value observed, then F(x) is 1. スカラー測定集合の「経験的分布関数」(EDF)が関数F(x)で、任意のxに 対して、全測定のうち≦xにである割合を与えます。もしxが観察される最小 価値未満なら、F(x)は0です。もし観測される最大値以上なら、F(x)は1で す。 For example, given the 6 measurements: 例えば、与えられた6つの測定に対して: -2, 7, 7, 4, 18, -5 Then F(-8) = 0, F(-5) = 1/6, F(-5.0001) = 0, F(-4.999) = 1/6, F(7) = 5/6, F(18) = 1, F(239) = 1. Note that we can recover the different measured values and how many times each occurred from F(x) -- no information regarding the range in values is lost. Summarizing measurements using histograms, on the other hand, in general loses information about the different values observed, so the EDF is preferred. 我々がF(x)から、異なる測定値とそれが何回起きたかを再生することができ る−範囲に関する情報損失がないことに注意してください。他方、一般に棒 グラフを使って測定を要約すると、観察された異なった値についての情報を 失い、それでEDFが好まれます。 Using either the EDF or a histogram, however, we do lose information regarding the order in which the values were observed. Whether this loss is potentially significant will depend on the metric being measured. EDFや棒グラフを使うと、しかしながら、我々は値が観察された順序に関 する情報を失います。この損失が潜在的に重要であるかどうかは測定量に依 存するでしょう。 We will use the term "percentile" to refer to the smallest value of x for which F(x) >= a given percentage. So the 50th percentile of the example above is 4, since F(4) = 3/6 = 50%; the 25th percentile is -2, since F(-5) = 1/6 < 25%, and F(-2) = 2/6 >= 25%; the 100th percentile is 18; and the 0th percentile is -infinity, as is the 15th percentile. 我々はF(x)が与えられたパーセンテージより大きくなるような最小のxを用語 「百分位数」で参照します。それで上記の例の第50百分位数は、F(4) = 3/6 = 50%なので、4です;第25百分位数は、F(-5) = 1/6 < 25%でF(-2) = 2/6 >= 25%なので、−2です;第100百分位数は18です;そして第0百 分位数はマイナス無限で、第15百分位数も同じです。 Care must be taken when using percentiles to summarize a sample, because they can lend an unwarranted appearance of more precision than is really available. Any such summary must include the sample size N, because any percentile difference finer than 1/N is below the resolution of the sample. サンプルを要約するために百分位数を使う時、それらは本当に利用可能であ るより多くの精度の不当な体裁を導くので、注意をしなければなりません。 このような要約がサンプルサイズNを含まなくてはなりません、なぜならど んな1/Nより詳細な百分位数の相違はサンプル解像度より小さくなります から。 See [DS86] for more details regarding EDF's. EDFのに関する多くの細部は[DS86]を参照してください。 We close with a note on the common (and important!) notion of median. In statistics, the median of a distribution is defined to be the point X for which the probability of observing a value <= X is equal to the probability of observing a value > X. When estimating the median of a set of observations, the estimate depends on whether the number of observations, N, is odd or even: 我々は共通の(そして重要な!)中間値の考えのノートで終了します。統計 値で、分布の中間値は、観測値が≦Xである確率と観測値が>Xである確率が 等しくなるXと定義されます。観察集合の中間数を見積もる時、見積もりは観 察数Nが奇数か偶数かに依存します: + If N is odd, then the 50th percentile as defined above is used as the estimated median. + もしNが奇数であるなら、上で定義された第50百分位数が推定中間数と して用いられます。 + If N is even, then the estimated median is the average of the central two observations; that is, if the observations are sorted in ascending order and numbered from 1 to N, where N = 2*K, then the estimated median is the average of the (K)'th and (K+1)'th observations. + もしNが偶数なら、推定中間数は中央の2つの観察値の平均です;すなわ ち、もし観察値が上昇順で並べられ、そして1からNの番号を振り、N= 2×Kとし、推定中間数は(K)番目観測数と(K+1)番目観測数の平 均です。 Usually the term "estimated" is dropped from the phrase "estimated median" and this value is simply referred to as the "median". 通常、「推定中間数」から「推定」は除かれ、この値はただ「中間数」と述 べられます。 11.4. Testing For Goodness-of-Fit 11.4. 適合性試験 For some forms of measurement calibration we need to test whether a set of numbers is consistent with those numbers having been drawn from a particular distribution. An example is that to apply a self- consistency check to measurements made using a Poisson process, one test is to see whether the spacing between the sampling times does indeed reflect an exponential distribution; or if the dT/N approach discussed above was used, whether the times are uniformly distributed across [T, dT]. ある目盛り測定の形式で、我々は数集合が、その数の持つはずの特定の分布 に従うかどうか試す必要があります。例としてポアソン処理を使って自己一 貫性検査をする測定の適用で、1つの試験はサンプリング間隔が本当に指数 分布を反映するかどうか見ることか、あるいは上で論じられたdT/N方法 が使われた場合は、[T、dT ]で一様分布か見る事です。 {Comment: There are at least three possible sets of values we could test: the scheduled packet transmission times, as determined by use of a pseudo-random number generator; user-level timestamps made just before or after the system call for transmitting the packet; and wire times for the packets as recorded using a packet filter. All three of these are potentially informative: failures for the scheduled times to match an exponential distribution indicate inaccuracies in the random number generation; failures for the user-level times indicate inaccuracies in the timers used to schedule transmission; and failures for the wire times indicate inaccuracies in actually transmitting the packets, perhaps due to contention for a shared resource.} {コメント:我々がテストする値に少なくとも3つの可能な集合があります: 疑似乱数生成機の使用によって決定された予定パケット送信時刻;パケット 送信のシステムコールの前後のユーザーレベルタイムスタンプ;そしてパケッ トフィルターを使って記録されるパケットのワイヤ時間。すべてこれらの3 つが潜在的に教育的です:指数分布に一致する予定時刻の誤りは乱数生成の 誤りを示します;ユーザーレベル時刻の失敗が送信スケジュールで使ったタ イマーの誤りを示します;そしてワイヤ時間の失敗が、多分共有資源の競合 による、実際のパケット送信の誤りを示します。} There are a large number of statistical goodness-of-fit techniques for performing such tests. See [DS86] for a thorough discussion. That reference recommends the Anderson-Darling EDF test as being a good all-purpose test, as well as one that is especially good at detecting deviations from a given distribution in the lower and upper tails of the EDF. このようなテストを行うことに対して多数の統計上の「適合度」テクニック があります。徹底的な論議のために[DS86]を見てください。その参考文献は 良い多目的のテストで、同じく特にEDFの下限と上限の尾で規定の分布か らの逸脱を検出することに優れているので、アンダーソン−ダーリンEDF テストを勧めます。 It is important to understand that the nature of goodness-of-fit tests is that one first selects a "significance level", which is the probability that the test will erroneously declare that the EDF of a given set of measurements fails to match a particular distribution when in fact the measurements do indeed reflect that distribution. 「適合度の良好」テストの性質が、最初にこれはEDFが誤って与えられ分 布に一致する測定を誤りと宣言する確率である「重要性レベル」を選択する と理解することは重要です。 Unless otherwise stated, IPPM goodness-of-fit tests are done using 5% significance. This means that if the test is applied to 100 samples and 5 of those samples are deemed to have failed the test, then the samples are all consistent with the distribution being tested. If significantly more of the samples fail the test, then the assumption that the samples are consistent with the distribution being tested must be rejected. If significantly fewer of the samples fail the test, then the samples have potentially been doctored too well to fit the distribution. Similarly, some goodness-of-fit tests (including Anderson-Darling) can detect whether it is likely that a given sample was doctored. We also use a significance of 5% for this case; that is, the test will report that a given honest sample is "too good to be true" 5% of the time, so if the test reports this finding significantly more often than one time out of twenty, it is an indication that something unusual is occurring. 明記されないなら、IPPM「適合度」テストが5%の重要性を使ってされ ます。これはもしテストが100のサンプルに適用され、そしてそれらのサ ンプルの5つがテストに失敗した時、サンプルの分布が整合していることを 意味します。もしサンプルのさらに多くがテストに失敗するなら、サンプル がテストしている分布に整合しているという仮定は拒絶されなくてはなりま せん。もしサンプルのより少数だけがテストに失敗するなら、サンプルは潜 在的に分配に適しているにはあまりにも上手に改変されています。同様に、 ある「適合度」テスト(アンダーソン−ダーリンを含めて)が所定のサンプ ルが改ざんされた可能性がありそうかどうか検出することができます。我々 は同じくこの場合のために5%の重要性を使います;すなわち、テストは所 定の率直なサンプルが、その時点で「本当であるにはあまりにも良い」5% と報告するなら、もしテストが20の1回以上この見解を報告するなら、そ れは異常な何かが起こっているという表示です。 The appendix gives sample C code for implementing the Anderson- Darling test, as well as further discussing its use. 付録はアンダーソン−ダーリンテストを実装するためにサンプルCコードと、 その使い方を与えます。 See [Pa94] for a discussion of goodness-of-fit and closeness-of-fit tests in the context of network measurement. ネットワーク測定の「適合度の良好」と「適合度の近さ」テストの論議のた めに[Pa94]を見てください。 12. Avoiding Stochastic Metrics 12. 推計的測定量の回避 When defining metrics applying to a path, subpath, cloud, or other network element, we in general do not define them in stochastic terms (probabilities). We instead prefer a deterministic definition. So, for example, rather than defining a metric about a "packet loss probability between A and B", we would define a metric about a "packet loss rate between A and B". (A measurement given by the first definition might be "0.73", and by the second "73 packets out of 100".) 道、サブパス、雲、あるいは他のネットワーク要素に当てはまる測定量を定 義する時、我々は一般に推計的用語(確率)でそれらを定義しません。我々 はその代わりに決定論の定義の方が好きです。それで、例えば、「AとBの 間のパケット損失確率」で測定量を定義するよりむしろ、我々は「AとBの 間のパケット損失率」で測定量を定義するでしょう。(最初の定義で与えら れた測定量が「0.73」で、2番目は「100パケットのうち73」かもし れません。) We emphasize that the above distinction concerns the *definitions* of *metrics*. It is not intended to apply to what sort of techniques we might use to analyze the results of measurements. 我々は上記の区別が*測定量*の*定義*に関係することを強調します。我 々が測定の結果を分析するために使うテクニックの種類に当てはめることが 意図されません。 The reason for this distinction is as follows. When definitions are made in terms of probabilities, there are often hidden assumptions in the definition about a stochastic model of the behavior being measured. The fundamental goal with avoiding probabilities in our metric definitions is to avoid biasing our definitions by these hidden assumptions. この区別の理由は次の通りです。定義が確率に関してされる時、定義にしば しば測られている行動の推計モデルについての隠された仮定があります。我 々の測定量定義で確率を避けることでの基本的な目的はこれらの隠された仮 定によって我々の定義に偏見を持たせるのを避けることです。 For example, an easy hidden assumption to make is that packet loss in a network component due to queueing overflows can be described as something that happens to any given packet with a particular probability. In today's Internet, however, queueing drops are actually usually *deterministic*, and assuming that they should be described probabilistically can obscure crucial correlations between queueing drops among a set of packets. So it's better to explicitly note stochastic assumptions, rather than have them sneak into our definitions implicitly. 例えば、安易な隠された仮定は、ネットワーク要素のキュー溢れによるのパ ケット損失は、与えられたパケットに特定の確率で発生する何かと記述でき ます。今日のインターネットで、しかしながら、キュー廃棄は実際は通常* 決定的*で、そしそれらが確率で記述されるべきであると想定することは、 キュー廃棄のパケット間の重大な相互関係を不明瞭にします。それで明示的 に推計的な仮定に気付くこと、暗黙のうちに我々の定義の中にこっそり入り 込むより、もっと良いです。 This does *not* mean that we abandon stochastic models for *understanding* network performance! It only means that when defining IP metrics we avoid terms such as "probability" for terms like "proportion" or "rate". We will still use, for example, random sampling in order to estimate probabilities used by stochastic models related to the IP metrics. We also do not rule out the possibility of stochastic metrics when they are truly appropriate (for example, perhaps to model transmission errors caused by certain types of line noise). これは我々がネットワーク性能の*理解*に、推計的なモデルを断念するこ とを意味し*ません*!これはただIP測定量を定義する時、我々が「割合」 あるいは「率」のような用語によって、「確率」のような用語を避けること を意味するだけです。我々はまだ、例えば、IP測定量と関係がある推計的 モデルによって使われた確率を推測するためのランダムサンプリングを使う でしょう。我々は同じく、それらが本当に適切である時(例えば、多分ある 特定のタイプの回線ノイズによって起こる送信エラーモデル)、推計的な測 定量の確率を除外しません。 13. Packets of Type P 13. タイプPパケット A fundamental property of many Internet metrics is that the value of the metric depends on the type of IP packet(s) used to make the measurement. Consider an IP-connectivity metric: one obtains different results depending on whether one is interested in connectivity for packets destined for well-known TCP ports or unreserved UDP ports, or those with invalid IP checksums, or those with TTL's of 16, for example. In some circumstances these distinctions will be highly interesting (for example, in the presence of firewalls, or RSVP reservations). 多くのインターネット測定量の重要な特性は測定量の値が測定をするために 使ったIPパケットの種類に依存するということです。IP−接続性測定を 考えます:例えば、既知TCPポート行きのパケットか、予約されていない UDPポート行きのパケットか、無効チェックサムパケットか、TTLが 16のパケットかによって、異なった結果が得られます。ある状況でこれら の区別は(例えば、ファイアウォールの存在や、RSVP予約で)大いに面 白いでしょう。 Because of this distinction, we introduce the generic notion of a "packet of type P", where in some contexts P will be explicitly defined (i.e., exactly what type of packet we mean), partially defined (e.g., "with a payload of B octets"), or left generic. Thus we may talk about generic IP-type-P-connectivity or more specific IP-port-HTTP-connectivity. Some metrics and methodologies may be fruitfully defined using generic type P definitions which are then made specific when performing actual measurements. この区別のために、我々は「タイプPのパケット」の一般的な考えを紹介し ます、これはある状況でPが明確に定義されている(すなわち、我々の考え てるものが正確にどのパケットか)、あいまいに定義されている(例えば、 「Bオクテットのペイロードを持つ」)か、あるいは一般的なままか、です。 それで我々は一般的なIP−タイプ−P−接続性や、より特定のIP−ポー ト−HTTP−接続性について話をするかもしれません。若干の測定量と方 法論が一般的なタイプP定義を使って有益に定義され、実際の測定を行う時 それは特定にされるかもしれません。 Whenever a metric's value depends on the type of the packets involved in the metric, the metric's name will include either a specific type or a phrase such as "type-P". Thus we will not define an "IP- connectivity" metric but instead an "IP-type-P-connectivity" metric and/or perhaps an "IP-port-HTTP-connectivity" metric. This naming convention serves as an important reminder that one must be conscious of the exact type of traffic being measured. 測定量の価値が測定量に使うパケットのタイプに依存する時は常に、測定量 の名前は特定のタイプあるいは「タイプ−P」のような句を含むでしょう。 それで我々は「IP−接続性」測定量を定義しないでしょうが、その代わり に「IP−タイプ−P−接続性」測定量や多分「IP−ポート−HTTP− 接続性」測定量を定義します。この命名規定は人が測定するトラフィックの 正確なタイプについて気が付いているに違いないという重要な思い出の役を します。 A closely related note: it would be very useful to know if a given Internet component treats equally a class C of different types of packets. If so, then any one of those types of packets can be used for subsequent measurement of the component. This suggests we devise a metric or suite of metrics that attempt to determine C. 密接に関連したノート:与えられたインターネット構成要素が異なった種類 パケットのクラスCを等しく扱うかどうか知ることは非常に有用であるでしょ う。もしそうなら、それらのパケットのどれでも、構成要素の次の測定に使 うことができます。これは我々がCを決定しようと試みる測定量を考案する ことを提案します。 14. Internet Addresses vs. Hosts 14. インターネットアドレス対ホスト When considering a metric for some path through the Internet, it is often natural to think about it as being for the path from Internet host H1 to host H2. A definition in these terms, though, can be ambiguous, because Internet hosts can be attached to more than one network. In this case, the result of the metric will depend on which of these networks is actually used. インターネットを通るあるパスに関して測定量を考える時、これをインター ネットホストH1からホストH2までパスのと考えることはしばしば自然で す。これらの用語の定義が、けれども、あいまいであり得ます、なぜならイ ンターネットホストが1つ以上のネットワークに接続できますから。この場 合、測定量の結果はこれらのネットワークのいずれが実際に使われるかによ るでしょう。 Because of this ambiguity, usually such definitions should instead be defined in terms of Internet IP addresses. For the common case of a unidirectional path through the Internet, we will use the term "Src" to denote the IP address of the beginning of the path, and "Dst" to denote the IP address of the end. このあいまい性のために、通常このような定義が、その代わりにインターネッ トIPアドレスに関して定義されるべきです。インターネットを通る一方向 性のパスの共通の事項として、我々はパスの初めIPアドレスを示す用語 「Src」とパスの終わりを示す用語「Dst」を使うでしょう。 15. Standard-Formed Packets 15. 標準形式パケット Unless otherwise stated, all metric definitions that concern IP packets include an implicit assumption that the packet is *standard formed*. A packet is standard formed if it meets all of the following criteria: 特に述べられなければ、IPパケットに関係するすべての測定量定義はパケッ トが*標準形式*であるという暗黙の仮定を含みます。パケットが、もし次 の基準のすべてを満たすなら、標準形式です: + Its length as given in the IP header corresponds to the size of the IP header plus the size of the payload. + IPヘッダーで与えられた長さはIPヘッダーの大きさとペイロードの大 きさに対応します。 + It includes a valid IP header: the version field is 4 (later, we will expand this to include 6); the header length is >= 5; the checksum is correct. + 正当なIPヘッダーを含みます:バージョンフィールドは4(後に、我々 は6を含むためにこれを拡張するであろう);ヘッダ長さは≧5;チェッ クサムは正しい。 + It is not an IP fragment. + IP分割していません。 + The source and destination addresses correspond to the hosts in question. + ソースと宛先アドレスは問題のホストに対応します。 + Either the packet possesses sufficient TTL to travel from the source to the destination if the TTL is decremented by one at each hop, or it possesses the maximum TTL of 255. + パケットは、各ホップでTTLが1つづつ減少するとした場合に、ソース から宛先まで移動するために十分なTTLを持つか、あるいは255の最 大のTTLです。 + It does not contain IP options unless explicitly noted. + 明示的に記載されないなら、IPオプションを含んでいません。 + If a transport header is present, it too contains a valid checksum and other valid fields. + もし転送ヘッダが存在しているなら、それは正当なチェックサムと他の正 当なフィールドを含んでいます。 We further require that if a packet is described as having a "length of B octets", then 0 <= B <= 65535; and if B is the payload length in octets, then B <= (65535-IP header size in octets). もしパケットが「Bオクテット長」と記述されるなら、0≦B≦65535; もしBがペイロード長オクテットなら、B≦(65536−オクテット単位 のIPヘッダサイズ)である事がさらに要求されます。 So, for example, one might imagine defining an IP connectivity metric as "IP-type-P-connectivity for standard-formed packets with the IP TOS field set to 0", or, more succinctly, "IP-type-P-connectivity with the IP TOS field set to 0", since standard-formed is already implied by convention. それで、標準形式を既に約束したので、例えば、IP接続性測定量を「IP TOSフィールドを0に設定した標準形式のIP−タイプ−P−接続性」と して、あるいは、より簡潔に「IPTOSフィールドを0に設定したIP− タイプ−P−接続性」と定義すると想像するかもしれません。 A particular type of standard-formed packet often useful to consider is the "minimal IP packet from A to B" - this is an IP packet with the following properties: しばしば考慮するのが有益な特定のタイプの標準形式パケットが、「Aから Bへの最小IPパケット」で−これは次の特性を持っているIPパケットで す: + It is standard-formed. + これは標準形式です。 + Its data payload is 0 octets. + データペイロードは0オクテットです。 + It contains no options. + オプションを含みません。 (Note that we do not define its protocol field, as different values may lead to different treatment by the network.) (我々がプロトコルフィールドを定義しないことに注意してください、ネッ トワークによっては異なった値を異なる待遇にするかもしれません。) When defining IP metrics we keep in mind that no packet smaller or simpler than this can be transmitted over a correctly operating IP network. IP測定量を定義する時、我々はこれより小さいか、より単純なパケットが 正確に運用されたIPネットワーク上で伝達されることができないというこ とを念頭におきます。 16. Acknowledgements 16. 謝辞 The comments of Brian Carpenter, Bill Cerveny, Padma Krishnaswamy Jeff Sedayao and Howard Stanislevic are appreciated. Brian CarpenterとBill CervenyとPadma KrishnaswamyとJeff Sedayaoと Howard Stanislevicのコメントは正当に評価されます。 17. Security Considerations 17. セキュリティ考慮 This document concerns definitions and concepts related to Internet measurement. We discuss measurement procedures only in high-level terms, regarding principles that lend themselves to sound measurement. As such, the topics discussed do not affect the security of the Internet or of applications which run on it. この文書はインターネット測定と関係がある定義と概念に関係します。我々 はレベルが高い基準で、正常な測定を招く原則に関してだけ測定手順を論じ ます。れなので、論じられたトピックはインターネットやその上で走るアプ リケーションのセキュリティに影響を与えません。 That said, it should be recognized that conducting Internet measurements can raise both security and privacy concerns. Active techniques, in which traffic is injected into the network, can be abused for denial-of-service attacks disguised as legitimate measurement activity. Passive techniques, in which existing traffic is recorded and analyzed, can expose the contents of Internet traffic to unintended recipients. Consequently, the definition of each metric and methodology must include a corresponding discussion of security considerations. インターネット測定を行うことはセキュリティとプライバシー懸念両方を引 き起こすことを認識するべき、と言われます。トラフィックをネットワーク に注入する有効なテクニックは、合法的な測定活動に姿を隠した「サービス 否認」攻撃に乱用することができます。既存のトラフィックを記録して分析 する受動的なテクニックが、インターネットトラフィックの内容を、受信者 の予想なしで暴露できます。従って、それぞれの測定量の定義と方法論はセ キュリティの考慮の対応する論議を含まなくてはなりません。 18. Appendix 18. 付録 Below we give routines written in C for computing the Anderson- Darling test statistic (A2) for determining whether a set of values is consistent with a given statistical distribution. Externally, the two main routines of interest are: 我々は以下に、値集合が所定の統計分布と整合性があるか決定するアンダー ソン−ダーリンテスト統計値(A2)を計算するためにCで書かれたルーチ ンを与えます。外部的に、2つの主なルーチンはそうです: double exp_A2_known_mean(double x[], int n, double mean) double unif_A2_known_range(double x[], int n, double min_val, double max_val) Both take as their first argument, x, the array of n values to be tested. (Upon return, the elements of x are sorted.) The remaining parameters characterize the distribution to be used: either the mean (1/lambda), for an exponential distribution, or the lower and upper bounds, for a uniform distribution. The names of the routines stress that these values must be known in advance, and *not* estimated from the data (for example, by computing its sample mean). Estimating the parameters from the data *changes* the significance level of the test statistic. While [DS86] gives alternate significance tables for some instances in which the parameters are estimated from the data, for our purposes we expect that we should indeed know the parameters in advance, since what we will be testing are generally values such as packet sending times that we wish to verify follow a known distribution. 両方とも最初の引数、x、はテストされるn個の値の配列です。(戻り後、x の要素はソートされます。)残りのパラメータは使われた分布を特徴付けま す:指数分配のための平均(1/ラムダ)あるいは、一様分布の上限と下限。 ルーチンの名前はこれらの値があらかじめ知られていて、データから推定 (例えば、サンプル平均を計算することで)されては*いけない*ことを強 調します。データからパラメータを推測する事はテスト統計値の意味レベル を*変更*します。[DS86]がパラメータをデータから推測するある例のため 代わりの意味表を与えるが、パケット送信回数などのように我々がテストす ることは一般に既知の分布の従うので、我々の目的のために我々は前もって 本当のパラメータを知るべきであると期待します。 Both routines return a significance level, as described earlier. This is a value between 0 and 1. The correct use of the routines is to pick in advance the threshold for the significance level to test; generally, this will be 0.05, corresponding to 5%, as also described above. Subsequently, if the routines return a value strictly less than this threshold, then the data are deemed to be inconsistent with the presumed distribution, *subject to an error corresponding to the significance level*. That is, for a significance level of 5%, 5% of the time data that is indeed drawn from the presumed distribution will be erroneously deemed inconsistent. 両方のルーチンが、前に記述されるように、重要性レベルを返します。これ は0と1の間の値です。ルーチンの正しい使用は前もって重要性レベルテス トの閾値を選びます;一般に、これは、上記述のように、5%に対応して、 0.05であるでしょう。その後、もしルーチンが厳密にこの閾値以下の値を 返すなら、データは予想される分布と整合性がなくて、*重要性レベルに対 応したエラーの適用を受けている*と思われます。すなわち、5%の重要性 レベルで、本当に予想される分布から引き出される時間データの5%が誤っ て整合性がないとみなされるでしょう。 Thus, it is important to bear in mind that if these routines are used frequently, then one will indeed encounter occasional failures, even if the data is unblemished. それで、もしこれらのルーチンがしばしば使われるなら、たとえデータに問 題がなくても、時々誤りに遭遇するということを心に留めておくことは重要 です。 Another important point concerning significance levels is that it is unsound to compare them in order to determine which of two sets of values is a "better" fit to a presumed distribution. Such testing should instead be done using "closeness-of-fit metrics" such as the lambda^2 metric described in [Pa94]. もう1つの意味レベルに関しての重要な点は、2つの値集合のいずれが「よ り」予想される分布と一致するかを比較することが不合理であるということ です。このようなテストはその代わりに[Pa94]で記述したラムダ^2測定量が のような「適合度の近さ測定量」を使ってされるべきです。 While the routines provided are for exponential and uniform distributions with known parameters, it is generally straight-forward to write comparable routines for any distribution with known parameters. The heart of the A2 tests lies in a statistic computed for testing whether a set of values is consistent with a uniform distribution between 0 and 1, which we term Unif(0, 1). If we wish to test whether a set of values, X, is consistent with a given distribution G(x), we first compute Y = G_inverse(X) If X is indeed distributed according to G(x), then Y will be distributed according to Unif(0, 1); so by testing Y for consistency with Unif(0, 1), we also test X for consistency with G(x). 供給されたルーチンが周知のパラメータの指数分布と一様分配のためである が、周知のパラメータのどんな分布のために類似のルーチンを書くことは一 般に簡単です。A2テストの心臓は値集合が、我々がUnif(0, 1)と呼ぶ、0 と1の間の一様分配と整合性があるかどうか試すために計算された統計値で す。もし我々が値集合、X、がある分配G(x)と整合があるかどうか試すことを 望むなら、我々は最初に次の計算をします。 Y = G_逆(X) もしXが本当にG(x)に従って分布するなら、YがUnif(0, 1)に従って分布する でしょう;それでYがUnif(0, 1)に整合があるかテストすることで、我々は XがG(x)と整合するかテストします。 We note, however, that the process of computing Y above might yield values of Y outside the range (0..1). Such values should not occur if X is indeed distributed according to G(x), but easily can occur if it is not. In the latter case, we need to avoid computing the central A2 statistic, since floating-point exceptions may occur if any of the values lie outside (0..1). Accordingly, the routines check for this possibility, and if encountered, return a raw A2 statistic of -1. The routine that converts the raw A2 statistic to a significance level likewise propagates this value, returning a significance level of -1. So, any use of these routines must be prepared for a possible negative significance level. 我々は、しかしながら、Yの計算のプロセスが範囲(0..1)の外の値をもたらす かもしれないことを指摘します。このような値は、もしXが本当にG(x)に従っ て分布するなら生じませんが、もしそうでなければ簡単に生じます。後の場 合、いずれかの値が(0..1)の外にあるならば、浮動小数点の例外が生じるの で、A2の統計地計算の中心を避ける必要があります。したがって、ルーチ ンはこの可能性を調べて、そしてもし遭遇されるなら、生のA2統計値を −1を返します。同じく生のA2統計値を重要性レベルに変換するルーチン は、この値を伝えて、−1の重要性レベルを返します。それで、これらの ルーチンの使用は、負の重要性レベルに対する用意ができているに違いあり ません。 The last important point regarding use of A2 statistic concerns n, the number of values being tested. If n < 5 then the test is not meaningful, and in this case a significance level of -1 is returned. A2統計値の使用に関係している最後の重要な点はn、テストされる値の数、 に関係します。もしn<5であるなら、テストは有意義ではありません、そ してこの場合−1の重要性レベルが返されます。 On the other hand, for "real" data the test *gains* power as n becomes larger. It is well known in the statistics community that real data almost never exactly matches a theoretical distribution, even in cases such as rolling dice a great many times (see [Pa94] for a brief discussion and references). The A2 test is sensitive enough that, for sufficiently large sets of real data, the test will almost always fail, because it will manage to detect slight imperfections in the fit of the data to the distribution. 他方、「真の」データのためにテストは倍率、nがより大きく*増します*。 回転するさいころのような場合でさえ、真のデータが非常に多くの場合、決 して正確には理論的な分布に一致しないことが、統計値共同体でよく知られ ています(短い論議と参考のために[Pa94]を見てください)。A2テストは、 データ分布の適合度のわずかな欠陥を検出することに成功するので、真のデー タの十分に大きい集合でテストがほとんど常に失敗するであろうほど十分敏 感です。 For example, we have found that when testing 8,192 measured wire times for packets sent at Poisson intervals, the measurements almost always fail the A2 test. On the other hand, testing 128 measurements failed at 5% significance only about 5% of the time, as expected. Thus, in general, when the test fails, care must be taken to understand why it failed. 例えば、我々は8,192個の、ポアソン間隔で送信したパケットのワイヤ時 間、をテストした時、測定がほとんど常にA2テストに失敗することに気付 きました。他方、128の測定のテストが、期待されるように、5%の回数 だけ、5%重要性で失敗しました。それで、一般に、テストが失敗する時、 なぜそれが失敗したか理解するために注意がとられなくてはなりません。 The remainder of this appendix gives C code for the routines mentioned above. この付録の残りが上に述べたルーチンのCコードを与えます。 /* Routines for computing the Anderson-Darling A2 test statistic. * アンダーソン−ダーリンA2テスト統計値を計算するためのルーチン。 * * Implemented based on the description in "Goodness-of-Fit * Techniques," R. D'Agostino and M. Stephens, editors, * Marcel Dekker, Inc., 1986. * 「適合良好度テクニック」、R. D'AgostinoとM. Stephens著、 * Marcel Dekker社、1986、の記述に基づいて実装されました。 */ #include <stdio.h> #include <stdlib.h> #include <math.h> /* Returns the raw A^2 test statistic for n sorted samples * z[0] .. z[n-1], for z ~ Unif(0,1). * n個のソートされたサンプルUnif(0,1)のz[0]..z[n-1]の生 * A^2テスト統計を返す。 */ extern double compute_A2(double z[], int n); /* Returns the significance level associated with a A^2 test * statistic value of A2, assuming no parameters of the tested * distribution were estimated from the data. * テストされた分布のパラメータにデータから推測がないと想定し、 * A2のA^2テスト統計値と関連した重要性レベルを返します。 */ extern double A2_significance(double A2); /* Returns the A^2 significance level for testing n observations * x[0] .. x[n-1] against an exponential distribution with the * given mean. * 与えられた平均の指数分配に対して、テストするn観察x[0]..x[n-1] * のA^2重要性レベルを返す。 * * SIDE EFFECT: the x[0..n-1] are sorted upon return. * 副作用:x[0..n-1]が返送時にソートされる */ extern double exp_A2_known_mean(double x[], int n, double mean); /* Returns the A^2 significance level for testing n observations * x[0] .. x[n-1] against the uniform distribution [min_val, max_val]. * 与えられた一様分布[min_val, max_val]に対して、テストするn観察 * x[0]..x[n-1]のA^2重要性レベルを返す。 * * SIDE EFFECT: the x[0..n-1] are sorted upon return. * 副作用:x[0..n-1]が返送時にソートされる */ extern double unif_A2_known_range(double x[], int n, double min_val, double max_val); /* Returns a pseudo-random number distributed according to an * exponential distribution with the given mean. * 所定の平均の指数分布に従って分布する疑似乱数を返します。 */ extern double random_exponential(double mean); /* Helper function used by qsort() to sort double-precision * floating-point values. * 倍精度の浮動小数点の値をソートするためにqsort()によって使われる * ヘルパー関数。 */ static int compare_double(const void *v1, const void *v2) { double d1 = *(double *) v1; double d2 = *(double *) v2; if (d1 < d2) return -1; else if (d1 > d2) return 1; else return 0; } double compute_A2(double z[], int n) { int i; double sum = 0.0; if ( n < 5 ) /* Too few values. */ return -1.0; /* If any of the values are outside the range (0, 1) then * fail immediately (and avoid a possible floating point * exception in the code below). */ for (i = 0; i < n; ++i) if ( z[i] <= 0.0 || z[i] >= 1.0 ) return -1.0; /* Page 101 of D'Agostino and Stephens. */ for (i = 1; i <= n; ++i) { sum += (2 * i - 1) * log(z[i-1]); sum += (2 * n + 1 - 2 * i) * log(1.0 - z[i-1]); } return -n - (1.0 / n) * sum; } double A2_significance(double A2) { /* Page 105 of D'Agostino and Stephens. */ if (A2 < 0.0) return A2; /* Bogus A2 value - propagate it. */ /* Check for possibly doctored values. */ if (A2 <= 0.201) return 0.99; else if (A2 <= 0.240) return 0.975; else if (A2 <= 0.283) return 0.95; else if (A2 <= 0.346) return 0.90; else if (A2 <= 0.399) return 0.85; /* Now check for possible inconsistency. */ if (A2 <= 1.248) return 0.25; else if (A2 <= 1.610) return 0.15; else if (A2 <= 1.933) return 0.10; else if (A2 <= 2.492) return 0.05; else if (A2 <= 3.070) return 0.025; else if (A2 <= 3.880) return 0.01; else if (A2 <= 4.500) return 0.005; else if (A2 <= 6.000) return 0.001; else return 0.0; } double exp_A2_known_mean(double x[], int n, double mean) { int i; double A2; /* Sort the first n values. */ qsort(x, n, sizeof(x[0]), compare_double); /* Assuming they match an exponential distribution, transform * them to Unif(0,1). */ for (i = 0; i < n; ++i) { x[i] = 1.0 - exp(-x[i] / mean); } /* Now make the A^2 test to see if they're truly uniform. */ A2 = compute_A2(x, n); return A2_significance(A2); } double unif_A2_known_range(double x[], int n, double min_val, double max_val) { int i; double A2; double range = max_val - min_val; /* Sort the first n values. */ qsort(x, n, sizeof(x[0]), compare_double); /* Transform Unif(min_val, max_val) to Unif(0,1). */ for (i = 0; i < n; ++i) x[i] = (x[i] - min_val) / range; /* Now make the A^2 test to see if they're truly uniform. */ A2 = compute_A2(x, n); return A2_significance(A2); } double random_exponential(double mean) { return -mean * log1p(-drand48()); } 19. References 19. 参考文献 [AK97] G. Almes and S. Kalidindi, "A One-way Delay Metric for IPPM", Work in Progress, November 1997. [BM92] I. Bilinskis and A. Mikelsons, Randomized Signal Processing, Prentice Hall International, 1992. [DS86] R. D'Agostino and M. Stephens, editors, Goodness-of-Fit Techniques, Marcel Dekker, Inc., 1986. [CPB93] K. Claffy, G. Polyzos, and H-W. Braun, "Application of Sampling Methodologies to Network Traffic Characterization," Proc. SIGCOMM '93, pp. 194-203, San Francisco, September 1993. [FJ94] S. Floyd and V. Jacobson, "The Synchronization of Periodic Routing Messages," IEEE/ACM Transactions on Networking, 2(2), pp. 122-136, April 1994. [Mi92] Mills, D., "Network Time Protocol (Version 3) Specification, Implementation and Analysis", RFC 1305, March 1992. [Pa94] V. Paxson, "Empirically-Derived Analytic Models of Wide-Area TCP Connections," IEEE/ACM Transactions on Networking, 2(4), pp. 316-336, August 1994. [Pa96] V. Paxson, "Towards a Framework for Defining Internet Performance Metrics," Proceedings of INET '96, ftp://ftp.ee.lbl.gov/papers/metrics-framework-INET96.ps.Z [Pa97] V. Paxson, "Measurements and Analysis of End-to-End Internet Dynamics," Ph.D. dissertation, U.C. Berkeley, 1997, ftp://ftp.ee.lbl.gov/papers/vp-thesis/dis.ps.gz. 20. Authors' Addresses 20. 著者のアドレス Vern Paxson MS 50B/2239 Lawrence Berkeley National Laboratory University of California Berkeley, CA 94720 USA Phone: +1 510/486-7504 EMail: vern@ee.lbl.gov Guy Almes Advanced Network & Services, Inc. 200 Business Park Drive Armonk, NY 10504 USA Phone: +1 914/765-1120 EMail: almes@advanced.org Jamshid Mahdavi Pittsburgh Supercomputing Center 4400 5th Avenue Pittsburgh, PA 15213 USA Phone: +1 412/268-6282 EMail: mahdavi@psc.edu Matt Mathis Pittsburgh Supercomputing Center 4400 5th Avenue Pittsburgh, PA 15213 USA Phone: +1 412/268-3319 EMail: mathis@psc.edu 21. Full Copyright Statement 21. 完全著作権表示 Copyright (C) The Internet Society (1998). All Rights Reserved. 著作権(C)インターネット学会(1998)。すべての権利は保留される。 This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English. 上記著作権表示とこの段落が全ての複写や派生的な仕事につけられていれば、 この文書と翻訳は複写や他者への提供ができ、そしてコメントや説明や実装 を支援する派生的な仕事のためにこの文書の全部か一部を制約なく複写や出 版や配布できます。しかし、この文書自身は、英語以外の言葉への翻訳やイ ンターネット標準を開発する目的で必要な場合以外は、インターネット学会 や他のインターネット組織は著作権表示や参照を削除されるような変更がで きません、インターネット標準を開発する場合はインターネット標準化プロ セスで定義された著作権の手順に従われます。 The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns. 上に与えられた限定された許可は永久で、インターネット学会やその後継者 や譲渡者によって無効にされません。 This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. この文書とここに含む情報は無保証で供給され、そしてインターネット学会 とインターネット技術標準化タスクフォースは、特別にも暗黙にも、この情 報の利用が権利を侵害しないことや商業利用や特別の目的への利用に適当で ある事の保障を含め、すべての保証を拒否します。