1 / 17

輪講: 詳解 TCP/IP

輪講: 詳解 TCP/IP. ACE B3 suzuk. 第 7 章   Ping プログラム. Table of Contents. 7.1 イントロダクション 7.2 Ping プログラム 7.3 IP レコード・ルート・オプション 7.4 IP タイムスタンプ・オプション 7.5 まとめ. 7.1 イントロダクション. Ping 、それは診断プログラム 到達可能ホストかどうかをテストする ICMP エコー要求メッセージを送る ICMP エコー応答を待つ ネットワーク構造・障害を調べる時のスタートポイント

shepry
Download Presentation

輪講: 詳解 TCP/IP

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 輪講: 詳解TCP/IP ACE B3 suzuk

  2. 第7章  Pingプログラム

  3. Table of Contents 7.1 イントロダクション 7.2 Pingプログラム 7.3 IPレコード・ルート・オプション 7.4 IPタイムスタンプ・オプション 7.5 まとめ

  4. 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 www.yahoo.co.jp [210.81.150.5] with 32 bytes of data: Reply from 210.81.150.5: bytes=32 time=4ms TTL=242 Reply from 210.81.150.5: bytes=32 time=3ms TTL=242 Reply from 210.81.150.5: bytes=32 time=5ms TTL=242 Reply from 210.81.150.5: bytes=32 time=5ms TTL=242 Ping statistics for 210.81.150.5: 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は往復時間を計測できる • 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が分かる • データグラムを処理する全てのルータが自分のIPアドレスを追加するようになる • pingの -R オプションで有効になる • 9つのアドレスまでカバーできる • 往復で追加される • 行きでも帰りでも追加

  12. 7.3 IPレコード・ルート・オプション • RRオプションのIPデータグラムの構造 • コード • IPオプションのタイプ指定(RRは7の値) • データ長 • RRオプションのバイト数 • ポインタ • 次のIPアドレスが格納されるべき場所を示す

  13. 7.3 IPレコード・ルート・オプション • 実験 • svr4 % ping -R slipPING slip (140.252.13.65): 56 data bytes64 bytes from 140.252.13.65: icmp_seq=0 ttl=254 time=280 ms RR: bsdi (140.252.13.66)slip (140.252.13.65)bsdi (140.252.13.35)svr4 (140.252.13.34) 64 bytes from 140.252.13.65: icmp_seq=1 ttl=254 time=280 ms (same route)64 bytes from 140.252.13.65: icmp_seq=2 ttl=254 time=270 ms (same route)^?--- slip ping statistics ---3 packets transmitted, 3 packets received, 0% packet lossround-trip min/avg/max = 270/276/280 ms

  14. 7.3 IPレコード・ルート・オプション • 実験 tcpdump で見てみよう • 1 • 0.0 • svr4 > slip: icmp: echo request (ttl 32, id 35835,optlen=40 RR{39}=RR(#0.0.0.0/0.0.0.0/0.0.0.0/0.0.0.0/0.0.0.0/0.0.0.0/0.0.0.0/0.0.0.0/0.0.0.0} EOL) • 2 • 0.267746 (0.2677) • slip > svr4: icmp: echo reply (ttl 254, id 1976,optlen=40 RR{39}= RR(140.252.13.66/140.252.13.65/140.252.13.35/#0.0.0.0/0.0.0.0/0.0.0.0/0.0.0.0/0.0.0.0/0.0.0.0} EOL)

  15. 7.4 IPタイムスタンプ・オプション 0x44 • フラグ3がよい どのルータがタイムスタンプを記録するか選択できる

  16. 7.4 IPタイムスタンプ・オプション • タイムスタンプのスペースがなくなった場合 • ルーターはオーバーフロー・フィールドを増加させる • ルーターでUTC時間をサポートしていない場合 • タイムスタンプのハイ・オーダー・ビットをOn

  17. 7.5 まとめ • Pingは基本的な接続テスト • TCP/IPが稼動する2つのシステム間で使う • Pingサーバは通常、カーネルのICMP実装の一部

More Related