(57)【要約】【課題】パケット中継アルゴリズムを運用中に変更できるようにし、また、アプリケーション毎に異なるパケット操作のためのプログラムを多数管理実行できるようにすること。【解決手段】パケット操作プログラム４−１〜４−ｎの管理部６と、パケット操作プログラムの起動部７と、パケット操作プログラムを呼び出すフィルタ実行環境部３とを設け、パケットを受信する毎に、管理テーブル５を参照して、起動部７によりパケット操作プログラム４−１〜４−ｎを起動して、パケット操作処理を実行する。パケット操作プログラムは、パケットのフィルタリング処理、中継処理やパケットを解析し、遠隔地にあるサーバへデータの登録などを行う。管理部６は、遠隔地からのアクセスに応じて、運用中に上記パケット操作プログラムの追加、削除を行うとともに、管理テーブル５を書き換える。【選択図】          図１
2004350128.tif 000002
【特許請求の範囲】
【請求項１】
パケットに対するパケット操作プログラムの管理部と、該パケット操作プログラムの起動部と、パケット操作プログラムを呼び出す実行環境部を備え、
パケットを受信する毎に、上記パケット操作プログラムによるパケット操作機能を実行するネットワーク中継装置であって、
上記管理部は、遠隔地からのアクセスに応じて、運用中に上記パケット操作プログラムの機能の追加および削除を行う
ことを特徴とするネットワーク中継装置。
【請求項２】
上記パケット操作プログラムの機能の追加および削除を行うことにより、パケット中継アルゴリズムを変更する
ことを特徴とする請求項１のネットワーク中継装置。
【請求項３】
上記パケット操作プログラムは、中継するパケットを判別・解析し、特定のサーバのデータベースへ登録する機能を備える
ことを特徴とする請求項１または請求項２のネットワーク中継装置。
【請求項４】
上記実行環境部は、中継するパケットに対し複数のパケット操作プログラムを呼び出し実行させる
ことを特徴とする請求項１，２，３または請求項４のネットワーク中継装置。
【請求項５】
ネットワーク中継装置で実行されるプログラムであって、
上記プログラムは、遠隔地からのアクセスに応じて、運用中に、パケット操作プログラムの機能の追加および削除を行う処理と、
パケットを受信する毎に、上記パケット操作プログラムを呼び出して、パケットの操作処理（フィルタ処理）をコンピュータに実行させる
ことを特徴とするネットワーク中継装置におけるプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ネットワーク中継装置に関し、特に、遠隔制御により運用中に機能の変更を可能としたネットワーク中継装置に関するものである。
【０００２】
【従来の技術】
従来から、パケットをフィルタリングしたりリピートする機能を備えたネットワーク中継装置が知られている（特許文献１）。
図７に従来のネットワーク中継装置の構成例を示す。
同図において、１００はネットワーク中継装置、１０１はネットワークインタフェース、１０２はフィルタ実行環境であり、フィルタ実行環境１０２は、フィルタ処理やリピート処理を行うためのプログラムを備え、ネットワークインタフェース１０１からパケットを受信すると、上記プログラムを実行し、フィルタリングのポリシーを規定したフィルタルール１０３を参照し、このフィルタルール等に基づきフィルタ処理等を行い、パケットをネットワークインタフェース１０１に送出する。
【０００３】
【特許文献１】
特開平５−３１６１１４号公報
【０００４】
【発明が解決しようとする課題】
上記従来のネットワーク中継装置における中継アルゴリズムは固定であり、また、中継プログラムを遠隔地から変更することができない。
すなわち、遠隔地からネットワーク管理者が予め用意された範囲内でフィタルルールの変更等を行うことはできるが、上記プログラムは変更はできず、中継アルゴリズムの変更は限られた範囲でしか行うことができない。
さらに、パケットに対する統計情報の算出やアプリケーション毎に異なるパケットに対するフィルタなどを実行する能力を持たない。また、これらの機能を実行する能力を持っていたとしてもそれをネットワーク管理者が遠隔から変更することはできない。
【０００５】
なお、ＬｉｎｕｘやＢＳＤなどの提供するｉｐｃｈａｉｎなどはフィルタリングのポリシを定義できる。しかし、このポリシは、あて先や送信元のアドレスやポート番号がベースでありパケット内部についての詳細な処理を記述することはできない。
また、ＩＰパケットが対象であり、ＩＰパケットでないＩＰＸやＩＣＭＰ、ＡＲＰなどのパケットについてフィルタを掛けることができない。
以上のように、従来のネットワーク中継装置は据付であり遠隔地からネットワーク管理者が運用中に中継プログラムを変更したり、追加させることができなかった。
本発明は上記事情に鑑みなされたものであって、本発明の目的は、ネットワーク中継装置におけるパケット中継アルゴリズムを運用中に変更することを可能とし、また、アプリケーション毎に異なるパケット操作のためのプログラムを多数管理実行することを可能としたネットワーク中継装置を提供することである。
【０００６】
【課題を解決するための手段】
本発明においては、上記課題を次のようにして解決する。
図１に示すように、ネットワーク中継装置に、パケットに対するパケット操作プログラム４−１〜４−ｎの管理部６と、管理テーブル５と、パケット操作プログラムの起動部７と、パケット操作プログラムを呼び出すフィルタ実行環境部３とを設け、パケットを受信する毎に、上記起動部７によりパケット操作プログラム４−１〜４−ｎを起動して、パケット操作機能を実行する。
また、上記管理部６は、遠隔地からのアクセスに応じて、運用中に上記パケット操作プログラム４−１〜４−ｎの機能の追加および削除を行う。
上記のように、パケット操作プログラム４−１〜４−ｎを運用中に変更することにより、パケット中継アルゴリズムを変更することができる。
上記パケット操作プログラム４−１〜４−ｎは、例えば、パケットのフィルタリング処理、中継処理、あるいは、中継するパケットを判別・解析し、特定のサーバのデータベースへ登録するための処理を行う。
また、上記実行環境部３は、中継するパケットに対し複数のパケット操作プログラムを呼び出し実行させる。
以上のように、本発明においては、パケット操作プログラムを複数管理し、管理部６でパケット操作プログラムの追加、削除できるようのしたので、遠隔地から運用中にパケット操作プログラムの追加、削除が可能であり、例えば、パケットフィルタアルゴリズムや転送アルゴリズムなどをパケット操作プログラムとして記述することにより、運用中にこれらの中継アルゴリズムを変更することができる。また、アプリケーション毎に異なるパケットに対する処理もパケット操作プログラムとして記述することで、外部から運用中に送り込むことができる。
さらに、パケット操作プログラムを変更すれば、ＩＰパケット以外の新たなプロトコルのパケットに対応することができる。
【０００７】
【発明の実施の形態】
図１は本発明の実施例のネットワーク中継装置の概要構成を示す図である。
本実施例のネットワーク中継装置は、同図に示すようにネットワークポート１に接続された複数のネットワークインタフェース２およびフィルタ実行環境部３を備える。また、外部から与えられるパケット操作プログラム４−１〜４−ｎ、該パケット操作プログラム群を登録する管理テーブル５、上記パケット操作プログラムを管理する管理部６、上記パケット操作プログラムを起動する起動部７を備える。
上記フィルタ実行環境部３は、システム全体を管理し、パケットの受信から上記起動部７によるパケット操作プログラムの起動を制御するモジュールである。
【０００８】
上記パケット操作プログラム群４−１〜４−ｎは任意のプログラムであり、パケットの操作に関して任意の詳細な処理を記述することが可能であり、パケット操作プログラム内部で、パケットを解析し処理を行う。例えば、パケットのフィルタリング処理、中継処理やパケットを解析し、遠隔地にあるサーバへデータの登録などを行う。
また、フィルタ実行環境部３は、ネットワークインタフェースへのパケット送出機能を持ち、パケット操作プログラムは、その機能を用いて入力ネットワークインタフェース以外のネットワークインタフェースへパケットを送出することができる。
上記ネットワークインタフェース２は１０Ｂａｓｅ−Ｔなどの物理的なインタフェースと論理的なソフトウェアモジュールとのインタフェースを提供する。また、各ネットワークインタフェース２は名前を持つ。
管理部６は、遠隔からのネットワーク管理者等による要求等に基づき、パケット操作プログラムの追加、削除等を行うとともに、上記管理テーブル５を書き換える。
起動部７は、フィルタ実行環境部３からの起動要求があると、入力ネットワークインタフェース名とパケット、フィルタ実行環境に応じて上記管理テーブル５に登録されたパケット操作プログラム４−１〜４−ｎを順次起動し、パケットの操作処理を実行させる。
【０００９】
ネットワークポート１から入るパケットはネットワークインタフェース２を通し、フィルタ実行環境部３へ伝えられる。フィルタ実行環境部３は、入力ネットワークインタフェース名とパケット、およびフィルタ実行環境を引数にして起動部７を呼び出す。
起動部７は、上記管理テーブル５を参照して、パケット操作プログラム４−１〜４−ｎを起動し、上記引数に基づき前記したようにパケットのフィルタリング処理、中継処理やパケットを解析し遠隔地にあるサーバへデータへ登録する等の処理を実行する。
【００１０】
上記パケット操作プログラムは、ネットワーク中継装置の運用中に遠隔地からの操作により、追加、削除が可能である。
このネットワーク中継装置に与えられたアドレスと、パケット操作プログラムの追加、削除のために割り当てられた特定のポートに対して、遠隔地からアクセスすることにより、上記管理部５は、パケット操作プログラムの追加、削除操作を行う。
すなわち、パケット操作プログラムの追加の場合、管理部５は、遠隔地から送信されたパケット操作プログラムをパケット操作プログラム群４−１〜４−ｎに追加するとともに、管理テーブル５に新たに追加されたパケット操作プログラムを登録する。また、パケット操作プログラムの削除の場合、管理部５は、指定されたパケット操作プログラムを削除するとともに、管理テーブル５から該パケット操作プログラムを削除する。
以上のように本実施例においては、遠隔地から運用中にパケット操作プログラムの追加、削除が可能であり、例えば、パケットフィルタアルゴリズムや転送アルゴリズムなどをパケット操作プログラムとして記述することにより、運用中にこれらの中継アルゴリズムを変更することができる。また、アプリケーション毎に異なるパケットに対する処理もパケット操作プログラムとして記述することで、外部から運用中に送り込むことができる。
【００１１】
図２は、本実施例のパケット中継装置の具体的な構成例を示す図である。
通常のパソコン（ＰＣ）に複数のネットワークカード１１をさし、Ｊａｖａ（登録商標）コードで書かれた実行環境を実行する。
各ネットワークカード１１にはネットワークカード直接操作層１２を介してネットワークカードオブジェクト１４が存在し、Ｊａｖａ（登録商標）オブジェクト１３からのネットワーク操作を可能とする。各ネットワークカードオブジェクト１４は、それぞれ担当のネットワークを監視し、パケットが発生したとき実行環境オブジェクト１５へ通知する。実行環境オブジェクト１５は、前記したように、入力ネットワークインタフェース名とパケット、およびフィルタ実行環境を引数にして起動オブジェクト１６を呼び出す。
起動オブジェクト１６は、管理テーブル１８を参照して、パケット操作プログラム４−１〜４−ｎを順次起動し、入力ネットワークインタフェース名とパケット、フィルタ実行環境に応じてパケットの操作処理を実行する。
また、前記したように、このネットワーク中継装置に与えられたアドレスと、特定のポートに対して遠隔地からアクセスすることにより、管理オブジェクト１７はパケット操作プログラム４−１〜４−ｎの追加、削除操作を行うともに、管理テーブル１８を書き換える。
【００１２】
図３は上記実行環境オブジェクトおよび起動オブジェクトにおける処理アルゴリズムを示すフローチャートである。
図３において、パケットの受信を待ち（ステップＳ１）、パケットを受信すると、入力ネットワークインタフェース名とパケット、およびフィルタ実行環境を引数にして起動部オブジェクト１６を呼び出す。起動オブジェクト１６は、管理テーブルを参照し、パケット操作プログラムを取得する（ステップＳ２）。また、実行するパケット操作プログラムがなければ、ステップＳ１に戻り（ステップＳ３）、パケットの受信を待つ。
実行するパケット操作プログラムがあれば、起動オブシェクト１６はパケット操作プログラムを実行させ（ステップＳ４）、ステップＳ２に戻る。この処理を実行するパケット操作プログラムがなくなるまで、繰り返す。
【００１３】
図４〜図６はパケット操作プログラムの処理アルゴリズムの例を示すフローチャートであり、図４はパケットリピータ、図５はＭＡＣアドレスフィルタリピータ、図６は特定アプリケーションのパケットに対する操作処理のアルゴリズム例である。
図４の例は、パケットが入力されたネットワークインタフェース以外のすべてのネットワークインタフェースにパケットを送出するアルゴリズムである。
図４において、パケット操作プログラムが起動されると、まず、実行環境オブジェクト１５からネットワークインタフェースのリストを取得する（ステップＳ１）。ついで、このリストからネットワークインタフェースを取得する（ステップＳ２）、また、ネットワークインタフェースがなければ処理を終了する（ステップＳ３）。
ネットワークインタフェースがあれば、パケットが入ってきたネットワークインタフェースかを調べ（ステップＳ４）、パケットが入ってきたネットワークインタフェースの場合には、ステップＳ２に戻り、次のネットワークインタフェースを取得する。また、このネットワークインタフェースがパケットが入ってきたネットワークインタフェースでなければ、パケットをそのインタフェースに送信し（ステップＳ５）、ステップＳ２に戻り、上記処理を繰り返す。
【００１４】
図５の例は、登録されたＭＡＣアドレスのみネットワークを利用可能とするフィルタ例のアルゴリズムである。図４のパケット操作プログラムを図５に変更することでリピータ機能を動的に変更することができる。
図５において、パケット操作プログラムが起動されると、まず、実行環境オブジェクト１５からネットワークインタフェースのリストを取得する（ステップＳ１）。ついで、このリストからネットワークインタフェースを取得する（ステップＳ２）、また、ネットワークインタフェースがなければ処理を終了する（ステップＳ３）。
ネットワークインタフェースがあれば、パケットが入ってきたネットワークインタフェースかを調べ（ステップＳ４）、パケットが入ってきたネットワークインタフェースの場合には、ステップＳ２に戻り、次のネットワークインタフェースを取得する。また、このネットワークインタフェースがパケットが入ってきたネットワークインタフェースでなければ、送信元が登録されているＭＡＣアドレスかを調べる（ステップＳ５）。そして登録されているＭＡＣアドレスでない場合には、処理を終了する。また、送信元が登録されているＭＡＣアドレスであれば、パケットをそのインタフェースに送信し（ステップＳ６）、ステップＳ２に戻り、上記処理を繰り返す。
【００１５】
図６は特定アプリケーションのパケットに対する操作処理のアルゴリズム例でであり、アプリケーションは通常サービスポートを持っており、図６は、そのポートに対する操作を外部データベースへ登録する場合のアルゴリズムである。
同図では、送り先が特定のサービスポートの場合に、パケットデータを判別・解析し、例えばＭＡＣアドレス、インタフェース名等をデータベースに登録する処理を示している。
図６において、パケット操作プログラムが起動されると、送り先ポート番号を調べ、これが特定のサービスポートであるかを判定し（ステップＳ１）、特定のサービスポートでなければ、処理を終了する。また、特定のサービスポートの場合には、パケットデータを解析し（ステップＳ２）、データベースへ解析データ（例えばＭＡＣアドレス、インタフェース名等）を登録する（ステップＳ３）。
上記処理を行うことにより、例えば、外部データベースに、ユーザの位置を登録したり、ＩＰ電話の通話状態等を登録することができる。
【００１６】
【発明の効果】
以上説明したように、本発明においては、以下の効果を得ることができる。
（１）ネットワーク中継装置において、パケット操作プログラムを複数管理し、管理部６でパケット操作プログラムの追加、削除できるようのしたので、遠隔地から運用中にパケット操作プログラムの追加、削除が可能となる。このため、運用中に、例えば、パケットフィルタアルゴリズムや転送アルゴリズムなどの中継アルゴリズムを変更することができる。
また、アプリケーション毎に異なるパケットに対する処理もパケット操作プログラムとして記述することで、外部から運用中に送り込むことが可能となる。
（２）パケット操作プログラム内部でパケットの解析、処理を行っているので、パケット操作プログラムを変更すれば、ＩＰパケット以外の新たなプロトコルのパケットにも対応することが可能となる。
【図面の簡単な説明】
【図１】本発明の実施例のネットワーク中継装置の概要構成を示す図である。
【図２】本発明の実施例のパケット中継装置の具体的な構成例を示す図である。
【図３】実行環境オブジェクトおよび起動オブジェクトにおける処理アルゴリズムを示すフローチャートである。
【図４】パケット操作プログラムの処理アルゴリズムの例を示すフローチャート（１）である。
【図５】パケット操作プログラムの処理アルゴリズムの例を示すフローチャート（２）である。
【図６】パケット操作プログラムの処理アルゴリズムの例を示すフローチャート（３）である。
【図７】従来のパケット中継装置の構成例を示す図である。
【符号の説明】
１          ネットワークポート
２          ネットワークインタフェース
３          フィルタ実行環境部
４−１〜４−ｎ  パケット操作プログラム
５          管理テーブル
６          管理部
７          起動部
１１        ネットワークカード
１２        ネットワークカード直接操作層
１３        Ｊａｖａオブジェクト
１４        ネットワークカードオブジェクト
１５        実行環境オブジェクト
１６        起動オブジェクト
１７        管理オブジェクト
１８        管理テーブル
【図１】
2004350128.tif 000003
【図２】
2004350128.tif 000004
【図３】
2004350128.tif 000005
【図４】
2004350128.tif 000006
【図５】
2004350128.tif 000007
【図６】
2004350128.tif 000008
【図７】
2004350128.tif 000009