JP2010087975A - パケット制御装置、パケット制御方法、及びパケット制御プログラム - Google Patents

パケット制御装置、パケット制御方法、及びパケット制御プログラム Download PDF

Info

Publication number
JP2010087975A
JP2010087975A JP2008256445A JP2008256445A JP2010087975A JP 2010087975 A JP2010087975 A JP 2010087975A JP 2008256445 A JP2008256445 A JP 2008256445A JP 2008256445 A JP2008256445 A JP 2008256445A JP 2010087975 A JP2010087975 A JP 2010087975A
Authority
JP
Japan
Prior art keywords
packet
packet data
processing
divided
control
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.)
Granted
Application number
JP2008256445A
Other languages
English (en)
Other versions
JP5120188B2 (ja
Inventor
Hirobumi Yamagiwa
博文 山際
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.)
NEC Saitama Ltd
Original Assignee
NEC Saitama 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 NEC Saitama Ltd filed Critical NEC Saitama Ltd
Priority to JP2008256445A priority Critical patent/JP5120188B2/ja
Publication of JP2010087975A publication Critical patent/JP2010087975A/ja
Application granted granted Critical
Publication of JP5120188B2 publication Critical patent/JP5120188B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】本発明は、パケットデータの順序性の保障が可能なパケット制御装置を提供する。
【解決手段】パケット制御装置1は、分割パケットデータと非分割パケットデータとをこの順で入力処理し、分割パケットデータに特定の処理を行う場合の処理動作を制御するものであり、分割パケットデータが処理中であるか否かを検出する検出手段16a―1と、処理中である場合に非分割パケットデータの出力を待機させ、処理されたパケットデータと非分割パケットデータとを入力順に出力する処理動作を制御する出力制御手段16b−1を含む。
【選択図】図1

Description

本発明は、パケット制御装置、パケット制御方法、及びパケット制御プログラムに関し、特にIPパケット制御に関する。
ネットワーク例えばイーサネット(登録商標)などに通信接続されたホストコンピュータは、64kbyteまでのIPパケットデータを送信することが可能となっている。
ただし、物理ネットワークにおいては、フレーム最大転送単位(以下、MTU)が決められている。MTUは、イーサネット毎に規定されている。
このため、ホストコンピュータは、IPパケットデータを、設定されているMTUサイズ以下を満足するパケットサイズとなるように複数に分割し、分割パケットデータとしてて送信する必要がある。
例えば、ホストコンピュータと、このホストコンピュータとイーサネットを介して通信可能に形成されたルータ装置とからなる通信システムを想定する。このような通信システムにおいて、ホストコンピュータがルータ装置に対して連続して送信した2つのIPパケットデータが、フラグメント有りの「分割パケットデータ(フラグメントパケット)」とフラグメント無しの「非分割パケットデータ(MTU以下のパケット)」の順であるとする。
この場合、ルータ装置は、「分割パケットデータ」、「非分割パケットデータ」の順に受信する。ルータ装置は、最初に受信された複数の「分割パケットデータ」の最終パケット受信後にデフラグメント処理(統合処理)を行う。
さらに、ルータ装置は、IPパケットデータを再生成(統合処理)後に、送信先ネットワークのMTUサイズに再分割処理して送信することになる。
このような、IPパケットデータを受信しデフラグメント処理を行うルータ装置などに含まれるパケット制御装置の関連技術として、例えば以下に示す特許文献1、特許文献2、特許文献3などが挙げられる。
例えば、特許文献1の装置では、再構成処理部が、受信されたパケットが送信元のネットワークでフラグメント処理が施されたIPパケットであるかどうかを判断し、フラグメント処理されたIPパケットが揃うと、もとの1つのIPパケットデータに再構築するリアセンブル処理(デフラグメント処理又は統合処理)を行うこと(特許文献1の段落番号0033、0034など)、が開示されている。
同様に、特許文献2では、通信制御装置が、1つの元データが複数に分割された分割データにヘッダ情報が付加されたパケットを受信して、この情報に基づき分割前の元データを復元(デフラグメント処理又は統合処理)すること(特許文献2の段落番号0035など)、が開示されている。
また、特許文献3では、ヘッダ解析部が、受信したパケットが分割されたパケットであるか否かを判別し、分割されていない非分割パケットはデータ蓄積部へ送信されること(特許文献3の段落番号0020など)、が開示されている。
一方、分割パケットについては、通信処理回路が、最終断片パケット(分割パケット)までデータ蓄積部にて一時蓄積した後、データ蓄積部のメモリから読み出し、再組立(統合処理)されたデータグラムを出力すること(特許文献3の段落番号0020、0028など)、が開示されている。
具体的には、図8に示すように、特許文献3の装置2000における通信処理回路2001では、フレーム終端部2011にて受信されたパケットは、ヘッダ解析部2012に供給される。ヘッダ解析部2012はそのパケットが分割されたパケットであるか否かを判別する。分割されていない非分割パケットはヘッダ解析部2012からデータ蓄積部2017へ送信される。
一方、分割されたパケット、すなわち分割パケットである場合には、ヘッダ解析部2012は、複数の分割パケットのうちの何番目のパケットであるかを、ヘッダに含まれる断片継続フラグ及びフラグメントオフセットの情報から判定する。
断片継続フラグは、最終の分割パケット(断片パケット)の場合には0を示し、その他のパケットの場合には1を示す。また、フラグメントオフセットはそのパケットの断片データの先頭が、元のデータグラムのデータのどの部分に位置するのかを表す情報である。また、送信分割単位について狭い値の範囲に制限、例えば、データ部の長さで1400バイトから1480バイトになるように装置で制限を設けることにより、フラグメントオフセットの値により断片番号すなわち「何番目のパケットか」が一義的に決まるようになる。
これにより、断片パケットの断片番号の受信順序が任意の並びであっても、再組立て処理が可能であり、ネットワークで発生し得るパケット順序逆転や重複に対応することが可能である。
データグラムの断片パケットが揃ったことを判断した後は、キュー管理部2019内の読出要求待ち行列に該当キューを格納し、キュー管理部2019から読出制御部2014へ読出要求信号とキュー番号を通知する。
それを受けた読出制御部2014は、1番目の断片パケットから順に、バッファメモリ2003から読み出し、データ蓄積部2017に一時蓄積させる。2番目以降の断片パケットは、ネットワーク層のIPヘッダを削除してデータ蓄積部2017に一時蓄積していく。最終断片パケットまでデータ蓄積部17に一時蓄積した後、データ蓄積部2017のメモリから読み出すと、再組立てされたデータグラムを出力することができる。
特開2005−01269号公報 特開2006−050503号公報 特開2007−274056号公報
しかしながら、関連技術の装置でのIPパケット処理においては、次のような課題がある。
すなわち、ホストコンピュータが、分割パケットデータ、非分割パケットデータをこの順で連続送信した場合、ルータ装置において、後から受信した非分割パケットデータを分割パケットデータより先に送信してしまう、という課題があった。
具体的には、「非分割パケットデータ」は完結パケットであり受信後のデフラグメント処理が必要ないため、先に受信した「分割パケットデータ」がデフラグメント処理を行っている最中に、後から受信した「非分割パケットデータ」が先に受信した「分割パケットデータ」を追い越してルータ装置から送信されてしまう。
このため、順序が逆になったIPパケットデータを受信している他の宛先ホストコンピュータでは、データの順番制御が保障されず、正常にデータを識別できないという不都合があった。
この点について、図8に示す特許文献3を用いて説明すると、分割パケットについては、通信処理回路2001が、ヘッダ解析部2012、書込制御部2013、双方向バッッファ2016、バッファメモリ2003、読出制御部2014、キュー管理部2019によって最終の分割パケットまでデータ蓄積部2017にて一時蓄積した後、データ蓄積部2017のメモリから読み出し、再組立(統合処理)されたデータグラムを出力する。
そして、特許文献3では、このような分割パケットの再組立(統合処理)を行っている最中に、ヘッダ解析部2012から非分割パケットがデータ蓄積部2017へ送信され、再組立(統合処理)されたデータグラムを出力する前に、非分割パケットが先に出力されてしまう、という課題があった。
このように、特許文献3では、各分割パケットについては、受信順序が任意の並びであっても、再組立て処理が可能であり、ネットワークで発生し得るパケット順序逆転や重複に対応することが可能であるが、分割パケットと非分割パケットとの間でのパケット順序逆転などについては何ら考慮されていなかった。
本発明の目的は、上述の関連技術の課題を解決することにあり、分割パケットデータ、非分割パケットデータをこの順で連続受信した場合でも、パケットデータの順序逆転を防止し得、パケットデータの順序性の保障が可能なパケット制御装置、パケット制御方法、及びパケット制御プログラムを提供することにある。
上記目的を達成するため、本発明のパケット制御装置は、少なくとも分割パケットデータと非分割パケットデータとをこの順で入力処理し、前記分割パケットデータに特定の処理を行う場合の処理動作を制御するパケット制御装置であって、前記分割パケットデータが処理中であるか否かを検出する検出手段と、前記検出手段にて前記処理中であると検出された場合に、前記非分割パケットデータの出力を待機させ、処理された前記パケットデータと前記非分割パケットデータとを入力順に出力する処理動作を制御する出力制御手段と、を含むことを特徴としている。
本発明のパケット制御方法は、少なくとも分割パケットデータと非分割パケットデータとをこの順で入力処理し、前記分割パケットデータに特定の処理を行う場合の処理動作を制御するパケット制御方法であって、前記分割パケットデータが処理中であるか否かを検出する検出ステップと、前記検出ステップにて前記処理中であると検出された場合に、前記非分割パケットデータの出力を待機させ、処理された前記パケットデータと前記非分割パケットデータとを入力順に出力する処理動作を制御する出力制御ステップと、を含むことを特徴としている。
本発明のパケット制御プログラムは、少なくとも分割パケットデータと非分割パケットデータとをこの順で入力処理し、前記分割パケットデータに特定の処理を行う場合の処理動作を制御するパケット制御装置が備えたコンピュータに諸機能を実現させることが可能なパケット制御プログラムであって、前記分割パケットデータが処理中であるか否かを検出する検出機能と、前記検出機能にて前記処理中であると検出された場合に、前記非分割パケットデータの出力を待機させ、処理された前記パケットデータと前記非分割パケットデータとを入力順に出力する処理動作を制御する出力制御機能と、を前記コンピュータに実現させることを特徴としている。
本発明によれば、非分割パケットデータの出力制御を行う事で、先に入力した分割パケットデータの処理中に後から入力した非分割パケットデータが追い越すことなく、入力した順序に従って出力でき、パケットデータの順序性を保障することができるという、関連技術にない優れたパケット制御装置、パケット制御方法、及びパケット制御プログラムを提供することができる。
〔パケット制御装置の基本的構成〕
先ず、パケット制御装置の基本的構成について説明する。本発明のパケット制御装置(例えば図1に示す符号1など)は、少なくとも分割パケットデータと非分割パケットデータとをこの順で入力処理し、前記分割パケットデータに特定の処理を行う場合の処理動作を制御するものである。
このパケット制御装置は、前記分割パケットデータが処理中であるか否かを検出する検出手段(例えば図1に示す符号16a―1など)と、前記検出手段にて前記処理中であると検出された場合に、前記非分割パケットデータの出力を待機させ、処理された前記パケットデータと前記非分割パケットデータとを入力順に出力する処理動作を制御する出力制御手段(例えば図1に示す符号16b―1など)と、を含む構成としている。
このような構成のパケット制御装置では、非分割パケットデータの出力制御を行う事で、先に入力した分割パケットデータの処理中に後から入力した非分割パケットデータが追い越すことなく、入力した順序に従って出力でき、パケットデータの順序性を保障することができる。
例えば、2つのイーサネットを中継するルータ機能部において、ホストコンピュータから連続して受信したIPパケットデータをデフラグメント処理の有無によらず、ルータ機能部が受信した順番で送信先イーサネットに送信可能とする。
本発明においては、ルータ機能部内で先に受信されたIPパケットデータがデフラグメント処理を行っているか否かを検出し、また後発で受信されたフラグメント無しパケットデータを格納する専用バッファを用意する事により、デフラグメント中のフラグメント無しパケットの送信を管理し、データの順番制御を保障する。
以下、このような本発明の「パケット制御装置」のさらに具体的な実施の形態の一例について、図面を参照して具体的に説明する。
〔第1の実施の形態〕
(パケット制御装置の全体構成)
先ず、本実施の形態のパケット制御装置の具体的構成について、全体構成から説明し、続いて各部の詳細構成について説明することとする。図1は、本発明における第1実施の形態のパケット制御装置の全体の概略構成の一例を示すブロック図である。
図1に、本発明のIPパケット処理部の構成図を示す。
図1に示すように、本実施の形態のパケット制御装置1は、プログラム制御により動作するものであり、受信検出部12と、FID検出機能部14と、N個のデフラグメント処理部(1)16<16−1>〜デフラグメント処理部(N)16<16−N>と、フラグメント処理部18と、送信処理部19と、パケットバッファ20(非分割パケットデータ一時記憶手段)と、を含んで構成される。
また、パケット制御装置1の1つのデフラグメント処理部(1)16−1には、デフラグメント処理(統合処理)が実行されているか否かを検出する検出部16a―1と、この検出部16a―1にてデフラグメント処理が実行されていると検出された場合に、制御信号をパケットバッファ20に出力することでパケットバッファ20内の非分割パケットデータが送信処理部19に出力するのを停止制御する出力制御部16b―1とを備えている。
デフラグメント処理部は、N個構成される。
このため、他のデフラグメント処理部(N)16−Nについても、前記同様にそれぞれ、検出部16a―Nと、出力制御部16b―Nとが構成されている。
また、フラグメント処理部18には、フラグメント処理(再分割処理)が実行されているか否かを検出する検出部18aと、この検出部18aにてフラグメント処理が実行されていると検出された場合に、制御信号をパケットバッファ20に出力することでパケットバッファ20内の非分割パケットデータが送信処理部19に出力するのを停止制御する出力制御部18bとを備えている。
ホストから送信されたIPパケットデータをイーサネットを経由して受信した受信検出部12は、パケットデータのフラグメント有無を検出し「フラグメント有り」のIPパケットデータはFID検出機能部14へ、「フラグメント無し」のIPパケットデータはパケットバッファ20に転送する。
FID検出機能部14では、IPパケットデータ内のフラグメントID(以下、FID)の確認を行う。
FID検出機能部14は、IPパケットデータのFIDが新規の場合、未使用のデフラグメント処理部を選択しIPパケットデータを転送する。
FID検出機能部14は、FIDが2回目以降(継続中)の場合、前回のIPパケットデータを格納したデフラグメント処理部を選択してデータを転送する。
デフラグメント処理部(1)16−1〜(N)16−Nは、格納されたIPパケットデータのフラグメントオフセット情報から、フラグメントされたIPパケットデータが全て受信された事を確認し、デフラグメント処理を行う。
検出部16a―1、・・・、検出部16a―Nは、デフラグメント処理(統合処理)が実行されているか否かを検出する。
出力制御部16b―1、・・・、出力制御部16b―Nは、検出部16a―1、・・・、検出部16a―Nにてそれぞれデフラグメント処理が実行されていると検出された場合に、各制御信号をパケットバッファ20に各々出力することでパケットバッファ20内の非分割パケットデータが送信処理部19に出力するのを停止制御する。
フラグメント処理部18では、デフラグメント処理部(1)16−1〜(N)16−Nで統合されたIPパケットデータを送信側イーサネットのMTUサイズに従ったパケットに分割し、送信処理部19に転送している。
検出部18aは、フラグメント処理(再分割処理)が実行されているか否かを検出する。
出力制御部18bは、この検出部18aにてフラグメント処理が実行されていると検出された場合に、制御信号をパケットバッファ20に出力することでパケットバッファ20内の非分割パケットデータが送信処理部19に出力するのを停止制御する。
受信検出部12で「フラグメント無し」と判断されたIPパケットデータは、パケットバッファ20に格納される。
先行して受信されたフラグメントパケットがデフラグ処理を行っている場合、各処理部からパケットバッファ20に対して先に受信したIPパケットデータが、デフラグ処理中である事を制御信号を用いて通知する事により、デフラグ中のIPパケットデータが送信処理部19に進むまでパケットバッファ20で待たせる。
パケット制御装置1は、プログラム制御により動作するものであり、ネットワーク関連の通信機能を有していれば、デスクトップ、ラップトップコンピュータ、その他無線・有線通信機能を有する情報機器、情報家電機器(テレビ・携帯音楽プレーヤ・ゲーム機)、またはこれに類するコンピュータなどいかなるコンピュータでもよく、移動式・固定式を問わない。
パケット制御装置1のハードウエア構成は、種々の情報等を表示するための表示部(スクリーン)、この表示部の表示画面上(の各種入力欄等)にデータを操作入力するための操作入力部(例えばキーボード・マウス・各種ボタン・表示操作部<画面上のボタン>・タッチパネル等)、各種信号・データを送受信するための送受信部ないしは通信部(モデムなど)、各種プログラム・各種データを記憶しておく記憶部(例えばメモリ、ハードディスク等)、これらの制御を司る制御部(例えばCPU、MPU、DSP等)などを有することができる。
ここで、本実施の形態の検出部16a―1、・・・、検出部16a―N、検出部18aにより、本発明にいう「検出手段」を構成することができる。また、本実施の形態の出力制御部16b―1、・・・、出力制御部16b―N、出力制御部18bにより、本発明にいう「出力制御手段」を構成することができる。さらに、本実施の形態のパケットバッファ20により、本発明にいう「非分割パケットデータ一時記憶手段」を構成することができる。
さらにまた、本実施の形態のデフラグメント処理部(1)16−1、・・・、デフラグメント処理部(N)16−N、フラグメント処理部18により、本発明にいう「処理部」を構成することもできる。
ここで、前記「検出手段」は、パケット制御装置が、少なくとも分割パケットデータと非分割パケットデータとをこの順で入力処理し、前記分割パケットデータに特定の処理を行う処理動作を制御するに際し、前記分割パケットデータが前記処理中であるか否かを検出することができる。
また、前記「出力制御手段」は、前記検出手段にて前記処理中であると検出された場合に、前記非分割パケットデータの出力を待機させ、処理された前記パケットデータと前記非分割パケットデータとを入力順に出力する処理動作を制御することができる。
さらに、前記「非分割パケットデータ一時記憶手段」は、前記非分割パケットデータを一時記憶することができる。また、前記「非分割パケットデータ一時記憶手段」は、出力制御手段に併設することもできる。この場合、前記出力制御手段は、前記処理中である場合に、前記非分割パケットデータ一時記憶手段の前記非分割パケットデータの出力を停止制御する制御信号を出力することができる。
また、特定の処理を行う複数の処理部を有する場合、前記検出手段は、各々の前記処理部について前記処理中であるか否かをそれぞれ検出することができる。この場合、前記出力制御手段は、一の前記処理部にて前記分割パケットデータが処理中である場合に、前記他の処理部内に前記非分割パケットデータを滞留させる制御を行うことができる。なお、複数の処理部は出力制御手段に併設することもできる。
さらに、前記特定の処理は、前記分割パケットデータを分割される前の元データに統合する統合処理を含むことができる。この場合、前記検出手段は、前記分割パケットデータが統合処理中であるか否かを検出することができる。また、前記出力制御手段は、前記統合処理中である場合に前記非分割パケットデータの出力を待機させる制御を行うことができる。
また、前記特定の処理は、前記分割パケットデータを分割される前の元データに統合する統合処理と、この統合された前記元データを再分割する再分割処理と、を含むことができる。この場合、前記検出手段は、前記分割パケットデータが統合処理中及び/又は再分割処理中であるか否かを検出することができる。また、前記出力制御手段は、前記統合処理中又は前記再分割処理中である場合に前記非分割パケットデータの出力を待機させる制御を行うことができる。
さらに、前記特定の処理は、複数の前記統合処理を含むことができる。この場合、前記検出手段は、各々の前記統合処理について前記統合処理中であるか否かをそれぞれ検出することができる。また、前記出力制御手段は、いずれか一つの前記統合処理が前記統合処理中である場合に前記非分割パケットデータの出力を待機させる制御を行うことができる。
上述のような構成からなるパケット制御装置1は、概略つぎのように動作する。
先ず、受信検出部12にてフラグメント有りの分割パケットデータが検出された場合には、分割パケットデータはFID検出機能部14に入力される。
次に、FID検出機能部14は、分割パケットデータ内のフラグメントID(FID)の確認を行い、FIDが新規の場合、未使用のデフラグメント処理部16に向けて分割パケットデータの転送処理を行い、FIDが2回目以降(継続中)の場合、前回の分割パケットデータを格納したデフラグメント処理部16に向けて分割パケットデータの転送処理を行う。
続いて、デフラグメント処理部16は、格納された分割パケットデータのフラグメントオフセット情報から、各々フラグメントされた各分割パケットデータが全て受信され、格納されたこと確認した後、デフラグメント処理(統合処理)を行い、統合パケットデータを生成する。
フラグメント処理部18では、デフラグメント処理部16で統合された統合パケットデータを送信側イーサネットのMTUサイズに従ったパケットに再分割する再分割処理を行い、複数の各再分割パケットデータを各々生成し、それぞれ送信処理部19に転送する。
一方、受信検出部12にて「フラグメント無し」と判断された非分割パケットデータは、パケットバッファ20に一時格納される。
この際、デフラグメント処理部16が分割パケットデータに対してデフラグメント処理を実行していることを検出部16aが検出した場合には、出力制御部16bが、制御信号をパケットバッファ20に出力することでパケットバッファ20内の非分割パケットデータが送信処理部19に出力するのを停止制御する。
また、フラグメント処理部18が分割パケットデータを統合した統合パケットデータに対してフラグメント処理(再分割処理)を実行していることを検出部18aが検出した場合には、出力制御部18bが、制御信号をパケットバッファ20に出力することでパケットバッファ20内の非分割パケットデータが送信処理部19に出力するのを停止制御する。
これにより、ホストからのフラグメント有りのパケットと、フラグメント無しのパケットが連続して受信された場合、ホストの送信制御(パケット間のギャップ、等)に依存せず、ルータ機能部のパケット制御機能によって先に受信したパケットの送信順番を保障する事が容易に可能となる。
(処理手順について)
(全体処理)
次に、上述のような構成を有するパケット制御装置における各部の処理は、方法としても実現可能であり、パケット制御方法としての各種の処理手順について、図2及び図3を参照しつつ説明する。図2は、図1の通信制御装置における処理手順の一例を示すフローチャートである。
本実施の形態に係るパケット制御方法は、少なくとも分割パケットデータと非分割パケットデータとをこの順で入力処理し、前記分割パケットデータに特定の処理を行う場合の処理動作を制御する処理をパケット制御装置が備えたコンピュータが行うものを対象とするものである。
このパケット制御方法は、基本的構成として、パケット制御装置が備えたコンピュータが、前記分割パケットデータが処理中であるか否かを検出する検出ステップ(例えば図2に示すステップS107など)と、前記検出ステップにて前記処理中であると検出された場合に、前記非分割パケットデータの出力を待機させ、処理された前記パケットデータと前記非分割パケットデータとを入力順に出力する処理動作を制御する出力制御ステップ(例えば図2に示すステップS108など)とを含むことができる。
さらに、このパケット制御方法は、前記出力制御ステップでは、前記非分割パケットデータを非分割パケットデータ一時記憶手段に一時記憶させ、前記処理中である場合に、前記非分割パケットデータ一時記憶手段の前記非分割パケットデータの出力を停止制御することができる。
また、このパケット制御方法は、前記検出ステップでは、前記特定の処理を行う複数の処理部について前記処理中であるか否かをそれぞれ検出することができる。この場合、前記出力制御ステップでは、一の前記処理部にて前記分割パケットデータが処理中である場合に、前記他の処理部内に前記非分割パケットデータを滞留させる制御を行うことができる。
さらに、このパケット制御方法は、前記特定の処理は、前記分割パケットデータを分割される前の元データに統合する統合処理を含むことができる。この場合、前記出力制御ステップでは、統合処理中である場合に前記非分割パケットデータの出力を待機させる制御を行うことができる。
また、このパケット制御方法は、前記特定の処理は、前記分割パケットデータを分割される前の元データに統合する統合処理と、この統合された前記元データを再分割する再分割処理とを含むことができる。この場合、前記出力制御ステップでは、統合処理中及び/又は再分割処理中である場合に前記非分割パケットデータの出力を待機させる制御を行うことができる。
さらに、このパケット制御方法は、前記特定の処理は、複数の前記統合処理を含むことができる。この場合、前記出力制御ステップでは、いずれか一つの前記統合処理が統合処理中である場合に前記非分割パケットデータの出力を待機させる制御を行うことができる。
以下、これを詳述する。
(各処理動作の説明)
図3に本実施の形態のパケット処理タイミングを示す。
イーサネットに接続されたホストは、64kbyteまでのIPパケットデータを送信する事が可能となっている。
但し、フレーム最大単位(以下、MTU)はイーサネット毎に規定されており、ホストは、MTUサイズ以下を満足するIPパケットデータに分割して送信しなくてはならない。
例えば、図3のパケットAは、イーサネットのMTUサイズ以上のデータを示し、パケットBは、MTU以下を示している。
ホストがこのサイズの異なる2種類のパケットを連続して送信する場合、パケットAは、3つのIPパケットデータ(パケットA(1)、パケットA(2)、パケットA(3))に分割されて送信され、その後にパケットBが送信される事になる。
ルータ機能部は、2つのイーサネットを中継する機能を持っているが、受信側と送信側でMTUサイズが異なる場合、受信したフラグメントデータを統合(デフラグメント)し、再度送信側のMTUサイズでパケットデータをフラグメント処理する必要がある。
図1に本発明のIPパケット処理機能部の構成を、図2に本発明のフローチャートを示す。
先ず、図3で示したパケットA(1)<第1の分割パケットデータ>は、受信検出部12で受信される(ステップS101)<パケット受信(パケット入力)ステップないしはパケット受信機能>。
受信検出部12は、パケットA(1)受信時にIPパケットヘッダの「Flagフィールド」に示される「Mビット情報」によりフラグメントの有無を判定する(ステップS102)。<フラグメント有無判定ステップないしはフラグメント有無判定機能>
ステップS102にてフラグメント有りと判定された「パケットA(1)」は、FID検出機能部14にて、FID(フラグメント識別情報)の確認が行われる(ステップS103)<フラグメント識別情報確認ステップないしはフラグメント識別情報確認機能>。
FID検出機能部14は、FID(フラグメント識別情報)によってアサインされた例えばデフラグメント処理部(1)16<16−1>に「パケットA(1)」を転送し、そのデフラグメント処理部(1)16<16−1>に「パケットA(1)」を格納する。
デフラグメント処理部(1)16<16−1>は、格納した「パケットA(1)」がフラグメントパケットを継続中である事を「Mビット情報」から判断し、継続パケットの受信待ちとなる。
すなわち、すべての分割パケットデータが受信され、デフラグメント処理部(1)16<16−1>に格納されたか否かの判定処理を行う(ステップS104)<分割パケット受信完了判定ステップないしは分割パケット受信完了判定機能>。
このステップS104において、全ての分割パケットデータが受信完了していないものと判定された場合には、ステップS101に戻り、以上の処理を繰り返す。
このようにして、受信検出部12とFID検出機能部14は、連続して「パケットA(2)」「パケットA(3)」を受信し、FID検出機能部14は、「パケットA(1)」と同じ(1)16<16−1>に「パケットA(2)」「パケットA(3)」を格納する。
一方、このステップS104において、全ての分割パケットデータが受信完了したものと判定された場合には、ステップS105に進む。
デフラグメント処理部(1)16<16−1>は、「Mビット情報」から、「パケットA(3)」が最終IPパケットデータである事を認識し、IPパケットデータ(各分割パケットデータ)のデフラグメント処理を行い「パケットA」を再生成する処理(統合処理)を行う(ステップS105)<デフラグメント処理(統合処理)ステップないしはデフラグメント処理(統合処理)機能>。
一方、ホストコンピュータから「パケットA(3)」に続いて送信された「パケットB」(非分割パケットデータ)は、受信検出部12で「フラグメント無し」と判断される。
「パケットB」(非分割パケットデータ)は、受信検出部12よりパケットバッファ20に転送される。
この際、先行して受信した「パケットA(3)」が最終IPパケットデータと判断され、デフラグメント処理に移行するステータスとなっている。このため、後発のパケットBがパケットAを追い越して送信されないよう、デフラグメント処理部(1)16−1〜(N)16−Nよりパケットバッファ20の送信停止を制御する。
すなわち、デフラグメント処理部(1)16<16−1>が、デフラグメント処理中であるか否かを検出する(ステップS107)<デフラグメント処理検出ステップないしはデフラグメント処理検出機能>。
そして、ステップS107にて、デフラグメント処理中であると判定された場合には、「パケットB」(非分割パケットデータ)が送信処理部19に送信されないように、送信待機処理を行い(ステップS108)<デフラグメント処理中出力制御ステップないしはデフラグメント処理中出力制御機能>、ステップS107を繰り返す。
一方、ステップS107にて、デフラグメント処理中でないと判定された場合には、IPパケットデータ(各分割パケットデータ)は、統合され、再分割され、送信処理部19に送信されたものと判断し、「パケットB」(非分割パケットデータ)を送信処理部19に送信する。
ここで、さらに、フラグメント処理部18が、フラグメント処理中であるか否かを検出する<フラグメント処理検出ステップないしはフラグメント処理検出機能>ようにしてもよい。
この場合、フラグメント処理中であると判定された場合には、「パケットB」(非分割パケットデータ)が送信処理部19に送信されないように、送信待機処理を行い<フラグメント処理中出力制御ステップないしはフラグメント処理中出力制御機能>、フラグメント処理検出ステップを繰り返す。
一方、フラグメント処理検出ステップにて、フラグメント処理中でないと判定された場合には、IPパケットデータ(各分割パケットデータ)は、統合され、再分割され、送信処理部19に送信されたものと判断し、「パケットB」(非分割パケットデータ)を送信処理部19に送信する。
イーサネット通信においては、通信中のデータ誤り、データ破棄が許容されている。もしフラグメントされたIPパケットデータが途中で破棄されたばあい、デフラグメント処理部でのデフラグ処理は行われない事になる。
このため、本実施の形態においては、パケットB受信時に、デフラグメントパケットの全てが受信され、デフラグメント処理に移行している事でパケットBの送信を制御している。
また、再生成されたパケットAは、フラグメント処理部18で送信側イーサネットのMTUサイズに分割される(ステップS106)<フラグメント処理(再分割処理)ステップないしはフラグメント処理(再分割処理)機能>。このため、パケットBは、パケットAのフラグメント完了まで待つ必要があり、フラグメント処理部18からもパケットバッファ20の送信停止制御を行っている。
図3において、パケットBの内部転送時間(T2)は、パケットAの内部処理時間(T1)より短くなっているが、デフラグメント処理部、フラグメント処理部によるパケットBの送信制御(T3)により、パケットBは、パケットAの後に送信される(ステップS108)。
本制御により、ホストからのフラグメント有りのパケットと、フラグメント無しのパケットが連続して受信された場合、ホストの送信制御(パケット間のギャップ、等)に依存せず、ルータ機能部のパケット制御機能によって先に受信したパケットの送信順番を保障する事が容易に可能となる。
ここで、以上のステップS107のデフラグメント処理検出ステップと、フラグメント処理検出ステップとにより、本発明にいう「検出ステップ」を構成できる。また、以上のステップS108のデフラグメント処理中出力制御ステップと、フラグメント処理中出力制御ステップとにより、本発明にいう「出力制御ステップ」を構成できる。
以上のように本実施の形態によれば、非分割パケットデータの出力制御を行う事で、先に入力した分割パケットデータの処理中に後から入力した非分割パケットデータが追い越すことなく、入力した順序に従って出力でき、データの順序性を保障することができる。
すなわち、第一の効果は、フラグメント無しパケットの送信制御を行う事で、先に受信したIPパケットデータのデフラグメント処理中に後から受信したIPパケットデータが追い越すことなく、受信した順序に従って送信できる事である。これにより、データの順序性を保障する事が可能である。
第二の効果は、上記処理をルータ機能部で実現しているため、ホストの動作(デバイスの世代による差分、処理能力による差分)に依存せずに対応できる事である。
第三の効果は、デフラグメント処理のステータスで管理する事で、フラグメントされたIPパケットデータがイーサネット上の破棄によってデフラグメントが正常終了しない場合には、後から受信したIPパケットデータに対する停止制御がされない事である。
第四の効果は、本機能をハードウェアで構成しているため、容易に実現が可能な事である。
ここで、本実施の形態による効果を、図5〜図7の比較例と対比して説明する。
図5に関連技術のIPパケット処理を行うパケット制御装置のブロック図を示す。図5のパケット制御装置1000では、受信検出部1012で「フラグメント無し」と判断されたIPパケットデータ(非分割パケットデータ)は、デフラグメント処理が必要ないため、受信検出部1012から送信処理部1019に転送され、送信側イーサネットに出力される。
また、分割パケットデータについては、デフラグメント処理部1016−1〜1016Nのいずれかの処理部にてデフラグメント処理がなされ、さらにフラグメント処理部1018によりフラグメント処理がなされ送信処理部1019に送られる。
図6に関連技術のパケット制御装置におけるフローチャートを示す。前記実施の形態におけるステップS101〜ステップS106、ステップS109と同様にステップS1101〜ステップS1108を行う。
ただし、非分割パケットデータを待機させる処理がないため、非分割パケットデータは、分割パケットデータよりも後に受信したにもかかわらず、分割パケットデータよりも先に送信処理部1019に到達し、送信されてしまうという不都合がある。
図7に関連技術のパケット処理タイミング図を示す。デフラグメント処理の時、ホストコンピュータから「パケットA(3)」に続いて送信された「パケットB」は、受信検出部1012で「フラグメント無し」と判断され送信処理部1019に転送される。
先行して受信した「パケットA(3)」が最終IPパケットデータと判断され、デフラグメント処理に時間が必要とした場合、後発のパケットBがパケットAを追い越して送信されてしまう、という不都合がある。
これに対して本実施の形態によれば、検出部によりデフラグメント処理中であるか否かを検出しつつ、出力制御部により非分割パケットデータをパケットバッファを用いて出力制御することで、先に入力した分割パケットデータの処理中に後から入力した非分割パケットデータが追い越すことなく、入力した順序に従って出力でき、データの順序性を保障することができる。
[その他の各種変形例]
また、本発明にかかる装置及び方法は、そのいくつかの特定の実施の形態に従って説明してきたが、本発明の主旨および範囲から逸脱することなく本発明の本文に記述した実施の形態に対して種々の変形が可能である。
例えば、パケットバッファを用意せず、全てのIPパケットデータを無条件でデフラグメント処理部に転送し、デフラグメント処理部間で「デフラグメント処理中」情報を共有し、デフラグメント処理の必要としないパケットをデフラグメント処理部内で滞留させ、送信管理を行う事で同様の制御を行う事が可能となる。
具体的には、図4に示すように、パケット制御装置100として、前記実施の形態と同様に、受信検出部112と、FID検出機能部114と、N個のデフラグメント処理部(1)116<116−1>〜デフラグメント処理部(N)116<116−N>と、フラグメント処理部118と、送信処理部119とを構成する。
また、各デフラグメント処理部116、フラグメント処理部118には、前記実施の形態と同様に、検出部116a―1、・・・、検出部116a―N、検出部118a、出力制御部116b―1、・・・、出力制御部116b―N、出力制御部118bを構成することができる。
そして、各デフラグメント処理部116間、あるいは各デフラグメント処理部116とフラグメント処理部118との間では、相互に情報の授受が可能になっている。このため、各検出部116a―1、・・・、検出部116a―N、検出部118aの間、各出力制御部116b―1、・・・、出力制御部116b―N、出力制御部118bの間においても相互に情報の授受が可能になっている。
この授受される情報としては、例えば、(各検出部116a―1、・・・、検出部116a―N、検出部118aからの)現在処理中であるか否かに関する処理状況を示す検出情報、(各出力制御部116b―1、・・・、出力制御部116b―N、出力制御部118bからの)制御信号などが挙げられる。
ここで、各出力制御部116b―1、・・・、出力制御部116b―N、出力制御部118bにより、「出力制御手段」を構成することができる。
これにより、前記出力制御手段は、一の前記処理部にて前記分割パケットデータが処理中である場合に、前記他の処理部内に前記非分割パケットデータを滞留させる制御を行うことができる。
例えば、一例として、デフラグメント処理部(1)116<116−1>には、複数の前記分割パケットデータが格納される。一方、デフラグメント処理部(2)116<116−2>には、非分割パケットデータが格納される。
デフラグメント処理部(1)116<116−1>にてデフラグメント処理中(統合処理中)である場合には、デフラグメント処理部(2)116<116−2>には、非分割パケットデータが滞留し続ける。
デフラグメント処理部(1)116<116−1>にてデフラグメント処理が終了すると、統合パケットデータがフラグメント処理部118に転送される。
フラグメント処理部118にてフラグメント処理中(再分割処理中)である場合には、デフラグメント処理部(2)116<116−2>には、非分割パケットデータが滞留し続ける。
フラグメント処理部118にてフラグメント処理が終了すると、複数の再分割パケットデータが送信処理部119に転送される。
その後、デフラグメント処理部(2)116<116−2>は、非分割パケットデータをフラグメント処理部118に転送する。フラグメント処理部118では、処理の必要がないため、非分割パケットデータを送信処理部119に転送する。
その他の構成およびその他のステップないしは機能並びにその作用効果については、前述した実施の形態の場合と同一となっている。また、上記の説明において、上述した各ステップの動作内容及び各部の構成要素並びにそれらによる各機能をプログラム化し、コンピュータに実行させてもよい。
ここで、図1及び図4に示すブロック図における一部の各ブロックは、コンピュータが適宜なメモリに格納された各種プログラムを実行することにより、該プログラムにより機能化された状態を示すソフトウエアモジュール構成であってもよい。
すなわち、物理的構成は例えば一又は複数のCPU(或いは一又は複数のCPUと一又は複数のメモリ)等ではあるが、各部(回路・手段)によるソフトウエア構成は、プログラムの制御によってCPUが発揮する複数の機能を、それぞれ複数の部(手段)による構成要素として表現したものである。
CPUがプログラムによって実行されている動的状態(プログラムを構成する各手順を実行している状態)を機能表現した場合、CPU内に各部(手段)が構成されることになる。プログラムが実行されていない静的状態にあっては、各手段の構成を実現するプログラム全体(或いは各手段の構成に含まれるプログラム各部)は、メモリなどの記憶領域に記憶されている。
以上に示した各部(手段)の説明は、プログラムにより機能化されたコンピュータをプログラムの機能と共に説明したものと解釈することも出来るし、また、固有のハードウエアにより恒久的に機能化された複数の電子回路ブロックからなる装置を説明したものとも解釈することが出来ることは、当然である。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現でき、いずれかに限定されるものではない。
また、各部は、通信可能な専用のコンピュータからなる装置としてそれぞれ構成し、これらの各装置によりシステムを構成してもよい。逆に、各部を単一の装置として構成したシステムであってもよい。
またさらに、上記構成部材の数、位置、形状等は上記実施の形態に限定されず、本発明を実施する上で好適な数、位置、形状等にすることができる。すなわち、上記実施の形態では、デフラグメント処理部がN個、フラグメント処理部が1個、パケットバッファが1個の場合を示したが、本発明は、これらの個数を制限するものではない。
デフラグメント処理部がN個、パケットバッファが1個の場合であってもよい。さらに、デフラグメント処理部がN個、フラグメント処理部がM個、パケットバッファがL個の場合であってもよい。この場合、フラグメント処理部においても非分割パケットデータを滞留させることができる。
また、デフラグメント処理部の数、フラグメント処理部の数だけ、出力制御部を設ける場合に限らず、各処理部と通信接続された一つの出力制御部により、各処理部を制御する場合であってもよい。
さらに、受信検出部12にて受信し検出する構成としたが、受信部とフラグメント有無
検出部とを別々の構成としてもよい。また、受信検出部12にて受信し、送信処理部19にて送信する構成としたが、パケット制御装置として、パケット入力部とパケット出力部を構成し、受信、送信などの通信部(受信部、送信部)をパケット入力部とパケット出力部の外部に構成する場合であってもよい。
また、上述のようなパケット制御装置が搭載される電子機器としては、ルータ装置、その他の各種転送制御装置や通信装置などが挙げられる。
さらに、上述の実施の形態では、ネットワークとしてイーサネットを例に説明したが、ネットワークとしてはイーサネットに限らず、各種IEEE802ネットワーク、FDDI、PPP、VPN、ATM、DTM、トークンリング、フレームリレー、GPRS、EVDO、HSPA、HDLC、SLIP、L2TP、ISDN、SMDS、アークネット、Wi―Fi、WiMAXなどであってもよい。
さらに、IPパケットは、IPv4用に限らず、IPv6用でもよい。
(プログラム)
また、前述した実施形態の機能を実現する本発明のプログラムは、前述した各実施の形態における各種ブロック図などに示された処理部(処理手段)、機能などに対応したプログラムや、フローチャートなどに示された処理手順、処理手段、機能などに対応したプログラムや、各種データ構造を利用するプログラムなどにおいて各々処理される各処理プログラム、本明細書で全般的に記述される方法(ステップ)、説明された処理、データの全体もしくは各部を含む。
具体的には、本発明の一実施形態におけるプログラムは、少なくとも分割パケットデータと非分割パケットデータとをこの順で入力処理し、前記分割パケットデータに特定の処理を行う場合の処理動作を制御するパケット制御装置が備えたコンピュータに諸機能を実現させることが可能なものである。
このパケット制御プログラムは、前記分割パケットデータが処理中であるか否かを検出する検出機能と、前記検出機能にて前記処理中であると検出された場合に、前記非分割パケットデータの出力を待機させ、処理された前記パケットデータと前記非分割パケットデータとを入力順に出力する処理動作を制御する出力制御機能と、を前記コンピュータに実現させることができる。
また、このパケット制御プログラムは、前記出力制御機能では、前記非分割パケットデータを非分割パケットデータ一時記憶手段に一時記憶させ、前記処理中である場合に、前記非分割パケットデータ一時記憶手段の前記非分割パケットデータの出力を停止制御する機能を前記コンピュータに実現させることができる。
さらに、このパケット制御プログラムは、前記検出機能では、前記特定の処理を行う複数の処理部について前記処理中であるか否かをそれぞれ検出する機能を前記コンピュータに実現させ、前記出力制御機能では、一の前記処理部にて前記分割パケットデータが処理中である場合に、前記他の処理部内に前記非分割パケットデータを滞留させる制御を行う機能を前記コンピュータに実現させることができる。
またさらに、このパケット制御プログラムは、前記特定の処理は、前記分割パケットデータを分割される前の元データに統合する統合処理を含み、前記出力制御機能では、統合処理中である場合に前記非分割パケットデータの出力を待機させる制御を行う機能を前記コンピュータに実現させることができる。
さらにまた、このパケット制御プログラムは、前記特定の処理は、前記分割パケットデータを分割される前の元データに統合する統合処理と、この統合された前記元データを再分割する再分割処理と、を含み、前記出力制御機能では、統合処理中又は再分割処理中である場合に前記非分割パケットデータの出力を待機させる制御を行う機能を前記コンピュータに実現させることができる。
また、このパケット制御プログラムは、前記特定の処理は、複数の前記統合処理を含み、前記出力制御機能では、いずれか一つの前記統合処理が統合処理中である場合に前記非分割パケットデータの出力を待機させる制御を行う機能を前記コンピュータに実現させることができる。
プログラムは、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。プログラムは、高水準プロシージャ型またはオブジェクト
指向プログラミング言語で、あるいは必要に応じてアセンブリまたはマシン言語で実装することができる。いずれの場合も、言語はコンパイラ型またはインタープリタ型言語であってもよい。
上述のパケット制御プログラムを、一般のパソコンや携帯型情報端末などで動作可能なアプリケーションソフトに組み込んだものも含む。
プログラムを供給する手法としては、電気通信回線(有線、無線を問わない)によってコンピュータと通信可能に接続された外部の機器から前記電気通信回線を通じて提供することも可能である。例えば、コンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページからプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、プログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるサーバも、本発明の範囲に含まれるものである。
本発明のプログラムによれば、当該制御プログラムを格納するROM等の記憶媒体から、当該制御プログラムをコンピュータ(CPU)に読み込んで実行させれば、或いは、当該制御プログラムを、通信手段を介してコンピュータにダウンロードさせた後に実行させれば、上述した本発明に係る装置を比較的簡単に実現できる。発明の思想の具現化例として装置のソフトウェアとなる場合には、かかるソフトウェアを記憶した記憶媒体上においても当然に存在し、利用される。
また、プログラムは、一次複製品、二次複製品などの複製段階については全く問う余地無く同等である。プログラムの供給方法として通信回線を利用して行なう場合であれば通信回線が伝送媒体となって本発明が利用されることになる。むろん、プログラムの発明として特定することもできる。さらに、装置における従属請求項は、方法,プログラムにおいて従属請求項に対応した構成にすることも可能である。
(情報記録媒体)
また、上述のプログラム(パケット制御プログラムを含む)を、情報記録媒体に記録した構成であってもよい。情報記録媒体には、上述のプログラムを含むアプリケーションプログラムが格納されており、コンピュータが当該情報記録媒体からアプリケーションプログラムを読み出し、当該アプリケーションプログラムをハードディスクにインストールすることが可能である。これにより、上述のプログラムは、磁気記録媒体、光記録媒体あるいはROMなどの情報記録媒体に記録してプログラムを提供することができる。そのようなプログラムが記録された情報記録媒体を、コンピュータにおいて使用することは、好都合な情報処理装置を構成する。
プログラムを供給するための情報記録媒体としては、例えばROM、RAM、フラッシュメモリやSRAM等の半導体メモリ並びに集積回路、あるいはそれらを含むUSBメモリやメモリカード、光ディスク、光磁気ディスク、磁気記録媒体等を用いてよく、さらに、フレキシブルディスク、CD−ROM、CD―R、CD―RW、FD、DVDROM、HDDVD(HDDVD−R−SL<1層>、 HDDVD−R−DL<2層>、HDDVD−RW−SL、HDDVD−RW−DL、HDDVD−RAM−SL)、DVD±R−SL、DVD±R−DL、DVD±RW−SL、DVD±RW−DL、DVD−RAM、Blu−Ray Disk<登録商標>(BD−RーSL、BD−R−DL、BD−RE−SL、BD−RE−DL)、MO、ZIP、磁気カード、磁気テープ、SDカード、メモリスティック、不揮発性メモリカード、ICカード、等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置、等に記録して構成して用いてよい。
さらに「情報記録媒体」は、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの(伝送媒体ないしは伝送波)、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。
また、コンピュータ上で稼働しているOS、端末(例えば携帯電話など)上のRTOS等が処理の一部又は全部を行う場合にも、上記実施の形態と同等の機能を実現できると共に、同等の効果を得ることができる。
さらに、プログラムを暗号化してCD−ROM等の記録媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。この場合、本発明の構成は、プログラムの各構成要素(各種の手段、ステップ及びデータ)と、前記プログラム(各種の手段、ステップ及びデータ)を暗号化する暗号化手段と、を含んでよい。
また、上記実施の形態におけるパケット制御装置において、パケット制御装置と他の通信装置(例えばホストなど)との間の通信構造は、クライアントサーバーシステムに限らず、サーバを介さずに端末同士がネットワークを組み、相互にデータを送受信するピアツーピア(Peer To Peer)通信によるシステムであってもよい。
また、上述の実施の形態のパケット制御装置を制御システムとして構成してもよい。この「システム」を、他の「システム」と統合したシステムとして、これら全体を本発明の「システム」として構成することも一向に構わない。「システム」には、OSや周辺機器等のハードウェアを含むことができる。
その場合における「システム」とは、複数の装置が論理的に集合した物をいい、各構成の装置が同一筐体中にあるか否かは問わない。このような場合、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
さらに、上述のプログラムなどが搭載される情報処理装置としては、サーバは、例えばパーソナルコンピュータに限らず、各種サーバー、EWS(エンジニアリングワークステーション)、中型コンピュータ、メインフレームなどが挙げられる。情報端末は、以上の例に加えて、携帯型情報端末、各種モバイル端末、PDA、携帯電話機、ウエアラブル情報端末、種々の(携帯型などの)テレビ・DVDレコーダ・各種音響機器及びそのリモコン、各種情報通信機能を搭載した家電機器、ネットワーク機能を有するゲーム機器等からも利用できる構成としても構わない。あるいは、これらの端末に表示されるアプリケーションとして改良されたものも本発明の範囲に含めることができる。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
さらに、本明細書において、フローチャートに示されるステップは、記載された手順に従って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理を含むものである。また、実装では、プログラム手順(ステップ)が実行される順序を変更することができる。さらに、実装の必要に応じて、本明細書で説明した特定の手順(ステップ)を、組み合わされた手順(ステップ)として実装、除去、追加、または再配置することができる。
さらに、装置の各手段、各機能、各ステップの手順の機能などのプログラムの機能を、専用のハードウエア(例えば専用の半導体回路等)によりその機能を達成してもよく、プログラムの全機能のうち一部の機能をハードウエアで処理し、全機能のうちさらに他の機能をソフトウエアで処理するようにしてもよい。専用のハードウエアの場合、各部を集積回路例えばLSIにて形成されてもよい。これらは個別に1チップ化されても良いし、一部または全部を含むように1チップ化されても良い。また、LSIには、他の機能ブロックが含まれていても良い。また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセサで実現してもよい。さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。
また、パケット制御装置と他の通信装置(例えば送信側ホストコンピュータや受信側ホストコンピュータ)との間の通信構造に際し、「通信」では、無線通信および有線通信は勿論、無線通信と有線通信とが混在した通信、即ち、ある区間では無線通信が行われ、他の区間では有線通信が行われるようなものであってもよい。さらに、ある装置から他の装置への通信が有線通信で行われ、他の装置からある装置への通信が無線通信で行われるようなものであってもよい。
そして、この通信には通信網が含まれる。通信網を構成するネットワークとしては、例えば携帯電話回線網(基地局及び交換システムを含む)、公衆電話回線網、IP電話網、ISDN回線網などこれに類する各種回線網、インターネット(乃ち、TCP・IPプロトコルを用いた通信態様)やイントラネット、LAN<イーサネット(登録商標)、やギガビットイーサネット(登録商標)などを含む>、WAN、ファイバチャネルネットワークなどの光ファイバー通信網、電力線通信網、ブロードバンド対応可能な各種専用回線網などいずれの構成でもよい。
さらに、ネットワークは、TCP・IPプロトコルの他、種々の通信プロトコルを用いたネットワークあるいはソフトウエア的に構築された仮想ネットワークやこれに類するあらゆるネットワークを含むネットワークなどいかなる通信プロトコルであってもよい。
また、ネットワークは、有線に限らず、無線(衛星通信、各種高周波通信手段等を含む)ネットワーク(例えば、簡易電話システムや携帯電話のようなシングルキャリア通信システム、W―CDMAやIEEE802.11bに準拠した無線LANのようなスペクトラム拡散通信システム、IEEE802.11aやHiperLAN/2のようなマルチキャリア通信システム、などを含むネットワーク)であっても構わず、これらの組み合わせを利用してもよく、他のネットワークと接続されたシステムであってもよい。さらに、ネットワークは、ポイントツーポイント、ポイントツーマルチポイント、マルチポイントツーマルチポイントなど如何なる形態でもよい。
また、パケット制御装置と他の通信装置(例えば送信側ホストコンピュータや受信側ホストコンピュータ)との間の通信構造に際し、いずれか一方又は双方に形成されるインタフェースの種類は、例えばパラレルインタフェース、USBインタフェース、IEEE1394、LANやWAN等のネットワークやその他これに類するもの、もしくは今後開発される如何なるインタフェースであっても構わない。
さらに、非分割パケットを待機させるパケット制御手法は、必ずしも実体のある装置に限られる必要はなく、その方法としても機能することは容易に理解できる。このため、方法にかかる発明も、必ずしも実体のある装置に限らず、その方法としても有効であることに相違はない。この場合、方法を実現するための一例としてパケット制御装置、通信装置なども含めることができる。
ところで、このような装置は、単独で存在する場合もあるし、ある機器(例えばパケット制御装置が通信装置や電子機器の機能として組み込まれているなど)に組み込まれた状態で利用されることもあるなど、発明の思想としてはこれに限らず、各種の態様を含むものである。従って、ソフトウェアであったりハードウェアであったりするなど、適宜、変更可能である。発明の思想の具現化例として装置のソフトウェアとなる場合には、かかるソフトウェアを記憶した記憶媒体上においても当然に存在し、利用されるといわざるをえない。
さらに、一部がソフトウェアであって、一部がハードウェアで実現されている場合であってもよく、一部を記憶媒体上に記憶しておいて必要に応じて適宜読み込まれるような形態のものとしてあってもよい。本発明をソフトウェアで実現する場合、ハードウェアやオペレーティングシステムを利用する構成とすることも可能であるし、これらと切り離して実現することもできる。
また、発明の範囲は、図示例に限定されないものとする。
さらに、上記各実施の形態には種々の段階が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出され得る。つまり、上述の各実施の形態同士、あるいはそれらのいずれかと各変形例のいずれかとの組み合わせによる例をも含む。この場合において、本実施形態において特に記載しなくとも、各実施の形態及びそれらの変形例に開示した各構成から自明な作用効果については、当然のことながら実施の形態の作用効果として含めることができる。逆に、本実施の形態に記載されたすべての作用効果を奏することのできる構成が、本発明の本質的特徴部分の必須構成要件であるとは限らない。また、実施の形態に示される全構成要件から幾つかの構成要件が削除された構成による実施の形態並びにその構成に基づく技術的範囲も発明になりうる。
そして、各実施の形態及びそれらの変形例を含むこれまでの記述は、本発明の理解を容易にするために、本発明の多様な実施の形態のうちの一例の開示、すなわち、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、例証するものであり、制限するものではなく、適宜変形及び/又は変更が可能である。本発明は、その技術思想、またはその主要な特徴に基づいて、様々な形で実施することができ、各実施の形態及びその変形例によって本発明の技術的範囲が限定的に解釈されてはならないものである。
従って、上記に開示された各要素は、本発明の技術的範囲に属する全ての設計変更や均等物を含む趣旨である。
本発明は、コンピュータ全般に適用可能であり、より詳細には、イーサネット通信ネットワークにおけるルータ機能部のIPパケット送受信処理、といった用途に適用できる。
本発明の第1の実施の形態によるパケット制御装置の全体構成の一例を示すブロック図である。 本発明の第1の実施の形態によるパケット制御装置における処理手順の一例を示すフローチャートである。 図1のパケット制御装置におけるパケット処理のタイミングを説明するための説明図である。 本発明の第2の実施の形態によるパケット制御装置の全体構成の一例を示すブロック図である。 関連技術のパケット制御装置の全体構成の一例を示すブロック図である。 関連技術のパケット制御装置における処理手順の一例を示すフローチャートである。 関連技術のパケット制御装置におけるパケット処理のタイミングを説明するための説明図である。 関連技術のパケット制御装置の全体構成の一例を示すブロック図である。
符号の説明
1 パケット制御装置
12 受信検出部
14 FID検出機能部
16−1〜16−N デフラグメント処理部(1)〜(N)
16a−1〜16a−N 検出部(検出手段)
16b−1〜16b−N 出力制御部(出力制御手段)
18 フラグメント処理部
18a 検出部(検出手段)
18b 出力制御部(出力制御手段)
19 送信処理部
20 パケットバッファ(非分割パケットデータ一時記憶手段)

Claims (18)

  1. 少なくとも分割パケットデータと非分割パケットデータとをこの順で入力処理し、前記分割パケットデータに特定の処理を行う場合の処理動作を制御するパケット制御装置であって、
    前記分割パケットデータが処理中であるか否かを検出する検出手段と、
    前記検出手段にて前記処理中であると検出された場合に、前記非分割パケットデータの出力を待機させ、処理されたパケットデータと前記非分割パケットデータとを入力順に出力する処理動作を制御する出力制御手段と、
    を含むことを特徴とするパケット制御装置。
  2. 請求項1に記載のパケット制御装置において、
    前記非分割パケットデータを一時記憶する非分割パケットデータ一時記憶手段を前記出力制御手段に併設し、
    前記出力制御手段は、
    前記処理中である場合に、前記非分割パケットデータ一時記憶手段の前記非分割パケットデータの出力を停止制御する制御信号を前記非分割パケットデータ一時記憶手段に出力することを特徴とするパケット制御装置。
  3. 請求項1に記載のパケット制御装置において、
    前記特定の処理を行う複数の処理部を前記出力制御手段に併設し、
    前記検出手段は、各々の前記処理部について前記処理中であるか否かをそれぞれ検出し、
    前記出力制御手段は、
    一の前記処理部にて前記分割パケットデータが処理中である場合に、前記他の処理部内に前記非分割パケットデータを滞留させる制御を行うことを特徴とするパケット制御装置。
  4. 請求項1に記載のパケット制御装置において、
    前記特定の処理は、前記分割パケットデータを分割される前の元データに統合する統合処理を含み、
    前記検出手段は、前記分割パケットデータが統合処理中であるか否かを検出し、
    前記出力制御手段は、前記統合処理中である場合に前記非分割パケットデータの出力を待機させる制御を行うことを特徴とするパケット制御装置。
  5. 請求項1に記載のパケット制御装置において、
    前記特定の処理は、前記分割パケットデータを分割される前の元データに統合する統合処理と、この統合された前記元データを再分割する再分割処理と、を含み、
    前記検出手段は、前記分割パケットデータが統合処理中又は再分割処理中であるか否かを検出し、
    前記出力制御手段は、前記統合処理中又は前記再分割処理中である場合に前記非分割パケットデータの出力を待機させる制御を行うことを特徴とするパケット制御装置。
  6. 請求項4に記載のパケット制御装置において、
    前記特定の処理は、複数の前記統合処理を含み、
    前記検出手段は、各々の前記統合処理について統合処理中であるか否かをそれぞれ検出し、
    前記出力制御手段は、いずれか一つの前記統合処理が前記統合処理中である場合に前記非分割パケットデータの出力を待機させる制御を行うことを特徴とするパケット制御装置。
  7. 少なくとも分割パケットデータと非分割パケットデータとをこの順で入力処理し、前記分割パケットデータに特定の処理を行う場合の処理動作を制御するパケット制御方法であって、
    前記分割パケットデータが処理中であるか否かを検出する検出ステップと、
    前記検出ステップにて前記処理中であると検出された場合に、前記非分割パケットデータの出力を待機させ、処理された前記パケットデータと前記非分割パケットデータとを入力順に出力する処理動作を制御する出力制御ステップと、
    を含むことを特徴とするパケット制御方法。
  8. 請求項7に記載のパケット制御方法において、
    前記出力制御ステップでは、
    前記非分割パケットデータを非分割パケットデータ一時記憶手段に一時記憶させ、前記処理中である場合に、前記非分割パケットデータ一時記憶手段の前記非分割パケットデータの出力を停止制御することを特徴とするパケット制御方法。
  9. 請求項7に記載のパケット制御方法において、
    前記検出ステップでは、前記特定の処理を行う複数の処理部について前記処理中であるか否かをそれぞれ検出し、
    前記出力制御ステップでは、一の前記処理部にて前記分割パケットデータが処理中である場合に、前記他の処理部内に前記非分割パケットデータを滞留させる制御を行うことを特徴とするパケット制御方法。
  10. 請求項7に記載のパケット制御方法において、
    前記特定の処理は、前記分割パケットデータを分割される前の元データに統合する統合処理を含み、
    前記出力制御ステップでは、統合処理中である場合に前記非分割パケットデータの出力を待機させる制御を行うことを特徴とするパケット制御方法。
  11. 請求項7に記載のパケット制御方法において、
    前記特定の処理は、前記分割パケットデータを分割される前の元データに統合する統合処理と、この統合された前記元データを再分割する再分割処理と、を含み、
    前記出力制御ステップでは、統合処理中又は再分割処理中である場合に前記非分割パケットデータの出力を待機させる制御を行うことを特徴とするパケット制御方法。
  12. 請求項10に記載のパケット制御方法において、
    前記特定の処理は、複数の前記統合処理を含み、
    前記出力制御ステップでは、いずれか一つの前記統合処理が統合処理中である場合に前記非分割パケットデータの出力を待機させる制御を行うことを特徴とするパケット制御方法。
  13. 少なくとも分割パケットデータと非分割パケットデータとをこの順で入力処理し、前記分割パケットデータに特定の処理を行う場合の処理動作を制御するパケット制御装置が備えたコンピュータに諸機能を実現させることが可能なパケット制御プログラムであって、
    前記分割パケットデータが処理中であるか否かを検出する検出機能と、
    前記検出機能にて前記処理中であると検出された場合に、前記非分割パケットデータの出力を待機させ、処理された前記パケットデータと前記非分割パケットデータとを入力順に出力する処理動作を制御する出力制御機能と、
    を前記コンピュータに実現させることを特徴とするパケット制御プログラム。
  14. 請求項13に記載のパケット制御プログラムにおいて、
    前記出力制御機能では、
    前記非分割パケットデータを非分割パケットデータ一時記憶手段に一時記憶させ、前記処理中である場合に、前記非分割パケットデータ一時記憶手段の前記非分割パケットデータの出力を停止制御する機能を前記コンピュータに実現させることを特徴とするパケット制御プログラム。
  15. 請求項13に記載のパケット制御プログラムにおいて、
    前記検出機能では、
    前記特定の処理を行う複数の処理部について前記処理中であるか否かをそれぞれ検出する機能を前記コンピュータに実現させ、
    前記出力制御機能では、
    一の前記処理部にて前記分割パケットデータが処理中である場合に、前記他の処理部内に前記非分割パケットデータを滞留させる制御を行う機能を前記コンピュータに実現させることを特徴とするパケット制御プログラム。
  16. 請求項13に記載のパケット制御プログラムにおいて、
    前記特定の処理は、前記分割パケットデータを分割される前の元データに統合する統合処理を含み、
    前記出力制御機能では、
    統合処理中である場合に前記非分割パケットデータの出力を待機させる制御を行う機能を前記コンピュータに実現させることを特徴とするパケット制御プログラム。
  17. 請求項13に記載のパケット制御プログラムにおいて、
    前記特定の処理は、前記分割パケットデータを分割される前の元データに統合する統合処理と、この統合された前記元データを再分割する再分割処理と、を含み、
    前記出力制御機能では、
    統合処理中又は再分割処理中である場合に前記非分割パケットデータの出力を待機させる制御を行う機能を前記コンピュータに実現させることを特徴とするパケット制御プログラム。
  18. 請求項16に記載のパケット制御プログラムにおいて、
    前記特定の処理は、複数の前記統合処理を含み、
    前記出力制御機能では、
    いずれか一つの前記統合処理が統合処理中である場合に前記非分割パケットデータの出力を待機させる制御を行う機能を前記コンピュータに実現させることを特徴とするパケット制御プログラム。
JP2008256445A 2008-10-01 2008-10-01 パケット制御装置、パケット制御方法、及びパケット制御プログラム Expired - Fee Related JP5120188B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008256445A JP5120188B2 (ja) 2008-10-01 2008-10-01 パケット制御装置、パケット制御方法、及びパケット制御プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008256445A JP5120188B2 (ja) 2008-10-01 2008-10-01 パケット制御装置、パケット制御方法、及びパケット制御プログラム

Publications (2)

Publication Number Publication Date
JP2010087975A true JP2010087975A (ja) 2010-04-15
JP5120188B2 JP5120188B2 (ja) 2013-01-16

Family

ID=42251446

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008256445A Expired - Fee Related JP5120188B2 (ja) 2008-10-01 2008-10-01 パケット制御装置、パケット制御方法、及びパケット制御プログラム

Country Status (1)

Country Link
JP (1) JP5120188B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103945510B (zh) * 2014-03-27 2017-06-16 西安电子科技大学 站点区分广播帧与组播帧的方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004135076A (ja) * 2002-10-10 2004-04-30 Fujitsu Ltd 断片パケットのリアセンブルおよびリオーダリング装置
JP2007274056A (ja) * 2006-03-30 2007-10-18 Oki Electric Ind Co Ltd データグラム再組立装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004135076A (ja) * 2002-10-10 2004-04-30 Fujitsu Ltd 断片パケットのリアセンブルおよびリオーダリング装置
JP2007274056A (ja) * 2006-03-30 2007-10-18 Oki Electric Ind Co Ltd データグラム再組立装置

Also Published As

Publication number Publication date
JP5120188B2 (ja) 2013-01-16

Similar Documents

Publication Publication Date Title
US8649395B2 (en) Protocol stack using shared memory
US10084647B2 (en) Data forwarding to server via virtual network card or to external network via network interface, based on fusion descriptor
US10735373B2 (en) Communications over multiple protocol interfaces in a computing environment
CN104580011B (zh) 一种数据转发装置和方法
JP2009231975A (ja) 情報処理装置、情報処理方法、クライアント機器、情報処理システム
CN103297424A (zh) 复用式数据流协议
KR20140012673A (ko) Nfc 피어 투 피어 통신 환경에서 인터넷 프로토콜(ip) 데이터 통신을 제공하는 방법 및 시스템
JP2006325054A (ja) Tcp/ip受信処理回路及びそれを具備する半導体集積回路
EP3270322B1 (en) Encrypting system level data structures
EP2255483B1 (en) Method and apparatus for managing transmission of tcp data segments
JP5824257B2 (ja) 画像処理装置、その制御方法、及びプログラム
US9413693B2 (en) Network relay apparatus and program
JP2009218743A (ja) Ipプロトコル処理装置及びその処理方法
JP5120188B2 (ja) パケット制御装置、パケット制御方法、及びパケット制御プログラム
JP2003304248A (ja) データ転送方法及び装置
JP4401910B2 (ja) データ通信装置及びデータ通信方法
JP4978732B2 (ja) 転送制御装置、多重化フレーム転送システム、転送制御方法、及び転送制御プログラム
CN112737915B (zh) 基于智能网卡的内网隧道跨域网关转发方法、系统、设备和介质
US20150180777A1 (en) Data processing apparatus and method
CN106060158B (zh) 一种判断目标设备的状态的方法和装置
JP5639129B2 (ja) パケット転送システム、パケット転送方法、及びそのためのプログラム
JP6344520B2 (ja) 通信装置、情報処理方法、及び、情報処理プログラム
JP2006180246A (ja) Ipパケット処理装置
KR100912079B1 (ko) 무선망에서 집합 프레임 처리 장치 및 그 방법
JP2020043486A (ja) 通信装置、通信装置の制御方法およびプログラム

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20100414

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110909

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120727

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120808

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120913

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121008

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

Free format text: PAYMENT UNTIL: 20151102

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees