データリンク層
レイヤー2スイッチ 略してL2スイッチのデータ転送の仕組み について説明します。
対応試験区分は
ネットワークスペシャリスト
情報処理安全確保支援士
ベンダー資格のCCNA などです 基本情報レベルでも問われる内容です。
L2スイッチは、宛先MACアドレスに基づいて、イーサネットフレーム(以下、フレームという)を転送するネットワーク機器になります。
こちらはネットワーク機器大手のシスコ製のスイッチになります。ネットワーク構成図では
このような図が使われます。
レイヤ2なのでデータリンク層の話になります。
イーサーネットとは、データリンク層つまりLANで使われるプロトコルになります。
まず、同一ネットワーク内(つまりルータ・L3スイッチを経由しない通信)で説明していきます。
このようにパソコンA B C D の4台を 1つのL2スイッチにつないでいるとしましょう。
パソコンAからCにはじめてデータを転送するときの流れを見ていきましょう。
まず、パソコンAは宛先であるパソコンCのMACアドレスは分かっていることが前提とします。
多くの場合は、宛先のIPアドレスのみが分かっている場合がおおく、その場合は宛先のIPアドレスからMACアドレスを取得する通信を行います。
これをARPといいます。
イーサネットフレーム
まず、パソコンAは、相手にデータを届けるために、イーサーネットでデータ転送を行うために国際的に決まったフォーマットの形にします。
これをイーサーネットフレームと言います。
イーサネットフレームにはIEEE802.3形式とEthernetⅡ形式(DIX(ディックス)ともいう)があります。
広く普及しているのはEthernetⅡ形式になります。
先頭から説明していきます。
プリアンブルは通信時に同期をとることを目的としています。
宛先MACアドレスと送信元MACアドレスは言葉の通りですね。
ここでは宛先MACアドレスにパソコンCのMACアドレス送信元MACアドレスにパソコンAのMACアドレスが入ります。
タイプは上位の層つまりネットワーク層・インターネット層のプロトコルを表す値で、IPV4やIPV6などを識別する文字列が入ります
IEEE802.3形式の場合はデータの長さを格納します。
データはその名の通り、送信元から送信先に伝えたいデータ(手紙でいえば中身の文書)になります。
ただ、注意すべき点はデータの最小は46バイト最大は1500バイトになります。
長い文書送りたい場合は、1回で送れませんよね・・
なので、重たいデータの場合は、細切れにして何度も送信して、受信側で組み立てる感じになります。
最後のFCSはFrame Check Sequenceの略で 受信したデータに誤りがないかをチェックするためのフィールドになります。
パソコンAから送出されたデータはスイッチに届きます。
ここでスイッチが直接パソコンCに届ければいいのですが、一回もパソコンCと通信したことがないことから
直接つながっていても宛先のMACアドレス(パソコンC)がつながっている場所がわからないのです。
なので、データを受信したポート(パソコンAがつながっているポート)以外から、全ポートに対してフレームを出します!
この動作をフラッディングといいます。
送信先ではない宛先にもフレームが届いてしまうのですが、これは宛先MACアドレスを見て自分じゃないということで受信側でフレームを破棄します。
宛先であるパソコンCは宛先MACアドレス=自分のMACアドレスということでフレームを破棄せずに中身を見ます!
でも、スイッチが受信したポート以外の全ポートからフレームを出すのは非効率と思いませんが?
MACアドレステーブル
ここでMACアドレステーブルの登場です。
MACアドレステーブルは各ポートに接続されている先にある機器のMACアドレスを保持するテーブルになります。
これがあれば、宛先MACアドレスに対応するポートのみにフレーム送出できますよね。
だだ、このMACアドレステーブルが追加されるタイミングはフレームを受け取ったポートのみとなります。
今回、パソコンAからフレームを受けっとっているので、パソコンAとポート0番はMACアドレステーブルに登録されますが、
パソコンCからのフレームは受信していないので、登録されません。
もし戻りの通信が発生しパソコンCからAに通信が発生すれば、そのタイミングでMACアドレステーブルが追加され
次回パソコンCに送信されるフレームはMACアドレステーブルを参照しパソコンCのつながっているポートのみから流れる感じになります。
コメント