前回は、OSI参照モデルの第1層「物理層」について学習しました。今回は、1つ上の層である第2層「データリンク層」について学習をしていきます。

データリンク層とは

データリンクとは通信回線のことで、データリンク層は、物理的な通信路を確立する役割を担っています。もう少し具体的にいうと、同じネットワーク内で物理的に接続された相手と通信するための機能を提供します(異なるネットワークに存在する相手と通信するための機能は1つ上のネットワーク層が提供します)。

また、フレームを物理で転送するための仕組みや通信途中にエラーが発生していないかどうかを確認する機能も提供しています。

  • 図1:データリンク層の役割

    図1:データリンク層の役割

データリンク層において、同じネットワーク内にいる相手を識別するために、MACアドレスというIDを使用します。これは、いわばパソコンに付けられた名前だと思ってください。このIDにより、どの機器からどの機器へ通信を行いたいのかを識別することができます。

TCP/IPの階層モデルにおいては、データリンク層と物理層が一つとなったネットワークアクセス層として定義がされていますが、役割としてはOSI参照モデルのデータリンク層と物理層に該当します。

Ethernet(イーサネット)について

世の中にあふれている通信を見たとき、一番多く用いられているデータリンク層のプロトコルが「Ethernet(イーサネット)」です。EthernetとはLANで使用されるプロトコルで、OSI参照モデルの物理層とデータリンク層にあたる規格となります。

データリンク層はフレームのフォーマット形式、アドレスにMACアドレスを使用すること、送信権をどのように決めるかなどが決められています。この規格を決定しているのはIEEE(Institute of Electrical and Electronics Engineers)というアメリカの電気電子学会です。

一昔前までは他にも「Token Ring」や「FDDI」などのプロトコルが使われていましたが、制御の仕組みがシンプルで扱いやすく、他のプロトコルより高速であるEthernetが普及しています。Ethernetは規格により速度が決まっており(図2参照)、規格に対応しているLANケーブルや機器を使用する必要があります。

  • 図2:主要なツイストペアケーブルのEthernet規格

    図2:主要なツイストペアケーブルのEthernet規格

通信速度にあるbps(bits per second)とは、1秒間に何ビットのデータが送れるかを表す単位です。Mはメガ(キロの1000倍)、Gはギガ(メガの1000倍)という数字の単位です。

MACアドレスとは

MACとは、Media Access Controlの略です。物理アドレス、ハードウェアアドレスと呼ばれることもあります。そしてMACアドレスとは、同じ通信媒体に接続された機器を識別するため、機器に設定されている識別番号です。前述したように、私たち一人一人に名前があるのと同様に、機器に付けられた名前だと思ってください。

MACアドレスは48ビット(6バイト)で構成されており、12桁の16進数で表記がされます。前半の24ビットと後半の24ビットで用途が異なっています。前半24ビットはベンダーコードまたはOUI(Organizationally Unique Identifier)と呼ばれ、IEEEが機器のメーカーごとに特定の番号を割り当てています。後半24ビットはシリアル番号と呼ばれ、各メーカーが被らないよう製品ごとに番号の割り当てを行っています。

この2つの組み合わせによって、世界でただ一つのMACアドレスが各機器に割り当てられることになります。このMACアドレス(図3参照)は、機器内部のネットワークアダプターと呼ばれる部品に書き込んだ状態で出荷されています。これは、基本的には変更ができない仕様となっています。

  • 図3:MACアドレスの構成

    図3:MACアドレスの構成

Ethernetヘッダーの情報

データリンク層で付加されるL2ヘッダー(先頭にある制御情報)にはどのような情報が格納されるのか、Ethernetを例に確認していきましょう(図4参照)。

  • 図4:Ethernetヘッダー

    図4:Ethernetヘッダー

Ethernetヘッダーの各フィールドには、以下の情報が格納されています。

  1. Destination MAC Address:宛先MACアドレス
  2. Source MAC address:送信元MACアドレス
  3. Etype (Ethernet Type Number):上位層で使用するプロトコルを識別する番号(プロトコルごとに番号が定められており、ネットワーク層でIPを使用している場合は、16進数で0800を使用します)
  4. FCS(Frame Check Sequence):誤り検出符号(通信途中に物理層で受けたノイズなどにより、フレームの材料であるビット"1"または"0"が壊れてしまっていないかをチェックできる値が格納されています)

送信元の機器は、フレームの内容をCRC (Cyclic Redundancy Check)と呼ばれるアルゴリズムで計算した検査用の値をFCSフィールドに格納します。受信側でも同じ計算を行い、自身で出した計算結果とFCSフィールドの値を比較することでエラーがないかを判断します。

一致しない場合は、エラーと見なしてそのフレームを破棄しますが、そのフレームを回復するための手立ては、上位の階層に依存しています。

データリンク層での通信

これまで紹介したように、送信元はフレームに送信元MACアドレス情報と宛先MACアドレス情報を記載しています。この情報が電気信号に変換され、ケーブルを介してネットワークに流れていきます。

ネットワークにつながっている機器は流れてきた電気信号をフレームに組み立て、フレームの宛先アドレスをチェックし、受け取るべきか破棄するべきかを判断しています。受け取った場合、CRC計算を行い、問題がなければ上位層へデータを渡していきます。

まとめ

・データリンク層は、同じネットワーク内で物理的に接続された相手と通信するための機能を提供する役割を担っている
・データリンク層では機器を識別するために48ビットのMACアドレスというIDを使用している
・MACアドレスはベンダコード(OUI)とシリアル番号で構成され、世界中で重複しないように管理されている
・Ethernetフレームの先頭のヘッダーには、宛先MACアドレス、送信元MACアドレス、Etypeという情報が入っており、トレーラーにはFCSという情報が入っている
・受信機器はフレームの宛先MACアドレスの情報をチェックして、受け取るべきかどうかを判断している

次回は「2進数と10進数/16進数の変換」について紹介します。

著者プロフィール


伊藤 さくら(いとう さくら)


ネットワンシステムズ株式会社
ビジネス開発本部イノベーション推進部ネットワークアカデミーチーム所属
2020年ネットワンシステムズ入社。シスコシステムズ社認定インストラクター資格を取得し、社内外に向けて初学者を対象にしたネットワーク基礎コースの研修を多く実施。産学連携の一環として大学との共同開発による情報セキュリティ授業のカリキュラム策定にも参加し、その講義を担当。また、放送業界に特化した技術者育成研修にも取り組んでいる。