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