こんにちは!ネットワークの世界へようこそ。インフラエンジニアとして日夜ルーターやスイッチと格闘している私ですが、今回はネットワークの基礎のなかでも、ちょっと通好みだけど実務では知っておくべき「VLANの自動化」のお話です。
「スイッチのポートごとにVLANを手動で設定するのが面倒くさくなってきた…」
「ネットワークの規模が大きすぎて、どこにどのVLANがあるのか把握しきれない!」
そんな悩みを華麗に解決してくれるのが、今回取り上げる GVRP とその後継である MVRP です。
難しそうな英語が並んでいますが、一歩ずつ身近な例えから紐解いていきましょう!
—
1. VLANの手動設定はなぜツラいのか?
まず、私たちが普段やっているVLAN(Virtual LAN)の設定を思い出してください。
物理的な1台のスイッチを論理的に分割して、例えば「総務部用はVLAN 10」「開発部用はVLAN 20」といったグループを作りますよね。
小規模なネットワークなら、数台のスイッチにSSHでログインして、チマチマと vlan 10 や switchport access vlan 10 と打ち込んでいけば終わりです。
しかし、これが「フロア違いでスイッチが50台あります」「新しい部署ができて、全スイッチにVLANを追加しなきゃいけません」となったらどうでしょう?
夜間作業でポチポチとコマンドを打ち続け、ふと「あれ、あそこのスイッチの設定忘れてた!」なんて気づいたときの絶望感といったら……。エンジニアなら誰もが一度は通る「手動設定の限界」です。
「スイッチ同士で勝手に『うちの部署のVLAN、そっちにも作っといてよ!』って会話してくれたら楽なのに……」
そう、その願いを叶えるために生まれたのが、ダイナミックVLAN登録プロトコルなのです!
—
2. 郵便配達員に学ぶ「GARP / GVRP」の仕組み
スイッチ同士が自動でVLANの情報をやり取りする仕組みの元祖が GVRP(GARP VLAN Registration Protocol) です。
これの仕組みを理解するために、身近な「郵便配達(回覧板)」に例えてみましょう。
ある巨大なマンション(ネットワーク全体)に、たくさんの部屋(スイッチのポート)があるとします。
A号室の住人(スイッチA)が「私は新しく『VLAN 10(アニメ愛好会)』に入会しました!」と宣言したとします。
1. 宣言(Join)の伝播:
A号室の住人は、マンションの掲示板(リンク)に「VLAN 10 が必要です!」という張り紙を出します。これを隣のB号室の住人(スイッチB)が見つけます。
2. 情報の拡散:
B号室の住人も「お、隣が必要なら、俺の隣のC号室にも教えてあげよう」と、次々に張り紙をコピーしてマンション中に配ります。
3. 自動構築:
その張り紙を見た管理人は、「なるほど、このフロアにもVLAN 10の人がいるんだな。じゃあこの部屋の鍵(ポート)をVLAN 10用に開けておこう!」と自動で設定を完了させます。
これが GVRP の基本コンセプトです。
スイッチ同士が接続されたケーブル(トランクリンク)を通じて、「このVLANを使う人がここにいるよ!」という情報をパケットに乗せてお互いに教え合う(イベント駆動型で動く)わけです。
—
3. 令和のスタンダード「MVRP」への進化
GVRPは非常に画期的でしたが、ベースとなっていたGARP(Generic Attribute Registration Protocol)という仕組みが、時代遅れのガラパゴスケータイのようなものになってしまいました。
パケットの効率が悪かったり、大規模なネットワークでは大量の制御パケット(ブロードキャスト)が流れてネットワークを圧迫したりしたのです。
そこで登場したのが、IEEE 802.1ak で標準化された MVRP(Multiple VLAN Registration Protocol) です。
MVRPは、GARPという古い下部組織を捨て、MRP(Multiple Registration Protocol) というもっと洗練された新しいエンジンに載せ替えられました。
これにより、以下のような劇的な進化を遂げています。
- 無駄な通信の削減: 必要な情報だけをスマートにやり取りし、帯域を無駄に食いつぶしません。
- 高速な収束: ネットワークのトポロジーが変化したとき、瞬時にVLANの登録・削除が反映されます。
まさに、ガラケーから最新の5Gスマートフォンに持ち替えたような快適さです。
—
4. 実務で触れる!MVRP/GVRPの設定と現場のリアル
それでは、実際にシスコシステムズやアライドテレシス、あるいはCisco Catalyst系のスイッチなどを想定して、どのように設定するのか見ていきましょう。
※ここでは一般的な概念に近い形で、Cisco風のCLIとレイヤー2スイッチのコンフィグを例に解説します。
スイッチでの基本設定例
スイッチAとスイッチBがトランクポートで接続されているとします。スイッチA側で新しく作成されたVLANを、スイッチBに自動で伝播させたい場合のイメージです。
! --- スイッチAの基本設定 ---
! グローバルコンフィギュレーションモードへ入る
configure terminal
! 1. まずデバイス全体でVRP/GVRP機能を有効化します
mvrp global
! ※古い機器やGVRPの場合は 'gvrp' コマンドになります
! 2. 接続されているトランクポート側でも有効化します
interface GigabitEthernet0/1
switchport mode trunk
mvrp enable
description 接続先スイッチへのトランクリンク
end
たったこれだけの設定を対向するスイッチ間で行うだけで、スイッチAで新しくVLANが作成されたり、そこに端末が接続されたりしたタイミングで、MVRPがパケットを飛ばし、スイッチB側でも自動的にVLANがスポーン(生成)されます。
【重要】インフラ現場のリアルな教訓:本当にこれ使ってますか?
ここで、現場のシニアエンジニアとしての「生々しい本音」を一つお伝えしなければなりません。
実は、このGVRPやMVRP、実際の現場(特に大規模なエンタープライズやデータセンター)では、あまり使われていません。
「えっ、あんなに便利なのにどうして!?」と思いますよね。理由はいくつかあります。
1. 「勝手に変わる」恐怖:
ネットワークエンジニアにとって、意図しない自動化は「障害の温床」になります。誰かが間違ってテスト用のVLANを作っただけで、それが全スイッチに伝播してしまい、思わぬトラフィック迷子やセキュリティ事故を引き起こすリスクがあります。
2. STP(スパニングツリー)との兼ね合い:
VLANが動的に増えたり減ったりすると、その都度スパニングツリーの計算が走り、一時的な通信断(トポロジー変更)が発生することがあります。
3. AnsibleやPythonによる「静的自動化」の台頭:
現在では、GVRPのようなL2プロトコルに頼らなくても、Ansible や Python (Netmiko) などのIaC(Infrastructure as Code)ツールを使って、夜間やデプロイ時に一括で確実にVLANを流し込む手法が主流になっています。
「じゃあ勉強しなくていいや」ではなく、「手動設定の手間を減らす歴史的なアプローチとしてこういう動的プロトコルが存在し、現在でも一部の閉じた環境やプラグ&プレイが求められる現場(監視カメラネットワークや仮設LANなど)でひっそりと生きている」という文脈を知っておくことが、プロとしての深みにつながります。
—
5. まとめ
今回は、ダイナミックにVLANを伝播させる GVRP と MVRP について解説しました。
- GVRP / MVRP とは: スイッチ同士が「このVLAN使いたい人がいるよ!」と教え合い、自動でVLANを登録・拡張してくれる仕組み。
- 仕組みの裏側: 郵便の回覧板のように、イベント駆動型でネットワーク中を情報が駆け巡る。
- 進化の歴史: 古いGVRPから、より洗練されたMVRP(IEEE 802.1ak)へバトンタッチされた。
- 現場の知見: 便利ゆえの「勝手に変わる怖さ」もあり、現在の主流はIaCによる静的自動化に移行しつつあるが、プロトコルの思想を知ることは非常に重要。
ネットワークは、ただコマンドを叩くだけではなく、「なぜこのプロトコルが生まれ、どうやってパケットがバトンを渡しているのか」を想像できるようになると、途端に面白くなってきます。
一歩ずつ、確かな技術を自分のものにしていきましょう!それではまた次回のネットワーク解説でお会いしましょう。
コメント