JP5316178B2 - 通信経路推定プログラム、方法及びコンピュータ - Google Patents

通信経路推定プログラム、方法及びコンピュータ Download PDF

Info

Publication number
JP5316178B2
JP5316178B2 JP2009092787A JP2009092787A JP5316178B2 JP 5316178 B2 JP5316178 B2 JP 5316178B2 JP 2009092787 A JP2009092787 A JP 2009092787A JP 2009092787 A JP2009092787 A JP 2009092787A JP 5316178 B2 JP5316178 B2 JP 5316178B2
Authority
JP
Japan
Prior art keywords
test
packet
network
address
communication path
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
JP2009092787A
Other languages
English (en)
Other versions
JP2010245866A (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 JP2009092787A priority Critical patent/JP5316178B2/ja
Priority to US12/696,346 priority patent/US8274898B2/en
Publication of JP2010245866A publication Critical patent/JP2010245866A/ja
Application granted granted Critical
Publication of JP5316178B2 publication Critical patent/JP5316178B2/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/50Testing arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/26Route discovery packet
    • 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
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/0213Standardised network management protocols, e.g. simple network management protocol [SNMP]

Landscapes

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

Description

本技術は、ネットワーク内を流れるパケットの通信経路を推定するための技術に関する。
図27に、IP(Internet Protocol)ネットワークの一例を示す。このようなネットワークにおいて、例えば以下のような理由で、ネットワーク上の通信経路を特定することが重要となっている。具体的には、第1に、図28に示すように、パケットの欠損が生じた場合に、障害が発生している通信経路がどの経路であるかを特定するためである。第2に、通信経路がネットワーク設計時に想定したとおりの経路になっているかを確認するためである。第3に、メンテナンス工事などを行う場合に、サービスに影響が出ないよう正しく迂回されているかを確認するためである。
ところで、IPネットワークにおけるルーティング制御にはOSPF(Open Shortest Path First)プロトコルがよく用いられる。OSPFでは、各ネットワーク装置(例えばルータなど)がLSA(Link State Advertisement)と呼ばれるパケットを交換し、トポロジ及びルーティングテーブルを生成・保持する。
このようなOSPFによるルーティングを実施するネットワークに対して、当該ネットワーク内を流れるパケットをキャプチャする経路監視サーバを設け、LSAを収集することにより、ネットワーク内の通信経路を特定する技術が従来から存在している。例えば図27では、経路監視サーバが、ルータEを流れるパケットをキャプチャし、ルータと同様のトポロジ及びルーティングテーブルを生成・保持する。
一方、OSPFでは、ある宛先までのコストが等しい通信経路(ECMP(Equal Cost Multi-Path)と呼ばれる)が複数存在する場合に、各通信経路に負荷を分散することができる。なお、各通信経路への振り分けは、例えば送信元アドレスと送信先アドレスとの組み合わせ毎に行われる。
特開2005−236881号公報 特開2006−33235号公報 特開2005−252368号公報 特開2001−308912号公報
例えば図27に示したネットワークにおいて、ルータGからルータHまでのECMPとして、経路1「ルータG−ルータA−ルータE−ルータN1−ルータD−ルータH」と、経路2「ルータG−ルータB−ルータC−ルータD−ルータH」とがあった場合、「12.0.0.0/8」から「10.0.0.0/8」へのパケットは、経路1と経路2とに分散して送信される。ここで、経路監視サーバは、経路1と経路2とをルーティングテーブルから特定することができる。
しかしながら、各通信経路への振り分けは、送信元アドレスと送信先アドレスとの組み合わせ毎に行われるため、経路監視サーバは、パケットがどちらの通信経路を通過するかをルーティングテーブルから判別することはできない。
従って、本技術の目的は、パケットが通過すると推定される通信経路がネットワーク内に複数存在する場合に、当該ネットワークを監視するためのサーバにて、パケットの通信経路を特定できるようにすることである。
本通信経路推定方法は、第1のネットワークと第2のネットワークとに接続される第3のネットワークを監視するためのコンピュータにより実行される方法であって、第3のネットワーク内に、第1のネットワークから第2のネットワークへ送信されるパケットが通過すると推定される通信経路が複数存在する場合、予め設定されている、第1のネットワーク内の未使用アドレスの中から試験用送信元アドレスを特定し、予め設定されている、第2のネットワーク内の未使用アドレスの中から試験用送信先アドレスを特定する試験用アドレス特定ステップと、第3のネットワークの境界に設置されるエッジルータのうち第2のネットワークと接続されるエッジルータである出力エッジルータに、試験用送信先アドレス宛のパケットを第2のネットワークに転送しないよう当該出力エッジルータのARP(Address Resolution Protocol)テーブルの設定を変更させるステップと、通信経路毎のルータであって計測対象となる計測対象ルータの各々から、入力パケットカウンタの値を取得し、第1入力パケット数として記憶装置に格納する第1取得ステップと、エッジルータのうち第1のネットワークと接続されるエッジルータである入力エッジルータのアドレスをソースルーティングとして含み且つ試験用送信元アドレス及び試験用送信先アドレスを送信元及び送信先として含む試験パケットを生成し、生成した試験パケットを所定回数送出する試験パケット送出ステップと、計測対象ルータの各々から入力パケットカウンタの値を取得し、第2入力パケット数として記憶装置に格納する第2取得ステップと、記憶装置に格納されている第1入力パケット数と第2入力パケット数との差を計測対象ルータ毎に算出し、算出した差に基づき、試験パケットが通過した通信経路を特定する通信経路特定ステップとを含む。
パケットが通過すると推定される通信経路がネットワーク内に複数存在する場合に、当該ネットワークを監視するためのサーバにて、パケットの通信経路を特定できるようになる。
図1は、本実施の形態の前提となる技術を説明するための図である。 図2は、本実施の形態における経路監視サーバ及びルータの機能ブロック図である。 図3は、ルーティングテーブルのテーブル例を示す図である。 図4は、ネットワークの構成例を示す図である。 図5は、カウントテーブルのテーブル例を示す図である。 図6は、経路推定テーブルのテーブル例を示す図である。 図7は、試験パケット送信結果テーブルのテーブル例を示す図である。 図8は、本実施の形態の全体の流れを説明するための図である。 図9は、通信経路数が2の場合における経路推定テーブルの一例を示す図である。 図10は、試験パケット(SRC=12.0.0.3、DST=10.0.0.3)を送信し、当該試験パケットの通信経路を特定する処理を説明するための図である。 図11は、RMON MIB情報に含まれるカウンタを示す図である。 図12は、試験パケット(SRC=12.0.0.3、DST=10.0.0.3)送信前後の入力パケット数を示す図である。 図13は、試験パケット(SRC=12.0.0.3、DST=10.0.0.4)を送信し、当該試験パケットの通信経路を特定する処理を説明するための図である。 図14は、試験パケット(SRC=12.0.0.3、DST=10.0.0.4)送信前後の入力パケット数を示す図である。 図15は、試験パケット(SRC=12.0.0.4、DST=10.0.0.3)を送信し、当該試験パケットの通信経路を特定する処理を説明するための図である。 図16は、試験パケット(SRC=12.0.0.4、DST=10.0.0.3)送信前後の入力パケット数を示す図である。 図17は、試験パケット(SRC=12.0.0.4、DST=10.0.0.4)を送信し、当該試験パケットの通信経路を特定する処理を説明するための図である。 図18は、試験パケット(SRC=12.0.0.4、DST=10.0.0.4)送信前後の入力パケット数を示す図である。 図19は、経路推定テーブルに経路IDを登録する処理を説明するための図である。 図20は、経路監視サーバの処理フロー(第1の部分)を示す図である。 図21は、経路監視サーバの処理フロー(第2の部分)を示す図である。 図22は、試験パケット送信処理の処理フローを示す図である。 図23は、IPヘッダの構成図である。 図24は、UDPパケットを用いるようにした変形例を示す図である。 図25は、UDPヘッダの構成図である。 図26は、パケットをキャプチャするようにした変形例を示す図である。 図27は、ネットワークの構成例を示す図である。 図28は、ネットワーク障害の一例を示す図である。 図29は、コンピュータの機能ブロック図である。
例えば、パケットが通過すると推定される通信経路がネットワーク内に複数存在する場合において、当該ネットワークを監視するためのサーバにて個々のパケットの通信経路を特定する方法として、図1に示すような方法が考えられる。なお、図1では、ルータGからルータHまでのECMPとして、経路1「ルータG−ルータA−ルータE−ルータN1−ルータD−ルータH」と、経路2「ルータG−ルータB−ルータC−ルータD−ルータH」とがあるものとする。
まず、経路監視サーバが、送信元サブネット(図1では「12.0.0.0/8」)内のアドレスと送信先サブネット(図1では「10.0.0.0/8」)内のアドレスとの組み合わせの中から調査対象となる組み合わせを1つ特定する。例えば、「12.0.0.1」と「10.0.0.1」との組み合わせが特定されたものとする。そして、経路監視サーバは、「12.0.0.1」を送信元アドレス(SRC)とし、「10.0.0.1」を送信先アドレス(DST)とするping(Packet INternet Groper)パケットを生成し、試験パケットとして所定回数(例えば1000回)送信する。この際、経路監視サーバは、ルータGのアドレスをソースルーティングとしてIPヘッダのオプション(Option)フィールドに設定し、試験パケットがルータGを経由するようにする。
そして、経路監視サーバは、例えばルータA及びルータBの各々について、試験パケット送信前の入力パケット数と、試験パケット送信後の入力パケット数との差分を算出し、試験パケット送信前後の入力パケット数の差が、試験パケットの送信回数(例えば1000回)と等しい又は近似するルータを特定する。そして、経路監視サーバは、特定したルータを含む通信経路を、「12.0.0.1」から「10.0.0.1」へのパケットの通信経路として特定する。そして、このような処理を送信元サブネット内のアドレスと送信先サブネット内のアドレスとの全ての組み合わせについて実施することにより、個々のパケットの通信経路を特定することができる。
しかしながら、この方法では、大量の試験パケットが送信先サブネット内のユーザ端末やサーバなどに送信されることとなり、送信先サブネット内のユーザ端末やサーバに過度の負荷がかかってしまうという問題がある。なお、試験パケットとしてpingパケットを送信した場合、pingパケットを受信したユーザ端末やサーバが応答パケットを送信するため、送信元サブネット内のユーザ端末やサーバにも過度の負荷がかかってしまう。
そこで、本実施の形態では、送信元サブネット内の未使用アドレス及び送信先サブネット内の未使用アドレスを用いて試験パケットを送信し、試験パケットが送信先サブネット内に流入しないようにすることで、稼働中のユーザ端末やサーバに負荷をかけることなく、パケットの通信経路を特定する。また、通信経路の振り分け規則に従って構成される経路推定テーブルを生成することで、実際に送信されるパケットについての通信経路を推定できるようにする。以下、本実施の形態について説明する。
図2に本技術の一実施の形態に係る経路監視サーバ及びルータの機能ブロック図を示す。経路監視サーバは、トポロジ・経路管理部11と、ルーティングテーブル格納部12と、経路判定部13と、テーブル制御部14と、試験パケット送信部15と、入力パケット数取得部16と、MIB収集結果格納部17と、経路推定テーブル格納部18と、試験パケット送信結果テーブル格納部19と、未使用アドレス格納部20を有する。なお、経路判定部13は、試験用アドレス決定部131と、通信経路特定部132とを有する。また、ルータは、スイッチ部31と、MIB情報格納部32と、SNMP送受信部33とを有する。
なお、トポロジ・経路管理部11は、各ルータからLSAを収集し、ルーティングテーブルを生成してルーティングテーブル格納部12に格納したり、通信経路を特定するよう経路判定部13に指示したりするなどの処理を実施する。経路判定部13は、ルータのARP(Address Resolution Protocol)テーブルの設定を変更させるためのSNMP(Simple Network Management Protocol)コマンドの発行をテーブル制御部14に指示する。また、経路判定部13は、経路推定テーブル格納部18及び未使用アドレス格納部20に格納されているデータに従って試験用アドレスを決定し、試験パケットの送信を試験パケット送信部15に指示する。さらに、経路判定部13は、RMON MIB情報を収集するためのSNMPコマンドの発行を入力パケット数取得部16に指示する。また、ルーティングテーブル格納部12及びMIB収集結果格納部17に格納されているデータに基づき試験パケットの通過した通信経路を特定し、特定した通信経路の識別情報を試験パケット送信結果テーブル格納部19に格納する。さらに、経路判定部13は、試験パケット送信結果テーブル格納部19に格納されているデータに従って、経路推定テーブル格納部18に通信経路の識別情報を登録する。テーブル制御部14は、経路判定部13からの指示に従って、ARPテーブルの設定を変更させるためのSNMPコマンドをルータに発行する。試験パケット送信部15は、経路判定部13からの指示に従って、後で説明する試験パケット送信処理を実施する。入力パケット数取得部16は、経路判定部13からの指示に従って、RMON MIB情報を収集するためのSNMPコマンドをルータに発行し、収集したRMON MIB情報をMIB収集結果格納部17に格納する。
また、スイッチ部31は、伝送路を介して他のルータと接続されており、ルーティングテーブル(図示せず)に従ってパケット転送などの処理を実施する。SNMP送受信部33は、経路監視サーバからの要求に応じて、MIB情報格納部32に格納されているRMON MIB情報を経路監視サーバに送信する。なお、ルータの機能については、基本的には従来の機能と変わらないため、これ以上述べない。
図3に、ルーティングテーブル格納部12に格納されるルーティングテーブルの一例を示す。図3の例では、ルーティングテーブルには、送信元サブネットの列と、送信先サブネットの列と、通信経路の列とが含まれる。通信経路の列には、送信元サブネットから送信先サブネットへ送信されるパケットが通過すると推定される1又は複数の通信経路が設定される。なお、図3は、図4に示すようなネットワーク構成の場合におけるルーティングテーブルの例を示す。図4では、ルータGがサブネット「12.0.0.0/8」と接続されており、ルータCがサブネット「11.0.0.0/8」と接続されており、ルータHがサブネット「10.0.0.0/8」と接続されている。例えば図3において、「12.0.0.0/8」から「10.0.0.0/8」へ送信されるパケットについては、2つの通信経路が設定されている。
図5に、MIB収集結果格納部17に格納されるカウントテーブルの一例を示す。図5の例では、カウントテーブルには、計測対象ルータの列と、試験パケット送信前の入力パケット数の列と、試験パケット送信後の入力パケット数の列とが含まれる。
図6に、経路推定テーブル格納部18に格納される経路推定テーブルの一例を示す。図6の例では、経路推定テーブルには、送信元アドレスのModule(N)の列と、送信先アドレスのModule(N)の列と、経路IDの列とが含まれる。なお、送信元アドレスのModule(N)の列には、送信元アドレスの末尾の値をNで割った際の余りが設定される。同様に、送信先アドレスのModule(N)の列には、送信先アドレスの末尾の値をNで割った際の余りが設定される。そして、図6の例では、経路推定テーブルには、送信元アドレスのModule(N)と送信先アドレスのModule(N)との全ての組み合わせについてのエントリ(すなわち、N×N個のエントリ)が含まれる。
図7に、試験パケット送信結果テーブル格納部19に格納される試験パケット送信結果テーブルの一例を示す。図7の例では、試験パケット送信結果テーブルには、送信元アドレスの列と、送信先アドレスの列と、経路IDの列とが含まれる。経路IDの列には、試験パケットの通過した通信経路のIDが設定される。なお、詳細は後で説明するが、試験パケット送信結果テーブルには、経路推定テーブルと同じ数のレコードが登録される。すなわち、経路推定テーブルにN×N個のエントリが含まれる場合には、試験パケット送信結果テーブルにもN×N個のレコードが登録される。
次に、図8乃至図19を用いて、本実施の形態の全体の流れを説明する。ここでは、図8に示すようなネットワークにおいて、送信元サブネット「12.0.0.0/8」から送信先サブネット「10.0.0.0/8」へのパケットが、経路1「ルータG−ルータA−ルータE−ルータN1−ルータD−ルータH」と、経路2「ルータG−ルータB−ルータC−ルータD−ルータH」のどちらを通過するかを経路監視サーバにて特定する場合を例に説明する。なお、前提として、ルーティングテーブル格納部12には、図3に示したようなルーティングテーブルが格納されているものとする。また、経路推定テーブル格納部18には、図9に示すような経路推定テーブルが格納されているものとする。なお、図9は通信経路数Nが2の場合の経路推定テーブルの例を示す。
まず、例えば経路監視サーバの管理者が、経路監視サーバを操作して、送信元サブネット及び送信先サブネット内の未使用アドレスを入力する。ここでは、経路監視サーバの管理者が、事前に調査を行うなどして、送信元サブネット及び送信先サブネット内の未使用アドレスを把握しているものとする。そして、経路監視サーバは、未使用アドレスの入力を受け付け、未使用アドレス格納部20に格納する(図8:ステップ(1))。
そして、経路監視サーバは、経路推定テーブルに格納されているエントリ毎に、未使用アドレス格納部20に格納されている未使用アドレスの中から、当該エントリに対応する試験用送信元アドレスと試験用送信先アドレスとを選択し、選択した試験用送信元アドレスと試験用送信先アドレスとを含むレコードを試験パケット送信結果テーブルに登録する(ステップ(2))。なお、試験パケット送信結果テーブルにおける経路IDの列には、この時点では、まだ何も設定されない。
例えば図9に示した経路推定テーブルにおいて、送信元アドレスのModule(N)が0に設定されているエントリについては、送信元サブネット「12.0.0.0/8」内の未使用アドレスである「12.0.0.3」、「12.0.0.4」、・・・の中から、2で割った際の余りが0になる値を末尾に含むアドレスを試験用送信元アドレスとして選択する。また、送信元アドレスのModule(N)が1に設定されているエントリについては、送信元サブネット「12.0.0.0/8」内の未使用アドレスである「12.0.0.3」、「12.0.0.4」、・・・の中から、2で割った際の余りが1になる値を末尾に含むアドレスを試験用送信元アドレスとして選択する。同様に、経路推定テーブル(図9)において、送信先アドレスのModule(N)が0に設定されているエントリについては、送信先サブネット「10.0.0.0/8」内の未使用アドレスである「10.0.0.3」、「10.0.0.4」、・・・の中から、2で割った際の余りが0になる値を末尾に含むアドレスを試験用送信先アドレスとして選択する。また、送信先アドレスのModule(N)が1に設定されているエントリについては、送信先サブネット「10.0.0.0/8」内の未使用アドレスである「10.0.0.3」、「10.0.0.4」、・・・の中から、2で割った際の余りが1になる値を末尾に含むアドレスを試験用送信先アドレスとして選択する。
従って、経路管理サーバは、経路推定テーブル(図9)の1行目のエントリに対応する試験用送信元アドレス及び試験用送信先アドレスとして、例えば「12.0.0.4」及び「10.0.0.4」を選択する。また、経路推定テーブル(図9)の2行目のエントリに対応する試験用送信元アドレス及び試験用送信先アドレスとして、例えば「12.0.0.4」及び「10.0.0.3」を選択する。さらに、経路推定テーブル(図9)の3行目のエントリに対応する試験用送信元アドレス及び試験用送信先アドレスとして、例えば「12.0.0.3」及び「10.0.0.4」を選択する。また、経路推定テーブル(図9)の4行目のエントリに対応する試験用送信元アドレス及び試験用送信先アドレスとして、例えば「12.0.0.3」及び「10.0.0.3」を選択する。
そして、経路監視サーバは、ルータHにSNMPコマンドを発行し、ルータHのARPテーブルの設定を変更させる(ステップ(3))。具体的には、ステップ(2)において決定した試験用送信アドレス(上の説明では「10.0.0.3」及び「10.0.0.4」)の各々に対応するMACアドレスの設定を、ルータHのMACアドレス(図8では「44:55:66:77」)に変更させるためのSNMPコマンドを発行する。なお、これは、ルータHが試験用送信先アドレス宛のパケットを送信先サブネット「10.0.0.0/8」に転送しないようにするためである。
図10の説明に移行して、経路監視サーバは、試験パケット送信結果テーブルにおいて未処理のレコードを特定する。ここでは、送信元アドレス及び送信先アドレスとして「12.0.0.3」及び「10.0.0.3」を含むレコードが特定されたものとする。
そして、経路監視サーバは、計測対象ルータ(図10ではルータA及びB)の各々からRMON MIB情報を収集する(図10:ステップ(4))。そして、収集したRMON MIB情報に含まれる入力パケットカウンタの値を、試験パケット送信前の入力パケット数として計測対象ルータ毎にカウントテーブルに格納する。なお、入力パケットカウンタは、インタフェース毎に保持され、図11に示すようにパケットサイズによってさらに複数のカウンタに分かれている。本実施の形態では、パケットサイズが64バイト以下のパケットを試験パケットとして用いるので、図11におけるetherStatsUndersizePktsとetherStatsPkts64Octetsとの合計をカウントテーブルに格納する。
そして、経路監視サーバは、特定したレコードに含まれる送信元アドレス及び送信先アドレスを用いてpingパケットを生成し、試験パケットとして所定回数送信する(ステップ(5))。この際、ルータGのアドレスをソースルーティングとしてIPヘッダのオプション(Option)フィールドに設定し、試験パケットがルータGを経由するようにする。なお、ステップ(3)においてルータHのARPテーブルを変更しているので、この試験パケット(SRC=12.0.0.3、DST=10.0.0.3)は、送信先サブネット「10.0.0.0/8」に転送されることはない。
そして、経路監視サーバは、試験パケットを所定回数送信した後、再び計測対象ルータの各々からRMON MIB情報を収集する(ステップ(6))。そして、収集したRMON MIB情報に含まれる入力パケットカウンタの値を、試験パケット送信後の入力パケット数として計測対象ルータ毎にカウントテーブルに格納する。
そして、経路監視サーバは、試験パケット送信前の入力パケット数と試験パケット送信後の入力パケット数との差を算出し、試験パケットが通過した通信経路を特定する(ステップ(7))。特定された通信経路の経路IDは、試験パケット送信結果テーブルに登録される。
例えばカウントテーブルに図12に示すようなデータが格納されている場合、試験パケット(SRC=12.0.0.3、DST=10.0.0.3)はルータB(すなわち、経路2)を通過していたことが分かる。従って、経路2がこの試験パケットの通信経路として特定され、経路ID「2」が試験パケット送信結果テーブルに登録される。
図13の説明に移行して、経路監視サーバは、試験パケット送信結果テーブルにおいて次のレコードを特定する。ここでは、送信元アドレス及び送信先アドレスとして「12.0.0.3」及び「10.0.0.4」を含むレコードが特定されたものとする。そして、経路監視サーバは、カウントテーブルをクリアした後、計測対象ルータの各々からRMON MIB情報を収集する(図13:ステップ(8))。そして、収集したRMON MIB情報に含まれる入力パケットカウンタの値を、試験パケット送信前の入力パケット数として計測対象ルータ毎にカウントテーブルに格納する。
そして、経路監視サーバは、特定したレコードに含まれる送信元アドレス及び送信先アドレスを用いてpingパケットを生成し、試験パケットとして所定回数送信する(ステップ(9))。この際、ルータGのアドレスをソースルーティングとしてIPヘッダのオプション(Option)フィールドに設定し、試験パケットがルータGを経由するようにする。なお、ステップ(3)においてルータHのARPテーブルを変更しているので、この試験パケット(SRC=12.0.0.3、DST=10.0.0.4)は、送信先サブネット「10.0.0.0/8」に転送されることはない。
そして、経路監視サーバは、試験パケットを所定回数送信した後、再び計測対象ルータの各々からRMON MIB情報を収集する(ステップ(10))。そして、収集したRMON MIB情報に含まれる入力パケットカウンタの値を、試験パケット送信後の入力パケット数として計測対象ルータ毎にカウントテーブルに格納する。
そして、経路監視サーバは、試験パケット送信前の入力パケット数と試験パケット送信後の入力パケット数との差を算出し、試験パケットが通過した通信経路を特定する(ステップ(11))。特定された通信経路の経路IDは、試験パケット送信結果テーブルに登録される。
例えばカウントテーブルに図14に示すようなデータが格納されている場合、試験パケット(SRC=12.0.0.3、DST=10.0.0.4)はルータA(すなわち、経路1)を通過していたことが分かる。従って、この試験パケットの通信経路として経路1が特定され、経路ID「1」が試験パケット送信結果テーブルに登録される。
図15の説明に移行して、経路監視サーバは、試験パケット送信結果テーブルにおいて次のレコードを特定する。ここでは、送信元アドレス及び送信先アドレスとして「12.0.0.4」及び「10.0.0.3」を含むレコードが特定されたものとする。
そして、経路監視サーバは、カウントテーブルをクリアした後、計測対象ルータの各々からRMON MIB情報を収集する(図15:ステップ(12))。そして、収集したRMON MIB情報に含まれる入力パケットカウンタの値を、試験パケット送信前の入力パケット数として計測対象ルータ毎にカウントテーブルに格納する。
そして、経路監視サーバは、特定したレコードに含まれる送信元アドレス及び送信先アドレスを用いてpingパケットを生成し、試験パケットとして所定回数送信する(ステップ(13))。この際、ルータGのアドレスをソースルーティングとしてIPヘッダのオプション(Option)フィールドに設定し、試験パケットがルータGを経由するようにする。なお、ステップ(3)においてルータHのARPテーブルを変更しているので、この試験パケット(SRC=12.0.0.4、DST=10.0.0.3)は、送信先サブネット「10.0.0.0/8」に転送されることはない。
そして、経路監視サーバは、試験パケットを所定回数送信した後、再び計測対象ルータの各々からRMON MIB情報を収集する(ステップ(14))。そして、収集したRMON MIB情報に含まれる入力パケットカウンタの値を、試験パケット送信後の入力パケット数として計測対象ルータ毎にカウントテーブルに格納する。
そして、経路監視サーバは、試験パケット送信前の入力パケット数と試験パケット送信後の入力パケット数との差を算出し、試験パケットが通過した通信経路を特定する(ステップ(15))。特定された通信経路の経路IDは、試験パケット送信結果テーブルに登録される。
例えばカウントテーブルに図16に示すようなデータが格納されている場合、試験パケット(SRC=12.0.0.4、DST=10.0.0.3)はルータA(すなわち、経路1)を通過していたことが分かる。従って、この試験パケットの通信経路として経路1が特定され、経路ID「1」が試験パケット送信結果テーブルに登録される。
図17の説明に移行して、経路監視サーバは、試験パケット送信結果テーブルにおいて次のレコードを特定する。ここでは、送信元アドレス及び送信先アドレスとして「12.0.0.4」及び「10.0.0.4」を含むレコードが特定されたものとする。
そして、経路監視サーバは、カウントテーブルをクリアした後、計測対象ルータの各々からRMON MIB情報を収集する(図17:ステップ(16))。そして、収集したRMON MIB情報に含まれる入力パケットカウンタの値を、試験パケット送信前の入力パケット数として計測対象ルータ毎にカウントテーブルに格納する。
そして、経路監視サーバは、特定したレコードに含まれる送信元アドレス及び送信先アドレスを用いてpingパケットを生成し、試験パケットとして所定回数送信する(ステップ(17))。この際、ルータGのアドレスをソースルーティングとしてIPヘッダのオプション(Option)フィールドに設定し、試験パケットがルータGを経由するようにする。なお、ステップ(3)においてルータHのARPテーブルを変更しているので、この試験パケット(SRC=12.0.0.4、DST=10.0.0.4)は、送信先サブネット「10.0.0.0/8」に転送されることはない。
そして、経路監視サーバは、試験パケットを所定回数送信した後、再び計測対象ルータの各々からRMON MIB情報を収集する(ステップ(18))。そして、収集したRMON MIB情報に含まれる入力パケットカウンタの値を、試験パケット送信後の入力パケット数として計測対象ルータ毎にカウントテーブルに格納する。
そして、経路監視サーバは、試験パケット送信前の入力パケット数と試験パケット送信後の入力パケット数との差を算出し、試験パケットが通過した通信経路を特定する(ステップ(19))。特定された通信経路の経路IDは、試験パケット送信結果テーブルに登録される。
例えばカウントテーブルに図18に示すようなデータが格納されている場合、試験パケット(SRC=12.0.0.4、DST=10.0.0.4)はルータB(すなわち、経路2)を通過していたことが分かる。従って、この試験パケットの通信経路として経路2が特定され、経路ID「2」が試験パケット送信結果テーブルに登録される。
そして、経路監視サーバは、試験パケット送信結果テーブルの全てのレコードについて処理が完了すると、図19に示すように、試験パケット送信結果テーブルに従って、経路推定テーブルに経路IDを登録する。
図19において、試験パケット送信結果テーブルにおけるレコード1901(「12.0.0.3」及び「10.0.0.3」を含むレコード)は、送信元アドレスのModule(N)及び送信先アドレスのModule(N)がともに1に設定されているエントリ1914に対応する。従って、エントリ1914の経路IDの列には、レコード1901に従って「2」が登録される。また、試験パケット送信結果テーブルにおけるレコード1902(「12.0.0.3」及び「10.0.0.4」を含むレコード)は、送信元アドレスのModule(N)が1、かつ、送信先アドレスのModule(N)が0に設定されているエントリ1913に対応する。従って、エントリ1913の経路IDの列には、レコード1902に従って「1」が登録される。さらに、試験パケット送信結果テーブルにおけるレコード1903(「12.0.0.4」及び「10.0.0.3」を含むレコード)は、送信元アドレスのModule(N)が0、かつ、送信先アドレスのModule(N)が1に設定されているエントリ1912に対応する。従って、エントリ1912の経路IDの列には、レコード1903に従って「1」が登録される。また、試験パケット送信結果テーブルにおけるレコード1904(「12.0.0.4」及び「10.0.0.4」を含むレコード)は、送信元アドレスのModule(N)及び送信先アドレスのModule(N)がともに0に設定されているエントリ1911に対応する。従って、エントリ1911の経路IDの列には、レコード1904に従って「2」が登録される。
なお、経路推定テーブルは通信経路の振り分け規則に従って構成されているので、この経路推定テーブルから、実際に送信されるパケットの通信経路を推定することができる。例えば、「12.0.0.1」から「10.0.0.1」へ送信されるパケットについては、送信元アドレスのModule(N)及び送信先アドレスのModule(N)がともに1となるので、図19に示したエントリ1914に該当する。従って、「12.0.0.1」から「10.0.0.1」へ送信されるパケットの通信経路は、経路推定テーブルから、経路2であると推定することができる。
次に、図20乃至図23を用いて、経路監視サーバの具体的な処理フローを説明する。まず、トポロジ・経路管理部11が、各ルータからLSAを受信し、一旦記憶装置に格納する(図20:ステップS1)。そして、トポロジ・経路管理部11は、記憶装置に格納されているLSAからルーティングテーブルを生成し、ルーティングテーブル格納部12に格納する(ステップS3)。例えば図3に示したようなルーティングテーブルが生成される。
そして、トポロジ・経路管理部11は、送信元サブネットと送信先サブネットとの組み合わせのうち通信経路が複数設定されている組み合わせがルーティングテーブルに格納されているか判断する(ステップS5)。通信経路が複数設定されている組み合わせがルーティングテーブルに格納されていなければ(ステップS5:Noルート)、端子Aを介して処理を終了する。
一方、通信経路が複数設定されている組み合わせがルーティングテーブルに格納されている場合(ステップS5:Yesルート)、トポロジ・経路管理部11は、通信経路を特定するよう経路判定部13に指示する。
そして、経路判定部13は、トポロジ・経路管理部11から通信経路を特定する旨の指示を受信すると、未使用アドレス入力画面(図示せず)を表示装置に表示させる。そして、例えば経路監視サーバの管理者は、経路監視サーバを操作して、送信元サブネット及び送信先サブネットの各々について未使用アドレスを入力する。ここでは、経路監視サーバの管理者が、事前に調査を行うなどして、送信元サブネット及び送信先サブネット内の未使用アドレスを把握しているものとする。そして、経路判定部13は、送信元サブネット及び送信先サブネットの各々の未使用アドレスの入力を受け付け、未使用アドレス格納部20に格納する(ステップS7)。なお、本ステップの処理は、図8に示したステップ(1)に相当する。
そして、経路判定部13は、ルーティングテーブルから通信経路数Nを取得し、N×N個のエントリを経路推定テーブルに登録する(ステップS9)。すなわち、経路判定部13は、送信元アドレスのModule(N)と送信元アドレスのModule(N)との全ての組み合わせについてのエントリを経路推定テーブルに登録する。
そして、経路判定部13の試験用アドレス決定部131は、経路推定テーブルのエントリ毎に、未使用アドレスの中から当該エントリに対応する試験用送信元アドレスと試験用送信先アドレスとを選択し、選択した試験用送信元アドレスと試験用送信先アドレスとを含むレコードを試験パケット送信結果テーブルに追加する(ステップS11)。なお、本ステップの処理は、図8に示したステップ(2)に相当する。
そして、経路判定部13は、ステップS11において選択した試験用送信先アドレスを含むSNMPコマンド発行指示をテーブル制御部14に出力する。ここで、出力エッジルータとは、通信経路における終端のルータであって、送信先サブネットと接続されるルータを指す。そして、テーブル制御部14は、経路判定部13からSNMPコマンド発行指示を受信すると、ARPテーブルの設定を変更させるためのSNMPコマンドを出力エッジルータに発行することにより、出力エッジルータのARPテーブルの設定を変更させる(ステップS13)。ここでは、SNMPコマンド発行指示に含まれる試験用送信先アドレスに対応するMACアドレスが、出力エッジルータのMACアドレスとなるようARPテーブルを変更させる。なお、本ステップの処理は、図8に示したステップ(3)に相当する。その後、処理は、端子Bを介してステップS15(図21)に移行する。
図21の説明に移行して、端子Bの後、経路判定部13は、試験パケット送信結果テーブルから未処理のレコードを特定する(図21:ステップS15)。そして、経路判定部13は、RMON MIB情報を取得するよう入力パケット数取得部16に指示する。
そして、入力パケット数取得部16は、経路判定部13からの指示に応じて、SNMPコマンドを各計測対象ルータに送信して各計測対象ルータからRMON MIB情報を収集する。そして、収集したRMON MIB情報に含まれる入力パケットカウンタの値を、カウントテーブルにおける試験パケット送信前の入力パケット数の列に計測対象ルータ毎に格納する(ステップS17)。なお、上でも述べたが、etherStatsUndersizePktsとetherStatsPkts64Octetsとの合計をカウントテーブルに格納する。本ステップの処理は、図10に示したステップ(4)、図13に示したステップ(8)、図15に示したステップ(12)及び図17に示したステップ(16)に相当する。
その後、経路判定部13は、特定したレコードに含まれる試験用送信元アドレス及び試験用送信先アドレスを含む試験パケット送信指示を試験パケット送信部15に出力する。そして、試験パケット送信部15は、経路判定部13からの試験パケット送信指示を受信すると、試験パケット送信指示に含まれる試験用送信元アドレス及び試験用送信先アドレスを用いて試験パケット送信処理を実施する(ステップS19)。この試験パケット送信処理については、図22及び図23を用いて説明する。なお、本ステップの処理は、図10に示したステップ(5)、図13に示したステップ(9)、図15に示したステップ(13)及び図17に示したステップ(17)に相当する。
まず、試験パケット送信部15は、試験用送信元アドレス及び試験用送信先アドレスをIPヘッダのSRC及びDSTに設定し、入力エッジルータのアドレスをソースルーティングとしてIPヘッダのオプションフィールドに設定することにより、pingパケットを生成し、生成したpingパケットを試験パケットとして送信する(図22:ステップS31)。ここで、入力エッジルータとは、通信経路における先頭のルータであって、送信元サブネットと接続されるルータを指す。また、図23にIPヘッダの構成を示す。なお、IPヘッダについては、従来のものと変わらないため、これ以上述べない。
そして、試験パケット送信部15は、試験パケットの送信回数が所定回数に達したか判断する(ステップS33)。試験パケットの送信回数が所定回数に達していなければ(ステップS33:Noルート)、ステップS31の処理に戻り、上で述べた処理を繰り返す。
一方、試験パケットの送信回数が所定回数に達した場合(ステップS33:Yesルート)、試験パケット送信処理を終了し、元の処理に戻る。
図21の説明に戻って、試験パケット送信処理を実施した後、経路判定部13は、RMON MIB情報を取得するよう入力パケット数取得部16に指示する。
そして、入力パケット数取得部16は、経路判定部13からの指示に応じて、SNMPコマンドを各計測対象ルータに送信して各計測対象ルータからRMON MIB情報を収集する。そして、収集したRMON MIB情報に含まれる入力パケットカウンタの値を、カウントテーブルにおける試験パケット送信後の入力パケット数の列に計測対象ルータ毎に格納する(ステップS21)。なお、上でも述べたが、etherStatsUndersizePktsとetherStatsPkts64Octetsとの合計をカウントテーブルに格納する。本ステップの処理は、図10に示したステップ(6)、図13に示したステップ(10)、図15に示したステップ(14)及び図17に示したステップ(18)に相当する。
そして、経路判定部13の通信経路特定部132が、カウントテーブルに格納されている試験パケット送信前の入力パケット数と試験パケット送信後の入力パケット数との差を計測対象ルータ毎に算出し、一旦記憶装置に格納する(ステップS23)。
そして、通信経路特定部132は、試験パケット送信前後の入力パケット数の差に基づき通信経路を特定し、特定した通信経路の経路IDを試験パケット送信結果テーブルに登録する(ステップS25)。すなわち、試験パケット送信前後の入力パケット数の差が試験パケット送信回数と等しい又は近似する計測対象ルータを含む通信経路を特定する。なお、本ステップの処理は、図10に示したステップ(7)、図13に示したステップ(11)、図15に示したステップ(15)及び図17に示したステップ(19)に相当する。
そして、経路判定部13は、試験パケット送信結果テーブルにおける全てのレコードについて処理が完了したか判断する(ステップS27)。試験パケット送信結果テーブルにおける全てのレコードについて処理が完了していなければ(ステップS27:Noルート)、ステップS15に戻り、上で述べた処理を繰り返す。
一方、試験パケット送信結果テーブルにおける全てのレコードについて処理が完了した場合(ステップS27)、経路判定部13は、試験パケット送信結果テーブルに従って、経路推定テーブルの各エントリに経路IDを登録する(ステップS29)。本ステップの処理を実施すると、図19に示したように、経路推定テーブルの各エントリに経路IDが登録される。その後、経路判定部13は、通信経路が複数設定されている、送信元サブネットと送信先サブネットとの組み合わせ全てについて処理が完了したか判断する(ステップS30)。通信経路が複数設定されている全ての組み合わせについて処理が完了していなければ(ステップS30:Noルート)、端子Cを介してステップS7に戻り、未処理の組み合わせに対して、上で述べた処理を実施する。一方、通信経路が複数設定されている全ての組み合わせについて処理が完了した場合(ステップS30:Yesルート)、処理を終了する。
以上のような処理を実施することにより、送信先サブネットに負荷をかけることなく、試験パケットの通信経路を特定することができる。また、経路推定テーブルから、実際に送信元サブネットから送信先サブネットへ送信される個々のパケットの通信経路を推定することができるようになる。
以上本技術の一実施の形態を説明したが、本技術はこれに限定されるものではない。例えば、上で説明した経路監視サーバ及びルータの機能ブロック図は必ずしも実際のプログラムモジュール構成に対応するものではない。
また、上で説明した各テーブルの構成は一例であって、必ずしも上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ処理の順番を入れ替えることも可能である。さらに、並列に実行させるようにしてもよい。
なお、上ではpingパケットを試験パケットとして送信する例を説明したが、例えば図24に示すようにUDP(User Datagram Protocol)パケットを送信するようにしてもよい。この場合、図25に示すようなUDPヘッダを付加してUDPパケットを生成するようにすればよい。
また、上では、試験パケット送信結果テーブルの各レコードについて、試験パケットを送信して、試験パケット送信前後の入力パケット数の差に基づいて通信経路を特定する例を説明したが、例えば図26に示すように、経路監視サーバが、実際に送信されるパケット(図26では、SRC=12.0.0.5、DST=10.0.0.2)をキャプチャし、このパケットが通過した通信経路の経路IDを経路推定テーブルに登録するようにしてもよい。例えば、図26では、パケットをキャプチャすることで、当該パケットが経路1を通過していることが分かるので、送信元アドレスのModule(N)が1、かつ、送信先アドレスのModule(N)が0に設定されているエントリの経路IDに1を登録することができる。なお、残りのエントリについては、上で述べたような処理で経路IDを登録するようにすればよい。
また、上では、送信元アドレスのModule(N)と送信先アドレスのModule(N)との全ての組み合わせを含む経路推定テーブルを例に説明したが、通信経路の振り分け規則が変われば、新たな規則に従って経路推定テーブルを構成するようにすればよい。例えば、特殊な事情で、1つの経路に偏って振り分けられる場合には、その偏り方に従って経路推定テーブルを構成する。
また、上では、etherStatsUndersizePktsとetherStatsPkts64Octetsの2つのカウンタを用いる例を説明したが、ネットワーク内をほとんど流れることのないパケットサイズの試験パケットを流し、試験パケットの送信前後のカウンタ値を比較することで通信経路を特定できるのであれば、他のサイズについてのカウンタを用いるようにしてもよい。
以上本実施の形態をまとめると以下のようになる。
本通信経路推定方法は、第1のネットワークと第2のネットワークとに接続される第3のネットワークを監視するためのコンピュータにより実行される方法であって、第3のネットワーク内に、第1のネットワークから第2のネットワークへ送信されるパケットが通過すると推定される通信経路が複数存在する場合、予め設定されている、第1のネットワーク内の未使用アドレスの中から試験用送信元アドレスを特定し、予め設定されている、第2のネットワーク内の未使用アドレスの中から試験用送信先アドレスを特定する試験用アドレス特定ステップと、第3のネットワークの境界に設置されるエッジルータのうち第2のネットワークと接続されるエッジルータである出力エッジルータに、試験用送信先アドレス宛のパケットを第2のネットワークに転送しないよう当該出力エッジルータのARPテーブルの設定を変更させるステップと、通信経路毎のルータであって計測対象となる計測対象ルータの各々から、入力パケットカウンタの値を取得し、第1入力パケット数として記憶装置に格納する第1取得ステップと、エッジルータのうち第1のネットワークと接続されるエッジルータである入力エッジルータのアドレスをソースルーティングとして含み且つ試験用送信元アドレス及び試験用送信先アドレスを送信元及び送信先として含む試験パケットを生成し、生成した試験パケットを所定回数送出する試験パケット送出ステップと、計測対象ルータの各々から入力パケットカウンタの値を取得し、第2入力パケット数として記憶装置に格納する第2取得ステップと、記憶装置に格納されている第1入力パケット数と第2入力パケット数との差を計測対象ルータ毎に算出し、算出した差に基づき、試験パケットが通過した通信経路を特定する通信経路特定ステップとを含む。
このようにすれば、第3のネットワークを監視するためのコンピュータ(例えば経路監視サーバ)にて、複数の通信経路の中から、試験パケットの通過する通信経路を特定することができるようになる。また、試験用送信先アドレス宛のパケットを第2のネットワークに転送しないよう、出力エッジルータのルーティングテーブルの設定を変更させてから試験パケットを送信するので、第2のネットワークへ負荷をかけることなく、通信経路を特定することができる。
また、上で述べた試験用アドレス特定ステップが、送信元アドレスグループと送信先アドレスグループとの組み合わせ毎に、送信元アドレスグループに属するアドレスから送信先アドレスグループに属するアドレスへ送信されるパケットが通過すると推定される通信経路の識別情報を格納するための経路推定テーブルに基づき、特定の組み合わせに係る送信元アドレスグループに属する、第1のネットワーク内の未使用アドレスのうちのいずれかを試験用送信元アドレスとして特定し、特定の組み合わせに係る送信先アドレスグループに属する、第2のネットワーク内の未使用アドレスのうちのいずれかを試験用送信先アドレスとして特定するステップを含むようにしてもよい。そして、上で述べた通信経路特定ステップにおいて特定された通信経路の識別情報を、特定の組み合わせに対応付けて経路推定テーブルに格納するステップをさらに含むようにしてもよい。
例えばユーザが通信経路の振り分け規則を予め知っているような場合には、その規則に従って、送信元アドレスグループと送信先アドレスグループとの各組み合わせを用意しておけば、各組み合わせに対応する通信経路の識別情報を経路推定テーブルに自動的に登録することができる。そして、経路推定テーブルから、実際に第1のネットワークから第2のネットワークへ送信されるパケットの通信経路を推定することができるようになる。
さらに、第1のネットワークから第2のネットワークへ送信されるパケットが通過すると推定される通信経路の数を用いた剰余演算の結果に従ってグループ分けを行う場合において、剰余演算の結果に従ってグループ分けされる送信元アドレスグループと剰余演算の結果に従ってグループ分けされる送信先アドレスグループとの全ての組み合わせを含む経路推定テーブルを生成するステップをさらに含むようにしてもよい。
このようにすれば、送信元アドレス及び送信先アドレスに対する剰余演算の結果に従って通信経路の振り分けが行われる場合に、ユーザが送信元アドレスグループと送信先アドレスグループとの組み合わせを用意しておかなくても済むようになる。
また、上で述べた試験パケット送出ステップが、パケットサイズが64バイト以下となる試験パケットを送出させるステップを含むようにしてもよい。そして、上で述べた第1取得ステップ及び第2取得ステップが、パケットサイズが64バイト以下のパケットについてのカウンタの値を、入力パケットカウンタの値として取得するステップを含むようにしてもよい。ネットワーク上を流れる通常のパケットは、パケットサイズが64バイトより大きいパケットであり、このようにすれば、通常のパケットと試験パケットとを区別でき、より正確に通信経路を特定することができるようになる。
なお、経路監視サーバをハードウエアと共に実現するためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、CD−ROM、光磁気ディスク、半導体メモリ、ハードディスク等の記憶媒体又は記憶装置に格納される。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。
また、経路監視サーバは、図29に示すように、メモリ2501(記憶部)とCPU2503(処理部)とハードディスク・ドライブ(HDD)2505と表示装置2509に接続される表示制御部2507とリムーバブル・ディスク2511用のドライブ装置2513と入力装置2515とネットワークに接続するための通信制御部2517とがバス2519で接続されている。OS及びWebブラウザを含むアプリケーション・プログラムは、HDD2505に格納されており、CPU2503により実行される際にはHDD2505からメモリ2501に読み出される。必要に応じてCPU2503は、表示制御部2507、通信制御部2517、ドライブ装置2513を制御して、必要な動作を行わせる。また、処理途中のデータについては、メモリ2501に格納され、必要があればHDD2505に格納される。このようなコンピュータは、上で述べたCPU2503、メモリ2501などのハードウエアとOS及び必要なアプリケーション・プログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
第1のネットワークと第2のネットワークとに接続される第3のネットワークを監視するためのコンピュータに、
前記第3のネットワーク内に、前記第1のネットワークから前記第2のネットワークへ送信されるパケットが通過すると推定される通信経路が複数存在する場合、予め設定されている、前記第1のネットワーク内の未使用アドレスの中から試験用送信元アドレスを特定し、予め設定されている、前記第2のネットワーク内の未使用アドレスの中から試験用送信先アドレスを特定する試験用アドレス特定ステップと、
前記第3のネットワークの境界に設置されるエッジルータのうち前記第2のネットワークと接続されるエッジルータである出力エッジルータに、前記試験用送信先アドレス宛のパケットを前記第2のネットワークに転送しないよう当該出力エッジルータのARPテーブルの設定を変更させるステップと、
前記通信経路毎のルータであって計測対象となる計測対象ルータの各々から、入力パケットカウンタの値を取得し、第1入力パケット数として記憶装置に格納する第1取得ステップと、
前記エッジルータのうち前記第1のネットワークと接続されるエッジルータである入力エッジルータのアドレスをソースルーティングとして含み且つ前記試験用送信元アドレス及び前記試験用送信先アドレスを送信元及び送信先として含む試験パケットを生成し、生成した前記試験パケットを所定回数送出する試験パケット送出ステップと、
前記計測対象ルータの各々から前記入力パケットカウンタの値を取得し、第2入力パケット数として前記記憶装置に格納する第2取得ステップと、
前記記憶装置に格納されている前記第1入力パケット数と前記第2入力パケット数との差を前記計測対象ルータ毎に算出し、算出した前記差に基づき、前記試験パケットが通過した前記通信経路を特定する通信経路特定ステップと、
を実行させるための通信経路推定プログラム。
(付記2)
前記試験用アドレス特定ステップが、
送信元アドレスグループと送信先アドレスグループとの組み合わせ毎に、前記送信元アドレスグループに属するアドレスから前記送信先アドレスグループに属するアドレスへ送信されるパケットが通過すると推定される前記通信経路の識別情報を格納するための経路推定テーブルに基づき、特定の組み合わせに係る前記送信元アドレスグループに属する、前記第1のネットワーク内の未使用アドレスのうちのいずれかを前記試験用送信元アドレスとして特定し、前記特定の組み合わせに係る前記送信先アドレスグループに属する、前記第2のネットワーク内の未使用アドレスのうちのいずれかを前記試験用送信先アドレスとして特定するステップ
を含み、
前記通信経路特定ステップにおいて特定された前記通信経路の識別情報を、前記特定の組み合わせに対応付けて前記経路推定テーブルに格納するステップ
をさらに実行させるための付記1記載の通信経路推定プログラム。
(付記3)
前記第1のネットワークから前記第2のネットワークへ送信されるパケットが通過すると推定される前記通信経路の数を用いた剰余演算の結果に従ってグループ分けを行う場合において、前記剰余演算の結果に従ってグループ分けされる前記送信元アドレスグループと前記剰余演算の結果に従ってグループ分けされる前記送信先アドレスグループとの全ての組み合わせを含む前記経路推定テーブルを生成するステップ
をさらに実行させるための付記2記載の通信経路推定プログラム。
(付記4)
前記試験パケット送出ステップが、
パケットサイズが64バイト以下となる前記試験パケットを送出させるステップ
を含み、
前記第1取得ステップ及び前記第2取得ステップが、
パケットサイズが64バイト以下のパケットについてのカウンタの値を、前記入力パケットカウンタの値として取得するステップ
を含む付記1乃至3のいずれか1つ記載の通信経路推定プログラム。
(付記5)
第1のネットワークと第2のネットワークとに接続される第3のネットワークを監視するためのコンピュータにより実行される通信経路推定方法であって、
前記第3のネットワーク内に、前記第1のネットワークから前記第2のネットワークへ送信されるパケットが通過すると推定される通信経路が複数存在する場合、予め設定されている、前記第1のネットワーク内の未使用アドレスの中から試験用送信元アドレスを特定し、予め設定されている、前記第2のネットワーク内の未使用アドレスの中から試験用送信先アドレスを特定する試験用アドレス特定ステップと、
前記第3のネットワークの境界に設置されるエッジルータのうち前記第2のネットワークと接続されるエッジルータである出力エッジルータに、前記試験用送信先アドレス宛のパケットを前記第2のネットワークに転送しないよう当該出力エッジルータのARPテーブルの設定を変更させるステップと、
前記通信経路毎のルータであって計測対象となる計測対象ルータの各々から、入力パケットカウンタの値を取得し、第1入力パケット数として記憶装置に格納する第1取得ステップと、
前記エッジルータのうち前記第1のネットワークと接続されるエッジルータである入力エッジルータのアドレスをソースルーティングとして含み且つ前記試験用送信元アドレス及び前記試験用送信先アドレスを送信元及び送信先として含む試験パケットを生成し、生成した前記試験パケットを所定回数送出する試験パケット送出ステップと、
前記計測対象ルータの各々から前記入力パケットカウンタの値を取得し、第2入力パケット数として前記記憶装置に格納する第2取得ステップと、
前記記憶装置に格納されている前記第1入力パケット数と前記第2入力パケット数との差を前記計測対象ルータ毎に算出し、算出した前記差に基づき、前記試験パケットが通過した前記通信経路を特定する通信経路特定ステップと、
を含む通信経路推定方法。
(付記6)
第1のネットワークと第2のネットワークとに接続される第3のネットワークを監視するためのコンピュータであって、
前記第3のネットワーク内に、前記第1のネットワークから前記第2のネットワークへ送信されるパケットが通過すると推定される通信経路が複数存在する場合、予め設定されている、前記第1のネットワーク内の未使用アドレスの中から試験用送信元アドレスを特定し、予め設定されている、前記第2のネットワーク内の未使用アドレスの中から試験用送信先アドレスを特定する試験用アドレス決定手段と、
前記第3のネットワークの境界に設置されるエッジルータのうち前記第2のネットワークと接続されるエッジルータである出力エッジルータに、前記試験用送信先アドレス宛のパケットを前記第2のネットワークに転送しないよう当該出力エッジルータのARPテーブルの設定を変更させるテーブル制御手段と、
前記エッジルータのうち前記第1のネットワークと接続されるエッジルータである入力エッジルータのアドレスをソースルーティングとして含み且つ前記試験用送信元アドレス及び前記試験用送信先アドレスを送信元及び送信先として含む試験パケットを生成し、生成した前記試験パケットを所定回数送出する試験パケット送信手段と、
前記通信経路毎のルータであって計測対象となる計測対象ルータの各々から、前記試験パケット送出前の入力パケットカウンタの値である第1入力パケット数と前記試験パケット送出後の前記入力パケットカウンタの値である第2入力パケット数とを取得して前記記憶装置に格納する入力パケット数取得手段と、
前記記憶装置に格納されている前記第1入力パケット数と前記第2入力パケット数との差を前記計測対象ルータ毎に算出し、算出した前記差に基づき、前記試験パケットが通過した前記通信経路を特定する通信経路特定手段と、
を有するコンピュータ。
11 トポロジ・経路管理部 12 ルーティングテーブル格納部
13 経路判定部 14 テーブル制御部
15 試験パケット送信部 16 入力パケット数取得部
17 MIB収集結果格納部 18 経路推定テーブル格納部
19 試験パケット送信結果テーブル格納部 20 未使用アドレス格納部
31 スイッチ部 32 MIB情報格納部
33 SNMP送受信部
131 試験用アドレス決定部 132 通信経路特定部

Claims (6)

  1. 第1のネットワークと第2のネットワークとに接続される第3のネットワークを監視するためのコンピュータに、
    前記第3のネットワーク内において、前記第1のネットワークから前記第2のネットワークへ送信されるパケットが通過すると推定される通信経路が複数特定されている場合、記第1のネットワーク内の未使用アドレスの中から試験用送信元アドレスを特定し、記第2のネットワーク内の未使用アドレスの中から試験用送信先アドレスを特定する試験用アドレス特定ステップと、
    記通信経路毎のルータであって計測対象となる計測対象ルータの各々から、入力パケットカウンタの値を取得し、第1入力パケット数として記憶装置に格納する第1取得ステップと、
    前記通信経路における先頭のルータであって、前記第1のネットワークと接続されるルータである入力エッジルータのアドレスをソースルーティングとして含み且つ前記試験用送信元アドレス及び前記試験用送信先アドレスを送信元及び送信先として含む試験パケットを生成し、生成した前記試験パケットを出する試験パケット送出ステップと、
    前記計測対象ルータの各々から前記入力パケットカウンタの値を取得し、第2入力パケット数として前記記憶装置に格納する第2取得ステップと、
    前記記憶装置に格納されている前記第1入力パケット数と前記第2入力パケット数との差を前記計測対象ルータ毎に算出し、算出した前記差に基づき、前記試験パケットが通過した前記通信経路を特定する通信経路特定ステップと、
    を実行させるための通信経路推定プログラム。
  2. 前記試験用アドレス特定ステップが、
    送信元アドレスグループと送信先アドレスグループとの組み合わせ毎に、前記送信元アドレスグループに属するアドレスから前記送信先アドレスグループに属するアドレスへ送信されるパケットが通過すると推定される前記通信経路の識別情報を格納するための経路推定テーブルに基づき、特定の組み合わせに係る前記送信元アドレスグループに属する、前記第1のネットワーク内の未使用アドレスのうちのいずれかを前記試験用送信元アドレスとして特定し、前記特定の組み合わせに係る前記送信先アドレスグループに属する、前記第2のネットワーク内の未使用アドレスのうちのいずれかを前記試験用送信先アドレスとして特定するステップ
    を含み、
    前記通信経路特定ステップにおいて特定された前記通信経路の識別情報を、前記特定の組み合わせに対応付けて前記経路推定テーブルに格納するステップ
    をさらに実行させるための請求項1記載の通信経路推定プログラム。
  3. 前記第1のネットワークから前記第2のネットワークへ送信されるパケットが通過すると推定される前記通信経路の数を用いた剰余演算の結果に従ってグループ分けを行う場合において、前記剰余演算の結果に従ってグループ分けされる前記送信元アドレスグループと前記剰余演算の結果に従ってグループ分けされる前記送信先アドレスグループとの全ての組み合わせを含む前記経路推定テーブルを生成するステップ
    をさらに実行させるための請求項2記載の通信経路推定プログラム。
  4. 前記試験パケット送出ステップが、
    パケットサイズが64バイト以下となる前記試験パケットを送出させるステップ
    を含み、
    前記第1取得ステップ及び前記第2取得ステップが、
    パケットサイズが64バイト以下のパケットについてのカウンタの値を、前記入力パケットカウンタの値として取得するステップ
    を含む請求項1乃至3のいずれか1つ記載の通信経路推定プログラム。
  5. 第1のネットワークと第2のネットワークとに接続される第3のネットワークを監視するためのコンピュータにより実行される通信経路推定方法であって、
    前記第3のネットワーク内において、前記第1のネットワークから前記第2のネットワークへ送信されるパケットが通過すると推定される通信経路が複数特定されている場合、記第1のネットワーク内の未使用アドレスの中から試験用送信元アドレスを特定し、記第2のネットワーク内の未使用アドレスの中から試験用送信先アドレスを特定する試験用アドレス特定ステップと、
    記通信経路毎のルータであって計測対象となる計測対象ルータの各々から、入力パケットカウンタの値を取得し、第1入力パケット数として記憶装置に格納する第1取得ステップと、
    前記通信経路における先頭のルータであって、前記第1のネットワークと接続されるルータである入力エッジルータのアドレスをソースルーティングとして含み且つ前記試験用送信元アドレス及び前記試験用送信先アドレスを送信元及び送信先として含む試験パケットを生成し、生成した前記試験パケットを出する試験パケット送出ステップと、
    前記計測対象ルータの各々から前記入力パケットカウンタの値を取得し、第2入力パケット数として前記記憶装置に格納する第2取得ステップと、
    前記記憶装置に格納されている前記第1入力パケット数と前記第2入力パケット数との差を前記計測対象ルータ毎に算出し、算出した前記差に基づき、前記試験パケットが通過した前記通信経路を特定する通信経路特定ステップと、
    を含む通信経路推定方法。
  6. 第1のネットワークと第2のネットワークとに接続される第3のネットワークを監視するためのコンピュータであって、
    前記第3のネットワーク内において、前記第1のネットワークから前記第2のネットワークへ送信されるパケットが通過すると推定される通信経路が複数特定されている場合、記第1のネットワーク内の未使用アドレスの中から試験用送信元アドレスを特定し、記第2のネットワーク内の未使用アドレスの中から試験用送信先アドレスを特定する試験用アドレス決定手段と、
    通信経路における先頭のルータであって、前記第1のネットワークと接続されるルータである入力エッジルータのアドレスをソースルーティングとして含み且つ前記試験用送信元アドレス及び前記試験用送信先アドレスを送信元及び送信先として含む試験パケットを生成し、生成した前記試験パケットを出する試験パケット送信手段と、
    前記通信経路毎のルータであって計測対象となる計測対象ルータの各々から、前記試験パケット送出前の入力パケットカウンタの値である第1入力パケット数と前記試験パケット送出後の前記入力パケットカウンタの値である第2入力パケット数とを取得して憶装置に格納する入力パケット数取得手段と、
    前記記憶装置に格納されている前記第1入力パケット数と前記第2入力パケット数との差を前記計測対象ルータ毎に算出し、算出した前記差に基づき、前記試験パケットが通過した前記通信経路を特定する通信経路特定手段と、
    を有するコンピュータ。
JP2009092787A 2009-04-07 2009-04-07 通信経路推定プログラム、方法及びコンピュータ Expired - Fee Related JP5316178B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009092787A JP5316178B2 (ja) 2009-04-07 2009-04-07 通信経路推定プログラム、方法及びコンピュータ
US12/696,346 US8274898B2 (en) 2009-04-07 2010-01-29 Communication route presumption technique

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009092787A JP5316178B2 (ja) 2009-04-07 2009-04-07 通信経路推定プログラム、方法及びコンピュータ

Publications (2)

Publication Number Publication Date
JP2010245866A JP2010245866A (ja) 2010-10-28
JP5316178B2 true JP5316178B2 (ja) 2013-10-16

Family

ID=42826146

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009092787A Expired - Fee Related JP5316178B2 (ja) 2009-04-07 2009-04-07 通信経路推定プログラム、方法及びコンピュータ

Country Status (2)

Country Link
US (1) US8274898B2 (ja)
JP (1) JP5316178B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110134777A1 (en) * 2009-12-04 2011-06-09 Electronics And Telecommunications Research Institute System and method for transporting packet in real time
EP2586157B1 (en) * 2010-06-28 2019-08-07 Telefonaktiebolaget LM Ericsson (publ) Network management
JP2014502063A (ja) * 2010-12-06 2014-01-23 日本電気株式会社 通信経路検証システム、経路検証装置、通信経路検証方法および経路検証プログラム
US9979623B2 (en) 2011-02-07 2018-05-22 Sony Corporation Enhanced device discovery technology
JP6439701B2 (ja) * 2013-12-17 2018-12-19 ソニー株式会社 通信装置、パケット監視方法及びコンピュータプログラム
US9736053B2 (en) * 2014-03-25 2017-08-15 Nec Corporation Layer 2 path tracing through context encoding in software defined networking
US10038601B1 (en) * 2014-09-26 2018-07-31 Amazon Technologies, Inc. Monitoring a multi-tier network fabric
CN108737183B (zh) * 2018-05-22 2021-06-22 华为技术有限公司 一种转发表项的监测方法及装置
US11102080B2 (en) * 2019-07-18 2021-08-24 International Business Machines Corporation Network layer method of configuration of a bare-metal server in a virtual network

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3501093B2 (ja) 2000-04-18 2004-02-23 日本電気株式会社 QoS経路計算装置
US8023421B2 (en) * 2002-07-25 2011-09-20 Avaya Inc. Method and apparatus for the assessment and optimization of network traffic
JP2005101854A (ja) * 2003-09-24 2005-04-14 Intelligent Cosmos Research Institute パケット追跡装置、パケット追跡システム、パケット追跡方法およびパケット追跡プログラム
JP4169710B2 (ja) 2004-02-23 2008-10-22 日本電信電話株式会社 Bgp経路情報管理システムおよびそのプログラム
JP2005252368A (ja) 2004-03-01 2005-09-15 Nippon Telegr & Teleph Corp <Ntt> 経路計算システム、経路計算方法、及び通信ノード
JP4390648B2 (ja) 2004-07-14 2009-12-24 富士通株式会社 経路制御方法及び装置
WO2006098024A1 (ja) * 2005-03-16 2006-09-21 Fujitsu Limited Ipネットワークにおけるマルチキャストツリー監視方法およびシステム
WO2008023570A1 (fr) * 2006-08-22 2008-02-28 Nec Corporation Procédé d'estimation d'une partie à qualité dégradée sur un réseau dans un système de réseau de communication
WO2008126179A1 (ja) * 2007-03-15 2008-10-23 Fujitsu Limited ネットワーク検証システム
US8135824B2 (en) * 2007-10-01 2012-03-13 Ebay Inc. Method and system to detect a network deficiency
JP4808274B2 (ja) * 2007-11-21 2011-11-02 富士通株式会社 ネットワークの試験方法及びシステム
JP5109940B2 (ja) * 2008-11-20 2012-12-26 富士通株式会社 入力エッジルータ特定方法、プログラム及びコンピュータ

Also Published As

Publication number Publication date
JP2010245866A (ja) 2010-10-28
US8274898B2 (en) 2012-09-25
US20100254397A1 (en) 2010-10-07

Similar Documents

Publication Publication Date Title
JP5316178B2 (ja) 通信経路推定プログラム、方法及びコンピュータ
US11876883B2 (en) Packet processing method, network node, and system
CN111901184B (zh) 路径监视系统控制器或多协议标签交换ping和路由追踪
EP3278503B1 (en) Method of packet marking for flow analytics
JP5300076B2 (ja) コンピュータシステム、及びコンピュータシステムの監視方法
US9699064B2 (en) Method and an apparatus for network state re-construction in software defined networking
JP4381448B2 (ja) Ipネットワークにおけるマルチキャストツリー監視方法およびシステム
JP2018088716A (ja) ソフトウェア定義ネットワークにおけるパテントレイテンシの監視
US8274911B2 (en) Network monitoring system and path extracting method
US20090180393A1 (en) Sampling apparatus distinguishing a failure in a network even by using a single sampling and a method therefor
JP5545162B2 (ja) 監視プログラム、監視装置、および監視方法
Suárez-Varela et al. Towards a NetFlow implementation for OpenFlow software-defined networks
JP5109940B2 (ja) 入力エッジルータ特定方法、プログラム及びコンピュータ
JP5494110B2 (ja) ネットワークの通信経路推定方法、通信経路推定プログラム及び監視装置
JP4627324B2 (ja) マルチキャスト経路特定方法
JP5883926B2 (ja) 管理サーバ、および、フロー処理方法
WO2023065848A1 (zh) 业务调度方法、装置、设备及计算机可读存储介质
Mahkonen et al. Elastic network monitoring with virtual probes
CN114157595B (zh) 一种通信系统、数据处理方法以及相关设备
WO2023191162A1 (ko) 컨테이너 기반 네트워크 라이브 스트림을 분석할 수 있는 데이터 처리 장치 및 방법
Shimatani et al. SRv6 Network Debugging Support System Assigning Identifiers to SRH
JP4180522B2 (ja) マルチキャスト転送経路計算方法および装置
JP2017022548A (ja) 通信経路選択方法、ネットワークシステム、及びサーバ
Görner GeoRoute—Geographically Constrained Routing

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111205

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121116

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130205

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130405

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130624

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