輪講: 詳解TCP/IP

Download Report

Transcript 輪講: 詳解TCP/IP

輪講:
詳解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ポート到達不可エラー