JP2012227805A - 中継装置とこれを有する通信システム及びコンピュータプログラム - Google Patents

中継装置とこれを有する通信システム及びコンピュータプログラム Download PDF

Info

Publication number
JP2012227805A
JP2012227805A JP2011094886A JP2011094886A JP2012227805A JP 2012227805 A JP2012227805 A JP 2012227805A JP 2011094886 A JP2011094886 A JP 2011094886A JP 2011094886 A JP2011094886 A JP 2011094886A JP 2012227805 A JP2012227805 A JP 2012227805A
Authority
JP
Japan
Prior art keywords
packet
data
relay
analysis
transmission
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.)
Withdrawn
Application number
JP2011094886A
Other languages
English (en)
Inventor
Hidekazu Miyoshi
秀和 三好
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.)
Sumitomo Electric Industries Ltd
Original Assignee
Sumitomo Electric Industries 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 Sumitomo Electric Industries Ltd filed Critical Sumitomo Electric Industries Ltd
Priority to JP2011094886A priority Critical patent/JP2012227805A/ja
Publication of JP2012227805A publication Critical patent/JP2012227805A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】 パケットの解析処理を中継装置で行う場合において、中継処理に及ぶ悪影響を抑制する。
【解決手段】 本発明は、パケット交換方式のネットワークに用いる中継装置3に関する。この装置3は、パケットを送受信する複数の送受信部と、送受信部が受信したパケットを中継する中継処理部310と、送受信部が受信したパケットを捕捉する捕捉処理部311と、捕捉されたパケットを解析する解析処理と、その解析に必要なデータを含む転送パケットを生成して送受信部から外部装置4A,4Bに送信させるリダイレクト処理のいずれか一方を、選択的に実行するデータ処理部313と、を備える。
【選択図】 図2

Description

本発明は、パケットの解析機能を有する中継装置、この中継装置を有する通信システム、及び、その解析機能を中継装置に実行させるためのコンピュータプログラムに関する。
インターネットを利用した通信では様々な障害が発生する。例えば、ネット配信による動画の乱れや静止、所定のウェブページを閲覧した時に生じるエラーメッセージやレスポンスの遅延、所定の相手方への電子メールの不達、ファイル転送プロトコル(FTP)でのログイン不可などの障害である。
かかるネットワーク障害は、特定のサーバに対するトラフィックの集中や、パケット通信が可能なパーソナルコンピュータ等の端末装置(以下、「通信端末」という。)又はパケット中継を行うルータに対するネットワーク設定の誤りが原因であることが多い。
そこで、パケットキャプチャソフト(LANアナライザともいう。)を通信端末にインストールし、そのソフトを用いてネットワーク障害の原因を分析することが行われている(非特許文献1参照)。
かかるパケットキャプチャソフトは、ネットワークから所望のパケットを捕捉(キャプチャ)し、捕捉したパケットの内容をヒューマンリーダブルに画面表示するツールであり、ワイヤーシャーク(Wireshark :登録商標)が最も一般的に知られている。
このパケットキャプチャソフトを使用すれば、例えば、ネットワークに流れるパケットのヘッダ情報をリスト表示したり、所定のプロトコルに従って送受信されるパケットのシーケンスをラダー表示したり、プロトコルのコマンドやデータ内容等に問題がある異常なパケットをフィルタリングすることができる。
従って、これらの機能により、ネットワーク中の異常なトラフィックの発生や、パケットの送信間隔の揺らぎから通信が輻輳しているか否かなどを分析することができる。
「パケットキャプチャ実践技術 Wiresharkによるパケット解析 応用編」 竹下恵著 株式会社リックテレコム発行 10〜12頁
ところで、上記のようなパケットキャプチャ機能をコンピュータに実装する場合、捕捉したパケットの内容及び履歴を解析する解析処理も並行して行うことになると、プロセッサの演算負荷が非常に高くなる。
このため、パケットの捕捉だけでなく解析処理までを例えばホームゲートウェイなどのブロードバンドルータに単純に実装すると、ルータ本来の機能である中継処理の性能が低下する可能性がある。
また、この場合、捕捉したパケットを解析対象のデータとしてそのまま保存すると、捕捉したパケットのサイズ分のバッファ容量が必要となる。例えば、100Mbpsの通信インタフェースの場合には、120秒ほどで概ね1Gバイトものバッファ容量が必要であり、極めて大容量のバッファを中継装置に搭載せねばならないという問題もある。
本発明は、かかる従来の問題点に鑑み、パケットの解析処理を中継装置で行う場合において、中継処理に及ぶ悪影響を抑制すること第1の目的とする。
また、本発明は、パケットの捕捉処理を中継装置で行う場合において、当該中継装置のバッファ容量を低減することを第2の目的とする。
(1) 本発明の中継装置は、パケット交換方式のネットワークに用いる中継装置であって、パケットを送受信する複数の送受信部と、前記送受信部が受信した前記パケットを中継する中継処理部と、前記送受信部が受信した前記パケットを捕捉する捕捉処理部と、捕捉された前記パケットを解析する解析処理と、その解析に必要なデータを生成して前記送受信部から外部装置に送信させるリダイレクト処理のいずれか一方を、選択的に実行するデータ処理部と、を備えていることを特徴とする。
本発明の中継装置によれば、データ処理部が、捕捉されたパケットを解析する解析処理と、その解析に必要なデータを生成して送受信部から外部装置に送信させるリダイレクト処理のいずれか一方を選択的に実行するので、例えば、中継処理を行うパケット数が比較的少ない場合に解析処理を選択し、多い場合には演算負荷の少ないリダイレクト処理を選択するなどにより、中継処理に及ぶ悪影響を抑えつつ、パケットの解析処理を行うことができる。従って、前記第1の目的が達成される。
なお、本明細書において、パケットの「解析処理」とは、各パケットの内容(制御パケットのヘッダ情報等)から通信エラーの発生を分析する「ミクロ解析」、又は、同種の複数のパケットの履歴からトラフィック状況やシーケンスエラーなどを分析する「フロー解析」若しくはこれらの双方を含むものとする。
(2) 本発明の中継装置において、捕捉された前記パケットから次の2種類のデータをそれぞれ分類して抽出する分類処理部を更に備えていることが好ましい。
(a) パケットの内容を特定するためのパケットデータ
(b) 同種の複数のパケットの履歴を特定するためのフローデータ
捕捉されたパケットを上記パケットデータとフローデータに分類すれば、捕捉されたパケットに対して行う解析処理の種別(上記ミクロ解析やフロー解析)に応じた効率的なデータの生成が可能となる。
(3) 例えば、前記パケットデータの場合には、パケットの内容(制御パケットのヘッダ情報等)を特定するためのデータであるから、捕捉された前記パケットの受信時刻と、当該パケットのパケット長と、当該パケットの所定長さの先頭部分とを含むデータ構造とすればよい。
この場合、捕捉されたパケットの先頭部分以外の部分をバッファに保存する必要がないので、すべてのデータ内容をバッファリングする場合に比べて、パケットの捕捉処理を行う中継装置のバッファ容量を低減できる。従って、前記第2の目的が達成される。
(4) 一方、フローデータの場合には、同種の複数のパケットの履歴を特定できればよいので、送信元、宛先及び種別が同じパケットがやり取りされた時間が判明すれば十分である。そこで、前記フローデータの場合には、捕捉された前記パケットの受信時刻と、当該パケットの送信元、宛先及び種別を識別可能な識別情報(実施形態における「フローId」)とを含むデータ構造とすることが好ましい。
この場合、上記識別情報を極めて小さいデータ量にできるので、パケットの捕捉処理を行う中継装置のバッファ容量を低減できる。従って、前記第2の目的が達成される。
(5) 本発明の中継装置において、前記各処理部における処理の優先度を設定可能なタスク管理部を更に備えていることが好ましい。
この場合、前記タスク管理部により、前記中継処理部による中継処理の優先度を他の前記処理部による処理の優先度よりも高めに設定するようにすれば、中継処理部による中継処理がその他の処理によって阻害されるのを確実に防止することができる。
(6) また、本発明の中継装置において、前記送受信部が、優先度が異なる複数のキューを有する送信バッファを有している場合には、前記データ処理部は、前記中継処理部により中継処理された送信パケットと同等以下の優先度キューに、前記リダイレクト処理で生成された前記データを含む転送パケットを入力することが好ましい。
このようにすれば、リダイレクト処理によって生成されたデータの転送が原因で中継処理された送信パケットの送信が阻害されなくなり、リダイレクト処理を行う場合の中継処理への悪影響を抑えることができる。
(7) 本発明のコンピュータプログラムは、パケット交換方式のネットワークに用いる中継装置を、パケットの捕捉又は解析装置として機能させるためのコンピュータプログラムであって、受信したパケットを中継するステップと、受信したパケットを捕捉するステップと、捕捉された前記パケットを解析する解析処理と、その解析に必要なデータを生成して外部装置に送信するリダイレクト処理とのいずれかを、選択するステップと、を含むことを特徴とする。
上記の通り、本発明のコンピュータプログラムは、本発明の中継装置と実質同一の発明であり、当該装置と同じ作用効果を奏する。
なお、本発明のコンピュータプログラムは、上述の(2)〜(7)に記載された事項を含んでいてもよい。
(8) 本発明の通信システムは、パケット交換方式のネットワークの中継ノードを構成する中継装置と、前記ネットワークに接続された1又は複数の通信端末とを備えた通信システムであって、前記通信端末には、パケットの解析を行うパケット解析装置が含まれており、前記中継装置が本発明の中継装置であることを特徴とする。
上記の通り、本発明の通信システム、本発明の中継装置を有するネットワークを利用した通信システムであり、当該装置と同じ作用効果を奏する。
なお、本発明の通信システムは、上述の(2)〜(7)に記載された中継装置を採用することにしてもよい。
以上の通り、本発明によれば、パケットの解析処理を中継装置で行う場合において、中継処理に及ぶ悪影響を抑制することができる。
また、本発明によれば、パケットの捕捉処理を中継装置で行う場合において、当該中継装置のバッファ容量を低減することができる。
本発明に係る中継装置の一例であるルータを適用した通信システムの全体構成図である。 ルータの内部構成を示すブロック図である。 パケットプロセッサの処理手順を示す概略的なフローチャートである。 ルールテーブルの一例を示す図である。 フローテーブルの一例を示す図である。 パケットデータとフローデータのデータ構造を示す図である。 同方向に一連のフローデータの例とそのシーケンス図である。 双方向に一連のフローデータの例とそのシーケンス図である。
以下、図面を参照しつつ、本発明の実施形態を説明する。
〔システムの全体構成〕
図1は、本発明の中継装置の一例であるルータ3を適用した通信システムの全体構成図である。
図1に示すように、この通信システムは、通信事業者側の光回線終端装置であるOLT1、宅側の光回線終端装置であるONU2、ホームゲートウェイやブロードバンドルータ等よりなるルータ3、及び、例えばIP(Internet Protocol)に基づくパケット通信が可能な複数の通信端末4などを備えている。
OLT1とONU2は光カプラを介して光ファイバによって接続されており、OLT1は広域ネットワーク6と接続されている。本実施形態の広域ネットワーク6はインターネットである。
なお、図1のシステム構成例では、FTTHを想定してONU2よりなる回線終端装置を例示しているが、その他の回線終端装置として、ADSLモデムやCATVモデムを採用することもできる。
ONU2とルータ3とは、イーサネットケーブル(注記:「イーサネット」は登録商標である。)7などの通信回線を介して互いに接続されている。
ルータ3は、IPパケットのルーティング機能を有する中継装置であり、1つのWANポートと1又は複数のLANポートとを有する。なお、図例では、LANポートが2つあるルータ3を例示しているが、その数は2つに限定されない。
ルータ3のLANポートには、イーサネットケーブル9などの通信回線を介して各種の通信端末4が接続されている。この通信端末4は、例えば、IP通信が可能なパーソナルコンピュータ(PC)、サーバコンピュータ或いはテレビなどの家電製品よりなる。
また、OLT1側の広域ネットワーク6にも通信端末4が接続されており、この通信端末4は、例えばクラウドサーバ等よりなる。
図1に示す「LAN1」は、ルータ3の一方のLANポートに接続された構内ネットワークであり、「LAN2」は、ルータ3の他方のLANポートに接続された構内ネットワークである。
これらの構内ネットワークLAN1,LAN2は、1又は複数のスイッチングハブ10を用いて多段接続することによって構成されており、当該ネットワークの終端部分に通信端末4を有する。
本実施形態では、ネットワークに接続された複数の通信端末4のうち、LAN2のサーバ4Aと広域ネットワーク6のクラウドサーバ4Bの少なくとも一方に、IPパケットの解析処理を行うためのコンピュータプログラムがインストールされている。
従って、これらの端末4A,4Bは、IPパケットの「パケット解析装置」として機能することができる。
一方、ルータ3は、パケット解析装置4A,4Bやその他の通信端末4が行うネットワーク機器の管理及び監視の対象機器であり、その解析装置4A,4Bや通信端末4の制御プログラムによって操作されるエージェントプログラムが当該ルータ3にインストールされている。
このルータ3のエージェントプログラムは、ルータ3でルーティングされるIPパケットに対してパケットの捕捉処理や解析処理などを行うことができる。
ルータ3のエージェントプログラムは、パケットの捕捉処理を行った場合には、捕捉したIPパケットに関する所定のデータ(後述のパケットデータPDやフローデータFD)を含む転送パケットを生成し、ルータ3を制御するパケット解析装置4A,4B宛にその転送パケットを送信する。
また、ルータ3のエージェントプログラムは、パケットの解析処理を行った結果、通信エラーを検出した場合には、そのエラーのログ情報を含む送信パケットを生成し、ルータ3を制御する通信端末4宛にその送信パケットを送信する。
また、本実施形態のルータ3は、IPパケットの中継機能の他に、IPパケットの動的フィルタリング機能、NAT機能、DHCP機能、PPPoE機能、ARP機能及びQoSの優先制御機能などを備えている。
なお、「パケット」は、レイヤ3の通信で使われるPDUの呼び名として用いる場合もあるが、本明細書では、コンピュータ間の通信に使用するデータを送る単位の意味(従って、PDUと同じ。)でも使用している。従って、「IPパケット」を単に「パケット」ということがある。
〔ルータの内部構成〕
図2は、ルータ3の内部構成を示すブロック図である。
図2に示すように、ルータ3は、第1インタフェース部301、第1送受信ドライバ302、捕捉用受信バッファ303,第1送信バッファ304、第2インタフェース部305、第2送受信ドライバ306、中継用受信バッファ307、第2送信バッファ308及びパケットプロセッサ309などを備えている。
第1インタフェース部301は、WANポートを有する所定のインタフェース規格のトランシーバであり、第1送受信ドライバ302は、第1インタフェース部301にパケットの送受信を行わせる駆動回路よりなる。
第1送受信ドライバ302は、第1インタフェース部301から受けた受信パケットを捕捉用受信バッファ303と中継用受信バッファ307に渡し、第1送信バッファ304から受けた送信パケットを第1インタフェース部301から外部に送出する。
第2インタフェース部305は、LANポートを有する所定のインタフェース規格のトランシーバであり、第2送受信ドライバ306は、第2インタフェース部305にパケットの送受信を行わせる駆動回路よりなる。
第2送受信ドライバ306は、第2インタフェース部305から受けた受信パケットを捕捉用受信バッファ303と中継用受信バッファ307に渡し、第2送信バッファ308から受けた送信パケットを第2インタフェース部305から外部に送出する。
第1及び第2の送信バッファ304,308は、優先度が異なる複数のキューH,Lを有している。
この複数のキューH,Lのうち、高優先度キューHは、当該ルータ3で中継処理が行われた後の高優先度の送信パケットを格納するための送信キューであり、低優先度キューLは、当該ルータ3で中継処理が行われた後の低優先度の送信パケット及びデータ処理部313のリダイレクト処理で生成された転送パケットを格納するための送信キューである。
なお、第1インタフェース部301、第1送受信ドライバ302、捕捉用受信バッファ303及び第1送信バッファ304は、WAN側の「送受信部」を構成している。
また、第2インタフェース部305、第2送受信ドライバ306、中継用受信バッファ307及び第2送信バッファ308は、LAN側の「送受信部」を構成している。
〔パケットプロセッサの機能部〕
パケットプロセッサ309は、中継処理部310、捕捉処理部311、分類処理部312、データ処理部313及びタスク管理部314を備えている。
これらの処理部や管理部は、ROMやRAM等の周知の記憶装置(図示せず。)に記憶されたコンピュータプログラム(具体的には、前記エージェントプログラム)をプロセッサ309が読み出し、それを実行することによって実現される機能部である。
上記処理部や管理部を実現する所定のコンピュータプログラムは、上記の通り、図示しない記憶装置にインストールされているが、このコンピュータプログラムは、CD−ROM、DVD−ROMなどの記録媒体に格納して販売又は譲渡することができる。
また、このコンピュータプログラムの販売又は譲渡は、サーバコンピュータからネットワーク経由でダウンロードすることによって行こともできる。
中継用受信バッファ307は、各送受信ドライバ302,306から受けたすべての受信パケットを所定量蓄積し、蓄積した受信パケットを中継処理部310に出力する。
中継処理部310は、バッファ307から入力された受信パケットに対して、所定のルーティング処理やNAT(Network Address Translation)によるアドレス情報及びポート情報の変換を行って送信パケットを生成すると、QoSの優先度設定に従って送信パケットを送信バッファ304,308に入力する。
すなわち、中継処理部310は、高優先に指定された送信パケットの場合には、宛先アドレスに対応するいずれかの送信バッファ304,308の高優先度キューHに入力し、低優先に指定された送信パケットの場合には、宛先アドレスに対応するいずれかの送信バッファ304,308の低優先度キューLに入力する。
捕捉用受信バッファ303は、各受信ドライバ302,306から受けたすべての受信パケットを所定量蓄積し、蓄積した受信パケットを捕捉処理部311に出力する。
捕捉処理部311は、バッファ303から入力された受信パケットを受信時刻で並べ替えるなどの所定の処理を行って、すべての受信パケットを分類処理部312に送る。
分類処理部312は、捕捉処理部311から受けたすべての受信パケットからヘッダ情報を抽出し、そのヘッダ情報にルールテーブルRTとフローテーブルFTを適用して「パケットデータPD」と「フローデータFD」を生成する。
分類処理部312は、それらのデータPD,FDをデータバッファ315に一時的に記憶させる。なお、分類処理部312は、パケットデータPD又はフローデータFDのいずれにも分類できないデータについては、これを「未登録データUD」としてデータバッファ315に記憶させる。
データ処理部313は、データバッファ315に記憶されたパケットデータPD又はフローデータFDを読み出して、捕捉されたパケットの「解析処理」又は「リダイレクト処理」のいずれかを選択的に行う。
本実施形態のデータ処理部313が行う「解析処理」には、パケットの内容から通信エラーの発生を分析する「ミクロ解析」と、同種の複数のパケットの履歴からトラフィック状況やシーケンスエラーなどを分析する「フロー解析」の双方が含まれる。
本実施形態のリダイレクト処理は、上記解析処理に必要なデータ(パケットデータPDとフローデータFD)を含む転送パケットを生成し、この転送パケットを、パケットの解析処理が可能な他の外部装置4A,4B(図1参照)に送信する処理である。
データ処理部313は、上記リダイレクト処理を行った場合に生成した転送パケットの送信に高優先度キューHを使用せず、その転送パケットを必ず宛先アドレスに対応するいずれかの送信バッファ304,308の低優先度キューLに入力する。
データ処理部313は、例えば、中継用受信バッファ307でのバッファ量などに基づいて、中継処理部310が処理すべきパケット数を常に把握している。
データ処理部313は、上記パケット数が所定の閾値未満である場合には、パケットの「解析処理」を行い、上記パケット数が所定の閾値以上である場合には、その「解析処理」よりもプロセッサ309に対する演算負荷が少ない「リダイレクト処理」を行うようになっている。
タスク管理部314は、例えば、LAN側の通信端末4(パケット解析装置4Aでもよい。)からの制御信号によって動作し、その制御信号に基づいてプロセッサ309内の各処理部310〜313における処理の優先度を設定する。
従って、ルータ3のユーザは、LAN側の通信端末4から上記制御信号を含むパケットをルータ3に送信することにより、各処理部310〜313における処理の優先度を手動で設定できる。
本実施形態では、中継処理部310による中継処理が、他の処理部311〜313による処理よりも高い優先度に設定される。
なお、タスク管理部314に対する優先度の設定は、例えば、中継用受信バッファ307の蓄積量が少ない所定の時間帯(例えば、夜間)に、中継処理の優先を自動的に解除するというように、ルータ3の通信状況に応じて動的に、各処理部310〜313による処理の優先度を変動させることにしてもよい。
〔具体的な処理内容〕
図3は、パケットプロセッサ309の処理手順を示す概略的なフローチャートである。
以下、この図3と以後の図4〜図8を参照しつつ、プロセッサ309の各処理部311〜313が行う具体的な処理の内容を説明する。
図3に示すように、ルータ3のプロセッサ309は、各送受信部で受信された受信パケットに対し、パケットの捕捉(ステップS1)、ヘッダの抽出(ステップS2)、データの分類及び生成(ステップS3)及びデータの処理(S4)の順で情報処理を行う。
<パケットの捕捉>
このうち、パケットの捕捉(ステップS1)は、上述の通り捕捉処理部311が行う処理である。捕捉処理部311は、捕捉用受信バッファ303が蓄積した所定量の受信パケットを順次取り込む。
<ヘッダの抽出>
ヘッダの抽出(ステップS2)は、分類処理部312が行う処理である。
図3に示すように、分類処理部312は、捕捉処理部311から受けた各パケットから必要なレイヤL2〜L5のヘッダ情報を抽出する。
<データの分類及び生成>
データの分類及び生成(S3)は、分類処理部312が行う処理である。
図3に示すように、分類処理部312は、抽出されたパケットのヘッダ情報をキーとしてルールテーブルRTとフローテーブルFTをサーチすることにより、2種類のパケットデータPD及びフローデータFD(サーチでヒットしない場合は未登録データUD)を分類して生成し、これらのデータPD,FD,UDをデータバッファ315の対応する格納領域にそれぞれ記憶させる。
図4は、ルールテーブルRTの一例を示す図であり、図5は、フローテーブルFTの一例を示す図である。
図4に示すように、ルールテーブルRTは、例えば番号1〜256までの「ルール」のエントリを備え、各ルールは図5のフローIdと対応している。各ルールには複数(図例では8つ)の「サブルール」が含まれており、このサブルールには「項目」とその値(Value)を定義することができる。
従って、サブルールの項目と値を適宜設定することにより、各ルールの番号(フローId)に対応するパケットの内容を定義することができる。
例えば、図4の例では、ルール1のサブルール1で「destIp」(宛先IPアドレス)の値を定義し、サブルール2で「srcIP」(送信元IPアドレス)の値を定義し、サブルール3で「destPort」(宛先ポート番号)の値を定義し、サブルール4で「srcPort」(送信元ポート番号)の値を定義するようになっている。
なお、図4では図示していないが、各ルールのサブルール5以後に所定のプロトコルとそのプロトコルで用いるコマンドなどを定義することにより、各々のルール(フローId)によってサーチしたいパケットの「種別」を定義することができる。
図5に示すように、フローテーブルFTは、フローIdに対応する処理内容が定義されたテーブルである。例えば、図5の例では、フローId=1のパケットの場合には、パケットを「パケットデータとして残す」処理が行われる。
また、フローId=2の場合には、パケットを「フローデータとして残す」処理が行われ、フローId=3の場合は「破棄する」処理が行われる。
なお、上記ルールテーブルRTとフローテーブルFTの設定は、例えば、ルータ3のユーザが、LAN側の通信端末4から各テーブルRT,FTの項目内容や設定値を含むパケットをルータ3に送信することによって行うことができる。
ここで、「パケットデータPD」とは、例えば、TCPのシーケンス番号の整合性をチェックするようなミクロ解析の場合に必要となる、パケットの内容を特定するためのデータのことをいう。また、「フローデータFD」とは、例えば、一連のパケットフローの連関をチェックするフロー解析の場合に必要となる、送受信ノードが同じである同種の複数のパケットの履歴を特定するためのデータのことをいう。
なお、例えば、HTTPのリクエストとレスポンスのように、TCPパケットでありかつフロー間の連関の解析(リクエストという1つのフローとレスポンスという別のフローの間の解析)が必要なパケットもあり、かかるパケットはパケットデータPDとフローデータFDの双方に指定される。
分類処理部312は、ルールテーブルRTを上から順番にサーチして、各パケットから抽出したヘッダ情報がどのルールにマッチするかを判定する。
その結果、マッチしたルール(=フローId)がある場合には、そのフローIdに対して行うべき処理をフローテーブルFTから読み出し、読み出した処理を当該フローIdのパケットに対して実行する。また、分類処理部312は、マッチしたルール(=フローId)がない場合には、未登録データUDを生成する。
図6は、パケットデータPDとフローデータFDのデータ構造を示す図である。
図6(a)に示すように、パケットデータPDは、捕捉されたパケットの受信時刻と、当該パケットのパケット長と、当該パケットの所定長さ(図例では128バイト)の先頭部分とを含むデータ構造となっている。これらのデータの順序は図示のものに限定されない。なお、未登録データUDのデータ構造も、パケットデータPDと同様である。
また、図6(b)に示すように、フローデータFDは、捕捉されたパケットの受信時刻と、当該パケットの前記フローIdとを含むデータ構造となっている。なお、これらのデータの順序も図示のものに限定されない。
上述の通り、各フローIdには、ルールテーブルRT(図4)によってパケットの送信元、宛先及び種別が割り当てられているので、当該フローIdは、パケットの送信元、宛先及び種別を識別可能な識別情報である。
このように、本実施形態のルータ3によれば、ミクロ解析のためのパケットデータPDが、捕捉されたパケットの所定長さの先頭部分以外の部分を省略したデータになっているので、パケットのすべてのデータ内容をバッファリングする場合に比べて、データバッファ315の容量を低減することができる。
また、フロー解析のためのフローデータFDが受信時刻とフローIdとから構成されており、そのうちのフローIdのデータ量が非常に小さいので、この点でもデータバッファ315の容量を低減することができる。
例えば、通信速度が100Mbpsである場合に、1つで1500バイトのパケットのフローをそのまま捕捉してバッファリングすると、1時間分で約43Gバイトものバッファ容量が必要となる。
これに対して、受信時刻の格納部に3バイト、フローIdの格納部に1バイトの容量を設定するとすれば、同じ1時間分のフローデータFDのバッファリングに必要な容量は、100Mバイトで足りる。
<データの処理>
図3のデータの処理(S4)は、データ処理部313が行う処理である。
前述の通り、データ処理部313は、データバッファ315に格納されたパケットデータPDとフローデータFDに対して、パケットの解析処理或いはリダイレクト処理のいずれかを行う。また、パケットの解析処理にはミクロ解析とフロー解析とが含まれている。
データ処理部313は、「ミクロ解析」を行う場合、データバッファ315から所定のフローIdのパケットデータPDを読み出し、そのパケットデータPDに含まれている制御情報の値等に基づいて、パケットに誤りがあるかどうかを解析する。
例えば、TCPパケットのヘッダ情報には、当該パケットが格納しているデータが元のデータのどの部分に当たるかを示す、32ビットの数値で表された「シーケンス番号」が含まれている。
このシーケンス番号は、コネクションの開始時の「初期シーケンス番号」とデータの先頭からのバイト数とで決定されるもので、コネクションの初期のシーケンス番号が「10000」の場合、最初の1バイト目のデータを転送するTCPパケットのシーケンス番号は、「10001」になり、先頭から1000バイト目のデータを転送するTCPパケットのシーケンス番号は、「11000」になる。
従って、かかるシーケンス番号の連続性をチェックすることにより、ある端末同士の通信が途切れた場合に、その原因がどちらにあるかを解析することができる。
データ処理部313は、「フロー解析」を行う場合、データバッファ315から所定のフローIdの一連のフローデータFDを読み出し、そのフローデータFD間の時間間隔をチェックすることにより、ネットワーク機器の接続状態の健全性や、ネットワークの輻輳などを解析する。
図7は、同方向に一連のフローデータFDの例とそのシーケンス図である。
図7(a)の例では、フローId=1のパケットがマルチキャストで送信されるRTP(Real-time Transport Protocol)パケットである場合を想定している。
図7(a)に示すように、タイムスタンプの値が100〜160μ秒までの間は、フローId=1のフローデータFD同士の時間間隔が一定(20μ秒)であるが、それ以後のエントリで時間間隔が大幅に遅れている。従って、この場合、サーバからの通信が輻輳していると推定できる。
図8は、双方向に一連のフローデータFDの例とそのシーケンス図である。
図8(a)の例では、フローId=2のパケットがICMPパケットのエコー要求であり、フローId=3のパケットがICMPパケットのエコー応答である場合を想定している。
図8(a)に示すように、タイムスタンプの値が100〜220μ秒までの間は、フローId=2のエコー要求とフローId=3のエコー応答の間の時間間隔が一定(20μ秒)であるが、300μ秒以後にエコー応答が来なくなっている。従って、この場合、300μ秒前後の時間帯に、何らかの理由でサーバの通信が切断したと推定できる。
データ処理部313は、上記のような「ミクロ解析」や「フロー解析」を行った結果、所定の通信エラーを検出した場合には、そのエラーのログ情報を生成する。
データ処理部313は、エラーのログ情報を生成すると、更にそのログ情報を含む送信パケットを生成する。データ処理部313は、送信パケットの宛先を、ルータ3を制御する通信端末4宛とし、第1送信バッファ304又は第2送信バッファ308の低優先度キューLに入力する。
一方、データ処理部313は、「リダイレクト処理」を行う場合は、データバッファ315から少なくとも1つパケットデータPD或いはフローデータFDを読み出し、そのデータを含む転送パケットを生成する。
また、データ処理部313は、転送パケットの宛先を、ネットワーク中のパケット解析装置である通信端末4A,4B宛とし、第1送信バッファ304又は第2送信バッファ308の低優先度キューLに入力する。
この場合、データ処理部313は、フローデータFDよりもパケットデータPDの方を優先して転送パケットを生成する。
その理由は、パケットデータPDはリアルタイム性が重視されるミクロ解析に利用されるので、統計的なデータであるフローデータFDに比べて、より迅速にパケット解析装置4A,4Bに転送すべきだからである。
なお、パケットデータPDには、ルータ3配下のネットワーク管理者以外には秘匿すべきヘッダ情報が含まれている。従って、リダイレクト処理の結果生成された転送パケットについては、セキュリティ上の観点から、ルータ3が管理するローカルIPアドレス以外を宛先とするのを禁止し、ルータ3の外側の通信端末4(図1のサーバ4B)には送信しないという実装を採用することにしてもよい。
〔ルータの効果〕
以上の通り、本実施形態のルータ3によれば、データ処理部313が、捕捉されたパケットを解析する解析処理と、その解析に必要なデータを含む転送パケットを生成して送受信部から外部装置4A,4Bに送信させるリダイレクト処理のいずれか一方を選択的に実行可能であり、中継処理を行うパケット数が比較的少ない場合に解析処理を選択し、多い場合には演算負荷の少ないリダイレクト処理を選択するので、中継処理への悪影響を抑えつつ、パケットの解析処理を行うことができる。
また、プロセッサ309の分類処理部312が、捕捉されたパケットを、そのパケットの内容を特定するためのパケットデータPDと、同種の複数のパケットの履歴を特定するためのフローデータFDとに分類し、パケットデータPDについては必要な先頭部分を残すデータ構造でバッファリングし、かつ、フローデータFDについては送信元、宛先及び種別を識別可能なフローIdを含むデータ構造でバッファリングする。
このため、パケットのすべてのデータ内容をバッファリングする場合に比べて、パケットの捕捉処理を行うルータ3のバッファ容量を低減することができる。
〔その他の変形例〕
上述の実施形態では、回線終端装置(図1ではONU2)とは別の装置であるルータ3に本発明を適用しているが、回線終端装置とルータ3とを一体化したホームゲートウェイの場合には、この装置に本発明を適用することにしてもよい。
上述の実施形態では、パケットデータPDとフローデータFDの双方を生成しているが、これらの一方のみを生成してパケットの解析処理やリダイレクト処理を行うことにしてもよい。
また、上述の実施形態では、リダイレクト処理で得られたパケットデータPDとフローデータFDを含む転送パケットをネットワークのパケット解析装置4A,4Bに転送しているが、ルータ3がUSB規格などの他の送受信インタフェースを有する場合には、メモリスティック等の記憶メディアにそれらのデータPD,FDを送信してもよい。
かかるパケットデータPDやフローデータFDを記憶した記憶メディアを、パケット解析装置4A,4Bに差し込んでデータPD,FDの取り込みを行えば、当該解析装置4A,4Bにてパケットの解析処理を行うことができる。
また、上述の実施形態では、図1に示すように、イーサネットケーブル9で構内ネットワークLAN1,LAN2を構成しているが、ルータ3に無線LAN対応のインタフェースを設け、構内のパケット解析装置4Aとの通信を無線で行うようにしてもよい。
今回開示した実施形態(上述の各変形例を含む。)はすべての点で例示であって制限的なものではない。本発明の権利範囲は、上述の実施形態ではなく、特許請求の範囲と均等の範囲内でのすべての変更が含まれる。
3 ルータ(中継装置)
4 通信端末
4A パケット解析装置
4B パケット解析装置
301 第1インタフェース部(送受信部)
302 第1送受信ドライバ (送受信部)
303 捕捉用受信バッファ(送受信部)
304 第1送信バッファ(送受信部)
305 第2インタフェース部(送受信部)
306 第2送受信ドライバ(送受信部)
307 中継用受信バッファ(送受信部)
308 第2送信バッファ(送受信部)
309 パケットプロセッサ
310 中継処理部
311 捕捉処理部
312 分類処理部
313 データ処理部
314 タスク管理部
PD パケットデータ
FD フローデータ

Claims (8)

  1. パケット交換方式のネットワークに用いる中継装置であって、
    パケットを送受信する複数の送受信部と、
    前記送受信部が受信した前記パケットを中継する中継処理部と、
    前記送受信部が受信した前記パケットを捕捉する捕捉処理部と、
    捕捉された前記パケットを解析する解析処理と、その解析に必要なデータを生成して前記送受信部から外部装置に送信させるリダイレクト処理のいずれか一方を、選択的に実行するデータ処理部と、
    を備えていることを特徴とする中継装置。
  2. 捕捉された前記パケットから次の(a)及び(b)に分類される各データを生成する分類処理部を更に備えている請求項1に記載の中継装置。
    (a) パケットの内容を特定するためのパケットデータ
    (b) 同種の複数のパケットの履歴を特定するためのフローデータ
  3. 前記パケットデータは、捕捉された前記パケットの受信時刻と、当該パケットのパケット長と、当該パケットの所定長さの先頭部分とを含むデータ構造である請求項2に記載の中継装置。
  4. 前記フローデータは、捕捉された前記パケットの受信時刻と、当該パケットの送信元、宛先及び種別を識別可能な識別情報とを含むデータ構造である請求項2又は3に記載の中継装置。
  5. 前記各処理部における処理の優先度を設定可能なタスク管理部を更に備え、
    前記タスク管理部は、前記中継処理部による中継処理の優先度を他の前記処理部による処理の優先度よりも高めに設定する請求項1〜4のいずれか1項に記載の中継装置。
  6. 前記送受信部は、優先度が異なる複数のキューを有する送信バッファを有しており、
    前記データ処理部は、前記中継処理部により中継処理された送信パケットと同等以下の優先度キューに、前記リダイレクト処理で生成された前記データを含む転送パケットを入力する請求項1〜5のいずれか1項に記載の中継装置。
  7. パケット交換方式のネットワークに用いる中継装置を、パケットの捕捉又は解析装置として機能させるためのコンピュータプログラムであって、
    受信したパケットを中継するステップと、
    受信したパケットを捕捉するステップと、
    捕捉された前記パケットを解析する解析処理と、その解析に必要なデータを外部装置に送信するリダイレクト処理とのいずれかを、選択するステップと、
    を含むことを特徴とするコンピュータプログラム。
  8. パケット交換方式のネットワークの中継ノードを構成する中継装置と、前記ネットワークに接続された1又は複数の通信端末とを備えた通信システムであって、
    前記通信端末には、パケットの解析を行うパケット解析装置が含まれており、
    前記中継装置は、前記パケットを送受信する複数の送受信部と、
    前記送受信部が受信した前記パケットを中継する中継処理部と、
    前記送受信部が受信した前記パケットを捕捉する捕捉処理部と、
    捕捉された前記パケットを解析する解析処理と、その解析に必要なデータを含む転送パケットを生成して前記送受信部から前記パケット解析装置に送信させるリダイレクト処理とのいずれかを、選択的に実行するデータ処理部と、を有することを特徴とする通信システム。
JP2011094886A 2011-04-21 2011-04-21 中継装置とこれを有する通信システム及びコンピュータプログラム Withdrawn JP2012227805A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011094886A JP2012227805A (ja) 2011-04-21 2011-04-21 中継装置とこれを有する通信システム及びコンピュータプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011094886A JP2012227805A (ja) 2011-04-21 2011-04-21 中継装置とこれを有する通信システム及びコンピュータプログラム

Publications (1)

Publication Number Publication Date
JP2012227805A true JP2012227805A (ja) 2012-11-15

Family

ID=47277496

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011094886A Withdrawn JP2012227805A (ja) 2011-04-21 2011-04-21 中継装置とこれを有する通信システム及びコンピュータプログラム

Country Status (1)

Country Link
JP (1) JP2012227805A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015104854A1 (ja) * 2014-01-08 2015-07-16 ヤマハ株式会社 中継装置
JP2018160281A (ja) * 2018-07-13 2018-10-11 ヤマハ株式会社 中継装置
TWI711285B (zh) * 2019-09-18 2020-11-21 緯創資通股份有限公司 網路故障偵測方法以及網路故障偵測裝置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015104854A1 (ja) * 2014-01-08 2015-07-16 ヤマハ株式会社 中継装置
JP2015130121A (ja) * 2014-01-08 2015-07-16 ヤマハ株式会社 中継装置
CN104904168A (zh) * 2014-01-08 2015-09-09 雅马哈株式会社 中继装置
TWI575905B (zh) * 2014-01-08 2017-03-21 Yamaha Corp Relay device
CN104904168B (zh) * 2014-01-08 2019-01-15 雅马哈株式会社 中继装置
JP2018160281A (ja) * 2018-07-13 2018-10-11 ヤマハ株式会社 中継装置
TWI711285B (zh) * 2019-09-18 2020-11-21 緯創資通股份有限公司 網路故障偵測方法以及網路故障偵測裝置

Similar Documents

Publication Publication Date Title
US8149705B2 (en) Packet communications unit
JP5958570B2 (ja) ネットワークシステム、コントローラ、スイッチ、及びトラフィック監視方法
JP5382451B2 (ja) フロントエンドシステム、フロントエンド処理方法
JP4122232B2 (ja) インテリジェント配信に関するネットワークサービスレベルを保証するシステム及び方法
JP6598382B2 (ja) ヒューリスティック及びビジネスポリシーに基づく、ネットワークトラフィックフローに対するリソースのインクリメンタルアプリケーション
US7274711B2 (en) Network relay apparatus and method of combining packets
JP4547340B2 (ja) トラフィック制御方式、装置及びシステム
US10931711B2 (en) System of defending against HTTP DDoS attack based on SDN and method thereof
EP2688256A1 (en) Network system, and switching method
US10798004B2 (en) Network traffic appliance for triggering augmented data collection on a network based on traffic patterns
US8964766B2 (en) Session relay equipment and session relay method
JP4620070B2 (ja) トラヒック制御システムおよびトラヒック制御方法
JP2012227805A (ja) 中継装置とこれを有する通信システム及びコンピュータプログラム
JP2012249138A (ja) パケット捕捉装置及びコンピュータプログラム
WO2013168207A1 (en) Communication system, communication method, and program
US8265089B2 (en) Network gateway with enhanced requesting
JP2012239138A (ja) 優先度設定装置及びコンピュータプログラム
JP5896055B2 (ja) 優先度設定装置及びコンピュータプログラム
Ahsan et al. Performace evaluation of TCP cubic, compound TCP and NewReno under Windows 20H1, via 802.11 n Link to LTE Core Network
KR101003505B1 (ko) 망 부하에 따른 트래픽의 동적 제어방법 및 그 장치
JP7104201B2 (ja) パケット中継装置およびパケット中継方法
JP2012151689A (ja) トラヒック情報収集装置、ネットワーク制御装置およびトラヒック情報収集方法
KR100959663B1 (ko) 고성능망 지원 웹기반의 단대단 망 성능측정 및 진단시스템 및 방법
JP6934758B2 (ja) パケット中継装置およびパケット中継方法
JP5039674B2 (ja) ネットワークシステム及びQoS保証方法

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20140701