データリンク層

データリンク層（データリンクそう、あるいは、データリンクレイヤ＝Data Link Layer）とは、コンピューターの通信プロトコルのひとつであるデータリンクプロトコルを、プロトコルスタックの階層モデルにおける層（レイヤ）に対応させたものである。 7階層のOSI参照モデルの下位の2層目に当たる。4階層のTCP/IP参照モデルに対応付ける場合は、最下位のリンク層に割り当てられることが多い。 このプロトコルでは、上層のネットワーク層からのサービス要求に応え、下層の物理層に対してサービスを要求する。 データリンク層では、ワイドエリアネットワークにおいては隣接するネットワークノード間でのデータ転送を行い、ローカルエリアネットワークでは同じネットワークセグメント内のノード間でデータ転送を行う。 データリンク層は、ネットワークエンティティ間でデータを転送するための機能や手順を提供し、物理層で発生する誤り（エラー）の検出方法や、その誤りを訂正し得る方法を提供する。 データリンクプロトコルの例として、ローカルエリアネットワークのイーサネットや、ポイントトゥーポイント接続のPPPやHDLCやADCCP等がある。 データリンクは、ある場所から別の場所への情報移動である。データリンク層においては、情報は必ずしもあらゆる場所に移動できる必要は無く、ただ、何処か別の場所に移動できれば良い。これは、人間社会での相互関係に例えてみれば、ボブからフレッドやジェームス宛のメッセージ（伝言）は、必ずしもボブがフレッドやジェームスに直接伝える事ができなくても、フレッドやジェームスと連絡する事ができる別の人がボブと連絡を取る事ができれば伝達が可能になる、という事に例えられる。 データリンクにより、物理リンクを通ってデータは転送される。この転送の信頼性は特に規定されていない。多くのデータリンクのプロトコルでは、データフレームの受理、受諾が上手く行った事を通知するようにはなっていない。更に、伝送エラーを調べるチェックサムの仕組みもないデータリンクプロトコルもある。このような場合は、上位のプロトコルでフローの制御、エラーの検査、通信の受信通知、再送等を行う必要がある。 IEEE 802のローカルエリアネットワーク等のネットワークでは、データリンク層はMACとLLCの副層に分割される。このIEEE 802.2のLLCプロトコルは、イーサネットやトークンリングやIEEE 802.11のような、IEEE 802の何れのMAC層とも使用できる。更に、FDDIのような802のMAC層には準拠しないものでも一緒に使用可能なものがある。HDLCのようなその他のデータリンクプロトコルでは、それら副層の両方を含んで規定されている。ただし、シスコHDLCのようなプロトコルでは、HDLCの下位のフレーム機構を、異なったLLC層と組み合わせて使用するMAC層として使用している。 上位の副層は論理リンク制御（LLC）である。この副層は、データリンク層の上で稼働するプロトコルを多重化する。更に、フロー制御、通信の通知、エラーの回復等も提供可能である。LLCは、データリンクのアドレス機構と制御を提供する。伝送媒体上の局のアドレス方式や、送受信装置間でのデータ交換の制御方式を規定する。 LLCの下位の副層は メディアアクセス制御 （MAC）である。任意時点におけるメディア（通信媒体）へのアクセス権を定義する副層と説明される場合もある（CSMA/CD）。あるいは、MACアドレスのあるデータフレーム（あるいは単にフレーム）機構とも説明される。一般には、メディアアクセス制御には、分散制御型と集中制御型の二つの方式がある。何れの場合も人間のコミュニケーションと比較する事ができる。 例えば、お喋りをする人々からなるネットワーク（即ち、人々の会話）において、私達は他の人が話をしそうかどうかと言う事に気を配る。もし二人が同時に話し始めたら、「失礼、お先にどうぞ」と言って、お互いに譲り合う事になる。 メディアアクセス制御副層では、フレームの終わりと、次のフレームの始まり、と言ったものも定義する。例えば、郵便の各手紙がデータのひとつのフレームに相当するとする。手紙は封筒に入っているので、その手紙は容易に分かる。更に手紙の本文は、「拝啓」の様な言葉で始まり、「敬具」の様な言葉で終わり、本文だと分かる。メディアアクセス制御副層は、これら、郵便の手紙での封筒、頭語や結語に相当するものを定義している。 エラー検出（物理層のサービスに追加して！） フロー制御（物理層のサービスに追加して） アークネット（ARCnet） ATM CDP（Cisco Discovery Protocol） コントローラーエリアネットワーク（CAN） Econet イーサネット（Ethernet） FDDI フレームリレー HDLC IEEE 802.2（IEEE 802の各MAC副層にLLC機能を提供） IEEE 802.11 無線LAN ローカルトーク (LocalTalk) MPLS（マルチプロトコルラベルスイッチング Multiprotocol Label Switching） PPP（ポイントトゥーポイントプロトコル Point-to-Point Protocol） シリアル回線インターネットプロトコル Serial Line Internet Protocol (SLIP) （現在では見られない） StarLAN トークンリング その他多くのシリアル通信の方式 データリンク層は「ネットワークドライバ」としてソフトウェアで実装される場合がある。オペレーティングシステムは、データリンクと上位のプロトコルスタックのネットワークやトランスポートとの間に指定されるソフトウェアインターフェイスを持つ。このインターフェイスはレイヤ（プロトコル層）そのものではなく、レイヤ間のインターフェイスを定義するものになる。以下はその例である： ODI NDIS SANA II（Standard Amiga Networking Architecture, version 2） ^ （読み：ティーシーピーアイピー） ^ 直ぐ上層のネットワーク層にサービスを提供する ^ 直下の物理層のサービスを利用する ^ Wide Area Network=WAN（読み：ワン）：広域網 ^ ネットワークの分岐／接続点や終端点 ^ Local Area Network=LAN（読み：ラン）：構内網 ^ ローカルエリアネットワーク内の小区分 ^ 通信の実行主体（装置やシステムの中で実際に通信データを送り出したり受け取ったりする単位） ^ 1対1の2点間の通信接続 ^ Point-to-Point Protoco＝ポイントトゥーポイントプロトコル ^ High-Level Data Link Control=ハイレベルデータリンクコントロール：ビット列をまとめたフレーム同期のデータリンク制御 ^ Advanced Data Communications Control Protocol=拡張データ通信制御プロトコル（HDLCの上位互換） ^ この別の人をイチローとして全体を例えてみる。 ボブ、フレッド、ジェームス、イチローはそれぞれがノードである ボブ、フレッド、ジェームスは終端点である イチローは分岐／接続点である ボブ、フレッド、ジェームス、イチローはそれぞれがエンティティである メッセージの移動がデータリンクである ボブとイチロー間のデータリンクにより、イチローはボブからフレッドまたはジェームス宛のメッセージをそのデータリンクから受け取る（ボブはフレッドまたはジェームス宛のメッセージをそのデータリンクに渡す） イチローとフレッドまたはジェームス間のデータリンクにより、フレッドまたはジェームスはボブからのメッセージをそのデータリンクから受け取る（イチローはボブからフレッドまたはジェームス宛のメッセージをそのデータリンクに渡す） これらのデータリンクは上位層に対するサービスとして提供され、上位層はそれを利用して、ボブとフレッドとジェームスのネットワークを構築する事ができる。 別の視点では、私達のコンピューターは、プロバイダのコンピューターと通信する事ができれば（データリンクがあれば）、インターネット上の無数のコンピューターから提供されるウェブサイトをブラウズ（閲覧）する事ができるようになる。あるいは、そのプロバイダ以外から提供される無数のアカウントともメールを交換する事ができる。 ^ アクノリッジメント=acknowledgment、ack（読み：アック） ^ 容量や処理能力を越えないように通信されるデータ量の制御 ^ （読み：「アイトリプルイーはちまるに」が主）、IEEE=Institute of Electrical and Electronics Engineers, Inc.：（米国）電気電子（技術者）学会 ^ （読み：「マック」が主）Media Access Control=メディアアクセス制御=メディアアクセスコントロール=媒体アクセス制御 ^ Logical Link Control=ロジカルリンクコントロール=論理リンク制御 ^ Fiber Distributed Data Interface：光ファイバを使った分散データインターフェイス ^ （読み：「シスマシーディー」が多い）Carrier Sense Multiple Access with Collision Detection：同時にアクセス（メディアに送出）した事は衝突として検出し、キャリア検知（正常な搬送波の受信）によって判断されるアクセス権（キャリアが検知されなければアクセス権を仮定する）の、複数アクセス権（制御） ^ データのビット列を定義に従ってまとめた情報の単位 ^ この後、そのどちらかが話をする事になり、それが終わると他者が話をする事になる。この場合は、分散型の例。会議のような会話の席で、議長役が話者を指名して進めるようであれば、集中型の例になる。 ブリッジ (ネットワーク機器) 通信プロトコル コンピューターネットワーク Frame Check Sequence（FCS） - フレームチェックシーケンス IEEE 802 LAN/MAN Standards Committee（IEEE 802 LAN/MAN標準委員会）