Infra Engineer

2020.11.01
Lv1

【CCNA連載】スイッチ①

LAN内で使用される機器について

 前回は物理の機器であるハブについて説明しました。今回はデータリンク層の機器であるスイッチについて説明していきます。

スイッチ

 ハブが物理層を網羅する機器であるのに対して、スイッチはデータリンク層の機器となります。Ethernetでは宛先の機器を識別するために、MACアドレスを使用することをこれまでの連載で説明しました。
データリンク層の機器であるスイッチはそのMACアドレスを基に通信の転送先を決定します。

スイッチの動作

スイッチはケーブルを伝わってきた電気信号や光をそのまま転送するのではなく、一度信号をフレームの状態に戻します。
そしてEhternetヘッダー内にある宛先MACアドレスや送信元MACアドレスの情報を確認したのち再度、電気信号や光に変換してデータを転送します。
データリンク層の機器であるスイッチは、データリンク層の情報であるMACアドレスに基づいて、対象の宛先にのみデータを転送します。
こうしたフィルタリング機能を持ちます。

MACアドレステーブル

スイッチはMACアドレスを確認するといいましたが、宛先となる機器がどこの差込口(ポート)に接続しているのかを知らなければ、転送できません。
そこでスイッチにはどのポートにどのMACアドレスの機器が接続しているのかという情報とその情報をスイッチ自身が学習していく機能があります。
スイッチが保持しているMACアドレスとポートの対応表をMACアドレステーブルといいます。
起動直後のスイッチにはどこにどのMACアドレスの機器がついているのか不明なためMACアドレステーブルには何も情報もありませんが、フレームを転送しながら学習していきます。
その学習する際の動作について次に見ていきましょう。

MACアドレスの学習

以下のように接続されている構成で見ていきます。今回説明のために実際のMACアドレスではなく、PC-AのMACアドレスはAA、PC-BはBBといったように
アルファベット2文字で各PCのMACアドレスを表しています。
このときPC-AからPC-Dへ通信が行われたとします。

1.Ethernetフレームの所で説明したようにPC-Aから送信されるフレームの宛先MACアドレスの部分には通信したい宛先のMACアドレスが入ります。そして送信元MACには自身のMACアドレスが入ります。
今回の例では宛先がDD、送信元がAAとなります。
PC-Aが宛先のPC-DのMACアドレスをどうやって知るのかについてはのちに説明しますので、ここでは一旦無視して下さい。

2.スイッチがこのフレームを受け取るとまず宛先MACアドレスDDに該当するエントリがMACアドレステーブルに存在しているかを確認します。
今回のMACアドレステーブルはまだ何も登録されていないので、スイッチは何処に転送していいかわかりません。
ただ送信元AAのフレームを受け取ったため、1番ポートの先にMACアドレスAAの端末が存在していることはわかります。
そこでまずこのMACアドレスをMACアドレステーブルに登録します。

3.しかし転送先はわからない為このような場合には、スイッチはフレームを受け取ったポート以外のすべてのポートからフレームを転送します。この動作をフラッディングといいます。

4.フラッディングされたフレームは他のPCにも届きますが、宛先MACアドレスが自身宛てではない為、PC-BとPC-Cは破棄して何も処理しません。PC-Dは自身宛であるため何らかの処理をして返事を返したとします。
先程とは宛先と送信元が逆になったフレームがスイッチに届くことになります。

5.スイッチはこのフレームを受け取るとMACアドレステーブルを検索します。今回は宛先のMACアドレスがMACアドレステーブルに登録されている為、フラッディングはせず対象の1番ポートにだけフレームを転送します。
た送信元のMACアドレスも学習します。
このようにしてフレームを受け取るたびにMACアドレスを学習していきます。