JP2004297775A - パケット中継装置 - Google Patents

パケット中継装置 Download PDF

Info

Publication number
JP2004297775A
JP2004297775A JP2004034555A JP2004034555A JP2004297775A JP 2004297775 A JP2004297775 A JP 2004297775A JP 2004034555 A JP2004034555 A JP 2004034555A JP 2004034555 A JP2004034555 A JP 2004034555A JP 2004297775 A JP2004297775 A JP 2004297775A
Authority
JP
Japan
Prior art keywords
packet
flow
rtp
flow identification
unit
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.)
Withdrawn
Application number
JP2004034555A
Other languages
English (en)
Inventor
Makoto Matsuoka
誠 松岡
Mikio Shimazu
幹夫 島津
Michinori Kishimoto
倫典 岸本
Seiji Kubo
聖治 久保
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2004034555A priority Critical patent/JP2004297775A/ja
Publication of JP2004297775A publication Critical patent/JP2004297775A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】 ユーザの特別な設定なしに、フラグメントが発生した場合でも優先制御でき、RTP/RTCPパケットに対応したパケット中継装置を提供する。
【解決手段】 IPパケットのIPヘッダ内の送信元IPアドレス、宛先IPアドレス、プロトコル番号、識別子と、TCP/UDPヘッダ内の送信元ポート番号、宛先ポート番号と、RTPヘッダ内のペイロードタイプ、SSRC(Synchronization source)を、1つのエントリの情報とするフロー識別テーブル1903を備え、入力されるIPパケット内にRTPヘッダの特徴を持つパケットが一定時間内に連続して入力される場合、該入力されたIPパケットはRTPパケットを含んでいると判定するRTPパケット判定手段1904と、RTPパケット判定手段1904の判定結果と予め定義されたルールに基づいて所望のクラスに分類するパケット分類手段1905を備える。
【選択図】 図19

Description

本発明は、パケット中継装置に関するものであり、さらに詳しくは、パケットの優先度に従ってパケットを優先制御する技術に関するものである。
IP(Internet Protocol)ネットワークでは、優先度の高いパケットと優先度の低いパケットが混在して流れている。ベストエフォート方式によると、ネットワークが混雑しているとき、通信に必要な資源が得られず、優先度が高いパケットであっても、ランダムに廃棄されてしまう。このような事態を避けるため、QoS(Quality of Service)制御技術が注目されている。
従来技術を説明する例として、企業内のネットワークをとりあげる。このネットワークでは、部署Aが利用するWebパケットは、優先度の高いパケットとして転送処理され、それ以外のパケットは優先度の低いパケットとして転送処理されるものと仮定する。
(第1の従来技術)
第1の従来技術では、このネットワークの各ルータにおいて、部署Aが利用するWebパケットかどうかをチェックし、該当するパケットであれば、優先的に転送処理する。ここで、優先度の高いパケットか否かは、主に、IPヘッダに含まれる宛先IPアドレス、送信元IPアドレス、プロトコル番号、IPヘッダの後に続くTCP/UDPヘッダの宛先ポート番号、送信元ポート番号を参照することにより判定される。
また、レイヤ2スイッチでは、優先度が付与されたVLANタグ付きフレームの優先度を参照して、優先度の高いパケットか否かをチェックすることもある。VLANタグ付きフレームの優先度を用いた優先処理については様々な文献に記載されている(例えば、非特許文献1参照)。
(第2の従来技術)
第2の従来技術は、Diffserv(Differentiated Services)方式を利用するものである。この方式は、インターネット技術の標準化団体であるIETF(Internet Engineering Task Force)によって規定されている。
Diffserv方式では、IPヘッダ内の8ビットのToS(Type of Service)フィールドをDS(Differentiated Services)フィールドとして再定義し、DSフィールドの6ビットにセットされるDSCP(Differentiated Services Code Point)と呼ばれる値に応じて、パケットの転送処理が行われる。
なお、DSフィールドの再定義は、RFC2474に示されており(非特許文献2参照)、DSCPに応じたパケット転送方法については、RFC2475に示されている(非特許文献3参照)。
先の例をDiffserv方式で実現しようとすると、例えば、次のようになる。
パケットのDSフィールドにDSCPをマークするルータは、パケットが部署AのWebパケットか否かをチェックし、該当するパケットであれば、優先度の高いDSCPをマークし、それ以外のパケットは優先度の低いDSCPをマークする。また、DSCPのマークを行わないルータは、DSCPのマークに従って優先制御を行う。
この場合も、第1の従来技術と同様に、DSCPをマークするルータは、IPヘッダに含まれる宛先IPアドレス、送信元IPアドレス、プロトコル番号、IPヘッダの後に続くTCP/UDPヘッダの宛先ポート番号、送信元ポート番号を参照して、部署AのWebパケットか否かを判定する。
なお、第1の従来技術、第2の従来技術において、ルータの設定作業は、ネットワークの管理専任者によって行われることが多い。
さて、近年のインターネット接続環境のブロードバンド化、常時接続化に伴い、一般の家庭でもブロードバンドルータを配置し、同時に複数の端末からインターネットにアクセスすることが多くなってきた。また、サービスの観点からは、電子メールサービスやWebサービスだけでなく、ビデオ配信サービスや、双方向のコミュニケーションサービス等、映像、音声を使ったAVアプリケーションサービスが普及してきている。さらに、DVD(Digital Video Disc)デッキ等、動画像を蓄積する機器にネットワーク機能を搭載した製品も市場に出始めており、ブロードバンドルータを中心として家庭内に構築したネットワークを経由して蓄積した動画像を視聴するという形態が一般家庭でも行われ始めている。
このようなAVアプリケーションサービスは、リアルタイム性が求められるため、パケット廃棄や遅延による影響が大きく、ネットワークの状況によっては、実用上利用困難になることもあり得る。従って、今後は、一般家庭向けのブロードバンドルータ(パケット中継装置の例)においても、QoS制御機能を搭載する製品が普及してくると思われる。
IETFにおいては、映像や音声のようなAVデータのパケットを転送するプロトコルとして、RTP(Real−time TranspoRTProtocol)をRTCP(RTP Control Protocol)とともに規定している。一般的にRTPは、UDPの上位プロトコルとして利用し、そのヘッダにタイムスタンプやシーケンス番号を付けて送信することで、再生の同期を取ることができる。また、このような情報を送信側にフィードバックするための制御プロトコルとしてRTCPが使用される。
なお、RTP、RTCPに関してはRFC1889に示されている(非特許文献4参照)。
Rich Seifert著、間宮あきら訳、"LANスイッチング徹底解説"、日経BP社、2001年、第13章 "DefinitioNof the Differentiated Services Field(DS Field) in the IPv4 and IPv6 Headers", RFC2474, December 1998 "An Architecture for Differentiated Services", RFC2475, December 1998) "RTP: A TranspoRTProtocol for Real−Time Applications", RFC1889, January 1996
パケットが転送されるとき、経路途中で、パケット長より最大転送単位(MTU:Maximum Transfer Unit)が小さいネットワークを、パケットが通過する場合などにおいて、一つのパケットが、複数のパケットにフラグメント(断片)化することがある。
フラグメントが発生すると、元のパケットは、先頭のパケット(フラグメント先頭パケット)と、先頭から2番目以降に位置するパケット(フラグメント非先頭パケット)とに、分断される。フラグメント先頭パケットは、IPヘッダとTCP/UDPヘッダとを保持しているが、フラグメント非先頭パケットは、IPヘッダを保持するがTCP/UDPヘッダを失う。
第1の従来技術及び第2の従来技術では、優先するパケットか否かを判定するために、TCP/UDPヘッダのポート番号を参照している。したがって、フラグメント非先頭パケットについて、優先すべきパケットか否か判定できない。
一般に、優先度が不明なパケットは、低い優先度のパケットとして処理される。そして、元のパケットが高い優先度を持ち、かつ、元のパケットがフラグメント化したときには、元のパケットのフラグメント非先頭パケットは、本来高い優先度を持っているにもかかわらず、低い優先度で処理されてしまうことになる。
また、第1の従来技術及び第2の従来技術では、RTPパケットの優先制御について問題がある。RTPは、AVアプリケーションのパケットを転送するために使用され、一般的にはUDPタイプのプロトコルである。RTPパケットは、即時性が重要なAVアプリケーションに関するパケットであるから、高い優先度で処理されるべきものである。
RFC1889は、RTPは偶数のポート番号を使用すると定めており、第1の従来技術及び第2の従来技術(TCP/UDPヘッダのポート番号を用いた優先度の判定)は、適用できない。
RTCPは、RTPの制御プロトコルである。RTCPを優先的に処理する対象にすることが考えられる。ここで、RTCPのポート番号は、RTPのポート番号の次の奇数ポート番号が使用されるが、RTPが使用するポート番号を把握できない限り、RTCPのポート番号は不明であるし、RTPとRTCPとの関連を明らかにすることはできない。
また、特定のIPパケットに対して優先的に処理を行うように機器に設定することは、企業の管理専任者とは異なり、一般家庭のユーザにとっては困難であることが多い。
さらに、以上のフラグメント対策とRTP対策とは、複数のキューを用いた優先制御をも含めて実現されなければならない。
そこで本発明は、従来技術よりも緻密にパケットの優先制御を行えるパケット中継装置を提供することを目的とする。より具体的には、本発明は、ユーザが特別な設定をすることもなく、フラグメントが発生した場合でも優先度の高いパケットを識別して優先制御できるようにするとともに、RTPパケット及びRTCPパケットに対応した技術を提供することを目的とする。
また、簡易なユーザインターフェースを提供し、IPパケットを分類するためのルールの設定を容易にすることを目的とする。
請求項1記載のパケット中継装置は、優先度毎にパケットを格納する複数のキューと、複数のキューのいずれかからパケットを取り出して外部へ出力するスケジューラと、パケット分類ルールを記憶するパケット分類ルール記憶手段と、パケット分類ルール記憶手段のパケット分類ルールに基づいて複数のキューのいずれかにパケットを出力するパケット分類手段と、フローを定義する情報と当該フローの優先度の情報とを格納できるフロー識別情報記憶手段とを備え、フロー識別情報記憶手段は、パケット分類ルール記憶手段とは異なる態様で操作される。
この構成において、フロー識別情報をパケット分類ルールとは異なる態様で操作することにより、パケット分類ルールのみによる場合よりも、さらにきめ細やかにパケットの優先制御を実施できる。即ち、フラグメント化やRTPパケット等への対応が容易になる。
請求項2記載のパケット中継装置では、フローを定義する情報は、IPヘッダ内の送信元IPアドレス、宛先IPアドレス、プロトコル番号、識別子を含む。
この構成において、フローを定義する情報に識別子を含めることにより、フラグメント化が発生しても、IPヘッダ内の情報により、フラグメント化した複数のパケットを、同一のフローに属するものとして取り扱うことができる。
請求項3記載のパケット中継装置では、入力されたパケットが、フラグメント非先頭パケットであるか否かを判定するヘッダチェック手段を備える。
この構成により、ヘッダチェック手段を用いて、フラグメント先頭パケットとフラグメント非先頭パケットとを明確に区別できるから、フラグメント先頭パケットとフラグメント非先頭パケットとを、それぞれの性質に合わせて異なる態様で処理できる。
請求項4記載のパケット中継装置では、ヘッダチェック手段は、さらに、入力されたパケットが、フラグメント先頭パケットであるか否かを判定し、ヘッダチェック手段が、フラグメント先頭パケットであると判定した際、入力されたパケットが属するフローを定義する情報と当該フローの優先度の情報とを、フロー識別情報記憶手段に追加するフロー識別情報登録手段とを備える。
この構成により、フラグメント先頭パケットが到来した際、フラグメント先頭パケットの情報(特に、フラグメント非先頭パケットが失うTCP/UDPヘッダの情報)をフロー識別情報に追加することができ、この追加後に到来するフラグメント非先頭パケットの取り扱いを、TCP/UDPヘッダを失っていない状態と同等にすることができる。
請求項5記載のパケット中継装置では、ヘッダチェック手段によりフラグメント非先頭パケットであると判定されたパケットを、フロー識別情報記憶手段のフローを定義する情報と当該フローの優先度の情報とに基づいて複数のキューのいずれかに出力するフロー識別手段をさらに備え、パケット分類手段は、ヘッダチェック手段によりフラグメント非先頭パケットでないと判定されたパケットを、パケット分類ルール記憶手段のパケット分類ルールに基づいて複数のキューのいずれかに出力する。
この構成により、フラグメント非先頭パケットはフロー識別情報を用いたフロー識別手段により、フラグメント非先頭パケットでないパケットはパケット分類ルールを用いたパケット分類手段により、それぞれパケットの性質に合わせて優先制御できる。
請求項6記載のパケット中継装置では、フロー識別手段は、フラグメント非先頭パケットが最終のフラグメント非先頭パケットであるか否かを判定し、フロー識別手段により最終の非先頭フラグメントパケットであると判定されたパケットが属するフローを定義する情報と当該フローの優先度の情報とを、フロー識別情報記憶手段から削除する第1の削除手段を備える。
この構成により、最終のフラグメント非先頭パケットが到来すると、そのパケットが属するフローの情報が、フロー識別情報から削除され、システムリソースの無駄遣いを回避できるとともに、フロー識別情報の検索対象数を減らして、高速な処理を実現できる。
請求項7記載のパケット中継装置では、入力されない状態が一定時間経過したフローを定義する情報と当該フローの優先度の情報とを、フロー識別情報記憶手段から削除する第2の削除手段を備える。
この構成により、一定時間の経過という単純な条件により、使用されていないフローの情報が、フロー識別情報から削除され、システムリソースの無駄遣いを回避できるとともに、フロー識別情報の検索対象数を減らして、高速な処理を実現できる。
請求項8記載のパケット中継装置では、パケットに関するフローを定義する情報と当該フローの優先度の情報とがフロー識別情報記憶手段に格納されている際、フロー識別情報記憶手段のフローを定義する情報と当該フローの優先度の情報とに基づいて複数のキューのいずれかに出力するフロー識別手段とをさらに備え、パケット分類手段は、パケットに関するフローを定義する情報と当該フローの優先度の情報とがフロー識別情報記憶手段に格納されていない際、パケット分類ルール記憶手段のパケット分類ルールに基づいて複数のキューのいずれかにパケットを出力する。
この構成により、パケット分類ルールによる制御よりも、フロー識別情報による制御の方を、優先させた処理を実現できる。
請求項9記載のパケット中継装置では、さらに、パケットがRTPパケットであるか否かを判定するRTP判定手段を備える。
この構成により、RTPパケットか否かを判定できる。
請求項10記載のパケット中継装置では、RTP判定手段は、パケットのUDPヘッダに含まれるポート番号が1024以上の偶数であり、かつ、UDPヘッダの後のRTPヘッダフィールドにおいて、RTPのプロトコルバージョンを示すバージョンのフィールドと、RTPペイロードのペイロードタイプのフィールドとの少なくとも一方に基づいて、RTPパケットである判定する。
この構成により、少ない情報量で、RTPパケットか否かを正確に判定できる。
請求項11記載のパケット中継装置では、RTP判定手段が、RTPパケットであると判定した際、入力されたパケットが属するフローを定義する情報と当該フローの優先度の情報とを、フロー識別情報記憶手段に追加するフロー識別情報登録手段とを備える。
この構成により、RTPパケットか否かの判定結果を、フロー識別情報に反映できる。例えば、RTPパケットであれば高い優先度とするという制御が実施できる。
請求項12記載のパケット中継装置では、フローを定義する情報にTCP/UDPヘッダ内のポート番号が含まれ、RTP判定手段が、RTPパケットであると判定した際、フロー識別手段は、このパケットが属するフローを定義する情報に対しTCP/UDPヘッダ内のポート番号に「1」を加えたものとRTCPパケットの優先度の情報とに基づいて複数のキューのいずれかに出力する。
この構成により、RTPパケットが発見されると、そのRTPパケットに対応するRTCPパケットについて、RTPパケットと同様の優先制御を行える。
請求項13記載のパケット中継装置では、フローを定義する情報にTCP/UDPヘッダ内のポート番号が含まれ、RTP判定手段が、RTPパケットであると判定した際、フロー識別情報登録手段は、このRTPパケットに対応するRTCPパケットのフローについて、このパケットが属するフローを定義する情報に対しTCP/UDPヘッダ内のポート番号に「1」を加えたものとRTCPパケットの優先度の情報とを、フロー識別情報記憶手段に追加する。
この構成により、フロー識別情報に上記情報を追加することにより、追加後においてもRTCPパケットについて対応するRTPパケットと同様の優先制御を継続的に実施できる。
請求項14記載のパケット中継装置では、入力されたパケットが、フラグメント非先頭パケットであるか否かを判定するヘッダチェック手段をさらに備え、フロー識別手段は、ヘッダチェック手段からパケットを入力する。
この構成において、フロー識別に先立ってフラグメント非先頭パケットか否かを判定することにより、フロー識別情報による優先制御を的確に行える。
請求項15記載のパケット中継装置では、入力されたパケットが、AVパケット(AVデータを構成するパケット)か否かを判定するAVパケット判定手段をさらに備え、パケット分類手段は、AVパケットでないパケットよりもAVパケットの方が高い優先度となるように、複数のキューのいずれかにパケットを出力する。
この構成により、AVパケットを高い優先度で取り扱うことができ、AVパケットから構成されるAVデータのリアルタイム性を向上できる。
請求項16記載のパケット中継装置では、AVパケット判定手段は、HTTPパケットについてContent−Typeの情報に基づいてAVパケットか否かを判定する。
この構成により、HTTPパケットについて、AVパケットが否かを、少ない情報量で的確に判定できる。
請求項17記載のパケット中継装置では、AVパケット判定手段は、フロー識別情報記憶手段に定義されているフローのパケットが一定時間内に連続して入力される際、このフローがAVパケットのフローであると判定する。
この構成により、AVパケットの時間的連続性に着目した判定を行える。
請求項18記載のパケット中継装置では、AVパケット判定手段は、フロー識別情報記憶手段に定義されているフローのパケットが入力される数と、予め定められたAV判定閾値とを大小比較して、このフローがAVパケットのフローか否かを判定する。
この構成により、AV判定閾値との大小比較により、高速且つ正確にAVパケットか否かを判定できる。
請求項19記載のパケット中継装置では、フロー識別情報記憶手段は、定義されているフローについてのAV判定閾値の情報を含み、AVパケット判定手段は、パケットのパケット長に基づいて、フロー識別情報記憶手段に定義するフローのAV判定閾値を、ビデオパケット用のAV判定閾値が音声パケット用のAV判定閾値よりも大きくなるように設定された、AV判定閾値を用いてAVパケットか否かを判定する。
この構成において、音声パケット用のAV判定閾値よりもビデオパケット用のAV判定閾値を大きくすることにより、パケットの実態に合わせて、より正確にAVパケットの判定を行える。
請求項20記載のパケット中継装置では、フロー識別情報記憶手段に定義されているフローに属するパケットが入力され、かつ、このパケットのパケット長がフロー識別情報記憶手段のパケット長とが異なる場合、フロー識別情報記憶手段から当該フローの情報を削除する候補削除手段をさらに備える。
この構成により、パケット長の単純な比較により、フロー識別情報から無駄な情報を高速に削除でき、システムリソースの無駄遣いを回避できるとともに、フロー識別情報の検索対象数を減らして、高速な処理を実現できる。
請求項21記載のパケット中継装置では、入力されたパケットが、RTPパケットか否かを判定するRTPパケット判定手段をさらに備え、RTPパケット判定手段は、フロー識別情報記憶手段に定義されているフローのパケットが一定時間内に連続して入力される際、このフローがRTPパケットのフローであると判定する。
この構成により、RTPパケットを高い優先度で制御できる。また、RTPパケットの時間的連続性に着目した判定を行える。
請求項27記載のパケット中継装置では、パケット分類ルール記憶手段が記憶するパケット分類ルールを変更するための切替スイッチと、切替スイッチの状態に基づいてパケット分類ルール記憶手段が記憶するパケット分類ルールを変更するパケット分類ルール変更手段とを備える。
この構成により、ユーザは切替スイッチを用いて、容易にパケット分類ルールを変更できる。
本発明によれば、フラグメントが発生した場合や、RTP/RTCPパケット等、従来技術では対応しにくい問題に、難しい設定なしに対処できる。また、ユーザは、パケット分類ルールを容易に設定できる。
以下図面を参照しながら、本発明の実施の形態を説明する。
(基本構成)
図1は、本発明の一実施の形態におけるパケット中継装置のブロック図である。
パケット中継装置1100は、複数個の入力側インターフェース1101a、…、1101nと、複数個の出力側インターフェース1102a、…、1102nを備え、これらの出力側インターフェイス1102a、…、1102nは、中継転送処理部1103に接続される。
本発明は、パケット中継装置1100から送出されるパケットの通信品質を保証するためのQoS制御技術に関する。
以降では、出力側インターフェース1102a、…、1102nのうち、出力側インターフェース1102nにおいて、QoS制御が行われるものとする。しかしながら、出力側インターフェイス1102a、…、1102nあるいは中継転送処理部1103のうち、任意の要素において、同様のQoS制御を行うようにすることもできる。
次に、実施の形態1〜6において、本発明の出力側インターフェース1102nについて詳述する。
ここで、パケットの持つ優先度は、「高優先クラス」と「低優先クラス」の2レベルのうちいずれかとする。従って、優先度が最も高いクラスが高優先クラスとなり、優先度が最も低いクラスが低優先クラスとなる。しかし、この点は、本発明が、2段階の優先度に限定されるという趣旨ではなく、本発明は、3段階以上の優先度を設定する場合にも、同様に適用できる。
なお、以下の各実施の形態において、フロー識別テーブルに、フラグメント非先頭パケットのエントリがない場合、優先度が最低のものとして処理するものとする。つまり、デフォルトの優先度は、最低である。逆に、デフォルトの優先度を最高にすることも可能である。
(実施の形態1)
図2は、本発明の実施の形態1における出力側インターフェース1102nのブロック図である。本形態は、フラグメントに対応するものである。
図1に示すように、出力側インターフェース1102nは、次の要素を備える。
キュー108は、高優先クラスに分類されたIPパケットを格納する。キュー109は、低優先クラスに分類されたIPパケットを格納する。このように、設定される優先度の数だけ複数のキューが用意される。
パケット分類ルール記憶手段107は、出力側インターフェース1102nに入力されたIPパケットを高優先クラス、あるいは低優先クラスに分類するために予め定義されたルールを記憶する。
図4は、パケット分類ルール記憶手段107に定義されているルールを示している。各ルールは、宛先IPアドレス、送信元IPアドレス、TCP/UDPの種別、宛先ポート番号、クラス(優先度の高/低)というフィールドを持つ。
例えば、ルール1201では、宛先IPアドレスが「アドレス1」であり、かつ送信元IPアドレスが「アドレスa」であり、かつIPの上位プロトコルがTCPであり、かつTCPの宛先ポート番号が「80」であるIPパケットを高優先クラスに分類することを示している。なお、「―」で示している欄は、どんな値でも構わないことを示している。
図2において、スケジューラ110は、例えば、PQ(Priority Queuing)方式により、キュー108あるいはキュー109からパケットを取り出して、取り出したパケットを外部へ出力する。なお、スケジューラ110における優先転送処理方式は、任意である。
図5(a)に示すように、フロー識別テーブル101は、1つのフローについて1つのエントリを持ち、各エントリにおいて、IPパケットのIPヘッダ内の送信元IPアドレス、宛先IPアドレス、TCP/UDPの種別、識別子及びクラスを、フィールドとして持つ。
フロー識別テーブル101は、フローを定義する情報と当該フローの優先度の情報とを格納できるフロー情報記憶手段に相当する。なお、本発明の各形態においては、フロー情報記憶手段をフロー識別テーブル101で構成し、1つのフローに関する情報は、1つのエントリにまとめられている。勿論、フロー情報記憶手段の記憶形態は任意であり、リストなど周知の他の形態として差し支えない。
図2において、ヘッダチェック手段102は、入力されたIPパケットが、フラグメント非先頭パケットか否か判定するとともに、フラグメント先頭パケットか否かを判定し、さらに、フラグメント最終パケットか否かを判定する。
フラグメント非先頭パケットか否かは、IPパケットのFO(Fragment Offset)の値で判断できる。また、フラグメント最終パケットか否かは、IPパケットのMF(More Fragment)の値で判断できる。
ヘッダチェック手段102は、IPパケットがフラグメント非先頭パケットであるとき、そのパケットをフロー識別手段104へ出力する。
ヘッダチェック手段102は、IPパケットがフラグメント非先頭パケットでなければ、そのパケットをパケット分類手段103へ出力し、そのパケットの情報をフロー識別テーブル登録手段105へ出力する。
パケット分類手段103は、パケット分類ルール記憶手段107を参照し、ヘッダチェック手段102から入力するパケット(フラグメント非先頭パケットでないIPパケット)を、優先度に合わせて、キュー108またはキュー109のいずれかに出力する。
フロー識別手段104は、フロー識別テーブル101を参照し、ヘッダチェック手段102から入力するパケット(フラグメント非先頭パケット又はフラグメントしていないパケット)を、優先度に合わせて、キュー108またはキュー109のいずれかに出力する。
フロー識別手段104は、エントリの全てのフィールドの値が該当するとき、パケットは、このエントリに関するフローに属するものとし、そうでないとき(1つでも該当しないフィールドがあるとき)は、パケットは、このエントリに関するフローに属しないものとする。
フロー識別手段104は、エントリの全てのフィールドの値が該当するエントリがないとき、入力したパケットの優先度を、デフォルトの「低」とし、キュー109へこのパケットを出力する。
フロー識別テーブル登録手段105は、パケット分類手段103からフラグメント先頭パケットの情報を入力すると、フロー識別テーブル101に、入力されたIPパケットに関する新たなエントリを追加する。
第1フロー識別テーブル削除手段111は、入力されたIPパケットがフラグメント最終パケットである場合、このIPパケットに関するエントリを、フロー識別テーブル101から削除する。第1フロー識別テーブル削除手段111は、フロー識別手段104により最終の非先頭フラグメントパケットであると判定されたパケットが属するフローを定義する情報と当該フローの優先度の情報とを、フロー識別テーブル101から削除する第1の削除手段に相当する。
第2フロー識別テーブル削除手段106は、一定時間毎に、フロー識別テーブル101の各エントリの経過時間をチェックし、経過時間が一定時間以上となったエントリをフロー識別テーブル101から削除する。第2識別テーブル削除手段106は、入力されない状態が一定時間経過したフローを定義する情報と当該フローの優先度の情報とを、フロー識別テーブル101から削除する第2の削除手段に相当する。
次に図3は、パケット中継装置1100の出力側インターフェース1102nに入力されるIPパケットの流れを例示する。
図3において、IPパケット1302a、IPパケット1302b、IPパケット1302cは、元々1つのIPパケットであり、3つにフラグメント化している。IPパケット1302aはフラグメント化した最初のIPパケット(フラグメント先頭パケット)、IPパケット1302bはフラグメント化した2番目のIPパケット(フラグメント非先頭パケット、非最後)、IPパケット1302cはフラグメント化した3番目(フラグメント非先頭パケット、最後)のIPパケットである。
IPパケット1301aは、フラグメント先頭パケットであり、図3の状態では、2番目以降のフラグメント化したIPパケットは、まだパケット中継装置に到着していない。
IPパケット1304は、フラグメントしていないIPパケットである。IPパケット1303bは、フラグメント化したIPパケットである。
図6は、本発明の実施の形態1における出力側インターフェース1102nのフローチャートである。
パケット中継装置1100の出力側インターフェース1102nにIPパケットが入力されると、ヘッダチェック手段102は、フラグメント非先頭パケットか否かチェックする(ステップ401)。
入力されたIPパケットがフラグメント非先頭パケットでない場合、ヘッダチェック手段102は、パケットをパケット分類手段103へ出力する。パケット分類手段103は、パケット分類ルール記憶手段107を参照して、入力されたIPパケットのクラスを決定し、各クラス毎に設けられたキューにIPパケットを出力する(ステップ402)。
次に、パケット分類手段103は、パケットがフラグメント先頭パケットか否かチェックし(ステップ403)、フラグメント先頭パケットである場合、フロー識別テーブル登録手段105に、入力されたIPパケットに関する新たなエントリを、フロー識別テーブル101に追加させる(ステップ404)。
一方、IPパケットがフラグメント非先頭パケットである場合、フロー識別手段104は、フロー識別子テーブル101を検索し、IPヘッダ内の送信元IPアドレス、宛先IPアドレス、プロトコル番号、識別子の値が全て一致するエントリが、フロー識別テーブル101にあるかチェックする(ステップ405)。エントリにあった場合、このエントリのクラス情報を参照して該当するキューにIPパケットを出力する(ステップ406)。
エントリにない場合は、低優先クラス用のキュー109にIPパケットを出力する(ステップ409)。
フロー識別テーブル101に入力されたIPパケットのエントリがあり(ステップ405)、入力されたIPパケットが、フラグメント非先頭パケットの最後のパケットである場合(ステップ407)、第1フロー識別テーブル削除手段111は入力されたIPパケットに該当するエントリをフロー識別テーブル101から削除する(ステップ408)。
図7は、第2フロー識別テーブル削除手段106によるフロー識別テーブル101のエントリ削除処理の流れを示す。
第2フロー識別テーブル削除手段106は、フロー識別テーブル101の先頭のエントリから順に(ステップ501)、このフローが使用されないまま一定時間経過してないかチェックする(ステップ502)。第2フロー識別テーブル削除手段106は、一定時間経過していれば、フロー識別テーブル101から、そのエントリを削除し(ステップ503)、一定時間経過してなければ何もしない。
今チェックしたエントリが、最後のエントリでない場合(ステップ504)、処理は、次のエントリに移る(ステップ505)。今チェックしたエントリが、最後のエントリである場合(ステップ504)、再度、先頭のエントリに戻り、第2フロー識別テーブル削除手段106は、以上の処理を繰り返す。
次に、図3、図5、図6を用いて動作例を説明する。
図5(a)〜(c)は、フロー識別テーブル101の内容の移り変わりを示している。
図3に示すように、IPパケット1301a、IPパケット1302aが、パケット中継装置1100の出力側インターフェース1102nに入力されると、これらIPパケットが、フラグメント非先頭パケットか否かがチェックされる(ステップ401)。IPパケット1301aはルール1204に該当し、IPパケット1302aは、図4に示されたルール1202に該当する。したがって、IPパケット1301aは低優先クラス用のキュー109へ出力され、IPパケット1302aは高優先クラス用のキュー108へ出力される(ステップ402)。
これら2つのIPパケット1301a、1302aは、それぞれ、フラグメント先頭パケットであるので(ステップ403)、フロー識別テーブル101に、関連するエントリが追加される(ステップ404)。なおこの時、エントリには、クラス情報が付加される(ステップ1401a、1401b)。
次に、図3に示すように、IPパケット1304がパケット中継装置1100の出力側インターフェース1102nに入力されると、IPパケット1304がフラグメント非先頭パケットか否かがチェックされる(ステップ401)。
IPパケット1304はルール1203に該当するため、高優先クラス用のキュー108に格納される(ステップ402)。ここで、IPパケット1304は、フラグメント先頭パケットではないため(ステップ403)、フロー識別テーブル101に関連するエントリが追加されることはない。
上記3つのIPパケット1301a、1302a、1304が入力されたことにより、フロー識別テーブル101は、図5(a)のようになる。ここで、エントリ1401aはIPパケット1301aのフローに対応し、エントリ1401bはIPパケット1302aのフローに対応している。
次に、図3に示すように、IPパケット1302bがパケット中継装置1100の出力側インターフェース1102nにIPパケットが入力されると、IPパケット1302bはフラグメント非先頭パケットであるため(ステップ401)、フロー識別手段104はフロー識別テーブル101に該当するエントリがないか検索する(ステップ405)。
ここで、IPパケット1302bのヘッダ内の送信元IPアドレス、宛先IPアドレス、プロトコル番号、識別子の値が全て一致するエントリ1401bがあり、そのクラス情報は高優先となっているため、フロー識別手段104はIPパケット1302bを高優先クラス用のキュー108に格納する(ステップ406)。
次にIPパケット1303bがパケット中継装置1100の出力側インターフェース1102nにIPパケットが入力されると、IPパケット1303bはフラグメント非先頭パケットであるため(ステップ401)、フロー識別手段104はフロー識別テーブル101に該当するエントリがないか検索する(ステップ405)。
ここで、フロー識別テーブル101には、IPパケット1303bのヘッダ内の送信元IPアドレス、宛先IPアドレス、プロトコル番号、識別子の値が全て一致するエントリがないため、フロー識別手段104は、IPパケット1303bを低優先クラス用のキュー109に格納する(ステップ409)。
次にIPパケット1302cがパケット中継装置1100の出力側インターフェース1102nにIPパケットが入力されると、IPパケット1302cはフラグメント非先頭IPパケットであるため(ステップ401)、フロー識別手段104はフロー識別テーブル101の中に該当するエントリがないか検索する(ステップ405)。
ここで、IPパケット1302cに該当するエントリ1401bがあり、そのクラス情報は高優先となっているため、フロー識別手段104はIPパケット1302cを高優先クラス用のキュー108に格納する(ステップ406)。
また、IPパケット1302cはフラグメント非先頭パケット(最終)であるため(ステップ407)、第1フロー識別テーブル削除手段303はフロー識別テーブル101から関連するエントリ1401bを削除する(ステップ408)。この第1フロー識別テーブル削除手段303の処理により、フロー識別テーブル101は、図5(a)から図5(b)のように変更されることになる。
さらに、図5(b)に示す状態から、エントリ1402bに関するパケットが到着しないまま一定時間が経過すると、エントリ1402bは、第2フロー識別テーブ削除手段106により削除されることになる。
以上のように高優先クラス、低優先クラスに分類され、キューに格納されたIPパケットはPQ方式により、高優先パケットから優先的に転送処理されることになる。
(実施の形態2)
次に、本発明の実施の形態2について説明する。本形態は、RTPパケットに対応するものである。
図8は、本発明の実施の形態2における出力側インターフェース1102nのブロック図である。図8において、図2と同様の構成要素については、同一符号を付すことにより、説明を省略する。
パケット分類手段203は、入力したパケットがRTPパケットであるか否かを判定するRTP判定手段202を有する。パケット分類手段203は、RTP判定手段202がRTPパケットであると判定すると、パケットをキュー108へ出力する。
より具体的には、RTP判定手段202は、入力されたIPパケットのUDPヘッダのポート番号が1024以上の偶数であるか判定する。また、RTPパケット判定手段202は、ポート番号が1024以上の偶数である場合、UDPヘッダの後にRTPヘッダが続くと判定し、RTPヘッダフィールドの少なくともRTPのプロトコルバージョンを示すバージョンのフィールドと、RTPペイロードのペイロードタイプのフィールドに所定値がセットされている場合、入力されたIPパケット内にRTPパケットが含まれていると判定する。
フロー識別テーブル登録手段205は、RTP判定手段202が、入力されたIPパケットがRTPパケットを含むと判定した場合、IPヘッダ内の送信元IPアドレス、宛先IPアドレス、プロトコル番号、TCP/UDPヘッダ内のポート番号に「1」を加えた値を、フロー識別テーブル101の新たなエントリとして追加する。
パケット分類ルール記憶手段107には、「RTPパケットを含むIPパケットを高優先で処理する」というルールと、「RTCPパケットを含むIPパケットを高優先で処理する」というルールが定義されている。
本形態においても、フロー識別テーブル101の各エントリ毎に、該エントリが分類されるクラスの情報を合わせて持つものとして説明する。
次に、図9、図10を用いて、処理の流れを説明する。
さて、IPパケットがパケット中継装置1100の出力側インターフェース1102nに入力されると、フロー識別手段104は、入力されたIPパケットの送信元IPアドレス、宛先IPアドレス、プロトコル番号、TCP/UDPヘッダ内のポート番号の値が一致するエントリが、フロー識別テーブル101にあるか検索する(ステップ701)。
フロー識別テーブル101にエントリがない場合、フロー識別手段104は、入力されたIPパケットをパケット分類手段203へ出力し、RTP判定手段202は、入力されたIPパケットがRTPパケットを含むか否か判定する(ステップ702)。
ここで、本形態においては、RTP判定手段202による判定条件は、RTPヘッダのバージョンフィールドに相当するビット列の値が「2」であり、かつ、ペイロードタイプフィールドに相当するビット列の値が「0」以上「34」以下、もしくは「96」以上「127」以下の値であることをチェックするものとする。
従って、図10に示すように、RTP判定手段202は、入力されたIPパケットがUDPであるかチェックし(ステップ601)、UDPである場合、UDPヘッダ内のポート番号が「1024」以上の偶数であるかチェックし(ステップ602)、「1024」以上の偶数である場合、バージョンフィールドに相当するビットの値が「2」であり、かつ、ペイロードタイプフィールドに相当するビットの値が「0」以上「34」以下、もしくは「96」以上「127」以下であるかチェックし(ステップ603)、それぞれ条件を満足した場合、入力されたIPパケットがRTPパケットを含むと判定する(ステップ604)。
上記ステップの少なくとも1つの条件が満たされない場合は、RTP判定手段202は、入力されたIPパケットがRTPパケットを含まないと判定する(ステップ605)。
次に、図9において、入力されたIPパケットがRTPパケットを含むと判定された場合は、パケット分類手段203は、高優先クラス用のキュー108に入力されたIPパケットを出力する(ステップ703)。また、フロー識別テーブル登録手段205は、IPヘッダ内の送信元IPアドレス、宛先IPアドレス、プロトコル番号、TCP/UDPヘッダ内のポート番号に「1」を加えた値、RTCPに予め割当てられたクラスの情報を、フロー識別テーブル101の新たなエントリとして追加する(ステップ704)。
ステップ702において、RTP判定手段202が、入力されたIPパケットがRTPパケットを含まないと判定した場合は、パケット分類手段203は低優先クラス用のキュー109に入力されたIPパケットを出力する(ステップ705)。
なお、図3に示すパケット1304がRTPパケットを含んでいるとすると、パケット1304が入力された直後のフロー識別テーブル101は、図5(c)のようになる。
(実施の形態3)
次に、本発明の実施の形態3について説明する。本形態は、フラグメント及びRTPパケットに対応するものである。
図11は、本発明の実施の形態3における出力側インターフェース1102nのブロック図である。図11において、図2あるいは図8と同様の構成要素については、同一符号を付すことにより、説明を省略する。
実施の形態1とは異なり、ヘッダチェック手段102は、入力したIPパケットがフラグメント非先頭パケットであるか否かをチェックするが、そのチェック結果の如何にかかわらず、入力したIPパケットをフロー識別手段104へ出力する。
本形態でも、フロー識別テーブル101の各エントリ毎に、該エントリが分類されるクラスの情報を合わせて持つものとする。
また、実施の形態2と同様に、パケット分類ルール記憶手段107として「RTPパケットを含むIPパケットを高優先で処理する」というルールと、「RTCPパケットを含むIPパケットを高優先で処理する」というルールが定義されているとする。
次に、図12〜図14を用いて、本形態の動作例を説明する。
図14は、本発明の実施の形態3において、出力側インターフェース1102nが行うIPパケットのクラスを決定する処理の流れを示し、図6に示した処理を一部に含んでいる。なお、ステップ801〜ステップ803以外は、図6、図9に示したものと同じである。
図12は、パケット中継装置1100の出力側インターフェース1102nに入力されるIPパケットの流れの例を示す。
図12において、IPパケット1502a、1502b、1502cは元々1つのRTPパケットを含んだIPパケットであり、3つにフラグメント化している。IPパケット1502aがフラグメント化した最初のIPパケット(フラグメント先頭パケット)、IPパケット1502bはフラグメント化した2番目のIPパケット(フラグメント非先頭パケット、非最後)、IPパケット1502cはフラグメント化した3番目のIPパケット(フラグメント非先頭パケット、最後)である。
IPパケット1501aは、フラグメント先頭パケット(RTPパケットを含まない)であり、2番目以降のフラグメント化したIPパケットはまだパケット中継装置に到着してない。
IPパケット1503は、フラグメントが発生してないRTPパケットを含んだIPパケットである。IPパケット1504は、IPパケット1502a、1502b、1502cのRTPを用いたフローを制御するためのRTCPパケットを含むIPパケットである。
次に、図12、図14を参照しながら動作例を説明する。図12に示すように、IPパケット1501aがパケット中継装置1100の出力側インターフェース1102nに入力されると、ヘッダチェック手段102は、フラグメント非先頭パケットか否かチェックし(ステップ401)、チェック後このパケット1501aをフロー識別手段104へ出力する。ここで、IPパケット1501aはフラグメント先頭パケットであるので、ステップ701に処理が移る。
この時点では、フロー識別テーブル101には、何もエントリがないので、RTP判定手段202は、IPパケット1501aがRTPパケットを含むか否かをチェックする(ステップ702)。ここで、IPパケット1501aはRTPを含まないと判定され(ステップ601、ステップ605)、低優先クラス用のキュー109に出力される(ステップ705)。
次に、図12に示すように、IPパケット1502aがパケット中継装置1100の出力側インターフェース1102nに入力されると、IPパケット1502aはフラグメント非先頭パケットでないので(ステップ401)、フロー識別手段104は、フロー識別テーブル101を検索する。
この時点でも、フロー識別テーブル101には何もエントリがないので、フロー識別手段104は、IPパケット1502aをパケット分類手段203へ出力し、RTP判定手段202は、IPパケット1502aがRTPパケットを含むか否かをチェックする(ステップ702)。
ここで、IPパケット1502aはRTPを含んでいると判定され(ステップ604)、フロー識別テーブル登録手段305は、入力されたIPパケット1502aの送信元IPアドレス、宛先IPアドレス、プロトコル番号、TCP/UDPヘッダ内のポート番号に「1」を加えた値と、RTCPパケットを含むIPパケットに割当てたクラスの情報を1つ目の新規エントリ1601bとする(ステップ801)。
さらに、入力されたIPパケット1502aはフラグメント先頭パケットでもあるため、フロー識別テーブル登録手段305は、IPパケット1502aの送信元IPアドレス、宛先IPアドレス、プロトコル番号、識別子、RTPパケットを含むIPパケットに割当てたクラスの情報を、2つ目の新規エントリ1601aとし(ステップ802)、この場合、2つのエントリ1601a、1601bが同時にフロー識別テーブル101に追加されることになる(ステップ803)。
次に、図12に示すように、IPパケット1503がパケット中継装置1100の出力側インターフェース1102nに入力されると、IPパケット1503はRTPパケットを含むため(ステップ604)、フロー識別テーブル登録手段305は、入力されたIPパケット1503の送信元IPアドレス、宛先IPアドレス、プロトコル番号、TCP/UDPヘッダ内のポート番号に「1」を加えた値と、RTCPパケットを含むIPパケットに割当てたクラスの情報を1つ目の新規エントリとする(ステップ801)。
ここで、入力されたIPパケット1503はフラグメント先頭パケットでないため(ステップ403)、1つの新たなエントリがフロー識別テーブル101に追加されることになる(ステップ803)。
上記3つのIPパケット1501a、1502a、1503が入力されたことにより、フロー識別テーブル101のエントリは、図13(a)のようになる。ここで、エントリ1601a、1601bはIPパケット1502aが入力されたことにより作成されたエントリであり、エントリ1601cはIPパケット1503が入力されたことにより作成されたエントリである。
次に、図12に示すように、IPパケット1502bがパケット中継装置1100の出力側インターフェース1102nに入力されると、IPパケット1502bはフラグメント非先頭パケットであるため(ステップ401)、フロー識別手段104は、フロー識別テーブル101に該当するエントリがないか検索する(ステップ405)。
ここで、図13(a)に示すように、IPパケット1502bのヘッダ内の送信元IPアドレス、宛先IPアドレス、プロトコル番号、識別子の値が全て一致するエントリ1601aがあり、そのクラス情報は高優先となっているため、フロー識別手段104はIPパケット1502bを高優先クラス用のキュー108に格納する(ステップ703)。
次に、IPパケット1502cがパケット中継装置1100の出力側インターフェース1102nにIPパケットが入力されると、実施の形態1で示したように、IPパケット1502cはフラグメント非先頭パケットであるため(ステップ401)、フロー識別手段104はフロー識別テーブル101の中に該当するエントリがないか検索する(ステップ405)。
ここで、IPパケット1502cに該当するエントリ1601aがあり、そのクラス情報は高優先となっているため、フロー識別手段104はIPパケット1502cを高優先クラス用のキュー108へ出力する(ステップ703)。
また、IPパケット1502cはフラグメント非先頭パケット(最終)であるため(ステップ407)、第1フロー識別テーブル削除手段111はフロー識別テーブル101からエントリ1601aを削除する(ステップ408)。
その結果、フロー識別テーブル101は、図13(a)から図13(b)のように変更される。
次に、IPパケット1504がパケット中継装置1100の出力側インターフェース1102nに入力されると、IPパケット1504はフラグメント非先頭IPパケットでないので(ステップ401)、フロー識別手段104は、フロー識別テーブル101を検索する。
図13(b)に示すように、IPパケット1504のヘッダ内の送信元IPアドレス、宛先IPアドレス、プロトコル番号、ポート番号の値が全て一致するエントリ1601bがあり、そのクラス情報は高優先となっているため、フロー識別手段104はIPパケット1504を高優先クラス用のキュー108に格納する(ステップ703)。
(実施の形態4)
次に、本発明の実施の形態4について説明する。本形態は、AVパケットに対応するものである。
図15は、本発明の実施の形態4における出力側インターフェース1102nのブロック図である。図15において、図2と同様の構成要素については、同一符号を付すことにより、説明を省略する。
図15において、フロー識別テーブル1803には、出力側インターフェース1102nに入力されたパケットの情報が格納される。
図16に示すように、フロー識別テーブル1803の1つのエントリは、IPパケットのIPヘッダ内の送信元IPアドレス、宛先IPアドレス、プロトコル番号、識別子とTCP/UDPヘッダ内のポート番号を、フィールドとして持つ。
さらに、各エントリには、IPパケットがある一定時間内に出力側インターフェース1102nに到着したパケット数と、該エントリのAV判定閾値と、該エントリがAVパケットであるか否かの判定結果と、該エントリがフロー識別テーブルに追加された時間を示す情報が付与されている。
図15において、エントリ対象判定手段1801は、入力されたパケットがフロー識別テーブル1803のエントリの対象か否か判定する。本形態では、IPの上位プロトコルがUDPの場合、フロー識別テーブル1803のエントリの対象、即ち、AVパケットか否かを判定する対象(AVパケットの候補)とする。
フロー識別テーブル登録手段1802は、入力されたIPパケットに関するフローの情報をフロー識別テーブル1803に登録する。なお、本形態では、AVパケットのフローではないと判定されたエントリも、フロー識別テーブル1803に登録される。
AVパケット判定手段1804は、フロー識別テーブル1803に追加されているIPパケットであって現在AVパケットでないとされているものが、一定時間内に連続して出力側インターフェース1102nに入力されている場合、該入力パケットをAVパケットと判定する。
また、AVパケット判定手段1804は、HTTPパケットについて、HTTPパケットのデータタイプを示す“Content−Type”をチェックしAVパケットか否かを判定する。ここで、“*”を任意として、AVパケット判定手段1804は、“Content−Type”が、“audio/*”あるいは“video/*”の場合、AVパケットであると判定する。
一方、そうでない(例えば“Content−Type”が“text”である場合等)とき、AVパケット判定手段1804は、AVパケットでないと判定する。
AVパケット判定手段1804が、“Content−Type”によってAVパケットであると判定し、判定されたパケットに関するフローが未だフロー識別テーブル1803に登録されていないときには、フロー識別テーブル登録手段1802が、そのフローについてエントリ(IPパケットの宛先IPアドレス、送信元IPアドレス、プロトコル番号、宛先ポート番号、送信元ポート番号及び識別子のフィールドを持つ)を追加する。
AVパケット候補削除手段1806は、入力されたIPパケットがフロー識別テーブル1803のエントリ内容と矛盾している場合は、該エントリをフロー識別テーブル1803から削除する。なお本形態では、フロー識別テーブル1803に登録されているエントリについて、パケット長の条件が一致しないものが発見されたとき、エントリ内容と矛盾するものとする。AVパケット候補削除手段1806は、フロー識別テーブル1803に定義されているフローに属するパケットが入力され、かつ、このパケットのパケット長がフロー識別テーブル1803のパケット長とが異なる場合、フロー識別テーブル1803から当該フローの情報を削除する候補削除手段に相当する。
パケット分類手段103は、AVパケット判定手段1804の結果と、パケット分類ルール記憶手段107を参照して、入力されたIPパケットを該当するクラスのキューに出力する。
図16(a)〜(g)は、ある時点におけるフロー識別テーブル1803の内容を示しており、エントリ時間の単位はミリ秒とする。
本形態では、入力されるIPパケットのパケット長が、250バイト以下の場合音声パケットの候補とし、250バイトより長い場合ビデオパケットの候補とする。
また、連続しているか判定するための閾値として、音声パケットのためのAV判定閾値を30個/秒、ビデオパケットのためのAV判定閾値を500個/秒とする。また、パケット分類ルール記憶手段107には、図22(a)に示すように「AVデータを高優先で処理する」というルールが定義されているとする。
図17は、本発明の実施の形態4における出力側インターフェース1102nのフローチャートであり、図18は、図17のうちHTTPのAV判定の処理内容を示す。以下、いくつかの場合をあげながら、本形態による処理内容を説明する。
(場合1)フロー識別テーブル1803が空であり、フラグメント非先頭パケットでないHTTPパケット(“Content−Type”が“video/*”又は“audio/*”である)を含んだIPパケットが出力側インターフェース1102nに入力された場合(ステップ2001、2002)
図17において、入力されたIPパケットは、HTTPパケットを含んでいるので(ステップ2005)、ステップ2011に処理が移る。
図18に示すように、この場合には、フロー識別テーブル1803にはエントリがないので(ステップ2011a)、AVパケット判定手段1804は、HTTPパケットの“Content−Type”の情報が存在するかどうかチェックする(ステップ2011i)。存在しなければ、AVパケット判定手段1804は、このパケットはAVパケットではないと判定する(ステップ2011h)。存在すれば、ステップ2011dへ処理が移る。
ここでは、ステップ2011dにおいて、HTTPパケットの“Content−Type”が、“video/*”又は“audio/*”であるため、ステップ2011eへ処理が移り、図16(a)に示すように、フロー識別テーブル登録手段1802は、このIPパケットの宛先IPアドレス、送信元IPアドレス、プロトコル番号、宛先ポート番号、送信元ポート番号及び識別子についてのエントリを、フロー識別テーブル1803に追加する。そして、ステップ2011gにて、AVパケット判定手段1804は、このパケットはAVパケットであると判定する。
ここで、図16(a)では、今、このIPパケットがAVパケットと判定されて追加されたので、エントリ時間は「0」であり、このパケットのAVパケットか否かの判定は「Yes」となっている。なお、「―」で示している欄は、どんな値でも構わないことを示している。
そして、図17のステップ2021において、パケット分類手段1805は、AVパケット判定手段1804の結果と、パケット分類ルール記憶手段107を参照し、入力されたパケットを該当するキューへ出力する。ここでは、AVパケットであると判定されたため、パケット分類手段1805は、IPパケットをキュー108へ出力する。
(場合2)フロー識別テーブル1803が空であり、フラグメント非先頭パケットでないHTTPパケット(“Content−Type”が“video/*”又は“audio/*”でない)を含んだIPパケットが出力側インターフェース1102nに入力された場合(ステップ2001、2002)
図17において、入力されたIPパケットは、HTTPパケットを含んでいるので(ステップ2005)、ステップ2011に処理が移る。
図18において、この場合には、フロー識別テーブル1803にはエントリがないので(ステップ2011a)、AVパケット判定手段1804は、HTTPパケットの“Content−Type”の情報が存在するかどうかチェックする(ステップ2011i)。存在しなければ、AVパケット判定手段1804は、このパケットはAVパケットではないと判定する(ステップ2011h)。存在すれば、ステップ2011dへ処理が移る。
ここでは、ステップ2011dにおいて、HTTPパケットの“Content−Type”が、“video/*”又は“audio/*”でないため、ステップ2011fへ処理が移り、フロー識別テーブル登録手段1802は、このIPパケットの宛先IPアドレス、送信元IPアドレス、プロトコル番号、宛先ポート番号、送信元ポート番号及び識別子についてのエントリを、フロー識別テーブル1803に追加する。そして、ステップ2011hにて、AVパケット判定手段1804は、このパケットはAVパケットでないと判定する。
ここで、追加されるエントリの内容は、図16(a)において、判定結果を「Yes」から「No」へ置き換えたものとなる。本形態では、HTTPパケットに”Context−Type”情報がない場合、ステップ2011fのように、AVパケットでないと判定しているが、AVパケットであると判定してもよい。
そして、図17のステップ2021において、パケット分類手段1805は、AVパケット判定手段1804の結果と、パケット分類ルール記憶手段107を参照し、入力されたパケットを該当するキューへ出力する。ここでは、AVパケットでないと判定されたため、パケット分類手段1805は、IPパケットをキュー109へ出力する。
(場合3)フロー識別テーブル1803が図16(a)の状態の時(ただし、エントリ時間は一定時間経過している)、フラグメント非先頭パケットでなく、エントリ2101の宛先IPアドレス、送信元IPアドレス、プロトコル番号、宛先ポート番号、送信元ポート番号が同一となるIPパケットが出力側インターフェース1102nに入力された場合(ステップ2001、2002)
図17において、このパケットは、HTTPパケットを含んでおり(ステップ2011)、図18において、フロー識別テーブル1803にエントリがある(ステップ2011a)。したがって、ステップ2011bにおいて、フロー識別テーブル登録手段1802は、このエントリ時間を「0」にリセットする。また、ステップ2011cにおいて、このエントリの判定結果は”Yes”であるから、ステップ2011gへ処理が移り、このパケットはAVパケットと判定される。そして、このパケットは、図17のステップ2021において、パケット分類手段1805によりキュー108へ出力される。
(場合4)フロー識別テーブル1803が空の状態の時、フラグメント非先頭パケットでなく、パケット長が1000バイトであり、上位プロトコルがUDPのIPパケットが出力側インターフェース1102nに入力された場合(ステップ2001、2002)
図17において、入力されたIPパケットは、HTTPパケットを含んでおらず(ステップ2005)、フロー識別テーブル1803にエントリがないので(ステップ2003)、ステップ2006にて、エントリ対象判定手段1801は、このパケットがフロー識別テーブル1803のエントリの対象となるかチェックする。この例では、IPの上位プロトコルがUDPである場合、フロー識別テーブル1803のエントリの対象とするので、このパケットはAVパケットの候補であると判定され、ステップ2007に処理が移る。
このパケットのパケット長は1000バイトであるので、ステップ2007からステップ2009へ処理が移る。即ち、図16(b)に示すように、このパケットに関するエントリが新たにフロー識別テーブル1803に追加され、そのエントリのAV判定閾値は「500」(ビデオパケットの候補)と設定される。
(場合5)フロー識別テーブル1803が図16(b)の状態の時、フラグメント非先頭パケットでなく(ステップ2002)、送信元IPアドレス、宛先IPアドレス、プロトコル番号、送信元ポート番号、宛先ポート番号が、エントリ2102と同一(ステップ2003)となるパケット長1000バイトのパケットが入力された場合
図17のステップ2012において、エントリ2102は、ビデオパケットの候補として追加されており、今入力されたIPパケットのパケット長は1000バイトであり、ビデオパケットの候補となる条件に合致する。この時点では、エントリ2102のAVパケットか否かの判定結果が「No」なので(ステップ2013)、エントリ2102のパケット数に「1」が加算されるとともに、エントリ2102の識別子の値が、今入力されたIPパケット内の識別子の値に更新される(ステップ2014)。
この更新により、エントリ2102は、図16(c)のエントリ2103に遷移する。AVパケット判定手段1804は、エントリ2103のAV判定閾値「500」とパケット数「2」を比較し(ステップ2015)、入力されたIPパケットがAVパケットでないと判定する(ステップ2020)。
しかしながら、次の場合で述べるように、パケット数の加算が継続すれば、いつかパケット数がAV判定閾値に達し、判定結果が「No」から「Yes」へ変化することになる。
(場合6)フロー識別テーブル1803が図16(d)の状態の時、フラグメント非先頭パケットでなく(ステップ2002)、送信元IPアドレス、宛先IPアドレス、プロトコル番号、送信元ポート番号、宛先ポート番号が、エントリ2104と同一(ステップ2003)となるパケット長1000バイトのパケットが入力された場合
図17のステップ2012において、エントリ2104は、ビデオパケットの候補として追加されており、今入力されたIPパケットも1000バイトのパケット長であり、ビデオパケットの候補となる条件に合致する。この時点では、エントリ2104のAVパケットか否かの判定結果が「No」なので(ステップ2013)、エントリ2104のパケット数に「1」が加算されるとともに、エントリ2104の識別子の値が、今入力されたIPパケット内の識別子の値に更新される(ステップ2014)。
AVパケット判定手段1804は、AV判定閾値「500」と今「1」を加算されたパケット数「500」を比較して(ステップ2015)、判定結果を”Yes”とし(ステップ2016)、フロー識別テーブル1803のエントリ時間を「0」にセットし(ステップ2017)、ステップ2018にて、このパケットはAVパケットであると判定する。これら処理により、エントリ2104は、図16(e)のエントリ2105に遷移する。
(場合7)フロー識別テーブル1803が空の状態の時、フラグメント非先頭パケットでなく、パケット長が200バイトであり、上位プロトコルがUDPのIPパケットが入力された場合(ステップ2001、2002)
図17のステップ2007において、この入力されたIPパケットのパケット長は200バイトであるので、このパケットのエントリが、音声パケットの候補として、図16(f)のように追加される(ステップ2008)。
また、入力されたIPパケットはAVパケットでないと判定され(ステップ2010)、パケット分類手段1805は入力されたIPパケットをキュー109に出力する(ステップ2017)。
(場合8)フロー識別テーブル1803が図16(f)の状態の時、フラグメント非先頭パケットでなく(ステップ2002)、送信元IPアドレス、宛先IPアドレス、プロトコル番号、送信元ポート番号、宛先ポート番号が、エントリ2106と同一(ステップ2003)となるパケット長1000バイトのパケットが入力された場合
エントリ2106は音声パケットの候補として追加されたが、図17のステップ2012において、今入力されたIPパケットのパケット長は1000バイトであり、音声パケットの候補となるパケット長と条件が合致しない。この場合、矛盾があると判定され、エントリ2106はAVパケット候補削除手段1806により、フロー識別テーブル1803から削除され(ステップ2019)、入力されたパケットはAVパケットでないと判定される(ステップ2020)。
(場合9)フロー識別テーブル1803が図16(b)の状態の時、パケット長が1000バイトのフラグメント非先頭パケットが入力された場合(ステップ2002)
図17のステップ2004において、入力されたIPパケットの送信元IPアドレス、宛先IPアドレス、識別子が、エントリ2102と同一であれば、ステップ2012〜2015により、エントリ2102は図16(g)のエントリ2107のように遷移し(識別子はエントリ2102と同じままである)、入力されたIPパケットはAVパケットでないと判定される(ステップ2020)。
もし、入力されたIPパケットの送信元IPアドレス、宛先IPアドレス、識別子が、エントリ2102と同一でなければ(ステップ2004)、入力されたIPパケットはAVパケットでないと判定される(ステップ2020)。
第2フロー識別テーブル削除手段106については、実施の形態1(図5)と同様である。但し、予め定めた時間は、例えば、1000ミリ秒程度にすることが望ましい。
(実施の形態5)
次に、本発明の実施の形態5について説明する。本形態は、RTP/RTCPパケットに対応するものである。
図19は、本発明の実施の形態5における出力側インターフェース1102nのブロック図である。図19において、図2と同様の構成要素については、同一符号を付すことにより、説明を省略する。
図19において、フロー識別テーブル1903には、出力側インターフェース1102nに入力されたパケットの情報が格納される。
図20に示すように、フロー識別テーブル1903の1つのエントリは、IPパケットのIPヘッダ内の送信元IPアドレス、宛先IPアドレス、プロトコル番号、識別子とTCP/UDPヘッダ内のポート番号を、フィールドとして持つ。
さらに、各エントリには、IPパケットがある一定時間内に出力側インターフェース1102nに到着したパケット数と、該エントリのRTP判定閾値と、該エントリがRTPパケットであるか否かの判定結果と、該エントリがフロー識別テーブルに追加された時間を示す情報が付与されている。
図19において、エントリ対象判定手段1901は、入力されたパケットがフロー識別テーブル1903のエントリの対象か否か判定する。本形態では、IPの上位プロトコルがUDPであり、かつポート番号が「1024」以上の偶数であり、かつRTPヘッダのバージョンフィールドに相当するビットの値が「2」であり、かつRTPヘッダのペイロードタイプフィールドに相当するビットの値が「0」以上「34」以下、もしくは「96」以上「127」以下である場合、フロー識別テーブル1903のエントリの対象、即ち、RTPパケットか否かを判定する対象(RTPパケットの候補)とする。
識別テーブル登録手段1902は、入力されたIPパケットに関するフローの情報をフロー識別テーブル1903に登録する。なお、本形態では、RTPパケットでのフローではないと判定されたエントリも、フロー識別テーブル1903に登録される。
RTPパケット判定手段1904は、フロー識別テーブル1903に追加されているIPパケットであって現在RTPパケットでないとされているものが、一定時間内に連続して出力側インターフェース1102nに入力されている場合、該入力パケットをRTPパケットと判定する。
RTPパケット判定手段1904が、RTPパケットであると判定し、判定されたパケットに関するフローが未だフロー識別テーブル1903に登録されていないときには、フロー識別テーブル登録手段1902が、そのフローについてエントリ(IPパケットの宛先IPアドレス、送信元IPアドレス、プロトコル番号、宛先ポート番号、送信元ポート番号及び識別子のフィールドを持つ)を追加する。
入力されたIPパケットがRTCPを含むと判定するための条件(以下、RTCP条件と呼ぶ)は、入力されたIPパケットの送信元IPアドレス、宛先IPアドレス、プロトコル番号と、RTPパケットであると判定されたIPパケットの送信元IPアドレス、宛先IPアドレス、プロトコル番号が等しく、かつ、入力されたIPパケットのポート番号から「1」を減算した値と、該RTPパケットであると判定されたIPパケットのポート番号が等しいこととする。
RTPパケット候補削除手段1906は、入力されたIPパケットがフロー識別テーブル1903のエントリ内容と矛盾している場合は、該エントリをフロー識別テーブル1903から削除する。なお本形態では、フロー識別テーブル1903に登録されているエントリについて、ペイロードタイプフィールドのビット値とSSRCフィールドのビット値とが一致しないものが発見されたとき、エントリ内容と矛盾するものとする。RTPパケット候補削除手段1906は、フロー識別テーブル1903に定義されているフローに属するパケットが入力され、かつ、このパケットが属するフローのSSRCと、入力されたパケット内のRTPヘッダのSSRCフィールドに相当する箇所の値が異なる場合、フロー識別テーブル1903から当該フローの情報を削除する候補削除手段に相当する。
パケット分類手段103は、RTPパケット判定手段1904の判定結果と、パケット分類ルール記憶手段107を参照して、入力されたIPパケットを該当するクラスのキューに出力する。
図20(a)〜(d)は、ある時点におけるフロー識別テーブル1903の内容を示しており、エントリ時間の単位はミリ秒とする。
本形態では、連続しているか判定するための閾値として、音声パケットのためのAV判定閾値を30個/秒、ビデオパケットのためのAV判定閾値を500個/秒とする。また、パケット分類ルール記憶手段107には、図22(b)に示すように「RTPをを高優先で処理する」というルールと「RTCPを高優先で処理する」というルールとが定義されているとする。
図21は、本発明の実施の形態5における出力側インターフェース1102nのフローチャートである。以下、いくつかの場合をあげながら、本形態による処理内容を説明する。
(場合1)フロー識別テーブル1903が空であり、フラグメント非先頭パケットでないUDPパケットを含んだIPパケットが入力された場合(ステップ2201、2202)
図21のステップ2205において、この時点でフロー識別テーブル1903にエントリはなく、RTPパケットを含んでいると判定されたIPパケットはないので、RTCPを含むと判定するための条件に合致しない。
またステップ2203にて、入力されたIPパケットの送信元IPアドレス、宛先IPアドレス、プロトコル番号、送信元ポート番号、宛先ポート番号が同一となるエントリがフロー識別テーブル1903にないので、エントリ対象判定手段1901は、入力されたIPパケットがRTPパケットを含んでいるIPパケットの候補か否か判定する(ステップ2206)。より具体的には、エントリ対象判定手段1901は、図10のステップ601、602、603と同様の処理を行い、ステップ601、602、603の全ての条件を満足するものをRTPパケットを含んでいるIPパケットの候補とする。
入力されたIPパケットがRTPパケットを含んでいるIPパケットの候補となる条件を満足し、ペイロードタイプフィールドに相当するビットの値が「31」であった場合(RTPヘッダのペイロードタイプフィールドが「31」の場合、そのRTPパケットはペイロードにITU−T勧告の動画像圧縮方式H.261で符号化されたデータを含むことを示す)、ステップ2209にて、該入力パケットのエントリは、ビデオパケットの候補として、図20(a)のように、フロー識別テーブル1903に追加され、入力されたIPパケットはRTPパケットを含んでないと判定され(ステップ2210)、パケット分類手段1905は、このIPパケットをキュー109へ出力する(ステップ2221)。
(場合2)フロー識別テーブル1903が図20(a)の状態の時、フラグメント非先頭パケットでなく(ステップ2202)、エントリ2301と送信元IPアドレス、宛先IPアドレス、プロトコル番号、送信元ポート番号、宛先ポート番号が同一となるIPパケットが入力された場合
この場合においても、図21のステップ2205において、RTPパケットを含んでいると判定されたIPパケットはないので、RTCPを含むと判定するための条件に合致せず、RTPパケット判定手段1904は、入力されたIPパケットのエントリがフロー識別テーブル1903に登録されているかチェックする(ステップ2203)。
ステップ2203では、RTPパケット判定手段1904は、入力されたIPパケットの送信元IPアドレス、宛先IPアドレス、プロトコル番号、送信元ポート番号、宛先ポート番号が同一となるエントリがあるかチェックする。
この場合、ステップ2203において、入力されたIPパケットはエントリ2301に合致する。ステップ2212において、RTPヘッダのペイロードタイプフィールドに相当するビットの値が「31」であり、かつSSRCフィールドに相当するビットの値が「1000」であり、RTPパケットを含むIPパケットの候補として矛盾がない(ステップ2212)ので、ステップ2213に処理が移る。
この時点で入力されたIPパケットがRTPを含むか否かの判定結果は「No」であるので(ステップ2213)、エントリ2301のパケット数に「1」が加算されるが(ステップ2214)、加算後もパケット数はRTP判定閾値「500」に満たないので(ステップ2215)、RTPパケットでないと判定される(ステップ2220)。
これら処理により、エントリ2301は、図20(b)のエントリ2302に更新される。
なお、もしステップ2212において矛盾が検知された場合、RTP候補削除手段1906は、該エントリをフロー識別テーブル1903から削除し(ステップ2219)、入力されたIPパケットはRTPパケットを含んでないと判定される(ステップ2220)。
(場合3)フロー識別テーブル1903が図20(c)の状態の時、フラグメント非先頭パケットでなく(ステップ2202)、エントリ2303と送信元IPアドレス、宛先IPアドレス、プロトコル番号、送信元ポート番号、宛先ポート番号が同一となるIPパケットが入力された場合
図21のステップ2203において、入力されたIPパケットはエントリ2303に合致する。ステップ2212において、入力されたIPパケットのRTPヘッダのペイロードタイプフィールドに相当するビットの値が「31」であり、かつSSRCフィールドに相当するビットの値が「1000」であり、RTPパケットを含むIPパケットの候補として矛盾がないので、ステップ2213、2214に処理が移る。該エントリが入力されたパケット数は「500」となり、該入力されたIPパケットはRTPパケットを含んでいると判定される(ステップ2216、2217、2218)。これら処理により、エントリ2303は、図20(d)に示すエントリ2304に遷移する。
(場合4)フロー識別テーブル1903が図20(d)の状態の時、フラグメント非先頭パケットでなく(ステップ2202)、エントリ2304と送信元IPアドレス、宛先IPアドレス、プロトコル番号が等しく、送信元ポート番号、宛先ポート番号がそれぞれ2001となるIPパケットが入力された場合
この場合、RTPパケットであると判定されたエントリ2304がフロー識別テーブル1903にあり、図21のステップ2205において、該エントリ2304は入力されたIPパケットに対するRTCP条件に合致するので、入力されたIPパケットはRTCPパケットを含むと判定され(ステップ2211)、パケット分類手段1905は、IPパケットをキュー108に出力する(ステップ2221)。
本形態においても、実施の形態4と同様に、フラグメント非先頭パケットが入力された場合(ステップ2202)、RTPパケット判定手段1904は、入力されたIPパケットの送信元IPアドレス、宛先IPアドレス、プロトコル番号、識別子が同一のエントリがフロー識別テーブル1903にあるか検索し(ステップ2204)、エントリがあれば、そのエントリの内容を更新してRTPパケットか否か判定し(ステップ2214、2215)、エントリがなければ、入力されたIPパケットはRTPパケットを含んでないと判定する(ステップ2220)。
(実施の形態6)
次に、図23〜図25を用いて、本発明の実施の形態6について説明する。本形態は、パケット分類のルール変更に対応している。
図23は、本発明の実施の形態6における出力側インターフェイス1102nのブロック図である。本形態では、図11に示す実施の形態3の構成に、パケット分類ルール変更手段901と、切替スイッチ902とを追加している。しかし、実施の形態1、2、4、5の構成に、パケット分類ルール変更手段901と、切替スイッチ902とを追加することもできる。
さて、図23に示すように、パケット中継装置1100は、一般家庭のユーザでも容易に特定フローを優先的に処理できるようにするために、IPパケットを分類するルールを設定するための切替スイッチ902を備える。
切替スイッチ902には、RTP切替スイッチ902aと、DSCPの値に応じた処理を有効にするか否か切替るDSCP切替スイッチ902bと、IPv6パケット内のフローラベルに応じた処理を有効にするか否かを切替るフローラベル切替スイッチ902cと、VLANタグ付きフレームの優先度に応じた処理を有効にするか否かを切替るVLANタグ切替スイッチ902dとが設けられる。
パケット分類ルール変更手段901は、切替スイッチ902の切替に基づき、パケット分類ルール記憶手段107の内容を変更する。
図24(a)、(b)は、IPパケットを分類するルールを設定するための設定インターフェースとして切替スイッチ902を備えた出力側インターフェイス1102nの外観と切替スイッチ902の状態を示す。
図25(a)、(b)は、切替スイッチ902によって変更されるパケット分類ルール記憶手段107に格納されるルールの一例を示す。
本例では、RTP切替スイッチによるクラス指定は高優先クラスと低優先クラスの2レベルとし、「ON」にすると高優先クラスとして処理し、「OFF」にすると低優先クラスとして処理するものとする。
RTP切替スイッチ902aのみを有効(ON)にすると、パケット分類ルール変更手段901が切替スイッチ902に基づき、パケット分類ルール記憶手段107の内容を修正する。図25(a)は切替スイッチ902の状態におけるパケット分類ルール記憶手段107の内容を示している。これにより、図23の構成においては、出力側インターフェイス1102nは、入力されたIPパケットに対して実施の形態3と同様の処理を行うことになる。
DSCP切替スイッチ902bのみを有効(ON)にすると、パケット分類ルール変更手段901が切替スイッチ902に基づき、パケット分類ルール記憶手段107の内容を修正する。図25(b)は、図24(b)の切替スイッチ902の状態におけるパケット分類ルール記憶手段107の内容を示している。これにより、出力側インターフェイス1102nは、入力されたIPパケットのDSCPが「0」であれば、低優先クラスとして分類して処理し、DSCPが「1」以上であれば、高優先クラスに分類して処理することになる。
上記と同様に、フローラベル切替スイッチ902cのみを有効(ON)にすると、出力側インターフェイス1102nは、入力されたIPv6パケットのフローラベルが「0」であれば、低優先クラスとして分類して処理し、フローラベルが「1」以上であれば、高優先クラスに分類して処理することになる。また、同様に、VLANタグ切替スイッチ902dのみを有効(ON)にすると、出力側インターフェイス1102nは、入力されたVLANタグ付きフレームの優先度が0であれば、低優先クラスとして分類して処理し、優先度が1以上であれば、高優先クラスに分類して処理することになる。
以上、本発明の実施の形態の説明では、IPパケットの優先度は2レベルで示したが、3レベル以上であってもよく、レベル数に応じてフロー識別テーブルとキューを設ければよい。
また、フロー識別テーブルの各エントリに、クラスの情報を付与したが、IPパケットを分類するレベルが高優先クラスと低優先クラスのような2レベルであれば、必ずしもクラスの情報を付加する必要はない。例えば、高優先クラスのIPパケットのみをエントリするようにし、フロー識別テーブルにエントリがあれば高優先クラスとして処理するようにしておけばよい。
また、この場合、3レベル以上の優先度の中の1つのクラスにRTPパケットを含むIPパケットを割当てるようにしておけばよい。
また、第2フロー識別テーブル削除手段106の処理において、フロー識別テーブルのエントリのチェックを先頭から最後まで終わった後は、一定時間開けてもよいし、開けなくてもよい。
さらに、複数の切替スイッチが同時に有効(ON)になった場合、各スイッチ(901a〜901d)が有効(ON)になった場合のそれぞれのルールのAND条件を取ってもよいし、OR条件を取ってもよく、さらには、複数の切替スイッチに優先順位を付けておき、複数の切替スイッチが同時に有効になった場合、最も優先順位が高い切替スイッチの内容のみがパケット分類ルールに反映され、優先順位の低い切替スイッチの内容は無効としてパケット分類ルールに反映しなくてもよい。
また、フロー識別テーブル1803、1903の各エントリには、一定時間に該パケットが入力されたパケット数、該パケットに対するAV/RTP判定閾値、該パケットに対するAVパケットもしくはRTPパケットであるかの判定結果、該エントリのエントリ時間を合わせて示したが、これら情報は別テーブルとして保持してもよい。さらに言えば、本発明の実施の形態4、5は、あくまで一例にすぎず、パケット中継装置にある一定時間内に一定数以上連続的に入力されているか否かに基づいて、入力されたIPパケットがAVパケットか否か、あるいはRTPパケットを含んでいるか否かを判定すればよい。
本発明は、例えば、AVパケットを処理するルータ等やその関連分野において、好適に利用できる。
本発明の一実施の形態におけるパケット中継装置のブロック図 本発明の実施の形態1における出力側インターフェースのブロック図 本発明の実施の形態1におけるパケットの流れの例示図 本発明の実施の形態1における分類ルールの例示図 (a)本発明の実施の形態1におけるフロー識別テーブルの例示図 (b)本発明の実施の形態1におけるフロー識別テーブルの例示図 (c)本発明の実施の形態1におけるフロー識別テーブルの例示図 本発明の実施の形態1におけるパケット分類処理のフローチャート 本発明の実施の形態1における識別テーブルの削除処理のフローチャート 本発明の実施の形態2における出力側インターフェースのブロック図 本発明の実施の形態2におけるパケット分類処理のフローチャート 本発明の実施の形態2におけるRTPパケット判定のフローチャート 本発明の実施の形態3における出力側インターフェイスのブロック図 本発明の実施の形態3におけるパケットの流れの例示図 (a)本発明の実施の形態3におけるフロー識別テーブルの例示図 (b)本発明の実施の形態3におけるフロー識別テーブルの例示図 本発明の実施の形態3におけるパケット分類処理のフローチャート 本発明の実施の形態3における出力側インターフェイスのブロック図 (a)本発明の実施の形態4におけるフロー識別テーブルの例示図 (b)本発明の実施の形態4におけるフロー識別テーブルの例示図 (c)本発明の実施の形態4におけるフロー識別テーブルの例示図 (d)本発明の実施の形態4におけるフロー識別テーブルの例示図 (e)本発明の実施の形態4におけるフロー識別テーブルの例示図 (f)本発明の実施の形態4におけるフロー識別テーブルの例示図 (g)本発明の実施の形態4におけるフロー識別テーブルの例示図 本発明の実施の形態4におけるパケット分類処理のフローチャート 本発明の実施の形態4におけるAVパケット判定処理のフローチャート 本発明の実施の形態5における出力側インターフェースのブロック図 (a)本発明の実施の形態5におけるフロー識別テーブルの例示図 (b)本発明の実施の形態5におけるフロー識別テーブルの例示図 (c)本発明の実施の形態5におけるフロー識別テーブルの例示図 (d)本発明の実施の形態5におけるフロー識別テーブルの例示図 本発明の実施の形態5におけるパケット分類処理のフローチャート (a)本発明の実施の形態4におけるパケット分類ルールの説明図 (b)本発明の実施の形態5におけるパケット分類ルールの説明図 本発明の実施の形態6における出力側インターフェースのブロック図 (a)本発明の実施の形態6における切替スイッチの外観図 (b)本発明の実施の形態6における切替スイッチの外観図 (a)本発明の実施の形態6におけるパケット分類ルールの説明図 (b)本発明の実施の形態6におけるパケット分類ルールの説明図
符号の説明
101、1803、1903 フロー識別テーブル
102 ヘッダチェック手段
103、203 パケット分類手段
104 フロー識別手段
105、205、1802、1902 フロー識別テーブル登録手段
106 第2フロー識別テーブル削除手段
107 パケット分類ルール記憶手段
108、109 キュー
110 スケジューラ
111 第1フロー識別テーブル削除手段
202 RTP判定手段
901 パケット分類ルール変更手段
902 切替スイッチ
902a RTP切替スイッチ
902b DSCP切替スイッチ
902c フローラベル切替スイッチ
902d VLANタグ切替スイッチ
1100 パケット中継装置
1101a〜1101n 入力側インターフェース
1102a〜1102n 出力側インターフェース
1103 中継転送処理部
1801、1901 エントリ対象判定手段
1804 AVパケット判定手段
1806 AVパケット候補削除手段
1904 RTPパケット判定手段
1906 RTP候補削除手段

Claims (28)

  1. 優先度毎にパケットを格納する複数のキューと、
    前記複数のキューのいずれかからパケットを取り出して外部へ出力するスケジューラと、
    パケット分類ルールを記憶するパケット分類ルール記憶手段と、
    前記パケット分類ルール記憶手段のパケット分類ルールに基づいて前記複数のキューのいずれかにパケットを出力するパケット分類手段と、
    フローを定義する情報と当該フローの優先度の情報とを格納できるフロー識別情報記憶手段とを備え、
    前記フロー識別情報記憶手段は、前記パケット分類ルール記憶手段とは異なる態様で操作されるパケット中継装置。
  2. フローを定義する情報は、IPヘッダ内の送信元IPアドレス(Source Address)、宛先IPアドレス(Destination Address)、プロトコル番号(Protocol)、識別子(Identification)を含む請求項1記載のパケット中継装置。
  3. 入力されたパケットが、フラグメント非先頭パケット(フラグメント化したパケットであって先頭から2番目以降に位置するパケット)であるか否かを判定するヘッダチェック手段を備える請求項1から2記載のパケット中継装置。
  4. 前記ヘッダチェック手段は、さらに、入力されたパケットが、フラグメント先頭パケット(フラグメント化したパケットであって先頭に位置するパケット)であるか否かを判定し、
    前記ヘッダチェック手段が、フラグメント先頭パケットであると判定した際、入力されたパケットが属するフローを定義する情報と当該フローの優先度の情報とを、前記フロー識別情報記憶手段に追加するフロー識別情報登録手段とを備える請求項3記載のパケット中継装置。
  5. 前記ヘッダチェック手段によりフラグメント非先頭パケットであると判定されたパケットを、前記フロー識別情報記憶手段のフローを定義する情報と当該フローの優先度の情報とに基づいて前記複数のキューのいずれかに出力するフロー識別手段をさらに備え、
    前記パケット分類手段は、前記ヘッダチェック手段によりフラグメント非先頭パケットでないと判定されたパケットを、前記パケット分類ルール記憶手段のパケット分類ルールに基づいて前記複数のキューのいずれかに出力する請求項3から4記載のパケット中継装置。
  6. 前記フロー識別手段は、フラグメント非先頭パケットが最終のフラグメント非先頭パケットであるか否かを判定し、
    前記フロー識別手段により最終の非先頭フラグメントパケットであると判定されたパケットが属するフローを定義する情報と当該フローの優先度の情報とを、前記フロー識別情報記憶手段から削除する第1の削除手段を備える請求項5記載のパケット中継装置。
  7. 入力されない状態が一定時間経過したフローを定義する情報と当該フローの優先度の情報とを、前記フロー識別情報記憶手段から削除する第2の削除手段を備える請求項1から6記載のパケット中継装置。
  8. パケットに関するフローを定義する情報と当該フローの優先度の情報とが前記フロー識別情報記憶手段に格納されている際、前記フロー識別情報記憶手段のフローを定義する情報と当該フローの優先度の情報とに基づいて前記複数のキューのいずれかに出力するフロー識別手段とをさらに備え、
    前記パケット分類手段は、パケットに関するフローを定義する情報と当該フローの優先度の情報とが前記フロー識別情報記憶手段に格納されていない際、前記パケット分類ルール記憶手段のパケット分類ルールに基づいて前記複数のキューのいずれかにパケットを出力する請求項1記載のパケット中継装置。
  9. さらに、パケットがRTP(Real−time Transport Protocol)パケットであるか否かを判定するRTP判定手段を備える請求項8記載のパケット中継装置。
  10. 前記RTP判定手段は、パケットのUDPヘッダに含まれるポート番号が1024以上の偶数であり、かつ、UDPヘッダの後のRTPヘッダフィールドにおいて、RTPのプロトコルバージョンを示すバージョン(version)のフィールドと、RTPペイロードのペイロードタイプ(payload type)のフィールドとの少なくとも一方に基づいて、RTPパケットであると判定する請求項9記載のパケット中継装置。
  11. 前記RTP判定手段が、RTPパケットであると判定した際、入力されたパケットが属するフローを定義する情報と当該フローの優先度の情報とを、前記フロー識別情報記憶手段に追加するフロー識別情報登録手段とを備える請求項9から10記載のパケット中継装置。
  12. フローを定義する情報にTCP/UDPヘッダ内のポート番号が含まれ、
    前記RTP判定手段が、RTPパケットであると判定した際、前記フロー識別手段は、このパケットが属するフローを定義する情報に対しTCP/UDPヘッダ内のポート番号に「1」を加えたものとRTCPパケットの優先度の情報とに基づいて前記複数のキューのいずれかに出力する請求項9から11記載のパケット中継装置。
  13. フローを定義する情報にTCP/UDPヘッダ内のポート番号が含まれ、
    前記RTP判定手段が、RTPパケットであると判定した際、前記フロー識別情報登録手段は、このRTPパケットに対応するRTCPパケットのフローについて、このパケットが属するフローを定義する情報に対しTCP/UDPヘッダ内のポート番号に「1」を加えたものとRTCPパケットの優先度の情報とを、前記フロー識別情報記憶手段に追加する請求項9から12記載のパケット中継装置。
  14. 入力されたパケットが、フラグメント非先頭パケットであるか否かを判定するヘッダチェック手段をさらに備え、
    前記フロー識別手段は、前記ヘッダチェック手段からパケットを入力する請求項9から13記載のパケット中継装置。
  15. 入力されたパケットが、AVパケット(AVデータを構成するパケット)か否かを判定するAVパケット判定手段をさらに備え、
    前記パケット分類手段は、AVパケットでないパケットよりもAVパケットの方が高い優先度となるように、前記複数のキューのいずれかにパケットを出力する請求項1記載のパケット中継装置。
  16. 前記AVパケット判定手段は、HTTPパケットについてContent−Typeの情報に基づいてAVパケットか否かを判定する請求項15記載のパケット中継装置。
  17. 前記AVパケット判定手段は、前記フロー識別情報記憶手段に定義されているフローのパケットが一定時間内に連続して入力される際、このフローがAVパケットのフローであると判定する請求項15から16記載のパケット中継装置。
  18. 前記AVパケット判定手段は、前記フロー識別情報記憶手段に定義されているフローのパケットが入力される数と、予め定められたAV判定閾値とを大小比較して、このフローがAVパケットのフローか否かを判定する請求項15から17記載のパケット中継装置。
  19. 前記フロー識別情報記憶手段は、定義されているフローについてのAV判定閾値の情報を含み、
    前記AVパケット判定手段は、パケットのパケット長に基づいて、前記フロー識別情報記憶手段に定義するフローのAV判定閾値を、ビデオパケット用のAV判定閾値が音声パケット用のAV判定閾値よりも大きくなるように設定された、AV判定閾値を用いてAVパケットか否かを判定する請求項15から18記載のパケット中継装置。
  20. 前記フロー識別情報記憶手段に定義されているフローに属するパケットが入力され、かつ、このパケットのパケット長と前記フロー識別情報記憶手段のパケット長とが異なる場合、前記フロー識別情報記憶手段から当該フローの情報を削除する候補削除手段をさらに備える請求項19記載のパケット中継装置。
  21. 入力されたパケットが、RTPパケットか否かを判定するRTPパケット判定手段をさらに備え、
    前記RTPパケット判定手段は、前記フロー識別情報記憶手段に定義されているフローのパケットが一定時間内に連続して入力される際、このフローがRTPパケットのフローであると判定する請求項1記載のパケット中継装置。
  22. 前記RTPパケット判定手段は、前記フロー識別情報記憶手段に定義されているフローのパケットが入力される数と、予め定められたRTP判定閾値とを大小比較して、このフローがRTPパケットのフローか否かを判定する請求項21記載のパケット中継装置。
  23. 前記フロー識別情報記憶手段は、定義されているフローについてのAV判定閾値の情報を含み、
    前記RTPパケット判定手段は、ビデオパケット用のAV判定閾値が音声パケット用のAV判定閾値よりも大きくなるように設定された、AV判定閾値を用いて、RTPパケットか否かを判定する請求項21から22記載のパケット中継装置。
  24. 前記RTPパケット判定手段は、前記フロー識別情報記憶手段においてRTPパケットとされているパケットが属するフローを定義する情報に対しTCP/UDPヘッダ内のポート番号に「1」を加えたものを、RTCPパケットのフローであると判定する請求項21から23記載のパケット中継装置。
  25. 前記フロー識別情報記憶手段は、さらにRTPヘッダ内のSSRC(Synchronization source)情報を格納できる請求項21から24記載のパケット中継装置。
  26. 前記フロー識別情報記憶手段に定義されているフローに属するパケットが入力され、かつ、このパケットが属するフローのSSRC情報と入力されたパケット内のRTPヘッダのSSRCフィールドに相当する箇所の値とが異なる場合、または、このパケットが属するフローのペイロードタイプと入力されたパケット内のRTPヘッダのペイロードタイプに相当する箇所の値とが異なる場合、前記フロー識別情報記憶手段から当該フローの情報を削除する候補削除手段をさらに備える請求項25記載のパケット中継装置。
  27. 前記パケット分類ルール記憶手段が記憶するパケット分類ルールを変更するための切替スイッチと、
    前記切替スイッチの状態に基づいて前記パケット分類ルール記憶手段が記憶するパケット分類ルールを変更するパケット分類ルール変更手段とを備える請求項1記載のパケット中継装置。
  28. 前記切替スイッチは、
    RTPを用いたアプリケーションが分類されるクラスを指定するRTP切替スイッチと、パケット内のDSCPの値に応じた処理を有効(ON)とするか、無効(OFF)とするか選択するDSCP切替スイッチと、IPv6パケット内のフローラベルに応じた処理を有効(ON)とするか、無効(OFF)とするか選択するフローラベル切替スイッチと、VLANタグ付きフレームの優先度に応じた処理を有効(ON)とするか、無効(OFF)とするか選択するVLANタグ切替スイッチと、
    のうち少なくとも1つを有する請求項27記載のパケット中継装置。
JP2004034555A 2003-03-12 2004-02-12 パケット中継装置 Withdrawn JP2004297775A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004034555A JP2004297775A (ja) 2003-03-12 2004-02-12 パケット中継装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003066454 2003-03-12
JP2004034555A JP2004297775A (ja) 2003-03-12 2004-02-12 パケット中継装置

Publications (1)

Publication Number Publication Date
JP2004297775A true JP2004297775A (ja) 2004-10-21

Family

ID=33421580

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004034555A Withdrawn JP2004297775A (ja) 2003-03-12 2004-02-12 パケット中継装置

Country Status (1)

Country Link
JP (1) JP2004297775A (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006014094A1 (en) * 2004-08-05 2006-02-09 Lg Electronics Inc. Distinguishing between protocol packets in a wireless communication system
WO2006085374A1 (ja) * 2005-02-10 2006-08-17 Fujitsu Limited 通信装置
JP2007221240A (ja) * 2006-02-14 2007-08-30 Nippon Telegr & Teleph Corp <Ntt> パケット通過制御装置及びパケット通過制御方法
KR100785776B1 (ko) 2005-12-09 2007-12-18 한국전자통신연구원 Ip 버전 6 라우터에서 패킷 처리 장치 및 그 방법
JP2008520141A (ja) * 2004-11-15 2008-06-12 フランス テレコム 優先して扱われるべきパケットの間接的な判断でネットワークにおいてルートするためのパケットを順序付けるための方法及び装置
JP2010004310A (ja) * 2008-06-20 2010-01-07 Alaxala Networks Corp パケット中継装置
JP2015070434A (ja) * 2013-09-27 2015-04-13 Kddi株式会社 OpenFlowスイッチおよびプログラム
JPWO2016199587A1 (ja) * 2015-06-12 2018-04-05 日本電気株式会社 中継装置、端末装置、通信システム、pdu中継方法、pdu受信方法およびプログラム
KR20190078060A (ko) * 2017-12-26 2019-07-04 삼성전자주식회사 무선 통신 네트워크에서 네트워크 디바이스의 트래픽 제어 방법 및 장치

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101187968B1 (ko) 2004-08-05 2012-10-05 엘지전자 주식회사 무선 통신 시스템에서 프로토콜 패킷 구별
US7860087B2 (en) 2004-08-05 2010-12-28 Lg Electronics Inc. Distinguishing between protocol packets in a wireless communication system
WO2006014094A1 (en) * 2004-08-05 2006-02-09 Lg Electronics Inc. Distinguishing between protocol packets in a wireless communication system
JP2008520141A (ja) * 2004-11-15 2008-06-12 フランス テレコム 優先して扱われるべきパケットの間接的な判断でネットワークにおいてルートするためのパケットを順序付けるための方法及び装置
JP4762996B2 (ja) * 2004-11-15 2011-08-31 フランス・テレコム 優先して扱われるべきパケットの間接的な判断でネットワークにおいてルートするためのパケットを順序付けるための方法及び装置
WO2006085374A1 (ja) * 2005-02-10 2006-08-17 Fujitsu Limited 通信装置
KR100785776B1 (ko) 2005-12-09 2007-12-18 한국전자통신연구원 Ip 버전 6 라우터에서 패킷 처리 장치 및 그 방법
JP2007221240A (ja) * 2006-02-14 2007-08-30 Nippon Telegr & Teleph Corp <Ntt> パケット通過制御装置及びパケット通過制御方法
JP4663761B2 (ja) * 2008-06-20 2011-04-06 アラクサラネットワークス株式会社 パケット中継装置
JP2010004310A (ja) * 2008-06-20 2010-01-07 Alaxala Networks Corp パケット中継装置
JP2015070434A (ja) * 2013-09-27 2015-04-13 Kddi株式会社 OpenFlowスイッチおよびプログラム
JPWO2016199587A1 (ja) * 2015-06-12 2018-04-05 日本電気株式会社 中継装置、端末装置、通信システム、pdu中継方法、pdu受信方法およびプログラム
KR20190078060A (ko) * 2017-12-26 2019-07-04 삼성전자주식회사 무선 통신 네트워크에서 네트워크 디바이스의 트래픽 제어 방법 및 장치
KR102603235B1 (ko) * 2017-12-26 2023-11-16 삼성전자 주식회사 무선 통신 네트워크에서 네트워크 디바이스의 트래픽 제어 방법 및 장치

Similar Documents

Publication Publication Date Title
US7463635B2 (en) Packet communication system with QoS control function
US6996102B2 (en) Method and apparatus for routing data traffic across a multicast-capable fabric
US7720065B2 (en) Method and apparatus for biasing of network node packet prioritization based on packet content
KR100800881B1 (ko) 동기식 이더넷 시스템에서 서비스 품질 보장 방법 및 장치
US10432556B1 (en) Enhanced audio video bridging (AVB) methods and apparatus
US7688725B2 (en) Content-aware congestion control system
EP1924028B1 (en) Method and system for providing qos service
US7848231B2 (en) Packet communication network and packet communication method
US7920573B2 (en) Data relay device, data relay method, and computer product
US10637792B2 (en) Real-time analysis of quality of service for multimedia traffic in a local area network
JP2004524754A (ja) キャッシュ入力の選択方法および装置
US20020012348A1 (en) Router device and priority control method for use in the same
US20160337251A1 (en) Predictive egress packet classification for quality of service
KR102107514B1 (ko) 방송 시스템에서 동적 큐 관리 방법 및 장치
US20030126286A1 (en) Method for interfacing between different QoS offering methods
JP2004297775A (ja) パケット中継装置
US7272112B2 (en) QoS router system for effectively processing fragmented IP packets and method thereof
KR100891208B1 (ko) 패킷 데이터 망에서 패킷 데이터 흐름을 프로세싱하는 방법, 장치, 시스템 및 컴퓨터 프로그램이 수록된 컴퓨터 판독가능 기록 매체
KR101465712B1 (ko) 네트워크 구성 방법, 링 네트워크 시스템, 노드
US6977905B1 (en) Network with self regulating quality of service (QoS)
US7061919B1 (en) System and method for providing multiple classes of service in a packet switched network
JP3637886B2 (ja) パケット網転送システム、パケット網転送装置及びそれに用いるパケット網転送方法
JP2011125009A (ja) サブフローを基盤でネットワークを管理するための装置
KR20060009775A (ko) 멀티미디어 패킷 전송 장치 및 그 방법
JP2004147164A (ja) パケット送信装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061218

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20080204