JPWO2004093395A1 - Routing device that transmits received packets according to sequence number - Google Patents
Routing device that transmits received packets according to sequence number Download PDFInfo
- Publication number
- JPWO2004093395A1 JPWO2004093395A1 JP2004570865A JP2004570865A JPWO2004093395A1 JP WO2004093395 A1 JPWO2004093395 A1 JP WO2004093395A1 JP 2004570865 A JP2004570865 A JP 2004570865A JP 2004570865 A JP2004570865 A JP 2004570865A JP WO2004093395 A1 JPWO2004093395 A1 JP WO2004093395A1
- Authority
- JP
- Japan
- Prior art keywords
- packet
- sequence number
- packets
- queue
- stored
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/34—Flow control; Congestion control ensuring sequence integrity, e.g. using sequence numbers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/55—Prevention, detection or correction of errors
- H04L49/552—Prevention, detection or correction of errors by ensuring the integrity of packets received through redundant connections
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
ネットワーク(52、54、56および58)に接続可能な経路制御装置(100)は、所定の送信機(40)から所定の受信機(60)に宛てられていて順序番号を有する一連のパケットを受信してキュー(124)に宛先毎に一時的に格納し、その格納された宛先毎のパケットの受信の順序に関係なく、その順序番号に従ってその格納されたパケットを送信する。A routing device (100) connectable to a network (52, 54, 56 and 58) sends a series of packets addressed to a predetermined receiver (60) from a predetermined transmitter (40) and having a sequence number. The received packet is temporarily stored in the queue (124) for each destination, and the stored packet is transmitted according to the sequence number regardless of the reception order of the packet for each stored destination.
Description
本発明は、複数の経路を介して一連のパケットを伝送し得るネットワークにおける経路制御装置(ルータ)に関し、特に受信パケットの順序番号に従ったルーティングに関する。
発明の背景
ネットワークにおいて複数の経路を介して一連のパケットが伝送されるとき、送信側エンドから送られたパケットの受信順序が受信側エンドにおいて乱れることがある。
例えば、一連のパケットをマルチキャスト伝送すると、ネットワークの中間にある経路制御装置において乱れた受信順序でパケットがコピーされることがある。それによって、その経路制御装置を介して一連のパケットを受信する全ての次の経路制御装置および受信機において受信パケットの順序が乱れることになる。
よって、一連のパケットの受信順序が重要な場合は、送信機が送信パケットに順序番号を記述し、受信機がその順序番号の脱落および乱れを補正してデータを再構成する必要がある。
一方、ネットワークにおいて一連のパケットが1つの経路だけを介して順次伝送され、受信機において伝送されたパケットの受信順序が乱れることのないようなネットワークを構築することが研究および開発されている。
しかし、ネットワーク資源を最大限に利用するためには、複数の経路を介して一連のパケットが伝送されることを許容したほうがよい。
大照によって平成5年9月28日付けで公開された特開平5−252186号公報(A)には、ATMスイッチのセル順序整合方式が記載されている。この方式は、ATMスイッチ内において、入力セルにタイムスタンプを付加し、スイッチ内で分散ルーティングを行ったときに生じるセル順序の逆転を、バッファにおいて付加されたタイムスタンプに従って補正する。
発明者たちは、ネットワーク中の経路制御装置において受信パケットの順序を補正して受信機側で補正のための処理負荷を低減すると効率的であると認識した。また、発明者たちは、ネットワーク中の経路制御装置において受信パケットの伝送ジッタを補正して、受信機側でのジッタ補正のための処理負荷を低減すると効率的であると認識した。
本発明の目的は、経路制御装置において受信パケットの順序を補正することである。
本発明の別の目的は、経路制御装置において受信パケットの伝送ジッタを補正することである。
発明の概要
本発明の1つの特徴によれば、ネットワークに接続可能な経路制御装置のプロセッサは、所定の送信機から所定の受信機に宛てられていて順序番号を有する一連のパケットを受信してキューに宛先毎に一時的に格納し、その格納された宛先毎のパケットの受信の順序に関係なく、その順序番号に従ってその格納されたパケットを送信する。
本発明は、さらに、上述の経路制御装置用のプログラムに関する。
本発明によれば、経路制御装置において受信パケットの順序を補正することができ、それによって受信機の順序補正の負荷を低減することができ、また、受信パケットの伝送ジッタを補正することができる。
図面において同じ要素には同じ参照番号が付されている。The present invention relates to a route control apparatus (router) in a network capable of transmitting a series of packets via a plurality of routes, and more particularly to routing according to a sequence number of received packets.
BACKGROUND OF THE INVENTION When a series of packets are transmitted through a plurality of paths in a network, the receiving order of packets sent from a transmitting end may be disturbed at the receiving end.
For example, when a series of packets are multicast-transmitted, the packets may be copied in a disordered reception order in a routing device in the middle of the network. As a result, the order of received packets is disturbed in all subsequent routing devices and receivers that receive a series of packets via the routing device.
Therefore, when the reception order of a series of packets is important, it is necessary for the transmitter to describe a sequence number in the transmission packet, and for the receiver to reconfigure the data by correcting omission and disorder of the sequence number.
On the other hand, research and development have been conducted to construct a network in which a series of packets are sequentially transmitted through only one path in the network and the reception order of the packets transmitted by the receiver is not disturbed.
However, in order to make maximum use of network resources, it is better to allow a series of packets to be transmitted via a plurality of paths.
Japanese Laid-Open Patent Publication No. 5-252186 (A) published on September 28, 1993 by Taisho describes a cell order matching method for ATM switches. This method adds a time stamp to the input cell in the ATM switch, and corrects the reversal of the cell order that occurs when distributed routing is performed in the switch according to the time stamp added in the buffer.
The inventors have recognized that it is efficient to reduce the processing load for correction on the receiver side by correcting the order of received packets in the routing device in the network. The inventors have also recognized that it is efficient to reduce the processing load for correcting jitter on the receiver side by correcting the transmission jitter of the received packet in the route control device in the network.
An object of the present invention is to correct the order of received packets in a route control device.
Another object of the present invention is to correct transmission jitter of a received packet in a path control device.
SUMMARY OF THE INVENTION According to one aspect of the present invention, a processor of a routing device connectable to a network receives a series of packets addressed to a predetermined receiver from a predetermined transmitter and having a sequence number. The packet is temporarily stored in the queue for each destination, and the stored packet is transmitted according to the sequence number regardless of the reception order of the packet for each stored destination.
The present invention further relates to a program for the above-described path control device.
According to the present invention, it is possible to correct the order of received packets in the routing device, thereby reducing the order correction load of the receiver and correcting transmission jitter of the received packets. .
In the drawings, the same elements have the same reference numerals.
図1は、本発明の実施形態による経路制御装置の構成を示している。
図2は、パケット解析部によって実行される、新しい受信パケットを処理するためのフローチャートを示している。
図3Aは、パケット管理部の構成を示している。
図3Bは、図3Aにおけるパケット管理部中のパケット管理キューを示している。
図3Cは、図3Bにおけるパケット管理キュー中のパケット管理データの構成を示している。
図4は、パケット管理部によって実行される、新しい受信パケットを処理するためのフローチャートを示している。
図5Aは、送信順序が補正される受信パケットの条件の例を示している。
図5Bは、パケット管理部による受信パケットの識別および振り分けを説明するのに役立つ。
図6Aおよび6Bは、パケット管理部におけるパケット管理キューの例を示している。
図7は、パケット管理部によって実行される、パケット管理キューに格納されたパケットを送出するためのフローチャートを示している。
図8Aおよび8Bは、パケット管理部におけるパケット管理キュー中のパケットの例を示している。
図9Aおよび9Bは、プログラム受信機からの要求に従って、ネットワーク中の経路制御装置のどれに送信順序補正の機能を持たせるか、およびどのプログラム受信機へのパケットの送信順序を補正するかを自動的に決定する様々な方法を示している。
図10は、経路制御装置において伝送ジッタを補正する方法を説明するのに役立つ。
好ましい実施形態の説明
図1は、本発明の実施形態による経路制御装置100の構成を示している。経路制御装置100は1つまたは複数のネットワーク52〜58に接続されている。経路制御装置102は、例えばマルチキャスト用のプログラム放送装置のような送信機40に接続されていてもよい。送信機40は受信機能を持っていてもよい。経路制御装置104は、マルチキャスト用の受信装置のような受信機60に接続されていてもよい。受信機60は送信機能を持っていてもよい。経路制御装置102および104は経路制御装置100と同様の構成を有する。
経路制御装置100は、パケット順序管理部120と、ネットワーク52〜58等にそれぞれ接続されたネットワーク・インタフェース132〜142とを含んでいる。経路制御装置100は送信機40または受信機60に接続されていてもよい。パケット順序管理部120は、パケット解析部122およびパケット管理部124を含んでいる。パケット解析部122およびパケット管理部124の機能は、プログラム・メモリ128に格納されたプログラムに従ってプロセッサ126によって実装(インプレメント)されてもよい。
ネットワーク・インタフェース132〜142は、受信したパケットをパケット順序管理部120に供給する。パケット順序管理部120のパケット解析部122は、受信したパケットに受信時刻を付加してそのパケットを解析し、そのパケットがその順序の補正の対象であるかどうかを判定する。
図2は、パケット解析部122によって実行される、新しい受信パケットを処理するためのフローチャートを示している。
ステップ202において、パケット解析部122は、新しい受信パケットを受信したときそのパケットの宛先アドレス、宛先ポートおよび順序番号等の属性を判定する。ステップ204において、パケット解析部12は、そのパケットの属性に従ってそのパケットが順序補正対象であるかどうかを判定する。そのパケットがその対象でないと判定されたとき、ステップ210において、パケット解析部12は、対応するネットワーク、例えばネットワーク58にパケットを送信する。
そのパケットがその対象であると判定されたとき、ステップ206において、パケット解析部122はパケットの順序番号を解析する。ステップ208において、パケット解析部122は、受信パケット中のタイムスタンプおよび順序番号を取り出してそれを受信パケットとともにパケット管理部124に渡す。パケット管理部124は、以下で説明するような形態で、順序番号に従って、対応するネットワーク、例えばネットワーク58にそのパケットを送信する。
図3Aは、パケット管理部124の構成を示している。図3Bは、図3Aのパケット管理部124中のパケット管理キュー302、304および306を表すパケット管理キュー320の構成を示している。図3Cは、図3Bのパケット管理キュー320中のパケット管理データ342〜348を表すパケット管理データ350の構成を示している。
図3Aに示されているように、パケット管理部124は、各宛先アドレスA〜Cおよび宛先ポートに対応付けられたパケット管理キュー302〜306を動的に生成して保持する。
図3Bに示されているように、パケット管理キュー320は、パケット管理キューの属性330と管理データ・キュー340の領域を含んでいる。パケット管理キューの属性330は、そのキューにおけるパケットの宛先アドレス332、受信機60の受信ポートを表す宛先ポート334、そのキューにおける最後の送出パケットの順序番号336およびそのキューにおける最も古いパケットの受信時刻338のフィールドを含んでいる。宛先アドレス332は、個々の宛先アドレスであってもまたはマルチキャストまたはブロードキャスト(同報通信)用の宛先アドレスであってもよい。管理データ・キュー340は、受信した未送信の管理データ342〜348を含んでいる。
図3Cを参照すると、パケット管理データ350は、パケット・データ352、受信時刻354およびパケット順序番号356を含んでいる。パケット・データ352は、送信機40によって付加されたタイムスタンプを含んでいる。
図4は、パケット管理部124によって実行される、新しい受信パケットを処理するためのフローチャートを示している。
ステップ402において、パケット管理部124は、それぞれの宛先アドレスおよび宛先ポートに対する既に生成されたパケット管理キュー302〜306の中にその新しい受信パケットの属性に対応するものが存在するかどうかを判定する。対応するキューが存在しないと判定されたときは、ステップ404において、パケット管理部124は対応するパケット管理キューを生成し、ステップ406においてその生成されたキューにその新しいパケットを格納する。
ステップ402において対応するキューが存在すると判定されたときは、ステップ414において、パケット管理部124は、その新しい受信パケットの順序番号が最後に(前回)送出したパケットより小さいか、即ち古いかどうかを判定する。それが最後に送出したパケットより古いと判定された場合は、ステップ430において、パケット管理部124はその新しいパケットを破棄する。
それが最後に送出したパケットより古くないと判定された場合は、ステップ416において、パケット管理部124は対応するパケット管理キューが空かどうかを判定する。それが空であると判定された場合は、ステップ406において、パケット管理部124は管理キューにその新しいパケットを格納する。
それが空でないと判定された場合は、ステップ418において、パケット管理部124は、対応するパケット管理キューの中にその新しい受信パケットと同じ順序番号の受信パケットが存在するかどうかを判定する。同じ順序番号の受信パケットが存在すると判定された場合は、手順はステップ430に進む。
同じ順序番号の受信パケットが存在しないと判定された場合は、ステップ420において、パケット管理部124はその新しい受信パケットを対応するパケット管理キューの適正な位置に格納し、それによってそのキューにおけるパケットの順序を補正する。
図5Aは、送信順序の補正の対象となる受信パケットの条件の例を示している。図5Aにおいて、送信順序が補正されるパケットの条件の例51は、発信元IPv6アドレスの先頭16ビットのストリングの値が“fec0”に対応し、かつ通信プロトコルがTCPであることである。その条件の別の例52は、送信元IPv6アドレスの先頭16ビットのストリングの値が“3ffe”に対応することである。その条件のさらに別の例53は、通信プロトコルがRTPであることである。解析部122は、新しい受信パケットがこれらの条件51〜53のいずれかにマッチ(合致)するかどうかを判定する(図2、ステップ202〜204)。それがいずれかの条件にマッチしていると判定されたとき、解析部122はそのパケットを送信順序補正のためにパケット管理部124に渡す。
図5Bは、パケット管理部124による受信パケットの識別および振り分けを説明するのに役立つ。図5Bにおいて、新しい受信パケット501〜505が解析部122に供給されたとき、解析部122は、パケット501〜505が図5Aに示された条件51〜53にマッチするかどうかを判定する。パケット501は、発信元アドレスの先頭16ビット値“fec0”を有し、そのプロトコルがTCPであり、従ってそのパケットは条件51にマッチする。パケット502は、発信元アドレスの先頭16ビット値“fec0”を有するが、そのプロトコルがFTPであり、従ってそのパケットはいずれの条件にもマッチしない。パケット503は、発信元アドレスの先頭16ビット値“3ffe”を有し、従ってそのパケットは条件52にマッチする。パケット504は、発信元アドレスの先頭16ビット値“3ffe”を有するが、そのプロトコルがUDPであり順序番号を持っておらず、従ってそのパケットはいずれの条件にもマッチしない。パケット505は、そのプロトコルがRTPであり、従ってそのパケットは条件53にマッチする。
条件51〜53のいずれかにマッチしたパケットは、送信順序補正のために順序番号および受信時刻のデータとともにパケット管理部124に渡されて、対応するパケット管理キューに格納される。一方、条件51〜53のいずれにもマッチしなかったパケットは、対応するネットワーク52〜58に送信される。
図6Aおよび6Bは、パケット管理部124におけるパケット管理キューの例を示している。パケット解析部122によってパケット管理部124に渡されたパケットは、パケット管理部124によってキューの形態で管理される。パケット管理部124は、宛先アドレスおよび宛先ポートごとのパケット管理キューを生成して保持する。
図6Aを参照すると、パケット管理部124には、宛先アドレス102および宛先ポート103用のパケット管理キュー101と、宛先アドレス202および宛先ポート203用のパケット管理キュー201とが既に存在するものと仮定する。パケット管理部124は、パケット解析部122から新しい受信パケット310を受け取ると、そのパケットの宛先アドレス302および宛先ポート303に対応するパケット管理キューが存在するかどうかをチェックする。現在のパケット管理キュー101および201の中に受信パケット310の宛先アドレス302および宛先ポート303に対応するキューが存在しないときは、パケット管理部124は、宛先アドレス302および宛先ポート303に対応する新しいパケット管理パケット管理キュー301を作成して、そこに受信パケット310を格納する。
図6Bを参照すると、パケット管理部124には、宛先アドレス102および宛先ポート103用のパケット管理キュー101と、宛先アドレス202および宛先ポート203用のパケット管理キュー201と、宛先アドレス302および宛先ポート303用のパケット管理キュー301とが既に存在するものと仮定する。パケット管理部124は、パケット解析部122から新しい受信パケット113を受け取ると、そのパケットの宛先アドレス102および宛先ポート103に対応するパケット管理キューが存在するかどうかをチェックする。現在のキュー101、201および301の中に受信パケット113の宛先アドレス102および宛先ポート103に対応するパケット管理キュー101が存在するときは、パケット管理部124は、その宛先アドレス102および宛先ポート103に対応するパケット管理キュー101に順序番号SNに従って受信パケット113を格納する。そのために、パケット管理部124は、そのパケット113の順序番号をキュー101中のパケット110、111および112の順序番号と順次比較する。この順序番号1002は、パケット111の順序番号1001より大きく、パケット112の順序番号1003より小さいので、そのパケット113はキュー101中のパケット111と112の間に挿入される。その新しい受信パケット113がネットワークに既に送出済みのパケットの順序番号より小さいとき、パケット管理部124はその受信パケットを破棄する。この例では、新しい受信パケットを格納するときにパケットの順番の補正を行うが、順番を補正せずに受信パケットを受信順に格納して、送信するときにパケットの順番を補正してもよい。
図7は、パケット管理部124によって実行される、図3Bのパケット管理キュー320に格納されたパケットを送出するためのフローチャートを示している。
ステップ702において、パケット管理部124は、パケット管理キュー320の先頭にあるパケットの順序番号が最後に(前回)送信したパケットの順序番号の次の番号かどうかを判定する。その順序番号が最後に送信したパケットの順序番号の次の番号であると判定された場合には、ステップ704において、パケット管理部124は、その先頭にあるパケットを送信する。その後、手順はステップ702に戻る。従って、そのキューにおける最後に送信したパケットの順序番号に続く一連の順序番号を有する一連のパケットが、その順序番号の連続性が切れるまでまたはパケット管理キューが空になるまで送出される。
その順序番号が最後に送信したパケットの順序番号の次の番号でないと判定された場合には、ステップ714において、パケット管理部124は、パケット管理キュー中の受信時刻の最も古い(早い)パケットの受信時刻と現在時刻との差を計算する。ステップ716において、パケット管理部124は、その差がパケット管理キューにおける所定のバッファリング時間または待ち時間より大きいかどうかを判定する。その差がパケット管理キューにおける所定のバッファリング時間より大きいと判定されたときには、ステップ718において、パケット管理部124は、パケットの順序番号の連続性に関係なく、先頭にある順序番号の最も小さいパケットからその最も古い受信時刻のパケットまでのパケットを順次送出する。その後、手順は図7のルーチンを出るその差がその所定のバッファリング時間より大きくないと判定されたときには、手順は図7のルーチンを出る。
図8Aおよび8Bは、パケット管理部124におけるパケット管理キュー中のパケットの例を示している。
図8Aを参照すると、パケット管理キューにおいて、最後の送出パケットの順序番号は4000であり、現在の先頭のパケット401の順序番号が4001であり、後続のパケット402および403の順序番号がそれぞれ4002および4004であったと仮定する。従って、パケット管理部124は、先頭および後続のパケット401および402を順次送出する。次のパケット403は、その順序番号4004が最後に送出したパケット4002の順序番号4002と連続しないので、この時点では送出されない。
図8Bを参照すると、パケット管理キュー101において、パケット410〜414が格納されており、パケット409がまだ受信されていないと仮定する。先頭のパケット410の受信時刻は10:00:00:500であり、パケット410に続いてパケット411〜414が順序番号の昇順に格納されている。パケット管理キューにおける所定のバッファリングまたは待ち時間が300msで、現時点で時刻10:00:00:600を経過したとする。従って、管理部124は、図7のフローチャートに従って、先頭のパケット410から最も古いパケット413までのパケットを順次送出する。次のパケット404は、その順序番号がパケット413の順序番号に連続する番号でなければ、この段階では送出されない。
経路制御装置は、できるだけ早くパケットを転送しなければならない。即ち、パケットをパケット管理キューに保持する時間はできるだけ短いことが望ましい。従って、単純にパケットのバッファリング時間を経路制御装置の設定によって決めるのでなく、パケットの実際の受信状態に基づいてパケットをバッファに保持する時間を動的に決定してもよい。その保持時間の決定のために、経路制御装置は、それぞれのパケットの受信時刻と順序番号から、キュー中の順序番号に従って配置された隣接するパケットの間の受信時刻がどれだけの時間間隔で受信されたかを計算し、その中で順序番号とは異なる順序で最大時間間隔で受信されたパケットを抽出する。例えば、図8Bに示したような受信状態の例では、その中で順序番号とは異なる順序で最大時間間隔で受信されたパケット412と413の時間間隔は−240msである。このような計算を定期的に行い、その最大の時間間隔に基づいて、パケットをパケット管理キューに保持する最大時間を動的に変更する。その保持時間は、余裕を持たせるために、その最大時間間隔に一定の時間を加算したもの、あるいは一定の係数を乗算したものであってもよい。
次に、ネットワーク中の経路制御装置のどれに送信順序補正の機能を持たせるか、およびどの受信機に宛てられたパケットの送信順序を補正するかを決定する方法を説明する。最も簡単な方法は、前述の補正対象とするアドレス、ポートおよびプロトコルのような送信順序が補正される受信パケットの条件を、全てのまたは選択された経路制御装置に直接設定する方法である。
図9Aおよび9Bは、受信機942からの要求に従って、ネットワーク中の経路制御装置912〜920の中のどれに送信順序補正の機能を持たせるか、およびどの受信機942へのパケットの順序を補正するかを自動的に決定する方法を示している。図9Aおよび9Bを参照して、受信機がプログラムの送信を送信機に要求して受信する例を説明するが、送信要求されるものは、ビデオおよびオーディオ・プログラム(番組)のようなプログラムに限定されることなく、任意のコンテンツおよび情報であってもよい。
図9Aにおいて、受信機942は、ユーザの要求または受信機942上で動作中のアプリケーションの要求に従って、ネットワークを介して送信機902に、或るプログラムを表す一連のパケットの送信を要求しかつパケットの順序を補正するよう要求するパケットを送信する。この要求パケットは、このパケットを受信した最初の経路制御装置に、パケットの順序を補正する機能とそのための条件とを設定させる命令を含んでいる。この要求パケットは、例えば、経路954、956、958および960と、経路制御装置920、918、916および912とを介して送信機902に送信される。この場合、受信機942からその要求パケットを最初にかつ直接受信した経路制御装置920が、送信機902から受信機942へ送信されるプログラムの一連のパケットの順序を補正する制御を実行するよう設定される。その経路制御装置920は、その要求パケットにおけるその命令を削除して、その命令のないプログラム送信を要求するその要求パケットを次の経路制御装置916に送信する。経路制御装置920は、送信機902からその受信機942に宛てられたパケットを受信しかつそのパケットをその受信機942に直接送信するとき、そのパケットの順序を補正するための制御を行う。
図9Bにおいて、受信機942は、ユーザの要求または受信機942上で動作中のアプリケーションの要求に従って、ネットワークを介してプログラム送信機902に、或るプログラムを表す一連のパケットの送信を要求しかつパケットの順序を補正するよう要求するパケットを送信する。その要求パケットは、図9Aに例示された形態で受信機942から送信機902に送信される。送信機902は、その要求パケットの受信に応答して、応答または返信パケットを受信機942に送信する。その応答パケットは、ネットワーク中の取り得る全ての経路962、964、966、968および970と、経路制御装置912、916、918および920とを介して送信機902から受信機942に送信される。
その応答パケットは、その同じ応答パケットを複数回または複数経路から受信した経路制御装置に、パケットの順序を補正する機能とそのための条件とを設定させる命令を含んでいる。この場合、その同じ応答パケットを複数回または複数経路から受信した経路制御装置918が、プログラム送信機902からプログラム受信機942へ送信されるプログラムの一連のパケットの順序を補正する制御を実行するよう設定される。経路制御装置918は、同じ応答パケットを複数回受け取ったとき、2番目の応答パケットを破棄するようにする。それによって、送信機902から複数の経路でパケットが受信される可能性のある経路制御装置においてのみパケット順序の補正を行うように設定できる。
パケットにタイムスタンプが付加されているとき、経路制御装置は、単に送信順序を補正するだけでなく、そのタイムスタンプに基づいて送信の間隔を調整することによって伝送ジッタを補正してもよい。この場合、管理部124は、パケット管理データとしてタイムスタンプをも保持する必要がある。管理部124は、それぞれのパケット管理キューについて、受信時刻とタイムスタンプの差から、どの時刻に次のパケットを送信するかを計算する。その計算の際、管理部124は、パケット管理キューにおいて受信パケットの間に順序番号に従って補正され挿入されたパケット、即ち遅れて受信されたパケットと、その後続の順序番号を有するパケットとの間の受信時刻の差を計算する。管理部124は、その差が最も大きい挿入されたパケットを基準にして、パケット管理キュー中のパケットの送信時刻を決定する。
図10は、経路制御装置において伝送ジッタを補正する方法を説明するのに役立つ。パケット501、503および504が順次受信され、その後パケット502が受信されたものとする。パケット502の受信時刻は、後続の順序番号を有するパケット503の受信時刻から180msだけ遅れて受信されたとする。このパケット502の受信時刻とその後続のパケット503の受信時刻との差が最も大きい。従って、パケット502を基準としてパケット管理キュー中のパケット501〜504の送信時刻を決定する。パケット502の受信時刻とタイムスタンプは、それぞれ10020および10:00:00:500であり、パケット503との間の差180msの遅れはそのパケット管理キューの待ち時間200msに対して20msだけ余裕がある。従って、タイムスタンプ10020のパケットに対して、受信時刻にその余裕時間20msを加算して得られた10:00:00:520を送出時刻と決定する。他のパケット501、503および504は、それぞれのタイムスタンプと基準パケット502のタイムスタンプの差に基づいてそれぞれの送出時刻を決定する。例えば、パケット501のタイムスタンプは10000であり、基準パケット502のタイムスタンプ10020より20msだけ小さいので、パケット502の送出時刻10:00:00:520より20msだけ早い10:00:00:500をパケット501の送出時刻とする。このように、経路制御装置でパケットのジッタを補正することによって、受信機におけるジッタ補正のための処理負荷を低減できる。
以上説明した実施形態は典型例として挙げたに過ぎず、その変形およびバリエーションは当業者にとって明らかであり、当業者であれば本発明の原理および請求の範囲に記載した発明の範囲を逸脱することなく上述の実施形態の種々の変形を行えることは明らかである。FIG. 1 shows the configuration of a path control apparatus according to an embodiment of the present invention.
FIG. 2 shows a flowchart for processing a new received packet, which is executed by the packet analysis unit.
FIG. 3A shows the configuration of the packet management unit.
FIG. 3B shows a packet management queue in the packet management unit in FIG. 3A.
FIG. 3C shows a configuration of packet management data in the packet management queue in FIG. 3B.
FIG. 4 shows a flowchart for processing a new received packet, which is executed by the packet manager.
FIG. 5A shows an example of conditions for a received packet whose transmission order is corrected.
FIG. 5B is useful for explaining the identification and distribution of received packets by the packet manager.
6A and 6B show examples of packet management queues in the packet management unit.
FIG. 7 shows a flowchart for sending out a packet stored in the packet management queue, which is executed by the packet management unit.
8A and 8B show examples of packets in the packet management queue in the packet management unit.
9A and 9B automatically determine which of the routing devices in the network has the function of correcting the transmission order and which of the program receivers the packet transmission order is corrected according to a request from the program receiver. Various ways of making decisions are shown.
FIG. 10 is useful for explaining a method of correcting transmission jitter in a path control device.
Illustration of the preferred embodiment shows an embodiment configuration of a
The
The
FIG. 2 shows a flowchart executed by the
In
When it is determined that the packet is the target, in step 206, the
FIG. 3A shows the configuration of the
As shown in FIG. 3A, the
As shown in FIG. 3B, the
Referring to FIG. 3C, the packet management data 350 includes packet data 352, a reception time 354, and a packet sequence number 356. The packet data 352 includes a time stamp added by the
FIG. 4 shows a flowchart for processing a new received packet, which is executed by the
In
When it is determined in
If it is determined that it is not older than the last transmitted packet, in step 416, the
If it is determined that it is not empty, in step 418, the
If it is determined that there is no received packet with the same sequence number, in step 420, the
FIG. 5A shows an example of the condition of a received packet that is a target of transmission order correction. In FIG. 5A, the example 51 of the condition of the packet whose transmission order is corrected is that the string value of the first 16 bits of the source IPv6 address corresponds to “fec0” and the communication protocol is TCP. Another example of the
FIG. 5B is useful for explaining the identification and distribution of received packets by the
A packet that matches any of the conditions 51 to 53 is transferred to the
6A and 6B show examples of packet management queues in the
Referring to FIG. 6A, it is assumed that the
6B, the
FIG. 7 shows a flowchart for sending out the packet stored in the
In step 702, the
When it is determined that the sequence number is not the next number of the sequence number of the last transmitted packet, in step 714, the
8A and 8B show examples of packets in the packet management queue in the
Referring to FIG. 8A, in the packet management queue, the sequence number of the last outgoing packet is 4000, the sequence number of the current first packet 401 is 4001, and the sequence numbers of the
Referring to FIG. 8B, it is assumed that the packets 410 to 414 are stored in the packet management queue 101 and the packet 409 has not been received yet. The reception time of the first packet 410 is 10: 00: 00: 500, and packets 411 to 414 are stored in ascending order of the sequence numbers following the packet 410. Assume that the predetermined buffering or waiting time in the packet management queue is 300 ms, and the time 10: 00: 600: 600 has elapsed. Therefore, the
The routing device must forward the packet as soon as possible. That is, it is desirable that the time for holding the packet in the packet management queue is as short as possible. Therefore, instead of simply determining the buffering time of the packet based on the setting of the routing control device, the time for holding the packet in the buffer may be dynamically determined based on the actual reception state of the packet. In order to determine the holding time, the routing device receives the reception time between adjacent packets arranged according to the sequence number in the queue from the reception time and sequence number of each packet. The received packets are extracted at the maximum time interval in an order different from the order number. For example, in the example of the reception state as shown in FIG. 8B, the time interval between the packets 412 and 413 received in the maximum time interval in an order different from the order number is -240 ms. Such calculation is performed periodically, and the maximum time for holding the packet in the packet management queue is dynamically changed based on the maximum time interval. The holding time may be obtained by adding a certain time to the maximum time interval or by multiplying a certain coefficient in order to provide a margin.
Next, a description will be given of a method for determining which of the routing control devices in the network has the function of correcting the transmission order and which receiver is to correct the transmission order of packets addressed to the receiver. The simplest method is a method of directly setting the conditions of the received packet whose transmission order is corrected, such as the address, port, and protocol to be corrected, to all or selected routing control devices.
FIGS. 9A and 9B show which of the
In FIG. 9A, a
In FIG. 9B, the
The response packet includes an instruction that causes the path control device that has received the same response packet a plurality of times or from a plurality of routes to set a function for correcting the order of the packets and a condition therefor. In this case, the
When the time stamp is added to the packet, the routing apparatus may correct the transmission jitter by adjusting the transmission interval based on the time stamp instead of simply correcting the transmission order. In this case, the
FIG. 10 is useful for explaining a method of correcting transmission jitter in a path control device. Assume that
The embodiments described above are merely given as typical examples, and variations and variations thereof will be apparent to those skilled in the art. Those skilled in the art will depart from the principles of the present invention and the scope of the invention described in the claims. Obviously, various modifications of the above-described embodiment can be made.
Claims (9)
所定の送信機から所定の受信機に宛てられていて順序番号を有する一連のパケットを受信してキューに宛先毎に一時的に格納し、前記格納された宛先毎のパケットの受信の順序に関係なく、前記順序番号に従って前記格納されたパケットを送信するよう構成されたプロセッサを具える、経路制御装置。A route control device connectable to a network,
Receives a series of packets addressed to a predetermined receiver from a predetermined transmitter and having a sequence number, temporarily stores them in a queue for each destination, and relates to the reception order of the packets for each stored destination And a routing device comprising a processor configured to transmit the stored packets according to the sequence number.
所定の送信機から所定の受信機に宛てられていて順序番号を有する一連のパケットを受信してキューに宛先毎に一時的に格納するステップと、
前記格納された宛先毎のパケットの受信の順序に関係なく、前記順序番号に従って前記格納されたパケットを送信するステップと、
を実行させるよう動作可能なプログラム。A program for a routing device connectable to a network,
Receiving a series of packets addressed to a predetermined receiver from a predetermined transmitter and having a sequence number, and temporarily storing them in a queue for each destination;
Transmitting the stored packet according to the sequence number regardless of the order of reception of the packet for each stored destination;
A program that can run to run.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2003/004729 WO2004093395A1 (en) | 2003-04-14 | 2003-04-14 | Router for transmitting reception packets according to sequential numbers |
Publications (1)
Publication Number | Publication Date |
---|---|
JPWO2004093395A1 true JPWO2004093395A1 (en) | 2006-07-06 |
Family
ID=33193216
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004570865A Pending JPWO2004093395A1 (en) | 2003-04-14 | 2003-04-14 | Routing device that transmits received packets according to sequence number |
Country Status (2)
Country | Link |
---|---|
JP (1) | JPWO2004093395A1 (en) |
WO (1) | WO2004093395A1 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4724679B2 (en) * | 2007-03-08 | 2011-07-13 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | Packet transfer apparatus and packet transfer method |
KR102185260B1 (en) * | 2019-05-03 | 2020-12-01 | (주)아크로메이트 | Relay device for handling call, call handling method performed by relay device and storage medium storing computer program for executing call handling method |
KR102156853B1 (en) * | 2019-05-03 | 2020-09-16 | (주)아크로메이트 | Distributed network system for handling call, call handling method performed by distributed network system |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3158230B2 (en) * | 1993-03-23 | 2001-04-23 | 富士通株式会社 | Asynchronous information communication control method |
JP2531352B2 (en) * | 1993-07-19 | 1996-09-04 | 日本電気株式会社 | Voice packet receiver |
JP3278519B2 (en) * | 1993-12-29 | 2002-04-30 | 株式会社東芝 | Information communication system |
JP4271787B2 (en) * | 1999-07-29 | 2009-06-03 | 日本電信電話株式会社 | Communications system |
JP2002022733A (en) * | 2000-07-05 | 2002-01-23 | Sanyo Special Steel Co Ltd | Decarburized layer evaluation method for steel material |
JP4427912B2 (en) * | 2001-02-21 | 2010-03-10 | 日本電気株式会社 | Video packet reception decoding system and transmission system |
JP3636348B2 (en) * | 2001-09-12 | 2005-04-06 | 日本電気株式会社 | Voice packet delay fluctuation absorbing apparatus and absorbing method |
-
2003
- 2003-04-14 WO PCT/JP2003/004729 patent/WO2004093395A1/en active Application Filing
- 2003-04-14 JP JP2004570865A patent/JPWO2004093395A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2004093395A1 (en) | 2004-10-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1705845B1 (en) | Load distributing method | |
US7321591B2 (en) | Methods and systems for providing differentiated quality of service in a communications system | |
US6765905B2 (en) | Method for reducing packet data delay variation in an internet protocol network | |
US8125904B2 (en) | Method and system for adaptive queue and buffer control based on monitoring and active congestion avoidance in a packet network switch | |
JP3717836B2 (en) | Dynamic load balancer | |
US6917589B2 (en) | Automatic quality of service assignment in ethernet switches | |
JP4410408B2 (en) | Service quality management method and apparatus for network equipment | |
JP5800019B2 (en) | Communication path control system, path control device, communication path control method, and path control program | |
US7408879B2 (en) | Router, terminal apparatus, communication system and routing method | |
US6973102B2 (en) | Jitter reduction in differentiated services (DiffServ) networks | |
JP2002300193A (en) | Router | |
JP3639792B2 (en) | Network system and communication bandwidth control method thereof | |
Lu et al. | SDN-based TCP congestion control in data center networks | |
JPWO2005067227A6 (en) | Load balancing method, node and control program | |
JP2008131240A (en) | Network system, apparatus and method thereof | |
US20080101237A1 (en) | Communication device | |
CN103262479B (en) | Communication system, node, packet-forwarding method | |
US8743685B2 (en) | Limiting transmission rate of data | |
CN112737940A (en) | A method and device for data transmission | |
JPWO2007015482A1 (en) | Transmitting apparatus and transmission rate control method | |
JPWO2004093395A1 (en) | Routing device that transmits received packets according to sequence number | |
JP2000078188A (en) | Priority route control method and router device | |
JP2005033351A (en) | Packet relay device | |
JP2000183961A (en) | Packet communication priority control method | |
JP4797033B2 (en) | Flow rate control method and edge node in TCP flow rate control edge node |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050201 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080108 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080826 |