Download presentation
Presentation is loading. Please wait.
1
輪講: 詳解TCP/IP ACE B3 suzuk
2
第7章 Pingプログラム
3
Table of Contents 7.1 イントロダクション 7.2 Pingプログラム 7.3 IPレコード・ルート・オプション
7.1 イントロダクション 7.2 Pingプログラム 7.3 IPレコード・ルート・オプション 7.4 IPタイムスタンプ・オプション 7.5 まとめ
4
7.1 イントロダクション Ping、それは診断プログラム 到達可能ホストかどうかをテストする
7.1 イントロダクション Ping、それは診断プログラム 到達可能ホストかどうかをテストする ICMPエコー要求メッセージを送る ICMPエコー応答を待つ ネットワーク構造・障害を調べる時のスタートポイント 往復時間を計測し、ホスト間の”距離”を示す Packet InterNet Groperの略
5
7.2 Pingプログラム クライアント サーバ エコー要求を送るping プログラム pingの対象となるサーバ
カーネルで実装されているTCP/IPがサポート (ユーザプロセスではない) 識別子とシーケンス番号をオプションデータエコーする 識別子フィールドを送り手プロセスのUIDにセット シーケンス番号は0からスタートし、1ずつ増加する
6
7.2 Pingプログラム 最近のOSでは? 新しい実装では –s オプションを渡さないと1つのエコー要求しか投げない
ping hogehoge.com ping –s hogehoge.com Pinging [ ] with 32 bytes of data: Reply from : bytes=32 time=4ms TTL=242 Reply from : bytes=32 time=3ms TTL=242 Reply from : bytes=32 time=5ms TTL=242 Ping statistics for : Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 3ms, Maximum = 5ms, Average = 4ms host is alive or no answer
7
7.2 Pingプログラム LANでpingすると? pingは往復時間を計測できる OSのタイマーの精度によって往復時間算出の制度も異なる
ICMPメッセージのデータ部分にエコー要求が送られた時間を格納する OSのタイマーの精度によって往復時間算出の制度も異なる 宛先のMACアドレスが送り手のARPキャッシュに存在しない場合 ARP要求と応答のために数ミリ秒を要する 最初のエコー要求が数ミリ秒長いことの原因
8
7.2 Pingプログラム WANでpingすると? 出力結果にシーケンス番号がない 往復時間が大きく分散する
順番の入れ違いが発生する(送った順に返ってこない) パケットの重複が発生(同じシーケンス番号が返る) 往復時間が大きく分散する パケットの消失が起こることもある ホストは生きているのに・・・
9
7.2 Pingプログラム ハードワイヤードSLIPリンク 9600bit/sec 以下の低速な非同期速度 何がわかるのか?
ICMPエコー要求はそれ自身の応答が返ってくる前に、次の要求を送っている 応答時間は1.4秒 ICMPエコー要求間隔は1秒
10
7.2 Pingプログラム ダイヤルアップSLIPリンク 双方のエンドにモデムが存在する モデムはping計測に大きく影響する
モデムのエラー制御とデータ圧縮が最たる原因 ある程度の遅延の発生 コンピュータ自身の受信データバッファ、割り込み間隔
11
7.3 IPレコード・ルート・オプション IPRR(IPレコード・ルート)オプション パケットが通過したルータのIPが分かる
pingの -R オプションで有効になる 9つのアドレスまでカバーできる 往復で追加される 行きでも帰りでも追加
12
7.3 IPレコード・ルート・オプション RRオプションのIPデータグラムの構造 コード データ長 ポインタ
13
7.3 IPレコード・ルート・オプション 実験 svr4 % ping -R slip PING slip ( ): 56 data bytes 64 bytes from : icmp_seq=0 ttl=254 time=280 ms RR: bsdi ( ) slip ( ) bsdi ( ) svr4 ( ) 64 bytes from : icmp_seq=1 ttl=254 time=280 ms (same route) 64 bytes from : icmp_seq=2 ttl=254 time=270 ms (same route) ^? --- slip ping statistics packets transmitted, 3 packets received, 0% packet loss round-trip min/avg/max = 270/276/280 ms
14
7.3 IPレコード・ルート・オプション 実験 tcpdump で見てみよう 1 2 0.0
svr4 > slip: icmp: echo request (ttl 32, id 35835, optlen=40 RR{39}=RR(# / / / / / / / / } EOL) 2 (0.2677) slip > svr4: icmp: echo reply (ttl 254, id 1976, optlen=40 RR{39}= RR( / / /# / / / / / } EOL)
15
7.4 IPタイムスタンプ・オプション 0x44 フラグ3がよい どのルータがタイムスタンプを記録するか選択できる
16
7.4 IPタイムスタンプ・オプション タイムスタンプのスペースがなくなった場合 ルーターでUTC時間をサポートしていない場合
ルーターはオーバーフロー・フィールドを増加させる ルーターでUTC時間をサポートしていない場合 タイムスタンプのハイ・オーダー・ビットをOn
17
7.5 まとめ Pingは基本的な接続テスト TCP/IPが稼動する2つのシステム間で使う
7.5 まとめ Pingは基本的な接続テスト TCP/IPが稼動する2つのシステム間で使う Pingサーバは通常、カーネルのICMP実装の一部
Similar presentations
© 2024 slidesplayer.net Inc.
All rights reserved.