(57)【要約】本開示はパケット伝送方法、コントローラー及びクラウド管理プラットフォームを提供する。該方法の例示によれば、コントローラーは、仮想スイッチからのパケットを受信し、該パケットに対応する転送優先度を取得し、該パケットに対応するフローエントリを生成し、該フローエントリは該フローエントリにマッチするパケットに対して指定タイプのカプセル化を行い、指定タイプのカプセル化されたパケットに該転送優先度を追加するためのものであり、該仮想スイッチが該フローエントリを用いてパケットを送信するように、該フローエントリを該仮想スイッチに配布する。
2019527988.tif 000002
【特許請求の範囲】
【請求項１】
パケット伝送方法であって、
コントローラーは仮想スイッチからのパケットを受信することと、
前記コントローラーは該パケットに対応する転送優先度を取得することと、
前記コントローラーは該パケットに対応するフローエントリを生成し、該フローエントリは該フローエントリにマッチするパケットに対して指定タイプのカプセル化を行い、指定タイプのカプセル化されたパケットに該転送優先度を追加するためのものであることと、
前記コントローラーは、該仮想スイッチが該フローエントリを用いてパケットを送信するように、該フローエントリを該仮想スイッチに配布することと
を含むパケット伝送方法。
【請求項２】
前記該パケットに対応する転送優先度を取得することは、
前記コントローラーは該パケットに載せられている情報によって予め設定された識別子と転送優先度とのマッピング関係をクエリし、該情報に対応する転送優先度を取得すること
を含む請求項１に記載のパケット伝送方法。
【請求項３】
前記該パケットに対応する転送優先度を取得することは、
前記コントローラーはクラウド管理プラットフォームにクエリ要求メッセージを送信し、該クエリ要求メッセージに該パケットに載せられている情報を載せていることと、
前記コントローラーは該クラウド管理プラットフォームからのクエリ応答メッセージを受信し、該クエリ応答メッセージに該情報に対応する転送優先度が載せられていることと、
を含む請求項１に記載のパケット伝送方法。
【請求項４】
該パケットに載せられている情報によって予め設定された識別子と転送優先度とのマッピング関係をクエリする前に、更に、
前記コントローラーは各仮想マシンに対応するテナントタイプ及び／又はサービスタイプを取得することと、
前記コントローラーは該テナントタイプ及び／又は該サービスタイプに対応する転送優先度を取得することと、
前記コントローラーは該仮想マシンの識別子を取得し、該識別子と該転送優先度とのマッピング関係を維持することと、
を含む請求項２に記載のパケット伝送方法。
【請求項５】
パケット伝送方法であって、
クラウド管理プラットフォームはコントローラーからのクエリ要求メッセージを受信することと、
前記クラウド管理プラットフォームは該クエリ要求メッセージに載せられている情報によって予め設定された識別子と転送優先度とのマッピング関係をクエリし、該情報に対応する転送優先度を取得することと、
前記クラウド管理プラットフォームは、該コントローラーにフローエントリを生成させるように、該コントローラーへ該転送優先度が載せられているクエリ応答メッセージを送信し、該フローエントリは、該フローエントリにマッチするパケットに対して指定タイプのカプセル化を行い、指定タイプのカプセル化されたパケットに該転送優先度を追加するためのものであることと、
を含むパケット伝送方法。
【請求項６】
該クエリ要求メッセージに載せられている情報によって予め設定された識別子と転送優先度とのマッピング関係をクエリする前に、
前記方法は、更に、
前記クラウド管理プラットフォームは各仮想マシンに対応するテナントタイプ及び／又はサービスタイプを取得することと、
前記クラウド管理プラットフォームは該テナントタイプ及び／又は該サービスタイプに対応する転送優先度を取得することと、
前記クラウド管理プラットフォームは該仮想マシンの識別子を取得し、該識別子と該転送優先度とのマッピング関係を維持することと、
を含む請求項５に記載のパケット伝送方法。
【請求項７】
コントローラーであって、プロセッサーと機械読取可能な記録媒体とを含み、前記機械読取可能な記録媒体に前記プロセッサーによって実行することができる機械実行可能な命令が記憶されており、前記機械実行可能な命令によって、前記プロセッサーに、
仮想スイッチからのパケットを受信することと、
該パケットに対応する転送優先度を取得することと、
該パケットに対応するフローエントリを生成し、該フローエントリは該フローエントリにマッチするパケットに対して指定タイプのカプセル化を行い、指定タイプのカプセル化されたパケットに該転送優先度を追加するためのものであることと、
該仮想スイッチが該フローエントリを用いてパケットを送信するように、該フローエントリを該仮想スイッチに配布することと、
を実行させるコントローラー。
【請求項８】
該パケットに対応する転送優先度を取得する際に、前記機械実行可能な命令によって、前記プロセッサーに、更に、
該パケットに載せられている情報によって予め設定された識別子と転送優先度とのマッピング関係をクエリし、該情報に対応する転送優先度を取得すること、
を実行させる請求項７に記載のコントローラー。
【請求項９】
該パケットに対応する転送優先度を取得する際に、前記機械実行可能な命令によって、前記プロセッサーに、更に、
クラウド管理プラットフォームにクエリ要求メッセージを送信し、該クエリ要求メッセージに該パケットに載せられている情報を載せていることと、
該クラウド管理プラットフォームからのクエリ応答メッセージを受信し、該クエリ応答メッセージに該情報に対応する転送優先度を載せられていることと、
を実行させる請求項７に記載のコントローラー。
【請求項１０】
該パケットに載せられている情報によって予め設定された識別子と転送優先度とのマッピング関係をクエリする前に、前記機械実行可能な命令によって、前記プロセッサーに、更に、
各仮想マシンに対応するテナントタイプ及び／又はサービスタイプを取得することと、
該テナントタイプ及び／又は該サービスタイプに対応する転送優先度を取得することと、
該仮想マシンの識別子を取得し、該識別子と該転送優先度とのマッピング関係を維持することと、
を実行させる請求項８に記載のコントローラー。
【請求項１１】
クラウド管理プラットフォームであって、請求項５に記載のパケット伝送方法が適用され、前記クラウド管理プラットフォームは、プロセッサーと機械読取可能な記録媒体とを含み、前記機械読取可能な記録媒体に前記プロセッサーによって実行することができる機械実行可能な命令が記憶されており、前記機械実行可能な命令によって、前記プロセッサーに、
コントローラーからのクエリ要求メッセージを受信することと、
該クエリ要求メッセージに載せられている情報によって予め設定された識別子と転送優先度とのマッピング関係をクエリし、該情報に対応する転送優先度を取得することと、
該コントローラーにフローエントリを生成させるように、該コントローラーへ該転送優先度が載せられているクエリ応答メッセージを送信し、該フローエントリは該フローエントリにマッチするパケットに対して指定タイプのカプセル化を行い、指定タイプのカプセル化されたパケットに該転送優先度を追加するためのものであることと、
を実行させるクラウド管理プラットフォーム。
【請求項１２】
該クエリ要求メッセージに載せられている情報によって予め設定された識別子と転送優先度とのマッピング関係をクエリする前に、前記機械実行可能な命令によって、前記プロセッサーに、更に、
各仮想マシンに対応するテナントタイプ及び／又はサービスタイプを取得することと、
該テナントタイプ及び／又は該サービスタイプに対応する転送優先度を取得することと、
該仮想マシンの識別子を取得し、該識別子と該転送優先度とのマッピング関係を維持することと、
を実行させる請求項１１に記載のクラウド管理プラットフォーム。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は２０１６年８月１１日に提出した、出願番号が２０１６１０６５８３２６．２であり、発明の名称が「パケット伝送方法及び装置」である中国特許出願に基づき優先権を主張し、該出願の全ての内容をここに援用する。
【背景技術】
【０００２】
クラウドコンピューティングセンターにおいてＳＤＮ（Ｓｏｆｔｗａｒｅ  Ｄｅｆｉｎｅｄ  Ｎｅｔｗｏｒｋ：ソフトウェア定義型ネットワーク）＋ＶＸＬＡＮ（Ｖｉｒｔｕａｌ  ｅＸｔｅｎｓｉｂｌｅ  Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ：拡張可能な仮想ローカルエリアネットワーク）の技術を使用する可能性がある。ここで、ＳＤＮの核心思想は、ネットワーク装置の制御機能と転送機能を分離し、コントローラー（例えばＳＤＮコントローラー）によってネットワークトラフィックに対して集中及び柔軟的な制御を行うことにより、コアネットワーク及びアプリケーションのイノベーションに対して良好なプラットフォームを提供することである。
【０００３】
クラウドコンピューティングの異なるテナント同士の間は、レイヤ２のドメインにおいて論理的に隔離する必要があり、且つ、スイッチの自身の処理能力が限られ、一般的に最大で４０９６個のＶＬＡＮ（ＶｉｒｔｕａｌＬｏｃａｌＡｒｅａＮｅｔｗｏｒｋ、仮想ローカルエリアネットワーク）インスタンスのみをサポートするため、ＶＬＡＮのレイヤ２のドメインの割り当て及び隔離を行う際に、ＶＬＡＮは数や規模でニーズをはるかに満たさない。このため、ＶＸＬＡＮ技術が提案され、ＶＸＬＡＮは３層のＩＰネットワークに基づく大規模なレイヤ２ネットワークを構築するＯｖｅｒｌａｙネットワーク技術である。
【図面の簡単な説明】
【０００４】
本開示の実施例または従来技術の技術案をより明確的に説明するために、以下、本開示の実施例または従来技術に使用される図面について簡単に説明する。以下で説明する図面が単に本開示に記載されたいくつかの実施例であり、当業者にとって、これらの図面に基づいてその他の図面を取得できることは明らかである。
【図１】図１は本開示の一実施形態における応用シナリオの模式図である。
【図２】図２は本開示の一実施形態におけるパケット伝送方法を示すフローチャートである。
【図３】図３は本開示の他の実施形態におけるパケット伝送方法を示すフローチャートである。
【図４】図４は本開示の他の実施形態におけるパケット伝送方法を示すフローチャートである。
【図５】図５は本開示の一実施形態におけるコントローラーのハードウェア構造図である。
【図６】図６は本開示の一実施形態におけるコントローラーの構造図である。
【図７】図７は本開示の一実施形態におけるクラウド管理プラットフォームのハードウェア構造図である。
【図８】図８は本開示の一実施形態におけるクラウド管理プラットフォームの構造図である。
【図９】図９は本開示の一実施形態におけるエッジネットワーク装置のハードウェア構造図である。
【図１０】図１０は本開示の一実施形態におけるエッジネットワーク装置の構造図である
【発明を実施するための形態】
【０００５】
本開示に使用された用語はただ指定の実施例を説明することを目的とし、本開示を制限することがない。文脈が他の意味を明確に示さない限り、本開示及び特許請求の範囲に使用された単数形の「１種」、「前記」及び「該」は複数形を含むことを意図する。更に理解すべきなのは、本文に使用された用語「及び／又は」とは１つ又は複数の関連付けられたリストアイテムの任意又は全ての可能な組み合わせを指す。
【０００６】
本開示において「第１の」、「第２の」、「第３の」等の用語によって様々な情報を説明するが、この情報はこれらの用語に制限されるべきではない。これらの用語はただ同じタイプの情報同士を区別するためのものである。例えば、本開示の範囲を逸脱しない限り、第１の情報は第２の情報とも呼ばれてもよく、同様に、第２の情報は第１の情報とも呼ばれてもよい。文脈によって決められる。なお、使用される語「すれば」は「…時に」又は「…と」又は「…に応答する」と解釈設定することができる。
【０００７】
図１に示したように、図１はＳＤＮ＋ＶＸＬＡＮにより構築したネットワークを示しており、該ネットワークは物理サーバー１〜３、コントローラー（例えばＳＤＮコントローラー等）１００、クラウド管理プラットフォーム２００、エッジネットワーク装置１０、２０、３０、インテリジェントネットワーク管理センター１０００を備え、各物理サーバーに仮想マシン及び仮想スイッチを構成することができる。例えば、物理サーバー１に仮想マシン１０１、仮想マシン１０２、仮想マシン１０３及び仮想スイッチ１１を構成し、物理サーバー２に仮想マシン１０４、仮想マシン１０５、仮想マシン１０６及び仮想スイッチ２２を構成し、物理サーバー３に仮想マシン１０７、仮想マシン１０８、仮想マシン１０９及び仮想スイッチ３３を構成している。物理サーバー１に接続されたエッジネットワーク装置はエッジネットワーク装置１０であり、物理サーバー２に接続されたエッジネットワーク装置はエッジネットワーク装置２０であり、物理サーバー３に接続されたエッジネットワーク装置はエッジネットワーク装置３０である。本文におけるエッジネットワーク装置は例えばルーターやスイッチ等の装置でもよく、仮想ルーターやスイッチを実現できるサーバーでもよい。
【０００８】
クラウド管理プラットフォーム２００によって大量のコンピューティングリソース、ストレージリソース及びネットワークリソースを管理することができ、そして該クラウド管理プラットフォーム２００によりテナントに仮想マシンを割り当てる。例えば、クラウド管理プラットフォーム２００は、物理サーバー１でテナントに仮想マシン１０１、仮想マシン１０２、仮想マシン１０３を割り当て、物理サーバー２でテナントに仮想マシン１０４、仮想マシン１０５、仮想マシン１０６を割り当て、物理サーバー３でテナントに仮想マシン１０７、仮想マシン１０８、仮想マシン１０９を割り当てることができる。ただし、ネットワークにクラウド管理プラットフォーム２００を配置していない時に、コントローラー１００によってこれらのリソースの管理し、仮想マシンの割り当てを行ってもよい。
【０００９】
ネットワークにおけるインテリジェントネットワーク管理センター１０００はエッジネットワーク装置、ＶＸＬＡＮネットワークにおけるルーター及びスイッチ等のネットワーク装置を管理することができる。
【００１０】
図１では、各物理サーバーにおける仮想マシン、仮想スイッチ等により構築されたネットワークはｏｖｅｒｌａｙ（オーバーレイ）ネットワークであり、クラウド管理プラットフォーム２００／コントローラー１００によってｏｖｅｒｌａｙネットワークにおける仮想マシンや仮想スイッチを管理することができる。エッジネットワーク装置１０〜３０、ＶＸＬＡＮネットワークにおけるネットワーク装置４０、５０等により構築されたネットワークはｕｎｄｅｒｌａｙ（アンダーレイ）ネットワークであり、インテリジェントネットワーク管理センター１０００によってｕｎｄｅｒｌａｙネットワークにおける各装置を管理することができる。
【００１１】
通常のＳＤＮでは、異なる仮想マシンにおいて実行されるサービスは優先度が異なる可能性がある。例えば、１つの仮想マシンは現在にリアルタイム画像を伝送しており、他の仮想マシンは現在に一般的なファイルを伝送している。この２つの仮想マシンがいずれも大量のパケットを送信する際に、この２つの仮想マシンにアクセスされたエッジネットワーク装置は、サービス処理負荷が非常に重いため、パケット損失現象が発生することがある。これらの喪失されたパケットはリアルタイム画像である可能性もあり、一般的なファイルである可能性もある。リアルタイム画像のパケットがあまりにも多く喪失されると、リアルタイム画像にガタつきが出てしまい、ユーザー体験に影響を及ぼす。
【００１２】
該問題について、本開示はネットワーク伝送を最適化することにより、異なるテナントの異なるサービスタイプのパケットを、ネットワークにおいて異なる転送優先度に従って伝送させることができる。
【００１３】
上記の機能を実現するために、クラウド管理プラットフォーム２００上に仮想マシンの識別子と仮想マシンの転送優先度とのマッピング関係を維持する。仮想マシンのアドレス情報、具体的に仮想マシンのＩＰアドレスまたはＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ、媒体アクセス制御）アドレス等を仮想マシンの唯一の識別子として使用することができる。説明の便宜上、以降で仮想マシンのＩＰアドレスを例として説明する。
【００１４】
該仮想マシンの識別子と仮想マシンの転送優先度とのマッピング関係は予め指定され、クラウド管理プラットフォーム２００に記憶されることが可能である。テナントのサービスタイプが変わる際に、クラウド管理プラットフォーム２００は該仮想マシンの識別子と仮想マシンの転送優先度とのマッピング関係を動的に更新することができる。
【００１５】
例えば、クラウド管理プラットフォーム２００はテナントの実際の需要に応じて仮想マシンの識別子と仮想マシンの転送優先度とのマッピング関係を指定して維持することができる。クラウド管理プラットフォーム２００はテナントに仮想マシンを割り当て、該仮想マシンに対応するサービスタイプを指定する。一般的に、クラウド管理プラットフォーム２００は該仮想マシンに１つのサービスタイプのみを指定する。例えば、テナント１について、そのテナントタイプがテナントタイプＡであり、クラウド管理プラットフォーム２００はテナント１に仮想マシン１０１、仮想マシン１０２、仮想マシン１０３、仮想マシン１０４、仮想マシン１０９を割り当て、そして仮想マシン１０１、仮想マシン１０２、仮想マシン１０９のサービスタイプをサービスタイプ１に指定し、仮想マシン１０３、仮想マシン１０４のサービスタイプをサービスタイプ２に指定することができる。なお、テナント２について、そのテナントタイプがテナントタイプＢであり、クラウド管理プラットフォーム２００はテナント２に仮想マシン１０５、仮想マシン１０６、仮想マシン１０７、仮想マシン１０８を割り当て、そして仮想マシン１０５、仮想マシン１０６のサービスタイプをサービスタイプ１に指定し、仮想マシン１０７、仮想マシン１０８のサービスタイプをサービスタイプ３に指定することができる。上記の例示に基づいて、クラウド管理プラットフォーム２００は、テナント名と、テナントタイプと、仮想マシンと、サービスタイプとの対応関係を記録している表１に示すような対応関係を維持することができる。
【００１６】
【表１】
2019527988.tif 000003
【００１７】
一例において、テナントタイプは実際の需要に応じて設定する。例えば、テナントタイプは重要なテナント（例えば会社のリーダー）や普通なテナント（例えば会社の従業員）とすることができる。また、サービスタイプも実際の需要に応じて設定する。例えば、サービスタイプはビデオサービス、音声サービス、ＷＥＢ（ページ）サービス、ファイル伝送サービス等とすることができる。上記の例示はただ説明の便宜上、テナントタイプ及びサービスタイプの例として挙げられたものであり、本開示の実施例においてこれに限定されない。
【００１８】
一例において、クラウド管理プラットフォーム２００は、テナントタイプ及び／又はサービスタイプに応じて、重要なテナントの重要なサービスのパケットを優先的に伝送するように、転送優先度の割り当てを行う。例えば、重要なテナントの転送優先度は普通なテナントの転送優先度より高くする必要がある。また、例えば、ビデオサービスの転送優先度はファイル伝送サービスの転送優先度より高くする必要がある。クラウド管理プラットフォーム２００がテナントタイプ及びサービスタイプに従って転送優先度の割り当てを行うことを例とすると、クラウド管理プラットフォーム２００は例えば表２に示される優先度表を維持することができる。表２は１つの例だけであり、実際の需要に応じて調整することができ、本開示の実施例においてこれに制限されないものである。テナントタイプとサービスタイプとの組み合わせに応じて任意に転送優先度を割り当ててよく、重要なテナントの重要なサービスのパケットを優先的に伝送することを確保すればよい。
【００１９】
【表２】
2019527988.tif 000004
【００２０】
一例において、表１及び表２を組み合わせ、表３に示すように、クラウド管理プラットフォーム２００は仮想マシンと転送優先度とのマッピング関係を維持することができる。表３は１つの例だけであり、実際の需要に応じて調整することができる。
【００２１】
【表３】
2019527988.tif 000005
【００２２】
一例において、各仮想マシンに対して、クラウド管理プラットフォーム２００は更に該仮想マシンに対応するＩＰアドレスを取得することができる。具体的な取得方法の説明はここで省略する。表３に示すようなマッピング関係に基づいて、クラウド管理プラットフォーム２００は、更に表４に示すようなＩＰアドレス（仮想マシンのＩＰアドレス）と転送優先度（仮想マシンの転送優先度）とのマッピング関係を維持することができる。表４は１つの例だけであり、実際の需要に応じて調整することができる。
【００２３】
【表４】
2019527988.tif 000006
【００２４】
他の例において、クラウド管理プラットフォーム２００は、更に表５に示すようなＩＰアドレス（仮想マシンのＩＰアドレス）と転送優先度（仮想マシンの転送優先度）とのマッピング関係を維持することができる。
【００２５】
【表５】
2019527988.tif 000007
【００２６】
以上の例において、クラウド管理プラットフォーム２００がテナントに仮想マシンを割り当て、仮想マシンと転送優先度とのマッピング関係を指定して維持することを説明した。コントローラー１００は仮想マシンからのパケットを受信した際に、該パケットに対応する転送優先度を取得するように、クラウド管理プラットフォーム２００にクエリ要求を送信することができる。しかしながら、ネットワークにはクラウド管理プラットフォーム２００を配置しないと、以上のクラウド管理プラットフォーム２００によって実行された操作はコントローラー１００によって実行することができる。例えば、コントローラー１００はテナントに仮想マシンを割り当て、コントローラー１００において仮想マシンのＩＰアドレスと仮想マシンの転送優先度とのマッピング関係を維持することができる。図２にクラウド管理プラットフォーム２００を配置しない場合のパケット伝送方法を示している。
【００２７】
図２に示すように、本開示の実施例において提案されるパケット伝送方法は以下のステップを含む。
【００２８】
ステップ２０１において、コントローラーは仮想スイッチからのパケットを受信して、該パケットに対応する転送優先度を取得する。仮想スイッチは物理サーバーに配置される仮想スイッチであり、該パケットは該仮想スイッチが仮想マシンからのパケットを受信した後、制御フローテーブルにマッチしなかった時に該コントローラーに送信されるものである。
【００２９】
一例において、コントローラーが受信したパケットは、１つの仮想マシンが他の仮想マシンへ送信するパケットで良く、１つの仮想マシンが外部ネットワークの装置へ送信するパケットでもよい。説明の便宜上、仮想マシン１０１が仮想マシン１０４へ送信するパケットを例として説明する。仮想マシン１０１が仮想マシン１０４へパケットを送信する場合に、もし該パケットが仮想マシン１０１から仮想マシン１０４へ送信する初めてのパケットであると、仮想スイッチ１０１がローカルの転送フローテーブルの中で該パケットに対応するフローエントリを見つけないので、該パケットをｐａｃｋｅｔ−ｉｎメッセージに追加し、ｐａｃｋｅｔ−ｉｎメッセージをコントローラー１００に送信する。もし該パケットが仮想マシン１０１から仮想マシン１０４へ送信する初めてのパケットでなく、仮想スイッチ１１に既に該パケットに対応するフローエントリがあると、該フローエントリに基づいてパケットを転送することができる。該転送手順は以降において詳細に説明する。
【００３０】
一例において、コントローラー１００は該パケットを受信した後に、該パケットに対応するフローエントリを生成する。該フローエントリを生成する前に、コントローラー１００はまず該パケットに対応する転送優先度を取得する。コントローラー１００が該パケットに対応する転送優先度を取得する過程について、以下のことを含むが、これに限定されない。即ち、コントローラー１００は該パケットに載せられている情報に応じて、予め設定された識別子と転送優先度とのマッピング関係をクエリし、該情報に対応する転送優先度を取得する。そのうち、該情報は具体的に該パケットの宛先ＩＰアドレス又は送信元ＩＰアドレス、或いは、該パケットの宛先ＭＡＣアドレス又は送信元ＭＡＣアドレスで良く、該識別子は具体的に仮想マシンのＩＰアドレス、或いは、仮想マシンのＭＡＣアドレスで良い。
【００３１】
説明の便宜上、該情報が該パケットの宛先ＩＰアドレスまたは送信元ＩＰアドレスであり、識別子が仮想マシンのＩＰアドレスであることを例として説明する。これに基づいて、コントローラー１００は該パケットの宛先ＩＰアドレスまたは送信元ＩＰアドレスに応じて、予め設定されたＩＰアドレスと転送優先度とのマッピング関係（表４或いは表５に示す）をクエリして、該パケットに対応する転送優先度を取得することができる。なお、パケットの宛先ＩＰアドレスか、それとも送信元ＩＰアドレスかに基づいて対応する転送優先度をサーチするのは予め設定することができる。
【００３２】
例えば、仮想マシン１０１から仮想マシン１０４へ送信するパケットの送信元ＩＰアドレスが仮想マシン１０１のＩＰアドレス１である場合、ＩＰアドレス１に基づいて表４または表５に示すようなマッピング関係をクエリして、転送優先度が１であることを取得することができる。また、例えば、仮想マシン１０１から仮想マシン１０４へ送信するパケットの宛先ＩＰアドレスが仮想マシン１０４のＩＰアドレス４である場合、ＩＰアドレス４に基づいて表４或いは表５に示すようなマッピング関係をクエリし、転送優先度が５であることを取得することができる。説明の便宜上、以降で宛先ＩＰアドレスに対応する転送優先度「５」を取得することを例として説明する。
【００３３】
一例において、パケットが仮想マシン１０１から外部ネットワーク装置へ送信するパケットであるとすると、パケットの送信元ＩＰアドレスは仮想マシン１０１のＩＰアドレス１であり、宛先ＩＰアドレスはゲートウェイ装置のＩＰアドレスである。もし送信元ＩＰアドレスに基づいて転送優先度をクエリすることを予め設定したら、転送優先度「１」を取得することができる。もし宛先ＩＰアドレスに基づいて転送優先度をクエリすることを予め設定したら、実際にゲートウェイ装置の転送優先度を取得する。ゲートウェイ装置の転送優先度が一般的にデフォルト優先度であり、例えば最小の転送優先度０である。本開示の実施例は、この場合を説明しない。
【００３４】
ステップ２０２において、コントローラーは、該パケットに対応するフローエントリを生成し、該フローエントリは、該フローエントリにマッチするパケットに対して指定タイプのカプセル化を行い、指定タイプのカプセル化されたパケットに該転送優先度を追加するためのものである。その中、指定タイプのカプセル化されたパケットに該転送優先度を追加するのは、具体的に以下のことを含むが、これに限定されない。即ち、指定タイプのカプセル化されたパケットの外層ＩＰヘッダーのＤＳＣＰ（Ｄｉｆｆｅｒｅｎｔｉａｔｅｄ  Ｓｅｒｖｉｃｅｓ  Ｃｏｄｅ  Ｐｏｉｎｔ、差別化サービスコードポイント）フィールドに該転送優先度を追加する。
【００３５】
該フローエントリは例えばマッチングオプション及び動作オプションを含んでよい。マッチングオプションは、パケットの宛先ＩＰアドレス、またはパケットの宛先ＩＰアドレス及び送信元ＩＰアドレスで良い。勿論、マッチングオプションは更にパケットの送信元ポート及び／又は宛先ポートを含んでもよく、ここで説明を省略する。指定されたタイプのカプセル化はＶＸＬＡＮカプセル化である際に、該フローエントリの動作オプションは、該フローエントリにマッチしているパケットに対してＶＸＬＡＮカプセル化を行い、カプセル化されたＶＸＬＡＮパケットに転送優先度を追加することを含む。パケットに対してＶＸＬＡＮカプセル化を行う際に、カプセル化されたＶＸＬＡＮパケットは順次にＶＸＬＡＮヘッダー、外層ＵＤＰヘッダー、外層ＩＰヘッダー、外層ＭＡＣヘッダーを含み、そのうち、外層ＩＰヘッダーにおけるＤＳＣＰフィールドに転送優先度が追加されている。
【００３６】
例えば、仮想マシン１０１から仮想マシン１０４へ送信するパケットについて、コントローラー１００は、仮想マシン１０１が仮想スイッチ１１にアクセスし且つ仮想マシン１０４が仮想スイッチ２２にアクセスすることを知ったと、パケットに対してＶＸＬＡＮカプセル化を行う際に、外層ＩＰヘッダーにおける送信元ＩＰアドレスに仮想スイッチ１１のＩＰアドレスを記録し、宛先ＩＰアドレスに仮想スイッチ２２のＩＰアドレスを記録し、ＤＳＣＰフィールドを該転送優先度「５」として記憶する。その後、コントローラー１００はカプセル化されたＶＸＬＡＮパケットを仮想スイッチ２２に送信する。
【００３７】
一例において、コントローラー１００は複数のパケットを送信する際に、各パケットにおける転送優先度を用いてパケットを送信し、即ち、コントローラー１００は転送優先度が高いパケットを優先的に送信することによりサービス体験を確保し、該過程については詳細的な説明を省略する。
【００３８】
ステップ２０３において、コントローラーは、仮想スイッチがフローエントリを用いてパケットを送信するように、該フローエントリを該仮想スイッチ（ステップ２０１においてパケットを送信する仮想スイッチ）に配布する。
【００３９】
一例において、仮想スイッチ１１は、上記フローエントリを受信してから再び仮想マシン１０１から仮想マシン１０４へ送信するパケット（即ち、初めてのパケットではないもの）を受信した後に、該パケットが該フローエントリにマッチできるので、該パケットに対してＶＸＬＡＮカプセル化を行う。カプセル化されたＶＸＬＡＮパケットの外層ＩＰヘッダーにおける送信元ＩＰアドレスが仮想スイッチ１１のＩＰアドレスであり、宛先ＩＰアドレスが仮想スイッチ２２のＩＰアドレスであり、ＤＳＣＰフィールドが該転送優先度「５」である。仮想スイッチ１１は該ＶＸＬＡＮパケットをエッジネットワーク装置１０に送信する。
【００４０】
一例において、エッジネットワーク装置１０は仮想スイッチ１１からのパケットを受信し、該パケットから該転送優先度を解析し、該転送優先度に基づき該パケットを送信する。
【００４１】
一例において、エッジネットワーク装置は指定のポートによって受信した指定タイプのカプセル化されたパケットの外層ＩＰヘッダーのＤＳＣＰフィールドを信頼し、該指定のポートが該エッジネットワーク装置の物理サーバーに接続されるポートを含む。例えば、エッジネットワーク装置１０に設定コマンドを配布し、該設定コマンドはエッジネットワーク装置１０に指定のポートによって受信した指定タイプのカプセル化されたパケットの外層ＩＰヘッダーのＤＳＣＰフィールドを信頼することを指示するためのものである。該指定のポートはエッジネットワーク装置１０の物理サーバー１に接続されるポート（例えばポートＡ）であり、該指定されたタイプのカプセル化はＶＸＬＡＮカプセル化である。このため、エッジネットワーク装置１０は、該設定コマンドを受信した後に、自身がポートＡから受信したＶＸＬＡＮパケットの外層ＩＰヘッダーのＤＳＣＰフィールドを信頼するように設定する。
【００４２】
上記機能を実現するために、一例として、インテリジェントネットワーク管理センター１０００によって、各エッジネットワーク装置の物理サーバーに接続されるポートを取得し、該エッジネットワーク装置へ設定コマンドを配布する。該設定コマンドは該エッジネットワーク装置に該ポートによって受信された指定タイプのカプセル化されたパケットの外層ＩＰヘッダーのＤＳＣＰフィールドを信頼させるためのものである。勿論、その他の装置からエッジネットワーク装置へ設定コマンドを配布してもよい。例えば、コントローラー１００はエッジネットワーク装置へ設定コマンドを配布し、本開示の実施例においてこれを制限しない。
【００４３】
一例において、エッジネットワーク装置１０は、仮想スイッチ１１からのＶＸＬＡＮパケットを受信した際に、エッジネットワーク装置１０が既にポートから受信したＶＸＬＡＮパケットの外層ＩＰヘッダーのＤＳＣＰフィールドを信頼したので、宛先ＩＰアドレス（仮想スイッチ２２のＩＰアドレス）に基づいて、ＤＳＣＰフィールドの転送優先度「５」に基づいてパケットを転送することができる。そして、ＶＸＬＡＮネットワークにおける各装置はいずれもエッジネットワーク装置１０の処理結果を信頼するため、各装置もＤＳＣＰフィールドの転送優先度「５」に基づきパケットを転送する。最終的に、該パケットは転送優先度「５」に従って仮想スイッチ２２に伝送される。仮想スイッチ２２は該ＶＸＬＡＮパケットをデカプセル化し、元のパケットを取得し、該元のパケットの送信元ＩＰアドレスが仮想マシン１０１のＩＰアドレスであり、宛先ＩＰアドレスが仮想マシン１０４のＩＰアドレスであるので、パケットを仮想マシン１０４に送信し、これによりパケットの伝送を完成する。
【００４４】
上記方法に基づいて、各装置はＤＳＣＰフィールドの転送優先度「５」に従って仮想マシン１０１から仮想マシン１０４へ送信したパケットを転送することができる。このように、高い優先度のテナントタイプとサービスタイプのパケットに対して、高い優先度の伝送処理を行うことを確保でき、これによりユーザーのサービス経験を向上させる。
【００４５】
一例において、仮にネットワークにクラウド管理プラットフォームを配置するとし、クラウド管理プラットフォームによりテナントに仮想マシンを割り当て、クラウド管理プラットフォーム上で仮想マシンのＩＰアドレスと仮想マシンの転送優先度とのマッピング関係を維持する。図３に示すように、本開示の実施例において提案されたパケット伝送方法は以下のステップを含む。
【００４６】
ステップ３０１において、コントローラーは仮想スイッチからのパケットを受信して、クラウド管理プラットフォームにクエリ要求メッセージを送信し、該クエリ要求メッセージに該パケットに載せられている情報を載せるすることができる。
【００４７】
仮想スイッチは物理サーバーに配置される仮想スイッチであり、該パケットは該仮想スイッチが仮想マシンからのパケットを受信した後、フローエントリにマッチしなかった時にコントローラーへ送信するものである。
【００４８】
該情報は具体的に該パケットの宛先ＩＰアドレスまたは送信元ＩＰアドレス、該パケットの宛先ＭＡＣアドレスまたは送信元ＭＡＣアドレスであり、説明の便宜上、該情報が該パケットの宛先ＩＰアドレスまたは送信元ＩＰアドレスであることを例として説明する。
【００４９】
一例において、コントローラー１００が受信したパケットは、１つの仮想マシンから他の仮想マシンへ送信するパケットで良く、１つの仮想マシンから外部ネットワーク装置へ送信するパケットでも良い。説明の便宜上、仮想マシン１０１から仮想マシン１０４へ送信するパケットを例として説明する。仮想マシン１０１から仮想マシン１０４へパケットを送信する際に、もし該パケットが仮想マシン１０１から仮想マシン１０４へ送信する初めてのパケットであると、この時に仮想スイッチ１０１には該パケットに対応するフローエントリがないため、該パケットをｐａｃｋｅｔ−ｉｎメッセージに追加し、ｐａｃｋｅｔ−ｉｎメッセージをコントローラー１００に送信する。もし該パケットが仮想マシン１０１から仮想マシン１０４へ送信する初めてのパケットでなく、仮想スイッチ１１に既に該パケットに対応するフローエントリがあると、該フローエントリに基づいてパケットを転送することができる。該転送手順は以降において詳細に説明する。
【００５０】
一例において、コントローラー１００は該パケットを受信した後に、該パケットに対応するフローエントリを生成する。該フローエントリを生成する前に、コントローラー１００はまず該パケットに対応する転送優先度を取得する。該パケットに対応する転送優先度を取得するために、コントローラー１００はクラウド管理プラットフォーム２００にクエリ要求メッセージを送信し、該クエリ要求メッセージに該パケットの宛先ＩＰアドレスまたは送信元ＩＰアドレスが載せられている。
【００５１】
ステップ３０２において、クラウド管理プラットフォームはコントローラーからのクエリ要求メッセージを受信して、該クエリ要求メッセージに載せられているＩＰアドレス（例えば上記パケットの宛先ＩＰアドレスまたは送信元ＩＰアドレス）によって、予め設定されたＩＰアドレスと転送優先度とのマッピング関係をクエリし、該ＩＰアドレスに対応する転送優先度を取得する。
【００５２】
ステップ３０３において、クラウド管理プラットフォームはコントローラーへ該転送優先度が載せられているクエリ応答メッセージを送信する。
【００５３】
ステップ３０４において、コントローラーは該クエリ応答メッセージを受信し、該クエリ応答メッセージから転送優先度（上記パケットの宛先ＩＰアドレスまたは送信元ＩＰアドレスに対応する転送優先度）を解析する。
【００５４】
ステップ３０５において、コントローラーは該パケットに対応するフローエントリを生成し、該フローエントリが該フローエントリにマッチするパケットに対して指定タイプのカプセル化を行い、指定タイプのカプセル化されたパケットに該転送優先度を追加するためのものである。指定タイプのカプセル化されたパケットに該転送優先度を追加するのは、以下のことを含むがこれに限定されない。即ち、指定タイプのカプセル化されたパケットの外層ＩＰヘッダーのＤＳＣＰフィールドに該転送優先度を追加する。
【００５５】
ステップ３０６において、コントローラーは、仮想スイッチが該フローエントリを用いてパケットを送信するように、該フローエントリを該仮想スイッチ（ステップ３０１においてパケットを送信する仮想スイッチ）に配布する。
【００５６】
ステップ３０５、３０６の処理はステップ２０２、２０３と類似するので、ここで説明を省略する。
【００５７】
上記方法に基づいて、各装置はＤＳＣＰフィールドの転送優先度「５」に従って仮想マシン１０１から仮想マシン１０４へ送信するパケットを転送する。このように、高い優先度のテナントタイプおよびサービスタイプのパケットに対して、高い優先度の伝送処理を行うことを確保でき、これによりユーザーのサービス体験を向上させる。
【００５８】
図４に示すように、本開示の実施例において提案されたパケット伝送方法は、エッジネットワーク装置に応用されてもよい。そして、該方法は以下のステップを含む。
【００５９】
ステップ４０１において、エッジネットワーク装置は仮想スイッチからのパケットを受信し、そのうち、該パケットは該仮想スイッチがフローエントリを用いて送信するものであり、該フローエントリは、該フローエントリにマッチするパケットに対して指定タイプのカプセル化を行い、指定タイプのカプセル化されたパケットに該転送優先度を追加するためのものである。
【００６０】
ステップ４０２において、エッジネットワーク装置は該パケットから該転送優先度を解析する。
【００６１】
ステップ４０３において、エッジネットワーク装置は該転送優先度によって該パケットを送信する。
【００６２】
エッジネットワーク装置の処理フローについて、図２に示すようなフローを参照し、ここで繰り返しの説明を省略する。
【００６３】
図５は、本開示において提案されたパケット伝送方法が応用されるコントローラーのハードウェア構造図である。該コントローラーはプロセッサー５０１と、機械実行可能な命令を記憶している機械読取可能な記録媒体５０２とを含む。プロセッサー５０１はシステムバス５０３を介して機械読取可能な記録媒体５０２と通信できる。そして、機械読取可能な記録媒体５０２におけるパケット伝送制御ロジックに対応する機械実行可能な命令を読み取って実行することによって、プロセッサー５０１は以上のように説明したパケット伝送方法を実行することができる。図５に示すようなプロセッサー、機械読取可能な記録媒体以外、コントローラーはその他のハードウェア、例えばパケット処理を担当する転送チップ、ネットワークインターフェース、メモリ等を含んで良い。ハードウェア構造上から、該コントローラーは分散型装置で良く、ハードウェア上にパケット処理を拡張するように複数のインターフェースカードを含んでよい。
【００６４】
本文で言及した機械読取可能な記録媒体は任意の電子、磁気、光学又はその他の物理記憶装置で良く、例えば実行可能な指令、データ等の情報を包含又は記憶をしてよい。例えば、機械読取可能な記録媒体は、ＲＡＭ（Ｒａｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ、ラドムアクセスメモリ）、揮発性メモリ、不揮発性メモリ、フラッシュメモリ、記憶ドライブ（例えばハードドライブドライブ）、ソリッドステートハードドライブ、任意のタイプの記憶ディスク（例えば光ディスク、ｄｖｄ等）、或いは類似の記憶媒体、或いはそれらの組み合わせで良い。
【００６５】
図６に示すように、前記パケット伝送制御ロジックは、具体的に、仮想スイッチからのパケットを受信するための受信モジュール６０１と、該パケットに対応する転送優先度を取得するための取得モジュール６０２と、該パケットに対応するフローエントリを生成するための生成モジュールであって、上記のフローエントリは該フローエントリにマッチするパケットに対して指定タイプのカプセル化を行い、指定タイプのカプセル化されたパケットに該転送優先度を追加するためのものである生成モジュール６０３と、該仮想スイッチが該フローエントリを用いてパケットを送信するように、該フローエントリを該仮想スイッチに配布するための送信モジュール６０４を備える。
【００６６】
前記取得モジュール６０２は以下のように用いられる。具体的に、取得モジュール６０２は、該パケットに対応する転送優先度を取得する過程において、該パケットに載せられている情報によって予め設定された識別子と転送優先度とのマッピング関係をクエリして、該第１の識別子に対応する転送優先度を取得する。または、取得モジュール６０２はクラウド管理プラットフォームにクエリ要求メッセージを送信し、該クエリ要求メッセージに該パケットに載せられている情報を載せている。取得モジュール６０２は、該クラウド管理プラットフォームからのクエリ応答メッセージを受信し、該クエリ応答メッセージに該情報に対応する転送優先度が載せられている。
【００６７】
前記パケット伝送制御ロジックは維持モジュール（図示せず）を更に備える。
【００６８】
維持モジュールは以下のように用いられる。維持モジュールは、取得モジュール６０２が該パケットに載せられている情報によって予め設定された識別子と転送優先度とのマッピング関係をクエリする前に、各仮想マシンに対して、該仮想マシンに対応するテナントタイプ及び／又はサービスタイプを取得する。維持モジュールは、該テナントタイプ及び／又は該サービスタイプに対応する転送優先度を取得することと、該仮想マシンの識別子を取得し、該識別子と該転送優先度とのマッピング関係を維持することに用いられる。
【００６９】
図７は、本開示において提案されたパケット伝送方法が応用されるクラウド管理プラットフォームのハードウェア構造図である。該クラウド管理プラットフォームは、プロセッサー７０１と、機械実行可能な命令が記憶されている機械読取可能な記録媒体７０２とを含む。プロセッサー７０１はシステムバス７０３を介して機械読取可能な記録媒体７０２と通信できる。そして、機械読取可能な記録媒体７０２におけるパケット伝送制御ロジックに対応する機械実行可能な命令を読み取って実行することによって、プロセッサー７０１は以上のように説明したパケット伝送方法を実行することができる。図７に示すようなプロセッサー、機械読取可能な記録媒体以外、クラウド管理プラットフォームはその他のハードウェア、例えばパケット処理を担当する転送チップ、ネットワークインターフェース、メモリ等を含んで良い。ハードウェア構造上から、クラウド管理プラットフォームは分散型装置で良く、ハードウェア上にパケット処理を拡張するように複数のインターフェースカードを含んで良い。
【００７０】
図８に示すように、前記パケット伝送制御ロジックは、コントローラーからの、情報が載せられているクエリ要求メッセージを受信するための受信モジュール８０１と、該情報によって予め設定された識別子と転送優先度とのマッピング関係をクエリして、該情報に対応する転送優先度を取得するための取得モジュール８０２と、該コントローラーにフローエントリを生成させるように、該コントローラーへ該転送優先度が載せられているクエリ応答メッセージを送信するための送信モジュールであって、該フローエントリが該フローエントリにマッチするパケットに対して指定タイプのカプセル化を行い、指定タイプのカプセル化されたパケットに該転送優先度を追加するためのものである送信モジュール８０３とを備える。
【００７１】
前記パケット伝送制御ロジックは維持モジュール（図示せず）を更に備える。
【００７２】
維持モジュールは以下のように用いられる。維持モジュールは、取得モジュール８０２が該情報によって予め設定された識別子と転送優先度とのマッピング関係をクエリする前に、各仮想マシンに対して、該仮想マシンに対応するテナントタイプ及び／又はサービスタイプを取得する。維持モジュールは、該テナントタイプ及び／又は該サービスタイプに対応する転送優先度を取得する。維持モジュールは、該仮想マシンの識別子を取得し、該識別子と該転送優先度とのマッピング関係を維持する。
【００７３】
上記方法と同様な発想に基づいて、本開示の実施例は、エッジネットワーク装置を提供する。図９に示すように、該エッジネットワーク装置は、プロセッサー９０１と、機械実行可能な命令が記憶されている機械読取可能な記録媒体９０２とを含む。プロセッサー９０１はシステムバス９０３を介して機械読取可能な記録媒体９０２と通信できる。そして、機械読取可能な記録媒体９０２におけるパケット伝送制御ロジックに対応する機械実行可能な命令を読み取って実行することによって、プロセッサー９０１は以上のように説明したパケット伝送方法を実行することができる。図９に示すようなプロセッサー、機械読取可能な記録媒体以外、エッジネットワーク装置はその他のハードウェア、例えばパケット処理を担当する転送チップ、ネットワークインターフェース、メモリ等を含んでも良い。ハードウェア構造上から、エッジネットワーク装置は分散型装置で良く、ハードウェア上にパケット処理を拡張するように複数のインターフェースカードを含んで良い。
【００７４】
図１０に示すように、前記パケット伝送制御ロジックは具体的に、
【００７５】
仮想スイッチからのパケットを受信するための受信モジュールであって、該パケットは該仮想スイッチからフローエントリを用いて送信されたものであり、該フローエントリは該フローエントリにマッチするパケットに対して指定タイプのカプセル化を行い、指定タイプのカプセル化されたパケットに該転送優先度を追加するためのものである受信モジュール１００１と、
【００７６】
該パケットから該転送優先度を解析するための解析モジュール１００２と、
【００７７】
該転送優先度によって該パケットを送信するための送信モジュール１００３とを備える。
【００７８】
上記の技術案に基づいて、本開示の実施例において、ＳＤＮ＋ＶＸＬＡＮにより構築したネットワークにおいて、仮想マシンに対応するテナントタイプ及び／又はサービスタイプに応じて仮想マシンの転送優先度を割り当て、パケットに該転送優先度を載せることにより、該転送優先度に従ってパケットを伝送することができ、重要なテナントの重要サービスのパケットがネットワークにおいて優先的に伝送されることが確保できるようにし、ユーザーのサービス体験を向上させる。
【００７９】
以上の実施形態の説明によれば、当業者にとって、本開示はソフトウェア及び必要な汎用ハードウェアプラットフォームによって実現設定することができることが明確でき、勿論、ハードウェアによって実現されてもよいが、多くの場合に前者は後者よりも優れた実施形態である。このような理解に基づいて、本開示の技術案は本質的に或いは従来の技術に貢献した部分がソフトウェア製品の形で体現されることができ、該ソフトウェア製品が１つの記憶媒体に記憶され、一台コンピュータ装置（パーソナルコンピュータ、サーバー、或いはネットワーク装置等で良い）が本開示の各実施例に記載の方法を実行するための若干の指令を含む。当業者にとって、図面は一好ましい実施例の模式図だけであることを理解でき、図面におけるモジュール又はフローは必ずしも本開示を実施するための不可欠なものではない。
【００８０】
当業者は、実施例による装置におけるモジュールが実施例の説明に従って実施例の装置に分布されてもよいし、対応的に変化して本実施例と異なる１つ又は複数の装置に位置してもよいことを理解できる。上記実施例のモジュールは１つのモジュールに合併されてもよく、複数のサブモジュールに更に分解されてもよい。上記の本開示の実施例の番号は説明するためのものだけであり、実施例の良否を代表しない。
【００８１】
以上で開示したものは本開示のいくつかの具体的な実施例だけであるが、本開示はこれらに制限さんなく、当業者による任意の変化も本開示の保護範囲に入る。
【図１】
2019527988.tif 000008
【図２】
2019527988.tif 000009
【図３】
2019527988.tif 000010
【図４】
2019527988.tif 000011
【図５】
2019527988.tif 000012
【図６】
2019527988.tif 000013
【図７】
2019527988.tif 000014
【図８】
2019527988.tif 000015
【図９】
2019527988.tif 000016
【図１０】
2019527988.tif 000017
【国際調査報告】
2019527988.tif 000018
2019527988.tif 000019
2019527988.tif 000020
2019527988.tif 000021