データリンク層
データリンク層(データリンクそう、あるいは、データリンクレイヤ=Data Link Layer)とは、コンピューターの通信プロトコルのひとつであるデータリンクプロトコルを、プロトコルスタックの階層モデルにおける層(レイヤ)に対応させたものである。 概要7階層のOSI参照モデルの下位の2層目に当たる。4階層のTCP/IP[注釈 1]参照モデルに対応付ける場合は、最下位のリンク層に割り当てられることが多い。 このプロトコルでは、上層のネットワーク層からのサービス要求に応え[注釈 2]、下層の物理層に対してサービスを要求する[注釈 3]。 データリンクの機能データリンク層では、ワイドエリアネットワーク[注釈 4]においては隣接するネットワークノード[注釈 5]間でのデータ転送を行い、ローカルエリアネットワーク[注釈 6]では同じネットワークセグメント[注釈 7]内のノード間でデータ転送を行う。 データリンク層は、ネットワークエンティティ[注釈 8]間でデータを転送するための機能や手順を提供し、物理層で発生する誤り(エラー)の検出方法や、その誤りを訂正し得る方法を提供する。 データリンクプロトコルの例として、ローカルエリアネットワークのイーサネットや、ポイントトゥーポイント接続[注釈 9]のPPP[注釈 10]やHDLC[注釈 11]やADCCP[注釈 12]等がある。 データリンクは、ある場所から別の場所への情報移動である。データリンク層においては、情報は必ずしもあらゆる場所に移動できる必要は無く、ただ、何処か別の場所に移動できれば良い。これは、人間社会での相互関係に例えてみれば、ボブからフレッドやジェームス宛のメッセージ(伝言)は、必ずしもボブがフレッドやジェームスに直接伝える事ができなくても、フレッドやジェームスと連絡する事ができる別の人がボブと連絡を取る事ができれば伝達が可能になる、という事に例えられる[注釈 13]。 データリンクにより、物理リンクを通ってデータは転送される。この転送の信頼性は特に規定されていない。多くのデータリンクのプロトコルでは、データフレームの受理、受諾が上手く行った事を通知[注釈 14]するようにはなっていない。更に、伝送エラーを調べるチェックサムの仕組みもないデータリンクプロトコルもある。このような場合は、上位のプロトコルでフローの制御[注釈 15]、エラーの検査、通信の受信通知、再送等を行う必要がある。 IEEE 802ネットワークIEEE 802[注釈 16]のローカルエリアネットワーク等のネットワークでは、データリンク層はMAC[注釈 17]とLLC[注釈 18]の副層に分割される。このIEEE 802.2のLLCプロトコルは、イーサネットやトークンリングやIEEE 802.11のような、IEEE 802の何れのMAC層とも使用できる。更に、FDDI[注釈 19]のような802のMAC層には準拠しないものでも一緒に使用可能なものがある。HDLCのようなその他のデータリンクプロトコルでは、それら副層の両方を含んで規定されている。ただし、シスコHDLCのようなプロトコルでは、HDLCの下位のフレーム機構を、異なったLLC層と組み合わせて使用するMAC層として使用している。 論理リンク制御副層→詳細は「論理リンク制御」を参照
上位の副層は論理リンク制御(LLC)である。この副層は、データリンク層の上で稼働するプロトコルを多重化する。更に、フロー制御、通信の通知、エラーの回復等も提供可能である。LLCは、データリンクのアドレス機構と制御を提供する。伝送媒体上の局のアドレス方式や、送受信装置間でのデータ交換の制御方式を規定する。 メディアアクセス制御副層→詳細は「媒体アクセス制御」を参照
LLCの下位の副層は メディアアクセス制御 (MAC)である。任意時点におけるメディア(通信媒体)へのアクセス権を定義する副層と説明される場合もある(CSMA/CD[注釈 20])。あるいは、MACアドレスのあるデータフレーム(あるいは単にフレーム)[注釈 21]機構とも説明される。一般には、メディアアクセス制御には、分散制御型と集中制御型の二つの方式がある。何れの場合も人間のコミュニケーションと比較する事ができる。
メディアアクセス制御副層では、フレームの終わりと、次のフレームの始まり、と言ったものも定義する。例えば、郵便の各手紙がデータのひとつのフレームに相当するとする。手紙は封筒に入っているので、その手紙は容易に分かる。更に手紙の本文は、「拝啓」の様な言葉で始まり、「敬具」の様な言葉で終わり、本文だと分かる。メディアアクセス制御副層は、これら、郵便の手紙での封筒、頭語や結語に相当するものを定義している。 データリンクのサービスデータリンクプロトコルの例
インターフェイスデータリンク層は「ネットワークドライバ」としてソフトウェアで実装される場合がある。オペレーティングシステムは、データリンクと上位のプロトコルスタックのネットワークやトランスポートとの間に指定されるソフトウェアインターフェイスを持つ。このインターフェイスはレイヤ(プロトコル層)そのものではなく、レイヤ間のインターフェイスを定義するものになる。以下はその例である: 脚注注釈
関連項目
外部リンク |