JP2005012431A - パケット通信装置 - Google Patents
パケット通信装置 Download PDFInfo
- Publication number
- JP2005012431A JP2005012431A JP2003173477A JP2003173477A JP2005012431A JP 2005012431 A JP2005012431 A JP 2005012431A JP 2003173477 A JP2003173477 A JP 2003173477A JP 2003173477 A JP2003173477 A JP 2003173477A JP 2005012431 A JP2005012431 A JP 2005012431A
- Authority
- JP
- Japan
- Prior art keywords
- flow
- packet
- guaranteed bandwidth
- packets
- exceeding
- 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.)
- Pending
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
【課題】各フロー別の帯域保証が可能で、さらに各フローのデータ量に関わらず余剰帯域を各フローに公平に分配すること。
【解決手段】パケット振分部101は、各フローの受信データ量が保証帯域未満の場合はそのパケットを帯域保証用キュー102に記憶させ、保証帯域を超える場合はそのパケットをベストエフォート用キュー103−1〜103−Nにそのデータ量に応じて振り分けて記憶させる。パケット読出部104は、帯域保証用キュー102がパケットを記憶している場合、帯域保証用キュー102からパケットを読み出して送信系に引き渡す。一方、パケット読出部104は、帯域保証用キュー102がパケットを記憶していない場合は、ベストエフォート用キュー103−1〜103−Nから超えるデータ量の少ない順にパケットを読み出して送信系に引き渡す。
【選択図】 図1
【解決手段】パケット振分部101は、各フローの受信データ量が保証帯域未満の場合はそのパケットを帯域保証用キュー102に記憶させ、保証帯域を超える場合はそのパケットをベストエフォート用キュー103−1〜103−Nにそのデータ量に応じて振り分けて記憶させる。パケット読出部104は、帯域保証用キュー102がパケットを記憶している場合、帯域保証用キュー102からパケットを読み出して送信系に引き渡す。一方、パケット読出部104は、帯域保証用キュー102がパケットを記憶していない場合は、ベストエフォート用キュー103−1〜103−Nから超えるデータ量の少ない順にパケットを読み出して送信系に引き渡す。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は、パケット通信装置に関する。
【0002】
【従来の技術】
近年、帯域保証を行うパケット通信装置が強く求められている。そこで、例えば、特許文献1では、プロセスによって生成された送信パケットを、帯域保証を行うパケットと帯域保証を行わないパケットとに振り分けて、最低帯域保証を実現する技術が開示されている。以下、図5を参照してその概要を説明する。
【0003】
図5は、従来の帯域保証を行うパケット通信装置を用いた通信システムの構成例を示す図である。図5において、送信装置であるノード501のプロセスAによって生成されたパケットは、TCPコネクションC1を経由して、受信装置であるノード502のプロセスBに転送される。転送されるパケットは、パケット識別子PI1が付加されたパケットと、パケット識別子PI2が付加されたパケットとに分けられている。
【0004】
即ち、パケット識別子PI1が付加されたパケットは、帯域保証を行うパケット、つまり帯域保証を超えないパケットである。パケット識別子PI1には、プロトコル番号(TCP)、送信側のIPアドレス(A)、受信側のIPアドレス(B)、送信側のポート番号(1)及び受信側のポート番号(2)の他、帯域保証を示す情報データαが含まれている。情報データαは、例えば、パケットヘッダのTOS(Type Of Service )フィールドを用いて表示される。
【0005】
一方、パケット識別子PI2が付加されたパケットは、帯域保証を行わないパケット、つまり帯域保証を超えるパケットである。パケット識別子PI2には、プロトコル番号(TCP)、送信側のIPアドレス(A)、受信側のIPアドレス(B)、送信側のポート番号(1)及び受信側のポート番号(2)の他、帯域保証を行わないことを示す情報データβが含まれている。情報データβは、例えば、パケットヘッダのTOSフィールドを用いて表示される。
【0006】
【特許文献1】
特開2001−111619号公報(図6)
【0007】
【発明が解決しようとする課題】
しかしながら、上述した従来のパケット通信装置は、送信パケットを、帯域保証を行うパケットと帯域保証を行わないパケットとに振り分けて、最低帯域保証を実現する構成であるので、保証帯域を越えた通信(フロー)のパケットは帯域保証を行わないパケットとして扱われる。即ち、従来では、保証帯域を越えたフローのパケットは全てベストエフォート(best effort)のパケットとして取り扱われる。
【0008】
つまり、データ量の多いフローほど余剰帯域を占有しやすくなるが、従来のパケット通信装置では、そのような余剰帯域を各フローに公平に分配することができないという問題がある。
【0009】
本発明は、かかる点に鑑みてなされたものであり、各フロー別の帯域保証が可能で、さらに各フローのデータ量に関わらず余剰帯域を各フローに公平に分配可能なパケット通信装置を提供することを目的とする。
【0010】
【課題を解決するための手段】
本発明に係るパケット通信装置は、保証帯域が定められている複数フローのパケットを送受信するパケット通信装置において、記憶手段と、フロー別に受信したパケットをそのデータ量に応じて前記記憶手段に振り分けて記憶させるパケット受信手段と、前記記憶手段が、データ量が前記保証帯域を超えないフローのパケットを記憶している場合は、その保証帯域を超えないフローのパケットを読み出して送信し、データ量が前記保証帯域を超えないフローのパケットを記憶していないが、前記保証帯域を超えるフローのパケットを記憶している場合は、その保証帯域を超えるフローのパケットを保証帯域を超えるデータ量の少ない順に読み出して送信するパケット送信手段と、を具備する構成を採る。
【0011】
この構成によれば、パケット受信手段は、保証帯域が定められている各フローの受信パケットを、そのデータ量に応じて記憶手段に振り分けて記憶させる。すなわち、記憶手段には、保証帯域を超えないフローのパケットと超えるフローのパケットとが区別されて記憶され、さらに保証帯域を超えるフローのパケットでは、その超えるデータ量の少ない順に記憶される。そして、送信手段は、保証帯域を超えないフローのパケットが記憶されている場合はそれを優先して送信し、記憶されていない場合は、保証帯域を超えるデータ量の少ないパケットから順に送信する。これによって、各フロー別の帯域保証が可能となり、さらに各フローのデータ量に関わらず余剰帯域を各フローに公平に分配することが可能となる。
【0012】
本発明に係るパケット通信装置は、保証帯域が定められている複数フローのパケットを送受信するパケット通信装置において、フローパケットを記憶するための第1記憶手段、及びフローIDを記憶するための第2記憶手段と、フロー別に受信したパケットをそのデータ量に応じて前記第1記憶手段に振り分けて記憶させるとともに、受信したパケットのフローIDを出力するパケット受信手段と、前記パケット受信手段の出力するフローIDを、前記保証帯域を超えないフローを示すフローIDと前記保証帯域を超えるフローを示すフローIDとに分け、かつ前記保証帯域を超えるフローを示すフローIDではデータ量に応じて振り分けて前記第2記憶手段に記憶させるフローID振分手段と、前記第2記憶手段が、データ量が前記保証帯域を超えないフローを示すフローIDを記憶している場合は、そのフローIDを読み出して出力し、データ量が前記保証帯域を超えないフローを示すフローIDを記憶していないが、前記保証帯域を超えるフローを示すフローIDを記憶している場合は、その保証帯域を超えるフローを示すフローIDのうち保証帯域を超えるデータ量の少ないフローを示すフローIDから順に読み出して出力するフローID出力手段と、前記フローID出力手段の出力するフローIDに従って前記第1記憶手段から対応するパケットを読み出して送信するパケット送信手段と、を具備する構成を採る。
【0013】
この構成によれば、パケット受信手段は、保証帯域が定められている各フローの受信パケットを、そのデータ量に応じて第1記憶手段に振り分けて記憶させるとともに、受信したパケットのフローIDを出力する。このフローIDは、フローID振分手段によって、第2記憶手段に保証帯域を超えないフローを示すフローIDと保証帯域を超えるフローを示すフローIDとに分けて記憶される。そして、フローID出力手段は、第2記憶手段にデータ量が保証帯域を超えないフローを示すフローIDを記憶されている場合はそれを優先して取り出し送信手段に引き渡す一方、記憶されていない場合は、保証帯域を超えるフローを示すフローIDのうち保証帯域を超えるデータ量の少ないフローを示すフローIDから順に読み出し送信手段に引き渡す。これによって、上記の発明と同様に、各フロー別の帯域保証が可能となり、さらに各フローのデータ量に関わらず余剰帯域を各フローに公平に分配することが可能となる。このとき、上記の発明では、パケットの送信順序が入れ替わることが起こるが、本発明では、フローIDによってパケットを管理するので、それを防止することができる。
【0014】
本発明に係るパケット通信装置は、上記の発明において、前記受信手段は、前記第1記憶手段の記憶量が所定量に到達したときは、受信したフローのパケットを所定の確率で破棄する構成を採る。
【0015】
この構成によれば、第1記憶手段がオーバーフローする確率が低くなるので、データの転送効率の低下を少なくすることができる。
【0016】
【発明の実施の形態】
本発明の骨子は、各フロー別の帯域保証が可能で、さらに各フローのデータ量に係わらず余剰帯域を各フローに公平に分配できるようにすることである。
【0017】
また、本発明の骨子は、TCPによるデータ転送において送信側がスロースタータを始める確率を低く抑えることによって高いスループットでのデータ転送が行えるようにすることである。
【0018】
以下、本発明の実施の形態について、添付図面を参照して詳細に説明する。
【0019】
(実施の形態1)
図1は、本発明の実施の形態1に係るパケット通信装置の要部構成を示すブロック図である。
【0020】
図1において、実施の形態1に係るパケット通信装置100は、パケット振分部101と、帯域保証用キュー102と、ベストエフォート記憶部103と、パケット読出部104とを備えている。
【0021】
帯域保証用キュー102は、データ量が保証帯域未満であるフローのパケットを記憶するためのものである。
【0022】
ベストエフォート記憶部103は、データ量が保証帯域を超える複数フローのパケットを超えるデータ量毎に記憶するため、複数のベストエフォート用キュー103−1〜103−Nを備えている。
【0023】
以上の構成において、パケット振分部101は、各フローの受信したデータ量が保証帯域未満の場合はそのパケットを帯域保証用キュー102に記憶させ、保証帯域を超える場合はそのパケットをベストエフォート記憶部103におけるベストエフォート用キュー103−1〜103−Nにそのデータ量に応じて振り分けて記憶させる。
【0024】
また、パケット読出部104は、帯域保証用キュー102がパケットを記憶している場合、帯域保証用キュー102からパケットを読み出して送信系に引き渡す。一方、パケット読出部104は、帯域保証用キュー102がパケットを記憶していない場合は、ベストエフォート記憶部103のベストエフォート用キュー103−1〜103−Nから超えるデータ量の少ない順にパケットを読み出して送信系に引き渡す。
【0025】
このように、保証帯域を超えたデータ量を持つフローでは、その超えるデータ量毎に区別して記憶し、保証帯域を超えたデータ量が少ない順にそのパケットを送信するようにしたので、各フローのデータ量に関わらず余剰帯域を各フローに公平に分配することが可能となる。
【0026】
(実施の形態2)
図2は、本発明の実施形態2に係るパケット通信装置の要部構成を示すブロック図である。
【0027】
図2において、実施形態2に係るパケット通信装置200は、パケット受信部201と、フローパケット記憶部202と、フローID振分部203と、帯域保証ID用キュー204と、ベストエフォートID記憶部205と、フローID出力部206と、パケット送信部207とを備えている。
【0028】
フローパケット記憶部202は、フロー毎のパケットを記憶するフローパケット用キュー202−1〜202−Mを備えている。
【0029】
ベストエフォートID記憶部205は、保証帯域を超えたデータ量毎にベストエフォートIDを記憶するベストエフォートID用キュー205−1〜205−Nを備えている。
【0030】
以上の構成において、パケット受信部201は、保証帯域が予め定められたフローの各々の受信したパケットをフローパケット記憶部202におけるフローパケット用キュー202−1〜202−Mの対応するフローパケット用キューに記憶させ、そのフローを示すフローIDをフローID振分部203に出力する。
【0031】
フローID振分部203は、受け取ったフローIDが示すフローのデータ量が保証帯域未満の場合はそのパケットを帯域保証ID用キュー204に記憶させ、保証帯域を超えている場合はそのパケットをそのデータ量に応じてベストエフォートID記憶部205におけるベストエフォートID用キュー205−1〜205−Nの対応するベストエフォートID用キューに記憶させる。
【0032】
また、フローID出力部206は、帯域保証ID用キュー204がフローIDを記憶している場合、帯域保証ID用キュー204からフローIDをパケット送信部207に出力させる。一方、フローID出力部206は、帯域保証ID用キュー204がフローIDを記憶していない場合、ベストエフォートID記憶部205におけるベストエフォートID用キュー205−1〜205−Nから保証帯域を超えたデータ量が少ない順にフローIDをパケット送信部207に出力させる。
【0033】
パケット送信部207は、フローID出力部206から受け取ったフローIDが示すパケットを記憶するフローパケット記憶部202におけるフローパケット用キュー202−1〜202−Mの対応するフローパケット用キューから取り出し、送信する。
【0034】
このように、保証帯域を超えたデータ量毎にフローIDを記憶させて、保証帯域を超えたデータ量が少ない順にそのフローIDが示すパケットを送信するようにしたので、各フローのデータ量に関わらず余剰帯域を各フローに公平に分配できるようになる。
【0035】
また、上述の実施の形態1では、ベストエフォート記憶部103がパケットを記憶しているときに、そのフローのパケットが帯域保証用キュー102に新たに記憶された場合には、パケットの送信順序が入れ替わることが起こる。
【0036】
これに対して、実施の形態2では、パケット送信部207は、記憶したフローパケットの順にパケットを送信することができるので、パケットの送信順序が入れ替わることがない。
【0037】
次に、パケット受信部201は、フローパケット記憶部202に予め定めたデータ量が記憶された場合には、受信したフローのパケットを所定の確率の元で破棄するようにし、フローパケット記憶部202がオーバーフローする確率を下げてデータ転送の効率低下が少なくなるようにしている。パケット通信によるデータ転送は、一般に、RFC793、RFC1122及びRFC2001に規定されるTCPのアルゴリズムに準拠して行われている。以下、図3、図4を参照して説明する。なお、図3、図4は、RFC793、RFC1122及びRFC2001に規定されるTCPのアルゴリズムによるデータ転送例を説明するシーケンス図である。
【0038】
RFC793、RFC1122及びRFC2001に規定されるTCPのアルゴリズムでは、送信側ホスト301は、大容量のデータを複数のパケットに分割して受信側ホスト302に送信し、受信側ホスト302は、パケットを受け取ったことを通知するパケット(ACK)を送信側ホスト301に返信するようになっている。
【0039】
また、送信側ホスト301は、ACKパケットを受け取る前に複数のパケットを連続して送信するようになっている。これは、ACKを待っている間にもパケットを送りデータの転送効率を向上させるためにTCPのアルゴリズムに実装された機能である。
【0040】
このとき、送信側ホスト301では、ACKが戻る前に送信するパケットの数(ウィンドウサイズ)を時間とともに増加させることを行う一方、パケットを送信してからACKが返るまでの時間を計測し、一定時間が経過してもACKが戻らずタイムアウトが発生した場合には、複数のパケットを連続して送信することを止め、ウィンドウサイズを1まで低下させ、1つのパケットを送信する。そして、ACKが返る度にウィンドウサイズを徐々に増やすスロースタートを開始するようになっている。
【0041】
送信側ホスト301の送信パケットが経過時間に伴い増加すると、受信側ホスト302が備えるパケット通信装置では、流入するデータ量が増加するので、フローパケット記憶部202ではオーバーフローすることが起こり、パケットの破棄が生ずる。このパケットの破棄が連続して発生すると、送信側ホスト301では、上記したタイムアウトが発生し、ウィンドウサイズが1まで低下するのでデータの転送効率が大幅に低下する。
【0042】
さて、図3では、破棄が連続しない場合のデータ転送例が示され、図4では、破棄が連続する場合のデータ転送例が示されている。図3において、送信側ホスト301では、パケット311を送信し、それに対するACK321が返る前に、複数のパケット312,313・・を順々に送信する。受信側ホスト302では、パケット311に対するACK321を返送した後に、パケット313が破棄されるので、ACK322,323を繰り返し送信し、パケット313の再送を要求する。
【0043】
送信側ホスト301では、パケット314の送信後に3つ目のACK322を受信し、ACK322を連続して3回受信したことで再送要求を知り、パケット313を再送する。この再送パケット313を受けた受信側ホスト302は、ACK324を送信し、パケット311からパケット314までが正常に届いたことを送信側ホスト301に通知する。
【0044】
このような場合には、送信側ホスト301では、タイムアウトは発生しないので、スロースタートを開始する必要がない。つまり、ウィンドウサイズの低下は小さくデータの転送効率の低下も少ない。
【0045】
図4において、送信側ホスト301では、パケット411を送信し、それに対するACK421が返る前に、複数のパケット412,413,414,415・・を順々に送信する。このとき、送信側ホスト301では、パケット414の送信時に一定期間414tを計時するタイマをセットする。
【0046】
受信側ホスト302では、パケット411に対するACK421を返送した後に、連続したパケット413,414,415が破棄される。受信側ホスト302では、パケット413が破棄されたので、ACK422,423を繰り返し送信し、パケット413の再送を要求する。
【0047】
送信側ホスト301では、パケット416の送信後に3つ目のACK422を受信し、ACK422を連続して3回受信したことで再送要求を知り、パケット413を再送する。この再送パケット413を受けた受信側ホスト302は、ACK424を送信し、パケット413までが正常に届いたことを送信側ホスト301に通知する。
【0048】
このとき、受信側ホスト302では、廃棄が連続して発生したので、引き続いてACK425を繰り返して送信するが、送信側ホスト301がACK425受け取る前に、パケット414の送信からの一定時間414tが経過してしまうので、タイムアウトが発生し、スロースタートを開始する。即ち、ACK425を受け取り、ウィンドウサイズが1の状態でパケット414を送信する。
【0049】
このように、受信側ホスト302の備えるパケット通信装置に流入するデータ量が増加してフローパケット記憶部202がオーバーフローを起こした場合には、受信側ホスト302では、到着しないパケットが連続するので、再送要求に遅れが生ずる。その結果、送信側ホスト301では、タイムアウトが発生し、ウィンドウサイズが1まで低下するのでデータの転送効率が大幅に低下する。
【0050】
そのため、実施の形態2に係るパケット通信装置では、上記したようにフローパケット記憶部202が予め定めたデータ量を記憶した場合、パケット受信部201は、所定の確率で受信したそのフローのパケットを廃棄するようになっている。これによって、フローパケット記憶部202がオーバーフローする確率が低くなるので、データの転送効率の低下を少なくすることができる。
【0051】
【発明の効果】
以上説明したように、本発明によれば、各フロー別の帯域保証が可能で、さらに各フローのデータ量に関わらず余剰帯域を各フローに公平に分配できるようになる。
【図面の簡単な説明】
【図1】本発明の実施形態1に係るパケット通信装置の要部構成を示すブロック図
【図2】本発明の実施形態2に係るパケット通信装置の要部構成を示すブロック図
【図3】TCPのアルゴリズムによるデータ転送例を説明するシーケンス図
【図4】TCPのアルゴリズムによるデータ転送例を説明するシーケンス図
【図5】従来の帯域保証を行うパケット通信装置を用いた通信システムの構成例を示す図
【符号の説明】
100,200 パケット通信装置
101 パケット振分部
102 帯域保証用キュー
103 ベストエフォート記憶部
103−1〜103−N ベストエフォート用キュー
104 パケット読出部
201 パケット受信部
202 フローパケット記憶部
201−1〜201−M フローパケット用キュー
203 フローID振分部
204 帯域保証ID用キュー
205 ベストエフォートID記憶部
205−1〜205−N ベストエフォートID用キュー
206 フローID出力部
207 パケット送信部
【発明の属する技術分野】
本発明は、パケット通信装置に関する。
【0002】
【従来の技術】
近年、帯域保証を行うパケット通信装置が強く求められている。そこで、例えば、特許文献1では、プロセスによって生成された送信パケットを、帯域保証を行うパケットと帯域保証を行わないパケットとに振り分けて、最低帯域保証を実現する技術が開示されている。以下、図5を参照してその概要を説明する。
【0003】
図5は、従来の帯域保証を行うパケット通信装置を用いた通信システムの構成例を示す図である。図5において、送信装置であるノード501のプロセスAによって生成されたパケットは、TCPコネクションC1を経由して、受信装置であるノード502のプロセスBに転送される。転送されるパケットは、パケット識別子PI1が付加されたパケットと、パケット識別子PI2が付加されたパケットとに分けられている。
【0004】
即ち、パケット識別子PI1が付加されたパケットは、帯域保証を行うパケット、つまり帯域保証を超えないパケットである。パケット識別子PI1には、プロトコル番号(TCP)、送信側のIPアドレス(A)、受信側のIPアドレス(B)、送信側のポート番号(1)及び受信側のポート番号(2)の他、帯域保証を示す情報データαが含まれている。情報データαは、例えば、パケットヘッダのTOS(Type Of Service )フィールドを用いて表示される。
【0005】
一方、パケット識別子PI2が付加されたパケットは、帯域保証を行わないパケット、つまり帯域保証を超えるパケットである。パケット識別子PI2には、プロトコル番号(TCP)、送信側のIPアドレス(A)、受信側のIPアドレス(B)、送信側のポート番号(1)及び受信側のポート番号(2)の他、帯域保証を行わないことを示す情報データβが含まれている。情報データβは、例えば、パケットヘッダのTOSフィールドを用いて表示される。
【0006】
【特許文献1】
特開2001−111619号公報(図6)
【0007】
【発明が解決しようとする課題】
しかしながら、上述した従来のパケット通信装置は、送信パケットを、帯域保証を行うパケットと帯域保証を行わないパケットとに振り分けて、最低帯域保証を実現する構成であるので、保証帯域を越えた通信(フロー)のパケットは帯域保証を行わないパケットとして扱われる。即ち、従来では、保証帯域を越えたフローのパケットは全てベストエフォート(best effort)のパケットとして取り扱われる。
【0008】
つまり、データ量の多いフローほど余剰帯域を占有しやすくなるが、従来のパケット通信装置では、そのような余剰帯域を各フローに公平に分配することができないという問題がある。
【0009】
本発明は、かかる点に鑑みてなされたものであり、各フロー別の帯域保証が可能で、さらに各フローのデータ量に関わらず余剰帯域を各フローに公平に分配可能なパケット通信装置を提供することを目的とする。
【0010】
【課題を解決するための手段】
本発明に係るパケット通信装置は、保証帯域が定められている複数フローのパケットを送受信するパケット通信装置において、記憶手段と、フロー別に受信したパケットをそのデータ量に応じて前記記憶手段に振り分けて記憶させるパケット受信手段と、前記記憶手段が、データ量が前記保証帯域を超えないフローのパケットを記憶している場合は、その保証帯域を超えないフローのパケットを読み出して送信し、データ量が前記保証帯域を超えないフローのパケットを記憶していないが、前記保証帯域を超えるフローのパケットを記憶している場合は、その保証帯域を超えるフローのパケットを保証帯域を超えるデータ量の少ない順に読み出して送信するパケット送信手段と、を具備する構成を採る。
【0011】
この構成によれば、パケット受信手段は、保証帯域が定められている各フローの受信パケットを、そのデータ量に応じて記憶手段に振り分けて記憶させる。すなわち、記憶手段には、保証帯域を超えないフローのパケットと超えるフローのパケットとが区別されて記憶され、さらに保証帯域を超えるフローのパケットでは、その超えるデータ量の少ない順に記憶される。そして、送信手段は、保証帯域を超えないフローのパケットが記憶されている場合はそれを優先して送信し、記憶されていない場合は、保証帯域を超えるデータ量の少ないパケットから順に送信する。これによって、各フロー別の帯域保証が可能となり、さらに各フローのデータ量に関わらず余剰帯域を各フローに公平に分配することが可能となる。
【0012】
本発明に係るパケット通信装置は、保証帯域が定められている複数フローのパケットを送受信するパケット通信装置において、フローパケットを記憶するための第1記憶手段、及びフローIDを記憶するための第2記憶手段と、フロー別に受信したパケットをそのデータ量に応じて前記第1記憶手段に振り分けて記憶させるとともに、受信したパケットのフローIDを出力するパケット受信手段と、前記パケット受信手段の出力するフローIDを、前記保証帯域を超えないフローを示すフローIDと前記保証帯域を超えるフローを示すフローIDとに分け、かつ前記保証帯域を超えるフローを示すフローIDではデータ量に応じて振り分けて前記第2記憶手段に記憶させるフローID振分手段と、前記第2記憶手段が、データ量が前記保証帯域を超えないフローを示すフローIDを記憶している場合は、そのフローIDを読み出して出力し、データ量が前記保証帯域を超えないフローを示すフローIDを記憶していないが、前記保証帯域を超えるフローを示すフローIDを記憶している場合は、その保証帯域を超えるフローを示すフローIDのうち保証帯域を超えるデータ量の少ないフローを示すフローIDから順に読み出して出力するフローID出力手段と、前記フローID出力手段の出力するフローIDに従って前記第1記憶手段から対応するパケットを読み出して送信するパケット送信手段と、を具備する構成を採る。
【0013】
この構成によれば、パケット受信手段は、保証帯域が定められている各フローの受信パケットを、そのデータ量に応じて第1記憶手段に振り分けて記憶させるとともに、受信したパケットのフローIDを出力する。このフローIDは、フローID振分手段によって、第2記憶手段に保証帯域を超えないフローを示すフローIDと保証帯域を超えるフローを示すフローIDとに分けて記憶される。そして、フローID出力手段は、第2記憶手段にデータ量が保証帯域を超えないフローを示すフローIDを記憶されている場合はそれを優先して取り出し送信手段に引き渡す一方、記憶されていない場合は、保証帯域を超えるフローを示すフローIDのうち保証帯域を超えるデータ量の少ないフローを示すフローIDから順に読み出し送信手段に引き渡す。これによって、上記の発明と同様に、各フロー別の帯域保証が可能となり、さらに各フローのデータ量に関わらず余剰帯域を各フローに公平に分配することが可能となる。このとき、上記の発明では、パケットの送信順序が入れ替わることが起こるが、本発明では、フローIDによってパケットを管理するので、それを防止することができる。
【0014】
本発明に係るパケット通信装置は、上記の発明において、前記受信手段は、前記第1記憶手段の記憶量が所定量に到達したときは、受信したフローのパケットを所定の確率で破棄する構成を採る。
【0015】
この構成によれば、第1記憶手段がオーバーフローする確率が低くなるので、データの転送効率の低下を少なくすることができる。
【0016】
【発明の実施の形態】
本発明の骨子は、各フロー別の帯域保証が可能で、さらに各フローのデータ量に係わらず余剰帯域を各フローに公平に分配できるようにすることである。
【0017】
また、本発明の骨子は、TCPによるデータ転送において送信側がスロースタータを始める確率を低く抑えることによって高いスループットでのデータ転送が行えるようにすることである。
【0018】
以下、本発明の実施の形態について、添付図面を参照して詳細に説明する。
【0019】
(実施の形態1)
図1は、本発明の実施の形態1に係るパケット通信装置の要部構成を示すブロック図である。
【0020】
図1において、実施の形態1に係るパケット通信装置100は、パケット振分部101と、帯域保証用キュー102と、ベストエフォート記憶部103と、パケット読出部104とを備えている。
【0021】
帯域保証用キュー102は、データ量が保証帯域未満であるフローのパケットを記憶するためのものである。
【0022】
ベストエフォート記憶部103は、データ量が保証帯域を超える複数フローのパケットを超えるデータ量毎に記憶するため、複数のベストエフォート用キュー103−1〜103−Nを備えている。
【0023】
以上の構成において、パケット振分部101は、各フローの受信したデータ量が保証帯域未満の場合はそのパケットを帯域保証用キュー102に記憶させ、保証帯域を超える場合はそのパケットをベストエフォート記憶部103におけるベストエフォート用キュー103−1〜103−Nにそのデータ量に応じて振り分けて記憶させる。
【0024】
また、パケット読出部104は、帯域保証用キュー102がパケットを記憶している場合、帯域保証用キュー102からパケットを読み出して送信系に引き渡す。一方、パケット読出部104は、帯域保証用キュー102がパケットを記憶していない場合は、ベストエフォート記憶部103のベストエフォート用キュー103−1〜103−Nから超えるデータ量の少ない順にパケットを読み出して送信系に引き渡す。
【0025】
このように、保証帯域を超えたデータ量を持つフローでは、その超えるデータ量毎に区別して記憶し、保証帯域を超えたデータ量が少ない順にそのパケットを送信するようにしたので、各フローのデータ量に関わらず余剰帯域を各フローに公平に分配することが可能となる。
【0026】
(実施の形態2)
図2は、本発明の実施形態2に係るパケット通信装置の要部構成を示すブロック図である。
【0027】
図2において、実施形態2に係るパケット通信装置200は、パケット受信部201と、フローパケット記憶部202と、フローID振分部203と、帯域保証ID用キュー204と、ベストエフォートID記憶部205と、フローID出力部206と、パケット送信部207とを備えている。
【0028】
フローパケット記憶部202は、フロー毎のパケットを記憶するフローパケット用キュー202−1〜202−Mを備えている。
【0029】
ベストエフォートID記憶部205は、保証帯域を超えたデータ量毎にベストエフォートIDを記憶するベストエフォートID用キュー205−1〜205−Nを備えている。
【0030】
以上の構成において、パケット受信部201は、保証帯域が予め定められたフローの各々の受信したパケットをフローパケット記憶部202におけるフローパケット用キュー202−1〜202−Mの対応するフローパケット用キューに記憶させ、そのフローを示すフローIDをフローID振分部203に出力する。
【0031】
フローID振分部203は、受け取ったフローIDが示すフローのデータ量が保証帯域未満の場合はそのパケットを帯域保証ID用キュー204に記憶させ、保証帯域を超えている場合はそのパケットをそのデータ量に応じてベストエフォートID記憶部205におけるベストエフォートID用キュー205−1〜205−Nの対応するベストエフォートID用キューに記憶させる。
【0032】
また、フローID出力部206は、帯域保証ID用キュー204がフローIDを記憶している場合、帯域保証ID用キュー204からフローIDをパケット送信部207に出力させる。一方、フローID出力部206は、帯域保証ID用キュー204がフローIDを記憶していない場合、ベストエフォートID記憶部205におけるベストエフォートID用キュー205−1〜205−Nから保証帯域を超えたデータ量が少ない順にフローIDをパケット送信部207に出力させる。
【0033】
パケット送信部207は、フローID出力部206から受け取ったフローIDが示すパケットを記憶するフローパケット記憶部202におけるフローパケット用キュー202−1〜202−Mの対応するフローパケット用キューから取り出し、送信する。
【0034】
このように、保証帯域を超えたデータ量毎にフローIDを記憶させて、保証帯域を超えたデータ量が少ない順にそのフローIDが示すパケットを送信するようにしたので、各フローのデータ量に関わらず余剰帯域を各フローに公平に分配できるようになる。
【0035】
また、上述の実施の形態1では、ベストエフォート記憶部103がパケットを記憶しているときに、そのフローのパケットが帯域保証用キュー102に新たに記憶された場合には、パケットの送信順序が入れ替わることが起こる。
【0036】
これに対して、実施の形態2では、パケット送信部207は、記憶したフローパケットの順にパケットを送信することができるので、パケットの送信順序が入れ替わることがない。
【0037】
次に、パケット受信部201は、フローパケット記憶部202に予め定めたデータ量が記憶された場合には、受信したフローのパケットを所定の確率の元で破棄するようにし、フローパケット記憶部202がオーバーフローする確率を下げてデータ転送の効率低下が少なくなるようにしている。パケット通信によるデータ転送は、一般に、RFC793、RFC1122及びRFC2001に規定されるTCPのアルゴリズムに準拠して行われている。以下、図3、図4を参照して説明する。なお、図3、図4は、RFC793、RFC1122及びRFC2001に規定されるTCPのアルゴリズムによるデータ転送例を説明するシーケンス図である。
【0038】
RFC793、RFC1122及びRFC2001に規定されるTCPのアルゴリズムでは、送信側ホスト301は、大容量のデータを複数のパケットに分割して受信側ホスト302に送信し、受信側ホスト302は、パケットを受け取ったことを通知するパケット(ACK)を送信側ホスト301に返信するようになっている。
【0039】
また、送信側ホスト301は、ACKパケットを受け取る前に複数のパケットを連続して送信するようになっている。これは、ACKを待っている間にもパケットを送りデータの転送効率を向上させるためにTCPのアルゴリズムに実装された機能である。
【0040】
このとき、送信側ホスト301では、ACKが戻る前に送信するパケットの数(ウィンドウサイズ)を時間とともに増加させることを行う一方、パケットを送信してからACKが返るまでの時間を計測し、一定時間が経過してもACKが戻らずタイムアウトが発生した場合には、複数のパケットを連続して送信することを止め、ウィンドウサイズを1まで低下させ、1つのパケットを送信する。そして、ACKが返る度にウィンドウサイズを徐々に増やすスロースタートを開始するようになっている。
【0041】
送信側ホスト301の送信パケットが経過時間に伴い増加すると、受信側ホスト302が備えるパケット通信装置では、流入するデータ量が増加するので、フローパケット記憶部202ではオーバーフローすることが起こり、パケットの破棄が生ずる。このパケットの破棄が連続して発生すると、送信側ホスト301では、上記したタイムアウトが発生し、ウィンドウサイズが1まで低下するのでデータの転送効率が大幅に低下する。
【0042】
さて、図3では、破棄が連続しない場合のデータ転送例が示され、図4では、破棄が連続する場合のデータ転送例が示されている。図3において、送信側ホスト301では、パケット311を送信し、それに対するACK321が返る前に、複数のパケット312,313・・を順々に送信する。受信側ホスト302では、パケット311に対するACK321を返送した後に、パケット313が破棄されるので、ACK322,323を繰り返し送信し、パケット313の再送を要求する。
【0043】
送信側ホスト301では、パケット314の送信後に3つ目のACK322を受信し、ACK322を連続して3回受信したことで再送要求を知り、パケット313を再送する。この再送パケット313を受けた受信側ホスト302は、ACK324を送信し、パケット311からパケット314までが正常に届いたことを送信側ホスト301に通知する。
【0044】
このような場合には、送信側ホスト301では、タイムアウトは発生しないので、スロースタートを開始する必要がない。つまり、ウィンドウサイズの低下は小さくデータの転送効率の低下も少ない。
【0045】
図4において、送信側ホスト301では、パケット411を送信し、それに対するACK421が返る前に、複数のパケット412,413,414,415・・を順々に送信する。このとき、送信側ホスト301では、パケット414の送信時に一定期間414tを計時するタイマをセットする。
【0046】
受信側ホスト302では、パケット411に対するACK421を返送した後に、連続したパケット413,414,415が破棄される。受信側ホスト302では、パケット413が破棄されたので、ACK422,423を繰り返し送信し、パケット413の再送を要求する。
【0047】
送信側ホスト301では、パケット416の送信後に3つ目のACK422を受信し、ACK422を連続して3回受信したことで再送要求を知り、パケット413を再送する。この再送パケット413を受けた受信側ホスト302は、ACK424を送信し、パケット413までが正常に届いたことを送信側ホスト301に通知する。
【0048】
このとき、受信側ホスト302では、廃棄が連続して発生したので、引き続いてACK425を繰り返して送信するが、送信側ホスト301がACK425受け取る前に、パケット414の送信からの一定時間414tが経過してしまうので、タイムアウトが発生し、スロースタートを開始する。即ち、ACK425を受け取り、ウィンドウサイズが1の状態でパケット414を送信する。
【0049】
このように、受信側ホスト302の備えるパケット通信装置に流入するデータ量が増加してフローパケット記憶部202がオーバーフローを起こした場合には、受信側ホスト302では、到着しないパケットが連続するので、再送要求に遅れが生ずる。その結果、送信側ホスト301では、タイムアウトが発生し、ウィンドウサイズが1まで低下するのでデータの転送効率が大幅に低下する。
【0050】
そのため、実施の形態2に係るパケット通信装置では、上記したようにフローパケット記憶部202が予め定めたデータ量を記憶した場合、パケット受信部201は、所定の確率で受信したそのフローのパケットを廃棄するようになっている。これによって、フローパケット記憶部202がオーバーフローする確率が低くなるので、データの転送効率の低下を少なくすることができる。
【0051】
【発明の効果】
以上説明したように、本発明によれば、各フロー別の帯域保証が可能で、さらに各フローのデータ量に関わらず余剰帯域を各フローに公平に分配できるようになる。
【図面の簡単な説明】
【図1】本発明の実施形態1に係るパケット通信装置の要部構成を示すブロック図
【図2】本発明の実施形態2に係るパケット通信装置の要部構成を示すブロック図
【図3】TCPのアルゴリズムによるデータ転送例を説明するシーケンス図
【図4】TCPのアルゴリズムによるデータ転送例を説明するシーケンス図
【図5】従来の帯域保証を行うパケット通信装置を用いた通信システムの構成例を示す図
【符号の説明】
100,200 パケット通信装置
101 パケット振分部
102 帯域保証用キュー
103 ベストエフォート記憶部
103−1〜103−N ベストエフォート用キュー
104 パケット読出部
201 パケット受信部
202 フローパケット記憶部
201−1〜201−M フローパケット用キュー
203 フローID振分部
204 帯域保証ID用キュー
205 ベストエフォートID記憶部
205−1〜205−N ベストエフォートID用キュー
206 フローID出力部
207 パケット送信部
Claims (3)
- 保証帯域が定められている複数フローのパケットを送受信するパケット通信装置において、
記憶手段と、
フロー別に受信したパケットをそのデータ量に応じて前記記憶手段に振り分けて記憶させるパケット受信手段と、
前記記憶手段が、データ量が前記保証帯域を超えないフローのパケットを記憶している場合は、その保証帯域を超えないフローのパケットを読み出して送信し、データ量が前記保証帯域を超えないフローのパケットを記憶していないが、前記保証帯域を超えるフローのパケットを記憶している場合は、その保証帯域を超えるフローのパケットを保証帯域を超えるデータ量の少ない順に読み出して送信するパケット送信手段と、
を具備することを特徴とするパケット通信装置。 - 保証帯域が定められている複数フローのパケットを送受信するパケット通信装置において、
フローパケットを記憶するための第1記憶手段と、
フローIDを記憶するための第2記憶手段と、
フロー別に受信したパケットをそのデータ量に応じて前記第1記憶手段に振り分けて記憶させるとともに、受信したパケットのフローIDを出力するパケット受信手段と、
前記パケット受信手段の出力するフローIDを、前記保証帯域を超えないフローを示すフローIDと前記保証帯域を超えるフローを示すフローIDとに分け、かつ前記保証帯域を超えるフローを示すフローIDではデータ量に応じて振り分けて前記第2記憶手段に記憶させるフローID振分手段と、
前記第2記憶手段が、データ量が前記保証帯域を超えないフローを示すフローIDを記憶している場合は、そのフローIDを読み出して出力し、データ量が前記保証帯域を超えないフローを示すフローIDを記憶していないが、前記保証帯域を超えるフローを示すフローIDを記憶している場合は、その保証帯域を超えるフローを示すフローIDのうち保証帯域を超えるデータ量の少ないフローを示すフローIDから順に読み出して出力するフローID出力手段と、
前記フローID出力手段の出力するフローIDに従って前記第1記憶手段から対応するパケットを読み出して送信するパケット送信手段と、
を具備することを特徴とするパケット通信装置。 - 前記受信手段は、前記第1記憶手段の記憶量が所定量に到達したときは、受信したフローのパケットを所定の確率で破棄することを特徴とする請求項2記載のパケット通信装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003173477A JP2005012431A (ja) | 2003-06-18 | 2003-06-18 | パケット通信装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003173477A JP2005012431A (ja) | 2003-06-18 | 2003-06-18 | パケット通信装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005012431A true JP2005012431A (ja) | 2005-01-13 |
Family
ID=34097279
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003173477A Pending JP2005012431A (ja) | 2003-06-18 | 2003-06-18 | パケット通信装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005012431A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8254403B2 (en) | 2008-01-10 | 2012-08-28 | Fujitsu Limited | Packet forwarding apparatus and controlling method |
-
2003
- 2003-06-18 JP JP2003173477A patent/JP2005012431A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8254403B2 (en) | 2008-01-10 | 2012-08-28 | Fujitsu Limited | Packet forwarding apparatus and controlling method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9344369B2 (en) | System and methods for distributed quality of service enforcement | |
US6765905B2 (en) | Method for reducing packet data delay variation in an internet protocol network | |
US7392279B1 (en) | Network traffic shaping using time-based queues | |
US20060291395A1 (en) | Packet transmission control method and apparatus | |
US20070274215A1 (en) | Method and a system for flow control in a communication network | |
JP2004128603A (ja) | パケット伝送方法及び装置、それを用いた基地局装置、無線lan端末装置、無線lanシステム | |
CN110418376A (zh) | 数据传输方法及装置 | |
JP2009219076A (ja) | Ip電話システムにおけるゲートウェイルータおよび緊急呼の優先制御方法 | |
WO2011026289A1 (zh) | 用于无线分布系统的数据传输方法和装置 | |
US20190124006A1 (en) | Latency correction between transport layer host and deterministic interface circuit | |
US20030169690A1 (en) | System and method for separating communication traffic | |
US7139251B1 (en) | Scheduling for links having changing parameters | |
WO2021101640A1 (en) | Method and apparatus of packet wash for in-time packet delivery | |
JP2010093370A (ja) | エッジノードおよび帯域制御方法 | |
EP2942891B1 (en) | A transmission device with prioritized PHY layer | |
JP2005012431A (ja) | パケット通信装置 | |
US10985896B2 (en) | Method and network node for handling signals transmitted from wireless devices | |
US7751443B2 (en) | Intra-chassis packet arbitration scheme | |
JP2006229588A (ja) | マルチアンテナ伝送システム | |
JP5848956B2 (ja) | 通信装置 | |
US7450512B1 (en) | Recirculating retransmission queuing system and method | |
JP5539161B2 (ja) | データ伝送方式、及び、複数拠点データ配信方式 | |
RU2780218C1 (ru) | Способ отправки данных с помощью двух базовых станций 5g new radio | |
WO2000062457A2 (en) | Method and system for data traffic scheduling | |
US7126912B2 (en) | Methods for sequencing datagram transmissions |