UCloud が 2012 年に設立されて以来、仮想ネットワークは常に IaaS 製品のコア コンポーネントであり、多くの進化を遂げてきました。進化の過程で私たちが常に考えているのは、ユーザーコストを増やすことなく、より信頼性が高く高速なネットワークをユーザーに提供する方法です。答えは、テナントの分離、転送機能、安定性など、複数のニーズを同時に満たすために、技術チームに新しいテクノロジーを継続的に採用させることです。
当社の初期の SDN ソリューションでは、転送プレーンの実装に Open vSwitch (OVS) を使用し、制御プレーンの実装に自社開発のコントローラーを使用していました。この時期に、物理マシン(ベアメタル)とパブリッククラウド間の相互アクセスのニーズを解決するために、Centec の SDN スイッチが初めて使用されました。 SDN スイッチの OpenFlow フロー テーブル エントリが制限される問題を解決するために、UCloud は SDN スイッチの代わりに DPDK テクノロジーに基づくゲートウェイ クラスターを使い始めました。実際にテストされたさまざまな DPDK ゲートウェイが UCloud のクラウド プラットフォームにますます登場し、ユーザーに高速なネットワーク機能を提供しています。 DPDKの欠点 2017 年に 25G ネットワークが急速に導入され始めると、UCloud の仮想ネットワークにはより大きな課題が生じました。この文脈において、DPDK は徐々にいくつかの欠点を明らかにしてきました。
2つの選択肢は除外された 2017 年半ば、UCloud は新しい SDN ハードウェア オフロード ソリューションの評価を開始しました。 私たちの目に最初に浮かぶソリューションは、VXLAN VTEP ベースのソリューションです。このタイプのソリューションは通常、SDN コントローラーを含む完全なソリューション セットとしてスイッチ メーカーによって提供され、プライベート クラウド環境での展開に適しています。しかし欠点も明らかです。閉鎖的で、標準化されておらず、カスタマイズできません。通常、ユーザーは、ノースバウンドのベンダー固有の API メソッドを通じてのみ、このようなソリューションと対話できます。さらに、このようなソリューションは通常、約 100,000 個の仮想ネットワーク MAC アドレスしかサポートしないため、UCloud のビジネス ニーズを満たすのは困難です。さらに、UCloud では Ethernet Over GRE (Linux GRETAP) に基づく Overlay カプセル化が求められていますが、Overlay プロトコルをサポートするハードウェア スイッチはありません。 次に、OpenFlow 1.3 プロトコルをサポートするハードウェア スイッチに注目しました。予備的な調査とテストを行った結果、OpenFlow 1.3 プロトコルをサポートするハードウェア スイッチと OVS の間には大きなギャップがあることがわかりました。実際には、OpenFlow フロー テーブルをハードウェア スイッチに移植することは不可能です。 Ethernet Over GRE プロトコルをサポートしていないことに加えて、OVS で使用されるフロー ベース トンネリング機能はハードウェア スイッチではサポートされていません。 P4が視界に入る 2017 年第 4 四半期に、Barefoot の P4 対応プログラマブル スイッチ (Tofino チップ) に関する事前調査を開始し、すぐにそれが当社のニーズに非常によく合うことがわかりました。 P4 と Barefoot について語るとき、ニック・マッケオン教授について言及しないわけにはいきません。 2007 年、ニック氏とそのパートナーは Nicira Networks を設立しました。これは「ソフトウェア定義ネットワーク (SDN)」業界の誕生をほぼ象徴するものでした。 Nicira は OpenFlow の総本山として、OpenFlow の重要なコンポーネントである NOX と Open vSwitch を次々とリリースしてきました。 2012 年に VMware が Nicira を買収した後、Nick は SDN の 2 番目のステップは SDN 向けに特別に最適化されたハードウェア デバイスを開発することであると信じました。彼と彼のパートナーは、ネットワーク ユーザーがチップ ハードウェア メーカーのさまざまなプロトコルの制約から解放されるよう、データ パケットを処理するためのプログラミング言語である P4 (Programming Protocol-Independent Packet Processors) を共同で立ち上げました。 P4 には次の設計上の利点があります。
2013 年、ニックは Barefoot Networks を設立しました。同社は、P4 ベースのネットワーク チップ Tofino とソフトウェア開発キット Capilano の開発に取り組んでおり、P4 コミュニティの成長と発展を支援しています。 Barefoot は P4 プログラマブル スイッチ (Tofino チップ ベース) をサポートしており、次のような利点があります。 DPDKよりも高い転送パフォーマンス
他のハードウェアスイッチよりもオープン
P4 スイッチ アーキテクチャ コントロールプレーンの実装 当初、私たちは、Barefoot が提供する switch.p4 を変更して機能を実装する予定でした。しかし、コードを読んでみると、switch.p4 にはスイッチに必要な機能がすべて含まれているものの、多くの機能は必要ないことが分かりました。したがって、switch.p4 を変更またはカスタマイズするのではなく、ニーズにより適したコントロール プレーンをゼロから作成することにしました。 NOS レイヤーは、DPDK プログラムの開発における当社のこれまでの経験を参考にしており、Linux を通じて完全に実装されています。 P4 コードは、すべての非 Ethernet Over GRE カプセル化パケットを制御パケットとして CPU ポートに送信します。 CPU ポートは Linux 上の仮想ネットワーク カードであり、メッセージはカーネルを介して hostif の仮想ネットワーク カードに転送されます。ホスト仮想ネットワーク カード上の IP アドレスの構成、ARP 学習などの機能はすべて Linux カーネルを通じて実装されます。 Quagga などのユーザー空間プログラムは、ホスト仮想ネットワーク カードと上位レベルのルーターの IP を介して BGP を実行し、学習したルートをカーネルのルーティング テーブルに書き込みます。私たちが直接開発した APP モジュールは、bf_switchd プラグインとしてロードされ、netlink インターフェイスを介してカーネルの ARP テーブルとルーティング テーブルを学習し、P4 コードがコンパイルされた後に生成された API を呼び出して Tofino チップに書き込みます。 コントローラー層では、最初に P4 コンパイラーによって生成された Apache Thrift インターフェースを介して bf_switchd にデータを送信し、次にそれを Tofino チップに書き込みました。しかし、簡単なパフォーマンス テストを通じて、Apache Thrift インターフェイス設計の制限により、各 RPC 呼び出しで構成できるデータは 1 つだけであることがわかりました。そのため、大量のデータを構成する必要がある場合、パフォーマンスは理想的ではありません。この目的のために、APP モジュールで gRPC サーバーを起動し、バッチ構成配信のインターフェースを再定義し、構成配信速度を 8 倍に向上させました。将来的には、コントロール プレーンを P4 Runtime と Stratum に進化させる予定です。 シャーディング P4 プログラマブル スイッチの PPS または BPS パフォーマンスは非常に強力で、回線速度で転送できます。 DPDK と比較すると、単一マシンのパフォーマンスを制限するボトルネックは、主にスイッチの DRAM と TCAM に現れます。結局のところ、DPDK は最小メモリ 64G の X86 サーバー上で実行され、512G は珍しくありませんが、スイッチ チップ上のメモリ リソースは比較的はるかに少なくなります。 単一スイッチのリソースボトルネックを打破するために、テナントごとにデータをシャーディングするソリューションを設計し、水平拡張の目標を達成しました。 まず、64 ポート P4 プログラマブル スイッチがアクセス レイヤーとして使用され、主にデータ シャーディングとグレースケール リリースの機能を実現します。例えば、VNI の最後の 6 ビットを 64 個のフラグメントに分割し、各フラグメントにネクストホップ アドレスを割り当てることで、クラスター全体のリソースを水平に拡張する機能を実現します。 強力なグレースケール機能 従来、ネットワーク デバイスは通常、アクティブ/スタンバイまたはアクティブ/アクティブ方式で展開されます。アップグレードが必要な場合、デバイスの半分へのすべてのトラフィックが遮断され、残りの半分のデバイスはアップグレードのためにオフラインになります。アップグレードが完了すると、クラスターに再参加してトラフィックの半分を共有します。このアップグレード方法は単純かつ大雑把であり、UCloud ではより高い要件が課せられています。ソフトウェア業界の現状は、テストにいくら費やしても、実際のユーザーの行動を徹底的に調査することはできず、欠陥は常に存在してしまうということです。現時点での私たちにとっての最高のセーフティネットは「グレーリリース」です。テストの最初のステップとしてライブネットワーク環境を使用しながら、変更の範囲を制御することでリスクを最小限に抑えます。欠陥があった場合は、影響を最小限に抑えるためにすぐにロールバックします。 UCloud では、仮想ネットワークデバイス上でも、製品ごとにアカウントベースのグレースケールリリースをしっかりと採用しています。 スイッチ ソフトウェアをグレースケールでリリースし、アクセス レイヤーに機能を構築します。
従来のネットワーク機器とはまったく異なるこのアップグレード方法により、SDN ソフトウェアの急速な反復を背景に、SDN ネットワークの信頼性が効果的に確保されます。 P4 スイッチ アプリケーション
現在、UCloud は P4 プログラマブル スイッチを使用した新世代スイッチング ゲートウェイ UXR の開発とテストを完了しています。また、検証のためにリージョンを展開し、グレースケール トラフィックを切り替えました。 要約する 2018 年初頭に Barefoot の Tofino チップが量産に入ってから、P4 プログラマブル スイッチが徐々に市場に登場し始めましたが、まだ新興の段階です。現時点ではまだいくつかの欠点があることは否定できませんが、UCloud は、以前のスイッチと比較してソフトウェア エンジニアに大きな自由を与えることができると考えています。 6月27日、BarefootのCEOであるCraig Barratt氏と彼のチームがUCloud本社を訪れた際の技術交流では、緊密な協力を通じて、ニーズにさらに合致し、問題点に効果的に対処できるカスタマイズ可能なソリューションを生み出すことができると全員が同意しました。私たちは、継続的な技術の進化により、クラウド プラットフォームのユーザーに、より高速で強力なネットワーク機能を継続的に提供できると信じています。 Barefoot のホームページにもあるように、ついに「ソフトウェアがネットワークを飲み込んでいる」と言えるようになりました。 参考リンク:
|
<<: クラウド アーキテクト - クラウド コンピューティングの導入を成功させる上で重要な役割
>>: AWSはマイクロソフトを大きく上回り、Googleはクラウド市場の優位性を維持
多くの企業がハイブリッド クラウドを採用しているのは、オンプレミスのインフラストラクチャ、プライベー...
レノボがすでに国内のPC市場で確固たる地位を築き、優位な地位を確立していることは周知の事実です。ハー...
「百度は狂っているのか?」というフレーズが、私たちの目の前に頻繁に現れているようだ。正直に言うと、見...
最近、フラッシュセールや無料の車など、すべて「無料」という言葉が入った無料のものをネットでよく見かけ...
HUAWEI CONNECT 2018において、Sinopec Yingke Information...
インターネットの急速な普及と電子商取引の急速な発展と成長により、全国各地にさまざまなマーケティングウ...
この問題を明確にするために、いくつかの側面から議論します。 1. ウェブサイトのページの重みの移動は...
最近、App Annie は「2020 年の世界モバイル市場予測」レポートを発表しました。このレポー...
ラトビアの VPS プロバイダー yourserver は、KVM シリーズが現在運用可能であること...
プロモーション活動を経て、物流業界についてある程度理解できました。今後、インターネットなしでは成り立...
私は医療ウェブサイトの最適化に取り組んでいます。毎日仕事に行く前に、いつも百度の包含とランキングを確...
楽観主義者は「太陽はいつも雲の上にある」と言うのが好きです。彼らが言及していないのは、雲の下には強風...
トラフィックとユーザーは、ウェブサイトの 2 つの重要な生命線です。この 2 つは互いに補完し合って...
王老基は誰もが知っていますが、趙老基、陳老基、周老基については聞いたことがありますか?今年の春節マー...
今年の国慶節プロモーションをcubecloudがお届けします。香港CN2 IGAおよび米国CN2 G...