JP5664557B2 - 計算機、ネットワーク接続切替え方法およびプログラム - Google Patents

計算機、ネットワーク接続切替え方法およびプログラム Download PDF

Info

Publication number
JP5664557B2
JP5664557B2 JP2011550015A JP2011550015A JP5664557B2 JP 5664557 B2 JP5664557 B2 JP 5664557B2 JP 2011550015 A JP2011550015 A JP 2011550015A JP 2011550015 A JP2011550015 A JP 2011550015A JP 5664557 B2 JP5664557 B2 JP 5664557B2
Authority
JP
Japan
Prior art keywords
virtual
interface device
network interface
virtual switch
connection
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.)
Expired - Fee Related
Application number
JP2011550015A
Other languages
English (en)
Other versions
JPWO2011087085A1 (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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2011550015A priority Critical patent/JP5664557B2/ja
Publication of JPWO2011087085A1 publication Critical patent/JPWO2011087085A1/ja
Application granted granted Critical
Publication of JP5664557B2 publication Critical patent/JP5664557B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/58Association of routers
    • H04L45/586Association of routers of virtual routers
    • 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
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/121Shortest path evaluation by minimising delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/122Shortest path evaluation by minimising distances, e.g. by selecting a route with minimum of number of hops
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/125Shortest path evaluation based on throughput or bandwidth

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

[関連出願についての記載]
本発明は、日本国特許出願:特願2010−005919号(2010年01月14日出願)の優先権主張に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、計算機、ネットワーク接続切替え方法およびプログラムに関し、特に、物理ネットワークインタフェース装置を複数備えた計算機、ネットワーク接続切替え方法およびプログラムに関する。
特許文献1および特許文献2に、物理ネットワークインタフェース装置を複数備えたネットワーク接続システムの一例が記載されている。特許文献1には、ネットワークに接続するネットワーク接続装置(例えば、NIC(Network Interface Card))を有する送信装置において、ユーザがアプリケーションごとに使用するネットワーク接続装置を設定することで、ドライバラッパがアプリケーションごとに適切なネットワーク接続装置を割り当てて通信すること構成が開示されている。
特許文献2には、複数のネットワークインタフェースを利用可能なコンピュータシステムにおいて、応答時間が最短となるネットワークインタフェースを選択するインタフェース選択部を備えた構成が開示されている。
近年、オープンフロー(OpenFlow)という技術が提案されている(非特許文献1、2参照)。オープンフローは、通信をエンドツーエンドのフローとして捉え、フロー単位で経路制御、障害回復、負荷分散、最適化を行うものである。転送ノードとして機能するオープンフロースイッチは、オープンフローコントローラとの通信用のセキュアチャネルを備え、オープンフローコントローラから適宜追加または書き換え指示されるフローテーブルに従って動作する。フローテーブルには、フロー毎に、パケットヘッダと照合するルール(ヘッダフィールド部)と、処理内容を定義したアクション(アクション部)と、フロー統計情報(カウンタ部)との組が定義される(図8参照)。
オープンフロースイッチは、各種ベンダによって提供されている物理スイッチに上記機能を実装することによって実現できる。例えば、オープンフロースイッチは、パケットを受信すると、フローテーブルから、受信パケットのヘッダ情報に適合するルールを持つエントリを検索する。検索の結果、受信パケットに適合するエントリが見つかった場合、オープンフロースイッチは、受信パケットに対して、当該エントリのアクションフィールドに記述された処理内容(次ホップへの転送、パケットの書き換え、パケットの廃棄)を実施する。一方、前記検索の結果、受信パケットに適合するエントリが見つからなかった場合、オープンフロースイッチは、セキュアチャネルを介して、オープンフローコントローラに対して受信パケットを転送し、受信パケットの送信元・送信先に基づいたパケットの経路の決定を依頼し、これを実現するフローエントリを受け取ってフローテーブルを更新する。
特開2005−072759号公報 特開2009−219003号公報
Nick McKeownほか7名、"OpenFlow: Enabling Innovation in Campus Networks"、[online]、[平成21年12月14日検索]、インターネット〈URL:http://www.openflowswitch.org//documents/openflow-wp-latest.pdf〉 "OpenFlow Switch Specification" Version 0.9.0. (Wire Protocol 0x98) [平成21年12月14日検索] 、インターネット〈URL:http://www.openflowswitch.org/documents/openflow-spec-v0.9.0.pdf〉
上記特許文献1、2及び非特許文献1、2の全開示内容はその引用をもって本書に繰込み記載する。
以下の分析は、本発明によってなされたものである。
しかしながら、上記した特許文献1の方法では、送信装置側に、複数の物理ネットワークインタフェース装置に関する経路制御情報を用意する必要がある(特許文献1の図8参照)。すなわち、アプリケーション毎に、どの物理ネットワークインタフェース装置からパケットを送信すべきかを、ユーザがあらかじめ把握し、設定しなければならないという問題点がある。
また、特許文献2の方法では、ネットワークインタフェースのそれぞれについて、同じ通信先に送信した信号の応答時間が最短となるネットワークインタフェースを選択するものであるため、パケットを受信するネットワークインタフェースとパケットを送信するネットワークインタフェースが異なる場合が生じてしまうという問題点がある。例えば、インタフェース選択部(選択エンジン)が選択していない方のネットワークインタフェースに、ある通信装置からパケットが届き、その返答をインタフェース選択部(選択エンジン)が選択した他方のネットワークインタフェースから送信することになるが、このとき、TCP(Transmission Control Protocol)等のセッションに不具合が発生してしまう。
本発明は、上記した事情に鑑みてなされたものであって、その目的とするところは、ユーザが上記した経路制御情報を設定することなく、異なるネットワークインタフェースの中から、TCP等のセッションに不具合の生じないネットワークインタフェースを選択することのできる計算機、ネットワーク接続切替え方法およびプログラムを提供することにある。
本発明の第1の視点によれば、仮想ネットワークインタフェース装置と、第1の物理ネットワークインタフェース装置と接続された第1の仮想スイッチと、第2の物理ネットワークインタフェース装置と接続された第2の仮想スイッチと、前記仮想ネットワークインタフェース装置から送信されてきたパケットを解析して得られたパケットの送信先との通信結果に基づいて、前記仮想ネットワークインタフェース装置を第1の仮想スイッチと第2の仮想スイッチとのどちらに接続するかを選択する通信解析部と、前記通信解析部によって選択された仮想スイッチと前記仮想ネットワークインタフェース装置との接続を保持する接続設定部と、を備える計算機であって、前記第1の物理ネットワークインタフェース装置は、第1のネットワークと接続され、前記第2の物理ネットワークインタフェース装置は、第2のネットワークと接続され、前記第1の物理ネットワークインタフェース装置と第1のネットワークとの間の接続、または、前記第2の物理ネットワークインタフェース装置と第2のネットワークとの間の接続が切断された場合、前記接続設定部は、前記仮想ネットワークインタフェース装置と前記仮想スイッチとの間の接続を切断する計算機が提供される。
本発明の第2の視点によれば、仮想ネットワークインタフェース装置と、第1の物理ネットワークインタフェース装置と接続された第1の仮想スイッチと、第2の物理ネットワークインタフェース装置と接続された第2の仮想スイッチと、前記仮想ネットワークインタフェース装置から送信されてきたパケットを解析して得られたパケットの送信先との通信結果に基づいて、前記仮想ネットワークインタフェース装置を第1の仮想スイッチと第2の仮想スイッチとのどちらに接続するかを選択する通信解析部と、前記通信解析部によって選択された仮想スイッチと前記仮想ネットワークインタフェース装置との接続を保持する接続設定部と、を備える計算機によるネットワーク接続切替え方法であって、前記計算機に構築された仮想ネットワークインタフェース装置から送信されてきたパケットを解析して得られたパケットの送信先との通信結果に基づいて、前記仮想ネットワークインタフェース装置を第1、第2の仮想スイッチとのどちらに接続するかを選択するステップと、前記選択した仮想スイッチと前記仮想ネットワークインタフェース装置とを接続するステップと、前記第1の物理ネットワークインタフェース装置と第1のネットワークとの間の接続、または、前記第2の物理ネットワークインタフェース装置と第2のネットワークとの間の接続が切断された場合、前記仮想ネットワークインタフェース装置と前記仮想スイッチとの間の接続を切断するステップと、を含むネットワーク接続切替え方法が提供される。本方法は、その計算機資源を用いて、仮想ネットワークインタフェース装置が構築された計算機という、特定の機械に結びつけられている。
本発明の第3の視点によれば、仮想ネットワークインタフェース装置と、第1の物理ネットワークインタフェース装置と接続された第1の仮想スイッチと、第2の物理ネットワークインタフェース装置と接続された第2の仮想スイッチと、前記仮想ネットワークインタフェース装置から送信されてきたパケットを解析して得られたパケットの送信先との通信結果に基づいて、前記仮想ネットワークインタフェース装置を第1の仮想スイッチと第2の仮想スイッチとのどちらに接続するかを選択する通信解析部と、前記通信解析部によって選択された仮想スイッチと前記仮想ネットワークインタフェース装置との接続を保持する接続設定部と、を備える計算機に、前記計算機に構築された仮想ネットワークインタフェース装置から送信されてきたパケットを解析して得られたパケットの送信先との通信結果に基づいて、前記仮想ネットワークインタフェース装置を第1、第2の仮想スイッチとのどちらに接続するかを選択する処理と、前記選択した仮想スイッチと前記仮想ネットワークインタフェース装置とを接続する処理と、前記第1の物理ネットワークインタフェース装置と第1のネットワークとの間の接続、または、前記第2の物理ネットワークインタフェース装置と第2のネットワークとの間の接続が切断された場合、前記仮想ネットワークインタフェース装置と前記仮想スイッチとの間の接続を切断する処理と、を実行させるプログラムが提供される。なお、このプログラムは、コンピュータが読み取り可能な記憶媒体に記録することができる。即ち、本発明は、コンピュータプログラム製品として具現することも可能である。
本発明によれば、経路制御情報を計算機に設定しなくとも、送信するパケットの送信先IPアドレスに応じて、それぞれ異なる物理ネットワークインタフェース装置と接続された複数の仮想スイッチの中から、適切なものを選択してパケットの送信に用いる構成を採用したことにある。
本発明の第1の実施形態の構成を示すブロック図である。 本発明におけるOS(オペレーティングシステム)の位置付けを示す例である。 本発明におけるOSの位置付けを示す別の例である。 本発明の第1の実施形態の動作を示す流れ図である。 具体的なネットワーク構成を示して本発明の第1の実施形態の動作を説明するための図である。 具体的なネットワーク構成を示して本発明の第1の実施形態の動作を説明するための別の図である。 本発明の第2の実施形態の構成を示すブロック図である。 本発明の第2の実施形態の計算機に保持されるフローテーブルの一例を示す図である。 本発明の第2の実施形態の計算機が参照するネットワークトポロジ情報の一例を示す図である。 本発明の第2の実施形態の動作を示す流れ図である。 具体的なネットワーク構成を示して本発明の第2の実施形態の動作を説明するための図である。 具体的なネットワーク構成を示して本発明の第1の実施形態の動作を説明するための別の図である。 本発明の第3の実施形態の構成を示すブロック図である。 本発明の第3の実施形態の動作を示す流れ図である。
はじめに、本発明の概要について図面を参照して説明する。本発明は、図1に示すように、第1物理NIC101と、第2物理NIC102といった複数の異なるネットワークインタフェースを有する計算機100に適用することができる。本発明に係る計算機100は、第1物理NIC101と接続された第1仮想スイッチ103と、第2物理NIC102と接続された第2仮想スイッチ104と、計算機100上で動作する通信プログラム108からはネットワークインタフェースとして認識される仮想NIC107と、仮想NIC107から送信されてきたパケットを解析し、仮想NIC107を第1仮想スイッチ103と第2仮想スイッチ104のどちらに接続するかを選択する通信解析部106と、通信解析部106によって選択された仮想スイッチ103/104と仮想NIC107との接続を保持する接続設定部105と、を備える。なお、この概要に付記した図面参照符号は、専ら理解を助けるための例示であり、図示の態様に限定することを意図するものではない。
より具体的には、通信解析部106が、仮想NIC107から送信されてきた送信パケットの送信先IPアドレスの計算機(送信先計算機)と通信を行ない、応答時間が短い方を選択する、スループットが大きい方を選択する、通信ホップ数が少ない方を選択する、などの所定の選択規則を用いて、第1仮想スイッチ103と第2仮想スイッチ104のいずれかを選択する。これにより、経路制御情報を用いずに、しかも、TCP等のセッションに不具合の生じない適切なネットワークインタフェースを選択するという目的が達成される。
また、本発明は、非特許文献1、2に記載のオープンフローコントローラに相当する経路制御部(経路制御装置)と接続された計算機における、物理ネットワークインタフェースの選択にも適用可能である。この構成については後に第2、第3の実施形態として説明する。
本発明において以下の形態が可能である。
[形態1]
前記第1の視点に記載の計算機のとおり。
[形態2]
前記第1の物理ネットワークインタフェース装置は、第1のネットワークと接続され、
前記第2の物理ネットワークインタフェース装置は、第2のネットワークと接続され、
前記第1の物理ネットワークインタフェース装置と第1のネットワークとの間の接続、または、前記第2の物理ネットワークインタフェース装置と第2のネットワークとの間の接続が切断された場合、
前記接続設定部は、前記仮想ネットワークインタフェース装置と前記仮想スイッチとの間の接続を切断することが好ましい。
[形態3]
前記通信解析部を備えることに代えて、
仮想ネットワークインタフェース装置からパケットを受信すると、管理下にある複数の通信装置の接続形態を表したネットワークトポロジ情報を用いて、前記仮想ネットワークインタフェース装置を第1の仮想スイッチと第2の仮想スイッチとのどちらに接続するかを選択する経路制御部から、前記仮想ネットワークインタフェース装置と接続する仮想スイッチの指示を受信可能であり、
前記接続設定部は、前記経路制御部から指示された仮想スイッチと前記仮想ネットワークインタフェース装置との接続を保持することもできる。
[形態4]
前記第1、第2の物理ネットワークインタフェース装置は、それぞれ前記経路制御部によって制御される第1、第2の物理スイッチと接続されていることが好ましい。
[形態5]
前記経路制御部は、
前記ネットワークトポロジ情報に加えて、前記ネットワークを構成する通信装置から収集した障害情報またはトラヒック情報を用いて、前記仮想ネットワークインタフェース装置を前記第1、第2の仮想スイッチとのどちらに接続するかを選択することが好ましい。
[形態6]
前記経路制御部は、第1のネットワークまたは第2のネットワークに配置された各通信装置の経路テーブルにエントリを設定することにより、前記仮想ネットワークインタフェース装置と、送信先計算機間で送受信されるパケットの経路制御を行うことが好ましい。
[形態7]
前記第2の視点に記載のネットワーク接続切替え方法のとおり。
[形態8]
また、前記ネットワーク接続切替え方法は、
管理下にある複数の通信装置の接続形態を表したネットワークトポロジ情報を用いて、計算機に構築された仮想ネットワークインタフェース装置から送信するパケットを、前記計算機に構築された第1、第2の仮想スイッチのどちらから送信するかを選択するステップと、
前記選択した仮想スイッチと前記仮想ネットワークインタフェース装置とを接続するステップと、
を含む形態とすることもできる。
[形態9]
前記第3の視点に記載のプログラムのとおり。
[形態10]
また、前記プログラムは、
管理下にある複数の通信装置の接続形態を表したネットワークトポロジ情報を用いて、計算機に構築された仮想ネットワークインタフェース装置から送信するパケットを、前記計算機に構築された第1、第2の仮想スイッチのどちらから送信するかを選択する処理と、
前記選択した仮想スイッチと前記仮想ネットワークインタフェース装置とを接続する処理と、
をコンピュータに実行させるプログラムとすることもできる。
なお、上記[形態7]〜[形態10]のネットワーク接続切替え方法およびプログラムは、形態1の通信システムと同様に、形態2〜形態6の内容に展開することが可能である。
なお、プログラムはコンピュータが読み取り可能な記憶媒体に記憶することができる。
[第1の実施形態]
続いて、本発明の第1の実施形態について図面を参照して詳細に説明する。図1は、本発明の第1の実施形態の構成を示すブロック図である。図1を参照すると、第1ネットワーク200および第2ネットワーク300の双方に接続可能な計算機100が示されている。
計算機100は、第1物理NIC(Network Interface Card)101と、第2物理NIC102と、第1仮想スイッチ103と、第2仮想スイッチ104と、接続設定部105と、通信解析部106と、仮想NIC107と、通信プログラム108を備えている。なお、図1の例では、それぞれ一つの仮想NIC107と通信プログラム108を示しているが、仮想NIC107および通信プログラム108は計算機100内にそれぞれ複数あっても良い。
第1物理NIC101および第2物理NIC102は、計算機100が他の計算機と通信するために使用される通信装置であり、それぞれ異なるIPアドレスが割り当てられている。ここでは、第1物理NIC101が、第1ネットワーク200に接続され、第2物理NIC102が第2ネットワーク300に接続されているものとする。
第1仮想スイッチ103および第2仮想スイッチ104は、ソフトウェアでエミュレーションされた仮想的なスイッチであり、パケットの転送先を切り替える機能を有する。第1仮想スイッチ103は第1物理NIC101と接続されており、第2仮想スイッチ104は第2物理NIC102と接続されている。
仮想NIC107は、ソフトウェアでエミュレーションされた仮想的なネットワークインタフェース装置である。計算機100上で実行している通信プログラム108からは、この仮想NIC107がNICとして認識される。
通信プログラム108は、仮想NIC107を介して他の計算機と通信を行うプログラムである。
通信解析部106は、通信プログラム108から仮想NIC107を介して送信されてきたパケットを解析し、パケットの送信先IPアドレスを取得する。そして送信先IPアドレスをもとに、仮想NIC107を第1仮想スイッチ103と第2仮想スイッチ104のどちらに接続するかを選択する。第1仮想スイッチ103と第2仮想スイッチ104のうち、どちらを選択するかを決定する方法としては、更にパケットを送信した時の応答時間が短い方を選択する、スループットが大きい方を選択する、通信ホップ数が少ない方を選択する、などが挙げられる。
前記パケットを送信した時の応答時間を計測する方法としては、例えば、パケットの送信先IPアドレスに対して、第1仮想スイッチ103および第2仮想スイッチ104からICMP(Internet Control Message Protocol)のEcho Messageを送信し、Echo Reply Messageが返ってきて、かつ返答時間が短い仮想スイッチを選択する方法が挙げられる。
接続設定部105は、通信解析部106によって決定された仮想スイッチの割り当てに従い、仮想NIC107と仮想スイッチ103/104を接続し、その状態を保持する。
なお、接続設定部105による、仮想NIC107と仮想スイッチ103/104間の接続は、第1物理NIC101と第1ネットワーク200の間の接続、または、第2物理NIC102と第2ネットワーク300の間の接続が切断された段階で、解除してもよい。その理由は、第1物理NIC101および第2物理NIC102がネットワーク200/300と再度接続された時に、仮想NIC107から見たネットワークトポロジが変化している可能性があるためである。例えば、ユーザがNICに挿し込む通信ケーブルを間違え、第1物理NIC101が第2ネットワーク300と接続され、第2物理NIC102が第1ネットワークと接続されることなどが考えられる。この場合、仮想NIC107と仮想スイッチ103/104間の接続も再設定されることが望ましい。
第1ネットワーク200および第2ネットワーク300は、複数の通信装置で構成された電気通信網である。
続いて、本実施形態におけるOS(オペレーティングシステム)の位置付けについて説明する。本実施形態におけるOSの位置付けとしては、以下の2つの場合が考えられる。
第1は、計算機100内で1つのOSが動作しているケースである(図2の破線参照)。この場合、図2に示すように、計算機100の構成要素は、1つのOSの管理下に置かれる。なお、複数の仮想NIC107、通信プログラム108がある場合も、これら複数の仮想NIC107、通信プログラム108は、OS上で動作し、上記と同様の動作をとる。
第2は、VM(Virtual Machine)などの仮想化技術によって計算機100内で1つ以上のOSが動作している場合である(図3の破線参照)。この場合、図3に示すように、仮想NIC107および通信プログラム108がVMM(Virtual Machine Monitor)上で実行されるOSの管理下に置かれ、それ以外の構成要素はVMMの管理下に置かれることになる。なおVMM上に複数のOSが実行されていても、これら複数の仮想NIC107および通信プログラム108の動作は、上記と同様の動作をとる。
続いて、本実施形態の動作について図面を参照して詳細に説明する。図4は、本発明の第1の実施形態の動作を示す流れ図である。
まず、通信プログラム108が他の計算機(以降、送信先計算機と表記)と通信するためにパケットを送信すると(ステップA1)、通信解析部106は、送信されてきたパケットを解析し、パケットの送信先IPアドレスを取得する(ステップA2)。
そして、通信解析部106は、送信先IPアドレスに対して、第1仮想スイッチと103と第2仮想スイッチ104のどちらから送信するかを選択する(ステップA3)。
ここでもし第1仮想スイッチ103と接続することを選択した場合、通信解析部106は、接続設定部105に対して、仮想NIC107−第1仮想スイッチ103間を接続するよう指示する(ステップA4)。接続設定部105は、通信解析部106からの指示に基づいて仮想NIC107と第1仮想スイッチ103を接続する(ステップA5)。この場合、仮想NIC107は、第1仮想スイッチ103にパケットを送信する(ステップA6)。
その後、第1仮想スイッチ103は、第1物理NIC101にパケットを転送し、第1物理NIC101から第1ネットワーク200にパケットが転送される。第1ネットワーク200に送出されたパケットは、その後0個以上の通信装置を介して、最終的な送信先計算機に届けられる(ステップA7)。
一方、先のステップA3において、通信解析部106が、第2仮想スイッチ104と接続することを接続することを選択した場合、通信解析部106は、接続設定部105に対して、仮想NIC107−第2仮想スイッチ104間を接続するよう指示する(ステップA8)。接続設定部105は、通信解析部106からの指示に基づいて仮想NIC107と第2仮想スイッチ104を接続する(ステップA9)。この場合、仮想NIC107は、第2仮想スイッチ104にパケットを送信する(ステップA10)。
この場合、第2仮想スイッチ104は、第2物理NIC102にパケットを転送し、第2物理NIC102から第2ネットワーク300にパケットが転送される。第2ネットワーク300に送出されたパケットは、その後0個以上の通信装置を介して、最終的な送信先計算機に届けられる(ステップA7)。
ここで、具体的な例を示して、通信解析部106と接続設定部105の動作をより詳細に説明する。
例えば、図5で示すようなネットワーク構成において、通信プログラム108が、仮想NIC107を介して、IPアドレスが10.1.1.102である送信先計算機600に対してパケットを送信した場合を考える。このとき、通信解析部106は、第1仮想スイッチ103および第2仮想スイッチ104から、ICMP Echo Messageを送信し、応答時間を求める。図5のネットワーク構成では、第2仮想スイッチ104経由では返答がないため、第1仮想スイッチ103経由の方が、Echo Reply Messageの受信が早いと判定され、通信解析部106は受信したパケットを第1物理NIC101から送信するため、接続設定部105に対し仮想NIC107と第1物理スイッチ103を接続するよう指示する。
また例えば、図6で示すようなネットワーク構成において、通信プログラム108が、仮想NIC107を介して、IPアドレスが10.1.1.102である送信先計算機600に対してパケットを送信した場合を考える。このときも同様に、通信解析部106は、第1仮想スイッチ103および第2仮想スイッチ104から、ICMP Echo Messageを送信し、応答時間を求める。その結果、ICMP Reply Messageの返答が、第1仮想スイッチ103経由では200ms(ミリ秒)、第2仮想スイッチ104経由では150msかかったとする。この場合、通信解析部106は、受信したパケットを第2物理NIC102から送信するため、接続設定部105に対し仮想NIC107と第2仮想スイッチ104を接続するよう指示する。
以上のように、本実施形態によれば、ユーザが計算機100の経路制御情報を設定しなくても、計算機100上で実行される通信プログラム108は、ネットワークトポロジを考慮した上での適切な通信を行うことができる。その理由は、仮想NIC107からの通信が発生した時に、通信解析部106が仮想NIC107の接続先となる仮想スイッチを選択するよう構成されているためである。
また、接続設定部105が、第1物理NIC101と第1ネットワーク200の間の接続、もしくは第2物理NIC102と第2ネットワーク300の間の接続が切断された時に、仮想NIC107と仮想スイッチ間の接続を解除(切断)するよう構成することにより、計算機100が備える複数の物理NICについて、ユーザが、それぞれどのネットワークに接続させるかを厳密に把握している必要性を低減することができる。例えば、ユーザがNICに差し込む通信ケーブルを間違え、第1物理NIC101が第2ネットワーク300と接続され、第2物理NIC102が第1ネットワークと接続してしまったような場合において、通信ケーブルをそれぞれ正しいNICに挿し直す、あるいは、仮想NIC107−仮想スイッチ103/104間の接続を切り替えることで、仮想NIC107と仮想スイッチ103/104間の接続が正しく再設定されることになる。
[第2の実施の形態]
続いて、本発明の第2の実施形態について図面を参照して詳細に説明する。図7は、本発明の第2の実施形態の構成を示すブロック図である。図7を参照すると、第1経路管理ネットワーク400および第2経路管理ネットワーク500の双方に接続可能な計算機100Aが示されている。
計算機100Aは、第1物理NIC101と、第2物理NIC102と、第1仮想スイッチ103Aと、第2仮想スイッチ104Aと、接続設定部105Aと、仮想NIC107と、通信プログラム108を備えている。さらに、計算機100Aは、経路制御部109と接続されている。このうち、第1の実施形態と同一の符号を付した第1物理NIC101、第2物理NIC102、仮想NIC107、通信プログラム108については、第1の実施形態と同じ動作をするので、ここでは説明を省略する。以下、第1の実施形態との相違点を中心に説明する。
まず本実施形態では、仮想NIC107と第1仮想スイッチ103Aがすでに接続されている。従って、通信プログラム108が仮想NIC107経由で送信するパケットは、まず第1仮想スイッチ103Aに送信される。
本実施形態における第1仮想スイッチ103Aおよび第2仮想スイッチ104Aは、ソフトウェアでエミュレーションされ、非特許文献1、2のオープンフロースイッチに相当する動作を行う通信装置である。即ち、第1仮想スイッチ103Aおよび第2仮想スイッチ104Aは、内部に備えた経路テーブルに従ってパケットを転送する機能を有する。また、第1仮想スイッチ103Aおよび第2仮想スイッチ104Aは、経路テーブルで転送先を決定することができない場合は、経路制御部109にパケットを転送し、当該パケットに適用する新しいエントリを要求する。
図8は、非特許文献1、2のフローテーブルに相当する経路テーブルの例である。各エントリは、ヘッダフィールド部、カウンタ部、アクション部から構成されている。このうちヘッダフィールド部はさらに細かく、送信元IPアドレス、送信元MAC(Media Access Control)アドレス、送信先IPアドレス、送信先MACアドレス、TCP(Transmission Control Protocol)のポート番号、VLAN(Virtual Local Area Network) IDなどのフィールドから構成されている。カウンタ部は、受信したパケットがエントリにマッチした回数が保存される。またアクション部では、ヘッダフィールド部が一致したパケットをどのように処理するかを指定することができ、例えば、パケットを指定したポート番号から転送するアクションを格納することができる。
ここで例えば、第1仮想スイッチ103Aが、図8のような通信フローテーブルを有している場合を考える。第1仮想スイッチ103Aが、仮想NIC107から、送信元IPアドレスが10.1.1.101であり、送信先IPアドレスが10.1.1.102である送信先計算機600宛てのパケットを受信したとする(”*”はワイルドカードを意味する)。このとき、第1仮想スイッチ103Aが、通信フローテーブルを上から検索すると、送信元IPアドレスとして“10.1.1.101”が設定されているエントリE1がヒットする。この場合、第1仮想スイッチ103Aは、そのアクションフィールドの内容に従って、第1物理NIC101が接続されたポートへ当該パケットを転送する。一方、このパケットの応答として送信先計算機600から、第1仮想スイッチ103Aが、送信元IPアドレスが10.1.1.102であり、送信先IPアドレスが10.1.1.101であるパケットを受信した場合、送信先IPアドレスとして“10.1.1.101”が設定されているエントリE2がヒットする。この場合、第1仮想スイッチ103Aは、そのアクションフィールドの内容に従って、仮想NIC107が接続されたポートへパケットを転送する。以上により、IPアドレスが10.1.1.101であるノード(仮想NIC107)と、IPアドレスが10.1.1.102である送信先計算機600間の一連のパケット(フロー)が中継される。
経路制御部109は、第1仮想スイッチ103Aまたは第2仮想スイッチ104Aからパケットを受信すると、内部に有するネットワークトポロジ情報をもとに、仮想NIC107をどちらの仮想スイッチに接続するか選択する。
ネットワークトポロジ情報は、経路制御部109の管理下にある通信装置(第1、第2経路管理ネットワーク400/500に配置された通信装置を含む。)の接続情報である。ネットワークトポロジ情報の形態としてはいくつか考えられるが、例えば、図9に示すように、接続されている2つの通信装置を1つの組として管理する方法が挙げられる。
図9のようにして経路制御部109の管理下にあるすべての通信装置について接続されている通信装置間を組として管理すると、ある通信装置から別の通信装置まで到達するまでの経路を求めることができる。
例えば、第1仮想スイッチ103A(または第2仮想スイッチ104A)から転送されたパケットの送信先IPアドレスが、第1仮想スイッチ103Aから辿り着けるのであれば、経路制御部109は、仮想NIC107を第1仮想スイッチ103Aに接続したままで良いと判断する。
一方、第1仮想スイッチ103A(または第2仮想スイッチ104A)から転送されたパケットの送信先IPアドレスが、第2仮想スイッチ104Aから辿り着けるのであれば、経路制御部109は、仮想NIC107を第2仮想スイッチ104Aと接続した方が良いと判断する。
また、第1仮想スイッチ103A(または第2仮想スイッチ104A)から転送されたパケットの送信先IPアドレスに、第1仮想スイッチ103Aおよび第2仮想スイッチ104Aの両方から辿り着けるとしても、第1仮想スイッチ103Aから通信した方が到達までのホップ数が少ないのであれば、経路制御部109は、仮想NIC107を第1仮想スイッチ103Aと接続した方が良いと判断し、第2仮想スイッチ104Aから通信した方が到達までのホップ数が少ないのであれば、仮想NIC107を第2仮想スイッチ104Aと接続した方が良いと判断する。
経路制御部109は、上記のように、第1仮想スイッチ103Aと接続した方が良いと判断すると、第1仮想スイッチ103Aに対して適切な経路テーブルのエントリを設定する。第2仮想スイッチ104Aと接続した方が良いと判断すると、経路制御部109は、第2仮想スイッチ104Aに対して適切な経路テーブルのエントリを設定し、さらに接続設定部105に対して、仮想NIC107−第1仮想スイッチ103A間の接続を解除し、仮想NIC107−第2仮想スイッチ104A間を接続するよう指示する。
前記接続を切り替えた際に、第1仮想スイッチ103A内に仮想NIC107から送信されてきたパケットが残っている可能性がある。それらのパケットはまとめて、第2仮想スイッチ104Aへ転送するようにしてもよい。また、これら残っているパケットを削除することとしても良い。
また、経路制御部109は、第1仮想スイッチ103Aおよび第2仮想スイッチ104Aに対して、適切な経路テーブルのエントリを設定するほか、第1経路管理ネットワーク400および第2経路管理ネットワーク500内の他の通信装置に対しても、経路テーブルのエントリを設定する。このような経路制御部109は、非特許文献1、2のオープンフローコントローラに相当する、ある通信装置(ノード)から送信先計算機までパケットを送信するかの経路制御を行う制御装置によって実現することもできる。
また経路制御部109は、前述したネットワークトポロジ情報や図8の経路テーブルのカウンタ部に保持されているトラヒック情報を定期的に収集するものとしてもよい。このようにすれば、ネットワーク内の一つの通信装置に障害や輻輳が生じたり、ネットワークトポロジが変更になった場合に、新しい経路を求め、各通信装置に経路テーブルのエントリを設定する動作を行わせることができる。
また、経路制御部109は、計算機100A内にあっても良い。この場合、計算機100Aは、非特許文献1、2のオープンフローコントローラに相当する装置によって実現される。
接続設定部105Aは、経路制御部109からの指示に従い、仮想NIC107と第1、第2仮想スイッチ103A/104Aを接続する。なお、第1物理NIC101および第2物理NIC102が第1、第2経路管理ネットワーク400/500との接続が切断された場合、その後仮想NIC107から見たネットワークトポロジにも変化が生じている可能性があるので、接続設定部105Aが、前記切断の時点で、仮想NIC107と第1、第2仮想スイッチ103A/104A間の接続を解除するようにしても良い。これにより、再接続後にパケットを受信した時点で、新しいネットワークトポロジに従って、再度仮想NIC107と第1、第2仮想スイッチ103A/104A間を接続することができる。
第1経路管理ネットワーク400および第2経路管理ネットワーク500は、複数の通信装置で構成された電気通信網である。第1経路管理ネットワーク400および第2経路管理ネットワーク500に属している通信装置は、第1仮想スイッチ103Aおよび第2仮想スイッチ104Aと同様に経路テーブルを内部に有し、エントリにマッチしない新しいパケットを受信すると経路制御部109に転送し、経路制御部109から当該パケットに適用すべきアクションを定めたエントリを設定される。従って、第1経路管理ネットワーク400および第2経路管理ネットワーク500に属している通信装置は、非特許文献1、2のオープンフロースイッチに相当する装置によって実現される。
続いて、本実施形態の動作について図面を参照して詳細に説明する。図10は、本発明の第2の実施形態の動作を示す流れ図である。
まず、通信プログラム108が送信先計算機600と通信するためにパケットを送信すると(ステップB1)、第1仮想スイッチ103Aは、経路テーブルを参照して、仮想NIC107経由で送信されてきた受信パケットに対応するエントリを検索する(ステップB2)。
ここで、第1仮想スイッチ103A内の経路テーブルに、前記受信パケットに一致するエントリが見つかった場合(ステップB2の「ある」)、第1仮想スイッチ103Aは、そのエントリのアクションフィールドの内容に従い、第1物理NIC101に受信パケットを転送する(ステップB3)。
前記受信パケットの転送を受けた第1物理NIC101は、第1経路管理ネットワーク400に受信パケットを転送し(ステップB4)、第1経路管理ネットワーク400内の通信装置を経由して、受信パケットは最終的に送信先計算機600に届けられる(ステップB5)。
一方、ステップB2にて、前記受信パケットに一致するエントリが見つからなかった場合(ステップB2の「ない」)、第1仮想スイッチ103Aは、当該受信パケットを経路制御部109に送信する(ステップB6)。
経路制御部109は、第1仮想スイッチ103Aからパケットを受信すると、内部に有するネットワークトポロジ情報をもとに、仮想NIC107をどちらの仮想スイッチに接続すれば良いか選択する(ステップB7)。
ここで、第1仮想スイッチ103Aと接続することを選択した場合、仮想NIC107−第1仮想スイッチ103A間の接続を切り替える必要はなく、経路制御部109は、第1仮想スイッチ103Aの経路テーブルに適切なエントリを設定する(ステップB8)。これにより、受信パケットは、前述したステップB3以降の動作により、送信先計算機600に送信される。
一方、ステップB7において第2仮想スイッチ104Aと接続することを選択した場合、経路制御部109は、第2仮想スイッチ104Aの経路テーブルに適切なエントリを設定し(ステップB9)、パケットを第2仮想スイッチ104Aに転送する(ステップB10)。さらに、経路制御部109は、接続設定部105に対して、仮想NIC107−第1仮想スイッチ103A間の接続を仮想NIC107−第2仮想スイッチ104A間の接続に切り替えるよう指示する(ステップB11)。このとき更に、経路制御部109は、仮想NIC107から送信されてきたパケットのうち、第1仮想スイッチ103Aに残っているパケットを第2仮想スイッチ104Aに転送するよう指示してもよい。
次に接続設定部105Aは、仮想NIC107−第1仮想スイッチ103A間の接続を切断し、仮想NIC107−第2仮想スイッチ104A間を接続する(ステップB12)。
すると第2仮想スイッチ104Aは、新たに設定されたエントリに従って、パケットを第2物理NIC102に転送する(ステップB13)。その後、第2物理NIC102がパケットを第2経路管理ネットワーク500に転送し(ステップB14)、第2経路管理ネットワーク500内の通信装置を経由して、最終的にパケットは送信先計算機600に届けられる。
ここで、具体的な例を示して、第1経路管理ネットワーク400または第2経路管理ネットワーク500を構成する通信装置に障害が発生した時の本実施形態の計算機100Aおよび経路制御部109の動作について説明する。
例えば、図11で示すようなネットワーク構成において、仮想NIC107から送信先計算機600に対して、第2経路管理ネットワーク500を介した経路が設定されていたとする。ここで、図12で示すように、第2経路管理ネットワーク500に障害が発生した時に、経路制御部109が前記障害を検知し、新しい経路テーブルのエントリを各通信装置に設定する。さらに接続設定部105Aに対して、仮想NIC107−第2仮想スイッチ104A間の接続を、仮想NIC107−第1仮想スイッチ103A間の接続に切り替えるよう指示する。これにより、図12に示すように、新たに仮想NIC107から送信先計算機600に対する経路が設定されることになる。
以上のように、本発明の第2の実施形態によれば、経路制御部109において、ネットワーク全体のネットワークトポロジ情報をもとに、仮想NIC107を接続する仮想スイッチを選択し、また送信先計算機600までの経路を設定できるよう構成されているので、ユーザが計算機100Aの経路制御情報を設定しなくても、計算機100A上で実行される通信プログラム108は、ネットワークトポロジを考慮した上での適切な通信を行うことができる。
また本実施形態では、さらに接続設定部105Aが、第1物理NIC101と第1経路管理ネットワーク400の間の接続、または、第2物理NIC102と第2経路管理ネットワーク500の間の接続が切断された時に、仮想NIC107と仮想スイッチ間の接続を切断するよう構成した場合、計算機100Aの複数の物理NICについて、ユーザが、それぞれどの経路管理ネットワークに接続させるかを管理する必要はない。
[第3の実施の形態]
続いて、本発明の第3の実施形態について図面を参照して詳細に説明する。図13は、本発明の第3の実施形態の構成を示すブロック図である。図13を参照すると、第1物理スイッチ113、第2物理スイッチ114を介して、第1経路管理ネットワーク400および第2経路管理ネットワーク500の双方に接続可能な計算機100Bが示されている。
計算機100Bは、第1物理NIC101と、第2物理NIC102と、第1仮想スイッチ103と、第2仮想スイッチ104と、接続設定部105と、仮想NIC107と、通信プログラム108を備えている。さらに、計算機100Bは、経路制御部109Aと接続されている。このうち、第1の実施形態と同一の符号を付した第1物理NIC101、第2物理NIC102、第1仮想スイッチ103、第2仮想スイッチ104、接続設定部105、仮想NIC107、通信プログラム108については、第1の実施形態と同じ動作をするので、ここでは説明を省略する。以下、第1の実施形態との相違点を中心に説明する。
本実施形態における第1物理スイッチ113および第2物理スイッチ114は、通信装置であり、スイッチ内部の経路テーブルに従ってパケットを転送する機能を有する。つまり第2の実施形態における第1仮想スイッチ103Aおよび第2仮想スイッチ104Aと同様のパケット転送機能を持つ通信装置である。
また本実施の形態における経路制御部109Aは、第1物理スイッチ113または第2物理スイッチ114からパケットを受信すると、内部に有するネットワークトポロジ情報をもとに、仮想NIC107を第1仮想スイッチ103と第2仮想スイッチ104のどちらに接続したらよいか選択する。
経路制御部109Aは、仮想NIC107と第1仮想スイッチ103とを接続することを選択すると、第1物理スイッチ113に対して適切な経路テーブルのエントリを設定する。同様に、経路制御部109Aは、仮想NIC107と第2仮想スイッチ104とを接続することを選択すると、第2物理スイッチ114に対して適切な経路テーブルのエントリを設定し、さらに、経路制御部109Aは、接続設定部105に対して、仮想NIC107−第1仮想スイッチ103間の接続を、仮想NIC107−第2仮想スイッチ104間の接続に切り替えるよう指示する。また、前記接続の切り替えの際に、経路制御部109Aが、第1物理スイッチ113に対し、受信済みパケットを第2物理スイッチ114に転送するよう指示するものとしてもよい。また、経路制御部109Aが、第1物理スイッチ113に対し、これらのパケットを削除するよう指示するものとしても良い。
続いて、本実施形態の動作について図面を参照して詳細に説明する。図14は、本発明の第3の実施形態の動作を示す流れ図である。
まず、通信プログラム108が送信先計算機600と通信するためにパケットを送信すると(ステップC1)、そのパケットは仮想NIC107から第1仮想スイッチ103、第1物理NIC101を介して、第1物理スイッチ113に送信される。
第1物理スイッチ113は、パケットを受信すると、経路テーブルのエントリを検索する(ステップC2)。
ここで、第1物理スイッチ113内の経路テーブルに、前記パケットと一致するエントリがあれば(ステップC2の「ある」)、そのエントリで指定された第1経路管理ネットワーク400の通信装置にパケットを転送する(ステップC3)。そのパケットは、第1経路管理ネットワーク400内の通信装置を経由して、最終的に送信先計算機600に届けられる(ステップC4)。
一方、ステップC2にて、前記受信パケットに一致するエントリが見つからなかった場合(ステップC2の「ない」)、第1物理スイッチ113は、当該受信パケットを経路制御部109Aに送信する(ステップC5)。
経路制御部109Aは、第1物理スイッチ113からパケットを受信すると、内部に有するネットワークトポロジ情報をもとに、仮想NIC107をどちらの仮想スイッチに接続すれば良いか選択する(ステップC6)。
ここで、第1仮想スイッチ103と接続することを選択した場合、仮想NIC107−第1仮想スイッチ103間の接続を切り替える必要はなく、経路制御部109Aは、第1物理スイッチ113の経路テーブルに適切なエントリを設定する(ステップC7)。これにより、受信パケットは、前述したステップC3以降の動作により、送信先計算機600に送信される。
一方、ステップC6において第2仮想スイッチ104と接続することを選択した場合、経路制御部109Aは、第2物理スイッチ114の経路テーブルに適切なエントリを設定し(ステップC8)、パケットを第2仮想スイッチ104に転送する(ステップC9)。さらに、経路制御部109Aは、接続設定部105に対して、仮想NIC107−第1仮想スイッチ103間の接続を仮想NIC107−第2仮想スイッチ104間の接続に切り替えるよう指示する(ステップC10)。このとき更に、経路制御部109Aは、仮想NIC107から送信されてきたパケットのうち、第1仮想スイッチ103に残っているパケットを第2仮想スイッチ104に転送するよう指示してもよい。
次に接続設定部105は、仮想NIC107−第1仮想スイッチ103間の接続を切断し、仮想NIC107−第2仮想スイッチ104間を接続する(ステップC11)。
すると第2物理スイッチ114は、新たに設定されたエントリに従って、受信したパケットを第2経路管理ネットワーク500の通信装置に転送する(ステップC12)。第2経路管理ネットワーク500内の通信装置を経由して、最終的にパケットは送信先計算機600に届けられる(ステップC4)。
以上のように、本発明の第3の実施形態によれば、仮想スイッチが経路制御部109Aの管理外であっても、第2の実施形態と同等のネットワーク接続切り替えを行うことが可能となる。その理由は、経路制御部109Aが、物理スイッチ113/114から上がってきたパケット情報をもとに、仮想NIC107を接続する仮想スイッチを選択するよう構成し、計算機100B上で実行される通信プログラム108が、ネットワークトポロジを考慮した上での適切な通信を行うことができるようにしたためである。
また本実施形態では、さらに接続設定部105が、第1物理NIC101と第1経路管理ネットワーク400の間の接続、または、第2物理NIC102と第2経路管理ネットワーク500の間の接続が切断された時に、仮想NIC107と仮想スイッチ間の接続を切断するよう構成した場合、計算機100Bの複数の物理NICについて、ユーザが、それぞれどの経路管理ネットワークに接続させるかを管理する必要はない。
以上、本発明の好適な実施形態を説明したが、本発明は、上記した実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。例えば、上記した各実施形態では、各所で非特許文献1、2のオープンフロースイッチやオープンフローコントローラを用いるものとして説明したが、これらに限定されるものではなく、同等の仕組みを持つ装置を適宜用いることが可能である。
また例えば、上記した第2、第3の実施形態では、パケットの転送を行うエントリが経路テーブルに格納されているものとして説明したが、経路制御部109/109Aが、特定のパケットを廃棄させるエントリを設定したり、あるいは、特定のヘッダを書き換えるエントリを追加してもよいことはもちろんである。
本発明は、上記の通り、パケットの送信先等により、複数の物理ネットワークインタフェースを使い分ける必要のある計算機一般に適用可能であるが、計算機内でVM(Virtual Machine)に仮想的なネットワークを提供するための仮想スイッチにも適用できる。また本発明は、OSがプログラムに対して提供する仮想NICと物理NIC間の間に置く仮想スイッチにも適用できる。
最後に、本発明の特許請求の範囲に繰り込み可能な発明を付記する。
[付記1]
上記第1の実施形態の通信解析部に代えて、
仮想ネットワークインタフェース装置からパケットを受信すると、管理下にある複数の通信装置の接続形態を表したネットワークトポロジ情報を用いて、前記仮想ネットワークインタフェース装置を第1の仮想スイッチと第2の仮想スイッチとのどちらに接続するかを選択する経路制御部を備える計算機。
[付記2]
前記経路制御部は、前記第1、第2の仮想スイッチの経路テーブルにエントリを設定することにより、前記第1、第2の仮想スイッチにパケットに応じたアクションを実施させる計算機。
[付記3]
前記経路制御部は、前記ネットワークトポロジ情報を用いて、前記仮想ネットワークインタフェース装置を起点とする前記送信先計算機までのパケットの転送経路を決定し、前記転送経路に従って、前記仮想ネットワークインタフェース装置に接続する前記第1、第2の仮想スイッチの選択を行う計算機。
なお、上記非特許文献1、2の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせ、ないし、選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
100、100A、100B 計算機
101 第1物理NIC
102 第2物理NIC
103 第1仮想スイッチ(本発明の第1、第3の実施形態)
103A 第1仮想スイッチ(本発明の第2の実施形態)
104 第2仮想スイッチ(本発明の第1、第3の実施形態)
104A 第2仮想スイッチ(本発明の第2の実施形態)
105 接続設定部(本発明の第1、第3の実施形態)
105A 接続設定部(本発明の第2の実施形態)
106 通信解析部
107 仮想NIC
108 通信プログラム
109 経路制御部(本発明の第2の実施形態)
109A 経路制御部(本発明の第3の実施形態)
113 第1物理スイッチ
114 第2物理スイッチ
200 第1ネットワーク
300 第2ネットワーク
400 第1経路管理ネットワーク
500 第2経路管理ネットワーク
600 送信先計算機

Claims (9)

  1. 仮想ネットワークインタフェース装置と、
    第1の物理ネットワークインタフェース装置と接続された第1の仮想スイッチと、
    第2の物理ネットワークインタフェース装置と接続された第2の仮想スイッチと、
    前記仮想ネットワークインタフェース装置から送信されてきたパケットを解析して得られたパケットの送信先との通信結果に基づいて、前記仮想ネットワークインタフェース装置を第1の仮想スイッチと第2の仮想スイッチとのどちらに接続するかを選択する通信解析部と、
    前記通信解析部によって選択された仮想スイッチと前記仮想ネットワークインタフェース装置との接続を保持する接続設定部と、
    を備える計算機であって、
    前記第1の物理ネットワークインタフェース装置は、第1のネットワークと接続され、
    前記第2の物理ネットワークインタフェース装置は、第2のネットワークと接続され、
    前記第1の物理ネットワークインタフェース装置と第1のネットワークとの間の接続、または、前記第2の物理ネットワークインタフェース装置と第2のネットワークとの間の接続が切断された場合、
    前記接続設定部は、前記仮想ネットワークインタフェース装置と前記仮想スイッチとの間の接続を切断する計算機。
  2. 仮想ネットワークインタフェース装置と、
    第1の物理ネットワークインタフェース装置と接続された第1の仮想スイッチと、
    第2の物理ネットワークインタフェース装置と接続された第2の仮想スイッチと、
    前記通信解析部によって選択された仮想スイッチと前記仮想ネットワークインタフェース装置との接続を保持する接続設定部と、
    を備える計算機であって、
    仮想ネットワークインタフェース装置からパケットを受信すると、管理下にある複数の通信装置の接続形態を表したネットワークトポロジ情報を用いて、前記仮想ネットワークインタフェース装置を第1の仮想スイッチと第2の仮想スイッチとのどちらに接続するかを選択する経路制御部から、前記仮想ネットワークインタフェース装置と接続する仮想スイッチの指示を受信可能であり、
    前記接続設定部は、前記経路制御部から指示された仮想スイッチと前記仮想ネットワークインタフェース装置との接続を保持する計算機。
  3. 前記第1、第2の物理ネットワークインタフェース装置は、それぞれ前記経路制御部によって制御される第1、第2の物理スイッチと接続されている請求項の計算機。
  4. 前記経路制御部は、
    前記ネットワークトポロジ情報に加えて、前記ネットワークを構成する通信装置から収集した障害情報またはトラヒック情報を用いて、前記仮想ネットワークインタフェース装置を前記第1、第2の仮想スイッチとのどちらに接続するかを選択する請求項2または3の計算機。
  5. 前記経路制御部は、第1のネットワークまたは第2のネットワークに配置された各通信装置の経路テーブルにエントリを設定することにより、前記仮想ネットワークインタフェース装置と、送信先計算機間で送受信されるパケットの経路制御を行う請求項からいずれか一の計算機。
  6. 仮想ネットワークインタフェース装置と、
    第1の物理ネットワークインタフェース装置と接続された第1の仮想スイッチと、
    第2の物理ネットワークインタフェース装置と接続された第2の仮想スイッチと、
    前記仮想ネットワークインタフェース装置から送信されてきたパケットを解析して得られたパケットの送信先との通信結果に基づいて、前記仮想ネットワークインタフェース装置を第1の仮想スイッチと第2の仮想スイッチとのどちらに接続するかを選択する通信解析部と、
    前記通信解析部によって選択された仮想スイッチと前記仮想ネットワークインタフェース装置との接続を保持する接続設定部と、
    を備える計算機によるネットワーク接続切替え方法であって、
    前記計算機に構築された仮想ネットワークインタフェース装置から送信されてきたパケットを解析して得られたパケットの送信先との通信結果に基づいて、前記仮想ネットワークインタフェース装置を第1、第2の仮想スイッチとのどちらに接続するかを選択するステップと、
    前記選択した仮想スイッチと前記仮想ネットワークインタフェース装置とを接続するステップと、
    前記第1の物理ネットワークインタフェース装置と第1のネットワークとの間の接続、または、前記第2の物理ネットワークインタフェース装置と第2のネットワークとの間の接続が切断された場合、前記仮想ネットワークインタフェース装置と前記仮想スイッチとの間の接続を切断するステップと、
    を含むネットワーク接続切替え方法。
  7. 仮想ネットワークインタフェース装置と、
    第1の物理ネットワークインタフェース装置と接続された第1の仮想スイッチと、
    第2の物理ネットワークインタフェース装置と接続された第2の仮想スイッチと、
    前記通信解析部によって選択された仮想スイッチと前記仮想ネットワークインタフェース装置との接続を保持する接続設定部と、
    を備える計算機によるネットワーク接続切替え方法であって、
    仮想ネットワークインタフェース装置からパケットを受信すると、管理下にある複数の通信装置の接続形態を表したネットワークトポロジ情報を用いて、前記仮想ネットワークインタフェース装置を第1の仮想スイッチと第2の仮想スイッチとのどちらに接続するかを選択する経路制御部から、前記仮想ネットワークインタフェース装置と接続する仮想スイッチの指示を受信するステップと、
    前記経路制御部から指示された仮想スイッチと前記仮想ネットワークインタフェース装置との接続を保持するステップとを含むネットワーク接続切替え方法。
  8. 仮想ネットワークインタフェース装置と、
    第1の物理ネットワークインタフェース装置と接続された第1の仮想スイッチと、
    第2の物理ネットワークインタフェース装置と接続された第2の仮想スイッチと、
    前記仮想ネットワークインタフェース装置から送信されてきたパケットを解析して得られたパケットの送信先との通信結果に基づいて、前記仮想ネットワークインタフェース装置を第1の仮想スイッチと第2の仮想スイッチとのどちらに接続するかを選択する通信解析部と、
    前記通信解析部によって選択された仮想スイッチと前記仮想ネットワークインタフェース装置との接続を保持する接続設定部と、
    を備える計算機に、
    前記計算機に構築された仮想ネットワークインタフェース装置から送信されてきたパケットを解析して得られたパケットの送信先との通信結果に基づいて、前記仮想ネットワークインタフェース装置を第1、第2の仮想スイッチとのどちらに接続するかを選択する処理と、
    前記選択した仮想スイッチと前記仮想ネットワークインタフェース装置とを接続する処理と、
    前記第1の物理ネットワークインタフェース装置と第1のネットワークとの間の接続、または、前記第2の物理ネットワークインタフェース装置と第2のネットワークとの間の接続が切断された場合、前記仮想ネットワークインタフェース装置と前記仮想スイッチとの間の接続を切断する処理と、
    を実行させるプログラム。
  9. 仮想ネットワークインタフェース装置と、
    第1の物理ネットワークインタフェース装置と接続された第1の仮想スイッチと、
    第2の物理ネットワークインタフェース装置と接続された第2の仮想スイッチと、
    前記通信解析部によって選択された仮想スイッチと前記仮想ネットワークインタフェース装置との接続を保持する接続設定部と、
    を備える計算機に、
    仮想ネットワークインタフェース装置からパケットを受信すると、管理下にある複数の通信装置の接続形態を表したネットワークトポロジ情報を用いて、前記仮想ネットワークインタフェース装置を第1の仮想スイッチと第2の仮想スイッチとのどちらに接続するかを選択する経路制御部から、前記仮想ネットワークインタフェース装置と接続する仮想スイッチの指示を受信する処理と、
    前記経路制御部から指示された仮想スイッチと前記仮想ネットワークインタフェース装置との接続を保持する処理と、
    を実行させるプログラム。
JP2011550015A 2010-01-14 2011-01-14 計算機、ネットワーク接続切替え方法およびプログラム Expired - Fee Related JP5664557B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011550015A JP5664557B2 (ja) 2010-01-14 2011-01-14 計算機、ネットワーク接続切替え方法およびプログラム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2010005919 2010-01-14
JP2010005919 2010-01-14
PCT/JP2011/050544 WO2011087085A1 (ja) 2010-01-14 2011-01-14 計算機、ネットワーク接続切替え方法およびプログラム
JP2011550015A JP5664557B2 (ja) 2010-01-14 2011-01-14 計算機、ネットワーク接続切替え方法およびプログラム

Publications (2)

Publication Number Publication Date
JPWO2011087085A1 JPWO2011087085A1 (ja) 2013-05-20
JP5664557B2 true JP5664557B2 (ja) 2015-02-04

Family

ID=44304354

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011550015A Expired - Fee Related JP5664557B2 (ja) 2010-01-14 2011-01-14 計算機、ネットワーク接続切替え方法およびプログラム

Country Status (3)

Country Link
US (1) US20120170477A1 (ja)
JP (1) JP5664557B2 (ja)
WO (1) WO2011087085A1 (ja)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9185056B2 (en) 2011-09-20 2015-11-10 Big Switch Networks, Inc. System and methods for controlling network traffic through virtual switches
KR20130093734A (ko) * 2011-12-26 2013-08-23 한국전자통신연구원 로드 밸런싱 장치 및 그것의 로드 밸런싱 방법
CN103379039B (zh) * 2012-04-23 2016-12-14 华为技术有限公司 一种用于流统计的方法、装置及系统
IN2015DN02007A (ja) * 2012-10-10 2015-08-14 Nec Corp
KR102055686B1 (ko) * 2012-10-19 2019-12-13 에스케이텔레콤 주식회사 오픈 플로우 스위치와 컨트롤러를 사용한 가상망 구현 방법 및 그 장치
KR102029707B1 (ko) * 2012-10-19 2019-11-08 에스케이텔레콤 주식회사 가상망 기반의 차등 네트워크 구현 방법 및 그 장치
US9225605B2 (en) * 2012-11-19 2015-12-29 Cisco Technology, Inc. Dynamic re-assignment of service ports to active virtual network switch based on service policy
JP5796693B2 (ja) * 2013-03-12 2015-10-21 日本電気株式会社 安定化システム、安定化方法、コンピュータ装置及びプログラム
US9769074B2 (en) 2013-03-15 2017-09-19 International Business Machines Corporation Network per-flow rate limiting
US9596192B2 (en) 2013-03-15 2017-03-14 International Business Machines Corporation Reliable link layer for control links between network controllers and switches
US9407560B2 (en) 2013-03-15 2016-08-02 International Business Machines Corporation Software defined network-based load balancing for physical and virtual networks
US9609086B2 (en) 2013-03-15 2017-03-28 International Business Machines Corporation Virtual machine mobility using OpenFlow
US9444748B2 (en) * 2013-03-15 2016-09-13 International Business Machines Corporation Scalable flow and congestion control with OpenFlow
CN103621026B (zh) * 2013-04-01 2017-06-13 华为技术有限公司 虚拟机的数据交换方法、装置和系统
CN104579894B (zh) * 2013-10-28 2018-05-11 新华三技术有限公司 分布式虚拟交换机系统的IGMP Snooping实现方法及装置
JP6291834B2 (ja) 2013-12-20 2018-03-14 株式会社リコー 通信装置、通信方法および通信システム
JP2016012909A (ja) * 2014-06-03 2016-01-21 株式会社リコー 通信装置、通信方法および通信システム
JP6631065B2 (ja) * 2014-11-25 2020-01-15 株式会社リコー 通信路切替装置、通信路切替装置の制御方法、及びプログラム
CN104618141B (zh) * 2014-12-27 2018-04-06 中国船舶重工集团公司第七一一研究所 基于fpga的双网切换装置及其双网切换方法
US10608881B2 (en) * 2016-09-22 2020-03-31 Nicira, Inc. Application-based network segmentation in a virtualized computing environment
US10855531B2 (en) 2018-08-30 2020-12-01 Juniper Networks, Inc. Multiple networks for virtual execution elements
US10728145B2 (en) * 2018-08-30 2020-07-28 Juniper Networks, Inc. Multiple virtual network interface support for virtual execution elements
US10841226B2 (en) 2019-03-29 2020-11-17 Juniper Networks, Inc. Configuring service load balancers with specified backend virtual networks
US11310102B2 (en) * 2019-08-02 2022-04-19 Ciena Corporation Retaining active operations, administration, and maintenance (OAM) sessions across multiple devices operating as a single logical device
US20230017692A1 (en) * 2021-06-30 2023-01-19 Juniper Networks, Inc. Extending switch fabric processing to network interface cards

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000312244A (ja) * 1999-04-27 2000-11-07 Nippon Telegr & Teleph Corp <Ntt> ネットワークインタフェース切替方法およびその装置、その記録媒体
JP2004357252A (ja) * 2003-05-30 2004-12-16 Ntt Docomo Inc 通信装置及び通信方法
JP2007213465A (ja) * 2006-02-13 2007-08-23 Hitachi Ltd 計算機の制御方法、プログラム及び仮想計算機システム
JP2009176103A (ja) * 2008-01-25 2009-08-06 Hitachi Information Systems Ltd 仮想ネットワークシステムのnic接続制御方法とシステムおよびプログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7941539B2 (en) * 2008-06-30 2011-05-10 Oracle America, Inc. Method and system for creating a virtual router in a blade chassis to maintain connectivity

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000312244A (ja) * 1999-04-27 2000-11-07 Nippon Telegr & Teleph Corp <Ntt> ネットワークインタフェース切替方法およびその装置、その記録媒体
JP2004357252A (ja) * 2003-05-30 2004-12-16 Ntt Docomo Inc 通信装置及び通信方法
JP2007213465A (ja) * 2006-02-13 2007-08-23 Hitachi Ltd 計算機の制御方法、プログラム及び仮想計算機システム
JP2009176103A (ja) * 2008-01-25 2009-08-06 Hitachi Information Systems Ltd 仮想ネットワークシステムのnic接続制御方法とシステムおよびプログラム

Also Published As

Publication number Publication date
JPWO2011087085A1 (ja) 2013-05-20
US20120170477A1 (en) 2012-07-05
WO2011087085A1 (ja) 2011-07-21

Similar Documents

Publication Publication Date Title
JP5664557B2 (ja) 計算機、ネットワーク接続切替え方法およびプログラム
US9794124B2 (en) Information system, control server, virtual network management method, and program
US9215175B2 (en) Computer system including controller and plurality of switches and communication method in computer system
JP5742834B2 (ja) 通信システム、経路制御装置、パケット転送装置および経路制御方法
JP5994846B2 (ja) 通信システム、制御装置、ノード、ノードの制御方法およびプログラム
EP2552060A1 (en) Information system, control apparatus, method of controlling virtual network, and program
JP5590262B2 (ja) 情報システム、制御装置、仮想ネットワークの提供方法およびプログラム
US9491000B2 (en) Data transport system, transmission method, and transport apparatus
US10645006B2 (en) Information system, control apparatus, communication method, and program
JP5800019B2 (ja) 通信経路制御システム、経路制御装置、通信経路制御方法および経路制御プログラム
JP5585660B2 (ja) 通信システム、制御装置、処理規則の設定方法およびプログラム
CN103460653A (zh) 计算机系统和通信方法
JP5861772B2 (ja) ネットワークアプライアンス冗長化システム、制御装置、ネットワークアプライアンス冗長化方法及びプログラム
JP2014533001A (ja) 転送装置の制御装置、転送装置の制御方法、通信システムおよびプログラム
US10171352B2 (en) Communication system, node, control device, communication method, and program
JP5725236B2 (ja) 通信システム、ノード、パケット転送方法およびプログラム
EP2916497A1 (en) Communication system, path information exchange device, communication node, transfer method for path information and program
JPWO2014104277A1 (ja) 制御装置、通信システム、通信ノードの制御方法及びプログラム
WO2014119602A1 (ja) 制御装置、スイッチ、通信システム、スイッチの制御方法及びプログラム
JP4025697B2 (ja) パケット転送装置およびその制御方法
JP2016225933A (ja) 制御装置、中継装置の制御方法、プログラム及び通信システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131204

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140819

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141020

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141124

R150 Certificate of patent or registration of utility model

Ref document number: 5664557

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees