toplogo
Sign In
insight - コンピュータネットワーク - # プロキシベースのネットワーキング

Hermes:再構成可能なプロキシを用いた汎用ネットワーキングアーキテクチャ


Core Concepts
Hermesは、エンドユーザーデバイスから様々な場所にまで拡張する、動的に構成可能なプロキシのオーバーレイネットワーク上に構築された、汎用ネットワーキングアーキテクチャであり、サービスと通信の課題に対するエンドツーエンドのソリューションを提供し、エンドユーザーエクスペリエンスを向上させる。
Abstract

Hermesアーキテクチャの概要

Hermesは、動的に再構成可能なプロキシのオーバーレイネットワークと、それを管理するコントロールプレーンで構成される、汎用ネットワーキングアーキテクチャです。プロキシは、依存型とスタンドアロン型の2つの役割を担います。依存型プロキシは、送信元または宛先から直接トラフィックを受信し、それらのネットワーキングを制御します。スタンドアロン型プロキシは、オーバーレイのバックボーンを形成し、ソフトウェアルーターとして機能します。プロキシには、プロキシロジックを強化し、追加機能を実装したり、高度なトラフィック操作機能を提供したりする、いくつかの補助コンポーネントを付属させることができます。

Hermesは、汎用的で適応性のある通信媒体として機能するために、オーバーレイに以下の概念を取り入れています。

  1. アプリケーションやサービスから、動的に再構成可能なプロキシのオーバーレイネットワークへのネットワーキング責任の委任。これにより、アプリケーションとサービスは、基盤となるネットワークの複雑さを気にすることなく、ローカルの依存型プロキシとのみ通信できます。プロキシは動的に再構成可能であるため、サービスやネットワークの状態の変化に適応できます。
  2. インターネットとの互換性を維持するために、UDP、TCP、またはHTTPプロキシとして機能。プロキシはIPエンドポイントであり、UDPおよびTCPポートをリッスンし、少なくともUDP、TCP、およびHTTPレイヤーでデータを処理し、UDPまたはTCPでカプセル化されたトラフィックを次の宛先に送信できる必要があります。
  3. HTTPヘッダーで定義されたセマンティクスに基づいてトラフィックを処理およびルーティング。各プロキシは、入力トラフィックにカスタムHTTPヘッダーを追加できます。これらのヘッダーは、特定のアクションの実装、分散デバッグの実行、ユーザー依存情報の入力トラフィックへの追加、ルーティング決定などに使用できます。
  4. 単純なフォワーダーではなく、トラフィック処理ポイントとして機能。プロキシは、補助コンポーネントを利用して、一般的なIPパケットをリッスンしているUDPまたはTCPポートにリダイレクトするためのトンネルデバイスの作成、入力トラフィックをより適切に処理するためのローカルアルゴリズムの実行、高度なキャッシング、ポリシーの適用など、機能を強化できます。これらの補助コンポーネントはすべてコントロールプレーンによって管理され、オーバーレイプロキシを介して通信します。

これらのコアコンセプトを利用することで、Hermesは以下のような機能を提供します。

  • アプリケーションの簡素化と堅牢性の向上。プロキシは、サービスやネットワークの状態の変化に応じて、使用するプロトコルやパラメータを動的に調整したり、最適なパスを選択したりできます。たとえば、アプリケーションが常にUDPを介してプロキシに接続する場合、プロキシはTCPまたはHTTP/2を介して宛先にデータをトンネリングできます。ネットワークの状態が悪化した場合、プロキシはパケット損失に対してより耐性のあるQUIC/HTTP/3を使用するように更新できます。重要な点は、アプリケーションはローカルプロキシに接続するだけで、ネットワークの状態を気にする必要がないことです。オーバーレイがこれらの複雑さを管理し、プロキシを更新します。
  • 専用アドレス空間の提供。専用アドレス空間は、ドメイン名またはIPアドレスの形式のアドレスをユーザーに関連付けます。アプリケーションはドメイン名をプロキシに渡すことができるため、開発者は「DEV」などの特定の名前をホスト名として使用できます。ユーザーがローカルの依存型プロキシにホスト名として「DEV」を提供すると、プロキシにはHTTPヘッダーとして表示されます。各プロキシは、アドレスをローカルで処理するか、別のプロキシに委任するように構成できます。したがって、2人の異なるユーザーにとって、ホスト名「DEV」は2つの異なるマシンに解決される可能性があります。オーバーレイノードは、DNSの介入の有無にかかわらずアドレスを処理できるため、エンドホストでDNS解決を行う必要がなくなります。IPアドレスについては、セクションIII-Cで示すように、ネットワークアドレスをHTTPヘッダーとしてユーザの入力トラフィックに追加できます。
  • きめ細かいエンドツーエンドのトラフィック制御と監視の提供。通常、組織はユーザートラフィックを処理し、トラフィックが組織のネットワークエッジに到達すると、認証、承認、負荷分散などのタスクを実行します。エンドユーザーデバイスにプロキシをデプロイすることで、組織は制御と処理機能をユーザーのデバイス自体に拡張できます。これにより、生成された瞬間からユーザートラフィックをエンドツーエンドで制御できるようになり、大きな利点があります。ユーザートラフィックを早期に把握することで、組織はローカルの負荷分散アルゴリズムとエンドポイント選択アルゴリズムをプロキシ補助コンポーネントとしてデプロイし、エンドユーザーデバイスから直接トラフィックをより適切に分散できます。さらに、オーバーレイは、インターネット全体およびドメイン間で、各ユーザーのIDに合わせたエンドツーエンドのポリシー適用とポリシーベースのトラフィック管理を実装できます。セクションIII-Cで示すように、組織はIPトラフィックを完全に制御し、ポリシーをエンドツーエンドで適用できます。さらに、HermesがゼロトラストAPPとホストアクセスシナリオを実装できることも示されています[35]。
  • レガシーアプリケーションとプロトコルの互換性の提供。互換性は、サービスの開発と保守における大きな課題です。すべての新しいインターネット向けサービスは、下位互換性を確保するか、顧客が新しいバージョンに移行するまで、組織が古いエンドポイントを長期間アクティブな状態に保つ必要があります。場合によっては、一部の顧客が現在のサービスとの互換性の問題に直面することがありますが、サービスの再設計はコストがかかりすぎることがよくあります。Hermesは、エンドユーザーのローカルプロキシでトンネリングとプロトコルおよびデータ形式の変換を可能にすることで、これらの課題に対処します。これは、オーバーレイプロキシのみを変更する必要があることを意味します。セクションIII-Aでは、UDPベースのビデオストリーミングサービスが、クライアントまたはサーバーの実装を変更することなく、UDPをHTTP上でトンネリングすることで、ノイズの多いネットワークで信頼性の高いロスレスストリーミングを実現する方法を示します。
  • 不安定なネットワークでの通信のサポート。過去10年間、研究者は、非常に不安定なネットワークでの通信をサポートするためのプロトコル、メカニズム、アーキテクチャを提案してきました[11]、[36]、[37]。ただし、これらのアプローチでは、多くの場合、アプリケーションを変更したり、変換ゲートウェイを使用して元の接続を別のプロトコルまたはアーキテクチャに変換したりする必要があります。Hermesは、ネットワーク接続の変化に適応できる適応性のあるオーバーレイを作成します。たとえば、プロキシはTCPの代わりにQUICを使用するように再構成したり、ローカルアルゴリズムを使用して、使用中の現在のプロトコルの再試行パラメータを微調整したりできます。セクションIII-Bでは、非常に不安定なネットワーク[38]ではTCPを介した直接通信は実行可能ではありませんが、オーバーレイプロキシパラメータを調整することで100%の配信成功率を達成できることを示します。
  • 実験的なネットワーキングプロトコルとアーキテクチャのサポート。実験的なプロトコルとアーキテクチャの場合、カスタムデータ形式をインターネットプロトコルのペイロードとしてカプセル化し、宛先でカプセル化を解除するのが、グローバルな到達可能性を実現するための現実的なアプローチです。ただし、インターネットを介したトラフィックとネットワークの管理は複雑なままであり、複雑なサービスアーキテクチャになります。Hermesオーバーレイは、アーキテクチャコンポーネント間でデータを転送するための基盤となるネットワークとして機能し、名前ベースのルーティング、トラフィック管理、信頼性の高い配信、負荷分散などの機能を提供し、プロトコルとアーキテクチャの設計を簡素化します。セクションIII-Dでは、オーバーレイがNDNノード間でトラフィックを伝送し、信頼性と負荷分散を提供する方法を示します。特に、セクションII-Bで説明するように、将来のアーキテクチャがUDPまたはTCPカプセル化をサポートしていない場合でも、Hermesはトンネルデバイスを実行してIPパケットをキャプチャし、オーバーレイ経由でルーティングできます。

Hermesアーキテクチャは、複雑さをオーバーレイノードに移行することで、エンドユーザークライアントを簡素化します。このアプローチにより、プロキシがトラフィックルーティング、ネットワーク管理、互換性の問題を処理するため、アプリケーションとサービスの開発、保守、管理が容易になります。

edit_icon

Customize Summary

edit_icon

Rewrite with AI

edit_icon

Generate Citations

translate_icon

Translate Source

visual_icon

Generate MindMap

visit_icon

Visit Source

Stats
インターネットトラフィックの60%以上がHTTP(S)である。 ウェブトラフィックの50%以上がモバイルデバイスからのものである。
Quotes

Key Insights Distilled From

by Behrooz Fark... at arxiv.org 11-22-2024

https://arxiv.org/pdf/2411.13668.pdf
Hermes: A General-Purpose Proxy-Enabled Networking Architecture

Deeper Inquiries

Hermesアーキテクチャは、IoTデバイスやモバイルデバイスなど、多様なエンドユーザーデバイスにどのように対応できるでしょうか?

Hermesアーキテクチャは、多様なエンドユーザーデバイスに対応するために、以下の様な特徴を持っています。 軽量なプロキシ: エンドユーザーデバイスに配置される依存プロキシは、デバイスのリソース消費を抑えるため、軽量に設計されています。 多様なプロトコルへの対応: UDP、TCP、HTTPなど、様々なプロトコルに対応しており、IoTデバイスやモバイルデバイスで利用される多様な通信方式に対応できます。 モバイルプロキシクライアント: AndroidやiOS向けのモバイルプロキシクライアントが開発されており、スマートフォンやタブレットなどのモバイルデバイスにも対応できます。 柔軟な構成: エンドユーザーデバイスの種類や能力に合わせて、プロキシの機能や設定を調整できます。例えば、処理能力の低いデバイスでは、一部の処理をスタンドアロンプロキシにオフロードするといった構成も可能です。 これらの特徴により、Hermesアーキテクチャは、IoTデバイスやモバイルデバイスを含む、多様なエンドユーザーデバイスに対して柔軟に対応できます。

既存のネットワークインフラストラクチャやセキュリティ対策との統合における課題と解決策は何でしょうか?

Hermesアーキテクチャを既存のネットワークインフラストラクチャやセキュリティ対策と統合するには、以下の様な課題と解決策が考えられます。 課題 既存のファイアウォールやNATとの互換性: Hermesのプロキシは、特定のポートを利用するため、既存のファイアウォールやNATの設定変更が必要になる場合があります。 既存のセキュリティ対策との連携: 既存の侵入検知システムやセキュリティ情報イベント管理システムとの連携が必要になります。 プロキシの認証と認可: プロキシへの不正アクセスを防ぐため、適切な認証と認可の仕組みが必要になります。 解決策 標準プロトコルへの準拠: 可能な限り標準的なプロトコル(HTTP、TLSなど)を利用することで、既存のネットワーク機器との互換性を確保します。 設定自動化: Ansibleなどの構成管理ツールを利用して、ファイアウォールやNATの設定変更を自動化します。 API連携: セキュリティ対策ベンダーが提供するAPIを利用して、Hermesのプロキシを既存のセキュリティ対策システムと連携させます。 証明書ベースの認証: X.509証明書などを利用した相互認証により、プロキシとコントローラー間の安全な通信を確保します。 これらの解決策により、Hermesアーキテクチャを既存のネットワークインフラストラクチャやセキュリティ対策とスムーズに統合することが可能になります。

Hermesの分散型アーキテクチャは、セキュリティとプライバシーの面でどのような影響を与えるでしょうか?

Hermesの分散型アーキテクチャは、セキュリティとプライバシーの面でプラスとマイナスの両方の影響を与えます。 プラスの影響 単一障害点の排除: 分散型アーキテクチャを採用することで、単一障害点のリスクを低減し、可用性と耐障害性を向上できます。 データの分散管理: データを複数のプロキシに分散して管理することで、特定のプロキシが攻撃を受けても、影響を最小限に抑えられます。 エンドツーエンドのセキュリティ: エンドユーザーデバイスからサービスプロバイダーのネットワークまで、通信経路全体を保護できます。 マイナスの影響 攻撃対象の増加: 複数のプロキシが攻撃対象となるため、攻撃のリスクが増加する可能性があります。 複雑性の増加: 分散型アーキテクチャは、集中型アーキテクチャに比べて複雑になる傾向があり、セキュリティ対策の実装や運用が難しくなる可能性があります。 対策 プロキシのセキュリティ強化: プロキシソフトウェアの脆弱性対策やセキュリティ設定の強化などを行い、プロキシ自体のセキュリティレベルを高めます。 セキュアな通信: プロキシ間やプロキシとコントローラー間の通信には、TLSなどのセキュアな通信プロトコルを使用します。 アクセス制御: プロキシへのアクセス制御を適切に設定し、許可されたユーザーのみがアクセスできるようにします。 監視の強化: プロキシやコントローラーの動作状況を監視し、異常を検知できるようにします。 Hermesアーキテクチャを利用する際は、これらのプラスとマイナスの影響を理解し、適切なセキュリティ対策を講じる必要があります。
0
star