第4章 ARP:アドレス解決プロトコル 1 4.1 イントロダクション 同じ物理ケーブル上でもEthernetやトークンリングなど 異なるデータリンクを利用できる どのインターフェースを使うかはもちろん IPデータグラムではなくEthernetフレームで判断される IPv4アドレスからデータリンクのアドレスを知るためのプロトコルがARP (RFC826, RFC5227, RFC5494) 2 4.2 1つの例 / 4.3 ARPキャッシュ $ ftp demmy.jp 1. DNSや/etc/hostsでドメイン名をIPアドレスに変換 2. FTPがTCPに対象のIPアドレスとコネクション確立を要求 3. TCPがARPに物理アドレスを要求 4. ARPがARP要求(宛先のIPを含む1つのEthernetフレーム)をブロードキャスト 5. 自分のIPが要求されていたホストが物理アドレスを含むARP応答を返す 6. TCPがIPデータグラムでコネクション要求セグメントを送信 (18章で詳説) ...... ※ ポイント・ツー・ポイント接続ではARPは使用しない ARPキャッシュ * 論理アドレスと物理アドレスの最新のマッピングを保持 * Ciscoの機器で4時間保持されており、他もその実装が多い 3 4.2 1つの例 / 4.3 ARPキャッシュ (図) 4 4.4 ARPパケット形式 ARP : 0x0806 RARP : 0x8035 Ethernet : 0x0001 IP : 0x0800 ARP要求 : 0x0001 ARP応答 : 0x0002 RARP要求 : 0x0003 RARP応答 : 0x0004 5 4.5 ARPの例 (1) ブロードキャスト・アドレス Ethernet フレーム データ長 6 4.5 ARPの例 (2) 照会されたホストがダウンしているか存在しない場合 * 繰り返しARP要求が行われる * TCPコネクション要求のタイムアウトは75秒と設定されていることが多い * ARP要求だけでTCPセグメントは送信されないことに注意 ※ TCPタイムアウトと再転送アルゴリズムについては21章で解説 ARPのタイムアウトは通常、ARPキャッシュのエントリに対して提供されている 7 4.6 代理ARP ルータがホストの代わりにARP要求に応える 無差別ARP / ARPハック * 旧式のTCP/IP実装を持つホスト・グループを隠すために使った 8 根拠のないARP 自分自身のIPアドレスを探すためのARP要求 * 他のホストが同じIPアドレスを使用していないか確認できる * インタフェース・カードを交換した場合などに他のホストへ ARPキャッシュ・エントリの更新を促す キャッシュに存在するIPアドレスからのARP要求を受け取ると そのキャッシュ・エントリを送り手のハードウェア・アドレスで更新する ※ 仕様に沿っていないARPを実装したクライアントもあるため注意が必要 9 arpコマンド $ arp -a キャッシュ・エントリを表示 -d 全てのキャッシュ・エントリを削除 -s キャッシュ・エントリを追加 (タイムアウトされない) temp タイムアウトされるように設定 pub ARPエージェントとして立ち上がる (代理ARPとして使用可能) 10 補足: IPv6のL2アドレス解決 Neighbor Discovery Protocol (NDP) (RFC2461, RFC3122) * ブロードキャストではなくマルチキャストで要求を送信 * ICMPv6パケットを使用してアドレス解決や様々な機能を実現 11 第5章 RARP:逆アドレス解決プロトコル 12 5.1 イントロダクション / 5.2 RARPパケット形式 Xターミナルやディスクレス・ワークステーションでは コンフィギュレーション・ファイルでIPを設定できない ハードウェア・アドレスから自身のIPアドレス情報を 他のシステムから返してもらうためのプロトコルがRARP (RFC903) コンセプトは単純だが、実装はARPよりも困難 パケット形式はARPと同様 * RARP要求はブロードキャスト * RARP応答は通常ユニキャスト 13 5.3 RARPの例 TFTP 読み込み要求 (RRQ)の実行 ※16章でRARP・BOOTP・TFTPを用いた起動シーケンスについて詳説 14 5.4 RARPサーバーの設計 ARPサーバはシンプルでカーネルのTCP/IPの一部として用意されている RARPサーバの設計はシステムに依存する * ディスク・ファイルにハードウェア・アドレスとIPアドレスのマッピングを提供 * ユーザー・プロセス起動される必要がある * 特定のEthernetフレームを送受信しないといけない * ハードウェア・レベルのブロードキャストで送信する必要がある * 冗長性を高める必要があるため、ネットワーク・トラフィックが増加する * 複数のサーバからでもARP応答は1台のホストしか送信しないようにする必要がある 15
© Copyright 2024 ExpyDoc