第9章 Error and Control Messages (ICMP) ネットワークの制御情報を伝える手段 ICMP (1) ルータで問題が生じたとき – ルーティング表の異常,送出不可,輻輳 ホスト,ルータが制御(エラー)情報を通信する機構 – レポート(ルータ),到達可能性のテスト(ホスト) ホスト,ルータ は自律分散的に動く. – 正しい動作をしないマシンがあるかもしれない. – 通信路,プロセッサの失敗,host がない. – Ttl 時効,ルータの過負荷 どこが悪いかも分からない.テストもしたい. ICMP (2) internet control message protocol ICMP – 通常のデータグラムのデータ部分に乗って送 られる. – 相手は応用プログラムではなくネットワークソ フトウェアである. – ホスト ルータ, ホスト ホスト エラーの報告 誤りの回復を規定するものではない. 問題となるデータグラムの発信アドレスに 報告 – 途中のルータに届けるものではない.(不可 能) 誤りの除去はホストの管理者とネットワー クの管理者 ICMP メッセージの配送 通常のユーザの通報と同じ方法で配送 – 物理ネットワーク間を経由して運ばれなくては ならないので,データグラムを使用 – 特別な信頼性,優先度を持たない. ICMPのエラーはICMP通報を出さない. – ICMP自体が紛失したり誤りになりやすい. 高位のプロトコルではなく,IPの一部として 必須. ICMP メッセージ Format Type(8), code(8), checksum(16) – 誤り報告には問題のIPデータグラムのチェック サム 報告には問題のIPデータグラムの – HDR + 64データビット ICMP Type Type Field 0 3 4 5 8 11 12 13 14 17 18 ICMP Message Type Echo Reply Destination Unreachable Source Quenching Redirect (change a route) Echo Request Time Exceeded for a Datagram Parameter Problem on a Datagram Timestamp Request Timestamp Reply Address Mask Request Address Mask Reply 到達可能性検査 echo request/reply – すべてのマシンが応じる (/usr/etc/ping) data はコピーして返す reply の意味 – srcマシンはip datagram を正しい経路で送出 可能 – 途中のルータは正しく動作 – dstマシンはICMPとIPのソフトウェアは動作 – 戻り道の経路でルータが正常 到達できない (destination unreachable) Best-effort→ルータは中継、配送のできな いときは必ず報告(勝手に廃棄しない) – ハードウェアの一時的な故障 – アドレスが実在しない – ルータがルートを持たない すべての不配達を通知するわけではない. たとえば ethernet では ack がないので,相 手に受け取られたかどうかわからない. Destination Unreachable Code Value 0 1 2 3 4 5 6 7 8 9 10 11 12 Meaning Network Unreachable Host Unreachable Protocol Unreachable Port Unreachable Fragmentation Needed and DF set Source Route Failed Destination network unknown Destination host unknown Source host isolated Communication with destination network administratively prohibited Communication with destination host administratively prohibited Network Unreachable for type of service Host unreachable for type of service 輻輳とデータグラムの流量制御 資源をあらかじめ予約できない. – connectionless – 輻輳 (congestion) → source quenching 捨てるたびに送る. どのソースをquench するか アルゴリズム – すべての無視したデータグラムについて? – もっともたくさん送ってくるマシンに? – 捨てる前に quench ? 流量制御 (続き) 緩める quench はない. – Quench を受けなくなるまで速度を下げる. – 来なくなると徐々に上げる. ICMP 経路変更要求 ルータの迂回要求 ループの検出 time exceeded – ttl = 0 – fragment reassembly time over run 最初の fragment からの経過時間 timestamp ・・ 時刻の問い合わせ – 発信元 →受信・返信→発信元 – roundtrip 遅延の推定 – 平均の操作が必要? (best-effort) subnet mask の request/reply キーポイント ICMPは “どのように” 送るかよりも,“どの タイミングで” 送るか,のほうが重要である. 文献 – RFC792 (ICMP), 896, 1016 (src quenching), 950 (subnetmask), 956-958 (clock synchronize)
© Copyright 2024 ExpyDoc