アドレス解決プロトコルは、ローカルIPアドレスがネットワーク上のコンピュータ間で解決される方法を処理します。
最も単純な形式では、ラップトップなどのコンピュータがあり、ローカルブロードバンド接続の一部として接続されているRaspberry PIと通信したいと考えています。
一般に、 Pingでネットワーク上でRaspberry PIが利用可能かどうかを確認できます 。 Raspberry PIにpingを実行するか、Raspberry PIと他の接続を試みるとすぐに、アドレス解決の必要性が浮き彫りにされます。 それを握手の一形態と考えてください。
ARPは、ホストとターゲットコンピュータのアドレスとサブネットマスクを比較します。 これらが一致すれば、アドレスは事実上ローカルネットワークに解決される。
では、このプロセスは実際どのように機能しますか?
お使いのコンピュータには、最初にアクセスしてアドレスを解決しようとするARPキャッシュがあります。
キャッシュにアドレス解決に必要な情報が含まれていない場合は、ネットワーク上のすべてのマシンに要求が送信されます。
ネットワーク上のマシンが検索されているIPアドレスを持っていない場合、そのリクエストは無視されますが、マシンに一致するものがあれば、呼び出し元のコンピュータの情報が自身のARPキャッシュに追加されます。 その後、元の呼び出し元のコンピュータに応答を返します。
ターゲットコンピュータのアドレスの確認を受信すると、接続が行われ、pingまたは他のネットワーク要求を処理することができる。
送信元コンピュータが宛先コンピュータから探している実際の情報は、そのMACアドレスまたはHWアドレスと呼ばれることがあります。
Arpコマンドを使用した作業例
これを理解しやすくするには、2台のコンピュータをネットワークに接続する必要があります。
両方のコンピュータの電源が入っていて、インターネットに接続できることを確認してください。
Linuxを使用してターミナルウィンドウを開き 、次のコマンドを入力します。
アルプス
表示される情報は、現在コンピュータのARPキャッシュに保存されている情報です。
結果にはマシンが表示されるだけで、何も表示されない場合や、以前に接続している場合は結果に他のコンピュータの名前が含まれることがあります。
arpコマンドによって提供される情報は、次のとおりです。
- 住所
- HWタイプ
- HW住所
- フラグ
- マスク
- IFace
まったく表示されていない場合は、すぐに変更されるため心配しないでください。 他のコンピュータが見える場合は、HWアドレスが(不完全)に設定されている可能性があります。
接続しているコンピュータの名前を知る必要があります。 私の場合、私は自分のRaspberry PIゼロに接続しています。
ターミナル内で、raspberrypizeroという単語を接続先のコンピュータの名前に置き換えて次のコマンドを実行します。
ping raspberrypizero
何が起こったのは、使用しているコンピュータがARPキャッシュを調べて、情報を持っていないか、またはpingしようとしているマシンに関する十分な情報がないことに気付いたことです。 このため、ネットワーク上の他のすべてのマシンに、探しているコンピュータかどうかを尋ねる要求がネットワークを介して送信されました。
ネットワーク上の各コンピュータは要求されたIPアドレスとマスクを調べ、そのIPアドレスを持つものを除くすべてのコンピュータが要求を破棄します。
要求されたIPアドレスとマスクを持つコンピュータは、「ねえ、私です!!!!」と叫ぶでしょう。 HWアドレスを要求元のコンピュータに送信します。 これは呼び出し元のコンピュータのARPキャッシュに追加されます。
私を信じていない? arpコマンドを再度実行します。
アルプス
今回は、pingを実行したコンピュータの名前が表示され、HWアドレスも表示されます。
コンピュータのホスト名の代わりにIPアドレスを表示する
デフォルトでは、arpコマンドはARPキャッシュ内の項目のホスト名を表示しますが、次のスイッチを使用して強制的にIPアドレスを表示することができます。
arp -n
あるいは、出力を別の方法で表示する次のスイッチを使用することもできます。
arp -a
上記のコマンドの出力は、次の行に沿ったものになります。
raspberrypi(172.16.15.254)at d4:ca:6d:0e:d6:19 [ether] on wlp2s0
今回は、コンピュータの名前、IPアドレス、HWアドレス、HWタイプ、およびネットワークを取得します。
ARPキャッシュからエントリを削除する方法
ARPキャッシュは非常に長くデータを保持しませんが、特定のコンピュータに接続する際に問題が発生し、アドレスデータが正しくないと思われる場合は、次の方法でキャッシュからエントリを削除できます。
まず、arpコマンドを実行して、削除するエントリのHWアドレスを取得します。
次のコマンドを実行します。
arp -d HWADDR
削除するエントリのHWアドレスにHWADDRを置き換えます。
概要
arpコマンドは一般的なコンピュータユーザーが一般的に使用するものではなく、ネットワークの問題をトラブルシューティングする際にのみ、ほとんどの人に関連します。