詳解TCP/IP ACE B2 mewtwo IP:インターネットプロトコル イントロダクション • IPには信頼性がなく、上位層(TCPなど)に依 存している。 • エラー処理アルゴリズムはデータを破棄し発 信元にICMPメッセージを送り返すのみ。 • 2つの連続するデータ(AとB)を同ーのあて先 に送信しても、それぞれが別々のルートで伝 送され、BがAより先に到達する場合もある IPヘッダ • ヘッダのサイズは通常20バイト ビット数 4 4 8 16 16 3 13 8 8 16 32 32 0~ 名前 バージョン ヘッダ長 サービスタイプ データ長 ID フラグ フラグメント・オフセット TTL プロトコル ヘッダ・チェックサム 送信元IPアドレス 宛先IPアドレス オプション 説明 IPのバージョン IPヘッダの長さ 上位プロトコルによって割り当てられた重要度 IPヘッダとセグメント・データを合わせた長さ 大きいデータを分割した際につける識別番号 分割する際に使用するフラグ 分割を繋ぎあわせる時に使う パケットの生存時間。無限ループを防ぐ 使用している上位プロトコルの番号 IPヘッダのエラーチェック 送信元の論理アドレス 宛先の論理アドレス なくてもよい(最大40バイト) IPルーティング • データはルーターのルーティング・テーブルの 情報から最適なルートを探し出し転送される。 • データが転送できなかった場合は「ホスト到 達不可」か「ネットワーク到達不可」のエラー が返される。 サブネット・アドレッシング • IPアドレスのホスト番号をサブネット番号とホ スト番号に分割する。 第1 オクテット 第2 オクテット 11000000 10101000 第3 オクテット 1100100 第4オクテット サブネット ホスト 00000000 0 0000000 00 000000 000 00000 0000 0000 00000 000 000000 00 0000000 0 00000000 - サブネットの数 192.168.100.0のクラスCネットワークの例 0個 2個 4個 8個 16個 32個 64個 128個 256個 各サブネットの ホストの数 254個 126個 62個 30個 14個 6個 2個 0個 0個 サブネット・マスク • ネットワーク番号・サブネット番号のビットを全 て1、ホスト番号を0にしたもの。 • これによってデータのあて先が同一サブネッ ト上なのか、同一ネットワーク上の別のサブ ネットなのか、異なるネットワーク上のホスト なのか識別できる。 各種コマンド • ifconfig:ネットワーク・インタフェースのコン フィギュレーション、詳解のためのコマンド ダイヤルアップでは接続や切断のたびに ifconfigが実行されなければならない。 • netstat:各インタフェースのMTU、週出力パ ケット数、入出力エラー数、衝突の数、現在 の出力キューのサイズの情報を出力する。 IPの未来 • クラスBアドレスの半分以上が既に割り当てら れている。(1994年) • 現在のルーティング・テーブルでは、ネット ワークの数が増加すればクラスCのアドレス を割り当てるようになり、ルーティング・テーブ ルのサイズが急速に拡大していく。 • 次世代のIPとして128ビットのIPv6の仕様が 決定された。 Pingプログラム イントロダクション • ICMPエコー要求メッセージをホストに送り、 返答が帰ってくるかをテストする。 • Pingはあるホストまでの往復時間を測定し、 そのホストまでの距離を示す。 タイプ 0 3 5 8 11 説明 Echo Reply Destination Unreachable Redirect Echo Request Time Exceeded 意味 Echo応答 宛先到達不能 最適経路通知 Echo要求 時間超過によるパケット破棄 ICMPのタイプ Pingプログラム • 識別子:複数のpingが同時刻に同じホストで 実行されていても識別可能にするためのもの。 • シーケンス番号:0からスタートしエコー要求 が送られるたびに増加する。 タイプ(0または8) 識別子 コード(0) チェックサム シーケンス番号 エコー要求とエコー応答のICMPメッセージの形式 出力例 • • • • • • • • • • • • • • gemini % ping vangogh.cs.berkeley.edu PING vangogh.cs.berkeley.edu: 56 data bytes 64 bytes from (128.32.130.2): icmp_seQ=0.time=660.ms 64 bytes from (128.32.130.2): icmp_seQ=5.time=1780.ms 64 bytes from (128.32.130.2): icmp_seQ=7.time=380.ms 64 bytes from (128.32.130.2): icmp_seQ=8.time=420.ms 64 bytes from (128.32.130.2): icmp_seQ=9.time=390.ms 64 bytes from (128.32.130.2): icmp_seQ=14.time=110.ms 64 bytes from (128.32.130.2): icmp_seQ=15.time=170.ms 64 bytes from (128.32.130.2): icmp_seQ=16.time=100.ms 割り込みキーをタイプして終了させる 一一一一vangogh.CS.Berkeley.EDUPING Statistics---17 packets transmitted, 8 packets received, 5296 packet loss round-trip (ms) min/avg/max 100/501/1780 IPレコード・ルート・オプション • 通過したルーターのIPアドレスが分かるオプ ション。 • ping -Rで有効になる • IPヘッダの制限で、9つのIPアドレスまでしか カバーできない。 例 • • • • • • • • • • • • • Svr4 % ping –R slip PING slip (140.252.13.65): 56 data bytes 64 bytes from 140.252.13.65: icmp_seq=O tt1=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=l tt1=254 time=280 ms (same route) 64 bytes from 140.252.13.65:icmp_seq=2 tt1=254 time=270 ms (same route) ^? --- slip ping statistics --3 packets transmitted, 3 packets received, 096 packet 10ss round-trip min/avg/max 270/276/280 ms IPタイムスタンプ・オプション • ルーターを通過した際のタイムスタンプが分 かるオプション。 • IPアドレスとタイムスタンプを記録することも 出来るが4ペアまでしかスペースがない。 • どのルーターのタイムスタンプを記録するか 選択することも出来る。 まとめ • PingプログラムはTCP/IPが稼動する二つの システム間の接続テストを行うものである。 Tracerouteプログラム イントロダクション • IPデータグラムが一方のホストから他のホス トに流れるルートを確認することが出来る。 • レコード・ルート・オプションと違い中継ルー ターに特別な機能を要求しない。 タイプ 0 3 5 8 11 説明 Echo Reply Destination Unreachable Redirect Echo Request Time Exceeded 意味 Echo応答 宛先到達不能 最適経路通知 Echo要求 時間超過によるパケット破棄 ICMPのタイプ Tracerouteプログラムの操作 • まずTTLが1のデータグラムを送信する。 • 最初のルーターでTTLが0になり、ICMP時間 超過メッセージが返送される。 • これにより最初のルーターのアドレスと到達 までの時間が分かる。 • 同様にTTLを1ずつ追加していく。 例 • • sun % traceroute nic.ddn.mll traceroute to nic.ddn.mil (192.112.36.5), 30 hops max, 40 byte packets • • • • • • • • • • • • • 1 netb.tuc.noao.edu (140.252.1.183) 218 ms 227 ms 233 ms 2 gateway.tuc.noao.edu (140.252.1.4) 233 ms 229 ms 204 ms 3 butch.telcom.arizona.edu (140.252.104.2) 204 ms 228 ms 234 ms 4 Gabby.Telcom.Arizona.EDU (128.196.128.1) 234 ms 228 ms 204 ms 5 NSIgate.Telcom.Arizona.EDU (192.80.43.3) 233 ms 228 ms 234 ms 6 ]PL1.NSN.NASA.GOV (128.161.88.2) 234 ms 590 ms 262 ms 7 ]PL3.NSN.NASA.GOV (192.100.15.3) 238 ms 223 ms 234 ms 8 GSFC3.NSN.NASA.GOV (128.161.3.33) 293 ms 318 ms 324 ms 9 GSFC8.NSN.NASA.GOV (192.100.13.8) 294 ms 318 ms 294 ms 10 SURA2.NSN.NASA.GOV (128.161.166.2) 323 ms 319 ms 294 ms 11 nsn-FIX-pe.sura.net (192.80.214.253) 294 ms 318 ms 294 ms 12 GSI.NSN.NASA.GOV (128.161.252.2) 293 ms 318 ms 324 ms 13 NIC.DDN.MIL (192.112.36.5) 324 ms 321 ms 324 ms IPソース・ルーティング・オプション • ストリクト・ソース・ルーティング :送り手が通るべき正確な経路を指定する。 ルーターが存在しない場合はエラーを返す。 • ルーズ・ソース・ルート :経由すべきIPアドレスのリストを指定するが、リス トにないルーターを通ることも可能。 ストリクト・ソース・ルートの失敗例 • sun % traceroute -G netb -G gateway -G gabby westgate • traceroute to westgate (192.80.43.2), 30 hops max, 40 byte packets • 1 netb (140.252.1.183) 272 ms 257 ms 261 ms • 2 gateway (140.252.1.4) 263 ms 259 ms 234 ms • 3 gateway (140.252.1.4) 263 ms !S * 235 ms !S まとめ • TracerouteはTCP/IPのネットワークを管理す る際に非常に便利なツールである。 • 動作はTTLを1から増やしていく単純なもので、 最終あて先によってポート到達不可エラーが 戻ってくる。
© Copyright 2024 ExpyDoc