要約

  • RFC 2041は、特定の移動経路で得たパケット、機器、位置の観測を保存する記録と、PaMが有線環境で実行する簡略化された変調記録を分けた。
  • 変換できる元の記録は狭く限定され、大小のICMPパケット、単一ホストの時計、時間窓に依存した。繰り返せる実験は、無線の物理環境や普遍的な性能の再現を意味しなかった。

研究室で見つけた不具合を、もう一度同じ条件で起こしたい。ところが、ノートパソコンを持って同じ廊下を歩いても、通信状態まで同じになるとは限らない。移動するホストにとって、経路の同一性と、時間とともに変わるネットワークの同一性は別の問題だった。

1996年10月の RFC 2041は、この難しさを記録と変調の二段階で扱った。Brian D. Noble、Giao T. Nguyen、Mahadev Satyanarayanan、Randy H. Katzは、Carnegie Mellon UniversityとUniversity of California, Berkeleyで進めていた研究を報告した。実地で得た観測を保存し、適切な種類の記録からパケット効果の時間列を取り出す。被験ソフトウェアは、改変されたカーネルを持つ有線接続ホスト上で、その効果を経験する。

文書はInformationalであり、インターネット標準ではない。共有形式をめぐる議論を促す初期の報告だった。その価値を理解するために、広く普及したと推測する必要はない。観測が実行可能な実験条件になるまでに何が必要かを、具体的に記述したことが重要である。

観測は経路と負荷を離れられない

記録段階では、計測機能を備えた移動ホストが関心のある経路を通り、静止ホストが既知の負荷からパケットを発生させる。移動ホストは受信パケットと機器特性を記録する。この一組の観測が説明するのは、その通過である。

同じ経路を複数回通り、負荷を変えれば、記録の集合を作れる。しかし、集合が増えることと、あらゆる環境を代表することは違う。別の建物、別のインターフェース、異なる使い方については、それぞれの根拠が必要になる。ファイルを別の研究者へ渡せても、元の観測範囲まで広がるわけではない。

長期平均では消える順序を残すことに、ソフトウェア実験上の意味があった。安定した時間の途中に短い不調が挟まる場合、接続が一様に悪い場合とは、適応処理や復旧の負担が変わり得る。記録はその時間的構造を保存する。研究室で比較するのは、選ばれた構造へのソフトウェアの反応である。

トラックが説明を持ち運んだ

第3節と第4節の設計目標は、拡張でき、自ら内容を説明し、管理しやすい形式だった。ネットワークバイト順で保存するレコードには、型を示すmagic wordとサイズがある。これらは構造の妥当性を調べる手掛かりであって、観測の真実性を認証する署名ではない。

関連するレコードはトラックにまとめる。ヘッダーが各項目の形式を先に宣言し、その後でエントリーを記録する。異なるトラックのエントリーは混在してよいが、対応するヘッダーが先に現れる必要がある。

属性の名前と値の組は、トラック全体で一度だけ記録する値と、毎回変化する値を区別した。後者については、各エントリーで何ワードを使うかも宣言する。未知の属性を旧いツールが理解できなくても、その領域を特定して読み飛ばせる。読み飛ばせることは、意味を理解したことでも、再現実験へ利用できることでもない。

パケットのトラックは収集ホスト、機器、プロトコルを示し、個々の項目にサイズ、送受信時刻、選択された属性を持つ。機器トラックは信号や状態を、一般トラックは位置を記録する。注釈はトラック外に時刻、ホスト、自由記述を保存した。数値の列だけでなく、数値を解釈する条件も残す構成である。

位置と機器の値にも測り方がある

無線機器の測定値は機種に依存する。WaveLANの一部の情報をパケットごとに得られても、多くの機器は一定期間の平均値を返す。そのため報告は周期的で、頻度はドライバーが決める。近くにある信号値を、各パケットの瞬間的状態だと見なすのは早計である。

原文は、機器が提供するCRCやバッファーあふれなどの状態・エラー情報から、観測された損失の一部を説明できるとした。一方、位置、信号、損失の相関だけで全ての原因が決まるとは述べていない。どの情報が機器から得られたかが、説明できる範囲を左右する。

位置にも異なる来歴があった。屋外ではGPSの利用を検討し、屋内では建物の地図を表示して使用者が移動位置をクリックするツールを開発した。接続先の基地局による推定は粗く、基地局情報自体を確実に得られない場合もある。手入力の地図座標を、自動測位による検証済みの位置と扱うことはできない。

地図の切り替えには、新しい位置トラックと地図ファイル名を残す注釈を追加できるとした。参照する地図が変われば、同じ数字の座標でも意味が変わる。位置を保存するとは、座標だけでなく、その参照環境を保持することでもあった。

細かい時刻表現と欠けていない観測は別物

ファイルは時刻形式を一つ選ぶ。秒とマイクロ秒、または秒とナノ秒である。小さな単位で表現できることは、時計が正確なこと、ホスト間で同期していること、実行時にその単位でスケジュールできることを証明しない。

さらに第4.7節は、収集中に失われた記録を明示した。収集バッファーがあふれるなどして、パケットエントリー、機器の記録、注釈が保存されないことがある。損失レコードは、どの種類が何件失われたかを数えた。

ネットワークで届かなかったパケットと、収集器が保存できなかった観測は区別しなければならない。記録の空白を全てネットワーク損失と解釈すると、計測側の不備が後の変調条件になる。欠損数は問題を開示するが、失われた時刻や内容を復元はしない。フッターによってファイルの終了を確認できても、観測が無欠損だったとは限らない。

収集はカーネル内のagentがデータをバッファーへ集め、ユーザー側のcollectorが擬似デバイスを通じて定期的に取り出し、解釈せずディスクへ書く構成だった。まとめて転送することで固定費用をならす。これは干渉を減らす工夫であり、計測負荷がゼロという保証ではない。

PaMは何を実行したか

Packet ModulatorであるPaMは、IP層と下位インターフェースの間で送受信パケットを捕捉する。転送を止めれば損失になり、ビットを反転すれば破損になり、待たせれば遅延になる。被験アプリケーションのソースやバイナリーを変更しないため、テスト専用の実装へ作り替えずに試せた。

遅延モデルは、パケットサイズを利用可能な帯域幅で割った送信時間と、latencyの和である。実際に運ぶ有線ネットワークは、模倣対象より十分高速で高品質だから無視できる、と仮定した。土台のネットワークが無視できなければ、意図した時間列以外の効果が加わる。

実行用の変調記録は観測記録より単純である。各項目は継続時間と、latency、帯域幅の逆数であるinter-byte time、損失率、破損率を指定する。ヘッダーはその単位や率の尺度を説明する。機器や地図の背景情報全てを実行命令へ移す必要はない。しかし、それらが元のパラメーターを解釈する根拠であることは変わらない。

時計の刻みが望む遅延に比べて粗いため、作者は各パケットの厳密な時刻より平均スケジュール誤差を小さくすることを目指した。同じ設定を反復することと、パケット一つ一つの履歴が完全に一致することは同義ではない。

変換は特定の負荷と仮定に依存した

第5.2.3節では、変換元を非常に狭い種類に制限した。サイズの異なる二つのパケットが、同じ経路を近い時刻に通れば、同じlatencyと帯域幅を経験したと仮定する。サイズと通過時間の差からモデルのパラメーターを求めるには、この条件が必要だった。

手元のノートパソコンの時計は無視できない程度にずれた。作者は、この実験ではNTPを使わなかった。追加通信が既知の負荷を変え、時計調整による速度変化が計測を乱すからである。全ての時刻同期への一般的な否定ではなく、実験条件を保つ選択である。

代わりに一台の時計を使い、ICMP ECHO要求を送るときに時刻を記録し、対応する返信を収集した。pingを変更して小さいパケットと大きいパケットを交互に送る。この往復観測を、往路と復路で別々に検証した片道遅延へ読み替えてはならない。非対称なチャネルに向けた独立の入出力変調項目は、後続の課題に含まれていた。

変換器は時間窓を移動し、各窓でパケット対の平均latencyと帯域幅、損失率を求めた。窓の大きさと進め方は調整可能で、推奨値は今後の経験を待っていた。窓を広げれば短い悪化を平均化し得る一方、狭めれば推定に使える観測が減る。この取捨は方法から読めるが、原文が数値で確立した結果ではない。

当時の機器は、壊れたパケットをOSへ知らせずハードウェアで捨てた。PaMは破損を追加損失へ置き換え、外から見える効果を再現できる。これによって、個別に観測された誤りの履歴や、物理的原因が復元されたわけではない。

残された課題が結論の範囲を定める

第7節は、IP中心の形式、まだ深く調べていない複数ホストの共有帯域、非対称性、多数のインターフェース、宛先別の変調を課題として挙げた。複数ホストの記録を一つのファイルへまとめる能力は、共有媒体の相互作用を再現する能力ではない。

RFC 2041は、限定された観測を、宣言した変換によって繰り返し使えるソフトウェア実験にする道筋を示した。成功した再実験が支えるのは、構築したパケット条件に対するソフトウェアの振る舞いである。記録された移動経路の外まで、証拠を増やすことはできない。

出典