📌

【ネットワーク基礎】ARP・スイッチの理解を整理する

に公開

はじめに

ネットワーク基礎を学習していくと、多くのワードが似たような機能を持っており、初心者にとって考えがまとめにくい状態になることがあります。現に自分自身が1つずつ整理しているつもりでも、しっかり理解できていない部分があります。その例として、ARPとスイッチの部分があります。
今回は、ネットワーク通信において重要な基礎である、ARPとスイッチのそれぞれの役割をあらためて整理したいと思います。
なお、既にそれぞれのざっくり理解ポイントについて別記事にまとめているので、よろしければご参照ください。

結論

ARPとスイッチは別物で、直接的な関係はありません。
ARPは「端末やルータ」が使うプロトコルであり、スイッチ自体がARPリクエストやレスポンスを発行することはありません。
スイッチは届いたフレームを見て、送信元MACアドレスを学習し、宛先MACアドレスに基づいてフレームを転送するだけです。IPアドレスやARPは関係ないのです。
ここで、それぞれの役割や動作をまとめていきます。

ARPとは

ARP(Address Resolution Protocol)は、IPアドレスからMACアドレスを調べるための仕組みであり、プロトコルです。具体的には、通信したい相手のMACアドレスがわからないときに、ネットワークに問いかけて、MACアドレスを教えてもらいます。

通常、通信ではIPアドレスを使って「どの機器に届けたいか」を指定します。
しかし、実際にLAN内でフレーム(データ)を届けるにはMACアドレスが必要で、IPアドレスだけでは通信できません。
そこで、MACアドレスを調べる必要性が生まれます。
ARPを使用してIPアドレスからMACアドレスを調べ、フレーム化していきます。

流れを簡単にまとめると、まず、宛先IPアドレスを見て以下の2つのケースに応じて対応します。
① 自分と同じネットワークアドレスの場合:ARPでMACアドレスを取得して直接送ります。
② 自分と異なるネットワークアドレスの場合:デフォルトゲートウェイ(ルーター)のMACアドレスをARPで取得して、ルーターにフレームを渡し、送信を依頼します。

ちなみに、このフレーム化はOSが行ないます。OSがフレーム化すると、それをNIC(Network Interface Card)にフレームを渡し、NICで電気信号に変換され、ケーブルを通ります。

スイッチとは

スイッチはMACアドレステーブルを使って、受信したフレームをどのポートに送るか決定します。
スイッチは内部的に「ポート(物理的な接続口)」を持っていて、そこにパソコンやサーバーなどを有線で接続します。
この物理的な接続によって、スイッチは各機器のMACアドレスを学習し、どのポートにどの機器がいるかをMACアドレステーブルに登録することで記憶します。
この仕組みによって、スイッチは「どのポートにフレームを流せばいいか」を判断できるようになります。

また、どのポートにフレームを流せばいいか判断できることによって、無駄なフレームの拡散を防ぎ、通信効率がよくなります。

※最近では仮想スイッチ(vSwitch)というソフトウェア上のスイッチもあって、これらは仮想マシン同士を「仮想ケーブル」でつなぎます。

※スイッチは一般的にL2スイッチ(レイヤー2スイッチ)のことを指すことが多いです。
L2スイッチは、データリンク層(OSIモデルの第2層)で動作します。主な役割は、MACアドレスを使ってネットワーク内の機器間でデータを転送することです。
また、L2スイッチはIPアドレスを理解しません。通信はMACアドレスに基づいて行われます。

ルーターにフレームを渡すまで、その後の流れ

① PCのNIC(ネットワークインターフェースカード)
PCのNICが作成したフレームを、電気信号に変換してケーブルへ流します。

② スイッチ(L2スイッチ)
スイッチはフレームの宛先MACアドレスを見て、適切なポート(出口)にフレームを転送します。
宛先が同一LAN内に存在しなければ、デフォルトゲートウェイであるルータのNICへ転送します。

③ ルータのNIC
ルータのNICがフレームを受信します。
電気信号 → フレーム → デカプセル化してIPパケット取り出し、
宛先IPを見てルーティング判断 → 新たなフレームを作って外部ネットワークへ転送します。

ルーターにフレームを届ける際に、一度PCのNICが作成したフレームは電気信号になってケーブルを通り、その電気信号がルーターのNICが受信し、フレームに復元され、そのフレームからIPパケットを取り出して、IPパケットをチェックします。
ルーターはルーティングテーブルを参照して、どのネットワークに転送すべきかを決定します。
その後、次に送るネットワークに合わせて、新しいEthernetフレームを作り直します。
この新しいEthernetフレームをルーターのNICが電気信号に変換し、次のルータやPC、サーバーなどに向けてケーブル上に流します。

※物理的なデータ(電気信号、光信号、電波など)は必ずNIC(ネットワークインターフェースカード)を通ってやりとりされます。
そのため、PC・サーバ・ルータ・スイッチなど通信機能を持つ機器にNICが必ず搭載されています。

まとめ

今回は、ここまで学習してきた内容で、理解がいまいち整理できていないと感じた箇所を学習し直して、まとめ直しました。過去の記事にどんなことを書いていたかを見直し、理解を深めていくのは大事だと実感した次第です。
引き続き、とりあえず進める、わからなかったところを振り返ってもう一度チャレンジする、ということを継続していきます。

最後までお読みいただき、ありがとうございました。

過去の投稿記事

https://zenn.dev/mabo23/articles/79055e3548a360
https://zenn.dev/mabo23/articles/b07f9248871286

Discussion