JP5217886B2 - ループバック装置及びミラーリング方法 - Google Patents

ループバック装置及びミラーリング方法 Download PDF

Info

Publication number
JP5217886B2
JP5217886B2 JP2008265217A JP2008265217A JP5217886B2 JP 5217886 B2 JP5217886 B2 JP 5217886B2 JP 2008265217 A JP2008265217 A JP 2008265217A JP 2008265217 A JP2008265217 A JP 2008265217A JP 5217886 B2 JP5217886 B2 JP 5217886B2
Authority
JP
Japan
Prior art keywords
packet
source
address
port
destination
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2008265217A
Other languages
English (en)
Other versions
JP2010098360A (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 JP2008265217A priority Critical patent/JP5217886B2/ja
Priority to US12/510,492 priority patent/US8582447B2/en
Priority to GB0913307A priority patent/GB2464367B/en
Publication of JP2010098360A publication Critical patent/JP2010098360A/ja
Application granted granted Critical
Publication of JP5217886B2 publication Critical patent/JP5217886B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/12Network monitoring probes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/026Capturing of monitoring data using flow identification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • H04L43/045Processing captured monitoring data, e.g. for logfile generation for graphical visualisation of monitoring data
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)
  • Debugging And Monitoring (AREA)

Description

本明細書において開示する装置及び方法は、パケットをミラーリングする技術に関する。
周知のように、IP[Internet Protocol]ネットワークを介して接続された複数のコ
ンピュータの間の通信状態を可視化するためのソフトウエアがある。このソフトウエアを起動することにより通信状態可視化機能を実現したコンピュータは、監視対象となる複数のコンピュータ間を流れるパケットの複製を受信して、受信したパケットの内容をそのまま表示する。また、当該通信状態可視化機能を実現したコンピュータは、パケット内に記述されているプロトコルやアドレスに関する情報を利用者が理解しやすい形態に変換して表示したり、特定の条件に合致するパケットを抽出して統計的な処理を行って図やグラフを表示したりする。また、当該通信状態可視化機能を実現したコンピュータは、受信したパケットに基づいてTCP[Transmission Control Protocol]コネクション確立シーケ
ンスやメッセージの遣り取りをラダー表示することもある。ここで、メッセージとは、IPヘッダとTCPヘッダとを取り除いて残るセグメントを基に再組み立てを行って元の形に戻したもので、TCPより上位の通信レイヤの送信単位を言う。
監視対象となる複数のコンピュータ間を流れるパケットの複製の受信は、通常、LAN[Local Area Network]スイッチのポートミラーリング機能によって、実現される。ポートミラーリング機能は、特定の通信ポートを通過するパケットを複製し、それをミラーポートから送出するための機能である。前述したソフトウエアが導入されたコンピュータは、監視対象となる複数のコンピュータがともに接続されているLANスイッチのミラーポートに対し、接続されることとなる。
例えば、図13に示すように、トランザクション管理やセッション管理やデータ加工などを応用したビジネスロジックを実行するアプリケーションサーバ21をウェブサーバ11とデータベースサーバ41との間に備えるウェブ三階層システムにおいて、ウェブサーバ11とアプリケーションサーバ21とデータベースサーバ41とがそれぞれ別のマシン10、20、40に搭載されている場合、外部ネットワーク内の中継装置(図示略)とウェブサーバマシン10内の第1のNIC[Network Interface Card]25aとが、第1のLANスイッチ60を介して接続され、ウェブサーバマシン10内の第2のNIC15bとアプリケーションサーバマシン20内の第1のNIC25aとが、第2のLANスイッチ70を介して接続され、アプリケーションサーバマシン20内の第1のNIC25bとデータベースサーバマシン40内のNIC40aとが、第3のLANスイッチ80を介して接続される。
この図13に示す事例において、第1のLANスイッチ60は、ウェブクライアント(図示略)の下位にあるHTTP[HyperText Transfer Protocol]−I/F[InterFace]及びNICと、ウェブサーバ11の下位にあるHTTP−I/F12a及び第1のNIC15aとが、HTTPメッセージを遣り取りする際に、そのHTTPメッセージを分割したものをパケットとして中継する。また、第1のLANスイッチ60は、中継したパケットを複製して、自機のミラーポートにNIC90aが接続されているマシン90内の通信状態可視化機能91に送信する。
第2のLANスイッチ70は、ウェブサーバ11の下位にあるIIOP[Internet Inter-ORB Protocol](オブジェクトマネージメントグループの商標)−I/F12b及び
第2のNIC15bと、アプリケーションサーバ21の下位にあるIIOP−I/F22a及び第1のNIC25aとが、IIOPメッセージを遣り取りする際に、そのIIOPメッセージを分割したものをパケットとして中継する。また、第2のLANスイッチ70は、中継したパケットを複製して、自機のミラーポートにNIC90aが接続されているマシン90内の通信状態可視化機能91に送信する。
第3のLANスイッチ80は、アプリケーションサーバ21の下位にあるSQL[Structured Query Language]−I/F22b及び第2のNIC25bと、データベースサー
バ41の下位にあるSQL−I/F42及びNIC40aとが、SQLメッセージを遣り取りする際に、そのSQLメッセージを分割したものをパケットとして中継する。また、第3のLANスイッチ80は、中継したパケットを複製して、自機のミラーポートにNIC90aが接続されているマシン90内の通信状態可視化機能91に送信する。
そして、図13に示す通信状態可視化機能91は、第1乃至第3のLANスイッチ60〜80からパケットを受信すると、受信したパケットに基づいて、HTTPメッセージ、IIOPメッセージ、及び、SQLメッセージの再組み立てを行い、これらメッセージの遣り取りを、図14に示すように、ラダー表示する。
ラダー表示では、ウェブクライアントマシン(図示略)、ウェブサーバマシン10、アプリケーションサーバマシン20、及び、データベースサーバマシン40のそれぞれの時間軸が、並行に示される。そして、1つのメッセージの送信を示す矢印が、そのメッセージの出所のマシンの時間軸から、宛先のマシンの時間軸まで、描画される。HTTPメッセージ、IIOPメッセージ、及び、SQLメッセージを示す矢印が、それぞれ描画されることにより、ウェブクライアントマシンによる要求に端を発する一連のメッセージの遣り取り(トランザクション)が、示されることとなる。
そして、例えば、ウェブサーバマシン10の時間軸における矢印の端点の間隔により、HTTPメッセージを受信した時点から、IIOPメッセージを送信した時点までの時間Ta[秒]が、明らかになる。また、例えば、アプリケーションサーバマシン20の時間軸における矢印の端点の間隔により、IIOPメッセージを受信した時点から、SQLメッセージを送信した時点までの時間Tb[秒]が、明らかとなる。これらにより、処理に時間が掛かっているサーバマシンが判明する。
特開2006−011683号公報
図13に例示したウェブ三階層システムでは、ウェブサーバ11と、アプリケーションサーバ21と、データベースサーバ41とが、互いに異なるマシンに組み込まれている。しかしながら、現実的には、ウェブ三階層システムは、中小規模のシステムとして構成されることが多く、その場合、特に、図15に示すように、ウェブサーバ11とアプリケーションサーバ21とが、同一のマシン30に組み込まれることが多い。
この図15に示す事例においては、ウェブサーバ11の下位にあるIIOP−I/F12bと、アプリケーションサーバ21の下位にあるIIOP−I/F22aとが、IIOPメッセージを同一マシン30内でローカルに遣り取りすることとなるため、第2のLANスイッチ70が省かれる。すると、IIOPメッセージを運搬するパケットが、ミラーリングされなくなるため、IIOPメッセージの再組み立てが、通信状態可視化機能91によって行われることもない。この結果、通信状態可視化機能91は、第1及び第3のLANスイッチ60、80から受信したパケットに基づいて、HTTPメッセージ、及び、
SQLメッセージの再組み立てを行い、これらメッセージの遣り取りを、図16に示すように、ラダー表示する。
この事例におけるラダー表示では、ウェブサーバ11とアプリケーションサーバ21とが組み込まれたウェブアプリケーションサーバマシン30の時間軸が、一本のみ示される。そして、このウェブアプリケーションサーバマシン30の時間軸における矢印の端点の間隔により、例えば、HTTPメッセージを受信した時点から、SQLメッセージを送信する時点までの時間Tcが、明らかとなる。
この時間Tcは、図14に示した時間Taと時間Tbとを合計した時間であり、時間Taと時間Tbのどちらが長いのかは、時間Tcからは不明である。このため、時間Tcが長かった場合に、ウェブサーバ11とアプリケーションサーバ21のどちらの処理に時間が掛かっているのかが、判明しないという問題があった。
本明細書において開示する方法は、前述したような従来の事情に鑑みてなされたものであり、その課題は、多階層システムを構成する複数のサーバのうち、層が隣接する一対のサーバが、同一マシンに組み込まれている場合でも、多階層システムを構成する全てのサーバによるメッセージの遣り取りを可視化できるようにすることにある。
上記の課題を解決するために案出されたミラーリング方法では、多階層システムを構成する複数のサーバのうち、層が隣接するとともに同一マシンに組み込まれた一対のサーバの接続先を、何れも、当該マシンに接続されたループバック装置に、設定する。そのループバック装置には、出所アドレスと出所ポート番号と宛先ポート番号とを対応付けて記憶部に記憶させる。また、そのループバック装置には、当該マシンに組み込まれている一対のサーバのうちの一方からパケットを受信したときに、そのパケットから出所アドレスと出所ポート番号と宛先ポート番号とを読み出させ、読み出した出所アドレスと出所ポート番号と宛先ポート番号の組み合わせと同じ組み合わせが記憶部に記録されていた場合には、受信したパケットの出所アドレスと宛先アドレスとを入れ替えて当該マシン内の他方のサーバに送信させる。更に、そのループバック装置には、一方のサーバから受信したパケット、及び、一方のサーバに送信したパケットを複製させ、通信状態可視化マシンに送信させる。
このような構成によれば、層が隣接するとともに同一マシンに組み込まれた一対のサーバが遣り取りするメッセージは、当該マシン内でローカルに遣り取りされず、マシン外のループバック装置を経由して遣り取りされることとなる。而も、そのメッセージを運搬するパケットは、ループバック装置によって複製され、通信状態可視化マシンに引き渡されることとなる。
従って、先に開示したミラーリング方法によれば、多階層システムを構成する複数のサーバのうち、層が隣接する一対のサーバが、同一マシンに組み込まれている場合でも、多階層システムを構成する全てのサーバによるメッセージの遣り取りが、可視化できるようになる。
以下、添付図面を参照しながら、先に開示したミラーリング方法の実施形態であるコンピュータネットワークシステムについて、説明する。
なお、以下に説明するコンピュータネットワークシステムは、あくまでも一つの実施形
態であり、先に開示したミラーリング方法が、以下に説明する構成に限定されるものではない。
《構成》
図1は、本実施形態のコンピュータネットワークシステムの構成を示すブロック図である。なお、図1では、図13及び図15に示したものと同じものに、同一の符号を附している。
本実施形態のコンピュータシステムは、ウェブ三階層システムを含んでいる。ウェブ三階層システムは、ウェブサーバ11とデータベースサーバ41との間にアプリケーションサーバ21を備えるシステムである。
このうち、ウェブサーバ11は、ウェブクライアントから要求されたデータを送信するサービスを行うサーバである。データベースサーバ41は、データを検索自在に記憶するとともに検索を行うサーバである。
アプリケーションサーバ21は、トランザクション管理やセッション管理やデータ加工などを応用したビジネスロジックを実行するサーバである。アプリケーションサーバ21は、ウェブサーバ11を介してウェブクライアントから指示されたビジネスロジックを実行し、実行結果をウェブサーバ11を介してウェブクライアントに応答する。また、アプリケーションサーバ21は、そのビジネスロジックの実行過程において必要があれば、データベースサーバ41に検索要求を行って検索結果を取得する。
図1に示すように、本実施形態では、ウェブサーバ11及びアプリケーションサーバ21は、同一のマシン30に組み込まれている。一方、データベースサーバ41は、そのマシン30とは別のマシン40に組み込まれている。
これらマシン30、40は、一般的なコンピュータである。従って、これらマシン30、40は、少なくとも、通信ユニット、ストレージユニット、CPU[Central Processing Unit]、及び、メインメモリユニットを備えており、ストレージユニットには、オペ
レーティングシステムが導入されている。オペレーティングシステムは、CPUが、ソフトウエアとハードウエアの仲介、メモリ空間の管理、ファイル管理、プロセスやタスクの管理などを行うためのソフトウエアである。また、このオペレーティングシステムは、TCP/IP[Transmission Control Protocol/Internet Protocol]スイートを含んでい
る。TCP/IPスイートは、1個のIPアドレスが割り当てられた論理ホストが別のIPアドレスが割り当てられた他の論理ホストとTCP/IPに従ってパケットの遣り取りを行うためのプログラムである。
データベースサーバ41が組み込まれたデータベースサーバマシン40では、データベースサーバ41としてCPUを機能させるためのソフトウエアが、ストレージに導入されている。また、データベースサーバマシン40のストレージには、データベースサーバ41の下位にあるSQL[Structured Query Language]−I/F[InterFace]42としてCPUを機能させるためのソフトウエアも、導入されている。SQL−I/F42は、自ソフトウエアの上位にあるサーバがクライアントとSQLメッセージの遣り取りを行うためのプログラムであり、TCP/IPスイートの上位にあるプログラムである。更に、データベースサーバマシン40は、通信ユニットとして、NIC[Network Interface Card]40aを、内蔵している。
ウェブサーバ11及びアプリケーションサーバ21が組み込まれたウェブアプリケーションサーバマシン30では、ウェブサーバ11及びアプリケーションサーバ21としてC
PUを機能させるためのソフトウエアが、ストレージに導入されている。また、ウェブアプリケーションサーバマシン30のストレージには、HTTP[HyperText Transfer Protocol]−I/F12a、IIOP[Internet Inter-ORB Protocol](オブジェクトマネージメントグループの商標)−I/F12b、22a、及び、SQL−I/F22bとしてCPUを機能させるためのソフトウエアも、導入されている。HTTP−I/F12aは、自ソフトウエアの上位にあるサーバがクライアントとHTTPメッセージの遣り取りを行うためのプログラムである。IIOP−I/F12b、22aは、自ソフトウエアの上位にあるサーバが別のサーバとIIOPメッセージの遣り取りを行うためのプログラムである。更に、ウェブアプリケーションサーバマシン30は、通信ユニットとして、第1乃至第3のNIC30a〜30cを、内蔵している。ここで、第1乃至第3のNIC30a〜30cは、論理ホストが1個ずつ設定された物理的な3個のNICであって好いし、3個の論理ホストが設定された物理的に1個のNICであっても好い。
第1のNIC30aは、外部ネットワーク内の中継装置(図示略)に対し、第1のLANスイッチ60を介して接続されている。また、第2のNIC30bは、第3のLANスイッチ80を介してデータベースサーバマシン40内のNIC40aに接続されている。また、第3のNIC30cは、ループバック装置50に接続されている。
第1のLANスイッチ60は、ウェブクライアント(図示略)の下位にあるHTTP−I/F及びNICと、ウェブサーバ11の下位にあるHTTP−I/F12a及び第1のNIC30aとが、HTTPメッセージを遣り取りする際に、そのHTTPメッセージを分割したものをパケットとして中継する。また、第1のLANスイッチ60は、中継したパケットを複製して、自機のミラーポートにNIC90aが接続されているマシン90内の通信状態可視化機能91に送信する。
第3のLANスイッチ80は、アプリケーションサーバ21の下位にあるSQL−I/F22b及び第2のNIC30bと、データベースサーバ41の下位にあるSQL−I/F42及びNIC40aとが、SQLメッセージを遣り取りする際に、そのSQLメッセージを分割したものをパケットとして中継する。また、第3のLANスイッチ80は、中継したパケットを複製して、自機のミラーポートにNIC90aが接続されているマシン90内の通信状態可視化機能91に送信する。
ループバック装置50は、ウェブサーバ11の下位にあるIIOP−I/F12bと、アプリケーションサーバ21の下位にあるIIOP−I/F22aとが、IIOPメッセージを遣り取りする際に、そのIIOPメッセージを分割したものをパケットとして中継する。
なお、ウェブサーバ11及びアプリケーションサーバ21は、同一マシン30内に組み込まれているため、本来であれば、IIOPメッセージは、同一マシン30内でローカルに遣り取りされることとなる。しかしながら、本実施形態では、ウェブサーバ11及びアプリケーションサーバ21のうちの一方のサーバが発するIIOPメッセージは、第3のNIC30cを介してループバック装置50に送出され、ループバック装置50から第3のNIC30cを介して他方のサーバに送出される。ウェブサーバ11及びアプリケーションサーバ21は、それぞれ、論理ホスト(IPアドレス)とポート番号との組み合わせにより特定される。本実施形態では、ウェブサーバ11の下位にあるIIOP−I/F12bとアプリケーションサーバ21の下位にあるIIOP−I/F22aとには、異なるポート番号が割り当てられるため、ウェブサーバ11及びアプリケーションサーバ21が同一の第3のNIC30cを使用していても、ループバック装置50は、それらサーバ11、21を区別することができる。
また、ループバック装置50は、ウェブサーバ11及びアプリケーションサーバ21のうちの一方のサーバから受信したパケット、及び、一方のサーバに送信したパケットを複製させ、自機にNIC90aが接続されているマシン90内の通信状態可視化機能91に送信する。すなわち、ループバック装置50は、ウェブサーバ11と遣り取りしたパケットを複製して通信状態可視化機能91に送信するか、或いは、アプリケーションサーバ21と遣り取りしたパケットを複製して通信状態可視化機能91に送信する。前者のようにウェブサーバ11と遣り取りしたパケットの複製が、通信状態可視化機能91に送信されるようになっている場合、通信状態可視化機能91には、ループバック装置50がアプリケーションサーバ21であるかのように見える。逆に、後者のようにアプリケーションサーバ21と遣り取りしたパケットの複製が、通信状態可視化機能91に送信されるようになっている場合、通信状態可視化機能91には、ループバック装置50がウェブサーバ11であるかのように見える。
図2は、ループバック装置50の構成を示すブロック図である。
ループバック装置50は、第1及び第2のNIC50a、50b、ROM[Read Only Memory]ユニット50c、CPU50d、並びに、RAM[Random Access Memory]ユニット50eを、含んでいる。ループバック装置50は、本実施形態に係る各種の機能をCPUに実現させるための複数のプログラムを、ROMユニット50cに記憶している。図2には、それらプログラムがRAMユニット50eに展開された状態が示されている。
図2に示すように、ループバック装置50のCPUは、具体的には、パケット受信機能51、入替機能52、パケット送信機能53、及び、ミラーリング機能54を、実現する。
パケット受信機能51は、ウェブアプリケーションサーバマシン30内の第3のNIC30cから第1のNIC50aを介してパケットを受信する機能である。入替機能52は、パケット受信機能51が受信したパケットの出所IPアドレスと宛先IPアドレスとを入れ替える機能である。パケット送信機能53は、入替機能52が出所IPアドレスと宛先IPアドレスとを入れ替えたパケットを第1のNIC50aを介してウェブアプリケーションサーバマシン30内の第3のNIC30cへ送信する機能である。ミラーリング機能54は、入替機能52が出所IPアドレスと宛先IPアドレスとを入れ替える前又は後のパケットを複製して第2のNIC50bを介して通信状態可視化マシン90内のNIC90aへ送出する機能である。
また、入替機能52は、パケット受信機能51が受信したパケットのそれぞれについて、出所IPアドレス、出所ポート番号、及び、宛先ポート番号からなるコネクション情報を監視する。入替機能52は、パケット受信機能51が受信したパケットから未知のコネクション情報を読み出した場合には、そのコネクション情報をコネクションテーブル55に登録し、パケット受信機能51が受信したパケットから既知のコネクション情報を読み出した場合には、出所IPアドレスと宛先IPアドレスの入れ替えを行う。
ここで、パケットは、図3に示すように、IPヘッダと、TCPヘッダと、セグメントとからなる。セグメントは、メッセージを所定の送信単位に分割して得られる部分である。なお、メッセージは、幾つかのセグメントに分割され、各セグメントが、パケットに収納されて出所から宛先へと運搬される。各セグメントが宛先に到着すると、各セグメントを基にメッセージの再組み立てが行われる。
また、IPヘッダは、図4のヘッダフォーマット図に示すように、「ヘッダチェックサム」、「出所IPアドレス」及び「宛先IPアドレス」のフィールドを、含んでいる。な
お、図4では、これら以外のフィールドには、斜線掛けが施されされているが、この斜線掛けが施されたフィールドについては、本実施形態では使用しないため、説明を省略する。「ヘッダチェックサム」フィールドには、そのIPヘッダ全体のチェックサムが格納される。チェックサムは、送信中のヘッダ情報の損失を確認するために使用される値である。具体的には、「ヘッダチェックサム」フィールドの値をゼロとした場合のIPヘッダを16ビット毎に分割し、各16ビットの「1の補数(ビット反転した値)」の総和を得、更に、その総和の「1の補数」を算出して得られる値である。パケットを受信した側でも同じ計算が行われ、同じ値が算出されれば、ヘッダ情報の損失がないことが判明する。また、「出所IPアドレス」フィールドには、パケットの出所となる論理ホストのIPアドレスが格納され、「宛先IPアドレス」フィールドには、パケットの宛先となる論理ホストのIPアドレスが格納される。
また、TCPヘッダは、図5のヘッダフォーマット図に示すように、「出所ポート番号」、「宛先ポート番号」及び「チェックサム」のフィールドを、含んでいる。なお、図5では、これら以外のフィールドには、斜線掛けが施されているが、この斜線掛けが施されたフィールドについては、本実施形態では使用しないため、説明を省略する。「出所ポート番号」フィールドには、パケットによりセグメントが運搬されるメッセージを作成した通信アプリケーション(HTTP−I/F12a、IIOP−I/F12b、22aなど)を特定するポート番号が格納される。「宛先ポート番号」フィールドには、パケットによりセグメントが運搬されるメッセージを利用する通信アプリケーションを特定するポート番号が格納される。「チェックサム」フィールドは、そのTCPヘッダ全体のチェックサムが格納される。チェックサムの計算方法については、IPヘッダのヘッダチェックサムと同様である。
図6は、コネクションテーブル55を模式的に示す図である。
コネクションテーブル55は、前述したコネクション情報が複数記録される。具体的には、出所IPアドレス、出所ポート番号、及び、宛先ポート番号の1個の組み合わせが、1つのレコードとして、コネクションテーブル55に記録される。従って、コネクションテーブル55の各レコードは、「出所IPアドレス」、「出所ポート番号」及び「宛先ポート番号」のフィールドを有しており、各フィールドには、それぞれ、出所IPアドレス、出所ポート番号、及び、宛先ポート番号が格納される。
《処理》
図7は、本実施形態のループバック装置50が実行する処理の流れを示す図である。
処理の開始後、パケット受信機能51が、ウェブアプリケーションサーバマシン30内の第3のNIC30cから第1のNIC50aを介してパケットを受信するまで、待機する(ステップS101;いいえ)。
そして、パケット受信機能51が、ウェブアプリケーションサーバマシン30内の第3のNIC30cから第1のNIC50aを介してパケットを受信すると(ステップS101;はい)、入替機能52が、方向判定サブルーチンを呼び出して実行する(ステップS102)。
図8及び図9は、方向判定サブルーチンの流れを示す図である。
方向判定サブルーチンの開始後、入替機能52は、パケット受信機能51が受信したパケットのIPヘッダ及びTCPヘッダから、出所IPアドレス、出所ポート番号、及び、宛先ポート番号を読み出す(ステップS201)。なお、宛先IPアドレスは、ループバ
ック装置50の第1のNIC50aに割り当てられたものであるため、入替機能52によって読み出されることはない。
次に、入替機能52は、受信したパケットから読み出した出所IPアドレス、出所ポート番号、及び、宛先ポート番号を検索条件として、図6のコネクションテーブル55を検索する(ステップS202)。つまり、入替機能52は、受信したパケットから読み出した出所IPアドレスを「出所IPアドレス」フィールドに有し、読み出した出所ポート番号を「出所ポート番号」フィールドに有し、読み出した宛先ポート番号を「宛先ポート番号」フィールドに有しているレコードを、検索する。そして、当該検索条件に合致するレコードがコネクションテーブル55から検出された場合(ステップS204;はい)、入替機能52は、送信方向が上りであると特定し、例えば、方向フラグを「上り」に設定し、その後、図8及び図9に係る方向判定サブルーチンを終了する。
一方、当該検索条件に合致するレコードがコネクションテーブル55から検出されなかった場合(ステップS204;いいえ)、入替機能52は、受信したパケットから読み出した出所IPアドレス、出所ポート番号、及び、宛先ポート番号のうち、出所ポート番号と宛先ポート番号とを入れ替え(ステップS205)、これらを検索条件として、図6のコネクションテーブル55を検索する(ステップS206)。つまり、入替機能52は、受信したパケットから読み出した出所IPアドレスを「出所IPアドレス」フィールドに有し、読み出した宛先ポート番号を「出所ポート番号」フィールドに有し、読み出した出所ポート番号を「宛先ポート番号」フィールドに有しているレコードを、検索する。そして、当該検索条件に合致するレコードがコネクションテーブル55から検出された場合(ステップS207;はい)、入替機能52は、送信方向が下りであると特定し、例えば、方向フラグを「上り」に設定し、その後、図8及び図9に係る方向判定サブルーチンを終了する。
一方、当該検索条件に合致するレコードがコネクションテーブル55から検出されなかった場合(ステップS207;いいえ)、入替機能52は、受信したパケットから読み出した出所IPアドレス、出所ポート番号、及び、宛先ポート番号からなるコネクション情報を、図6のコネクションテーブル55に登録し(ステップS209)、その後、図8及び図9に係る方向判定サブルーチンを終了する。
入替機能52は、方向判定サブルーチンを終了すると、メインルーチンに復帰し、パケット受信機能51が受信したパケットの出所IPアドレスと宛先IPアドレスとを入れ替える処理を行う(ステップS103)。すなわち、入替機能52は、受信したパケットのIPヘッダの「出所IPアドレス」フィールドに宛先IPアドレスを書き込み、同じIPヘッダの「宛先IPアドレス」フィールドに出所IPアドレスを書き込む。ここで、出所IPアドレスは、ウェブアプリケーションサーバマシン30の第3のNIC30cに割り当てられたものであり、宛先IPアドレスは、ループバック装置50の第1のNIC50aに割り当てられたものである。従って、アドレスを入れ替える処理は、パケットを単純に送り返すためのものとなる。但し、TCPヘッダにおける出所ポート番号及び宛先ポート番号はそのままである。このため、例えば、受信したパケットがウェブサーバ11からのものである場合、宛先であるアプリケーションサーバ21から見ると、ループバック装置50から受信したパケットは、ループバック装置50内にあるウェブサーバ11から送られてきたもののように見える。
次に、入替機能52は、出所IPアドレスと宛先アドレスとを入れ替えたパケットにおけるIPヘッダ(図5参照)のヘッダチェックサムを更新するとともに、同パケットにおけるTCPヘッダ(図6参照)のチェックサムを更新する(ステップS104)。なお、チェックサムの更新を行うのは、ヘッダの内容に変更があるためである。
次に、パケット送信機能53は、入替機能52が出所IPアドレスと宛先IPアドレスとを入れ替えたパケットを第1のNIC50aを介してウェブアプリケーションサーバマシン30内の第3のNIC30cへ送信する(ステップS105)。
次に、入替機能52が方向判定サブルーチンにおいて特定したパケットの送信方向が「上り」であった場合(ステップS106;はい)、ミラーリング機能54は、パケット受信機能51が受信したパケットをミラーリングする(ステップS107)。すなわち、ミラーリング機能54は、当該パケットを複製して第2のNIC50bを介して通信状態可視化マシン90内のNIC90aへ送出する。その後、パケット受信機能51が、ウェブアプリケーションサーバマシン30内の第3のNIC30cから第1のNIC50aを介してパケットを受信するまで待機する状態になる(ステップS101;いいえ)。
一方、入替機能52が方向判定サブルーチンにおいて特定したパケットの送信方向が「下り」であった場合(ステップS106;いいえ)、ミラーリング機能54は、入替機能52が出所IPアドレスと宛先IPアドレスとを入れ替えてウェブアプリケーションサーバマシン30へ送信したパケットをミラーリングする(ステップS108)。すなわち、ミラーリング機能54は、当該パケットを複製して第2のNIC50bを介して通信状態可視化マシン90内のNIC90aへ送出する。その後、パケット受信機能51が、ウェブアプリケーションサーバマシン30内の第3のNIC30cから第1のNIC50aを介してパケットを受信するまで待機する状態になる(ステップS101;いいえ)。
《作用効果》
図10乃至図12は、本実施形態のループバック装置50による作用及び効果を説明するのに用いる図である。このうち、図10は、ウェブサーバ11からアプリケーションサーバ21へIIOPメッセージを送信する状態(上り)を示し、図11は、アプリケーションサーバ21からウェブサーバ11へIIOPメッセージを送信する状態(下り)を示している。図12は、ウェブアプリケーションサーバマシン30と、ループバック装置50と、通信状態可視化マシン90との間における上り送信及び下り送信で遣り取りされるパケットごとに、IPアドレス及びポート番号を示した表である。
ここで、説明のため、ウェブアプリケーションサーバマシン30内の第3のNIC30cに割り当てられているIPアドレスが「192.168. 0. 1」であるとともに、ループバ
ック装置50内の第1のNIC50aに割り当てられているIPアドレスが「192.168. 1. 1」であるとする。また、ウェブサーバ11の下位にあるIIOP−I/F12bに
割り当てられているポート番号が「50000」であるとともに、アプリケーションサーバ2
1の下位にあるIIOP−I/F22aに割り当てられているポート番号が「1000」であるとする。
この図10乃至図12に示す事例において、ウェブサーバ11からアプリケーションサーバ21へのIIOPメッセージの送信である上り送信では、(出所IPアドレス、宛先IPアドレス、出所ポート番号、宛先ポート番号)が(「192.168. 0. 1」、「192.168. 1. 1」、「50000」、「1000」)であるパケット(A)が、ウェブアプリケーション
サーバマシン30内の第3のNIC30cからループバック装置50の第1のNIC50aに送信される。
そして、ループバック装置50は、パケット(A)を受信した後、図7のステップS103及び図12に示すように、このパケット(A)の出所IPアドレスと宛先アドレスとを入れ替えたパケット(B)を生成し、このパケット(B)を、ループバック装置50の第1のNIC50aからウェブアプリケーションサーバマシン30内の第3のNIC30
cへ送信する。
また、ループバック装置50は、図7のステップS107に示すように、パケット(A)を、ループバック装置50の第2のNIC50bから通信状態可視化マシン90内のNIC90aへ送信する。
一方、アプリケーションサーバ21からウェブサーバ11へのIIOPメッセージの送信である下り送信では、(出所IPアドレス、宛先IPアドレス、出所ポート番号、宛先ポート番号)が(「192.168. 0. 1」、「192.168. 1. 1」、「1000」、「50000」)
であるパケット(C)が、ウェブアプリケーションサーバマシン30内の第3のNIC30cからループバック装置50の第1のNIC50aに送信される。
ここで、パケット(A)とパケット(C)とを比較すると、出所ポート番号と宛先ポート番号とが入れ替わっている。従って、上り送信での出所ポート番号と宛先ポート番号との組み合わせが、図9のステップS209に示すように、図6のコネクションテーブル55に一旦登録されれば、その後に受信するパケットの送信方向は、図9のステップS201乃至S208に示すように、そのパケットの出所ポート番号と宛先ポート番号との組み合わせにより、判別できることとなる。
そして、ループバック装置50は、パケット(C)を受信した後、図7のステップS103及び図12に示すように、このパケット(C)の出所IPアドレスと宛先アドレスとを入れ替えたパケット(D)を生成し、このパケット(D)を、ループバック装置50の第1のNIC50aからウェブアプリケーションサーバマシン30内の第3のNIC30cへ送信する。
また、ループバック装置50は、図7のステップS108に示すように、パケット(D)を、ループバック装置50の第2のNIC50bから通信状態可視化マシン90内のNIC90aへ送信する。
このように、本実施形態によれば、層が隣接するとともに同一マシン30に組み込まれた一対のサーバ11、21が遣り取りするIIOPメッセージは、当該マシン30内でローカルに遣り取りされず、マシン30外のループバック装置50を経由して遣り取りされることとなる。而も、そのIIOPメッセージを運搬するパケットは、ループバック装置50によって複製され、通信状態可視化マシン90に引き渡されることとなる。
なお、図7に示す処理は、受信したパケットの送信方向が「上り」である場合に、受信したパケットをミラーリングし、受信したパケットの送信方向が「下り」である場合に、IPアドレスを入れ替えたパケットをミラーリングするものとなっていた。つまり、当該処理は、図10乃至図12に示すように、パケット(A)とパケット(D)とをミラーリングするものとなっていた。しかしながら、図7に示す処理は、これらが逆のものであっても好い。
すなわち、受信したパケットの送信方向が「上り」である場合に、IPアドレスを入れ替えたパケットをミラーリングし、受信したパケットの送信方向が「下り」である場合に、受信したパケットをミラーリングするものとなっていても好い。この場合、当該処理は、図10乃至図12におけるパケット(B)とパケット(C)とをミラーリングするものとなる。
本実施形態のコンピュータネットワークシステムの構成を示すブロック図 ループバック装置の構成を示すブロック図 パケットを模式的に示す図 IPヘッダフォーマットを示す図 TCPヘッダフォーマットを示す図 コネクションテーブルを模式的に示す図 本実施形態のループバック装置が実行する処理の流れを示す図 方向判定サブルーチンの流れを示す図 方向判定サブルーチンの流れを示す図 送信方向が上りであるときのパケットの遣り取りを示す図 送信方向が下りであるときのパケットの遣り取りを示す図 上り送信及び下り送信で遣り取りされるパケットごとに、IPアドレス及びポート番号を示す表 3個のサーバが別マシンに組み込まれている従来のウェブ三階層システムの構成を示す図 3個のマシンで遣り取りされるメッセージのラダー表示を示す図 3個のサーバのうち2個のサーバが同一マシンに組み込まれている従来のウェブ三階層システムの構成を示す図 2個のマシンで遣り取りされるメッセージのラダー表示を示す図
符号の説明
11 ウェブサーバ
21 アプリケーションサーバ
30 ウェブアプリケーションサーバマシン
40 データベースサーバマシン
41 データベースサーバ
50 ループバック装置
50a 第1のNIC
50b 第2のNIC
50c ROMユニット
50d CPU
50e RAMユニット
51 パケット受信機能
52 入替機能
53 パケット送信機能
54 ミラーリング機能
55 コネクションテーブル
60 第1のLANスイッチ
80 第3のLANスイッチ
90 通信状態可視化マシン

Claims (4)

  1. 多階層システムのサーバ間を流れるパケットを分析してサーバ間のトランザクションを可視化するシステム可視化システムにおけるループバック装置であって、
    送信アドレスと送信元ポートと送信先ポートを記憶する記憶部と、
    2つ以上の階層の役割を担う1つのサーバ(以下、対象サーバという)から、送信アドレスと送信元ポートと送信先ポートを有するパケットを受信する受信部と、
    受信したパケットの送信アドレスと送信元ポートと送信先ポートが、前記記憶部の送信アドレスと送信元ポートと送信先ポートに一致すれば、該パケットの送信元アドレスと送信先アドレスを入れ替える入替部と、
    アドレスを入れえたパケットを前記対象サーバに送信する送信部と、
    受信したパケットまたはアドレスを入れえたパケットをミラーリングし、ミラーリングしたパケットをシステム可視化装置に送るミラーリング処理部と、
    を有するシステム可視化システムにおけるループバック装置。
  2. 前記入替部は、受信したパケットの送信アドレスと送信元ポートと送信先ポートが、前記記憶部の送信アドレスと送信元ポートと送信先ポートに一致すれば、受信したパケットが上りと判断し、
    受信したパケットの送信元ポートと送信先ポートを入れ替えて、受信したパケットの送信アドレスと入れ替え後の送信元ポートと送信先ポートが、前記記憶部の送信アドレスと送信元ポートと送信先ポートに一致すれば、受信したパケットが下りと判断し、
    前記ミラーリング処理部は、受信したパケットが上りであれば、受信したパケットをミラーリングし、受信したパケットが下りであれば、アドレスを入れ替えたパケットをミラーリングし、ミラーリングしたパケットをシステム可視化装置に送る、
    請求項1記載のシステム可視化システムにおけるループバック装置。
  3. 前記入替部は、受信したパケットの送信アドレスと送信元ポートと送信先ポートが前記記憶部になければ、受信したパケットが新規コネクションであると判断し、受信した送信アドレスと送信元ポートと送信先ポートを前記記憶部に記録する、
    請求項1または2記載のシステム可視化システムにおけるループバック装置。
  4. 多階層システムのサーバ間を流れるパケットを分析してサーバ間のトランザクションを可視化するシステム可視化システムのためにパケットをミラーリングするミラーリング方法であって、
    ループバック装置が、
    2つ以上の階層の役割を担う1つのサーバ(以下、対象サーバという)から、送信アドレスと送信元ポートと送信先ポートを有するパケットを受信する受信手順と、
    受信したパケットの送信アドレスと送信元ポートと送信先ポートが、送信アドレスと送信元ポートと送信先ポートを記憶する記憶部の送信アドレスと送信元ポートと送信先ポートに一致すれば、該パケットの送信元アドレスと送信先アドレスを入れ替える入替手順と、
    アドレスを入れえたパケットを前記対象サーバに送信する送信手順と、
    受信したパケットまたはアドレスを入れえたパケットをミラーリングし、ミラーリングしたパケットをシステム可視化装置に送るミラーリング処理手順と、
    を実行するミラーリング方法。
JP2008265217A 2008-10-14 2008-10-14 ループバック装置及びミラーリング方法 Expired - Fee Related JP5217886B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2008265217A JP5217886B2 (ja) 2008-10-14 2008-10-14 ループバック装置及びミラーリング方法
US12/510,492 US8582447B2 (en) 2008-10-14 2009-07-28 Loopback device and mirroring method
GB0913307A GB2464367B (en) 2008-10-14 2009-07-30 Loopback device and mirroring method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008265217A JP5217886B2 (ja) 2008-10-14 2008-10-14 ループバック装置及びミラーリング方法

Publications (2)

Publication Number Publication Date
JP2010098360A JP2010098360A (ja) 2010-04-30
JP5217886B2 true JP5217886B2 (ja) 2013-06-19

Family

ID=41067113

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008265217A Expired - Fee Related JP5217886B2 (ja) 2008-10-14 2008-10-14 ループバック装置及びミラーリング方法

Country Status (3)

Country Link
US (1) US8582447B2 (ja)
JP (1) JP5217886B2 (ja)
GB (1) GB2464367B (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8908542B2 (en) * 2009-12-22 2014-12-09 At&T Mobility Ii Llc Voice quality analysis device and method thereof
JP5556507B2 (ja) * 2010-08-30 2014-07-23 富士通株式会社 仮想マシン管理プログラム、仮想マシン管理方法、および仮想マシン管理装置
US9258271B1 (en) 2011-01-13 2016-02-09 Google Inc. Network address translation for virtual machines
EP2809035A4 (en) * 2012-01-27 2015-06-03 Fujitsu Ltd INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING SYSTEM, COMMUNICATION DATA DELIVERY METHOD, AND COMMUNICATION DATA DELIVERY PROGRAM
CN112087400B (zh) * 2020-09-16 2023-03-14 浙江中烟工业有限责任公司 一种基于EtherCAT从站芯片的网络流量镜像系统及方法
CN112991448B (zh) * 2021-03-22 2023-09-26 华南理工大学 一种基于颜色直方图的回环检测方法、装置及存储介质

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7379994B2 (en) 2000-10-26 2008-05-27 Metilinx Aggregate system resource analysis including correlation matrix and metric-based analysis
US6823382B2 (en) 2001-08-20 2004-11-23 Altaworks Corporation Monitoring and control engine for multi-tiered service-level management of distributed web-application servers
US7010595B2 (en) * 2001-12-14 2006-03-07 D-Link Corp. Apparatus for multi-level loopback test in a community network system and method therefor
US7152185B2 (en) * 2002-02-22 2006-12-19 Bea Systems, Inc. Method for event triggered monitoring of managed server health
US20040078483A1 (en) * 2002-10-16 2004-04-22 Raymond Simila System and method for implementing virtual loopbacks in ethernet switching elements
JP4610240B2 (ja) 2004-06-24 2011-01-12 富士通株式会社 分析プログラム、分析方法及び分析装置
US7408883B2 (en) * 2004-09-01 2008-08-05 Nettest, Inc. Apparatus and method for performing a loopback test in a communication system
JP4570527B2 (ja) * 2005-07-20 2010-10-27 富士通株式会社 システム性能監視プログラム及びシステム性能監視方法
WO2007052327A1 (ja) * 2005-10-31 2007-05-10 Fujitsu Limited 性能異常分析装置、方法及びプログラム、並びに性能異常分析装置の分析結果表示方法
JP4594258B2 (ja) * 2006-03-10 2010-12-08 富士通株式会社 システム分析装置およびシステム分析方法
JP4855162B2 (ja) * 2006-07-14 2012-01-18 株式会社日立製作所 パケット転送装置及び通信システム
WO2008126179A1 (ja) * 2007-03-15 2008-10-23 Fujitsu Limited ネットワーク検証システム

Also Published As

Publication number Publication date
GB0913307D0 (en) 2009-09-02
US8582447B2 (en) 2013-11-12
JP2010098360A (ja) 2010-04-30
GB2464367A (en) 2010-04-21
GB2464367B (en) 2011-04-20
US20100091665A1 (en) 2010-04-15

Similar Documents

Publication Publication Date Title
US11310155B1 (en) Virtual router workload offloading
JP5811703B2 (ja) 分散制御プログラム、分散制御方法、および情報処理装置
US9659075B2 (en) Providing high availability in an active/active appliance cluster
JP5498102B2 (ja) ネットワークシステム、ネットワーク中継装置、それらの制御方法
JP5217886B2 (ja) ループバック装置及びミラーリング方法
US6061807A (en) Methods systems and computer products for error recovery of endpoint nodes
JP4588704B2 (ja) 自己管理仲介情報フロー
JP4789425B2 (ja) 経路テーブル同期方法、ネットワーク機器および経路テーブル同期プログラム
JP4231773B2 (ja) Vrの機密性を維持したvrrp技術
JP2004102374A (ja) データ移行装置を有する情報処理システム
US11601365B2 (en) Wide area networking service using provider network backbone network
JP2006262193A (ja) 制御装置、パケット転送方法およびパケット処理装置
JP2004013215A (ja) ストレージシステム、ストレージサブシステム、および、それらを含む情報処理システム
US11824773B2 (en) Dynamic routing for peered virtual routers
WO2005006671A1 (ja) ネットワークにおける特定サービスの最適ルーティング方法並びに同ネットワークに用いられるサーバ及びルーティングノード
CN103546556B (zh) 一种在未来网络xia中虚拟机在线迁移方法
JP2008283608A (ja) 冗長化された通信経路を切り替える計算機、プログラム及び方法
CN101534255A (zh) 一种实现特定请求定向处理的方法及装置
JP5212021B2 (ja) 監視プログラム、監視方法及び監視装置
CN106909322B (zh) 一种虚拟化系统中支持存储灾备的路由方法及装置
JP2007249659A (ja) システム切替方法、その計算機システム及びプログラム
JP4378205B2 (ja) ブレード型ネットワーク中継装置
JP4641794B2 (ja) パケットフィルタ同期方法及びパケット中継システム
JP2008047142A (ja) 情報処理システム、および、情報処理システムのストレージ制御方法
US20220321471A1 (en) Multi-tenant offloaded protocol processing for virtual routers

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110708

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121107

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121113

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130115

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130218

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160315

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees