仮想スイッチの仕組み

1. 仮想スイッチの概要

1.仮想スイッチの紹介

スイッチ (Virtual Switch) とは、仮想スイッチまたは仮想ネットワーク スイッチを指し、レイヤー 2 データ ネットワークで動作し、物理スイッチのレイヤー 2 (およびレイヤー 3 の一部) ネットワーク機能をソフトウェアによって実現します。

従来の物理スイッチと比較して、仮想スイッチには次の利点があります。

  1. 柔軟な構成と強力なスケーラビリティ。通常のサーバーは、数十または数百の仮想スイッチで構成でき、ポート数は最大 56 まで柔軟に選択できます。
  2. 低コスト、高性能。仮想スイッチングは、Microsoft の Hyper-V 仮想化プラットフォームなどの高価な物理スイッチでしか実現できないパフォーマンスを実現できることが多く、仮想マシンと仮想スイッチ間の接続速度は簡単に 10 Gbps に達します。

仮想ネットワーク スイッチを設計するために、トラフィックを物理ネットワーク要素から分離する仮想アプライアンスを採用することにより、ソフトウェア抽象化レイヤーが導入されます。これらの仮想デバイスを通じて、仮想化されたネットワーク リソースを合理的かつ動的に管理し、これらの仮想ネットワーク要素を効果的に統合できます。

仮想化されたサーバー内の仮想ネットワーク リソースは、限られた数の物理ネットワーク インターフェイスを共有する必要があります. 独立した仮想スイッチには 1 つ以上の仮想ネットワーク インターフェイスがあり、これらのインターフェイスを介して仮想ネットワーク ブリッジに接続されます.

内部仮想スイッチ間のネットワーク トラフィックは、実際の物理ネットワーク インターフェイスの代わりに仮想ブリッジを介して直接送信できます。または、内部仮想スイッチと外部仮想スイッチ間のネットワーク トラフィック交換は、基盤となる物理ネットワーク インターフェイスを介して実現できます。

ユーザーの観点からは、各仮想スイッチング デバイスは完全なネットワーク スイッチング デバイスのすべての特性を示し、物理スイッチング デバイスのすべての機能を完了できます。

スイッチ ソフトウェア プラットフォームの場合、各仮想スイッチング デバイスには次の特性があります。

  1. 独立した構成プレーンがあります。各仮想スイッチング デバイスには、独自の独立したユーザー管理システム、ユーザー アクセス端末、および構成ファイルがあり、他の仮想デバイスに影響を与えることなく個別に再起動できます。
  2. 独立したコントロール プレーンがあります。各仮想スイッチング デバイスは、独立したユーザー状態プロセスを開始し、独自の独立したユーザー状態データを持ち、クロス仮想デバイス通信なしで互いに独立しています。
  3. 独立したフォワーディング プレーンを備えています。各仮想デバイスには、独自の独立した隣接テーブルと MAC テーブルがあります。パケット転送作業を独立して完了することができ、転送プロセス中に他の仮想デバイスと通信する必要はありません。
  4. 提供されている転送制御機能と管理サービスから転送処理をプログラム可能なメカニズムによって分離します。つまり、転送機能のハードウェア (スイッチング ファブリックや転送エンジンなど) を転送制御ソフトウェア (ルーティング制御、プロトコルなど) から分離します。制御およびサービス制御) 比較的独立したスイッチング、制御、および管理プレーンを形成します。また、対応するレベルのプログラマブル インターフェースを開き、これらのプログラマブル インターフェースを介して対応する交換サービスを形成し、交換サービスを制御および管理します。
  5. スイッチングと制御と同様に、機能を実装から分離することで、柔軟性が大幅に向上し、通信ハードウェアとソフトウェアの開発者が製品を個別に開発できるようになります。通信ハードウェア メーカーは、スイッチング ハードウェアを開発し、基盤となるリソースまたは機能制御インターフェイスを提供します。通信ソフトウェア メーカーまたはサービス プロバイダーは、制御ソフトウェアを提供して、プログラム可能なインターフェイスを介してスイッチング ハードウェアを制御および管理し、アプリケーションまたはユーザーが必要とするスイッチングを柔軟かつ効果的に構成できます。たとえば、既存のスイッチング機器の転送およびルーティング制御は、2 つの異なるプレーンに配置されています。ルーティング制御はコントロール プレーン部分に属し、フォワーディングはトランスポート プレーン部分に属します。2 つの分離は、より大きな柔軟性を提供し、デバイスのスイッチング機能とパフォーマンスを効果的に改善しますが、これはスイッチング デバイスの予備的な分離にすぎません。さらに、スイッチングと制御の分離は、独自の独立した開発に役立ちます。 . 仮想スイッチのプログラム可能な制御と拡張の基礎となるテクノロジ (転送メカニズムやルーティング アルゴリズムなど)。

仮想スイッチのネットワーク サービスおよびアプリケーション環境の観点から、次の特徴があります。

  1. 仮想スイッチは、さまざまなネットワーク スイッチング制御サービスと新しいサービスの拡張を実現し、複数のタイプのスイッチング サービスを形成する機能を提供することで、音声、ビデオ、データなどの統合 IP ネットワーク サービスを実現するための新しいテクノロジーと基盤を提供します。
  2. 新しい仮想スイッチ アーキテクチャと制御メカニズムは、さまざまなネットワークまたはアプリケーション環境でサービスを動的に導入し、新しいサービスをタイムリーかつ迅速に形成して、さまざまなアプリケーションや新しいアプリケーションの要件に適応することができます。
  3. 仮想スイッチは、スイッチング機器のハードウェア メーカーがリソースおよび機能制御インターフェイスを提供できる基盤となるハードウェアを開発するのを支援し、通信ソフトウェア メーカーがスイッチング機器上で動作するさまざまなスイッチング サービス制御および拡張処理コンポーネント モジュールを設計および構築するのをサポートし、ネットワーク ビルダーをサポートします。ユーザーのニーズに応じて必要なスイッチング サービスを提供し、新しいビジネスおよびマルチサービス スイッチング環境を提供し、音声、ビデオ、およびデータ サービスをサポートする適応スイッチング機能の迅速な確立と制御管理を通じて、プログラム可能なネットワーク環境を提供します。 基本的なサポートを提供します。
  4. 仮想スイッチを使用すると、ネットワーク サービス プロバイダーは安全で制御可能なメカニズムを使用して、プログラマブル インターフェイスを介してルーター リソースにアクセスし、環境、アルゴリズム (ルーティング プロトコルやスケジューリング アルゴリズムなど)、または状態 (ルーティング テーブルやデータ フローのソフト状態など) を制御できます。プログラミング制御交換機の転送サービス機能。開発する特定の機能またはサービス モジュールを交換機に組み込み、拡張機能を提供し、複数の交換サービス転送および制御構造 (IP 電話、IP ビデオ サービス、および VPN など) を柔軟に提供できる統合仮想交換機制御環境を形成します。など)。
  5. スイッチ システムの仮想化は、オペレーティング システムの仮想化テクノロジを使用します. たとえば、Linux システムには、さまざまなオペレーティング システム レベルの仮想化ソリューションがあり、タスク スケジューリング、プロセスの名前空間、メモリ制限などの機能を提供します。プログラミング仕様を投影する 仮想化プログラミング インターフェイス。
  6. 分散型スイッチ デバイスには複数のボードが含まれており、各ボードは、CPU、インターフェイス、メモリなどの独自のハードウェア リソースを備えた個別のノードです。仮想デバイスを作成するとき、システムは各仮想デバイスの操作をサポートするために必要なハードウェア リソースを確保します. 仮想デバイスを初期化するとき、システムは各仮想デバイスの操作をサポートするために一連のプロセスを実行します.
  7. 仮想デバイスは、インターフェイス、CPU、メモリなどのハードウェア リソースを個別に所有し、ルーティングおよび転送エントリを個別に維持し、レイヤ 2 およびレイヤ 3 転送を実行します。また、独立した管理者とアクセス ユーザーがいて、独自の構成ファイルを使用して、他の仮想デバイスに影響を与えずに独立して再起動できます。

仮想スイッチと物理スイッチング デバイスのいくつかの対応するモデルを下の図に示します。これらは、実際のアプリケーションの要件に従って選択できます。

仮想スイッチの確立と管理には、統一された仮想ソフトウェアのサポートが必要であり、仮想ソフトウェアの制御下で、物理スイッチング デバイスを柔軟かつ効率的に構成し、上位層の要件に従って仮想スイッチとして編成することができます。このようにして、ハードウェア機器の使用率を大幅に向上させることができ、大きなものを小さなものに変えることができ、小さなものを大規模に蓄積することができます。 

2. 仮想スイッチの問題

仮想スイッチが解決する必要がある主な問題は次のとおりです。

  1. Distributed Switch デバイスで仮想デバイスを作成、削除、起動、停止、再起動する方法、リソースを割り当てる方法など。完全な仮想デバイスには、各ボードに対応するサブシステムが必要です。これにより、各仮想デバイスに対応するボードがあり、仮想分散デバイスが形成されます。
  2. 効果的で柔軟な仮想スイッチ アーキテクチャ フレームワークを確立する方法: 仮想スイッチ構造には、特定のレベルの階層とモジュール化が必要です。これにより、転送サービスとその制御コンポーネントがより明確で柔軟になり、実現と柔軟性に役立ちます。サービス制御。
  3. リソースの仮想化: スイッチング機器の転送リソースの仮想化の目的は、転送機能のハードウェア実装の詳細、およびパケット スケジューリングやキュー管理などの機能のアルゴリズム実装の詳細を隠すことです。つまり、ルーターの基礎となるリソースまたは機能を抽象化して、特定の実装の詳細を隠し、十分に効果的なプログラミング参照および制御メカニズムを提供します。リソースの仮想化は、スイッチング デバイスの基盤となるリソースのソフトウェア抽象化レイヤーを形成し、異なるスイッチング デバイスのハードウェア実装の違いを保護します。これは、リソース セグメンテーションの基礎であり、仮想転送サービスの基礎です。
  4. リソースの分割 (割り当て) と管理: つまり、リソースを効果的に分割 (割り当て) し、複数の種類 (単位) の仮想転送サービスのリソースの使用を制御する方法 (動的なスケジューリングやリソースの調整を含む)。リソースの割り当てと管理では、リソース使用の柔軟性と有効性を考慮する必要があります。リソースの分割と管理では、さまざまな仮想転送サービスの要件に対応するリソース保証を提供し、サービスの変更に応じてリソースを動的に調整できる必要があります。リソースまたはサービスの調整サイクルの設定と調整戦略は、解決する必要がある問題です。

解決する必要があるその他の主要な問題には、仮想マルチサービス転送をサポートするスケジューリング アルゴリズム、分類およびアドミッション制御メカニズム、仮想スイッチでのマルチタイプ スイッチング サービスの監視 (さまざまなアプリケーション フローの負荷とリソース条件)、および管理メカニズムが含まれます。さまざまなスイッチング サービスを構成、展開、および制御するための同時実行方式およびテクノロジのサポート。

仮想スイッチの欠点:

  1. いくつかの高度な管理機能が欠けており、Telnet を使用して実際の構成管理のためにスイッチに接続することはできません。また、高度な仮想スイッチ コマンド ライン インターフェイスを備えておらず、特定の操作を実行するために異なるコマンドしか使用できません。
  2. 物理スイッチへの直接接続はなく、物理スイッチの専用物理回線またはポートに問題がある場合、1 つのサーバーのみが影響を受けます。しかし、仮想化環境では10台以上の仮想マシン(VM)が1回線に接続されることがあり、問題により複数のVMの接続が途切れる可能性があります。また、複数の VM を接続するにはより多くの帯域幅が必要であり、これは仮想スイッチで処理する必要があります。
  3. 通常、ネットワーク チームは仮想化環境への管理アクセス権を持っていません。実際、仮想化によって、トラフィックの可視性の制限、新しいネットワーク ポリシーの実装の必要性、仮想スイッチとネットワーク構成の手動修正、VM 移行 I/O など、多くの新しいネットワークの問題が発生します。帯域幅のプレッシャーなど; さらに、仮想化は仮想化管理とネットワーク管理の間の競合も引き起こします。
  4. 同じホスト上の VM 間のトラフィックはサーバーを出て物理ネットワークに入らないため、ネットワーク チームがこのトラフィックを監視または管理することは困難です. 可視性の欠如は、ネットワーク ファイアウォール、QoS、ACL、および侵入検知システムも意味します. (IDS) )、情報保護システム (IPS) は物理ネットワークのデータ転送を監視できません。
  5. 管理者は、ホストの物理ネットワーク インターフェイス カードのアップリンク ポートのみを制御できますが、仮想スイッチに存在する多数の仮想ポートを制御することはできません。

これらの問題に対処するために、ネットワーク チームは、Reflex System の Virtual Management Center、Altor Networks の Virtual Firewall、Catbird の vSecurity など、新しいネットワーク管理手段とセキュリティ製品を必要としています。これらはすべて、仮想ネットワーク トラフィックのセキュリティ、監視、および制御機能をホストするように設計されています。 .

2. 仮想スイッチの動作原理

1. 仮想スイッチの動作原理

物理スイッチは、主に中央処理装置、ランダム アクセス メモリ、およびオペレーティング システムを含む専用の特別なコンピューターに似ており、特別に設計されたチップ ASIC を使用して、スイッチがすべてのポートでライン レートで並列にデータを転送できるようにします。

仮想スイッチは、ソフトウェアを使用してこれらのハードウェア デバイスとチップ ロジックの機能を機能的な観点から実装します。着信データ フレームを分析し、フレームに含まれる情報に基づいて転送決定を行い、データ フレームを宛先に転送します。 .

1. 仮想スイッチのワークフロー

仮想スイッチは、物理スイッチのワークフローを完全にシミュレートします。つまり、データ パケット内の MAC アドレス情報を読み取ります。次に、MAC アドレスに従って転送し、これらの MAC アドレスと対応するポートを内部アドレス テーブルに記録します。

具体的なワークフローは次のとおりです。

  1. 仮想スイッチが特定のポートからデータ パケットを受信すると、最初にパケット ヘッダーの送信元 MAC アドレスを読み取り、送信元 MAC アドレスを持つマシンがどのポートに接続されているかを知ることができます。
  2. パケット ヘッダーのターゲット MAC アドレスを読み取り、アドレス テーブルで対応するポートを検索します.テーブルにターゲット MAC アドレスに対応するポートがある場合は、データ パケットを直接ポートにコピーします.そうでない場合は、すべてのポートにブロードキャストします. ターゲット マシンがソース マシンに応答すると、スイッチはターゲット MAC アドレスが対応するポートを学習できるため、次回データを送信するときにすべてのポートにブロードキャストする必要はありません。

2. アドレス マッピング テーブル

1) 学習プロセス

仮想スイッチは、各 MAC アドレスのワークステーションがどこにあるかを学習し、各ポートのすべてのネットワーク トラフィックを監視し、各フレームの送信元 MAC アドレスと、そのフレームの監視ポートを記録して学習します。アドレス マッピング テーブルに追加されます。

フレームを受信すると、次のように転送されます。

  • フレームの宛先アドレスがフィルター テーブルにあり、フレームの送信元ポートから到達できる場合、フレームは破棄されます。
  • フレームの宛先アドレスがフィルター テーブルにあり、その出力ポートが送信元ポートと異なる場合、フレームはこのポートを介して転送されます。
  • フレームの宛先アドレスがフィルタ テーブルにない場合、フレームは送信元ポートを除くすべてのポートを介して転送されます。

2) エージングタイムに対処する

物理スイッチが MAC アドレスを学習するたびに、「アドレス エージング タイム」と呼ばれるアドレス エントリに関連するタイマーが開始されます。このアドレスを持つステーションがフレームの送信を停止すると、そのエントリはタイムアウトになり、テーブルから削除されます。

仮想スイッチは、ソフトウェア メカニズムを使用してエミュレータの状態を検出できます. エミュレータが切断されると、対応するエントリが直接削除されるため、アドレス エージング タイムを実装する必要はありません.

3) 静的アドレス マッピング エントリ

物理スイッチのアプリケーションでは、一部のホストに固定的に接続される場合があります.転送速度と安全制限を高速化するために、静的アドレスマッピングテーブルエントリがスイッチに構成され、エントリは決して古くなりません.

当分の間、仮想スイッチにはそのような要件がないため、静的エントリの構成は実装されていません。将来のアプリケーションで必要な場合は、この機能モジュールを追加。

3. 転送技術

フォワーディング テクノロジとは、スイッチがデータの転送方法を決定するために使用するメカニズムを指します。

1)カットスルー技術(Cut-through)

カットスルー フォワーディング テクノロジーを使用するスイッチは、データ フレームの宛先アドレスを認識すると、データ フレームを保存せずに宛先ポートにデータ フレームを送信し始めます。通常、スイッチはデータ フレームの最初の 6 バイトを受信したときに宛先アドレスをすでに認識しているため、転送先のポートを決定できるため、スイッチはデータ フレーム全体を受信する前にデータの転送を開始できます。

ストレート スルー フォワーディング テクノロジーの利点は、転送速度が速く、遅延が減少し、全体的なスループットが向上することです。欠点は、スイッチがデータを完全に受信して正確性をチェックする前に、すでにデータの転送を開始していることです。データパケット。このように、通信品質が低い環境では、スイッチはブロードキャスト ストームと同様に、すべての完全なデータ パケットとエラー データ パケットを転送します。カットスルー フォワーディング テクノロジーは、ネットワーク リンクの品質が高く、エラー パケットが少ないネットワーク環境に適しています。

2) ストア アンド フォワード技術 (Store and Forward)

ストア アンド フォワード技術は、コンピュータ ネットワークの分野で最も広く使用されている技術の 1 つです. イーサネット スイッチのコントローラは、最初に入力ポートに到着したデータ フレームをバッファリングし、次にそれが正しいかどうかをチェックし、競合するフレーム エラーをフィルタリングします。フレームが正しいことを確認した後、フレームを送信します。

ストア アンド フォワード テクノロジーでは、データ処理の遅延が大きくなりますが、スイッチに入るデータ フレームのエラーを検出できます。また、速度の異なるポート間の変換をサポートし、高速ポートと低速ポート間の協調作業を維持することで、ネットワーク パフォーマンスを効果的に向上させることができます。

仮想スイッチの転送方法を選択するときは、パフォーマンスと機能の 2 つの側面を考慮する必要がありますが、カットスルー転送方法がより効率的です。すべてのエラー フレームが処理のためにコントローラに渡されると、コントローラの効率が低下します。システムの全体的な効率と正確さから、ストア アンド フォワード モードを選択できます。

4. レイヤ 2 物理スイッチと仮想スイッチ間の機能リファレンス

レイヤ 2 物理スイッチと仮想スイッチ間の機能リファレンスを次の表に示します。

各分割仮想スイッチは、物理スイッチのストレージと転送、データ フレームの解析、および MAC アドレス マッピング テーブルのメンテナンスの機能をシミュレートします。さらに、仮想スイッチはソフトウェアによってシミュレートされるため、内部の分割仮想スイッチ間の分離と通信が実現されます。ポートと物理通信リンクをエミュレートし、仮想 MAC アドレスを分割仮想スイッチに割り当てる必要があります。

さらに、複数の仮想スイッチが物理スイッチ内でネットワーク トポロジを形成するため、ネットワーク トポロジを最適化するためにスパニング ツリー プロトコルをシミュレートする必要があります。 

2. 仮想スイッチのセグメンテーションと分離メカニズム

仮想スイッチのセグメンテーションと管理には、統一された仮想ソフトウェアのサポートが必要であり、物理スイッチは、仮想ソフトウェアの制御下で、上位層の要件に従って仮想スイッチを柔軟かつ効率的に構成できます。

ソフトウェア シミュレーション プラットフォームによって分離された仮想スイッチは、物理スイッチのカーネル プロセス モジュールによってシミュレートされます.ここで言及する必要があるのは、システムが要件に応じて分割するために必要な仮想スイッチの数は制限されており、無限に分割することはできないということです. . 仮想スイッチの作成方法には、デフォルト仕様とカスタム仕様の 2 通りがあります。

1. デフォルト仕様

システムは、要件に従って必要な数の仮想スイッチを分割し、分割された仮想スイッチの数に応じて、CPU、メモリ、ストレージ、および物理ポートを含む物理スイッチのリソースを均等に分配します。

仮想スイッチ間の接続は、デフォルトのネットワーク トポロジを採用し、仮想ポートと仮想リンクを介して通信し、仮想ポートのステータスを設定して仮想スイッチ間を分離します。同時に、仮想 MAC アドレスがランダムに生成され、各仮想スイッチに割り当てられます。 .

2. カスタム仕様

システムは要件に従って必要な数の仮想スイッチを分割し、分割された仮想スイッチのさまざまなリソース要件に従って、CPU、メモリ、ストレージ、物理ポートなど、物理スイッチのさまざまなリソースを割り当てます。

仮想スイッチ間の接続は、自己定義のネットワーク トポロジを採用し、仮想ポートと仮想リンクを介して通信し、仮想ポートの状態を設定して仮想スイッチ間を分離し、同時に仮想 MAC アドレスをランダムに生成して割り当てます。各仮想スイッチに。

3. 仮想スイッチ機能シミュレーション

1. アナログ通信リンク

物理スイッチ内の仮想スイッチ間に実際の物理的なリンクはなく、物理スイッチの観点からは、分離された仮想スイッチは独立して実行されるプロセスにすぎません。したがって、仮想スイッチ間の通信リンクの確立は、プロセス間通信の観点から考慮する必要があり、共有メモリは最も効率的なプロセス間通信方法です。つまり、カーネルがメモリ領域を予約し、アクセスが必要なプロセスがそのメモリ領域をプライベート アドレス空間にマップして、複数のプロセス間で情報を交換できるようにします。プロセスはデータをコピーする必要がなく、このメモリを直接読み書きするだけで、効率が大幅に向上します。

分割された仮想スイッチは、同じ物理スイッチに属します. 物理スイッチの場合、それらは 2 つの等しいプロセスです. 共有メモリ方式は、次の図に示されています.

2. 仮想スイッチ ポート

1) 物理スイッチポートの機能

物理スイッチには、内部スイッチング マトリックスと、すべてのポートが接続されている高帯域幅の内部バスがあります。コントロール プラットフォームは、データ フレームを受信すると、メモリ内の MAC アドレス マッピング テーブルを検索して、宛先 MAC アドレスがどのポートに対応するかを判断し、内部スイッチングを介して宛先ポートにデータ項目を正確かつ高速に送信します。マトリックス。

MAC アドレス マッピング テーブルの検索時に宛先 MAC アドレスが存在しない場合、スイッチはこのデータ項目をデータ項目の送信元ポートを除くすべてのポートにブロードキャストします。ポートが応答情報を受信すると、MAC アドレスとポートの対応関係が確立され、MAC アドレス マッピング テーブルに追加されます。

物理スイッチのすべてのポートが排他的にチャネル帯域幅を共有するため、各ポートからの高速で効率的なデータ転送が保証されます。スイッチは、送信されたデータ フレームの宛先 MAC アドレスと MAC アドレス マッピング テーブルを比較し、送信元ポートから宛先ポートに各データ フレームを個別に送信します。すべてのポートに送信する代わりに、他のポートとの競合を回避します。物理スイッチの各ポートはデータ フレームを個別に送信するため、衝突ドメインが分離されるため、エンティティのスループットが大幅に向上します。

2) 仮想スイッチポートの機能

仮想スイッチには 2 種類のポートがあり、1 つは物理スイッチ自体が所有する物理ポートで、もう 1 つは仮想スイッチ間の通信と分離に使用される仮想ポートです。この 2 つのポートが実現する機能は基本的に同じであり、両方を使用してリンク接続を確立します。

以下の表に示すように、機能シミュレーションの実装方法のみが異なります。 

仮想スイッチは、MAC アドレス マッピング テーブルを内部的に構築して、宛先 MAC アドレスとポートの間の対応するマッピング関係を確立し、この対応関係を使用してブロードキャストを回避し、競合ドメインを分離します。

3. 仮想 MAC アドレス

ハードウェア サポートがないため、分割された仮想スイッチには MAC アドレス ID がありません。2 層の基本スイッチは、スイッチング プロセス中にデータ フレームを転送するだけで、送信元 MAC アドレスと宛先 MAC は両方ともエンドポイントの MAC アドレスであり、スイッチ自体の MAC アドレスは関与しません。スイッチがネットワーク管理を実装し、IEEE 802.1Q VLAN 機能または IEEE 802.1d スパニング ツリー プロトコル (スパニング ツリー プロトコル、STP) 機能 (ブリッジ ID の形成に使用) をサポートする場合、スイッチには MAC アドレスが必要です。 

仮想 MAC アドレスの原則に従う必要があります。つまり、ネットワーク全体で使用されている MAC アドレスとの競合を回避する必要があります。分割された仮想スイッチはすべて物理スイッチ内にあるため、ローカル管理用の MAC アドレスを仮想化するだけで済みます。これにより、6 バイトのアドレス フィールドで構成される、使用されている MAC アドレスとの重複が回避されます。

IEEE の登録管理委員会 RAC は、アドレス フィールドの 6 バイトの最初の 3 バイトを割り当てる責任があります. これらの 3 バイトは「Organization Unique Identifier」(Organization Unique Identifier, OUI) と呼ばれます; アドレス フィールドの最後の 3 バイトは最初のバイトはメーカーによって割り当てられ、「拡張識別子」と呼ばれます。

IEEE は、アドレス フィールドの最初のバイトの最下位 2 番目のビットをグローバル/ローカル (G/L) ビットと定義し、1 はグローバル管理を意味し、メーカーが IEEE から購入した OUI はグローバル管理に属し、0 はローカル管理です。このとき、ユーザーは必要に応じてネットワーク内のアドレスを割り当てることができます. 48 ビット MAC アドレスのバイナリ表記は、下の図に示されています.

IEEE による G/L ビットの設定に従い、ローカル管理に使用する MAC アドレスを使用して、仮想スイッチの仮想 MAC アドレス、つまり組織固有の識別子 OUI の最初の 3 バイトを 00-00 に設定します。 -00; 最後の 3 バイト 00-00-01 から始まる、システム自体によって割り当てられた拡張識別子であり、仮想 MAC アドレスは繰り返しなしで順次生成されます。 

4. 仮想スイッチングクラスタ技術

仮想スイッチ クラスタ (VSC) テクノロジは、VSC 相互接続ポートを介して複数のスイッチ デバイスを接続し、仮想化統合後に大容量の仮想論理デバイスを形成できます (下図を参照)。

VSC は、独立して実行できる複数のデバイスを 1 つのデバイスに結合し、デバイス メンバーを動的に追加または削除できます。VSC ポートを介してリンクされたこれらの VSC メンバーは、トポロジ検出プロトコルを介して他のメンバーを検出し、特定のメカニズムを介してマスター デバイスを選択できます。他のデバイスは転送の役割として機能します。これは、デバイスの拡張に相当します。VSC は、より多くのインターフェイス ボード、インターフェイス、およびサービスをサポートし、機器レベルの冗長性バックアップと機器の信頼性を提供します。 

VSC 仮想化テクノロジは、下図に示すように、独自のソフトウェア アーキテクチャに基づいて VSC 仮想化レイヤーを追加します。

このVSC仮想化レイヤーは、仮想デバイスと実際の物理デバイスの違いをシールドします. 単一の実行中の物理デバイスまたはVSCによって仮想化された論理デバイスの場合、上位層のソフトウェアを変更する必要はなく、その新しい機能を同時に適用することができます.すべてのハードウェア機器。

VSC 仮想化レイヤーの主な機能は、VSC システムのトポロジーと役割の選択を自動的に収集し、デバイス グループを 1 つの論理デバイスに仮想化することです。上位層のソフトウェアが認識するのは 1 つのデバイスだけです。

データセンターとキャンパス ネットワークで VSC テクノロジを使用すると、ネットワーク アグリゲーションとコア レイヤーを水平方向に統合し、複数の冗長デバイスを 1 つの論理デバイスに仮想化して、ネットワーク管理および転送ノードを形成できます。同時に、ループが排除され、バンドルされたリンクの高帯域幅で信頼性の高いアップリンクが形成されます。

VSC アプリケーション図を下図に示します。

VSC テクノロジーを使用してメッシュ キャンパス ネットワークを仮想化し、非常にシンプルなアーキテクチャを形成します. ネットワークの各レイヤーは、バンドルされた単一の論理リンクを介して相互接続され、ループを排除します. アクセス層で複雑なスパニング ツリー プロトコルを設計する必要はなくなり、単一の論理ノードになるクライアント アクセス ゲートウェイで VRRP プロトコルを実行する必要もなくなりました。

VSC テクノロジは、高価な仮想化制御ボードを購入することなく、スイッチの共通インターフェイスに実装できます。シンプルな構成でネットワーク構成を簡素化できるため、ネットワークの運用や保守・拡張に便利です。VSC仮想化テクノロジーを使用すると、メンバー デバイスの数を増やすだけでVSCシステムのポート数、帯域幅、および処理能力を簡単に拡張できるため、ネットワーク全体の容量とパフォーマンスが大幅に向上します。ネットワーキング時のオリジナル機器。VSCシステムを形成するには、新しい機器と元の機器を追加するだけでよく、ユーザーの最初の投資を十分に保護します。

VSC テクノロジは、リンク レベル、機器レベル、ネットワーク レベルで高い信頼性を保証することもでき、ユーザーのネットワークを強固なものにします。 

5. フローベースの仮想スイッチング技術

フローベースのネットワーク スイッチング テクノロジは、ソフトウェア定義のネットワーク方式を採用した効果的なネットワーク スイッチング ソリューションを提供します。これにより、ユーザーは基盤となるハードウェアの特定の条件を無視し、トラフィックを直接管理し、特定の方法でネットワークを通過するようにデータ パケットを設定できます。

ネットワーク TCP/IP プロトコルのデータリンク層ブリッジング原理とネットワーク層プロトコルの設計思想を利用し、ソフトウェア実装とハードウェアを組み合わせて既存のネットワーク構造を再定義し、ソフトウェアを使用して物理デバイスを統一的に管理します。実装。システムに仮想スイッチング レイヤーを実装すると、効率的な伝送機能に加えて、クラウド インフラストラクチャ ネットワークにインテリジェントな監視サービスを提供することもできます。

ソフトウェアの実装は、強力なスケーラビリティ、柔軟性、およびモビリティを備えており、システムの拡張に便利です。

1. フロー パケット スイッチングの階層

フロー パケット スイッチングは、物理スイッチング デバイス仮想化とネットワーク プロトコル レイヤ仮想化の 2 つのレイヤに分割されます。

1) 物理デバイスの仮想化

物理デバイスの仮想化とは、ソフトウェアを使用してネットワーク カード デバイスを抽象化し、ユーザー レベルのソフトウェアを使用して物理ネットワーク カードを論理的に分割することです。分割されたデバイスは、トラフィック制御と負荷分散戦略を実装するだけでなく、デバイス リソースを効率的に使用することもできます.仮想ネットワーク カードは、物理ネットワーク カードと同じ機能を備えています. ハードウェアで実装されたリソース分割は、動的に拡張することは容易ではありません。ソフトウェア仮想化の後、要件に応じてリソースを動的に分割できます。
1 つ以上の排他的な物理デバイスは、複数のユーザー プロセスが同時に使用できるように、仮想テクノロジによって少なくとも 1 つの論理デバイスに仮想化されます. この仮想デバイスは通常「仮想デバイス」と呼ばれ、実際の物理デバイスと一致する必要があります. バインドすることができます利用される。

仮想スイッチング デバイスの管理は 2 つの部分に分かれています。1 つの部分はユーザー モードの仮想プラットフォーム管理で、スイッチング デバイスの状態を構成および表示するために使用できます。ユーザーは仮想スイッチングの属性ファイルを表示および変更できます。カーネルによって直接管理されるプログラミング管理は、主に物理スイッチング デバイスの操作とデータ通信を担当します。

2) ネットワークプロトコル層の仮想化

ソフトウェア抽象化の柔軟性を利用してデータリンク層とネットワーク層構造を再定義し、仮想管理層を導入してデータリンク層とネットワーク層を実現します。つまり、下の図に示すように、従来から定義されている OSI 7 層プロトコルのネットワーク層と物理リンク層が仮想ネットワーク層に圧縮されます。

このようにして、データリンク層とネットワーク層のデータを1つのデータフローに統合することができ、ネットワーク構造をフラット化します。仮想ネットワーク層を通過する各データメッセージは注目され、このデータメッセージにはリンク層とネットワーク層の情報が含まれており、各データメッセージは基本的に論理リンクに従って正確に分類できます。

ネットワーク内のデータ パケットは、1 つずつデータ フローに編成できます. これの利点は、ユーザーが、QoS ポリシーのカスタマイズ、データ パケットの検出と分離、ネットワーク ロード バランシングなど、ニーズに応じて各データ フローの属性を定義できることですなど。

フロー分類に基づくパケットは、物理リンク層でスパニング ツリー プロトコルを実行する必要がなくなるため、データ パケットの転送遅延が減少し、ネットワークのトラフィック負荷が軽減されます。 

2. フロー パケット スイッチング

フローベースのパケット交換技術の適用は、既存のネットワーク プロトコルを変更する必要がなく、すべての交換作業はカーネル プロトコル スタックで完了するため、データ交換の効率が大幅に向上します。ただし、現在処理されているデータ パケットがどのデータ フローに属しているかを識別するために、カーネル プロトコル スタックのデータ構造にデータ フロー制御に関する情報を追加する必要があります。

ストリーム パケット スイッチングのデータ パケット制御情報構造を次の図に示します。

マーキング後の論理データ パケットのヘッダー構造を次の図に示します。

論理メッセージの存続時間 TTL は、論理メッセージがネットワークに長く留まりすぎてネットワーク キューが長すぎてオーバーフローするのを防ぎ、データ フレームがネットワーク内で無限に転送されないようにするためのものです。リングリンク. ピア間のマルチパス転送の基礎。

仮想マシンの仮想ネットワーク カードは、送信された各データ パケットの制御情報をマークし、それに接続されているスイッチング ノードは、データ パケットを受信した後、グローバル コントローラのデータに従って仮想接続テーブルを確立します。スイッチング ノードは、データ メッセージの制御情報に従って仮想テーブルを検索し、データ メッセージを宛先ポートに転送して、データ メッセージの交換を完了します。

各仮想接続には、論理グループにグループ化された複数の仮想ポートを含めることができます。この論理グループを使用すると、マルチパス フォワーディング、エクスプレス ルーティング、リンク統合、ロード バランシング、トラフィック シェーピングなど、より複雑なスイッチング機能を実行できます。

下の図に示すように、各データ フローはトラフィックに応じて複数のポートを使用してデータ パケットの転送を高速化し、複数の仮想接続のデータ フローを同じ操作要件のポートに転送できます。

フローベースのパケット スイッチングでは、仮想マシンの内部ネットワーク通信中に、より大きな MTU データ パケットを設定して、データ パケットの転送効率を向上させることができます。これは、カーネル プロトコル スタックで IP のグループ化と再構成のプロセスを回避できるためです。データ パケット数 ドキュメントの転送遅延。

各仮想ポートと仮想接続は、データ パケットの照合とフィルタリングのための照合ルールを自由に設定できます。たとえば、特定のポートは、IP アドレスが 10.0.0.* であるデータ パケットの送信を制限します。同様のパケットが受信された場合、それは破棄されます。

フロー パケット スイッチングでは、次の図に示すように、仮想接続テーブルを維持する必要があります。 

各エントリは、データ フローを一意に識別し、データ フローを通過するパケットに対して実行される操作と、データ フローの統計情報に適用されます。

次の表に、仮想接続テーブル エントリの構成を示します。

1) フローパケットスイッチング制御

フロー パケット スイッチングを実現するための重要な前提条件は、仮想接続テーブルの確立と削除、仮想接続テーブルのルールと物理仮想デバイスのパラメータの設定、データ統計の取得を担当するフロー パケット スイッチング コントローラです。 、QoS設定、仮想ファイアウォールの設定、VLAN分割など

ストリーム パケット スイッチング コントローラーは、すべての仮想接続テーブルの監視を担当するため、仮想マシンの内部ネットワークのトラフィック ステータスを全方向で監視できます。これは、以前の物理デバイスでは実行できませんでした。

コントローラの構造は、次の図に示されています。

フローに基づいて交換されるデータ パケットが外部と通信しない場合、データ パケットは物理ネットワーク カードを介さずにメモリ内で直接交換できます。このメカニズムにより、スイッチング パフォーマンスとパケット転送速度が大幅に向上します。

従来のデータ リンク層では、ループバック パスを削除するためにスパニング ツリー プロトコルを実行する必要があり、MAC アドレスの学習もかなりの量のネットワーク トラフィックを占有します。コントローラを使用して、すべての仮想スイッチング デバイスのグローバル フォワーディング パスを維持できるようになりました。これにより、スパニング ツリー プロトコルと追加のネットワーク トラフィックによって引き起こされるデータ フレーム転送の遅延が回避されます。 

フロー スイッチング パケット コントローラーは、構成ファイルに従って仮想接続テーブルを生成し、仮想接続を作成または削除し、仮想ポートと仮想接続のストレージ キューを維持し、仮想接続と仮想ポートのデータ パケット処理ルールを構成する必要があります。

2) フロー パケット制御プロトコル

ストリーム パケット スイッチング コントローラーは、ネットワーク アプリケーションがカーネルと通信するための最も一般的なインターフェイスである Netlink ソケットを介してカーネル プロセスと通信します。Netlink は非同期通信メカニズムであり、カーネルとユーザー モードのアプリケーション間で渡されるメッセージは、ソケット バッファー キューに格納されます。メッセージを送信すると、受信者がメッセージを受信するのを待たずに、受信者のソケットの受信キューにメッセージが保存されるだけです。

ストリーム パケット交換コントローラとストリーム パケット交換モジュールの間には、プロセス間通信に基づいたメカニズムである Netlink を介して通常の TCP 接続が確立されます。フロー交換コントローラーと交換モジュール間の情報交換は、一連の自己定義プロトコルを採用し、制御情報のヘッダー プロトコル構造を下図に示します。

制御情報のトランザクション ID は、同じ対流パケット交換コントローラーとフロー交換モジュールの間の構成プロセスを識別するために使用されます. たとえば、今回 A から B に送信された制御情報については、B は同じトランザクション ID を使用して応答する必要があります。 A の要求、つまり、A から B に送信される追加の制御情報を区別します。

3) 制御情報の種類

制御情報の種類を次の図に示します。

構成情報は、主にフロー パケット スイッチング モジュール ポートおよびポート キュー構成データなどを通知し、フロー パケット スイッチング コントローラは、制御プロトコルを介して各スイッチング モジュールおよび内蔵仮想ポートの情報を取得します。仮想接続テーブルでグローバルな操作を実行できるだけでなく、ネットワークの状態を効率的に検出し、ネットワークの監視結果に応じて各スイッチング ノードの構成情報を自動的に調整することも今後の課題です。

3. 仮想スイッチ技術システム

1. 仮想スイッチング技術

仮想スイッチング テクノロジー (仮想スイッチング テクノロジー、VST) は、分散型内部スイッチング ネットワーク テクノロジーに基づいており、特別な仮想スイッチング リンク (仮想スイッチング リンク、VSL) を介して 2 つ以上の物理デバイスを接続し、特別なソフトウェアを実行して、これらの複数のデバイスを仮想化します。 1 つ以上の論理デバイスとして。

分散型仮想スイッチング システム (Virtual Switching System、VSS) は、主にハードウェアとソフトウェアを含むオープンでスケーラブルなシステムであり、そのアーキテクチャは下図に示されています。

機能ロジックの観点からは、次の 2 つのプレーンが含まれます。

  1. データ プレーン: ユーザーに見えるデータ プレーン、つまり、ユーザーに見えるユーザー ポートと、ユーザーには見えない内部相互接続ネットワークが含まれます. ユーザー ポート間のサービス データは、内部相互接続ネットワークを介して転送されます. 仮想スイッチングは、各メンバー デバイスの内部相互接続ネットワークを接続することによって実現されます。つまり、仮想スイッチング テクノロジの本質は、クロスデバイス リンク アグリゲーション、クロスデバイス ポート ミラーリング、およびクロスデバイスを実現する分散型内部相互接続ネットワークです。レイヤー 2 (レイヤー 2、L2) およびレイヤー 3 (レイヤー 3、L3) 等コスト マルチパス (ECMP) 転送ハードウェア基盤。
  2. 制御および管理プレーン: 物理的な観点から見ると、仮想スイッチング テクノロジに関係する各メンバー デバイスは、独立して動作/動作できる物理デバイスです。仮想スイッチングの実装では、統合された管理と制御のために、コントロール プレーン ソフトウェアは基本的に 2 つの部分に分割されます。メンバー デバイスのハードウェアに依存しない部分、つまり、コントロール プレーンの制御プロトコルであり、ユーザー指向のデバイス管理のための管理プレーンです。仮想デバイスの形成プロセスでは、仮想デバイス全体のマスター コントロール デバイスが役割によって選出されます. コントロール プレーン ソフトウェアの観点からは、マスター コントロール デバイスのコントロール プレーンの上記の 2 つの部分のみが完全にアクティブになります. 他のメンバー デバイスについては、ハードウェア関連部分のみがアクティブ状態になり、メンバー デバイスのハードウェアに依存しない制御プロトコルおよび管理部分はスタンバイ状態になります。仮想デバイスが形成された後、すべてのメンバー デバイスは、1 つのデバイスとして仮想化の効果を達成するために、メイン コントロール デバイスのコントロール プレーンの統一された制御と管理を受け入れます。 

1. VSS ハードウェア

スイッチ ハードウェア プラットフォーム: ラック マウント型のハイエンド スイッチ プラットフォーム。

デバイスの相互接続および対応する物理ポート用の VSL: ラックマウント型ハイエンド スイッチの場合、VSL は通常、ライン カードの 10 ギガビット ポートによって提供されます。

2.VSS ソフトウェア

VSSソフトウェアは、VSSハードウェアをベースにデバイスの仮想化を実現する制御プロトコルソフトウェアで、主に以下の3つの部分から構成されています。

1) VSS プロトコル

主に、VSL の管理とリンク ステータスの監視、ピアの検出、トポロジの収集、役割の選出、メンバー デバイスのソフトウェアとハ​​ードウェアのバージョン チェック、複数のアクティベーションの検出 (Multiple Activation Detection、MAD) と回復など、仮想論理デバイスの確立と保守を担当します。など特徴。

2) 仮想デバイス層

VSS プロトコルに基づいて、VSS メンバ デバイスのボードやカードなどのさまざまなリソースの管理と抽象化を実現し、これらのメンバ リソースの仮想マッピングを行うことで、仮想スイッチング デバイスをシミュレートします。最後に、このシステムで実行されるさまざまなアプリケーションとビジネス固有のソフトウェアについて、仮想デバイス層の抽象化とシールドにより、デバイスの物理的な違いを気にする必要がなくなります。つまり、実際の物理デバイスも仮想 VSS デバイスも変更する必要はありません。

3) 支援事業

仮想デバイス層の上位層に基づく管理および制御プロトコル ソフトウェアは、VSS デバイスで実行できるようになり、これらのサービスは次のようになります。

  • デバイス管理: SNMP、CLI、構成ファイルなどの構成管理を含みます。
  • HAサービス:HA同期・切替サービスなど
  • サービス モジュール: スイッチ ハードウェアによってサポートされるサービス機能に従って、さまざまなサービス モジュールを提供します。通常、重要なクロスシャーシ リンク アグリゲーションおよびポート ミラーリング機能、オプションのレイヤー 2 スイッチング機能およびプロトコル モジュール、オプションのレイヤー 3 ルーティングおよび転送機能が含まれます。プロトコル モジュール、オプションの MPLS スイッチング機能とプロトコル モジュール、オプションの付加価値サービス モジュール (IP Flow Information Export (IPFIX) や FW など)。

2. 関連用語

1. 仮想スイッチ ドメイン

VS ドメイン (VS ドメイン) は、仮想デバイスの属性であり、異なる仮想デバイスを区別するために使用されます. 同じ仮想スイッチング ドメインを持つスイッチのみが仮想デバイスを形成できます. VS ドメイン ID の範囲は 1 ~ 255 で、デフォルト値は 100 です。

2. 会員番号

仮想デバイスの各メンバー デバイス (物理スイッチ) は、それを識別するために VSS メンバー番号 (VSS メンバー ID) が必要です。

各 VS ドメイン内の各メンバー デバイスの番号は一意である必要があり、VS ドメインを確立するときに 2 つのメンバー デバイスが同じ番号を持つ場合、VSS 仮想デバイスは形成されません。メンバー デバイス番号の値の範囲は、デバイス タイプによって異なります。

VSS メンバー番号は、VSS のシステム リソース番号としてよく使用されます。たとえば、VSS 物理スタンドアロン モードでは、ポート番号は 2 次元形式 (10 ギガビット イーサネット 1/1 など) を使用します。VSS 動作モードでは、ポート番号は 3 次元形式 (たとえば、10 ギガビット イーサネット 1/1/1) を採用し、最初の次元はメンバー デバイス番号を表します。

3. 仮想スイッチ リンク

VSL は、2 つのメンバー スイッチ間の論理リンクであり、アグリゲーションによる 1 つ以上の物理リンクで構成されます。

4. VSL 物理ポート

VSL 物理ポートとは、VSL 論理接続に使用できるメンバー デバイス上の物理ポートを指します。ハイエンド スイッチの場合、VSL 物理ポートは、スイッチ上の任意の 10 GbE インターフェイス(光ポートまたは電気ポート)にすることができます。共通の物理ポートは、VSL に割り当てられた後にのみ VSL 物理ポートになることができ、VSL には複数の VSL 物理ポートを含めることができます。

5. デバイスの役割

仮想スイッチングドメインでは、各メンバーデバイスに異なる VSS ロールを割り当てることができます.各メンバーデバイスは、VS ドメインでのタスクと役割に応じて、通常、次の 2 つの役割に分けられます。

  1. マスター デバイス (マスター): VSS 全体の管理と制御を担当します。
  2. バックアップ デバイス (スレーブ): ローカル デバイスの基本的なハードウェア管理を担当し、マスター デバイスの管理と制御を受け入れます。

メンバー デバイスの VSS ロールは、VSS 形成プロセス中の選択によって決定されます。同時に VSS に存在できるマスター デバイスは 1 つだけです。他のメンバー デバイスはバックアップ デバイスです。マスター デバイスに障害が発生すると、システムは自動的にバックアップを選択します。デバイスが新しいマスター デバイスになります。

6.会員優先

VSS メンバー プライオリティは、VSS メンバー デバイスの属性でもあり、役割の選択時にメンバー デバイスの役割を決定するために主に使用されます。優先度が高い(値が大きい)ほど、マスターに選出される可能性が高くなります。値の範囲は 1 ~ 255 で、デフォルトの優先度は 100 です。

7. 動作モード

VSS テクノロジをサポートするスイッチには、次の 2 つの動作モードがあります。

  1. スタンドアロン モード: デバイスは通常の分散デバイスとして動作し、他のデバイスと VSS 仮想デバイスを形成することはできません。
  2. VSS モード: 他のデバイスと接続して VSS を形成したり、単一のデバイスで実行したりできます。

デフォルトでは、すべてのデバイスはスタンドアロン モードで動作し、スイッチは明示的なユーザー構成によってのみスタンドアロン モードから VSS モードに切り替わります。

8. VSS スプリット

VSS が形成された後、VSL 障害のために VSS 内の 2 つの隣接するメンバー デバイスが物理的に切断され、1 つの VSS が 2 つの VSS になります。このプロセスは、下の図に示すように、VSS 分割 (スプリット) です。

9. VSS マージ

2 つの VSS は安定して動作しており、物理的な接続と必要な構成によって大規模な VSS が形成されます. このプロセスは、次の図に示すように、VSS マージです. 

3. 仮想スイッチシステム

1. VSL 物理接続

VSL 接続は、次の図に示すように、隣接するメンバー デバイス間の相互接続専用のアグリゲーション リンクです。

2 つ以上のメンバー デバイス間で仮想デバイスを形成するには、最初にメンバー デバイスの VSL ポートを物理的に接続する必要があります。VSL 論理ポートを 1 つの VSL 物理ポートまたは複数の VSL 物理ポートにバインドして、VSL リンクの帯域幅と信頼性を向上させることができます。

VSS の代表的な接続トポロジには、次の 2 種類があります。

1) 連鎖接続トポロジー

以下に示すように:

このトポロジは、主にメンバー デバイスが物理的に分散しているネットワークに適用されますが、チェーン接続でリンク障害が発生すると、VSS が分割されます。

2) リング接続トポロジー

以下に示すように:

このトポロジは、リング接続のリンクに障害が発生した場合にチェーン接続になり、VSS サービスに影響を与えないため、チェーン接続トポロジよりも信頼性が高くなります。

2. 基本パラメータの設定 

VSS ドメイン内の 2 つのメンバー スイッチ間の接続を次の図に示します。

1) スイッチ A を設定します。

スイッチ A のドメイン番号を 20、メンバー番号を 1、メンバーの優先順位を 120 に設定します。番号 1 の vsl チャネルを設定し、ポート 3/0 および 3/1 を vsl チャネルに追加します。

スイッチ A のメンバ プライオリティは、より高く設定されています。目的は、スイッチ A をマスター デバイスとして選択できるようにすることです。 

Switch-A(config)# switch virtual domain 20 
Switch-A(config)# switch virtual member 1
Switch-A(config-vss-member-1)# priority 120 
Switch-A(config-vss-member-1)# exit 
Switch-A(config)# vsl-channel 1
Switch-A(config-vsl-channel-1)# exit 
Switch-A(config)# port 3/0
(config-port-3/0)# vsl-channe l mode on
Switch-A(config)# port 3/1
(config-port-3/1)# vsl-channe l mode on

構成が完了すると、スイッチ A で表示される構成情報は次のようになります。

Switch-A # show switch virtual config
Mode DomainId MemberId Priority macMode MacAddr
STANDLONE 20  1        120      VIRTUAL 0001.7a6a.0039 

show switch vsl-channel コマンドを実行して、VSL 構成情報を表示します。スタンドアロン モードでは、VSL ステータスがリンク管理プロトコル チェックに失敗したため、ステータスは LINKDOWN です。

Switch-A#show switch vsl-channel 
Switch Virtual Member:1
vslld  BalanceMode  ControlPort  LinkState OppositeMemberId
1      SRCMAC       0            LINKDOWN  0

VSL メンバーの設定情報を表示するには、show switch vsl-channel 1 detail コマンドを実行します。

Switch-A# show switch vsl-channel 1 detail 
vsl-channel id:1
vsl-channel balance-mode:SRCMAC 
vsl-channel control-port: 0 
vsl-channel link-state:LINKDOWN 
vsl-channel opposite-member:0
PortId RunState LogicLinkState Speed OppositePortId
3/0    PENDING  LINKDOWN       10000 0 
3/1    PENDING  LINKDOWN       1000  0 

2) スイッチ B を構成する

スイッチ B のドメイン番号を 20、メンバー番号を 2、メンバーの優先順位を 100 に設定します。番号 2 の vsl チャネルを設定し、vsl チャネルにポート 3/0 を追加します。

Switch-B(config)# switch virtual domain 20 
Switch-B(config)# switch virtual member 2
Switch-B(config-vss-member-2)# priority 100 
Switch-B(config-vss-member-2)# exit 
Switch-B(config)# vsl-channel 2 
Switch-B(config-vsl-channel-1)# exit 
Switch-B(config)# port 3/0 
Switch-B(config-port-3/0)# vsl-channel 2 mode on
Switch-B(config)# port 3/1 
Switch-B(config-port-3/1)# vsl-channel 2 mode on

構成が完了すると、スイッチ B で表示される構成情報は次のようになります。 

Switch-B # show switch virtual config
Mode DomainId MemberId Priority macMode MacAddr
STANDLONE 20   1       120      VIRTUAL 0001.7a6a.0039         

show switch vsl-channel コマンドを実行して、VSL 構成情報を表示します。スタンドアロン モードでは、VSL ステータスがリンク管理プロトコル チェックに失敗したため、ステータスは LINKDOWN です。

Switch-B# show switch vsl-channel 
Switch Virtual Member:2
vslld  BalanceMode ControlPort LinkState OppositeMemberId
2      SRCMAC      0           LINKDOWN 0

show switch vsl-channel 2 detail コマンドを実行して、VSL メンバーの設定情報を確認します。

Switch-B#show switch vsl-channel 2 detail 
vsl-channel:2
vsl-channel balance-mode:SRCMAC 
vsl-channel control-port:0 
vsl-channel link-state:LINKDOWN 
vsl-channel opposite-member: 0

3. モード切り替え

スイッチをスタンドアロン モードから VSS モードに切り替えるには、設定モードで次のコマンドを実行します。

Switch-A#switch mode virtual

提出情報は以下の通りです。

This command will convert all interface names to naming convention "interface-type switch-number/slot/port",copy the startup configuration to the backup file named“startup-backup”and reload the system.Do you want to proceed?[yes/no]∶yes
Converting interface names Building configuration...[OK]
Copying the startup configuration to backup file named“starup-backup”…[OK]
Save running configuration…[OK]
Reset system!

このプロンプト メッセージの意味は、このコマンドを実行すると、次の 4 つの手順が実行されるということです。

  1. すべてのポートの名前を 2D から 3D に変換し、インターフェイス タイプの memberId/slot/port の形式で整理します。
  2. 現在実行中のスタートアップ ファイルを startup-backup にバックアップします。
  3. 現在の構成を保存します。
  4. デバイスを再起動します。

同様に、スイッチ A と B をスタンドアロン モードから VSS モードに切り替えます。

4. VSS の初期化

スイッチ A とスイッチ B が再起動された後、動作モードはスタンドアロン モードから VSS モードに切り替えられ、システムは起動時に次の操作を実行します。

  1. 物理リンクが双方向かどうかを確認するには、最初に VSL 物理ポートをスタンドアロン モードで接続し、物理リンクが正常に機能するかどうかを慎重に確認することをお勧めします。
  2. VSS ドメイン内のすべての物理デバイスのトポロジ情報 (デバイス ドメイン ID、メンバー番号、シャーシ タイプ、シャーシの動作モード、ボード ソフトウェア バージョンなど) を収集し、その情報に基づいて物理デバイスにスタック機能があるかどうかを判断します。
  3. トポロジ情報が収集されると、役割の選出が開始されます.トポロジ内の 1 つのデバイスのみが VSS マスター デバイスとして一意に選出され、残りは制御対象デバイスになります。

次の条件が完全に満たされている場合にのみ、デバイスにスタッキング機能があることに注意してください。 

  • スイッチ A とスイッチ B のドメイン ID は同じです。
  • スイッチ A と B のメンバー ID は異なり、最大スタック容量を超えていません。
  • スイッチ A と B のシャーシ動作モードは同じでなければなりません。
  • スイッチ A と B のボード ソフトウェア バージョンは同じである必要があります。

5. VSL 管理

VSL のリンク状態は、VSS アプリケーションにおいて非常に重要な役割を果たします.VSS のトポロジに影響を与え、VSS の分割とマージを引き起こすことさえあります.したがって、隣接するメンバー間で VSL リンク管理プロトコル (Link Management Protocol) を使用する必要があります。 、LMP) をリアルタイム状態監視 VSL に接続します。

リンク管理プロトコルは、各 VSL の各物理メンバー リンクで実行され、VSL の両端にあるメンバー デバイスは、各 VSL の各物理メンバー リンクのプロトコル パケットを個別に送受信します。したがって、各物理メンバ リンクの状態変化を判別でき、VSL 論理リンクの状態変化を取得できます。

VSL の状態が変化するたびに VSS トポロジが変化し、VSS の分割とマージが頻繁に発生する可能性があることに注意してください。これを防ぐために、LMP プロトコルは柔軟なメッセージ送信間隔と受信間隔を提供し、次のような対応するイベント レポート コントロールを提供します。

Vslp lmp interval interval min_rx min-interval multiplier factor
  1. interval milliseconds: 最小送信間隔をミリ秒単位で構成します。デフォルトは 500 で、参照範囲は 300 ミリ秒から 5 000 ミリ秒です。
  2. min_rx milliseconds: 最小受信間隔をミリ秒単位で構成します。デフォルト値は 500 で、参照範囲は 300 ミリ秒から 10 000 ミリ秒です。
  3. Multiplier interval-multiplier: 受信検出タイムアウトの倍数を設定します。デフォルトは 12 で、基準範囲は 3 ~ 50 です。

このコマンドは実際には、この問題を解決するために VSL リンク ダウン遅延レポート メカニズムを提供します. その動作原理は、VSL リンク ステータスがアップからダウンに変化した場合、ポートはリンク ステータスの変化をすぐにシステムにレポートしないというものです.

設定された遅延間隔の後、VSL リンクがまだダウン状態にある場合、ポートはリンク状態の変化をシステムに報告し、システムは対応する処理を行います。VSL リンク状態がダウンからアップに変化した場合、リンク管理 短期間にポートのリンク層の状態が頻繁に変化することによる VSS スプリット/マージの頻繁な発生を回避するために、プロトコルはシステムにただちに報告します。

6. トポロジ検出

VSS ドメインにはさまざまなトポロジが存在する可能性があります。トポロジ検出は、Topology Discovery Protocol (TDP) を介して実装されます。TDP は、各メンバー デバイスとその隣接デバイス間でトポロジ検出プロトコル パケットを交換することにより、VSS 全体のトポロジを検出します。TDP パケットは、メンバー デバイス ドメイン、メンバー デバイス番号、メンバー デバイスの優先順位、メンバー デバイスのブリッジ MAC アドレス、および最も重要な VSL 接続関係を含むトポロジ情報を伝送します。

VSS の各メンバー デバイスは、既知のトポロジ情報をローカルに記録し、既知のトポロジ情報を TDP パケットで定期的に送信します。

トポロジ検出の基本的なプロセスは次のとおりです。

  1. トポロジ ディスカバリの開始時には、各メンバー デバイスは、独自のトポロジ情報データベースに独自のトポロジ情報しか持っていません。
  2. VSL ポートのリンク状態が Up になると、メンバー デバイスは既知の otherid2ology 情報を定期的に送信します。
  3. 各メンバー デバイスは、近隣のトポロジ情報を受信した後、近隣から送信されたトポロジ情報に従って、ローカルに記録されたトポロジ情報を更新します。
  4. 収集期間の後、すべてのメンバー デバイスは完全なトポロジー情報を収集します. 隣接するメンバー デバイスから受信したトポロジー情報は、自身が保存したトポロジー情報とまったく同じです. この状態を「トポロジー収束」と呼びます.

7.役割の選択

トポロジ ディスカバリが完了すると、各メンバー デバイスは、所属するドメインの完全なトポロジ情報を取得し、システムは役割選択段階に入ります。これらの情報に基づいて、各メンバー デバイスはロール選択ルールに基づいてマスター デバイスを選択し、各 VSS システムには 1 つのマスター デバイスしかありません。

役割の選択規則は次のとおりです。

  1. 現在のマスター デバイスは、他のメンバー デバイスよりも優れています。
  2. メンバー デバイスがハイエンド分散デバイスの場合、ローカル マスター MPU はローカル バックアップ MPU よりも優れており、元のマスター デバイスのバックアップ MPU は他のメンバー デバイスのマスター MPU よりも優れています。
  3. 優先順位の高いメンバーが優先されます。
  4. システムの実行時間が長いことが望ましいです。
  5. 会員番号の小さい方が優先されます。

ルールの順序に従って判断し、唯一の最適な結果が見つかるまで選挙は停止しません。最適な結果は VSS のマスター制御デバイスであり、対応する MPU はマスター制御 MPU であり、その他のデバイスはバックアップ デバイスです。

役割の選出が終了すると、各メンバー デバイスは VSS での役割と選出結果を認識し、マスター制御デバイスはマスター制御ステータスを確認すると、各メンバー デバイスのさまざまなボード ハードウェアおよびソフトウェア情報を厳密にチェックします。互換性チェック。メンバー デバイスにハードウェアの互換性の問題がある場合、システムは VSS ドメインへの参加を許可せず、ハードウェアの互換性に問題があることをユーザーに通知します。ソフトウェア バージョンに矛盾または互換性がない場合、マスター デバイスはプロンプトを表示します。システムがソフトウェア アップグレードに入るユーザー。

ユーザーがアップグレードを確認すると、マスター デバイスはメンバー デバイスのソフトウェアをアップグレードします。ここで、特定のメンバーについて、マスター制御デバイスがそのデバイスにハードウェア互換性の問題またはソフトウェア バージョンの問題があることを発見すると、そのメンバー デバイスはマスター制御システムによって VSS から分離されることに注意してください。分離されたメンバー デバイスは、ハードウェアの問題を解決するかソフトウェアをアップグレードした後に再起動し、新しいメンバー デバイスとして VSS に再び参加します。

VSS システムは複数のデバイスのスタッキングをサポートするため、VSS トポロジには 2 つのトポロジがあります。つまり、チェーンとリングの接続であるため、ハードウェアとソフトウェアの互換性チェックに合格した後、マスター制御デバイスは、収集されたトポロジ情報とハードウェア構成情報に従って、VSS の動作トポロジを決定します。決定されると、マスター デバイスとメンバー デバイス間の完全なマスター/スレーブ関係が真に形成され、上位層のプロトコルとアプリケーションは正常に動作します。

VSSが形成された後の通常業務において、マスタ機器とバックアップ機器の主従関係をリアルタイムに把握することは非常に重要であり、一定間隔でメンバー機器とキープアライブパケットを送受信します。

4. VSS データ転送

VSS のデータは、制御管理データ、プロトコル メッセージ データ、および共通サービス データに分けられます. 通常、すべてのメンバー デバイスは、最初の 2 つのタイプのデータをマスター デバイスに送信して、統一処理を行います。これらは VSL リンクを介して送信され、スタック システムまたはプロトコル モジュールの通常動作の基礎となります。ただし、複数のデバイスが 1 つのデバイスに仮想化されるため、すべてのデータの量は非常に大きくなりますが、VSL リンクの帯域幅は常に制限されます。帯域リソースを有効に活用するために、3 種類のデータを優先順位に従って分類および定義します。

制御・管理データは VSS の動作の基本であり、これらのデータが正常に通信されて初めてスタックシステムが形成されるため、この種のデータは最優先されます。OSPF やブリッジ プロトコル データ ユニット (Bridge Protocol Data Unit、BPDU) などのプロトコル メッセージ データは、各プロトコル モジュールの動作の基礎となるため、優先度が高くなります。プロトコルモジュールの正常な動作を保証するために、通常のビジネスデータは比較して最も低い優先度を持っています。

通常、CPU は、制御管理データまたはプロトコル メッセージ データの処理に参加します。通常のビジネス データ転送とは異なり、ビジネス データは、ビジネス データの流れの方向に応じて、カード内転送、デバイス間クロス カード転送、デバイス間転送の 3 つのタイプに分けることができます。最初の 2 つは、スタンドアロン デバイスの転送モードと同じであり、カードでの転送は、追加の転送ユニットのサポートに依存する必要はありません。

デバイスでのクロスカード転送は、次の図に示すように、ストア アンド フォワード ユニット (ストア アンド フォワード ユニット、SFU) に依存する必要があります。

VSS アップリンク データ転送:

VSS ダウンリンク データ転送: 

SFU とライン プロトコル ユニット (ライン プロトコル ユニット、LPU) ボードは、バックプレーンを介して特定の内部ポートによって接続され、内部ポート間にカプセル化された特殊な非標準イーサネット フォーマットには、ビジネス処理に必要な追加情報を含めることができます。フォワーディングの原則は、LPU からデータを受信した後、L2 と L3 を検索し、最終的な目的がカードではないと判断し、この目的を使用してクロス カード フォワーディング テーブルの項目を照会し、最終的にその出口を見つけることです。カード。通常、出口は SFU の入口であり、同様に SFU を検索することで宛先 LPU を見つけ、宛先 LPU にサービス パケットを配送します。

クロスデバイスサービスのデータ転送では、まず、メッセージに従ってLPUカードでL2とL3が検索され、宛先がリモートデバイスとして決定されます.このとき、処理状況はもう少し複雑であり、クロス- カード転送テーブルを複数回検索する必要があります。さらに、あるメンバー デバイスから別のメンバー デバイスへの転送に参加する VSL リンクがあります。最終的に目的の LPU に到達するために、複数のメンバー デバイスを経由する場合もあります.LPU でメッセージを受信した後、処理シーケンスは、LPU → SFU → VSL LPU (デバイス A) → VSL LPU (デバイス B) → SFU → LPU です。

デフォルトでは、VSS システムは単一デバイスのトラフィック バランシング方式を採用していますが、このトラフィック バランシング方式は VSL リンクの帯域幅に特定の要件を課します。理論的には、最も極端な場合、VSL リンクの帯域幅は、仮想デバイス全体のアップリンク帯域幅の 50% に等しくなるはずですが、実際には、この種のサービス トラフィックの最適な転送パスは、アップリンクへのローカル ダウンリンク。

このため、VSS は、次の図に示すように、この状況に対応するローカル プライオリティ フォワーディング戦略を提供します。 

ユーザーは、さまざまなトラフィック負荷分散戦略を選択して、ネットワーク構造に応じてサービス転送パスを最適化し、VSL リンクの帯域幅要件を減らし、VSL を通過するデータ トラフィックを減らすことができます。 

4. 仮想スイッチの代表的な種類

1.IP仮想スイッチ

IP 仮想スイッチは、マルチサービス ネットワーク技術を研究する方法です. その目標は、現在のデータ サービスを含むさまざまなネットワークをサポートすることです, 従来の通信サービス, そして、IP パケットをキャリアとしてインターネット上で将来の新しいインターネット サービスをサポートする. アプリケーションは、統合された,オープンで柔軟な制御手段。

プログラム可能なメカニズムにより、スイッチは、さまざまなアプリケーション ネットワーク フローの転送制御と処理を実行する仮想エンティティに動的に分割され、この仮想エンティティは「Virtual Switchlet」(Virtual Switchlet、VSw) と呼ばれます。その制御サービスは「Software Switchlet」(Software Switchlet、SSw) と呼ばれ、VSw と SSw が一緒になって仮想スイッチング サービス (Virtual Switch Service、VSS) を形成します。

IP 仮想スイッチの基本的な目標は、スイッチ デバイスの特定の実装の技術的な詳細を隠し、データ交換処理を転送ソフトウェア制御 (ルーティング制御、シグナリング制御、またはサービス制御) から分離し、その制御プレーンを IP から独立させることです。基礎となるスイッチング プレーン; 同時に、スイッチング機能とコントロール プレーンを一般にプログラム可能なものにして、通信ソフトウェア ベンダーまたはサービス プロバイダーがさまざまな VSw とそのスイッチング サービスを独自に開発および提供し、スイッチング リソースを柔軟かつ効果的に使用および制御できるようにします。

IP 仮想スイッチの構造を次の図に示します。

これは、複数のタイプの VSS を物理 IP スイッチにマッピングするプログラマブル スイッチング アーキテクチャであり、さまざまなタイプのネットワーク アプリケーションに適したメッセージ処理および転送メカニズムを提供できます。このようにして、ネットワークリソースが有効に利用され、ネットワークルーティング/スイッチングノードの処理効率が改善されます。

IP 仮想スイッチのアーキテクチャの重要な設計原則は、コントロール エクステンションとフォワーディング プレーンを分離することです。これにより、物理スイッチング プレーン、仮想スイッチング抽象化プレーン、およびスイッチング コントロール プレーンの 3 つの比較的独立したレベルが形成されます。コントロール プレーンは、SSw サービスのアクティブ化、操作、および制御のためのプログラム可能なサポート環境を提供し、SSw は、特定のタイプのネットワーク データ フローに特化した一連の転送制御処理操作を提供します。

そのアクティビティ スペースは、対応する VSw のリソースと機能の使用によって制限され、2 つの組み合わせが完全な VSS を形成します。仮想スイッチング プレーンは、スイッチのリソースまたは機能を抽象化し、必要に応じてリソースを動的に分割して複数の VSw を形成します。物理スイッチング プレーンは、低レベルの制御インターフェイスを介してハードウェアおよびソフトウェア リソースまたは機能のプログラム可能な使用と制御を提供します。

この構造のもう 1 つの特徴は、複数のタイプのパケット フロー スイッチング サービス (SSw) が同じ仮想スイッチ環境で共存できることであり、コントロール プレーンは、ネットワークの変化に応じて、SSw とそれに接続された SSw を動的にロード、切り替え、調整します。データ フローの種類とトラフィック。

IP 仮想スイッチ アーキテクチャの 5 つの主要部分は次のとおりです。

  1. 基盤となる IP スイッチは、IP ハード スイッチング レイヤーでリソースを提供します。スイッチ/ルーターはコア ルーターの分散構造であり、複数のラインカード、​​スイッチング/転送モジュール、およびスイッチング バックプレーンで構成されます。各ライン カードには、分類子、プロセッサ(CPU)、キューイング バッファ、およびスケジューラ(アルゴリズム)を備えた複数のポートがあります。インターフェイス モジュールには、独自のメモリ、高速転送エンジン、転送テーブルなどがあります。スイッチ リソースまたは機能 (アルゴリズムの種類とパラメーター) の制御と利用を実現するために、プログラム可能なインターフェイス (IP 仮想スイッチ リソース インターフェイス) を提供する必要があります。
  2. リソースまたは機能の抽象化: この部分は、ハードウェア リソースまたは機能の構造的抽象化を実行して、スイッチのソフトウェア抽象モデルを形成し、説明を含む、スイッチの基本的なリソースまたは機能のカプセル化およびプログラム可能な制御、使用および管理を実現します。リソースまたは機能の運用モードと運用戦略を提供し、上位層のソフトスイッチ サービスの作成と管理のための開発、統一された柔軟なサポートを提供します。
  3. IP仮想スイッチスプリッターおよびコントローラー:リソースを分割して、比較的独立した構造と異なるスイッチング機能または制御方法を持つ複数のVSwを形成し、各VSwを動的に調整する役割を担い、仮想スイッチングサービスの構成と制御の中核となる部分です。VSw は、サービスとそのリソースのセグメンテーション リミッターであり、SSw のリソース使用を制限し、特定のリソース調整機能を備えています。IP ネットワーク リソースの統計的多重化の特性により、主要なリソースを制御および分割するという目標を最終的に達成するには、共有リソースを比例して多重化する仮想セグメンテーション方式 (パケットおよびプロセスのキューイングおよびスケジューリングなど) を採用する必要があります。リソース セグメンテーションの粒度は、セグメンテーション戦略の実装の複雑さを決定します. 単一のフローのきめの細かいセグメンテーションは、操作と状態の複雑さを増加させます. IP 仮想スイッチは、VSw サービス クラスに基づく粗粒度セグメンテーション メカニズムを採用できます。これは、シンプルで効果的です。
  4. 仮想スイッチ閉鎖 (VSw): VSw は、スプリット ルータのリソースの一部で構成された構造体です. 比較的独立した、異なるスイッチング機能または制御方法を持つ抽象的な論理スイッチです. 複数の VSw は、スプリット、多重化、および共有を実現します基盤となるスイッチ リソースの。最下層の特定のスイッチ リソース条件に従って、IP データ (従来のベスト エフォート サービス転送用)、IP 電話、IP ビデオ、Diffserv のサブクラスなど、一般的に使用される SSw に対応するさまざまなタイプの論理スイッチを形成できます。 、および一般的に使用されるさまざまな VPN クラス、Web フロー タイプ、および安全な転送保護パスの実装などに使用されます。
  5. ソフト スイッチ (SSw) とその操作および制御メカニズム: この部分は、VSw に基づくアプリケーション ネットワーク フローに対応する SSw サービスの作成と展開をサポートし、対応するネットワーク フロー転送のソフトウェア制御オブジェクトです。これは、VSw を通過するデータ フローの処理を制御し、アプリケーション パケット フローに適合した転送制御機能を効果的に完了します。SSw は VSw と関連付けられて VSS を形成します。VSS には、ユーザーが必要とするスイッチング機能を実際に制御および実装する、代替または拡張された制御チャネル機能 (キュー管理およびスケジューリング アルゴリズムなど)、特別なシグナリング、および単純なデータ チャネル処理機能の拡張が含まれる場合があります。 . IP 仮想スイッチ構造は、ベストエフォート サービス フォワーディング、Diffserv クラスタリング SSw、IP 電話 SSw、IP ビデオ SSw、および VPN サポート クラス SSw などの一般的に使用されるソフト スイッチ制御サービスをサポートし、新しい SSw は、それに応じて追加できます。ニーズとアプリケーション開発。VSS コントロール マネージャーは、ダウンロード、認証、および検証をロードし、一般的に使用されるさまざまな VSw および SSw を管理し、ワイヤレス ポート コントローラーまたはモバイル エージェントを介して SSw 操作をロード、展開、および監視できます。
  6. ソフトスイッチ サービスの監視と管理: IP 仮想スイッチの制御と管理は、2 つの部分に分けることができます。1 つは、既存のすべてのソフトスイッチを維持および管理し、リモート エンドから新しいソフトスイッチをダウンロードし、それらのセキュリティ検証と機能の正確性検証を実行することです。 、アプリケーションに必要なソフト スイッチをメイン仮想スイッチの監視および管理環境に導入お​​よびインストールする; 2 つ目は、動作中のさまざまなソフト スイッチの状態を監視し、ライブラリ構造を使用してソフト スイッチとその関連する VSw のリソース パーティション マップ構造を使用して、そのリソースまたは機能の使用を制御します。ローカルキャッシュは、最も一般的に使用されるソフトスイッチを管理し、さまざまなソフトスイッチのネットワークトラフィック負荷を監視およびカウントして、IPソフトスイッチレイヤーを介して特定の範囲内でソフトスイッチ(特定のリソース、機能、およびパラメーター)を調整します。さまざまなアプリケーション ネットワーク フローの監視と統計は、ソフト スイッチ タイプ調整の基礎として使用されます。 

2. マスター/スレーブの役割に基づく仮想スイッチの冗長構成

実際には、コンピュータ LAN が途切れることなく動作するように、通常、コア層とディストリビューション層などの重要な位置に 2 つのスイッチを設置し、マルチリンク接続を使用して冗長化を実現しています。リンクと物理ハードウェアの冗長性に加えて、通常はレイヤー 2 テクノロジ スパニング ツリー プロトコル STP、イーサ チャネル、およびレイヤー 3 仮想ルーター冗長性プロトコル (仮想ルーター冗長性プロトコル、VRRP) を使用して、複雑な構成もスイッチで実行されます。しかし、このような複雑なポリシーの実装には多くの負担が伴いますが、仮想スイッチシステム (Virtual Switch System、VSS) は、VRRP や STP が追求する負荷分散と冗長化機能を実現しながら、ネットワーク設計を大幅に簡素化し、実装することができます。

1. 仮想スイッチング方式の基本原理

仮想スイッチ テクノロジは、次の図に示すように、物理的に接続された 2 つのスイッチを組み合わせて、論理的に仮想化されたスイッチを提供します。

VSS 技術を使用すると、SW3 と SW4 のスイッチのデュアルリンクが同じスイッチに接続されていると見なすことができ、これまで (リンクが別のスイッチに接続されているため) 使用できなかった EtherChannel 技術を使用でき、EtherChannel冗長性と負荷分散を簡単に実現できます.機能;同時に、論理スイッチは1つだけであり、ネットワークトポロジにはスイッチングループがないため、STPとVRRPは必要なく、問題の複雑さが大幅に簡素化されます.

2.マスタースレーブスイッチ

VSS では、優先度の高いスイッチが競合してマスター スイッチ(Active Switch、「アクティブ スイッチ」とも呼ばれます)になり、もう一方のスイッチがスレーブ スイッチ(スタンバイ スイッチ、「バックアップ スイッチ」とも呼ばれます)になります。 VSL 経由で接続されます。外部からは単一のスイッチとして認識されるようにするために、メイン スイッチは VSS を制御し、STP や仮想 LAN トランク プロトコル (VLAN トランク プロトコル、VTP)、およびレイヤー 3 などのすべてのレイヤー 2 プロトコルを実行します。 RIP や OSPF などのプロトコル ルーティング プロトコルと同時に、外部ネットワーク管理機能も提供します。ただし、コンピューターから送信されたユーザー データについては、マスター スイッチとスレーブ スイッチの両方を処理する必要があるため、実際にはアクティブ-アクティブ モードであり、それ以外の場合、スレーブ スイッチはアイドル状態になります。

マスター スイッチとスレーブ スイッチの間の VSL は、VSS で非常に重要な役割を果たします. マスター スイッチが VSS を制御するため、Forward Information Base (FIB) などの共有情報が VSL を介して送信されます。また、VSL を介して送信される場合もあります。VSL の障害を防ぐには、通常、2 つのスイッチ間の複数のリンクをバンドルして EtherChannel を形成する必要があります。VSL で送信されるデータ フレームは、32 バイトのヘッダーで再カプセル化されます。

3. VSSの冗長処理

マスター スイッチとスレーブ スイッチは VSL を介して定期的に対話し、対話期間は 500 ミリ秒で、スレーブ スイッチはマスター スイッチに障害があることを検出すると、役割を切り替えます。VSS には、ステートフルとステートレスの 2 つの冗長方式があります。ステートフル冗長モードでは、マスター スイッチがすべてのレイヤ 2 およびレイヤ 3 プロトコルの動作を制御しますが、マスター スイッチはこれらのプロトコルのステータスを VSL を介してリアルタイムでスレーブ スイッチに送信します。

スレーブ スイッチがマスター スイッチになると、既知のレイヤー 2 およびレイヤー 3 プロトコル状態から動作し続けることができます. この冗長モードの役割切り替え時間は非常に短く、通常は第 2 レベルです. ステートレス冗長モードでは、マスタースレーブスイッチ 2 層プロトコルと 3 層プロトコルの情報は同期されておらず、スイッチ起動後の初期化状態で停止します。マスター スイッチに障害が発生すると、スレーブ スイッチは初期化状態から抜け出し、マスター スイッチになり、レイヤー 2 およびレイヤー 3 プロトコルを最初から実行します。

そのため、この冗長なアプローチには長い時間がかかり、通常は分単位のレベルです。ステートフル冗長方式では、マスター スイッチとスレーブ スイッチがソフトウェアで一貫している必要があると結論付けるのは簡単です。そうしないと、プロトコルの状態が無効になり、修復後にマスター スイッチがネットワークに再接続されます。優先順位が高いため、マスター スイッチになるために再競合し、スレーブ スイッチはスタンバイ状態に戻ります。

4. ユーザーデータパケットの転送処理

VSS では、下図に示すように、マスター スイッチとスレーブ スイッチの両方がユーザー データを処理します。

コンピュータ 2 からコンピュータ 1 (2 台のコンピュータは同じ VLAN 内にあります) に送信されたデータは SW2 (スレーブ スイッチ) に到達し、SW2 は MAC アドレス テーブルにクエリを実行して VSL から SW1 にデータを送信し、最終的にコンピュータ 1 に到達します。

下の図では、コンピュータ 2 から送信されたデータが SW2 に到達した後、SW2 は VSL を介して SW1 に送信するのではなく、直接 SW3 に送信します。VSS を使用しない場合、SW2 がデータを送信する方法は、第 2 層の STP 構成に関連します。

正しく設定しないと、データが迂回する原因になります。 

次の図では、コンピューター 1 とコンピューター 2 は同じ VLAN になく、レイヤー 3 スイッチング (一般にマルチレイヤー スイッチングと呼ばれます) を VSS に実装する必要があります。

SW1 はメイン スイッチであり、ルーティング プロトコルの動作を担当するため、VSL と SW2 を介してルーティング プロトコルに従って生成された FIB 情報を同期します。コンピューター 1 から送信されたデータは SW2 で直接処理され、データは VSL 上を行き来することがないため、VSL の負荷を大幅に軽減できます (同様に、3 層目の VRRP が適切に構成されていない場合、 VSS は使用されません。データは VSL 伝送で行き来します。

VSL で伝送されるユーザ データには、主に次の種類があります。

  1. VLAN 上のフラッディング データ。
  2. スタンバイ スイッチによって受信されたデータですが、メイン スイッチのソフトウェアによって処理される必要があります (典型的な例として、SW2 はレイヤ 3 スイッチングを有効にせず、SW1 はシングル アーム ルーティングを使用します)。
  3. 別のスイッチ宛てのデータがスイッチによって受信されます。
  4. MAC テーブルで見つからない宛先コンピュータのインターフェイス上のデータ。
  5. SNMP、Telnet、およびネットワーク管理 HTTP トラフィックなどの管理トラフィック。

下図に示すように、VSS を採用した後、SW1 と SW2 のリンクは、物理的には別のスイッチに接続されていますが、論理的には VSS に接続されています。

したがって、EtherChannel テクノロジーを使用できます。つまり、1 つまたは複数のリンクに障害が発生した場合、トラフィックは残りのリンクに自動的に分散されます。

  1. 単一リンク障害: マスター/スレーブ スイッチへのリンクがまだ存在するため、トラフィックは残りのリンクに自動的に分散されます。
  2. マスター スイッチへのすべてのリンクの障害: トラフィックはスレーブ スイッチに接続されたリンクに自動的に分散され、データの宛先がマスター スイッチである場合、データは VSL を介して送信されます。
  3. スレーブ スイッチへの完全なリンク障害: トラフィックは、マスター スイッチに接続されたリンクに自動的に分散され、データがスレーブ スイッチ宛ての場合は、VSL を介して送信されます。

5.イーサチャネル

1) マスター/スレーブ スイッチでの第 2 層および第 3 層プロトコルの転送

STP プロトコルはマスター スイッチによって実行され、スレーブ スイッチから受信した STP BPDU はマスター スイッチにリダイレクトされます。仮想 LAN トランク プロトコル VTP はマスター スイッチによって実行され、スイッチから受信した VTP パケットもマスター スイッチにリダイレクトされます。

ルーティング プロトコルはメイン スイッチで動作し、スイッチから受信したルーティング アップデート情報はメイン スイッチにリダイレクトされます。マスター/スレーブ スイッチは分散型ハードウェア フォワーディング方式を採用してルーティング テーブルを更新し、FIB を変更し、新しい FIB をローカルの分散型フォワーディング コントロール モジュールに更新します。

同時に、スレーブ スイッチの分散および転送制御モジュールは VSL を介して更新され、2 つのスイッチは FIB テーブルに従ってレイヤ 3 交換ルーティングを実行します。

2) VSS の全体的な作業手順

  • VSL が配置されているモジュールと VSL が配置されているインターフェイスを初期化します。
  • 2 台のスイッチが VSL でマスター/スレーブの役割をネゴシエートし、優先順位が最も高いスイッチがマスター スイッチになります。
  • マスター スイッチの起動が完了したら、ソフトウェアとハ​​ードウェアが状態の冗長性の要件を満たしているかどうかを確認します。
  • ステートフル冗長性の要件が満たされている場合、スレーブ スイッチは状態が変化してスタンバイ モードに入ります。それ以外の場合は、初期化状態で停止します。
  • マスター スイッチは、構成およびアプリケーション レベルのデータをスレーブ スイッチに同期します。
  • ユーザー データの交換中、マスター/スレーブ スイッチは、第 2 層と第 3 層の情報を同期する必要があります。

3) VSS の実施戦略

VSS は、次の図に示すように、冗長性を必要とする重要なアプリケーション (サーバーなど) のディストリビューション レイヤー、コア レイヤー、またはアクセス レイヤーに展開されます。

従来の STP や VRRP などと比較して、VSS を採用することには次の明らかな利点があります。

  1. STP や VRRP などの面倒な計画を大幅に削減し、ネットワークの論理トポロジーを大幅に簡素化します。
  2. 障害後のネットワークの再コンバージェンス時間が短縮され、状態変化を伴う VSS コンバージェンス時間は数秒以内です。
  3. 2 つのスイッチ間の物理リンク上の不要なトラフィックが削減されるため、ネットワーク帯域幅をより効果的に使用できます。
  4. マスター スイッチとスレーブ スイッチの両方がユーザー データを転送できます。つまり、コア ネットワークのデータ処理能力を 2 倍にするアクティブ/アクティブ モードです。 

3. Xen 仮想スイッチの典型的なアーキテクチャ

優れたオープン ソースの仮想化製品である Xen はますます広く使用されていますが、その仮想ネットワークは比較的単純です。Linux Bridge のみを使用して、複数の仮想ネットワーク カードによる物理ネットワーク カードの共有を実現します。つまり、単一サーバー仮想化の最も基本的なニーズのみを満たします。

多くの大規模な仮想化アプリケーションでは、より豊富な機能が要求され、便利な構成方法、インターフェイス管理、およびセキュリティ保証が不足しています。

仮想スイッチをXen環境で設計することで、Xenが使用するLinux Bridgeの機能不足や管理の煩わしさなどの問題を解決できます。つまり、仮想スイッチのVLAN分割やセキュリティ管理など、Xenの高度な管理要件に対応できます。一般ユーザーは、基本的なコマンドや構成ファイルの形式を理解する必要がなく、Web ブラウザーを使用して簡単に仮想スイッチを管理できます。

1. Xen システムのコンポーネント

Xen は主に Linux Bridge を使用して、仮想マシン環境と外部ネットワークの間でデータ パケットを配布します.その管理システムの構成は下図に示されています.仮想ネットワークに関連するコンポーネントは、Xend、brctl、および Linux ブリッジ モジュールです。

Xen 管理システムの構成を理解するために、図のコンポーネントを以下に紹介します。

  1. Xend: これは、Xen が外部の管理および制御サービスを提供するための最も重要なコンポーネントです. これは、アプリケーション層で Python によって実装されたアプリケーションであり、ユーザーが仮想マシンのすべての操作を管理するための本当の入り口でもあります. XML Remote Procedure Call (RPC) プロトコルの API を提供し、ポートは 9363 です。仮想マシン、ストレージ デバイス、ネットワーク デバイスの構成情報など、Xen で管理されるリソースはすべて XML 形式のファイルに格納され、Xend の起動時に読み込まれます。
  2. Linux ブリッジ モジュール: システムの起動時にカーネルにロードされる Linux ブリッジのモジュール。
  3. brctl: アプリケーション層での Linux ブリッジのコマンドライン ツール. ブリッジの作成や仮想マシンの仮想ネットワーク インターフェイスのブリッジへの接続など、ブリッジに関連するすべての操作は、このコマンドを通じて実行されます。ブリッジの制御は Xend で brctl コマンドを実行することで実現します。 
  4. xm: Xen ネイティブ コマンド実行ツール。ユーザーはこのコマンドを実行して、入力操作を Xend に渡して実行することができます。
  5. Libxenctrl: Xend の C ライブラリで、Xend はこのライブラリのライブラリ関数を呼び出すことで Domain0 を渡すことができます。
  6. privcmd: Domain0 のドライバー、Libxenctrl はそれと通信して下位アクセスを実現します。
  7. Xen ハイパーバイザー: ハードウェアと上位層のオペレーティング システムの間に位置する Xen のコアおよび基本的なソフトウェア抽象化レイヤーは、ハードウェア上で実行されるさまざまな仮想マシンの CPU スケジューリングやメモリ分割などのコア機能を提供します。

2. システムの全体構成

Xen 仮想スイッチング システムは、Xen の元のコンポーネントに基づいています. 次の図は、Web アプリケーション層からカーネル層までのシステムの全体的なアーキテクチャを示しています。

次のように説明します。

1) Xen クラスタのアーキテクチャ

この図は、Xen クラスタのアーキテクチャが、一般的なマスター スレーブ構造とは異なるマスター スレーブ構造を採用していることを示しています。これは完全に自己制御されており、外部管理ノードには依存しません。各ノードは、負荷を実行するための機能ノードとして使用されますが、追加の管理作業を行うためにさまざまな役割が定義されており、役割を交換できます。

クラスター内の 1 つのサーバーのみがマスターの役割を果たし、他のサーバー ノードはスレーブの役割を果たします。マスターはクラスターのアクセス ポイントとして機能し、すべてのスレーブを同時に管理および監視します。外部で開始されたアクションはすべて受信され、実行方法と他のスレーブと同期するかどうかが決定されます。Master は、各 Slave のデータの状態とリソースの使用状況を随時更新し、両者間の操作データの送信は Xend を介して完了します。

マスターとスレーブの役割を切り替えることができます.2つの状況があります.1つはマスターの役割を人為的に切り替えることです. 管理者がマスターの保守またはハードウェアのアップグレードを行う必要がある場合、まずマスターの役割を置き換えるスレーブを選択する必要があります。元のマスターはスレーブの役割に移行されます。その後、元のマスター上の仮想マシンの負荷を他のスレーブに転送して更新し、完了後にクラスター内のスレーブとしてサービスを再開できます。もう 1 つの状況は、マスターに障害が発生したときにクラスターの正常なサービスを保証するために、クラスター内のスレーブが特定の戦略に従ってマスターの役割を引き受けるように迅速かつ自動的にスレーブを推奨することです。

下図のような VMware の集中管理構造ではなく、このようなマスター/スレーブ構造が選択された理由は、マスター/スレーブ自己制御クラスターが外部管理ノードに依存することなく完全に自律的に動作し、ノードに自動的に応答できるためです。失敗。

集中管理構造では、すべてのノードは対等な関係にあります. ユーザーからのすべてのリクエストと、リソースプールとしてのマルチノードの管理と制御は、すべてコントロールセンターによって完了されます. コントロールセンターは、単一ポイントによるグローバルな損害を必然的に引き起こします.失敗、影響。 

また、図には示されていませんが、どのクラスターにも属さないサーバーが最初に Xen 環境にデプロイされると、システムは単一の役割を定義します。つまり、それは独立した単一の仮想サーバーです。クラスターの構築の開始時にマスターの役割として設定するか、既存のクラスターにスレーブとして追加してクラスターのサイズを拡張することができます。

2) ブリッジは仮想スイッチとして拡張されます

仮想環境に必要な仮想スイッチ機能を実現するために、主に Linux Bridge をベースに機能拡張を行います。Xen のシステム コンポーネントをこのシステムのアーキテクチャ図と比較すると、vsctl がアプリケーション層の仮想スイッチのコマンド ライン ツールとして brctl に取って代わり、仮想スイッチ モジュールが元の後の仮想スイッチ モジュールであることがわかります。 Linux ブリッジ モジュールが拡張され、実装されました。

仮想スイッチに関連する構成データは、独立したストレージを割り当てませんが、Xen 構成データと共に XML 形式のファイルに格納され、Xend によって読み込まれます。

3) Xendの機能拡張

Xend は、仮想環境で外部サービスを提供するコア アプリケーション層コンポーネントであり、仮想スイッチの管理をサポートするには、Xend の機能を拡張する必要があります。上位層では、要求を受信し、仮想スイッチ情報のクエリ、作成、変更、削除、およびステータス監視を提供する必要があり、下位層では、仮想スイッチ モジュールに命令を送信し、仮想スイッチ データを保存する必要があります。 . システム起動時のロードを担当し、仮想スイッチにデータの初期化を通知します。Xend は、クラスター内の各ノードの仮想スイッチの状態を制御する役割も果たします。

4) Web レイヤーのサポート

Web 層は、軽量の Apache HTTP サーバー + 物理層プロトコル (PHysical-layer Protocol、PHP) を使用して、XML-RPC 経由で Xend に要求を送信し、返されたデータを Web ページの形式でクライアント ブラウザーに返します。

5、仮想スイッチ スパニング ツリー プロトコル

1.仮想スイッチシステム全体の流れ

仮想スイッチの起動後、仮想スイッチのセグメンテーションと初期化、物理ポートの割り当て、仮想ポートの生成と初期化、仮想ポートの状態設定、および確立を含む、構成に従ってシステムが初期化されます。ネットワーク トポロジの。次に、システムは確立されたトポロジでスパニング ツリー プロトコル (STP) を実行してネットワーク トポロジを最適化し、リンクの冗長性を確保しながらリング リンクを排除します。

最後に、最適化されたトポロジでデータを転送し、MAC アドレス マッピング テーブルを維持します. 全体的なプロセスを下の図に示します.

2. STP と RSTP

1.STPの紹介

STP (802.1D) は、リンクの冗長化を前提としてループを回避することを目的としていますが、そのためにはネットワーク内のスイッチがスイッチ間の接続を理解できる必要があります。他のスイッチにその存在を知らせるために、各スイッチは「ブリッジ プロトコル データ ユニット」(BPDU) と呼ばれるデータ フレームをネットワークに送信します。

ネットワーク内のスイッチが 2 つ以上のリンクから同じスイッチの BPDU を受信できる場合、それらの間に冗長パスが存在し、ループが発生することを意味します。スイッチは、スパニング ツリー アルゴリズムを使用してデータを送信するリンクを選択し、関連するポートの一部をブロッキング状態にして、他のリンクを仮想的に切断します。現在使用中のリンクに障害が発生したら、ブロックされたポートを開き、元のリンクの作業を引き継ぎます。これにより、冗長リンクが提供されるだけでなく、ループも回避されます。

スイッチのポート ステータスは次のとおりです。

  1. ブロッキング状態 (Blocking): BPDU フレームのみをリッスンし、データ フレームを転送しません。
  2. Listening 状態 (Listening): データ フレームのみをリッスンし、データ フレームを転送しません。
  3. 学習状態 (Learning): アドレス情報を学習していますが、データ フレームを転送していません。
  4. 転送状態 (Forwarding): アドレス情報を学習し、データ フレームを転送します。
  5. 無効な状態 (無効): 転送しないで、BPDU フレームをリッスンしません。

通常、無効状態のポートの状態遷移シーケンスがブロッキング状態→リスニング状態→ラーニング状態→フォワーディング状態→無効状態になることを除いて、ポートは起動直後にフォワーディング状態になるように設定することもできます。この順序でブロック、学習、および転送する代わりに、この転送状態への迅速な移行は、ワークステーションに直接接続されたポートに役立ちます。フォワーディング ステートとブロッキング ステートはメンテナンス ステートになることができ、最終的にフォワーディング ステートまたはブロッキング ステートに変換されます。

STP では、スパニング ツリーを選択するときに 3 つの時間パラメータ、つまり Hello Time、Max Age、および Forward Delay が必要です。上記の 3 つのパラメータに対して、次の表に示すように、Hello Timer、Max Age Timer、Forward Delay Timer の 3 つのタイマーが設定されます。

2. RSTP (ラピッド スパニング ツリー プロトコル、ラピッド スパニング ツリー プロトコル)

RSTP は IEEE 802.1D を発展させたものであり、そのプロトコル標準は IEEE 802.1W であるため、802.1D の主な用語とパラメータは 802.1W でも変更されていません。

RSTP は、802.1D プロトコルを実行しているスイッチと同じネットワーク セグメントのポートで 802.1D プロトコルを使用することもできますが、短所は、高速特性が失われることです。802.1W で最終的に計算されたトポロジ構造は 802.1D で計算されたものとまったく同じですが、ポート状態の遷移に必要な時間を節約でき、転送遅延タイマーはもうありません。

802.1W は、3 つの可能な動作状態に対応する 3 つのポート状態を定義します. 802.1D で定義されたリスニング状態 (Listening)、ブロッキング状態 (Blocking)、および無効状態 (Disabled) を組み合わせて廃棄状態 (Discarding) にします; 2 つの状態は学習です状態 (Learning) および転送状態 (Forwarding)。

次の表は、802.1D と 802.1W のポート状態の比較を示しています。

802.1D では、リスニング、ラーニング、フォワーディング、ブロッキングという 4 つのポート状態が定義されています。運用上の観点からは、ブロッキング ステートのポートとリスニング ステートのポートに違いはありません。それらはデータを転送したり、アドレスを学習したりしません。違いは、802.1D によって割り当てられた役割にあります。ポートがフォワーディング ステートになると、それがルート ポートか指定ポートかを区別できなくなりますが、RSTP はポートの状態とポートの役割を区別することでこの問題を解決します。

RSTP はスパニング ツリーの最終的なトポロジを計算し、STP と同じ選択原則を使用します. RSTP のポート ステータスとポートの役割により、トポロジの収束が速くなり、動的に変化するネットワーク トポロジに対して STP よりも適応性が高くなります. 仮想スイッチによって構築されるネットワーク環境は、実際のネットワーク環境とは異なり、仮想スイッチ間でネットワーク トポロジが構築されると、ネットワーク トポロジが積極的かつ動的に変更されることはありません。さらに、最初に隔離状態に設定されたポートの状態は変化せず、ネットワーク トポロジは比較的安定したままです。 

3. 仮想スイッチ情報管理

構築されたネットワーク トポロジでスパニング ツリー プロトコルを実行するには、仮想スイッチが相互に通信する必要があるため、MAC アドレスを使用して仮想スイッチを一意に識別する必要があります。

ツリー形成プロトコルを実行する要件に従って、次の図に示すように、各仮想スイッチの対応する情報には、仮想スイッチの MAC アドレス、優先度、ID (仮想スイッチ ID)、および役割 (仮想スイッチの役割) が含まれます。

説明します: 

  1. 仮想スイッチ MAC: 仮想スイッチ MAC アドレス (6 バイト) は、初期化中にシステムによって仮想スイッチに割り当てられた仮想 MAC アドレスで、最初の 3 バイトは 00-00-00 で、最後の 3 バイトは 00-00 です。 -01 から開始して、順番に割り当てが繰り返されることはありません。
  2. 仮想スイッチの優先度: 仮想スイッチの優先度 (2 バイト)。この優先度は自分で設定できます。全部で 16 個あり、0 または 4 096 の倍数にすることができ、デフォルトは 32 768 です。値が小さいほど優先度が高くなります。
  3. 仮想スイッチ ID: 仮想スイッチ ID (8 バイト)。2 バイトの仮想スイッチ優先度と 6 バイトの仮想スイッチ MAC アドレスが含まれます。
  4. 仮想スイッチの役割: 仮想スイッチの役割 (1 バイト)。2 種類の役割があり、対応する値で表されます。1 つはルート スイッチ (ルート仮想スイッチ) で、値は 0x00 で、もう 1 つは指定スイッチ (指定仮想スイッチ) で、値は 0x01 です。 

4. ポート情報管理

1. ポート情報

各仮想スイッチの各ポートには、識別として一意のポート番号があります。仮想スイッチ間の論理的な分離を実現し、相互接続された仮想スイッチ間でスパニング ツリー プロトコルを実行するために、各ポートに対応する情報を次の図に示します。

  1. ルート仮想スイッチ ID: ルート スイッチ ID (8 バイト) 構成 BPDU によって選択されたルート スイッチの ID には、ルート スイッチの仮想スイッチ プライオリティ (2 バイト) と仮想スイッチの MAC アドレス (6 バイト) が含まれます。
  2. ルート パス コスト: ルート パス コスト (4 バイト)、このポートからルート スイッチまでに必要な最短パス コスト。
  3. 仮想スイッチ ID: 仮想スイッチ ID (8 バイト)、このポートが配置されている仮想スイッチの ID。
  4. ポート ID: ポート ID (2 バイト)、このポートの ID で、ポート優先順位の 1 バイトとポート番号の 1 バイトを含みます。
  5. ポートの優先度: ポートの優先度 (1 バイト)、ポートの優先度は自分で設定できます。全部で 16 個あり、0 または 16 の整数倍になります。最大値は 240 で、デフォルトは 128 です。値が小さいほど優先度が高くなります。
  6. ポート番号: ポート番号 (1 バイト)、繰り返しなしで 0 から設定します。
  7. ポート ステータス: ポート ステータス (1 バイト)。6 種類のポート ステータスがあり、対応する値で表されます。1 つはブロッキング ステート(Blocking)、値は 0x00、もう 1 つはリスニング ステート(Listening)、値は 0x01、3 番目はラーニング ステート(LearnLearning)、値は 0x02、4 番目はフォワーディング ステートです。 (フォワーディング)、値は 0x03、5 番目は無効状態 (Disabled)、値は 0x04、6 番目は分離状態 (Isolated)、値は 0x05 です。
  8. ポートの役割: ポートの役割 (1 バイト)。3 つのタイプがあり、対応する値で表されます。1 つは指定ポート (Designated Port)、値は 0x00、2 番目はルート ポート (Root Port)、値は 0x01、3 番目はルート ポートでも指定ポートでもない (Neither Port)、値は0x02。

2. ポート状態遷移

仮想スイッチの起動後、仮想ポートのポート ステータスは、構成情報に従って隔離またはブロックされます。ポート ステータスはデフォルトでブロックされており、分離に設定できます。ブロック状態のポートは、リスニングとラーニングの 2 つの状態に入り、最終的に安定してからフォワーディング状態またはブロッキング状態になります。

ポートの状態遷移を下図に示します。

ポートの状態遷移条件は以下のとおりです。

  1. ブロックされたポートが長い間 BPDU を受信して​​おらず、Max Age Timer がタイムアウトになりました。デフォルトでは 20 秒です。
  2. ポートがルート ポートまたは指定ポートとして選択されず、転送遅延タイマーが期限切れになります。デフォルトでは 15 秒です。
  3. ポートがルート ポートまたは指定ポートとして選択され、転送遅延タイマーが期限切れになります。
  4. 転送遅延タイマーがタイムアウトしました。
  5. ルート スイッチからトポロジ変更 (Topology Change、TC) を示す BPDU を受信します。

さまざまな状態のポートを定義する機能は次のとおりです。

  1. Disabled状態:物理リンクが接続されていないポートの状態として定義され、この状態のポートはデータフレームの送受信、BPDUの送受信ができません。
  2. ブロッキング状態: この状態のポートは、データ フレームを送受信することも、MAC アドレスを独自の MAC アドレス マッピング テーブルに追加することもできません。ポートは BPDU の受信を許可されていますが、BPDU の送信は許可されておらず、ロジックは切断されています。
  3. Listening 状態 (Listening): この状態のポートは、スパニング ツリーの選択に参加する必要があり、データ フレームを送受信したり、独自の MAC アドレス マッピング テーブルに MAC アドレスを追加したりすることはできません。ただし、BPDU を送受信し、ルート ポートと指定ポートの選択に参加することはできます。
  4. Learning 状態 (Learning): この状態のポートはデータ フレームを送受信できませんが、BPDU を送受信して MAC アドレスの学習を開始できます。
  5. 転送状態 (Forwarding): この状態のポートは、完全な機能を備えたポートであり、BPDU を送受信できるだけでなく、データ フレームを転送し、データ フレーム内の MAC アドレスを学習することもできます。
  6. 分離状態 (Isolated): この状態のポートは、データ フレームを送受信できず、MAC アドレスを独自の MAC アドレス マッピング テーブルに追加できません。ポートは、論理的に切断された BPDU の送受信も許可されていません。

この状態は、仮想スイッチ間の論理的な分離を実現するために使用され、システムの初期化中にカスタマイズできます. この状態のポートは、スパニング ツリーの選択に参加しません. 

5. STPプロトコルのBPDUフレーム

STP プロトコルで使用されるフレームは BPDU であり、次の 2 つのタイプに分けられます。

  1. 構成 BPDU: スパニング ツリーの確立とスパニング ツリー トポロジの維持に参加します。
  2. Topology Change Notification (Topology Change Notification、TCN) BPDU: スパニング ツリーのトポロジが変更された場合、スパニング ツリーのトポロジが変更されたことをスイッチに通知するために使用されます。

1. BPDU を設定する

スパニング ツリーの選択に参加するために必要なすべての設定情報を含むスパニング ツリーの確立に参加するように BPDU を設定します。そのフレーム フォーマットを次の図に示します。

  1. 宛先 MAC アドレス (DMA): 構成メッセージの宛先 MAC アドレスで、固定マルチキャスト アドレス (01-80-C2-00-00-00) です。
  2. 送信元 MAC アドレス (送信元 MAC アドレス、SMA): 構成メッセージを送信する仮想スイッチの MAC アドレス。
  3. フレーム長/フレーム タイプ (長さ/タイプ、L/T): 構成 BPDU フレームの長さを識別するために使用されます。
  4. LLC ヘッダー: BPDU の固定リンク ヘッダーを構成します。固定値は 0x42-42-03 です。
  5. ペイロード: 選択スパニング ツリーに参加するために必要なすべての情報パラメータを含む BPDU フレーム データと、その意味を下の図に示します。 

  • プロトコル ID: プロトコルの ID 番号、2 バイト。STP プロトコルの値は 0 で、設定 BPDU と共通データ フレームの違いを識別するために使用されます。
  • バージョン ID: プロトコルのバージョン番号、1 バイト。プロトコルには、値が 0x00 の STP、値が 0x01 の RSTP、値が 0x10 の MSTP の 3 つのバージョンがあります。このプロトコルは STP であるため、バージョン ID の値は 0x00 です。
  • BPDU タイプ: BPDU フレーム タイプ、1 バイト。BPDU フレームには、値が 0x00 の構成 BPDU と、値が 0x80 の構成 TCN BPDU の 2 種類があります。この BPDU は構成 BPDU であるため、BPDU Type の値は 0x00 です。
  • フラグ: フラグ バイト、1 バイト。トポロジー変更確認フラグとトポロジー変更フラグを含みます。フラグ バイトの上位ビットは、TCN の受信を確認するために使用される TC 合意 (TC 合意、TCA) ビットであり、値は 0x80 です。下位ビットは、ルート スイッチによって使用される TC ビットです。 TCN スパニング ツリーの選択を受信した後、他の仮想スイッチに再参加するように通知するには、値は 0x01 です。
  • ルート仮想スイッチ ID: ルート仮想スイッチの ID、8 バイト、構成 BPDU によって選択されたルート スイッチの ID、2 バイトのルート スイッチの仮想スイッチ優先度、および 6 バイトの仮想スイッチの MAC アドレスを含む.
  • ルート パス コスト: ルート パス コスト、4 バイト、この構成 BPDU をルート スイッチに送信する仮想スイッチからの最短パス コスト。
  • 仮想スイッチ ID: 仮想スイッチ ID、8 バイト、この構成 BPDU を送信する仮想スイッチの ID。
  • ポート ID: ポート ID、2 バイト。この構成 BPDU を送信した仮想スイッチのポート ID (1 バイトのポート優先順位と 1 バイトのポート番号を含む)。
  • メッセージ エージ: メッセージの有効期間を 2 バイトで構成し、生成から現在までのメッセージの有効期間を構成します。
  • Max Age: BPDU 構成メッセージの最大存続時間 (2 バイト)。値の範囲は 6 秒から 40 秒で、デフォルトは 20 秒です。
  • Hello Time: ルート スイッチが構成 BPDU メッセージを定期的に送信するサイクル時間 (2 バイト)。値の範囲は 1 秒から 10 秒で、デフォルトの時間は 2 秒です。
  • 転送遅延: BPDU 転送遅延タイマーの値を 2 バイトで構成します。値の範囲は 4 秒から 30 秒で、デフォルトの時間は 15 秒です。 

2. BC BPDU

スパニング ツリー トポロジでは、すべての仮想スイッチがトポロジの変更をリッスンし、スパニング ツリーのトポロジが変更されると、トポロジの変更を検出した仮想スイッチがルート スイッチに TCN BPDU を送信し、ルート スイッチにスパニング ツリーを通知します。トポロジが変更されます。

TCN BPDU フレームは 4 バイトで構成され、そのフォーマットを次の図に示します。

  1. プロトコル ID: プロトコルの ID 番号、2 バイト、STP プロトコルの値は 0 です。
  2. バージョン ID: プロトコルのバージョン番号、1 バイト。プロトコルには、値が 0x00 の STP、値が 0x01 の RSTP、値が 0x10 の MSTP の 3 つのバージョンがあります。このプロトコルは STP であるため、バージョン ID の値は 0x00 です。
  3. BPDU タイプ: BPDU フレーム タイプ、1 バイト。BPDU フレームには、値が 0x00 の構成 BPDU と、値が 0x80 の構成 TCN BPDU の 2 種類があります。この BPDU は TCN BPDU であるため、BPDU Type の値は 0x80 です。 

6. STP 選定スパニング ツリーのプロセス

1. メッセージ優先度の比較処理を設定する

次の図に示すように、メッセージの優先度の比較プロセスを構成します。

  1. ルート スイッチ ID が比較的小さい設定メッセージは、優先度が高くなります。
  2. ルート スイッチ ID が同じ場合は、ルート パスのコストを比較します。比較の原則は、設定メッセージのルート パス コストをポートの対応するパス コストに加算して値を取得することです。値が小さいほど、設定メッセージの優先度が高くなります。
  3. ルート パスのコストが同じ場合、仮想スイッチ ID のサイズが比較され、比較的小さい構成メッセージが優先されます。
  4. 仮想スイッチの ID が同じ場合、ポート ID のサイズが比較され、比較的小さい構成メッセージが優先されます。 

2. 最適な構成メッセージの選択

各仮想スイッチの各ポートは、ローカル構成メッセージを送信し、その間に他の仮想スイッチから送信された構成メッセージを受信します. 最適な構成メッセージの選択は次のとおりです.

1) 各ポートは設定メッセージを受信後、以下の動作を行います。

  • ポートが受信した構成メッセージの優先度がポートの構成メッセージの優先度よりも低い場合、仮想スイッチは受信した構成メッセージを破棄し、ポートの構成メッセージを処理しません。
  • ポートが受信した設定メッセージの優先度が、ポートの設定メッセージの優先度よりも高い場合、仮想スイッチは、ポートの設定メッセージの内容を受信した設定メッセージの内容に置き換える。

2) 仮想スイッチは、ローカル マシン上のすべてのポートの構成メッセージを比較し、最適な構成メッセージを選択します。

3. ルート ブリッジの選択

システムが初期化されると、仮想スイッチ情報は、仮想スイッチ MAC、仮想スイッチ優先度、仮想スイッチ ID、仮想スイッチ ロールの 4 つのパラメータを生成します。仮想スイッチ ロールの値は 0 で、ルート スイッチです。ポート情報は、ルート仮想スイッチ ID、ルート パス コスト、仮想スイッチ ID、ポート ID、ポート プライオリティ、ポート番号、ポート ステータス、およびポート ロールを生成します。ここで、ルート仮想スイッチ ID は仮想スイッチ ID、つまり、仮想スイッチはルート スイッチ、ルート パス コストの値 ポート ステータスの値は 0x00、つまりブロッキング状態、ポート ロールの値は 0x00、つまり指定ポートです。

すべての仮想スイッチはこのマシンをルート スイッチとして使用し、ポートの状態がブロッキング状態からリスニング状態に変わると、仮想スイッチは隣接する仮想スイッチに構成メッセージを Hello Time を周期として送信し、構成メッセージの優先度を比較します。最高の優先順位 構成メッセージに対応する仮想スイッチがルート スイッチとして選択されます。

4. ルートポートと指定ポートの選択

1) 指定スイッチの仮想スイッチは、各ポートが受信したコンフィグレーション メッセージを比較し、最も優先度の高いコンフィグレーション メッセージを持つポートをルート ポートとして設定します。

2) 仮想スイッチは、ルート ポート内の構成メッセージとルート ポートに対応するパス コストに基づいて、ポートごとに対応する指定ポート構成メッセージを計算します。

  • ルート ポート構成メッセージのルート仮想スイッチ ID をルート仮想スイッチ ID に置き換えます。
  • ルート パス コストを、ルート ポート構成メッセージのルート パス コストとルート ポートに対応するパス コストに置き換えます。
  • 仮想スイッチ ID をこの仮想スイッチの仮想スイッチ ID に置き換えます。
  • Port ID をこのポートのポート ID に置き換えます。

3) 仮想スイッチは、ポートの役割を決定する必要があるポートの構成メッセージを計算された構成メッセージと比較し、比較結果に従って対応する操作を実行します。

  • 設定メッセージの計算された優先度が比較的高い場合、仮想スイッチはそのポートを指定ポートとして設定します。ポートの構成情報は、計算された構成情報に置き換えられ、更新された構成情報が隣接する仮想スイッチに定期的に送信されます。
  • ポート内の構成メッセージの優先度が比較的高い場合、仮想スイッチはポートの構成メッセージを更新しません。また、ポートのポート ステートはブロッキング ステートに設定され、設定メッセージを受信するだけで送信はしません。

ルート スイッチ、ルート ポート、および指定ポートが決定されると、スパニング ツリーのトポロジ構造が正常に確立されたことになります。

5. スパニング ツリー トポロジの変更

スパニング ツリー プロトコルの実行後、各ポートの役割と状態はそれぞれフォワーディング ステートまたはブロッキング ステートで安定し、ツリー ネットワーク トポロジが確立されます。この期間中、ルート スイッチはネットワーク トポロジを維持するために、Hello Time 間隔に従って引き続き設定メッセージをマルチキャストします。

上位層から送信された構成メッセージをルート ポートが受信した場合にのみ、指定スイッチはすべての指定ポートに構成メッセージを送信するようにトリガーし、構成メッセージのメッセージ エージをインクリメントします。次の図に示すように、タイマーを有効にして、この構成メッセージの時間を計ります。

STP 仮想スイッチは、次の 2 つの原則に従って、トポロジ構造が変化するかどうかを判断します。

  1. フォワーディング ステートのポートは Disabled ステートに変わります。
  2. Disabled 状態のポートは、Forwarding 状態に変わります。

ポートの障害と有効化により、仮想スイッチはスパニング ツリーのトポロジが変更されたと認識し、TCN BPDU をルート スイッチに送信すると単純に考えられます。仮想スイッチによって構築されるネットワーク環境は実際のネットワーク環境とは異なるため、仮想スイッチ間でネットワーク トポロジが構築されると、ネットワーク トポロジが積極的に動的に変更されることはなく、ネットワーク トポロジは比較的安定したままになります。2 番目のケースに関係なく、つまり、ディセーブル ステートのポートがフォワーディング ステートに変更され、スパニング ツリー トポロジが変更されます。ディセーブル ステートのポートは、物理リンクが接続されていないと定義できます。

仮想スイッチは、スパニングツリーのトポロジ構造が変化したことを検出すると、まずルートスイッチかどうかを判断し、ルートスイッチでない場合は、ルートポートから上位の仮想スイッチに TCN BPDU を送信します。TCN BPDU を受信した後、上位レベルの仮想スイッチの指定ポートは確認のために構成 BPDU を送信します。

Flag フィールドの TCA を次の図に示します。

同時に、下図に示すように、メッセージがルート スイッチに到達するまで、ルート ポートから上位レベルの仮想スイッチに TCN BPDU を送信し続けます。 

スパニングツリーのトポロジーが変化したことを検出した仮想スイッチは、TCA を受信するまで、Hello Time 間隔で TCN BPDU を送信し続けます。

TCN BPDU を受信した後、ルート スイッチは TC BPDU をネットワーク全体にブロードキャストし、フラグ フィールドの TC は 1 です。トポロジが変更されたことをネットワーク全体が認識するまで、すべての仮想スイッチは TC BPDU を転送します。次の図に示すように、通常、ルート スイッチがネットワーク全体に TC BPDU を拡散するには、最大経過時間 + 転送時間の分かかります。 

仮想スイッチは TC BPDU を受信すると、仮想スイッチ情報にある仮想スイッチ MAC、仮想スイッチの優先度、仮想スイッチ ID、仮想スイッチの役割の 4 つのパラメーターと、ルート仮想スイッチ ID、ルート パスを再初期化します。コスト、および仮想スイッチ ID、ポート ID、ポート優先度、ポート番号、ポート ステータス、およびポート ロールを含む 8 つのパラメータがあります。

同時に、仮想スイッチの MAC アドレス マッピング テーブルをクリアします。ネットワーク全体のすべての仮想スイッチは、トポロジが変更されたことを認識すると再構成され、最終的に新しいスパニング ツリーが選択されます。 

おすすめ

転載: blog.csdn.net/qq_35029061/article/details/128791068