この記事は、ファーウェイクラウドコミュニティ「クラウドネイティブシリーズを再理解する(4) - 硬い野菜と柔らかいチューを使ったクラウドネットワーク」、著者: Huang Jun/中国招商証券クラウドネイティブ変革プロジェクトの研究リーダーから共有されたものです。
従来の IT アーキテクチャでは、ネットワークとは、手の届くところにある物理的なネットワーク機器を指します。サーバー間のネットワーク通信も、ネットワーク ケーブルや光ファイバー接続を通じて実現されます。トラフィック制御やアクセス制御戦略のほとんども、物理的なネットワーク機器で実現されます。ルーター/スイッチ。クラウド コンピューティングの時代では、ネットワークには、従来の物理ハードウェア デバイスに加えて、通常のサーバー上で実行される多数の仮想化されたネットワーク デバイス ソフトウェア アプリケーションも含まれています。仮想ネットワーク デバイスの接続には、基盤となる実際のハードウェアのサポートが必要なだけでなく、ソフトウェアの形式で仮想ネットワーク デバイス内のさまざまなオーバーレイ層の転送戦略やトラフィック監視にも注意を払う必要があります。ネットワーク管理者にとっての課題です。
クラウドコンピューティングに関連するクラウドネットワーク技術
クラウド コンピューティングの時代では、リソースの仮想化と割り当ての自動化により、柔軟な拡張と柔軟な構成が可能なコンピューティング リソースとストレージ リソースがユーザーに提供され、ビジネス システムの迅速かつ容易なリリースがサポートされます。相互接続されたネットワーク インフラストラクチャとして、ビジネス システムの急速な拡大と縮小およびネットワーク通信戦略の適応的な展開をさらにサポートし、ビジネスにエンドツーエンドのネットワーク迅速応答ソリューションを提供するために、ネットワーク機器の仮想化をどのように実現するかシステムはクラウドになりました。これは、コンピューティング時代に緊急に解決する必要がある中核的な重要な問題です。本質的に、クラウド ネットワーク テクノロジーは、データ センターの基盤となる物理ネットワーク機器の抽象化を実現し、ソフトウェア層でネットワーク リソースの二次分割、統合、または柔軟な管理と制御を実現し、迅速かつ柔軟にネットワーク リソースを実現することです。さまざまなビジネス シナリオの要件を満たすネットワーク利用要件、これが Software-Defined Networking (SDN) テクノロジの本来の目的です。
クラウドネットワーク技術の発展以来、クラウドを中心としてきた一方、データセンターインフラの包括的な仮想化をサポートするネットワークハードウェアの仮想化機能も開発しており、この面での機能は標準化・標準化されているのが特徴です。急速なネットワーキングとオンデマンドの拡張 ネットワーク リソースの容量、ネットワーク セキュリティの管理と制御戦略の柔軟な割り当て、計測と課金のサポート、およびフルスタックの監視; 一方、パブリック クラウドの精力的な開発により、クラウド企業テナント向けのネットワーク製品やサービスも誕生 一般的なネットワーク機器や機能をコンピュータルームレベルでシミュレーションし、ソフトウェア製品サービスの形でクラウド上でユーザーに提供します。
クラウドネットワーク基盤技術の進化
クラウドネットワークの基盤技術に関しても、コンピューティングの仮想化技術と同様に、ハードウェアの「ソフト化」という素晴らしい道を歩んできました。
すべてはスパインリーフアーキテクチャから始まります
1876 年に電話が発明されて以来、電話交換網は手動交換機、ステップ交換機、クロスバー交換機などの段階を経て、電話利用者数の急増に伴いネットワーク規模が急速に拡大しました。クロスバースイッチをベースにしているため、容量、コストともに要件を満たすことができませんでした。1953 年、ベル研究所の Charles Clos という名前の研究者は、「ノンブロッキング交換ネットワークの研究」という論文を発表しました。この論文では、「ノンブロッキング電話交換を実現するためのマルチレベル装置」方式が紹介されており、有名な CLOS ネットワーク モデルはその中心となるアイデアは、下図に示すように、複数の小規模かつ低コストのユニットで複雑で大規模なネットワークを構築することです (図中の四角形はすべて低コストの転送ユニットです) 。入力と出力が増加する場合、中間の交点はあまり増加する必要はありません。1980年代には、コンピュータの普及に伴い、コンピュータネットワーク技術も大きく進歩し、スター、チェーン、リング、ツリー構造など、さまざまなネットワークトポロジが登場し始め、最終的にはツリーネットワークの主流のアーキテクチャとなりました。しかし、初期のツリー構造のネットワーク帯域幅は収束しています。2000年以降、インターネットは経済危機から回復し、グーグルやアマゾンに代表されるインターネット大手が急成長した。彼らはクラウド コンピューティング テクノロジーを推進し始め、多数のデータ センター (IDC)、さらにはスーパー データ センターを建設しました。ますます大規模になるコンピューティング クラスターに直面して、従来のツリー ネットワークでは要件を満たすことができなくなったため、改良されたツリー ネットワークであるファットツリー アーキテクチャが誕生しました。従来のツリー タイプと比較して、ファット ツリー (Fat-Tree) は本物の木に似ており、木の根元に近づくほど枝が太くなります (実際には帯域幅を指します)。葉から根まで、ネットワーク帯域幅を統合する必要はありません。ファット ツリー アーキテクチャがデータ センターに導入された後、データ センターは従来の 3 層構造に発展しました (次の図を参照)。
このアーキテクチャは、コア ルーター、アグリゲーション ルーター (ディストリビューション ルーター、ディストリビューション ルーターとも呼ばれます)、およびアクセス スイッチで構成されます。長い間、データセンターでは 3 層ネットワーク構造が非常に一般的でした。ただし、このネットワーク アーキテクチャでは、次のようないくつかの欠点がまだあります。 » 帯域幅の無駄。アクセス スイッチの 1 つのアップリンクだけが実際にトラフィックを伝送し、他のアップリンクはブロックされます (図の点線で示すように)。フォールト ドメインが大きく、ネットワーク トポロジが変化すると STP プロトコルを再統合する必要があるため、障害が発生しやすくなり、VLAN ネットワーク全体に影響を及ぼします。» このアーキテクチャは大規模な 2 層の構築をサポートしていません。ネットワークが非常に複雑なため、超大規模クラウド プラットフォームのネットワーク要件に適応することが難しく、仮想マシンの動的な移行をサポートできません。
上記の問題に対応して、CLOS ネットワークに基づくスパイン-リーフ アーキテクチャ (中国語ではリーフ-スパイン ネットワークとも訳される、クロス ネットワーク ベースのスパイン アンド リーフ アーキテクチャ) と呼ばれる、新しいデータセンター ネットワーク設計スキームが誕生しました。 。このアーキテクチャは、高帯域幅、低遅延、ノンブロッキングのデータセンター レベルの接続サービスを提供できることが実践により証明されています。上図の右側に示すように、スパイン/リーフ アーキテクチャは 3 層アーキテクチャと比較して平坦化され、2 層アーキテクチャになります。
スパイン/リーフ アーキテクチャの利点は明らかです。
1. 帯域幅の利用率が高く、各リーフ スイッチのアップリンクは負荷分散された方法で動作できます。
2. ネットワーク遅延は予測可能であり、リーフ スイッチ間の接続パスはスパイン スイッチを通過するだけでよく、East-West ネットワーク遅延は予測可能です。
3. 優れた拡張性 上流の帯域が不足する場合には水平拡張によりSpineスイッチを増設することで迅速に帯域を拡張でき、サーバ数が増加する場合にはSpineスイッチを増設することで迅速にデータセンターマシンの規模を拡張できます。リーフ スイッチの数。
4. スイッチのパフォーマンス要件が軽減され、東西トラフィックが複数のリンクに均等に分散されるため、高価な高性能および高帯域幅スイッチの購入需要が減少します。
5. 高いセキュリティと可用性 デバイスに障害が発生しても、再収束する必要はなく、トラフィックは他の通常のパスを通過し続けます ネットワーク接続は影響を受けず、帯域幅は 1 台の帯域幅だけ減少しますパスに含まれるため、パフォーマンスへの影響は最小限に抑えられます。
上記の利点に基づいて、スパイン/リーフ アーキテクチャは 2013 年に登場して以来、すぐに従来の 3 層ネットワーク アーキテクチャの地位を置き換え、現代のデータ センターの新しい標準となりました。
大規模なレイヤー 2 ネットワークの時代の要請
前のセクションで、スパイン/リーフ アーキテクチャの出現について説明したとき、実際には、大規模な 2 層ネットワークの出現の理由を指摘しました。
クラウド コンピューティング テクノロジの出現により、サーバー仮想化の後、データ センター内のホストの規模が大幅に増加することに加えて、仮想マシンの動的な移行という新しい要件も生じます。仮想マシンの移行時にサービスを中断することはできないため、仮想マシンの IP アドレスを変更しないだけでなく、仮想マシンの実行状態 (TCP セッション状態など) も同じままにする必要があります。したがって、仮想マシンの動的移行は同じレイヤー 2 ドメイン内でのみ実行でき、レイヤー 2 ドメインを越えて移行することはできません。ただし、従来の 3 層ネットワーク アーキテクチャでは、仮想マシンの動的移行が狭い VLAN 範囲にのみ制限され、アプリケーションが大幅に制限されます。
この制限を打破し、仮想マシンの大規模な、またはリージョンを越えた動的移行を実現するには、VM の移行に関与する可能性のあるすべてのサーバーを同じレイヤ 2 ネットワーク ドメインに含める必要があります。 VM のスケールとバリアフリーの移行。これは大規模な 2 層ネットワークです。
過去 10 年間に、大規模なレイヤ 2 ネットワークを実現するために、ネットワーク デバイス仮想化ソリューション、L2 over L3 ソリューション、およびオーバーレイ ソリューションという 3 種類の代表的な実装ソリューションが業界に登場しました。いわゆるネットワークデバイス仮想化技術とは、冗長化された2つ以上の物理ネットワークデバイスを結合し、仮想化して1つの論理ネットワークデバイスを構築し、ネットワーク全体では1つのノードとして見せる技術です。リンクアグリゲーション技術と組み合わせることで、元のマルチノードおよびマルチリンク構造を論理的なシングルノードおよびシングルリンク構造に変換でき、途中でループ問題が解決されます。ネットワークデバイス仮想化+リンクアグリゲーション技術で構築されたレイヤー2ネットワークには、当然ループが存在せず、その規模は仮想ネットワークデバイスがサポートできるアクセス能力によってのみ制限されるため、仮想ネットワークデバイスが許可する限り、レイヤー2ネットワークは構築されます。好きなだけ大きくすることができます。しかし、これらのデバイス仮想化プロトコルのほとんどはネットワーク機器メーカーが独自に開発したものであるため、ネットワークを構築できるのは同一メーカーの機器のみであり、また、ネットワーク規模はスタッキングシステム自体の規模によって最終的に制限されてしまいます。スタッキング/クラスタリング おそらく 10,000 ~ 20,000 台のホストへのアクセスをサポートできますが、100,000 レベルの超大規模データセンターにはまだ無力に思えます。
L2 over L3 ソリューションの焦点は、ループの排除やブロックではなく、物理ループの場合に論理転送パスでのループを回避する方法です。この種のスキームは、冗長リンクの下でブロードキャスト ストームを防ぐだけでなく、レイヤ 2 メッセージの前に追加のフレーム ヘッダーを挿入し、ルーティング計算を使用してネットワーク全体のデータ転送を制御することにより、ECMP (等価ルーティング) を実装することもできます。レイヤ 2 ネットワークの規模は、コア スイッチの数に制限されることなくネットワーク全体に拡張できます。もちろん、これにはスイッチが従来の MAC ベースのレイヤ 2 転送動作を変更し、レイヤ 2 パケットを転送するための新しいプロトコル メカニズム(TRILL、FabricPath、SPB など)を採用する必要があります。TRILL プロトコルの場合、CISCO、Huawei、Broadcom、Juniper などはすべてそのサポート者であり、Avaya、ALU などは SPB のクラスターであり、HP などのメーカーは両方のタイプのプロトコルをサポートしています。一般的に、CTメーカーが推進するレイヤー2ネットワーク技術ソリューションはTRILLやSPBといった技術が主流であり、サーバ仮想化技術を手掛けるITメーカーは脇に置かれ、ネットワークにおける発言権は大きく弱められている。
しかし、クラウドコンピューティング技術の急速な発展にITメーカーも黙ってはならず、オーバーレイソリューションはサーバー仮想化技術を手掛けるITメーカーが中心となって推進する大規模な2層ネットワークソリューションです。原理は、トンネル カプセル化を使用して、送信元ホストによって送信された元のレイヤ 2 メッセージをカプセル化し、既存のネットワーク内で透過的に送信し、宛先に到着した後に元のメッセージにカプセル化を解除して、ターゲット ホストに転送することです。このようにして、ホスト間のレイヤ 2 通信が実現されます。パケットのカプセル化/カプセル化解除はサーバー内の仮想スイッチ vSwitch で実行され、外部ネットワークはカプセル化されたパケットに対して通常のレイヤー 2 スイッチングとレイヤー 3 転送のみを実行するため、ネットワーク技術の制御は IT ベンダーの手に戻ります。 。一般的な技術実装には、VXLAN、NVGRE、STT などが含まれます。もちろん、現在のCTメーカーもオーバーレイソリューションに積極的に参加しており、やはりクラウドコンピューティングが一般的な流れとなっています。したがって、現在の VXLAN および NVGRE テクノロジーは、TOR などのネットワーク デバイス上にオーバーレイ ネットワークのアクセス ポイントを展開することもでき、ネットワーク アクセス デバイスは VXLAN および NVGRE のパケットのカプセル化を完了できます。これによる利点は次のとおりです。
» 一方、仮想サーバーの場合、ハードウェア ネットワーク デバイスのパフォーマンスはソフトウェア vSwitch よりもはるかに優れており、カプセル化/カプセル化解除に TOR やその他のデバイスを使用すると、クラウド ネットワーク全体のパフォーマンスが自然に向上します。
» 一方、TOR にオーバーレイ アクセス ポイントを展開すると、非仮想化サーバーのオーバーレイ ネットワークへの統合も容易になります。これは基本的に、主流のクラウド ベンダーのベア メタル ソリューションに当てはまります。
その結果、大規模なレイヤ 2 ネットワークの分野では、CT ベンダーと IT ベンダーの双方が調和のとれた Win-Win の関係を実現することができ、現在ではオーバーレイ ソリューションが大規模なレイヤ 2 ネットワークの主流のソリューションとなっています。
アンダーレイとオーバーレイは正式に SDN の太陽を支えます
前のセクションで説明したように、オーバーレイ テクノロジーは実際にはトンネル カプセル化テクノロジーです。主流のプロトコルには VXLAN、NVGRE などが含まれます。基本原理は、レイヤー 2 パケットをトンネル カプセル化によってカプセル化し、既存のネットワーク内で透過的にすることです。伝送、カプセル化解除これは、既存のネットワークの上に大規模なレイヤ 2 ネットワークをオーバーレイすることと同じです。アンダーレイ層は、TOR スイッチ、アグリゲーション スイッチ、コア スイッチ、ロード バランシング デバイス、ファイアウォール デバイスなどのさまざまな物理ネットワーク デバイスを含むベアラー ネットワークになります。これにより、論理ネットワークと物理ネットワークの分離が実現されます。たとえば、Huawei Cloud/Alibaba Cloud ソリューションでは、VXLAN テクノロジーを使用してオーバーレイ ネットワークが構築されます。サービス パケットは VXLAN オーバーレイ ネットワーク上で実行され、物理ベアラー ネットワークから分離されます。 、デカップリング。
現在普及しているSDNテクノロジーにおいて、アンダーレイ/オーバーレイはコンセプトから実践まで欠かせない部分となっています。
データセンターまたはデータセンター相互接続 (DCI) シナリオでは、オペレーターはまず基礎となるアンダーレイ ネットワーク スケルトンを構築し、すべてのハードウェア ユニット (サーバー/ストレージ デバイス/監視デバイスなど) をスイッチやルーターを通じて相互に接続します。 。このアンダーレイ ネットワークでは、ISIS や BGP などの IP ネットワーク プロトコルを実行することにより、各ネットワーク ハードウェア ユニット間の到達可能性が保証されます。アンダーレイ ネットワーク アーキテクチャが完成したら、管理者は SDN コントローラーを展開してネットワーク全体のすべてのハードウェア リソースを調整および調整し、実際のユーザー トラフィックを伝送するためにテナント間にオーバーレイ ネットワーク接続を確立できます。
SDN テクノロジーにより、クローズドなハードウェアが「ソフト」オープンになります
SDN (Software Defined Network) テクノロジーは、従来のネットワーク アーキテクチャを再構築したもので、コントロール プレーン (Control Plane) とデータ プレーン (Data層のコントローラー ソフトウェアは、OpenFlow プロトコル チャネルを通じて、データ転送層デバイスに均一に命令を発行し、ネットワーク制御とデータ転送の完全な分離を実現し、従来のネットワーク デバイスの閉鎖性を 1 つに打ち破ります。急降下した。
OpenFlow プロトコルのオープン性により、サードパーティも対応するアプリケーションを開発し、制御層に配置することができます。これにより、ネットワーク リソースの割り当てがより柔軟になり、企業のパーソナライズされたシナリオに適切に対応できるようになります。ネットワーク管理担当者は、コントローラを介してデータ層の機器に指示を出すだけでよく、いちいち機器にログインする必要がないため、ネットワーク管理の効率が大幅に向上し、人件費を節約できます。SDN テクノロジーはネットワーク仮想化の開発プロセスを大きく推進し、そのネットワーク アーキテクチャ設計のアイデアが完全に実現され、今日の主要なクラウド プラットフォームに実装されていると言えます。SDN には、OpenFlow 組織が主導するオープン ソース ソフトウェア (Google、IBM、Citrix などの企業からのサポートを含む)、Cisco が主導するアプリケーション中心のインフラストラクチャ テクノロジ (Application Centric Infrastructure、ACI)、およびVMware主導のNSX。オープンソースの OpenFlow が事実上の業界標準になっているのは明らかです。
SDNの価値
ネットワークサービスの急速な革新をサポート
SDN のプログラマビリティとオープン性により、新しいネットワーク サービスを迅速に開発し、サービスのイノベーションを加速できます。ネットワーク上に新しいサービスを展開する場合は、SDN ソフトウェアを変更して、高速なネットワーク プログラミングと高速なサービスの起動を実現できます。SDN アーキテクチャでは、基盤となるハードウェアは、ビジネス機能から完全に切り離された転送機能とストレージ機能のみに重点を置く必要があります。ネットワーク機器の種類や機能はソフトウェア構成によって決定され、ネットワークの運用制御や運用も制御層サーバーで完結するため、ビジネスへの応答が比較的速く、ネットワークのさまざまなパラメータ(ルーティング、セキュリティなど)ポリシー、QoS など) をカスタマイズでき、リアルタイムでネットワークに設定できます。このようにして、新しいサービスの開始サイクルを、従来のネットワークでの数年から数か月、あるいはさらに速くすることができます。
ネットワークプロトコル構造を簡素化する
SDN のネットワーク アーキテクチャはネットワーク トポロジを簡素化し、多くの IETF プロトコルを排除できます。プロトコルの削除は、運用と保守の学習閾値が下がり、運用と保守の複雑さが軽減され、ビジネス展開の効率が向上することを意味します。SDN ネットワーク アーキテクチャではネットワークが集中制御されるため、SDN コントローラーによって制御されるネットワーク内の多くのプロトコル (RSVP プロトコル、LDP プロトコル、MBGP プロトコル、PIM マルチキャスト プロトコルなど) は基本的に不要です。ネットワーク内のパスの計算と確立はすべてコントローラーによって行われ、コントローラーはフロー テーブルを計算し、他のプロトコルを必要とせずに直接フォワーダーに送信します。
ネットワーク機器のホワイトラベル化
SDN アーキテクチャでは、コントローラーとフォワーダー間のインターフェイス プロトコル (OpenFlow プロトコルなど) が徐々に標準化され、専用の OpenFlow 転送チップのサプライヤー、コントローラーのメーカーなどのネットワーク機器にホワイトラベルを付けることが可能になります。と呼ばれるシステムが垂直統合開発から水平統合開発へ移行します。垂直統合とは、1つのメーカーがソフトウェアからハードウェア、サービスまで一貫した製品サービスを提供することを意味し、水平統合とは、システムの水平分業を指し、各メーカーが製品のコンポーネントを完成させ、インテグレーターがそれらを統合して販売します。水平分業は、システムの各部分の独立した進化と更新、迅速な反復的な最適化、健全な競争の促進に役立ち、それによって各コンポーネントの購入単価が下がり、最終的には全体の購入コストが大幅に削減されます。機械製品。
ビジネスオートメーション
SDN ネットワーク アーキテクチャでは、ネットワーク全体が SDN コントローラーによって制御されるため、SDN コントローラーは独立してネットワーク サービスの展開を完了し、L2VPN、L3VPN などのさまざまなネットワークのパーソナライズされた構成サービスを提供して、ネットワークの内部詳細を保護できます。ネットワーク サービスの自動化機能を提供します。ネットワーク パス トラフィックのインテリジェントな最適化 従来のネットワークでは、さまざまなルーティング プロトコルによって計算された、いわゆる「最適な」パスがネットワーク パスの選択の基礎となります。しかし、その結果、「最適な」パス上でトラフィックの輻輳が発生する可能性があります。帯域幅がアイドル状態です。SDN ネットワーク アーキテクチャを使用すると、SDN コントローラーは各リンク上のネットワーク トラフィックの状況に応じてネットワーク トラフィック パスをインテリジェントに調整し、ネットワーク全体の観点から全体的なネットワーク伝送効率を向上させることができます。
SDN 触媒によるネットワーク仮想テクノロジー ハリケーン
次に、ネットワーク仮想化技術の急速な発展を、ネットワークデバイス仮想化、リンク仮想化、仮想ネットワークの 3 つのレベルから見てみましょう。
ネットワークデバイスの仮想化
ネットワーク デバイス仮想化テクノロジは、クラウド ネットワーク テクノロジの中で最も急速に成長し、最も影響力のある分野であり、主に NIC 仮想化と従来のネットワーク デバイス仮想化の 2 つの方向が含まれます。
1.NICの仮想化
ネットワーク カード仮想化テクノロジの進化ルートは、記事「クラウド ネイティブを認識するパート III: ソフト フードとハード フードを使用したコンピューティング」の I/O 仮想化の進化ルートと基本的に同じであり、純粋なソフト仮想化 (すなわち、Qemu、 VMware Workstation 仮想ネットワーク カード実装ソリューション)、準仮想化(Virtio、Vhost-net、Vhost-user シリーズ ソリューション)、次にハードウェア パススルー ソリューション(SR-IOV)、そして最後にハードウェア オフロード(vPDA、DPU など)に至ります。 。
ネットワーク カード仮想化の製品形式は、パブリック クラウドで共通の仮想ネットワーク カードです。主に、同じ物理ネットワーク カードを共有する各仮想マシンのソフトウェア制御によって実現されます。仮想ネットワーク カードは、個別の MAC アドレスと IP アドレスを持つことができます。 . 初期の構造は次の図に示されています。すべての仮想マシンの仮想ネットワーク カードは、仮想スイッチと物理ネットワーク カードを介して物理スイッチに接続されます。仮想スイッチは、物理ネットワーク ポートから仮想マシン上のデータ パケットを転送する役割を果たします。必要に応じて、仮想スイッチはセキュリティ制御などの機能もサポートできます。
仮想ネットワーク カードには、e1000、Virtio、およびその他の実装テクノロジが含まれます。Virtio は現在最も一般的な技術フレームワークであり、仮想マシンと物理サーバー間のデータ交換に共通のソリューションを提供します。ほとんどのハイパーバイザーでサポートされており、事実上の標準になっています。
Virtio は準仮想化ソリューションであり、ゲスト OS が自身が仮想マシンであることを認識し、フロントエンド ドライバーとバックエンド シミュレーション デバイスの連携により IO 仮想化を実現します。完全仮想化と比較して、この方法では仮想マシンの IO パフォーマンスが大幅に向上します。
オリジナルの Virtio 通信メカニズムでは、ゲストはユーザー空間内のハイパーバイザーと通信し、複数のデータ コピーと CPU 特権レベルの切り替えが行われます。ゲストが外部ネットワークにパケットを送信する場合、ゲストはカーネル状態の KVM に切り替える必要があり、KVM はゲスト ネットワーク要求を処理するようにユーザー空間の QEMU に通知します。明らかに、このコミュニケーション方法は効率的ではありません。すぐに、Virtio テクノロジーの進化の中で、カーネル状態オフロード ソリューションである Vhost-net が登場しました。
Vhost-net は Virtio のバックエンド実装であり、新しい Vhost プロトコルのセットと一致します。Vhost プロトコルを使用すると、VMM は Virtio のデータ プレーンを別のコンポーネントにオフロードできます。このコンポーネントは Vhost-net です。Vhost-net は OS カーネルに実装されており、KVM や QEMU をバイパスしてゲストと直接通信します。QEMU と Vhostnet は、ioctl を使用して Vhost メッセージを交換し、eventfd を使用してフロントエンドとバックエンドでイベント通知を実装します。Vhost-net カーネル ドライバーがロードされると、/dev/Vhost-net 内のキャラクター デバイス識別子が公開され、QEMU はキャラクター デバイスを開いて初期化し、ioctl を呼び出してコントロール プレーン上の Vhost-net と通信します。その内容には、Virtio の機能ネゴシエーション、仮想マシンのメモリ マップを Vhost-net に渡すなどが含まれます。最も原始的な Virtio ネットワーク実装と比較すると、コントロール プレーンは、元の実行に基づいて Vhost プロトコルによって定義された ioctl 操作に変換されます (フロントエンドの場合、それは依然として PCI トランスポート層プロトコルを通じて公開されるインターフェイスです)。共有メモリに基づく Vring データ伝送は Virtio-net に変換され、Vhost-net と共有されます。データ プレーンの反対側は Vhost-net に変更され、フロントエンドとバックエンドの通知メソッドも実装されます。イベントFDに基づいています。
データチャネルは、単一の送受信プロセスにおいて、ユーザーモードとカーネルモードの間のコンテキスト切り替えプロセスを2回削減し、カーネルモードでのデータチャネルのアンロードを実現することで、データ伝送効率を大幅に向上させます。
ただし、データ プレーン通信ソリューション (Open vSwitch や類似の SDN ソリューションなど) などのユーザー モード プロセス間の一部の通信では、ゲストは依然としてホスト ユーザー モード vSwitch とデータを交換する必要があります。ゲストとホストの間では依然として複数のコンテキスト スイッチとデータ コピーが存在します。この状況を回避するために、業界は Vhost-net をカーネル状態からユーザー状態に移行するソリューションを考案しました。これが実装アイデアです。 Vhost ユーザー ソリューション。
Vhost プロトコルに基づいて、DPDK は新しいユーザー モード プロトコルのセットである Vhost-user を設計しました。このプロトコルはネットワーク パケット処理 (データ プレーン) をユーザー モードの DPDK アプリケーションにオフロードします。また、コントロール プレーンは Vhost-user を構成するために QEMU によって引き続き構成されます。さらに、DPDK は、プロセッサ アフィニティ管理、NUMA スケジューリング、通常のメモリの代わりにラージ ページ メモリの使用、リソース競合の問題を解決するためのロックフリー テクノロジの使用、ポーリング モード ドライバなどのテクノロジを最適化および実装しています。ネットワーク アンインストール計画が具体化しました。
それでも、テクノロジーの反復進化には終わりがありません。上記のソリューションはネットワーク パフォーマンスを大幅に向上させましたが、一般に、Virtio ネットワーク仮想化ソリューションは常にソフトウェア層の実装に焦点を当ててきました。ホスト上のソフトウェア仮想化により、余分なオーバーヘッドが発生します。発生することは常に避けられません。RedHatの技術専門家は、クラウドネットワークサービスのパフォーマンスをさらに向上させるために、Virtioの機能を専用のハードウェアにオフロードし、業務に関係のないタスクはOSやCPUをバイパスして直接引き渡すことができると提案した。これは、vDPA ハードウェア オフロード ソリューションの本来の設計意図であり、Virtio セミハードウェア仮想化ソリューションの初期のハードウェア ソリューション実装アイデアでもあります。
このフレームワークはRedhatによって提案され、Virtioデータプレーンのハードウェアオフロードを実現します。コントロール プレーンは依然として元のコントロール プレーン プロトコルを使用しており、制御情報がハードウェアに送信され、ハードウェアがデータ プレーンの構成を完了すると、ハードウェア デバイス SmartNIC (スマート ネットワーク カード) によってデータ通信プロセスが完了し、ゲスト仮想マシンはネットワーク カードと直接通信します。割り込み情報も、ホストの介入なしに、ネットワーク カードによってゲストに直接送信されます。この方法は、パフォーマンスの点で SR-IOV ハードウェア パススルー ソリューションに近く、同時に Virtio 標準インターフェイスを引き続き使用して、クラウド サービスの互換性と柔軟性を維持できます。ただし、そのコントロール プレーンの処理ロジックは比較的複雑です。OVS によって転送されるトラフィックの最初のパケットはホスト上の OVS 転送プレーンによって処理される必要があり、データ フローに対応する後続のパケットはハードウェア ネットワーク カードによって直接転送できます。 、ハードウェアで実装するのは困難です。
しかし、ますます多くのハードウェア メーカーが Virtio プロトコルをネイティブにサポートし始め、ネットワーク仮想化機能をハードウェアにオフロードし、組み込み CPU を SmartNIC (スマート ネットワーク カード) に統合することで、ネットワーク カードがすべてのネットワーク データを処理できるようになり、組み込み 標準 CPU は、制御パスの初期化と例外の処理を担当します。ハードウェア オフロード機能を備えたこの種の SmartNIC は、現在ますます人気が高まっている DPU です。
2. ネットワークデバイスの仮想化
ハードウェア デバイスの仮想化には、主に 2 つの方向があります。 従来の x86 ベースのマシンに特定のオペレーティング システムをインストールして、ルーティング機能を実装します。
前者の初期の代表的な製品は Mikrotik が開発した RouterOS です。これは Linux カーネルをベースに開発されており、標準的な x86 アーキテクチャのマシンにインストールできるため、通常の Linux サーバーもルーターとして使用できます。この種の機器は、その低価格とハードウェア プラットフォームの制限を受けないなどの特徴により、多くのローエンド ルーター市場を占有しています。現在、国内外の主流クラウド ベンダーは、SDN コントロール プレーンの実現に関してほぼ同じ考えを持っています。
後者は主に第一世代のクラウド コンピューティング テクノロジーの市場需要に応えて誕生しましたが、コンピューティングの仮想化以降、データ センターの通信規模は大幅に増大し、従来のルーターの単一ルーティング テーブルでは需要に対応できなくなりました。ルーティングおよび転送(VRF)テクノロジーは、ルーティング情報ベース(転送情報ベース、FIB)を複数のルーティングおよび転送テーブルに仮想化することです。この技術の背景には、主に大規模通信機器のポート利用率の向上、設備投資の削減、および1台の物理デバイスを複数の仮想デバイスに仮想化することがあり、各仮想デバイスは独自のルーティングテーブルやフォワーディングテーブルを維持するだけで済みます。 Cisco の N7K A シリーズのスイッチは複数の VDC に仮想化できます。すべての VDC は物理シャーシのコンピューティング リソースを共有しますが、相互に影響を与えることなく独立して動作します。また、保守・管理・制御を容易にするために、H3CのIRF技術のように、複数の物理デバイスを1つの仮想デバイスに仮想化する統合仮想化技術にも一定の市場が存在します。
リンク仮想化
リンク仮想化は、ネットワークの信頼性と利便性を向上させる、最も広く使用されているネットワーク仮想化テクノロジの 1 つです。一般的なリンク仮想化技術としては、リンクアグリゲーションやトンネリングプロトコルなどが挙げられますが、この部分の内容については「第 4 部 ハードネットワークとソフトネットワーク (前編)」で詳しく説明していますので、ここでは簡単に説明します。
リンク アグリゲーション (ポート チャネル) は、最も一般的なレイヤ 2 仮想化テクノロジです。リンクアグリゲーションは、複数の物理ポートを束ねて 1 つの論理ポートに仮想化します。スイッチは、物理ポート リンクの 1 つに障害が発生したことを検出すると、このポートでのパケットの送信を停止し、負荷分散ポリシーに従って残りの物理リンクからパケットを送信するポートを選択します。リンク アグリゲーションにより、リンク帯域幅が増加し、リンク層での高可用性が実現します。
トンネリング プロトコルは、1 つのテクノロジー/プロトコルの 2 つ以上のサブネットを、別のテクノロジー/プロトコルのネットワークを介して相互接続することを指します。トンネリング プロトコルは、データ フレームまたは他のプロトコルのパケットを再カプセル化し、トンネル経由で送信します。新しいフレーム ヘッダーは、カプセル化されたペイロード データをネットワーク経由で渡すためのルーティング情報を提供します。トンネルは、データ フローを特定のアドレスに強制的に送信し、中間ノードのネットワーク アドレスを隠し、必要に応じてデータを暗号化する機能を提供します。現在の一般的なトンネル プロトコルは、VXLAN、GRE、および IPsec です。現在の大手クラウドベンダーのクラウドプラットフォームのネットワーク実装ソリューションはすべてこれに基づいています。
仮想ネットワーク
仮想ネットワークは、仮想リンクで構成されるネットワークです。仮想ネットワーク ノード間の接続は、物理ケーブルではなく、特定の仮想化リンクによって接続されます。一般的な仮想ネットワークには、データ センターで広く使用されている仮想レイヤ 2 拡張ネットワーク、仮想プライベート ネットワーク、およびオーバーレイ ネットワークが含まれます。
仮想 L2 拡張ネットワーク (仮想 L2 拡張ネットワーク) は、実際にはオーバーレイ ネットワークの初期のソリューションとみなすことができます。仮想マシンの動的な移行要件を満たすために、従来の VPL (MPLS L2VPN) テクノロジーだけでなく、新しい Cisco OTV および H3C EVI テクノロジーもすべてトンネルを使用して、中間層全体でレイヤ 2 データ パケットをレイヤ 3 パケットにカプセル化します。 3 層ネットワークは、2 つの場所間での 2 層データの相互通信を実現するために使用されます。
バーチャル プライベート ネットワーク (VPN、正式名称 Virtual Private Network) は、長い間使用されてきた通信方法であり、中規模および大規模の企業またはグループ間のプライベート ネットワークを接続するためによく使用されます。仮想プライベート ネットワークは、インターネットなどのパブリック ネットワーク インフラストラクチャを介してイントラネット情報を送信します。暗号化トンネルプロトコルを利用することで、機密性、端末認証、情報の正確性などのセキュリティ効果を実現します。このテクノロジーは、安全でないネットワーク上でも信頼性の高い安全な情報を送信できます。一般に、企業ではクラウド コンピューティング テクノロジーよりも早くから導入されています。
オーバーレイ ネットワークについては、以前の記事でも詳しく説明したので、ここでは繰り返しません。
クラウドネットワーク製品の開発
全体として、クラウド ネットワーク製品は、初期のクラシック クラウド ネットワークからプライベート ネットワーク (Virtual Private Cloud)、そしてより広範囲の接続を備えたクラウド ネットワークへと 3 つの大きな進化を遂げてきました。クラウド ネットワーク テクノロジーの発展は、企業のデジタル化とグローバル化の縮図でもあります。
クラシック (ベーシック) クラウド ネットワーキング
AWS が 2006 年に s3 および ec2 クラウド サービスを開始し、パブリック クラウド ユーザーにクラウド サービスを提供し始めて以来、2010 年に Alibaba Cloud が Classic クラシック クラウド ネットワーク ソリューションを正式に開始し、クラウド コンピューティング ユーザーのネットワーク サポートを実現し、その後 Tencent Cloud 、Huawei Cloudも同様の基本的なネットワーク製品を提供しています。
これらはパブリック クラウドの初期のクラウド製品であり、当時、クラウド ネットワークに対するユーザーの主な要求は、パブリック ネットワーク アクセス機能を提供することでした。クラシック クラウド ネットワークの製品特徴は、クラウド上のすべてのユーザーがパブリック ネットワーク リソース プールを共有し、すべてのクラウド サーバーのイントラネット IP アドレスがクラウド ベンダーによって均一に割り当てられ、ネットワーク セグメント分割と IP アドレスをカスタマイズできないことです。 。
プライベートネットワークVPC
2011 年頃から、モバイル インターネットの発展に伴い、ネットワーク セキュリティをクラウド上に分離し、相互に通信する機能や、企業自身のセキュリティを確保できるクラウドを選択する企業が増えています。クラウド上のネットワークと相互接続するデータセンターを構築し、ハイブリッド クラウドを構築する能力や、クラウド上でマルチリージョン展開した後のマルチリージョン ネットワーク相互接続機能が多くの要求を引き起こしています。現時点では、従来のネットワーク ソリューションではこれらのニーズを満たすことができなくなり、AWS はタイムリーにクラウド上で VPC 製品サービス (プライベート専用ネットワーク サービス、正式名称は Virtual Private Cloud) を開始しました。VPC は論理的に分離されたネットワークです。企業ユーザーがクラウド上に構築する空間—— VPCでは、ユーザーはネットワークセグメントの分割を自由に定義し、ネットワークセグメントにIPアドレスを自由に割り当て、ルーティングポリシーをカスタマイズすることができます。その後、NAT ゲートウェイ、VPN ゲートウェイ、ピアツーピア接続などのクラウド ネットワーク製品が次々に発売され、クラウド ネットワークの接続機能が大幅に強化され、プライベート ネットワーク ソリューションの当初の設計目標が基本的に実現されました。
現在、VPCを中核としたクラウドネットワーク製品体系は発展・成長を続けており、ロードバランサー、エラスティックネットワークカード、エラスティックパブリックネットワークIP、クラウドファイアウォールなどの派生ネットワーク製品も次々と誕生しています。
クラウドネットワーキング
近年、経済のグローバル化の急速な進展に伴い、ビッグデータやAIアプリケーションの出現により、より広範囲かつ柔軟なアクセス機能や配信機能を提供するクラウドプラットフォームネットワークが求められ、プライベートネットワーク接続やクラウドエンタープライズネットワークの出現につながっています。サーバーやクラウド ネットワークなどのさまざまなシナリオに対応するクラウド ネットワーク製品にアクセスして、企業のグローバル化シナリオにおけるさまざまな複雑な相互接続および相互通信のニーズに対応します。
同時に、従来の CDN 配信サービスもクラウド ネットワークと深く統合された後、第 2 の春を迎えており、現在、大手クラウド ベンダーが CDN グローバル コンテンツ配信サービスとアプリケーション アクセラレーション サービスを開始しています。同時に、SD-WAN アクセス サービスの継続的な改善により、企業情報アーキテクチャ統合の物理的エッジも世界に向けて前進しています。
クラウドネットワーク技術のさらなる進化の展望
基本的なコア テクノロジーの進化の観点から見ると、クラウド ネットワークは、ネットワーク アドレス指定の柔軟性とネットワーク伝送パフォーマンスの向上のための継続的な最適化プロセスです。クラシック クラウド ネットワークと VPC ネットワークはどちらも、アドレス指定スキームにオーバーレイ テクノロジーを使用し、仮想ネットワーク層では、マルチテナントのサポートがそれに重ね合わされるため、クラウド上のテナント間のネットワーク分離のセキュリティと、テナント内のアプリケーションの相互接続と相互通信の柔軟性の要求を効果的にサポートし、ネットワーク パフォーマンスの向上の観点から、
ネットワーク機器の形態を再構築することで、転送制御の柔軟性を損なうことなく、データ転送性能を継続的に向上させることが、今日の主流技術の進化の方向性であり、仮想スイッチを例に挙げると、ハードウェアサーバのネットワーク帯域幅が10Gから25Gにアップグレードされ、さらには、 100G、vSwitch テクノロジーは、クラシック ネットワークにおける Linux カーネル モード データ交換、DPDK ユーザー モード データ交換、ハードウェア パススルー、およびインテリジェント ネットワーク カード ハードウェア オフロード (vPDA、DPU など) の進化プロセスを経験してきました。
製品の観点から見ると、クラシック ネットワーク、VPC ネットワーク、クラウド ネットワーキング製品という 3 世代のクラウド ネットワーク製品の開発後、クラウド ネットワーク製品の機能は、内部ネットワークの仮想化に重点を置くことから大幅に拡張されました。データセンターの内部ネットワーク仮想化に重点を置き、企業間の相互接続、さらにSD-WANアクセス機能を利用して企業ネットワークアクセス機能を仮想化し、さまざまなシナリオでのアクセスをサポートします。クラウド ネットワーク製品は、クラウド上のコンピューティング リソースやストレージ リソースを接続するだけでなく、企業の本社/支社ネットワークやクラウド外部のさまざまな端末を接続するなど、クラウド下のアクセス範囲を徐々に拡大していき、最終的には企業が次のようなサービスを利用できるようにします。クラウド上に完全なネットワークを構築し、IT情報サービスエコシステムを構築します。
クラウドコンピューティング技術が第3世代クラウドネイティブ時代に発展した現在、各種仮想化技術の成熟により、さまざまなソフトウェアデファインドハードウェアのクラウド機能が実装可能となり、コンテナ技術の大規模な商業利用により、ビジネスの研究開発と基本的な運用および保守の統合と連携の間の技術的なギャップは完全に解消され、ビジネス アプリケーションのフルスタックの可観測性要件により、ビジネス サービスの監視が基本的なネットワーク層までドリルダウンされ、ネットワーク トラフィックが許可されるようになるでしょう。ビジネス属性をもたらすモニタリングにより、ビジネス フルリンク モニタリングが真に生産性の価値を持つようになります。そして、これはすべてコンテナネットワークとクラウドネットワーク技術の統合の深さと応用範囲にかかっており、この分野は大手クラウドベンダーが将来的にクラウドネイティブ時代を勝ち取るための戦略的司令塔ともなるでしょう。
参考文献
クラウド ネットワーク製品とテクノロジーの分析: https://zhuanlan.zhihu.com/p/351449927
クラウド コンピューティング ネットワークの話 (1): クラウド コンピューティング ネットワーク技術の概要: https://blog.csdn.net/qiansg123/article/details/80123088
クラウド コンピューティング ネットワークの話 (2): クラウド コンピューティング ネットワークのアプリケーション シナリオ: https://blog.csdn.net/qiansg123/article/details/80124473
クラウドネットワークの発展の歴史について語る: https://baijiahao.baidu.com/s?id=1621622261059186571&wfr=spider&for=pc
コンピュータネットワークの形成と発展のプロセス: https://www.sohu.com/a/540490960_121350545
クラウド コンピューティングにおけるネットワークの基本: https://blog.csdn.net/qq_46254436/article/details/104588055
クラウド ネットワークの 15 年間の進化の歴史の簡単な説明: https://zhuanlan.zhihu.com/p/307684414
コンピュータネットワーク開発の歴史: https://zhuanlan.zhihu.com/p/150417958
とてもわくわくする!ネットワーク技術の理論を要約し、過去を振り返り、新しいことを学ぶ 12,000 語
https://zhuanlan.zhihu.com/p/371546795
Virtio デバイスとドライバーの概要: ヘッドジャックと電話
https://www.redhat.com/zh/blog/virtio-devices-and-drivers-overview-headjack-and-phone
仮想ホストユーザー領域への旅
https://www.redhat.com/zh/blog/journey-vhost-users-realm
クリックしてフォローして、Huawei Cloudの最新テクノロジーについて初めて学びましょう~
マルチ環境開発をサポートする国内初のIDE——CEC-IDE MicrosoftがPythonをExcelに統合、グイおじさんがフレームワーク策定に参加 中国プログラマーらギャンブルプログラム作成を拒否、歯14本抜かれ88%の身体損傷 オープンソースのSongフォントを模倣したPodman Desktop、 ダウンロード数50万件を突破 オープニング画面の広告を自動的に 無期限に更新停止 「Li Tiao Tiao」が スキップ Xiaomiがmios.cnウェブサイトのドメイン名を申請