ヘッダの構造

LLC ヘッダ

 明け方の3時に横になったまま目を覚まし、タイプ1 LLC の3バイト( DSAP、SSAP、コントロール)や、 個別/グループや、コマンド/レスポンスや、ポール/ファイナルについて考え始めるようなとき、、、 これが答えです(ということで、再び眠りに就けることでしょう)。

 この情報は単に好奇心を満たすためだけのもので、必ずしも知る必要はありません。



 SAP 識別子は実際のところは、7ビットの長さしかありません。DSAP/SSAP の一番左端のビット( b0 )は I/G とコマンド/レスポンス( C/R )の識別に使用されます。

 「11111111」の DSAP は、グローバル DSAP と呼ばれ、MAC 層によって提供されるすべての DSAP によって構成されるグループを指定します。

 「00000000」の DSAP は、あらかじめ NULL として定義されています。DSAP=00 のフレームは LLC によって捨てられます。( MAC 層から来たとしても。) NULL をセットした診断フレーム( Sniffer のトラフィック送信モードで作られたフレームのようなもの)を見ることはできるかもしれません。

 ポール/ファイナルビットは、タイプ2 LLC フレームのシーケンス番号フィールドの一番左端のビット( b0 )にあります。 したがって、NR と NS 番号は実際には7ビット長です(値は 0 から 127 となります)。

 LLC ヘッダのビット構成についてもっと詳しく知りたければ、IEEE 802.5 の仕様書に直接あたる方がよいでしょう。 「修飾機能ビット」や「監督機能ビット」といった難解な定義についての解説は他にはありません。 デバイスドライバのプログラムを書くプログラマでもない限り、このような難解なビットと出会うことはないでしょう。

結論

 LLC ヘッダの情報はバイト中の特別なビットに隠されています。 LLC ヘッダの 16 進数フォーマットを眺めるときには、その中に特別な意味のビットがあることを思い出しましょう。 LLC の 2 進数 − 16 進数変換に惑わされないようにしましょう。独特の構造があるのですから。