(57)【要約】【課題】ＴＣＰもしくはＵＤＰパケットがフラグメントされている場合でも、識別したフローに基づいて品質制御やデータリンク層の識別子の付与を行なことが可能なパケット送信装置を提供する。【解決手段】パケット選別部が、ＩＰパケットが先頭のフラグメントの場合、当該ＩＰパケットに含まれる発信元ＩＰアドレスなどの情報を検索キーとして前記第１の表を検索する手段と、第１の表を検索した結果、当該検索キーに対応するフロー識別子が検索された際に、当該ＩＰパケットに含まれる、発信元ＩＰアドレス、宛先ＩＰアドレス、プロトコル番号、及びフラグメント識別子から構成される情報と、検索されたフロー識別子を第２の表に登録する手段と、ＩＰパケットが先頭のフラグメントでない場合、ＩＰパケットに含まれる発信元ＩＰアドレスなどの情報を検索キーとして前記第２の表を検索する手段とを有する。【選択図】　　　　図４
2004147164.tif 000002
【特許請求の範囲】
【請求項１】
発信元ＩＰアドレス、宛先ＩＰアドレス、プロトコル番号、発信元ポート番号、及び宛先ポート番号の一部あるいは全部を含む情報に対応する、フロー識別子を予め定めた表であって、発信元ＩＰアドレス、宛先ＩＰアドレス、プロトコル番号、発信元ポート番号、及び宛先ポート番号の一部あるいは全部を含む情報を検索キーとして、対応するフロー識別子を検索する検索手段を備えた第１の表と、
発信元ＩＰアドレス、宛先ＩＰアドレス、プロトコル番号、及びフラグメント識別子から構成される情報に対応する、フロー識別子を定めた表であって、発信元ＩＰアドレス、宛先ＩＰアドレス、プロトコル番号、及びフラグメント識別子から構成される情報と、対応するフロー識別子を登録する登録手段と、発信元ＩＰアドレス、宛先ＩＰアドレス、プロトコル番号、及びフラグメント識別子から構成される情報と、対応するフロー識別子を消去する消去手段と、発信元ＩＰアドレス、宛先ＩＰアドレス、プロトコル番号、及びフラグメント識別子から構成される情報を検索キーとして、対応するフロー識別子を検索する検索手段と、一定時間検索されなかった、発信元ＩＰアドレス、宛先ＩＰアドレス、プロトコル番号、及びフラグメント識別子から構成される情報と、対応するフロー識別子を消去するエージング手段を備えた第２の表と、
ＴＣＰもしくはＵＤＰパケットをカプセル化したＩＰバージョン４パケットに対応するフロー識別子を検索するパケット選別部と、
ＩＰバージョン４パケットを、対応するフロー識別子に基づいて、フレームにカプセル化してネットワークに送信するスケジューリング部とを備えるパケット送信装置であって、
前記パケット選別部は、ＴＣＰもしくはＵＤＰパケットをカプセル化したＩＰバージョン４パケットのフロー識別子を検索する際に、当該ＩＰバージョン４パケットに含まれるフラグメントオフセットの値が０の場合は、当該ＩＰバージョン４パケットに含まれる、発信元ＩＰアドレス、宛先ＩＰアドレス、プロトコル番号、及び当該ＩＰバージョン４パケットにカプセル化されたＴＣＰもしくはＵＤＰパケットに含まれる、発信元ポート番号、宛先ポート番号の一部あるいは全部を含む情報を検索キーとして前記第１の表を検索する手段と、
前記第１の表を検索した結果、当該検索キーに対応するフロー識別子が検索された際に、当該ＩＰバージョン４パケットに含まれるＭＦフラグの値が１の場合は、当該ＩＰバージョン４パケットに含まれる、発信元ＩＰアドレス、宛先ＩＰアドレス、プロトコル番号、及びフラグメント識別子から構成される情報と、検索された当該フロー識別子を前記第２の表に登録する手段と、
ＴＣＰもしくはＵＤＰパケットをカプセル化したＩＰバージョン４パケットのフロー識別子を検索する際に、当該ＩＰバージョン４パケットに含まれるフラグメントオフセットの値が０以外の値の場合は、当該ＩＰバージョン４パケットに含まれる、発信元ＩＰアドレス、宛先ＩＰアドレス、プロトコル番号、及びフラグメント識別子から構成される情報を検索キーとして前記第２の表を検索する手段とを有することを特徴とするパケット送信装置。
【請求項２】
前記パケット選別部は、前記第２の表を検索した結果、当該検索キーに対応するフロー識別子が検索された際に、当該ＩＰバージョン４パケットに含まれるＭＦフラグの値が０の場合は、当該ＩＰバージョン４パケットに含まれる、発信元ＩＰアドレス、宛先ＩＰアドレス、プロトコル番号、及びフラグメント識別子から構成される情報と、検索された当該フロー識別子を前記第２の表から消去する手段を有することを特徴とする請求項１に記載のパケット送信装置。
【請求項３】
フロー識別子のデフォルト値が予め定められており、
前記パケット選別部は、前記第１の表、もしくは前記第２の表を検索した結果、当該検索キーに対応するフロー識別子が存在しない場合、当該ＩＰバージョン４パケットに対応するフロー識別子を、当該デフォルト値とする手段を有することを特徴とする請求項１または請求項２に記載のパケット送信装置。
【請求項４】
前記パケット選別部は、前記第１の表、もしくは前記第２の表を検索した結果、当該検索キーに対応するフロー識別子が存在しない場合、当該ＩＰバージョン４パケットを破棄する手段を有することを特徴とする請求項１または請求項２に記載のパケット送信装置。
【請求項５】
ネットワークに送信するフレームが、タグヘッダを含むＭＡＣフレームであり、
前記スケジューリング部は、ＩＰバージョン４パケットをタグヘッダを含むＭＡＣフレームにカプセル化してネットワークに送信する際に、当該タグヘッダに含まれるＶＬＡＮ識別子にフロー識別子に基づいた値を付与する手段を有することを特徴とする請求項１ないし請求項４のいずれか１項に記載のパケット送信装置。
【請求項６】
ネットワークに送信するフレームが、ＡＴＭセルに分割されたＡＡＬ５プロトコルデータユニットであり、
前記スケジューリング部は、ＩＰバージョン４パケットをＡＴＭセルに分割されたＡＡＬ５プロトコルデータユニットにカプセル化してネットワークに送信する際に、当該ＡＴＭセルに含まれるＶＰＩ及びＶＣＩにフロー識別子に基づいた値を付与する手段を有することを特徴とする請求項１ないし請求項４のいずれか１項に記載のパケット送信装置。
【請求項７】
発信元ＩＰアドレス、宛先ＩＰアドレス、プロトコル番号、発信元ポート番号、及び宛先ポート番号の一部あるいは全部を含む情報に対応する、フロー識別子を予め定めた表であって、発信元ＩＰアドレス、宛先ＩＰアドレス、プロトコル番号、発信元ポート番号、及び宛先ポート番号の一部あるいは全部を含む情報を検索キーとして、対応するフロー識別子を検索する検索手段を備えた第１の表と、
発信元ＩＰアドレス、宛先ＩＰアドレス、及びフラグメント識別子から構成される情報に対応する、フロー識別子を定めた表であって、発信元ＩＰアドレス、宛先ＩＰアドレス、及びフラグメント識別子から構成される情報と、対応するフロー識別子を登録する登録手段と、発信元ＩＰアドレス、宛先ＩＰアドレス、及びフラグメント識別子から構成される情報と、対応するフロー識別子を消去する消去手段と、発信元ＩＰアドレス、宛先ＩＰアドレス、及びフラグメント識別子から構成される情報を検索キーとして、対応するフロー識別子を検索する検索手段と、一定時間検索されなかった、発信元ＩＰアドレス、宛先ＩＰアドレス、及びフラグメント識別子から構成される情報と、対応するフロー識別子を消去するエージング手段を備えた第２の表と、
ＴＣＰもしくはＵＤＰパケットをカプセル化したＩＰバージョン６パケットに対応するフロー識別子を検索するパケット選別部と、
ＩＰバージョン６パケットを、対応するフロー識別子に基づいて、フレームにカプセル化してネットワークに送信するスケジューリング部とを備えるパケット送信装置であって、
前記パケット選別部は、ＴＣＰもしくはＵＤＰパケットをカプセル化したＩＰバージョン６パケットのフロー識別子を検索する際に、当該ＩＰバージョン６パケットがフラグメントヘッダを含まない場合、もしくは、当該ＩＰバージョン６パケットがフラグメントヘッダを含む場合であって、かつ当該フラグメントヘッダに含まれるフラグメントオフセットの値が０の場合は、当該ＩＰバージョン６パケットに含まれる、発信元ＩＰアドレス、宛先ＩＰアドレス、プロトコル番号、及び当該ＩＰバージョン６パケットにカプセル化されたＴＣＰもしくはＵＤＰパケットに含まれる、発信元ポート番号、宛先ポート番号の一部あるいは全部を含む情報を検索キーとして前記第１の表を検索する手段と、
前記第１の表を検索した結果、当該検索キーに対応するフロー識別子が検索された際に、当該ＩＰバージョン６パケットがフラグメントヘッダを含む場合であって、かつ当該フラグメントヘッダに含まれるＭフラグの値が１の場合は、当該ＩＰバージョン６パケットに含まれる、発信元ＩＰアドレス、宛先ＩＰアドレス、及び当該フラグメントヘッダに含まれるフラグメント識別子から構成される情報と、検索された当該フロー識別子を前記第２の表に登録する手段と、
ＴＣＰもしくはＵＤＰパケットをカプセル化したＩＰバージョン６パケットのフロー識別子を検索する際に、当該ＩＰバージョン６パケットがフラグメントヘッダを含む場合であって、かつ当該フラグメントヘッダに含まれるフラグメントオフセットの値が０以外の値の場合は、当該ＩＰバージョン６パケットに含まれる、発信元ＩＰアドレス、宛先ＩＰアドレス、及び当該フラグメントヘッダに含まれるフラグメント識別子から構成される情報を検索キーとして前記第２の表を検索する手段を有することを特徴とするパケット送信装置。
【請求項８】
前記パケット選別部は、前記第２の表を検索した結果、当該検索キーに対応するフロー識別子が検索された際に、当該ＩＰバージョン６パケットに含まれるＭフラグの値が０の場合は、当該ＩＰバージョン６パケットに含まれる、発信元ＩＰアドレス、宛先ＩＰアドレス、及びフラグメント識別子から構成される情報と、検索された当該フロー識別子を前記第２の表から消去する手段を有することを特徴とする請求項７に記載のパケット送信装置。
【請求項９】
フロー識別子のデフォルト値が予め定められており、
前記パケット選別部は、前記第１の表、もしくは前記第２の表を検索した結果、検索キーに対応するフロー識別子が存在しない場合、当該ＩＰバージョン６パケットに対応するフロー識別子を、当該デフォルト値とする手段を有することを特徴とする請求項７または請求項８に記載のパケット送信装置。
【請求項１０】
前記パケット選別部は、前記第１の表、もしくは前記第２の表を検索した結果、検索キーに対応するフロー識別子が存在しない場合、当該ＩＰバージョン６パケットを破棄する手段を有することを特徴とする請求項７または請求項８に記載のパケット送信装置。
【請求項１１】
ネットワークに送信するフレームが、タグヘッダを含むＭＡＣフレームであり、
前記スケジューリング部は、ＩＰバージョン６パケットをタグヘッダを含むＭＡＣフレームにカプセル化してネットワークに送信する際に、当該タグヘッダに含まれるＶＬＡＮ識別子にフロー識別子に基づいた値を付与する手段を有することを特徴とする請求項７ないし請求項１０のいずれか１項に記載のパケット送信装置。
【請求項１２】
ネットワークに送信するフレームが、ＡＴＭセルに分割されたＡＡＬ５プロトコルデータユニットであり、
前記スケジューリング部は、ＩＰバージョン６パケットをＡＴＭセルに分割されたＡＡＬ５プロトコルデータユニットにカプセル化してネットワークに送信する際に、当該ＡＴＭセルに含まれるＶＰＩ及びＶＣＩにフロー識別子に基づいた値を付与する手段を有することを特徴とする請求項７ないし請求項１０のいずれか１項に記載のパケット送信装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、パケット送信装置に係わり、特に、本発明は、ＩＰネットワークにおけるエンド・ツウ・エンドの通信を識別するセッション（アソシエーションと呼ばれる場合もある）の一部あるいは全部を含む情報をＴＣＰもしくはＵＤＰパケットをカプセル化したＩＰパケットから識別して、識別した情報に基づいてＩＰパケットに対して帯域保証や優先制御等の品質制御や、データリンク層の識別子の付与を行なうパケット送信装置に関する。
【０００２】
【従来の技術】
インターネットにおけるエンド・ツウ・エンドの通信は、一般にはＴＣＰもしくはＵＤＰパケットをカプセル化したＩＰパケットによって実現され、この通信における片方向の通信、即ち、サーバ等が提供するアプリケーションを利用する端末と、このサーバ間の通信における片方向の通信は、サーバや端末を識別する、発信元ＩＰアドレス、宛先ＩＰアドレス、ＴＣＰやＵＤＰを識別するプロトコル番号、アプリケーションを識別する発信元ポート番号、宛先ポート番号の組合わせによって識別される。
この発信元ＩＰアドレス、宛先ＩＰアドレス、プロトコル番号、発信元ポート番号、及び宛先ポート番号で識別される片方向の通信はセッションと呼ばれ、インターネットにおける通信を識別する基本的な単位となる。セッションは、ＩＰバージョン４パケットでも、バージョン６パケットでも共通の概念である。
【０００３】
インターネットにおける通信は、セッションを構成する情報を基に識別する事が可能である。
例えば、インターネットにおける特定のサーバが提供する特定のアプリケーションと不特定の端末間の通信は、端末からサーバ方向は、宛先ＩＰアドレス、プロトコル番号、及び宛先ポート番号で識別され、サーバから端末方向は、発信元ＩＰアドレス、プロトコル番号、及び発信元ポート番号で識別される。
同様に、インターネットにおける特定のサーバが提供する特定のアプリケーションと特定の端末間の通信は、端末からサーバ方向は、発信元ＩＰアドレス、宛先ＩＰアドレス、プロトコル番号、及び宛先ポート番号で識別され、サーバから端末方向は、発信元ＩＰアドレス、宛先ＩＰアドレス、プロトコル番号、及び発信元ポート番号で識別される。
本明細書では、ＴＣＰもしくはＵＤＰパケットをカプセル化したＩＰパケットに含まれる、セッションを識別する情報（発信元ＩＰアドレス、宛先ＩＰアドレス、プロトコル番号、発信元ポート番号、及び宛先ポート番号）の一部あるいは全部を含む情報で識別されるインターネット上の通信をフローと定義する。
【０００４】
インターネット上の通信におけるフローの識別は、ＩＰパケットに対する帯域保証や優先制御等の品質制御や、データリンク層の識別子の付与の際に用いられる。
例えば、インターネットにおける資源予約プロトコルを規定した、インターネット標準　ＲＦＣ　２２０５及び２２１０には、ＩＰパケットをフロー毎に識別して、品質制御を行なう方法が規定されている。
また、仮想ＬＡＮのプロトコルを定めたＩＥＥＥ標準　８０２．１Ｑ−１９９８，８０２．１ｕ−２００１，８０２．１ｖ−２００１に規定された、タグヘッダを含むＭＡＣフレームに対してＶＬＡＮ識別子を付与する方法として、アプリケーションＶＬＡＮがある。
この方法は、前記の標準には規定されておらず、仮想ＬＡＮをサポートしたブリッジやルータ装置を実装するベンダ毎の独自機能であるが、おおむねＭＡＣフレームのタグヘッダに対して、ＭＡＣフレームが転送する上位プロトコルのアプリケーションに対応したＶＬＡＮ識別子を付与する方法であり、ＶＬＡＮ識別子を付与する際にフローの識別を必要とする。
【０００５】
従来の、インターネット上の通信におけるフローの識別は、ＩＰパケットに含まれるセッションを識別する情報に基づいて実現されている。
ＴＣＰもしくはＵＤＰパケットをカプセル化したＩＰバージョン４パケットの例を図１に示す。
図１の１０２から１０７のフィールドはオプションフィールドを含まないＩＰバージョン４パケットのヘッダ部分であり、フィールド１０５のプロトコル番号の値が６の場合は、１０８以降のフィールドはＴＣＰパケット、１７の場合はＵＤＰパケットのヘッダ部分である。ＴＣＰパケットとＵＤＰパケットのフィールド１０８及び１０９の形式は同一である。
図１から明らかな通り、セッションを識別する情報である、発信元ＩＰアドレスはフィールド１０６、宛先ＩＰアドレスはフィールド１０７、プロトコル番号はフィールド１０５、発信元ポート番号はフィールド１０８、宛先ポート番号はフィールド１０９から取得する事が出来る。
【０００６】
また、ＴＣＰもしくはＵＤＰパケットをカプセル化したＩＰバージョン６パケットの例を図２に示す。
図２の２０２から２０８のフィールドはフラグメントヘッダを含むＩＰバージョン６パケットのヘッダ部分であり、フィールド２０６の次のヘッダの値が６の場合は、２０９以降のフィールドはＴＣＰパケット、１７の場合はＵＤＰパケットのヘッダ部分である。ＴＣＰパケットとＵＤＰパケットのフィールド２０９及び２１０の形式は同一である。
図２から明らかな通り、セッションを識別する情報である、発信元ＩＰアドレスはフィールド２０４、宛先ＩＰアドレスはフィールド２０５、プロトコル番号はフィールド２０６、発信元ポート番号はフィールド２０９、宛先ポート番号はフィールド２１０から取得する事が出来る。
【０００７】
なお、本願発明に関連する先行技術文献情報としては以下のものがある。
【特許文献１】
特表２００２−５１１７０３号公報
【特許文献２】
特開２００１−２７４７９５号公報
【０００８】
【発明が解決しようとする課題】
以上述べた、ＩＰパケットに含まれるセッションを識別する情報に基づいて、フローを識別する方法は、例えば、特許文献１（特表２００２−５１１７０３号公報）にも開示されている。
しかし、これらのフロー識別方法は、フラグメント（断片化）したパケットに対しては適用出来ない場合がある。
ＴＣＰもしくはＵＤＰパケットをカプセル化したＩＰパケットをＭＡＣフレームにカプセル化した例を図３に示す。
ＴＣＰもしくはＵＤＰパケットにカプセル化されるユーザデータ長と、このＴＣＰもしくはＵＤＰパケットのヘッダ長と、ＩＰパケットのヘッダ長の和が、ＭＡＣフレームが伝送可能なデータ長以下の場合、このＴＣＰもしくはＵＤＰパケットは図３の（Ａ）に示す形式に基づいてＩＰパケットにカプセル化され、ＩＰパケットはＭＡＣフレームにカプセル化される。
しかし、ＴＣＰもしくはＵＤＰパケットにカプセル化されるユーザデータ長と、このＴＣＰもしくはＵＤＰパケットのヘッダ長と、ＩＰパケットのヘッダ長の和が、ＭＡＣフレームが伝送可能なデータ長を越えるため、図３の（Ａ）に示す形式では伝送が不可能な場合、図３の（Ｂ）に示す様に、このＴＣＰもしくはＵＤＰパケットは、ＩＰヘッダを含んだ際に、ＭＡＣフレームで伝送可能なデータ長以下にフラグメント処理され、フラグメントした各々のＴＣＰもしくはＵＤＰパケットはＩＰパケットにカプセル化され、ＩＰパケットはＭＡＣフレームにカプセル化される。
【０００９】
フラグメントはＩＰバージョン４でもバージョン６でもほぼ共通の概念である。
インターネットプロトコルバージョン４のプロトコルを定めたインターネット標準　ＲＦＣ　７９１に規定されたＩＰバージョン４のフラグメント処理は、パケットの発信元の端末、もしくはパケットを転送するルータにおいて、ネットワークに送信するＩＰバージョン４パケットの長さが、これをカプセル化するフレームにおいて伝送可能なデータ長を越える場合に行なわれ、宛先の端末でフラグメント処理前のＴＣＰやＵＤＰパケット等に復元される。
ＩＰバージョン４パケットのフィールド１０４に含まれるフラグメントオフセットの値は、このパケットに含まれるＴＣＰやＵＤＰパケット等が、フラグメント前のＴＣＰやＵＤＰパケット等において出現する位置を示す。
この値が０の場合、このＩＰバージョン４パケットに含まれるＴＣＰやＵＤＰパケット等は、フラグメント前のＴＣＰやＵＤＰパケット等の先頭部分となる。
【００１０】
また、フィールド１０４に含まれるＭＦの値が０の場合は、このパケットに含まれるＴＣＰやＵＤＰパケット等が、フラグメントの末尾のパケットである事を示し、１の場合は末尾では無い事を示す。
尚、フィールド１０４に含まれるフラグメントオフセットの値が０で、かつフィールド１０４に含まれるＭＦの値が０の場合は、このＩＰバージョン４パケットがフラグメントしていない事を示す。
フィールド１０３に含まれるフラグメント識別子は、このパケットに含まれるＴＣＰやＵＤＰパケット等に対応するフラグメント前のＴＣＰやＵＤＰパケット等を識別するもので、フィールド１０６の発信元ＩＰアドレス、フィールド１０７の宛先ＩＰアドレス、フィールド１０５に含まれるプロトコル番号と、このフラグメント識別子の組合わせによって、フラグメント前のＴＣＰやＵＤＰパケット等はネットワーク上で一意に識別される。
【００１１】
インターネットプロトコルバージョン６のプロトコルを定めたインターネット標準　ＲＦＣ　２４６０に規定されたＩＰバージョン６のフラグメント処理は、パケットの発信元の端末において、ネットワークに送信するＩＰバージョン６パケットの長さが、これをカプセル化して伝送する経路において伝送可能なデータ長を越える場合に行なわれ、宛先の端末でフラグメント処理前のＴＣＰやＵＤＰパケット等に復元される。
ＩＰバージョン６ではフラグメントヘッダはオプションヘッダである。ＩＰバージョン６パケットのフィールド２０７に含まれるフラグメントオフセットの値は、このパケットに含まれるＴＣＰやＵＤＰパケット等が、フラグメント前のＴＣＰやＵＤＰパケット等において出現する位置を示す。
この値が０の場合、このＩＰバージョン６パケットに含まれるＴＣＰやＵＤＰパケット等は、フラグメント前のＴＣＰやＵＤＰパケット等の先頭部分となる。
【００１２】
また、フィールド２０７に含まれるＭの値が０の場合は、このパケットに含まれるＴＣＰやＵＤＰパケット等が、フラグメントの末尾のパケットである事を示し、１の場合は末尾では無い事を示す。
尚、ＩＰバージョン６パケットがフラグメントヘッダを含んでいない場合、もしくは、ＩＰバージョン６パケットがフラグメントヘッダを含む場合であって、フィールド２０７に含まれるフラグメントオフセットの値が０で、かつフィールド２０７に含まれるＭの値が０の場合は、これらのＩＰバージョン６パケットはフラグメントしていない事を示す。
フィールド２０８に含まれるフラグメント識別子は、このパケットに含まれるＴＣＰやＵＤＰパケット等に対応するフラグメント前のＴＣＰやＵＤＰパケット等を識別するもので、フィールド２０４の発信元ＩＰアドレス、フィールド２０５の宛先ＩＰアドレスと、このフラグメント識別子の組合わせによって、フラグメント前のＴＣＰやＵＤＰパケット等はネットワーク上で一意に識別される。
【００１３】
以上から明らかな通り、フラグメントしていないＴＣＰやＵＤＰ等のパケット、およびフラグメントの先頭のＴＣＰやＵＤＰ等のパケットをカプセル化したＩＰパケットには、ＴＣＰやＵＤＰパケット等のヘッダが存在する。
しかし、ＴＣＰやＵＤＰパケット等がフラグメントした場合、フラグメントの先頭以外のＴＣＰやＵＤＰ等のパケットにはＴＣＰやＵＤＰパケット等のヘッダは存在しないため、これをカプセル化したＩＰパケットにはセッションを識別する際に必要な発信元ポート番号と宛先ポート番号の情報が含まれていない。
このため、インターネット上の通信におけるフローの識別を、ＩＰパケットに含まれるセッションを識別する情報に基づいて行なう従来の方法は、ＴＣＰやＵＤＰ等のパケットがフラグメントした場合、フラグメントの先頭以外のＴＣＰやＵＤＰ等のパケットをカプセル化したＩＰパケットのフローを識別する事が出来ない問題点がある。
【００１４】
従来、インターネットではデータ中心のアプリケーションが使用されていたため、フラグメントは例外的な状況でしか発生せず、フラグメントに対応できない従来のフローの識別方法における問題は、例外的な問題であると認識されてきた。
一方、近年、ビデオ配信やテレビ会議等の、帯域保証や優先制御等の品質制御を必要とするリアルタイプアプリケーションが普及してきているが、これらのアプリケーションで使用されるＭＰＥＧ等の１画面の情報量は、現在インターネットで広く使用されているＩＥＥＥ標準　８０２．３−２００２に規定されたフレームで伝送可能な情報量より遥かに大きい。
このため、これらのアプリケーションは１画面の情報を送信するにあたって、何らかの方法で１画面の情報を分割して転送しなければならないが、現在多くのリアルタイムアプリケーションでは、情報の分割をアプリケーション側では行なわず、１画面の情報をＯＳ（Ｏｐｅｒａｔｉｎｇ　Ｓｙｓｔｅｍ）のアプリケーションインターフェースにそのまま渡して、ＯＳ側がこの情報をパケットにカプセル化してネットワークに送信する際に、フラグメント処理を行なっている。
【００１５】
この様に、現在のインターネットにおけるリアルタイムアプリケーションはフラグメントを積極的に使用しており、フラグメントに対応できないフロー識別方法は無視し得ない問題となる。
本発明は、前記従来技術の問題点を解決するためになされたものであり、本発明の目的は、インターネット上の通信における従来のフローの識別方法において、ＴＣＰもしくはＵＤＰパケットがフラグメントした場合、フラグメントの先頭以外のＴＣＰもしくはＵＤＰパケットをカプセル化したＩＰパケットのフローを識別する事が出来ない問題点を解決し、識別したフローに基づいて品質制御やデータリンク層の識別子の付与を行なうパケット送信装置を提供することにある。
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述及び添付図面によって明らかにする。
【００１６】
【課題を解決するための手段】
本発明は、前述した目的を達成するために、パケット送信装置が、発信元ＩＰアドレス、宛先ＩＰアドレス、プロトコル番号、発信元ポート番号、及び宛先ポート番号の一部あるいは全部を含む情報に対応する、フロー識別子を予め定めた第１の表と、ＴＣＰやＵＤＰパケットのフラグメントを識別する情報に対応する、フロー識別子を予め定めた表であり、フラグメントを識別する情報に対応するフロー識別子を登録する登録手段と消去する消去手段と、フラグメントを識別する情報を検索キーとして、対応するフロー識別子を検索する検索手段と、一定時間検索されなかったフラグメントを識別する情報と、対応するフロー識別子を消去するエージング手段を備えた第２の表を備え、かつ、パケット選別部が、ＴＣＰもしくはＵＤＰパケットをカプセル化したＩＰパケットのフロー識別子を検索する際に、このＩＰパケットがフラグメントしていない場合、もしくはフラグメントの先頭の場合、このＩＰパケットに含まれるセッションを識別する情報の一部あるいは全部を含む情報を検索キーとして、第１の表を検索する手段と、第１の表を検索した結果、検索キーに対応するフロー識別子が検索された際に、このＩＰパケットがフラグメントの先頭の場合、このＩＰパケットに含まれる、フラグメント前のＴＣＰやＵＤＰパケットをネットワーク上で一意に識別する情報と、検索したフロー識別子を第２の表に登録する手段と、ＴＣＰもしくはＵＤＰパケットをカプセル化したＩＰパケットのフロー識別子を検索する際に、このＩＰパケットがフラグメントしていて、かつフラグメントの先頭以外の場合、このＩＰパケットに含まれる、フラグメント前のＴＣＰやＵＤＰパケットをネットワーク上で一意に識別する情報を検索キーとして、第２の表を検索する手段を備えた事を最も主要な特徴とする。
【００１７】
前述したＩＰバージョン４及びＩＰバージョン６のフラグメント処理の規定から明らかな通り、フラグメント前のＴＣＰやＵＤＰパケット等は、ＩＰバージョン４でこれらをカプセル化した場合、発信元ＩＰアドレス、宛先ＩＰアドレス、プロトコル番号、及びフラグメント識別子の組合わせによって、ＩＰバージョン６では、発信元ＩＰアドレス、宛先ＩＰアドレス、及びフラグメント識別子の組合わせによって、ネットワーク上で一意に識別される。
このため、フラグメントしたＴＣＰやＵＤＰパケット等をカプセル化したＩＰパケットのフロー情報を識別する際に、このＩＰパケットがフラグメントの先頭の場合は、パケットに含まれるセッションを識別する情報に基づいてフローを識別し、その識別結果を、ＩＰバージョン４では、パケットに含まれる発信元ＩＰアドレス、宛先ＩＰアドレス、プロトコル番号、及びフラグメント識別子から構成される情報を検索キーとして、ＩＰバージョン６では、パケットに含まれる発信元ＩＰアドレス、宛先ＩＰアドレス、及びフラグメント識別子から構成される情報を検索キーとして第２の表に登録する。
【００１８】
そして、フラグメントしたＴＣＰやＵＤＰパケット等をカプセル化したＩＰパケットのフロー情報を識別する際に、このＩＰパケットがフラグメントの先頭以外の場合は、ＩＰバージョン４では、パケットに含まれる発信元ＩＰアドレス、宛先ＩＰアドレス、プロトコル番号、及びフラグメント識別子から構成される情報、ＩＰバージョン６では、パケットに含まれる発信元ＩＰアドレス、宛先ＩＰアドレス、及びフラグメント識別子から構成される情報を検索キーとして、前記第２の表からこのＩＰパケットに対応するフローの識別結果を検索すれば、フラグメントしたＴＣＰやＵＤＰパケット等をカプセル化したＩＰパケットの先頭以外のパケットのフローを識別する事が可能となる。
本発明は、パケット送信装置が前記の第２の表を備え、かつパケット選別部が前記の登録手段と検索手段を備えるため、従来の技術と比較して、ＴＣＰもしくはＵＤＰパケットがフラグメントした場合であっても、このパケットをカプセル化したＩＰパケットのフローを識別する事が出来る点が最も異なる。
【００１９】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態を詳細に説明する。
なお、実施の形態を説明するための全図において、同一機能を有するものは同一符号を付け、その繰り返しの説明は省略する。
本発明の請求項１から請求項６に記載された「ＩＰバージョン４パケット」、「発信元ＩＰアドレス」、「宛先ＩＰアドレス」、「プロトコル番号」、「フラグメント識別子」、「フラグメントオフセット」、「ＭＦフラグ」とは、各々インターネットプロトコルバージョン４のプロトコルを定めたインターネット標準ＲＦＣ　７９１に規定された”ｄａｔａｇｒａｍ”、”Ｓｏｕｒｃｅ　Ａｄｄｒｅｓｓ”、”Ｄｅｓｔｉｎａｔｉｏｎ　Ａｄｄｒｅｓｓ”、”ｐｒｏｔｏｃｏｌ”、”Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ”、”Ｆｒａｇｍｅｎｔ　Ｏｆｆｓｅｔ”、”ＭＦ”の事である。
本発明の請求項７から請求項１２に記載された「ＩＰバージョン６パケット」、「発信元ＩＰアドレス」、「宛先ＩＰアドレス」、「フラグメントヘッダ」、「フラグメント識別子」、「フラグメントオフセット」、「Ｍフラグ」とは、各々インターネットプロトコルバージョン６のプロトコルを定めたインターネット標準　ＲＦＣ　２４６０に規定された”ｐａｃｋｅｔ”、”Ｓｏｕｒｃｅ　Ａｄｄｒｅｓｓ”、”Ｄｅｓｔｉｎａｔｉｏｎ　Ａｄｄｒｅｓｓ”、”Ｆｒａｇｍｅｎｔ　Ｈｅａｄｅｒ”、”Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ”、”Ｆｒａｇｍｅｎｔ　Ｏｆｆｓｅｔ”、”Ｍ”の事である。
また、「プロトコル番号」とは、ＲＦＣ　２４６０に規定されたＩＰバージョン６パケットのヘッダ部に単数あるいは複数含まれる”Ｎｅｘｔ　Ｈｅａｄｅｒ”の内の最後の”Ｎｅｘｔ　Ｈｅａｄｅｒ”の事である。
【００２０】
本発明の請求項１及び請求項７に記載された「ＴＣＰパケット」とは、トランスミッション制御プロトコルを定めたインターネット標準　ＲＦＣ　７９３に規定された”ＴＣＰ　ｓｅｇｍｅｎｔ”、「ＵＤＰパケット」とは、ユーザデータグラムプロトコルを定めたインターネット標準　ＲＦＣ　７６８に規定された”Ｕｓｅｒ　Ｄａｔａｇｒａｍ”、「発信元ポート番号」、「宛先ポート番号」とは、各々ＲＦＣ　７９３及びＲＦＣ　７６８に規定された”Ｓｏｕｒｃｅ　Ｐｏｒｔ”、”Ｄｅｓｔｉｎａｔｉｏｎ　Ｐｏｒｔ”の事である。
本発明の請求項５及び請求項１１に記載された「ＭＡＣフレーム」、「タグヘッダ」、「ＶＬＡＮ識別子」とは、各々仮想ＬＡＮのプロトコルを定めたＩＥＥＥ標準　８０２．１Ｑ−１９９８，　８０２．１ｕ−２００１，　８０２．１ｖ−２００１に規定された”Ｆｒａｍｅ”、”Ｔａｇｈｅａｄｅｒ”、”ＶＬＡＮｉｄｅｎｔｉｆｉｅｒ”の事である。
本発明の請求項６及び請求項１２に記載された「ＡＴＭセル」、「ＶＰＩ，ＶＣＩ」は各々ＡＴＭセルを定めたＩＴＵ−Ｔ勧告　Ｉ．３６１に規定された”Ｃｅｌｌ”、”ＶＰＩ、ＶＣＩ”の事である。
また、「ＡＡＬ５プロトコルデータユニット」とは、ＡＡＬ５プロトコルを定めたＩＴＵ−Ｔ勧告　Ｉ．３６３．５に規定されたＡＡＬ５の”ＣＰＣＳ−ＰＤＵ”の事である。
【００２１】
図４は、本発明の実施の形態のパケット送信装置の概略構成を示すブロック図である。
同図において、４０１はパケット送信装置、４０２はパケット選別部、４０３はスケジューリング部、４０４は第１の表、４０５は第２の表である。
インターネット標準　ＲＦＣ　７９３に規定されたＴＣＰパケット、もしくはインターネット標準　ＲＦＣ　７６８に規定されたＵＤＰパケットを、インターネット標準　ＲＦＣ　７９１に規定されたＩＰバージョン４パケットにカプセル化した例を図１に示す。図１において、１０１はＴＣＰもしくはＵＤＰパケットをカプセル化したＩＰバージョン４パケットの例である。
１０２から１０７のフィールドはオプションフィールドを含まないＩＰバージョン４パケットのヘッダ部分である。１０８及び１０９のフィールドはＴＣＰもしくはＵＤＰパケットのヘッダ部分である。
１０２のフィールドに含まれるＩＨＬの値は、ＩＰバージョン４パケットのヘッダ長を示し、この値が５の場合はヘッダがオプションフィールドを含まない事を示し、６以上の場合はヘッダのオクテット長がＩＨＬの値を４倍した値となる事を示す。サービス種別（Ｔｙｐｅ　ｏｆ　Ｓｅｒｖｉｃｅ：ＤＳＣＰと呼ばれる場合もある）の値は、このパケットの優先度を示す。
１０３はフラグメント識別子である。１０４はＭＦフラグ及びフラグメントオフセットの値を含むフィールドである。
１０５はプロトコル番号の値を含むフィールドであり、この値が６の場合は、１０８以降のフィールドはＴＣＰパケット、１７の場合はＵＤＰパケットのヘッダ部分である。フィールド１０６は発信元ＩＰアドレス、フィールド１０７は宛先ＩＰアドレス、フィールド１０８は発信元ポート番号、フィールド１０９は宛先ポート番号である。
【００２２】
インターネット標準　ＲＦＣ　７９３に規定されたＴＣＰパケット、もしくはインターネット標準　ＲＦＣ　７６８に規定されたＵＤＰパケットを、インターネット標準　ＲＦＣ　２４６０に規定されたＩＰバージョン６パケットにカプセル化した例を図２に示す。図２において、２０１はＴＣＰもしくはＵＤＰパケットをカプセル化したＩＰバージョン６パケットの例である。
２０２から２０８のフィールドはオプションヘッダであるフラグメントヘッダを含むＩＰバージョン６パケットのヘッダ部分であり、この中で２０６から２０８のフィールドはオプションヘッダのフラグメントヘッダである。
２０９及び２１０のフィールドはＴＣＰもしくはＵＤＰパケットのヘッダ部分である。２０２のフィールドに含まれるトラヒッククラス（Ｔｒａｆｆｉｃ　Ｃｌａｓｓ：ＤＳＣＰと呼ばれる場合もある）の値は、このパケットの優先度を示す。
２０３のフィールドに含まれる「次のヘッダ」（Ｎｅｘｔ　Ｈｅａｄｅｒ）の値が４４の場合、このヘッダがオプションヘッダのフラグメントヘッダを含む事を示す。フィールド２０４は発信元ＩＰアドレス、フィールド２０５は宛先ＩＰアドレスである。
【００２３】
２０６のフィールドに含まれる「次のヘッダ」の値は、プロトコル番号の値であり、この値が６の場合は、２０９以降のフィールドはＴＣＰパケット、１７の場合はＵＤＰパケットのヘッダ部分である。
尚、ＩＰバージョン６パケットがオプションヘッダを含まない場合、２０３のフィールドに含まれる「次のヘッダ」の値がプロトコル番号の値となる。
また、ＩＰバージョン６パケットが他のオプションヘッダを含む場合、これらのオプションヘッダの最後のオプションヘッダのフィールドに含まれる「次のヘッダ」の値がプロトコル番号の値となる。
即ち、プロトコル番号の値は、ＩＰバージョン６パケットのヘッダ部に単数あるいは複数含まれる「次のヘッダ」の内の最後の「次のヘッダ」の値となる。
２０７はＭフラグ及びフラグメントオフセットの値を含むフィールドである。２０８はフラグメント識別子である。フィールド２０９は発信元ポート番号、フィールド２１０は宛先ポート番号である。
【００２４】
以下、図４に示す本実施の形態のパケット送信装置において、図１に示されたＴＣＰもしくはＵＤＰパケットをカプセル化したＩＰバージョン４パケットの例、もしくは図２に示されたＴＣＰもしくはＵＤＰパケットをカプセル化したＩＰバージョン６パケットの例を、ネットワークに送信する際の動作例を述べる。
尚、これまでの記述から明らかな通り、ＩＰバージョン４パケットとバージョン６パケットの規定には共通の部分が多いため、以下、単にＩＰパケットと記述した場合は、これらに共通の記述を示すものとする。
パケット送信装置４０１は、サーバ端末システム、ＩＰパケットの帯域制御システム、ＩＰパケット交換システム、ＩＰルータシステム等におけるパケット送信装置に適用する事が出来る装置である。
サーバ端末システムに適用された場合、パケット選別部４０２はサーバのアプリケーションから直接、あるいはカーネルのアプリケーションインターフェースを介して間接的にＩＰパケットを受け取り、フロー識別子を検索し、スケジューリング部４０３は、ＩＰパケットをフレームにカプセル化してネットワークに送信する。
【００２５】
ＩＰパケットの帯域制御システムに適用された場合、パケット選別部４０２はネットワークから受信したＩＰパケットを受け取り、このフレームからＩＰパケットを抽出し、フロー識別子を検索し、スケジューリング部４０３は、ＩＰパケットをフレームにカプセル化してネットワークに送信する。
ＩＰパケット交換システムに適用された場合、パケット選別部４０２は交換網（ファブリック）からＩＰパケットを受け取り、フロー識別子を検索し、スケジューリング部４０３は、ＩＰパケットをフレームにカプセル化してネットワークに送信する。
ＩＰルータシステムに適用された場合、パケット選別部４０２はＩＰルーチングテーブルを検索してルーチング先が決定したＩＰパケットを受け取り、フロー識別子を検索し、スケジューリング部４０３は、ＩＰパケットをフレームにカプセル化してネットワークに送信する。
いずれにせよ、パケット送信装置４０１は、ネットワークを構成する様々なシステムにおいてＩＰパケットを送信する装置に適用する事が可能であり、その用途は以上の例に限定されるものではない。
【００２６】
パケット送信装置４０１は、セッションを識別する情報の一部あるいは全部を含む情報に対応する、フロー識別子を予め定めた表であり、かつ、セッションを識別する情報の一部あるいは全部を含む情報を検索キーとして、対応するフロー識別子を検索する検索手段を備えた第１の表４０４を備える。
請求項１から請求項６に記載のパケット送信装置における第１の表４０４では、セッションを識別する情報は、図１に示したＴＣＰもしくはＵＤＰをカプセル化したＩＰバージョン４パケットの例では、フィールド１０６の発信元ＩＰアドレス、フィールド１０７の宛先ＩＰアドレス、フィールド１０５のプロトコル番号、フィールド１０８の発信元ポート番号、及びフィールド１０９の宛先ポート番号で構成される情報となる。
また、請求項７から請求項１２に記載のパケット送信装置における第１の表４０４では、セッションを識別する情報は、図２に示したＴＣＰもしくはＵＤＰをカプセル化したＩＰバージョン６パケットの例では、フィールド２０４の発信元ＩＰアドレス、フィールド２０５の宛先ＩＰアドレス、フィールド２０６のプロトコル番号、フィールド２０９の発信元ポート番号、及びフィールド２１０の宛先ポート番号で構成される情報となる。
【００２７】
第１の表４０４は、少なくとも前記のセッションを識別する情報の一部あるいは全部を含む情報に対応するフロー識別子を記憶し、少なくとも前記セッションを識別する情報の一部あるいは全部を含む情報を検索キーとして対応するフロー識別子を検索する手段を備える。
第１の表４０４は記憶させる情報、及び検索キーの情報として、セッションを識別する情報の一部あるいは全部に対して、補助的な情報を追加しても良い。
例えば、パケット送信装置４０１がＩＰパケット交換システムやＩＰルータシステムに適用される場合は、ＩＰパケットを受信した回線を識別するポート番号、ＩＰパケットを受信した回線が仮想ＬＡＮやＡＴＭの様に論理多重をサポートしている場合は、受信したＩＰパケットをカプセル化したフレームに含まれるＶＬＡＮ識別子やＶＰＩ及びＶＣＩ等の論理回線を識別する識別子、受信したＩＰパケットをカプセル化したフレームが優先度情報を含む場合は、フレームに含まれる優先度情報、ＩＰパケットに含まれる優先度、及び受信したＩＰパケットのフレームに対するカプセル化方法を識別する識別子等を追加しても良い。
【００２８】
パケット送信装置４０１がＩＰパケットの帯域制御システムに適用される場合は、ＩＰパケットを受信した回線が論理多重をサポートしている場合は、受信したＩＰパケットをカプセル化したフレームに含まれる論理回線を識別する識別子、受信したＩＰパケットをカプセル化したフレームが優先度情報を含む場合は、フレームに含まれる優先度情報、ＩＰパケットに含まれる優先度、及び受信したＩＰパケットのフレームに対するカプセル化方法を識別する識別子等を追加しても良い。
パケット送信装置４０１がサーバ端末システムに適用される場合は、ＩＰパケットに含まれる優先度等を追加しても良いし、追加できる情報は以上に限定されるものでは無い。
第１の表４０４に記憶させる情報、及び検索キーの情報として、セッションを識別する情報の一部あるいは全部に対して、補助的な情報を追加することによって、ＩＰパケットを受信した回線、論理回線、優先度情報、及びカプセル化方法等に応じてよりきめ細かくフローを識別することが出来る。
【００２９】
第１の表４０４は、セッションを識別する情報を含む情報を、一致もしくは最長一致の検索キーとし、フロー識別子の値を検索データとする連想記憶素子（ＣＡＭ）やパトリシアツリーで実現する事が出来る。
セッションを識別する情報の一部を検索キーとする場合は、連想記憶素子やパトリシアツリーにおいて、検索キーに対して一意にマスク値を設定する方法、検索キーに含まれる一部の情報に対応するマスク値を予め定めておき、検索キー毎に対応するマスク値を設定する方法、もしくは連想記憶素子やパトリシアツリーに記憶されている、セッションを識別する情報を含む情報毎に、検索時のマスク値を設定する方法で実現する事が出来る。
【００３０】
パケット送信装置４０１は、ＴＣＰやＵＤＰパケットのフラグメントを識別する情報に対応する、フロー識別子を定めた表であって、フラグメントを識別する情報に対応するフロー識別子を登録する登録手段と消去する消去手段と、フラグメントを識別する情報を検索キーとして、対応するフロー識別子を検索する検索手段と、一定時間検索されなかったフラグメントを識別する情報と、対応するフロー識別子を消去するエージング手段とを備えた第２の表４０５を備える。
請求項１から６請求項に記載のパケット送信装置における第２の表４０５では、ＴＣＰやＵＤＰパケットのフラグメントを識別する情報は、図１に示したＴＣＰもしくはＵＤＰをカプセル化したＩＰバージョン４パケットの例では、フィールド１０６の発信元ＩＰアドレス、フィールド１０７の宛先ＩＰアドレス、フィールド１０５のプロトコル番号、及びフィールド１０３のフラグメント識別子で構成される情報となる。
また、請求項７から請求項１２に記載のパケット送信装置における第２の表４０５では、ＴＣＰやＵＤＰパケットのフラグメントを識別する情報は、図２に示したＴＣＰもしくはＵＤＰをカプセル化したＩＰバージョン６パケットの例では、フィールド２０４の発信元ＩＰアドレス、フィールド２０５の宛先ＩＰアドレス、及びフィールド２０８のフラグメント識別子で構成される情報となる。
第２の表４０５は、ＴＣＰやＵＤＰパケットのフラグメントを識別する情報を一致の検索キーとし、フロー識別子の値を検索データとする連想記憶素子（ＣＡＭ）やパトリシアツリーで実現する事が出来る。
【００３１】
パケット選別部４０２は、ＴＣＰもしくはＵＤＰパケットをカプセル化したＩＰパケットのフロー識別子を検索する際に、このＩＰパケットがフラグメントしていない場合、もしくはフラグメントの先頭の場合、このＩＰパケットに含まれるセッションを識別する情報の一部あるいは全部を含む情報を検索キーとして、第１の表４０４を検索する手段を備える。
即ち、請求項１から請求項６に記載の発明のパケット選別部４０２は、図１に示したＩＰバージョン４パケットのフロー識別子を検索する際に、フィールド１０５のプロトコル番号が６の場合はＴＣＰ、１７の場合はＵＤＰパケットがカプセル化されていると判断し、フィールド１０４に含まれるフラグメントオフセットの値が０の場合は、このＩＰバージョン４パケットがフラグメントしていない、もしくはフラグメントの先頭と判断し、フィールド１０２に含まれるＩＨＬの値が５の場合は、フィールド１０６の発信元ＩＰアドレス、フィールド１０７の宛先ＩＰアドレス、フィールド１０５のプロトコル番号、フィールド１０８の発信元ポート番号、及びフィールド１０９の宛先ポート番号の一部あるいは全部を含む情報を検索キーとして第１の表４０４を検索する。
尚、フィールド１０２に含まれるＩＨＬの値が６以上の場合は、フィールド１０７の後にオプションフィールドが含まれ、このオプションフィールドの長さは（ＩＨＬ−５）＊４となるため、発信元ポート番号、及び宛先ポート番号の値は、図１に示した位置から、このオプションフィールド長だけ下にずれた位置から取得する。フィールド１０２に含まれるＩＨＬの値が４以下の場合はプロトコル規定上存在しない。
【００３２】
請求項７から請求項１２に記載の発明のパケット選別部４０２は、図２に示したＩＰバージョン６パケットのフロー識別子を検索する際に、フィールド２０３に含まれる「次のヘッダ」の値が４４の場合は、このＩＰバージョン６パケットがフラグメントヘッダを含むと判断し、フィールド２０６に含まれる「次のヘッダ」の値が６の場合はＴＣＰ、１７の場合はＵＤＰパケットがカプセル化されていると判断し、フィールド２０７に含まれるフラグメントオフセットの値が０の場合は、このＩＰバージョン６パケットがフラグメントしていない、もしくはフラグメントの先頭と判断し、フィールド２０４の発信元ＩＰアドレス、フィールド２０５の宛先ＩＰアドレス、フィールド２０６のプロトコル番号、フィールド２０９の発信元ポート番号、及びフィールド２１０の宛先ポート番号の一部あるいは全部を含む情報を検索キーとして第１の表４０４を検索する。
また、図２に示したＩＰバージョン６パケットのフロー識別子を検索する際に、フィールド２０３に含まれる「次のヘッダ」の値が６もしくは１７の場合は、このＩＰバージョン６パケットはＴＣＰもしくはＵＤＰパケットをカプセル化しているが、フラグメントしておらず、フラグメントヘッダを含んでいないと判断し、発信元ポート番号、及び宛先ポート番号の値は、図２に示した位置から、フラグメントヘッダ長だけ上にずれた位置、即ちフィールド２０６、及び２０７から各々取得し、フィールド２０４の発信元ＩＰアドレス、フィールド２０５の宛先ＩＰアドレス、フィールド２０３のプロトコル番号と発信元ポート番号、及び宛先ポート番号の一部あるいは全部を含む情報を検索キーとして第１の表４０４を検索する。
【００３３】
尚、一連のインターネットバージョン６関連のプロトコル規定では、各種オプションヘッダに関しては、オプションヘッダの存在を示す「次のヘッダ」の値は一意に定められ、オプションヘッダの長さは一意に定められているか、オプションヘッダ内部のフィールドに示される事が規定されている。
このため、ＩＰバージョン６パケットがフラグメントヘッダを含む場合であっても、含まない場合であっても、これ以外のオプションヘッダを含む場合は、「次のヘッダ」の値とオプションヘッダ長からオプションヘッダの存在を識別して、フラグメントヘッダが含まれている場合は、フラグメントオフセットの値をフラグメントヘッダの当該当する位置から取得し、プロトコル番号の値はＩＰバージョン６パケットに含まれるオプションヘッダの最後のオプションヘッダに含まれる「次のヘッダ」の値から取得し、この値が６もしくは１７の場合は、発信元ポート番号、及び宛先ポート番号を、最後のオプションヘッダの次の位置から取得する。
【００３４】
パケット選別部４０２は、第１の表４０４を検索した結果、検索キーに対応するフロー識別子が検索された際に、このＩＰパケットがフラグメントの先頭の場合、このＩＰパケットに含まれる、フラグメント前のＴＣＰやＵＤＰパケットをネットワーク上で一意に識別する情報と、検索したフロー識別子を第２の表４０５に登録する手段を備える。
即ち、請求項１から請求項６に記載の発明のパケット選別部４０２は、第１の表４０４を検索した結果、検索キーに対応するフロー識別子が検索された際に、図１に示したＩＰバージョン４パケットのフィールド１０４に含まれるＭＦフラグの値が１の場合は、このＩＰバージョン４パケットがフラグメントの先頭であると判断し、フィールド１０６の発信元ＩＰアドレス、フィールド１０７の宛先ＩＰアドレス、フィールド１０５のプロトコル番号、及びフィールド１０３のフラグメント識別子から構成される情報と、検索したフロー識別子を第２の表４０５に登録する。
【００３５】
請求項７から請求項１２に記載の発明のパケット選別部４０２は、第１の表４０４を検索した結果、検索キーに対応するフロー識別子が検索された際に、図２に示したＩＰバージョン６パケットのフィールド２０３に含まれる「次のヘッダ」の値が４４の場合は、このＩＰバージョン６パケットがフラグメントヘッダを含むと判断し、フィールド２０７に含まれるＭフラグの値が１の場合は、このＩＰバージョン６パケットがフラグメントの先頭であると判断し、フィールド２０４の発信元ＩＰアドレス、フィールド２０５の宛先ＩＰアドレス、及びフィールド２０８のフラグメント識別子から構成される情報と、検索したフロー識別子を第２の表に登録する。
尚、ＩＰバージョン６パケットがフラグメントヘッダに加えて、これ以外のオプションヘッダを含む場合は、Ｍフラグの値、及びフラグメント識別子はフラグメントヘッダの当該当する位置から取得する。
【００３６】
パケット選別部４０２は、ＴＣＰもしくはＵＤＰパケットをカプセル化したＩＰパケットのフロー識別子を検索する際に、このＩＰパケットがフラグメントしていて、かつフラグメントの先頭以外の場合、このＩＰパケットに含まれる、フラグメント前のＴＣＰやＵＤＰパケットをネットワーク上で一意に識別する情報を検索キーとして、第２の表４０５を検索する手段を備える。
即ち、請求項１から６に記載の発明のパケット選別部４０２は、図１に示したＩＰバージョン４パケットのフロー識別子を検索する際に、フィールド１０５のプロトコル番号が６の場合はＴＣＰ、１７の場合はＵＤＰパケットがカプセル化されていると判断し、フィールド１０４に含まれるフラグメントオフセットの値が０以外の場合は、このＩＰバージョン４パケットがフラグメントしていて、かつフラグメントの先頭以外であると判断し、フィールド１０６の発信元ＩＰアドレス、フィールド１０７の宛先ＩＰアドレス、フィールド１０５のプロトコル番号、及びフィールド１０３のフラグメント識別子から構成される情報を検索キ一として第２の表４０５を検索する。
【００３７】
請求項７から請求項１２に記載の発明のパケット選別部４０２は、図２に示したＩＰバージョン６パケットのフロー識別子を検索する際に、フィールド２０３に含まれる「次のヘッダ」の値が４４の場合は、このＩＰバージョン６パケットがフラグメントヘッダを含むと判断し、フィールド２０６に含まれる「次のヘッダ」の値が６の場合はＴＣＰ、１７の場合はＵＤＰパケットがカプセル化されていると判断し、フィールド２０７に含まれるフラグメントオフセットの値が０の以外の場合は、このＩＰバージョン６パケットがフラグメントしていて、かつフラグメントの先頭以外であると判断し、フィールド２０４の発信元ＩＰアドレス、フィールド２０５の宛先ＩＰアドレス、及びフィールド２０８のフラグメント識別子から構成される情報を検索キーとして第２の表４０５を検索する。
尚、ＩＰバージョン６パケットがフラグメントヘッダに加えて、これ以外のオプションヘッダを含む場合は、フラグメントオフセットの値はフラグメントヘッダの当該当する位置から取得する。
【００３８】
パケット選別部４０２は、第２の表４０５を検索した結果、検索キーに対応するフロー識別子が検索された際に、このＩＰパケットがフラグメントの末尾の場合、このＩＰパケットに含まれる、フラグメント前のＴＣＰやＵＤＰパケットをネットワーク上で一意に識別する情報と、検索したフロー識別子を第２の表４０５から消去する手段を備えても良い。
即ち、請求項１から請求項６に記載の発明のパケット選別部４０２は、第２の表４０５を検索した結果、検索キーに対応するフロー識別子が検索された際に、図１に示したＩＰバージョン４パケットのフィールド１０４に含まれるＭＦフラグの値が０の場合は、このＩＰバージョン４パケットがフラグメントの末尾であると判断し、フィールド１０６の発信元ＩＰアドレス、フィールド１０７の宛先ＩＰアドレス、フィールド１０５のプロトコル番号、及びフィールド１０３のフラグメント識別子から構成される情報と、検索したフロー識別子を第２の表４０５から消去しても良い。
【００３９】
請求項７から請求項１２に記載の発明のパケット選別部４０２は、第２の表４０５を検索した結果、検索キーに対応するフロー識別子が検索された際に、図２に示したＩＰバージョン６パケットのフィールド２０７に含まれるＭフラグの値が０の場合は、このＩＰバージョン６パケットがフラグメントの末尾であると判断し、フィールド２０４の発信元ＩＰアドレス、フィールド２０５の宛先ＩＰアドレス、及びフィールド２０８のフラグメント識別子から構成される情報と、検索したフロー識別子を第２の表から消去しても良い。
尚、ＩＰバージョン６パケットがフラグメントヘッダに加えて、これ以外のオプションヘッダを含む場合は、Ｍフラグの値、及びフラグメント識別子はフラグメントヘッダの当該当する位置から取得する。
この手段によって、第２の表４０５から必要の無くなった検索キーとフロー識別子を効率的に消去する事が可能となる。
【００４０】
尚、ＩＰパケットは消滅する可能性があり、フラグメントの末尾のＩＰパケットも消滅する可能性があるため、第２の表４０５は一定時間検索されなかった、発信元ＩＰアドレス、宛先ＩＰアドレス、プロトコル番号、及びフラグメント識別子から構成される情報と、対応するフロー識別子を消去するエージング手段を備えている。
パケット選別部４０２は、第１の表４０４、もしくは第２の表４０５を検索した結果、検索キーに対応するフロー識別子が存在しない場合、このＩＰパケットに対応するフロー識別子を、予め定められたデフォルト値とする手段を備えても良い。
また、パケット選別部４０２は、第１の表４０４、もしくは第２の表４０５を検索した結果、検索キーに対応するフロー識別子が存在しない場合、このＩＰパケットを破棄する手段を備えても良い。
この手段によって、第１の表４０４に予め定める必要のある、発信元ＩＰアドレス、宛先ＩＰアドレス、プロトコル番号、発信元ポート番号、及び宛先ポート番号の一部あるいは全部を含む情報に対応する、フロー識別子の数を削減して、表のサイズを縮小する事が可能となる。
【００４１】
スケジューリング部４０３は、ＩＰパケットに対応するフロー識別子に基づいて、このＩＰパケットをフレームにカプセル化してネットワークに送信する。
スケジューリング部４０３は、フレームにカプセル化されたＩＰパケットに対して、フロー識別子に基づいて、帯域保証や優先制御等の品質制御を行なう手段を備えても良いし、フロー識別子に基づいて、データリンク層の識別子の付与を行う手段を備えても良い。
例えば、帯域保証の一つであるシェーピング（最大帯域の制限）において、品質を指定するパラメータは、許容される最大帯域の値、及び許容されるパケット遅延時間のゆらぎの値となる。
また、同じく帯域保証の一つである最低帯域保証において、品質を指定するパラメータは、保証される最低帯域の値、最大バースト長の値、許容される最大帯域の値、及び許容されるパケット遅延時間のゆらぎの値となる。
従って、フロー識別子が直接的あるいは、間接的にこれらのパラメータを含み、スケジューリング部４０３はフレームをネットワークに送信する際に、フロー識別子で指定されるパラメータに基づいて帯域保証を行っても良い。
【００４２】
フロー識別子が間接的にこれらのパラメータを含む場合には、これらのパラメータの値の組合わせに対応する識別子が予め定められ、フロー識別子がこの識別子を含む場合を含む。
また、特許文献２（特開２００１−２７４７９５号公報）に開示される様に、シェーピングはパケットをキューに分類して、このキューを、品質を指定するパラメータに基づいてスケジュールする事によって実現する事が可能である。
また、最低帯域保証は重み付け公平キュー（ＷＦＱ）によって実現する事が可能であり、この場合もキューは品質を指定するパラメータに基づいてスケジュールされている。
このため、フロー識別子はこれらの物理的、論理的、あるいは仮想的なキューを識別する値を直接的あるいは、間接的に含み、スケジューリング部４０３はフレームをネットワークに送信する際に、フロー識別子で間接的に指定されるパラメータに基づいて帯域保証を行っても良い。
【００４３】
また、フロー識別子が直接的、あるいは間接的にＩＰパケットの優先度の値を含み、スケジューリング部４０３はＩＰパケットをカプセル化したフレームをネットワークに送信する際に、フロー識別子で直接的、あるいは間接的に指定される優先度に基づいて優先制御を行なっても良い。
優先制御は一般に優先度に対応したキューによって実現する事が可能であり、この場合、キューは優先度順にサービスされる。
このため、フロー識別子はこれらの物理的、論理的、あるいは仮想的なキューを識別する値を直接的あるいは、間接的に含み、スケジューリング部４０３はフレームをネットワークに送信する際に、フロー識別子で間接的に指定される優先度に基づいて優先制御を行っても良い。
この際に、フロー識別子で直接的、あるいは間接的に指定される優先度に基づいて、ＩＰパケットの優先度を付与したり、ＩＰパケットをカプセル化するフレームの優先度情報、例えば、タグヘッダを含むＭＡＣフレームの優先度やＡＴＭセルの優先度を設定しても良い。
【００４４】
尚、ＩＰバージョン４パケットに対して優先度を付与した場合、ＩＰバージョン４パケットヘッダのチェックサムを再計算する必要がある場合がある。
更に、フロー識別子が直接的、あるいは間接的にデータリンク層の識別子の値、例えば、ＶＬＡＮ識別子やＶＰＩ及びＶＣＩを含み、スケジューリング部４０３はＩＰパケットをフレームにカプセル化する際に、フロー識別子で直接的、あるいは間接的に指定されるデータリンク層の識別子をフレームに付与しても良い。
尚、フロー識別子によって指定される情報は以上の例に限定されるものでは無い。また、品質制御の特殊な例として、スケジューリング部４０３は、ＩＰパケットに対応するフロー識別子に基づいて、ＩＰパケットを破棄しても良い。
【００４５】
ＩＰパケットをカプセル化したフレームの第１の例を図５に示す。
図５において、５０１は、図１に示したＴＣＰもしくはＵＤＰパケットをカプセル化したＩＰバージョン４パケットを、タグヘッダを含むＩＥＥＥ標準　８０２．３−２００２に規定されたＭＡＣフレームに、インターネット標準　ＲＦＣ　８９４に規定されたカプセル化方法に基づいてカプセル化した場合の例である。
フィールド５０２からフィールド５０３はＭＡＣフレームのヘッダであり、フィールド５０３のＬＥＮＧＴＨ／ＴＹＰＥの値が「０ｘ８１−００」の場合、このＭＡＣフレームにタグヘッダが含まれている事を示す。
フィールド５０４及びフィールド５０５はタグヘッダであり、フィールド５０４はＶＬＡＮ識別子（ＶＬＡＮ　ＩＤ）、ＭＡＣフレームの優先度（ＵＳＥＲ　ＰＲＩ）、及びＶＬＡＮ識別子の値が有効である場合０となるフラグ（ＣＦ）の値を含む。
【００４６】
フィールド５０５の　ＭＡＣ　ＣＬＩＥＮＴ　ＬＥＮＧＴＨ／ＴＹＰＥの値が「０ｘ０８−００」の場合、このタグヘッダを含むＭＡＣフレームにＩＰパケットがカプセル化されている事を示す。
フィールド５０６以降は、図１に示したＴＣＰもしくはＵＤＰパケットをカプセル化したＩＰバージョン４パケットである。ＴＣＰもしくはＵＤＰパケットをカプセル化したＩＰバージョン６パケットも同様にカプセルされる。
先に述べた通り、フロー識別子が直接的、あるいは間接的にＶＬＡＮ識別子や優先度の値を含み、スケジューリング部４０３が、ＩＰパケットをタグヘッダを含むＭＡＣフレームにカプセル化する際に、フロー識別子に含まれるＶＬＡＮ識別子の値を、フィールド５０４に含まれるＶＬＡＮ識別子の値に設定しても良く、フロー識別子に含まれる優先度の値を、フィールド５０４に含まれるＭＡＣフレームの優先度の値に設定しても良い。
【００４７】
ＩＰパケットをカプセル化したフレームの第２の例を図６に示す。
図６において、６０１は、図１に示したＴＣＰもしくはＵＤＰパケットをカプセル化したＩＰバージョン４パケットを、ＩＴＵ−Ｔ勧告　Ｉ．３６３．５に規定されたＡＡＬ５プロトコルデータユニットに、インターネット標準　ＲＦＣ　２６８４に規定されたＲｏｕｔｅｄ　ＰＤＵ形式に基づいたカプセル化方法でカプセル化して、ＩＴＵ−Ｔ勧告　Ｉ．３６１に規定されたＮＮＩセルに分割した場合の先頭のＡＴＭセルの例である。
フィールド６０２からフィールド６０４はＡＴＭセルのヘッダである。ＶＰＩはフィールド６０２に含まれ、ＶＣＩはフィールド６０２及び６０３に含まれる。また、フィールド６０３は、ＡＴＭセルの優先度（ＣＬ）を含む。
フィールド６０５のＬＬＣの値が「０ｘＡＡ−ＡＡ−０３」であり、フィールド６０６の　ＯＵＩの値が「０ｘ００−００−００」であり、かつフィールド６０７のＥｔｈｅｒ　Ｔｙｐｅの値が「０ｘ０８−００」の場合、このＡＴＭセルに分割されたＡＡＬ５プロトコルデータユニットにＩＰパケットがカプセル化されている事を示す。
フィールド６０８以降は、図１に示したＴＣＰもしくはＵＤＰパケットをカプセル化したＩＰバージョン４パケットである。ＴＣＰもしくはＵＤＰパケットをカプセル化したＩＰバージョン６パケットも同様にカプセルされる。
【００４８】
先に述べた通り、フロー識別子が直接的、あるいは間接的にＶＰＩ及びＶＣＩや優先度の値を含み、スケジューリング部４０３が、ＩＰパケットをＡＴＭセルに分割されたＡＡＬ５プロトコルデータユニットにカプセル化する際に、フロー識別子に含まれるＶＰＩ及びＶＣＩの値を、フィールド６０２及びフィールド６０３に含まれるＶＰＩ及びＶＣＩの値に設定しても良く、フロー識別子に含まれる優先度の値を、フィールド６０３に含まれるＡＴＭセルの優先度の値に設定しても良い。
スケジューリング部４０３がＩＰパケットをカプセル化するフレームの形式や、カプセル化方法は以上に限定されるものでは無い。
一連のＩＥＥＥ　８０２標準に規定された他のＭＡＣフレーム、ＩＴＵ−Ｔ勧告　Ｑ．９２２に規定されたフレーム、インターネット標準　ＲＦＣ　１６６１に規定されたＰＰＰ等のデータリンク層のフレームに何らかの形で直接的あるいは間接的に、標準に準拠したカプセル化方法あるいは独自の方法でＩＰパケットがカプセル化されていれば良く、更に、これらのフレームにＩＰパケットがカプセル化され、インターネット標準　ＲＦＣ　２７８４に規定されたＧＲＥ、インターネット標準　ＲＦＣ　２００３、もしくはインターネット標準　ＲＦＣ　２４７３に規定されたＩＰ−ｉｎ−ＩＰ、インターネット標準　ＲＦＣ　２６６１に規定されたＬ２ＴＰ等のカプセル化方法に基づいて、このＩＰパケットに直接的あるいは間接的にＩＰパケットがカプセル化されても良く、また、これらのフレームに、インターネット標準　ＲＦＣ　３０３１に規定されたＭＰＬＳ等のカプセル化方法に基づいて直接的あるいは間接的にＩＰパケットがカプセル化されても良い。
【００４９】
尚、本発明の請求範囲には、ＩＰバージョン４パケットもしくはＩＰバージョン６パケットに対応した、パケット選別部、スケジューリング部、第１の表、及び第２の表を各々含み、送信するＩＰパケットのバージョンに応じて、パケット選別部、スケジューリング部、第１の表、及び第２の表を切り替えるパケット送信装置や、ＩＰバージョン４パケットおよびＩＰバージョン６パケットの双方に対応した、パケット選別部、スケジューリング部、第１の表、及び第２の表を含み、送信するＩＰパケットのバージョンに応じて、パケット選別部、スケジューリング部、第１の表、及び第２の表の動作を切り替えるパケット送信装置が含まれる事は自明である。
更に、本明細書で参照した標準や勧告書は、出願時点で最新のものを参照しているが、明細書の記述は、これらの標準や勧告書の過去の版に準拠した装置に遡って適用される事は自明であり、また、これらの標準や勧告書が将来改版された場合、改版された標準や勧告に準拠した装置に適用される事は自明であり、更に、これらの標準や勧告書の草案や標準や勧告書の内容と類似の方法に基づく装置に適用される事も自明である。
以上、本発明者によってなされた発明を、前記実施の形態に基づき具体的に説明したが、本発明は、前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは勿論である。
【００５０】
【発明の効果】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば、下記の通りである。
本発明のパケット送信装置によれば、インターネット上の通信のフローを識別する際に、ＴＣＰもしくはＵＤＰパケットがフラグメントした場合であっても、フローを識別する事が出来る利点があるため、現在のインターネットにおけるリアルタイムアプリケーションの様に、フラグメントが積極的に使用された場合であっても、フローに基づいて品質制御やデータリンク層の識別子の付与を行なうことが可能となる。
【図面の簡単な説明】
【図１】ＴＣＰもしくはＵＤＰパケットをカプセル化したＩＰバージョン４パケットの一例を示す図である。
【図２】ＴＣＰもしくはＵＤＰパケットをカプセル化したＩＰバージョン６パケットの一例を示す図である。
【図３】ＴＣＰもしくはＵＤＰパケットをカプセル化したＩＰパケットをＭＡＣフレームにカプセル化した例を示す図である。
【図４】本発明の実施の形態のパケット送信装置の概略構成を示すブロック図である。
【図５】ＩＰパケットをカプセル化したフレームの第１の例を示す図である。
【図６】ＩＰパケットをカプセル化したフレームの第２の例を示す図である。
【符号の説明】
４０１…パケット送信装置、４０２…パケット選別部、４０３…スケジューリング部、４０４…第１の表、４０５…第２の表。
【図１】
2004147164.tif 000003
【図２】
2004147164.tif 000004
【図３】
2004147164.tif 000005
【図４】
2004147164.tif 000006
【図５】
2004147164.tif 000007
【図６】
2004147164.tif 000008