輪講: 詳解TCP/IP ACE B3 suzuk 第6章 ICMP:インターネット・コン トロール・メッセージ・プロトコル Table of Contents 6.1 6.2 6.3 6.4 6.5 6.6 6.7 イントロダクション ICMPメッセージ・タイプ ICMPアドレス・マスクの要求と応答 ICMPタイムスタンプの要求と応答 ICMPポート到達不可エラー 4.4BSDのICMPメッセージ処理 まとめ 6.1 イントロダクション ICMP: インターネット・コントロール・メッセージ・プロトコル 注意すべきエラーメッセージなど ユーザプロセスに返されるエラーを生成 RFC792を参照のこと 6.1 イントロダクション タイプ・フィールド 特定のメッセージを表す 特定の状態を表すのにコード・フィールドを使用することもある 15の異なる値 チェックサム・フィールド データの整合性をチェック ICMPメッセージ全体をカバー 6.2 ICMPメッセージ・タイプ ICMPメッセージの分類 タイプ・フィールドとコードフィールドでどんなメッ セージか分類できる ICMPエラー・メッセージの場合 必ずIPヘッダとエラー発生原因のIPデータグラムの最初 の8バイトを含む • プロトコル(IPヘッダのプロトコルフィールド) • ユーザプロセス(IPデータグラム最初の8バイトのポート番号) 発生源とエラーメッセージを関連付けることができる 6.2 ICMPメッセージ・タイプ ICMPメッセージは次に対して生成されない ICMPエラー・メッセージ IPブロードキャスト・アドレス リンク層ブロードキャストとしてのデータグラム 2つ目以降のフラグメント 発信元アドレスが1台のホストと定義されていない 6.3 ICMPアドレス・マスクの要求と応答 サブネットマスクを取得するためのもの ディスクレスシステムが起動時に必要とする 代替方法としては、BOOTPプロトコル 6.4 ICMPタイムスタンプの要求と応答 現在の時間を照会する UTC午前0時からの経過時間 ミリ秒単位の精度 UNIXの rdataコマンドは大抵秒単位 受信時、応答時のタイムスタンプを埋め込み送信 differenceは受信されたタイムスタンプからオリジ ネート・タイムスタンプを引いたもの 照会ホストの時間を得るにはdifferenceからRTTの 2分の1を減じたもので調整される 6.4 ICMPタイムスタンプの要求と応答 リモートシステムの時間を得る代替方法 daytime, timeサービスをssh(telnet)でログインし て実行 NTP(ネットワーク・タイム・プロトコル) ミリ秒単位の精度 LAN, WAN上の全てのシステムのクロックを保持 コンピュータの正確な時間管理に役立つ DTS(分散タイム・サービス) timed ローカルエリアでシステムタイムを同期させる 6.5 ICMPポート到達不可エラー ポート到達不可メッセージ ICMPエラーメッセージ エラーメッセージの追加情報について注目する TTFTP ほとんどのTFTPクライアントは異なるポート番号にUDPパケットを送 ることができる UDPは宛先ポートが応答しないと、ICMPポート到達不可メッセージ を返す bsdi % tftp tftp> connect svr4 8888 tftp> get temp.foo Transfer timed out. tftp> quit 6.5 ICMPポート到達不可エラー 注意点 ICMPメッセージはポート番号指定がない UDPメッセージはポート番号を指定される ICMPエラー・メッセージのルール エラー発生もとのIPヘッダ それに続く8バイト • この例のUDPヘッダーは発信元と宛先のポート番号 6.5 ICMPポート到達不可エラー tcpdump の タイムライン 6.6 4.4BSDのICMPメッセージ処理 ICMPは様々な状況をカバーする 致命的なエラーから情報的なメッセージまで 実装ごとに処理方法が異なる カーネルで処理されるメッセージ ユーザ・プロセスで処理されるメッセージ 完全に無視されるメッセージ 6.7 まとめ ICMPメッセージのタイプ ICMPアドレスマスクの要求と応答 タイムスタンプの要求と応答 ICMPポート到達不可エラー
© Copyright 2025 ExpyDoc