仮想LAN(VLAN)は、単一の物理ネットワークが複数の並列物理ネットワークの機能をエミュレートできるようにする抽象概念です。これは、複数の並列物理ネットワークの機能が必要な場合がありますが、並列ハードウェアの購入にお金をかけたくない場合があるため、便利です。この回答ではイーサネットVLANについて説明します(他のネットワークテクノロジーはVLANをサポートできますが)。すべてのニュアンスを深く掘り下げることはしません。
考案された例と問題
純粋に考案されたシナリオ例として、テナントに賃貸するオフィスビルを所有していると想像してください。リースの利点として、各テナントはオフィスの各部屋でライブイーサネットジャックを取得します。各階にイーサネットスイッチを購入し、その階の各オフィスのジャックに配線し、すべてのスイッチをまとめて配線します。
最初に、フロア1とフロア2の2つの異なるテナントにスペースをリースします。これらの各テナントは、静的IPv4アドレスを使用してコンピューターを構成します。どちらのテナントも異なるTCP / IPサブネットを使用しており、すべてがうまく機能しているようです。
その後、新しいテナントがフロア3の半分をレンタルし、これらの新しいフレンジードDHCPサーバーの1つを立ち上げます。時間が経ち、1階のテナントもDHCPの時流に飛び乗ることに決めました。これが、物事がおかしくなり始めるポイントです。フロア3のテナントは、一部のコンピューターがDHCPサーバーではないマシンから「面白い」IPアドレスを取得していると報告しています。すぐに、フロア1のテナントが同じことを報告します。
DHCPは、イーサネットのブロードキャスト機能を利用して、クライアントコンピューターがIPアドレスを動的に取得できるようにするプロトコルです。テナントはすべて同じ物理イーサネットネットワークを共有しているため、同じブロードキャストドメインを共有します。ネットワーク内のコンピューターから送信されたブロードキャストパケットは、すべてのスイッチポートを他のすべてのコンピューターにフラッディングします。1階と3階のDHCPサーバーは、IPアドレスリースのすべての要求を受信し、事実上、誰が最初に回答できるかを確認するために決闘します。これは明らかに、テナントが経験する予定の動作ではありません。ただし、これはVLANなしの「フラット」イーサネットネットワークの動作です。
さらに悪いことに、2階のテナントはこの「Wireshark」ソフトウェアを取得し、時々、彼らが聞いたことのないコンピューターとIPアドレスを参照するスイッチからトラフィックが出ていることを報告します。従業員の1人は、自分のPCに割り当てられたIPアドレスを192.168.1.38から192.168.0.38に変更することで、これらの他のコンピューターと通信できることを発見しました!おそらく、彼は他のテナントの1人に対して「不正なプロボノシステム管理サービス」を実行するためのほんの数歩の距離にいると思われます。良くない。
潜在的なソリューション
解決策が必要です!床の間でプラグを引くだけで、すべての不要な通信が遮断されます!うん!それがチケットです...
それはうまくいくかもしれませんが、地下3階の半分と空いている半分の3階を借りる新しいテナントがいる場合を除きます。3階のスイッチと地下のスイッチの間に接続がない場合、新しいテナントは両方のフロアに広がるコンピューター間の通信を取得できます。プラグを抜くことは答えではありません。さらに悪いことに、新しいテナントはこれらのDHCPサーバーの別の 1つをもたらしています!
テナントごとに物理的に別々のイーサネットスイッチセットを購入するというアイデアに興味がありますが、建物に30フロアがあり、そのいずれも最大4つの方法に細分できることを見て、床から床へのケーブルのネズミの可能性があります膨大な数のパラレルイーサネットスイッチは、高価なことは言うまでもなく、悪夢のようです。単一の物理イーサネットネットワークを、それぞれが独自のブロードキャストドメインを持つ複数の物理イーサネットネットワークのように機能させる方法がある場合のみ。
RescueへのVLAN
VLANは、この厄介な問題に対する答えです。VLANを使用すると、イーサネットスイッチを論理的に異なる仮想イーサネットスイッチに分割できます。これにより、単一のイーサネットスイッチが複数の物理イーサネットスイッチであるかのように動作できます。たとえば、細分化されたフロア3の場合、48ポートスイッチを構成して、下位24ポートが特定のVLAN(VLAN 12と呼びます)にあり、上位24ポートが特定のVLAN( VLAN 13)と呼びます。スイッチでVLANを作成するときは、何らかのタイプのVLAN名または番号を割り当てる必要があります。ここで使用している数字はほとんど任意であるため、どの特定の数字を選択するか心配する必要はありません。
フロア3スイッチをVLAN 12および13に分割すると、新しいフロア3テナントはDHCPサーバーをVLAN 13に割り当てられたポートの1つに接続でき、VLAN 12に割り当てられたポートに接続されたPCは接続できないことがわかります。 t新しいDHCPサーバーからIPアドレスを取得します。優れた!問題が解決しました!
ああ、待って...どうやってVLAN 13のデータを地下に届けるのですか?
スイッチ間のVLAN通信
ハーフフロア3およびハーフベースメントテナントは、地下3階のコンピューターに地下3階のコンピューターを接続したいと考えています。フロア3のスイッチのVLANに割り当てられたポートの1つから地下と生活に直接ケーブルを配線できます。いいでしょう?
VLANの初期(802.1Q以前の標準)では、まさにそれを行うかもしれません。地下スイッチ全体は、事実上、VLAN 13(フロア3および地下の新しいテナントに割り当てることを選択したVLAN)の一部になります。なぜなら、地下スイッチは、フロア3の割り当てられたポートによって「供給」されるからです。 VLAN 13へ。
このソリューションは、地下1階と地下1階のコンピューター間の通信を希望する1階のテナントに地下の残り半分を借りるまで機能します。VLANを使用して(たとえば、VLAN 2と13に)地下室のスイッチを分割し、地下1階からVLAN 2に割り当てられたポートまでケーブルを走らせることができますが、これはすぐにネズミの巣になる可能性があると判断できますケーブルの(そして悪化するだけです)。VLANを使用してスイッチを分割するのは良いことですが、他のスイッチから異なるVLANのメンバーであるポートに複数のケーブルを走らせることは面倒です。間違いなく、地下のスイッチを4ウェイに分けて高層階にスペースがあるテナント間で分割しなければならなかった場合、2階のVLANからの「フィーダー」ケーブルを終端するために地下スイッチの4つのポートを使用します。
これで、単一ケーブル上のスイッチ間で複数のVLANからトラフィックを移動する一般的な方法が必要であることは明らかです。異なるVLAN間の接続をサポートするためにスイッチ間にケーブルを追加するだけでは、スケーラブルな戦略ではありません。最終的には、十分なVLANがあれば、これらのVLAN間/スイッチ間接続でスイッチ上のすべてのポートを使い果たします。必要なのは、単一の接続(スイッチ間の「トランク」接続)に沿って複数のVLANからパケットを伝送する方法です。
ここまでは、これまで説明してきたすべてのスイッチポートを「アクセス」ポートと呼びます。つまり、これらのポートは単一のVLANへのアクセス専用です。これらのポートに接続されたデバイスには、特別な構成はありません。これらのデバイスは、VLANが存在することを「認識」しません。クライアントデバイスが送信するフレームはスイッチに配信され、フレームがスイッチに入ったポートに割り当てられたVLANのメンバーとして割り当てられたポートにのみフレームが送信されるようにします。フレームがVLAN 12のメンバーとして割り当てられたポートでスイッチに入ると、スイッチはVLAN 12のメンバーであるポートからのみそのフレームを送信します。スイッチは、受信元のポートに割り当てられたVLAN番号を「認識」します。フレームと何とか同じフレームのポートからのみこのフレームを配信することを知っています。
スイッチが特定のフレームに関連付けられたVLAN番号を他のスイッチと共有する方法がある場合、他のスイッチは適切な宛先ポートにのみそのフレームの配信を適切に処理できます。これが802.1Q VLANタギングプロトコルの機能です。(802.1Qの前に、一部のベンダーはVLANタギングとスイッチ間トランキングの独自の標準を作成していたことに注意してください。ほとんどの場合、これらの先行標準の方法はすべて802.1Qに取って代わりました。)
2つのVLAN対応スイッチが相互に接続されていて、それらのスイッチが相互にフレームを適切なVLANに配信するようにしたい場合は、「トランク」ポートを使用してそれらのスイッチを接続します。これには、各スイッチのポートの構成を「アクセス」モードから「トランク」モードに変更することが含まれます(非常に基本的な構成)。
ポートがトランクモードで設定されている場合、スイッチがそのポートから送信する各フレームには、フレームに「VLANタグ」が含まれます。この「VLANタグ」は、クライアントが送信した元のフレームの一部ではありませんでした。むしろ、このタグは、トランクポートからフレームを送信する前に送信スイッチによって追加されます。このタグは、フレームの発信元ポートに関連付けられたVLAN番号を示します。
受信スイッチはタグを見て、フレームの発信元のVLANを判別し、その情報に基づいて、発信元VLANに割り当てられているポートのみにフレームを転送します。「アクセス」ポートに接続されたデバイスはVLANが使用されていることを認識しないため、アクセスモードで設定されたポートに送信する前に「タグ」情報をフレームから削除する必要があります。このタグ情報の除去により、受信するフレームにはVLANタグ情報が含まれないため、VLANトランキングプロセス全体がクライアントデバイスから隠されます。
実際にVLANを構成する前に、テストスイッチでトランクモード用のポートを構成し、スニファー(Wiresharkなど)を使用してそのポートから送信されるトラフィックを監視することをお勧めします。別のコンピューターからいくつかのサンプルトラフィックを作成し、アクセスポートに接続すると、トランクポートを出るフレームが実際にテストコンピューターによって送信されるフレームよりも大きくなることがわかります。WiresharkのフレームにVLANタグ情報が表示されます。スニッファーで何が起こるかを実際に見る価値があると思います。802.1Qのタグ付け標準を読み上げることも、この時点で適切なことです(特に、「ネイティブVLAN」や二重タグ付けなどについては話していないので)。
VLAN構成の悪夢とソリューション
建物のスペースをどんどん借りると、VLANの数が増えます。新しいVLANを追加するたびに、ますます多くのイーサネットスイッチにログオンし、そのVLANをリストに追加する必要があることがわかります。そのVLANを単一の構成マニフェストに追加して、各スイッチのVLAN構成を自動的に設定できる方法があれば素晴らしいと思いませんか?
シスコ独自の「VLAN Trunking Protocol」(VTP)や標準ベースの「Multiple VLAN Registration Protocol」(MVRP--以前のスペルはGVRP)などのプロトコルがこの機能を果たします。これらのプロトコルを使用するネットワークでは、単一のVLAN作成または削除エントリにより、ネットワーク内のすべてのスイッチにプロトコルメッセージが送信されます。そのプロトコルメッセージは、VLAN構成の変更を残りのスイッチに伝達し、残りのスイッチはVLAN構成を変更します。VTPとMVRPは、特定のポートが特定のVLANのアクセスポートとして設定されているかどうかに関係なく、すべてのスイッチにVLANの作成または削除を伝えるのに役立ちます。
VLANに慣れたら、VTPやMVRPなどのプロトコルに関連付けられている「VLANプルーニング」について戻って読むことをお勧めします。今のところ、とてつもなく心配することはありません。(WikipediaのVTP記事には、VLANプルーニングとその利点を説明する素晴らしい図があります。)
いつ実際にVLANを使用しますか?
さらに先に進む前に、不自然な例ではなく実際の生活について考えることが重要です。ここで別の答えのテキストを複製する代わりに、私の答えre:VLANを作成するタイミングを参照します。必ずしも「初心者レベル」ではありませんが、不自然な例に戻る前に簡単に参照するので、今すぐ見てみる価値があります。
"tl; dr"の群衆(とにかくすべてこの時点で確実に読み取りを停止している人)の場合、上記のリンクの要点は次のとおりです。 、ポリシーなど)。VLANを使用する他の理由はありません。
この例では、VLANを使用してブロードキャストドメインを制限し(DHCPなどのプロトコルを正常に機能させるため)、2番目に、さまざまなテナントのネットワークを分離する必要があるためです。
余談:IPサブネットとVLAN
一般的に、利便性の観点から、分離を容易にするため、およびARPプロトコルの動作方法のために、通常VLANとIPサブネットの間には1対1の関係があります。
この回答の冒頭で見たように、同じ物理イーサネット上で2つの異なるIPサブネットを問題なく使用できます。VLANを使用してブロードキャストドメインを縮小する場合、ARPと他のブロードキャストトラフィックを結合するため、同じVLANを2つの異なるIPサブネットと共有したくないでしょう。
セキュリティまたはポリシーの理由でVLANを使用してトラフィックを分離している場合は、分離の目的を無効にするため、同じVLAN内の複数のサブネットを結合することもできません。
IPは、ブロードキャストベースのプロトコルであるAddress Resolution Protocol(ARP)を使用して、IPアドレスを物理(イーサネットMAC)アドレスにマッピングします。ARPはブロードキャストベースであるため、ブロードキャストはVLAN間で転送されないため、1つのVLANのホストは他のVLANのホストからARP応答を受信できないため、同じIPサブネットの異なる部分を異なるVLANに割り当てることには問題があります。プロキシARPを使用してこの「問題」を解決できますが、最終的に、IPサブネットを複数のVLANに分割する必要がある本当に正当な理由がない限り、そうしない方がよいでしょう。
最後に:VLANとセキュリティ
最後に、VLANは優れたセキュリティデバイスではないことに注意してください。多くのイーサネットスイッチには、あるVLANから発信されたフレームを別のVLANに割り当てられたポートに送信できるバグがあります。イーサネットスイッチメーカーはこれらのバグを修正するために一生懸命努力しましたが、完全にバグのない実装が存在することは疑わしいです。
私たちの不自然な例の場合、別のテナントに無料のシステム管理「サービス」を提供するのを間近にした2階の従業員は、トラフィックをVLANに分離することで停止できます。ただし、スイッチファームウェアのバグを悪用して、トラフィックが別のテナントのVLANにも「漏出」することを許可する方法を考え出すかもしれません。
メトロイーサネットプロバイダーは、VLANタギング機能とスイッチが提供する分離にますます依存しています。VLANを使用することで提供されるセキュリティがないと言うのは公平ではありません。ただし、信頼できないインターネット接続またはDMZネットワークがある状況では、信頼できる「ファイアウォールの背後」のトラフィックも伝送するスイッチ上のVLANよりも、物理的に分離したスイッチを使用してこの「扱いにくい」トラフィックを伝送する方がおそらく良いと言えます。
レイヤー3を画像に取り込む
これまでのところ、この回答で述べられていることはすべて、レイヤー2イーサネットフレームに関連しています。レイヤー3をこれに取り込むとどうなりますか?
不自然な建物の例に戻りましょう。各テナントのポートを個別のVLANのメンバーとして構成することを選択したVLANを採用しました。各フロアのスイッチが発信元VLAN番号でタグ付けされたフレームを上下のフロアのスイッチと交換できるように、トランクポートを設定しました。1つのテナントでコンピューターを複数のフロアに分散させることもできますが、VLANを適切に構成するスキルがあるため、これらの物理的に分散されたコンピューターはすべて同じ物理LANの一部であるように見えます。
ITの業績が非常に高いため、テナントへのインターネット接続の提供を開始することにしました。太いインターネットパイプとルーターを購入します。アイデアをすべてのテナントに流し、2人がすぐに賛同します。幸い、ルーターには3つのイーサネットポートがあります。1つのポートを太いインターネットパイプに、もう1つのポートを最初のテナントのVLANへのアクセスに割り当てられたスイッチポートに、もう1つのポートを2番目のテナントのVLANへのアクセスに割り当てられたポートに接続します。各テナントのネットワークでIPアドレスを使用してルーターのポートを構成すると、テナントはサービスを通じてインターネットへのアクセスを開始します!収益が増加し、あなたは幸せです。
しかし、すぐに、別のテナントがあなたのインターネットサービスに参加することを決めました。ただし、ルーターのポートが不足しています。何をすべきか?
幸いなことに、イーサネットポートで「仮想サブインターフェイス」の構成をサポートするルーターを購入しました。つまり、この機能により、ルーターは、発信元VLAN番号でタグ付けされたフレームを受信および解釈し、通信する各VLANに適切なIPアドレスで構成された仮想(つまり、非物理)インターフェースを持つことができます。これにより、実際には、ルーター上の単一のイーサネットポートを「多重化」して、複数の物理イーサネットポートとして機能するように見せることができます。
ルーターをスイッチの1つのトランクポートに接続し、各テナントのIPアドレス指定スキームに対応する仮想サブインターフェイスを構成します。各仮想サブインターフェースは、各顧客に割り当てられたVLAN番号で構成されます。フレームがスイッチのトランクポートを離れ、ルーターにバインドされると、フレームは発信VLAN番号のタグを保持します(トランクポートであるため)。ルータはこのタグを解釈し、そのVLANに対応する専用の物理インターフェイスに到着したかのようにパケットを処理します。同様に、ルーターが要求に応じてフレームをスイッチに送信すると、フレームにVLANタグが追加され、スイッチは応答フレームが配信されるVLANを認識します。実際には、「表示」するようにルーターを構成しました
スティック上のルーターとレイヤー3スイッチ
仮想サブインターフェイスを使用すると、25以上のイーサネットインターフェイスを備えたルーターを購入しなくても、すべてのテナントにインターネット接続を販売できます。ITの成果にかなり満足しているため、テナントの2人が新しいリクエストを受け取ったときに積極的に対応します。
これらのテナントはプロジェクトの「パートナー」を選択しており、あるテナントのオフィス(特定のVLAN)のクライアントコンピューターから他のテナントのオフィス(別のVLAN)のサーバーコンピューターへのアクセスを許可します。これらは両方ともインターネットサービスの顧客であるため、コアインターネットルーター(これらのテナントのVLANごとに構成された仮想サブインターフェイスがあります)のACLをかなり単純に変更するだけで、VLAN間でトラフィックが流れるようになりますVLANからインターネットへ。変更を行い、テナントを途中で送ります。
翌日、1つのオフィスのクライアントコンピューターから2番目のオフィスのサーバーへのアクセスが非常に遅いという苦情を両方のテナントから受け取ります。サーバーとクライアントコンピューターはどちらもスイッチへのギガビットイーサネット接続を備えていますが、ファイルは45Mbps程度でしか転送されません。これは偶然、コアルーターがスイッチに接続する速度の約半分です。明らかに、送信元VLANからルーターに流れ、ルーターから宛先VLANに戻るトラフィックは、ルーターのスイッチへの接続によってボトルネックになっています。
コアルーターで行った、VLAN間のトラフィックのルーティングを可能にすることは、一般的に「スティック上のルーター」(ほぼ間違いなく気まぐれなe曲表現)として知られています。この戦略はうまく機能する可能性がありますが、トラフィックはVLANの間でルーターへのスイッチへの接続の容量までしか流れることができません。何らかの理由で、ルーターをイーサネットスイッチ自体の「内臓」と結合させると、トラフィックをさらに高速にルーティングできます(イーサネットスイッチ自体は、製造元の仕様書に従って、2 Gbpsのトラフィックを切り替えることができるため)。
「レイヤー3スイッチ」は、論理的に言えば、ルーター自体が内部に埋め込まれたイーサネットスイッチです。レイヤー3スイッチを、スイッチ内に隠れた小さくて高速なルーターを持つものと考えると、非常に役立ちます。さらに、ルーティング機能を、レイヤー3スイッチが提供するイーサネットスイッチング機能とは明確に分離した機能として考えることをお勧めします。レイヤー3スイッチは、すべての意図と目的のために、単一のシャーシにラップされた2つの異なるデバイスです。
レイヤー3スイッチの組み込みルーターは、通常、ワイヤースピードまたはそれに近いVLAN間のパケットのルーティングを可能にする速度で、スイッチの内部スイッチングファブリックに接続されます。「スティックオンルーター」で設定した仮想サブインターフェースと同様に、レイヤー3スイッチ内のこの組み込みルーターは、各VLANへの「アクセス」接続であるように見える仮想インターフェースで設定できます。仮想サブインターフェースと呼ばれるのではなく、これらのVLANからレイヤー3スイッチ内の組み込みルーターへの論理接続は、スイッチ仮想インターフェース(SVI)と呼ばれます。実際、レイヤー3スイッチ内の組み込みルーターには、スイッチ上の任意のVLANに「プラグイン」できる「仮想ポート」がいくつかあります。
組み込みルーターは、物理ルーターと同じように機能しますが、通常、物理ルーターと同じ動的ルーティングプロトコルまたはアクセス制御リスト(ACL)機能のすべてを備えているわけではありません(本当に素晴らしいレイヤー3を購入した場合を除く)スイッチ)。ただし、組み込みルーターには、非常に高速であり、プラグインされている物理スイッチポートに関連するボトルネックがないという利点があります。
「パートナー」テナントを使用したこの例の場合、レイヤ3スイッチを取得し、両方のカスタマーVLANからのトラフィックが到達するようにトランクポートに接続し、IPアドレスとVLANメンバーシップでSVIを設定することを選択できます。両方のカスタマーVLANに「表示」されます。それが完了したら、コアルーターのルーティングテーブルとレイヤー3スイッチの組み込みルーターを微調整するだけで、テナントのVLANの間を流れるトラフィックが、レイヤー3スイッチ内の組み込みルーターと「スティック上のルーター」。
レイヤー3スイッチを使用することは、スイッチを相互接続するトランクポートの帯域幅に関連するボトルネックがまだないことを意味しません。ただし、これは、VLANがアドレス指定するものとは直交する問題です。VLANは帯域幅の問題とは関係ありません。通常、帯域幅の問題は、高速のスイッチ間接続を取得するか、リンク集約プロトコルを使用して複数の低速接続を仮想高速接続に「結合」することで解決されます。後の3つのスイッチ内の組み込みルーターによってルーティングされるフレームを作成するすべてのデバイスが、レイヤー3スイッチのポートに直接接続されていない限り、スイッチ間のトランクの帯域幅を心配する必要があります。レイヤー3スイッチは万能薬ではありませんが、通常は「
ダイナミックVLAN
最後に、一部のスイッチには動的VLANメンバーシップを提供する機能があります。特定のポートを特定のVLANのアクセスポートとして割り当てるのではなく、デバイスの接続時にポートの構成(アクセスまたはトランク、およびそのVLAN)を動的に変更できます。ダイナミックVLANはより高度なトピックですが、機能が存在することを知っておくと役立ちます。
機能はベンダーによって異なりますが、通常、接続されたデバイスのMACアドレス、デバイスの802.1X認証ステータス、独自の標準ベースのプロトコル(CDPやLLDPなど)に基づいて動的なVLANメンバーシップを構成して、IP電話を許可できます音声トラフィックのVLAN番号を「発見」)、クライアントデバイスに割り当てられたIPサブネット、またはイーサネットプロトコルタイプ。