論理リンク制御

論理リンク制御（ろんりリンクせいぎょ、Logical Link Control、以下LLCと略す）は、OSI参照モデルのデータリンク層を2つにわけた上のほうの副層で、IEEE 802.2 によって最初に定められた。一般にデータリンク層はLLC副層・MAC副層の形で上下にわけられ、このうち LLCはイーサネット・トークンリング・無線LANといったさまざまな物理メディアを統一する役を負っている。

 歴史 
1989年に標準化されたIEEE 802.2 LLCは、IEEE 802.3 イーサネット、IEEE 802.4 トークンバス、IEEE 802.5 トークンリング、IEEE 802.11 無線LANなどの各MAC副層と組み合わせるように設計された。1998年まで追加拡張され、2011年に廃止された。その内容は ISO/IEC 8802-2 として引き継がれているが、こちらも更新停止扱いとなっている。

当初の設計では、主に
送信時にMAC副層を通じてプロトコルを多重化(カプセル化)し、受信時には非多重化する。
必要に応じてフロー制御と破棄パケットの検知と再送を行う。
といった動作をIEEE 802.2内の機能のみで規定していたが、2014年以降はLLC層はMAC副層とネットワーク層(レイヤ3)の間に生じるすべての関連機能を含むようにIEEE 802自体が改定されている。

LLCでカプセル化されるプロトコルはIEEE 802で定められたものの他、FDDIのようなIEEE 802外のプロトコルも扱えるよう考慮された。また、IEEE 802外のプロトコルの中にもMAC層とLLC層を分けて考えることができるものがある。

2026年現在では、LLC副層では以下の機能を提供しているIEEE 802-2014, Section 5.2.2 "LLC sublayer"。
 IEEE 802.1X - 認証VLAN
 IEEE 802.1AE - MACsec
 IEEE 802.1AX - リンクアグリゲーション

また、カプセル化用途では、以下のプロトコルで主に用いられる。
 無線LANでのSNAP形式IEEE 802.11-2020, Annex M "EPD and LPD headers and the integration function"
 スパニングツリープロトコル (BPDU)IEEE 802.1Q-2022, Section 8.13.3 "Use of LLC by Spanning Tree Protocol Entities"
 IS-IS
イーサネットではDIX仕様が主流となっているためほぼLLCは使われておらず、それ以外のMAC副層はプロトコル自体が廃れている。

 LLCフレーム書式 

LLCフレームの書式を以下に示すIEEE 802-2024, Section 9.5.1.1 "Type 2 PIF encoding of an L-Type protocol identifier"。

802.2 LLC ヘッダペイロード LSAP (宛先)  LSAP (送信元)  制御1バイト1バイト1バイト 0x03任意バイト

LSAP (Link Service Access Points) 欄は受け渡しする上位層プロトコルを指定するもので、宛先用と送信元用で2つ用意されていたが、現在ではほとんどの場合で同じ値が入る。主なものとして、BPDU用に0x42、IS-IS用に0xFEが規定されているIEEE 802.1Q-2022, Table 8-15. "Standard LLC address assignment"。


SNAP (Subnetwork Access Protocol)は、LLCフレームに特にEtherTypeを格納する欄を設け、プロトコルの識別がさらにできるように拡張した書式。LSAP値が2つとも0xAAの場合、LLCヘッダの後に以下のようなSNAPヘッダを置くことができ、この中でプロトコルID欄にEtherType値を格納できるIEEE 802-2024, Section 9.5.1.2 "Type 2 PIF encoding of an E-Type protocol identifier"。

802.2 LLC ヘッダSNAP拡張ペイロード LSAP  LSAP  制御  OUI  プロトコルID1バイトAA1バイトAA1バイト033バイト2バイト任意バイト

RFC 1042 ではIPv4通信のカプセル化にSNAPフレームで EtherType 0x0800 使うように規定しており、FDDI・トークンリング・無線LANなどではこちらの実装が採られている。

 初期の仕様 
「LSAP」欄では、宛先と送信元のそれぞれにおいて、奇数と偶数の値が異なる用途を持つように規定されている。

 LSAPタイプ  用途 宛先 偶数: ユニキャスト (個別アドレス) 奇数: マルチキャスト (グループアドレス) 送信元 偶数: 要求パケット 奇数: 応答パケット

また「制御」欄では、当初HDLCの仕様を元にして以下の3つの動作モードをサポートしていた。

 種類  制御欄の書式  用途・動作 U-フォーマット (Unnumbered)  1バイト(下位2ビットが0b11) コネクションレス型通信用途。最も頻繁に使用されたもので、現在ではこのモードのみをサポートする。 I-フォーマット(Information transfer)  2バイト(1バイト目の下位ビットが0) コネクション型通信用途。制御バイトにシーケンス番号を含む。 S-フォーマット(Supervisory)  2バイト(1バイト目の下位2ビットが0b01) LLC層での監視機能用。

 LSAP一覧 
2026年2月現在、IEEE 802によって予約済みのLSAPの値を下表に示す。

 LSAP  管理組織  規格  用途 00  ISO/IEC JTC 1/SC6  ISO/IEC 8802-2  Nullアドレス 02  ANSI  IEEE 802.1b  LLC副層管理 06  ANSI  RFC 791  ARPANET内のIPv4 0A  ANSI  IEEE 802.10B   Secure Data Exchange プロトコル 0E  IEC  IEC 955:1989  Proway C (Process Data Highway, Type C)のネットワーク管理 42  ISO/IEC JTC 1/SC6  ISO/IEC 10038:1993  スパニングツリープロトコル 4E  ISO  ISO 9506:1990  (旧 EIA RS-511)  Manufacturing Message Service 7E  ISO/IEC JTC 1/SC6  ISO/IEC 8208:1995  X.25のDTE拡張 82  ASHRAE  ANSI/ASHRAE 135-1995  BACnet 8E  IEC  IEC 955:1989  Proway C (Process Data Highway, Type C)の端末保守用 A6  ISO/IEC JTC 1/SC6  ISO/IEC 8802-2  Route Determination Entity AA  ANSI  IEEE 802-1990  SNAP E6  IEC TC13  IEC62056-46  電力計測のHDLC通信 FE  ISO/IEC JTC 1/SC6  ISO/IEC TR 9577:1993  ネットワーク層汎用 FF  ISO/IEC JTC 1/SC6  ISO/IEC 8802-2  ブロードキャストアドレス

なお、4の倍数値(0x00を除く)は予約なしで使用可能なものとなっている。かつてはさまざまなベンダや組織によって利用され、主な用途に以下のものがあった。

 0x04/0x08/0x0C - IBM: IBM 3270 SNA用途
 0x10 - ノベル: IP用途
 0x18 - テキサス・インスツルメンツ
 0x80 - ゼロックス: XNS
 0x98 - ARPANET: ARP
 0xBC - : 
 0xE0 - ノベル: NetWare
 0xF0 - IBM: NetBIOS

 脚注 

 関連項目 
Open Data-Link Interface (ODI)
Network Driver Interface Specification (NDIS)

Category:IEEE 802
Category:コンピュータネットワーク
Category:通信工学
02