皆さん、こんにちは!ネットワークの深淵を愛してやまない、あなたのプロトコルスペシャリストがまたまた登場です!
さて、今回はネットワークの世界で「仮想的な区切り」を作り出す魔法の技術、VLAN(Virtual LAN)のお話。中でも、そのVLANがどうやってパケットに「これはどのVLANだよ!」という情報を埋め込んでいるのか、その心臓部に迫っていきたいと思います。
特に焦点を当てるのは、IEEE 802.1Qタグヘッダーの中に隠された、たった16ビットながらも非常に重要な情報領域「TCI(Tag Control Information)」です。
「え、たった16ビット?」「タグヘッダーって何?」って思った方も、ご安心ください!今回は、郵便配達の流れや身近な例えを交えながら、優しく、そして深掘りして解説していきます。「パケットの気持ちになってみよう!」くらいの気持ちで、一歩ずつ理解していきましょうね!
—
郵便物がVLANで仕分けられる「魔法のタグ」って?
想像してみてください。あなたは郵便局の職員で、世界中から届く膨大な郵便物を、正しい住所に届けるのがお仕事です。でも、もし住所が書かれていなかったらどうでしょう?大変ですよね!
VLANの世界も同じなんです。ネットワークの中を飛び交うデータ(パケット)は、まるで郵便物。このパケットが「どのVLANに属しているか」という情報がないと、スイッチという郵便局員は、どこに転送すればいいか分からなくなってしまいます。
そこで登場するのが、IEEE 802.1Qという国際標準で定められた「VLANタグ」という特別な情報。これは、普通の郵便物にはない「特別なシール」のようなものだと考えてください。このシールに「この郵便物は〇〇部署行きだよ!」とか「この郵便物は大至急で届けてね!」といった情報が書かれているんです。
そして、このVLANタグの中には、大きく分けて二つの重要な情報が含まれています。
1. TPID (Tag Protocol Identifier):これは「このシールはVLANタグだよ!」と識別するための目印。ほぼ固定値の0x8100が入ります。
2. TCI (Tag Control Information):今回の主役です!このシールに書かれた「具体的な指示」や「情報」が詰まっている場所。
そう、まるで手紙の封筒に貼られた特殊な「取り扱い注意」のスタンプや、速達指定のマーク、そして具体的な「宛先番号」がギュッと詰まっているようなイメージですね。
このTCI、たった16ビットという小さな領域ですが、その中に3つの非常に重要な情報が凝縮されています。さあ、その秘密の扉を一緒に開いていきましょう!
TCI(Tag Control Information)の全貌!16ビットの小宇宙
TPIDに続いて登場するTCIは、合計16ビット(0と1が16個並んだ情報)から構成されています。この16ビットが、さらに3つの小さなフィールドに分かれていて、それぞれが異なる役割を担っています。
ちょうど、16桁の数字が、「最初の3桁は優先度」「次の1桁は破棄するかどうか」「残りの12桁は宛先番号」という風に、意味を持った塊になっているようなものです。
その内訳は以下の通り!図にするとこんな感じになります。
|<------------------ TCI (Tag Control Information) - 16 bits ----------------->|
| PCP (3 bits) | DEI (1 bit) | VLAN ID (12 bits) |
|------------------|----------------|---------------------------------------|
| Priority Code | Drop Eligible | Virtual LAN Identifier |
| Point | Indicator | |
はい、この図を見ただけで「なるほど!」って方はもうプロフェッショナルですね!
でも、「うーん、まだピンとこないなぁ」という方も大丈夫!一つずつ、丁寧にご説明しますね。
1. PCP (Priority Code Point) – 優先度を示す3ビット
まず、TCIの先頭3ビットを占めるのがPCP(Priority Code Point)です。
これは、パケットの「優先度」を示す情報になります。
例えるなら、郵便局で荷物を出すときに「速達」や「書留」といったオプションを選ぶのと同じです。
このPCPの値によって、スイッチやルーターといったネットワーク機器は、パケットを処理する優先順位を変えることができます。
- 3ビットで何段階表現できるの?
3ビットなので、000から111までの2の3乗 = 8段階の優先度を表現できます。0が一番優先度が低く、7が一番高くなります。
- PCPは何に使われるの?
主にQoS(Quality of Service)という、ネットワークの品質を管理する機能で利用されます。例えば、VoIP(IP電話)の音声データやビデオ会議の映像データは、少しでも遅延すると品質が著しく悪化してしまいますよね。
このような「リアルタイム性が求められる」重要なパケットには、高いPCP値を割り当てて、他のデータよりも優先的に処理するように設定できるんです。
| PCP値 | 優先度 (CoS) | 利用例(通常) |
| :—- | :———– | :——————— |
| 7 | Highest | ネットワーク制御(ルーティングプロトコルなど) |
| 6 | Internetwork Control | ネットワーク制御(ルーティングプロトコルなど) |
| 5 | Voice | 音声トラフィック(VoIP) |
| 4 | Video | 映像トラフィック(ビデオ会議) |
| 3 | Critical Applications | 基幹業務アプリケーション |
| 2 | Excellent Effort | 通常のビジネスデータ |
| 1 | Best Effort | 通常のデータ、デフォルト |
| 0 | Background | バックアップなど低優先度データ |
この表を見ると、「あ、IP電話のパケットはPCPが5になることが多いんだな」とか、「ネットワークを安定させるための制御パケットは、最高のPCP 7が割り当てられることもあるんだな」ということが分かりますよね。
混み合ったネットワークで、大切な電話が途切れないように、このPCPが頑張ってくれている、ってことなんです!
2. DEI (Drop Eligible Indicator) – 破棄可能を示す1ビット
次に、PCPの隣にあるたった1ビットのDEI(Drop Eligible Indicator)です。
これは「混雑時に、このパケットは捨ててもいいですか?」という問いかけに対する答えを示すフラグだと考えてください。
例えるなら、宅配便で「万が一、交通渋滞で荷物が遅れそうになったら、この広告チラシは後回しにして、高価な商品は優先して届けてね」と指示するようなものです。
- たった1ビットだけど、どういう意味?
1ビットなので、0か1のどちらかの値しか取りません。
DEI = 0:このパケットは重要なので、できるだけ破棄しないでください。DEI = 1:ネットワークが混雑したら、このパケットは破棄しても構いません。
- DEIは何に使われるの?
主にネットワークが輻輳(ふくそう、混雑すること)した際に、どのパケットから優先的に破棄していくかを判断するのに使われます。
例えば、重要な業務データや音声・映像データにはDEI = 0を設定し、Webブラウジングやファイルダウンロードといった多少遅れても問題ないデータにはDEI = 1を設定することがあります。
これにより、ネットワーク全体が混雑しても、最低限のサービス品質を保つことができるようになるわけです。
これは、まさに「賢いパケット破棄」を実現するための、縁の下の力持ちなんですよ。
3. VLAN ID (Virtual LAN Identifier) – VLANを識別する12ビット
そして、TCIの残りの12ビットを占めるのが、今回の主役たる「VLAN ID」です!
これは、そのパケットが「どのVLANに属しているか」を明確に識別するための、まさに「VLANの背番号」ともいえる情報です。
例えるなら、郵便物の「私書箱番号」や「部署コード」のようなもの。この番号を見て、郵便局員(スイッチ)は「この郵便物は、第1開発部の私書箱に入れるべきだな」と判断するわけです。
- 12ビットでどれくらいのVLANが作れるの?
12ビットなので、2の12乗 = 4096個の異なるVLANを識別できます。
つまり、0から4095までのVLAN IDを割り当てることが可能です。
- すべてのIDが使えるの?
いいえ、実はVLAN ID 0とVLAN ID 4095は特殊な用途のために予約されており、通常は使用しません。
したがって、実際に利用できるVLAN IDは1から4094まで、ということになります。
これにより、非常に大規模なネットワークでも、部署ごと、目的ごとに細かくVLANを分割して、セキュリティの向上やトラフィックの分離を行うことができるんです。
このVLAN IDこそが、ネットワークを論理的に分割し、管理を容易にするVLANの根幹をなす情報なんですね!
—
TCIを理解した上で、トランクポートを設定してみよう!
さて、TCIの各フィールドの役割を理解したところで、実際にネットワーク機器ではどのように設定するのか、少しだけ実践的な例を見てみましょう。
VLANタグは、主に「トランクポート」と呼ばれる特殊なポートで処理されます。トランクポートは、複数のVLANのトラフィックを一つの物理リンクで流すことができるポートのこと。まさに、いろんな部署の郵便物が混じって流れる「幹線道路」のようなものですね。
ここでは、Cisco製のスイッチを例に、VLANの設定と、PCPに関するQoSの考え方を少しだけ触れてみましょう。
1. VLANの作成とポートへの割り当て
まずは基本的なVLANの作成と、アクセスポート(末端デバイスが接続されるポート)への割り当てです。
! VLAN 10 を作成し、名前を "Sales_VLAN" とする
Switch(config)# vlan 10
Switch(config-vlan)# name Sales_VLAN
Switch(config-vlan)# exit
! VLAN 20 を作成し、名前を "HR_VLAN" とする
Switch(config)# vlan 20
Switch(config-vlan)# name HR_VLAN
Switch(config-vlan)# exit
! FastEthernet0/1 を VLAN 10 のアクセスポートに設定
Switch(config)# interface FastEthernet0/1
Switch(config-if)# switchport mode access
Switch(config-if)# switchport access vlan 10
Switch(config-if)# end
これで、FastEthernet0/1に接続されたPCからのパケットは、VLAN ID 10として扱われるようになります。このPCから出たパケットには、VLANタグは付加されませんが、スイッチが受け取った時点で内部的にVLAN ID 10として処理されます。
2. トランクポートの設定
次に、複数のVLANのトラフィックを流すためのトランクポートの設定です。このポートを通るパケットには、802.1Qタグが自動的に付加されます。
! GigabitEthernet0/1 をトランクポートに設定
Switch(config)# interface GigabitEthernet0/1
Switch(config-if)# switchport mode trunk
! このポートで許可するVLANを指定(VLAN 10と20のみを許可する場合)
Switch(config-if)# switchport trunk allowed vlan 10,20
Switch(config-if)# end
このGigabitEthernet0/1を通過するVLAN 10やVLAN 20のパケットには、VLAN ID 10やVLAN ID 20が設定された802.1Qタグ(つまりTCIを含む)が付加されることになります。
3. QoS(PCP)の基本的な考え方
PCPはCoS (Class of Service)とも呼ばれ、L2レベルでの優先度を定めます。
通常、ネットワーク機器は、受信したパケットのPCP値を見て、そのパケットをキューイング(待ち行列に入れること)する際に優先度を考慮します。
例えば、VoIPトラフィック(音声データ)は高いPCP値(通常は5)が設定されることが多いです。スイッチ側でそのPCP値を「信用」し、優先的に処理するように設定することができます。
! グローバル設定でCoS(PCP)値を信用するよう設定
Switch(config)# mls qos trust cos
! または、DSCP値(L3の優先度)を信用する設定(CoSにマッピングされる)
Switch(config)# mls qos trust dscp
! 個別インターフェースでQoSを有効にする例(詳細設定は複雑になるためここでは概要のみ)
Switch(config)# interface GigabitEthernet0/1
Switch(config-if)# mls qos trust cos
! 必要に応じて、キューイングや帯域制限などの詳細なQoSポリシーを適用
Switch(config-if)# end
mls qos trust cosコマンドは、受信したパケットの802.1Qタグに含まれるPCP値を信頼し、その値に基づいて内部的に優先度を決定するという意味です。
これにより、特定のVLAN(例えばVoIP用のVLAN)からのトラフィックを、他のVLANのトラフィックよりも優先して処理させることができるようになるわけです。
DEIに関しては、一般的に明示的に設定することは少なく、QoSポリシーの一部として「混雑時に破棄するパケット」をマークする際などに内部的に利用されることが多いです。
—
まとめ:TCIはVLAN通信の「心臓部」!
いかがでしたでしょうか?
今回は、IEEE 802.1Qタグヘッダーの中にある、たった16ビットのTCI(Tag Control Information)フィールドに焦点を当て、そのビットレイアウトと、PCP、DEI、VLAN IDという3つの重要な情報の役割について詳しく見てきました。
- PCP (Priority Code Point):パケットの「優先度」を示す3ビット。郵便の「速達」のような役割。
- DEI (Drop Eligible Indicator):混雑時にパケットを「破棄してもよいか」を示す1ビット。緊急度の低い荷物のような役割。
- VLAN ID (Virtual LAN Identifier):パケットが「どのVLANに属するか」を示す12ビット。郵便の「私書箱番号」のような役割。
これら一つ一つの情報が、ネットワークを流れるパケットに埋め込まれることで、スイッチはパケットを正しく仕分け、必要に応じて優先的に転送したり、混雑時に適切に処理したりと、非常に賢い動きをしてくれるんです。
ネットワークの学習は、最初は専門用語やビット数など、難しく感じるかもしれません。でも、一つ一つの要素がどのような役割を持ち、どう連携しているのかを、身近な例えで紐解いていくと、きっと「なるほど!」と腑に落ちる瞬間が訪れるはずです。
今回のTCIは、VLANがVLANとして機能するためのまさに「心臓部」とも言える重要な部分。ここを理解することで、あなたのネットワークの知識はまた一歩深まったはずです!
これからも、パケットの気持ちになって、ネットワークの深淵を一緒に探求していきましょうね!
それでは、また次回の記事でお会いしましょう!
コメント