JP7439137B2 - ラベルを使用してネットワークトラフィックをルーティングするためのシステムおよび方法 - Google Patents

ラベルを使用してネットワークトラフィックをルーティングするためのシステムおよび方法 Download PDF

Info

Publication number
JP7439137B2
JP7439137B2 JP2021571665A JP2021571665A JP7439137B2 JP 7439137 B2 JP7439137 B2 JP 7439137B2 JP 2021571665 A JP2021571665 A JP 2021571665A JP 2021571665 A JP2021571665 A JP 2021571665A JP 7439137 B2 JP7439137 B2 JP 7439137B2
Authority
JP
Japan
Prior art keywords
label
service
application
network
services
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2021571665A
Other languages
English (en)
Other versions
JP2022537645A (ja
Inventor
ボッシュ,ヘンドリクス,ジー.ピー.
オーロフソン,ステファン
ワイナン,イスブラント
グプタ,アヌバヴ
ナッパー,ジェフリー
マレンダー,サップ,ユリエン
Original Assignee
シスコ テクノロジー,インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by シスコ テクノロジー,インコーポレイテッド filed Critical シスコ テクノロジー,インコーポレイテッド
Publication of JP2022537645A publication Critical patent/JP2022537645A/ja
Application granted granted Critical
Publication of JP7439137B2 publication Critical patent/JP7439137B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/50Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/302Route determination based on requested QoS
    • H04L45/306Route determination based on the nature of the carried application
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/021Ensuring consistency of routing table updates, e.g. by using epoch numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/42Centralised routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0272Virtual private networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/029Firewall traversal, e.g. tunnelling or, creating pinholes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Description

関連出願の相互参照
本出願は、[Private networking for ASPs and services with mobile SD-WAN]と題され、Hendrikus G.P.Boschらによって2019年6月6日に出願された米国仮特許出願第62/858,245号、および[Application labels supporting better anomaly detection]と題され、Hendrikus G.P.Boschらによって2019年6月6日に出願された米国仮特許出願第62/858,207号の利益を主張するものであり、これらは、これらの全体があたかも再現されるかのように参照によって本明細書に援用される。
本開示は、概して、ラベルを使用してトラフィックをルーティングすることに関し、より詳細には、ラベルを使用してネットワークトラフィックをルーティングするためのシステムおよび方法に関する。
機密情報は、ネットワーク内の1つ以上のノードを介して送信され得る。ネットワーク内の特定のノードは侵入される可能性がある。例えば、攻撃者が1つ以上のネットワークノードにアクセスする場合がある。ネットワークノードが侵入を受けた場合、従来の保護は、侵入を受けたノードを通過する機密情報の保護に効果がないことが判明する場合がある。
ラベルを使用してネットワークトラフィックをルーティングするための、例示的なシステムを示す。 図1のシステムによって使用され得る、例示的なシステムを示す。 ラベルを使用してネットワークトラフィックをルーティングするための、例示的な方法を示す。 アプリケーションラベルを使用してネットワークトラフィックをルーティングするための、例示的なシステムを示す。 本明細書に記載のシステムおよび方法によって使用され得る、例示的なコンピュータシステムを示す。
概要
本発明の態様は、独立請求項で述べられ、好ましい特徴は、従属請求項で述べられる。一態様の特徴は、単独で、または他の態様と組み合わせて、各態様に適用し得る。
一実施形態によれば、デバイスは、1つ以上のプロセッサと、1つ以上のプロセッサに結合された1つ以上のコンピュータ可読非一時的記憶媒体とを含む。1つ以上のコンピュータ可読非一時的記憶媒体は、命令を含み、命令は、1つ以上のプロセッサによって実行されたときに、デバイスに、アプリケーションに関連付けられたサービスにトラフィックをルーティングする要求をデバイスのモバイルエージェントによって検出することを含む動作を、実施させる。動作は、モバイルエージェントによって、アプリケーションに関連付けられたアプリケーション識別子を識別することと、モバイルエージェントによってかつアプリケーション識別子を使用して、ルーティングテーブルに含まれる複数のラベルからラベルを選択することと、をさらに含む。選択されたラベルは、1つ以上のルートを含む。動作は、モバイルエージェントによって、選択されたラベルを使用して、アプリケーションに関連付けられたサービスにトラフィックをルーティングすることをさらに含む。ラベルは、ソフトウェア定義型ワイドエリアネットワーク(SD-WAN)、仮想プライベートネットワーク(VPN)、マルチプロトコルラベルスイッチング(MPLS)ラベル、ネットワークサービスヘッダ(NSH)ラベル、および汎用ネットワーク仮想化カプセル化(GENEVE)トンネルラベルのうちの1つ以上に関連付けることができる。サービスは、パブリックな、サービスとしてのインフラストラクチャ(IaaS)、プライベートなIaaS、パブリックな、サービスとしてのソフトウェア(SaaS)、プライベートなSaaS、およびプライベートエンタープライズサービスのうちの1つ以上に関連付けることができる。
特定の実施形態では、ラベルは、インラインセキュリティサービスを有するエクストラネットサービスをサポートし、インラインセキュリティサービスは、ファイアウォールサービス、侵入検出サービス、侵入防止サービス、およびクラウドアクセスセキュリティブローカー(CASB)サービスのうちの1つ以上を含む。いくつかの実施形態では、ヘッドエンドノードは、選択されたラベルを受信し、ポリシーテーブルに1つ以上のポリシーを維持し、かつ1つ以上のポリシーおよび選択されたラベルを使用して、トラフィックをアプリケーションに関連付けられたサービスにルーティングする。特定の実施形態では、動作は、モバイルエージェントによって、ドメインネームシステム(DNS)要求を受信することと、アプリケーション識別子を使用して、DNS要求をラベルにマッピングすることと、を含む。特定の実施形態では、動作は、モバイルエージェントによって、1つ以上のポリシーを含むポリシーテーブルを維持することと、モバイルエージェントによって、1つ以上のポリシーを使用して、アプリケーションに関連付けられたアプリケーション識別子をラベルにマッピングすることと、を含み得る。
別の実施形態によれば、方法は、アプリケーションに関連付けられたサービスにトラフィックをルーティングする要求を検出することを含む。本方法はまた、アプリケーションに関連付けられたアプリケーション識別子を識別することと、アプリケーション識別子を使用して、ルーティングテーブルに含まれる複数のラベルからラベルを選択することと、も含む。選択されたVPNラベルは、1つ以上のルートを含む。本方法は、選択されたラベルを使用して、アプリケーションに関連付けられたサービスにトラフィックをルーティングすることをさらに含む。
別の実施形態によれば、1つ以上のコンピュータ可読非一時的記憶媒体は、命令を包含し、命令は、プロセッサによって実行されたときに、プロセッサに、アプリケーションに関連付けられたサービスにトラフィックをルーティングする要求を検出することを含む動作を、実施させる。動作は、アプリケーションに関連付けられたアプリケーション識別子を識別することと、アプリケーション識別子を使用して、ルーティングテーブルに含まれる複数のラベルからラベルを選択することと、をさらに含む。選択されたラベルは、1つ以上のルートを含む。動作は、選択されたラベルを使用して、アプリケーションに関連付けられたサービスにトラフィックをルーティングすることをさらに含む。
従来のルーティングソリューションでは、ネットワークは、アプリケーションとサービスとの間のルーティングフローを支援するために、一連のルーティング情報ベース/転送情報ベース(RIB/FIB)テーブルをネットワークのルータ全体で維持している。ルーティングプロトコルは、エンドポイント間の効率的かつ/または最適なパスを見つける。パスには一連のネットワークホップが含まれ得、ルーティングテーブルは通常、宛先ネットワークへの最短パスを見つけるために各ホップで作成される。ルートを維持するために、1つ以上のインターネットサービスプロバイダ(ISP)が使用され得る。単一のRIB/FIBテーブルは、サービスへの最も適切なパス(例えば、最短パス)を維持する。従来のルーティングソリューションは、複数のISPを使用して同一のサービスセットを受信する場合ならびに、これらのISPの各々が、サービスを指定するために、差別化されたサービス品質(QoS)クラスおよび/またはサービス品質保証(service level agreement、SLA)を提供する場合を考慮していない。アプリケーションサービスプロバイダ(ASP)は、ISPと協力してサービスのパッケージを提供することはない。本開示は、ラベル付けされたネットワーク上のASPによって、アプリケーションをバンドルするためのシステムおよび方法を説明する。
本開示の特定の実施形態の技術的利点には、以下のうちの1つ以上が含まれ得る。本開示の特定の実施形態は、モバイルデバイス上でラベル駆動型ルーティングテーブルおよびデータ転送を管理する、モバイルエージェントを導入する。モバイルエージェントは、企業によって契約されているサービスに基づいて、独自のルーティングテーブルのセットを作成する。企業は、アプリケーションごとに特定のパス(パスのラベルによって識別される)を選択して、特定のサービスへのアクセスを提供することができ、これにより、差別化されたサービスと接続、およびそのようなペアごとの差別化されたQoSクラスが可能となる。プライベートアプリケーションネットワーク/サービスネットワークの確立を許可することは、企業がアプリケーションおよびサービスの脆弱性に対処するための効果的な方法を提供する。
他の技術的利点は、以下の図面、説明、および特許請求の範囲から、当業者には容易に明らかになるであろう。さらに、特定の利点が上に列挙されているが、様々な実施形態は、列挙された利点のすべて、一部を含むか、またはまったく含まない場合がある。
例示的な実施形態
本開示は、概して、ラベルベースのVPNに関する。本開示の特定の実施形態は、一連のVPNをアプリケーション/VPNルーティングテーブルに組み込むモバイルエージェントをモバイルデバイス上に導入する。クラウドサービスまたはエンタープライズサービスなどのサービスは、1つ以上のISPによって提供されるラベルのセットでサポートされている。特定の実施形態では、ヘッドエンドノードは、ラベルを、SD-WANラベルおよび/または利用可能な場合は他のセグメント化されたネットワークに変換する。モバイルデバイス上のモバイルエージェントがサービスへのラベルベースの接続用に設定されると、そのようなサービスへのアクセスを取得するにはASPが必要になり得る。例えば、ASPは、VPNラベルにSD-WANを用いてサービスをパッケージ化する場合がある。ASPは、SD-WAN VPNラベルをエンタープライズユーザに拡張する場合がある。ASPは、モバイルデバイスにSD-WAN VPNラベル付きのアプリケーション/VPNルーティングテーブルをインストールして、モバイルデバイスの契約サービスへの接続を容易にすることができる。単一のASP/ISPペアのみがサービスを提供するという必要がないことを考慮すると、企業は、ユーザのアプリケーションごとに可能な限り最良のASP/ISPペアを受け取ることができる。
本開示の特定の実施形態は、アプリケーションに関連付けられたラベルを作成する、モバイルデバイス上のモバイルエージェントを含む。ヘッドエンドノードでは、このラベルをネットワークラベルにマッピングして、(例えば、仮想ルーティング転送インスタンス(VRF)を介して)ルーティングテーブルを選択することができる。そのネットワークラベルは、SD-WANラベル、マルチプロトコルボーダーゲートウェイプロトコル(MP-BGP)ラベル、MPLSラベルなどである。複数のラベルは1つ以上のサービスプロバイダによって一緒につなぎ合わされ(stitched)、最終的にアプリケーションサービス(例えば、エンタープライズネットワーク、パブリックなIaaSもしくはプライベートなIaaS、パブリックなSaaSもしくはプライベートなSaaSなどに導かれ得る。クラウドネットワーク上にクラウドアプリケーションをバンドルし、バンドルされたアプリケーションをローカルVRF(およびひいてはラベル)につなぎ合わせることにより、モバイルデバイス間、ネットワーク間、およびクラウド間にエンドツーエンドネットワークが作成される。このネットワークは、完全に分離されたネットワークと見なされる。図1は、ラベルを使用してネットワークトラフィックをルーティングするための例示的なシステムを示し、図2は、図1のシステムによって使用され得る例示的なシステムを示す。図3は、ラベルを使用してネットワークトラフィックをルーティングするための、例示的な方法を示す。図4は、アプリケーションラベルを使用してネットワークトラフィックをルーティングするための、例示的なシステムを示す。図5は、本明細書に記載のシステムおよび方法によって使用され得る、例示的なコンピュータシステムを示す。
図1は、ラベル126を使用してネットワークトラフィックをルーティングするための、例示的なシステム100を示す。システム100またはその一部は、VPNラベルを使用してネットワークトラフィックをルーティングする事業所または会社(例えば、サービスプロバイダ)などの任意のエンティティを含み得る、エンティティに関連付けられ得る。システム100の構成要素は、ハードウェア、ファームウェア、およびソフトウェアの任意の適切な組み合わせを含み得る。例えば、システム100の構成要素は、図5のコンピュータシステムの1つ以上の要素を使用してもよい。
システム100には、ネットワーク110、モバイルデバイス120、モバイルエージェント122、ルーティングテーブル124、VPNラベル126、ポリシーテーブル128、ポリシー130、ノード140、アプリケーションサービス150、およびセキュリティサービス160が含まれる。システム100のネットワーク110は、システム100の構成要素間の通信を容易にする、任意のタイプのネットワークである。ネットワーク110は、システム100の1つ以上の構成要素を接続することができる。本開示は、任意の適切なネットワークを企図している。ネットワーク110の1つ以上の部分には、アドホックネットワーク、イントラネット、エクストラネット、VPN、ローカルエリアネットワーク(LAN)、ワイヤレスLAN(WLAN)、ワイドエリアネットワーク(WAN)、ワイヤレスWAN(WWAN)、メトロポリタンエリアネットワーク(MAN)、インターネットの一部分、公衆交換電話網(PSTN)の一部分、携帯電話ネットワーク、これらの2つ以上の組み合わせ、またはその他の適切なタイプのネットワークが含まれ得る。ネットワーク110は、1つ以上のネットワークを含み得る。ネットワーク110は、プライベートネットワーク、パブリックネットワーク、インターネットを介した接続、モバイルネットワーク、WI-FIネットワークなどの任意の通信ネットワークであってよい。システム100の1つ以上の構成要素は、ネットワーク110を介して通信することができる。ネットワーク110には、コアネットワーク(例えば、インターネット)、サービスプロバイダのアクセスネットワーク、ISPネットワークなどが含まれ得る。ネットワーク110の1つ以上の部分は、SD-WAN技術を利用し得る。
システム100のモバイルデバイス120は、情報を受信、作成、処理、格納、および/または通信することができる任意のエンドデバイスである。例えば、モバイルデバイス120は、システム100の1つ以上の構成要素(例えば、ノード140)から情報(例えば、データパケット)を受信することができる。別の例として、モバイルデバイス120は、情報(例えば、データパケット)をシステム100の1つ以上の構成要素(例えば、ノード140)に通信することができる。特定の実施形態では、モバイルデバイス120は、ハンドヘルドコンピュータである。モバイルデバイス120は、携帯電話(例えば、スマートフォン)、ラップトップコンピュータ、タブレット、携帯情報端末などであり得る。モバイルデバイス120は、液晶ディスプレイ(LCD)、有機発光ダイオード(OLED)フラットスクリーンインタフェース、デジタルボタン、デジタルキーボード、物理ボタン、物理キーボード、1つ以上のタッチスクリーン構成要素などを含み得る。モバイルデバイス120は、サービスプロバイダなどのエンティティに関連付けられ得る。モバイルデバイス120は、グラフィカルユーザインタフェース(GUI)を含み得る。モバイルデバイスは、図5のコンピュータシステムの1つ以上の構成要素を含み得る。
特定の実施形態では、モバイルデバイス120は、1つ以上のアプリケーションを利用する。モバイルデバイス120のアプリケーションは、特定のオペレーティングシステム用に構築されたネイティブアプリケーション、モバイルデバイス120で実行されているブラウザ上でページをレンダリングおよび/または配信するモバイルウェブアプリケーションなどを含み得る。モバイルデバイス120のブラウザは、ワールドワイドウェブ上の情報にアクセスするためのソフトウェアアプリケーションである。1つ以上のブラウザは、小さな画面のためにウェブコンテンツを効果的に表示するように最適化することができる。
システム100のモバイルデバイス120は、モバイルエージェント122、ルーティングテーブル124、およびポリシーテーブル128を含む。モバイルエージェント122は、モバイルデバイス120上でアプリケーションとして実行され、モバイルデバイス120のための特定のタスクを実施する。特定の実施形態では、モバイルエージェント122は、ネットワーク(例えば、SD-WANネットワーク)にアクセスするためにモバイルデバイス120上に展開される、ネットワークエージェント(例えば、SD-WANエージェント)である。モバイルエージェント122は、モバイルデバイス120のルーティングテーブル124および/またはポリシーテーブル128を維持および/または管理することができる。モバイルエージェント122は、システム100の1つ以上のノード140(例えば、ルータまたはネットワークコントローラ)から、ルーティングテーブル124の1つ以上のラベル126(例えば、VPNラベル)および/またはポリシーテーブル128の1つ以上のポリシー130を受信し得る。
特定の実施形態では、モバイルエージェント122は、モバイルデバイス120のアプリケーションに関連付けられたアプリケーションサービス150にトラフィックをルーティングする要求を検出する。例えば、モバイルエージェント122は、モバイルデバイス120からのトラフィックをキャプチャし、ネットワーク110(例えば、モバイルSD-WANネットワーク)を介してトラフィックを1つ以上のアプリケーションサービス150にルーティングする方法を決定することができる。いくつかの実施形態では、モバイルエージェント122は、ルーティングテーブル124からラベル126を選択し、選択されたラベル126を使用してトラフィックをアプリケーションサービス150にルーティングする。例えば、モバイルエージェント122は、アプリケーションに関連付けられたアプリケーション識別子を識別し、ポリシーテーブル128からの1つ以上のポリシー130を使用して、アプリケーション識別子をラベル126にマッピングすることができる。アプリケーション識別子は、特定のアプリケーションを一意に識別する任意の識別子である。特定の実施形態では、アプリケーション識別子は、文字(例えば、数字、文字、アンダースコアなど)の列として表される、一意のアプリケーションIDであり得る。アプリケーション識別子は、アプリケーション署名で表され得る。モバイルエージェント122は、モバイルデバイス120にインストールされた各アプリケーションに一意のアプリケーションIDを割り当てることができる。いくつかの実施形態では、アプリケーション識別子は、特定のアプリケーションに関連付けられた特性(例えば、トラフィック特性)であってもよい。
いくつかの実施形態では、モバイルエージェント122は、ネットワーク110のセグメント(例えば、SD-WANホスト型VPN)を介して、トラフィックをアプリケーションサービス150にルーティングする。各セグメントは、特定のサービス150へのネットワーク接続を一意に提供することができる。モバイルデバイス120上のアプリケーションがサービス150を選択するとき、モバイルエージェント122は、ルーティングテーブル126を使用して、関連するセグメントを選択することができる。モバイルエージェント122は、モバイルデバイス120上でルーティングテーブル124およびデータ転送を管理することができる。モバイルエージェント122は、アプリケーションサービス150に基づいて、独自のルーティングテーブル124のセットを作成することができる。特定の実施形態では、モバイルエージェント122は、モバイルデバイス120のアプリケーションごとに別個のルーティングテーブル124を作成してもよい。モバイルデバイス120上のアプリケーションが特定のサービス150の使用を要求するとき、フローがモバイルエージェント122に入ると、モバイルエージェント122は、ルーティングテーブル124内のセグメントを選択し、そのセグメント内で、トラフィックをその特定のサービス150にルーティングすることができる。特定の実施形態では、モバイルエージェント122は、アプリケーションに関連付けられたアプリケーション識別子を識別し、そのアプリケーション識別子を使用して、ルーティングテーブル124のラベル126を選択することができる。
いくつかの実施形態では、モバイルエージェント122は、着信トラフィックがブラウザアプリケーションから発信されたものであると判断することができる。ブラウザアプリケーションは、これらのアプリケーションが複数のアプリケーションサービス150に同時に接続できるという点で特別であるが、これにより、これらのアプリケーションの脅威攻撃対象領域は増加する。攻撃のリスクを軽減するために、トラフィックがブラウザアプリケーションから発信されたものであると判断した場合、モバイルエージェント122は、セキュリティサービス160(例えば、ファイアウォールサービス、侵入検出サービス、侵入防止サービス、CASBサービスなど)をサポートするラベル126を選択することができる。
特定の実施形態では、モバイルエージェント122は、シングルサインオン(SSO)サービスのDNS名を解決することによって、アプリケーション(例えば、ウェブサービスアプリケーション)がSSOサービスへのアクセスを必要とすることを決定することができる。アプリケーションがSSOサービスへのアクセスを必要とすることを決定することに応答して、モバイルエージェント122は、トラフィックをSSOサービスにルーティングするラベル126からのルートを選択することができる。いくつかの実施形態では、モバイルエージェント122は、DNS要求を受信することができる。DNS要求の受信に応答して、モバイルエージェント122は、アプリケーション識別子を使用して、ルーティングテーブル124に規定されているように、DNS要求をラベル126にマッピングすることができる。
システム100のルーティングテーブル124は、ポリシー130によってアプリケーションフローをラベル126にマッピングする、分離されたアプリケーションテーブルである。図1に示す実施形態では、ルーティングテーブル124は、モバイルデバイス120に格納されている。ルーティングテーブル124は、一連のラベル126を列挙している。ルーティングテーブル124は、特定のアプリケーションおよび/またはサービス150を動作させるために必要とされるすべてのルートを提供し得る。ルーティングテーブル124は、そのサービス150にラベル126を関連付けることができる。特定のサービス150へのすべてのルートは、ラベル126の範囲内でのみ有効であり得る。
ルーティングテーブル124は、単一のアプリケーションのための分離されたルーティングテーブルであり得る。特定の実施形態では、ルーティングテーブル124は、単一のデフォルトルートを含み得る。いくつかの実施形態では、ルーティングテーブル124は、特定のサービス150への複数のルートを含む。例えば、アプリケーションサービス150がドメイン名に関連付けられている場合、カリフォルニアとヨーロッパで利用可能である場合、エンタープライズユーザは、ローカルWI-FI接続を介してドメイン名のカリフォルニアサービスを指すルートおよび、トラフィックがセルラ接続を介してルーティングされるときにヨーロッパのサービス指す別のルートを有し得る。したがって、ルーティングテーブル124のラベル126ごとに複数のルーティングエントリが存在し得る。
ルーティングテーブル124は、1つ以上のラベル126を含み得る。システム100のラベル126は、トラフィックをネットワーク110の1つ以上のノード140に向けるために使用されるラベルである。ラベル126は、SD-WAN、VPN、MPLS、NSH、GENEVEなどに関連付けることができる。例えば、ラベル126は、MPLSラベル、NSHラベル、GENEVEトンネルラベルなどにマッピングすることができる。各ラベル126は、特定のサービス150に必要な1つ以上のルートを含む。ラベル126は、1つ以上のASPによってホストされるアプリケーションサービス150に導くパスを参照することができる。ラベル126は、様々なQoS管理ネットワークに関連付けられ得る。QoS管理ネットワークは、ネットワーク110内の遅延、遅延変動(ジッタ)、帯域幅、パケット損失などを管理するために使用され得る。ラベル126は、特定のSLAを有する特定のネットワークにマッピングすることができる。SLAは、サービスプロバイダおよびその内部もしくは外部の顧客との間の契約であり、プロバイダが提示するサービスを文書化するものである。特定の実施形態では、SLAは、プロバイダが満たすことが義務付けられているサービス基準を定義する。特定のラベル126に関連付けられたネットワーク110に様々なQoSおよび/またはSLAを含めることによって、ラベル126は、エンタープライズユーザのためのアプリケーションおよびアプリケーションサービス150への差別化されたアクセスを作成することができる。ラベル126は、インラインセキュリティサービス160を備えたエクストラネットサービスをサポートすることができる。ASPは、MPLSおよびラベル再マッピングサービスで使用されるものと同様の連続したラベルを提供することによって、ラベル126をエンタープライズユーザにマッピングし得る。企業は、ラベル126とともにルーティングテーブル124をモバイルエージェント122にインストールして、アプリケーションサービス150に接続できる。
ポリシーテーブル128は、アプリケーションを特定のラベル126に関連付けるために、モバイルエージェント122によって使用されるポリシー130の集まりである。ポリシーテーブル128は、モバイルデバイス120に格納され得る。モバイルデバイス120(例えば、モバイルエージェント122)は、ネットワーク110の1つ以上のノード140からポリシーテーブル128および/またはポリシー130を受信することができる。ポリシーテーブル128のポリシー130は、アプリケーションごとに、どのVPNが特定のサービス150へのルートをサポートするかを列挙することができる。ポリシー130は、1つ以上のアプリケーション識別子によって、どのVPNが特定のサービス150へのルートをサポートするかを列挙することができる。アプリケーション識別子は、モバイルデバイス120の特定のアプリケーションに関連付けられた一意の識別子、特定のアプリケーションに関連付けられたトラフィック特性、特定のアプリケーションに関連付けられたオペレーティングシステムなどを含むことができる。モバイルデバイス120のモバイルエージェント122は、ポリシーテーブル128のポリシー130を使用して、トラフィックを特定のラベル126にマッピングすることができる。例えば、モバイルエージェント122は、着信トラフィックが特定のアプリケーションによって生成されたことを判断し、特定のアプリケーションに関連付けられたアプリケーションIDを識別し、1つ以上のポリシー130によって指示されるように、アプリケーションIDを特定のネットワーク110および/またはラベル126にマッピングすることができる。
システム100のノード140は、パスに沿ってトラフィックを受信、作成、格納、および/または送信するネットワーク110内の接続ポイントである。ノード140は、トラフィックを認識し、処理し、他のノード140に転送する1つ以上のエンドポイントおよび/または1つ以上の再分配ポイントを含み得る。ノード140は、仮想ネットワークノードおよび/または物理ネットワークノードを含み得る。特定の実施形態では、1つ以上のノード140は、スイッチ、ブリッジ、モデム、ハブなどのようなデータ通信機器を含む。いくつかの実施形態では、1つ以上のノード140は、ルータ、サーバ、プリンタ、ワークステーションなどのデータ端末機器を含む。1つ以上のノード140は、ホストコンピュータ、入口ノード(ingress node)、宛先ノード、ネットワークコントローラノード、パス計算クライアント(PCC)ノードなどであり得る。ネットワーク110内の1つ以上のノード140は、ネットワーク110の他の構成要素からのトラフィックを受信することができる。例えば、1つ以上のノード140は、モバイルデバイス120からトラフィックを受信することができる。着信トラフィックには、ネットワーク110の外部のネットワークから発信されるデータ通信およびネットワークトラフィックが含まれ得る。着信トラフィックは、ネットワーク110内またはネットワーク110外のターゲットホスト/IPアドレスに宛てられ得る。
1つ以上のノード140は、パス(例えば、VPNトンネル)を介して着信トラフィックをルーティングする要求を受信することができる。特定の実施形態では、ノード140は、ラベル126を受信するヘッドエンドノードを含む。ヘッドエンドノードは、モバイルエージェント122からのトンネル(例えば、VPNトンネル)を終端し、ルーティングされたネットワークに接続するノードである。いくつかの実施形態では、ヘッドエンドノードは、ラベル126を他のラベル(例えば、SD-WANラベル)に、および/または利用可能な場合は他のセグメント化されたネットワークに、変換する。ヘッドエンドノードは、ポリシーテーブルに1つ以上のポリシーを維持し、1つ以上のポリシーおよびラベル126を使用して、トラフィックをアプリケーションサービス150にルーティングすることができる。特定の実施形態では、ヘッドエンドノードは、モバイルデバイス120によって選択されたラベルとは異なるラベルを選択することができる。例えば、ヘッドエンドノードがモバイルデバイス120の決定を信頼しない場合、ヘッドエンドノードは、異なるラベルを選択することができる。
システム100のアプリケーションサービス150は、1つ以上のアプリケーションにアクセスするためにモバイルデバイス120によって使用され得るサービスである。アプリケーションサービス150は、モバイルデバイス120に関連付けられた企業によって契約され得る。アプリケーションサービス150は、1つ以上のASPによって提供され得る。アプリケーションサービス150は、クラウドサービス152およびエンタープライズサービス154を含む。クラウドサービス152は、クラウドコンピューティングプロバイダからモバイルデバイス120のユーザが利用可能であり、ユーザにサービスを提供するパブリックまたはプライベートサービスである。クラウドサービス152は、インターネットを介してオンデマンドでユーザが利用可能であり得る。クラウドサービス152は、SaaS、サービスとしてのプラットフォーム(PaaS)、IaaS上でホストされるアプリケーション、IaaS上の仮想マシンおよび/またはコンテナへのアクセスなどのオファリングを含み得る。エンタープライズサービス154は、企業からモバイルデバイス120のユーザが利用できるようにするプライベートサービスである。エンタープライズサービス154は、オンデマンドでユーザが利用可能であり得る。エンタープライズサービス152は、ビジネス指向のツール(例えば、オンラインショッピング、オンライン支払い処理など)、自動請求システム、プロジェクト管理、コラボレーション、人材管理、製造、労働安全衛生などの提供を含み得る。エンタープライズサービスには、プライベートエンタープライズIaaSアプリケーション、SaaSオファリング、PaaSオファリングなどが含まれ得る。
システム100のセキュリティサービス160は、システム100にセキュリティを提供するインラインサービスである。セキュリティサービス160は、モバイルデバイス120上で動作しているブラウザおよび/または他のアプリケーションにセキュリティを提供することができる。セキュリティサービス160は、認証、アクセス制御、データ機密性、データ完全性、否認防止などに関連付けられ得る。セキュリティサービス160は、ファイアウォールサービス、侵入検出サービス、侵入防止サービス、CASBサービスなどを含み得る。
動作中、モバイルデバイス120のモバイルエージェント122は、トラフィックをアプリケーションサービス150にルーティングする要求を検出する。例えば、モバイルエージェント122は、ユーザがアプリケーションサービス150でデバイス120上のブラウザを指示したことを検出することができる。モバイルエージェント122は、アプリケーションサービス150に関連付けられたアプリケーションのアプリケーション識別子を識別し、このアプリケーション識別子を使用して、モバイルデバイス120のルーティングテーブル124に含まれるラベル126を選択する。次に、モバイルエージェント122は、選択されたラベル126を使用して、アプリケーションに関連付けられたアプリケーションサービス150にトラフィックをルーティングする。したがって、システム100は、アプリケーションを特定のサービスにマッピングするラベル126に従ってトラフィックをルーティングし、これにより、企業は、アプリケーションごとに、特定のアプリケーションサービス150へのアクセスを提供するネットワークパスを選択することができる。
図1は、ネットワーク110、モバイルデバイス120、モバイルエージェント122、ルーティングテーブル124、ラベル126、ポリシーテーブル128、ポリシー130、ノード140、アプリケーションサービス150、およびセキュリティサービス160の特定の配置を示しているが、本開示では、ネットワーク110、モバイルデバイス120、モバイルエージェント122、ルーティングテーブル124、ラベル126、ポリシーテーブル128、ポリシー130、ノード140、アプリケーションサービス150、およびセキュリティサービス160の、任意の適切な配置を企図している。例えば、ネットワーク110は、1つ以上のネットワークコントローラを含み得る。別の例として、ルーティングテーブル124およびポリシーテーブル128は、単一のテーブルであってもよい。図1は、特定の数の、ネットワーク110、モバイルデバイス120、モバイルエージェント122、ルーティングテーブル124、ラベル126、ポリシーテーブル128、ポリシー130、ノード140、アプリケーションサービス150、およびセキュリティサービス160示しているが、本開示では、任意の適切な数の、ネットワーク110、モバイルデバイス120、モバイルエージェント122、ルーティングテーブル124、ラベル126、ポリシーテーブル128、ポリシー130、ノード140、アプリケーションサービス150、およびセキュリティサービス160を企図している。例えば、モバイルデバイス120は、複数のモバイルエージェント122、複数のルーティングテーブル124、および複数のポリシーテーブル128を含んでもよい。
図2は、図1のシステムによって使用され得る、例示的なシステム200を示す。システム200またはその一部は、ラベルを使用してネットワークトラフィックをルーティングする事業所または会社(例えば、サービスプロバイダ)などの任意のエンティティを含み得る、エンティティに関連付けられ得る。システム200の構成要素は、ハードウェア、ファームウェア、およびソフトウェアの任意の適切な組み合わせを含み得る。例えば、システム200の構成要素は、図5のコンピュータシステムの1つ以上の要素を使用してもよい。
システム200には、ネットワーク110、モバイルデバイス120、ユーザ220、アプリケーション210(アプリケーション210aおよびアプリケーション210b)、モバイルエージェント122、ノード140、クラウドサービス152(クラウドサービス152a、クラウドサービス152b、およびクラウドサービス152c)、エンタープライズサービス154(エンタープライズサービス154aおよびエンタープライズサービス154b)、およびセキュリティサービス160が含まれる。トラフィックは、1つ以上のラベル付けされたトンネル(例えば、トンネル230、トンネル232、およびトンネル234)を経由し、システム200を介して通信され得る。
ユーザ220は、モバイルデバイス120を使用する任意の個人、組織、またはソフトウェアプログラムである。ユーザ220は、モバイルデバイス120を利用して、1つ以上のサービス(例えば、クラウドサービス152またはエンタープライズサービス154)を使用して、1つ以上のアプリケーション210にアクセスすることができる。ユーザ220がサービスにアクセスする前に、ユーザ220の認証が必要になる場合がある。各アプリケーション210は、ユーザ220が特定の機能を実施することを可能にするプログラムまたはプログラムのセットである。アプリケーション210は、特定のオペレーティングシステム用に構築されたネイティブアプリケーション、モバイルデバイス120で実行されているブラウザ上でページをレンダリングおよび/または配信するモバイルウェブアプリケーションなどを含み得る。
モバイルエージェント122は、モバイルデバイス120上で、アプリケーション(例えば、アプリケーション210aまたは210b)として実行される。モバイルエージェント122は、モバイルデバイス120からのトラフィックをキャプチャし、ネットワーク110を介してクラウドサービス152および/またはエンタープライズサービス154にトラフィックをルーティングする方法を決定する。モバイルエージェント122は、一連のラベル(例えば、図1のラベル126)および/または他のネットワークアタッチメントを列挙するルーティングテーブル(例えば、図1のルーティングテーブル124)を使用して、ネットワーク110を介してトラフィックをルーティングする方法を決定する。各ラベルは、特定のサービス(例えば、クラウドサービス152またはエンタープライズサービス154)に必要な一連のルートを運ぶ。モバイルエージェント122エージェントは、アプリケーション210に関連付けられたアプリケーション識別子を特定のラベルおよび/またはネットワークにマッピングする方法をモバイルエージェント122に指示する、ポリシー/ルーティングテーブル(例えば、図1のポリシーテーブル128)を維持する。
モバイルエージェント122内のポリシーテーブルは、アプリケーションごとに、かつ場合によってはアプリケーション識別子を介して、どのネットワークセグメント(例えば、VPN)が特定のクラウドサービス152またはエンタープライズサービス154へのルートをサポートするかを列挙する。例えば、アプリケーション210bは、クラウドサービス152bに関連付けられたIPアドレスにルーティングする。モバイルエージェント122は、トランスポート層セキュリティ(TLS)フローの初期パケット(例えば、伝送制御プロトコル(TCP)同期(SYN)パケット、データグラムトランスポート層セキュリティ(DTLS)パケットなど)を受信し、パケットに関連付けられた情報からアプリケーション識別子を識別し、ポリシー/ルーティングテーブルでアプリケーション210bのアプリケーション識別子をルックアップする。モバイルエージェント122は、アプリケーション201bのアプリケーション識別子が特定のラベル(例えば、SD-WANもしくはMPLSラベル)および/またはネットワークに関連付けられていることを発見し、その特定のラベルのRIB/FIBでクラウドサービス152bの適切なネクストホップを検索する。次に、モバイルエージェント122は、VPNトンネル230に沿って、モバイルデバイス120からノード140にトラフィックをルーティングする。ノード140は、特定のラベルに従って、トンネル232に沿ってクラウドサービス152bにトラフィックをルーティングすることができる。したがって、システム200は、アプリケーションを特定のサービスにマッピングするラベルに従ってトラフィックをルーティングし、これにより、企業は、アプリケーションごとに、特定のサービスへのアクセスを提供するネットワークパスを選択することができる。
いくつかの実施形態では、ノード140は、モバイルデバイス120から受信されたものとは異なるラベルおよび/またはネットワークを使用して、トラフィックを1つ以上のサービスにルーティングすることができる。例えば、モバイルエージェント122から受信したラベルに従ってトンネル232に沿ってトラフィックをクラウドサービス152bにルーティングするのではなく、ノード140は、異なるラベルを選択し、選択されたこの異なるラベルを使用するトンネル230以外のトンネルに沿って、トラフィックをクラウドサービス152bにルーティングしてもよい。
特定の実施形態では、1つ以上のアプリケーション210は、ウェブブラウザアプリケーション210であり得る。ウェブブラウザアプリケーション210は、複数のクラウドサービス152および/またはエンタープライズサービス154に同時に接続する必要があり得る。ウェブブラウザアプリケーション210に対する攻撃のリスクを軽減するために、ブラウザから発信されたトラフィックを検出すると、モバイルエージェント122は、すべてのブラウザトラフィックを、インラインセキュリティサービス160を備えたエクストラネットサービスをサポートするラベルを介してルーティングすることができる。セキュリティサービス160は、従来のファイアウォール、侵入検出/侵入防止、CASB、および/または他のトラフィック分離メカニズムを含むことができる。セキュリティサービス160は、不明確なフロー配置を有するブラウザおよび/または他のアプリケーション210の脅威攻撃対象領域を減らすことができる。
いくつかの実施形態では、1つ以上のアプリケーション210は、サービスを取得するために、オンプレミスの認証および認可サービス(例えば、SSOエンタープライズサービス)へのアクセスを必要とする場合がある。認証および認可サービスは、ユーザIDと、エンタープライズユーザがバックエンドサービス(例えば、クラウドサービス152およびエンタープライズサービス154など)にアクセスする権利とを組み合わせたものである。SSOが認証および認可手順に使用される場合、多くのクライアントアプリケーションはそのようなSSOサービスへのルートを必要とし、エンタープライズSSOサービスにルーティングするモバイルデバイス120上のルートがインストールされ得る。SSOサービスは、ブラウザアプリケーション210を含むいくつかの異なるアプリケーション210間で共有され得る。
特定の実施形態では、アプリケーション210がクラウドサービス152またはエンタープライズサービス154を選択するとき、アプリケーション210は、完全修飾ドメイン名(FQDN)を使用してIPアドレスを解決することができる。FQDNは、DNSのツリー階層内の正確な場所を指定するドメイン名である。IPアドレスがサーバアプリケーションごとにプライベートであるということを考慮すると、DNS要求は分離され、個別にルーティングされる可能性がある。DNSキャッシングが有効であるとき、各VPNは独自のキャッシュをサポートし得る。DNS要求は、ラベル付けされた各ネットワーク内で個別にルーティングされ得る。アプリケーション識別子は、DNS要求を適切なラベルにマッピングするために使用される。
図2は、ネットワーク110、モバイルデバイス120、ユーザ220、アプリケーション210、モバイルエージェント122、ノード140、クラウドサービス152、エンタープライズサービス154、およびセキュリティサービス160の特定の配置を示しているが、本開示は、ネットワーク110、モバイルデバイス120、ユーザ220、アプリケーション210、モバイルエージェント122、ノード140、クラウドサービス152、エンタープライズサービス154、およびセキュリティサービス160の任意の適切な配置を企図している。例えば、図2のシステム200は、モバイルデバイス120とクラウドサービス152との間に複数のノード140を含み得る。図2は、特定の数の、ネットワーク110、モバイルデバイス120、ユーザ220、アプリケーション210、モバイルエージェント122、ノード140、クラウドサービス152、エンタープライズサービス154、およびセキュリティサービス160を示しているが、本開示では、任意の適切な数の、ネットワーク110、モバイルデバイス120、ユーザ220、アプリケーション210、モバイルエージェント122、ノード140、クラウドサービス152、エンタープライズサービス154、およびセキュリティサービス160を企図している。例えば、モバイルデバイス120は、複数のモバイルエージェント122を含んでもよい。
図3は、ラベルを使用してネットワークトラフィックをルーティングするための、例示的な方法300を示す。方法300は、ステップ310で始まる。ステップ320で、モバイルデバイス(例えば、図1のモバイルデバイス120)のモバイルエージェント(例えば、図1のモバイルエージェント122)は、アプリケーション(例えば、図2のアプリケーション210)に関連付けられたサービス(例えば、図1のサービス150)にトラフィックをルーティングする要求を検出する。例えば、モバイルデバイスのモバイルエージェントは、ユーザ(例えば、図2のユーザ220)が、サービスでモバイルデバイス上のブラウザを指示することによって、モバイルデバイス上のサービスを選択したと決定することができる。次に、方法300は、ステップ320からステップ330に移る。
ステップ330で、モバイルエージェントは、アプリケーションに関連付けられたアプリケーション識別子を識別する。例えば、モバイルエージェントは、TLSフローのパケットを受信し、パケットに関連付けられた情報からアプリケーション識別子を識別することができる。次に、方法300は、ステップ330からステップ340に移る。ステップ340で、モバイルエージェントは、アプリケーション識別子を使用して、ルーティングテーブルに含まれる複数のラベルからラベル(例えば、SD-WANまたはMPLSラベル)を選択する。例えば、モバイルエージェントは、アプリケーション識別子およびネットワーク設定を使用して、インラインサービス(例えば、ファイアウォールサービス、侵入検出サービス、侵入防止サービス、CASBサービスなど)を有するエクストラネットサービスをサポートするラベルを、ルーティングテーブルに含まれる複数のラベルから選択することができる。次に、方法300は、ステップ340からステップ350に移る。ステップ350で、モバイルエージェントは、選択されたラベルまたは設定されたネットワークを使用して、アプリケーションに関連付けられたサービスにトラフィックをルーティングする。次に、方法300は、ステップ350からステップ360に移り、ここで方法300は終了する。
本開示は、図3の方法300の特定のステップを特定の順序で発生するものとして説明および図示するが、本開示は、図3の方法300の任意の適切なステップを任意の適切な順序で発生するものとして企図する。本開示は、図3の方法の特定のステップを含む、ラベルを使用してネットワークトラフィックをルーティングするための例示的な方法300を説明および図示するが、本開示は、ラベルを使用してネットワークトラフィックをルーティングするための任意の適切な方法300を企図しており、この任意の適切な方法には、必要に応じて、図3の方法のすべてのステップもしくは一部のステップが含まれるか、またはまったくステップが含まれない場合がある。例えば、方法300は、DNS要求を受信し、DNS要求をラベルにマッピングすることを指示する追加のステップを含んでもよい。本開示は、図3の方法300の特定のステップを実行する特定の構成要素、デバイス、またはシステムを説明および図示するが、本開示は、図3の方法300の任意の適切なステップを実行する任意の適切な構成要素、デバイス、またはシステムの任意の適切な組み合わせを企図している。
図4は、アプリケーションラベル412を使用してネットワークトラフィックをルーティングするための、例示的なシステム400を示す。システム400またはその一部は、アプリケーションラベル412を使用してネットワークトラフィックをルーティングする事業所または会社(例えば、サービスプロバイダ)などの任意のエンティティを含み得る、エンティティに関連付けられ得る。システム400の構成要素は、ハードウェア、ファームウェア、およびソフトウェアの任意の適切な組み合わせを含み得る。例えば、システム400の構成要素は、図5のコンピュータシステムの1つ以上の要素を使用してもよい。
システム400は、ネットワーク110、モバイルデバイス120、モバイルエージェント122、アプリケーション210、データベース410、アプリケーションラベル412、ノード140、およびトラフィック監視アプリケーション420を含む。ネットワーク110、モバイルデバイス120、モバイルエージェント122、アプリケーション210、およびノード140は、上記の図1~3で説明されている。データベース410は、システム400の特定のタイプの情報を格納する。例えば、データベース410は、アプリケーションラベル412を格納し得る。データベース410は、情報を格納するのに適した、揮発性もしくは不揮発性のローカルデバイスもしくはリモートデバイスのいずれか1つまたは組み合わせであってもよい。データベース410には、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、磁気記憶装置、光記憶装置、または他の任意の適切な情報記憶装置またはこれらの装置の組み合わせが含まれ得る。データベース410は、データベース410がモバイルエージェント122と通信するのに適した任意の場所に配置することができる。
システム400のアプリケーションラベル412は、トラフィックに関連付けられたアプリケーション210を識別するために使用される、ネットワーク110内のトラフィックによって運ばれるラベルである。各アプリケーションラベル412は、アプリケーション210のタイプおよび/またはバージョンを含み得る。例えば、アプリケーションラベル412は、アプリケーション210のタイプおよび/またはバージョンを表す整数を含み得る。別の例として、アプリケーションラベル412は、アプリケーションタイプおよび/またはバージョンを中に組み込んだフローラベルであってもよい。ネットワーク110は、アプリケーションラベル412を使用して、どのアプリケーション210が特定のデータストリームに関与するかを決定する。
特定の実施形態では、アプリケーションラベル412は、修正されたMPLSラベルであり得る。例えば、MPLSラベルは、自由に割り当てることができる20ビットを有し得、これらのビットのいくつかは、アプリケーション210(例えば、アプリケーション210のバージョンの表示)を符号化して、アプリケーションラベル412を生成するために使用され得る。別の例として、MPLSラベルは、「他のすべてのアプリケーション」のデフォルト値を含み得、これは、アプリケーション210をMPLSラベルに符号化して、アプリケーションラベル412を生成するために使用され得る。少数のビット(すなわち、20ビット未満)を使用してアプリケーション210を符号化する場合は、データベース(例えば、図4のデータベース410)を使用して、符号化に使用される数にアプリケーション名をマッピングすることができる。モバイルエージェント122がネットワーク110に接続するときに、モバイルデバイス120のモバイルエージェント122はデータベース410にアクセスすることができる。いくつかの実施形態では、アプリケーションラベル412は、アプリケーション識別子のみを運ぶ。
特定の実施形態では、アプリケーションラベル412は、関連するアプリケーション210がブラウザアプリケーション210であることを示し得る。ブラウザトラフィックが、他のアプリケーション210からのトラフィックよりも特殊またはより厳密なチェックを受ける場合があるため、アプリケーションラベル412を介してラベル付けされたトラフィックは、異常検出システム400の負荷を軽減し得る。ラベルを使用して、ブラウザトラフィックをより特殊なチェックにかけることができる。このラベルは、モバイルデバイス120に対して透過的な方法で、1つ以上のノード140によって割り当てられ得る。
システム400のトラフィック監視アプリケーション420は、ネットワーク110のトラフィックを監視するために使用されるアプリケーションである。トラフィック監視アプリケーション420は、ファイアウォールアプリケーション、異常検出アプリケーション、脆弱性検出アプリケーション、脅威検出アプリケーション、脅威防止アプリケーションなどを含み得る。トラフィック監視アプリケーション420は、1つ以上のノード140および/またはネットワーク110のモバイルデバイス120上で実行することができる。トラフィック監視アプリケーション420は、アプリケーションラベル412を使用して、1つ以上のアプリケーション210の異常を検出することができる。各アプリケーションラベル412は、関連するネットワーク接続に対してどのアプリケーション210が関与するかについての情報を、トラフィック監視アプリケーション412に提供することができる。特定のアプリケーション210のトラフィックは、すべての着信トラフィックと比較して、より狭い範囲のフロータイプを有する。したがって、トラフィック監視アプリケーション420は、すべての着信トラフィックの異常なフロータイプを検出する場合と比較して、アプリケーションラベル412を使用して、異常なフロータイプをより迅速に、より早く、より容易に検出することができる。特定の実施形態では、トラフィック監視アプリケーション420は、異常なフローを生成するアプリケーション210を無効にすることができる。特定のアプリケーション210が複数のデバイス(例えば、複数のモバイルデバイス120)上の悪意のあるトラフィックに関与する場合、トラフィック監視アプリケーション420は、その特定のアプリケーション210にフラグを立て、かつ/またはネットワーク110全体にわたってその特定のアプリケーション210を無効にすることができる。
ネットワーク110の1つ以上のノード140(例えば、集約デバイス)は、アプリケーションラベル412を利用して、特定のアプリケーションフローを識別し、識別されたアプリケーションフローに基づいて、1つ以上のアクションを実施することができる。例えば、ノード140は、アプリケーションフローを、アプリケーションフローを隔離するハニーポットネットワークパスに移動することができる。別の例として、ノード140は、アプリケーションフローから1つ以上のラベルを撤回することができる。さらに別の例として、ノード140は、アプリケーションフローに関連付けられた1つ以上のラベルを再割り当てすることができる。
動作中、モバイルデバイス120のモバイルエージェント122は、ルーティングエージェントとして機能し、ネットワーク110と連携して、異なるトラフィックフローがモバイルデバイス120からノード140(例えば、SD-WANゲートウェイ、VPNヘッドエンドノード、または宛先ノード)への異なるパスを介してルーティングされることを可能にする。モバイルエージェント122はモバイルデバイス120上で実行され、したがって、通信フローを生成および/または消費するアプリケーション210を監視する立場にある。データベース410でのルックアップを通じて、モバイルエージェント122は、アプリケーションのタイプおよびバージョンを整数にマッピングし、その整数をフローラベルに組み込んで、アプリケーションラベル412を生成する。モバイルエージェント122は、アプリケーションラベル412を使用して異なるフローにラベルを付け、これは、ノード140に、トラフィックをより効率的にルーティングし、特定のルーティングルールを異なるフロータイプに適用する能力をもたらす。アプリケーションラベル412は、どのアプリケーション210が特定の接続に関与するかについて、トラフィック監視アプリケーション420に関連情報を提供する。次に、トラフィック監視アプリケーション420は、アプリケーションラベル412から取り出されたこの情報を使用して、データストリーム内の異常をよりよく検出し、それらに対してより効果的に作用することができる。
図4は、ネットワーク110、モバイルデバイス120、モバイルエージェント122、アプリケーション210、データベース410、アプリケーションラベル412、ノード140、およびトラフィック監視アプリケーション420の特定の配置を示しているが、本開示では、ネットワーク110、モバイルデバイス120、モバイルエージェント122、アプリケーション210、データベース410、アプリケーションラベル412、ノード140、およびトラフィック監視アプリケーション420の任意の適切な配置を企図している。例えば、アプリケーション210は、モバイルデバイス120のデータベース410に格納されていてもよい。図4は、特定の数の、ネットワーク110、モバイルデバイス120、モバイルエージェント122、アプリケーション210、データベース410、アプリケーションラベル412、ノード140、およびトラフィック監視アプリケーション420を示しているが、本開示では、任意の適切な数の、ネットワーク110、モバイルデバイス120、モバイルエージェント122、アプリケーション210、データベース410、アプリケーションラベル412、ノード140、およびトラフィック監視アプリケーション420を企図している。例えば、モバイルデバイス120は、複数のモバイルエージェント122および/または複数のデータベース410を含んでもよい。
図5は、例示的なコンピュータシステム500を示す。特定の実施形態では、1つ以上のコンピュータシステム500は、本明細書で説明または図示する1つ以上の方法の1つ以上のステップを実施する。特定の実施形態では、1つ以上のコンピュータシステム500は、本明細書で説明または図示する機能を提供する。特定の実施形態では、1つ以上のコンピュータシステム500上で実行されるソフトウェアは、本明細書で説明もしくは図示する1つ以上の方法の1つ以上のステップを実施するか、または本明細書で説明もしくは図示する機能を提供する。特定の実施形態は、1つ以上のコンピュータシステム500の1つ以上の部分を含む。本明細書では、コンピュータシステムへの言及は、必要に応じて、コンピューティングデバイスを包含し得、逆もまた同様である。さらに、コンピュータシステムへの言及は、必要に応じて、1つ以上のコンピュータシステムを包含し得る。
本開示は、任意の適切な数のコンピュータシステム500を企図している。本開示は、任意の適切な物理形態をとるコンピュータシステム500を企図している。限定としてではなく例として、コンピュータシステム500は、組み込みコンピュータシステム、システムオンチップ(SOC)、シングルボードコンピュータシステム(SBC)(例えば、コンピュータオンモジュール(COM)またはシステムオンモジュール(SOM)など)、デスクトップコンピュータシステム、ラップトップまたはノートブックコンピュータシステム、インタラクティブキオスク、メインフレーム、コンピュータシステムのメッシュ、携帯電話、携帯情報端末(PDA)、サーバ、タブレットコンピュータシステム、拡張/仮想現実デバイス、またはこれらの2つ以上の組み合わせであり得る。必要に応じて、コンピュータシステム500は、1つ以上のコンピュータシステム500を含んでよく、一体型または分散型であってよく、複数の場所にまたがってよく、複数のマシンにまたがってよく、複数のデータセンターにまたがってよく、またはクラウドに常駐してよく、クラウドには1つ以上のネットワークに1つ以上のクラウド構成要素が含まれてもよい。必要に応じて、1つ以上のコンピュータシステム500は、実質的な空間的または時間的制限なしに、本明細書で説明または図示する1つ以上の方法の1つ以上のステップを実施することができる。限定ではなく一例として、1つ以上のコンピュータシステム500は、リアルタイムまたはバッチモードで、本明細書で説明または図示する1つ以上の方法の1つ以上のステップを実施することができる。1つ以上のコンピュータシステム500は、必要に応じて、本明細書で説明または図示する1つ以上の方法の1つ以上のステップを、異なる時間または異なる場所で実施することができる。
特定の実施形態では、コンピュータシステム500は、プロセッサ502、メモリ504、ストレージ506、入力/出力(I/O)インタフェース508、通信インタフェース510、およびバス512を含む。本開示は、特定の配置で特定の数の特定の構成要素を有する特定のコンピュータシステムを説明および図示するが、本開示は、任意の適切な配置で任意の適切な数の任意の適切な構成要素を有する任意の適切なコンピュータシステムを企図する。
特定の実施形態では、プロセッサ502は、コンピュータプログラムを構成するものなどの、命令を実行するためのハードウェアを含む。限定ではなく一例として、命令を実行するために、プロセッサ502は、内部レジスタ、内部キャッシュ、メモリ504、またはストレージ506から命令を検索(retrieve)(またはフェッチ)し、それらをデコードして実行し、次に、1つ以上の結果を、内部レジスタ、内部キャッシュ、メモリ504、またはストレージ506に書き込み得る。特定の実施形態では、プロセッサ502は、データ、命令、またはアドレスのための1つ以上の内部キャッシュを含み得る。本開示は、必要に応じて、任意の適切な数の任意の適切な内部キャッシュを含むプロセッサ502を企図する。限定ではなく一例として、プロセッサ502は、1つ以上の命令キャッシュ、1つ以上のデータキャッシュ、および1つ以上のトランスレーションルックアサイドバッファ(TLB)を含み得る。命令キャッシュ内の命令は、メモリ504またはストレージ506内の命令のコピーであり得、命令キャッシュは、プロセッサ502によるそれらの命令の検索を高速化することができる。データキャッシュ内のデータは、プロセッサ502で実行される命令が動作するためのメモリ504またはストレージ506内のデータのコピーであり得、プロセッサ502で実行される後続の命令によるアクセスのため、またはメモリ504もしくはストレージ506への書き込みのためにプロセッサ502で実行された前の命令の結果であり得、または他の適切なデータであり得る。データキャッシュは、プロセッサ502による読み出しまたは書き込み操作を高速化することができる。TLBは、プロセッサ502の仮想アドレス変換を高速化することができる。特定の実施形態では、プロセッサ502は、データ、命令、またはアドレスのための1つ以上の内部レジスタを含み得る。本開示は、必要に応じて、任意の適切な数の任意の適切な内部レジスタを含むプロセッサ502を企図する。必要に応じて、プロセッサ502は、1つ以上の算術論理演算装置(ALU)を含み得、マルチコアプロセッサであり得、または1つ以上のプロセッサ502を含み得る。本開示は、特定のプロセッサを説明および図示するが、本開示は、任意の適切なプロセッサを企図している。
特定の実施形態では、メモリ504は、プロセッサ502が実行するための命令またはプロセッサ502が動作するためのデータを格納するためのメインメモリを含む。限定ではなく一例として、コンピュータシステム500は、ストレージ506または別のソース(例えば、別のコンピュータシステム500など)からメモリ504に命令をロードすることができる。次に、プロセッサ502は、メモリ504から内部レジスタまたは内部キャッシュに命令をロードすることができる。命令を実行するために、プロセッサ502は、内部レジスタまたは内部キャッシュから命令を検索し、それらをデコードすることができる。命令の実行中または実行後に、プロセッサ502は、1つ以上の結果(中間結果または最終結果であり得る)を内部レジスタまたは内部キャッシュに書き込むことができる。次に、プロセッサ502は、それらの結果のうちの1つ以上をメモリ504に書き込むことができる。特定の実施形態では、プロセッサ502は、1つ以上の内部レジスタまたは内部キャッシュまたはメモリ504で(ストレージ506または他の場所とは対照的に)命令のみを実行し、かつ(ストレージ506または他の場所とは対照的に)1つ以上の内部レジスタまたは内部キャッシュまたはメモリ504内のデータに対してのみ動作する。(各々がアドレスバスおよびデータバスを含み得る)1つ以上のメモリバスは、プロセッサ502をメモリ504に結合することができる。バス512は、以下に説明するように、1つ以上のメモリバスを含み得る。特定の実施形態では、1つ以上のメモリ管理ユニット(MMU)がプロセッサ502とメモリ504との間に存在し、プロセッサ502によって要求されるメモリ504へのアクセスを容易にする。特定の実施形態では、メモリ504は、RAMを含む。このRAMは、必要に応じて、揮発性メモリであってよい。必要に応じて、このRAMは、ダイナミックRAM(DRAM)またはスタティックRAM(SRAM)であってよい。さらに、必要に応じて、このRAMは、シングルポートまたはマルチポートのRAMであり得る。本開示は、任意の適切なRAMを企図している。メモリ504は、必要に応じて、1つ以上のメモリ504を含み得る。本開示は、特定のメモリを説明および図示するが、本開示は、任意の適切なメモリを企図している。
特定の実施形態では、ストレージ506は、データまたは命令のための大容量ストレージを含む。限定ではなく一例として、ストレージ506は、ハードディスクドライブ(HDD)、フロッピーディスクドライブ、フラッシュメモリ、光ディスク、光磁気ディスク、磁気テープ、またはユニバーサルシリアルバス(USB)ドライブ、またはこれらの2つ以上の組み合わせを含み得る。ストレージ506は、必要に応じて、取り外し可能または取り外し不可能な(または固定された)媒体を含み得る。ストレージ506は、必要に応じて、コンピュータシステム500の内部または外部にあり得る。特定の実施形態では、ストレージ506は、不揮発性のソリッドステートメモリである。特定の実施形態では、ストレージ506は、ROMを含む。必要に応じて、このROMは、マスクプログラムROM、プログラマブルROM(PROM)、消去可能PROM(EPROM)、電気的消去可能PROM(EEPROM)、電気的変更可能ROM(EAROM)、フラッシュメモリ、またはこれらの2つ以上の組み合わせであり得る。本開示は、任意の適切な物理形態をとる大容量記憶装置506を企図している。ストレージ506は、必要に応じて、プロセッサ502とストレージ506との間の通信を容易にする、1つ以上のストレージ制御ユニットを含むことができる。必要に応じて、ストレージ506は、1つ以上のストレージ506を含み得る。本開示は、特定のストレージを説明および図示するが、本開示は、任意の適切なストレージを企図している。
特定の実施形態では、I/Oインタフェース508は、ハードウェア、ソフトウェア、またはその両方を含み、コンピュータシステム500と1つ以上のI/Oデバイスとの間の通信のための1つ以上のインタフェースを提供する。コンピュータシステム500は、必要に応じて、これらのI/Oデバイスのうちの1つ以上を含み得る。これらのI/Oデバイスのうちの1つ以上は、人とコンピュータシステム500との間の通信を可能にし得る。限定ではなく一例として、I/Oデバイスには、キーボード、キーパッド、マイク、モニター、マウス、プリンタ、スキャナ、スピーカー、スチルカメラ、スタイラス、タブレット、タッチスクリーン、トラックボール、ビデオカメラ、別の適切なI/Oデバイス、またはこれらの2つ以上の組み合わせが含まれ得る。I/Oデバイスは、1つ以上のセンサを含んでもよい。本開示は、任意の適切なI/Oデバイスおよびそれらに適した任意のI/Oインタフェース508を企図している。必要に応じて、I/Oインタフェース508は、プロセッサ502がこれらのI/Oデバイスの1つ以上を駆動することを可能にする1つ以上のデバイスまたはソフトウェアドライバを含み得る。I/Oインタフェース508は、必要に応じて、1つ以上のI/Oインタフェース508を含み得る。本開示は、特定のI/Oインタフェースを説明および図示するが、本開示は、任意の適切なI/Oインタフェースを企図している。
特定の実施形態では、通信インタフェース510は、コンピュータシステム500と1つ以上の他のコンピュータシステム500もしくは1つ以上のネットワークとの間の通信(例えば、パケットベースの通信など)のための1つ以上のインタフェースを提供する、ハードウェア、ソフトウェア、またはその両方を含む。限定ではなく一例として、通信インタフェース510は、イーサネットもしくは他の有線ベースのネットワークと通信するためのネットワークインタフェースコントローラ(NIC)もしくはネットワークアダプタ、または無線NIC(WNIC)もしくはWI-FIネットワークなどのワイヤレスネットワークを含み得る。本開示は、任意の適切なネットワークおよびそれに適した任意の通信インタフェース510を企図している。限定ではなく一例として、コンピュータシステム500は、アドホックネットワーク、パーソナルエリアネットワーク(PAN)、LAN、WAN、MAN、もしくはインターネットの1つ以上の部分、またはこれらの2つ以上の組み合わせと通信することができる。これらのネットワークのうちの1つ以上の、1つ以上の部分は、有線または無線であり得る。一例として、コンピュータシステム500は、無線PAN(WPAN)(例えば、BLUETOOTH WPANなど)、WI-FIネットワーク、WI-MAXネットワーク、携帯電話ネットワーク(例えば、グローバルシステムフォーモバイルコミュニケーションズ(GSM)ネットワーク、ロングタームエボリューション(LTE)ネットワーク、または5Gネットワークなど)、もしくはその他の適切な無線ネットワーク、またはこれらの2つ以上の組み合わせと通信することができる。コンピュータシステム500は、必要に応じて、これらのネットワークのいずれかに適した通信インタフェース510を含み得る。通信インタフェース510は、必要に応じて、1つ以上の通信インタフェース510を含み得る。本開示は、特定の通信インタフェースを説明および図示するが、本開示は、任意の適切な通信インタフェースを企図している。
特定の実施形態では、バス512は、コンピュータシステム500のハードウェア、ソフトウェア、またはその両方の互いに結合する構成要素を含む。限定ではなく一例として、バス512は、アクセラレイティッドグラフィックスポート(AGP)もしくは他のグラフィックバス、拡張産業標準アーキテクチャ(EISA)バス、フロントサイドバス(FSB)、ハイパートランスポート(HT)相互接続、業界標準アーキテクチャ(ISA)バス、インフィニバンド相互接続、低ピン数(LPC)バス、メモリバス、マクロチャネルアーキテクチャ(MCA)バス、周辺機器相互接続(Peripheral Component Interconnect、PCI)バス、PCI高速(PCIe)バス、サタ(Serial Advanced Technology Attachment、SATA)バス、ベサローカルバス(Video Electronics Standards Association local bus、VLB)、もしくは別の適切なバス、またはこれらの2つ以上の組み合わせを含み得る。バス512は、必要に応じて、1つ以上のバス512を含み得る。本開示は、特定のバスを説明および図示するが、本開示は、任意の適切なバスまたは相互接続を企図している。
要約すると、一実施形態では、方法は、アプリケーションに関連付けられたサービスにトラフィックをルーティングするための要求を検出することを含む。本方法はまた、アプリケーションに関連付けられたアプリケーション識別子を識別することと、アプリケーション識別子を使用して、ルーティングテーブルに含まれる複数のラベルからラベルを選択することと、も含む。ラベルは、1つ以上のルートを含む。本方法は、ラベルを使用して、アプリケーションに関連付けられたサービスにトラフィックをルーティングすることをさらに含む。
本明細書では、コンピュータ可読非一時的記憶媒体には、1つ以上の半導体ベースまたは他の集積回路(IC)(例えば、フィールドプログラマブルゲートアレイ(FPGA)もしくは特定用途向けIC(ASIC)など)、ハードディスクドライブ(HDD)、ハイブリッドハードドライブ(HHD)、光ディスク、光ディスクドライブ(ODD)、磁気光学ディスク、磁気光学ドライブ、フロッピーディスク、フロッピーディスクドライブ(FDD)、磁気テープ、ソリッドステートドライブ(SSD)、RAMドライブ、SECURE DIGITALカードもしくはドライブ、その他の任意の適切なコンピュータ可読非一時的記憶媒体、または必要に応じてこれらの2つ以上の適切な組み合わせが含まれ得る。コンピュータ可読非一時的記憶媒体は、必要に応じて、揮発性、不揮発性、または揮発性と不揮発性の組み合わせであり得る。
本明細書において、「または」は、明示的に別段の指示がない限り、または文脈によって別段の指示がない限り、包括的であり、排他的ではない。したがって、本明細書において、「AまたはB」は、明示的に別段の指示がない限り、または文脈によって別段の指示がない限り、「A、B、またはその両方」を意味する。さらに、「および」は、明示的に別段の指示がない限り、または文脈によって別段の指示がない限り、連帯および個別の両方である。したがって、本明細書において、「AおよびB」は、明示的に別段の指示がない限り、または文脈によって別段の指示がない限り、「連帯的または個別的に、AおよびB」を意味する。
本開示の範囲は、当業者が理解するであろう、本明細書に説明または図示された例示的な実施形態に対するすべての変更、置換、変形、変更、および修正を包含する。本開示の範囲は、本明細書に記載または図示された例示的な実施形態に限定されない。さらに、本開示は、本明細書のそれぞれの実施形態が特定の構成要素、要素、特徴、機能、動作、またはステップを含むものとして説明および図示するが、これらの実施形態のいずれも、当業者であれば理解するであろう、本明細書のどこかで説明または図示する構成要素、要素、特徴、機能、動作、またはステップのいずれかの任意の組み合わせまたは置換を含むことができる。さらに、特定の機能を実施するように適合される、配置される、可能にする、構成されている、機能する、動作可能である、または動作する装置またはシステムまたはシステムの構成要素もしくは装置に対する特許請求の範囲における言及は、その装置、システム、または構成要素がそのように適合される、配置される、可能にする、構成されている、機能する、動作可能である、または動作する限り、その特定の機能が起動する、作動する、または解除されているかどうかにかかわらず、その装置、システム、構成要素を包含する。加えて、本開示は、特定の利点を提供するものとして特定の実施形態を説明または例示するが、特定の実施形態は、これらの利点のいずれも提供しないこと、一部またはすべてを提供すること、ができる。
本明細書に開示される実施形態は単なる例であり、本開示の範囲はそれらに限定されない。特定の実施形態は、本明細書に開示される実施形態の構成要素、要素、特徴、機能、動作、またはステップのすべて、一部を含む、またはいずれも含まない場合がある。本開示による実施形態は、特に、方法、記憶媒体、システム、およびコンピュータプログラム製品に向けた添付の特許請求の範囲に開示されており、ある請求項カテゴリ、例えば方法で言及される任意の特徴は、別の請求項カテゴリ、例えばシステム、でも特許請求することができる。添付の特許請求の範囲に戻る従属性または参照は、正式な理由でのみ選択されている。ただし、任意の先行する特許請求の範囲(特に複数の従属性)への意図的な参照から生じる任意の主題も同様に特許請求することができるため、特許請求の範囲およびその特徴の任意の組み合わせが開示され、添付の特許請求の範囲で選択される従属性に関係なく特許請求することができる。特許請求可能な主題は、添付の特許請求の範囲に記載された特徴の組み合わせのみならず、特許請求の範囲内の任意の他の特徴の組み合わせも含み、特許請求の範囲で言及される各特徴は、特許請求の範囲における任意の他の特徴または他の特徴の組み合わせと組み合わせることができる。さらに、本明細書に記載または図示される実施形態および特徴のいずれも、別個の特許請求の範囲で、および/または本明細書に説明または描かれる任意の実施形態もしくは特徴、または添付の特許請求の範囲のいずれかの特徴との任意の組み合わせで特許請求することができる。

Claims (23)

  1. デバイスであって、
    1つ以上のプロセッサと、
    前記1つ以上のプロセッサに結合され、かつ命令を含む1つ以上のコンピュータ可読非一時的記憶媒体であって、前記命令は、前記1つ以上のプロセッサによって実行されたときに、前記デバイスに、
    前記デバイスのモバイルエージェントによって、アプリケーションに関連付けられたサービスにトラフィックをルーティングする要求を検出することと、
    前記モバイルエージェントによって、前記アプリケーションに関連付けられたアプリケーション識別子を識別することと、
    前記モバイルエージェントによって、かつ前記アプリケーション識別子を使用して、ルーティングテーブルに含まれる複数のラベルからラベルを選択することであって、前記ラベルは1つ以上のルートを含む、選択することと、
    前記モバイルエージェントによって、前記ラベルを使用して、前記アプリケーションに関連付けられた前記サービスに前記トラフィックをルーティングすることと、を含む動作を実施させる、1つ以上のコンピュータ可読非一時的記憶媒体と、を備える、デバイス。
  2. 前記ラベルは、インラインセキュリティサービスを有するエクストラネットサービスをサポートし、
    前記インラインセキュリティサービスは、
    ファイアウォールサービス、
    侵入検出サービス、
    侵入防止サービス、またはクラウドアクセスセキュリティブローカー(CASB)サービスのうちの少なくとも1つを含む、請求項1に記載のデバイス。
  3. ヘッドエンドノードが、
    前記ラベルを受信し、
    ポリシーテーブル内に1つ以上のポリシーを保持し、かつ
    前記1つ以上のポリシーおよび前記ラベルを使用して、前記アプリケーションに関連付けられた前記サービスに前記トラフィックをルーティングする、請求項1または2に記載のデバイス。
  4. 前記動作は、
    前記モバイルエージェントによって、ドメインネームシステム(DNS)要求を受信することと、
    前記アプリケーション識別子を使用して、前記DNS要求を前記ラベルにマッピングすることと、をさらに含む、請求項1~3のいずれか一項に記載のデバイス。
  5. 前記ラベルは、
    ソフトウェア定義型ワイドエリアネットワーク(SD-WAN)、
    仮想プライベートネットワーク(VPN)、
    マルチプロトコルラベルスイッチング(MPLS)ラベル、
    ネットワークサービスヘッダ(NSH)ラベル、または
    汎用ネットワーク仮想化カプセル化(GENEVE)トンネルラベルのうちの少なくとも1つに関連付けられている、請求項1~4のいずれか一項に記載のデバイス。
  6. 前記サービスは、
    パブリックな、サービスとしてのインフラストラクチャ(IaaS)、
    プライベートなIaaS、
    パブリックな、サービスとしてのソフトウェア(SaaS)、
    プライベートなSaaS、または
    プライベートエンタープライズサービスのうちの少なくとも1つに関連付けられている、請求項1~5のいずれか一項に記載のデバイス。
  7. 前記動作は、
    前記モバイルエージェントによって、1つ以上のポリシーを含むポリシーテーブルを維持することと、
    前記モバイルエージェントによって、前記1つ以上のポリシーを使用して、前記アプリケーションに関連付けられた前記アプリケーション識別子を前記ラベルにマッピングすることと、をさらに含む、請求項1~6のいずれか一項に記載のデバイス。
  8. アプリケーションに関連付けられたサービスにトラフィックをルーティングする要求を検出することと、
    前記アプリケーションに関連付けられたアプリケーション識別子を識別することと、
    前記アプリケーション識別子を使用して、ルーティングテーブルに含まれる複数のラベルからラベルを選択することであって、前記ラベルは1つ以上のルートを含む、選択することと、
    前記ラベルを使用して、前記アプリケーションに関連付けられた前記サービスに前記トラフィックをルーティングすることと、を含む、方法。
  9. 前記ラベルは、インラインセキュリティサービスを有するエクストラネットサービスをサポートし、
    前記インラインセキュリティサービスは、
    ファイアウォールサービス、
    侵入検出サービス、
    侵入防止サービス、または
    クラウドアクセスセキュリティブローカー(CASB)サービスのうちの少なくとも1つを含む、請求項8に記載の方法。
  10. ヘッドエンドノードが、
    前記ラベルを受信し、
    ポリシーテーブル内に1つ以上のポリシーを維持し、かつ
    前記1つ以上のポリシーおよび前記ラベルを使用して、前記アプリケーションに関連付けられた前記サービスに前記トラフィックをルーティングする、請求項8または9に記載の方法。
  11. ドメインネームシステム(DNS)要求を受信することと、
    前記アプリケーション識別子を使用して、前記DNS要求を前記ラベルにマッピングすることと、をさらに含む、請求項8~10のいずれか一項に記載の方法。
  12. 前記ラベルは、
    ソフトウェア定義型ワイドエリアネットワーク(SD-WAN)、
    仮想プライベートネットワーク(VPN)、
    マルチプロトコルラベルスイッチング(MPLS)ラベル、
    ネットワークサービスヘッダ(NSH)ラベル、または
    汎用ネットワーク仮想化カプセル化(GENEVE)トンネルラベルのうちの少なくとも1つに関連付けられている、請求項8~11のいずれか一項に記載の方法。
  13. 前記サービスは、
    パブリックな、サービスとしてのインフラストラクチャ(IaaS)、
    プライベートなIaaS、
    パブリックな、サービスとしてのソフトウェア(SaaS)、
    プライベートなSaaS、または
    プライベートエンタープライズサービスのうちの少なくとも1つに関連付けられている、請求項8~12のいずれか一項に記載の方法。
  14. 1つ以上のポリシーを含むポリシーテーブルを維持することと、
    前記1つ以上のポリシーを使用して、前記アプリケーションに関連付けられた前記アプリケーション識別子を前記ラベルにマッピングすることと、をさらに含む、請求項8~13のいずれか一項に記載の方法。
  15. 命令を包含する1つ以上のコンピュータ可読非一時的記憶媒体であって、前記命令は、プロセッサによって実行されたときに、前記プロセッサに、
    アプリケーションに関連付けられたサービスにトラフィックをルーティングする要求を検出することと、前記アプリケーションに関連付けられたアプリケーション識別子を識別することと、
    前記アプリケーション識別子を使用して、ルーティングテーブルに含まれる複数のラベルからラベルを選択することであって、前記ラベルは1つ以上のルートを含む、選択することと、
    前記ラベルを使用して、前記アプリケーションに関連付けられた前記サービスに前記トラフィックをルーティングすることと、を含む動作を実施させる、1つ以上のコンピュータ可読非一時的記憶媒体。
  16. 前記ラベルは、インラインセキュリティサービスを有するエクストラネットサービスをサポートし、
    前記インラインセキュリティサービスは、
    ファイアウォールサービス、
    侵入検出サービス、
    侵入防止サービス、またはクラウドアクセスセキュリティブローカー(CASB)サービスのうちの少なくとも1つを含む、請求項15に記載の1つ以上のコンピュータ可読非一時的記憶媒体。
  17. ヘッドエンドノードは、
    前記ラベルを受信し、
    ポリシーテーブル内に1つ以上のポリシーを維持し、かつ
    前記1つ以上のポリシーおよび前記ラベルを使用して、前記アプリケーションに関連付けられた前記サービスに前記トラフィックをルーティングする、請求項15または16に記載の1つ以上のコンピュータ可読非一時的記憶媒体。
  18. 前記動作は、
    前記プロセッサによって、ドメインネームシステム(DNS)要求を受信することと、前記アプリケーション識別子を使用して、前記DNS要求を前記ラベルにマッピングすることと、をさらに含む、請求項15~17のいずれか一項に記載の1つ以上のコンピュータ可読非一時的記憶媒体。
  19. 前記ラベルは、
    ソフトウェア定義型ワイドエリアネットワーク(SD-WAN)、
    仮想プライベートネットワーク(VPN)、
    マルチプロトコルラベルスイッチング(MPLS)ラベル、
    ネットワークサービスヘッダ(NSH)ラベル、または
    汎用ネットワーク仮想化カプセル化(GENEVE)トンネルラベルのうちの少なくとも1つに関連付けられている、請求項15~18のいずれか一項に記載の1つ以上のコンピュータ可読非一時的記憶媒体。
  20. 前記サービスは、
    パブリックな、サービスとしてのインフラストラクチャ(IaaS)、
    プライベートなIaaS、
    パブリックな、サービスとしてのソフトウェア(SaaS)、
    プライベートなSaaS、または
    プライベートエンタープライズサービスのうちの少なくとも1つに関連付けられている、請求項15~19のいずれか一項に記載の1つ以上のコンピュータ可読非一時的記憶媒体。
  21. アプリケーションに関連付けられたサービスにトラフィックをルーティングする要求を検出するための手段と、前記アプリケーションに関連付けられたアプリケーション識別子を識別するための手段と、
    前記アプリケーション識別子を使用して、ルーティングテーブルに含まれる複数のラベルからラベルを選択するための手段であって、前記ラベルは1つ以上のルートを含む、手段と、
    前記ラベルを使用して、前記アプリケーションに関連付けられた前記サービスに前記トラフィックをルーティングするための手段と、を含む、装置。
  22. 請求項9~14のいずれか一項に記載の方法を実装するための手段をさらに含む、請求項21に記載の装置。
  23. コンピュータによって実行されたときに、前記コンピュータに、請求項8~14のいずれか一項に記載の方法のステップを実行させるための命令を含む、コンピュータプログラムまたはコンピュータ可読媒体。
JP2021571665A 2019-06-06 2020-05-29 ラベルを使用してネットワークトラフィックをルーティングするためのシステムおよび方法 Active JP7439137B2 (ja)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201962858245P 2019-06-06 2019-06-06
US201962858207P 2019-06-06 2019-06-06
US62/858,245 2019-06-06
US62/858,207 2019-06-06
US16/750,139 US11277337B2 (en) 2019-06-06 2020-01-23 Systems and methods for routing network traffic using labels
US16/750,139 2020-01-23
PCT/US2020/035045 WO2020247248A1 (en) 2019-06-06 2020-05-29 Systems and methods for routing network traffic using labels

Publications (2)

Publication Number Publication Date
JP2022537645A JP2022537645A (ja) 2022-08-29
JP7439137B2 true JP7439137B2 (ja) 2024-02-27

Family

ID=73650140

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021571665A Active JP7439137B2 (ja) 2019-06-06 2020-05-29 ラベルを使用してネットワークトラフィックをルーティングするためのシステムおよび方法

Country Status (8)

Country Link
US (1) US11277337B2 (ja)
EP (1) EP3981119A1 (ja)
JP (1) JP7439137B2 (ja)
KR (1) KR20220016979A (ja)
CN (1) CN114080784B (ja)
AU (1) AU2020287848A1 (ja)
CA (1) CA3142937A1 (ja)
WO (1) WO2020247248A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3093837A1 (fr) * 2019-03-14 2020-09-18 Orange Mitigation d’attaques informatiques
US10938717B1 (en) * 2019-09-04 2021-03-02 Cisco Technology, Inc. Policy plane integration across multiple domains
US11381557B2 (en) * 2019-09-24 2022-07-05 Pribit Technology, Inc. Secure data transmission using a controlled node flow
US11652801B2 (en) 2019-09-24 2023-05-16 Pribit Technology, Inc. Network access control system and method therefor
US11271777B2 (en) 2019-09-24 2022-03-08 Pribit Technology, Inc. System for controlling network access of terminal based on tunnel and method thereof
US11349932B2 (en) 2020-06-30 2022-05-31 Cisco Technology, Inc. Policy-based connection provisioning using domain name system (DNS) requests
US11463343B2 (en) * 2020-10-07 2022-10-04 Hewlett Packard Enterprise Development Lp SDWAN overlay routing service
CN112995310B (zh) * 2021-02-10 2023-02-21 中国工商银行股份有限公司 基于自定义路由的多分层调用灰度发布方法及装置
US11861373B2 (en) 2021-10-05 2024-01-02 Oracle International Corporation Techniques for providing cloud services on demand
US12099882B2 (en) 2021-10-05 2024-09-24 Oracle International Corporation Techniques for providing cloud services on demand

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070091875A1 (en) 2005-10-22 2007-04-26 Revnx, Inc. Method and System For Device Mobility Using Application Label Switching In A Mobile Communication Network
JP2015032932A (ja) 2013-08-01 2015-02-16 日本電信電話株式会社 キャリア網における経路制御システム及び方法
US20150103823A1 (en) 2012-06-18 2015-04-16 Huawei Technologies Co., Ltd. Service processing method, device and system
JP2016149729A (ja) 2015-02-13 2016-08-18 日本電信電話株式会社 転送装置及び転送方法
US20160323193A1 (en) 2013-12-30 2016-11-03 Huawei Technologies Co., Ltd. Service Routing Method, Device, and System

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002024211A (ja) * 2000-06-30 2002-01-25 Hitachi Ltd 文書管理方法およびシステム並びにその処理プログラムを格納した記憶媒体
US8307422B2 (en) * 2008-08-14 2012-11-06 Juniper Networks, Inc. Routing device having integrated MPLS-aware firewall
WO2013172819A1 (en) * 2012-05-15 2013-11-21 Siemens Enterprise Communications Gmbh & Co. Kg Method and apparatus for high performance low latency real time notification delivery
US9246874B2 (en) * 2012-06-29 2016-01-26 Verizon Patent And Licensing Inc. Virtual domain name system
US9274843B2 (en) * 2012-09-14 2016-03-01 Ca, Inc. Multi-redundant switchable process pooling for cloud it services delivery
US9369435B2 (en) 2013-09-30 2016-06-14 Cisco Technology, Inc. Method for providing authoritative application-based routing and an improved application firewall
CN104702502B (zh) * 2013-12-09 2019-11-26 中兴通讯股份有限公司 网络路径计算方法及装置
US10652798B2 (en) * 2014-11-14 2020-05-12 Motorola Mobility Llc Method and device for routing traffic of applications installed on a mobile device
US10320739B2 (en) * 2014-12-12 2019-06-11 Donuts Inc. Communication using DNS repurposing
KR102264437B1 (ko) * 2015-03-09 2021-06-15 삼성전자 주식회사 웹 서비스 제공 방법 및 장치
US10637889B2 (en) * 2015-07-23 2020-04-28 Cisco Technology, Inc. Systems, methods, and devices for smart mapping and VPN policy enforcement
US11489943B2 (en) * 2019-02-13 2022-11-01 Red Hat, Inc. Automatic version routing among multiple instances of an application

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070091875A1 (en) 2005-10-22 2007-04-26 Revnx, Inc. Method and System For Device Mobility Using Application Label Switching In A Mobile Communication Network
US20150103823A1 (en) 2012-06-18 2015-04-16 Huawei Technologies Co., Ltd. Service processing method, device and system
JP2015032932A (ja) 2013-08-01 2015-02-16 日本電信電話株式会社 キャリア網における経路制御システム及び方法
US20160323193A1 (en) 2013-12-30 2016-11-03 Huawei Technologies Co., Ltd. Service Routing Method, Device, and System
JP2016149729A (ja) 2015-02-13 2016-08-18 日本電信電話株式会社 転送装置及び転送方法

Also Published As

Publication number Publication date
JP2022537645A (ja) 2022-08-29
CN114080784B (zh) 2023-07-25
WO2020247248A1 (en) 2020-12-10
KR20220016979A (ko) 2022-02-10
CN114080784A (zh) 2022-02-22
US11277337B2 (en) 2022-03-15
AU2020287848A1 (en) 2022-02-03
CA3142937A1 (en) 2020-12-10
EP3981119A1 (en) 2022-04-13
US20200389393A1 (en) 2020-12-10

Similar Documents

Publication Publication Date Title
JP7439137B2 (ja) ラベルを使用してネットワークトラフィックをルーティングするためのシステムおよび方法
US12010097B2 (en) Network architecture for cloud computing environments
US12052569B2 (en) Systems and methods for distributing SD-WAN policies
US12101296B2 (en) Intelligent service layer for separating application from physical networks and extending service layer intelligence over IP across the internet, cloud, and edge networks
US10341357B2 (en) Selectively performing man in the middle decryption
US9853943B2 (en) Selectively performing man in the middle decryption
US9305164B1 (en) Tiered network flow analysis
US11949661B2 (en) Systems and methods for selecting application connectors through a cloud-based system for private application access
US20210336932A1 (en) Sub-clouds in a cloud-based system for private application access
US9036647B2 (en) Method and apparatus for network security
US20240356897A1 (en) Network Architecture for Cloud Computing Environments
US20240022579A1 (en) System to terminate malicious process in a data center

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220502

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230516

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230614

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230823

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231109

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231222

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240202

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240214

R150 Certificate of patent or registration of utility model

Ref document number: 7439137

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150