(57)【特許請求の範囲】
【請求項１】
デバイス制御処理及びプロトコル制御処理を具備するオペレーティングシステムを実行することで、前記デバイス制御処理で受取ったＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）パケットを処理するＩＰパケット処理装置であって、
前記オペレーティングシステム外に配置されかつ前記ＩＰパケットのヘッダの内容に応じてプロトコル処理を行うプロトコル処理手段と、
前記オペレーティングシステム内に配置されかつ前記デバイス制御処理で受取ったＩＰパケットのプロトコル制御情報を含む全ての情報がユーザデータとなるように前記ＩＰパケットをカプセル化するカプセル化処理手段とを有し、
前記カプセル化処理手段でカプセル化されたＩＰパケットを前記プロトコル制御処理を透過させて前記プロトコル処理手段へと転送することを特徴とするＩＰパケット処理装置。
【請求項２】
ＴＣＰ／ＩＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  ＣｏｎｔｒｏｌＰｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）による通信を可能としたことを特徴とする請求項１記載のＩＰパケット処理装置。
【請求項３】
前記オペレーティングシステム外に配置されたアプリケーションプログラムから送信されかつ前記プロトコル制御処理で前記プロトコル制御情報が付与されたＩＰパケットの制御情報から前記アプリケーションプログラムを特定する手段と、前記プロトコル処理手段からの送信と判定した時にカプセル化されたＩＰパケットを復元して前記デバイス制御処理に送信する手段とを前記カプセル化処理手段に含むことを特徴とする請求項１または請求項２記載のＩＰパケット処理装置。
【請求項４】
前記ＩＰパケットのプロトコル種別に応じて当該ＩＰパケットのフィルタリングを行う手段を前記プロトコル処理手段に含むことを特徴とする請求項１から請求項３のいずれか記載のＩＰパケット処理装置。
【請求項５】
デバイス制御処理及びプロトコル制御処理を具備するオペレーティングシステムを実行することで、前記デバイス制御処理で受取ったＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）パケットを処理するＩＰパケット処理方法であって、前記デバイス制御処理で受取ったＩＰパケットのプロトコル制御情報を含む全ての情報がユーザデータとなるように前記ＩＰパケットをカプセル化するステップと、そのカプセル化されたＩＰパケットを前記プロトコル制御処理を透過させて前記オペレーティングシステム外に配置されかつ前記ＩＰパケットのヘッダの内容に応じてプロトコル処理を行うプロトコル処理手段へと転送するステップとを有することを特徴とするＩＰパケット処理方法。
【請求項６】
ＴＣＰ／ＩＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  ＣｏｎｔｒｏｌＰｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）による通信を可能としたことを特徴とする請求項５記載のＩＰパケット処理方法。
【請求項７】
前記オペレーティングシステム外に配置されたアプリケーションプログラムから送信されかつ前記プロトコル制御処理で前記プロトコル制御情報が付与されたＩＰパケットの制御情報から前記アプリケーションプログラムを特定するステップと、前記プロトコル処理手段からの送信と判定した時にカプセル化されたＩＰパケットを復元して前記デバイス制御処理に送信するステップとを前記カプセル化を行うステップに含むことを特徴とする請求項５または請求項６記載のＩＰパケット処理方法。
【請求項８】
前記ＩＰパケットのプロトコル種別に応じて当該ＩＰパケットのフィルタリングを行うステップを前記プロトコル処理手段に含むことを特徴とする請求項５から請求項７のいずれか記載のＩＰパケット処理方法。
【請求項９】
デバイス制御処理及びプロトコル制御処理を具備するオペレーティングシステムを実行することで、前記デバイス制御処理で受取ったＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）パケットを処理するＩＰパケット処理方法のプログラムであって、コンピュータに、前記デバイス制御処理で受取ったＩＰパケットのプロトコル制御情報を含む全ての情報がユーザデータとなるように前記ＩＰパケットをカプセル化する処理と、そのカプセル化されたＩＰパケットを前記プロトコル制御処理を透過させて前記オペレーティングシステム外に配置されかつ前記ＩＰパケットのヘッダの内容に応じてプロトコル処理を行うプロトコル処理手段へと転送する処理とを実行させるためのプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はＩＰパケット処理装置及びそれに用いるＩＰパケット処理方法並びにそのプログラムに関し、特にＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）パケットを処理するためのプロトコルサービスに関する。
【０００２】
【従来の技術】
ＩＰサービスの急速な発達によって多種多様なプロトコル、多種多様なサービスのニーズが発生している。しかしながら、これらの多種多様なニーズの多くは、現在リリースされている製品への改善要望であり、このニーズを満足するためには現在販売されている電子計算機に搭載されているプロトコルサービスを改造する必要が少なくない。
【０００３】
従来、プロトコルサービスにおいては、ＯＳ（オペレーティングシステム）と一体化されており、このＯＳに付属するプロトコルサービスソフトウェアに対して改造が実施されている。
【０００４】
上記のＩＰパケットの処理においては、ＩＰパケットの受信時に、カプセルかされたパケットに対してデカプセル処理を施すことが知られている（例えば、特許文献１参照）。
【０００５】
【特許文献１】
特開２０００−１６５４４３号公報
【０００６】
【発明が解決しようとする課題】
しかしながら、上述した従来のプロトコルサービスでは、オペレーティングソフトウェアの提供条件が提供するソフトベンダ毎に異なるため、プラットフォーム（ＯＳ）によっては改造するためのソースコードが開示されていないという問題がある。
【０００７】
また、従来のプロトコルサービスでは、プロトコルサービスソフトウェアがＯＳ階層のプログラムであるため、そのＯＳに依存する制限を受けることや他のプログラムとのインタフェースがＯＳ毎に異なるため、ソフトウェアの改造に高度なスキルが必要になり、その改造がプラットフォームに依存したノウハウになるという問題がある。これらの問題は上記の特許文献１に記載の技術でも同様である。
【０００８】
そこで、本発明の目的は上記の問題点を解消し、簡単にプロトコル処理を作成することができ、プラットフォームに依存しないプロトコル処理を実現することができるＩＰパケット処理装置及びそれに用いるＩＰパケット処理方法並びにそのプログラムを提供することにある。
【０００９】
【課題を解決するための手段】
本発明によるＩＰパケット処理装置は、デバイス制御処理及びプロトコル制御処理を具備するオペレーティングシステムを実行することで、前記デバイス制御処理で受取ったＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）パケットを処理するＩＰパケット処理装置であって、
前記オペレーティングシステム外に配置されかつ前記ＩＰパケットのヘッダの内容に応じてプロトコル処理を行うプロトコル処理手段と、
前記オペレーティングシステム内に配置されかつ前記デバイス制御処理で受取ったＩＰパケットのプロトコル制御情報を含む全ての情報がユーザデータとなるように前記ＩＰパケットをカプセル化するカプセル化処理手段とを備え、
前記カプセル化処理手段でカプセル化されたＩＰパケットを前記プロトコル制御処理を透過させて前記プロトコル処理手段へと転送している。
【００１０】
本発明によるＩＰパケット処理方法は、デバイス制御処理及びプロトコル制御処理を具備するオペレーティングシステムを実行することで、前記デバイス制御処理で受取ったＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）パケットを処理するＩＰパケット処理方法であって、前記デバイス制御処理で受取ったＩＰパケットのプロトコル制御情報を含む全ての情報がユーザデータとなるように前記ＩＰパケットをカプセル化するステップと、そのカプセル化されたＩＰパケットを前記プロトコル制御処理を透過させて前記オペレーティングシステム外に配置されかつ前記ＩＰパケットのヘッダの内容に応じてプロトコル処理を行うプロトコル処理手段へと転送するステップとを備えている。
【００１１】
本発明によるＩＰパケット処理方法のプログラムは、デバイス制御処理及びプロトコル制御処理を具備するオペレーティングシステムを実行することで、前記デバイス制御処理で受取ったＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）パケットを処理するＩＰパケット処理方法のプログラムであって、コンピュータに、前記デバイス制御処理で受取ったＩＰパケットのプロトコル制御情報を含む全ての情報がユーザデータとなるように前記ＩＰパケットをカプセル化する処理と、そのカプセル化されたＩＰパケットを前記プロトコル制御処理を透過させて前記オペレーティングシステム外に配置されかつ前記ＩＰパケットのヘッダの内容に応じてプロトコル処理を行うプロトコル処理手段へと転送する処理とを実行させている。
【００１２】
すなわち、本発明のＩＰパケット処理装置は、プラットフォーム（ＯＳ：オペレーティングシステム）に依存しないＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）パケットの処理を実現可能な構成を提供するものである。
【００１３】
より具体的に説明すると、本発明のＩＰパケット処理装置は、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）／ＩＰによる通信が可能な電子計算機であり、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）装置と、デバイス制御プログラム、プロトコル制御プログラムを具備するＯＳを記憶装置（記録媒体）から読出して実行可能なＣＰＵ（中央処理装置）とが搭載されている一般的な電子計算機である。
【００１４】
この電子計算機において、ＩＰパケットカプセル化プログラムとプロトコル処理アプリケーションプログラムとを記憶装置に格納しておき、ＣＰＵがそれらＩＰパケットカプセル化プログラムとプロトコル処理アプリケーションプログラムとを記憶装置から読出して実行することで、上記の課題を解消している。尚、ＩＰパケットカプセル化プログラムにはカプセル化処理と復元化処理とが含まれている。
【００１５】
一般的に、ＬＡＮ装置が受信したＩＰデータグラムは通常、そのＬＡＮ装置を制御するデバイス制御プログラムに送られ、デバイス制御プログラムはそのＩＰデータグラムを上位のプロトコル制御プログラムに送る。その後、プロトコル制御プログラムはＩＰデータグラムの中からプロトコル制御情報にしたがって、ユーザデータグラムを取出し、アプリケーションプログラムにデータを通知する。
【００１６】
本発明では、デバイス制御プログラムとプロトコル制御プログラムとの間にＩＰパケットカプセル化プログラムを配置し、デバイス制御プログラムが受取ったＩＰデータグラムのプロトコル制御情報を含む全ての情報がユーザデータとなるようにＩＰパケットカプセル化プログラムのカプセル化処理においてカプセル化する。このカプセル化されたＩＰデータグラムはプロトコル制御プログラムに送信されるが、プロトコル制御プログラムではカプセル化されたＩＰデータグラムの中身、すなわちデバイス制御プログラムが受取った全ての情報をアプリケーションプログラムに送信する。
【００１７】
また、アプリケーションプログラムから送信されたユーザデータはプロトコル制御プログラムでプロトコル制御情報が付与され、ＩＰパケットカプセル化プログラムに送られる。ＩＰパケットカプセル化プログラムの復元化処理では、送信されてきたＩＰデータグラムの制御情報からアプリケーションプログラムを特定し、プロトコル処理アプリケーションプログラムからの送信かどうかを判定する。プロトコル処理アプリケーションプログラムから送られてきたＩＰデータグラムの場合、カプセル化されたＩＰデータグラムを復元し、デバイス制御プログラムへ送信する。
【００１８】
この処理によって、本来、ＯＳのプロトコル制御プログラムで隠蔽されていたプロトコル制御情報をアプリケーションプログラムにおいて参照可能となり、またアプリケーションプログラムでプロトコル処理を実施することが可能となる。
【００１９】
上記のように、本発明では、ＩＰパケットカプセル化プログラムにて受信したＩＰパケットをカプセル化し、このＩＰデータグラムをプロトコル制御プログラムをスルーしてアプリケーションプログラムに透過的に転送するため、従来、ＯＳ階層のソフトであるプロトコル制御プログラムでしか行うことができなかったプロトコル処理を、ＯＳ階層の上位であるアプリケーションプログラムにて行わせることが可能となる。
【００２０】
また、本発明では、プロトコル制御プログラムが一般的に利用者に開示されておらず、また開示されている場合でも改造にかなりのスキルを要するが、アプリケーションプログラムはＯＳのスキルを必要としないため、簡単にプロトコル処理を作成することが可能となる。
【００２１】
さらに、本発明では、ＴＣＰ／ＩＰのアプリケーションプログラムがソケットというアプリケーションインタフェースで統一されており、このインタフェースが世の中に普及しているＯＳにとって一般的なものであるため、プラットフォームに依存しないプロトコル処理を実現することが可能となる。
【００２２】
【発明の実施の形態】
次に、本発明の実施例について図面を参照して説明する。図１は本発明の一実施例によるパケット処理装置の構成を示すブロック図である。図１において、本発明の一実施例によるパケット処理装置にはプログラム制御によって動作するＴＣＰ／ＩＰ  （Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）による通信が可能な電子計算機［例えば、パーソナルコンピュータ（パソコン）やスーパコンピュータ等］１が用いられている。
【００２３】
電子計算機１はＣＰＵ（中央処理装置）５と、ＬＡＮ（Ｌｏｃａｌ  ＡｒｅａＮｅｔｗｏｒｋ）装置（ネットワークインタフェースカード）４と、記録媒体６とを搭載している。記録媒体６にはＯＳ（オペレーティングシステム）２と、プロトコル処理アプリケーションプログラム（例えば、プロトコルドライバ、ＴＣＰ／ＩＰドライバ、プロトコルスタック等）（以下、プロトコル処理アプリケーションとする）３とが格納されており、これらのプログラムはＣＰＵ５によって記録媒体６から読出されて実行される。
【００２４】
ＯＳ２にはプロトコル制御プログラム２１と、ＩＰパケットカプセル化プログラム２２と、デバイス制御プログラム（デバイスドライバ）２３とが含まれており、パケットカプセル化プログラム２２にはカプセル化処理２２１と復元化処理２２２とが含まれている。尚、図１においては上記の各プログラムが記録媒体６から読出されてＣＰＵ５に展開されている状態を示している。
【００２５】
これらの処理はそれぞれ概略つぎのように動作する。カプセル化処理２２１はデバイス制御プログラム２３が受信したＩＰデータグラムについて、ＩＰヘッダ情報から処理対象かどうかを判定し、処理対象であれば、全てのデータグラムがユーザデータとなるようにプロトコル制御情報を付与し、ＩＰデータグラムのカプセル化を行い、カプセル化したデータをプロトコル制御プログラム２１に送信する。
【００２６】
復元化処理２２２はプロトコル制御プログラム２１から受信したＩＰデータグラムについて、ＩＰヘッダ情報から処理対象かどうかを判定し、処理対象であれば、ＩＰデータグラムからカプセル化されたＩＰデータグラムを取出し、デバイス制御プログラム２３に送信する。
【００２７】
図２は図１の電子計算機１におけるＩＰデータグラムの流れを示す図であり、図３及び図４は図１の電子計算機１の処理動作を示すフローチャートである。これら図２〜図４を参照して電子計算機１の処理動作について説明する。尚、図３及び図４に示す処理はＣＰＵ５が記録媒体６から各プログラムを読込んで実行することで実現される。
【００２８】
まず、ＬＡＮ装置４にて受信したＩＰデータグラムはデバイス制御プログラム２３に送信される。この後、このＩＰデータグラム１００はＩＰパケットカプセル化プログラム２２のカプセル化処理２２１へ転送される（図２の１０１）（図３ステップＳ１）。
【００２９】
カプセル化処理２２１は転送されてきたＩＰデータグラム１０２を参照し（図３ステップＳ２）、予め設定された条件を満たす場合、カプセル化処理を実施し、転送されてきたＩＰデータグラム１０２をユーザデータとする新たなＩＰデータグラム１０４を生成する（図２の１０３）（図３ステップＳ３）。
【００３０】
この場合、カプセル化処理２２１はＩＰデータグラム１０２がプロトコル処理アプリケーション３に転送されるようにプロトコルヘッダ１０５の内容を設定し（図３ステップＳ４）、プロトコル制御プログラム２１へＩＰデータグラム１０４を転送する（図２の１０６）。
【００３１】
プロトコル制御プログラム２１はカプセル化されたＩＰデータグラム１０７を受けると、このカプセル化されたＩＰデータグラム１０７を通常のＩＰデータグラムと認識し、通常のＩＰデータグラムと同じくユーザデータ部を取出し（図２の１０８）、取出したユーザデータ部１０９を当該アプリケーション、すなわちプロトコル処理アプリケーション３に送信する（図２の１１０）（図３ステップＳ５）。
【００３２】
プロトコル処理アプリケーション３はプロトコル制御プログラム２１から受信したユーザデータ１１１を参照する（図３ステップＳ６）。受信したユーザデータ１１１の中には本来、プロトコル制御プログラム２１で分離されるプロトコルヘッダがそのまま通知されるため、プロトコル処理アプリケーション３ではそのプロトコルヘッダを参照し、そのプロトコルヘッダに該当するプロトコル処理を実施する（図２の１１２）（図３ステップＳ７）。
【００３３】
例えば、プロトコル処理アプリケーション３では発信／着信のＩＰアドレスを参照し、該当するＩＰアドレスの送受信をキューイングすること、プロトコル毎に送受信データをキューイングすること、プロトコルヘッダの内容に対する統計情報収集等、様々なプロトコル処理が実施可能である。
【００３４】
この後、プロトコル処理アプリケーション３は該当のプロトコル処理が終了すると（図４ステップＳ８）、そのユーザデータ１１３をプロトコル処理内容にしたがってプロトコル制御プログラム２１に送信する（図２の１１４）（図４ステップＳ９）。
【００３５】
プロトコル制御プログラム２１は受取ったユーザデータ１１５をＬＡＮに送信するために、受取ったユーザデータ１１５に対してプロトコルヘッダを添付し、ＩＰデータグラム１１７を生成する（図２の１１６）（図４ステップＳ１０）。この後、プロトコル制御プログラム２１は生成したＩＰデータグラム１１７をＩＰパケットカプセル化プログラム２２へ送信する（図２の１１８）。
【００３６】
ＩＰパケットカプセル化プログラム２２の復元処理２２２はプロトコル制御プログラム２１から受取ったＩＰデータグラム１１９のプロトコルヘッダを参照し、このＩＰデータグラム１１９がプロトコル処理アプリケーション３から送信されたものだと判断された場合、ＩＰデータグラムの復元化処理を実施する（図２の１２０）（図４ステップＳ１１）。
【００３７】
復元化処理２２２ではＩＰデータグラム１１９のユーザデータ部にカプセル化されているＩＰデータグラム１２１を取出し、このＩＰデータグラム１２１を本来送信するべきデータとしてデバイス制御プログラム２３に送信する（図２の１２２）（図４ステップＳ１２）。デバイス制御プログラム２３は受取ったＩＰデータグラム１２３をＬＡＮ装置４に送信する（図４ステップＳ１３）。
【００３８】
上述した一連の動作によって、従来、プラットフォーム（ＯＳ）に依存したプロトコル処理をプロトコル処理アプリケーション３にて実施することが可能となる。
【００３９】
このように、本実施例では、ＩＰパケットカプセル化プログラム２２にて受信したＩＰパケットをカプセル化し、プロトコル制御プログラム２１をスルーし、ＩＰデータグラムをアプリケーションプログラムに透過的に転送するため、従来、ＯＳ階層のソフトウェアであるプロトコル制御プログラム２１でしかできなかったプロトコル処理を、ＯＳ階層の上位であるアプリケーションプログラムで行うことができる。
【００４０】
また、本実施例では、プロトコル制御プログラム２１が一般的に利用者に開示されておらず、また開示されている場合でも改造にかなりのスキルを必要とするが、アプリケーションがＯＳのスキルを必要としないため、簡単にプロトコル処理を作成することができる。
【００４１】
さらに、本実施例では、ＴＣＰ／ＩＰのアプリケーションプログラムがソケットというアプリケーションインタフェースで統一されており、このインタフェースが世の中に普及しているＯＳにとって一般的なものであるため、プラットフォーム（ＯＳ）に依存しないプロトコル処理を実現することができる。
【００４２】
図５及び図６は本発明の他の実施例による電子計算機の処理動作を示すフローチャートである。本発明の他の実施例によるパケット処理装置には図１に示す本発明の一実施例による電子計算機１が用いられているので、これら図１と図５と図６とを参照して本発明の他の実施例によるパケット処理装置（電子計算機１）の処理動作について説明する。尚、図５及び図６に示す処理はＣＰＵ５が記録媒体６から各プログラムを読込んで実行することで実現される。また、図５及び図６において、ステップＳ２１〜Ｓ２６，Ｓ２８〜Ｓ３４の処理は図３及び図４のステップＳ１〜Ｓ１３の処理と同様なのでその説明については省略する。
【００４３】
本発明の他の実施例では、プロトコル処理アプリケーション３におけるプロトコル処理において、ＩＰデータグラムのプロトコル種別によってＩＰデータグラムをフィルタリングする処理を付与している（図５ステップＳ２７）。この処理を付与することによって、本実施例ではファイアウォール機能を実現することが可能となる。
【００４４】
上述した例は一例であり、上記のフィルタリング処理を様々なプロトコル処理に置き換えることで、あらゆるネットワークサービスを実現することが可能となる。
【００４５】
【発明の効果】
以上説明したように本発明は、デバイス制御処理及びプロトコル制御処理を具備するオペレーティングシステムを実行することで、デバイス制御処理で受取ったＩＰパケットを処理するＩＰパケット処理装置において、ＩＰパケットのヘッダの内容に応じてプロトコル処理を行うプロトコル処理手段をオペレーティングシステム外に配置し、デバイス制御処理で受取ったＩＰパケットのプロトコル制御情報を含む全ての情報がユーザデータとなるようにＩＰパケットをカプセル化するカプセル化プログラムをオペレーティングシステム内に配置し、カプセル化処理手段でカプセル化されたＩＰパケットをプロトコル制御処理を透過させてプロトコル処理手段へと転送することによって、簡単にプロトコル処理を作成することができ、プラットフォームに依存しないプロトコル処理を実現することができるという効果が得られる。
【図面の簡単な説明】
【図１】本発明の一実施例によるパケット処理装置の構成を示すブロック図である。
【図２】図１の電子計算機１におけるＩＰデータグラムの流れを示す図である。
【図３】図１の電子計算機の処理動作を示すフローチャートである。
【図４】図１の電子計算機の処理動作を示すフローチャートである。
【図５】本発明の他の実施例による電子計算機の処理動作を示すフローチャートである。
【図６】本発明の他の実施例による電子計算機の処理動作を示すフローチャートである。
【符号の説明】
１  電子計算機
２  ＯＳ（オペレーティングシステム）
３  プロトコル処理アプリケーションプログラム
４  ＬＡＮ装置
５  ＣＰＵ
６  記録媒体
２１  プロトコル制御プログラム
２２  ＩＰパケットカプセル化プログラム
２３  デバイス制御プログラム
２２１  カプセル化処理
２２２  復元化処理
【図１】
0003645885.tif 000002
【図２】
0003645885.tif 000003
【図３】
0003645885.tif 000004
【図４】
0003645885.tif 000005
【図５】
0003645885.tif 000006
【図６】
0003645885.tif 000007