JP7164140B2 - COMMUNICATION ANALYSIS DEVICE, COMMUNICATION ANALYSIS METHOD AND PROGRAM - Google Patents
COMMUNICATION ANALYSIS DEVICE, COMMUNICATION ANALYSIS METHOD AND PROGRAM Download PDFInfo
- Publication number
- JP7164140B2 JP7164140B2 JP2017066717A JP2017066717A JP7164140B2 JP 7164140 B2 JP7164140 B2 JP 7164140B2 JP 2017066717 A JP2017066717 A JP 2017066717A JP 2017066717 A JP2017066717 A JP 2017066717A JP 7164140 B2 JP7164140 B2 JP 7164140B2
- Authority
- JP
- Japan
- Prior art keywords
- flow
- communication
- information
- flow information
- virtual
- 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
Links
Images
Description
本発明は、通信解析装置、通信解析方法およびプログラムに関する。 The present invention relates to a communication analysis device, communication analysis method and program.
昨今、クラウドシステムをマルチテナント構成で運用することが増えてきている。IaaS(Infrastructure as a Service)型のクラウドシステムの場合、クラウドシステムの事業者は、仮想マシンを動作させるホストマシンを用意する。そして、ホストマシン上に複数の仮想マシンを用意し、仮想マシンを複数の利用者に貸し出すなどしてマルチテナント構成を実現している。 Recently, cloud systems are increasingly being operated in a multi-tenant configuration. In the case of an IaaS (Infrastructure as a Service) type cloud system, a cloud system provider prepares a host machine for operating a virtual machine. A multi-tenant configuration is realized by preparing multiple virtual machines on the host machine and lending the virtual machines to multiple users.
1つのテナントは複数のホストマシン上に渡って構成されることもある。すなわち、テナント内の複数の仮想マシンが、複数のホストマシン上に分散配置されることもある。この場合、対障害性を確保するためなどの目的で、1つの仮想マシンが複数のホストマシン間で自動的に移動する場合がある。このような技術には、例えばライブマイグレーションと呼ばれる既存技術がある。 A single tenant may be configured across multiple host machines. In other words, multiple virtual machines within a tenant may be distributed on multiple host machines. In this case, one virtual machine may be automatically migrated between a plurality of host machines for purposes such as ensuring fault tolerance. Such technology includes, for example, an existing technology called live migration.
テナントが複数のホストマシン上に渡って構成される場合、そのホストマシン群は、物理的に近い位置にいるとは限らない。例えばVxLAN(Virtual eXtensible Local Area Network)などのネットワークトンネリング技術により仮想ネットワークを構築し、その仮想ネットワーク上にテナントを構成することで、複数のホストマシンが物理的に離れた位置にあっても、テナント内は1つのネットワークとして通信が可能となる。 When a tenant is configured over multiple host machines, the host machines are not necessarily physically close to each other. For example, by building a virtual network using network tunneling technology such as VxLAN (Virtual eXtensible Local Area Network) and configuring tenants on the virtual network, even if multiple host machines are physically separated, tenant Communication is possible as one network inside.
物理的に離れた位置にある仮想マシン間の通信は、一般にはWAN(Wide Area Network)を経由するため、LAN(Local Area Network)内の通信よりも帯域が少なく往復時間もかかることが多く、一般的には遅くなる。そのため、同一テナント内であっても、仮想マシンが稼働するホストマシンの物理的距離が遠い場合は、仮想マシン間通信の速度が十分出ない場合も考えられる。 Communication between virtual machines in physically distant locations generally goes through a WAN (Wide Area Network), so the bandwidth is lower than communication within a LAN (Local Area Network), and it often takes longer round-trip time. generally slower. Therefore, even within the same tenant, if the physical distance between the host machines on which the virtual machines operate is long, the speed of communication between virtual machines may not be sufficiently high.
このような状況に対し、仮想マシン間の通信状況、例えば、仮想マシン間の通信がどのホストマシンで実行されているのか、その通信量はどのくらいかといった情報が可視化されると、運用における最適化計画が立てやすく、都合がよい。 In such a situation, visualization of the communication status between virtual machines, such as which host machine is executing communication between virtual machines, and how much communication is involved, will help optimize operations. Easy to plan and convenient.
特許文献1には、NetFlow(非特許文献1)などのフロー集計の標準プロトコルを利用して、仮想マシン間の通信がどのホストマシンで実行されているのか、その通信量はどのくらいかといった情報を収集、分析する技術が開示されている。
In
しかしながら、特許文献1においては、仮想マシン間の通信量を可視化することができるが、通信フローの経路を解析して提示することはできない。同一ホストマシン内の仮想マシン間の通信が他のホストマシンに配置された仮想ルータを経由している場合、通信のエンドポイントのみから通信フローの経路を直観的に判断することは難しい。
However, in
本発明は上述の課題に鑑み、仮想マシン間の通信フローの経路を明らかにすることが可能な通信解析装置、通信解析方法およびプログラムを提供することを目的とする。 SUMMARY OF THE INVENTION It is an object of the present invention to provide a communication analysis device, a communication analysis method, and a program capable of clarifying communication flow paths between virtual machines.
本発明の一実施形態に係る通信解析装置は、複数の仮想マシンを含むネットワーク内で収集された複数のフロー情報を受信する受信部と、前記複数のフロー情報の中から、前記仮想マシン間の同一の通信フローを表すフロー情報の集合を特定する識別部と、前記フロー情報の集合および前記ネットワークの接続情報に基づいて、前記通信フローの経路を特定する解析部とを備える。 A communication analysis device according to an embodiment of the present invention includes a receiving unit that receives a plurality of pieces of flow information collected in a network that includes a plurality of virtual machines; An identification unit that identifies a set of flow information representing the same communication flow, and an analysis unit that identifies a route of the communication flow based on the set of flow information and the connection information of the network.
本発明の一実施形態に係る通信解析方法は、複数の仮想マシンを含むネットワーク内で収集された複数のフロー情報を受信するステップと、前記複数のフロー情報の中から、前記仮想マシン間の同一の通信フローを表すフロー情報の集合を特定するステップと、前記フロー情報の集合および前記ネットワークの接続情報に基づいて、前記通信フローの経路を特定するステップとを備える。 A communication analysis method according to an embodiment of the present invention comprises the steps of: receiving a plurality of pieces of flow information collected in a network including a plurality of virtual machines; and identifying a route of the communication flow based on the set of flow information and connection information of the network.
本発明の一実施形態に係るプログラムは、複数の仮想マシンを含むネットワーク内で収集された複数のフロー情報を受信するステップと、前記複数のフロー情報の中から、前記仮想マシン間の同一の通信フローを表すフロー情報の集合を特定するステップと、前記フロー情報の集合および前記ネットワークの接続情報に基づいて、前記通信フローの経路を特定するステップとをコンピュータに実行させる。 A program according to an embodiment of the present invention comprises steps of receiving a plurality of pieces of flow information collected in a network including a plurality of virtual machines; A computer is caused to perform the steps of identifying a set of flow information representing a flow and identifying a route of the communication flow based on the set of flow information and the connection information of the network.
本発明によれば、仮想マシン間の通信フローの経路を明らかにすることが可能となる。 According to the present invention, it is possible to clarify the path of communication flow between virtual machines.
以下、図面を参照して、本発明の実施形態を説明する。
[第1実施形態]
図1は、本実施形態に係る通信解析システムのブロック図である。通信解析システムは、いわゆるクラウドシステムであって、ホスト装置10、ホスト装置20、スイッチ30、フローコレクタ40を備えている。ホスト装置10、20は、物理的なサーバコンピュータであって、仮想的なネットワークを構築することができる。なお、図1には2台のホスト装置10、20が示されているが、通信解析システムは3台以上のホスト装置を備え得る。
Embodiments of the present invention will be described below with reference to the drawings.
[First embodiment]
FIG. 1 is a block diagram of a communication analysis system according to this embodiment. The communication analysis system is a so-called cloud system and includes a
ホスト装置10内には、仮想マシン11、仮想マシン12、仮想スイッチ13が配置されている。仮想マシン11、仮想マシン12、仮想スイッチ13は、ホスト装置10のプロセッサが実行するソフトウェアによって仮想的に実現されている。ホスト装置20内には、仮想ルータ21、仮想スイッチ23が配置されている。仮想ルータ21、仮想スイッチ23は、ホスト装置20のプロセッサが実行するソフトウェアによって仮想的に実現されている。ホスト装置20内においても、ホスト装置10内と同様に、1または複数の仮想マシンが配置され得る。
A
仮想マシン11、12は、サーバコンピュータであって、クラウドシステムの利用者に様々なサービスを提供することができる。仮想スイッチ13は、インターフェース(以下IF)101、IF102、IF103を有している。仮想スイッチ13には、IF101、102を介してそれぞれ仮想マシン11、12が接続されている。同様に、仮想スイッチ23は、IF201、IF202を有している。仮想スイッチ23には、IF201を介して仮想ルータ21が接続されている。なお、仮想スイッチ13、23が有するIFの数は特に限定されない。
The
スイッチ30は、物理的な接続装置であって、ホスト装置10、ホスト装置20、フローコレクタ40を接続し、これらの装置間のデータ転送を行う。スイッチ30は、IF301、IF302を有している。IF301は仮想スイッチ13のIF103と接続され、IF302は仮想スイッチ23のIF202と接続されている。スイッチ30は、受信したデータ(パケット)の宛先を判断し、宛先のネットワーク装置に対してデータを送信するデータ中継機能を有している。
The
仮想マシン11、12は、仮想スイッチ13を介して互いに通信を行うことができる。仮想マシン11、12間の通信は、仮想ルータ21を経由して行われ得る。例えば、仮想マシン11から送信されたデータは、仮想スイッチ13、スイッチ30、仮想スイッチ23を通って、仮想ルータ21により受信され、仮想ルータ21から仮想スイッチ23、スイッチ30、仮想スイッチ13を介して仮想マシン12に送信され得る。
The
フローコレクタ40は、通信解析装置であって、仮想スイッチ13、23、仮想ルータ21、スイッチ30を通過する通信フローについてのフロー情報を収集し、解析することができる。仮想スイッチ13、23、仮想ルータ21、スイッチ30のそれぞれは、フロー情報を収集するための機能を有している。フロー情報の収集は、NetFlow、IPFIX(Internet Protocol Flow Information Export)などのフロー集計プロトコルを用いて行うことができる。以下の説明においては、フロー集計プロトコルとしてNetFlowを用いるものとする。フローコレクタ40は、仮想スイッチ13、23、仮想ルータ21、スイッチ30のそれぞれからフロー情報を受信する。
The
図2は、本実施形態に係るフローコレクタ40のブロック図である。フローコレクタ40は、受信部41、識別部42、記憶部43、取得部44、解析部45、出力部46の機能を有している。受信部41は、通信解析システムのネットワーク内で収集された複数のフロー情報を受信する。フロー情報は、仮想スイッチ13、仮想スイッチ23、仮想ルータ21から送信され得る。識別部42は、受信部41によって受信された複数のフロー情報を識別し、仮想マシン11、12間における同一の通信フローを表すフロー情報の集合を特定することができる。
FIG. 2 is a block diagram of the
記憶部43は、ID(Identification)管理データベース431、フロー情報データベース432を含んでいる。ID管理データベース431には、フロー同定キーと、該フロー同定キーに紐付けられたフローIDを含む複数のIDレコードが保存されている。図3に示すように、フロー同定キーは、フロー情報に含まれる「送信元IPアドレス(srcaddr)」、「宛先IPアドレス(dstaddr)」、「送信元ポート番号(srcport)」、「宛先ポート番号(dstport)」、「IPプロトコル番号(prot)」、「ToS(Type of Service)フラグ値(tos)」の6つの値を連結したものである。フロー同定キーは、複数のフロー情報を通信フローごとに分類するために用いられる。フローIDは、識別部42によって決定され、同一の通信フローを表すフロー情報の集合に対し同一のフローIDが付与される。
The
フロー情報データベース432には、受信されたフロー情報に含まれていた情報と、各フロー情報に紐付けられたフローIDを含む複数のフローレコードが保存されている。例えば、図4に示すように、フローレコードには、「収集装置名」、「フローID」、「フロー収集時刻」、「VLAN(Virtual Local Area Network)番号」、「入力インターフェース番号」、「出力インターフェース番号」、「送信元IPアドレス」、「宛先IPアドレス」、「送信元ポート番号」、「宛先ポート番号」、「通信量」が含まれている。
The
収集装置名は、フロー情報を収集したネットワーク装置(ノード)名であり、フローIDは、通信フローが同一のものかを判定するための識別子である。収集装置名は、収集装置が識別可能なものであればよくIPアドレスであってもよい。フロー収集時刻は、通信フローを検知してフロー情報を収集した時刻である。VLAN番号は、収集装置が属するVLANの番号である。入力インターフェース番号は、通信フローが入力されたインターフェース番号であり、出力インターフェース番号は、通信フローが出力されたインターフェース番号である。送信元IPアドレス、宛先IPアドレスは、それぞれ通信フローの送信元、宛先のIPアドレスである。送信元ポート番号、宛先ポート番号は、それぞれ通信フローの送信元、宛先のTCP(Transmission Control Protocol)ポート番号またはUDP(User Datagram Protocol)ポート番号である。通信量は、通信フローの通信量であって、パケット数、バイト数などで表され得る。フローレコードは、NetFlowが収集可能なすべての情報を含んでいてもよく、一部の情報(例えば図4に示す情報)のみを含んでいてもよい。 The collection device name is the name of the network device (node) that collected the flow information, and the flow ID is an identifier for determining whether the communication flows are the same. The collection device name may be an IP address as long as the collection device can be identified. The flow collection time is the time when the communication flow is detected and the flow information is collected. The VLAN number is the number of the VLAN to which the collector belongs. The input interface number is the interface number to which the communication flow is input, and the output interface number is the interface number to which the communication flow is output. The source IP address and destination IP address are the source and destination IP addresses of the communication flow, respectively. The source port number and destination port number are the TCP (Transmission Control Protocol) port number or UDP (User Datagram Protocol) port number of the source and destination of the communication flow, respectively. The amount of communication is the amount of communication of the communication flow, and can be represented by the number of packets, the number of bytes, or the like. A flow record may contain all the information that NetFlow can collect, or it may contain only some information (for example, the information shown in FIG. 4).
取得部44は、通信解析システムが構成するネットワークの物理的な接続情報を取得し、記憶する。取得部44は、ネットワーク管理システム(NMS)から通信解析システム内のネットワーク装置同士の接続情報を取得することができる。接続情報には、接続の一端にある装置(ノード)のIPアドレスおよびインターフェース番号(ifIndex)と、該接続の対向(他端)にある装置のIPアドレスおよびインターフェース番号(ifIndex)とが1つのペアとして含まれている。本実施形態に係る接続情報の一例を図5に示す。
The
図2に戻り、解析部45は、記憶部43に記憶されたフロー情報を接続情報に基づいて解析し、通信フローの経路を特定することができる。より具体的には、解析部45は、フロー情報データベース432から同一の通信フローを表すフロー情報(フローレコード)の集合を抽出し、該集合に基づいて、通信フローの経路情報を生成する。解析部45は、経路情報などの解析結果を記憶部43に格納してもよい。出力部46は、解析部45が生成した解析結果を外部装置またはフローコレクタ40の表示装置(不図示)に出力することができる。
Returning to FIG. 2, the
図6は、本実施形態に係るフローコレクタ40のハードウェア構成を示すブロック図である。フローコレクタ40は、CPU(Central Processing Unit)401、ROM(Read Only Memory)402、RAM(Random Access Memory)403、HDD(Hard Disk Drive)404、入出力IF405、バス406を備えている。CPU401、ROM402、RAM403、HDD404、入出力IF405は、バス406に接続されている。
FIG. 6 is a block diagram showing the hardware configuration of the
CPU401は、ROM402、HDD404から所定のプログラムを読み出し、実行することにより、フローコレクタ40の各部の機能を実現する。また、CPU401は、処理で得られたデータをHDD404に記憶させるとともに、入出力IF405を介して外部とデータの交換を行うことができる。RAM403は、CPU401によって実行されるプログラムの作業用メモリとして使用され、処理中のデータ、ROM402、HDD404から読み出されたデータなどを一時的に記憶する。
The
HDD404は、フロー情報に関するデータベースの他、該データベースを作成するためのプログラム、通信フローの経路を特定するためのプログラムなど、フローコレクタ40の機能を実現するためのプログラム、データなどを格納する。上述のID管理データベース431、フロー情報データベース432は、HDD404に作成され得る。入出力IF405は、スイッチ30に接続され、スイッチ30とのデータ通信を制御する。入出力IF405は外部出力端子を含み、外部出力端子に接続された外部装置にデータを出力することができる。
The
フローコレクタ40のハードウェア構成は、上述した構成に限定されるものではなく、種々の構成とすることができる。例えば、フローコレクタ40は、HDD404に代えてまたは加えてフラッシュメモリなどの不揮発性の記憶装置を備えていてもよく、メモリカードの可搬記憶媒体を着脱可能に備えていてもよい。また、フローコレクタ40は、液晶ディスプレイなどの表示装置、キーボード、マウス、タッチパネルなどの入力装置を備えていてよい。
The hardware configuration of the
図7は、本実施形態に係るデータベース作成処理のフローチャートである。データベース作成処理は、フローコレクタ40による通信解析方法の一部である。まず、CPU401は、フロー情報を受信したか否かを判断する(ステップS101)。すなわち、CPU401は、仮想スイッチ13、23、仮想ルータ21、スイッチ30のいずれかから、フロー情報を受信したか否かを判断する。フロー情報が受信されない場合(ステップS101でNO)、CPU401は、フロー情報が受信されるまで待機する。
FIG. 7 is a flowchart of database creation processing according to this embodiment. The database creation process is part of the communication analysis method by the
フロー情報が受信された場合(ステップS101でYES)、CPU401は、フロー情報のキーを作成する(ステップS102)。具体的には、CPU401は、受信したフロー情報に含まれる送信元IPアドレス、宛先IPアドレス、送信元ポート番号、宛先ポート番号、IPプロトコル番号、ToSフラグ値を連結することにより、フロー同定キーを作成する(図3参照)。
When flow information is received (YES in step S101), the
続いて、CPU401は、同一のフロー同定キーが存在するか否かを判断する(ステップS103)。すなわち、CPU401は、ステップS102で作成したフロー同定キーを用いてID管理データベース431を検索し、同一のフロー同定キーを有するIDレコードがID管理データベース431に保存されているか否かを判断する。
Subsequently,
同一のフロー同定キーが存在する場合(ステップS103でYES)、CPU401は、フロー同定キーに紐付けられたフローIDをID管理データベース431から取得し、該フローIDを新たに作成したフローレコードに付与する(ステップS104)。
If the same flow identification key exists (YES in step S103), the
一方、同一のフロー同定キーが存在しない場合(ステップS103でNO)、新規に払い出されたフローIDをフロー同定キーに紐付けて新たにIDレコードを作成し、ID管理データベース431に追加する。そして、CPU401は、新規フローIDを新たに作成したフローレコードに付与する(ステップS105)。
On the other hand, if the same flow identification key does not exist (NO in step S103), a new ID record is created by associating the newly issued flow ID with the flow identification key and added to the
続いて、CPU401は、フロー情報に含まれていた情報をフローレコードに含めるとともに、該フローレコードをフロー情報データベース432に保存する(ステップS106)。CPU401は、ステップS101に戻り、新たなフロー情報を待機する。
Subsequently, the
図8は、本実施形態に係る経路特定処理のフローチャートである。経路特定処理は、フローコレクタ40による通信解析方法の一部である。まず、CPU401は、NMSからネットワークの接続情報を取得する(ステップS201)。CPU401は、取得した接続情報をRAM403に一時的に記憶してもよく、HDD404に格納してもよい。また、CPU401は、接続情報を定期的に取得してHDD404に格納しておき、ステップS201において、HDD404から読み出すようにしてもよい。
FIG. 8 is a flowchart of route identification processing according to this embodiment. The route identification process is part of the communication analysis method by the
続いて、CPU401は、経路の特定対象となるフロー情報の集合を取得する(ステップS202)。すなわち、CPU401は、フロー情報データベース432を検索し、ユーザにより指示された所定の条件に合致するフローレコードを取得する。ユーザは、所定の条件として、通信フローを解析したい仮想マシン名(IPアドレス)、収集時刻の範囲などを指示することができる。ステップS202において、CPU401は、図9に示すフローレコードの集合を取得したものとする。なお、ステップS201とステップS202の処理順は任意であり、並行して処理が実行されてもよい。
Subsequently, the
次に、CPU401は、フロー情報の集合の中から任意のフロー情報を選択する(ステップS203)。すなわち、CPU401は、ステップS202において取得した複数のフローレコードの中から1つのフローレコードを選択する。例えば、CPU401は、図9のフローレコード501を選択する。
Next, the
続いて、CPU401は、通信フローが出力されたインターフェース番号を取得する(ステップS204)。すなわち、CPU401は、フローレコード501の出力インターフェース番号103を取得する。そして、CPU401は、取得したインターフェース番号の接続先が通信のエンドポイントか否か、すなわち仮想マシンか否かを判断する(ステップS205)。
Subsequently, the
例えば、CPU401は、図5に示す接続情報から、インターフェース103の接続先がスイッチ30であると判断する。この場合(ステップS205でNO)、CPU401は、接続先のインターフェース番号を取得する(ステップS206)。すなわち、CPU401は、スイッチ30のインターフェース番号301を取得する。
For example, the
続いて、CPU401は、ステップS206において取得したインターフェース番号から入力された通信フローを特定する(ステップS207)。すなわち、CPU401は、図9のフローレコードの集合を検索し、入力インターフェース番号が301のフローレコード506を取得する。
Subsequently,
CPU401は、ステップS204に戻り、ステップS207において特定した通信フローが出力されたインターフェース番号を取得する。すなわち、CPU401は、フローレコード506の出力インターフェース番号302を取得する。そして、CPU401は、図5に示す接続情報から、インターフェース302の接続先が仮想スイッチ23であると判断する。この時点で、CPU401は、フローID1によって表される通信フローが、仮想スイッチ13、スイッチ30、仮想スイッチ23を通過していることを特定することができる。
The
CPU401は、このようなインターフェース番号のマッチング処理(ステップS204~ステップS207の処理)を繰り返し実行することで、仮想マシン12までの通信フローの経路を特定することができる。すなわち、仮想スイッチ13、スイッチ30、仮想スイッチ23、仮想ルータ21、仮想スイッチ23、スイッチ30、仮想スイッチ13、仮想マシン12の順で経路が特定される。CPU401は、インターフェース番号の接続先が仮想マシンであると判断した場合(ステップS205でYES)、特定した経路情報をHDD404に格納する。
The
さらに、CPU401は、ステップS204~ステップS207と同様の処理を繰り返し実行することで、ステップS203において選択したフロー情報の入力側の経路を特定する。すなわち、CPU401は、ステップS204において、通信フローが入力されたインターフェース番号を取得し、ステップS207において、取得したインターフェース番号から出力された通信フローを特定する。これにより、仮想マシン11から仮想スイッチ13まで通信フローの経路が特定される。CPU401は、仮想マシン11から仮想マシン12までの全体の経路をHDD404に格納するとともに、表示装置、記憶媒体などに出力する(ステップS208)。
Further, the
本実施形態によれば、複数のネットワーク装置で収集されたフロー情報の中から、同一の通信フローに関するフロー情報を識別し、該フロー情報とネットワークの接続情報に基づいて、通信フローの経路を特定することが可能となる。これにより、システム上を流れる通信フローの経路、経路に関する統計量などの情報を可視化することができる。また、フロー情報の識別は、フロー情報に含まれるIPヘッダ、TCPヘッダまたはUDPヘッダに関する項目に基づいて行われ、複数箇所で収集された異なる通信フローを表す複数のフロー情報を、通信フローごとに一意に同定することができる。 According to this embodiment, flow information related to the same communication flow is identified from flow information collected by a plurality of network devices, and the path of the communication flow is specified based on the flow information and network connection information. It becomes possible to This makes it possible to visualize information such as the route of the communication flow flowing through the system and the statistics related to the route. In addition, identification of flow information is performed based on items related to IP headers, TCP headers, or UDP headers included in the flow information. can be uniquely identified.
[第2実施形態]
上述の実施形態における通信解析システムでは、システム上のすべてのネットワーク装置(ノード)においてフロー情報が収集できる構成であったが、フロー情報が収集できないノードが部分的に含まれていてもよい。本実施形態における通信解析システムについて、第1実施形態に係る通信解析システムと異なる構成を中心に説明する。
[Second embodiment]
Although the communication analysis system in the above-described embodiments is configured so that flow information can be collected from all network devices (nodes) on the system, some nodes may not collect flow information. A communication analysis system according to the present embodiment will be described with a focus on the configuration different from that of the communication analysis system according to the first embodiment.
図10は、本実施形態に係る通信解析システムのブロック図である。図10には、通信解析システムのネットワークの一部が示されており、フローコレクタ40およびその他のネットワーク装置は図示されていない。通信解析システムは、仮想マシン14、仮想スイッチ15、仮想マシン16、仮想スイッチ17、スイッチ31~33を備えている。
FIG. 10 is a block diagram of a communication analysis system according to this embodiment. FIG. 10 shows a portion of the network of the communication analysis system,
仮想スイッチ15はIF151~153を有し、IF151~153は、それぞれスイッチ31、仮想マシン14、スイッチ33に接続されている。仮想スイッチ17はIF171~173を有し、IF171~173は、それぞれスイッチ32、仮想マシン16、スイッチ33に接続されている。仮想スイッチ15、17は、スイッチ33を経由するルートと、スイッチ31、32を経由するルートの2つのルートで接続されている。なお、スイッチ31~33が有するIFの図示は省略されている。
The
スイッチ31~33においては、フロー集計プロトコルは動作しておらず、フロー情報を取得することができない。この場合、取得部44は、NMSから取得した接続情報を、仮想スイッチ15、17がスイッチ31~33を経由することなく直接接続されているように書き換える。これにより、スイッチ31~33の部分をブラックボックスとして解析することが可能となる。仮想スイッチ15、17に関する接続情報の一例を図11に示す。
In the
図11の接続情報によれば、仮想スイッチ15、17間の詳細な経路、すなわちスイッチ31~33の接続情報は不明であるが、スイッチ31~33の部分を除くネットワーク全体のフロー経路を解析することができる。このように、本実施形態の接続情報は、ネットワーク全体のフロー経路の理解に充分に役立つ情報となり得る。また、本実施形態の手法を応用することで、例えばVxLAN(Virtual eXtensible Local Area Network)のような通信経路の途中でトンネリングを行う通信に対する解析においても、トンネル内の詳細経路以外は経路の可視化が可能である。
According to the connection information in FIG. 11, the detailed route between the
[他の実施形態]
図12は、上述の実施形態におけるフローコレクタ(通信解析装置)40の概略構成図である。通信解析装置40は、受信部41、識別部42、解析部45を備えている。受信部41は、複数の仮想マシンを含むネットワーク内で収集された複数のフロー情報を受信する。識別部は、複数のフロー情報の中から、仮想マシン間の同一の通信フローを表すフロー情報の集合を特定する。解析部45は、フロー情報の集合およびネットワークの接続情報に基づいて、通信フローの経路を特定する。
[Other embodiments]
FIG. 12 is a schematic configuration diagram of the flow collector (communication analysis device) 40 in the above embodiment. The
本発明は、上述の実施形態に限定されることなく、本発明の趣旨を逸脱しない範囲において適宜変更可能である。例えば、フロー同定キーは、送信元IPアドレス、宛先IPアドレス、送信元ポート番号、宛先ポート番号、IPプロトコル番号、ToSフラグ値の6つの値に限定されない、例えば、VLANのIDを追加してもよい。これにより、仮想マシン11と仮想マシン12が互いに異なるVLANに属している場合に発生し得るIPアドレスの重複を排除することができる。また、フロー同定キーを用いてフロー情報を識別する際に、収集時刻を考慮してもよい。例えば、収集時刻の差が、所定の通信遅延時間の範囲内に無い場合には、同一の通信フローではないと判断することができる。
The present invention is not limited to the above-described embodiments, and can be modified as appropriate without departing from the gist of the present invention. For example, the flow identification key is not limited to the six values of source IP address, destination IP address, source port number, destination port number, IP protocol number, and ToS flag value. good. This makes it possible to eliminate duplication of IP addresses that may occur when the
上述の実施形態の機能を実現するように該実施形態の構成を動作させるプログラム(より具体的には、図7、図8に示す方法をコンピュータに実行させるプログラム)を記録媒体に記録させ、該記録媒体に記録されたプログラムをコードとして読み出し、コンピュータにおいて実行する処理方法も各実施形態の範疇に含まれる。すなわち、コンピュータ読取可能な記録媒体も各実施形態の範囲に含まれる。また、上述のプログラムが記録された記録媒体はもちろん、そのプログラム自体も各実施形態に含まれる。 A program for operating the configuration of the embodiment so as to realize the functions of the above-described embodiment (more specifically, a program for causing a computer to execute the methods shown in FIGS. 7 and 8) is recorded on a recording medium, A processing method of reading a program recorded on a recording medium as a code and executing it on a computer is also included in the category of each embodiment. That is, a computer-readable recording medium is also included in the scope of each embodiment. In addition to the recording medium on which the above program is recorded, the program itself is also included in each embodiment.
該記録媒体としては例えばフロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、CD-ROM、磁気テープ、不揮発性メモリカード、ROMを用いることができる。また該記録媒体に記録されたプログラム単体で処理を実行しているものに限らず、他のソフトウェア、拡張ボードの機能と共同して、OS上で動作して処理を実行するものも各実施形態の範疇に含まれる。 For example, a floppy (registered trademark) disk, hard disk, optical disk, magneto-optical disk, CD-ROM, magnetic tape, nonvolatile memory card, and ROM can be used as the recording medium. Further, not only the program recorded on the recording medium alone executes the process, but also the one that operates on the OS and executes the process in cooperation with other software and functions of the expansion board. included in the category of
上述の実施形態の一部または全部は、以下の付記のようにも記載されうるが、以下には限られない。 Some or all of the above-described embodiments can also be described as the following additional remarks, but are not limited to the following.
(付記1)
複数の仮想マシンを含むネットワーク内で収集された複数のフロー情報を受信する受信部と、
前記複数のフロー情報の中から、前記仮想マシン間の同一の通信フローを表すフロー情報の集合を特定する識別部と、
前記フロー情報の集合および前記ネットワークの接続情報に基づいて、前記通信フローの経路を特定する解析部とを備える通信解析装置。
(Appendix 1)
a receiving unit for receiving a plurality of flow information collected in a network including a plurality of virtual machines;
an identification unit that identifies, from among the plurality of pieces of flow information, a set of flow information representing the same communication flow between the virtual machines;
and an analysis unit that identifies a route of the communication flow based on the set of flow information and the connection information of the network.
(付記2)
前記フロー情報は、IP(Internet Protocol)ヘッダ、TCP(Transmission Control Protocol)ヘッダまたはUDP(User Datagram Protocol)ヘッダに関する項目を含み、前記識別部は、前記項目に基づいて前記フロー情報の集合を特定する付記1に記載の通信解析装置。
(Appendix 2)
The flow information includes items related to an IP (Internet Protocol) header, a TCP (Transmission Control Protocol) header, or a UDP (User Datagram Protocol) header, and the identification unit identifies the set of flow information based on the items. The communication analysis device according to
(付記3)
前記識別部は、送信元IPアドレス、宛先IPアドレス、送信元ポート番号、宛先ポート番号、IPプロトコル番号、ToS(Type of Service)フラグ値の組が合致するフロー情報を同一の通信フローと判断する付記2に記載の通信解析装置。
(Appendix 3)
The identifying unit determines that flow information matching a set of a source IP address, a destination IP address, a source port number, a destination port number, an IP protocol number, and a ToS (Type of Service) flag value is the same communication flow. The communication analysis device according to
(付記4)
前記識別部は、前記フロー情報の集合に対して同一の識別子を付与する付記1乃至3のいずれかに記載の通信解析装置。
(Appendix 4)
4. The communication analysis device according to any one of
(付記5)
前記識別子が付与された前記複数のフロー情報を記憶する記憶部を備え、
前記解析部は、前記識別子に基づいて前記記憶部から前記フロー情報の集合を抽出する付記4に記載の通信解析装置。
(Appendix 5)
a storage unit that stores the plurality of pieces of flow information to which the identifiers are assigned;
5. The communication analysis device according to appendix 4, wherein the analysis unit extracts the set of flow information from the storage unit based on the identifier.
(付記6)
前記フロー情報は、前記仮想マシン間の通信を中継する複数のノードのそれぞれにおいて収集され、収集が行われた前記ノードのIPアドレスおよびインターフェース番号を含み、
前記接続情報は、接続されている前記ノードのペアまたは前記ノードと前記仮想マシンのペアのそれぞれのIPアドレスおよびインターフェース番号を含む付記1乃至5のいずれかに記載の通信解析装置。
(Appendix 6)
the flow information is collected in each of a plurality of nodes that relay communication between the virtual machines, and includes the IP address and interface number of the node where the collection was performed;
6. The communication analysis device according to any one of
(付記7)
前記解析部は、前記フロー情報に含まれるインターフェース番号と前記接続情報に含まれるインターフェース番号とをマッチングさせることで前記通信フローの経路を特定する付記6に記載の通信解析装置。
(Appendix 7)
7. The communication analysis device according to appendix 6, wherein the analysis unit identifies the path of the communication flow by matching an interface number included in the flow information and an interface number included in the connection information.
(付記8)
前記ノードは、仮想スイッチまたは仮想ルータである付記6または7に記載の通信解析装置。
(Appendix 8)
8. The communication analysis device according to appendix 6 or 7, wherein the node is a virtual switch or a virtual router.
(付記9)
複数の仮想マシンを含むネットワーク内で収集された複数のフロー情報を受信するステップと、
前記複数のフロー情報の中から、前記仮想マシン間の同一の通信フローを表すフロー情報の集合を特定するステップと、
前記フロー情報の集合および前記ネットワークの接続情報に基づいて、前記通信フローの経路を特定するステップとを備える通信解析方法。
(Appendix 9)
receiving a plurality of flow information collected in a network including a plurality of virtual machines;
identifying, from among the plurality of pieces of flow information, a set of flow information representing the same communication flow between the virtual machines;
and identifying a route of the communication flow based on the set of flow information and the connection information of the network.
(付記10)
複数の仮想マシンを含むネットワーク内で収集された複数のフロー情報を受信するステップと、
前記複数のフロー情報の中から、前記仮想マシン間の同一の通信フローを表すフロー情報の集合を特定するステップと、
前記フロー情報の集合および前記ネットワークの接続情報に基づいて、前記通信フローの経路を特定するステップとをコンピュータに実行させるプログラム。
(Appendix 10)
receiving a plurality of flow information collected in a network including a plurality of virtual machines;
identifying, from among the plurality of pieces of flow information, a set of flow information representing the same communication flow between the virtual machines;
and identifying a route of the communication flow based on the set of flow information and the connection information of the network.
10 ホスト装置
11、12 仮想マシン
13 仮想スイッチ
101、102、103 インターフェース
20 ホスト装置
21 仮想ルータ
23 仮想マシン
23 仮想スイッチ
201、202 インターフェース
30 スイッチ
301、302 インターフェース
40 フローコレクタ
41 受信部
42 識別部
43 記憶部
431 ID管理データベース
432 フロー情報データベース
44 取得部
45 解析部
46 出力部
501~507 フローレコード
10
Claims (10)
前記複数のフロー情報の中から、前記仮想マシン間の同一の通信フローを表すフロー情報の集合を特定する識別部と、
前記フロー情報の集合および前記ネットワークの接続情報に基づいて、前記通信フローの経路を特定する解析部と
を備え、
前記フロー情報の集合に対してフローIDが付与され、前記フローIDが少なくとも送信元IPアドレスと宛先IPアドレスと仮想ローカルエリアネットワークのIDとを連結した値を含むフロー同定キーと紐付けられている通信解析装置。 a receiver that receives a plurality of flow information collected in a network that includes a plurality of virtual machines;
an identification unit that identifies, from among the plurality of pieces of flow information, a set of flow information representing the same communication flow between the virtual machines;
an analysis unit that identifies a route of the communication flow based on the set of flow information and the connection information of the network;
a flow identification key, wherein a flow ID is assigned to the set of flow information, and the flow ID includes at least a concatenated value of a source IP address, a destination IP address, and a virtual local area network ID; Linked communication analysis device.
前記解析部は、前記フローIDに基づいて前記記憶部から前記フロー情報の集合を抽出する請求項4に記載の通信解析装置。 A storage unit that stores the plurality of flow information to which the flow ID is assigned,
5. The communication analysis device according to claim 4, wherein the analysis unit extracts the set of flow information from the storage unit based on the flow ID .
前記接続情報は、接続されている前記ノードのペアまたは前記ノードと前記仮想マシンのペアのそれぞれのIPアドレスおよびインターフェース番号を含む請求項1乃至5のいずれか1項に記載の通信解析装置。 the flow information is collected in each of a plurality of nodes that relay communication between the virtual machines, and includes the IP address and interface number of the node where the collection was performed;
6. The communication analyzing apparatus according to any one of claims 1 to 5, wherein said connection information includes an IP address and an interface number of each of said connected pair of nodes or said pair of said node and said virtual machine.
前記複数のフロー情報の中から、前記仮想マシン間の同一の通信フローを表すフロー情報の集合をフロー同定キーと紐付けられているフローIDを用いて特定するステップと、
前記フロー情報の集合および前記ネットワークの接続情報に基づいて、前記通信フローの経路を特定するステップと
を備え、
前記フロー情報の集合に対してフローIDが付与され、前記フローIDが少なくとも送信元IPアドレスと宛先IPアドレスと仮想ローカルエリアネットワークのIDとを連結した値を含むフロー同定キーと紐付けられている、
通信解析方法。 receiving a plurality of flow information collected in a network including a plurality of virtual machines;
identifying, from among the plurality of pieces of flow information, a set of flow information representing the same communication flow between the virtual machines using a flow ID associated with a flow identification key;
determining a route of the communication flow based on the set of flow information and the network connection information;
a flow identification key, wherein a flow ID is assigned to the set of flow information, and the flow ID includes at least a concatenated value of a source IP address, a destination IP address, and a virtual local area network ID; tied up,
Communication analysis method.
前記複数のフロー情報の中から、前記仮想マシン間の同一の通信フローを表すフロー情報の集合をフロー同定キーと紐付けられているフローIDを用いて特定するステップと、
前記フロー情報の集合および前記ネットワークの接続情報に基づいて、前記通信フローの経路を特定するステップと
をコンピュータに実行させるプログラムであって、
前記フロー情報の集合に対してフローIDが付与され、前記フローIDが少なくとも送信元IPアドレスと宛先IPアドレスと仮想ローカルエリアネットワークのIDとを連結した値を含むフロー同定キーと紐付けられている、
プログラム。 receiving a plurality of flow information collected in a network including a plurality of virtual machines;
identifying, from among the plurality of pieces of flow information, a set of flow information representing the same communication flow between the virtual machines using a flow ID associated with a flow identification key;
A program for causing a computer to execute a step of identifying a route of the communication flow based on the set of flow information and the connection information of the network,
a flow identification key, wherein a flow ID is assigned to the set of flow information, and the flow ID includes at least a concatenated value of a source IP address, a destination IP address, and a virtual local area network ID; tied up,
program .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017066717A JP7164140B2 (en) | 2017-03-30 | 2017-03-30 | COMMUNICATION ANALYSIS DEVICE, COMMUNICATION ANALYSIS METHOD AND PROGRAM |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017066717A JP7164140B2 (en) | 2017-03-30 | 2017-03-30 | COMMUNICATION ANALYSIS DEVICE, COMMUNICATION ANALYSIS METHOD AND PROGRAM |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018170639A JP2018170639A (en) | 2018-11-01 |
JP7164140B2 true JP7164140B2 (en) | 2022-11-01 |
Family
ID=64018994
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017066717A Active JP7164140B2 (en) | 2017-03-30 | 2017-03-30 | COMMUNICATION ANALYSIS DEVICE, COMMUNICATION ANALYSIS METHOD AND PROGRAM |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7164140B2 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014220645A (en) | 2013-05-08 | 2014-11-20 | 富士通株式会社 | Fault determination program, device, system, and method |
JP2015142269A (en) | 2014-01-29 | 2015-08-03 | 日本電気株式会社 | Communication analyzer, communication analysis system, communication analysis method, and program |
JP2015171052A (en) | 2014-03-07 | 2015-09-28 | 富士通株式会社 | Identification device, identification program and identification method |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015012317A (en) * | 2013-06-26 | 2015-01-19 | 西日本電信電話株式会社 | Route identifying device, route identifying method, and program |
-
2017
- 2017-03-30 JP JP2017066717A patent/JP7164140B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014220645A (en) | 2013-05-08 | 2014-11-20 | 富士通株式会社 | Fault determination program, device, system, and method |
JP2015142269A (en) | 2014-01-29 | 2015-08-03 | 日本電気株式会社 | Communication analyzer, communication analysis system, communication analysis method, and program |
JP2015171052A (en) | 2014-03-07 | 2015-09-28 | 富士通株式会社 | Identification device, identification program and identification method |
Non-Patent Citations (1)
Title |
---|
饗庭秀一郎 他,フロー解析による仮想マシンのトラフィック制御に関する検討,電子情報通信学会技術研究報告 Vol.110 No.375,日本,社団法人電子情報通信学会,2011年 1月13日,p.17-22 |
Also Published As
Publication number | Publication date |
---|---|
JP2018170639A (en) | 2018-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11128550B2 (en) | Logical network traffic analysis | |
US11646952B2 (en) | Method and network device for tagging network traffic flows | |
RU2589340C2 (en) | Network system and method of acquiring vlan tag data | |
US8751642B2 (en) | Method and system for management of sampled traffic data | |
CN107094090B (en) | Physical path determination for virtual network packet flows | |
US20110170402A1 (en) | Apparatus and method for generating topology tree | |
US8203962B2 (en) | Network monitoring device, network monitoring method, and network monitoring program | |
JP5522495B2 (en) | Computer system, controller, controller manager, communication path analysis method | |
US20170317899A1 (en) | Using traffic data to determine network topology | |
CN109672562A (en) | Data processing method, device, electronic equipment and storage medium | |
US11750490B2 (en) | Communication coupling verification method, storage medium, and network verification apparatus | |
JP5883926B2 (en) | Management server and flow processing method | |
KR101984478B1 (en) | Method and apparatus for determining data transfer path by using dynamic network traffic analysis based on software defined networking | |
JP7164140B2 (en) | COMMUNICATION ANALYSIS DEVICE, COMMUNICATION ANALYSIS METHOD AND PROGRAM | |
KR20180058592A (en) | Software Defined Network Controller | |
JP6295681B2 (en) | Communication analysis device, communication analysis system, communication analysis method, and program | |
US11438237B1 (en) | Systems and methods for determining physical links between network devices | |
US9979613B2 (en) | Analyzing network traffic in a computer network | |
US10904123B2 (en) | Trace routing in virtual networks | |
KR20180058593A (en) | Software Defined Network Whitebox Switch | |
Ghazali et al. | Enhanced IPFIX flow monitoring for VXLAN based cloud overlay networks. | |
JP7444249B2 (en) | Table entry count measuring device, method, and program | |
US11616731B1 (en) | Determining a time-to-live budget for network traffic | |
CN117499274A (en) | Flow monitoring method, device, equipment and medium based on elastic public network IP | |
Pakhare | Velocity: A NetFlow based optimized Geo-IP Lookup tool |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20180413 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200210 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20201130 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20201210 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210208 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20210629 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210910 |
|
C60 | Trial request (containing other claim documents, opposition documents) |
Free format text: JAPANESE INTERMEDIATE CODE: C60 Effective date: 20210910 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20210921 |
|
C21 | Notice of transfer of a case for reconsideration by examiners before appeal proceedings |
Free format text: JAPANESE INTERMEDIATE CODE: C21 Effective date: 20210928 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20211029 |
|
C211 | Notice of termination of reconsideration by examiners before appeal proceedings |
Free format text: JAPANESE INTERMEDIATE CODE: C211 Effective date: 20211102 |
|
C22 | Notice of designation (change) of administrative judge |
Free format text: JAPANESE INTERMEDIATE CODE: C22 Effective date: 20220104 |
|
C22 | Notice of designation (change) of administrative judge |
Free format text: JAPANESE INTERMEDIATE CODE: C22 Effective date: 20220331 |
|
C22 | Notice of designation (change) of administrative judge |
Free format text: JAPANESE INTERMEDIATE CODE: C22 Effective date: 20220412 |
|
C13 | Notice of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: C13 Effective date: 20220421 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220620 |
|
C22 | Notice of designation (change) of administrative judge |
Free format text: JAPANESE INTERMEDIATE CODE: C22 Effective date: 20220816 |
|
C23 | Notice of termination of proceedings |
Free format text: JAPANESE INTERMEDIATE CODE: C23 Effective date: 20220825 |
|
C03 | Trial/appeal decision taken |
Free format text: JAPANESE INTERMEDIATE CODE: C03 Effective date: 20220920 |
|
C30A | Notification sent |
Free format text: JAPANESE INTERMEDIATE CODE: C3012 Effective date: 20220920 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20221013 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 7164140 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |