JP6500677B2 - パケット取得方法、分析装置、中継装置及びプログラム - Google Patents

パケット取得方法、分析装置、中継装置及びプログラム Download PDF

Info

Publication number
JP6500677B2
JP6500677B2 JP2015147763A JP2015147763A JP6500677B2 JP 6500677 B2 JP6500677 B2 JP 6500677B2 JP 2015147763 A JP2015147763 A JP 2015147763A JP 2015147763 A JP2015147763 A JP 2015147763A JP 6500677 B2 JP6500677 B2 JP 6500677B2
Authority
JP
Japan
Prior art keywords
packet
information
connection
switch
received
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015147763A
Other languages
English (en)
Other versions
JP2017028616A (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.)
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 JP2015147763A priority Critical patent/JP6500677B2/ja
Priority to US15/183,931 priority patent/US10193817B2/en
Publication of JP2017028616A publication Critical patent/JP2017028616A/ja
Application granted granted Critical
Publication of JP6500677B2 publication Critical patent/JP6500677B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/70Routing based on monitoring results
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/11Identifying congestion
    • H04L47/115Identifying congestion using a dedicated packet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/17Interaction among intermediate nodes, e.g. hop by hop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • H04L47/283Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/20Support for services
    • H04L49/208Port mirroring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

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

Description

本発明は、パケット取得方法、分析装置、中継装置及びプログラムに関する。
端末間で通信される通信パケットの複製を分析装置に送り、分析装置が受信した該通信パケットの複製を解析することで端末間におけるネットワークの状態を監視することが行われている(例えば、特許文献1及び特許文献2参照)。解析の一例としては、通信往復遅延時間(RTT:Round Trip Time、以下、「RTT」ともいう。)の測定が挙げられる。通信パケットの複製は、例えば端末間に設けられたスイッチのミラーリング機能を利用することにより所定の分析装置に送ることが可能である。
特開2007−184799号公報 特開2007−282004号公報
しかしながら、端末間に複数のスイッチが存在するネットワーク構成では、同一の通信パケットが複数のスイッチを経由することがあり、経由するそれぞれのスイッチがそれぞれのミラーリング機能により通信パケットの複製を分析装置に送ってしまう可能性がある。これによれば、複数のスイッチから同一の通信パケットの複製が重複して分析装置に送られるため、トラフィック量が多くなり、分析装置に大容量のメモリが必要となる。
これに対して、同一の通信パケットの複製が分析装置に送られることを回避するために、ある特定のスイッチのミラーリング機能のみを有効にすることが考えられる。しかしながら、その場合分析に必要な通信パケットが特定のスイッチを経由しないために分析装置に届かない可能性がある。例えば、端末間に第1及び第2のスイッチが存在するネットワーク構成において第1のスイッチのミラーリング機能のみを有効にする場合、第2のスイッチから分析装置には、分析に必要な通信パケットを含むすべてのパケットが送られない。このため、分析に必要な通信パケットが第1のスイッチを経由しないために分析装置が分析に必要な通信パケットを取得できない可能性がある。
更にRTTの測定結果は、通信パケットを取得するスイッチの位置によって大きく異なる。例えばデータ送信端末とそのデータに対する確認信号(ACK)送信端末との通信では、データ送信端末側に近い位置のスイッチが転送したパケットに基づき算出されたRTTは、より遠い位置のスイッチが転送したパケットに基づき算出されたRTTよりも精度が高い。よって、データ送信端末側により近い位置のスイッチによりミラーリングされた通信パケットを取得して分析装置に送ることが好ましい。他方、前記2端末はそれぞれがデータ送信端末、確認信号(ACK)送信端末のいずれにも成り得る。このため、データ送信端末側により近い位置のスイッチは一意には定まらない。この結果、同一の通信パケットの複製が分析装置に送られることを回避しつつ、分析装置によるRTTの分析の精度を向上させるスイッチの特定が困難であるという課題がある。
そこで、一側面では、本発明は、RTTの精度を向上させる通信パケットを送信する中継装置を特定することを目的とする。
一つの案では、複数の中継装置のそれぞれは、コネクションを確立するパケットに含まれる、送信元と送信先とに関する情報を示すコネクション情報を第2テーブルに記録し、前記第2テーブルに記録されたコネクション情報のパケットを複製して分析装置へ送信し、前記分析装置は、前記複数の中継装置からパケットを受信し、受信したパケットがコネクションを確立するパケットのときに、該パケットに含まれるコネクション情報が第1テーブルに記録されているかを判定し、前記第1テーブルに記録されていると判定した場合、前記コネクションを確立するパケットの送信元である中継装置に前記コネクション情報のパケットを送らないように指示する指示情報を通知し、前記第1テーブルに記録されていないと判定した場合、該記録されていないと判定したコネクション情報と受信した前記パケットの送信元の中継装置の識別情報とを対応させて前記第1テーブルに記録し、前記中継装置は、前記分析装置から前記コネクション情報のパケットを送らないように指示する指示情報の通知を受信し、受信した前記指示情報の通知にて指示された前記コネクション情報を前記第2テーブルから削除する、処理をコンピュータが実行するパケット取得方法が提供される。
一側面によれば、RTTの精度を向上させる通信パケットを送信する中継装置を特定することができる。
一実施形態にかかる情報処理システムの全体構成の一例を示す図。 一実施形態にかかる分析装置のハードウェア構成の一例を示す図。 一実施形態にかかる分析装置の機能構成の一例を示す図。 一実施形態にかかるスイッチの機能構成の一例を示す図。 一実施形態にかかるクライアント及びサーバ間のコネクションの確立を示す図。 一実施形態にかかるパケット構造及びコネクションテーブルの一例を示す図。 一実施形態にかかるミラーリングスイッチ登録テーブルの一例を示す図。 一実施形態にかかるスイッチIDテーブルの一例を示す図。 一実施形態にかかる時刻情報登録テーブルの一例を示す図。 一実施形態にかかるRTTスイッチ登録テーブルの一例を示す図。 一実施形態にかかるRTTの算出を説明するための図。 多階層の情報処理システムの構成の一例を示す図。 多階層の情報処理システムにおける通信パケットのミラーリングの一例を示す図。 多階層の情報処理システムにおけるミラーリングされたパケットの重複の一例を示す図。 一実施形態にかかるコネクション単位のミラーリングの一例を示す図。 一実施形態にかかるコネクション単位のミラーリングの一例を示す図。 一実施形態にかかるコネクション単位のミラーリングの一例を示す図。 第1実施形態にかかるパケットのミラーリングの一例を示すタイムチャート。 第1実施形態にかかる分析装置が実行するパケット処理の一例を示すフローチャート。 第1実施形態にかかるパケットのミラーリングの一例を示すタイムチャート。 第1実施形態にかかる分析装置が実行するRTT算出処理の一例を示すフローチャート。 第1実施形態にかかるパケットのミラーリングの一例を示すタイムチャート。 第2実施形態にかかるパケットのミラーリングの一例を示すタイムチャート。 第2実施形態にかかるパケットのミラーリングの一例を示すタイムチャート。 第2実施形態にかかる分析装置が実行するパケット処理の一例を示すフローチャート。 第3実施形態にかかるパケットのミラーリングの一例を示すタイムチャート。 第3実施形態にかかる分析装置が実行するパケット処理の一例を示すフローチャート。 第3実施形態にかかるパケットのミラーリングの一例を示すタイムチャート。 第3実施形態にかかる分析装置が実行するRTT算出処理の一例を示すフローチャート。 第3実施形態にかかるパケットのミラーリングの一例を示すタイムチャート。 第3実施形態にかかる分析装置が実行するRTT算出処理の一例を示すフローチャート。 第3実施形態にかかるパケットのミラーリングの一例を示すタイムチャート。
以下、本発明の実施形態について添付の図面を参照しながら説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複した説明を省く。
[情報処理システムの全体構成]
最初に、本発明の一実施形態に係る情報処理システム1の構成例について、図1を参照しながら説明する。図1は、本実施形態に係る分析装置2が使用される情報処理システム1の一例である。
情報処理システム1は、サーバ12a〜12c(以下、総称して「サーバ12」ともいう。)及びクライアント13a〜13c(以下、総称して「クライアント13」ともいう。)を有する。サーバ12a〜12c及びクライアント13a〜13cは、LAN(Local Area Network)等のネットワーク11を介して接続されている。分析装置2は、サーバ12a〜12c及びクライアント13a〜13c間で通信されるパケット(以下、「通信パケット」ともいう。)を取り込み、取り込んだパケットから情報処理システム1の通信の状態及びネットワークの品質を分析する。
スイッチ10a〜10c(以下、総称して「スイッチ10」ともいう。)は、サーバ12a〜12c及びクライアント13a〜13c間の通信をスイッチングしている。スイッチ10a〜10cは、分析装置2のNIC6(ネットワークインタフェースカード:Network Interface Card)(図2参照)にLAN等のネットワーク11を介して接続されている。スイッチ10a〜10cは、スイッチ10a〜10cを介してサーバ12a〜12c及びクライアント13a〜13c間で通信される所定のポートに入出力されるパケットを複製して分析装置2に転送するミラーリング機能を備える。スイッチ10a〜10cとして、例えば、LANスイッチなどを用いることができる。スイッチ10は、中継装置の一例である。中継装置の他の例としては、ルータが挙げられる。
分析装置2は、スイッチ10a〜10cのミラーリング機能を用いて、サーバ12a〜12c及びクライアント13a〜13c間で通信されるパケットを受信する。サーバ12a〜12cは、それぞれ、クライアント13a〜13cからのサービス要求を受けると、クライアント13a〜13cに対してサービスを提供する端末の一例である。サーバ12a〜12cは、例えば、不図示のCPU(Central Processing Unit)、メモリ、ディスクドライブ、NICなどを有する。
クライアント13a〜13cは、サーバ12a〜12cに対してサービスを要求し、サーバ12a〜12cからサービスを提供される端末の一例であり、例えば、不図示のCPU、メモリ、ディスクドライブ、NICなどを備える。
なお、情報処理システム1に含まれるサーバ12及びクライアント13の個数は、3台に限られず、1台又は2台以上であり得る。また、スイッチ10の個数は、3台に限られないが、後述される課題が生じるのは2台以上の場合である。
また、サーバ12及びクライアント13は、データ送信側の端末と、そのデータに対する確認信号(ACK)送信側の端末のいずれにも成り得る。
[分析装置2のハードウェア構成]
次に、分析装置2のハードウェアの構成例について、図2を参照しながら説明する。分析装置2は、CPU3a,3b、メモリ4、ディスクドライブ5及びNIC6を有する。CPU3a,3bは、種々の制御や演算を行なう処理装置である。
CPU3a,3bは、メモリ4上のオペレーションシステム7や分析アプリケーション8を用いて各種処理を実行する。CPU3a,3bは、例えば、分析アプリケーション8を実行することにより、情報処理システム1の通信の状態を分析する。なお、図2ではCPU3a,3bをCPU#0,CPU#1とも示す。
メモリ4は、例えば、RAM(Random Access Memory)などの一時記録領域である。メモリ4には、例えば、分析装置2が分析を行なうパケット(1)9a〜パケット(3)9cが一時的に格納される。
ディスクドライブ5は、データを記録するための記録領域を有する。ディスクドライブ5としては、公知のHDD(Hard Disk Drive)やSSD(Solid State Drive)などを用いることができる。ディスクドライブ5には、オペレーションシステム7と分析アプリケーション8とが保存され、起動時にメモリ4に展開される。また、ディスクドライブ5には、分析装置2が使用する各種テーブル等のデータが格納されている(不図示)。
NIC6は、LAN等を介して分析装置2をスイッチ10に接続するためのネットワークアダプタである。NIC6の一例としては、LANカードが挙げられる。NIC6は、プロミスキャスモードに対応している。プロミスキャスモードとは、NIC6の動作モードの1つであり、自分宛のデータパケットでないパケットも取り込んで処理するモードである。
標準の動作モードにおいては、NIC6は自分宛のパケットを受信したときにだけ、当該パケットの受信をオペレーションシステム7に通知する。一方、プロミスキャスモードにおいては、NIC6はパケットの宛先に関わらずパケットの到着をオペレーションシステム7に通知し、オペレーションシステム7は自分宛のパケット以外のパケットも受信することができる。
NIC6に到達したパケットは、NIC6のプロミスキャスモードを用いて、オペレーションシステム7を経由してメモリ4に記録され、CPU3により解析される。なお、NIC6の動作、特に、CPU3とのデータのやり取りを行なう手法については公知であるため、その詳細な説明を省略する。
オペレーションシステム7は、分析装置2のシステム全体を管理するソフトウェアであり、OSとも表記される。オペレーションシステム7としては、UNIX(登録商標)やWindows(登録商標)などの公知のオペレーションシステムを使用することができる。
[分析装置の機能構成]
次に、分析装置2の機能構成例について、図3を参照しながら説明する。分析装置2は、オペレーションシステム7を使用して機能するL4解析部20と記録部25と通知部26とを有する。L4解析部20は、受信部21、コネクション管理部22、判定部23及び算出部24を有する。受信部21は、例えばNIC6により実現される。コネクション管理部22、判定部23及び算出部24は、例えばCPU3により実現される。
受信部21は、スイッチ10からパケットの複製を受信する。NIC6は、パケットを受信する受信部の一例である。コネクション管理部22は、パケットのコネクションの確立を管理する。判定部23は、受信したパケットがコネクションを確立するパケットのときに、該パケットに含まれるコネクション確立情報が分析装置2のミラーリングスイッチ登録テーブル40に記録されているかを判定する。以下では、パケットの送信元と送信先とに関する情報を組み合わせた情報をコネクション情報ともいう。コネクション情報の一例としては、送信先IPアドレス、送信先ポート番号、送信元IPアドレス、送信元ポート番号が挙げられる。つまり、コネクション情報は、コネクション確立情報であってもよく、コネクション確立情報とは送信先及び送信元のIPアドレス及びポート番号が逆向きの情報であってもよい。
算出部24は、パケットの複製を送信した後に該パケットが正しく送信されたことを示すACKパケット(確認パケット)の複製を受信するまでの時間(RTT)を算出する。算出部24は、パケットの複製を受信した時刻情報とそのACKパケットの複製を受信した時刻情報とからRTTを算出する。
記録部25は、スイッチIDテーブル30、ミラーリングスイッチ登録テーブル40、時刻情報登録テーブル50及びRTTスイッチ登録テーブル60の各種テーブルの情報を記録する。
通知部26は、分析装置2に最初にコネクションを確立するパケットを送信したスイッチ10以降に同じコネクションを確立するパケットを送信したスイッチ10に、重複パケットの複製を送信しないように指示する指示情報を通知(以下、「コネクション情報削除通知」ともいう。)する。通知部26は、NIC6を経由してコネクション情報削除通知を送信する。
[スイッチの機能構成]
次に、スイッチ10の機能構成例について、図4を参照しながら説明する。本実施形態では、多階層のスイッチ構造を有し、各スイッチ10は同一の機能構成を有する。スイッチ10は、受信部14、制御部15、送信部16及び記録部17を有する。
記録部17は、受信部14で受信したパケットに含まれるコネクション確立情報をコネクションテーブル70に記録する。コネクションテーブル70は、ミラーリングの対象となるコネクション確立情報を記録するテーブルである。例えば、コネクションテーブル70には、図5に示すようなクライアント13とサーバ12との間のコネクションの確立のためのパケットに含まれるコネクション確立情報が記録される。つまり、コネクションの確立のためのパケットに含まれるコネクション確立情報がコネクションテーブル70に記憶されたコネクション情報となる。コネクションテーブル70は、コネクションを確立するパケットに含まれる、送信元と送信先とに関する情報を示すコネクション情報を記録する第2テーブルの一例である。
図5には、接続方向がクライアント13からサーバ12へ向かう場合のコネクションの確立の一実施形態が示されている。コネクション確立時には、SYN、SYN ACK、ACKの各パケットの通信後にコネクションが接続状態となる。なお、コネクションの確立時に通信されるパケットの接続シーケンスについては公知であるため、その説明を省略する。
図5では、通信パケット内の送信元IPアドレスを「SA」にて示し、送信先IPアドレスを「DA」にて示し、送信元ポート番号を「SP」にて示し、送信先ポート番号を「DA」にて示す。SYNパケットは、送信元IPアドレス(SA)「1.1.1.1」、送信先IPアドレス(DA)「10.1.1.1」、送信元ポート番号(SP)「10000」、送信先ポート番号(DP)「80」の各データを有する。
図6(a)に示すパケット81のデータ構造の一例では、パケット81はIPヘッダ82、TCPヘッダ83及びTCPデータ84を有する。図6(b)はIPヘッダ82のデータ構造を示し、図6(c)はTCPヘッダ83のデータ構造を示す。
図5に示すSYNパケットの送信元IPアドレス(SA)「1.1.1.1」は、図6(b)の送信元IPアドレス821内のデータを示す。図5に示すSYNパケットの送信先IPアドレス(DA)「10.1.1.1」は、図6(b)の送信先IPアドレス822内のデータを示す。図5に示すSYNパケットの送信元ポート番号(SP)「10000」は、図6(c)の送信元ポート番号831を示す。図5に示すSYNパケットの送信先ポート番号(DP)「80」は、図6(c)の送信元ポート番号832を示す。
図6(d)に示すように、コネクションテーブル70は、送信先IPアドレス71、送信先ポート番号72、送信元IPアドレス73及び送信元ポート番号74のコネクション情報を有する。送信先IPアドレス71は、送信先(接続先;デスティネーション)のIPアドレスを示す。送信先ポート番号72は、送信先(接続先;デスティネーション)のポート番号を示す。送信元IPアドレス73は、送信元(接続元;ソース)のIPアドレスを示す。送信元ポート番号74は、送信元(接続元;ソース)のポート番号を示す。
図5のSYNパケットの場合、記録部17は、コネクションテーブル70の送信先IPアドレス71に「10.1.1.1」を記録し、送信先ポート番号72に「80」を記録し、送信元IPアドレス73に「1.1.1.1」を記録し、送信元ポート番号74に「10000」を記録する。
コネクション確立時の図5に示すSYNパケットに含まれる送信元IPアドレス(SA)「1.1.1.1」、送信元ポート番号(SP)「10000」、送信先IPアドレス(DA)「10.1.1.1」及び送信先ポート番号(DP)「80」は、コネクション確立情報の一例である。
SYN ACKパケットは、送信元IPアドレス(SA)「10.1.1.1」、送信元ポート番号(SP)「80」、送信先IPアドレス(DA)「1.1.1.1」、送信先ポート番号(DP)「10000」の各データを有する。SYN ACKパケットに含まれる送信元と送信先とに関する情報は、SYNパケットに含まれるコネクション確立情報とは送信元と送信先との情報が反対であり同一ではない。よって、SYN ACKパケットにはコネクション確立情報は含まれず、SYN ACKパケットに含まれる送信元と送信先とに関する情報はコネクションテーブル70には記録されない。ただし、SYN ACKパケットに含まれる送信元と送信先とに関する情報は、SYNパケットに含まれるコネクション確立情報と論理的に同一のコネクション情報である。
本実施形態では、コネクションの確立の一例としてTCPコネクションの接続シーケンスを挙げて説明するが、コネクションの確立においてはTCPコネクションに限られず、他の通信プロトコルに従い接続シーケンスが実行されてもよい。
TCPコネクションでは、送信先IPアドレス、送信先TCPポート番号、送信元IPアドレス、送信元TCPポート番号がコネクション確立情報である。なお、送信先IPアドレス、送信先ポート番号、送信元IPアドレス、送信元ポート番号は、送信元と送信先とに関する情報を組み合わせたコネクション情報の一例である。
送信部16は、パケットを送信する。受信部14は、パケットを受信する。受信部14は、パケットに含まれるコネクション確立情報と論理的に同一(以下では、単にコネクション確立情報と同一ともいう。)のコネクション情報が分析装置2のミラーリングスイッチ登録テーブル40にすでに記録されていると判定された場合、送信元のスイッチ10のコネクションテーブル70からコネクション情報を削除するコネクション情報削除通知を受ける。制御部15は、スイッチ全体を制御する。
[各種テーブル]
分析装置2の記録部25は、コネクションを確立するパケットに含まれるコネクション確立情報をミラーリングスイッチ登録テーブル40に記録する。図7は、ミラーリングスイッチ登録テーブル40の一例を示す。具体的には、ミラーリングスイッチ登録テーブル40の送信先IPアドレス41、送信先ポート番号42、送信元IPアドレス43及び送信元ポート番号44には、コネクションを確立するパケットに含まれるコネクション確立情報が記録される。また、ミラーリングスイッチ登録テーブル40には、当該コネクション確立情報を含むパケットの送信元のスイッチを識別するスイッチID45が記録される。コネクション管理部22は、パケットの複製が分析装置2の物理ポートに転送されたかを管理する。記録部25は、図8に一例を示すようなスイッチIDテーブル30を予め記録している。スイッチIDテーブル30は、イーサネット(登録商標)の物理ポートを示すインターフェース31をスイッチID32に変換するためのテーブルである。例えばパケットの複製が分析装置2の物理ポート「eth1」のインターフェースから入力された場合、記録部25は、スイッチIDテーブル30に基づきスイッチID32のSW1を選択し、ミラーリングスイッチ登録テーブル40のスイッチID45にSW1を記録する。ミラーリングスイッチ登録テーブル40は、コネクションを確立するパケットに含まれるコネクション確立情報と、受信したパケットの送信元のスイッチ10の識別情報とを対応させて記録する第1テーブルの一例である。
時刻情報登録テーブル50には、分析装置2がパケットの複製を取得した時刻情報が記録される。図9に、時刻情報登録テーブル50の一例を示す。記録部25は、ミラーリングスイッチ登録テーブル40に記録されているコネクション情報を時刻情報登録テーブル50の送信先IPアドレス51、送信先ポート番号52、送信元IPアドレス53及び送信元ポート番号54に記録する。また、記録部25は、例えば、パケットの複製のシーケンス番号833(図6(c)参照)をTCPシーケンス番号55に記録し、パケットの複製を受信した時刻を時刻情報56に記録する。
図10のRTTスイッチ登録テーブル60には、パケットのRTT(通信往復遅延時間)を算出するために、コネクション確立後にパケットの複製がスイッチ10を通過した時刻が記録される。記録部25は、コネクション確立情報をRTTスイッチ登録テーブル60の送信先IPアドレス61、送信先ポート番号62、送信元IPアドレス63及び送信元ポート番号64に記録する。また、記録部25は、各パケットの複製を転送する各スイッチのスイッチID(1)65,スイッチID(2)67,・・スイッチID(3)69と各スイッチをパケットが通過した時刻情報(1)66、時刻情報(2)68、・・時刻情報(N)70を記録する。
[RTTの算出]
分析装置2は、クライアント13及びサーバ12間のRTTを測定するために、TCPプロトコルのデータ転送パケットの取得時間及び該データ転送パケットのACKパケットの取得時間を測定する。ACKパケットは、確認パケットの一例である。分析装置2は、データ転送パケット及びACKパケットの取得時間の時間差からRTTを算出する。
ミラーリングするスイッチ10が複数存在する場合、クライアント13またはサーバ12に近いスイッチで複製したパケットの送信時間に基づきRTTを算出した方が精度良くRTTを算出できる。具体的には、図11に示すように、クライアント13から送信したデータ転送パケットに対してサーバ12からACKパケットが送信された場合について説明する。この場合、クライアントに近いスイッチ10aでミラーリングしたパケットから算出したRTT1は、サーバ13に近いスイッチ10bでミラーリングしたパケットから算出したRTT2よりも実際のRTTに近い値が得られる。
逆にサーバ12からのデータ転送パケットに対してクライアント13からACKパケットが送信された場合、スイッチ10bでミラーリングしたパケットから算出したRTT3は、スイッチ10aでミラーリングしたパケットから算出したRTT4よりも精度が高い。
多階層の情報処理システム1では、各端末がクライアント13及びサーバ12の機能を有し、同時に動作させてシステムを構築するため、クライアント13またはサーバ12に近いスイッチを選択することが困難である。
図12に示すスイッチ10a〜10c(ここでは、スイッチ10dは非対象)は、物理ポート単位でパケットを複製し、複製したパケットを分析装置2に送信する。このため、スイッチ10a〜10cでミラーリングを行うと、複数のスイッチ10a〜10cから分析装置2に複製した同一のパケットが重複して送信され得る。この結果、分析装置2に転送されるパケットのトラフィック量が多くなり、分析装置2のパケット受信能力を超え、分析装置2にて解析が困難になる場合がある。例えば、図12では、クライアント13aと1階層目のサーバ12aとの間の通信におけるパケットの複製が、スイッチ10a及びスイッチ10bから重複して分析装置2に送られる。また、クライアントとして機能する1階層目のサーバ12aと2階層目のサーバ12bとの間の通信におけるパケットの複製が、スイッチ10b及びスイッチ10cから重複して分析装置2に送られる。
この課題を解決するため、クライアント13及びサーバ12間の通信経路から、パケットが重複しないスイッチを選択し、パケットの重複を発生させないことで、トラフィック量を削減し、分析装置2への負荷を軽減させる方法がある。具体的に、図13のクライアント13a、1階層目サーバ12a、2階層目サーバ12bで構成され、クライアント12a及び1階層目サーバ12a間と、1階層目サーバ12a及び2階層目サーバ12b間で通信する情報処理システムを例に挙げて説明する。
この情報処理システムでは、ミラーリングするスイッチを指定するミラーリング指定ポート方法1は、1階層目サーバ12aが接続されているスイッチ10bの物理ポートだけを指定する。一方、ミラーリング指定ポート方法2は、クライアント13aが接続されているスイッチ10aのポートを指定し、かつ2階層目サーバ12bが接続されているスイッチ10cのポートを指定する。
上記ミラーリング指定方法では、ミラーリング指定ポート方法1又はミラーリング指定ポート方法2のいずれかにより指定されたスイッチが複製したパケットのみが分析装置2に転送される。これにより、パケットを重複させずにクライアント13またはサーバ12に近いスイッチでミラーリングし、RTTを精度よく求めることができる。
しかしながら、図14に示すように、複数のクライアント13a、13bが接続され、クライアント毎に通信経路が異なる場合、パケット重複によるトラフィック増加の課題が発生してしまう。例えば第1のクライアント13aと1階層目サーバ12aとの通信、及び1階層目サーバ12aと2階層目サーバ12bとの通信が行われる経路と、第2のクライアント13bと2階層目サーバ12bとの通信が行われる経路が混在する場合について説明する。この場合、ミラーリング指定ポート方法1を行うと、1階層目サーバ12aが接続されているスイッチ10cの物理ポートだけをミラーリング指定するため、第2のクライアント13bと2階層目サーバ12bとの通信がミラーリングできなくなる。
そこで、2階層目サーバ12bが接続されているスイッチ10dの物理ポートもミラーリング指定を行うと、第2のクライアント13b及び2階層目サーバ12b間の通信はミラーリング可能となる。この場合、1階層目サーバ12a及び2階層目サーバ12b間の通信がスイッチ10cとスイッチ10dでミラーリングしてしまうため、パケット重複によるトラフィック増加の課題が発生してしまう。そこで、第1実施形態〜第3実施形態にかかるパケット取得方法により、下記の課題1,2を解決する。
[課題1]複数のスイッチ10で構成されている情報処理システム1では、同一パケットが複数のスイッチ10で中継される。このため、データ転送パケットとACKパケットとによりRTTを正確に求めるためには、データ転送パケットの送信元になるべく近いスイッチ10でミラーリングしたデータ転送パケットとそのACKパケットの時間差に基づきRTTを算出する必要がある。
[課題2]複数のスイッチ10で構成されている情報処理システム1のネットワークを監視する場合、中継したスイッチ10の全てでミラーリングを行うとパケットが重複してしまい通信のトラフィック量が増大する。このため、複製したパケットが重複して分析装置2に送信されないように、ミラーリングするスイッチ10を選択する必要がある。
本実施形態にかかる情報処理システムでは、SDN(Software-Defined Network)に対応したスイッチ10が使用される。SDNに対応したスイッチ10は、例えば運用者がデフォルト値として指定した、送信先IPアドレス、送信先TCPポート番号、送信元IPアドレス、送信元TCPポート番号の組み合わせ(コネクション確立情報)に基づきミラーリング対象のパケットを送出する。そして、スイッチ10は、コネクション確立情報を各スイッチ10にて記録されるコネクションテーブル70に保存する。
分析装置2が、スイッチ10から複製したSYNパケットを受信したとき、ミラーリングスイッチ登録テーブル40にコネクション確立情報が記録される。図5に示すSYNパケットの場合、ミラーリングスイッチ登録テーブル40には、送信先IPアドレス41に送信先IPアドレス(DA)「10.1.1.1」が記録され、送信先ポート番号42にに送信先ポート番号(DP)「80」が記録され、送信元IPアドレス43に送信元IPアドレス(SA)「「1.1.1.1」が記録され、送信元ポート番号44に送信元ポート番号(SP)「10000」が記録される。また、スイッチID45には、複製したSYNパケットを入力したインターフェース31から特定されるスイッチID「SW1」が記録される。
ただし、例えばスイッチ10から送出されたパケットが分析装置2に到達するまでの間に失われた場合のように異常が発生したとき、分析装置2はSYNパケットを取得せずにSYN ACKパケットを取得することがある。この場合、SYN ACKパケットがコネクションを確立するパケットになり、分析装置2が、スイッチ10からSYN ACKパケットを複製して受信したとき、ミラーリングスイッチ登録テーブル40にSYN ACKパケットのコネクション確立情報が記録される。
つまり、この場合には、SYNパケットに含まれる送信元と送信先とに関する情報に替えて、SYN ACKパケットに含まれる送信元と送信先とに関する情報がコネクション確立情報となる。
ただし、SYN ACKパケットに含まれる送信元と送信先とに関する情報がミラーリングスイッチ登録テーブル40に記録される場合、サーバ13を送信先、クライアント12を送信元としてミラーリングスイッチ登録テーブル40に記録される。具体的には、図5に示すSYNパケットの場合、ミラーリングスイッチ登録テーブル40には、送信先IPアドレス41に送信元IPアドレス(SA)「10.1.1.1」が記録され、送信先ポート番号42に送信元ポート番号(SP)「80」が記録され、送信元IPアドレス43に送信先IPアドレス(DA)「1.1.1.1」が記録され、送信元ポート番号44に送信先ポート番号(DP)「10000」が記録される。
保存後、スイッチ10は、コネクションテーブル70に記録されたコネクション情報に応じたパケットだけを複製し、分析装置2に送信する機能を有する。コネクションテーブル70に記録されたコネクション情報に応じたパケットとは、各パケットが有する送信元と送信先とに関するコネクション情報が、コネクションテーブル70に記録されたコネクション情報と論理的に同一のパケットである。
また、コネクションテーブル70から特定のコネクション情報を削除することで、削除されたコネクション情報に応じたパケットの複製を行わない設定をすることができる。そのため、分析装置2は、複製したパケットの受信に応じてコネクション情報を記録したミラーリングスイッチ登録テーブル40に基づき分析装置2に最初にコネクションを確立するパケットを送信したスイッチ10以外のスイッチは、同一コネクションのミラーリング対象としないよう指示をする。
例えば、図15に示す情報処理システムにおいて、ここでは便宜上スイッチ10a、10b及びスイッチ10eは非対象(本機能が含まれていないスイッチ)とし、1階層目サーバ12aに近いスイッチ10c及び2階層目サーバ12bに近いスイッチ10dのみを対象スイッチ(本機能が含まれているスイッチ)として説明する。このとき、第1のクライアント13a及び1階層目サーバ12a間の通信経路上に存在するスイッチ10cにより通信パケットがミラーリングされ、分析装置2に送られる。
次に、第2のクライアント13b及び2階層目サーバ12b間の通信経路上に存在するスイッチ10dによって通信パケットがミラーリングされ、分析装置2に送られる。次に、1階層目サーバ12a及び2階層目サーバ12b間の通信経路上に存在するスイッチ10c、10dをパケットが通過する際、分析装置2がコネクションの確立を最初に検出したスイッチ10c以外の他スイッチ10dで同一コネクションの確立を検出する。その場合、1階層目サーバ12aが接続されているスイッチ10cによりパケットがミラーリングされ、スイッチ10dからのミラーリングは行われない。後述される図18のステップS9、S10に示すように、後に受信したSYNパケットのスイッチIDにより特定されるスイッチ10dは、分析装置2からコネクション情報削除通知を受信する。この通知に応じてスイッチ10dの記録部17は、コネクションテーブル70dから該当するコネクション情報を削除する。
これにより、本実施形態にかかるパケット取得方法によれば、複数のスイッチ10間でミラーリングする同一パケットの分析装置2への重複転送を防止し、トラフィック量を低減することができる。また、分析装置2がコネクションの確立を最初に検出したスイッチ10cのミラーリング機能のみを有効にすることで、クライアント13に最も近い方のスイッチ10でパケットをミラーリングし、それ以外のスイッチ10のミラーリング機能を停止させることが可能となる。これによりRTTを正確に算出することができる。
分析装置2は、複製されたパケットを解析し、コネクションを確立するパケット(例えば、SYNパケット)を検出することが可能である。TCP/IPの通信方式を例にして説明すると、分析装置2は、SYNパケットを検出した場合、入力インターフェースから取得可能な受信したスイッチのアドレスであるスイッチIDとSYNパケットのコネクション確立情報を解析する。スイッチIDとコネクション確立情報は、ミラーリングスイッチ登録テーブル40に保存される。
分析装置2は、ミラーリングスイッチ登録テーブル40を検索し、コネクション確立情報と論理的に同一のコネクション情報が既に登録されていれば、他のスイッチ10で既にミラーリング対象の同一コネクションが確立されていると判定できる。よって、分析装置2は、2番目以降にSYNパケットを検出したスイッチ(以下、「他スイッチ」ともいう。)と判定する。分析装置2は、他スイッチからSYNパケットの通知があったと判定した場合、他スイッチが管理するコネクションテーブル70から該当コネクション情報を削除することを指示するコネクション情報削除通知を他スイッチに送信する。これにより、他スイッチが管理するコネクションテーブル70から該当コネクション情報が削除され、ミラーリングの対象から除かれることにより同一パケットの重複転送にかかる上記課題を解消できる。
図16には、コネクション情報削除通知がスイッチ10dに送られる例が示されている。これにより、スイッチ10dのコネクションテーブル70からコネクション情報が削除される。これにより、かかるコネクションに関するスイッチ10dからのミラーリングが停止される。なお、コネクション情報削除通知に含まれる情報の一例としては、ミラーリング削除要求、送信先IPアドレス、送信先ポート番号、送信元IPアドレス、送信元ポート番号、ミラーリング出力ポートが挙げられる。
ミラーリングスイッチが多段階の場合の情報処理システムの例を、図17を参照しながら説明する。この場合、第1のクライアント13a及び1階層目サーバ12aの通信が発生し、スイッチ10aから分析装置2にSYNパケットの複製が送信される。次に、スイッチ10cから分析装置2にSYNパケットの複製が送信される。分析装置2では、順番に2個のSYNパケットの複製が受信され、2番目のSYNパケットの複製を検出した時、SYNパケットの複製の入力インターフェース(eth3)からスイッチ10cのアドレス(スイッチID)を特定する。分析装置2は、スイッチIDのスイッチ10cに対して、パケットのコネクション情報(接続先IPアドレス、接続先ポート番号、接続元IPアドレス、接続元ポート番号)をコネクションテーブル70から削除するコネクション情報削除通知を送信する。これに応じてコネクションテーブル70から該当コネクション情報が削除されることで、該当コネクションのスイッチ10cからのミラーリングが停止する。これにより、同一パケットの複製が重複して分析装置2に送信されることを回避できる。
同様にして、第2のクライアント13a及び2階層目サーバ12bの通信が発生し、スイッチ10bから分析装置2にSYNパケットの複製が送信されたとき、スイッチ10dから同一パケットの複製が重複して分析装置2に送信されることを回避できる。
同様にして、1階層目サーバ12a及び2階層目サーバ12bの通信が発生し、スイッチ10cから分析装置2にSYNパケットの複製が送信されたとき、スイッチ10dから重複するパケットの複製が分析装置2に送信されることを回避できる。
次に、以上に説明した分析装置2と複数のスイッチ10との間におけるパケットのミラーリング(パケットの取得方法)及びRTTの算出方法について、第1実施形態から第3実施形態までを順に説明する。
<第1実施形態>
[パケットのミラーリング]
第1実施形態に係る情報処理システム1におけるパケットのミラーリング処理について図18〜図22を参照しながら説明する。図18、図20及び図22は、TCP/IPのコネクション確立から切断までミラーリングの動作の一例を示す。図19及び図21は、その際の分析装置の動作の一例を示す。
本実施形態では、1階層目のサーバ12aと2階層目のサーバ12bとのパケット通信において、1階層目のサーバ12aに近い方のスイッチ10cと2階層目のサーバ12bに近い方のスイッチ10dとから分析装置2へパケットのミラーリングが行われる。
まず、1階層目のサーバ12aから2階層目のサーバ12bへSYNパケットが送信される。スイッチ10cの受信部14は、当該パケットを受信する。スイッチ10cの記録部17は、自スイッチ10cのコネクションテーブル70cにSYNパケットが有する送信先IPアドレス、送信先ポート番号、送信元IPアドレス及び送信元ポート番号を登録する(ステップS1)。例えば、図6(d)に示すように、送信先IPアドレス71、送信先ポート番号72、送信元IPアドレス73及び送信元ポート番号74に「10.1.1.1」、「80」、「1.1.1.1」、「10000」が登録される。次に、スイッチ10cの送信部16は、SYNパケットの複製を分析装置2に転送する(ステップS2)。
同様に、スイッチ10dの記録部17は、自スイッチ10dのコネクションテーブル70dにSYNパケットが有する送信先IPアドレス、送信先ポート番号、送信元IPアドレス及び送信元ポート番号を登録する(ステップS3)。次に、スイッチ10dの送信部16は、SYNパケットの複製を分析装置2に転送する(ステップS4)。
分析装置2の受信部21は、複製したSYNパケットを受信する。判定部23は、ミラーリングスイッチ登録テーブル40(図7)を検索し(ステップS5)、SYNパケットに含まれるコネクション確立情報と同一のコネクション情報がミラーリングスイッチ登録テーブル40に既に登録されているかを判定する。判定部23がコネクション確立情報と同一のコネクション情報が登録されていないと判定した場合、記録部25は、当該コネクション確立情報をミラーリングスイッチ登録テーブル40に登録する(ステップS6)。これにより、ミラーリングスイッチ登録テーブル40に、送信先IPアドレス41、送信先ポート番号42、送信元IPアドレス43及び送信元ポート番号44のコネクション情報が登録される。また、記録部25は、スイッチIDテーブル30(図8)に基づき、複製したSYNパケットを入力したインターフェース31からスイッチID32を特定し、ミラーリングスイッチ登録テーブル40のスイッチID45に登録する(ステップS6)。
受信部21がスイッチ10dから複製したSYNパケットを受信すると、判定部23は、ミラーリングスイッチ登録テーブル40を検索し(ステップS7)、SYNパケットに含まれるコネクション確立情報と同一のコネクション情報が既に登録されているかを判定する。ここでは、SYNパケットのコネクション確立情報と同一のコネクション情報であってスイッチ10dに対応するスイッチIDとは異なるスイッチ10cのスイッチIDが既に登録されている。そこで、判定部23は、異なるスイッチIDのコネクション情報が既に登録されていると判定する(ステップS8)。通知部26は、後に受信したSYNパケットのスイッチIDにより特定されるスイッチ10dにコネクション情報削除通知を送信する(ステップS9)。コネクション情報削除通知を受信したスイッチ10dの記録部17は、コネクションテーブル70dから該当するコネクション情報を削除する(ステップS10)。
(ミラーリングスイッチ登録テーブル40への登録)
図18に示す動作のうち、分析装置2が実行する処理を、図19のフローチャートを参照しながら説明する。本処理が開始されると、分析装置の受信部21は、SYNパケット又はSYN ACKパケットを受信する(ステップS100)。具体的には、受信部21は、SYNパケットを受信する。ただし、スイッチ10から送出されたパケットが分析装置2に到達するまでの間に失われ、分析装置2に到達しなかったときのような異常時には、分析装置2はSYN ACKパケットを受信する。
コネクション管理部22は、受信したパケットを入力したインターフェース31を取得する(ステップS102)。次に、判定部23は、スイッチIDテーブル30を検索し、受信したパケットを入力したインターフェース31からスイッチID32を取得する(ステップS104)。次に、判定部23は、パケットからコネクション確立情報(送信先IPアドレス、送信先ポート番号、送信元IPアドレス、送信元ポート番号)を取得する(ステップS106)。
判定部23は、ミラーリングスイッチ登録テーブル40を検索する(ステップS108)。判定部23は、取得したコネクション確立情報と同一のコネクション情報がミラーリングスイッチ登録テーブル40にないと判定した場合(ステップS110)、記録部25は、ミラーリングスイッチ登録テーブル40にコネクション確立情報とスイッチIDとを登録する(ステップS114)。
他方、ステップS110において判定部23が、ミラーリングスイッチ登録テーブル40に同一のコネクション情報があり、かつスイッチIDが異なると判定した場合(ステップS118)、通知部26は、後に受信したSYNパケットの送信元のスイッチ10にコネクション情報削除通知を行う(ステップS116)。
[RTTの算出]
次に、第1実施形態に係る情報処理システム1におけるRTTの算出処理について図20を参照しながら説明する。2階層目のサーバ12bから1階層目のサーバ12aへSYN ACKパケットが送信されると、スイッチ10cの受信部14は、SYN ACKパケットを受信する。制御部15がコネクションテーブル70cに記録されているコネクション情報と同一の送信元と送信先に関する情報を有するパケットであると判定すると、送信部16は、SYN ACKパケットの複製を分析装置2に転送する(ステップS11)。
これに対して、スイッチ10dでは、コネクションテーブル70dに記録されているコネクション情報と同一の送信元と送信先に関する情報を有するパケットでないため、スイッチ10dからのSYN ACKパケットのミラーリングは行われない。
次に、1階層目のサーバ12aから2階層目のサーバ12bへACKパケットが送信されると、スイッチ10cの受信部14は、ACKパケットを受信し、スイッチ10cの送信部16は、ACKパケットの複製を分析装置2に転送する(ステップS12)。
次に、1階層目のサーバ12aから2階層目のサーバ12bへデータ転送パケットが送信される。スイッチ10cの受信部14は、データ転送パケットを受信し、スイッチ10cの送信部16は、データ転送パケットの複製を分析装置2に転送する(ステップS13)。
分析装置2の受信部21が、スイッチ10cから送信されたデータ転送パケットの複製を受信する。このとき、判定部23は、データ転送パケットに含まれる送信元及び送信先に関する情報に基づき、受信したデータ転送パケットがSYNパケットと送信元及び送信先が同方向であるかを判定する(ステップS16)。ここでは、データ転送パケットがSYNパケットと送信元及び送信先が同方向であるため、記録部25は、図9に示す時刻情報登録テーブル50の時刻情報56に、データ転送パケットを受信した時刻を登録する(ステップS17)。
次に、分析装置2の受信部21が、スイッチ10cから送信されたデータ転送パケットの複製(ステップS14)を受信する。判定部23は、データ転送パケットに含まれる送信元及び送信先に関する情報に基づき、受信したデータ転送パケットがSYNパケットと送信元及び送信先が同方向であるかを判定する(ステップS18)。ここでは、データ転送パケットがSYNパケットと送信元及び送信先が同方向であるため、記録部25は、図9に示す時刻情報登録テーブル50の時刻情報56に、データ転送パケットを受信した時刻を上書き登録する(ステップS19)。
次に、分析装置2の受信部21が、スイッチ10cから送信されACKパケットの複製(ステップS15)を受信する。判定部23は、ACKパケットに含まれる送信元及び送信先に関する情報に基づき、受信したデータ転送パケットが同一のコネクション情報を有するSYNパケットと送信元及び送信先が逆方向であると判定する(ステップS20)。この場合、算出部24は、時刻情報登録テーブル50から該当するコネクション情報の時刻情報56を読み出し(ステップS21)、ACKパケットを受信した時刻と読み出した時刻情報56との差分からRTTを算出する(ステップS22)。
(RTT算出機能)
図20に示す動作のうち、分析装置2が実行する処理を、図21のフローチャートを参照しながら説明する。図19の「1」に続く本処理が開始されると、分析装置2の判定部23は、受信したパケットの複製がFINパケットか否かを判定する(ステップS120)。
判定部23は、FINパケットでないと判定した場合、データ転送パケットか否かを判定する(ステップS122)。判定部23は、データ転送パケットであると判定した場合、データ転送パケットがSYNパケットと同方向であるかを判定する(ステップS124)。SYNパケットと同方向でないと判定された場合、本処理を終了する。一方、SYNパケットと同方向であると判定された場合、記録部25は、時刻情報登録テーブル50の時刻情報56に、データ転送パケットを受信した時刻を登録し(ステップS126)、本処理を終了する。
ステップS122において、判定部23は、データ転送パケットでないと判定した場合、受信したパケットの複製がデータ転送パケットに対するACKパケットかを判定する(ステップS128)。データ転送パケットに対するACKパケットでないと判定された場合、分析装置2は本処理を終了する。データ転送パケットに対するACKパケットであると判定された場合、算出部24は、時刻情報登録テーブル50から該当するコネクション情報の時刻情報56を読み出す(ステップS130)。算出部24は、ACKパケットを受信した時刻と読み出した時刻情報56との差分からRTTを算出し(ステップS132)、本処理を終了する。ステップS120においてFINパケットであると判定された場合の処理については後述される。
[コネクションの切断]
次に、第1実施形態に係る情報処理システム1におけるコネクションの切断時の処理について図22を参照しながら説明する。2階層目のサーバ12bから1階層目のサーバ12aへFINパケット(すなわち、コネクションを切断するパケット)が送信される。スイッチ10cの受信部14は、FINパケットを受信する。スイッチ10cの送信部16は、受信したFINパケットの複製を分析装置2に転送する(ステップS23)。
分析装置2の受信部21が複製したFINパケットを受信すると、判定部23は、ミラーリングスイッチ登録テーブル40を検索する(ステップS24)。判定部23は、FINパケットに含まれる送信元及び送信先に関する情報と論理的に同一のコネクション情報を検出し、記録部25は、当該コネクション情報及びスイッチIDをミラーリングスイッチ登録テーブル40から削除する(ステップS25)。これにより、ミラーリングスイッチ登録テーブル40から当該コネクション情報の送信先IPアドレス41、送信先ポート番号42、送信元IPアドレス43、送信元ポート番号44及びスイッチID45が削除される。
通知部26は、削除されたスイッチID45により識別されるスイッチ10cにコネクション情報削除通知を送信する(ステップS26)。コネクション情報削除通知が到達する前に、スイッチ10cは、受信したFINパケットに対するACKパケットの複製を転送する(ステップS27)。コネクション情報削除通知を受信したスイッチ10cの記録部17は、コネクションテーブル70cから該当するコネクション情報を削除する(ステップS28)。これにより、スイッチ10のミラーリングを終了させることができる。
図21に戻り、コネクションの切断時の分析装置2の処理について説明する。分析装置2の受信部21がFINパケットの複製を受信すると、判定部23は、ステップS120においてFINパケットであると判定する。この場合、記録部25は当該コネクション情報及びスイッチIDをミラーリングスイッチ登録テーブル40から削除する(ステップS134)。次に、通知部26は、削除されたスイッチID45により識別されるスイッチ10cにコネクション情報削除通知を送信し(ステップS136)、本処理を終了する。
以上に説明したように、第1実施形態に係る情報処理システム1によれば、複数のスイッチが存在する場合、パケットが重複しないようにミラーリングするスイッチを選択することができる。より詳しくは、分析装置2に最初にコネクションを確立するパケットをミラーリングしたスイッチ以外のスイッチから同一パケットのミラーリングが行われることを防止することができる。これにより、分析装置2に同一パケットが重複して転送されることを防ぐことができる。また、分析装置2に最初にコネクションを確立するパケットをミラーリングしたスイッチ10のみからパケットがミラーリングされる。これにより、クライアント13からサーバ12へのデータ送信では、クライアント13に最も近いスイッチから転送されたパケットの複製に基づき精度よくRTTを算出することができる。また、サーバ12からクライアント13へデータが送信されたときは、サーバ12に最も近いスイッチから転送されたパケットの複製に基づき精度よくRTTを算出することができる。
<第2実施形態>
以上、第1実施形態では、TCP/IPのコネクション確立手順(3ウェイハンドシェイク)におけるパケット取得方法について説明した。しかしながら、本実施形態に係るパケット取得方法は、TCP/IPのコネクション確立時だけでなく、他のデータ通信方式(例えば、HDLC(High-Level Data Link Control)通信)のコネクション確立手順にも適用可能である。
[パケットのミラーリング]
第2実施形態に係る情報処理システム1におけるパケットのミラーリング処理について図23〜図25を参照しながら説明する。図23〜図25は、HDLCにおける動作モード設定コマンドの一つであるSABME(set asynchronous balanced mode:拡張非同期平衡モード設定)のコネクション確立から切断までミラーリングの動作の一例を示す。
まず、1階層目のサーバ12aから2階層目のサーバ12bへSABMEパケットが送信される。スイッチ10cの受信部14は、当該パケットを受信する。記録部17は、自スイッチのコネクションテーブル70cにSABMEパケットが有する送信先IPアドレス、送信先ポート番号、送信元IPアドレス及び送信元ポート番号を登録する(ステップS31)。次に、スイッチ10cの送信部16は、SABMEパケットの複製を分析装置2に転送する(ステップS32)。
同様に、スイッチ10dの記録部17は、自スイッチのコネクションテーブル70dにSABMEパケットが有する送信先IPアドレス、送信先ポート番号、送信元IPアドレス及び送信元ポート番号を登録する(ステップS33)。次に、スイッチ10dの送信部16は、SABMEパケットの複製を分析装置2に転送する(ステップS34)。
分析装置2の受信部21が複製したSABMEパケットを受信すると、判定部23は、ミラーリングスイッチ登録テーブル40を検索し(ステップS35)、SABMEパケットのコネクション確立情報と同一のコネクション情報が既に登録されているかを判定する。判定部23は、登録されていないと判定した場合、記録部25は当該コネクション確立情報をミラーリングスイッチ登録テーブル40に登録する(ステップS36)。これにより、送信先IPアドレス41、送信先ポート番号42、送信元IPアドレス43及び送信元ポート番号44のコネクション情報がミラーリングスイッチ登録テーブル40に登録される。また、記録部25は、スイッチIDテーブル30に基づき、複製したSABMEパケットを入力したインターフェース31からスイッチID32を特定し、ミラーリングスイッチ登録テーブル40のスイッチID45に登録する(ステップS36)。
受信部21がスイッチ10dから複製したSABMEパケットを受信すると、判定部23は、ミラーリングスイッチ登録テーブル40を検索し(ステップS37)、SABMEパケットに含まれるコネクション確立情報と同一のコネクションが既に登録されているかを判定する。ここでは、コネクション確立情報と同一のコネクション情報であってスイッチ10dに対応しないスイッチIDが既に登録されている。そこで、判定部23は、異なるスイッチIDのコネクション情報が既に登録されていると判定する(ステップS38)。通知部26は、後に受信したSYNパケットのスイッチIDにより特定されるスイッチ10dにコネクション情報削除通知を送信する(ステップS39)。コネクション情報削除通知を受信したスイッチ10dの記録部17は、コネクションテーブル70dから該当するコネクション情報を削除する(ステップS40)。
[RTTの算出]
続いて、第2実施形態に係る情報処理システム1では、図24に示すように、2階層目のサーバ12bから1階層目のサーバ12aへUA(Unnumbered Acknowledgement:非番号制フレーム)パケットが送信される。スイッチ10cの受信部14は、UAパケットを受信する。スイッチ10cの制御部15は、コネクションテーブル70cに記録されているコネクション情報に応じた送信元と送信先に関する情報を有するパケットであると判定すると、送信部16は、UAパケットの複製を分析装置2に転送する(ステップS41)。
これに対して、スイッチ10dでは、コネクションテーブル70dに記録されているコネクション情報に応じた送信元と送信先に関する情報を有するパケットでないため、スイッチ10dからのUAパケットのミラーリングは行われない。
次に、1階層目のサーバ12aから2階層目のサーバ12bへI−Frame(Information frame:データフレーム)パケットが送信される。スイッチ10cの受信部14は、I−Frameパケットを受信し、スイッチ10cの送信部16は、I−Frameパケットの複製を分析装置2に転送する(ステップS42)。
分析装置2の受信部21は、スイッチ10cから送信されたI−Frameパケットの複製を受信する。判定部23は、I−Frameパケットに含まれるコネクション確立情報に基づき、受信したI−FrameパケットがSABMEパケットと送信元及び送信先が同方向であると判定する(ステップS45)。記録部25は、時刻情報登録テーブル50に、受信したデータ転送パケットの受信時刻56の情報を登録する(ステップS46)。
次に、2階層目のサーバ12bから1階層目のサーバ12aへRR(Receive Ready:確認)パケットが送信される。スイッチ10cの受信部14は、RRパケットを受信し、スイッチ10cの送信部16は、RRパケットの複製を分析装置2に転送する(ステップS44)。
分析装置2の受信部21は、スイッチ10cから送信されRRパケットの複製を受信する。判定部23は、ACKパケットに含まれるコネクション情報に基づき、受信したデータ転送パケットのコネクション情報に対応するSYNパケットと送信元及び送信先が逆方向であると判定する(ステップS47)。算出部24は、時刻情報登録テーブル50から該当するコネクション情報の時刻情報56を読み出し(ステップS48)、I−Frameパケットの受信時刻情報とRRパケットの受信時刻情報との差分からRTTを算出する(ステップS49)。
[コネクションの切断]
コネクションの切断時には、図25に示すように、1階層目のサーバ12aから2階層目のサーバ12bへDISC(Disconnect:切断パケット)パケットが送信される。スイッチ10cの受信部14は、DISCパケットを受信する。スイッチ10cの送信部16は、受信したDISCパケットの複製を分析装置2に転送する(ステップS53)。
分析装置2の受信部21が複製したDISCパケットを受信すると、判定部23は、ミラーリングスイッチ登録テーブル40を検索する(ステップS54)。判定部23がDISCパケットに含まれるコネクション情報と同一の情報を検出すると、記録部25はコネクション情報及びスイッチIDをミラーリングスイッチ登録テーブル40から削除する(ステップS55)。これにより、ミラーリングスイッチ登録テーブル40から当該コネクション情報の送信先IPアドレス41、送信先ポート番号42、送信元IPアドレス43、送信元ポート番号44及びスイッチID45が削除される。
通知部26は、削除されたスイッチID45により識別されるスイッチ10cにコネクション情報削除通知を送信する(ステップS56)。コネクション情報削除通知を受信したスイッチ10cの記録部17は、コネクションテーブル70cから該当するコネクション情報を削除する(ステップS57)。これにより、スイッチ10のミラーリングを終了させることができる。
以上に説明したように、第2実施形態に係る情報処理システム1によれば、複数のスイッチが存在する場合、パケットが重複しないようにミラーリングするスイッチを選択することができる。より詳しくは、分析装置2に最初にコネクションを確立するパケットをミラーリングしたスイッチ以外のスイッチから同一パケットのミラーリングが行われることを防止することができる。これにより、分析装置2に同一パケットが重複して転送されることを防ぐことができる。また、分析装置2に最初にコネクションを確立するパケットをミラーリングしたスイッチ10のみからパケットがミラーリングされる。これにより、クライアント13からサーバ12へのデータ送信では、クライアント13に最も近いスイッチから転送されたパケットの複製に基づき精度よくRTTを算出することができる。また、サーバ12からクライアント13へデータが送信されたときは、サーバ12に最も近いスイッチから転送されたパケットの複製に基づき精度よくRTTを算出することができる。
<第3実施形態>
[パケットのミラーリング]
次に、第3実施形態に係る情報処理システム1におけるパケットのミラーリング処理について図26〜図32を参照しながら説明する。第3実施形態に係る情報処理システム1では、コネクション確立手順(例えば、TCPのスリーハンドシェク、HDLC通信など)において一時的なRTTを測定することが可能である。
例えば、図26に示すように、まず、1階層目のサーバ12aから2階層目のサーバ12bへSYNパケットが送信される。スイッチ10c、10dはSYNパケットを受信し、それぞれの記録部17は、それぞれのスイッチのコネクションテーブル70c、70dにSYNパケットが有する送信先IPアドレス、送信先ポート番号、送信元IPアドレス及び送信元ポート番号を登録する(ステップS61、S63)。次に、それぞれのスイッチの送信部16は、SYNパケットの複製を分析装置2に転送する(ステップS62、S64)。
分析装置2の受信部21が複製したSYNパケットを受信すると、判定部23は、RTTスイッチ登録テーブル60を検索し(ステップS65)、SYNパケットに含まれるコネクション確立情報と同一の情報が既に登録されているかを判定する。判定部23は、コネクション確立情報と同一の情報が登録されていないと判定した場合、記録部25は当該コネクション確立情報をRTTスイッチ登録テーブル60に登録する(ステップS66)。これにより、送信先IPアドレス61、送信先ポート番号62、送信元IPアドレス63及び送信元ポート番号64がRTTスイッチ登録テーブル60に登録される。また、記録部25は、スイッチIDテーブル30に基づき、複製したSYNパケットを入力したインターフェース31からスイッチID32を特定し、RTTスイッチ登録テーブル60のスイッチID65に登録する(ステップS66)。
分析装置2の受信部21がスイッチ10dから複製したSYNパケットを受信すると、判定部23は、RTTスイッチ登録テーブル60を検索し(ステップS67)、SYNパケットに含まれるコネクション確立情報と同一の情報が既に登録されているかを判定する。この時点で判定部23は、コネクション確立情報と同一の情報が登録されていると判定し、記録部25は当該コネクション確立情報に対応させて、インターフェース31から特定されるスイッチ10dのスイッチID65を登録する(ステップS68)。
(ミラーリング機能)
図26に示す動作のうち、分析装置2が実行する処理を、図27のフローチャートを参照しながら説明する。本処理が開始されると、分析装置の受信部21は、SYNパケット又はSYN ACKパケットを受信する(ステップS200)。受信部21は、パケットを受信するが、ここでは、SYNパケット又はSYN ACKパケットを受信した場合の処理について言及する。コネクション管理部22は、受信したパケットを入力したインターフェース31を取得する(ステップS202)。次に、コネクション管理部22は、スイッチIDテーブル30を検索し、受信したパケットを入力したインターフェース31からスイッチID32を取得する(ステップS204)。次に、コネクション管理部22は、パケットからコネクション確立情報を取得する(ステップS206)。
判定部23は、RTTスイッチ登録テーブル60を検索する(ステップS208)。判定部23がコネクション確立情報と同一のコネクション情報がRTTスイッチ登録テーブル60にないと判定した場合(ステップS210)、記録部25は、RTTスイッチ登録テーブル60にコネクション確立情報とスイッチIDとパケットを受信した時刻情報とを登録する(ステップS214)。
判定部23は、ステップS210においてコネクション確立情報と同一のコネクション情報があり、かつスイッチIDが同じと判定した場合(ステップS216)、図29の「1」に進む。一方、判定部23が、ステップS210においてコネクション確立情報と同一のコネクション情報があり、かつスイッチIDが異なると判定した場合(ステップS216)、記録部25は、RTTスイッチ登録テーブル60にコネクション確立情報とスイッチIDとパケットを受信した時刻情報とを登録し(ステップS214)、本処理を終了する。
[RTTの算出]
次に、第3実施形態に係る情報処理システム1におけるRTTの算出処理について図28を参照しながら説明する。2階層目のサーバ12bから1階層目のサーバ12aへSYN ACKパケットが送信される。スイッチ10dがSYN ACKパケットを受信する。と、送信部16は、SYN ACKパケットの複製を分析装置2に転送する(ステップS71)。同様に、SYN ACKパケットを受信したスイッチ10cの送信部16は、SYN ACKパケットの複製を分析装置2に転送する(ステップS72)。
判定部23は、RTTスイッチ登録テーブル60を検索し(ステップS73)、スイッチ10dが複製したSYN ACKパケットに応じたコンテンツ情報及び該当スイッチIDの時刻情報を検出する。算出部24は、検出した時刻情報(SYNパケットの複製を受信した時刻情報)とSYN ACKパケットの複製を受信した時刻情報との差分を算出し、スイッチ10dのRTTを求める(ステップS74)。
また、判定部23は、RTTスイッチ登録テーブル60を検索し(ステップS75)、スイッチ10cが複製したSYN ACKパケットに応じたコンテンツ情報及び該当スイッチIDの時刻情報を検出する。算出部24は、SYNパケットの複製を受信した時刻情報とSYN ACKパケットの複製を受信した時刻情報との差分を算出し、スイッチ10cのRTTを求める(ステップS76)。
算出部24は、RTTスイッチ登録テーブル60から算出されたすべてのスイッチに対するRTTを読み出し(ステップS77)、読み出したすべてのRTTの大きさを比較する(ステップS78)。次に、通知部26は、RTTが最も大きいスイッチID以外のスイッチIDのスイッチ10dにコネクション情報削除通知を行う(ステップS79)。コネクション情報削除通知を受信したスイッチ10dは、コネクションテーブル70dから該当するコネクション情報を削除する(ステップ80)。
次に、1階層目のサーバ12aから2階層目のサーバ12bへACKパケットが送信されると、データ転送パケットを受信したスイッチ10cの送信部16は、ACKパケットの複製を分析装置2に転送する(ステップS81)。スイッチ10dのコネクションテーブル70dから該当するコネクション情報は削除されているため、スイッチ10dの送信部16からACKパケットの複製は送信されない。
(RTT算出機能)
図28に示す動作のうち、分析装置2が実行する処理を、図29のフローチャートを参照しながら説明する。図29の「1」に続く本処理が開始されると、分析装置2の判定部23は、受信したパケットの複製がSYN ACKパケットか否かを判定する(ステップS224)。
判定部23は、SYN ACKパケットでないと判定した場合、図31の「2」に進む。判定部23は、SYN ACKパケットであると判定した場合、RTTスイッチ登録テーブル60を検索し(S226)、該当スイッチ10が複製したSYN ACKパケットに応じたコンテンツ情報及び該当スイッチIDに応じた時刻情報を検出する。算出部24は、検出した時刻情報とSYN ACKパケットの複製を受信した時刻情報との差分を該当スイッチ10の位置におけるRTTとして算出する(ステップS228)。
算出部24は、スイッチに対するRTTがすべてのSYN ACKパケットに対して算出されたかを判定する(ステップS230)。RTTがすべてのSYN ACKパケットに対して算出されなかった場合、本処理を終了する。RTTがすべてのSYN ACKパケットに対して算出された場合、全RTTを読み出し(ステップS232)、読み出したすべてのRTTの大きさを比較する(ステップS234)。次に、通知部26は、RTTが最も大きいスイッチID以外のスイッチIDに応じたスイッチにコネクション情報削除通知を行い(ステップS236)、本処理を終了する。
[RTTの算出]
次に、第3実施形態に係る情報処理システム1におけるRTTの算出処理について図30を参照しながら説明する。1階層目のサーバ12aから2階層目のサーバ12bへデータ転送パケットが送信される度にスイッチ10cから複製したデータ転送パケットが転送される(ステップS82、S83)。
分析装置2の受信部21が、スイッチ10cから送信されたデータ転送パケットの複製を受信する。判定部23は、データ転送パケットに含まれるコネクション情報に基づき、受信したデータ転送パケットとSYNパケットとは送信元及び送信先の方向が同方向であるかを判定する(ステップS85、S87)。ここでは、同方向であるため、記録部25は、時刻情報登録テーブル50の時刻情報56に、受信したデータ転送パケットの受信時刻の情報を上書き登録する(ステップS86、S88)。
2階層目のサーバ12bから1階層目のサーバ12aへACKパケットが送信されると、スイッチ10cから複製したACKパケットが転送される(ステップS84)。
分析装置2の判定部23は、受信したACKパケットの複製とSYNパケットの複製とは送信元及び送信先の方向が逆方向であると判定する(ステップS89)。算出部24は、時刻情報登録テーブル50から該当するコネクション情報の時刻情報56を読み出し(ステップS90)、ACKパケットの複製を受信した時刻情報と読み出した時刻情報56との差分からRTTを算出する(ステップS91)。
(RTT算出機能)
図30に示す動作のうち、分析装置2が実行する処理を、図31のフローチャートを参照しながら説明する。図29の「1」に続く本処理が開始されると、分析装置2の判定部23は、受信したパケットの複製がFINパケットか否かを判定する(ステップS240)。
判定部23は、受信したパケットの複製がFINパケットでないと判定した場合、データ転送パケットか否かを判定する(ステップS242)。判定部23は、データ転送パケットであると判定した場合、データ転送パケットがSYNパケットと同方向であるかを判定する(ステップS244)。SYNパケットと同方向でないと判定された場合、本処理を終了する。一方、SYNパケットと同方向であると判定された場合、記録部25は、時刻情報登録テーブル50の時刻情報56に、データ転送パケットを受信した時刻を登録し(ステップS246)、本処理を終了する。
ステップS242において、判定部23は、データ転送パケットでないと判定した場合、受信したパケットの複製がデータ転送パケットに対するACKパケットかを判定する(ステップS248)。ACKパケットでないと判定された場合、本処理を終了する。ACKパケットであると判定された場合、算出部24は、時刻情報登録テーブル50から該当するコネクション情報の時刻情報56を読み出す(ステップS250)。算出部24は、ACKパケットを受信した時刻情報と読み出した時刻情報56との差分からRTTを算出し、(ステップS252)、本処理を終了する。ステップS240において受信したパケットの複製がFINパケットであると判定された場合については後述される。
[コネクションの切断]
次に、第3実施形態に係る情報処理システム1におけるコネクションの切断時の処理について図32を参照しながら説明する。2階層目のサーバ12bから1階層目のサーバ12aへFINパケットが送信される。スイッチ10cの受信部14は、FINパケットの複製を分析装置2に転送する(ステップS92)。
分析装置2が複製したFINパケットを受信すると、判定部23は、RTTスイッチ登録テーブル60を検索する(ステップS93)。記録部25は、複製したFINパケットに含まれるコネクション情報と同一のコネクション情報、スイッチID及び時刻情報をRTTスイッチ登録テーブル60から削除する(ステップS94)。これにより、RTTスイッチ登録テーブル60(図10)から当該コネクション情報の送信先IPアドレス61、送信先ポート番号62、送信元IPアドレス63、送信元ポート番号64、スイッチID及び時刻情報が削除される。
スイッチ10cは、受信したFINパケットに対するACKパケットの複製を転送する(ステップS95)。通知部26は、削除されたスイッチIDにより識別されるスイッチ10cにコネクション情報削除通知を送信する(ステップS96)。スイッチ10cはコネクション情報削除通知を受信し、記録部17は、コネクションテーブル70cから該当するコネクション情報を削除する(ステップS97)。これにより、スイッチ10のミラーリングを終了させることができる。
コネクションの切断時の分析装置2の処理について、図31を参照しながら説明する。分析装置2の受信部21がFINパケットの複製を受信すると、判定部23は、ステップS240においてFINパケットであると判定する。この場合、記録部25は、RTTスイッチ登録テーブル60から当該コネクション情報及びスイッチIDを削除する(ステップS254)。次に、通知部26は、削除されたスイッチIDにより識別されるスイッチ10にコネクション情報削除通知を送信し(ステップS256)、本処理を終了する。
以上に説明したように、第3実施形態に係る情報処理システム1によれば、コネクションの確立を検出する際にRTTを測定し、RTTスイッチ登録テーブル60に該当スイッチ10cのRTTを保存する。その後、RTTを測定したスイッチ10c以外の他スイッチ10dで同一コネクションの確立を検出した場合、そのスイッチ10dに対するRTTを測定する。すべてのRTTが測定されると、すべてのRTTの比較を行い、RTTの値が最も大きいスイッチ以外のスイッチに対して、コネクション情報を削除する通知を行う。これにより、RTTの値が最も大きいスイッチ以外のスイッチでは、確立されたコネクションをミラーリング対象のコネクションとはみなさないように制御できる。これにより、複数のスイッチ10間で同一パケットの複製を重複して分析装置2に転送することを回避できる。また、RTTの値が最も大きいスイッチ10cによりミラーリングすることで、クライアント13またはサーバ12に最も近いスイッチ10でミラーリングすることを可能にする。
例えば、クライアント13からサーバ12にデータパケットが送信されたとき、クライアント13に最も近いスイッチがミラーリングしたデータパケット及びそのACKパケットの受信時刻情報からRTTを算出することで、RTTを正確に測定することができる。
サーバ12からクライアント13にデータパケットが送信されたとき、サーバ12に最も近いスイッチがミラーリングしたデータパケット及びそのACKパケットの受信時刻情報からRTTを算出することで、RTTを正確に測定することができる。
ただし、上記実施形態では、算出されたRTTが最も大きいとされたスイッチ以外のスイッチにコネクション情報削除通知を行ったが、これに限らない。例えば、算出されたRTTが予め定められた閾値よりも大きいスイッチのいずれか一つ以外のスイッチにコネクション情報削除通知を送信してもよい。
以上、パケット取得方法、分析装置、中継装置及びプログラムを上記実施形態により説明したが、本発明にかかるパケット取得方法、分析装置、中継装置及びプログラムは上記実施形態に限定されるものではなく、本発明の範囲内で種々の変形及び改良が可能である。また、上記実施形態及び変形例が複数存在する場合、矛盾しない範囲で組み合わせることができる。
例えば、スイッチIDは、中継装置の識別情報の一例であり、中継装置の識別情報は中継装置を識別可能な情報であればこれに限られない。
以上の説明に関し、更に以下の項を開示する。
(付記1)
複数の中継装置のそれぞれは、
コネクションを確立するパケットに含まれる、送信元と送信先とに関する情報を示すコネクション情報を第2テーブルに記録し、
前記第2テーブルに記録されたコネクション情報のパケットを複製して分析装置へ送信し、
前記分析装置は、
前記複数の中継装置からパケットを受信し、
受信したパケットがコネクションを確立するパケットのときに、該パケットに含まれるコネクション情報が第1テーブルに記録されているかを判定し、
前記第1テーブルに記録されていると判定した場合、前記コネクションを確立するパケットの送信元である中継装置に前記コネクション情報のパケットを送らないように指示する指示情報を通知し、
前記第1テーブルに記録されていないと判定した場合、該記録されていないと判定したコネクション情報と受信した前記パケットの送信元の中継装置の識別情報とを対応させて前記第1テーブルに記録し、
前記中継装置は、
前記分析装置から前記コネクション情報のパケットを送らないように指示する指示情報の通知を受信し、
受信した前記指示情報の通知にて指示された前記コネクション情報を前記第2テーブルから削除する、
処理をコンピュータが実行するパケット取得方法。
(付記2)
複数の中継装置のそれぞれは、
コネクションを確立するパケットに含まれる、送信元と送信先とに関する情報を示すコネクション情報を第2テーブルに記録し、
前記第2テーブルに記録されたコネクション情報のパケットを複製して分析装置へ送信し、
前記分析装置は、
前記複数の中継装置からパケットを受信し、
受信したパケットからコネクションを確立するパケットを受信した時刻情報と該コネクションを確立するパケットが正しく送信されたことを示す確認パケットを受信した時刻情報とから通信往復遅延時間を中継装置毎に算出し、
算出した前記通信往復遅延時間のうち、所定の条件で特定される通信往復遅延時間に対応する中継装置以外の中継装置に、受信した前記パケットに含まれるコネクション情報のパケットを送らないように指示する指示情報を通知し、
受信した前記パケットに含まれるコネクション情報と、前記所定の条件で特定される通信往復遅延時間に対応する中継装置の識別情報とを対応させて第1テーブルに記録し、
前記中継装置は、
前記分析装置から前記コネクション情報のパケットを送らないように指示する指示情報の通知を受信し、
受信した前記指示情報の通知にて指示された前記コネクション情報を前記第2テーブルから削除する、
処理をコンピュータが実行するパケット取得方法。
(付記3)
複数の中継装置からパケットを受信する受信部と、
受信したパケットがコネクションを確立するパケットのときに、該パケットに含まれる送信元と送信先とに関する情報を示すコネクション情報が第1テーブルに記録されているかを判定する判定部と、
前記第1テーブルに記録されていると判定した場合、前記コネクションを確立するパケットの送信元である中継装置に前記コネクション情報のパケットを送らないように指示する指示情報を通知する通知部と、
前記第1テーブルに記録されていないと判定した場合、該記録されていないと判定したコネクション情報と受信した前記パケットの送信元の中継装置の識別情報とを対応させて前記第1テーブルに記録する記録部とを有する、
分析装置。
(付記4)
複数の中継装置からパケットを受信する受信部と、
受信したパケットからコネクションを確立するパケットを受信した時刻情報と該コネクションを確立するパケットが正しく送信されたことを示す確認パケットを受信した時刻情報とから通信往復遅延時間を中継装置毎に算出する算出部と、
算出した前記通信往復遅延時間のうち、所定の条件で特定される通信往復遅延時間に対応する中継装置以外の中継装置に、受信した前記パケットに含まれる送信元と送信先とに関する情報を示すコネクション情報のパケットを送らないように指示する指示情報を通知する通知部と、
受信した前記パケットに含まれるコネクション情報と、前記所定の条件で特定される通信往復遅延時間に対応する中継装置の識別情報とを対応させて第1テーブルに記録する記録部と、を有する、
分析装置。
(付記5)
コネクションを確立するパケットに含まれる、送信元と送信先とに関する情報を示すコネクション情報を第2テーブルに記録する記録部と、
前記第2テーブルに記録されたコネクション情報のパケットを複製して分析装置へ送信する送信部と、
前記分析装置から前記コネクション情報のパケットを送らないように指示する指示情報の通知を受信する受信部と、を有し、
前記記録部は、
受信した前記指示情報の通知にて指示された前記コネクション情報を前記第2テーブルから削除する、
中継装置。
(付記6)
複数の中継装置からパケットを受信し、
受信したパケットがコネクションを確立するパケットのときに、該パケットに含まれる送信元と送信先とに関する情報を示すコネクション情報が第1テーブルに記録されているかを判定し、
前記第1テーブルに記録されていると判定した場合、前記コネクションを確立するパケットの送信元である中継装置に前記コネクション情報のパケットを送らないように指示する指示情報を通知し、
前記第1テーブルに記録されていないと判定した場合、該記録されていないと判定したコネクション情報と受信した前記パケットの送信元の中継装置の識別情報とを対応させて前記第1テーブルに記録する、
処理をコンピュータに実行させるプログラム。
(付記7)
複数の中継装置からパケットを受信し、
受信したパケットからコネクションを確立するパケットを受信した時刻情報と該コネクションを確立するパケットが正しく送信されたことを示す確認パケットを受信した時刻情報とから通信往復遅延時間を中継装置毎に算出し、
算出した前記通信往復遅延時間のうち、所定の条件で特定される通信往復遅延時間に対応する中継装置以外の中継装置に、受信した前記パケットに含まれる送信元と送信先とに関する情報を示すコネクション情報のパケットを送らないように指示する指示情報を通知し、
受信した前記パケットに含まれるコネクション情報と、前記所定の条件で特定される通信往復遅延時間に対応する中継装置の識別情報とを対応させて第1テーブルに記録する、
処理をコンピュータに実行させるプログラム。
(付記8)
コネクションを確立するパケットに含まれる、送信元と送信先とに関する情報を示すコネクション情報を第2テーブルに記録し、
前記第2テーブルに記録されたコネクション情報のパケットを複製して分析装置へ送信し、
前記分析装置から前記コネクション情報のパケットを送らないように指示する指示情報の通知を受信し、
受信した前記指示情報の通知にて指示された前記コネクション情報を前記第2テーブルから削除する、
処理をコンピュータに実行させるプログラム。
1:情報処理システム
2:分析装置
10:スイッチ
12:サーバ
13:クライアント
14:受信部
15:制御部
16:送信部
17:記録部
20:L4解析部
21:受信部
22:コネクション管理部
23:判定部
24:算出部
25:記録部
26:通知部
30:スイッチIDテーブル
40:ミラーリングスイッチ登録テーブル
50:時刻情報登録テーブル
60:RTTスイッチ登録テーブル
70:コネクションテーブル

Claims (8)

  1. 複数の中継装置のそれぞれは、
    コネクションを確立するパケットに含まれる、送信元と送信先とに関する情報を示すコネクション情報を第2テーブルに記録し、
    前記第2テーブルに記録されたコネクション情報のパケットを複製して分析装置へ送信し、
    前記分析装置は、
    前記複数の中継装置からパケットを受信し、
    受信したパケットがコネクションを確立するパケットのときに、該パケットに含まれるコネクション情報が第1テーブルに記録されているかを判定し、
    前記第1テーブルに記録されていると判定した場合、前記コネクションを確立するパケットの送信元である中継装置に前記コネクション情報のパケットを送らないように指示する指示情報を通知し、
    前記第1テーブルに記録されていないと判定した場合、該記録されていないと判定したコネクション情報と受信した前記パケットの送信元の中継装置の識別情報とを対応させて前記第1テーブルに記録し、
    前記中継装置は、
    前記分析装置から前記コネクション情報のパケットを送らないように指示する指示情報の通知を受信し、
    受信した前記指示情報の通知にて指示された前記コネクション情報を前記第2テーブルから削除する、
    処理をコンピュータが実行するパケット取得方法。
  2. 複数の中継装置のそれぞれは、
    コネクションを確立するパケットに含まれる、送信元と送信先とに関する情報を示すコネクション情報を第2テーブルに記録し、
    前記第2テーブルに記録されたコネクション情報のパケットを複製して分析装置へ送信し、
    前記分析装置は、
    前記複数の中継装置からパケットを受信し、
    受信したパケットからコネクションを確立するパケットを受信した時刻情報と該コネクションを確立するパケットが正しく送信されたことを示す確認パケットを受信した時刻情報とから通信往復遅延時間を中継装置毎に算出し、
    算出した前記通信往復遅延時間のうち、所定の条件で特定される通信往復遅延時間に対応する中継装置以外の中継装置に、受信した前記パケットに含まれるコネクション情報のパケットを送らないように指示する指示情報を通知し、
    受信した前記パケットに含まれるコネクション情報と、前記所定の条件で特定される通信往復遅延時間に対応する中継装置の識別情報とを対応させて第1テーブルに記録し、
    前記中継装置は、
    前記分析装置から前記コネクション情報のパケットを送らないように指示する指示情報の通知を受信し、
    受信した前記指示情報の通知にて指示された前記コネクション情報を前記第2テーブルから削除する、
    処理をコンピュータが実行するパケット取得方法。
  3. 複数の中継装置からパケットを受信する受信部と、
    受信したパケットがコネクションを確立するパケットのときに、該パケットに含まれる送信元と送信先とに関する情報を示すコネクション情報が第1テーブルに記録されているかを判定する判定部と、
    前記第1テーブルに記録されていると判定した場合、前記コネクションを確立するパケットの送信元である中継装置に前記コネクション情報のパケットを送らないように指示する指示情報を通知する通知部と、
    前記第1テーブルに記録されていないと判定した場合、該記録されていないと判定したコネクション情報と受信した前記パケットの送信元の中継装置の識別情報とを対応させて前記第1テーブルに記録する記録部とを有する、
    分析装置。
  4. 複数の中継装置からパケットを受信する受信部と、
    受信したパケットからコネクションを確立するパケットを受信した時刻情報と該コネクションを確立するパケットが正しく送信されたことを示す確認パケットを受信した時刻情報とから通信往復遅延時間を中継装置毎に算出する算出部と、
    算出した前記通信往復遅延時間のうち、所定の条件で特定される通信往復遅延時間に対応する中継装置以外の中継装置に、受信した前記パケットに含まれる送信元と送信先とに関する情報を示すコネクション情報のパケットを送らないように指示する指示情報を通知する通知部と、
    受信した前記パケットに含まれるコネクション情報と、前記所定の条件で特定される通信往復遅延時間に対応する中継装置の識別情報とを対応させて第1テーブルに記録する記録部と、を有する、
    分析装置。
  5. コネクションを確立するパケットに含まれる、送信元と送信先とに関する情報を示すコネクション情報を第2テーブルに記録する記録部と、
    前記第2テーブルに記録されたコネクション情報のパケットを複製して分析装置へ送信する送信部と、
    前記分析装置から前記コネクション情報のパケットを送らないように指示する指示情報の通知を受信する受信部と、を有し、
    前記記録部は、
    受信した前記指示情報の通知にて指示された前記コネクション情報を前記第2テーブルから削除する、
    中継装置。
  6. 複数の中継装置からパケットを受信し、
    受信したパケットがコネクションを確立するパケットのときに、該パケットに含まれる送信元と送信先とに関する情報を示すコネクション情報が第1テーブルに記録されているかを判定し、
    前記第1テーブルに記録されていると判定した場合、前記コネクションを確立するパケットの送信元である中継装置に前記コネクション情報のパケットを送らないように指示する指示情報を通知し、
    前記第1テーブルに記録されていないと判定した場合、該記録されていないと判定したコネクション情報と受信した前記パケットの送信元の中継装置の識別情報とを対応させて前記第1テーブルに記録する、
    処理をコンピュータに実行させるプログラム。
  7. 複数の中継装置からパケットを受信し、
    受信したパケットからコネクションを確立するパケットを受信した時刻情報と該コネクションを確立するパケットが正しく送信されたことを示す確認パケットを受信した時刻情報とから通信往復遅延時間を中継装置毎に算出し、
    算出した前記通信往復遅延時間のうち、所定の条件で特定される通信往復遅延時間に対応する中継装置以外の中継装置に、受信した前記パケットに含まれる送信元と送信先とに関する情報を示すコネクション情報のパケットを送らないように指示する指示情報を通知し、
    受信した前記パケットに含まれるコネクション情報と、前記所定の条件で特定される通信往復遅延時間に対応する中継装置の識別情報とを対応させて第1テーブルに記録する、
    処理をコンピュータに実行させるプログラム。
  8. コネクションを確立するパケットに含まれる、送信元と送信先とに関する情報を示すコネクション情報を第2テーブルに記録し、
    前記第2テーブルに記録されたコネクション情報のパケットを複製して分析装置へ送信し、
    前記分析装置から前記コネクション情報のパケットを送らないように指示する指示情報の通知を受信し、
    受信した前記指示情報の通知にて指示された前記コネクション情報を前記第2テーブルから削除する、
    処理をコンピュータに実行させるプログラム。
JP2015147763A 2015-07-27 2015-07-27 パケット取得方法、分析装置、中継装置及びプログラム Active JP6500677B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015147763A JP6500677B2 (ja) 2015-07-27 2015-07-27 パケット取得方法、分析装置、中継装置及びプログラム
US15/183,931 US10193817B2 (en) 2015-07-27 2016-06-16 Method, and network system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015147763A JP6500677B2 (ja) 2015-07-27 2015-07-27 パケット取得方法、分析装置、中継装置及びプログラム

Publications (2)

Publication Number Publication Date
JP2017028616A JP2017028616A (ja) 2017-02-02
JP6500677B2 true JP6500677B2 (ja) 2019-04-17

Family

ID=57883192

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015147763A Active JP6500677B2 (ja) 2015-07-27 2015-07-27 パケット取得方法、分析装置、中継装置及びプログラム

Country Status (2)

Country Link
US (1) US10193817B2 (ja)
JP (1) JP6500677B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107920033B (zh) * 2016-10-07 2021-11-02 现代自动车株式会社 在车辆网络中用于镜像的通信节点的操作方法及通信节点
JP6740911B2 (ja) * 2017-01-16 2020-08-19 富士通株式会社 ポート切替プログラム、ポート切替方法、および情報処理装置
US10791089B2 (en) * 2017-03-29 2020-09-29 Hewlett Packard Enterprise Development Lp Converged address translation
US11190418B2 (en) * 2017-11-29 2021-11-30 Extreme Networks, Inc. Systems and methods for determining flow and path analytics of an application of a network using sampled packet inspection
JP6992611B2 (ja) * 2018-03-09 2022-01-13 株式会社デンソー 中継装置
CN115714742A (zh) * 2018-05-11 2023-02-24 华为技术有限公司 一种报文发送的方法、网络节点和系统

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030022628A1 (en) * 2001-01-09 2003-01-30 Chiyo Mamiya Data communication system and wireless communication device
US7827257B2 (en) * 2001-06-19 2010-11-02 Intel Corporation System and method for automatic and adaptive use of active network performance measurement techniques to find the fastest source
JP3639556B2 (ja) * 2001-12-12 2005-04-20 富士通株式会社 VoIPネットワークの輻輳制御システム
US20050220091A1 (en) * 2004-03-31 2005-10-06 Lavigne Bruce E Secure remote mirroring
JP4759389B2 (ja) 2006-01-10 2011-08-31 アラクサラネットワークス株式会社 パケット通信装置
JP4589263B2 (ja) 2006-04-10 2010-12-01 日本電信電話株式会社 音声モニタリング録音システム
US20080031259A1 (en) * 2006-08-01 2008-02-07 Sbc Knowledge Ventures, Lp Method and system for replicating traffic at a data link layer of a router
JP4294673B2 (ja) * 2006-10-05 2009-07-15 日本電信電話株式会社 パケット品質評価システムおよび方法
JP5061088B2 (ja) * 2008-12-05 2012-10-31 Kddi株式会社 解析支援装置、解析システムおよびプログラム
EP2234333B1 (en) * 2009-03-23 2015-07-15 Corvil Limited System and method for estimation of round trip times within a tcp based data network
JP2012222692A (ja) * 2011-04-12 2012-11-12 Nippon Telegr & Teleph Corp <Ntt> 監視点設定方法及び装置及びプログラム

Also Published As

Publication number Publication date
JP2017028616A (ja) 2017-02-02
US10193817B2 (en) 2019-01-29
US20170034065A1 (en) 2017-02-02

Similar Documents

Publication Publication Date Title
JP6500677B2 (ja) パケット取得方法、分析装置、中継装置及びプログラム
US20210176143A1 (en) Monitoring wireless access point events
JP5018663B2 (ja) 遅延時間計測装置、遅延時間計測プログラム、および遅延時間計測方法
US10897391B2 (en) Fault detection method and node device
US7693045B2 (en) Verifying network connectivity
US7656812B2 (en) Monitoring of data packets in a fabric
WO2009052765A1 (fr) Procédé et dispositif de détection et de traitement de défaillance de nœud dans un réseau poste à poste
US8274911B2 (en) Network monitoring system and path extracting method
JP2006270961A (ja) パケットトレース診断システムおよび方法
JP2003258903A (ja) 通信路監視システム
JP2009049708A (ja) ネットワーク障害情報収集装置、システム、方法及びプログラム
JP2010011374A (ja) ネットワーク障害検知プログラム、システム、及び方法
CN106658576B (zh) 一种数据处理方法、装置以及网络系统
WO2013189414A2 (zh) 网络拓扑自动获取方法及系统、网络查询及管理系统
JP2010245710A (ja) ネットワーク管理装置及び通信システム及びネットワーク管理方法及びプログラム
US20140324950A1 (en) Connection method and management server
JP2008258846A (ja) イーサネットスイッチ及びリモートキャプチャシステム
WO2022009294A1 (ja) ネットワーク監視装置、ネットワーク監視方法、および、ネットワーク監視プログラム
JP5333793B2 (ja) トポロジ特定方法、及びトポロジ特定装置
JP5190717B2 (ja) トポロジ特定方法、及びトポロジ特定装置
JP6068540B2 (ja) 情報提供装置、通信装置、情報提供方法およびプログラム
JP6599263B2 (ja) 通信制御装置及び通信制御方法
WO2017041667A1 (zh) 安检终端设备、安检网络系统和安检数据传输方法
CN109474530A (zh) 一种设备探测方法及装置
JP4991151B2 (ja) ファイル転送システム及びファイル転送方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180413

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190206

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190304

R150 Certificate of patent or registration of utility model

Ref document number: 6500677

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150