JP2004147164A - パケット送信装置 - Google Patents
パケット送信装置 Download PDFInfo
- Publication number
- JP2004147164A JP2004147164A JP2002310808A JP2002310808A JP2004147164A JP 2004147164 A JP2004147164 A JP 2004147164A JP 2002310808 A JP2002310808 A JP 2002310808A JP 2002310808 A JP2002310808 A JP 2002310808A JP 2004147164 A JP2004147164 A JP 2004147164A
- Authority
- JP
- Japan
- Prior art keywords
- packet
- address
- version
- fragment
- flow identifier
- 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
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
【解決手段】パケット選別部が、IPパケットが先頭のフラグメントの場合、当該IPパケットに含まれる発信元IPアドレスなどの情報を検索キーとして前記第1の表を検索する手段と、第1の表を検索した結果、当該検索キーに対応するフロー識別子が検索された際に、当該IPパケットに含まれる、発信元IPアドレス、宛先IPアドレス、プロトコル番号、及びフラグメント識別子から構成される情報と、検索されたフロー識別子を第2の表に登録する手段と、IPパケットが先頭のフラグメントでない場合、IPパケットに含まれる発信元IPアドレスなどの情報を検索キーとして前記第2の表を検索する手段とを有する。
【選択図】 図4
Description
【発明の属する技術分野】
本発明は、パケット送信装置に係わり、特に、本発明は、IPネットワークにおけるエンド・ツウ・エンドの通信を識別するセッション(アソシエーションと呼ばれる場合もある)の一部あるいは全部を含む情報をTCPもしくはUDPパケットをカプセル化したIPパケットから識別して、識別した情報に基づいてIPパケットに対して帯域保証や優先制御等の品質制御や、データリンク層の識別子の付与を行なうパケット送信装置に関する。
【0002】
【従来の技術】
インターネットにおけるエンド・ツウ・エンドの通信は、一般にはTCPもしくはUDPパケットをカプセル化したIPパケットによって実現され、この通信における片方向の通信、即ち、サーバ等が提供するアプリケーションを利用する端末と、このサーバ間の通信における片方向の通信は、サーバや端末を識別する、発信元IPアドレス、宛先IPアドレス、TCPやUDPを識別するプロトコル番号、アプリケーションを識別する発信元ポート番号、宛先ポート番号の組合わせによって識別される。
この発信元IPアドレス、宛先IPアドレス、プロトコル番号、発信元ポート番号、及び宛先ポート番号で識別される片方向の通信はセッションと呼ばれ、インターネットにおける通信を識別する基本的な単位となる。セッションは、IPバージョン4パケットでも、バージョン6パケットでも共通の概念である。
【0003】
インターネットにおける通信は、セッションを構成する情報を基に識別する事が可能である。
例えば、インターネットにおける特定のサーバが提供する特定のアプリケーションと不特定の端末間の通信は、端末からサーバ方向は、宛先IPアドレス、プロトコル番号、及び宛先ポート番号で識別され、サーバから端末方向は、発信元IPアドレス、プロトコル番号、及び発信元ポート番号で識別される。
同様に、インターネットにおける特定のサーバが提供する特定のアプリケーションと特定の端末間の通信は、端末からサーバ方向は、発信元IPアドレス、宛先IPアドレス、プロトコル番号、及び宛先ポート番号で識別され、サーバから端末方向は、発信元IPアドレス、宛先IPアドレス、プロトコル番号、及び発信元ポート番号で識別される。
本明細書では、TCPもしくはUDPパケットをカプセル化したIPパケットに含まれる、セッションを識別する情報(発信元IPアドレス、宛先IPアドレス、プロトコル番号、発信元ポート番号、及び宛先ポート番号)の一部あるいは全部を含む情報で識別されるインターネット上の通信をフローと定義する。
【0004】
インターネット上の通信におけるフローの識別は、IPパケットに対する帯域保証や優先制御等の品質制御や、データリンク層の識別子の付与の際に用いられる。
例えば、インターネットにおける資源予約プロトコルを規定した、インターネット標準 RFC 2205及び2210には、IPパケットをフロー毎に識別して、品質制御を行なう方法が規定されている。
また、仮想LANのプロトコルを定めたIEEE標準 802.1Q−1998,802.1u−2001,802.1v−2001に規定された、タグヘッダを含むMACフレームに対してVLAN識別子を付与する方法として、アプリケーションVLANがある。
この方法は、前記の標準には規定されておらず、仮想LANをサポートしたブリッジやルータ装置を実装するベンダ毎の独自機能であるが、おおむねMACフレームのタグヘッダに対して、MACフレームが転送する上位プロトコルのアプリケーションに対応したVLAN識別子を付与する方法であり、VLAN識別子を付与する際にフローの識別を必要とする。
【0005】
従来の、インターネット上の通信におけるフローの識別は、IPパケットに含まれるセッションを識別する情報に基づいて実現されている。
TCPもしくはUDPパケットをカプセル化したIPバージョン4パケットの例を図1に示す。
図1の102から107のフィールドはオプションフィールドを含まないIPバージョン4パケットのヘッダ部分であり、フィールド105のプロトコル番号の値が6の場合は、108以降のフィールドはTCPパケット、17の場合はUDPパケットのヘッダ部分である。TCPパケットとUDPパケットのフィールド108及び109の形式は同一である。
図1から明らかな通り、セッションを識別する情報である、発信元IPアドレスはフィールド106、宛先IPアドレスはフィールド107、プロトコル番号はフィールド105、発信元ポート番号はフィールド108、宛先ポート番号はフィールド109から取得する事が出来る。
【0006】
また、TCPもしくはUDPパケットをカプセル化したIPバージョン6パケットの例を図2に示す。
図2の202から208のフィールドはフラグメントヘッダを含むIPバージョン6パケットのヘッダ部分であり、フィールド206の次のヘッダの値が6の場合は、209以降のフィールドはTCPパケット、17の場合はUDPパケットのヘッダ部分である。TCPパケットとUDPパケットのフィールド209及び210の形式は同一である。
図2から明らかな通り、セッションを識別する情報である、発信元IPアドレスはフィールド204、宛先IPアドレスはフィールド205、プロトコル番号はフィールド206、発信元ポート番号はフィールド209、宛先ポート番号はフィールド210から取得する事が出来る。
【0007】
なお、本願発明に関連する先行技術文献情報としては以下のものがある。
【特許文献1】
特表2002−511703号公報
【特許文献2】
特開2001−274795号公報
【0008】
【発明が解決しようとする課題】
以上述べた、IPパケットに含まれるセッションを識別する情報に基づいて、フローを識別する方法は、例えば、特許文献1(特表2002−511703号公報)にも開示されている。
しかし、これらのフロー識別方法は、フラグメント(断片化)したパケットに対しては適用出来ない場合がある。
TCPもしくはUDPパケットをカプセル化したIPパケットをMACフレームにカプセル化した例を図3に示す。
TCPもしくはUDPパケットにカプセル化されるユーザデータ長と、このTCPもしくはUDPパケットのヘッダ長と、IPパケットのヘッダ長の和が、MACフレームが伝送可能なデータ長以下の場合、このTCPもしくはUDPパケットは図3の(A)に示す形式に基づいてIPパケットにカプセル化され、IPパケットはMACフレームにカプセル化される。
しかし、TCPもしくはUDPパケットにカプセル化されるユーザデータ長と、このTCPもしくはUDPパケットのヘッダ長と、IPパケットのヘッダ長の和が、MACフレームが伝送可能なデータ長を越えるため、図3の(A)に示す形式では伝送が不可能な場合、図3の(B)に示す様に、このTCPもしくはUDPパケットは、IPヘッダを含んだ際に、MACフレームで伝送可能なデータ長以下にフラグメント処理され、フラグメントした各々のTCPもしくはUDPパケットはIPパケットにカプセル化され、IPパケットはMACフレームにカプセル化される。
【0009】
フラグメントはIPバージョン4でもバージョン6でもほぼ共通の概念である。
インターネットプロトコルバージョン4のプロトコルを定めたインターネット標準 RFC 791に規定されたIPバージョン4のフラグメント処理は、パケットの発信元の端末、もしくはパケットを転送するルータにおいて、ネットワークに送信するIPバージョン4パケットの長さが、これをカプセル化するフレームにおいて伝送可能なデータ長を越える場合に行なわれ、宛先の端末でフラグメント処理前のTCPやUDPパケット等に復元される。
IPバージョン4パケットのフィールド104に含まれるフラグメントオフセットの値は、このパケットに含まれるTCPやUDPパケット等が、フラグメント前のTCPやUDPパケット等において出現する位置を示す。
この値が0の場合、このIPバージョン4パケットに含まれるTCPやUDPパケット等は、フラグメント前のTCPやUDPパケット等の先頭部分となる。
【0010】
また、フィールド104に含まれるMFの値が0の場合は、このパケットに含まれるTCPやUDPパケット等が、フラグメントの末尾のパケットである事を示し、1の場合は末尾では無い事を示す。
尚、フィールド104に含まれるフラグメントオフセットの値が0で、かつフィールド104に含まれるMFの値が0の場合は、このIPバージョン4パケットがフラグメントしていない事を示す。
フィールド103に含まれるフラグメント識別子は、このパケットに含まれるTCPやUDPパケット等に対応するフラグメント前のTCPやUDPパケット等を識別するもので、フィールド106の発信元IPアドレス、フィールド107の宛先IPアドレス、フィールド105に含まれるプロトコル番号と、このフラグメント識別子の組合わせによって、フラグメント前のTCPやUDPパケット等はネットワーク上で一意に識別される。
【0011】
インターネットプロトコルバージョン6のプロトコルを定めたインターネット標準 RFC 2460に規定されたIPバージョン6のフラグメント処理は、パケットの発信元の端末において、ネットワークに送信するIPバージョン6パケットの長さが、これをカプセル化して伝送する経路において伝送可能なデータ長を越える場合に行なわれ、宛先の端末でフラグメント処理前のTCPやUDPパケット等に復元される。
IPバージョン6ではフラグメントヘッダはオプションヘッダである。IPバージョン6パケットのフィールド207に含まれるフラグメントオフセットの値は、このパケットに含まれるTCPやUDPパケット等が、フラグメント前のTCPやUDPパケット等において出現する位置を示す。
この値が0の場合、このIPバージョン6パケットに含まれるTCPやUDPパケット等は、フラグメント前のTCPやUDPパケット等の先頭部分となる。
【0012】
また、フィールド207に含まれるMの値が0の場合は、このパケットに含まれるTCPやUDPパケット等が、フラグメントの末尾のパケットである事を示し、1の場合は末尾では無い事を示す。
尚、IPバージョン6パケットがフラグメントヘッダを含んでいない場合、もしくは、IPバージョン6パケットがフラグメントヘッダを含む場合であって、フィールド207に含まれるフラグメントオフセットの値が0で、かつフィールド207に含まれるMの値が0の場合は、これらのIPバージョン6パケットはフラグメントしていない事を示す。
フィールド208に含まれるフラグメント識別子は、このパケットに含まれるTCPやUDPパケット等に対応するフラグメント前のTCPやUDPパケット等を識別するもので、フィールド204の発信元IPアドレス、フィールド205の宛先IPアドレスと、このフラグメント識別子の組合わせによって、フラグメント前のTCPやUDPパケット等はネットワーク上で一意に識別される。
【0013】
以上から明らかな通り、フラグメントしていないTCPやUDP等のパケット、およびフラグメントの先頭のTCPやUDP等のパケットをカプセル化したIPパケットには、TCPやUDPパケット等のヘッダが存在する。
しかし、TCPやUDPパケット等がフラグメントした場合、フラグメントの先頭以外のTCPやUDP等のパケットにはTCPやUDPパケット等のヘッダは存在しないため、これをカプセル化したIPパケットにはセッションを識別する際に必要な発信元ポート番号と宛先ポート番号の情報が含まれていない。
このため、インターネット上の通信におけるフローの識別を、IPパケットに含まれるセッションを識別する情報に基づいて行なう従来の方法は、TCPやUDP等のパケットがフラグメントした場合、フラグメントの先頭以外のTCPやUDP等のパケットをカプセル化したIPパケットのフローを識別する事が出来ない問題点がある。
【0014】
従来、インターネットではデータ中心のアプリケーションが使用されていたため、フラグメントは例外的な状況でしか発生せず、フラグメントに対応できない従来のフローの識別方法における問題は、例外的な問題であると認識されてきた。
一方、近年、ビデオ配信やテレビ会議等の、帯域保証や優先制御等の品質制御を必要とするリアルタイプアプリケーションが普及してきているが、これらのアプリケーションで使用されるMPEG等の1画面の情報量は、現在インターネットで広く使用されているIEEE標準 802.3−2002に規定されたフレームで伝送可能な情報量より遥かに大きい。
このため、これらのアプリケーションは1画面の情報を送信するにあたって、何らかの方法で1画面の情報を分割して転送しなければならないが、現在多くのリアルタイムアプリケーションでは、情報の分割をアプリケーション側では行なわず、1画面の情報をOS(Operating System)のアプリケーションインターフェースにそのまま渡して、OS側がこの情報をパケットにカプセル化してネットワークに送信する際に、フラグメント処理を行なっている。
【0015】
この様に、現在のインターネットにおけるリアルタイムアプリケーションはフラグメントを積極的に使用しており、フラグメントに対応できないフロー識別方法は無視し得ない問題となる。
本発明は、前記従来技術の問題点を解決するためになされたものであり、本発明の目的は、インターネット上の通信における従来のフローの識別方法において、TCPもしくはUDPパケットがフラグメントした場合、フラグメントの先頭以外のTCPもしくはUDPパケットをカプセル化したIPパケットのフローを識別する事が出来ない問題点を解決し、識別したフローに基づいて品質制御やデータリンク層の識別子の付与を行なうパケット送信装置を提供することにある。
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述及び添付図面によって明らかにする。
【0016】
【課題を解決するための手段】
本発明は、前述した目的を達成するために、パケット送信装置が、発信元IPアドレス、宛先IPアドレス、プロトコル番号、発信元ポート番号、及び宛先ポート番号の一部あるいは全部を含む情報に対応する、フロー識別子を予め定めた第1の表と、TCPやUDPパケットのフラグメントを識別する情報に対応する、フロー識別子を予め定めた表であり、フラグメントを識別する情報に対応するフロー識別子を登録する登録手段と消去する消去手段と、フラグメントを識別する情報を検索キーとして、対応するフロー識別子を検索する検索手段と、一定時間検索されなかったフラグメントを識別する情報と、対応するフロー識別子を消去するエージング手段を備えた第2の表を備え、かつ、パケット選別部が、TCPもしくはUDPパケットをカプセル化したIPパケットのフロー識別子を検索する際に、このIPパケットがフラグメントしていない場合、もしくはフラグメントの先頭の場合、このIPパケットに含まれるセッションを識別する情報の一部あるいは全部を含む情報を検索キーとして、第1の表を検索する手段と、第1の表を検索した結果、検索キーに対応するフロー識別子が検索された際に、このIPパケットがフラグメントの先頭の場合、このIPパケットに含まれる、フラグメント前のTCPやUDPパケットをネットワーク上で一意に識別する情報と、検索したフロー識別子を第2の表に登録する手段と、TCPもしくはUDPパケットをカプセル化したIPパケットのフロー識別子を検索する際に、このIPパケットがフラグメントしていて、かつフラグメントの先頭以外の場合、このIPパケットに含まれる、フラグメント前のTCPやUDPパケットをネットワーク上で一意に識別する情報を検索キーとして、第2の表を検索する手段を備えた事を最も主要な特徴とする。
【0017】
前述したIPバージョン4及びIPバージョン6のフラグメント処理の規定から明らかな通り、フラグメント前のTCPやUDPパケット等は、IPバージョン4でこれらをカプセル化した場合、発信元IPアドレス、宛先IPアドレス、プロトコル番号、及びフラグメント識別子の組合わせによって、IPバージョン6では、発信元IPアドレス、宛先IPアドレス、及びフラグメント識別子の組合わせによって、ネットワーク上で一意に識別される。
このため、フラグメントしたTCPやUDPパケット等をカプセル化したIPパケットのフロー情報を識別する際に、このIPパケットがフラグメントの先頭の場合は、パケットに含まれるセッションを識別する情報に基づいてフローを識別し、その識別結果を、IPバージョン4では、パケットに含まれる発信元IPアドレス、宛先IPアドレス、プロトコル番号、及びフラグメント識別子から構成される情報を検索キーとして、IPバージョン6では、パケットに含まれる発信元IPアドレス、宛先IPアドレス、及びフラグメント識別子から構成される情報を検索キーとして第2の表に登録する。
【0018】
そして、フラグメントしたTCPやUDPパケット等をカプセル化したIPパケットのフロー情報を識別する際に、このIPパケットがフラグメントの先頭以外の場合は、IPバージョン4では、パケットに含まれる発信元IPアドレス、宛先IPアドレス、プロトコル番号、及びフラグメント識別子から構成される情報、IPバージョン6では、パケットに含まれる発信元IPアドレス、宛先IPアドレス、及びフラグメント識別子から構成される情報を検索キーとして、前記第2の表からこのIPパケットに対応するフローの識別結果を検索すれば、フラグメントしたTCPやUDPパケット等をカプセル化したIPパケットの先頭以外のパケットのフローを識別する事が可能となる。
本発明は、パケット送信装置が前記の第2の表を備え、かつパケット選別部が前記の登録手段と検索手段を備えるため、従来の技術と比較して、TCPもしくはUDPパケットがフラグメントした場合であっても、このパケットをカプセル化したIPパケットのフローを識別する事が出来る点が最も異なる。
【0019】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態を詳細に説明する。
なお、実施の形態を説明するための全図において、同一機能を有するものは同一符号を付け、その繰り返しの説明は省略する。
本発明の請求項1から請求項6に記載された「IPバージョン4パケット」、「発信元IPアドレス」、「宛先IPアドレス」、「プロトコル番号」、「フラグメント識別子」、「フラグメントオフセット」、「MFフラグ」とは、各々インターネットプロトコルバージョン4のプロトコルを定めたインターネット標準RFC 791に規定された”datagram”、”Source Address”、”Destination Address”、”protocol”、”Identification”、”Fragment Offset”、”MF”の事である。
本発明の請求項7から請求項12に記載された「IPバージョン6パケット」、「発信元IPアドレス」、「宛先IPアドレス」、「フラグメントヘッダ」、「フラグメント識別子」、「フラグメントオフセット」、「Mフラグ」とは、各々インターネットプロトコルバージョン6のプロトコルを定めたインターネット標準 RFC 2460に規定された”packet”、”Source Address”、”Destination Address”、”Fragment Header”、”Identification”、”Fragment Offset”、”M”の事である。
また、「プロトコル番号」とは、RFC 2460に規定されたIPバージョン6パケットのヘッダ部に単数あるいは複数含まれる”Next Header”の内の最後の”Next Header”の事である。
【0020】
本発明の請求項1及び請求項7に記載された「TCPパケット」とは、トランスミッション制御プロトコルを定めたインターネット標準 RFC 793に規定された”TCP segment”、「UDPパケット」とは、ユーザデータグラムプロトコルを定めたインターネット標準 RFC 768に規定された”User Datagram”、「発信元ポート番号」、「宛先ポート番号」とは、各々RFC 793及びRFC 768に規定された”Source Port”、”Destination Port”の事である。
本発明の請求項5及び請求項11に記載された「MACフレーム」、「タグヘッダ」、「VLAN識別子」とは、各々仮想LANのプロトコルを定めたIEEE標準 802.1Q−1998, 802.1u−2001, 802.1v−2001に規定された”Frame”、”Tagheader”、”VLANidentifier”の事である。
本発明の請求項6及び請求項12に記載された「ATMセル」、「VPI,VCI」は各々ATMセルを定めたITU−T勧告 I.361に規定された”Cell”、”VPI、VCI”の事である。
また、「AAL5プロトコルデータユニット」とは、AAL5プロトコルを定めたITU−T勧告 I.363.5に規定されたAAL5の”CPCS−PDU”の事である。
【0021】
図4は、本発明の実施の形態のパケット送信装置の概略構成を示すブロック図である。
同図において、401はパケット送信装置、402はパケット選別部、403はスケジューリング部、404は第1の表、405は第2の表である。
インターネット標準 RFC 793に規定されたTCPパケット、もしくはインターネット標準 RFC 768に規定されたUDPパケットを、インターネット標準 RFC 791に規定されたIPバージョン4パケットにカプセル化した例を図1に示す。図1において、101はTCPもしくはUDPパケットをカプセル化したIPバージョン4パケットの例である。
102から107のフィールドはオプションフィールドを含まないIPバージョン4パケットのヘッダ部分である。108及び109のフィールドはTCPもしくはUDPパケットのヘッダ部分である。
102のフィールドに含まれるIHLの値は、IPバージョン4パケットのヘッダ長を示し、この値が5の場合はヘッダがオプションフィールドを含まない事を示し、6以上の場合はヘッダのオクテット長がIHLの値を4倍した値となる事を示す。サービス種別(Type of Service:DSCPと呼ばれる場合もある)の値は、このパケットの優先度を示す。
103はフラグメント識別子である。104はMFフラグ及びフラグメントオフセットの値を含むフィールドである。
105はプロトコル番号の値を含むフィールドであり、この値が6の場合は、108以降のフィールドはTCPパケット、17の場合はUDPパケットのヘッダ部分である。フィールド106は発信元IPアドレス、フィールド107は宛先IPアドレス、フィールド108は発信元ポート番号、フィールド109は宛先ポート番号である。
【0022】
インターネット標準 RFC 793に規定されたTCPパケット、もしくはインターネット標準 RFC 768に規定されたUDPパケットを、インターネット標準 RFC 2460に規定されたIPバージョン6パケットにカプセル化した例を図2に示す。図2において、201はTCPもしくはUDPパケットをカプセル化したIPバージョン6パケットの例である。
202から208のフィールドはオプションヘッダであるフラグメントヘッダを含むIPバージョン6パケットのヘッダ部分であり、この中で206から208のフィールドはオプションヘッダのフラグメントヘッダである。
209及び210のフィールドはTCPもしくはUDPパケットのヘッダ部分である。202のフィールドに含まれるトラヒッククラス(Traffic Class:DSCPと呼ばれる場合もある)の値は、このパケットの優先度を示す。
203のフィールドに含まれる「次のヘッダ」(Next Header)の値が44の場合、このヘッダがオプションヘッダのフラグメントヘッダを含む事を示す。フィールド204は発信元IPアドレス、フィールド205は宛先IPアドレスである。
【0023】
206のフィールドに含まれる「次のヘッダ」の値は、プロトコル番号の値であり、この値が6の場合は、209以降のフィールドはTCPパケット、17の場合はUDPパケットのヘッダ部分である。
尚、IPバージョン6パケットがオプションヘッダを含まない場合、203のフィールドに含まれる「次のヘッダ」の値がプロトコル番号の値となる。
また、IPバージョン6パケットが他のオプションヘッダを含む場合、これらのオプションヘッダの最後のオプションヘッダのフィールドに含まれる「次のヘッダ」の値がプロトコル番号の値となる。
即ち、プロトコル番号の値は、IPバージョン6パケットのヘッダ部に単数あるいは複数含まれる「次のヘッダ」の内の最後の「次のヘッダ」の値となる。
207はMフラグ及びフラグメントオフセットの値を含むフィールドである。208はフラグメント識別子である。フィールド209は発信元ポート番号、フィールド210は宛先ポート番号である。
【0024】
以下、図4に示す本実施の形態のパケット送信装置において、図1に示されたTCPもしくはUDPパケットをカプセル化したIPバージョン4パケットの例、もしくは図2に示されたTCPもしくはUDPパケットをカプセル化したIPバージョン6パケットの例を、ネットワークに送信する際の動作例を述べる。
尚、これまでの記述から明らかな通り、IPバージョン4パケットとバージョン6パケットの規定には共通の部分が多いため、以下、単にIPパケットと記述した場合は、これらに共通の記述を示すものとする。
パケット送信装置401は、サーバ端末システム、IPパケットの帯域制御システム、IPパケット交換システム、IPルータシステム等におけるパケット送信装置に適用する事が出来る装置である。
サーバ端末システムに適用された場合、パケット選別部402はサーバのアプリケーションから直接、あるいはカーネルのアプリケーションインターフェースを介して間接的にIPパケットを受け取り、フロー識別子を検索し、スケジューリング部403は、IPパケットをフレームにカプセル化してネットワークに送信する。
【0025】
IPパケットの帯域制御システムに適用された場合、パケット選別部402はネットワークから受信したIPパケットを受け取り、このフレームからIPパケットを抽出し、フロー識別子を検索し、スケジューリング部403は、IPパケットをフレームにカプセル化してネットワークに送信する。
IPパケット交換システムに適用された場合、パケット選別部402は交換網(ファブリック)からIPパケットを受け取り、フロー識別子を検索し、スケジューリング部403は、IPパケットをフレームにカプセル化してネットワークに送信する。
IPルータシステムに適用された場合、パケット選別部402はIPルーチングテーブルを検索してルーチング先が決定したIPパケットを受け取り、フロー識別子を検索し、スケジューリング部403は、IPパケットをフレームにカプセル化してネットワークに送信する。
いずれにせよ、パケット送信装置401は、ネットワークを構成する様々なシステムにおいてIPパケットを送信する装置に適用する事が可能であり、その用途は以上の例に限定されるものではない。
【0026】
パケット送信装置401は、セッションを識別する情報の一部あるいは全部を含む情報に対応する、フロー識別子を予め定めた表であり、かつ、セッションを識別する情報の一部あるいは全部を含む情報を検索キーとして、対応するフロー識別子を検索する検索手段を備えた第1の表404を備える。
請求項1から請求項6に記載のパケット送信装置における第1の表404では、セッションを識別する情報は、図1に示したTCPもしくはUDPをカプセル化したIPバージョン4パケットの例では、フィールド106の発信元IPアドレス、フィールド107の宛先IPアドレス、フィールド105のプロトコル番号、フィールド108の発信元ポート番号、及びフィールド109の宛先ポート番号で構成される情報となる。
また、請求項7から請求項12に記載のパケット送信装置における第1の表404では、セッションを識別する情報は、図2に示したTCPもしくはUDPをカプセル化したIPバージョン6パケットの例では、フィールド204の発信元IPアドレス、フィールド205の宛先IPアドレス、フィールド206のプロトコル番号、フィールド209の発信元ポート番号、及びフィールド210の宛先ポート番号で構成される情報となる。
【0027】
第1の表404は、少なくとも前記のセッションを識別する情報の一部あるいは全部を含む情報に対応するフロー識別子を記憶し、少なくとも前記セッションを識別する情報の一部あるいは全部を含む情報を検索キーとして対応するフロー識別子を検索する手段を備える。
第1の表404は記憶させる情報、及び検索キーの情報として、セッションを識別する情報の一部あるいは全部に対して、補助的な情報を追加しても良い。
例えば、パケット送信装置401がIPパケット交換システムやIPルータシステムに適用される場合は、IPパケットを受信した回線を識別するポート番号、IPパケットを受信した回線が仮想LANやATMの様に論理多重をサポートしている場合は、受信したIPパケットをカプセル化したフレームに含まれるVLAN識別子やVPI及びVCI等の論理回線を識別する識別子、受信したIPパケットをカプセル化したフレームが優先度情報を含む場合は、フレームに含まれる優先度情報、IPパケットに含まれる優先度、及び受信したIPパケットのフレームに対するカプセル化方法を識別する識別子等を追加しても良い。
【0028】
パケット送信装置401がIPパケットの帯域制御システムに適用される場合は、IPパケットを受信した回線が論理多重をサポートしている場合は、受信したIPパケットをカプセル化したフレームに含まれる論理回線を識別する識別子、受信したIPパケットをカプセル化したフレームが優先度情報を含む場合は、フレームに含まれる優先度情報、IPパケットに含まれる優先度、及び受信したIPパケットのフレームに対するカプセル化方法を識別する識別子等を追加しても良い。
パケット送信装置401がサーバ端末システムに適用される場合は、IPパケットに含まれる優先度等を追加しても良いし、追加できる情報は以上に限定されるものでは無い。
第1の表404に記憶させる情報、及び検索キーの情報として、セッションを識別する情報の一部あるいは全部に対して、補助的な情報を追加することによって、IPパケットを受信した回線、論理回線、優先度情報、及びカプセル化方法等に応じてよりきめ細かくフローを識別することが出来る。
【0029】
第1の表404は、セッションを識別する情報を含む情報を、一致もしくは最長一致の検索キーとし、フロー識別子の値を検索データとする連想記憶素子(CAM)やパトリシアツリーで実現する事が出来る。
セッションを識別する情報の一部を検索キーとする場合は、連想記憶素子やパトリシアツリーにおいて、検索キーに対して一意にマスク値を設定する方法、検索キーに含まれる一部の情報に対応するマスク値を予め定めておき、検索キー毎に対応するマスク値を設定する方法、もしくは連想記憶素子やパトリシアツリーに記憶されている、セッションを識別する情報を含む情報毎に、検索時のマスク値を設定する方法で実現する事が出来る。
【0030】
パケット送信装置401は、TCPやUDPパケットのフラグメントを識別する情報に対応する、フロー識別子を定めた表であって、フラグメントを識別する情報に対応するフロー識別子を登録する登録手段と消去する消去手段と、フラグメントを識別する情報を検索キーとして、対応するフロー識別子を検索する検索手段と、一定時間検索されなかったフラグメントを識別する情報と、対応するフロー識別子を消去するエージング手段とを備えた第2の表405を備える。
請求項1から6請求項に記載のパケット送信装置における第2の表405では、TCPやUDPパケットのフラグメントを識別する情報は、図1に示したTCPもしくはUDPをカプセル化したIPバージョン4パケットの例では、フィールド106の発信元IPアドレス、フィールド107の宛先IPアドレス、フィールド105のプロトコル番号、及びフィールド103のフラグメント識別子で構成される情報となる。
また、請求項7から請求項12に記載のパケット送信装置における第2の表405では、TCPやUDPパケットのフラグメントを識別する情報は、図2に示したTCPもしくはUDPをカプセル化したIPバージョン6パケットの例では、フィールド204の発信元IPアドレス、フィールド205の宛先IPアドレス、及びフィールド208のフラグメント識別子で構成される情報となる。
第2の表405は、TCPやUDPパケットのフラグメントを識別する情報を一致の検索キーとし、フロー識別子の値を検索データとする連想記憶素子(CAM)やパトリシアツリーで実現する事が出来る。
【0031】
パケット選別部402は、TCPもしくはUDPパケットをカプセル化したIPパケットのフロー識別子を検索する際に、このIPパケットがフラグメントしていない場合、もしくはフラグメントの先頭の場合、このIPパケットに含まれるセッションを識別する情報の一部あるいは全部を含む情報を検索キーとして、第1の表404を検索する手段を備える。
即ち、請求項1から請求項6に記載の発明のパケット選別部402は、図1に示したIPバージョン4パケットのフロー識別子を検索する際に、フィールド105のプロトコル番号が6の場合はTCP、17の場合はUDPパケットがカプセル化されていると判断し、フィールド104に含まれるフラグメントオフセットの値が0の場合は、このIPバージョン4パケットがフラグメントしていない、もしくはフラグメントの先頭と判断し、フィールド102に含まれるIHLの値が5の場合は、フィールド106の発信元IPアドレス、フィールド107の宛先IPアドレス、フィールド105のプロトコル番号、フィールド108の発信元ポート番号、及びフィールド109の宛先ポート番号の一部あるいは全部を含む情報を検索キーとして第1の表404を検索する。
尚、フィールド102に含まれるIHLの値が6以上の場合は、フィールド107の後にオプションフィールドが含まれ、このオプションフィールドの長さは(IHL−5)*4となるため、発信元ポート番号、及び宛先ポート番号の値は、図1に示した位置から、このオプションフィールド長だけ下にずれた位置から取得する。フィールド102に含まれるIHLの値が4以下の場合はプロトコル規定上存在しない。
【0032】
請求項7から請求項12に記載の発明のパケット選別部402は、図2に示したIPバージョン6パケットのフロー識別子を検索する際に、フィールド203に含まれる「次のヘッダ」の値が44の場合は、このIPバージョン6パケットがフラグメントヘッダを含むと判断し、フィールド206に含まれる「次のヘッダ」の値が6の場合はTCP、17の場合はUDPパケットがカプセル化されていると判断し、フィールド207に含まれるフラグメントオフセットの値が0の場合は、このIPバージョン6パケットがフラグメントしていない、もしくはフラグメントの先頭と判断し、フィールド204の発信元IPアドレス、フィールド205の宛先IPアドレス、フィールド206のプロトコル番号、フィールド209の発信元ポート番号、及びフィールド210の宛先ポート番号の一部あるいは全部を含む情報を検索キーとして第1の表404を検索する。
また、図2に示したIPバージョン6パケットのフロー識別子を検索する際に、フィールド203に含まれる「次のヘッダ」の値が6もしくは17の場合は、このIPバージョン6パケットはTCPもしくはUDPパケットをカプセル化しているが、フラグメントしておらず、フラグメントヘッダを含んでいないと判断し、発信元ポート番号、及び宛先ポート番号の値は、図2に示した位置から、フラグメントヘッダ長だけ上にずれた位置、即ちフィールド206、及び207から各々取得し、フィールド204の発信元IPアドレス、フィールド205の宛先IPアドレス、フィールド203のプロトコル番号と発信元ポート番号、及び宛先ポート番号の一部あるいは全部を含む情報を検索キーとして第1の表404を検索する。
【0033】
尚、一連のインターネットバージョン6関連のプロトコル規定では、各種オプションヘッダに関しては、オプションヘッダの存在を示す「次のヘッダ」の値は一意に定められ、オプションヘッダの長さは一意に定められているか、オプションヘッダ内部のフィールドに示される事が規定されている。
このため、IPバージョン6パケットがフラグメントヘッダを含む場合であっても、含まない場合であっても、これ以外のオプションヘッダを含む場合は、「次のヘッダ」の値とオプションヘッダ長からオプションヘッダの存在を識別して、フラグメントヘッダが含まれている場合は、フラグメントオフセットの値をフラグメントヘッダの当該当する位置から取得し、プロトコル番号の値はIPバージョン6パケットに含まれるオプションヘッダの最後のオプションヘッダに含まれる「次のヘッダ」の値から取得し、この値が6もしくは17の場合は、発信元ポート番号、及び宛先ポート番号を、最後のオプションヘッダの次の位置から取得する。
【0034】
パケット選別部402は、第1の表404を検索した結果、検索キーに対応するフロー識別子が検索された際に、このIPパケットがフラグメントの先頭の場合、このIPパケットに含まれる、フラグメント前のTCPやUDPパケットをネットワーク上で一意に識別する情報と、検索したフロー識別子を第2の表405に登録する手段を備える。
即ち、請求項1から請求項6に記載の発明のパケット選別部402は、第1の表404を検索した結果、検索キーに対応するフロー識別子が検索された際に、図1に示したIPバージョン4パケットのフィールド104に含まれるMFフラグの値が1の場合は、このIPバージョン4パケットがフラグメントの先頭であると判断し、フィールド106の発信元IPアドレス、フィールド107の宛先IPアドレス、フィールド105のプロトコル番号、及びフィールド103のフラグメント識別子から構成される情報と、検索したフロー識別子を第2の表405に登録する。
【0035】
請求項7から請求項12に記載の発明のパケット選別部402は、第1の表404を検索した結果、検索キーに対応するフロー識別子が検索された際に、図2に示したIPバージョン6パケットのフィールド203に含まれる「次のヘッダ」の値が44の場合は、このIPバージョン6パケットがフラグメントヘッダを含むと判断し、フィールド207に含まれるMフラグの値が1の場合は、このIPバージョン6パケットがフラグメントの先頭であると判断し、フィールド204の発信元IPアドレス、フィールド205の宛先IPアドレス、及びフィールド208のフラグメント識別子から構成される情報と、検索したフロー識別子を第2の表に登録する。
尚、IPバージョン6パケットがフラグメントヘッダに加えて、これ以外のオプションヘッダを含む場合は、Mフラグの値、及びフラグメント識別子はフラグメントヘッダの当該当する位置から取得する。
【0036】
パケット選別部402は、TCPもしくはUDPパケットをカプセル化したIPパケットのフロー識別子を検索する際に、このIPパケットがフラグメントしていて、かつフラグメントの先頭以外の場合、このIPパケットに含まれる、フラグメント前のTCPやUDPパケットをネットワーク上で一意に識別する情報を検索キーとして、第2の表405を検索する手段を備える。
即ち、請求項1から6に記載の発明のパケット選別部402は、図1に示したIPバージョン4パケットのフロー識別子を検索する際に、フィールド105のプロトコル番号が6の場合はTCP、17の場合はUDPパケットがカプセル化されていると判断し、フィールド104に含まれるフラグメントオフセットの値が0以外の場合は、このIPバージョン4パケットがフラグメントしていて、かつフラグメントの先頭以外であると判断し、フィールド106の発信元IPアドレス、フィールド107の宛先IPアドレス、フィールド105のプロトコル番号、及びフィールド103のフラグメント識別子から構成される情報を検索キ一として第2の表405を検索する。
【0037】
請求項7から請求項12に記載の発明のパケット選別部402は、図2に示したIPバージョン6パケットのフロー識別子を検索する際に、フィールド203に含まれる「次のヘッダ」の値が44の場合は、このIPバージョン6パケットがフラグメントヘッダを含むと判断し、フィールド206に含まれる「次のヘッダ」の値が6の場合はTCP、17の場合はUDPパケットがカプセル化されていると判断し、フィールド207に含まれるフラグメントオフセットの値が0の以外の場合は、このIPバージョン6パケットがフラグメントしていて、かつフラグメントの先頭以外であると判断し、フィールド204の発信元IPアドレス、フィールド205の宛先IPアドレス、及びフィールド208のフラグメント識別子から構成される情報を検索キーとして第2の表405を検索する。
尚、IPバージョン6パケットがフラグメントヘッダに加えて、これ以外のオプションヘッダを含む場合は、フラグメントオフセットの値はフラグメントヘッダの当該当する位置から取得する。
【0038】
パケット選別部402は、第2の表405を検索した結果、検索キーに対応するフロー識別子が検索された際に、このIPパケットがフラグメントの末尾の場合、このIPパケットに含まれる、フラグメント前のTCPやUDPパケットをネットワーク上で一意に識別する情報と、検索したフロー識別子を第2の表405から消去する手段を備えても良い。
即ち、請求項1から請求項6に記載の発明のパケット選別部402は、第2の表405を検索した結果、検索キーに対応するフロー識別子が検索された際に、図1に示したIPバージョン4パケットのフィールド104に含まれるMFフラグの値が0の場合は、このIPバージョン4パケットがフラグメントの末尾であると判断し、フィールド106の発信元IPアドレス、フィールド107の宛先IPアドレス、フィールド105のプロトコル番号、及びフィールド103のフラグメント識別子から構成される情報と、検索したフロー識別子を第2の表405から消去しても良い。
【0039】
請求項7から請求項12に記載の発明のパケット選別部402は、第2の表405を検索した結果、検索キーに対応するフロー識別子が検索された際に、図2に示したIPバージョン6パケットのフィールド207に含まれるMフラグの値が0の場合は、このIPバージョン6パケットがフラグメントの末尾であると判断し、フィールド204の発信元IPアドレス、フィールド205の宛先IPアドレス、及びフィールド208のフラグメント識別子から構成される情報と、検索したフロー識別子を第2の表から消去しても良い。
尚、IPバージョン6パケットがフラグメントヘッダに加えて、これ以外のオプションヘッダを含む場合は、Mフラグの値、及びフラグメント識別子はフラグメントヘッダの当該当する位置から取得する。
この手段によって、第2の表405から必要の無くなった検索キーとフロー識別子を効率的に消去する事が可能となる。
【0040】
尚、IPパケットは消滅する可能性があり、フラグメントの末尾のIPパケットも消滅する可能性があるため、第2の表405は一定時間検索されなかった、発信元IPアドレス、宛先IPアドレス、プロトコル番号、及びフラグメント識別子から構成される情報と、対応するフロー識別子を消去するエージング手段を備えている。
パケット選別部402は、第1の表404、もしくは第2の表405を検索した結果、検索キーに対応するフロー識別子が存在しない場合、このIPパケットに対応するフロー識別子を、予め定められたデフォルト値とする手段を備えても良い。
また、パケット選別部402は、第1の表404、もしくは第2の表405を検索した結果、検索キーに対応するフロー識別子が存在しない場合、このIPパケットを破棄する手段を備えても良い。
この手段によって、第1の表404に予め定める必要のある、発信元IPアドレス、宛先IPアドレス、プロトコル番号、発信元ポート番号、及び宛先ポート番号の一部あるいは全部を含む情報に対応する、フロー識別子の数を削減して、表のサイズを縮小する事が可能となる。
【0041】
スケジューリング部403は、IPパケットに対応するフロー識別子に基づいて、このIPパケットをフレームにカプセル化してネットワークに送信する。
スケジューリング部403は、フレームにカプセル化されたIPパケットに対して、フロー識別子に基づいて、帯域保証や優先制御等の品質制御を行なう手段を備えても良いし、フロー識別子に基づいて、データリンク層の識別子の付与を行う手段を備えても良い。
例えば、帯域保証の一つであるシェーピング(最大帯域の制限)において、品質を指定するパラメータは、許容される最大帯域の値、及び許容されるパケット遅延時間のゆらぎの値となる。
また、同じく帯域保証の一つである最低帯域保証において、品質を指定するパラメータは、保証される最低帯域の値、最大バースト長の値、許容される最大帯域の値、及び許容されるパケット遅延時間のゆらぎの値となる。
従って、フロー識別子が直接的あるいは、間接的にこれらのパラメータを含み、スケジューリング部403はフレームをネットワークに送信する際に、フロー識別子で指定されるパラメータに基づいて帯域保証を行っても良い。
【0042】
フロー識別子が間接的にこれらのパラメータを含む場合には、これらのパラメータの値の組合わせに対応する識別子が予め定められ、フロー識別子がこの識別子を含む場合を含む。
また、特許文献2(特開2001−274795号公報)に開示される様に、シェーピングはパケットをキューに分類して、このキューを、品質を指定するパラメータに基づいてスケジュールする事によって実現する事が可能である。
また、最低帯域保証は重み付け公平キュー(WFQ)によって実現する事が可能であり、この場合もキューは品質を指定するパラメータに基づいてスケジュールされている。
このため、フロー識別子はこれらの物理的、論理的、あるいは仮想的なキューを識別する値を直接的あるいは、間接的に含み、スケジューリング部403はフレームをネットワークに送信する際に、フロー識別子で間接的に指定されるパラメータに基づいて帯域保証を行っても良い。
【0043】
また、フロー識別子が直接的、あるいは間接的にIPパケットの優先度の値を含み、スケジューリング部403はIPパケットをカプセル化したフレームをネットワークに送信する際に、フロー識別子で直接的、あるいは間接的に指定される優先度に基づいて優先制御を行なっても良い。
優先制御は一般に優先度に対応したキューによって実現する事が可能であり、この場合、キューは優先度順にサービスされる。
このため、フロー識別子はこれらの物理的、論理的、あるいは仮想的なキューを識別する値を直接的あるいは、間接的に含み、スケジューリング部403はフレームをネットワークに送信する際に、フロー識別子で間接的に指定される優先度に基づいて優先制御を行っても良い。
この際に、フロー識別子で直接的、あるいは間接的に指定される優先度に基づいて、IPパケットの優先度を付与したり、IPパケットをカプセル化するフレームの優先度情報、例えば、タグヘッダを含むMACフレームの優先度やATMセルの優先度を設定しても良い。
【0044】
尚、IPバージョン4パケットに対して優先度を付与した場合、IPバージョン4パケットヘッダのチェックサムを再計算する必要がある場合がある。
更に、フロー識別子が直接的、あるいは間接的にデータリンク層の識別子の値、例えば、VLAN識別子やVPI及びVCIを含み、スケジューリング部403はIPパケットをフレームにカプセル化する際に、フロー識別子で直接的、あるいは間接的に指定されるデータリンク層の識別子をフレームに付与しても良い。
尚、フロー識別子によって指定される情報は以上の例に限定されるものでは無い。また、品質制御の特殊な例として、スケジューリング部403は、IPパケットに対応するフロー識別子に基づいて、IPパケットを破棄しても良い。
【0045】
IPパケットをカプセル化したフレームの第1の例を図5に示す。
図5において、501は、図1に示したTCPもしくはUDPパケットをカプセル化したIPバージョン4パケットを、タグヘッダを含むIEEE標準 802.3−2002に規定されたMACフレームに、インターネット標準 RFC 894に規定されたカプセル化方法に基づいてカプセル化した場合の例である。
フィールド502からフィールド503はMACフレームのヘッダであり、フィールド503のLENGTH/TYPEの値が「0x81−00」の場合、このMACフレームにタグヘッダが含まれている事を示す。
フィールド504及びフィールド505はタグヘッダであり、フィールド504はVLAN識別子(VLAN ID)、MACフレームの優先度(USER PRI)、及びVLAN識別子の値が有効である場合0となるフラグ(CF)の値を含む。
【0046】
フィールド505の MAC CLIENT LENGTH/TYPEの値が「0x08−00」の場合、このタグヘッダを含むMACフレームにIPパケットがカプセル化されている事を示す。
フィールド506以降は、図1に示したTCPもしくはUDPパケットをカプセル化したIPバージョン4パケットである。TCPもしくはUDPパケットをカプセル化したIPバージョン6パケットも同様にカプセルされる。
先に述べた通り、フロー識別子が直接的、あるいは間接的にVLAN識別子や優先度の値を含み、スケジューリング部403が、IPパケットをタグヘッダを含むMACフレームにカプセル化する際に、フロー識別子に含まれるVLAN識別子の値を、フィールド504に含まれるVLAN識別子の値に設定しても良く、フロー識別子に含まれる優先度の値を、フィールド504に含まれるMACフレームの優先度の値に設定しても良い。
【0047】
IPパケットをカプセル化したフレームの第2の例を図6に示す。
図6において、601は、図1に示したTCPもしくはUDPパケットをカプセル化したIPバージョン4パケットを、ITU−T勧告 I.363.5に規定されたAAL5プロトコルデータユニットに、インターネット標準 RFC 2684に規定されたRouted PDU形式に基づいたカプセル化方法でカプセル化して、ITU−T勧告 I.361に規定されたNNIセルに分割した場合の先頭のATMセルの例である。
フィールド602からフィールド604はATMセルのヘッダである。VPIはフィールド602に含まれ、VCIはフィールド602及び603に含まれる。また、フィールド603は、ATMセルの優先度(CL)を含む。
フィールド605のLLCの値が「0xAA−AA−03」であり、フィールド606の OUIの値が「0x00−00−00」であり、かつフィールド607のEther Typeの値が「0x08−00」の場合、このATMセルに分割されたAAL5プロトコルデータユニットにIPパケットがカプセル化されている事を示す。
フィールド608以降は、図1に示したTCPもしくはUDPパケットをカプセル化したIPバージョン4パケットである。TCPもしくはUDPパケットをカプセル化したIPバージョン6パケットも同様にカプセルされる。
【0048】
先に述べた通り、フロー識別子が直接的、あるいは間接的にVPI及びVCIや優先度の値を含み、スケジューリング部403が、IPパケットをATMセルに分割されたAAL5プロトコルデータユニットにカプセル化する際に、フロー識別子に含まれるVPI及びVCIの値を、フィールド602及びフィールド603に含まれるVPI及びVCIの値に設定しても良く、フロー識別子に含まれる優先度の値を、フィールド603に含まれるATMセルの優先度の値に設定しても良い。
スケジューリング部403がIPパケットをカプセル化するフレームの形式や、カプセル化方法は以上に限定されるものでは無い。
一連のIEEE 802標準に規定された他のMACフレーム、ITU−T勧告 Q.922に規定されたフレーム、インターネット標準 RFC 1661に規定されたPPP等のデータリンク層のフレームに何らかの形で直接的あるいは間接的に、標準に準拠したカプセル化方法あるいは独自の方法でIPパケットがカプセル化されていれば良く、更に、これらのフレームにIPパケットがカプセル化され、インターネット標準 RFC 2784に規定されたGRE、インターネット標準 RFC 2003、もしくはインターネット標準 RFC 2473に規定されたIP−in−IP、インターネット標準 RFC 2661に規定されたL2TP等のカプセル化方法に基づいて、このIPパケットに直接的あるいは間接的にIPパケットがカプセル化されても良く、また、これらのフレームに、インターネット標準 RFC 3031に規定されたMPLS等のカプセル化方法に基づいて直接的あるいは間接的にIPパケットがカプセル化されても良い。
【0049】
尚、本発明の請求範囲には、IPバージョン4パケットもしくはIPバージョン6パケットに対応した、パケット選別部、スケジューリング部、第1の表、及び第2の表を各々含み、送信するIPパケットのバージョンに応じて、パケット選別部、スケジューリング部、第1の表、及び第2の表を切り替えるパケット送信装置や、IPバージョン4パケットおよびIPバージョン6パケットの双方に対応した、パケット選別部、スケジューリング部、第1の表、及び第2の表を含み、送信するIPパケットのバージョンに応じて、パケット選別部、スケジューリング部、第1の表、及び第2の表の動作を切り替えるパケット送信装置が含まれる事は自明である。
更に、本明細書で参照した標準や勧告書は、出願時点で最新のものを参照しているが、明細書の記述は、これらの標準や勧告書の過去の版に準拠した装置に遡って適用される事は自明であり、また、これらの標準や勧告書が将来改版された場合、改版された標準や勧告に準拠した装置に適用される事は自明であり、更に、これらの標準や勧告書の草案や標準や勧告書の内容と類似の方法に基づく装置に適用される事も自明である。
以上、本発明者によってなされた発明を、前記実施の形態に基づき具体的に説明したが、本発明は、前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは勿論である。
【0050】
【発明の効果】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば、下記の通りである。
本発明のパケット送信装置によれば、インターネット上の通信のフローを識別する際に、TCPもしくはUDPパケットがフラグメントした場合であっても、フローを識別する事が出来る利点があるため、現在のインターネットにおけるリアルタイムアプリケーションの様に、フラグメントが積極的に使用された場合であっても、フローに基づいて品質制御やデータリンク層の識別子の付与を行なうことが可能となる。
【図面の簡単な説明】
【図1】TCPもしくはUDPパケットをカプセル化したIPバージョン4パケットの一例を示す図である。
【図2】TCPもしくはUDPパケットをカプセル化したIPバージョン6パケットの一例を示す図である。
【図3】TCPもしくはUDPパケットをカプセル化したIPパケットをMACフレームにカプセル化した例を示す図である。
【図4】本発明の実施の形態のパケット送信装置の概略構成を示すブロック図である。
【図5】IPパケットをカプセル化したフレームの第1の例を示す図である。
【図6】IPパケットをカプセル化したフレームの第2の例を示す図である。
【符号の説明】
401…パケット送信装置、402…パケット選別部、403…スケジューリング部、404…第1の表、405…第2の表。
Claims (12)
- 発信元IPアドレス、宛先IPアドレス、プロトコル番号、発信元ポート番号、及び宛先ポート番号の一部あるいは全部を含む情報に対応する、フロー識別子を予め定めた表であって、発信元IPアドレス、宛先IPアドレス、プロトコル番号、発信元ポート番号、及び宛先ポート番号の一部あるいは全部を含む情報を検索キーとして、対応するフロー識別子を検索する検索手段を備えた第1の表と、
発信元IPアドレス、宛先IPアドレス、プロトコル番号、及びフラグメント識別子から構成される情報に対応する、フロー識別子を定めた表であって、発信元IPアドレス、宛先IPアドレス、プロトコル番号、及びフラグメント識別子から構成される情報と、対応するフロー識別子を登録する登録手段と、発信元IPアドレス、宛先IPアドレス、プロトコル番号、及びフラグメント識別子から構成される情報と、対応するフロー識別子を消去する消去手段と、発信元IPアドレス、宛先IPアドレス、プロトコル番号、及びフラグメント識別子から構成される情報を検索キーとして、対応するフロー識別子を検索する検索手段と、一定時間検索されなかった、発信元IPアドレス、宛先IPアドレス、プロトコル番号、及びフラグメント識別子から構成される情報と、対応するフロー識別子を消去するエージング手段を備えた第2の表と、
TCPもしくはUDPパケットをカプセル化したIPバージョン4パケットに対応するフロー識別子を検索するパケット選別部と、
IPバージョン4パケットを、対応するフロー識別子に基づいて、フレームにカプセル化してネットワークに送信するスケジューリング部とを備えるパケット送信装置であって、
前記パケット選別部は、TCPもしくはUDPパケットをカプセル化したIPバージョン4パケットのフロー識別子を検索する際に、当該IPバージョン4パケットに含まれるフラグメントオフセットの値が0の場合は、当該IPバージョン4パケットに含まれる、発信元IPアドレス、宛先IPアドレス、プロトコル番号、及び当該IPバージョン4パケットにカプセル化されたTCPもしくはUDPパケットに含まれる、発信元ポート番号、宛先ポート番号の一部あるいは全部を含む情報を検索キーとして前記第1の表を検索する手段と、
前記第1の表を検索した結果、当該検索キーに対応するフロー識別子が検索された際に、当該IPバージョン4パケットに含まれるMFフラグの値が1の場合は、当該IPバージョン4パケットに含まれる、発信元IPアドレス、宛先IPアドレス、プロトコル番号、及びフラグメント識別子から構成される情報と、検索された当該フロー識別子を前記第2の表に登録する手段と、
TCPもしくはUDPパケットをカプセル化したIPバージョン4パケットのフロー識別子を検索する際に、当該IPバージョン4パケットに含まれるフラグメントオフセットの値が0以外の値の場合は、当該IPバージョン4パケットに含まれる、発信元IPアドレス、宛先IPアドレス、プロトコル番号、及びフラグメント識別子から構成される情報を検索キーとして前記第2の表を検索する手段とを有することを特徴とするパケット送信装置。 - 前記パケット選別部は、前記第2の表を検索した結果、当該検索キーに対応するフロー識別子が検索された際に、当該IPバージョン4パケットに含まれるMFフラグの値が0の場合は、当該IPバージョン4パケットに含まれる、発信元IPアドレス、宛先IPアドレス、プロトコル番号、及びフラグメント識別子から構成される情報と、検索された当該フロー識別子を前記第2の表から消去する手段を有することを特徴とする請求項1に記載のパケット送信装置。
- フロー識別子のデフォルト値が予め定められており、
前記パケット選別部は、前記第1の表、もしくは前記第2の表を検索した結果、当該検索キーに対応するフロー識別子が存在しない場合、当該IPバージョン4パケットに対応するフロー識別子を、当該デフォルト値とする手段を有することを特徴とする請求項1または請求項2に記載のパケット送信装置。 - 前記パケット選別部は、前記第1の表、もしくは前記第2の表を検索した結果、当該検索キーに対応するフロー識別子が存在しない場合、当該IPバージョン4パケットを破棄する手段を有することを特徴とする請求項1または請求項2に記載のパケット送信装置。
- ネットワークに送信するフレームが、タグヘッダを含むMACフレームであり、
前記スケジューリング部は、IPバージョン4パケットをタグヘッダを含むMACフレームにカプセル化してネットワークに送信する際に、当該タグヘッダに含まれるVLAN識別子にフロー識別子に基づいた値を付与する手段を有することを特徴とする請求項1ないし請求項4のいずれか1項に記載のパケット送信装置。 - ネットワークに送信するフレームが、ATMセルに分割されたAAL5プロトコルデータユニットであり、
前記スケジューリング部は、IPバージョン4パケットをATMセルに分割されたAAL5プロトコルデータユニットにカプセル化してネットワークに送信する際に、当該ATMセルに含まれるVPI及びVCIにフロー識別子に基づいた値を付与する手段を有することを特徴とする請求項1ないし請求項4のいずれか1項に記載のパケット送信装置。 - 発信元IPアドレス、宛先IPアドレス、プロトコル番号、発信元ポート番号、及び宛先ポート番号の一部あるいは全部を含む情報に対応する、フロー識別子を予め定めた表であって、発信元IPアドレス、宛先IPアドレス、プロトコル番号、発信元ポート番号、及び宛先ポート番号の一部あるいは全部を含む情報を検索キーとして、対応するフロー識別子を検索する検索手段を備えた第1の表と、
発信元IPアドレス、宛先IPアドレス、及びフラグメント識別子から構成される情報に対応する、フロー識別子を定めた表であって、発信元IPアドレス、宛先IPアドレス、及びフラグメント識別子から構成される情報と、対応するフロー識別子を登録する登録手段と、発信元IPアドレス、宛先IPアドレス、及びフラグメント識別子から構成される情報と、対応するフロー識別子を消去する消去手段と、発信元IPアドレス、宛先IPアドレス、及びフラグメント識別子から構成される情報を検索キーとして、対応するフロー識別子を検索する検索手段と、一定時間検索されなかった、発信元IPアドレス、宛先IPアドレス、及びフラグメント識別子から構成される情報と、対応するフロー識別子を消去するエージング手段を備えた第2の表と、
TCPもしくはUDPパケットをカプセル化したIPバージョン6パケットに対応するフロー識別子を検索するパケット選別部と、
IPバージョン6パケットを、対応するフロー識別子に基づいて、フレームにカプセル化してネットワークに送信するスケジューリング部とを備えるパケット送信装置であって、
前記パケット選別部は、TCPもしくはUDPパケットをカプセル化したIPバージョン6パケットのフロー識別子を検索する際に、当該IPバージョン6パケットがフラグメントヘッダを含まない場合、もしくは、当該IPバージョン6パケットがフラグメントヘッダを含む場合であって、かつ当該フラグメントヘッダに含まれるフラグメントオフセットの値が0の場合は、当該IPバージョン6パケットに含まれる、発信元IPアドレス、宛先IPアドレス、プロトコル番号、及び当該IPバージョン6パケットにカプセル化されたTCPもしくはUDPパケットに含まれる、発信元ポート番号、宛先ポート番号の一部あるいは全部を含む情報を検索キーとして前記第1の表を検索する手段と、
前記第1の表を検索した結果、当該検索キーに対応するフロー識別子が検索された際に、当該IPバージョン6パケットがフラグメントヘッダを含む場合であって、かつ当該フラグメントヘッダに含まれるMフラグの値が1の場合は、当該IPバージョン6パケットに含まれる、発信元IPアドレス、宛先IPアドレス、及び当該フラグメントヘッダに含まれるフラグメント識別子から構成される情報と、検索された当該フロー識別子を前記第2の表に登録する手段と、
TCPもしくはUDPパケットをカプセル化したIPバージョン6パケットのフロー識別子を検索する際に、当該IPバージョン6パケットがフラグメントヘッダを含む場合であって、かつ当該フラグメントヘッダに含まれるフラグメントオフセットの値が0以外の値の場合は、当該IPバージョン6パケットに含まれる、発信元IPアドレス、宛先IPアドレス、及び当該フラグメントヘッダに含まれるフラグメント識別子から構成される情報を検索キーとして前記第2の表を検索する手段を有することを特徴とするパケット送信装置。 - 前記パケット選別部は、前記第2の表を検索した結果、当該検索キーに対応するフロー識別子が検索された際に、当該IPバージョン6パケットに含まれるMフラグの値が0の場合は、当該IPバージョン6パケットに含まれる、発信元IPアドレス、宛先IPアドレス、及びフラグメント識別子から構成される情報と、検索された当該フロー識別子を前記第2の表から消去する手段を有することを特徴とする請求項7に記載のパケット送信装置。
- フロー識別子のデフォルト値が予め定められており、
前記パケット選別部は、前記第1の表、もしくは前記第2の表を検索した結果、検索キーに対応するフロー識別子が存在しない場合、当該IPバージョン6パケットに対応するフロー識別子を、当該デフォルト値とする手段を有することを特徴とする請求項7または請求項8に記載のパケット送信装置。 - 前記パケット選別部は、前記第1の表、もしくは前記第2の表を検索した結果、検索キーに対応するフロー識別子が存在しない場合、当該IPバージョン6パケットを破棄する手段を有することを特徴とする請求項7または請求項8に記載のパケット送信装置。
- ネットワークに送信するフレームが、タグヘッダを含むMACフレームであり、
前記スケジューリング部は、IPバージョン6パケットをタグヘッダを含むMACフレームにカプセル化してネットワークに送信する際に、当該タグヘッダに含まれるVLAN識別子にフロー識別子に基づいた値を付与する手段を有することを特徴とする請求項7ないし請求項10のいずれか1項に記載のパケット送信装置。 - ネットワークに送信するフレームが、ATMセルに分割されたAAL5プロトコルデータユニットであり、
前記スケジューリング部は、IPバージョン6パケットをATMセルに分割されたAAL5プロトコルデータユニットにカプセル化してネットワークに送信する際に、当該ATMセルに含まれるVPI及びVCIにフロー識別子に基づいた値を付与する手段を有することを特徴とする請求項7ないし請求項10のいずれか1項に記載のパケット送信装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002310808A JP3851256B2 (ja) | 2002-10-25 | 2002-10-25 | パケット送信装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002310808A JP3851256B2 (ja) | 2002-10-25 | 2002-10-25 | パケット送信装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004147164A true JP2004147164A (ja) | 2004-05-20 |
JP3851256B2 JP3851256B2 (ja) | 2006-11-29 |
Family
ID=32456206
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002310808A Expired - Fee Related JP3851256B2 (ja) | 2002-10-25 | 2002-10-25 | パケット送信装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3851256B2 (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008205868A (ja) * | 2007-02-21 | 2008-09-04 | Nec Corp | Ipフラグメントパケット処理装置及びそれに用いるipフラグメントパケット処理方法並びにプログラム |
WO2008126228A1 (ja) * | 2007-03-29 | 2008-10-23 | Fujitsu Limited | 通信装置 |
JP2009239685A (ja) * | 2008-03-27 | 2009-10-15 | Oki Electric Ind Co Ltd | パケット処理装置およびパケット処理方法 |
JP2016019066A (ja) * | 2014-07-07 | 2016-02-01 | 富士通株式会社 | パケット中継システム、パケット中継装置、およびパケット中継方法 |
JP2017034723A (ja) * | 2016-11-10 | 2017-02-09 | ▲ホア▼▲ウェイ▼技術有限公司Huawei Technologies Co.,Ltd. | パケット処理方法及び転送要素 |
CN115460164A (zh) * | 2022-08-20 | 2022-12-09 | 西安翔腾微电子科技有限公司 | 一种基于arinc664协议的组包方法 |
-
2002
- 2002-10-25 JP JP2002310808A patent/JP3851256B2/ja not_active Expired - Fee Related
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008205868A (ja) * | 2007-02-21 | 2008-09-04 | Nec Corp | Ipフラグメントパケット処理装置及びそれに用いるipフラグメントパケット処理方法並びにプログラム |
WO2008126228A1 (ja) * | 2007-03-29 | 2008-10-23 | Fujitsu Limited | 通信装置 |
JP4723672B2 (ja) * | 2007-03-29 | 2011-07-13 | 富士通株式会社 | 通信装置、及び、通信方法 |
US8170061B2 (en) | 2007-03-29 | 2012-05-01 | Fujitsu Limited | Communication device |
JP2009239685A (ja) * | 2008-03-27 | 2009-10-15 | Oki Electric Ind Co Ltd | パケット処理装置およびパケット処理方法 |
JP2016019066A (ja) * | 2014-07-07 | 2016-02-01 | 富士通株式会社 | パケット中継システム、パケット中継装置、およびパケット中継方法 |
JP2017034723A (ja) * | 2016-11-10 | 2017-02-09 | ▲ホア▼▲ウェイ▼技術有限公司Huawei Technologies Co.,Ltd. | パケット処理方法及び転送要素 |
CN115460164A (zh) * | 2022-08-20 | 2022-12-09 | 西安翔腾微电子科技有限公司 | 一种基于arinc664协议的组包方法 |
CN115460164B (zh) * | 2022-08-20 | 2023-11-10 | 西安翔腾微电子科技有限公司 | 一种基于arinc664协议的组包方法 |
Also Published As
Publication number | Publication date |
---|---|
JP3851256B2 (ja) | 2006-11-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7289517B1 (en) | Node device | |
JP3151103B2 (ja) | 通信システムおよび通信方法 | |
JP4073761B2 (ja) | 高度マルチポイントアクセスシステムのためのipプラットフォーム | |
US6571291B1 (en) | Apparatus and method for validating and updating an IP checksum in a network switching system | |
US20080056295A1 (en) | Internet protocol quality of service apparatus and method | |
CA2352697C (en) | Router device and priority control method for use in the same | |
US7602809B2 (en) | Reducing transmission time for data packets controlled by a link layer protocol comprising a fragmenting/defragmenting capability | |
US7417995B2 (en) | Method and system for frame relay and ethernet service interworking | |
US20020089929A1 (en) | Packet processor with multi-level policing logic | |
WO2022022229A1 (zh) | 一种处理报文的方法及装置 | |
JPH1132078A (ja) | 送信キュー管理方式および本方式を用いるインタネットワーク装置 | |
Deering et al. | RFC1883: Internet Protocol, version 6 (IPv6) specification | |
JP3851256B2 (ja) | パケット送信装置 | |
JP3950895B2 (ja) | 通信システムおよび通信方法 | |
JP2004222010A (ja) | ルータ装置 | |
US20060187922A1 (en) | Packet communication device | |
US20060221929A1 (en) | Description of packet in a packet communication network | |
JP3944515B2 (ja) | 通信システムおよび通信方法 | |
KR100637933B1 (ko) | 가입자 액세스망 접속 장비에서의 패킷 포워딩 방법 및장치 | |
JP3185751B2 (ja) | Atm通信装置 | |
JP2004128805A (ja) | パケット転送装置 | |
JP2009232053A (ja) | Atm/ip優先制御装置、及びatm/ip優先制御方法 | |
JP3689704B2 (ja) | 通信システムおよび通信方法 | |
EP1494402A1 (en) | Transmission control device and process for an interface between communication networks and associated products | |
JP2000341275A (ja) | フレーム処理装置及びその処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050119 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060613 |
|
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: 20060829 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060831 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090908 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100908 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100908 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110908 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120908 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |