JP6982250B2 - パケット転送装置、方法、及びプログラム - Google Patents

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

Info

Publication number
JP6982250B2
JP6982250B2 JP2018143193A JP2018143193A JP6982250B2 JP 6982250 B2 JP6982250 B2 JP 6982250B2 JP 2018143193 A JP2018143193 A JP 2018143193A JP 2018143193 A JP2018143193 A JP 2018143193A JP 6982250 B2 JP6982250 B2 JP 6982250B2
Authority
JP
Japan
Prior art keywords
packet
packets
amount
queue
transfer device
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.)
Active
Application number
JP2018143193A
Other languages
English (en)
Other versions
JP2020022023A (ja
Inventor
宏紀 岩澤
和宏 徳永
真也 玉置
健 桑原
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2018143193A priority Critical patent/JP6982250B2/ja
Priority to US17/261,917 priority patent/US11477121B2/en
Priority to PCT/JP2019/029437 priority patent/WO2020026983A1/ja
Publication of JP2020022023A publication Critical patent/JP2020022023A/ja
Application granted granted Critical
Publication of JP6982250B2 publication Critical patent/JP6982250B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/215Flow control; Congestion control using token-bucket
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/52Queue scheduling by attributing bandwidth to queues
    • H04L47/527Quantum based scheduling, e.g. credit or deficit based scheduling or token bank
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/6215Individual queue per QOS, rate or priority

Description

本発明は、外部から受信したパケットを転送するパケット転送装置に関する。
パケット転送装置は、一般的に、受信したパケットを分類するパケット分類部と、分類されたパケットを分類ごとに保持するキューと、キューからパケットを取り出すパケット取り出し部とを備えている。
最も単純なキューイング方式として、到着したパケットから順に一つのキューに入れ、到着した順にパケットを送信するFIFO(First In, First Out)がある。FIFOのキューイング遅延増加を解決する方法として、キューイング遅延の増加に伴いパケット破棄確率を増加させるCoDel(Controled delay)(非特許文献1参照)、PIE(Proportional Integral Controller Enhanced)(非特許文献2参照)等の方式が提案されている。
また、通信フローを公平に扱うキューイング方式としてFQ(Fair Queuing)(非特許文献3参照)が知られている。FQは通信フロー毎にキューを分け、各キューから均等にパケットを送信する。FQの実装の一つにトークンバケットアルゴリズムがある。トークンバケットアルゴリズムでは各キューに一定時間おきにトークンが追加され、各キューのパケット送信タイミングに、トークンの分だけパケットを送信できる。トークンを用いることである程度バースト的なパケット送信を許容し、ネットワーク帯域を効率的に利用可能である。また、FQとCoDelを組み合わせることでフロー間の公平性とキューイング遅延の低減が可能なFQ_CoDel(Flow Queue - CoDel)(非特許文献4参照)という方式も提案されている。
また、インターネット通信においてQoS(Quality of Service)を保証する代表的な手法としてDiffServ(Differentiated Services)(非特許文献5参照)が知られている。DiffServは、通信フローをいくつかのクラスに分類し、クラス毎に優先順位をつけて制御を行う手法である。優先制御手法としては、例えばPQ(Priority Queuing)、WFQ(Weighted Fair Queuing)、LLQ(Low Latency Queuing)などがある。これらは、優先度の高いクラスのパケットを優先的に処理、又は帯域保証を行うことでQoSを保証しようとする。
ところで、近年VR/AR(Virtual Reality/Augmented Reality)の普及が本格化している。最近ではHMD(Head Mounted Display)自体にモバイル向けSoC(System on a Chip)を搭載したものや、HMD型のゴーグルにスマートフォンを装着することで簡易にVR体験ができるようになっているが、描写性能や体感品質は高価な最新のGPU(Graphics Processing Unit)を利用するハイエンドなHMD製品に劣る。そこで遠隔地のデータセンタ内のGPUによりレンダリングした映像をスマートフォン等の軽量な端末に送ることで、簡易にハイエンドVR体験ができる可能性がある。HMDを装着するタイプのVRでは、人の間隔と映像のずれによって体調が悪くなるVR酔いという症状を引き起こすことが知られているが、VR酔いを回避する方法の一つに、人の動作がHMDの映像に反映されるまでの時間(Motion to Photon latency)を最大でも20ms以下に抑えることが有効と言われている(非特許文献6参照)。
K. Nichols et al., "Controlled Delay Active Queue Management", IETF RFC 8289, Jan 2018, [online], [平成30年7月6日検索], インターネット<URL:https://tools.ietf.org/html/rfc8289> R. Pan et al., "Proportional Integral Controller Enhanced (PIE): A Lightweight Control Scheme to Address the Bufferbloat Problem", IETF RFC 8033, Feb 2017, [online], [平成30年7月6日検索], インターネット<URL:https://tools.ietf.org/html/rfc8033#ref-HPSR-PIE> A. Demers, S. Keshav, and S. Shenker, "Analysis and simulation of a fair queueing algorithm", in Proc.SIGCOMM’89, vol.19, no.4, pp.1-12, Sep 1989, [online], [平成30年7月6日検索], インターネット<URL:https://dl.acm.org/citation.cfm?id=75248> T. Hoeiland-Joergensen et al., "The FlowQueue-CoDel Packet Scheduler and Active Queue Management Algorithm", IETF RFC 8290, Jan 2018, [online], [平成30年7月6日検索], インターネット<URL:https://tools.ietf.org/html/rfc8290> cisco systems, "DIFFSERV-THE SCALABLE END-TO-END QUALITY OF SERVICE MODEL", 2005, [online], [平成30年7月6日検索], インターネット<URL:http://www.cisco.com/en/US/technologies/tk543/tk766/technologies_white_paper09186a00800a3e2f.pdf> Mohammed S. Elbamby, Cristina Perfecto, Mehdi Bennis, Klaus Doppler, "Towards Low-Latency and Ultra-Reliable Virtual Reality", IEEE Network, Vol. 32, pp.87-84, Apr 2018
遠隔地のデータセンタでレンダリングしたVR映像をMTU(Maximum Transmission Unit)1500byteのIP(Internet Protocol)パケットで伝送する場合、フルHD(High Definition)以上の高精細映像では映像1フレームが数十〜数百パケットで構成されるため、1フレームを構成する数十〜数百パケット全ての転送が、20msからレンダリング、エンコード、デコード等にかかる処理遅延を除いた時間内に完了する必要がある。
CoDelやPIEはパケット破棄によりキューイング遅延を低減するため、リアルタイム映像伝送ではパケットロスによりブロックノイズ等を招く原因となる。また1パケット当りのキューイング遅延低減は可能だが、連続するパケット全ての転送遅延低減を保証するものではない。
FQ、FQ_Codelのような公平なキューイングを行う場合、フロー毎のパケットを少量ずつ公平に送信する。そのため、回線帯域を圧迫するほどの輻輳が生じていなくても、映像1フレームのような数十パケットを転送している間に他のフローのパケットが到着すると、キューイング遅延が生じてしまう。例えば10Gbpsの回線であれば、1500byteのパケット伝送遅延は1.2usであるが、仮に100フローを1パケットずつ順番に処理する場合、1パケット毎に120usの伝送遅延が発生するため、例えば50パケット全ての伝送には6msの遅延が生じることになる。
PQ等を用いて帯域確保を行うことも考えられるが、50パケットを1msで伝送するには瞬間的に10Gbps回線の6%を占有する必要があり、優先通信が多数存在する場合に全てのユーザの帯域確保することは難しい。また、帯域確保、優先制御を行う場合も、同一優先度内で同時に複数の通信が行われている場合、FQと同様のキューイング遅延が生じる可能性がある。
本発明は、上記事情に鑑みてなされたものであり、同一優先度の通信フロー間の公平性を保ちつつ、複数の連続したパケットを低遅延に転送するパケット交換処理を行うパケット転送装置及び方法、並びにプログラムを提供することにある。
上記目的を達成するために、本願発明は、受信したパケットを分類するパケット分類部と、前記分類されたパケットを分類ごとに保持するキューと、前記キューからパケットを取り出すデキュー処理部とを備え、受信したパケットを外部に送信するパケット転送装置において、前記デキュー処理部は、特定の通信フローが要求する連続してパケット送信したいデータ量の情報に基づき当該通信フローについて前記キューからのパケット取り出し量を制御するスケジューリング部を備えることを特徴とする。
また、本願発明は、さらに、前記スケジューリング部は、パケット取り出し量の前記制御によるパケットの連続送信の後に、連続送信したデータ量に基づき当該通信フローにおけるパケット取り出し量を制限する。
また、本願発明は、さらに、前記スケジューリング部は、パケット転送装置が外部に送信可能なデータ量とパケット転送装置を利用している通信フロー数に基づき連続送信可能なデータ量の最大値を算出し、当該最大値の範囲内で前記キューからのパケット取り出し量を制御する。
本発明によれば、スケジューリング部が、特定の通信フローが要求する連続してパケット送信したいデータ量の情報に基づき当該通信フローについてキューからのパケット取り出し量を制御するので、当該通信フローが有するパケットの送信タイミングや送信量等の特性に応じたパケット転送が可能となる。
また、本発明によれば、瞬間的なバースト送信を行った後にパケット送信を制限することで、リアルタイム映像の1フレームのような複数のパケットに跨るデータ全てを他の通信のパケット送信を妨害することなく、キューイング遅延を低減して転送が可能となる。
また、本発明によれば、送信可能なバースト量の最大値をパケット送信量とアクティブフロー数から算出することで、バースト送信による最大キューイング遅延、及びジッタを軽減することができる。
実施形態に係る通信システムの全体構成図 パケット転送装置の機能ブロック図 デキュー処理部の機能ブロック図 キューイング処理手順のシーケンスチャートの一例 スケジューラにおけるキューの状態管理例 デキュー処理部におけるパケット処理アルゴリズムのフローチャートの一例 パケットヘッダによりバースト要求を通知する例 パケット転送によるネットワークの帯域占有率の経時的変化の一例
本発明の一実施の形態に係る通信システムについて図面を参照して説明する。図1に本実施の形態に係る通信システムの全体構成を示す。
本実施の形態に係る通信システムは、図1に示すように、サーバ10と端末20とは、複数のパケット転送装置100を経由して通信を行う。通信システムは、図1の構成に限られず、サーバ10及び端末20等の通信端末間をパケット転送装置100を介して通信接続される構成であればよい。
パケット転送装置10は、主に半導体装置で構成され、CPU(Central Processing Unit)、RAM(Random Access Memory)等の揮発性記憶装置、ハードディスクやフラッシュメモリ等の不揮発性記憶装置、及び外部との通信のための接続を行う通信インタフェースを有する、いわゆる情報処理機器として構成することができる。また、パケット転送装置100は、物理的なスイッチ、ルータ等のネットワーク機器に限らず、本発明のパケット転送プログラムが動作する物理コンピュータや仮想化されたコンピュータを含む。
本発明に係るパケット転送装置100は、特定の通信フローが要求する連続してパケット送信したいデータ量の情報に基づき当該通信フローについてキューからのパケット取り出し量を制御するスケジューリングを行う。すなわち、特定の通信フローが要求する連続してパケット送信したいデータ量の情報に基づき、当該通信フローについて連続したパケット取り出しを可能とするようスケジューリング制御する。このような制御は、例えばキューイングアルゴリズムとしてトークンバケットアルゴリズムを用いる場合には、当該通信フローについてのトークン量を増加させることにより実現できる。
また、本発明に係るパケット転送装置100は、前記パケット取り出し量の制御による連続送信の後に、連続送信したデータ量に基づき当該通信フローにおけるパケット取り出し量を制限する。これにより、他の通信フローのデータ送信機会を妨害しないようにしている。ここで、パケット取り出し量の制限とは、当該通信フローに係るキューからのパケットの取り出しを行わないようにすることや、当該通信フローに係るキューからのパケットの取り出し頻度を低減させることや、当該通信フローに係るキューから取り出したパケットについての優先度やクラス等を低減させることなどが挙げられる。例えばキューイングアルゴリズムとしてトークンバケットアルゴリズムを用いる場合には、当該通信フローについてのトークンを低減させることにより実現でき、特に負の値までトークンを低減させることにより実現できる。
また、本発明に係るパケット転送装置100は、自身が外部に送信可能な自身を利用している通信フロー数に基づき算出する連続送信可能なデータ量の最大値を算出し、当該最大値の範囲内でキューからのパケット取り出し量を制御する。これにより、複数の通信フローがデータを連続送信してもデータ送信間隔(最大キューイング遅延)を一定値以内に抑えることができる。
以降、サーバ10から端末20へパケットを送信する例をもって本発明の説明を行う。なお、以下の説明では、本発明に係る上記のパケットの取り出し制御に基づきパケットを連続的に送信することを「バースト送信」と呼ぶ。また、バースト送信の実施を要求することを「バースト要求」と呼ぶ。このバースト要求をパケット転送装置100に通知する方法については後述する。
本実施の形態におけるパケット転送装置の機能ブロック図を図2に示す。パケット転送装置100は、外部のサーバ、端末、他のパケット転送装置等からパケットを受信するパケット受信部110と、受信したパケットをフロー毎あるいはクラス毎に分類するパケット分類部120と、パケット分類部120によって振り分けられたパケットを一時的に格納する複数のキュー130と、キュー130の先頭からパケットを取り出すデキュー処理部140と、取り出されたパケットを外部の装置へ送信するパケット送信部150と、パケット送信部150から送信されるパケットの流量を測定する送信レート計測部160と、パケット分類部120及びデキュー処理部140から情報を取得することでパケット転送装置100を現在利用している通信フロー(アクティブフロー)数を計測するフロー数計測部170と、フロー数計測部170及び送信レート計測部160から情報を取得し、一度にパケットを送信可能な上限値(バースト量上限値)を計算するバースト量計算部180とを備える。
ここで通信フローとは、送受信IPアドレス・送受信ポート・プロトコル番号からなる5tuple、あるいは送受信IPアドレス・送受信ポート・プロトコル番号の何れかの情報の組み合わせが同一のパケット群のことを指す。
デキュー処理部140の機能ブロック図を図3に示す。デキュー処理部140は、キュー130の状態管理を行い、どのキュー130からどれだけのパケットを送信するかを決定し、パケット取り出し部に指示するスケジューラ141と、スケジューラ141からの指示によりキュー130からパケットを取り出すパケット取り出し部142と、取り出したパケットのヘッダからバースト送信要求の有無を確認するヘッダチェック部143とを備える。
パケット取り出し部142はどのキュー130からどれだけパケットが取り出されたかをフロー数計測部170へ通知する。スケジューラ141はバースト量計算部180から取得したバースト量上限値をスケジューリングへ反映する。パケット取り出し部142は、スケジューラ141の指示によりキュー130から取り出したパケットをヘッダチェック部143又はパケット送信部150へ送る。またヘッダチェック部143でチェックされたパケットはパケット送信部150へ送られる。
以下では、パケット分類部120において、5tupleの値から算出したハッシュ値(5tupleハッシュ値)で分類することでフロー毎にキュー130を用意し、デキュー処理部140のスケジューラ141において、トークンバケットアルゴリズムを用いた不足ラウンドロビンに基づくスケジューリングを行う例について説明する。また、バースト送信の実施の要求は、サーバ10においてパケットに連続して送信したいデータ量であるバースト値を格納することにより行うものとする。
なお、パケットの分類方法としては、5tupleで分類する他に優先度合の異なる複数のクラスに分類する方法、遅延、スループット、パケットロスなどネットワーク要件毎のクラスに分類する方法、何らかのクラス毎に分類した上で更にクラス内部でフローやクラス毎に分類する方法などにおいても、同一クラス内のパケット処理方法に本発明を利用することが可能である。
また、スケジューリングについても、不足ラウンドロビンの他、単純なFIFO、特定のクラス、フローの帯域確保、優先制御を用いても良い。
次に図4を参照して本発明の実施手順例を説明する。図4に示すように、パケット受信部110に届いたパケットは、パケット分類部120において、5tupleハッシュ値によって各キュー130に振り分けを行う。
それぞれのキュー130からは、スケジューラ141のトークンバケットアルゴリズムを用いた不足ラウンドロビン制御に基づいてデキュー処理部140内のパケット取り出し部142によりパケットが取り出される。トークンバケットを用いた不足ラウンドロビンでは、一定時間おきに各キュー130にトークンを加算し、各キュー130は順番にパケットを送信する機会が与えられる。パケットを送信する機会が与えられると、パケット送信の際に、各キュー130は所有しているトークン分だけのパケットを一度に送信できる。キュー130に溜まっている全てのパケットを送信し、トークンが余った場合は次回の送信タイミングに繰り越される。
スケジューラ141は図5に示すように、キュー130を識別するID、通信フローを識別する5tupleハッシュ値、現在の所有トークン量、バースト送信を行っているかを識別するバーストフラグ、バースト送信を行っている量を示すバースト値をキュー130毎に管理する。
デキュー処理部140により取り出されたパケットはヘッダチェック部143によってバースト要求情報が取得される。パケットにバースト要求情報があり、かつトークン量が負でない場合、後述するバースト量上限値の範囲内で要求するバースト量分のトークンを該当キューのトークンに加算し、現在のパケット送信タイミングでトークン分だけのパケットを送信する。トークンが残っている間はヘッダチェック部143の処理は行わずパケットは直接パケット送信部150から外部へ送信される。バースト要求によりトークンを付与されたキュー130は、時間経過による通常のトークンは加算されず、全てのトークンを利用した後に後述するフロー数に基づいてトークン量を減算し、時間経過によるトークンの加算を再開する。
上記処理により、一時的なパケットのバースト送信を許可する代わりに一定期間パケット送信ができなくすることで、他の通信との公平性を保つことが可能となる。
図4の例では、サーバ10が連続した多数のパケットを送信する場合に当該パケットにバースト要求を付加している(ステップS101)。この場合、ヘッダチェック部143でバースト要求の有無がチェックされ(ステップS102)、トークンがバースト要求に係るバースト値だけ加算される(ステップS103)。これにより、バースト送信が実現する(ステップS104)。そして、バースト送信後にはトークンがバースト送信量だけ減算する(ステップS105)。これにより、通常の経時的なトークン加算処理によりトークンが正になるまでパケット送信及びバースト要求が不可となる。
次にバースト量上限値の決定方法について説明する。フローが極端に大きいバースト送信を要求した場合、パケット転送装置100全体のキューイング遅延、ジッタの悪化を招くため、バースト送信可能な最大量を以下の手順により決定する。
1.フロー数計測部170において、パケット分類部120とデキュー処理部140から取得したエンキュー、デキューの情報から、アクティブフロー数nflowを計測する。具体的には、キュー130に振り分ける際にカウントを+1、デキューする際にカウントを−1することでカウントが0でないフローの数がアクティブフロー数となる。
2.送信レート計測部160において、一定時間内にパケット送信部150から送信されるパケット量を測定することで、送信パケットレートRoutを算出する。 なお、送信側のリンク帯域やQoSクラス毎に設定した最大帯域をRoutに設定しても良い。
3.バースト量計算部180にてnflow及びRoutを取得し、目標パケット送信間隔Ttargetを定数としてバースト量上限値Bmaxを以下の式にて算出する。
Figure 0006982250
これは、現在通信を行っているアクティブキュー全てがBmaxだけバースト送信を行ってもTtarget時間経過後には次の送信タイミングがやってくることを意味する。例えば目標パケット送信間隔5ms、アクティブフロー数100、パケット送信量10Gbpsの場合、62.5kBまでバースト送信を許可する。もしアクティブな100フロー全てが順番に62.5kBのバースト送信を行っても5ms後に次のパケット送信タイミングが訪れる。
アクティブフロー数、送信パケットレートの変更に適応するため、バースト量上限値Bmaxは定期的に更新する。
また、バースト要求により追加したトークン消費後は、要求したバースト量Bdemandに対して、min{Bmax,Bdemand}×(nflow−1)のトークンを減算する。トークンが負の間は、時間経過によるトークンの加算だけ行われるため、バースト要求は無視され、パケット送信も行われない。ただし何れのキュー130にもパケットが溜まっておらず、パケット送信が行われない場合、トークン加算値を増加し、短時間でパケット送信を再開させても良い。
デキュー処理部140の詳細アルゴリズムの一例を図6に示す。図6は1つのキュー毎に処理を行う。
図6に示すように、デキュー処理部140は、まず、対象キュー130のバーストフラグをチェックする(ステップS201)。バーストフラグが1の場合にはバースト送信処理を開始する。具体的には、対象キュー130の先頭にパケットがあり且つ対象キュー130の先頭パケットサイズがトークン以下の場合(ステップS202,S203)、トークンを先頭パケットサイズで減算するとともに、当該先頭パケットをパケット送信部150へ転送する(ステップS204〜S205)。このバースト送信処理は、対象キュー130からパケットがなくなる又は先頭パケットのサイズがトークンより大きくなるまで繰り返し実施する。
バースト送信処理が終了すると、トークンをバースト値×(nflow−1)だけ減算するとともに、バーストフラグ及びバースト値を0にして処理を終了する(ステップS206〜S207)。
一方、バーストフラグが0の場合には、通常のトークンバケットアルゴリズムに準じた処理を行う。具体的には、一定時間が経過しており且つトークンがBmax以下の場合は、経過時間に対応する分だけトークンを増加させる(ステップS211,S212)。そして、対象キュー130の先頭にパケットがあり且つ対象キュー130の先頭パケットサイズがトークン以下の場合(ステップS213〜S214)、トークンを先頭パケットサイズで減算するとともに、当該先頭パケットをパケット送信部150へ転送する(ステップS218〜S219)。この送信処理は、対象キュー130からパケットがなくなる又は先頭パケットのサイズがトークンより大きくなるまで繰り返し実施する。ただし、対象キュー130の先頭パケットにバースト要求が含まれている場合は、バーストフラグを1に設定し、バースト値としてmin{Bmax,Bdemand}を設定し、トークンをmin{Bmax,トークン+Bdemand}に設定し、前述のバースト処理に移行する(ステップS215〜S217)。
次に、バースト要求をパケット転送装置100に通知する方法について説明する。バースト要求の通知方法としてはパケットに付加する方法と、事前にパケット転送装置100に登録する方法がある。
パケットに付与する方法としては、IPまたはTCPヘッダのオプション領域を活用する方法が考えられる。また閉じたネットワーク内でかつ、フラグメンテーションが起きない環境であれば、IPv4ヘッダのIDフィールド、またはDFビットをセットすることでフラグ及びフラグメントオフセットの利用もできる。パケットに情報を直接付加することで要求バースト長を柔軟に変更可能であるが、パケット単位でアプリケーションにおいて情報を付加する必要がある。図7にIPまたはTCPヘッダのオプションフィールド例を示す。
パケット転送装置100に事前に登録する場合、サーバ10又は端末20からバースト送信量と5tupleハッシュ値を通信開始時にパケット転送装置100へ通知することで実現できる。この場合、柔軟にバースト送信量を変更はできないが、パケット単位で情報を付加する必要がない。
図8にパケット転送によるネットワークの帯域占有率の経時的変化の一例を示す。図8に示すように、本実施の形態に係るパケット転送装置100によれば、瞬間的なバースト送信を行った後にパケット送信を制限することで、リアルタイム映像の1フレームのような複数のパケットに跨るデータ全てを他の通信のパケット送信を妨害することなく、キューイング遅延を低減して転送が可能となる。また、パケット転送装置100によれば、送信可能なバースト量の最大値をパケット送信量とアクティブフロー数から算出することで、バースト送信による最大キューイング遅延、及びジッタを軽減することができる。
以上本発明の一実施の形態について詳述したが本発明はこれに限定されるものではない。例えば上記実施の形態では、パケット分類部120においては、5tupleに基づき通信フローを分類していたが、優先度合の異なる複数のクラスに分類する方法、遅延、スループット、パケットロスなどネットワーク要件毎のクラスに分類する方法、何らかのクラス毎に分類した上で更にクラス内部でフローやクラス毎に分類する方法などにおいても、同一クラス内のパケット処理方法に本発明を利用することが可能である。
また、上記実施の形態では、スケジューラ141は、トークンバケットアルゴリズムを用いた不足ラウンドロビンに基づくスケジューリングを基礎としているが、単純なFIFO、特定のクラス、フローの帯域確保、優先制御を用いたスケジューリングに本発明を適用してもよい。
10…サーバ
20…端末
100…パケット転送装置
110…パケット受信部
120…パケット分類部
130…キュー
140…デキュー処理部
141…スケジューラ
142…パケット取り出し部
143…ヘッダチェック部
150…パケット送信部
160…送信レート計測部
170…フロー数計測部
180…バースト量計算部

Claims (6)

  1. 受信したパケットを分類するパケット分類部と、前記分類されたパケットを分類ごとに保持するキューと、前記キューからパケットを取り出すデキュー処理部とを備え、受信したパケットを外部に送信するパケット転送装置において、
    前記デキュー処理部は、特定の通信フローが要求する連続してパケット送信したいデータ量の情報に基づき当該通信フローについて前記キューからのパケット取り出し量を制御するスケジューリング部を備え
    前記スケジューリング部は、パケット取り出し量の前記制御によるパケットの連続送信の後に、連続送信したデータ量に基づき当該通信フローにおけるパケット取り出し量を制限する
    ことを特徴とするパケット転送装置。
  2. 受信したパケットを分類するパケット分類部と、前記分類されたパケットを分類ごとに保持するキューと、前記キューからパケットを取り出すデキュー処理部とを備え、受信したパケットを外部に送信するパケット転送装置において、
    前記デキュー処理部は、特定の通信フローが要求する連続してパケット送信したいデータ量の情報に基づき当該通信フローについて前記キューからのパケット取り出し量を制御するスケジューリング部を備え、
    前記スケジューリング部は、パケット転送装置が外部に送信可能なデータ量とパケット転送装置を利用している通信フロー数に基づき連続送信可能なデータ量の最大値を算出し、当該最大値の範囲内で前記キューからのパケット取り出し量を制御する
    ことを特徴とするパケット転送装置。
  3. 受信したパケットを分類するパケット分類部と、前記分類されたパケットを分類ごとに保持するキューと、前記キューからパケットを取り出すデキュー処理部とを備え、受信したパケットを外部に送信するパケット転送装置において、
    前記デキュー処理部は、特定の通信フローが要求する連続してパケット送信したいデータ量の情報に基づき当該通信フローについて前記キューからのパケット取り出し量を制御するスケジューリング部を備え、
    前記スケジューリング部は、トークンバケットアルゴリズムによりパケットの取り出しを制御するとともに、特定の通信フローが要求する連続して送信したいデータ量の情報に基づきトークンを増加させることにより当該通信フローについて前記キューからのパケット取り出し量を制御し、
    前記スケジューリング部は、パケット取り出し量の前記制御による連続送信の後に、連続送信したデータ量に基づきトークンを減少することによりパケット取り出し量を制限する
    ことを特徴とするパケット転送装置。
  4. 前記デキュー処理部は、特定の通信フローに係るパケットから当該通信フローが要求する連続して送信したいデータ量の情報を取得する要求情報取得部を備える
    ことを特徴とする請求項1乃至3の何れか1項記載のパケット転送装置。
  5. 受信したパケットを分類するパケット分類部と、前記分類されたパケットを分類ごとに保持するキューと、前記キューからパケットを取り出すデキュー処理部とを備え、受信したパケットを外部に送信するパケット転送装置におけるパケット処理方法であって、
    前記デキュー処理部のスケジューリング部が、特定の通信フローが要求する連続してパケット送信したいデータ量の情報に基づき当該通信フローについて前記キューからのパケット取り出し量を制御するステップを備え、
    前記スケジューリング部は、パケット取り出し量の前記制御によるパケットの連続送信の後に、連続送信したデータ量に基づき当該通信フローにおけるパケット取り出し量を制限する
    ことを特徴とするパケット転送装置におけるパケット処理方法。
  6. コンピュータを、請求項1乃至4の何れか1項記載のパケット転送装置の各部として機能させるプログラム。
JP2018143193A 2018-07-31 2018-07-31 パケット転送装置、方法、及びプログラム Active JP6982250B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2018143193A JP6982250B2 (ja) 2018-07-31 2018-07-31 パケット転送装置、方法、及びプログラム
US17/261,917 US11477121B2 (en) 2018-07-31 2019-07-26 Packet transfer apparatus, method, and program
PCT/JP2019/029437 WO2020026983A1 (ja) 2018-07-31 2019-07-26 パケット転送装置、方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018143193A JP6982250B2 (ja) 2018-07-31 2018-07-31 パケット転送装置、方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2020022023A JP2020022023A (ja) 2020-02-06
JP6982250B2 true JP6982250B2 (ja) 2021-12-17

Family

ID=69232567

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018143193A Active JP6982250B2 (ja) 2018-07-31 2018-07-31 パケット転送装置、方法、及びプログラム

Country Status (3)

Country Link
US (1) US11477121B2 (ja)
JP (1) JP6982250B2 (ja)
WO (1) WO2020026983A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11586478B2 (en) * 2018-08-21 2023-02-21 International Business Machines Corporation Swarm-based resource management
JP7416334B1 (ja) 2022-06-30 2024-01-17 日本電気株式会社 パケット制御システム、パケット制御方法及びパケット制御装置
WO2024004152A1 (ja) * 2022-06-30 2024-01-04 日本電気株式会社 パケット制御システム、パケット制御方法及びパケット制御装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6937561B2 (en) * 2000-06-02 2005-08-30 Agere Systems Inc. Method and apparatus for guaranteeing data transfer rates and enforcing conformance with traffic profiles in a packet network
JP3872716B2 (ja) * 2002-04-30 2007-01-24 富士通株式会社 パケット出力制御装置
US7289447B2 (en) * 2003-10-21 2007-10-30 Comcast Cable Holdings, Llc Method and packet-level device for traffic regulation in a data network
US7688734B2 (en) * 2005-05-16 2010-03-30 Alcatel-Lucent Usa Inc. Scheduling incoming packet traffic on an output link of a network device associated with a data network
JP4659654B2 (ja) * 2006-03-23 2011-03-30 富士通株式会社 シェーパ回路
CN101594302B (zh) * 2009-07-01 2011-08-03 华为技术有限公司 数据出队的方法及装置
JP2015149537A (ja) * 2014-02-05 2015-08-20 株式会社日立製作所 経路制御装置及びシステム及び方法
CN109802897B (zh) * 2017-11-17 2020-12-01 华为技术有限公司 一种数据传输方法及通信设备

Also Published As

Publication number Publication date
US20210314267A1 (en) 2021-10-07
US11477121B2 (en) 2022-10-18
JP2020022023A (ja) 2020-02-06
WO2020026983A1 (ja) 2020-02-06

Similar Documents

Publication Publication Date Title
CN108259383B (zh) 一种数据的传输方法和网络设备
US9986563B2 (en) Dynamic allocation of network bandwidth
CN106789721B (zh) 一种基于令牌桶的智能qos方法及系统
KR100716184B1 (ko) 네트워크 프로세서에서의 큐 관리 방법 및 그 장치
EP3410641A1 (en) Network-traffic control method and network device thereof
CN111034254B (zh) 降低网络延迟的方法和装置
US11695702B2 (en) Packet forwarding apparatus, method and program
JP6982250B2 (ja) パケット転送装置、方法、及びプログラム
US10594617B2 (en) Probabilistic normalized congestion indication based on packet size
WO2019157978A1 (zh) 调度报文的方法、第一网络设备及计算机可读存储介质
CN107431667B (zh) 一种用于发送数据包的网络设备、方法及存储介质
WO2014131707A1 (en) A method for operating a network
CN111213403B (zh) 无线通信系统中QoS流的调度方法及装置
WO2016082603A1 (zh) 一种调度器及调度器的动态复用方法
US11677666B2 (en) Application-based queue management
EP2985963A1 (en) Packet scheduling networking device
US20210036942A1 (en) Systems and methods for identifying persistently congested queues
Imputato et al. Design and implementation of the traffic control module in ns-3
US20130117553A1 (en) Method and Apparatus for Increasing the Output of a Cryptographic System
CN106899514B (zh) 保障多媒体业务服务质量的队列调度方法
CN103200112A (zh) 一种计算机网络tcp流量控制方法
JP5611171B2 (ja) パケット処理方法及びパケット処理装置
Baker et al. On Queuing, Marking, and Dropping
WO2021098368A1 (zh) 一种实现拥塞控制的方法、装置和系统
JP2007329617A (ja) 通信制御処理実行方法およびシステム、ならびにそのプログラム

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20200316

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20200324

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201030

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210817

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211004

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211101

R150 Certificate of patent or registration of utility model

Ref document number: 6982250

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150