こんにちは、ラワンセ 遠藤(ネットワークエンジニア)です。
今回は実践編として、「arp -a」コマンドを使い、PCがどのMACアドレスを記憶しているのかを確認してみます。
これまでの回では、MACアドレス、ARPや同一ネットワーク通信について学んできました。
今回は、実際にPC内部でARPがどのように動いているのかを見ていきます。
目次
■今回やること
Windowsのコマンドプロンプトで arp -a を実行し、ARPテーブルを確認します。
■ARPテーブルとは?
ARPテーブルとは、「IPアドレスとMACアドレスの対応表」です。
PCは通信する際、IPアドレスだけではなくMACアドレスも必要になります。
そのため、一度調べたMACアドレスを一時的に記憶しています。
その記録がARPテーブルです。
■実際にやってみよう
まず、コマンドプロンプトを開きます。
Windowsキー
→検索文字に「cmd」と入力しエンター
→コマンドプロンプト起動
次に、以下のコマンドを入力します。
arp -a■どんな結果が表示される?
例えば、以下のような結果が表示されます。
インターフェイス: 192.168.1.23 --- 0x16
インターネット アドレス 物理アドレス 種類
192.168.1.1 xx-xx-xx-xx-xx-xx 動的
192.168.1.10 xx-xx-xx-xx-xx-xx 動的
これは、IPアドレス→対応するMACアドレス を表しています。
■192.168.1.1 は何?
多くの家庭環境では、192.168.1.1はルータ(デフォルトゲートウェイ)になっていることが多いです。
つまりPCは、「デフォルトゲートウェイのMACアドレス」をARPで取得して記憶しています。
■なぜMACアドレスが必要なのか
IPアドレスは、「最終的な宛先」を表しています。
一方、実際に同一ネットワーク内でデータを届ける際には、MACアドレスが使われます。
つまり、
IPアドレス→ どこへ届けるか
MACアドレス→ 同一ネットワーク内で誰に渡すか
という役割になっています。
□通信ではMACアドレスが途中で変わる
例えば、PC → ルータ → インターネット → Webサーバと通信する場合、最終的な宛先IPアドレスは変わりません。
しかし、MACアドレスは1区間ごとに変わります。
PCから見ると、「まずはデフォルトゲートウェイへ渡す」必要があるため、デフォルトゲートウェイのMACアドレスを使います。
その後、ルータが次の宛先へ転送する際には、また別のMACアドレスが使われます。
このように、I
Pアドレス→ 最終目的地
MACアドレス→ 今この瞬間に渡す相手
として使い分けられています。
■ARPはいつ使われる?
PCが同一ネットワーク内の機器へ通信する際、「このIPアドレスのMACアドレスは何?」を調べる必要があります。
そこでARPが使われます。
一度調べた結果はARPテーブルへ保存されるため、毎回問い合わせする必要はありません。
■初心者ポイント
ARPテーブルを見ると、「PCがどの機器と通信したか」をある程度確認できます。
ネットワークの現場では、
- 通信相手確認
- ARP異常調査
- IP重複調査
などでも利用されます。
■もう一歩理解を深める
ARPは同一ネットワーク内でのみ使われます。
インターネット上の相手のMACアドレスを直接知ることはありません。
例えば Google のサーバへ通信する場合でも、PCが知っているのは、「まず渡すべきデフォルトゲートウェイのMACアドレス」です。
その後はルータ同士が転送を繰り返しながら目的地へ届いていきます。
■まとめ
arp -a でARPテーブルを確認できる
ARPテーブルにはIPアドレスとMACアドレスの対応が保存される
同一ネットワーク通信ではMACアドレスが必要
MACアドレスは通信経路ごとに変化する
□注意点
ARPテーブルの書き換えやARP関連ツールの悪用は、ネットワーク障害やセキュリティ問題を引き起こす可能性があります。
実践編では、自宅環境や自身が管理している環境の範囲で試すようにしましょう。
□採用情報
ラワンセでは一緒に働くエンジニアを募集しています。
・IT業界での経験を活かして、エンジニアとしてステップアップしたい方
・インフラエンジニアとしてキャリアの幅を広げていきたい方
・実務に近い環境でスキルを身につけていきたい方
・これからエンジニアとしてのキャリアに挑戦したい方
ラワンセには、それぞれのキャリアに応じた形で成長していける環境があります。
今の環境でこのままでいいのかと感じている方や、エンジニアとして次のステップに進みたいと考えている方は、ぜひ一度お話ししてみませんか。