#『VLANトンネリング』(ダブルタグ・TPID・TCI..)をパパっと理解!

VLANトンネリング

はじめに

トニーくん
トニーくん

ITの勉強において、やっぱり全範囲を網羅的に勉強しようと思ってもなかなか、先輩・上司に追いつき追い抜くことって時間がかかるものです。そのせいでモチベーション下がったり……

トニーくん
トニーくん

だったら、1つのことに1点集中して『これに関しては同レベルor僕の方が上だ!』と思える領域を少しずつ作っていきましょう!それを続けていけば、どんどんどんどん勝てる領域が多くなり、気づいたら自分が行きたい場所に登り詰めるでしょう!

トニーくん
トニーくん

ということで今回はVLANトンネリングについて知見を深めていきましょう!

VLANトンネリングの基本知識

basic 土台

VLANトンネリング(別名:Q-in-QトンネリングIEEE802.1ad準拠)は、複数の顧客VLANを、プロバイダのネットワーク内で1つの大きなVLAN集約して扱う技術です。これにより、プロバイダは複数の異なる顧客のVLANをまとめて処理しながらも、顧客側ではあたかもそれぞれのVLANが独立して存在しているかのように振る舞うことが可能になります。

VLANトンネリングイメージ

この技術の目的は、特に異なる顧客が同じVLAN ID(VID)を使用する場合に、そのVLAN IDの衝突を防ぎつつ、プロバイダのネットワークを跨いでVLANを拡張できるようにすることです。例えば、東京と大阪にある同一企業の拠点間で同じVLANを利用して、あたかも1つの社内ネットワークに接続されているかのような環境を提供します。

VALNについてパパっと理解できる

VLANタグの構成

basic 土台

通常、VLANの通信ではIEEE 802.1Q規格に従い、各フレームにVLANタグが付与されます。タグの構造は以下のようになっています:

VLANタグ
TPID(Tag Protocol Identifier):
  • タグプロトコル識別するための16ビットのフィールドです。
  • 標準のVLANタグではIEEE802.1Qを表す0x8100が設定されます。
TCI(Tag Control Information):
  • VLANタグの中の詳細情報です。3つの部分で構成されています:
  PCP(Priority Code Point):
  • 優先度を示し、0~7(7が最も高い)までの値を持つ3ビットのフィールドです。
  CFI(Canonical Format Indicator)  =DEI(Drop Eligible Indicator):
  • データの互換性を保つための1ビットのフラグ。
  • イーサネットの標準であるIEEE802.1Qの場合はを設定。非標準形式の場合はを設定。
トニーくん
トニーくん

CFI(Canonical Format Indicator)は、今ではDEI(Drop Eligible Indicator)という名前に変更されています。しかし、CFIで馴染んでいる人もいるので両方の言い方を覚えておきましょう!

  VID(VLAN ID):
  • VLANを識別するためのIDで、1~4094の範囲で指定できる12ビットのフィールドです。

VLANトンネリングの「ダブルタグ」(Q-in-Q)

basic 土台

VLANトンネリングでは、顧客側で既に付与されたVLANタグの上に、さらにプロバイダ側で新しいVLANタグを付加します。これをダブルタグ(Double Tagging)やQ-in-Qと呼びます。

トニーくん
トニーくん

Q-in-QはプロトコルIEEE802.1QでIEEE802.1Qをカプセル化してるよってイメージです。

また、これらのタグはプロバイダ側と顧客側で呼ばれ方が違います。

カスタマタグ:

顧客が付与したVLANタグ(TPID = 0x8100)。

サービスタグ:

プロバイダが付与した外側のVLANタグ(TPID = 0x88a8)。

プロバイダネットワークでは、外側のサービスタグを利用して異なる顧客のトラフィックを識別・分離します。これにより、同じVLAN IDを使っていても、異なる顧客間でVLAN IDが衝突することはありません。

VLANトンネリングを使わないと何か困るの?

basic 土台

VLANトンネリングを使わない場合、例えばある企業が複数拠点で同じVLAN IDを使いたいと考えたとき、各拠点間の通信に制限がかかる可能性があります。理由は以下の通りです:

VLAN IDの重複:

VLAN IDは12ビットで表現されるため、使用できるIDの数は最大で4094個です。大規模なネットワークや複数の顧客が同じVLAN IDを利用する状況では、IDが重複しやすくなります。

管理の複雑さ:

VLANが増えると、その管理が複雑化します。特に複数のネットワークに跨るVLANを管理するのは非常に難しいです。

これらの問題を解決するため、VLANトンネリングを使うと、プロバイダはサービスタグを使って顧客ごとのVLANを分離でき、顧客は自分のVLAN IDが他の顧客のネットワークと衝突することなく、自由に利用できます。これは、VLANの拡張性や管理の効率化につながります。

顧客ープロバイダ間の接続方法

basic 土台

VLANトンネリングを利用して、顧客のネットワークをプロバイダネットワークに接続する際には、専用回線MPLS(Multi-Protocol Label Switching)を使用することが一般的です。MPLSは、ラベルベースでトラフィックを転送する技術で、VLANトンネリングや他のネットワーク仮想化技術と組み合わせることで、より柔軟で効率的な通信を実現します。

VLANトンネリングの制限

basic 土台

Q-in-Qトンネリングを使っても、基本的なVLANの制限であるVLAN IDの数(4094)は変わりません。しかし、トンネリングにより顧客ごとのVLAN IDが分離されるため、プロバイダが1つのVLAN ID内でさらに多くのVLANを扱えるようになります。ただし、トータルで管理できるVLAN数の上限が拡張されるわけではないことに注意が必要です。

VLANトンネリングイメージ
トニーくん
トニーくん

この図から分かる通り、顧客間ではVLAN-IDの重複は気にすることなく使えます。しかし、集約後のVLAN-IDは4094という制限を受けます。

機器を跨またいでもMACアドレスは変わらない

basic 土台

VLANトンネリングを使うと、複数の機器をまたぐことになりますが、論理的には1つのLAN内での通信として扱われているため、顧客側の視点では送信元と送信先のMACアドレスはいくつまたごうとも変わらない。ただし、プロバイダのネットワークを通過するときに、物理的な中継機器(スイッチやルータなど)でのMACアドレスは変更される場合がありますが、トンネル内の顧客データのフレーム自体のMACアドレスは変更されません。

例えば…

MACアドレス

SV1からSV2に送信する場合には、いくつかの機器を通過します。しかし、SV1とSV2は論理的に一つのLAN内にあるので、SV2に届いたフレームの送信元MACアドレスはSV1のままです。

トニーくん
トニーくん

送信元・先MACアドレスが変更されるのは、異なるネットワークに行く(=ルータを跨ぐ)ときです。L2SWという機器を介しても、それは中継するだけなのでMACアドレスの変更は伴いません。つまり、

同一LAN内ではMACアドレスは変更されない。

異なるネットワークに移る際(ルータを通過する際)はMACアドレスがそのルータ(送信元MACアドレス)・次のルータ(送信先MACアドレス)に変更される。

って感じですね。


まとめ

ポート番号 summary

要するに…

VLANトンネリング(Q-in-Q)は、顧客ごとの複数VLANをそのまま維持しつつ、プロバイダのネットワークを通過させる技術です。この技術を用いることで、顧客側のVLAN IDが重複していても、プロバイダネットワーク上で問題なく扱うことができるようになります。顧客ごとのVLANが一つの論理的なLANに見えるように構成されており、顧客にとっては自分たちのネットワークが外部に漏れることなく、統一されたネットワークとして機能しているように感じられます。

VLANタグは「TPID」と「TCI」から構成されています。TPIDは16ビットで、通常顧客側のVLANタグには0x8100が使われ、これはVLANタグがついていることを示すフィールドです。一方、プロバイダ側で追加されるサービスタグには0x88A8が一般的に使用され、これによりプロバイダがVLANを管理できるようになります。

TCIはさらに「PCP」、「DEI(旧CFI)」、「VID」の3つの要素で構成されます。
PCPはフレームの優先度を示すフィールドで、3ビットのサイズを持ち、0から7までの値を取ります。DEIはフレームが混雑時に廃棄されるべきかどうかを示すもので、通常は0が設定されますが、フレームが削除可能であれば1が設定されます。
VID12ビットでVLANを識別するフィールドで、1から4094までの範囲のIDを設定することができます。

Q-in-Qの仕組みは、顧客が自分たちで割り当てたVLANタグ(カスタマタグ)をプロバイダが新たに付与するサービスタグで包み込む形になっています。この二重タグによって、プロバイダは異なる顧客のVLANを識別しつつ、顧客ごとのVLAN IDの重複問題を解決しています。顧客側のネットワークは独自のVLAN構成を維持しつつ、プロバイダのネットワークを通過できるため、顧客ごとに4094個のVLANを使用でき、プロバイダ側でも同じ数のVLANを用いることが可能です。

また、MACアドレスについても重要な点があります。通常、同一のLAN内であれば、L2スイッチを経由しても送信元や宛先のMACアドレスは変わりません。これは、L2スイッチがフレームを単に転送するだけであり、アドレスを変更する機能を持たないからです。しかし、異なるネットワークを通過する際、例えばルーターを跨ぐ場合には、送信元および宛先のMACアドレスがそれぞれのルーターや次のホップに置き換わります。これは、各ネットワークセグメントごとに通信を行う機器が異なるためです。IPアドレスはそのままですが、MACアドレスは各セグメントで変更されるため、異なるネットワーク間の通信が可能になります。

VLANトンネルでも、このMACアドレスの動作は同様です。顧客側から見れば、論理的には1つのLANに全てのデバイスが属しているように見えるため、フレームの送信元や宛先MACアドレスは変更されず、そのまま通信が行われます。したがって、プロバイダのネットワーク内でどれだけのデバイスを通過しても、顧客にとっては一貫して同じMACアドレスで通信が行われているように見えるわけです。

このように、VLANトンネリングは顧客のネットワークをそのまま維持しつつ、プロバイダネットワーク上で効率よく管理できる仕組みであり、顧客ごとのVLAN IDの重複を気にすることなく運用できる非常に便利な技術です。

おわりに

goal
トニーくん
トニーくん

本日は『VLANトンネリング』について知見を深めました!

これでまた、一歩成長しました!これからも焦らず、1つずつこれからも頑張っていきましょう!

キョメコチャン
キョメコチャン

毎回思うんだけど、まとめが長いわよ。全然まとまってないじゃない!

まぁ読み物感覚でいくならいいかもね…ちょっと話がそれたけど、今日はここで終了~~!

DJトニーくん
DJトニーくん

キョメコチャンがなんか、言ってるけど気にしない気にしない...

今日は夏にピッタリな「The Vamps – Oh Cecilia (Breaking My Heart) ft. Shawn Mendes」という曲でGoodByeです。では、また会いましょう!

The Vamps – Oh Cecilia (Breaking My Heart) ft. Shawn Mendes

タイトルとURLをコピーしました