IEEE 802.1Q
イーサネットでVLANを実現するためのIEEE規格。フレームの送信元MACアドレスとタイプ(長さ/タイプ)の間に、4オクテットのVLANタグを挿入して、どのVLANのフレームかを示す。
イマシルちゃんの解説
1本のケーブルで、いろんなVLANのフレームを一緒に運ぶとき、
「このフレームはどのVLANのもの?」って区別できないと困っちゃうよね。
IEEE 802.1Qでは、フレームに小さな「荷札(VLANタグ)」を差し込んで、VLANの番号を書いておくんだ。
差し込む場所は、宛先と差出人の住所(MACアドレス)のすぐ後ろ。
受け取ったスイッチは、この荷札を見て、正しい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を、別々に扱える。