[go: up one dir, main page]

JP2016019270A - 通信方法及び通信プログラム - Google Patents

通信方法及び通信プログラム Download PDF

Info

Publication number
JP2016019270A
JP2016019270A JP2014143206A JP2014143206A JP2016019270A JP 2016019270 A JP2016019270 A JP 2016019270A JP 2014143206 A JP2014143206 A JP 2014143206A JP 2014143206 A JP2014143206 A JP 2014143206A JP 2016019270 A JP2016019270 A JP 2016019270A
Authority
JP
Japan
Prior art keywords
network device
communication packet
terminal
information
communication
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.)
Withdrawn
Application number
JP2014143206A
Other languages
English (en)
Inventor
山島 弘之
Hiroyuki Yamashima
弘之 山島
鈴木 和宏
Kazuhiro Suzuki
和宏 鈴木
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2014143206A priority Critical patent/JP2016019270A/ja
Priority to US14/741,016 priority patent/US9654543B2/en
Publication of JP2016019270A publication Critical patent/JP2016019270A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/561Adding application-functional data or data for application control, e.g. adding metadata
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Library & Information Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】複数の物理マシン群を跨る形でシステムが構築された場合においても,最適な通信経路による通信を行うことができる。
【解決手段】第2の物理マシン群に配備され第1のセグメントに含まれる第1の端末から送信された通信パケットを受信した際に,受信した通信パケットの識別情報を記憶し,送信した通信パケットを,第2のセグメントを経由して第1のネットワーク装置から受信した場合,記憶した通信パケットの識別情報に基づき,第1の端末から送信された通信パケットを第1のネットワーク装置を経由せずに通信するように経路情報を更新し,第1の端末から第2の端末に向けた通信パケットまたは第2の端末から第1の端末に向けた通信パケットを受信した場合に,更新した経路情報に基づいて通信を行う。
【選択図】図9

Description

本発明は,通信方法及び通信プログラムに関する。
近年,物理マシンの性能向上に伴い,複数の仮想マシン(以下,VMとも呼ぶ)を1つの物理マシンに集約する仮想化技術の研究が進められている。この仮想化技術は,例えば,仮想化ソフトウエア(ハイパバイザ)が物理マシンを複数の仮想マシンに割当てて,各仮想マシンにインストールされたアプリケーションプログラム(以下,アプリケーションとも呼ぶ)によるサービスの提供を可能にする。
仮想マシンによるサービスを提供する事業者がシステムを構築する場合,システムを構築するために必要な情報を集合体であるテンプレートを予め用意しておく場合がある。このテンプレートは,例えば,事業者が過去に構築したシステムの情報に基づいて作成されるものである。事業者は,テンプレートに基づいてシステムを構築することにより,システム構築に要する時間や手間を削減することが可能になる。また,構築されたシステムによるサービスを提供する者(販売する者)が,テンプレートを用意する場合もある。
テンプレートに基づいてシステム構築を行う場合,データセンタ間の通信回線の負荷増大を防止するために,可能な限り近接して配備された物理マシン群(例えば,同一のデータセンタに配備された物理マシン群)において,システムを構築するのが一般的である。しかしながら,例えば,1つのデータセンタに配備された物理マシン群では,システムを構築するために必要なリソースを十分に確保できない場合がある。このような場合,事業者は,複数のデータセンタに配備された物理マシン群に跨る形でシステムを構築する必要がある。
また,複数のデータセンタに配備された物理マシン群に跨る形でシステムを構築した場合,データセンタ間を跨る通信が発生する。そのため,事業者は,テンプレートに情報が含まれていないファイアーウォール(以下,FWとも呼ぶ)やルータ等の機器を追加した状態でシステム構築を行う(例えば,特許文献1参照)。
特開2009−278277号公報
システムを構築するためのテンプレートは,1つのデータセンタ内に配備された物理マシン群によってシステムを構築することを前提としている場合がある。このようなテンプレートに基づいて複数のデータセンタに跨るシステムを構築した場合,例えば,システム内の仮想マシンのルーティング情報(以下,経路情報とも呼ぶ)は,システムが1つのデータセンタ内に構築されていることを前提として設定されている。そのため,仮想マシンの経路情報によっては,例えば,同じデータセンタ内に作成された仮想マシン間の通信であっても,他のデータセンタを経由して通信が行われる場合がある。すなわち,複数のデータセンタを跨る形でシステム構築が行われた場合,仮想マシン間の通信が最適な通信経路によって行われない場合があった。
そこで,一つの実施の形態の目的は,複数の物理マシン群を跨る形でシステムが構築された場合においても,適正化を図った通信経路による通信を行うことができる通信方法及び通信プログラムを提供することにある。
実施の形態の一つの側面によれば,第1のネットワーク装置を含む第1の情報処理システムの構成情報に基づいて構成され,前記第1のネットワーク装置が配備された第1の物理マシン群と,前記第1の情報処理システムに含まれない第2のネットワーク装置が配備された第2の物理マシン群とに跨って構築された第2の情報処理システムにおける通信方法であって,
前記第2のネットワーク装置は,前記第2の物理マシン群に配備され第1のセグメントに含まれる第1の端末から送信された通信パケットを受信した際に,該受信した通信パケットの識別情報を記憶し,
前記第2のネットワーク装置は,前記受信した通信パケットが第2のセグメントに含まれる第2の端末に向けた通信パケットである場合,前記第1の情報処理システムの構成情報に含まれる経路情報に基づき,前記第1の端末から受信した通信パケットを,前記第1のセグメントを経由して前記第1のネットワーク装置に送信し,
前記第2のネットワーク装置は,前記送信した通信パケットを,前記第2のセグメントを経由して前記第1のネットワーク装置から受信した場合,該受信した通信パケットを前記第2の端末に送信するとともに,前記記憶した通信パケットの識別情報に基づき,前記第1の端末から送信された通信パケットを前記第1のネットワーク装置を経由せずに通信するように前記経路情報を更新し,
前記第2のネットワーク装置は,前記第1の端末から前記第2の端末に向けた通信パケットまたは前記第2の端末から前記第1の端末に向けた通信パケットを受信した場合,前記更新した経路情報に基づいて通信を行う。
複数の物理マシン群を跨る形でシステムが構築された場合においても,適正化を図った通信経路による通信を行うことができる。
情報処理システムの全体構成を示す図である。 管理サーバとVMホストとのハードウエア構成を示す図である。 図2で示した管理サーバの機能ブロック図である。 図2で示したVMホストの機能ブロック図である。 仮想マシンから構成される情報処理システムを説明する図である。 テンプレートを用いて構築する情報処理システムを説明する図である。 テンプレートを用いて構築する情報処理システムを説明する図である。 テンプレートを用いて構築する情報処理システムを説明する図である。 第1の実施の形態における経路情報管理処理の概略を説明するシーケンスチャート図である。 第1の実施の形態における経路情報管理処理の概略を説明する図である。 第1の実施の形態における経路情報管理処理の詳細を説明するフローチャート図である。 第1の実施の形態における経路情報管理処理の詳細を説明するフローチャート図である。 第1の実施の形態における経路情報管理処理の詳細を説明するフローチャート図である。 第1の実施の形態における経路情報管理処理の詳細を説明する図である。 第1の実施の形態における経路情報管理処理の詳細を説明する図である。 第1の実施の形態における経路情報管理処理の詳細を説明する図である。 第1の実施の形態における経路情報管理処理の詳細を説明する図である。 第1の実施の形態における経路情報管理処理の詳細を説明する図である。 第1の実施の形態における経路情報管理処理の詳細を説明する図である。 第1の実施の形態における経路情報管理処理の詳細を説明する図である。 第1の実施の形態において経路情報が送信元端末のMACアドレスの項目を有しない場合を説明する図である。 第1の実施の形態におけるARP要求処理を含む経路情報管理処理を説明するフローチャート図である。 第1の実施の形態におけるARP要求処理を含む経路情報管理処理を説明するフローチャート図である。 第1の実施の形態におけるARP要求処理を含む経路情報管理処理を説明するフローチャート図である。 第1の実施の形態におけるARP要求処理を説明する図である。 第1の実施の形態におけるARP要求処理を説明する図である。 第1の実施の形態におけるARP要求処理を説明する図である。 第2の実施の形態における経路情報管理処理を説明する図である。 第2の実施の形態における経路情報管理処理を説明する図である。 第2の実施の形態における経路情報管理処理を説明する図である。
[情報処理システムの構成]
図1は,情報処理システムの全体構成を示す図である。図1に示す情報処理システム10において,管理サーバ1と,物理マシン2(以下,VMホスト2とも呼ぶ)とがデータセンタ8内に設けられている。そして,データセンタ8には,インターネットやイントラネット等のネットワークを介して,利用者端末9が接続可能になっている。
VMホスト2は,例えば,1台の物理マシンまたは複数の物理マシンから構成される。図1の例においては複数の物理マシンから構成されており,各物理マシンはCPUとメモリ(DRAM)とハードディスク(HDD)等の大容量メモリとネットワークとを有する。そして,各物理マシンのリソースは,複数の仮想マシン3(以下,端末3とも呼ぶ)に割当てられる。なお,VMホスト2は,例えば,物理マシンのリソースを割り当てて作成した仮想マシンを,仮想マシン3間の通信を制御する仮想ネットワーク装置(以下,単にネットワーク装置とも呼ぶ)として機能させる。
管理サーバ1は,仮想マシン3と通信可能であり,VMホスト2内に作成された仮想マシン3の管理を行うものである。管理サーバ1は,例えば,仮想マシン3によって作成されてもよい。
仮想マシン3は,例えば,そのインフラをネットワーク経由で利用者に提供するもの(以下,クラウドサービスとも呼ぶ)である。
クラウドサービスは,コンピュータシステムを構築し稼働させるための基盤,即ち,仮想マシン3やネットワーク等のインフラストラクチャそのものを,ネットワーク経由で提供するサービスである。また,利用者は,例えば,利用者端末9からポータルサイト7にアクセスして,仮想マシンに必要な仕様,例えばCPUのクロック周波数,メモリの容量(GB),ハードディスクの容量(MB/sec,IOPS),及びネットワークの通信帯域幅(Gbps)を選択し,それらについてクラウド利用契約を締結する。また,利用者端末9は,例えば,仮想マシン3の稼働状態の監視や,仮想マシン3に対する操作等を可能にする。
仮想化ソフトウエア4は,管理サーバ1からの指示に応じて,VMホスト2のCPU,メモリ,ハードディスク,ネットワークを割当てることにより,仮想マシン3を動作させる基盤ソフトウエアである。仮想化ソフトウエア4は,例えば,VMホスト2で動作する。
仮想マシン3は,VMホスト2のリソースが割当てられることに加えて,例えば,OS,ミドルウエア,アプリケーション,データベース等を有するイメージファイルをそのハードディスク内に有する。そして,仮想マシン3は,例えば,起動時にイメージファイルをハードディスクからメモリに書き込み,所望のサービスに対応する動作を行う。
図2は,管理サーバとVMホストとのハードウエア構成を示す図である。管理サーバ1は,プロセッサであるCPU(プロセッサ)101と,メモリ102と,外部インターフェース(I/Oユニット)103と,記憶媒体104を有する。各部は,バス105を介して互いに接続される。記憶媒体104は,例えば,記憶媒体104内のプログラム格納領域(図示しない)に,仮想マシン3の起動処理を行うためのプログラム110を記憶する。CPU101は,図2に示すように,プログラム110の実行時に,プログラム110を記憶媒体104からメモリ102にロードし,プログラム110と協働して仮想マシン3の起動処理等を行う。また,記憶媒体104は,例えば,仮想マシン3の起動等を行う際に用いられる情報を記憶する情報格納領域120を有する。
VMホスト2は,プロセッサであるCPU(プロセッサ)201と,メモリ202と,外部インターフェース(I/Oユニット)203と,記憶媒体204を有する。各部は,バス205を介して互いに接続される。記憶媒体204は,例えば,記憶媒体204内のプログラム格納領域(図示しない)に,各端末の経路情報を管理する処理(以下,経路情報管理処理とも呼ぶ)を行うためのプログラム210(以下,経路情報管理プログラム210とも呼ぶ)を記憶する。CPU201は,図2に示すように,プログラム210の実行時に,プログラム210を記憶媒体204からメモリ202にロードし,プログラム210と協働して各端末の経路情報を管理する処理を行う。また,記憶媒体204は,例えば,各端末の経路情報を管理する処理を行う際に用いられる情報を記憶する情報格納領域220を有する。
図3は,図2で示した管理サーバの機能ブロック図である。CPU101は,プログラム110と協働することにより,例えば,利用者管理部111と,仮想マシン作成部112と,仮想マシン起動部113と,仮想マシンシャットダウン部114と,仮想マシンマイグレーション部115として動作する。また,情報格納領域120には,例えば,利用者管理情報121と,仮想マシン管理情報122とが記憶されている。
利用者管理部111は,例えば,仮想マシン3の利用について契約を締結した利用者への課金処理等の管理を行う。また,仮想マシン作成部112は,例えば,クラウド契約に基づいて物理マシンのリソースを割当てて仮想マシン3を作成する。また,仮想マシン起動部113は,例えば,仮想マシン3の起動を仮想化ソフトウエア4に指示する。また,仮想マシンシャットダウン部114は,例えば,起動状態の仮想マシン3のシャットダウンを仮想化ソフトウエア4に指示する。また,仮想マシンマイグレーション部115は,例えば,仮想マシン3のマイグレーションを仮想化ソフトウエア4に指示する。
利用者管理情報121は,例えば,仮想マシン3と利用者とその契約等に関する管理情報である。また,仮想マシン管理情報122は,例えば,仮想化ソフトウエア4から報告される仮想マシン3の動作情報を含む管理情報である。
図4は,図2で示したVMホストの機能ブロック図である。VMホスト2のCPU201は,プログラム210と協働することにより,例えば,経路情報記憶部211と,パケット受信部212と,パケット送信部213と,経路情報更新部214と,トンネル作成部215として機能する。これらの機能は,例えば,VMホスト2内に配備された1つ以上のネットワーク装置(以下,端末とも呼ぶ)によって実現される。そのため,同一の機能を複数のネットワーク装置が有している構成であってもよい。ネットワーク装置は,例えば,複数のセグメント間において通信を行うルータである。このルータは,VMホスト2内に作成した仮想マシン3によってルータの機能を実現するものであってもよい。
また,図4において,情報格納領域220には,例えば,経路情報221が記憶されている。以下,VMホスト2に配備されたネットワーク装置が, 経路情報記憶部211と,パケット受信部212と,パケット送信部213と,経路情報更新部214と,トンネル作成部215とを実現する場合について説明する。
経路情報記憶部211は,例えば,VMホスト2内に配備されたネットワーク装置が受信した通信パケット(以下,パケットとも呼ぶ)に関する情報を記憶する。具体的に,経路情報記憶部211は,ネットワーク装置と通信可能なセグメント(以下,第1のセグメントとも呼ぶ)内の端末(以下,第1の端末とも呼ぶ)から,このネットワーク装置と通信可能な他のセグメント(以下,第2のセグメントとも呼ぶ)内の端末(以下,第2の端末とも呼ぶ)に向けた通信パケットを受信したときに,受信した通信パケットに関する情報(以下,データ通信パケットに関する情報,または通信パケットに関する識別情報とも呼ぶ)を記憶する(以下,通信パケットに関する情報に基づいて記憶された情報を経路情報221とも呼ぶ)。なお,通信パケットに関する情報は,例えば,通信パケットの送信元IPアドレスや送信先IPアドレスを含む。通信パケットに関する情報の詳細については後述する。
パケット受信部212は,例えば,第1の端末等から送信された通信パケットを受信する。また,パケット送信部213は,例えば,通信パケットの送信先IPアドレスを参照し,その送信先IPアドレスに通信パケットを送信する。
経路情報更新部214は,例えば,経路情報記憶部211によって記憶された経路情報221を更新する。経路情報更新部214は,経路情報221を更新することにより,例えば,端末間の通信がより短い経路を経由して行われるように設定する。
トンネル作成部215は,例えば,VMホスト2内の端末間の通信が他のVMホスト2を経由して行われている場合に,同一VMホスト2内の通信のみで(他のVMホスト2を経由することなく)端末間の通信を完了するために,通信トンネル(以下,トンネルとも呼ぶ)を作成する。トンネル作成部215は,例えば,経路情報更新部214が経路情報221を更新したことに応答して,通信トンネルの作成を行う。
通信トンネルは,例えば,ネットワーク上の2点間を結ぶ仮想的な通信回線である。具体的に,この通信トンネルを通過して送受信される通信パケットは,例えば,ネットワーク上の通信を行うためのプロトコルとは異なるプロトコルによって暗号化(カプセル化)された状態で通信する。そのため,通信トンネルを通過して送受信される通信パケットは,例えば,他のユーザが送信した通信パケットと物理的な通信回線を共有しながら通信を行う場合であっても,通信パケットの盗聴や改ざん等を防止することが可能になる。
[テンプレート]
次に,テンプレートについて説明する。図5は,仮想マシンから構成される情報処理システムを説明する図である。また,図6から図8は,テンプレートを用いて構築する情報処理システムを説明する図である。
図5の例における情報処理システム100(以下,第1の情報処理システムとも呼ぶ)は,例えば,事業者が過去に構築した情報処理システムである。図5の例においては,VMホスト2内のセグメントAには,仮想マシン3A,3B,3Cが配備されている。また,VMホスト2内のセグメントBには,仮想マシン3D,3E,3Fが配備されている。さらに,セグメントA及びセグメントBは,それぞれファイアーウォール5Aを接続しており,セグメントAの各仮想マシンとセグメントBの各仮想マシンとは,ファイアーウォール5Aを介して通信を行う必要がある。そのため,セグメントAの各仮想マシンとセグメントBの各仮想マシンとは,ファイアーウォール5Aの設定によって認められている場合に限り,通信を行うことが可能になる。
そして,例えば,利用者が利用者端末9から各仮想マシンにアクセスする場合,ファイアーウォール5Aを経由してアクセスを行う。これにより,各仮想マシンのセキュリティを確保することが可能になる。具体的に,例えば,利用者端末9がセグメントBに配備された仮想マシンにのみアクセス可能である場合に,利用者端末9からセグメントAに配備された仮想マシンに接続することを禁止することが可能になる。
図5に示すような情報処理システムにおいて,情報処理システムの用途によっては,同じ構成からなる情報処理システムを複数構築する必要がある場合がある。このような場合,事業者は,情報処理システム構築を行うためのテンプレートを用意する場合がある。テンプレートは,情報処理システムを構成するための情報の集合体である。具体的に,テンプレートは,例えば,仮想マシンの容量(GB),仮想マシンの数,OSの種類,インストールしているアプリケーションの情報,ネットワークの情報を含むものである。このテンプレートは,例えば,過去に構築されて安定稼動した実績のある情報処理システムに基づいて作成されるものであってよい。すなわち,事業者は,同じ構成からなる情報処理システムを複数構築する必要がある場合に,テンプレートを用いてシステム構築を行うことにより,システム構築に要する時間や手間を削減することが可能になる。
事業者がシステム構築を行う場合,通信回線の負荷増大等を防止するため,例えば,単一の物理マシンまたは同一データセンタや互いに近接した複数のデータセンタに配備された物理マシン群(以下,リージョンとも呼ぶ)において情報処理システム構築を行うことが好ましい。しかし,情報処理システムを構築するために使用可能なリソースが制限されている場合がある。このような場合,同一リージョン内で構築された情報処理システムに基づくテンプレートによって,複数のリージョンに跨る情報処理システムを構築する場合がある。
図6は,複数のリージョンに跨る情報処理システムを構築する場合の例である。具体的に,利用者が指定した図5に示した情報処理システム100に基づくテンプレート(以下,テンプレート,または構成情報とも呼ぶ)を用いて,図1から図4において説明した情報処理システム10上に,図5に示す情報処理システム100を構築する場合について説明する。
図6の例において,利用者端末9から利用者が選択したテンプレートの情報を管理サーバ1Cが受信したとき,管理サーバ1Cは,利用者が指定したテンプレートに基づく情報処理システム100を構築することができるリージョンを決定する。図6の例において,管理サーバ1Cは,例えば,リージョン8Aに配備されたVMホスト2A及びリージョン8Bに配備されたVMホスト2Bのリソース状況を管理する管理サーバ1A,1Bに,VMホスト2A及びVMホスト2Bのリソース状況取得依頼を送信する。そして,管理サーバ1Cは,管理サーバ1A,1Bから受信したリソース状況取得によって,情報処理システム100を構築可能であるリージョンを把握し,情報処理システム100を構築するリージョンを決定する。
ここで,図6の例において,例えば,リージョン8AのVMホスト2Aは仮想マシン3AのOSにバージョンに対応しておらず,リージョン8BのVMホスト2Bは仮想マシン3DのOSにバージョンに対応していない場合がある。すなわち,この場合,VMホスト2Aには仮想マシン3Aを配備することができず,VMホスト2Bには仮想マシン3Bを配備することができない。そのため,図6の例においては,情報処理システム100を単一のリージョン内に構築することができない。
図7は,図5で説明したテンプレートに基づいて,VMホスト2A及びVMホスト2Bに跨る形で情報処理システム100を構築した場合の例である。
図7の例においては,リージョン8A,8Bには,それぞれVMホスト2A,2Bが配備されている(以下,リージョン8A,8Bに跨る形で構築された情報処理システム100を第2の情報処理システムとも呼ぶ)。そして,VMホスト2A内のセグメントAには仮想マシン3Cが配備され,VMホスト2A内のセグメントBには仮想マシン3D,3Eが配備されている。さらに,VMホスト2A内のセグメントA及びセグメントBは,それぞれファイアーウォール5Aを接続しており,セグメントAの各仮想マシンとセグメントBの各仮想マシンとは,ファイアーウォール5Aを介して通信を行う必要がある。また,VMホスト2B内のセグメントAには仮想マシン3A,3Bが配備され,VMホスト2B内のセグメントBには仮想マシン3Fが配備されている。さらに,VMホスト2B内のセグメントA及びセグメントBは,それぞれファイアーウォール5Bと接続しており,セグメントAの各仮想マシンとセグメントBの各仮想マシンとは,ファイアーウォール5Bを介して通信を行う必要がある。
すなわち,図7の例における情報処理システムにおいて,リージョン8Aには,図5の例における情報処理システムに配備されているファイアーウォール5Aが配備されており,リージョン8Bには,図5の例における情報処理システムに配備されていないファイアーウォール5Bが配備されている。なお,ファイアーウォール5A,5Bは,図示しない通信回線によって,それぞれ外部(例えば,インターネットやイントラネット,利用者端末9)に接続している。
図7の例においては,情報処理システム100のテンプレートに基づいて,リージョン8A,8Bに跨る形で情報処理システム100を構築している。ここで,図7において,VMホスト2Aに配備された仮想マシン3Cと,VMホスト2Bに配備された仮想マシン3A,3Bは,同じセグメントAに配備された仮想マシンである。そのため,例えば,仮想マシン3Cがブロードキャストパケットを送信した場合,仮想マシン3A,3Bへ送信される必要がある。そのため,セグメント毎に,VMホスト2AとVMホスト2Bとの間の通信を可能にする必要がある。
具体的に,図8に示すように,VMホスト2A内のセグメントA,Bにそれぞれルータ6B,6Cを配備し,VMホスト2B内のセグメントA,Bにそれぞれルータ6A,6Dを配備する。そして,ルータ6Aとルータ6Bとの間の通信を可能にするトンネルAと,ルータ6Cとルータ6Dとの間の通信を可能にするトンネルBとを設定する。そして,例えば,ルータ6Aが仮想マシン3Aから仮想マシン3Cに向けた通信パケットを受信した場合,トンネルAを介して受信した通信パケットをルータ6Bに送信するようにルータ6Aに設定する。また,同様の設定を,ルータ6B,6C,6Dについても行う。これによって,各仮想マシンが配備されているリージョンの違いを意識することなく,同一セグメント内に配備された仮想マシン間で通信を行うことが可能になる。なお,図8の例において,図4で説明した経路情報記憶部211,パケット受信部212,パケット送信部213,経路情報更新部214,トンネル作成部215,経路情報221は,ルータ6A,6B,6C,6Dのそれぞれが有しているものとして説明を行う。また,トンネルA,Bは,異なるセグメントを跨がないトンネルであるため,例えば,送信元端末のIPアドレス,MACアドレス,送信先端末のIPアドレス,MACアドレスを含む情報をカプセル化して通信パケットに付加するL2トンネルである。
ここで,図5における情報処理システム100において,例えば,仮想マシン3Aが配備されているセグメントは,仮想マシン3Fが配備されているセグメントと異なっている。そのため,仮想マシン3Aには,仮想マシン3Fに通信する際においては,ファイアーウォール5Aに向けて通信を行うように設定されている。すなわち,情報処理システム100においては,セグメントが異なる仮想マシンに通信を行うときには,デフォルトルーティングであるファイアーウォール5Aを介して通信が行われる。
また,図8における情報処理システム100は,情報処理システム100のテンプレートに基づいて構築されている。そのため,図8における仮想マシン3Aが仮想マシン3Fに通信する場合,ファイアーウォール5Aに向けて通信を行うように設定されている。具体的に,図8の例において,仮想マシン3Aが仮想マシン3Fに向けて通信を行う場合,仮想マシン3Aから送信された通信パケットは,(1)ルータ6A,(2)トンネルA,(3)ルータ6B,(4)ファイアーウォール5A,の順に通信を行う。そして,仮想マシン3Aから送信された通信パケットは,ファイアーウォール5AによってVMホスト2A内のセグメントBに送信された後,(5)ルータ6C,(6)トンネルB,(7)ルータ6D,(8)仮想マシン3F,の順に通信を行う。すなわち,図8の例において,仮想マシン3Aと仮想マシン3Fは,同じVMホスト2Bに配備された仮想マシンであるにもかかわらず,VMホスト2Aを経由して通信を行う設定になっている。
これに対し,例えば,仮想マシン3Aから仮想マシン3Fに向けた通信が,ファイアーウォール5Aに向けて通信しないように仮想マシン3Aの設定を変更する方法が考えられる。具体的に,例えば,仮想マシン3Aから仮想マシン3Fに向けた通信がファイアーウォール5Bに向けて通信を行うように,仮想マシン3Aに設定を行う。これにより,仮想マシン3Aから仮想マシン3Fに向けた通信は,ファイアーウォール5Bを介して仮想マシン3Fに向けて通信を行うことが可能になる。そのため,VMホスト2Aを経由することなく仮想マシン3Aから仮想マシン3Fに向けた通信を行うことが可能になる。しかし,図5に示す情報処理システム100のテンプレートに情報が含まれる端末は,利用者によって選択されたものである。そのため,事業者がこれらの設定の変更を行うことができない場合がある。すなわち,図8の例において,事業者は,仮想マシン3A,3B,3C,3D,3E,3F,ファイアーウォール5Aの設定の変更を行うことができない。
一方,図8の情報処理システム100において,ファイアーウォール5B,ルータ6A,6B,6C,6Dについては,情報処理システム100のテンプレートに含まれる情報ではない。すなわち,事業者は,ファイアーウォール5B,ルータ6A,6B,6C,6Dについては,その設定の変更を行うことが可能である。そのため,事業者は,例えば,同一VMホスト内の異なるセグメント間で行われる通信を全て予測し,これらの通信が同一VMホスト内の通信のみで完結するように,ルータ6A等に予め設定を行うことが可能である。しかし,ネットワークの規模によっては,設定に膨大な時間と手間を要する場合がある。さらに,図8の示すような情報処理システム100では,運用状況の変化等に応じて,例えば,あるVMホストに作成されている仮想マシンを別のVMホストに移行させるマイグレーションが実施される場合がある。そのため,事業者は,マイグレーション等が実施されることによって情報処理システム100の構成が変更する毎に,再度設定を行う必要がある。
そこで,本実施の形態では,複数のリージョンに跨って構築された情報処理システムにおいて,同一リージョン内の通信が他のリージョンを経由して行われた場合に,その通信が他のリージョンを経由しないように経路情報を更新し,通信の効率化を図る。
[第1の実施の形態]
最初に第1の実施の形態について説明する。図9は,第1の実施の形態における経路情報管理処理の概略を説明するシーケンスチャート図である。また,図10は,第1の実施の形態における経路情報管理処理の概略を説明する図である。図10を参照しながら,図9の経路情報管理処理の概略を説明する。
[図10の情報処理システムの構成]
初めに,図10の例における情報処理システム100の構成について説明する。図10の例においては,図8の場合と異なり,ファイアーウォール5A(以下,第1のネットワーク装置5Aとも呼ぶ)が,ルータ6B,6Cの役割も担っており,ファイアーウォール5B,ルータ6A,6Dに代わってネットワーク装置5D(以下,第2のネットワーク装置5Dとも呼ぶ)が配備されている場合について説明する。すなわち,図10においては,単一の機器であるネットワーク装置5Dによって,ファイアーウォール5B,ルータ6A,6Dの機能を発揮する。なお,ファイアーウォール5Aが利用者の管理下にある等の理由により,ルータ6B,6Cの役割を果たすことができない場合(設定変更等ができない場合)には,図8に示すように,ルータ6B,6Cを配備するものであってもよい。
ネットワーク装置5A,5Dには,図8の場合と同様に,トンネルAとトンネルBとが設定されている。そして,例えば,ネットワーク装置Dには,リージョン8B(以下,第2の物理マシン群とも呼ぶ)に配備されたセグメントA内の端末が,トンネルAを介してリージョン8Aと通信を行うための経路情報(以下,第1の経路情報とも呼ぶ)が記憶されている。この第1の経路情報には,例えば,リージョン8Bに配備されたセグメントA内の端末が,リージョン8Bに配備されたセグメントB内の仮想マシンやリージョン8A(以下,第1の物理マシン群とも呼ぶ)に配備された端末と通信する場合,トンネルAを介してリージョン8Aと通信を行うように記憶されている。また,例えば,ネットワーク装置Dには,リージョン8Bに配備されたセグメントB内の端末が,トンネルBを介してリージョン8Aと通信を行うための経路情報(以下,第2の経路情報とも呼ぶ)が記憶されている。この第2の経路情報には,例えば,リージョン8Bに配備されたセグメントB内の端末が,リージョン8Bに配備されたセグメントA内の仮想マシンやリージョン8Aに配備された端末と通信する場合,トンネルBを介してリージョン8Aと通信を行うように記憶されている。すなわち,図10の例においては,図8で説明した場合と同様に,異なるリージョンに配備された同一セグメント内の端末の通信は,セグメント毎に記憶された経路情報に基づいてトンネルAまたはトンネルBを介して行われる。
また,ネットワーク装置5Aには,ネットワーク装置5Dと同様に,リージョン8Aに配備されたセグメントA内の端末が,トンネルAを介してリージョン8Bと通信を行うための経路情報が記憶されている。さらに,リージョン8Aに配備されたセグメントB内の端末が,トンネルBを介してリージョン8Bと通信を行うための経路情報が記憶されている。
なお,図10の情報処理システム100は,図8で説明した場合と同様に,情報処理システム100のテンプレートに基づいて構築されている。そのため,情報処理システム100のテンプレートに情報が含まれる端末(ネットワーク装置5A,仮想マシン3A,3B,3C,3D,3E,3F)には,図5のおける情報処理システム100と同じ設定がされている。したがって,各端末が異なるセグメントに配備された端末に通信を行う場合には,全てネットワーク装置5Aを経由して通信が行われる。
[図9のS1]
次に,図10の情報処理システム100を参照しながら,図9の経路情報管理処理の概略を説明する。図9の例においては,リージョン8Bに配備された仮想マシン3Aから仮想マシン3Fに向けて通信パケットを送信する場合について説明する。
初めに,仮想マシン3Aは,仮想マシン3Aから仮想マシン3Fに向けた通信パケットを送信する(S1)。具体的に,仮想マシン3Aは,同一セグメントであるセグメントAに配備された端末の全てに通信パケットをブロードキャスト送信する。これにより,ネットワーク装置5Dは,仮想マシン3Aが送信した通信パケットを受信することができる。
[図9のS2,S3,S4]
次に,ネットワーク装置5Dは,仮想マシン3Aから仮想マシン3Fに向けた通信パケットを受信したとき,その通信パケットに関する情報を記憶する(S2)。通信パケットに関する情報は,例えば,通信パケットの送信元IPアドレスや送信先IPアドレスを含む情報であり,その通信パケットを特定することができる情報である。この通信パケットに関する情報の詳細については後述する。そして,ネットワーク装置5Dは,受信した通信パケットをリージョン8Aに向けて送信する(S3)。図10の例においては,ネットワーク装置5Dは,トンネルAを経由してリージョン8Aに配備されたネットワーク装置5Aと接続している。したがって,ネットワーク装置5Dは,例えば,テンプレートに含まれる経路情報(第1の経路情報及び第2の経路情報)に基づき,ネットワーク装置5Aに向けて仮想マシン3Aから受信した通信パケットを送信する。
そして,ネットワーク装置5Aは,通信パケットの送信先IPアドレスを確認し,仮想マシン3Fが配備されているリージョン8BにおけるセグメントBに向けて通信パケットを送信する(S4)。具体的に,ネットワーク装置5Aは,受信した通信パケットをトンネルBに送信する。
[図9のS5,S6]
次に,ネットワーク装置5Dは,ネットワーク装置5Aから通信パケットを受信したときに,その受信した通信パケットがS3においてネットワーク装置5Dが送信した通信パケットであるか否かを確認する。そして,受信したパケットがネットワーク装置5Dによって送信されたパケットである場合,ネットワーク装置5Dは,その通信パケットがリージョン8Aを経由して送信された通信パケットであると判断する。
具体的に,ネットワーク装置5Dは,S2において記憶した通信パケットに関する情報に基づいて,受信したパケットがネットワーク装置5Dによって送信されたパケットであるか否かを判断する。そして,ネットワーク装置5Dは,受信した通信パケットに対応する通信パケットに関する情報が記憶されている場合に,仮想マシン3Aから仮想マシン3Fに送信される通信パケットがリージョン8Aを経由せずに通信するように,経路情報を更新する(S5)。その後,ネットワーク装置5Dは,仮想マシン3Fに受信した通信パケットを送信する(S6)。すなわち,例えば,ネットワーク装置5Dは,仮想マシン3Aから受信した通信パケットをリージョン8Aに送信することなく仮想マシン3Fに送信するように,経路情報を更新する。そして,ネットワーク装置5Dは,仮想マシン3Aから仮想マシン3Fに送信される通信パケットを再度受信した場合に,更新した経路情報に基づいて通信を行う。また,ネットワーク装置5Dは,上記のように経路情報を更新した後,仮想マシン3Fから仮想マシン3Aに送信される通信パケットを受信した場合についても,更新した経路情報に基づき,リージョン8Aを経由せずに通信を行うものであってよい。
すなわち,ネットワーク装置5Dは,受信したパケットがネットワーク装置5Dによって送信されたパケットであると判断した場合,通信パケットの送信元(仮想マシン3A)と送信先(仮想マシン3F)とが同じリージョン内に配備された端末であると判断する。さらに,ネットワーク装置5Dは,受信した通信パケットが,通信パケットの送信元と送信先とが同じリージョン内に配備された端末であるにもかかわらず,他のリージョンを経由して通信が行われたと判断する。そして,この通信パケットと同じ送信元と送信先による通信パケットを再度受信した場合,ネットワーク装置5Dは,同じリージョン内における通信のみで通信パケットの送受信を完了することができるように経路情報の更新を行う。
このように,第1の実施の形態によれば,ネットワーク装置5Dは,仮想マシン3Aから仮想マシン3Fに向けた通信パケットを受信したとき,受信したパケットに関する情報を記憶する。そして,ネットワーク装置5Dは,仮想マシン3Aから受信した通信パケットを,テンプレートに含まれる経路情報に基づいてリージョン8Aに送信する。次に,ネットワーク装置5Dは,ネットワーク装置5Dが送信した通信パケットをネットワーク装置5Aから受信した場合に,以降の仮想マシン3Aから仮想マシン3Fに向けた通信パケットがリージョン8Aを経由せずに通信するように,記憶した通信パケットに関する情報に基づいて経路情報を更新する。そして,ネットワーク装置5Dは,移行の仮想マシン3Aから仮想マシン3Fに向けた通信パケットを受信した場合,更新した経路情報に基づいて通信を行う。これにより,同一リージョンに構築することを前提としたテンプレートに基づいて情報処理システム100を構築した場合においても,不必要な通信の発生を抑制することが可能になる。そして,通信の効率化を図ることが可能になる。また,事業者は,マイグレーション等により情報処理システム100の構成が変更された場合においても,経路情報の変更を行う必要がなくなる。
[第1の実施の形態の詳細]
次に,第1の実施の形態の詳細について説明する。図11から図13は,第1の実施の形態における経路情報管理処理の詳細を説明するフローチャート図である。また,図14から図20は,第1の実施の形態における経路情報管理処理の詳細を説明する図である。図14から図20を参照しながら,図11から図13の経路情報管理処理の詳細を説明する。具体的に,以下の例においては,図14のルータ6A(以下,第3のネットワーク装置6Aとも呼ぶ)及びルータ6D(以下,第4のネットワーク装置6Bとも呼ぶ)の例において行われる経路情報管理処理について説明する。なお,図11から図13は,ルータ6A及びルータ6Dのそれぞれにおける経路情報管理処理のフローチャートである。
図14の情報処理システム1000は,図8の例と異なり,リージョン8A,8B内にセグメントCが存在している。リージョン8AにおけるセグメントCには,ルータ6E及び仮想マシン3Gが配備され,リージョン8BにおけるセグメントCには,ルータ6F及び仮想マシン3Hが配備されている。そして,ルータ6Eとルータ6Fとの間にはトンネルCが設定されている。また,図14において点線で示すトンネルDは,第1の実施の形態における経路情報管理処理によって,ルータ6Aとルータ6Bとの間で設定しようとしているトンネルである。
なお,以下の例において,仮想マシン間で通信されるデータを含むパケットをデータ通信パケットと呼び,ルータやファイアーウォール間で通信される通信パケットに関する情報(送信元端末のIPアドレス等)を含むパケットを通知パケットと呼ぶ。また,データ通信パケットと通知パケットとを総称してパケットまたは通信パケットとも呼ぶ。
[ルータ6Aがデータ通信パケットを受信した場合の処理]
初めに,図11を参照して,ルータ6Aがデータ通信パケットを受信した場合のルータ6Aの処理について説明する。図14のルータ6Aがデータ通信パケットを受信した場合(S11のYES,S12のNO),ルータ6Aは,そのデータ通信パケットが同一リージョンからの送信されたデータ通信パケットであるか否かを確認する(S13)。そして,受信したデータ通信パケットが同一リージョンからの送信されたパケットである場合(S13のYES),ルータ6Aは,ルータ6Aの経路情報を確認し,受信したデータ通信パケットにおける送信先端末及び送信元端末のIPアドレスの組合せが登録有無を確認する(S14)。 そして,受信したデータ通信パケットの送信先端末及び送信元端末のIPアドレスの組合せが登録されていない場合(S14のNO),ルータ6Aの経路情報記憶部211は,例えば,受信したデータ通信パケットに関する情報を記憶する。具体的に,経路情報記憶部211は,例えば,受信したデータ通信パケットに関する情報と,同一リージョン内における他のセグメントの識別情報とを関連付けて経路情報に記憶する(S16)。他のセグメントの識別情報は,例えば,他のセグメントの名称や他のセグメントに配備されたルータの名称であってよい。なお,ルータ6Aは,同一リージョン内における他のセグメントに配備された端末,または他のリージョンに配備された端末に向けてデータ通信パケットを受信した場合に,受信したデータ通信パケットに関する情報を記憶するものであってもよい。
図15は,ルータ6A及びルータ6Dの経路情報の初期値を説明する図である。なお,図14におけるルータ6Aの経路情報及びルータ6Dの経路情報は,それぞれ図9における第1の経路情報及び第2の経路情報に対応する。
図15(A)の例におけるルータ6Aの経路情報は,例えば,「ルータID」,「送信先端末のIPアドレス」,「トンネルID」,「送信元端末のIPアドレス」,「送信元端末のMACアドレス」,「タイマ」の項目を有している。「ルータID」,「トンネルID」,「タイマ」については後述する。また,図15(A)の例において,「送信先端末のIPアドレス」,「送信元端末のIPアドレス」,「送信元端末のMACアドレス」は,データ通信パケットに関する情報に含まれる。すなわち,「送信先端末のIPアドレス」,「送信元端末のIPアドレス」,「送信元端末のMACアドレス」は,各ルータがデータ通信パケットを受信したときに記憶される。
具体的に,図15(A)の例におけるルータ6Aの経路情報の1行目(以下,項目「番号」に従い,1番目の経路情報とも呼ぶ)には,「送信先端末のIPアドレス」の欄に*が記憶されており,「トンネルID」の欄にトンネルAが記憶されている。すなわち,図15(A)の例における1番目の経路情報は,図14の例において,ルータ6Aと同一リージョンに配備された同一セグメント内の仮想マシンから受信したデータ通信パケットは,トンネルAを介してルータ6Bに送信されることを示している。
また,図15(A)における2,3番目の経路情報の「ルータID」の欄には,リージョン8Bに存在するルータ6A以外のルータであるルータ6D及びルータ6Fの名称が記憶されている。すなわち,事業者は,ルータ6Aが受信したデータ通信パケットによってルータ6Aとトンネルを作成する可能性があるルータの情報を,ルータ6Aの経路情報に予め記憶させておく。
なお,図15(A)の例においては,「ルータID」の欄に,トンネルに接続しているルータ(他のリージョンと通信する際に経由するルータ)の名称が記憶されている。これに対し,各ルータの経路情報は,例えば,「ルータID」に代えて,各リージョン内に存在するセグメントの名称を記憶する「セグメントID」を有するものであってもよい。以下,「ルータID」及び「セグメントID」をセグメントの識別情報(第1のセグメントの識別情報または第2のセグメントの識別情報)とも呼ぶ。
同様に,図15(B)の例におけるルータDの1番目の経路情報には,「送信先端末のIPアドレス」に*が記憶されており,「トンネルID」にトンネルBが記憶されている。また,図15(B)の例における2,3番目の経路情報の「ルータID」の欄には,ルータ6Dと同一リージョン内に存在するルータの名称であるルータ6A及びルータ6Fが記憶されている。
次に,図16は,仮想マシン3Aから仮想マシン3Fに向けたデータ通信パケットを,ルータ6Aが受信した場合におけるルータ6A及びルータ6Dの経路情報を説明する図である。図15(A)の例において,ルータ6Aが受信したデータ通信パケットの送信元端末である仮想マシン3Aと送信先端末である仮想マシン3Dとの組合せについての情報は,ルータ6Aの経路情報に記憶されていない。また,仮想マシン3Aとルータ6Aとは同一リージョンである。そのため,経路情報記憶部211は,ルータ6Aが受信したデータ通信パケットに関する情報を記憶する(S11のYES,S12のNO,S13のYES,S14のNO,S16)。
図16(A)において,経路情報記憶部211は,ルータ6D及びルータ6Fの識別情報として「ルータID」に記憶したルータ6D及びルータ6Fのそれぞれに関連付けて,仮想マシン3Aから受信したデータ通信パケットに関する情報を記憶する(図16(A)の4,5番目の経路情報)。具体的に,ルータ6D及びルータ6Fのそれぞれに関連付けて,「送信先端末のIPアドレス」として仮想マシン3FのIPアドレスであるVM3F−IPと,「トンネルID」であるトンネルAとを記憶する。さらに,ルータ6D及びルータ6Fのそれぞれに関連付けて,「送信元端末のIPアドレス」として仮想マシン3AのIPアドレスであるVM3A−IPと,「送信元端末のMACアドレス」として仮想マシン3AのMACアドレスであるVM3A−MACとを記憶する(S16)。
図11に戻り,ルータ6Aのパケット送信部213は,他のセグメントにデータ通信パケットに関する情報を含む登録通知パケットを送信する(S17)。具体的に,パケット送信部213は,図16(A)に記憶した経路情報のうち,ルータ6Dに関する情報(図16(A)の4番目の経路情報)をルータ6Dに送信し,ルータ6Fに関する情報(図16(A)の5番目の経路情報)をルータ6Fに送信する。登録通知パケットは,通知パケットの1つであり,データ通信パケットを受信したルータが,同一リージョン内に配備された他のルータにその旨を通知するためのパケットである。
具体的に,図17の例において,ルータ6Aは,例えば,仮想マシン3Aからデータ通信パケットを受信したときに,図17(A)の4,5番目の経路情報に記憶したデータ通信パケットの「送信先端末のIPアドレス」,「送信元端末のIPアドレス」,「ルータID」を含む登録通知パケットを作成する。そして,ルータ6Aは,作成した登録通知パケットをルータ6D及びルータ6Fに送信する。
すなわち,ルータ6Aは,同一リージョン内に配備された他のルータに記憶したデータ通信パケットに関する情報を送信する。これにより,同一リージョン内に配備された他のルータは,同一リージョン内に配備されたルータ6Aが送信したデータ通信パケットが他のリージョンを経由して送信された場合に,これを検知することが可能になる。
そして,パケット送信部213は,受信したデータ通信パケットを経路情報に従って送信する(S18)。すなわち,パケット送信部213は,図17(A)の1番目の経路情報に従い,仮想マシン3Aから受信したパケットをトンネルAに送信する。
一方,ルータ6Aが受信したデータ通信パケットの送信元端末及び送信先端末のIPアドレスの組合せが,ルータ6Aの経路情報に登録されている場合(S14のNO),パケット送信部213は,登録済の送信先端末のIPアドレスに対応する経路情報に基づいてデータ通信パケットを送信する(S15)。この場合,ルータ6Aは,登録通知パケットの送信を行わない。
[ルータ6Dが登録通知パケットを受信した場合の処理]
次に,図11及び図12を参照して,ルータ6Aから登録通知パケットを受信した場合のルータ6Dの処理について説明する。図11及び図12において,ルータ6Dが同一リージョンのルータ6Aから登録通知パケットを受信した場合(S11のYES,S12のYES,S21のNO),ルータ6Dの経路情報記憶部211は,受信した登録通知パケットに関する情報をルータDの経路情報に記憶する(S24)。
具体的に,登録通知パケットを受信したルータ6Dは,図17(B)の4番目の経路情報に示すように,例えば,登録通知パケットに含まれる「ルータID」であるルータ6Aを,ルータ6Dの経路情報における「ルータID」に記憶する。そして,記憶した「ルータID」に関連付けて,登録通知パケットに含まれる「送信先端末のIPアドレス」であるVM3F−IPを,ルータ6Dの経路情報における「送信元端末のIPアドレス」に記憶する。さらに,記憶した「ルータID」に関連付けて,登録通知パケットに含まれる「送信元端末のIPアドレス」であるVM3A−IPを,ルータ6Dの経路情報における「送信先端末のIPアドレス」に記憶する。すなわち,ルータ6Dに登録通知パケットに関する情報を記憶しておくことにより,ルータ6Dがルータ6Aから送信されたデータ通信パケットを受信したときに,ルータ6A及びルータ6Dの経路情報を更新する契機とすることが可能になる。
また,ルータ6Dは,登録通知パケット受信したときに,「タイマ」の項目をONにする。すなわち,ルータ6Aは,同一リージョン内に存在する他のルータの全てに登録通知パケットを送信するため,他のルータは,記憶した登録通知パケットに関する情報に対応したデータ通信パケットを受信しない場合がある。そのため,他のルータは,登録通知パケットを受信した後,記憶した登録通知パケットに関する情報に対応したデータ通信パケットを受信する前に,所定時間(例えば1分)が経過した場合,ルータ6Dの経路情報に記憶した登録通知パケットに関する情報を消去するものであってよい。
[ルータ6Dがデータ通信パケットを受信した場合の処理]
次に,図11及び図13を参照して,ルータ6Dがルータ6Aにより送信されたデータ通信パケットを受信した場合の処理について説明する。
図11及び図13において,ルータ6Dが異なるリージョンからデータ通信パケットを受信した場合(S11のYES,S12のNO,S13のNO),ルータ6Dのパケット受信部212は,受信したデータ通信パケットがルータ6Dの経路情報に登録されているか否かを判断する(S31)。図17(B)の例においては,ルータ6Aが送信した登録通知パケットに関する情報がルータ6Dの経路情報に記憶されている(S31のYES)。そのため,ルータ6Dのパケット送信部213は,登録通知パケットに関する情報において記憶されているルータ6Aに向けて,トンネル作成通知パケットを送信する(S32)。そして,ルータ6Dのトンネル作成部215は,トンネル作成通知パケットを送信したルータ6Aとルータ6Dとの間でトンネルを作成し(S33),ルータ6Dの経路情報記憶部211は,作成したトンネルに関する情報をルータ6Dの経路情報に記憶する。
具体的に,ルータ6Dは,図18(B)に示すように,トンネルを作成した経路情報(図18(B)の4番目の経路情報)の「トンネルID」の欄に,作成したトンネル(トンネルD)の情報を記憶する(S34)。トンネル作成通知パケットは,通知パケットの1つであり,同一リージョン内に配備された他のルータに,そのルータに向けてトンネルの設定を行う旨を通知するものである。そして,トンネル作成通知パケットを受信したルータは,トンネル作成通知パケットを送信したルータに向けてトンネルの設定を行う。これにより,トンネル作成通知パケットの送受信を行ったルータ間でトンネルの設定を行うことが可能になる。なお,ルータ6Dのパケット送信部213は,受信したデータ通信パケットがルータ6Dの経路情報に登録されている場合であっても,その経路情報の「トンネルID」が未登録である場合に限り,トンネル作成通知パケットを送信するものであってよい(S32)。
図13に戻り,ルータ6Dの経路情報記憶部211は,ルータ6Dが受信したデータ通信パケットに関する経路情報に,「送信先端末のMACアドレス」を記憶する(S35)。具体的に,図19(B)に示すように,トンネルを作成した経路情報(図19(B)の4番目の経路情報)における「送信元端末のMACアドレス」の欄に,ルータ6Dが受信したデータ通信パケットの「送信先端末のMACアドレス」としてVM3F−MACの情報を記憶する。
すなわち,例えば,ルータ6Aとルータ6Dとの間にトンネルを作成後,再度仮想マシン3Aから仮想マシン3Fに向けてデータ通信パケットが送信する場合,仮想マシン3Aと仮想マシン3Fとはセグメントが異なるため,互いにARP要求が届かない。そのため,ルータ6Dは,仮想マシン3Aから仮想マシン3Fに向けたデータ通信パケットの送信に際して,ARP要求を送信して仮想マシン3FのMACアドレスを取得する必要がある。そこで,図19(B)の例におけるルータ6Dは,仮想マシン3Aと仮想マシン3Fとの間のトンネルに関する経路情報に,仮想マシン3FのMACアドレスの情報を関連付けて記憶しておく。これにより,ルータ6Dは,仮想マシン3Aからのデータ通信パケットを受信したときに,ARP要求を行うことなくデータ通信パケットのMACアドレスの書き換えを行うことが可能になる。また,図19(A)に示すように,仮想マシンAから送信されたデータ通信パケットをルータ6Aが受信したときも,上記と同様の理由により,ルータ6Aの経路情報(4,5番目の経路情報)に「送信元端末のMACアドレス」を記憶する。
図13に戻り,さらに,ルータ6Dの経路情報記憶部211は,ルータ6Dが受信したデータ通信パケットに関する経路情報に記憶されたタイマを消去(解除)する(S36)。これにより,仮想マシン3Aと仮想マシン3Fとの間で作成したトンネルに関する経路情報が消去されることを防止することができる。そして,ルータ6Dのパケット送信部213は,リージョン8Aから受信したデータ通信パケットをデータ通信パケットに含まれる送信先端末のIPアドレスに送信する(S37)。
[ルータ6Aがトンネル作成通知パケットを受信した場合の処理]
次に,図11及び図12を参照して,ルータ6Aがルータ6Dにより送信されたトンネル作成通知パケットを受信した場合の処理について説明する。
図11及び図12において,ルータ6Dが異なるリージョンからトンネル作成通知パケットを受信した場合(S11のYES,S12のYES,S21のYES),ルータ6Aのトンネル作成部215は,トンネル作成通知を送信したルータ6Dとルータ6Aとの間にトンネルを作成する(S22)。そして,ルータ6Aの経路情報記憶部211は,作成したトンネルに関する情報を経路情報に記憶し,同じデータ通信パケットで作成した他のルータに関する経路情報を削除する(S23)。具体的に,図20(A)に示すように,ルータ6Dが「トンネルID」の欄の設定を行った経路情報(図20(B)の4番目の経路情報)に対応するルータAの経路情報(図20(A)の4番目の経路情報)における「トンネルID」の欄をトンネルDに更新する。そして,トンネル作成通知パケットを送信したルータ6Dのトンネル作成部215が行ったトンネルの設定を合わせて,ルータ6Aとルータ6D間のトンネルの設定が完了する。なお,ルータ6A及びルータ6Dは,配備されているセグメントが異なるため,設定したトンネルDは,例えば,送信元端末及び送信先端末のIPアドレスを含む情報(MACアドレスを含まない情報)をカプセル化して通信パケットに付加するL3トンネルである。
これにより,図20(A)に示すように,仮想マシン3Aから仮想マシン3Fに向けたデータ通信パケットが再度発生した場合に,ルータ6Aは,そのデータ通信パケットをルータ6Aとルータ6Dとの間で設定したトンネルDに送信する。また,図20(B)に示すように,仮想マシン3Fから仮想マシン3Aに向けたデータ通信パケットをルータ6Dが受信した場合においても,ルータ6Dは,そのデータ通信パケットをトンネルDに送信する。すなわち,今後発生した仮想マシン3Aと仮想マシン3Fとの間を通信するデータ通信パケットが,リージョン8Aを経由して通信することを防ぐことが可能になる。
なお,図17(B)において,ルータ6Dは,受信した登録通知パケットの「送信先端末のIPアドレス」と「送信元端末のIPアドレス」とを入れ替える形でルータ6Dの経路情報(図17(B)の4番目の経路情報)に記憶した。これにより,仮想マシン3Aから仮想マシン3Fに向けたデータ通信パケットに基づいてトンネルの設定を行うことで,仮想マシン3Fから仮想マシン3Aに向けたデータ通信パケットについてのトンネルの設定も同時に行うことが可能になる。具体的に,図20(B)に示すように,仮想マシン3Fから仮想マシン3Aに向けたデータ通信パケットが発生した場合に,ルータ6Fがそのデータ通信パケットをトンネルDに送信するように,ルータ6Dの経路情報(図20(B)の4番目の経路情報)が設定されている。
[経路情報が送信元端末のMACアドレスの項目を有しない場合]
次に,経路情報が送信元端末のMACアドレスの項目を有しない場合について説明する。図21は,第1の実施の形態において経路情報が送信元端末のMACアドレスの項目を有しない場合を説明する図である。
図21において,仮想マシン3Aから仮想マシン3Fに向けた通信パケットによって,仮想マシン3Aから仮想マシン3Fに送信する場合の経路情報(図21(A)の4番目の経路情報)が記憶されている。ここで,仮想マシン3Bは,仮想マシン3Aと同一リージョンであって同一セグメントに配備されているため,仮想マシン3Bから仮想マシン3Fへの通信パケットを,更新された経路情報(図21(A)の4番目の経路情報)に基づいて送信することが可能である。すなわち,経路情報が「送信元端末のMACアドレス」を記憶しない場合,経路情報は,送信元端末を特定するための情報を記憶する必要はなくなるため,送信元端末のリージョン及びセグメントの情報のみを記憶する。これにより,経路情報に記憶された送信元端末と同一リージョンであって同一セグメントに配備された送信元端末から,その経路情報に記憶されている送信先端末へ通信を行う場合においても,記憶されている経路情報に基づいて通信を行うことができる。そのため,図15等で説明した経路情報管理処理を行う回数を抑制することが可能になる。また,端末単位での経路情報を記憶する必要がなくなるため,経路情報に記憶すべき情報量も抑制することが可能になる。
なお,経路情報が「送信元端末のMACアドレス」の項目を有しない場合,図11において,各ルータの経路情報記憶部211は,経路情報に対して「送信元端末のMACアドレス」の記憶を行う必要はない(S16)。また,図13において,各ルータの経路情報記憶部211は,経路情報への送信先端末のMACアドレスの記憶を行う必要はない(S35)。
[ARP要求処理]
次に,ARP要求処理について説明する。図22から図24は,第1の実施の形態におけるARP要求処理を含む経路情報管理処理を説明するフローチャート図である。また,図25から図27は,第1の実施の形態におけるARP要求処理を説明する図である。図25から図27を参照しながら,図22から図24のARP要求処理を説明する。
なお,図22から図24までのフローチャートは,図11から図13までのフローチャートにARP要求処理に関する部分を追加したものである。以下,図11から図13までのフローチャートと異なる点について説明する。
図25に示す情報処理システム20は,図14に示す情報処理システム1000と異なり,3つのリージョンに跨る形でシステムを構築している。そして,図25に示す各ルータは,それぞれ異なるリージョンと通信を行うための2つのトンネルと接続している。そのため,例えば,図25の情報処理システム2000の各端末が経路情報管理処理を行うためにパケットをブロードキャスト送信する場合,1つのトンネルにのみ送信すればよいパケットであっても他のトンネルにも送信する場合が発生する。そこで,図25に示すように3つ以上のリージョンに跨って構築された情報処理システムの経路情報管理処理を行う場合には,経路情報管理処理を行う前にARP要求処理を行う。
ARP要求処理は,同一セグメント上に存在する端末のIPアドレスに基づいて,その端末のMACアドレスを取得するものである。以下,各端末がARP要求を行うために送信するパケットをARP要求パケットと呼び,各端末がARP要求に応答するために送信するパケットをARP応答パケットと呼ぶ。
具体的に,ARP要求処理を行う端末は,ARP要求パケットを同一セグメント内の各端末にブロードキャスト送信する。そして,ARP要求パケットの送信先端末は,ARP要求パケットを受信したときに,自端末のMACアドレスに関する情報をARP応答パケットとして,ARP要求パケットの送信元端末に送信(ユニキャスト送信)する。また,ARP要求パケットの送信先端末以外の端末は,受信したARP要求パケットに対するARP返信パケットを送信する必要がないため,ARP要求パケットを受信したときにそのARP要求パケットを破棄する。
[図25のシステム構成]
初めに,図25の例におけるシステム構成について説明する。図25の例においては,情報処理システムがリージョン18A,18B,18Cに跨って構築されており,それぞれのリージョンにVMホスト12A,12B,12Cが配備されている。そして,VMホスト12A内のセグメントAには,仮想マシン13B,ルータ16Bが配備され,VMホスト12A内のセグメントBには,仮想マシン13A,ルータ16Aが配備されている。また,VMホスト12B内のセグメントAには,仮想マシン13C,ルータ16Cが配備され,VMホスト12B内のセグメントBには,仮想マシン13D,ルータ16Dが配備されている。さらに,VMホスト12C内のセグメントAには,仮想マシン13E,ルータ16Eが配備され,VMホスト12C内のセグメントBには,仮想マシン13F,ルータ16Fが配備されている。VMホスト12A,12B,12CにおけるセグメントA及びセグメントBは,それぞれファイアーウォール15A,15B,15Cを介して接続している。また,ルータ16Aとルータ16Dとの間,ルータ16Aとルータ16Fとの間,ルータ16Dとルータ16Fとの間には,それぞれトンネルA,B,Cが設定されている。すなわち,トンネルA,B,Cによって,各リージョンに配備されたセグメントB内の端末は互いに通信をすることが可能になる。なお,図25の例において,ルータ16Bとルータ16Cとの間,ルータ16Bとルータ16Eとの間,ルータ16Cとルータ16Eとの間に設定されている各トンネルについては図示しない。また,図25の例において,各ルータは,通信パケットによるループの発生等を防止するため,各ルータがトンネルから受信した通信パケットを他のトンネルに送信しない設定がされているものとする。
[ルータ16AがARP要求パケットを受信した場合の処理]
次に,図22を参照して,仮想マシン13Aから仮想マシン13Dに向けて送信したARP要求パケットを,ルータ16Aが受信した場合の処理について説明する。
図22において,ルータ16Aと同一リージョン内に配備された仮想マシン13Aから送信されたARP要求パケットを,ルータ16Aのパケット受信部212が受信した場合(S41のYES,S42のNO,S43のYES,S44のNO,S46のYES),ルータ16Aのパケット送信部213は,受信したARP要求パケットをトンネルに送信する(S47)。具体的に,図25の例においては,ルータ16Aは,ルータ16Aに設定されたトンネルA及びトンネルBに,受信したARP要求パケットを送信する。なお,トンネルBを介してARP要求パケットを受信したルータ16Fは,ループの発生等を防止するために設定されているトンネルから受信した通信パケットを,他のトンネルに送信しないようにするため,リージョン18CのセグメントBにのみARP要求パケットを送信する。そして,リージョン18CのセグメントBに配備されている仮想マシン13Fとファイアーウォール15Cは,それぞれ受信したARP要求パケットを破棄する。
[ルータ16DがARP要求パケットを受信した場合の処理]
次に,図22を参照して,ルータ16AがトンネルAに送信したARP要求パケットを,ルータ16Dのパケット受信部212が受信した場合の処理について説明する。
図22において,ルータ16AがトンネルAを経由して送信したARP要求パケットを,ルータ16Dのパケット受信部212が受信した場合(S41のYES,S42のNO,S43のYES,S44のYES),ルータ16Dのパケット送信部213は,受信したARP要求パケットをリージョン18Bに配備されたセグメントB内の端末に送信する(S45)。図25の例においては,ルータ16Dのパケット送信部213は,仮想マシン13D及びファイアーウォール15BにARP要求パケットを送信する。
[ルータ16DがARP応答パケットを受信した場合の処理]
次に,図22を参照して,ルータ16DがARP要求パケットの送信先端末である仮想マシン13DからARP応答パケットを受信した場合の処理について説明する。
図22において,ルータ16DがARP要求パケットの送信先端末である仮想マシン13DからARP応答パケットを受信した場合(S41のYES,S42のNO,S43のYES,S44のNO,S46のYES),ルータ16Dのパケット送信部213は,受信したARP要求パケットをトンネルに送信する(S47)。具体的に,図25の例においては,ルータ16Dは,ルータ16Dに設定されたトンネルA及びトンネルCに,受信したARP応答パケットを送信する。そして,トンネルCに送信されたARP応答パケットはルータ16Fによって破棄される。
[ルータ16AがARP応答パケットを受信した場合の処理]
次に,図22及び図24を参照して,ルータ16DがトンネルAを経由して送信したARP応答パケットを,ルータ16Aのパケット受信部212が受信した場合の処理について説明する。
図22及び図24において,ルータ16DがトンネルAに送信したARP応答パケットを,ルータ16Aのパケット受信部212が受信した場合(S41のYES,S42のNO,S43のNO,S61のYES),ルータ16Aの経路情報記憶部211は,ARP応答パケットに関する情報をルータ16Aの経路情報に記憶する(S68)。
図26は,ルータ16Aの経路情報の初期値を説明する図である。具体的に,図26の例におけるルータ16Aの1番目の経路情報には,「送信先端末のIPアドレス」に*が記憶されており,トンネルIDに「トンネルA,トンネルB」が記憶されている。すなわち,図26の例におけるルータ16Aの1番目の経路情報は,図25の例において,ルータ6Aと同一リージョンに配備された同一セグメント内の仮想マシンから受信したデータ通信パケットは,トンネルAを経由してルータ16Dに送信され,トンネルBを経由してルータ16Fに送信されることを示している。なお,ルータ16Aの2番目の経路情報における「ルータID」には,ルータ16Aと同じリージョン18Aに配備されたルータ16Bのルータ名が記憶されている。
図27は,仮想マシン13AからのAPR要求パケットを受信した仮想マシン13Dが送信したARP応答パケットを,ルータ16Aが受信した場合の例である。具体的に,図25の例においては,ルータ16Aは,トンネルAを経由して,仮想マシン13Aが仮想マシン13Dに向けて送信したAPR要求パケットに対するARP応答パケットを受信している。そのため,図27に示すように,ルータ16Aは,ルータ16Aの経路情報(図27の3番目の経路情報)に,「送信先端末のIPアドレス」としてVM13D−IPを記憶し,「トンネルID」としてトンネルAを記憶する。これにより,ルータ16Aは,同じリージョンである18Aに配備されたセグメントB内の端末(例えば,仮想マシン13A)から仮想マシン13Dに向けた通信パケットを受信した場合,通信パケットをトンネルBに送信することなくトンネルAに送信する。
すなわち,情報処理システムが3つ以上のリージョンに跨る形で構築されている場合において,経路情報管理処理を行う前にARP要求処理を行い,送信元端末から送信先端末への通信経路を特定する。これにより,経路情報管理処理において,送信元端末が配備されたリージョン及び送信元端末のデフォルトルーティングが配備されたリージョン以外のリージョンに,通信パケットが送信されることを防止することができる。そのため,経路情報管理処理によって,送信元端末が配備されたリージョンと送信元端末のデフォルトルーティングが配備されたリージョンとの間の通信の効率化に加え,これらのリージョンとこれら以外のリージョンとの間における通信の効率かを図ることができる。
[第2の実施の形態]
次に,第2の実施の形態について説明する。図28から図30は,第2の実施の形態における経路情報管理処理を説明する図である。なお,図28及び図29は,図14に基づく図である。
第2の実施の形態は,第1の実施の形態と異なり,例えば,データ通信パケットの送信元端末から送信先端末までのホップ数に基づいて経路情報を更新する。
図28は,仮想マシン3Aから仮想マシン3Fに向けたデータ通信パケットがリージョン8Aを経由して通信する場合を説明する図である。図28において,仮想マシン3Aが送信したデータ通信パケットは,(1)ルータ6A,(2)ルータ6B,(3)ファイアーウォール5A,(4)ルータ6C,(5)ルータ6D,(6)仮想マシン3F,の順に通信を行う。すなわち,各端末を通過する毎にホップ数をカウントするとした場合,図28の例において,仮想マシン3Aが送信したデータ通信パケットが仮想マシン3Fに送信されるまでのホップ数は6である。
一方,図29は,仮想マシン3Aから仮想マシン3Fに向けたデータ通信パケットがリージョン8Aを経由せずに通信する場合を説明する図である。図29の例において,仮想マシン3Aが送信したデータ通信パケットは,(1)ファイアーウォール5B,(2)仮想マシン3F,の順に通信を行う。すなわち,図29の例において,仮想マシン3Aが送信したデータ通信パケットが仮想マシン3Fに送信されるまでのホップ数は2である。すなわち,各ルータが経路情報を通信に要するホップ数に基づいて設定を行う場合,仮想マシン3Aから仮想マシン3Fに送信するまでの経路は,図29に示す経路になる。
また,図30は,図29の場合におけるルータ6Aの経路情報を説明する例である。図30では,図15等と異なり,「トンネルID」の項目が「トンネルID(端末のIPアドレス)」になっている。すなわち,図30において,ルータ6Aがトンネルにパケットを送信する場合には,「トンネルID(端末のIPアドレス)」の項目にそのトンネルに関する情報を記憶し,ルータ6Aがトンネルにパケットを送信せずに,端末にパケットを送信する場合には,「トンネルID(端末のIPアドレス)」の項目にその端末に関する情報を記憶する。
具体的に,図30において,「送信先端末のIPアドレス」が仮想マシン3FのIPアドレスを示すVM3F−IPである経路情報(図30の4番目の経路情報)は,トンネルの名称ではなく端末の名称であるFW5Bが記憶されている。すなわち,ルータ6Aが仮想マシン3Aから仮想マシン3Fに向けてパケットを送信する場合は,トンネルを経由することなくファイアーウォール5Bを経由して通信を行う。また,図30において,「送信先端末のIPアドレス」が仮想マシン3CのIPアドレスを示すVM3C−IPである経路情報(図30の5番目の経路情報)は,トンネルの名称であるトンネルAが記憶されている。
このように,第2の実施の形態においては,同一リージョン内であって異なるセグメントに配備された端末間の通信を行う場合,例えば,各通信経路のホップ数を取得する。これにより,各ルータは,トンネルの設定を行うことなく経路情報を更新することができる。
なお,第2の実施の形態において,各ルータは,例えば,パケットが各通信経路を通信した場合に要する通信時間を取得し,通信時間が最も短い通信経路をパケットの通信経路として経路情報を更新するものであってもよい。
以上の実施の形態をまとめると,以下の付記のとおりである。
(付記1)
第1のネットワーク装置を含む第1の情報処理システムの構成情報に基づいて構成され,前記第1のネットワーク装置が配備された第1の物理マシン群と,前記第1の情報処理システムに含まれない第2のネットワーク装置が配備された第2の物理マシン群とに跨る第2の情報処理システムにおける通信方法であって,
前記第2のネットワーク装置は,前記第2の物理マシン群に配備され第1のセグメントに含まれる第1の端末から送信された通信パケットを受信した際に,該受信した通信パケットの識別情報を記憶し,
前記第2のネットワーク装置は,前記受信した通信パケットが第2のセグメントに含まれる第2の端末に向けた通信パケットである場合,前記第1の情報処理システムの構成情報に含まれる経路情報に基づき,前記第1の端末から受信した通信パケットを,前記第1のセグメントを経由して前記第1のネットワーク装置に送信し,
前記第2のネットワーク装置は,前記送信した通信パケットを,前記第2のセグメントを経由して前記第1のネットワーク装置から受信した場合,該受信した通信パケットを前記第2の端末に送信するとともに,前記記憶した通信パケットの識別情報に基づき,前記第1の端末から送信された通信パケットを前記第1のネットワーク装置を経由せずに通信するように前記経路情報を更新し,
前記第2のネットワーク装置は,前記第1の端末から前記第2の端末に向けた通信パケットまたは前記第2の端末から前記第1の端末に向けた通信パケットを受信した場合,前記更新した経路情報に基づいて通信を行う,
通信方法。
(付記2)
付記1において,
前記通信パケットの識別情報を記憶する工程では,前記第2のネットワーク装置は,前記通信パケットの識別情報を,前記第1の端末が前記第2の端末または前記第1の物理マシン群に配備された端末に通信パケットを送信する場合に記憶する通信方法。
(付記3)
付記1において,
前記通信パケットの識別情報を記憶する工程では,前記通信パケットに関する識別情報の記憶を,前記第1のセグメントの識別情報と関連付けた前記通信パケットに関する識別情報を前記経路情報に記憶することにより行う通信方法。
(付記4)
付記1において,
前記第2のネットワーク装置は,前記第1のセグメントに配備された第3のネットワーク装置と,前記第2のセグメントに配備された第4のネットワーク装置とを含み,
前記通信パケットの識別情報を記憶する工程では,前記第3のネットワーク装置は,前記通信パケットの識別情報を前記第4のネットワーク装置に送信し,
前記通信パケットの識別情報を記憶する工程では,前記第4のネットワーク装置は,受信した前記通信パケットの識別情報を記憶する通信方法。
(付記5)
付記4において,
前記経路情報を更新する工程では,前記第4のネットワーク装置は,前記第3のネットワーク装置が送信した通信パケットを,前記第1のネットワーク装置を経由して受信した場合,前記受信した通信パケットの識別情報に基づき経路情報を更新する通信方法。
(付記6)
付記4において,
前記通信パケットの識別情報を記憶する工程では,前記第4のネットワーク装置が前記第3のネットワーク装置から前記通信パケットに関する識別情報を受信した後,前記第4のネットワーク装置が前記第1の物理マシン群を経由した前記通信パケットを受信する前に,所定時間が経過した場合,前記第4のネットワーク装置は,前記記憶した前記通信パケットに関する識別情報を消去する通信方法。
(付記7)
付記4において,
前記経路情報を更新する工程では,前記第3及び第4のネットワーク装置は,前記通信パケットの識別情報に基づき,前記第3のネットワーク装置と前記第4のネットワーク装置との間に通信トンネルを作成し,前記経路情報の更新を,前記第1の端末から前記第2の端末に向けて送信された通信パケットが前記作成された通信トンネルを経由するように更新することにより行う通信方法。
(付記8)
付記1において,
前記経路情報を更新する工程では,前記経路情報の更新を,前記第1の端末から送信された前記通信パケットが最短経路を経由して前記第2の端末に送信されるように更新することにより行う通信方法。
(付記9)
付記8において,
前記経路情報を更新する工程では,前記第1の端末から前記第2の端末までの通信時間が最短である経路または前記第1の端末から前記第2の端末までのホップ数が最少である経路を前記最短経路とする通信方法。
(付記10)
付記1において,
前記第2のネットワーク装置は,前記通信パケットを送信する工程の前に,前記第2のネットワーク装置から前記第2の端末に向けて通信を行うことにより,前記第1の端末から前記第2の端末に向けた通信経路を特定し,前記経路情報に記憶する通信方法。
(付記11)
付記1において,
前記通信パケットの識別情報を記憶する工程では,前記第2のネットワーク装置は,前記通信パケットに関する識別情報として,前記第1及び第2の端末のIPアドレスと,前記第1のセグメントの識別情報と,前記第1の端末のMACアドレスとを含む情報を記憶する通信方法。
(付記12)
第1のネットワーク装置を含む第1の情報処理システムの構成情報に基づいて構成され,前記第1のネットワーク装置が配備された第1の物理マシン群と,前記第1の情報処理システムに含まれない第2のネットワーク装置が配備された第2の物理マシン群とに跨る第2の情報処理システムにおける通信プログラムであって,
前記第2のネットワーク装置は,前記第2の物理マシン群に配備され第1のセグメントに含まれる第1の端末から送信された通信パケットを受信した際に,該受信した通信パケットの識別情報を記憶し,
前記第2のネットワーク装置は,前記受信した通信パケットが第2のセグメントに含まれる第2の端末に向けた通信パケットである場合,前記第1の情報処理システムの構成情報に含まれる経路情報に基づき,前記第1の端末から受信した通信パケットを,前記第1のセグメントを経由して前記第1のネットワーク装置に送信し,
前記第2のネットワーク装置は,前記送信した通信パケットを,前記第2のセグメントを経由して前記第1のネットワーク装置から受信した場合,該受信した通信パケットを前記第2の端末に送信するとともに,前記記憶した通信パケットの識別情報に基づき,前記第1の端末から送信された通信パケットを前記第1のネットワーク装置を経由せずに通信するように前記経路情報を更新し,
前記第2のネットワーク装置は,前記第1の端末から前記第2の端末に向けた通信パケットまたは前記第2の端末から前記第1の端末に向けた通信パケットを受信した場合,前記更新した経路情報に基づいて通信を行う,
処理をコンピュータに実行させる通信プログラム。
1:管理サーバ 2:VMホスト
3:仮想マシン 4:仮想化ソフトウエア
5A:ネットワーク装置 5D:ネットワーク装置
8A:リージョン 8B:リージョン

Claims (10)

  1. 第1のネットワーク装置を含む第1の情報処理システムの構成情報に基づいて構成され,前記第1のネットワーク装置が配備された第1の物理マシン群と,前記第1の情報処理システムに含まれない第2のネットワーク装置が配備された第2の物理マシン群とに跨る第2の情報処理システムにおける通信方法であって,
    前記第2のネットワーク装置は,前記第2の物理マシン群に配備され第1のセグメントに含まれる第1の端末から送信された通信パケットを受信した際に,該受信した通信パケットの識別情報を記憶し,
    前記第2のネットワーク装置は,前記受信した通信パケットが第2のセグメントに含まれる第2の端末に向けた通信パケットである場合,前記第1の情報処理システムの構成情報に含まれる経路情報に基づき,前記第1の端末から受信した通信パケットを,前記第1のセグメントを経由して前記第1のネットワーク装置に送信し,
    前記第2のネットワーク装置は,前記送信した通信パケットを,前記第2のセグメントを経由して前記第1のネットワーク装置から受信した場合,該受信した通信パケットを前記第2の端末に送信するとともに,前記記憶した通信パケットの識別情報に基づき,前記第1の端末から送信された通信パケットを前記第1のネットワーク装置を経由せずに通信するように前記経路情報を更新し,
    前記第2のネットワーク装置は,前記第1の端末から前記第2の端末に向けた通信パケットまたは前記第2の端末から前記第1の端末に向けた通信パケットを受信した場合,前記更新した経路情報に基づいて通信を行う,
    通信方法。
  2. 請求項1において,
    前記通信パケットの識別情報を記憶する工程では,前記第2のネットワーク装置は,前記通信パケットの識別情報を,前記第1の端末が前記第2の端末または前記第1の物理マシン群に配備された端末に通信パケットを送信する場合に記憶する通信方法。
  3. 請求項1において,
    前記通信パケットの識別情報を記憶する工程では,前記通信パケットに関する識別情報の記憶を,前記第1のセグメントの識別情報と関連付けた前記通信パケットに関する識別情報を前記経路情報に記憶することにより行う通信方法。
  4. 請求項1において,
    前記第2のネットワーク装置は,前記第1のセグメントに配備された第3のネットワーク装置と,前記第2のセグメントに配備された第4のネットワーク装置とを含み,
    前記通信パケットの識別情報を記憶する工程では,前記第3のネットワーク装置は,前記通信パケットの識別情報を前記第4のネットワーク装置に送信し,
    前記通信パケットの識別情報を記憶する工程では,前記第4のネットワーク装置は,受信した前記通信パケットの識別情報を記憶する通信方法。
  5. 請求項4において,
    前記経路情報を更新する工程では,前記第4のネットワーク装置は,前記第3のネットワーク装置が送信した通信パケットを,前記第1のネットワーク装置を経由して受信した場合,前記受信した通信パケットの識別情報に基づき経路情報を更新する通信方法。
  6. 請求項4において,
    前記通信パケットの識別情報を記憶する工程では,前記第4のネットワーク装置が前記第3のネットワーク装置から前記通信パケットに関する識別情報を受信した後,前記第4のネットワーク装置が前記第1の物理マシン群を経由した前記通信パケットを受信する前に,所定時間が経過した場合,前記第4のネットワーク装置は,前記記憶した前記通信パケットに関する識別情報を消去する通信方法。
  7. 請求項4において,
    前記経路情報を更新する工程では,前記第3及び第4のネットワーク装置は,前記通信パケットの識別情報に基づき,前記第3のネットワーク装置と前記第4のネットワーク装置との間に通信トンネルを作成し,前記経路情報の更新を,前記第1の端末から前記第2の端末に向けて送信された通信パケットが前記作成された通信トンネルを経由するように更新することにより行う通信方法。
  8. 請求項1において,
    前記第2のネットワーク装置は,前記通信パケットを送信する工程の前に,前記第2のネットワーク装置から前記第2の端末に向けて通信を行うことにより,前記第1の端末から前記第2の端末に向けた通信経路を特定し,前記経路情報に記憶する通信方法。
  9. 請求項1において,
    前記通信パケットの識別情報を記憶する工程では,前記第2のネットワーク装置は,前記通信パケットに関する識別情報として,前記第1及び第2の端末のIPアドレスと,前記第1のセグメントの識別情報と,前記第1の端末のMACアドレスとを含む情報を記憶する通信方法。
  10. 第1のネットワーク装置を含む第1の情報処理システムの構成情報に基づいて構成され,前記第1のネットワーク装置が配備された第1の物理マシン群と,前記第1の情報処理システムに含まれない第2のネットワーク装置が配備された第2の物理マシン群とに跨る第2の情報処理システムにおける通信プログラムであって,
    前記第2のネットワーク装置は,前記第2の物理マシン群に配備され第1のセグメントに含まれる第1の端末から送信された通信パケットを受信した際に,該受信した通信パケットの識別情報を記憶し,
    前記第2のネットワーク装置は,前記受信した通信パケットが第2のセグメントに含まれる第2の端末に向けた通信パケットである場合,前記第1の情報処理システムの構成情報に含まれる経路情報に基づき,前記第1の端末から受信した通信パケットを,前記第1のセグメントを経由して前記第1のネットワーク装置に送信し,
    前記第2のネットワーク装置は,前記送信した通信パケットを,前記第2のセグメントを経由して前記第1のネットワーク装置から受信した場合,該受信した通信パケットを前記第2の端末に送信するとともに,前記記憶した通信パケットの識別情報に基づき,前記第1の端末から送信された通信パケットを前記第1のネットワーク装置を経由せずに通信するように前記経路情報を更新し,
    前記第2のネットワーク装置は,前記第1の端末から前記第2の端末に向けた通信パケットまたは前記第2の端末から前記第1の端末に向けた通信パケットを受信した場合,前記更新した経路情報に基づいて通信を行う,
    処理をコンピュータに実行させる通信プログラム。
JP2014143206A 2014-07-11 2014-07-11 通信方法及び通信プログラム Withdrawn JP2016019270A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014143206A JP2016019270A (ja) 2014-07-11 2014-07-11 通信方法及び通信プログラム
US14/741,016 US9654543B2 (en) 2014-07-11 2015-06-16 Communication method and communication program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014143206A JP2016019270A (ja) 2014-07-11 2014-07-11 通信方法及び通信プログラム

Publications (1)

Publication Number Publication Date
JP2016019270A true JP2016019270A (ja) 2016-02-01

Family

ID=55068467

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014143206A Withdrawn JP2016019270A (ja) 2014-07-11 2014-07-11 通信方法及び通信プログラム

Country Status (2)

Country Link
US (1) US9654543B2 (ja)
JP (1) JP2016019270A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018032935A (ja) * 2016-08-23 2018-03-01 日本電信電話株式会社 通信システム及びその経路制御方法

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10015174B2 (en) * 2016-03-16 2018-07-03 Qualcomm Incorporated Using communication characteristics of a station to verify identity information
US10148675B1 (en) 2016-03-30 2018-12-04 Amazon Technologies, Inc. Block-level forensics for distributed computing systems
US10178119B1 (en) 2016-03-30 2019-01-08 Amazon Technologies, Inc. Correlating threat information across multiple levels of distributed computing systems
US10333962B1 (en) 2016-03-30 2019-06-25 Amazon Technologies, Inc. Correlating threat information across sources of distributed computing systems
US10142290B1 (en) * 2016-03-30 2018-11-27 Amazon Technologies, Inc. Host-based firewall for distributed computer systems
CN108268566B (zh) * 2017-01-04 2022-05-31 腾讯科技(深圳)有限公司 一种数据关系确定方法及装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8121146B2 (en) * 2005-09-21 2012-02-21 Intel Corporation Method, apparatus and system for maintaining mobility resistant IP tunnels using a mobile router
JP4680942B2 (ja) * 2007-01-18 2011-05-11 株式会社日立製作所 パケット転送装置
JP5074290B2 (ja) 2008-05-13 2012-11-14 株式会社日立国際電気 冗長切替システム、冗長管理装置およびアプリケーション処理装置
US8396953B2 (en) * 2010-03-12 2013-03-12 Hewlett-Packard Development Company, L.P. Processing packets using a virtualized descriptor queue
JP5618886B2 (ja) * 2011-03-31 2014-11-05 株式会社日立製作所 ネットワークシステムおよび計算機振り分け装置、計算機振り分け方法
CN104054302B (zh) * 2011-12-16 2018-05-11 马维尔以色列(M.I.S.L.)有限公司 网络设备、地址解析方法、网络和缓存表减小方法
US8943490B1 (en) * 2012-09-28 2015-01-27 Juniper Networks, Inc. Intelligent non-stop software upgrade
US9912584B2 (en) * 2014-11-07 2018-03-06 Cisco Technology, Inc. Data center inbound routing optimization in the event of virtual machine mobility

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018032935A (ja) * 2016-08-23 2018-03-01 日本電信電話株式会社 通信システム及びその経路制御方法

Also Published As

Publication number Publication date
US20160014189A1 (en) 2016-01-14
US9654543B2 (en) 2017-05-16

Similar Documents

Publication Publication Date Title
US10764244B1 (en) Systems and methods providing a multi-cloud microservices gateway using a sidecar proxy
US10469314B2 (en) API gateway for network policy and configuration management with public cloud
US12445419B2 (en) Metadata customization for virtual private label clouds
US10938787B2 (en) Cloud services management system and method
US10313178B2 (en) Virtual network inter-container communication
US11240152B2 (en) Exposing a subset of hosts on an overlay network to components external to the overlay network without exposing another subset of hosts on the overlay network
JP6403800B2 (ja) エンタープライズ・ベース・ネットワーク及びマルチテナント・ネットワーク間でのアプリケーションの移行
JP2016019270A (ja) 通信方法及び通信プログラム
US20140355441A1 (en) Method and apparatus of delivering assured services over unreliable internet infrastructure by using virtual overlay network architecture over a public cloud backbone
US11811593B2 (en) Secure bi-directional network connectivity system between private networks
US11736558B2 (en) Transparent mounting of external endpoints between private networks
JP5457916B2 (ja) メモリ共有装置
US20210234715A1 (en) Consistent provision of member node group information on virtual overlay network
EP4007209B1 (en) Service endpoint interconnect in a virtual private gateway
US20150372854A1 (en) Communication control device, communication control program, and communication control method
JP6359260B2 (ja) クラウド環境においてセキュアなクレジットカードシステムを実現するための情報処理システムおよびファイアウォール装置
KR102023115B1 (ko) 통합형 id 기반의 통신 방법 및 통신 시스템
US20250390978A1 (en) Addressing scheme for scalable gpu fabric
EP4272413B1 (en) Synchronizing communication channel state information for high flow availability
KR102367857B1 (ko) 노하드(no-hdd) 서비스를 제공하는 장치 및 서버
CN120418779A (zh) 私有网络之间的安全双向网络连接性系统
JP2016103731A (ja) 計算機システム、ゲートウェイ、および、転送制御方法
HK1257318B (en) Virtual network, hot swapping, hot scaling, and disaster recovery for containers

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170406

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20171225