IEEE 802.1Q
VLANを扱うブリッジの動作やフレーム形式などを定めたIEEE規格である。フレームの送信元MACアドレスとタイプ(長さ/タイプ)の間に4オクテットのVLANタグを挿入し、所属VLANなどを示す。
イマシルちゃんの解説
同じスイッチを使っていても、部署ごとに別のLANとして通信を分けることができるよ。
このように論理的に分けたLANをVLANというんだ。
IEEE 802.1Qは、こうしたVLANを扱うスイッチの動作などを定めた規格だよ。
たとえばスイッチどうしを結ぶ1本のケーブルで、複数のVLANのデータを運ぶ場面を考えてみよう。
受け取る側で区別できるよう、送るフレームに所属するVLANの番号を書いた目印を加えるの。
相手のスイッチはその番号を読み取り、どのグループの通信として扱うかを判断するんだ。
配線を共有しながら、グループを区別して運べるんだよ。
この解説はわかりやすかったですか?
より深い解説
定義
IEEE 802.1Qは、イーサネットフレームにVLANの識別情報(VLANタグ)を付加して、1本のリンクで複数のVLANのフレームを運ぶ(トランク)ための規格である。現在は、VLANだけでなく、スパニングツリー(MSTP)や優先制御など、ブリッジの機能全般を含む規格になっている。
VLANタグを挿入する位置
タグなし
| プリアンブル | SFD | 宛先MAC | 送信元MAC | タイプ/長さ | データ | FCS |
タグ付き
| プリアンブル | SFD | 宛先MAC | 送信元MAC | VLANタグ(4) | タイプ/長さ | データ | FCS |
VLANタグは、送信元MACアドレスの直後、タイプ/長さのフィールドの直前に挿入される。宛先MACアドレスの前でも、IPヘッダーの前(データ部の中)でもない。
タグを挿入するとフレームの中身が変わるため、スイッチはFCSを計算し直す。また、フレームの最大長は1,518オクテットから1,522オクテットに増える。
VLANタグの構成(4オクテット)
| フィールド | 長さ | 内容 |
|---|---|---|
| TPID(Tag Protocol Identifier) | 16ビット | タグ付きフレームであることを示す値。0x8100 |
| PCP(Priority Code Point) | 3ビット | フレームの優先度(0~7)。IEEE 802.1pの優先制御(CoS)で使う |
| DEI(Drop Eligible Indicator) | 1ビット | 混雑時に優先して捨ててよいフレームであることを示す |
| VID(VLAN Identifier) | 12ビット | VLAN ID(1~4094) |
TPIDの位置は、タグなしのフレームでタイプ/長さがある位置と同じである。受信側は、この位置の値が0x8100であれば、タグ付きフレームだと判断する。PCP、DEI、VIDの16ビットをまとめてTCI(Tag Control Information)という。
タグの付け外し
| 場面 | 動作 |
|---|---|
| 端末からアクセスポートに届いたフレーム | タグなしで受け取り、ポートのVLANに所属させる |
| トランクポートから送り出すとき | VLANタグを付けて送る(ネイティブVLANを除く) |
| アクセスポートから端末に送り出すとき | VLANタグを外して送る |
Q-in-Q(IEEE 802.1ad)
通信事業者が、利用者のタグ付きフレームを、さらに事業者側のVLANタグで包んで運ぶ方式をQ-in-Q(タグスタッキング)という。外側のタグのTPIDには0x88A8を使う。利用者が自由に使うVLAN IDと、事業者が利用者を区別するVLAN IDを、別々に扱える。