最新ファイルの提供を保証する代理FTPサーバの開発 情報ネットワーク講座 0062017 尾藤 正人
はじめに 研究背景 関連研究 代理FTPサーバの提案 評価および考察 既知の問題点 まとめ
FTPサーバの利用形態 FTP 匿名FTPサーバによるファイルの配布が一般的 ミラーサーバの利用 インターネット上でファイルのやりとりを行うためのプロトコル(RFC 959) 匿名FTPサーバによるファイルの配布が一般的 ミラーサーバの利用 マスターサーバと同一ファイルを提供
ミラーサーバ利用に関する問題点1 ミラーサーバの選択時に が不明 どのようなミラーサーバがあるのか 何をミラーしているのか ネットワーク的に近いのはどれか ミラーサーバの更新が遅れていないか が不明
ミラーサーバ利用に関する問題点2 ミラーサーバ選択のために多くの情報が必要 ミラーサーバの選択が困難 マスターサーバに負荷が集中
CVSupサーバの利用統計(2002/2/8) 128.0 マスター サーバ 20.0 20.0 ミラー サーバ
研究背景のまとめ ミラーサーバを利用するためには、 多くの情報と複雑な手順が必要 ミラーサーバが有効活用されていない ミラーサーバを自動選択し、最新ファイルを取得する技術が必要
本研究の目的 ミラーサーバの選択を自動的に行い、ユーザ側の手間を軽減 取得ファイルの最新性を保証 互換性を維持
ミラーサーバ自動選択の 実装モデル サーバ ディレクトリ ファイル DNS クライアント 中継サーバ FTP Mirror Tracker 細かいファイルの不整合に対応できない 選択単位 サーバ ディレクトリ ファイル DNS Tenbin DNS Balance DNS Trick クライアント GetRight Smart Client apt 中継サーバ FTP Mirror Tracker 代理FTP 実装場所 専用クライアントが必要 ディレクトリ単位の選択
代理FTPサーバの特徴 中継サーバにおける実装 従来のクライアントでアクセス可能 更新状況などは全てサーバ側で把握 ファイル単位でのミラーサーバの選択 キャッシング機能
代理FTPサーバの動作の概要 ミラーサーバ優先度 マッピングツリー データ キャッシュ ベース インター ネット 更新 代理FTP サーバ file1 file3 file4 インター ネット 更新 代理FTP サーバ file1 file2 file4 file1 file2 file3 file4 組織内ネットワーク
開発環境 マシン: Sun Ultra 10 OS: Linux 2.2.20 ライブラリ: glibc 2.1.3 コンパイラ: gcc 2.95.3
代理FTPサーバの実装体系 モニタリング プロセス 接続管理 プロセス 生成 更新 接続 更新情報 の取得 情報の取得 クライアント 対応プロセス データベース キャッシング クライアント FTPサーバ群
実ネットワーク上での測定 インターネット 広島市立大学 代理FTP サーバ FTPサーバ ring.atr.co.jp
測定方法 計15MBの10個のファイルを取得する 1時間毎に24時間行い、各測定において10回繰り返す 測定した10回の平均をとる
測定結果
既知の問題点 耐故障性の低下 (複数台の導入により回避可能) モニタリングによるネットワークトラフィックの増加 (適切な更新頻度の見きわめが必要) ファイル取得要求の誘導方法 ミラーサーバを直接指定された場合は、代理FTPサーバの機能を利用することができない
まとめ 代理FTPサーバを提案 今後の課題 最新のファイルを近くのサーバから取得可能 ファイル単位のミラー不整合に対処可能 従来のクライアントでアクセス可能 実用上十分な速度が出ている 今後の課題 モニタリング頻度の最適性 性能改善
マスターサーバとミラーサーバのディレクトリツリー
マスターサーバとミラーサーバの関係 マスターサーバ 1次ミラーサーバ 2次ミラーサーバ インターネット
ミラーリングポリシー 次のようなファイルはミラーしない場合がある ミラーに関するポリシーを本研究ではミラーリングポリシーと呼ぶ 先頭に“.”のつくファイル ファイルの最後に“~”のつくファイル ミラーに関するポリシーを本研究ではミラーリングポリシーと呼ぶ
更新状況調査の方法 Vine Linuxのディレクトリツリーを調査 無作為に抽出した11台のサーバからファイル一覧を取得し、比較 比較した結果を以下の4つに分類 同期 実用上の同期(ミラーリングポリシーによる非同期) 非同期 ミラーなし
更新状況調査の結果 2.1 1 8 2 2.1.5 7 3 VineSeed ディレクトリ 完全同期 実用上の同期 非同期 ミラーなし 2.1.5 7 3 VineSeed 2.1, 2.1.5は安定版リリースであり、1年以上更新されていない VineSeedは開発版であり、ほぼ毎日更新される
モニタリングにかかるトラフィック 総容量(GB) ファイルリスト(MB) 割合(%) RingServer全体 309 109 0.0345 Vine Linux 23.1 4.32 0.0182 ファイルリストの出力はかなり小さい モニタリング範囲を限定することでトラフィックを減少させることができる ミラーリング時には必ずファイルリストのトラフィックが発生する
モニタリング間隔についての考察 ミラーサーバのミラーリングは、1日数回程度 最新性を保証するには、1時間に1回程度のモニタリングが必要 ネットワークトラフィックを減らしたい場合は1日1回程度のモニタリングでよい
サーバ自動選択の実装モデル サーバ ディレクトリ ファイル DNS クライアント 更新の遅いサーバにアクセスする可能性がある ミラーサーバが同一ディレクトリ構造でなければならない 選択単位 サーバ ディレクトリ ファイル DNS Tenbin DNS Balance DNS Trick クライアント GetRight Smart Client apt FTP Mirror Tracker 代理FTPサーバ 実装場所 サーバ単位の選択しかできない 専用クライアント 更新状況の一元管理ができない