JP6595698B2 - クラウドプラットフォームのセキュリティの実現 - Google Patents

クラウドプラットフォームのセキュリティの実現 Download PDF

Info

Publication number
JP6595698B2
JP6595698B2 JP2018506402A JP2018506402A JP6595698B2 JP 6595698 B2 JP6595698 B2 JP 6595698B2 JP 2018506402 A JP2018506402 A JP 2018506402A JP 2018506402 A JP2018506402 A JP 2018506402A JP 6595698 B2 JP6595698 B2 JP 6595698B2
Authority
JP
Japan
Prior art keywords
packet
openflow
port
entry
bridge
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
JP2018506402A
Other languages
English (en)
Other versions
JP2018527813A (ja
Inventor
イェーフェイ ホウ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
New H3C Technologies Co Ltd
Original Assignee
New H3C Technologies Co Ltd
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 New H3C Technologies Co Ltd filed Critical New H3C Technologies Co Ltd
Publication of JP2018527813A publication Critical patent/JP2018527813A/ja
Application granted granted Critical
Publication of JP6595698B2 publication Critical patent/JP6595698B2/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/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/0227Filtering policies
    • H04L63/0245Filtering by information in the payload
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • H04L12/462LAN interconnection over a bridge based backbone
    • H04L12/4625Single bridge functionality, e.g. connection of two networks over a single bridge
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances
    • 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

Landscapes

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

Description

セキュリティは今までずっと各クラウドプラットフォームの必須特性である。現在のオープンソース・クラウドプラットフォーム及び非オープンソース・クラウドプラットフォームでは、いずれも動的学習したインターネット・プロトコル(IP)テーブル及びレイヤ2メディア・アクセス・コントロール(MAC)転送テーブルにより、クラウドプラットフォームのセキュリティを実現する。
オープンソース・クラウドプラットフォームのOpenstackを例に説明するが、非オープンソース・クラウドプラットフォームの原理も類似する。図1は、オープンソース・クラウドプラットフォームのOpenstackにおけるいずれか1つのクラウドサーバーの構成図を示す。Linux(登録商標)カーネルのプライマリーブリッジ(qbrブリッジであり、MACブリッジとも呼ばれる)、例えば図1に示すMAC ブリッジ_1、MAC ブリッジ_2、MAC ブリッジ_3は、動的学習したIPテーブル及びレイヤ2MAC転送テーブルにより、オープンソース・クラウドプラットフォームのOpenstackのセキュリティを実現する。図1に示す仮想マシン(VM:Virtual Machine)1からVM2へのパケット送信を例にすると、VM1はローカルポートeth0を介してパケットを送信し、MACブリッジはVM1の仮想ネットワークカード(Veth:Virtual ethernet(登録商標))によりMACブリッジのポートVeth1でVM1からのパケットを受信し、その前に動的学習したIPテーブルによりパケットのフィルタリングおよび識別を行い、動的学習したレイヤ2MAC転送テーブルによりフィルタリング後のパケットを転送し続ける。
図1は、オープンソース・クラウドプラットフォームのOpenstackにおけるいずれか1つのクラウドサーバーの構成図を示す。 図2は、本発明の例で提供するクラウドプラットフォームにおけるいずれか1つのクラウドサーバーの構成図である。 図3Aは、本発明の例で提供する、オープンフロー(Openflow)テーブルによりクラウドプラットフォームのセキュリティを実現する方法のフローチャートである。 図3Bは、本発明の例で提供する、ソースOpenflowブリッジが、検索されたOpenflowセキュリティテーブルにおける転送動作に基づいて第1のパケットを転送する方法のフローチャートである。 図4は、本発明の一例で提供する応用ネットワーク構築の構成の模式図である。 図5は、本発明の別の例で提供する応用ネットワーク構築の構成の模式図である。 図6は、本発明の例で提供する、Openflowテーブルによりクラウドプラットフォームのセキュリティを実現する装置の構成図である。 図7は、本発明の例で提供する、Openflowテーブルによりクラウドプラットフォームのセキュリティを実現する装置のハードウェア構成図である。
現在、クラウドプラットフォームにおけるクラウドサーバー上のMACブリッジは、IPテーブル及びレイヤ2MAC転送テーブルによりオープンソース・クラウドプラットフォームのOpenstackのセキュリティを実現する。しかし、IPテーブル及びレイヤ2MAC転送テーブルは、その可制御性が悪く、Openflowテーブルより遥かに劣っている。また、現在のクラウドプラットフォームにおけるクラウドサーバー上の他のブリッジ、例えば内部ブリッジ(BR−Int)、外部ブリッジ(BR−Ext)内のエントリはすべてOpenflowテーブルである。それゆえ、同一のクラウドサーバーにおいて、MACブリッジにおけるIPテーブル及びレイヤ2MAC転送テーブルと、他のブリッジにおけるOpenflowテーブルとが統一していない。
本発明の目的、技術案及びメリットがより明確になるように、以下、添付図面及び具体的な実施例により本発明を詳細に説明する。
本発明において、Openflowテーブルによるクラウドプラットフォームのセキュリティを実現するために、クラウドプラットフォームにおけるクラウドサーバー上にOpenflowブリッジを構築し、背景技術の欄に記載のMACブリッジの代わりにOpenflowブリッジによりクラウドプラットフォームのセキュリティを実現する。図2は、本発明で提供するクラウドプラットフォームにおけるいずれか1つのクラウドサーバーの構成図である。図2に示すように、Openflowブリッジは、背景技術の欄に記載のMACブリッジの位置と同じ位置で、VMとBR−Intとの間に接続されている。ただし、MACブリッジは、動的学習したIPテーブル及びレイヤ2MAC転送テーブルによりクラウドプラットフォームのセキュリティを実現するのに対して、本発明においてOpenflowブリッジは、予め配置されたOpenflowセキュリティテーブルにより、クラウドプラットフォームのセキュリティを実現する。
本発明において、Openflowセキュリティテーブルは複数のOpenflowセキュリティエントリを含み、Openflowセキュリティエントリの各々は、マッチング条件と転送動作という2つの部分を含む。
本発明の一例として、ここでのマッチング条件は、パケット受信ポートと、パケットに搭載されたパケット属性パラメータとを含んでもよい。一例において、パケットに搭載されたパケット属性パラメータは、パケット5タプル及びパケット7タプルのうちの少なくとも一方であってもよい。ここで、パケット5タプルは、宛先IPアドレス、ソースIPアドレス、宛先ポート番号、ソースポート番号、プロトコルの種類であり、パケット7タプルは、宛先IPアドレス、ソースIPアドレス、宛先MACアドレス、ソースMACアドレス、宛先ポート番号、ソースポート番号、プロトコルの種類である。
本発明の一例として、転送動作は、Openflowセキュリティエントリにマッチングするパケットに対して実行する転送動作であってもよい。Openflowセキュリティエントリにおける転送動作によるパケット転送の詳細は後述する。
以上の説明を踏まえ、以下は、Openflowブリッジが、予め配置されたOpenflowセキュリティテーブルによりクラウドプラットフォームのセキュリティを実現する手順について詳細に説明する。
図3Aを参照する。図3Aは本発明で提供する、Openflowテーブルによりクラウドプラットフォームのセキュリティを実現する方法のフローチャートである。このフローは上述のようなOpenflowブリッジに適用される。図3Aに示すように、このフローは下記のステップを含む。
ステップ301において、パケットを受信する。
このステップにおいて、前記パケットは、ローカルVMからの第1のパケットであってもよく、あるいはローカルVM宛の第2のパケットであってもよい。
ただし、ここでの第1のパケットや第2のパケットは、VMからのパケットとVM宛のパケットを区別するためのものにすぎず、本発明を限定するものではない。
ステップ302において、前記パケットが、ローカルVMからのパケット、又はローカルVM宛のパケットである場合、前記パケットを受信したポートと、前記パケットに搭載されたパケット属性パラメータとをキーワードとして、ローカルに予め配置されたOpenflowセキュリティテーブルの中から、マッチング条件が前記キーワードであるOpenflowセキュリティエントリを検索する。検索された場合に、検索されたOpenflowセキュリティエントリにおける転送動作に基づいて前記パケットを転送し、検索されなかった場合には、前記パケットを破棄する。
説明の便宜上、ローカルVMからの第1のパケットを受信したOpenflowブリッジをソースOpenflowブリッジと称し、ローカルVM宛の第2のパケットを受信したOpenflowブリッジを宛先Openflowブリッジと称する。以下には、OpenflowブリッジをソースOpenflowブリッジと宛先Openflowブリッジに分けて説明する。
ソースOpenflowブリッジは、第1のパケットを受信した第1のポートと、第1のパケットに搭載されたパケット属性パラメータとを第1のキーワードとして、ローカルに予め配置されたOpenflowセキュリティテーブルの中から、マッチング条件が第1のキーワードであるOpenflowセキュリティエントリを検索する。そして、ソースOpenflowブリッジは、検索された場合に、検索されたOpenflowセキュリティエントリにおける転送動作に基づいて第1のパケットを転送し、検索されなかった場合には、第1のパケットを破棄する。
宛先Openflowブリッジは、第2のパケットを受信した第2のポートと、第2のパケットに搭載されたパケット属性パラメータとを第2のキーワードとして、ローカルに予め配置されたOpenflowセキュリティテーブルの中から、マッチング条件が前記第2のキーワードであるOpenflowセキュリティエントリを検索する。そして、宛先Openflowブリッジは、検索された場合に、検索されたOpenflowセキュリティエントリにおける転送動作に基づいて、第1のポートを介してVMへ第2のパケットを転送し、検索されなかった場合には、第2のパケットを破棄する。
一例として、検索されたOpenflowセキュリティエントリにおける転送動作に基づいて第2のパケットを転送することは、該Openflowブリッジの、VMに接続される第1のポートを介して、VMへ第2のパケットを送信することを含んでもよい。
これまで、図3Aに示すフローが完了する。
本発明の一例として、図3Bは、本発明の例で提供する、ソースOpenflowブリッジが、検索されたOpenflowセキュリティテーブルにおける転送動作に基づいて第1のパケットを転送する方法のフローチャートである。図3Bに示すように、ソースOpenflowブリッジが、検索されたOpenflowセキュリティエントリにおける転送動作に基づいて第1のパケットを転送することは、下記のステップを含む。
ステップa1において、ソースOpenflowブリッジは、第1のパケットが先頭パケットであるか否かを判定し、第1のパケットが先頭パケットである場合にステップa2を実行し、第1のパケットが先頭パケットでない場合にはステップa3を実行する。
ここで、第1のパケットが先頭パケットであるか否かを判定する手法は、従来の先頭パケットの判定手法に類似するため、詳細な説明は省略する。
ステップa2において、ソースOpenflowブリッジは、該Openflowブリッジ上の第2のポートを介して、BR−Int上の、前記第2のポートとピア(Peer)になる第3のポートへ第1のパケットを転送する。そして、現フローを終了する。
このステップa2は、第1のパケットが先頭パケットであることを前提に実行される。
本発明において、ソースOpenflowブリッジは、第1のパケットが先頭パケットである場合に、該Openflowブリッジ上の第2のポートを介して、BR−Int上の、第2のポートとピア(Peer)になる第3のポートへ第1のパケットを送信する。こうして、第1のパケットはBR−Int上の第3のポートに到着することになる。BR−Intは、第3のポートを介して第1のパケットを受信すると、ローカルのOpenflow転送テーブルの中から、第1のパケットにマッチングするOpenflow転送エントリを検索し(検索されたOpenflow転送エントリをエントリ1と記する)、検索されたエントリ1における転送動作に基づいて第1のパケットを転送し続ける。
第1のパケットの宛先デバイスが同一のクラウドサーバー上の別のVMである場合、上記BR−Intにより検索されたエントリ1における転送動作は、該BR−Int上の第4のポートを介して、宛先デバイスに接続されるOpenflowブリッジ(つまり宛先Openflowブリッジ)上の、第4のポートとピアになる第5のポートへ第1のパケットを送信する動作である。これに基づき、BR−Intは、該BR−Int上の第4のポートを介して、宛先Openflowブリッジ上の、第4のポートとピアになる第5のポートへ第1のパケットを送信する。宛先Openflowブリッジは、第5のポートを介して第1のパケットを受信すると、第1のパケットがローカルVM宛のものであるため、ステップ303の説明と同じように、第1のパケットを受信した第5のポートと、第1のパケットに搭載されたパケット属性パラメータとに基づいて、ローカルに予め配置されたOpenflowセキュリティテーブルの中から、第1のパケットにマッチングするOpenflowセキュリティエントリを検索する。そして、宛先Openflowブリッジは、検索された場合に(検索されたOpenflowセキュリティエントリをエントリ2と記する)、検索されたエントリ2における転送動作に基づいて、宛先デバイスに接続される出力ポートを介して第1のパケットを宛先デバイスへ送信し、最終的に第1のパケットは宛先デバイスに到着することになる。また、検索されなかった場合には、第1のパケットを破棄する。
第1のパケットの宛先デバイスがネットワーク上の物理ホスト又は別のクラウドサーバー上の別のVMである場合、BR−Intにより検索されたエントリ1における転送動作は、該BR−Int上の第6のポートを介して、BR−Ext上の、第6のポートとピアになる第7のポートへ第1のパケットを送信する動作である。これに基づき、BR−Intは、該BR−Int上の第6のポートを介して、BR−Ext上の、第6のポートとピアになる第7のポートへ第1のパケットを送信する。BR−Extは、第1のパケットを受信すると、ローカルOpenflow転送テーブルの中から、第1のパケットにマッチングするOpenflow転送エントリを検索し(検索されたOpenflow転送エントリをエントリ3と記する)、検索されたエントリ3における転送動作に基づいて第1のパケットを転送し続ける。ここで、検索されたエントリ3における転送動作は、第1のパケットをVXLANカプセル化し、BR−Ext上の物理ポート(宛先デバイスに接続されるルーティングの出力ポート)を介して、VXLANカプセル化された第1のパケットを転送する動作であってもよい。こうして、最終的に第1のパケットは宛先デバイスに到着することになる。
上述した、第1のパケットが宛先デバイスへの先頭パケットであり、かつ宛先デバイスが同一のクラウドサーバー上の別のVMである場合においてソースOpenflowブリッジ、BR−Int、宛先Openflowブリッジで行われる第1のパケットの転送、あるいは第1のパケットが宛先デバイスへの先頭パケットであり、かつ宛先デバイスがネットワーク上の物理ホスト又は別のクラウドサーバー上の別のVMである場合においてソースOpenflowブリッジ、BR−Int、BR−Extで行われる第1のパケットの転送に関する説明を踏まえ、本発明において、クラウドプラットフォーム上のコントローラ(例えばSDNコントローラ)はさらに、第1のパケット転送用のOpenflow転送エントリ(エントリ4と記する)を動的に生成して、ソースOpenflowブリッジに配信して記憶するようにしてもよい。例えば、エントリ4をソースOpenflowブリッジのOpenflow転送テーブルに記憶してもよい。
本発明において、第1のパケットが宛先デバイスへの先頭パケットであり、かつ宛先デバイスが同一のクラウドサーバー上の別のVMである場合、エントリ4は、非重複の原則に基づいて、第1のパケットがソースOpenflowブリッジ、BR−Int、宛先Openflowブリッジを経由する時に検索された、第1のパケットにマッチングするOpenflowエントリを組み合わせたエントリである。例を挙げて説明すると、第1のパケットが宛先デバイスへの先頭パケットであり、かつ宛先デバイスが同一のクラウドサーバー上の別のVMである場合、第1のパケットは、上述したソースOpenflowブリッジ、BR−Int、宛先Openflowブリッジを経由して転送される。そのエントリ4のマッチング条件は、第1のパケットがソースOpenflowブリッジを経由する時に検索された、第1のパケットにマッチングするOpenflowセキュリティエントリにおけるマッチング条件と、第1のパケットがBR−Intを経由する時に検索された、第1のパケットにマッチングするOpenflow転送エントリにおけるマッチング条件と、第1のパケットが宛先OpenflowブリッジBR−Intを経由する時に検索された、第1のパケットにマッチングするOpenflowセキュリティエントリにおけるマッチング条件との組み合わせである(ただし、最終的に組み合わせたマッチング条件は、重複内容がないことを確保する必要がある)。また、エントリ4の転送動作は、第1のパケットがソースOpenflowブリッジを経由する時に検索された、第1のパケットにマッチングするOpenflowセキュリティエントリにおける転送動作と、第1のパケットがBR−Intを経由する時に検索された、第1のパケットにマッチングするOpenflow転送エントリにおける転送動作と、第1のパケットが宛先Openflowブリッジを経由する時に検索された、第1のパケットにマッチングするOpenflowセキュリティエントリにおける転送動作との組み合わせである(ただし、最終的に組み合わせた転送動作では、中間階段の転送操作を省略してもよい。すなわち、上述したエントリ2における転送操作のみを残してもよい)。
第1のパケットが宛先デバイスへの先頭パケットであり、かつ宛先デバイスがネットワーク上の物理ホスト又は別のクラウドサーバー上の別のVMである場合、エントリ4は、非重複の原則に基づいて、第1のパケットがソースOpenflowブリッジ、BR−Int、BR−Extを経由する時に検索された、第1のパケットにマッチングするOpenflowエントリを組み合わせたエントリである。例を挙げて説明すると、第1のパケットが宛先デバイスへの先頭パケットであり、かつ宛先デバイスがネットワーク上の物理ホスト又は別のネットワークノード上の別のVMである場合、第1のパケットは、上述したソースOpenflowブリッジ、BR−Int、BR−Extを経由して転送される。そのエントリ4のマッチング条件は、第1のパケットがソースOpenflowブリッジを経由する時に検索された、第1のパケットにマッチングするOpenflowセキュリティエントリにおけるマッチング条件と、第1のパケットがBR−Intを経由する時に検索された、第1のパケットにマッチングするOpenflow転送エントリにおけるマッチング条件と、第1のパケットがBR−Extを経由する時の第1のパケットにマッチングするOpenflow転送エントリにおけるマッチング条件との組み合わせである(ただし、最終的に組み合わせたマッチング条件は、重複内容がないことを確保する必要がある)。また、エントリ4の転送動作は、第1のパケットがソースOpenflowブリッジを経由する時に検索された、第1のパケットにマッチングするOpenflowセキュリティエントリにおける転送動作と、第1のパケットがBR−Intを経由する時に検索された、第1のパケットにマッチングするOpenflow転送エントリにおける転送動作と、第1のパケットがBR−Extを経由する時の第1のパケットにマッチングするOpenflow転送エントリにおける転送動作との組み合わせである(ただし、最終的に組み合わせた転送動作では、中間階段の転送操作を省略してもよいが、他の非転送操作、例えばVXLANカプセル化等は省略する必要がない)。
上述したエントリ4から明らかなように、第1のパケットが宛先デバイスへの先頭パケットである場合、宛先デバイスが同一のクラウドサーバー上の別のVMであるか、あるいはネットワーク上の物理ホスト又は別のクラウドサーバー上の別のVMであるかを問わず、エントリ4は最終的に、第1のパケットがクラウドサーバー上の各ブリッジを経由する時に検索された、第1のパケットにマッチングするOpenflowエントリを集めたものである。これにより、その後に宛先デバイスへ送信される非先頭パケットに対しては、ソースOpenflowブリッジにおいてOpenflow転送エントリの検索を1回行えばよく、クラウドサーバーにおける他の各ブリッジにおいてOpenflowエントリを検索することなく、宛先デバイスに転送することができるので、パケット転送効率が高くなる。詳細はステップa3を参照すれば明らかになる。
ステップa3において、ソースOpenflowブリッジは、ローカルOpenflow転送テーブルの中から、第1のパケットにマッチングするOpenflow転送エントリ(つまり上記エントリ4)を検索し、検索されたOpenflow転送エントリにおける転送動作に基づいて第1のパケットを転送する。そして、現フローを終了する。
このステップa3は、第1のパケットが非先頭パケットであることを前提に実行される。
上述したエントリ4から明らかなように、エントリ4は、宛先デバイスへの先頭パケットがクラウドサーバー内の各ブリッジを経由する時に検索された、先頭パケットにマッチングするOpenflowエントリを集めたものである。これに基づき、第1のパケットが宛先デバイスへの非先頭パケットである場合、このステップa3においてソースOpenflowブリッジがローカルOpenflow転送テーブルの中から検索された、第1のパケットにマッチングするOpenflow転送エントリは、上記エントリ4である。エントリ4は、宛先デバイスへの先頭パケットがクラウドサーバー内の各ブリッジを経由する時に検索された、先頭パケットにマッチングするOpenflowエントリを集めたものである。これに基づき、このステップa3において、検索されたOpenflow転送エントリにおける転送動作に基づいて第1のパケットを転送することは、第1のパケットを、クラウドサーバー内の各ブリッジを渡って直接転送することとなる。このように、第1のパケットを宛先デバイスに転送するとき、ソースOpenflowブリッジにおいてOpenflow転送テーブルの検索を1回だけ実行すればよく、クラウドサーバー内の他の各ブリッジにおいてOpenflowエントリを検索する必要がなく、パケット転送効率が高くなる。
パケットp1が宛先デバイス(同一のクラウドサーバー内の別のVM)への非先頭パケットである場合を例として説明する。ソースOpenflowブリッジは、パケットp1を受信して、パケットp1が宛先デバイスへの非先頭パケットであることを発見すると、ローカルOpenflow転送テーブルの中から、パケットp1にマッチングするOpenflow転送エントリを検索し、検索されたOpenflow転送エントリにおける転送動作に基づいてパケットp1を転送する。ここで、パケットp1にマッチングするOpenflow転送エントリは、宛先デバイスへの先頭パケットがソースOpenflowブリッジ、BR−Int、宛先Openflowブリッジを経由する時に検索された、先頭パケットにマッチングするOpenflowエントリの寄せ集めである。このように、検索されたOpenflow転送エントリにおける転送動作に基づくパケットp1の転送によって、最終的に、ソースOpenflowブリッジ、BR−Int、宛先Openflowブリッジを渡って、パケットp1を宛先Openflowブリッジ上の、宛先デバイスに接続されるポートまで送信することとなる。また、パケットp1をこのポートを介して直接転送すればよく、BR−Int、宛先OpenflowブリッジにおいてさらにOpenflowエントリを検索して転送する必要はない。
本発明において、ステップa1〜ステップa3の順調な実施を確保するために、同一のクラウドサーバー内の各ブリッジ同士は、ポートタイプがPatchであるポートによりつながるように規定してもよい。具体的には、ソースOpenflowブリッジ上の第2のポート、第2のポートとピアになるBR−Int上の第3のポート、BR−Int上の第4のポート、第4のポートとピアになる宛先Openflowブリッジ上の第5のポート、BR−Int上の第6のポート、第6のポートとピアになるBR−Ext上の第7のポートはいずれも、ポートタイプがPatchである。ポートタイプがPatchである場合、先頭パケットが、Patchタイプのポートによりつながる各Openflowタイプのブリッジ(実質的には、Openflowエントリを有するブリッジである。例えば、Openflowブリッジ、BR−Int、BR−Ext等)を経由する時に、すべてのOpenflowタイプのブリッジのOpenflowエントリを自動的に組み合わせることができ、最終的に一つのOpenflow転送エントリ(例えば上述のステップa2において第1のパケットが先頭パケットである場合に生成されたエントリ4)を生成して、後続の非先頭パケットのトラフィック転送をガイダンスすることができる。
以上は、ステップ302について説明した。
以下には、二つの例を挙げて、図3Aに示す方法フローについて説明する。
図4は、一例における応用ネットワーク構築の模式図である。図4の応用ネットワーク構築は、クラウドプラットフォームにおける1つのサーバーのネットワークのみを例示している。図4に示すように、VM_11は、ローカルポートeth_11によりOpenflowブリッジ_11上の仮想ネットワークカードVeth_11に接続され、VM_12は、ローカルポートeth_12によりOpenflowブリッジ_12の仮想ネットワークカードVeth_12に接続され、このように類推していき、VM_1nは、ローカルポートeth_1nによりOpenflowブリッジ_1nの仮想ネットワークカードVeth_1nに接続される。図4において、Openflowブリッジ_11は、ポートPatch_VM_11によりBR−IntのポートPatch_Int_11に接続され、Openflowブリッジ_12は、ポートPatch_VM_12によりBR−IntのポートPatch_Int_12に接続され、このように類推していき、Openflowブリッジ_1nは、ポートPatch_VM_1nによりBR−IntのポートPatch_Int_1nに接続される。そのうち、Openflowブリッジ_11上のポートPatch_VM_11とBR−Int上のポートPatch_Int_11は互いにピアになり、ポートタイプがPatchであり、Openflowブリッジ_12上のポートPatch_VM_12とBR−Int上のポートPatch_Int_12は互いにピアになり、ポートタイプがPatchであり、このように類推していき、Openflowブリッジ_1n上のポートPatch_VM_1nとBR−Int上のポートPatch_Int_1nは互いにピアになり、ポートタイプがPatchである。図4において、BR−Intは、ポートPatch_40によりBR−Ext上のポートPatch_41に接続され、Patch_40、Patch_41はポートタイプがPatchである。図4におけるVM_11〜VM_1n、Openflowブリッジ_11〜Openflowブリッジ_1n、BR−Int、BR−Extは同一のクラウドサーバーに位置する。
この例において、VM_11からVM_12へのアクセスを例に説明すると、以下のとおりになる。
VM_11は、eth_11を介して、VM_12にアクセスするためのパケットを送信する。説明の便宜上、ここでのパケットをパケット01と記する。
Openflowブリッジ_11は、Veth_11を介してパケット01を受信し、パケット01が初めて受信した、VM_11からVM_12へのパケット(つまり先頭パケット)であることを発見すると、Veth_11と、パケット01に搭載されたパケット属性パラメータとをキーワードとして、ローカルに予め配置されたOpenflowセキュリティテーブルの中から、マッチング条件がこのキーワードであるOpenflowセキュリティエントリを検索する。
Openflowブリッジ_11は、Openflowセキュリティエントリが検索されなかった場合、パケット01を直接破棄する。
Openflowブリッジ_11は、Openflowセキュリティエントリが検索された(この検索されたOpenflowセキュリティエントリをエントリ41と記する)場合、エントリ41における転送動作に基づいて、パケット01を該Openflowブリッジ_11のポートPatch_VM_11を介して送信し続ける。
BR−Intは、Patch_Int_11を介してパケット01を受信すると、ローカルのOpenflow転送テーブルの中から、パケット01にマッチングするOpenflow転送エントリを検索し(この検索されたOpenflow転送エントリをエントリ42と記する)、エントリ42における転送動作に基づいて、ポートPatch_Int_12を介してパケット01を転送する。
Openflowブリッジ_12は、Patch_VM_12を介してパケット01を受信し、パケット01がVM_12宛のパケットであることを発見すると、Patch_VM_12と、パケット01に搭載されたパケット属性パラメータとをキーワードとして、ローカルに予め配置されたOpenflowセキュリティテーブルの中から、マッチング条件がこのキーワードであるOpenflowセキュリティエントリを検索する。そして、Openflowブリッジ_12は、検索された場合(ここでこの検索されたOpenflowセキュリティエントリをエントリ43と記する)、エントリ43における転送動作に基づいて、該Openflowブリッジ_12のポートVeth_12を介してパケット01を送信する。最終的に、VM_11から送信されるパケット01はVM_12に到着し、VM_11からVM_12へのアクセスが実現される。
クラウドプラットフォーム上のSDNコントローラは、Openflowブリッジ_11、BR−Int、Openflowブリッジ_12で行われるパケット01の転送中において、パケット01がOpenflowブリッジ_11を経由する時に検索されたエントリ41と、パケット01がBR−Intを経由する時に検索されたエントリ42と、パケット01がOpenflowブリッジ_12を経由する時に検索されたエントリ43とを寄せ集めて、パケット01にマッチングするOpenflow転送エントリ(エントリ40と記する)をさらに生成して、Openflowブリッジ_11のOpenflow転送テーブルに配信する。このエントリ40におけるマッチング条件は、エントリ41〜エントリ43におけるマッチング条件の非重複の寄せ集めであり、このエントリ40における転送動作は、エントリ41〜エントリ43における転送動作の非重複の寄せ集めである。ここで、Openflowブリッジ_12のポートVeth_12を介して転送する転送動作を例に説明する。
その後、VM_11がVM_12に再度アクセスする際、VM_11は、eth_11を介して、VM_12にアクセスするためのパケットを送信する。説明の便宜上、ここでのパケットをパケット02と記する。
Openflowブリッジ_11は、Veth_11を介してパケット02を受信し、パケット02が初めて受信した、VM_11からVM_12へのパケットではない(つまり非先頭パケットである)ことを発見すると、ローカルOpenflow転送テーブルの中から、パケット02にマッチングするOpenflow転送エントリ(つまり、上記SDNコントローラにより生成されたエントリ40)を検索する。
Openflowブリッジ_11は、検索されたエントリ40における転送動作に基づいて、パケット02をOpenflowブリッジ_12のVeth_l2へトランスペアレント転送し、Veth_12を介してパケット02を転送するようにOpenflowブリッジ_12を動作させる。最終的に、VM_11から送信されるパケット02はVM_12に到着し、VM_11からVM_12への再度のアクセスが実現される。
図5は、別の例における応用ネットワーク構築の模式図である。図5の応用ネットワーク構築は、クラウドプラットフォームにおける1つのサーバーのネットワークのみを例示している。図5に示すように、VM_21は、ローカルポートeth_21によりOpenflowブリッジ_21の仮想ネットワークカードVeth_21に接続され、VM_22は、ローカルポートeth_22によりOpenflowブリッジ_22の仮想ネットワークカードVeth_22に接続され、このように類推していき、VM_2nは、ローカルポートeth_2nによりOpenflowブリッジ_2nの仮想ネットワークカードVeth_2nに接続される。図5において、Openflowブリッジ_21は、ポートPatch_VM_21によりBR−IntのポートPatch_Int_21に接続され、Openflowブリッジ_22は、ポートPatch_VM_22によりBR−IntのポートPatch_Int_22に接続され、このように類推していき、Openflowブリッジ_2nは、ポートPatch_VM_2nによりBR−IntのポートPatch_Int_2nに接続される。そのうち、Openflowブリッジ_21上のポートPatch_VM_21とBR−Int上のポートPatch_Int_21は互いにピアになり、ポートタイプがPatchであり、Openflowブリッジ_22上のポートPatch_VM_22とBR−Int上のポートPatch_Int_22は互いにピアになり、ポートタイプがPatchであり、このように類推していき、Openflowブリッジ_2n上のポートPatch_VM_2nとBR−Int上のポートPatch_Int_2nは互いにピアになり、ポートタイプがPatchである。図5において、BR−Intは、ポートPatch_50によりBR−Ext上のポートPatch_51に接続され、Patch_50、Patch_51はポートタイプがPatchである。図5におけるVM_21〜VM_2n、Openflowブリッジ_21〜Openflowブリッジ_2n、BR−Int、BR−Extは同一のサーバーに位置する。
この例において、VM_21からネットワーク上の物理ホストPM_21へのアクセスを例に説明すると、以下のとおりになる。
VM_21は、eth_21を介して、PM_21にアクセスするためのパケットを送信する。説明の便宜上、ここでのパケットをパケット21と記する。
Openflowブリッジ_21は、Veth_21を介してパケット21を受信し、パケット21は該Openflowブリッジ_21が初めて受信したVM_21からPM_21へのパケット(つまり先頭パケット)であることを発見すると、Veth_21と、パケット21に搭載されたパケット属性パラメータとをキーワードとして、ローカルに予め配置されたOpenflowセキュリティテーブルの中から、マッチング条件がこのキーワードであるOpenflowセキュリティエントリを検索する。
Openflowブリッジ_21は、Openflowセキュリティエントリが検索されなかった場合、パケット21を直接破棄する。
Openflowブリッジ_21は、Openflowセキュリティエントリが検索された(この検索されたOpenflowセキュリティエントリをエントリ51と記する)場合、エントリ51における転送動作に基づいて、パケット21を該Openflowブリッジ_21のポートPatch_VM_21を介して送信し続ける。
BR−Intは、Patch_Int_21を介してパケット21を受信すると、ローカルのOpenflow転送テーブルの中から、パケット21にマッチングするOpenflow転送エントリを検索し(この検索されたOpenflow転送エントリをエントリ52と記する)、エントリ52における転送動作に基づいて、ポートPatch_50を介してパケット21を転送する。
BR−Extは、Patch_51を介してパケット21を受信し、ローカルのOpenflow転送テーブルの中から、パケット21にマッチングするOpenflow転送エントリを検索する(ここでこの検索されたOpenflowセキュリティエントリをエントリ53と記する)。また、BR−Extは、検索されたエントリ53の転送動作におけるカプセル化操作に基づいて、パケット21をVXLANカプセル化し、検索されたエントリ53の転送動作における転送操作に基づいて、物理ポートPort_21を介して転送する。最終的に、VM_21から送信されるパケット21はPM_21に到着し、VM_21からPM_21へのアクセスが実現される。
クラウドプラットフォーム上のSDNコントローラは、Openflowブリッジ_21、BR−Int、BR−Extで行われるパケット21の転送中において、パケット21がOpenflowブリッジ_21を経由する時に検索されたエントリ51と、パケット21がBR−Intを経由する時に検索されたエントリ52と、パケット21がBR−Extを経由する時に検索されたエントリ53とを寄せ集めて、パケット21にマッチングするOpenflow転送エントリ(エントリ50と記する)をさらに生成して、Openflowブリッジ_21のOpenflow転送テーブルに配信する。このエントリ50におけるマッチング条件は、エントリ51〜エントリ53におけるマッチング条件の非重複の寄せ集めであり、このエントリ50における転送動作は、エントリ51〜エントリ53における転送動作の非重複の寄せ集めである。ここで、VXLANカプセル化を行って物理ポートPort_21を介して転送する転送動作を例に説明する。
その後、VM_21がPM_21に再度アクセスする際、VM_21は、eth_21を介して、PM_21にアクセスするためのパケットを送信する。説明の便宜上、ここでのパケットをパケット22と記する。
Openflowブリッジ_21は、Veth_21を介してパケット22を受信し、パケット22は該Openflowブリッジ_21が初めて受信したVM_21からPM_22へのパケットではない(つまり非先頭パケットである)ことを発見すると、ローカルOpenflow転送テーブルの中から、パケット22にマッチングするOpenflow転送エントリ(つまり、上記SDNコントローラにより生成されたエントリ50)を検索する。
Openflowブリッジ_21は、検索されたエントリ50における転送動作に基づいて、パケット22をVXLANカプセル化してBR−Extの物理ポートPort_21へトランスペアレント転送し、物理ポートPort_21を介してVXLANカプセル化されたパケット22を転送するようにBR−Extを動作させる。最終的に、VM_21から再度送信されるパケット22はVM_21に到着し、VM_21からPM_21への再度のアクセスが実現される。
以上は、本発明で提供する方法に関する説明である。以下には、本発明で提供する装置について説明する。
図6を参照する。図6は本発明の例で提供する、Openflowテーブルによりクラウドプラットフォームのセキュリティを実現する装置の構成図である。この装置は、クラウドプラットフォームにおけるクラウドサーバーの中に構築されてMACブリッジを代替するOpenflowブリッジに用いられる装置であり、Openflowブリッジはクラウドサーバー上のVMとBR−Intとの間に接続される。この装置は、Openflowエントリ記憶手段601、出力トラフィック制御手段602及び入力トラフィック制御手段603を備える。
そのうち、Openflowエントリ記憶手段601は、予め配置されたOpenflowセキュリティテーブルを記憶する。
出力トラフィック制御手段602は、ローカルVMからの第1のパケットを受信し、第1のパケットを受信した第1のポートと、第1のパケットに搭載されたパケット属性パラメータとを第1のキーワードとして、前記Openflowエントリ記憶手段に記憶されたOpenflowセキュリティテーブルの中から、マッチング条件が第1のキーワードであるOpenflowセキュリティエントリを検索し、検索された場合に、検索されたOpenflowセキュリティエントリにおける転送動作に基づいて第1のパケットを転送し、検索されなかった場合には、第1のパケットを破棄する。
入力トラフィック制御手段603は、前記VM宛の第2のパケットを受信し、第2のパケットを受信した第2のポートと、第2のパケットに搭載されたパケット属性パラメータとを第2のキーワードとして、前記Openflowエントリ記憶手段に記憶されたOpenflowセキュリティテーブルの中から、マッチング条件が前記第2のキーワードであるOpenflowセキュリティエントリを検索し、検索された場合に、検索されたOpenflowセキュリティエントリにおける転送動作に基づいて第2のパケットを転送し、検索されなかった場合には、第2のパケットを破棄する。
Openflowエントリ記憶手段601は、Openflow転送テーブルをさらに記憶することが好ましい。
これに基づき、前記出力トラフィック制御手段602が検索されたOpenflowセキュリティエントリにおける転送動作に基づいて第1のパケットを転送することは、前記第1のパケットが先頭パケットである場合、該Openflowブリッジ上の第2のポートを介して、BR−Int上の、前記第2のポートとピアになる第3のポートへ第1のパケットを送信すること、および、前記第1のパケットが先頭パケットではない場合、前記Openflowエントリ記憶手段601に記憶されたOpenflow転送テーブルの中から、第1のパケットにマッチングするOpenflow転送エントリを検索し、検索されたOpenflow転送エントリにおける転送動作に基づいて第1のパケットを転送することを含む。
ここで、前記第1のパケットが先頭パケットである場合、前記Openflowエントリ記憶手段601は、クラウドプラットフォームにおけるコントローラにより生成されて配信された、第1のパケットにマッチングするOpenflow転送エントリをさらに受信し、受信したOpenflow転送エントリをローカルOpenflow転送テーブルに記憶する。
ここで、第1のパケットが前記VMから宛先デバイスへの先頭パケットであり、かつ宛先デバイスが同一のクラウドサーバー上の別のVMである場合、第1のパケットにマッチングするOpenflow転送エントリは、前記第1のパケットが該Openflowブリッジを経由する時に検索された、第1のパケットにマッチングするOpenflowセキュリティエントリと、第1のパケットがBR−Intを経由する時に検索された、第1のパケットにマッチングするOpenflow転送エントリと、第1のパケットが前記宛先デバイスに接続される宛先Openflowブリッジを経由する時に検索された、第1のパケットにマッチングするOpenflowセキュリティエントリとの組み合わせである。第1のパケットが宛先デバイスへの先頭パケットであり、かつ宛先デバイスがネットワーク上の物理ホスト又は別のクラウドサーバー上の別のVMである場合、第1のパケットにマッチングするOpenflow転送エントリは、前記第1のパケットが該Openflowブリッジを経由する時に検索された、第1のパケットにマッチングするOpenflowセキュリティエントリと、第1のパケットがBR−Intを経由する時に検索された、第1のパケットにマッチングするOpenflow転送エントリと、第1のパケットが外部ブリッジBR−Extを経由する時に検索された、第1のパケットにマッチングするOpenflow転送エントリとの組み合わせである。
一例において、クラウドサーバー上のOpenflowブリッジ、BR−Int、BR−Extは、ポートタイプがPatchであるポートによりつながる。
一例において、前記入力トラフィック制御手段603が検索されたOpenflowセキュリティエントリにおける転送動作に基づいて第2のパケットを転送することは、前記Openflowブリッジの、前記VMに接続される第1のポートを介して、前記VMへ第2のパケットを送信することを含んでもよい。
以上は、図6に示す装置に関する説明である。
本発明はさらに、図6に示す装置のハードウェア構成図を提供する。図7を参照する。図7は、本発明で提供する、図6に示すOpenflowテーブルによりクラウドプラットフォームのセキュリティを実現する装置のハードウェア構成図である。図7に示すように、このハードウェア構成図は、メモリ710と、メモリ710と通信接続されるプロセッサー720と、インタフェース730とを含む。ここで、メモリ710は不揮発性記憶媒体であってもよく、プロセッサー720により実行されるコンピュータ実行可能コマンドを記憶する。このコンピュータ実行可能コマンドは、図3A〜図5のうちのいずれか一つの図に示すクラウドプラットフォームのセキュリティを実現する方法の操作を実現できる。また、前記コンピュータ実行可能コマンドは、図6に示すOpenflowテーブルによりクラウドプラットフォームのセキュリティを実現する装置の操作も実現できる。
あるいは、このメモリ710は、上記図6におけるOpenflowエントリ記憶手段601、出力トラフィック制御手段602及び入力トラフィック制御手段603を記憶すると理解してもよい。これに応じて、プロセッサー720は、Openflowエントリ記憶手段601を動作させる制御プログラムを実行することにより、メモリ710におけるOpenflowエントリ記憶手段601を制御して上記のような操作を実行させ、出力トラフィック制御手段602を動作させる制御プログラムを実行することにより、メモリ710における出力トラフィック制御手段602を制御して上記のような操作を実行させ、入力トラフィック制御手段603を動作させる制御プログラムを実行することにより、メモリ710における入力トラフィック制御手段603を制御して上記のような操作を実行させる。
本発明は、クラウドプラットフォームのセキュリティを実現する方法及び装置を提供する。本発明において、クラウドプラットフォームにおけるクラウドサーバーの中にMACブリッジを代替するOpenflowブリッジを構築し、OpenflowブリッジはOpenflowセキュリティテーブルによりクラウドプラットフォームのセキュリティを実現する。これによって、Openflowテーブルによりクラウドプラットフォームのセキュリティを実現するという目的を達成し、クラウドプラットフォームセキュリティの制御性能を向上させる。また、本発明において、Openflowブリッジは、Openflowタイプのフローテーブルによりクラウドプラットフォームのセキュリティを実現し、クラウドサーバー上の他のブリッジ、例えばBR−Int、BR−Ext(同様にOpenflowタイプのフローテーブルを採用する)と統一して同じフローテーブルにより管理するため、ネットワークの配置及び管理を簡素化できる。
以上は本発明の好適な実施例にすぎず、本発明を限定するものではない。本発明の精神及び趣旨を逸脱しない範囲内の任意の変更、均等な置き換え、改良等はいずれも、本発明の権利範囲内に含まれる。

Claims (12)

  1. クラウドプラットフォームのセキュリティを実現する方法であって、クラウドプラットフォームにおけるクラウドサーバーの中に構築されてMACブリッジを代替する、前記クラウドサーバー上の仮想マシン(VM)と内部ブリッジ(BR−Int)との間に位置するOpenflowブリッジに用いられる方法において、
    パケットを受信し、
    前記パケットが、ローカルVMからのパケット、又はローカルVM宛のパケットである場合、前記パケットを受信したポートと、前記パケットに搭載されたパケット属性パラメータとをキーワードとして、ローカルに予め配置されたOpenflowセキュリティテーブルの中から、マッチング条件が前記キーワードであるOpenflowセキュリティエントリを検索し、検索された場合に、検索されたOpenflowセキュリティエントリにおける転送動作に基づいて前記パケットを転送し、検索されなかった場合には、前記パケットを破棄することを含むことを特徴とする方法。
  2. 前記パケットがローカルVMからのパケットであり、かつ前記パケットを受信したポートが第1のポートである場合、前記検索されたOpenflowセキュリティエントリにおける転送動作に基づいて前記パケットを転送することは、
    前記パケットが先頭パケットである場合、該Openflowブリッジ上の第2のポートを介して、BR−Int上の、前記第2のポートとピアになる第3のポートへ前記パケットを送信し、
    前記パケットが先頭パケットではない場合、ローカルOpenflow転送テーブルの中から、前記パケットにマッチングするOpenflow転送エントリを検索し、検索されたOpenflow転送エントリにおける転送動作に基づいて前記パケットを転送することを含む請求項1に記載の方法。
  3. 前記パケットが先頭パケットである場合に、さらに、
    クラウドプラットフォームにおけるコントローラにより生成されて配信された、前記パケットにマッチングするOpenflow転送エントリを受信し、受信したOpenflow転送エントリをローカルOpenflow転送テーブルに記憶することを含み、
    前記パケットが前記VMから宛先デバイスへの先頭パケットであり、かつ宛先デバイスが同一のクラウドサーバー上の別のVMである場合、前記パケットにマッチングするOpenflow転送エントリは、前記パケットが該Openflowブリッジを経由する時に検索された、前記パケットにマッチングするOpenflowセキュリティエントリと、前記パケットがBR−Intを経由する時に検索された、前記パケットにマッチングするOpenflow転送エントリと、前記パケットが前記宛先デバイスに接続される宛先Openflowブリッジを経由する時に検索された、前記パケットにマッチングするOpenflowセキュリティエントリとの組み合わせであり、
    前記パケットが宛先デバイスへの先頭パケットであり、かつ宛先デバイスがネットワーク上の物理ホスト又は別のクラウドサーバー上の別のVMである場合、前記パケットにマッチングするOpenflow転送エントリは、前記パケットが該Openflowブリッジを経由する時に検索された、前記パケットにマッチングするOpenflowセキュリティエントリと、前記パケットがBR−Intを経由する時に検索された、前記パケットにマッチングするOpenflow転送エントリと、前記パケットが外部ブリッジ(BR−Ext)を経由する時に検索された、前記パケットにマッチングするOpenflow転送エントリとの組み合わせである請求項2に記載の方法。
  4. 前記クラウドサーバー上のOpenflowブリッジ、BR−Int、BR−Extは、ポートタイプがPatchであるポートによりつながる請求項3に記載の方法。
  5. 前記パケットがローカルVM宛のパケットであり、かつ前記パケットを受信したポートが第2のポートである場合、前記検索されたOpenflowセキュリティエントリにおける転送動作に基づいて前記パケットを転送することは、
    前記Openflowブリッジの、前記VMに接続される第1のポートを介して、前記VMへ前記パケットを送信することを含む請求項1に記載の方法。
  6. 前記仮想マシンVMは、ローカルポートを介して、前記Openflowブリッジの仮想ネットワークカードである第1のポートに接続され、前記Openflowブリッジは、ポートタイプがPatchである第2のポートを介して、ポートタイプがPatchで前記第2のポートと互いにピアになるBR−Intのポートに接続され、BR−Intは、ポートタイプがPatchである別のポートを介して、ポートタイプがPatchであるBR−Extのポートに接続される請求項4に記載の方法。
  7. クラウドプラットフォームのセキュリティを実現する装置であって、クラウドプラットフォームにおけるクラウドサーバーの中に構築されてMACブリッジを代替する、前記クラウドサーバー上の仮想マシン(VM)と内部ブリッジ(BR−Int)との間に位置するOpenflowブリッジに用いられる装置において、
    プロセッサー及びメモリを含み、
    前記メモリには、前記プロセッサーにより実行可能なコンピュータ実行可能コマンドが記憶され、
    前記コンピュータ実行可能コマンドは、
    パケットを受信する操作と、
    前記パケットがローカルVMからのパケット、又はローカルVM宛のパケットである場合、前記パケットを受信したポートと、前記パケットに搭載されたパケット属性パラメータとをキーワードとして、ローカルに予め記憶されたOpenflowセキュリティテーブルの中から、マッチング条件が前記キーワードであるOpenflowセキュリティエントリを検索し、検索された場合に、検索されたOpenflowセキュリティエントリにおける転送動作に基づいて前記パケットを転送し、検索されなかった場合には、前記パケットを破棄する操作と、
    を前記プロセッサーに実行させる装置。
  8. 前記パケットがローカルVMからのパケットであり、かつ前記パケットを受信したポートが第1のポートである場合、前記コンピュータ実行可能コマンドは、
    前記パケットが先頭パケットである場合、該Openflowブリッジ上の第2のポートを介して、BR−Int上の、前記第2のポートとピアになる第3のポートへ第1のパケットを送信し、前記パケットが先頭パケットではない場合、ローカルOpenflow転送テーブルの中から、前記パケットにマッチングするOpenflow転送エントリを検索し、検索されたOpenflow転送エントリにおける転送動作に基づいて前記パケットを転送する操作を前記プロセッサーに実行させる請求項に記載の装置。
  9. 前記パケットが先頭パケットである場合、前記コンピュータ実行可能コマンドはさらに、クラウドプラットフォームにおけるコントローラにより生成されて配信された、前記パケットにマッチングするOpenflow転送エントリを受信し、受信したOpenflow転送エントリをローカルOpenflow転送テーブルに記憶する操作を前記プロセッサーに実行させ、
    前記パケットが前記VMから宛先デバイスへの先頭パケットであり、かつ宛先デバイスが同一のクラウドサーバー上の別のVMである場合、前記パケットにマッチングするOpenflow転送エントリは、前記パケットが該Openflowブリッジを経由する時に検索された、前記パケットにマッチングするOpenflowセキュリティエントリと、前記パケットがBR−Intを経由する時に検索された、前記パケットにマッチングするOpenflow転送エントリと、前記パケットが前記宛先デバイスに接続される宛先Openflowブリッジを経由する時に検索された、前記パケットにマッチングするOpenflowセキュリティエントリとの組み合わせであり、
    前記パケットが宛先デバイスへの先頭パケットであり、かつ宛先デバイスがネットワーク上の物理ホスト又は別のクラウドサーバー上の別のVMである場合、前記パケットにマッチングするOpenflow転送エントリは、前記パケットが該Openflowブリッジを経由する時に検索された、前記パケットにマッチングするOpenflowセキュリティエントリと、前記パケットがBR−Intを経由する時に検索された、前記パケットにマッチングするOpenflow転送エントリと、前記パケットが外部ブリッジ(BR−Ext)を経由する時に検索された、前記パケットにマッチングするOpenflow転送エントリとの組み合わせである請求項に記載の装置。
  10. 前記クラウドサーバー上のOpenflowブリッジ、BR−Int、BR−Extは、ポートタイプがPatchであるポートによりつながる請求項に記載の装置。
  11. 前記パケットが前記VM宛のパケットであり、かつ前記パケットを受信したポートが第2のポートである場合、前記コンピュータ実行可能コマンドは、
    前記Openflowブリッジの、前記VMに接続される第1のポートを介して、前記VMへ前記パケットを送信する操作を前記プロセッサーに実行させる請求項に記載の装置。
  12. 前記仮想マシンVMは、ローカルポートを介して、前記Openflowブリッジの仮想ネットワークカードである第1のポートに接続され、前記Openflowブリッジは、ポートタイプがPatchである第2のポートを介して、ポートタイプがPatchで前記第2のポートと互いにピアになるBR−Intのポートに接続され、BR−Intは、ポートタイプがPatchである別のポートを介して、ポートタイプがPatchであるBR−Extのポートに接続される請求項10に記載の装置。
JP2018506402A 2015-08-07 2016-08-08 クラウドプラットフォームのセキュリティの実現 Active JP6595698B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201510478224.8A CN106385365B (zh) 2015-08-07 2015-08-07 基于开放流Openflow表实现云平台安全的方法和装置
CN201510478224.8 2015-08-07
PCT/CN2016/093909 WO2017025005A1 (zh) 2015-08-07 2016-08-08 实现云平台安全

Publications (2)

Publication Number Publication Date
JP2018527813A JP2018527813A (ja) 2018-09-20
JP6595698B2 true JP6595698B2 (ja) 2019-10-23

Family

ID=57916401

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018506402A Active JP6595698B2 (ja) 2015-08-07 2016-08-08 クラウドプラットフォームのセキュリティの実現

Country Status (5)

Country Link
US (1) US10887280B2 (ja)
EP (1) EP3313032B1 (ja)
JP (1) JP6595698B2 (ja)
CN (1) CN106385365B (ja)
WO (1) WO2017025005A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106385365B (zh) 2015-08-07 2019-09-06 新华三技术有限公司 基于开放流Openflow表实现云平台安全的方法和装置
CN107547439B (zh) * 2017-09-08 2021-01-05 中国银联股份有限公司 一种网络流量控制方法和计算节点
CN108183862B (zh) * 2018-01-24 2021-02-09 上海宽带技术及应用工程研究中心 软件定义交换网的通信方法/系统、可读存储介质及设备
CN109309663B (zh) * 2018-08-13 2021-03-19 厦门集微科技有限公司 云计算环境下实现docker网络穿透两层协议栈的方法及装置
CN109120556B (zh) * 2018-08-21 2019-07-09 广州市品高软件股份有限公司 一种云主机访问对象存储服务器的方法及系统
CN111885044A (zh) * 2020-07-20 2020-11-03 平安科技(深圳)有限公司 云主机多网卡配置方法、装置、设备及存储介质
CN113726637B (zh) * 2021-09-09 2022-11-01 华云数据控股集团有限公司 一种基于云平台的网络流量透传方法、装置及存储介质

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100455130B1 (ko) 2000-12-23 2004-11-08 엘지전자 주식회사 가상 에이알피 패킷을 이용한 프록시 에이알피 동작 방법
US20070022474A1 (en) 2005-07-21 2007-01-25 Mistletoe Technologies, Inc. Portable firewall
CN100553220C (zh) 2007-08-22 2009-10-21 杭州华三通信技术有限公司 一种实现vlan内下行用户隔离的方法及设备
EP2482496B1 (en) 2009-09-24 2018-11-28 Nec Corporation Identification system for inter-virtual-server communication and identification method for inter-virtual-server communication
US20110134931A1 (en) * 2009-12-08 2011-06-09 Jacobus Van Der Merwe Virtual router migration
WO2011083780A1 (ja) 2010-01-05 2011-07-14 日本電気株式会社 通信システム、制御装置、処理規則の設定方法、パケットの送信方法およびプログラム
US20110299533A1 (en) 2010-06-08 2011-12-08 Brocade Communications Systems, Inc. Internal virtual network identifier and internal policy identifier
WO2012033041A1 (ja) 2010-09-09 2012-03-15 日本電気株式会社 コンピュータシステム、及びコンピュータシステムにおける通信方法
CN102571738B (zh) 2010-12-08 2015-09-16 中国电信股份有限公司 基于虚拟局域网交换的入侵防御方法与系统
WO2012077603A1 (ja) 2010-12-09 2012-06-14 日本電気株式会社 コンピュータシステム、コントローラ、及びネットワーク監視方法
US8761187B2 (en) 2011-06-14 2014-06-24 Futurewei Technologies, Inc. System and method for an in-server virtual switch
US9424144B2 (en) 2011-07-27 2016-08-23 Microsoft Technology Licensing, Llc Virtual machine migration to minimize packet loss in virtualized network
US9167501B2 (en) * 2011-08-29 2015-10-20 Telefonaktiebolaget L M Ericsson (Publ) Implementing a 3G packet core in a cloud computer with openflow data and control planes
US8762501B2 (en) 2011-08-29 2014-06-24 Telefonaktiebolaget L M Ericsson (Publ) Implementing a 3G packet core in a cloud computer with openflow data and control planes
US9185056B2 (en) 2011-09-20 2015-11-10 Big Switch Networks, Inc. System and methods for controlling network traffic through virtual switches
JP2013074362A (ja) * 2011-09-27 2013-04-22 Nec Corp 仮想マシン管理装置、仮想マシン管理方法、及びプログラム
US9154433B2 (en) 2011-10-25 2015-10-06 Nicira, Inc. Physical controller
US20130195113A1 (en) 2012-01-30 2013-08-01 Dell Products, Lp System and Method for Network Switch Data Plane Virtualization
US9350671B2 (en) 2012-03-22 2016-05-24 Futurewei Technologies, Inc. Supporting software defined networking with application layer traffic optimization
JP5987902B2 (ja) * 2012-04-03 2016-09-07 日本電気株式会社 ネットワークシステム、コントローラ、及びパケット認証方法
US8989188B2 (en) 2012-05-10 2015-03-24 Cisco Technology, Inc. Preventing leaks among private virtual local area network ports due to configuration changes in a headless mode
CN102739549B (zh) 2012-07-13 2015-10-21 华为技术有限公司 接收报文的方法、发送报文的方法及装置
CN102857416B (zh) 2012-09-18 2016-09-28 中兴通讯股份有限公司 一种实现虚拟网络的方法、控制器和虚拟网络
US9178715B2 (en) 2012-10-01 2015-11-03 International Business Machines Corporation Providing services to virtual overlay network traffic
US9215093B2 (en) 2012-10-30 2015-12-15 Futurewei Technologies, Inc. Encoding packets for transport over SDN networks
US9923831B2 (en) * 2012-11-29 2018-03-20 Futurewei Technologies, Inc. Packet prioritization in a software-defined network implementing OpenFlow
US9609086B2 (en) * 2013-03-15 2017-03-28 International Business Machines Corporation Virtual machine mobility using OpenFlow
CN104283756B (zh) 2013-07-02 2017-12-15 新华三技术有限公司 一种实现分布式多租户虚拟网络的方法和装置
AU2013398869B2 (en) * 2013-08-31 2017-10-12 Huawei Technologies Co., Ltd. Method and apparatus for processing operation request in storage system
US9912582B2 (en) * 2013-11-18 2018-03-06 Telefonaktiebolaget Lm Ericsson (Publ) Multi-tenant isolation in a cloud environment using software defined networking
US9264400B1 (en) * 2013-12-02 2016-02-16 Trend Micro Incorporated Software defined networking pipe for network traffic inspection
CN104394083B (zh) 2014-09-22 2017-12-15 华为技术有限公司 转发表项处理的方法、报文转发的方法及其装置和系统
CN104468389B (zh) * 2014-11-27 2018-02-06 华为技术有限公司 消息的处理方法、服务器和服务器系统
CN104518993A (zh) * 2014-12-29 2015-04-15 华为技术有限公司 云化网络通信路径的分配方法、装置及系统
US9614789B2 (en) * 2015-01-08 2017-04-04 Futurewei Technologies, Inc. Supporting multiple virtual switches on a single host
US9628292B2 (en) * 2015-04-23 2017-04-18 Fortinet, Inc. Intelligent bridging of Wi-Fi flows in a software-defined network (SDN)
CN106385365B (zh) 2015-08-07 2019-09-06 新华三技术有限公司 基于开放流Openflow表实现云平台安全的方法和装置

Also Published As

Publication number Publication date
JP2018527813A (ja) 2018-09-20
WO2017025005A1 (zh) 2017-02-16
EP3313032B1 (en) 2020-07-08
US20180212929A1 (en) 2018-07-26
CN106385365B (zh) 2019-09-06
CN106385365A (zh) 2017-02-08
US10887280B2 (en) 2021-01-05
EP3313032A4 (en) 2018-07-25
EP3313032A1 (en) 2018-04-25

Similar Documents

Publication Publication Date Title
JP6595698B2 (ja) クラウドプラットフォームのセキュリティの実現
CN114531405B (zh) 一种流表处理方法及相关设备
JP6581277B2 (ja) データパケット転送
US11936562B2 (en) Virtual machine packet processing offload
US11223579B2 (en) Data processing method, network interface card, and server
US10216853B2 (en) Method and system for implementing a VXLAN control plane
TWI520527B (zh) 開關系統、開關控制方法以及記憶媒體
CN107113241B (zh) 路由确定方法、网络配置方法以及相关装置
JP6437693B2 (ja) マルチキャストデータパケット転送
WO2016119733A1 (en) Vxlan packet transmission
JP6574054B2 (ja) パケット転送
JP6529660B2 (ja) マルチキャストデータパケット転送
CN108632145B (zh) 一种报文转发方法和叶子节点设备
JP6488426B2 (ja) マルチキャストデータパケット転送
US10938679B2 (en) Packet monitoring
KR20130126833A (ko) 네트워크 가상화를 위한 고속 스위칭 방법 및 고속 가상 스위치
JP6437692B2 (ja) パケット転送
JP2016509822A (ja) イーサネットパケットの転送
WO2014166073A1 (zh) 报文转发方法和网络设备
CN113098774A (zh) 一种报文转发方法及装置
CN106878106B (zh) 一种可达性检测方法及装置
EP3493058A1 (en) Method and device for migrating a stateful function
WO2014067055A1 (zh) 流表刷新的方法及装置
WO2016183732A1 (zh) 一种数据包转发方法和网络设备
JP2020114024A (ja) ネットワークを制御する方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180216

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190205

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20190426

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190705

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: 20190827

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190926

R150 Certificate of patent or registration of utility model

Ref document number: 6595698

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250