JP3876687B2 - 通信処理装置、および通信処理方法、並びにコンピュータ・プログラム - Google Patents

通信処理装置、および通信処理方法、並びにコンピュータ・プログラム Download PDF

Info

Publication number
JP3876687B2
JP3876687B2 JP2001332440A JP2001332440A JP3876687B2 JP 3876687 B2 JP3876687 B2 JP 3876687B2 JP 2001332440 A JP2001332440 A JP 2001332440A JP 2001332440 A JP2001332440 A JP 2001332440A JP 3876687 B2 JP3876687 B2 JP 3876687B2
Authority
JP
Japan
Prior art keywords
packet
processing
priority
scheduling
prioritization
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
JP2001332440A
Other languages
English (en)
Other versions
JP2003134156A (ja
JP2003134156A5 (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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP2001332440A priority Critical patent/JP3876687B2/ja
Publication of JP2003134156A publication Critical patent/JP2003134156A/ja
Publication of JP2003134156A5 publication Critical patent/JP2003134156A5/ja
Application granted granted Critical
Publication of JP3876687B2 publication Critical patent/JP3876687B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、通信処理装置、および通信処理方法、並びにコンピュータ・プログラムに関する。詳細には、ネットワークを介して通信パケットを送受信する構成において、パケット受信側でパケット送信元アドレス等の情報に基づいて処理優先度を決定するとともに、パケット処理リソース状況に応じて処理を実行することにより、優先度の高いパケットを効率的に処理することを可能とした通信処理装置、および通信処理方法、並びにコンピュータ・プログラムに関する。
【0002】
【従来の技術】
ADSL、ケーブルテレビ網などを使ったインターネットへの常時接続サービスが登場し、個人の所有する端末のインターネットへの常時接続も増えつつある。また、情報家電と呼ばれるインターネットに常時接続しリモートから制御可能なAV機器他の家電製品も登場してきている。
【0003】
個人の所有するネットワーク端末、特に情報家電等の家庭内の通信処理装置におけるネットワークを介する受信データの処理で特に考慮すべき点として以下の3点が存在する。
(1)通信相手の識別による処理優先度付けの必要性
(2)DoS攻撃への対処
(3)低いCPU能力への対応
【0004】
(1)通信相手の識別による処理優先度付けの必要性
まず、第1に通信相手を識別し、受信データ(パケット)の処理について優先度付けを行なって、優先度順に処理を実行することが望ましい。情報家電等、個人の所有するネットワーク端末では、その利用者、すなわち通信を行なう利用者は、特定の外部端末からの通信が多くを占める。例えばネットワーク端末所有者本人、家族、友人等の所有する端末からの通信が多く、これらの特定端末からの通信をその他の外部からの通信より優先して処理することが好ましい。不特定の外部からの通信パケットと、ネットワーク端末所有者本人、家族、友人等の所有する端末からの通信パケットとを同等のレベルで処理すると、例えば以下で説明するDoS攻撃等により、本来処理の必要なネットワーク端末所有者本人、家族等からの通信パケットの処理が実行できない状態となる場合がある。
【0005】
(2)DoS攻撃への対処
TCPトラフィック処理用のリソースに対するDoS攻撃としては、主に次の2つが挙げられる。
・SYN Flood攻撃
・TCPコネクションを大量に確立するDoS攻撃
【0006】
SYN Flood攻撃は、TCP/IPでコネクションを確立するために行われる3ウェイハンドシェークプロトコルにおいて確立途中の状態を管理するキューのデータサイズが有限であることを利用した攻撃である。すなわち、ターゲットサーバにTCPコネクションの確立を要求するSYNパケットを大量に送り、3ウェイハンドシュークプロトコルを終了しないことで確立途中の状態を大量に作る。この攻撃によりターゲットサーバの確立途中の状態を管理するキューが溢れ、新たなTCPコネクションを確立することを一時的に不可能にするものである。
【0007】
TCPコネクションを大量に作るというDoS攻撃の概要を以下説明する。TCPコネクションが確立される度にメモリ、CPUなどのリソースが使用されるため、一度に処理可能なTCPコネクション数には上限が存在する。そこでターゲットサーバに対し複数のマシンを用いて大量のTCPコネクションを確立し、上限までリソースを使い切ってしまうと、ターゲットサーバは新たなTCPコネクションを確立不能になる。ターゲットサーバの能力によっては処理速度の低下やシステムの停止といった現象が起こる。
【0008】
このようなDoS攻撃を家庭内のネットワーク端末が受けると、ネットワーク端末所有者本人、家族、友人等の所有する端末からの通信パケットの処理が不可能となるという事態が発生する。
【0009】
(3)低いCPU能力への対応
第3に低いCPU能力への対応が必要となる。個人の所有するネットワーク端末では、通信に使用するCPUリソースが少ない場合が多く想定される。例えば以下の場合が挙げられる。
・情報家電など通信は付加的な機能であり、CPUの能力が低い場合
・情報家電における音楽再生処理など、別の処理の割り込みにより処理の低下が許されず、その結果ネットワークに割り当てられるCPUリソースが少ない場合
・省電力モードやスタンバイ状態など、端末の処理速度を故意に遅くしている場合
【0010】
上記のような場合において、パケット処理が間に合わないときには、CPUの能力に合わせ無駄なパケットから廃棄してゆくことが望ましい。特に省電力モード時には、受信パケットを選別して情報家電等通信端末の所有者からのパケットのみを処理し、他のパケットは廃棄するような設定としたパケット選別処理により、低いCPU能力に対応した処理構成とすることが可能となる。
【0011】
多数の受信パケットの処理効率化を実現する構成として、受信パケットの処理スケジューリングを実行して、優先度の高いパケットから順に処理する構成がある。例えばCheckPoint社の FloodGate-1、あるいは、特開平9−83547の「パケットスケジューリング装置」などに記載がある。しかし、これらは、パケットの送信時にデータの送信側でスケジューリングを行うことによりネットワーク使用を効率化することを目的としており、パケットを受信する端末側において、パケットを選別してスケジューリングを行なうものではない。従って、データ(パケット)を受信する通信処理装置側で、DoS攻撃からの防御や、低いCPU能力に対応したパケット選別、例えば、優先度の低いパケットの廃棄等により、パケット処理を実現する構成を示しているものではない。
【0012】
【発明が解決しようとする課題】
本発明は、上述の問題点に鑑みてなされたものであり、パケットの処理優先度をデータ(パケット)受信側で判定し、判定された優先度に基づいて処理スケジューリングを実行して、例えば情報家電等の家庭内通信装置の所有者本人、家族等からのパケットを識別し、これらのパケットに高い優先度を付与して効率的な処理を可能とする通信処理装置、および通信処理方法、並びにコンピュータ・プログラムを提供するものである。
【0013】
【課題を解決するための手段】
本発明の第1の側面は、
通信ネットワークを介してデータパケットを受信し、パケット処理を実行する通信処理装置であり、
受信パケットから取得される送信元情報に基づいて、パケット処理の優先度を設定するパケット優先度付け処理部と、
前記パケット優先度付け処理部において優先度の設定されたパケットを保持するパケット蓄積部と、
前記パケット蓄積部に蓄積されたパケットを前記パケット優先度付け処理部において設定された優先度毎に設定されたスケジューリング情報に基づいて、パケット処理を実行するレイヤに対して出力するパケットスケジューリング処理部とを有し、
前記スケジューリング情報は、パケット優先度に対応したパケットの出力割合を示す情報であることを特徴とする通信処理装置にある。
さらに、本発明の第2の側面は、
通信ネットワークを介してデータパケットを受信し、パケット処理を実行する通信処理装置であり、
受信パケットから取得される送信元情報に基づいて、パケット処理の優先度を設定するパケット優先度付け処理部と、
前記パケット優先度付け処理部において優先度の設定されたパケットを保持するパケット蓄積部と、
前記パケット優先度付け処理部において設定された優先度と、パケット出力のスケジューリング情報とを対応付けたテーブルであり、少なくとも、通信処理装置の通常動作時と、省電力時を含む通信処理装置の複数の状態(モード)に対応して異なるスケジューリング情報を格納したスケジューリングルール情報管理テーブルと、
前記パケット処理の優先度、および通信処理装置の状態(モード)に応じて、前記スケジューリングルール情報管理テーブルを参照して、対応するデータエントリに設定されたスケジューリング情報に基づいて、前記パケット蓄積部に蓄積されたパケットの出力を実行するパケットスケジューリング処理部と、
を有することを特徴とする通信処理装置にある。
【0014】
さらに、本発明の通信処理装置の一実施態様において、前記通信処理装置は、送信元IPアドレス、送信先IPアドレス、送信元ポート番号、送信先ポート番号、プロトコルの少なくともいずれかと、優先度とを対応付けた優先度付けルール情報管理テーブルを有し、前記パケット優先度付け処理部は、受信パケットから取得される付帯情報と、前記優先度付けルール情報管理テーブルの各データエントリとのマッチング処理を行ない、優先度付けルール情報管理テーブルのマッチングするデータエントリに対応付けられた優先度を、該受信パケットの優先度として設定する構成であることを特徴とする。
【0015】
さらに、本発明の通信処理装置の一実施態様において、前記通信処理装置は、優先度と、パケット出力のスケジューリング情報としてのスケジューリング割合、タイムアウト時間、出力時間間隔の少なくともいずれかを対応付けたスケジューリングルール情報管理テーブルを有し、前記パケットスケジューリング処理部は、前記パケット優先度付け処理部において設定された優先度に応じて、前記スケジューリングルール情報管理テーブルを参照し、対応するデータエントリに設定されたスケジューリング情報に基づいてパケットの出力を実行する構成であることを特徴とする。
【0017】
さらに、本発明の通信処理装置の一実施態様において、前記パケット優先度付け処理部は、設定された優先度の低いパケットの廃棄処理を実行する構成を有することを特徴とする。
【0018】
さらに、本発明の通信処理装置の一実施態様において、前記通信処理装置は、送信元IPアドレス、送信先IPアドレス、送信元ポート番号、送信先ポート番号、プロトコルの少なくともいずれかと、優先度とを対応付けた優先度付けルール情報管理テーブルを有し、前記パケット優先度付け処理部は、受信パケットから取得される付帯情報と、前記優先度付けルール情報管理テーブルの各データエントリとのマッチング処理を行ない、優先度付けルール情報管理テーブルにマッチングするデータエントリが無いパケットについての廃棄処理を実行する構成を有することを特徴とする。
【0019】
さらに、本発明の通信処理装置の一実施態様において、前記通信処理装置は、優先度と、タイムアウト時間を対応付けたスケジューリングルール情報管理テーブルを有し、前記パケットスケジューリング処理部は、前記パケット蓄積部に蓄積されたパケット中、前記スケジューリングルール情報管理テーブル内に設定されたタイムアウト時間を経過したパケットの廃棄処理を優先度の低いパケットから順次実行する構成を有することを特徴とする。
【0020】
つらに、本発明の通信処理装置の一実施態様において、前記パケット蓄積部は、パケット優先度付け処理部において設定された優先度毎に設定された個別のキューとして構成され、前記パケットスケジューリング処理部は、前記個別のキューに蓄積されたパケットを、前記パケット優先度付け処理部において設定された優先度毎に設定されたスケジューリング情報に基づいて各キューから取り出して出力する構成を有することを特徴とする。
さらに、本発明の第3の側面は、
複数のレイヤから構成されるプロトコルスタックを備え、異なるレイヤに属する処理を実行するために、レイヤ間にてデータの授受を行う通信処理装置であって、
前記通信処理装置に対する供給データの供給元に従い、当該供給データの優先度を決定する優先度決定部と、
各優先度に対応して割り当てられた複数の優先度対応記憶領域を有し、前記優先度決定部において決定された各優先度のデータを前記優先度対応記憶領域に、データの優先度に応じて記憶するデータ記憶部と、
前記優先度毎に上位レイヤへのデータの供給ルールを定めたテーブルが記憶されたテーブル記憶部と、
前記データ記憶部に記憶されたデータを前記テーブルに従って、上位レイヤに供給するデータ供給部と、
前記上位レイヤに供給されたデータに対して、上位レイヤに属する処理を施す処理手段と、
を備える通信処理装置にある。
さらに、本発明の通信処理装置の一実施態様において、前記テーブルは、少なくとも通信処理装置の通常動作時と、省電力時を含む複数の状態(モード)に対応して、異なる供給ルールが定められたテーブルであることを特徴とする。
【0021】
さらに、本発明の第の側面は、
通信ネットワークを介してデータパケットを受信し、パケット処理を実行する通信処理方法であり、
受信パケットから取得される送信元情報に基づいて、パケット処理の優先度を設定するパケット優先度付け処理ステップと、
前記パケット優先度付け処理ステップにおいて優先度の設定されたパケットを保持するパケット蓄積ステップと、
前記パケット蓄積ステップにおいて蓄積されたパケットを前記パケット優先度付け処理ステップにおいて設定された優先度毎に設定されたスケジューリング情報に基づいて、パケット処理を実行するレイヤに対して出力するパケットスケジューリング処理ステップとを有し、
前記スケジューリング情報は、パケット優先度に対応したパケットの出力割合を示す情報であることを特徴とする通信処理方法にある。
さらに、本発明の第5の側面は、
通信ネットワークを介してデータパケットを受信し、パケット処理を実行する通信処理方法であり、
受信パケットから取得される送信元情報に基づいて、パケット処理の優先度を設定するパケット優先度付け処理ステップと、
前記パケット優先度付け処理ステップにおいて優先度の設定されたパケットを保持するパケット蓄積ステップと、
前記パケット蓄積ステップにおいて蓄積されたパケットを前記パケット優先度付け処理ステップにおいて設定された優先度毎に設定されたスケジューリング情報に基づいて出力するパケットスケジューリング処理ステップとを有し、
前記パケットスケジューリング処理ステップは、
前記パケット優先度付け処理部において設定された優先度と、パケット出力のスケジューリング情報とを対応付けたテーブルであり、少なくとも、通信処理装置の通常動作時と、省電力時を含む通信処理装置の複数の状態(モード)に対応して異なるスケジューリング情報を格納したスケジューリングルール情報管理テーブルを参照して、対応するデータエントリに設定されたスケジューリング情報に基づいて、前記パケット蓄積部に蓄積されたパケットを、パケット処理を実行するレイヤに対して出力する処理を実行するステップであることを特徴とする通信処理方法にある。
【0029】
さらに、本発明の第の側面は、
通信ネットワークを介してデータパケットを受信し、パケット処理を実行するコンピュータ・プログラムであって、
受信パケットから取得される送信元情報に基づいて、パケット処理の優先度を設定するパケット優先度付け処理ステップと、
前記パケット優先度付け処理ステップにおいて優先度の設定されたパケットを保持するパケット蓄積ステップと、
前記パケット蓄積ステップにおいて蓄積されたパケットを前記パケット優先度付け処理ステップにおいて設定された優先度毎に設定されたスケジューリング情報に基づいて、パケット処理を実行するレイヤに対して出力するパケットスケジューリング処理ステップとを有し、
前記スケジューリング情報は、パケット優先度に対応したパケットの出力割合を示す情報であることを特徴とするコンピュータ・プログラム。
さらに、本発明の第7の側面は、
通信ネットワークを介してデータパケットを受信し、パケット処理を実行するコンピュータ・プログラムであって、
受信パケットから取得される送信元情報に基づいて、パケット処理の優先度を設定するパケット優先度付け処理ステップと、
前記パケット優先度付け処理ステップにおいて優先度の設定されたパケットを保持するパケット蓄積ステップと、
前記パケット蓄積ステップにおいて蓄積されたパケットを前記パケット優先度付け処理ステップにおいて設定された優先度毎に設定されたスケジューリング情報に基づいて出力するパケットスケジューリング処理ステップとを有し、
前記パケットスケジューリング処理ステップは、
前記パケット優先度付け処理部において設定された優先度と、パケット出力のスケジューリング情報とを対応付けたテーブルであり、少なくとも、通信処理装置の通常動作時と、省電力時を含む通信処理装置の複数の状態(モード)に対応して異なるスケジューリング情報を格納したスケジューリングルール情報管理テーブルを参照して、対応するデータエントリに設定されたスケジューリング情報に基づいて、前記パケット蓄積部に蓄積されたパケットを、パケット処理を実行するレイヤに対して出力する処理を実行させるステップであることを特徴とするコンピュータ・プログラムにある。
【0030】
なお、本発明のコンピュータ・プログラムは、例えば、様々なプログラム・コードを実行可能な汎用コンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体、例えば、CDやFD、MOなどの記憶媒体、あるいは、ネットワークなどの通信媒体によって提供可能なコンピュータ・プログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、コンピュータ・システム上でプログラムに応じた処理が実現される。
【0031】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【0032】
【発明の実施の形態】
以下、図面を参照しながら、本発明の実施態様の詳細について説明する。
【0033】
ネットワーク端末におけるTCPコネクションに関する処理の概略について、図1を参照して説明する。
【0034】
物理ネットワークは、OSI参照モデルの第1層に相当し、例えば電気信号や光信号によるデータ送受信の確立、コネクタ、ケーブル等のデータ伝送路における処理を行なう。ネットワークインタフェース層処理は、OSI参照モデル第2層に相当し、通信機器間でのパケットの認識、送受信処理を行なう。インターネット層は、OSI参照モデル第3層に相当し、アドレス管理および伝送経路の選択処理を行なう。トランスポート層処理は、OSI参照モデル第4層に相当し、通信機器間のデータ転送制御と、データ転送の信頼性確率処理を行なう。アプリケーション層処理は、OSI参照モデル第7層に相当し、アプリケーションが送受信を行なうための通信処理制御や、アプリケーションの固有処理の対応を行なう。
【0035】
本発明の通信処理装置においては、図1におけるインターネット(Internet)層処理とトランスポート層処理に渡る処理において、パケットの処理優先度を判定し、判定された優先度に基づいて処理スケジューリングを実行する。すなわち、通信処理装置としての情報家電等のデータ受信端末の所有者により予め優先度付けルール情報を設定してメモリ内に記憶保持し、保持された優先度付けルールに基づいて、受信パケットに対して優先度付与処理を実行し、付与された優先度に応じてパケットのスケジューリングまたは廃棄を行い、スケジューリングした順番及び設定された時間間隔でパケットをトランスポート層処理に渡して、パケット処理を実行する。
【0036】
[処理概要]
まず、本発明の通信処理装置および通信処理方法の処理概要について図2および図3を参照して説明する。
【0037】
図2は、本発明の通信処理装置において、ネットワークを介して受信するパケットの処理優先度を判定し、判定された優先度に基づいて処理スケジューリングを実行するパケット処理判定部の処理構成を示したブロック図である。図3は、パケット処理判定部において実行するパケット入力処理、およびパケット出力処理の処理フローを示している。
【0038】
図2の構成において、通信処理装置がネットワークを介してネットワークインタフェース層の処理により受け取られたパケットは、インターネット(Internet)層の処理を介してIPデータグラムとしてパケット入力部101に渡される。パケットは、パケット入力部101を介してパケット優先度付け処理部102に転送され、優先度付け情報管理部103に格納された優先度付け情報に従って各受信パケットに対する処理の優先度が付与される。
【0039】
優先度付け情報は、具体的には優先度付け情報管理部103に格納された優先度付けルール情報管理テーブルである。優先度付けルール情報管理テーブルについては後段で詳細に説明する。パケット優先度付け処理部102は、受信パケットから取得される送信元IPアドレス、送信先IPアドレス、送信元ポート番号、送信先ポート番号、プロトコルの少なくともいずれかのデータに基づいて、優先度付けルール情報管理テーブルとのマッチングをとり、テーブルの対応するエントリデータに対応付けられた優先度を、そのパケットの優先度として設定する。優先度付け情報に基づく優先度が付けられないパケットはここで廃棄する場合もある。優先度付け情報および優先度付与処理の詳細については後述する。
【0040】
優先度が付与されたパケットは、パケットキューとしてのパケット蓄積部104に格納されて保管される。後段で詳細に説明するが、キューはパケット優先度付け処理部102で付与された優先度別に構成される。パケット蓄積部104内のキューにパケットが多量に蓄積され、パケットが蓄積できなくなった場合には優先度の低いパケットから廃棄する処理を実行する。パケット蓄積部104に保管されたパケットは、パケットスケジューリング処理部105において、スケジューリング情報管理部106に格納されたスケジューリング情報に従って、パケット出力部107に対して出力される。スケジューリング情報は、パケット優先度付け処理部102で付与された優先度に応じたパケット出力の処理スケジュールを記録したスケジューリングルール情報管理テーブルである。このテーブルの具体例については後述する。
【0041】
パケットスケジューリング処理部105からのパケット出力は、トランスポート層からの明示的なパケット要求があった場合、もしくはスケジューリング情報管理部106の情報で決められた時間間隔の経過に基づいて実行される。スケジューリング情報、およびパケットスケジューリング処理部105における処理の詳細については後述する。
【0042】
図3に示すフローに従って、本発明の通信処理装置において実行するパケット入力処理およびパケット出力処理の処理ステップの概要を説明する。
【0043】
まず、パケット受信時の処理について説明する。ネットワークインタフェース層の処理により受け取られたパケットは、インターネット(Internet)層の処理によりパケット入力部101に渡される(S01)。パケット入力部101からパケット優先度付け処理部102に渡されたパケットは、優先度付け情報管理部103の優先度付け情報(優先度付けルール情報管理テーブル)に基づいて優先度付け処理が実行される(S02)。優先度が付けられないパケットはここで廃棄する。優先度の付けられたパケットはパケット蓄積部104に格納される(S03)。パケット蓄積部104は、パケットが多量に蓄積され、パケットが蓄積できなくなった場合には優先度の低いパケットから廃棄してゆく。
【0044】
次に、トランスポート層からのパケット要求時の処理を説明する。トランスポート層からの明示的なパケット要求があった場合、もしくはスケジューリング情報管理部106の情報で決められた時間間隔の経過の後、パケットスケジューリング処理部105はパケット出力処理を開始(S11)する。パケットスケジューリング処理部105は、まず、スケジューリング情報管理部106の情報(スケジューリングルール情報管理テーブル)を元に、次に上層に渡すパケットの優先度を決定する(S12)。次にパケットスケジューリング処理部105は、決定した優先度のパケットをパケット蓄積部104から受け取りパケット出力部に渡す(S13)。パケット出力部107はトランスポート層の各プロトコルのパケット処理用関数を呼び出すことでパケットをトランスポート層に引き渡す。
【0045】
本発明の通信処理装置および方法では、パケットを受信した通信処理装置において、通信相手の識別と処理の優先度付けを実行する。具体的には、例えば受信パケットに基づいてパケットの送信者情報を取得して送信者に応じた優先度付けを行う。特に家庭内の情報家電等の受信装置である通信処理装置の所有者の保有する通信端末からのパケットの優先度を高く設定した優先度付け情報や、所有者と認証された通信パケットの優先度を高く設定した優先度付け情報を予め優先度付け情報管理部103内の格納情報とし、この情報を用いた優先度付け処理を実行することで通信処理装置の所有者からのパケットの処理の優先度を高くすることが可能となる。
【0046】
また、本発明の通信処理装置および方法では、不特定多数の端末からのリソースに対するDoS攻撃の予防が可能となる。任意の端末からのパケットの優先度を他のパケットに比べ下げた優先度付け情報を予め優先度付け情報管理部103内の格納情報とし、この情報を用いた優先度付け処理を実行することで、DoS攻撃の予防が可能となる。DoS攻撃目的とする優先度の低いパケットを大量に受け取っても、所有者からのパケットなど優先度の高いパケットが先に処理され、処理が間に合わなければ優先度の低いパケットすなわちDoS攻撃のパケットから先に廃棄される。このため、優先度の高い通信者からの受信パケットは、DoS攻撃の影響を受けにくく、処理を確実に実行することができる。
【0047】
また、本発明の通信処理装置および方法では、低いCPU能力への対応が可能となる。CPUの能力が低くトランスポート層以降の層での処理に時間がかかる場合には、パケットをトランスポート層に渡す時間間隔を大きく設定したスケジューリング情報を生成してスケジューリング情報管理部106内に格納し、パケットスケジューリング処理部105がスケジューリング情報管理部106内に格納された情報で決められた時間間隔の経過に基づいてパケット出力を実行する。時間間隔を大きくしたスケジューリング情報に基づいてパケット出力を行なうことによりCPUの処理能力に適合したパケット出力が実行される。また、パケット蓄積部104において優先度の低いパケットから先に廃棄されるため、優先度の高いパケットは廃棄されにくい。特に、省電力モード用として、優先度の低いパケットを廃棄し、優先度の高いパケットのみ処理されるように設定することも可能である。これらの処理の詳細については、後述する。
【0048】
以下、本発明の通信処理装置および方法における優先度付けおよびスケジューリング処理の詳細について説明する。
【0049】
[優先度付けおよびスケジューリング処理]
通常の、ネットワークを介したパケット受信の処理、例えばリナックス・カーネル(Linux Kernel)のTCP/IPプロトコルスタックの処理では、図4に示すように、受信パケットがネットワークインタフェース層において受信キューに格納され、その後、インターネット(Internet)層の処理を経てトランスポート層の各プロトコル(TCP,UDP,ICMP等)ごとの処理を呼び出してパケットを渡す手続きが実行される。
【0050】
本発明の通信処理装置ではこのインターネット(Internet)層の処理の後に、受信パケットに優先度付けを行って、付与した優先度により複数のキューに分けて格納した後、スケジューリングをしてトランスポート層の各処理を呼び出す構成を持つ。図5に本発明の通信処理装置のパケット処理判定部の処理を説明する図を示す。
【0051】
本発明の通信処理装置では、パケット受信時に、ネットワークインターフェース層、およびインターネット(Internet)層の処理の後、受信パケットは受信キュー501に格納されパケット優先度付け処理部502が呼び出される。
【0052】
パケット優先度付け処理部502は、パケットに対する優先度付け処理を実行する。パケット優先度付け処理部502は、優先度付け情報管理部503内の格納データである優先度付けルール情報管理テーブルとマッチングを取りパケットの優先度を決定する。
【0053】
優先度付け情報管理部503内の格納データである優先度付けルール情報管理テーブルのデータ構成例を図6に示す。
【0054】
図6に示す各行が各データエントリを表しており、送信元IPアドレス、送信先IPアドレス、送信元ポート番号、送信先ポート番号、プロトコルと、優先度がそれぞれ対応付けられて格納される。送信元IPアドレス、送信先IPアドレス、送信元ポート番号、送信先ポート番号、プロトコルは、それぞれ優先度を判定するパケットのヘッダ情報中の対応値が満たすべき条件を表している。
【0055】
例えばTCPあるいはUDPパケットには、それぞれヘッダ情報内に送信元IPアドレス、送信先IPアドレスが格納され、優先度付け処理部502は、パケットから取得されるこれらの情報と、図6に示す優先度付けルール情報管理テーブルとのマッチング処理を実行し、マッチングするデータエントリに格納された優先度情報を取得する。
【0056】
図7に通信装置間で送受信される通信パケットの構成例として、IPパケット構成のIPヘッダの詳細を示す。IPv4、IPv6等のバージョンを示すバージョン、ヘッダ長、さらに、優先度情報を格納したTOS(Type of Service)フィールド、パケットの長さ、パケットの識別子、IP層でのデータ分割(フラグメント)に関する制御情報としてのフラグ、分割(フラグメント)されたデータの場所を示す断片オフセット、データの破棄までの時間情報を示すTTL(Time to Live)、上位層で利用されるプロトコル(4:IP,TCP:7,UDP:17…)ヘッダのチェックサム、送信元IPアドレス、宛て先IPアドレスを有する。
【0057】
次に、図8にIPパケットのTCP(Transmission Control protocol)フォーマットを示す。TCPヘッダには、送信元ポート番号、宛先ポート番号、データパケットの先頭がそのデータの送信初めから何バイトにあたるかをバイト数で示したデータ順序を示すシーケンス番号、相手から次に送られるデータの送信シーケンス番号を示す受信確認番号、ヘッダ長、TCPセグメントの処理方法などのコードビットからなるヘッダ情報、データの残り受信可能バイト数を示すウィンドウサイズ、TCPパケットの信頼性保証値としてのチェックサム、緊急処理を要するデータ一を示す緊急ポインタを有する。
【0058】
さらに、図9に、IPパケットの構成中のUDP(User Datagram Protocol)ヘッダの詳細を示す。UDPはコネクションレス型のサービスを提供するプロトコルであり、シンプルなヘッダ構成を持つ。図に示すようにUDPヘッダには、送信元ポート番号、宛先ポート番号、データ長としてのヘッダとデータ長の総バイト数を示す長さ。UDPパケットの信頼性保証値としてのチェックサムを有する。UDPはこのようにシンプルな構成であるため、制御が簡素化される。
【0059】
図6に戻り、優先度付けルール情報管理テーブルのデータ構成について説明する。送信元ポート番号に示す[>1023]は、1024以上のポート番号であることを表しており、[*]は値が任意であることを表している。パケット内のヘッダ等から取得される情報とテーブル格納データとのマッチングを取り条件をすべて満たしたエントリを選択し、そのエントリに対応して設定された優先度をパケットの優先度とする。基本的に表の上からマッチングを調べるものとし、複数のルールを満たす場合にはより上の行の優先度に決定する。
【0060】
優先度は0〜Nまでであり、数字の大きいものがより高い優先度を持つ設定である。最大値Nはあらかじめ決まっている値または端末の所有者が決めた値とする。優先度0は最も優先度が低いパケットであり廃棄するパケットを表す。各優先度に対応するキュー504−1〜Nのサイズは設定により決められた値である。基本的に優先度が上がるほど対応するキューのサイズも大きくなる。優先度が0のときにはそのパケットは廃棄する。パケットから取得したアドレス情報等とマッチングするエントリがない場合にも優先度を0とし、そのパケットは廃棄する。
【0061】
例えば受信パケットのヘッダ情報から取得される送信元IPアドレスが[42.156.42.31]送信先IPアドレスが[56.67.43.15]、送信元ポート番号が[1024]、送信先ポート番号が[80]であるTCPパケットであれば、優先度付けルール情報管理テーブルの第1番目のエントリとマッチングするパケットであるので優先度[6]が設定される。
【0062】
このように、パケット優先度付け処理部502は、受信パケットから取得される送信元IPアドレス、送信先IPアドレス、送信元ポート番号、送信先ポート番号、プロトコルと、図6に示す優先度付けルール情報管理テーブルの各エントリとのマッチングを実行し、一致するエントリに対応付けられた優先度をその受信パケットの優先度として設定し、設定した優先度に対応したパケット蓄積部504内のキュー504−1〜Nにパケットを出力格納する。
【0063】
優先度の付けられたパケットは優先度ごとに用意されたリングバッファによるキュー504−1〜Nに格納される。キュー504−1〜Nのサイズすなわち格納できる最大パケット量は、優先度により異なるあらかじめ設定された量である。基本的には優先度の高いキューほど大きいサイズが用意される。
【0064】
パケットスケジューリング処理部505は、スケジューリング情報管理部506に格納したスケジューリングルール情報管理テーブルに従い、複数のキュー504−1〜Nからパケットを取り出し、トランスポート層を呼び出してパケットを渡す。この際に、トランスポート層を呼び出す時間間隔を調整し、また、各キューから時間の経過したパケットの廃棄を行う。
【0065】
スケジューリング情報管理部506内の格納データであるスケジューリングルール情報管理テーブルのデータ構成例を図10に示す。
【0066】
図10に示すように、スケジューリングルール情報管理テーブルは、パケットの優先度に対応させて、処理の配分比率を示すスケジューリング割合、キューから廃棄するまでのタイムアウト時間、トランスポート層にパケットを渡す時間間隔、時間間隔の設定の有効、無効の設定、の各データを格納している。さらに通常時および省電力時のそれぞれの状態(モード)別データを有しており、パケットを受信する装置の状態(モード)に応じて処理態様が変更されることになる。
【0067】
パケットの出力順は、スケジューリングの割合によって決定される。例えば3種類の異なる優先度のパケットとして優先度3,2,1のパケットa,b,cがあり、それぞれのスケジューリングの割合が例えば、60%,30%,10%として設定されている場合、パケットの出力は6:3:1の割合で実行される。例えばトランスポート層への出力を、aabaabaabcの順に順次、繰り返すことによって、60%,30%,10%の処理割合が実現される。
【0068】
スケジューリングの割合は合計で100%となるようになっており、基本的に優先度が大きいほど割合も大きく設定される。スケジューリングによりパケットの処理に遅延が生じるため、受信後時間が経過したパケットに関しては廃棄する必要がある。このため、タイムアウト時間を各優先度ごとに用意する。各パケットをキューに格納する際にキューへの格納時間を記録して管理しておき、スケジューリング時に、キューへの格納後タイムアウト時間が経過したパケットを廃棄する。
【0069】
トランスポート層に渡す時間間隔は、トランスポート層を呼び出してパケットを渡す時間の間隔の制御に使用され、時間間隔の有効/無効が有効であるときにはパケットをトランスポート層に渡す間に設定された時間間隔を置く。時間間隔が無効であるときには間隔をおかず、順次パケットをトランスポート層に渡してゆく。省電力モード時など、CPUの能力が低くトランスポート層以降の層での処理に時間がかかる場合のトランスポート層に渡す時間間隔は大きく設定する。図10のテーブルでは、通常時は20パケット/秒の時間間隔が設定され、省電力時は5パケット/秒とした設定である。このスケジューリングルール情報管理テーブルに従ったパケット出力を実行することで、CPUの処理能力に適合したパケット出力が可能となる。
【0070】
これらの設定をパケットを受信する装置の状態(モード)に応じて複数用意して切り替えることが可能である。図10の例では通常時と省電力時の2つの設定が用意されている例であるが、さらに複数のモードがある場合は各モードに応じて設定情報を生成してテーブルを構成するとともに、システムの設定により現在の設定を切り替える。図10に示す例では、設定名[通常時]に現在の設定[O]が設定されており、現在この通信処理装置は通常時の状態(モード)にあることを示している。この状態では、図10のテーブルの上半分のエントリからパケットに付与された優先度に対応するエントリを取得して、処理態様を決定する。
【0071】
例えば、通常時のモード設定で、優先度[1]が付与されたパケットについての処理態様は、スケジューリング割合:1%、タイムアウト時間:5秒、トランスポート層に渡す時間間隔:20パケット/秒で処理が実行されることになる。
【0072】
次に、パケット優先度付け処理部における処理、およびパケットスケジューリング処理部における処理の手順についてフローチャートを参照して説明する。
【0073】
まず、パケット優先度付け処理部における処理について、図11の処理フローを参照して説明する。
【0074】
インターネット等のネットワークを通じパケットを受信した通信処理装置は、ネットワークインタフェース層の処理により受信キューにパケットを格納し、その後、インターネット(Internet)層の処理を経て優先度付け処理が呼び出される。図11に示す処理フローは、優先度付け処理の呼び出しを契機として実行される。
【0075】
優先度付け処理部は、受信キューから処理対象のパケットを1つ取り出し(S21)、そのパケット内の情報と優先度付けルール情報管理テーブルとを比較してマッチングを行い優先度を決定(S22)する。テーブル中に対応するルールが存在せず優先度が決まらない場合には優先度は0に設定する。
【0076】
次に決定した優先度の判定処理(S23)を実行し、優先度が0の場合には、そのパケットの廃棄処理を実行(S24)する。優先度が0でない場合には、優先度に対応するキューに格納することになる。キューはリングバッファになっており、空き領域がない場合(S25でYes)には、キューの最初からパケットを廃棄していき格納に必要な空き領域を用意する(S26)。空き領域ができたのちキューの最後にパケットを格納(S27)して優先度付け処理を終了する。
【0077】
このように、パケット優先度付け処理部502は、優先度付け情報管理部503内の格納データである優先度付けルール情報管理テーブルとマッチングを取りパケットの優先度(0,1〜N)を決定し、優先度=0の場合はパケットの廃棄を実行し、優先度≠0の場合は、設定した優先度に対応するキュー504−1〜Nに格納する処理を実行する。
【0078】
次に、パケットスケジューリング処理部における処理の手順について図12に示すフローチャートを参照して説明する。
【0079】
パケットスケジューリング処理部は、スケジューリング情報管理部に格納されたスケジューリングルール情報管理テーブルに指定された時間間隔が経過したとき、またはトランスポート層からの明示的なパケット要求検出を契機としてスケジューリング処理を開始する。トランスポート層から明示的にパケットが要求される場合にはスケジューリングルール情報管理テーブルの現在の設定における時間間隔の有効/無効の確認処理(S31)は行われず、図12に示すステップS34の処理から開始されることになる。
【0080】
スケジューリング処理のフローの各ステップについて説明する。まずパケットスケジューリング処理部は、スケジューリング情報管理部に格納されたスケジューリングルール情報管理テーブルの現在の設定で、トランスポート層にパケットを渡す時間間隔の設定が有効であるか、無効であるかの設定情報を確認する(S31)。時間間隔が有効である場合には、直前のパケット出力処理から設定された時間間隔経過するまで待つ(S33)。無効である場合、及び既に時間間隔が経過している場合は、パケットを選択するキュー、すなわち出力するパケットの優先度を決定(S34)する。
【0081】
パケットの出力順は、前述したようにスケジューリングの割合によって決定される。例えば3種類の異なる優先度のパケットとして優先度3,2,1のパケットa,b,cがあり、それぞれのスケジューリングの割合が例えば、60%,30%,10%として設定されている場合、パケットの出力は6:3:1の割合で実行され、トランスポート層への出力順を、例えばaabaabaabcの順として設定することで、60%,30%,10%の処理割合が実現される。
【0082】
ステップS34において、トランスポート層へ出力するパケットの優先度を決定した後、優先度に対応するキューからパケットを選択する。選択の際に、キューの最初のパケットからタイムアウトに関する確認が行われタイムアウトしているパケットは廃棄(S35)してゆく。
【0083】
タイムアウト確認はキューに記録されているパケット毎のキュー格納時間が、スケジューリングルール情報管理テーブルに格納されたタイムアウト時間を経過しているか否かの確認により行う。タイムアウトしているパケットを廃棄していきタイムアウトしていないパケットを見つけた時点(S36でYes)で、そのパケットを選び、トランスポート層に渡し(S37)処理を終了する。タイムアウトの確認によりキューに含まれているパケットがすべてなくなった場合にはもう一度キューを決めなおし、別の優先度のキューからパケットを同様の処理で得る。
【0084】
このように、本発明の通信処理装置および方法では、パケットを受信した通信処理装置において、受信パケットに基づいてパケットの送信元IPアドレス、送信先IPアドレス、送信元ポート番号、送信先ポート番号、プロトコル等の情報を取得して、取得情報に応じた優先度付けを行い、設定した優先度付け情報に基づいてスケジューリング処理部においてパケットのトランスポート層への出力が高い優先度を持つパケットを優先して実行される。従って、例えば通信処理装置の所有者からのパケットの処理の優先度を高く設定することで、所有者からのパケットの優先処理が可能となる。
【0085】
また、優先度付けルール情報管理テーブルに登録の無い端末からのパケットは、優先度が0に設定されることになり、DoS攻撃目的とするパケットの優先度は0として設定されることになり、このようなパケットを大量に受け取っても優先度処理部において自動的に廃棄されることになり、優先度付けルール情報管理テーブルに登録された端末からのパケットの処理が妨げられることがない。
【0086】
また、本発明の通信処理装置および方法では、例えば省電力モード時など、CPUの能力が低くトランスポート層以降の層での処理に時間がかかる場合には、パケットをトランスポート層に渡す時間間隔を大きく設定したスケジューリング情報をスケジューリングルール情報管理テーブルとして設定してスケジューリング情報管理部に格納し、テーブルに従ったパケット出力をすることで、CPUの処理能力に適合したパケット出力が可能となる。また、タイムアウトパケットは、パケット蓄積部において優先度の低いパケットから先に廃棄される構成であり、優先度の高いパケットは廃棄されにくく、高優先度のパケットの処理が優先的に実行されることになる。
【0087】
なお、上述の説明では、送信元IPアドレス、送信先IPアドレス、送信元ポート番号、送信先ポート番号、プロトコルの各情報のすべての情報のマッチングを行なって優先度の決定を行なう例について説明したが、これらの情報のすべてのマッチング処理ではなく、例えば送信元IPアドレスのみ、あるいは、送信元IPアドレスと送信元ポート番号のみを参照して優先度の決定処理を行なう構成としてもよい。
【0088】
[通信処理装置構成例]
次に通信処理装置の構成例について図13を用いて説明する。CPU(Central processing Unit)701は、各種アプリケーションプログラムや、OS(Operating System)を実行する演算ユニットである。ROM(Read-Only-Memory)702は、CPU701が実行するプログラム、あるいは演算パラメータとしての固定データを格納する。RAM(Random Access Memory)703は、CPU701の処理において実行されるプログラム、およびプログラム処理において適宜変化するパラメータの格納エリア、ワーク領域として使用される。
【0089】
キーボード708はCPU701に各種の指令を入力するためにユーザにより操作され、ポインティングデバイス709はディスプレイ710の画面上の位置指定、コマンド指定などの際にユーザによって操作される。ディスプレイ710は例えばCRT、液晶ディスプレイ等であり、各種情報をテキストまたはイメージ等により表示する。HDD(Hard Disk Drive)711は、情報記憶媒体としてのハードディスクを駆動し、ハードディスクからのプログラム、データの読み取りまたはハードディスクに対するプログラム、データの書き込みを実行する。
【0090】
ドライブ712は、フロッピーディスク、CD−ROM(Compact Disc Read Only Memory),MO(Magneto optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体713の記録再生を実行するドライブであり、各リムーバブル記録媒体713からのプログラムまたはデータ再生、リムーバブル記録媒体713に対するプログラムまたはデータ格納を実行する。
【0091】
各記憶媒体に記録されたプログラムまたはデータを読み出してCPU701において実行または処理を行なう場合は、読み出したプログラム、データはインタフェース、バス706を介して例えば接続されているRAM703に供給する。キーボード708乃至ドライブ712はインタフェースに接続されており、インタフェースはバス706を介してCPU701に接続されている。
【0092】
通信部714は通信処理装置の接続された例えばルータ等を介して他の端末またはサーバと通信し、CPU701、HDD711等から供給されたデータをパケット化して送信したり、ルータを介してパケットを受信する処理を実行する。通信部703はバス706を介してCPU701に接続されている。
【0093】
通信部714を介して受信したパケットは、パケット処理判定部715において、前述した優先度付け処理およびスケジューリング処理が実行される。これらの処理は、図13に示すように独立したパケット処理判定部715を持たない場合は、CPU701の制御の下に、例えばHDD711等の記憶手段に優先度付けルール情報管理テーブルおよびスケジューリングルール情報管理テーブルを格納して、これらを参照しながら実行することも可能であるが、図13に示すように独立したパケット処理判定部715を設けた場合は、優先度付け処理およびスケジューリング処理は、パケット処理判定部715において実行される。
【0094】
パケット処理判定部715の構成例を図14に示す。パケット処理判定部はCPU801、RAM802、EEPROMなどの不揮発性メモリによって構成される記憶装置803、パケットを受け取るパケット受信部804、スケジューリングされたパケットを渡すパケット出力部805、各テーブルの設定や、パケット出力要求を受け取る要求受信部806からなる。
【0095】
前述した優先度付け処理およびスケジューリング処理の各処理アルゴリズムがコード化されて、記憶装置に格納されておりCPUにより実行される。パケット受信時には、パケット処理判定部715において、パケットへの優先度付け処理及びスケジューリング処理がRAM802をワークエリアとして実行され、パケット出力部805によりスケジューリングされたパケットが通信処理装置内の処理部としての例えばメインCPU701に渡される。優先度付けルール情報管理テーブル及び、スケジューリングルール情報管理テーブルは記憶装置803内に格納されており、通信処理装置のキーボード等の入力部を介してパケット処理判定部715の要求受信部806を介した入力情報に基づいてデータ設定、変更等の処理が可能である。また、各キューはRAM802上に優先度別に作成される。
【0096】
このように、専用のパケット処理判定部715を通信処理装置内にハードウェアとして組み込むことにより、通信処理装置のシステムに影響を与えずに重要ではないパケットを廃棄することが可能になり、無駄なネットワーク処理によりシステム上の他処理の実行速度が低下することを防ぐことができる。
【0097】
また、このパケット処理判定部に、認証処理機能を付加した構成とすることで、パケットの送信端末との認証処理を実行し、認証されない端末からのパケットはすべて廃棄し、認証された端末からのパケットのみを処理対象とする選別を行なう構成としてもよい。
【0098】
また、このパケット処理判定部に、暗号処理、復号処理を実行する暗号処理機能を付加した構成とすることで暗号化パケットの復号処理を可能として、セキュアな通信に対応する構成としてもよい。
【0099】
さらに、パケット処理判定部内に、セキュリティ機能として、既存のファイアウォールで存在するようなコンテンツフィルタリング処理機能や攻撃検知機能を加え、時間があるときのみこれらの追加のセキュリティ機能を使用することで端末のシステムに影響を与えずにより高度なセキュリティを与えることも可能となる。
【0100】
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、冒頭に記載した特許請求の範囲の欄を参酌すべきである。
【0101】
なお、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。
【0102】
例えば、プログラムは記録媒体としてのハードディスクやROM(Read Only Memory)に予め記録しておくことができる。あるいは、プログラムはフロッピーディスク、CD−ROM(Compact Disc Read Only Memory),MO(Magneto optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的あるいは永続的に格納(記録)しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウエアとして提供することができる。
【0103】
なお、プログラムは、上述したようなリムーバブル記録媒体からコンピュータにインストールする他、ダウンロードサイトから、コンピュータに無線転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
【0104】
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【0105】
【発明の効果】
以上、説明したように、本発明の通信処理装置、および通信処理方法によれば、ネットワークを介してデータ(パケット)を受信したデータ受信側の通信処理装置において、受信パケットに基づいてパケットの送信元IPアドレス、送信先IPアドレス、送信元ポート番号、送信先ポート番号、プロトコル等の情報に応じた優先度設定を行い、設定した優先度付け情報に基づいてパケット処理のスケジューリング処理を実行して、パケットのトランスポート層への出力処理を優先度に応じて実行することが可能となり、例えば通信処理装置の所有者等特定の端末からのパケットの処理の優先度を高く設定することで、端末を選別したパケットの優先処理が実現される。
【0106】
また、本発明の通信処理装置、および通信処理方法によれば、優先度付けルール情報管理テーブルに登録の無い端末からのパケットの優先度を0に設定する構成とし、優先度処理部において自動的に廃棄する構成としたので、DoS攻撃目的とするパケットの優先度は0として設定され、このようなパケットを大量に受け取っても優先度処理部において自動的に廃棄されることになり、優先度付けルール情報管理テーブルに登録された所有者等の特定端末からのパケットの処理が妨げられることがない。
【0107】
また、本発明の通信処理装置および方法によれば、優先度別のスケジューリングルールを規定したスケジューリングルール情報管理テーブルを使用したパケット出力を行なう構成とし、さらに、省電力モード時など、CPUの能力が低くトランスポート層以降の層での処理に時間がかかる場合には、パケットをトランスポート層に渡す時間間隔を大きく設定したスケジューリング情報を設定してテーブルに従ったパケット出力を実行する構成としたので、CPUの処理能力に適合したパケット出力が可能となる。
【0108】
また、本発明の通信処理装置および方法において、優先度付け処理およびスケジューリング処理専用のパケット処理判定部をハードウェア化して通信処理装置としての端末に組み込む構成とすれば、必要のないパケットの振り落としをパケット処理判定部で行うことができ、端末のシステムで処理すべきパケットが来るまで、端末のシステムに影響を与えず余計な負荷を情報家電等の通信端末装置に与えることが防止される。
【図面の簡単な説明】
【図1】TCPコネクションの処理の概要を説明する図である。
【図2】本発明の通信処理装置におけるパケット処理判定部の処理概要を説明する図である。
【図3】本発明の通信処理装置におけるパケット処理判定部の処理概要を説明するフロー図である。
【図4】通信処理装置におけるネットワークインタフェース送およびトランスポート層間の処理を説明する図である。
【図5】本発明の通信処理装置におけるパケット処理判定部の処理概要を説明する図である。
【図6】本発明の通信処理装置のパケット優先度付け処理部で適用する優先度付けルール情報管理テーブルのデータ構成例を示す図である。
【図7】IPパケットにおけるIPヘッダの構成を説明する図である。
【図8】IPパケットにおけるTCPヘッダの構成を説明する図である。
【図9】IPパケットにおけるUDPヘッダの構成を説明する図である。
【図10】本発明の通信処理装置のパケットスケジューリング処理部で適用するスケジューリングルール情報管理テーブルのデータ構成例を示す図である。
【図11】本発明の通信処理装置のパケット優先度付け処理部で実行するパケット優先度付け処理フローを示す図である。
【図12】本発明の通信処理装置のパケットスケジューリング処理部で実行するスケジューリング処理フローを示す図である。
【図13】本発明の通信処理装置のシステム構成例を示す図である。
【図14】本発明の通信処理装置におけるパケット処理判定部のシステム構成例を示す図である。
【符号の説明】
101 パケット入力部
102 パケット優先度付け処理部
103 優先度付け情報管理部
104 パケット蓄積部
105 パケットスケジューリング処理部
106 スケジューリング情報管理部
107 パケット出力部
501 受信キュー
502 パケット優先度付け処理部
503 優先度付け情報管理部
504 パケット蓄積部
505 パケットスケジューリング処理部
506 スケジューリング情報管理部
701 CPU(Central processing Unit)
702 ROM(Read-Only-Memory)
703 RAM(Random Access Memory)
706 バス
708 キーボード
709 ポインティングデバイス
710 ディスプレイ
711 HDD
712 ドライブ
713 リムーバブル記憶媒体
714 通信部
715 パケット処理判定部
801 CPU(Central processing Unit)
802 RAM(Random Access Memory)
803 記憶装置
804 パケット受信部
805 パケット出力部
806 要求受信部

Claims (14)

  1. 通信ネットワークを介してデータパケットを受信し、パケット処理を実行する通信処理装置であり、
    受信パケットから取得される送信元情報に基づいて、パケット処理の優先度を設定するパケット優先度付け処理部と、
    前記パケット優先度付け処理部において優先度の設定されたパケットを保持するパケット蓄積部と、
    前記パケット蓄積部に蓄積されたパケットを前記パケット優先度付け処理部において設定された優先度毎に設定されたスケジューリング情報に基づいて、パケット処理を実行するレイヤに対して出力するパケットスケジューリング処理部とを有し、
    前記スケジューリング情報は、パケット優先度に対応したパケットの出力割合を示す情報であることを特徴とする通信処理装置。
  2. 通信ネットワークを介してデータパケットを受信し、パケット処理を実行する通信処理装置であり、
    受信パケットから取得される送信元情報に基づいて、パケット処理の優先度を設定するパケット優先度付け処理部と、
    前記パケット優先度付け処理部において優先度の設定されたパケットを保持するパケット蓄積部と、
    前記パケット優先度付け処理部において設定された優先度と、パケット出力のスケジューリング情報とを対応付けたテーブルであり、少なくとも、通信処理装置の通常動作時と、省電力時を含む通信処理装置の複数の状態(モード)に対応して異なるスケジューリング情報を格納したスケジューリングルール情報管理テーブルと、
    前記パケット処理の優先度、および通信処理装置の状態(モード)に応じて、前記スケジューリングルール情報管理テーブルを参照して、対応するデータエントリに設定されたスケジューリング情報に基づいて、前記パケット蓄積部に蓄積されたパケットを、パケット処理を実行するレイヤに対して出力する処理を実行するパケットスケジューリング処理部と、
    を有することを特徴とする通信処理装置。
  3. 前記通信処理装置は、
    送信元IPアドレス、送信先IPアドレス、送信元ポート番号、送信先ポート番号、プロトコルの少なくともいずれかと、優先度とを対応付けた優先度付けルール情報管理テーブルを有し、
    前記パケット優先度付け処理部は、
    受信パケットから取得される付帯情報と、前記優先度付けルール情報管理テーブルの各データエントリとのマッチング処理を行ない、優先度付けルール情報管理テーブルのマッチングするデータエントリに対応付けられた優先度を、該受信パケットの優先度として設定する構成であることを特徴とする請求項1または2に記載の通信処理装置。
  4. 前記通信処理装置は、
    優先度と、パケット出力のスケジューリング情報としてのスケジューリング割合、タイムアウト時間、出力時間間隔の少なくともいずれかを対応付けたスケジューリングルール情報管理テーブルを有し、
    前記パケットスケジューリング処理部は、
    前記パケット優先度付け処理部において設定された優先度に応じて、前記スケジューリングルール情報管理テーブルを参照し、対応するデータエントリに設定されたスケジューリング情報に基づいてパケットの出力を実行する構成であることを特徴とする請求項1または2に記載の通信処理装置。
  5. 前記パケット優先度付け処理部は、
    設定された優先度の低いパケットの廃棄処理を実行する構成を有することを特徴とする請求項1または2に記載の通信処理装置。
  6. 前記通信処理装置は、
    送信元IPアドレス、送信先IPアドレス、送信元ポート番号、送信先ポート番号、プロトコルの少なくともいずれかと、優先度とを対応付けた優先度付けルール情報管理テーブルを有し、
    前記パケット優先度付け処理部は、
    受信パケットから取得される付帯情報と、前記優先度付けルール情報管理テーブルの各データエントリとのマッチング処理を行ない、優先度付けルール情報管理テーブルにマッチングするデータエントリが無いパケットについての廃棄処理を実行する構成を有することを特徴とする請求項1または2に記載の通信処理装置。
  7. 前記通信処理装置は、
    優先度と、タイムアウト時間を対応付けたスケジューリングルール情報管理テーブルを有し、
    前記パケットスケジューリング処理部は、
    前記パケット蓄積部に蓄積されたパケット中、前記スケジューリングルール情報管理テーブル内に設定されたタイムアウト時間を経過したパケットの廃棄処理を優先度の低いパケットから順次実行する構成を有することを特徴とする請求項1または2に記載の通信処理装置。
  8. 前記パケット蓄積部は、
    パケット優先度付け処理部において設定された優先度毎に設定された個別のキューとして構成され、
    前記パケットスケジューリング処理部は、
    前記個別のキューに蓄積されたパケットを、前記パケット優先度付け処理部において設定された優先度毎に設定されたスケジューリング情報に基づいて各キューから取り出して出力する構成を有することを特徴とする請求項1または2に記載の通信処理装置。
  9. 複数のレイヤから構成されるプロトコルスタックを備え、異なるレイヤに属する処理を実行するために、レイヤ間にてデータの授受を行う通信処理装置であって、
    前記通信処理装置に対する供給データの供給元に従い、当該供給データの優先度を決定する優先度決定部と、
    各優先度に対応して割り当てられた複数の優先度対応記憶領域を有し、前記優先度決定部において決定された各優先度のデータを前記優先度対応記憶領域に、データの優先度に応じて記憶するデータ記憶部と、
    前記優先度毎に上位レイヤへのデータの供給ルールを定めたテーブルが記憶されたテーブル記憶部と、
    前記データ記憶部に記憶されたデータを前記テーブルに従って、上位レイヤに供給するデータ供給部と、
    前記上位レイヤに供給されたデータに対して、上位レイヤに属する処理を施す処理手段と、
    を備える通信処理装置。
  10. 前記テーブルは、少なくとも通信処理装置の通常動作時と、省電力時を含む複数の状態(モード)に対応して、異なる供給ルールが定められたテーブルであることを特徴とする請求項9に記載の通信処理装置。
  11. 通信ネットワークを介してデータパケットを受信し、パケット処理を実行する通信処理方法であり、
    受信パケットから取得される送信元情報に基づいて、パケット処理の優先度を設定するパケット優先度付け処理ステップと、
    前記パケット優先度付け処理ステップにおいて優先度の設定されたパケットを保持するパケット蓄積ステップと、
    前記パケット蓄積ステップにおいて蓄積されたパケットを前記パケット優先度付け処理ステップにおいて設定された優先度毎に設定されたスケジューリング情報に基づいて、パケット処理を実行するレイヤに対して出力するパケットスケジューリング処理ステップとを有し、
    前記スケジューリング情報は、パケット優先度に対応したパケットの出力割合を示す情報であることを特徴とする通信処理方法。
  12. 通信ネットワークを介してデータパケットを受信し、パケット処理を実行する通信処理方法であり、
    受信パケットから取得される送信元情報に基づいて、パケット処理の優先度を設定するパケット優先度付け処理ステップと、
    前記パケット優先度付け処理ステップにおいて優先度の設定されたパケットを保持するパケット蓄積ステップと、
    前記パケット蓄積ステップにおいて蓄積されたパケットを前記パケット優先度付け処理ステップにおいて設定された優先度毎に設定されたスケジューリング情報に基づいて出力するパケットスケジューリング処理ステップとを有し、
    前記パケットスケジューリング処理ステップは、
    前記パケット優先度付け処理部において設定された優先度と、パケット出力のスケジューリング情報とを対応付けたテーブルであり、少なくとも、通信処理装置の通常動作時と、省電力時を含む通信処理装置の複数の状態(モード)に対応して異なるスケジューリング情報を格納したスケジューリングルール情報管理テーブルを参照して、対応するデータエントリに設定されたスケジューリング情報に基づいて、前記パケット蓄積部に蓄積されたパケットを、パケット処理を実行するレイヤに対して出力する処理を実行するステップであることを特徴とする通信処理方法。
  13. 通信ネットワークを介してデータパケットを受信し、パケット処理を実行するコンピュータ・プログラムであって、
    受信パケットから取得される送信元情報に基づいて、パケット処理の優先度を設定するパケット優先度付け処理ステップと、
    前記パケット優先度付け処理ステップにおいて優先度の設定されたパケットを保持するパケット蓄積ステップと、
    前記パケット蓄積ステップにおいて蓄積されたパケットを前記パケット優先度付け処理ステップにおいて設定された優先度毎に設定されたスケジューリング情報に基づいて、パケット処理を実行するレイヤに対して出力するパケットスケジューリング処理ステップとを有し、
    前記スケジューリング情報は、パケット優先度に対応したパケットの出力割合を示す情報であることを特徴とするコンピュータ・プログラム。
  14. 通信ネットワークを介してデータパケットを受信し、パケット処理を実行するコンピュータ・プログラムであって、
    受信パケットから取得される送信元情報に基づいて、パケット処理の優先度を設定するパケット優先度付け処理ステップと、
    前記パケット優先度付け処理ステップにおいて優先度の設定されたパケットを保持するパケット蓄積ステップと、
    前記パケット蓄積ステップにおいて蓄積されたパケットを前記パケット優先度付け処理ステップにおいて設定された優先度毎に設定されたスケジューリング情報に基づいて出力するパケットスケジューリング処理ステップとを有し、
    前記パケットスケジューリング処理ステップは、
    前記パケット優先度付け処理部において設定された優先度と、パケット出力のスケジューリング情報とを対応付けたテーブルであり、少なくとも、通信処理装置の通常動作時と、省電力時を含む通信処理装置の複数の状態(モード)に対応して異なるスケジューリング情報を格納したスケジューリングルール情報管理テーブルを参照して、対応するデータエントリに設定されたスケジューリング情報に基づいて、前記パケット蓄積部に蓄積されたパケットを、パケット処理を実行するレイヤに対して出力する処理を実行させるステップであることを特徴とするコンピュータ・プログラム。
JP2001332440A 2001-10-30 2001-10-30 通信処理装置、および通信処理方法、並びにコンピュータ・プログラム Expired - Fee Related JP3876687B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001332440A JP3876687B2 (ja) 2001-10-30 2001-10-30 通信処理装置、および通信処理方法、並びにコンピュータ・プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001332440A JP3876687B2 (ja) 2001-10-30 2001-10-30 通信処理装置、および通信処理方法、並びにコンピュータ・プログラム

Publications (3)

Publication Number Publication Date
JP2003134156A JP2003134156A (ja) 2003-05-09
JP2003134156A5 JP2003134156A5 (ja) 2005-07-07
JP3876687B2 true JP3876687B2 (ja) 2007-02-07

Family

ID=19147857

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001332440A Expired - Fee Related JP3876687B2 (ja) 2001-10-30 2001-10-30 通信処理装置、および通信処理方法、並びにコンピュータ・プログラム

Country Status (1)

Country Link
JP (1) JP3876687B2 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7551568B2 (en) * 2004-06-22 2009-06-23 Ntt Docomo Inc. Power mode aware packet communication method and apparatus
JP2006287385A (ja) * 2005-03-31 2006-10-19 Nec Corp Hsdpaのパケットスケジューリング方法及び装置
JP2006295270A (ja) * 2005-04-06 2006-10-26 Sharp Corp データ送受信装置及びバッファキュー制御方法
US7889735B2 (en) * 2005-08-05 2011-02-15 Alcatel-Lucent Usa Inc. Method and apparatus for defending against denial of service attacks in IP networks based on specified source/destination IP address pairs
US20070258445A1 (en) * 2006-05-02 2007-11-08 Harris Corporation Systems and methods for protocol filtering for quality of service
US8948822B2 (en) 2008-04-23 2015-02-03 Qualcomm Incorporated Coordinating power management functions in a multi-media device
US8908763B2 (en) 2008-06-25 2014-12-09 Qualcomm Incorporated Fragmented reference in temporal compression for video coding
US8964828B2 (en) 2008-08-19 2015-02-24 Qualcomm Incorporated Power and computational load management techniques in video processing
US8948270B2 (en) 2008-08-19 2015-02-03 Qualcomm Incorporated Power and computational load management techniques in video processing
US8954100B2 (en) * 2011-11-04 2015-02-10 Facebook, Inc. Server-side rate-limiting algorithms for piggybacking social updates for mobile devices
DE102023104055A1 (de) * 2022-02-18 2023-08-24 Hirschmann Automation And Control Gmbh Priorisierung für zeitdeterministische Firewalls

Also Published As

Publication number Publication date
JP2003134156A (ja) 2003-05-09

Similar Documents

Publication Publication Date Title
JP3663627B2 (ja) 通信処理装置、および通信処理方法、並びにコンピュータ・プログラム
US7554983B1 (en) Probing hosts against network application profiles to facilitate classification of network traffic
US7480707B2 (en) Network communications management system and method
US7296288B1 (en) Methods, apparatuses, and systems allowing for bandwidth management schemes responsive to utilization characteristics associated with individual users
US9003484B2 (en) Method, apparatus, signals and medium for enforcing compliance with a policy on a client computer
US8416688B2 (en) Automatic adaptive network traffic prioritization and shaping
JP3925234B2 (ja) データ通信システム、データ通信管理装置、および方法、並びにコンピュータ・プログラム
US8897132B2 (en) Enhanced random early discard for networked devices
US8645537B2 (en) Deep packet scan hacker identification
EP2520048B1 (en) Non-blocking adminission control
EP1494426A1 (en) Secure network processing
WO2014064486A1 (en) A method, device and system to prioritize encapsulating packets in a plurality of logical network connections
JP2008523735A (ja) ネットワーク装置を有する電子メッセージ配信システム
JP3876687B2 (ja) 通信処理装置、および通信処理方法、並びにコンピュータ・プログラム
WO2004021206A1 (en) Managing and controlling user applications with network switches
US20110200045A1 (en) System and Method for Data Communication Between a User Terminal and a Gateway via a Network Node
JP2019134484A (ja) アクセス要求を規制するシステムおよび方法
KR20090031778A (ko) 무선 통신 시스템에서 정책 실행을 위한 방법 및 장치
US10701582B2 (en) Dynamic application QoS profile provisioning
JP2004529587A (ja) データ・ユニットの処理方法およびシステム
US9001650B2 (en) TCP relay apparatus
CA2534537A1 (en) Efficient new e-mail discovery
US9037729B2 (en) SIP server overload control
JP2005295457A (ja) P2pトラフィック対応ルータ及びそれを用いたp2pトラフィック情報共有システム
Imputato et al. Design and implementation of the traffic control module in ns-3

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041027

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041027

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060614

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060620

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060815

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20061023

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091110

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101110

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111110

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111110

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121110

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees