(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2021-12-23
(45)【発行日】2022-02-10
(54)【発明の名称】パケット比較プログラム
(51)【国際特許分類】
H04L 43/026 20220101AFI20220203BHJP
H04L 43/028 20220101ALI20220203BHJP
【FI】
H04L43/026
H04L43/028
(21)【出願番号】P 2020049283
(22)【出願日】2020-03-19
【審査請求日】2020-03-19
(73)【特許権者】
【識別番号】399040405
【氏名又は名称】東日本電信電話株式会社
(74)【代理人】
【識別番号】100083806
【氏名又は名称】三好 秀和
(74)【代理人】
【識別番号】100101247
【氏名又は名称】高橋 俊一
(74)【代理人】
【識別番号】100095500
【氏名又は名称】伊藤 正和
(74)【代理人】
【識別番号】100098327
【氏名又は名称】高松 俊雄
(72)【発明者】
【氏名】柴田 惇史
(72)【発明者】
【氏名】成田 好輝
(72)【発明者】
【氏名】胡間 遼
(72)【発明者】
【氏名】齋藤 一生
(72)【発明者】
【氏名】古川 英治
(72)【発明者】
【氏名】太田 克彦
【審査官】羽岡 さやか
(56)【参考文献】
【文献】特開2015-119384(JP,A)
【文献】特開2015-204538(JP,A)
【文献】特開2014-216991(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/00-12/955
(57)【特許請求の範囲】
【請求項1】
通信経路上の異なる点のそれぞれでパケットを取得した第1キャプチャデータと第2キャプチャデータを入力する処理と、
前記第1キャプチャデータから第1パケットを選定する処理と、
前記第1パケットの時刻情報を基準として所定の範囲内の時刻情報を持つパケット群を前記第2キャプチャデータから抽出する処理と、
パケットの構成要素に優先順位をつけておき、前記パケット群に含まれる第2パケットのそれぞれについて、前記構成要素を用いて、前記第1パケットと前記第2パケットの同一性を判定する処理
をコンピュータに実行させ
、
前記第1パケットと前記第2パケットの同一性を判定する処理は、優先順位をつけた前記構成要素ごとに前記第1パケットと前記第2パケットを比較して、一致する構成要素が多いものに高い得点を付与し、優先順位が高い構成要素から順に繰り返し、得られた得点を合計した総得点が最も高い前記第2パケットを前記第1パケットと同一のパケットと判定する
パケット比較プログラム。
【請求項2】
同一と判定されたパケットを並べて出力する処理をコンピュータに実行させる請求項
1に記載のパケット比較プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、パケット比較プログラムに関する。
【背景技術】
【0002】
高速広帯域のネットワークサービスの普及に伴い、宅内ネットワークおよび社内ネットワークにおける遅延や不具合事象の報告数が増加している。不具合を解消するためには、通信経路上でキャプチャしたパケットの解析が有効である。例えば、特許文献1および特許文献2に記載された発明では、VPNを介して接続された拠点間に試験トラフィックを印加し、試験トラフィックをキャプチャして、ボトルネック箇所を判定したり、拠点間の帯域を測定したりする。
【先行技術文献】
【特許文献】
【0003】
【文献】特許第6603770号公報
【文献】特許第6603771号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
不具合を引き起こしている通信装置を特定するためには、複数個所でキャプチャデータを取得して比較する必要がある。
【0005】
しかしながら、キャプチャデータの解析には、高いスキルを要し、キャプチャデータの比較には膨大な時間がかかるという問題があった。通信経路上の異なる箇所でキャプチャされたキャプチャデータは時刻情報が同期していないことが多い。また、パケットの取得箇所に応じて様々なパケットが伝送されている。解析が個人のスキルに依存するため精度が担保できず、キャプチャデータ間で同一のパケットを抽出するためには膨大な時間を有する。
【0006】
本発明は、上記に鑑みてなされたものであり、複数箇所で取得したキャプチャデータの解析を容易にすることを目的とする。
【課題を解決するための手段】
【0007】
本発明の一態様のパケット比較プログラムは、通信経路上の異なる点のそれぞれでパケットを取得した第1キャプチャデータと第2キャプチャデータを入力する処理と、前記第1キャプチャデータから第1パケットを選定する処理と、前記第1パケットの時刻情報を基準として所定の範囲内の時刻情報を持つパケット群を前記第2キャプチャデータから抽出する処理と、パケットの構成要素に優先順位をつけておき、前記パケット群に含まれる第2パケットのそれぞれについて、前記構成要素を用いて、前記第1パケットと前記第2パケットの同一性を判定する処理をコンピュータに実行させ、前記第1パケットと前記第2パケットの同一性を判定する処理は、優先順位をつけた前記構成要素ごとに前記第1パケットと前記第2パケットを比較して、一致する構成要素が多いものに高い得点を付与し、優先順位が高い構成要素から順に繰り返し、得られた得点を合計した総得点が最も高い前記第2パケットを前記第1パケットと同一のパケットと判定する。
【発明の効果】
【0008】
本発明によれば、複数箇所で取得したキャプチャデータの解析を容易にできる。
【図面の簡単な説明】
【0009】
【
図1】
図1は、本実施形態のパケット比較装置の構成例を示す機能ブロック図である。
【
図2】
図2は、パケットを取得する通信経路の一例を示す図である。
【
図3】
図3は、パケットを取得する通信経路の一例を示す図である。
【
図4】
図4は、判定結果を出力した一例を示す図である。
【
図5】
図5は、本実施形態のパケット比較装置の処理の流れを示すフローチャートである。
【発明を実施するための形態】
【0010】
以下、本発明の実施形態について図面を用いて説明する。
【0011】
図1を参照し、本実施形態のパケット比較装置1の構成例について説明する。
図1に示すパケット比較装置1は、入力部11、抽出部12、判定部13、および出力部14を備える。パケット比較装置1が備える各部は、演算処理装置、記憶装置等を備えたコンピュータにより構成して、各部の処理がプログラムによって実行されるものとしてもよい。このプログラムはパケット比較装置1が備える記憶装置に記憶されており、磁気ディスク、光ディスク、半導体メモリ等の記録媒体に記録することも、ネットワークを通して提供することも可能である。
【0012】
入力部11は、通信経路上の異なる点のそれぞれで取得したパケットを記録したキャプチャデータA,Bを入力する。
【0013】
例えば、
図2に示すように、VPN(Virtual Private Network)を介して接続された拠点間の通信経路上の点P1~P4でパケットを取得し、点P1と点P4、点P2と点P3、点P1と点P2、あるいは点P3と点P4で取得したキャプチャデータを入力する。点P1および点P4は、各拠点のローカルネットワーク内の測定点である。点P2および点P3は、回線終端装置とルータとの間の測定点であり、VPN内で正しく宛先の拠点へ転送されるようにルータがカプセル化したパケットを取得できる。例えば、ルータは、IPv4パケットをIPv6パケットでカプセル化してVPNへ送出したり、VPNから受信したIPv6パケットからIPv4パケットを取り出して拠点のローカルネットワークへ送信したりする。各点P1~P4のキャプチャデータを比較することで、不具合箇所を特定できる。
【0014】
あるいは、
図3に示すように、ローカルネットワークとインターネットとを結ぶ通信経路上のUTM(Unified Threat Management)の前後の点P5,P6でパケットを取得し、点P5と点P6で取得したキャプチャデータを入力してもよい。UTMは、統合的にセキュリティ対策を実施する装置であり、外部または内部からの脅威に対抗するために通信を検査して脅威となるパケットを破棄する。点P5,P6のキャプチャデータを比較することで、UTMが設定どおりに正しく機能しているかを確認できる。
【0015】
なお、パケットを取得する測定点は上記に限るものではない。
【0016】
抽出部12は、比較元のキャプチャデータAからパケットを選定し、選定したパケットの時刻情報を基準として所定の範囲内の時刻情報を持つパケット群を比較先のキャプチャデータBから抽出する。以下、キャプチャデータAから選定したパケットを選定パケットと称する。キャプチャデータBを比較元としてパケットを選定し、キャプチャデータAからパケット群を抽出してもよい。
【0017】
判定部13は、優先順位をつけた構成要素を用いて、選定パケットとパケット群に含まれるパケットの同一性を判定する。例えば、優先順位の高い構成要素の順に、選定パケットとパケット群の各パケットの構成要素を比較してパケット群に含まれるパケットをフィルタリングする。あるいは、優先順位をつけた構成要素ごとに選定パケットとパケット群の各パケットを比較して得点を付け、パケット群に含まれるパケットのうち総得点が高いパケットを選定パケットと同一のパケットと判定する。
【0018】
なお、
図2の点P1と点P2または点P3と点P4のキャプチャデータを比較する場合、点2および点3のキャプチャデータはカプセル化されているので、判定部13はカプセル化を解除してからパケットの同一性を判定する。
【0019】
出力部14は、判定部13の判定結果に基づいて、キャプチャデータA,Bの比較結果を出力する。例えば、
図4に示すように、比較元と比較先のそれぞれで同一と判定されたパケットの情報を左右に並べて表示する。パケットロス等により同一と判定されたパケットが存在しないときは、符号100で示すように、パケットロス側を空欄とする。
図4は出力の一例であり、これに限るものではない。同一のパケットおよびパケットロスが容易に把握できる態様であればよい。
【0020】
出力部14は、パケットロスを検出した欄のみを出力できるようにしてもよいし、特定のプロトコルのパケットのみを出力できるようにしてもよい。また、表示された出力結果からパケットを選択したときに、キャプチャデータの該当箇所を表示できてもよい。
【0021】
図5のフローチャートを参照し、本実施形態のパケット比較装置1の処理の流れについて説明する。
【0022】
ステップS11にて、入力部11は、キャプチャデータA,Bのそれぞれを入力する。キャプチャデータA,Bは、例えば、PCAP形式のファイルである。PCAP形式のファイルでは、キャプチャしたパケットのそれぞれにタイムスタンプとパケットの長さ等を含むパケットヘッダーが付与される。解析対象の時間帯のキャプチャデータが複数のファイルに分かれていたときは、ユーザがファイルのマージなどの前処理を行う。例えば、6時間分のキャプチャデータが2時間分ごとに複数のファイルに分かれて記録されていたときは、2時間分の複数のファイルを1つのファイルにマージする。入力部11が、複数のファイルを入力してマージしてもよい。
【0023】
また、入力部11は、解析対象の時間帯の入力を受け付けて、ファイルから解析対象の時間帯のキャプチャデータのみを入力してもよい。例えば、ファイルに12時間分のキャプチャデータが記録されている場合に、夜間の6時間を解析するときは、解析対象の時間帯のキャプチャデータのみをファイルから読み込む。
【0024】
ステップS12にて、抽出部12は、キャプチャデータAからパケットを1つ選定する。例えば、抽出部12は、キャプチャデータAの先頭から順にパケットを選定し、各パケットについて、以下のステップS13,S14の処理を実行する。
【0025】
ステップS13にて、抽出部12は、選定パケットの時刻情報を基準として、所定の範囲内のパケットをキャプチャデータBから抽出し、同一パケット候補のパケット群を得る。例えば、抽出部12は、選定パケットの時刻情報から±T秒以内の時刻情報を持つパケットをキャプチャデータBから抽出する。所定の範囲はユーザが任意に設定してよい。
【0026】
ステップS14にて、判定部13は、ステップS13で抽出したパケット群について、優先順位をつけたパケットの構成要素を元に、選定パケットと同一性の高いパケットを特定、または同一パケットが存在しないことを判定する。表1に、優先順位をつけた構成要素の一例を示す。
【0027】
【0028】
表1の例では、優先順位が1番の項目には、構成要素として、パケットの送信元と送信先のIPアドレスとポート番号が指定されている。優先順位が2番の項目には、プロトコルごとに構成要素が指定されている。優先順位が3番の項目には、ペイロード自体が指定されている。表1は一例であり、優先順位の数や構成要素を限定するものではない。例えば、試験パケットを流す場合、試験パケットであるか否かを判定するための構成要素の優先順位を高く設定してもよい。レイヤごとに優先順位を設定してもよい。例えば、IPヘッダの構成要素、TCPまたはUDPの構成要素、TCP/UDPより上層のプロトコルの構成要素の順に優先順位を設定する。
【0029】
優先順位をつけたパケットの構成要素を利用した同一性の判定方法として、以下の方法が考えられる。
【0030】
第1の方法は、構成要素を優先順位の高い順に用いて、パケット群に含まれるパケットをフィルタリングする方法である。例えば、表1において優先順位が最も高く設定された送信元と送信先のIPアドレスとポート番号について、選定パケットとパケット群に含まれるパケットのそれぞれを比較し、送信元と送信先のIPアドレスとポート番号が選定パケットと異なるパケットをパケット群から取り除く。パケット群に含まれるパケットが1つに絞り込まれたときは、そのパケットが選定パケットと同一であると判定する。パケット群に含まれるパケットがなくなったときは、選定パケットはパケットロスしたと判定する。パケット群に複数のパケットが含まれるときは、次に優先順位の高い構成要素を用いてパケットを絞り込む。
【0031】
第2の方法は、優先順位をつけた構成要素ごとに選定パケットとパケット群に含まれるパケットを比較して得点を付け、総得点から選定パケットと同一のパケットを判定する方法である。具体的には、優先順位をつけた構成要素のそれぞれについて、選定パケットとパケット群に含まれるパケットのそれぞれを比較して得点を付ける。得点の計算方法は、パケットが同一の場合に高い得点が得られるような方法を採用する。例えば、表1の優先順位が1番の項目を用いる場合、比較対象のパケット間で送信元IPアドレス、送信先IPアドレス、送信元ポート番号、送信先ポート番号を比較して、一致する構成要素が多いものに高い得点を付与する。優先順位が2番以降の項目についてもそれぞれ得点を計算する。パケット群のなかで、得られた得点を合計した総得点が最も高いパケットを選定パケットと同一のパケットと判定する。総得点が所定の値以上のパケットが存在しないときは、選定パケットはパケットロスしたと判定する。優先順位に基づいて得点に重み付けをしてもよい。同一のパケットではないことが明らかな場合、例えばパケット間でプロトコルが異なる場合など、マイナスの得点を付与してもよい。
【0032】
第2の方法では、NATまたはNAPTによりIPアドレスやポート番号が変換されたパケットについても同一性を判定できる。
【0033】
ステップS15にて、抽出部12は、キャプチャデータAの全てのパケットを処理したか否か判定する。全てのパケットを処理していないときは、ステップS12に戻り、キャプチャデータAから次のパケットを選定する。
【0034】
なお、キャプチャデータAの全てのパケットを処理した後、比較元と比較先のキャプチャデータA,Bを入れ替えて、ステップS12からステップS15までの処理を繰り返してもよい。具体的には、抽出部12は、ステップS12でキャプチャデータBからパケットを選定し、ステップS13でキャプチャデータAからパケット群を抽出する。判定部13は、ステップS14でキャプチャデータBから選定したパケットとキャプチャデータAから抽出したパケット群とを比較する。これにより、キャプチャデータBの測定点からキャプチャデータAの測定点へ伝送されるパケットでパケットロスしたものを抽出できる。
【0035】
以上説明したように、本実施形態のパケット比較装置1は、入力部11が、通信経路上の異なる点のそれぞれでパケットを取得したキャプチャデータA,Bを入力し、抽出部12が、キャプチャデータAからパケットを選定して、選定したパケットの時刻情報を基準として所定の範囲内の時刻情報を持つパケット群をキャプチャデータBから抽出し、判定部13が、パケットの構成要素に優先順位をつけておき、パケット群に含まれるパケットのそれぞれについて、優先順位をつけた構成要素を用いて、選定したパケットとパケット群に含まれるパケットの同一性を判定する。これにより、キャプチャデータAとキャプチャデータBの時刻情報が同期していない場合でも、キャプチャデータA,B間で同一のパケットおよびパケットロスを容易に把握できる。
【符号の説明】
【0036】
1…パケット比較装置
11…入力部
12…抽出部
13…判定部
14…出力部