スイッチングハブとIPアドレス?

スイッチングハブがデータの宛先を見てどの口に送り出すか決めるなら、どうしてIPアドレスに関与しないでいられるのでしょうか?

実はスイッチングハブが見ているのはMACアドレスというものです。ざっと図に書くとこんな感じです。

インターネットにつながっているコンピューターはTCP/IPで世界中とデータのやり取りを行うことができます。TCP/IPは世界規模の宅配便会社のようなものです。TCP/IPで宛先を指定するのに使われるのがIPアドレスです。TCP/IPでやりとりされるデータはIPパケットという入れ物に入れられてそのヘッダに宛先と送り元のIPアドレスが書かれています。

TCP/IPは世界規模を誇るくせにトラック等を持っていない宅配便会社のようなものです。実際の配送は地元の運送業者であるイーサネットに委託します。

イーサネットの世界で使われる宛先はIPアドレスではなくMACアドレスです。MACアドレスはメーカーが有線LANや無線LANの装置を製造したとき付けた装置の個体識別番号です。イーサネットでやりとりされるデータはイーサネットフレームという入れ物に入れられてそのヘッダに宛先と送り元のMACアドレスが書かれています。イーサネットフレームの中にIPパケットが入っていて、さらにその中に実際に送受信するデータが入っているという入れ子構造になっています。

TCP/IPは、送り先のIPアドレスに対応するMACアドレスを調べて、そのMACアドレスに送るようイーサネットに依頼します。送り先のIPアドレスが同じネットワーク内でない場合は、デフォルトゲートウェイのIPアドレスに対応するMACアドレスに送るよう依頼します。上図の一番右のイーサーネットフレームの宛先がルーターLAN側のMACアドレスになっているのはそのためです。IPアドレスとMACアドレスの対応を知っているのはTCP/IPです。イーサネットはIPアドレスのことは何も知りません。

 

スイッチングハブはイーサネット運送の営業所なんですね。イーサネットの世界の存在ですから、IPアドレスは認識しません。MACアドレスだけを認識します。

スイッチングハブは、各口の先につながっている機器のMACアドレスを記憶するMACアドレステーブルというものを持っています。つながっている機器のMACアドレスを自動的に学習して記憶します。口の先にタコ足ハブがつながっている場合はタコ足の末端の全部の機器のMACアドレスを記憶します。

スイッチングハブは、入ってきたイーサネットフレームに書いてある宛先MACアドレスと、中に持っているMACアドレステーブルを照合して、そのイーサネットフレームを送り出す口を決めます。イーサネットフレームは宛先を見るだけで素通りさせます。その中のIPパケットに書いてあるIPアドレスは見ません。ほんとに関与しないんです。

イーサネットは地元の運送会社なので、家の中のイーサーネットの配送エリアはルーターより内側だけです。ルーターの外側←→内側はルーターが中継します。 ルーターは、受け取ったイーサネットフレームからIPパケットを取り出して、ヘッダのIPアドレスを書き換えてWAN側←→LAN側の橋渡しをして、反対側のイーサネットに配送委託し直します。

とまあこんな話なんですが、この話を読んだ方はなぜか途中でブラウザの「戻る」ボタンを押したくなるようで、できればこの話はしないで済ませたかったのです。「どうしても」、とおっしゃるので仕方なく書きました。

 

ちなみに無線LANアクセスポイントもMACアドレスで宛先を認識します。有線LAN用のイーサネットフレームと無線LAN用のフレームを相互変換しますが中身のIPアドレスには関与しません。アクセスポイント自身の設定用IPアドレスは、アクセスポイントに内蔵されている設定用コンピュータをパソコン等から呼び出すためのもので、アクセスポイントを通過してやりとりされるデータにはなんの関係もないです。

DHCP、固定IP、NAPT、ポート開放、デフォルトゲートウェイ、IPv4、IPv6などはTCP/IPの世界の話であり、スイッチングハブやアクセスポイントはこれらについては無関係です。雲の上でそのようなことが行われているとはつゆほども知らずに黙々とフレームを配送するだけです。(アクセスポイント内の設定用コンピューターがIPアドレスを取得するためにはDHCPや固定IPは関係します。)

もっと詳しく知りたい方はすみませんがいろいろぐぐったり本を読んだりしてください。