JP5896055B2 - 優先度設定装置及びコンピュータプログラム - Google Patents
優先度設定装置及びコンピュータプログラム Download PDFInfo
- Publication number
- JP5896055B2 JP5896055B2 JP2015034140A JP2015034140A JP5896055B2 JP 5896055 B2 JP5896055 B2 JP 5896055B2 JP 2015034140 A JP2015034140 A JP 2015034140A JP 2015034140 A JP2015034140 A JP 2015034140A JP 5896055 B2 JP5896055 B2 JP 5896055B2
- Authority
- JP
- Japan
- Prior art keywords
- packet
- priority
- flow
- delay amount
- delay
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Description
かかるQoSをサポートするネットワーク機器を使用すれば、遅延が生じると意味をなさない上記のようなトラフィックを、遅延させても特に影響のないファイル交換ソフトのパケットなどよりも優先的に送受信させることができ、ネットワークの利便性ないし使用感が向上する。
例えば、中継するパケットがIPパケットである場合には、IP−Protocol(プロトコル番号)フィールドやTCP/UDPポートフィールドの値に従って、複数の優先度キューへのマッピングが行われる。
この場合、送信元や宛先のIPアドレスなどを考慮に入れて、所望のパケットの優先度を設定すればよいが、この設定をユーザ自身が行うのは極めて煩雑である。
この場合、例えば、第1遅延量から基準遅延量を引いた差が所定の閾値を超えた場合に、当該パケットのパケット間遅延が大きくなったと判定でき、その閾値以下の場合はパケット間遅延がさほど激しくないと判定することができる。
この場合、基準遅延量が、複数の第1遅延量の統計量(例えば平均値)である第2遅延量よりなるので、その基準遅延量を固定値に設定する場合に比べて、ネットワークの通常状態をより適切に設定することができる。
この場合、異常値を示す第1遅延量が第2遅延量の算出要素となることによって、不正確な基準遅延量が設定されるのを未然に防止することができる。
この場合、UDPなどの同報的な通信を利用する送受信ノード間のパケットの優先度を設定することができる。
この場合、HTTPのGetとResponseなどのハンドシェイクを行う送受信ノード間のパケットの優先度を設定することができる。
なお、本発明のコンピュータプログラムは、上述の(2)〜(6)に記載された事項を含んでいてもよい。
〔システムの全体構成〕
図1は、本発明に係る優先度設定装置の一例であるルータ(中継装置)を適用した通信システムの全体構成図である。
図1に示すように、この通信システムは、通信事業者側の光回線終端装置であるOLT1、宅側の光回線終端装置であるONU2、ホームゲートウェイやブロードバンドルータ等よりなるルータ3、及び、複数のIP端末4などを備えている。
なお、図1のシステム構成例では、FTTHを想定してONU2よりなる回線終端装置を例示しているが、その他の回線終端装置として、ADSLモデムやCATVモデムを採用することもできる。
ルータ3は、IPパケットのルーティング機能を有する中継装置であり、1つのWANポートと1又は複数のLANポートとを有する。なお、図例では、LANポートが2つあるルータ3を例示しているが、その数は2つに限定されない。
また、OLT1側の広域ネットワーク6にもIP端末4が接続されており、このIP端末4は、例えばクラウドサーバ等よりなる。
これらの構内ネットワークLAN1,LAN2は、1又は複数のスイッチングハブ10を用いて多段接続することによって構成されており、当該ネットワークの終端部分にIP端末4を有する。
このルータ3のエージェントプログラムは、ルータ3でルーティングされるIPパケットを捕捉する捕捉処理や、捕捉されたパケットを用いたQoS優先度の自動設定処理などを行う。
なお、「パケット」は、レイヤ3の通信で使われるPDUの呼び名として用いる場合もあるが、本明細書では、コンピュータ間の通信に使用するデータを送る単位の意味(従って、PDUと同じ。)でも使用している。従って、「IPパケット」を単に「パケット」ということがある。
図2は、ルータ3の内部構成を示すブロック図である。
図2に示すように、ルータ3は、第1インタフェース部301、第1送受信ドライバ302、捕捉用受信バッファ303、第1送信バッファ304、第2インタフェース部305、第2送受信ドライバ306、中継用受信バッファ307、第2送信バッファ308及びパケットプロセッサ309などを備えている。
第1送受信ドライバ302は、第1インタフェース部301から受けた受信パケットを捕捉用受信バッファ303と中継用受信バッファ307に渡し、第1送信バッファ304から受けた送信パケットを第1インタフェース部301から外部に送出する。
第2送受信ドライバ306は、第2インタフェース部305から受けた受信パケットを捕捉用受信バッファ303と中継用受信バッファ307に渡し、第2送信バッファ308から受けた送信パケットを第2インタフェース部305から外部に送出する。
この複数のキューH,Lのうち、高優先度キューHは、当該ルータ3で中継処理が行われた後の高優先度の送信パケットを格納するための送信キューであり、低優先度キューLは、当該ルータ3で中継処理が行われた後の低優先度の送信パケットを格納するための送信キューである。
また、第2インタフェース部305、第2送受信ドライバ306、中継用受信バッファ307及び第2送信バッファ308は、LAN側の「送受信部」を構成している。
パケットプロセッサ309は、中継処理部310、捕捉処理部311、分類処理部312及びデータ処理部313を備えている。
これらの処理部は、ROMやRAM等の周知の記憶装置(図示せず。)に記憶されたコンピュータプログラム(具体的には、前記エージェントプログラム)をプロセッサ309が読み出し、それを実行することによって実現される機能部である。
また、このコンピュータプログラムの販売又は譲渡は、サーバコンピュータからネットワーク経由でダウンロードすることによって行こともできる。
中継処理部310は、バッファ307から入力された受信パケットに対して、所定のルーティング処理やNAT(Network Address Translation)によるアドレス情報及びポート情報の変換を行って送信パケットを生成すると、後述のフローマッピングテーブルFMT(図9)を参照してQoSの優先度のマッピングを行って送信パケットを生成し、その送信パケットを送信バッファ304,308に入力する。
また、中継処理部310は、フローマッピングテーブルFMTにおいてQoSが低優先に設定されているアドレスの送信パケットの場合は、その宛先アドレスに対応するいずれかの送信バッファ304,308の低優先度キューLに入力する。
捕捉処理部311は、バッファ303から入力された受信パケットを受信時刻で並べ替えるなどの所定の処理を行って、すべての受信パケットを分類処理部312とデータ処理部313に送る。
なお、分類処理部312は、フローデータFDとして分類できないデータについては、未登録データとしてデータバッファ315に記憶させる。
なお、中継処理部310は、データ処理部313が更新したフローマッピングテーブルFMTの優先度を用いて、送信パケットに対する優先度を決定する。
図3は、パケットプロセッサ309の処理手順を示す概略的なフローチャートである。
以下、この図3と以後の図4〜図12を参照しつつ、プロセッサ309の各処理部311〜313が行う具体的な処理の内容を説明する。
図3に示すように、ルータ3のプロセッサ309は、各送受信部で受信された受信パケットに対し、パケットの捕捉(ステップS1)、ヘッダの抽出(ステップS2)、データの分類及び生成(ステップS3)及びデータの処理(S4)の順で情報処理を行う。
このうち、パケットの捕捉(ステップS1)は、上述の通り捕捉処理部311が行う処理である。捕捉処理部311は、捕捉用受信バッファ303が蓄積した所定量の受信パケットを順次取り込む。
ヘッダの抽出(ステップS2)は、分類処理部312が行う処理である。
図3に示すように、分類処理部312は、捕捉処理部311から受けた各パケットから必要なレイヤL2〜L5のヘッダ情報を抽出する。
データの分類及び生成(S3)は、分類処理部312が行う処理である。
図3に示すように、分類処理部312は、抽出されたパケットのヘッダ情報をキーとしてルールテーブルRTとフローテーブルFTをサーチすることにより、フローデータFD(サーチでヒットしない場合は未登録データ)を生成し、このデータFDをデータバッファ315の対応する格納領域に記憶させる。
図4に示すように、ルールテーブルRTは、例えば番号1〜256までの「ルール」のエントリを備え、各ルールは図5のフローIdと対応している。各ルールには複数(図例では8つ)の「サブルール」が含まれており、このサブルールには「項目」とその値(Value)を定義することができる。
例えば、図4の例では、ルール1のサブルール1で「destIp」(宛先IPアドレス)の値を定義し、サブルール2で「srcIP」(送信元IPアドレス)の値を定義し、サブルール3で「destPort」(宛先ポート番号)の値を定義し、サブルール4で「srcPort」(送信元ポート番号)の値を定義するようになっている。
図5に示すように、フローテーブルFTは、フローIdに対応する処理内容が定義されたテーブルである。例えば、図5の例では、フローId=1のパケットの場合には、パケットを「フローデータとして残す」処理が行われる。
なお、上記ルールテーブルRTとフローテーブルFTの設定は、例えば、ルータ3のユーザが、LAN側のIP端末4から各テーブルRT,FTの項目内容や設定値を含むパケットをルータ3に送信することによって行うことができる。
その結果、マッチしたルール(=フローId)がある場合には、そのフローIdに対して行うべき処理をフローテーブルFTから読み出し、読み出した処理を当該フローIdのパケットに対して実行する。また、分類処理部312は、マッチしたルール(=フローId)がない場合には、未登録データを生成する。
図6に示すように、フローデータFDは、捕捉されたパケットの受信時刻と、当該パケットの前記フローIdとを含むデータ構造となっている。なお、これらのデータの順序は図示のものに限定されない。
上述の通り、各フローIdには、ルールテーブルRT(図4)によってパケットの送信元、宛先及び種別が割り当てられているので、当該フローIdは、パケットの送信元、宛先及び種別を識別可能な識別情報である。
図3のデータの処理(S4)は、データ処理部313が行う処理である。
前述の通り、データ処理部313が行う処理には次の各処理が含まれるが、これらの詳細は後述する。
a) フロー統計データの更新処理
b) ベースラインデータの更新処理
c) 優先度の更新処理
図7は、同方向に一連のフローデータFDの例とそのシーケンス図である。
図7(a)の例では、フローId=1のパケットがマルチキャストで送信されるRTP(Real-time Transport Protocol)パケットである場合を想定している。
図7(a)に示すように、タイムスタンプの値が100〜160μ秒までの間は、フローId=1のフローデータFD同士の時間間隔が一定(20μ秒)であるが、それ以後のエントリで時間間隔が大幅に遅れている。従って、この場合、サーバからの通信が輻輳していると推定できる。
図8(a)の例では、フローId=2のパケットがICMPパケットのエコー要求であり、フローId=3のパケットがICMPパケットのエコー応答である場合を想定している。
図8(a)に示すように、タイムスタンプの値が100〜220μ秒までの間は、フローId=2のエコー要求とフローId=3のエコー応答の間の時間間隔が一定(20μ秒)であるが、300μ秒以後にエコー応答が来なくなっている。従って、この場合、300μ秒前後の時間帯に、何らかの理由でサーバの通信が切断したと推定できる。
図9は、フローマッピングテーブルFMTの一例を示す図である。
フローマッピングテーブルFMTの定義項目には、フローIdと、当該フローIdのアドレス情報及びポート情報である「srcIp」、「srcPort」、「destIP」及び「destPort」と、「Timestamp」(受信時刻)と、QoSの「優先度」とが含まれている。
従って、中継処理部310は、送信パケットのアドレス情報とポート情報をキーとしてフローマッピングテーブルFMTをサーチすることで、送信パケットに適用すべき優先度H,Lを決定することができる。
前述の通り、「ピリオド」は、パケット間遅延の平均値を算出するのに必要となる、パケット収集のための所定時間長(例えば10秒)の単位時間である。各ピリオドには、当該ピリオド中に収集されたフローId値のパケットの、パケット間遅延の平均値AVG(i)(i=1,2,……n)が格納される。
なお、前述の通り、本明細書では、フロー統計データFSDに含まれる平均値AVG(i)を「第1遅延量」と呼び、ベースラインデータBLDに含まれる平均値AVGbsを「第2遅延量」と呼んでいる。
図11及び図12は、フロー統計データFSDの更新処理を示すフローチャートである。
図11に示すように、データ処理部313は、まず、捕捉されたパケットからアドレス情報とポート情報を抽出し(ステップS11)、フローマッピングテーブルFMTを検索して(ステップS12)、その情報にマッチするエントリ(フローId)があるか否かを判定する(ステップS13)。
また、マッチするフローIdがない場合には、データ処理部313は、フローマッピングテーブルFMTに新たなエントリを作成する(ステップS15)。
図12を参照して、データ処理部313は、フロー統計データFSDの最初のエントリ(第1フローId)を参照し(ステップS18)、第1フローIdと第2フローIdが同じ値であるか否かを判定する(ステップS19)。
また、フロー統計データFSDにおいて、第1フローIdと第2フローIdが異なる値である場合は、それらのフローが、一方のノードから他方への要求パケットとこれに対応する応答パケット(例えば、図8)であることを意味する。
そして、データ処理部313は、収集した差分値ΔT(j)の合計を、フローIdの値がマッチするフローデータFDのパケット数Nで割った平均値(=AVG(i):第1遅延値)を算出し、その平均値をフロー統計データFSDの該当ピリオドに入力する(ステップS22)。
また、データ処理部313は、第1フローIdの値とマッチするフローデータFDのタイムスタンプ値と、第2フローIdの値とマッチするフローデータFDのタイムスタンプ値との差分値ΔT(k)を逐次算出し収集する(ステップS25)。
データ処理部313は、新規にベースラインデータBLDを作成する場合には、フロー統計データFSDの複数のピリオドの中からランダムに複数個の値を選択し、その平均値(AVGbs:第2遅延量)を算出して、ベースラインデータBLDの該当エントリに入力する。
すなわち、データ処理部313は、新たに追加されたピリオドのAVG(i)と既に求めたベースラインデータBLDのAVGbsとの差が所定の閾値を超えている場合には、学習係数αの値を「0」とし、その閾値以下の場合には、αの値をv(但し、vは0<v<1を満たす設定値)として、次式によってAVGbsの値を更新する。
AVGbs=(1−α)×AVGbs+α×AVG(i)
更に、データ処理部313は、各ピリオドの終了時に、次の手順にてフローマッピングテーブルFMT中の優先度の更新処理を行う。
すなわち、データ処理部313は、まず、フロー統計データFSDの各エントリの当該ピリオドの値AVG(i)と、その時点でのベースラインデータBLDの同じエントリの平均値AVGbsとを比較する。
逆に、AVG(i)がAVGbsよりも小さい場合、或いは、AVG(i)がAVGbsよりも大きいがその差分が所定の閾値以内の場合は、データ処理部313は、フローマッピングテーブルFMTにおける対応するフローIdの優先度を「低」にする。
以上の通り、本実施形態のルータ(優先度設定装置)3によれば、送受信ノードが同じである複数のパケットを捕捉処理部311にて取得し、データ処理部313が、パケット間遅延が通常よりも大きいフローの場合は、現状よりも高優先度にして品質を上げ、パケット間遅延が通常よりも小さいフローの場合は、現状よりも低優先度に設定して品質を下げるようになっているので、ネットワークの状態に応じて優先度を柔軟に変更することができる。
上述の実施形態では、回線終端装置(図1ではONU2)とは別の装置であるルータ3に本発明を適用しているが、回線終端装置とルータ3とを一体化したホームゲートウェイの場合には、この装置に本発明を適用することにしてもよい。
また、フロー統計データFSDのピリオドごとの第1遅延量やベースラインデータBLDの第2遅延量は、例えば中央値などの平均値以外の統計量であってもよい。
更に、上述の実施形態では、図1に示すように、イーサネットケーブル9で構内ネットワークLAN1,LAN2を構成しているが、ルータ3に無線LAN対応のインタフェースを設け、構内のIP端末4との通信を無線で行うようにしてもよい。
この場合、高優先度キューのパケットは、低優先度キューのパケットよりもコンテンションウィンドウのサイズを小さく設定することにしてもよい。
この場合、IP端末4にて動的に決定したQoSの優先度を、例えば、人手による入力、或いは、SNMPやUPnPなどを利用したオンラインアクセスにより、ルータ3に優先度を設定することにすればよい。
4 IP端末
309 パケットプロセッサ
310 中継処理部
311 捕捉処理部(取得部)
312 分類処理部
313 データ処理部(設定部、算出部)
FD フローデータ
FSD フロー統計データ
BLD ベースラインデータ
Claims (5)
- 優先制御方式のパケット通信に用いる優先度を自動的に設定する優先度設定装置であって、
送受信ノードが同じである複数のパケットを取得する取得部と、
取得された複数の前記パケットのパケット間遅延に応じて、当該パケットの優先度を設定する設定部と、
所定のピリオドに取得された複数の前記パケットの取得時刻に基づいて、前記パケット間遅延の統計量である第1遅延量を算出し、複数の前記ピリオドごとに算出した前記第1遅延量の統計量である第2遅延量を算出し、算出した当該第2遅延量を基準遅延量として採用する算出部と、を備えており、
前記設定部は、算出された前記第1遅延量と前記基準遅延量との差に基づいて前記パケットの優先度を設定することを特徴とする優先度設定装置。 - 前記算出部は、前記基準遅延量との差が所定の閾値以上である前記第1遅延量については、前記第2遅延量の算出要素から除外する請求項1に記載の優先度設定装置。
- 前記パケット間遅延は、一方のノードから他方のノードに連続して送信される同種の前記パケット間の時間差である請求項1又は2に記載の優先度設定装置。
- 前記パケット間遅延は、一方のノードから他方への要求パケットとこれに対応する応答パケットとの間の時間差である請求項1又は2に記載の優先度設定装置。
- パケット通信が可能な通信機器を、優先制御方式のパケット通信に用いる優先度を設定する装置として機能させるためのコンピュータプログラムであって、
送受信ノードが同じである複数のパケットを取得する第1ステップと、
取得された複数の前記パケットのパケット間遅延に応じて、当該パケットの優先度を設定する第2ステップと、
所定のピリオドに取得された複数の前記パケットの取得時刻に基づいて、前記パケット間遅延の統計量である第1遅延量を算出する第3ステップと、
複数の前記ピリオドごとに算出した前記第1遅延量の統計量である第2遅延量を算出し、算出した当該第2遅延量を基準遅延量として採用する第4ステップと、を含み、
前記第2ステップにおいて、算出された前記第1遅延量と前記基準遅延量との差に基づいて前記パケットの優先度を設定することを特徴とするコンピュータプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015034140A JP5896055B2 (ja) | 2015-02-24 | 2015-02-24 | 優先度設定装置及びコンピュータプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015034140A JP5896055B2 (ja) | 2015-02-24 | 2015-02-24 | 優先度設定装置及びコンピュータプログラム |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011108419A Division JP2012239138A (ja) | 2011-05-13 | 2011-05-13 | 優先度設定装置及びコンピュータプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015128310A JP2015128310A (ja) | 2015-07-09 |
JP5896055B2 true JP5896055B2 (ja) | 2016-03-30 |
Family
ID=53838073
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015034140A Expired - Fee Related JP5896055B2 (ja) | 2015-02-24 | 2015-02-24 | 優先度設定装置及びコンピュータプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5896055B2 (ja) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11289344A (ja) * | 1998-04-03 | 1999-10-19 | Omron Corp | データ伝送システム |
JP2008219812A (ja) * | 2007-03-07 | 2008-09-18 | Daikin Ind Ltd | 帯域制御装置、同帯域制御装置を備えたネットワーク及び空調管理システム、帯域制御方法並びに帯域制御プログラム |
US7760642B2 (en) * | 2007-03-12 | 2010-07-20 | Citrix Systems, Inc. | Systems and methods for providing quality of service precedence in TCP congestion control |
JP2009188979A (ja) * | 2008-01-10 | 2009-08-20 | Hitachi Ltd | 情報処理装置、及びフレームの優先度設定方法 |
KR101399509B1 (ko) * | 2008-07-28 | 2014-05-27 | 밴트릭스 코오퍼레이션 | 시-변화 전송 미디어를 통한 데이터 스트리밍 |
-
2015
- 2015-02-24 JP JP2015034140A patent/JP5896055B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2015128310A (ja) | 2015-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7606160B2 (en) | System and method to provide routing control of information over networks | |
EP3535932B1 (en) | Application characterization using transport protocol analysis | |
US7269157B2 (en) | System and method to assure network service levels with intelligent routing | |
US9692679B2 (en) | Event triggered traceroute for optimized routing in a computer network | |
JP4233884B2 (ja) | サービス品質のプロービングを行う方法 | |
JP5660198B2 (ja) | ネットワークシステム、及びスイッチ方法 | |
JP4774357B2 (ja) | 統計情報収集システム及び統計情報収集装置 | |
US8064348B2 (en) | Gathering traffic profiles for endpoint devices that are operably coupled to a network | |
JP6699065B2 (ja) | ネットワークパフォーマンスを測定するためのパケットサンプリング | |
JP6153166B2 (ja) | トラヒック監視装置及びプログラム、並びに、通信装置 | |
EP3025453B1 (en) | Probe routing in a network | |
JP5673663B2 (ja) | ループ検出装置、システム、方法およびプログラム | |
JP2015535669A (ja) | 暗号化されたセッションのモニタリング | |
EP3025459B1 (en) | Probe routing in a network | |
JP2012239138A (ja) | 優先度設定装置及びコンピュータプログラム | |
JP5896055B2 (ja) | 優先度設定装置及びコンピュータプログラム | |
JP2012249138A (ja) | パケット捕捉装置及びコンピュータプログラム | |
JP2012227805A (ja) | 中継装置とこれを有する通信システム及びコンピュータプログラム | |
JP5965365B2 (ja) | 通信制御システム | |
JP4246238B2 (ja) | トラフィック情報の配信及び収集方法 | |
CN116346634A (zh) | 网络管控***的状态感知信息处理方法、装置及电子设备 | |
US20230198878A1 (en) | Method and system for network segment performance monitoring | |
KR100959663B1 (ko) | 고성능망 지원 웹기반의 단대단 망 성능측정 및 진단시스템 및 방법 | |
JP5039674B2 (ja) | ネットワークシステム及びQoS保証方法 | |
Groenewegen et al. | Detecting and quantifying bufferbloat in network paths |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160122 |
|
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: 20160202 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160215 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5896055 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |