JP2014003525A - Network control device, network control method, and network control program - Google Patents
Network control device, network control method, and network control program Download PDFInfo
- Publication number
- JP2014003525A JP2014003525A JP2012138690A JP2012138690A JP2014003525A JP 2014003525 A JP2014003525 A JP 2014003525A JP 2012138690 A JP2012138690 A JP 2012138690A JP 2012138690 A JP2012138690 A JP 2012138690A JP 2014003525 A JP2014003525 A JP 2014003525A
- Authority
- JP
- Japan
- Prior art keywords
- transmission
- packet
- time
- scheduled
- transmitted
- 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)
Abstract
Description
本発明は、ネットワーク制御装置、ネットワーク制御方法およびネットワーク制御プログラムに関し、特に、QoSシェーピング処理を実現するネットワーク制御装置、ネットワーク制御方法およびネットワーク制御プログラムに関する。 The present invention relates to a network control device, a network control method, and a network control program, and more particularly, to a network control device, a network control method, and a network control program that realize QoS shaping processing.
インターネットにおけるISP(Internet Service Providerの略称。インターネット接続事業者のことを指し、「プロバイダ」とも言う。)向けのエッジ・ルータ装置(あるネットワークと別のネットワークの境界に位置するルータ)や3GPP(Third Generation Partnership Projectの略称。第三世代携帯電話(3G)の標準化プロジェクト、または、同プロジェクトによる移動体通信システムの標準規格のことを言う。)モバイルネットワークのコアネットワーク上のノード装置においては、ユーザの契約状態や通信状況等によって、ユーザ単位に送信レート(送信タイミング)の制限が必要となる場合があり、そのために、多数の収容ユーザ(QoS(Quality of Serviceの略称。ネットワーク上で、ある特定の通信のための帯域を予約し、一定の通信速度を保証する技術を言う。)フロー)単位にQoSシェーピング処理を適用する場合がある。QoSシェーピング処理とは、予め設定された送信レートを正確に守るためにデータに必要な遅延を付与して送信していく処理のことである。 Edge router devices (routers located at the boundary between one network and another network) and 3GPP (Third) for ISPs (Internet Service Providers; refer to Internet providers, also referred to as “providers”) on the Internet Abbreviation for Generation Partnership Project, which refers to the 3G mobile phone (3G) standardization project, or the standard for mobile communication systems by the project.) In the node equipment on the core network of the mobile network, Depending on the contract status, communication status, etc., the transmission rate (transmission timing) may need to be restricted for each user. For this reason, a large number of accommodated users (QoS (Quality) An abbreviation for “of Service.” A technique for reserving a band for a specific communication on a network and guaranteeing a constant communication speed.) Flow) A QoS shaping process may be applied to each unit. The QoS shaping process is a process of transmitting data with a delay necessary for accurately keeping a preset transmission rate.
一般的なIPルータにおける構成を図5に示す。 A configuration of a general IP router is shown in FIG.
図5において、IPルータは、パケット処理用プロセッサと、複数の送信側および受信側ポートと、複数の送信側および受信側PHY/MACデバイスとを備えている。パケット処理用プロセッサは、各手段501〜505および受信パケット格納メモリ510を有している。PHY(PHYsical layerの略称。)デバイスは、物理層に相当するD/A変換を行い、MAC(Media Access Controlの略称。)デバイスは、データリンク層の下位副層に相当するフレーム(データの送受信単位)の送受信を行う。
In FIG. 5, the IP router includes a packet processing processor, a plurality of transmission side and reception side ports, and a plurality of transmission side and reception side PHY / MAC devices. The packet processing processor has means 501 to 505 and a received
パケット受信手段501は、各ポートから入力されたパケットを受信し、受信したパケットを受信パケット格納メモリ510に格納後、Etherヘッダの終端とIPヘッダとのチェック処理を実施する。受信側QoS手段502は、受信レートを制限する際にポリシング等のQoS処理を実施する。ルーティング検索手段503は、IPヘッダに含まれるIPアドレスを基に送信先のポートやネクストホップ先を検索する。送信側QoS手段504は、送信レートを制限する際にシェーピング等のQoS処理を実施する。パケット送信手段505は、Etherヘッダを付与し、転送先ポートへパケットを送信する。
The packet receiving unit 501 receives a packet input from each port, stores the received packet in the received
なお、図5の上記各手段は、一般的なコンピュータで実行されるプログラムまたはタスクにより実現されてもよいし、専用のハードウェアにより実現されてもよい。 5 may be realized by a program or task executed by a general computer, or may be realized by dedicated hardware.
IPルータの一機能を図6に示す。 One function of the IP router is shown in FIG.
フロー識別手段601および複数のキューメモリ602は、送信側QoS手段504に該当する。QoSシェーピング処理を適用する際は、QoSフロー#1〜n(nは2以上の整数)単位にキューメモリ602が用意される。フロー識別手段601は、ルーティング検索手段503から受け取ったパケット情報を基にどのQoSフローのキューメモリ602にパケットをキューイングするかを決定し、決定したキューメモリ602にパケットを格納する。
The
QoSフロー番号は、一般的にパケットのIPヘッダに含まれる送信元アドレスおよび宛先アドレスやTCP/UDPヘッダに含まれる送信元ポート番号および宛先ポート番号等を抽出して特定する。 The QoS flow number is generally specified by extracting a source address and a destination address included in an IP header of a packet, a source port number and a destination port number included in a TCP / UDP header, and the like.
フロー識別手段601は、全てのキューメモリ602にパケットが格納されており、パケットをこれ以上キューイングする事ができない場合には、新たに到来するパケットをキューイングせずに廃棄する。
When the packet is stored in all the
パケット送信手段603は、各キューメモリ602をあらかじめ決めた順番にポーリングし、それぞれのQoSフローに設定された送信レートに合わせてパケットを取り出し、送信デバイスへ送信する。これらの一連の処理によって、パケットを各QoSフローに設定された送信レートに従って送信するよう図られている。
The
なお、図6の上記各手段は、一般的なコンピュータで実行されるプログラムまたはタスクにより実現されてもよいし、専用のハードウェアにより実現されてもよい。 6 may be realized by a program or task executed on a general computer, or may be realized by dedicated hardware.
また、特許文献1には、パケットに対する遅延時間を定量的かつ動的に制御可能とするデータ通信システムが記載されている。
特許文献1記載のデータ通信システムでは、パケットの送信元が指定した最大遅延時間、通信経路の平均転送率および通信制御装置の台数をもとに、遅延時間が計算される。そして、こうして計算された遅延時間に基づいて、送信する順番にパケットが送信キューに整列され、送信時間になると先頭のパケットから順にパケットが取り出され、送信される。
In the data communication system described in
図6に記載のIPパケットルーティング機能の送信側処理では、QoSフローごとにキューメモリを割り当てるため、適用するQoSフローが多数存在する場合、大量のキューメモリ602を用意する必要がある。
In the transmission side processing of the IP packet routing function shown in FIG. 6, a queue memory is allocated for each QoS flow. Therefore, when there are many QoS flows to be applied, it is necessary to prepare a large amount of
パケット送信手段603は、キューメモリ602をあらかじめ決めた順番にポーリングし、それぞれのQoSフローに設定された送信レートに合わせてパケットを取り出す。上記のように大量のキューメモリ602を実装した場合、パケット送信手段603は、全キューメモリをポーリングし終えるまでに時間を要することになり、結果として、各キューメモリにおいては、前のポーリングからその次のポーリングの順番が廻ってくるまでの時間間隔が長くなる。そのため、あるキューメモリ602においては、そのキューメモリからパケットを取り出さなければならない時点となっても、そのキューメモリにポーリングの順番が廻って来ず、パケット送信手段603は、そのパケットを取り出せないという状況が発生する場合がある。
The
その場合には、パケット送信手段603が、設定した送信レートより低いレートでのパケットの送信を余儀なくされるという問題点がある。 In that case, there is a problem that the packet transmission means 603 is forced to transmit packets at a rate lower than the set transmission rate.
また、特許文献1は、上述したように、データ送信元が最大遅延時間を指定し、その指定された最大遅延時間内にデータ送信を行う技術を開示するに留まり、指定された正確な送信レートでデータ(パケット)を送信する技術については何ら開示していない。
Further, as described above,
本発明の目的は、上述の問題点を解決したネットワーク制御装置、ネットワーク制御方法およびネットワーク制御プログラムを提供することにある。 An object of the present invention is to provide a network control device, a network control method, and a network control program that solve the above-described problems.
本発明のネットワーク制御装置は、送信対象パケットの内容を基にQoSフロー番号を特定する識別手段と、前記QoSフロー番号を基にあらかじめ定めた方法により遅延時間を計算する計算手段と、各送信予定時刻範囲対応に送信パケットを蓄積するための蓄積手段と、前記遅延時間を現在時刻に加えて前記送信対象パケットの送信予定時刻を求め、該送信予定時刻を含む前記送信予定時刻範囲に対応させて前記送信対象パケットを前記送信パケットとして前記蓄積手段に蓄積し、送信予定時刻の到来時に、該送信予定時刻を含む前記送信予定時刻範囲に対応させて前記蓄積手段に蓄積した前記送信パケットを送信する送信手段とから構成される。 The network control apparatus of the present invention includes an identification unit that identifies a QoS flow number based on the contents of a packet to be transmitted, a calculation unit that calculates a delay time by a predetermined method based on the QoS flow number, and each transmission schedule Storage means for storing transmission packets corresponding to a time range; and adding the delay time to a current time to obtain a transmission scheduled time of the transmission target packet, and corresponding to the transmission scheduled time range including the transmission scheduled time The transmission target packet is stored in the storage unit as the transmission packet, and when the scheduled transmission time arrives, the transmission packet stored in the storage unit is transmitted in association with the scheduled transmission time range including the scheduled transmission time And transmitting means.
本発明のネットワーク制御方法は、送信対象パケットの内容を基にQoSフロー番号を特定する識別ステップと、前記QoSフロー番号を基にあらかじめ定めた方法により遅延時間を計算する計算ステップと、前記遅延時間を現在時刻に加えて前記送信対象パケットの送信予定時刻を求める送信予定時刻決定ステップと、各送信予定時刻範囲対応に送信パケットを蓄積するための蓄積手段に、前記送信時刻決定ステップで求めた前記送信予定時刻を含む前記送信予定時刻範囲に対応させて前記送信対象パケットを前記送信パケットとして蓄積する蓄積ステップと、送信予定時刻の到来時に、該送信予定時刻を含む前記送信予定時刻範囲に対応させて前記蓄積手段に蓄積した前記送信パケットを送信する送信ステップとを含む。 The network control method of the present invention includes an identification step of identifying a QoS flow number based on the content of a packet to be transmitted, a calculation step of calculating a delay time by a predetermined method based on the QoS flow number, and the delay time The transmission scheduled time determination step for obtaining the transmission scheduled time of the transmission target packet in addition to the current time, and the storage means for storing the transmission packet corresponding to each scheduled transmission time range in the transmission time determination step An accumulation step of accumulating the transmission target packet as the transmission packet in correspondence with the scheduled transmission time range including the scheduled transmission time, and corresponding to the planned transmission time range including the scheduled transmission time when the scheduled transmission time arrives Transmitting the transmission packet stored in the storage means.
本発明のネットワーク制御プログラムは、送信対象パケットの内容を基にQoSフロー番号を特定する識別処理と、前記QoSフロー番号を基にあらかじめ定めた方法により遅延時間を計算する計算処理と、前記遅延時間を現在時刻に加えて前記送信対象パケットの送信予定時刻を求める送信予定時刻決定処理と、各送信予定時刻範囲対応に送信パケットを蓄積するための蓄積手段に、前記送信時刻決定ステップで求めた前記送信予定時刻を含む前記送信予定時刻範囲に対応させて前記送信対象パケットを前記送信パケットとして蓄積する蓄積処理と、送信予定時刻の到来時に、該送信予定時刻を含む前記送信予定時刻範囲に対応させて前記蓄積手段に蓄積した前記送信パケットを送信する送信処理とをコンピュータに実行させる。 The network control program of the present invention includes an identification process for identifying a QoS flow number based on the contents of a packet to be transmitted, a calculation process for calculating a delay time by a predetermined method based on the QoS flow number, and the delay time. In addition to the current time, the scheduled transmission time determination process for determining the scheduled transmission time of the transmission target packet, and the storage means for storing the transmission packet corresponding to each scheduled transmission time range, the transmission time determined in the transmission time determination step An accumulation process for accumulating the transmission target packet as the transmission packet in correspondence with the transmission scheduled time range including the transmission scheduled time, and corresponding to the transmission scheduled time range including the transmission scheduled time when the transmission scheduled time arrives And causing the computer to execute transmission processing for transmitting the transmission packet stored in the storage means.
以上、本発明には、QoSフローが多数存在した場合でも、QoSフローごとに設定した送信レートを満たすようにパケットを送信することができるという効果がある。 As described above, the present invention has an effect that even when there are a large number of QoS flows, packets can be transmitted so as to satisfy the transmission rate set for each QoS flow.
次に、本発明について図面を参照して詳細に説明する。 Next, the present invention will be described in detail with reference to the drawings.
図1は本発明の第1の実施形態を示すブロック図である。 FIG. 1 is a block diagram showing a first embodiment of the present invention.
図1を参照すると、本実施形態に係るネットワーク制御装置100は、フロー識別手段110と、遅延計算手段120と、Token Bucketデータベースメモリ121と、遅延送信手段130と、送信タイムスロットメモリ131とから構成されている。
Referring to FIG. 1, the
なお、手段110,120および130の各手段は、一般的なコンピュータで実行されるプログラムまたはタスクにより実現されてもよいし、専用のハードウェアにより実現されてもよい。
Each of the
本実施形態は、図5に示したような一般的なIPルータの一部の構成を代替する。 This embodiment replaces the configuration of a part of a general IP router as shown in FIG.
フロー識別手段110、遅延計算手段120およびToken Bucketデータベースメモリ121は、図5の送信側QoS手段504の一部の構成を代替する。
The
遅延送信手段130および送信タイムスロットメモリ131は、図5のパケット送信手段505の一部の構成を代替する。
The
ここで、処理対象パケットは、図5のパケット受信手段501により、受信パケット格納メモリ510にすでに格納されている。受信パケット格納メモリ510内の処理対象パケットの先頭アドレスをパケット情報という。フロー識別手段110と、遅延計算手段120、および遅延送信手段130は、パケット情報を基に、受信パケット格納メモリ510内の処理対象パケットを参照する。
Here, the packet to be processed has already been stored in the received
フロー識別手段110は、図5のルーティング検索手段503で送信先インタフェースが決定したパケットのパケット情報をルーティング検索手段503から受信する。
The
フロー識別手段110は、受信したパケット情報を基にQoSフロー番号を特定する。
The
フロー識別手段110は、QoSフロー番号の特定完了後、パケット情報とQoSフロー番号情報とを遅延計算手段120へ送信する。
After identifying the QoS flow number, the
遅延計算手段120は、Token Bucketアルゴリズムにより、パケットを送信する際に付与する遅延時間を計算する。
The
遅延計算手段120は、後述するように、Token Bucketデータベースメモリ121に設定されているToken Bucket計算に必要な複数のパラメータ群の中から、フロー識別手段110より受信したQoSフロー番号に対応するパラメータ群を参照して、遅延時間を計算する。
As will be described later, the
遅延計算手段120は、算出した遅延時間およびパケット情報を遅延送信手段130へ送信する。
The
遅延送信手段130は、遅延計算手段120から受信したパケット情報を基に、受信パケット格納メモリ510内の処理対象パケットを、送信パケット格納メモリ132にコピーする。
The
遅延送信手段130は、送信パケット格納メモリ132にコピーした処理対象パケットの先頭アドレスを、遅延計算手段120から受信した遅延時間を基に、送信タイムスロットメモリ131に格納する。
The
遅延送信手段130は、指定された遅延時間の経過後、送信タイムスロットメモリ131から当該パケット情報を取り出し、送信デバイスに対してパケットの送信を指示する。
The delay transmission means 130 extracts the packet information from the transmission
次に、本実施形態の動作について詳細に説明する。 Next, the operation of this embodiment will be described in detail.
フロー識別手段110は、受信したパケット情報を基に、受信パケット格納メモリ510内の処理対象パケットを参照し、QoSフロー番号を特定する。
Based on the received packet information, the
QoSフロー番号は、一般的にパケットのIPヘッダに含まれる送信元アドレスおよび宛先アドレスやTCP/UDPヘッダに含まれる送信元ポート番号および宛先ポート番号等を抽出して特定する。 The QoS flow number is generally specified by extracting a source address and a destination address included in an IP header of a packet, a source port number and a destination port number included in a TCP / UDP header, and the like.
フロー識別手段110は、QoSフロー番号の特定後、パケット情報とQoSフロー番号情報とを遅延計算手段120へ送信する。
After identifying the QoS flow number, the
遅延計算手段120は、Token Bucketアルゴリズムにより、送信パケットに設定する遅延時間を計算する。 The delay calculation means 120 calculates a delay time set in the transmission packet by the Token Bucket algorithm.
遅延計算手段120は、Token Bucketデータベースメモリ121を参照し、受信したQoSフロー番号に基づき、計算に必要なパラメータを取得し、遅延時間を計算する。
The
図2は、Token Bucketデータベースメモリ121の内容を示す。
FIG. 2 shows the contents of the Token
Token Bucketデータベースメモリ121は、QoSフロー番号ごとに送信レート値(An)、最大Token値(Bn)、現在Token値(Cn)および前回Token補充時刻(Dn)を持つ。
The Token
送信レート値は、シェーピングを適用するレート(単位:bps(bit per second))で、Tokenの補充レートに該当する。本パラメータは、あらかじめ設定しておく必要がある。 The transmission rate value is a rate (unit: bps (bit per second)) at which shaping is applied, and corresponds to the supplement rate of Token. This parameter must be set in advance.
最大Token値は、許容する最大遅延時間に関係するパラメータで、Tokenが補充できる最大のサイズ(単位:bit)を示す。本パラメータは、あらかじめ設定しておく必要がある。 The maximum Token value is a parameter related to the maximum allowable delay time, and indicates the maximum size (unit: bit) that Token can replenish. This parameter must be set in advance.
現在Token値は、現在のTokenのサイズ(単位:bit)を示す。本パラメータは、初期値として最大Token値が設定され、パケットが通過する度に値の更新が行われる。現在Token値に対して、Tokenの補充時には補充するTokenのサイズが加算され、一方、Tokenの消費時には送信パケットサイズ分だけ減算される。 The current Token value indicates the current Token size (unit: bit). The maximum Token value is set as an initial value for this parameter, and the value is updated each time a packet passes. The current Token value is incremented by the Token size to be replenished when Token is replenished. On the other hand, when Token is consumed, the size is subtracted by the transmission packet size.
前回Token補充時刻は、前回パケットが該当QoSフローのTokenを補充した時刻である。Tokenが補充される度にこの時刻の更新が行われる。 The previous Token replenishment time is the time when the previous packet replenished the Token of the corresponding QoS flow. Every time Token is replenished, this time is updated.
遅延計算手段120がこれらのパラメータ(送信レート、最大Token値、現在Token値および前回Token補充時刻)を用いたToken Bucketアルゴリズムにより行う遅延時間の計算について、図3を使用して説明する。 The delay time calculation performed by the Token Bucket algorithm using these parameters (transmission rate, maximum Token value, current Token value, and previous Token supplement time) will be described with reference to FIG.
遅延計算手段120は、フロー識別手段110から受信したQoSフロー番号(ここでは、例えば、#nとする。)に対応するメモリ121内の各値を参照して、補充するTokenのサイズを以下の式で算出する(ステップS1)。
The
補充するTokenのサイズ←(現在の時刻(Cn)−前回Token補充時刻(Dn))×送信レート(An)
遅延計算手段120は、ここで算出したTokenのサイズを現在Token値(Cn)に加算し、新たな現在Token値(Cn)としてメモリ121に格納する(ステップS2)。
Size of Token to be replenished ← (current time (Cn) −previous Token replenishment time (Dn)) × transmission rate (An)
The delay calculation means 120 adds the Token size calculated here to the current Token value (Cn), and stores it in the
また、遅延計算手段120は、メモリ121内の当該前回Token補充時刻(Dn)を現在時刻に更新する(ステップS3)。
Further, the delay calculation means 120 updates the previous Token supplement time (Dn) in the
ステップS2での加算後の新たな現在Token値(Cn)が最大Token値(Bn)より小さく、かつ、Token(Cn)値が送信パケットサイズより小さい場合には、送信に必要なToken値が十分に確保されておらず、最大遅延時間以上の遅延が発生する事になる。そのため、遅延計算手段120は、メモリ121内のToken値(Cn)および前回Token補充時刻(Dn)を変更(ステップS2およびステップS3)前の値に戻し(ステップS6)、パケットを送信せずに廃棄して処理を終了する(ステップS7)。
If the new current Token value (Cn) after addition in step S2 is smaller than the maximum Token value (Bn) and the Token (Cn) value is smaller than the transmission packet size, the Token value necessary for transmission is sufficient. Therefore, a delay longer than the maximum delay time will occur. Therefore, the delay calculation means 120 changes the Token value (Cn) and the previous Token replenishment time (Dn) in the
ステップ2での加算後のToken値(Cn)が最大Token値(Bn)以上である場合は、遅延計算手段120は、現在のToken値(Cn)を最大Token値(Bn)と同値にし(ステップS4)、遅延時間を0とする(ステップS5)。その後、後述するステップS9の処理に進む。
If the Token value (Cn) after the addition in
一方、 ステップS2での加算後の新たな現在Token値(Cn)が最大Token値(Bn)より小さく、かつ、Token(Cn)値が送信パケットサイズ以上の場合には、遅延計算手段120は、以下の式で遅延時間を算出する(ステップS8)。
On the other hand, when the new current Token value (Cn) after the addition in step S2 is smaller than the maximum Token value (Bn) and the Token (Cn) value is equal to or larger than the transmission packet size, the
遅延時間←(最大Token値(Bn)−現在のToken値(Cn))÷送信レート(An)
遅延計算手段120は、遅延時間の算出後に、現在のToken値(Cn)から送信パケットサイズを減算して、新たな現在のToken値(Cn)としてメモリ121に格納する(ステップS9)。
Delay time ← (Maximum Token value (Bn) −Current Token value (Cn)) ÷ Transmission rate (An)
After calculating the delay time, the
次に、遅延計算手段120は、廃棄処理判定されたパケット以外について、パケット情報と遅延時間の情報とを遅延送信手段130へ送信する(ステップS10)。 Next, the delay calculation means 120 transmits packet information and delay time information to the delay transmission means 130 for packets other than those determined to be discarded (step S10).
次に、遅延送信手段130について説明する。
Next, the
遅延送信手段130は、送信タイムスロットメモリ131へ送信パケットの情報を格納する処理と、送信予定時刻となったパケットを送信タイムスロットメモリ131を参照して特定し当該パケットを後述する送信パケット格納メモリ132から取り出して送信する処理との2つの処理を交互に実施する。
The delay transmission means 130 stores the transmission packet information in the transmission
まず、送信タイムスロットメモリ131へ送信パケットの情報を格納する処理について説明する。
First, processing for storing transmission packet information in the transmission
この処理の説明を行う前にその処理のために使用する送信タイムスロットメモリ131および送信パケット格納メモリ132について図4を参照して説明する。
Before explaining this process, the transmission
送信タイムスロットメモリ131は、図4に示すような構成となっている。メモリ131は、パケットの送信予定時刻範囲(「タイムスロット」とも言う。)(タイムスロットT0〜Tx)を示すタイムスロット欄410と、各タイムスロット(T0〜Tx)で送信すべきパケットのアドレス情報を格納するアドレス情報欄420とから構成されている。
The transmission
アドレス情報欄420の各タイムスロット(T0〜Tx)に対応する部分は、リスト先頭のパケットデータ先頭アドレス格納部421およびリスト末尾のパケットデータ先頭アドレス格納部422の2つのエントリからなる。
The portion corresponding to each time slot (T0 to Tx) in the
リスト先頭のパケットデータ先頭アドレス格納部421は、各タイムスロットで、初めに送信する送信パケットの格納メモリ132内の先頭アドレスを格納する領域である。
The packet data head
リスト末尾のパケットデータ先頭アドレス格納部422は、各タイムスロットで、最後に送信する送信パケットの格納メモリ132内の先頭アドレスを格納する領域である。
The packet data head
次に、アドレス情報欄の各アドレス(421および422)から参照される送信パケット格納メモリ132内の送信パケットデータ431について説明する。
Next, the
各送信パケットデータ431は、送信パケットデータ部と次送信パケットデータ先頭アドレス部432とからなる。
Each
次送信パケットデータ先頭アドレス部432には、あるパケットの次に連続して送信すべきパケットがある場合に、次に送信するパケットの格納メモリ132内の先頭アドレスが設定される。
In the next transmission packet data
次に、前述したように、送信タイムスロットメモリ131へ送信パケットの情報を格納する処理について説明する。
Next, as described above, processing for storing transmission packet information in the transmission
まず、遅延送信手段130は、遅延計算手段120から受信したパケット情報を基に、受信パケット格納メモリ510内の処理対象パケットを、送信パケット格納メモリ132内に送信パケットデータ431としてコピーする。
First, the
次に、遅延送信手段130は、現在時刻に、遅延計算手段120から受信した遅延時間を加え、送信予定時刻を計算する。 Next, the delay transmission means 130 adds the delay time received from the delay calculation means 120 to the current time to calculate the scheduled transmission time.
さらに、遅延送信手段130は、算出した送信予定時刻が送信タイムスロットメモリ131のタイムスロット欄のどのタイムスロットT0〜Txに該当するかを調べる。
Further, the delay transmission means 130 checks which time slot T0 to Tx in the time slot column of the transmission
例えば、送信予定時刻がタイムスロットT0で示される時刻範囲内に含まれる場合には、タイムスロットT0が該当することになる。 For example, when the scheduled transmission time is included in the time range indicated by the time slot T0, the time slot T0 is applicable.
以下では、送信予定時刻がタイムスロットT0に該当した場合を例に説明する。 Hereinafter, a case where the scheduled transmission time corresponds to the time slot T0 will be described as an example.
送信タイムスロットメモリ131のタイムスロット欄410のタイムスロットT0に対応する格納部421にアドレスが設定されていない場合には、タイムスロットT0の間に送信すべきパケットが1つも送信パケット格納メモリ132に登録されていないことを示す。この場合、遅延送信手段130は、先ほどメモリ132にコピーした送信パケットデータ431の先頭のアドレスを、メモリ131内のタイムスロットT0に対応する格納部421および422に設定する。
If no address is set in the
また、送信タイムスロットメモリ131内のタイムスロット欄410のタイムスロットT0に対応する格納部421にアドレスがすでに設定済みであった場合には、タイムスロットT0の間に送信すべきパケットがすでに送信パケット格納メモリ132に登録されていることを示す。この場合、遅延送信手段130は、すでに登録済みのパケットの末尾に、送信パケットの情報を追加登録する。
If the address has already been set in the
具体的には、遅延送信手段130は、メモリ131内のタイムスロット欄410のタイムスロットT0に対応する格納部421に送信パケットデータ#0の先頭アドレスが格納されているのを確認すると、タイムスロットT0に対応する格納部422に格納された末尾の送信パケットデータ#mの先頭アドレスを基に送信パケット格納メモリ132内の送信パケットデータ#mを参照し、その送信パケットデータ#m内の次送信パケットデータ先頭アドレス部に、先ほどコピーした送信パケットの先頭アドレスを設定する。その後、遅延送信手段130は、タイムスロットT0に対応する格納部422にもその同じアドレスを設定する。
Specifically, when the delay transmission means 130 confirms that the head address of the transmission
次に、指定された遅延時間を経過したパケットを送信タイムスロットメモリ131から取り出して送信する処理について説明する。
Next, a description will be given of processing for extracting and transmitting a packet that has passed the specified delay time from the transmission
遅延送信手段130は、送信対象パケットの有無を判定するために送信タイムスロットメモリ131のタイムスロット欄410の現在時刻が含まれるタイムスロットを参照する。
The delay transmission means 130 refers to a time slot including the current time in the time slot column 410 of the transmission
以下では、現在時刻がタイムスロットT1に含まれた場合を例に説明する。 Hereinafter, a case where the current time is included in the time slot T1 will be described as an example.
送信タイムスロットメモリ131のタイムスロット欄410のタイムスロットT1に対応する格納部421にアドレスが設定されていた場合には、送信対象データが存在することを意味する。遅延送信手段130は、当該アドレスで指定される送信パケット格納メモリ132内の送信パケットデータ部の内容と次送信パケットデータ先頭アドレス部432の内容とを取り出し、送信パケットデータ部の内容は送信デバイスに送られ、パケット送信処理が行われる。
If an address is set in the
また、取り出された次送信パケットデータ先頭アドレス部432の内容としてアドレスが設定されていた場合には、遅延送信手段130は、当該アドレスで指定される送信パケット格納メモリ132内の送信パケットデータ部の内容と次送信パケットデータ先頭アドレス部432の内容とを取り出し、送信パケットデータ部の内容は送信デバイスに送られ、パケット送信処理が行われる。
If the address is set as the content of the next transmission packet data
遅延送信手段130は、これらの処理を次送信パケットデータ先頭アドレス部432にアドレスが設定されている間、繰り返すことにより、タイムスロットT1の間に送信すべきすべての送信パケットの送信を行う。
The delay transmission means 130 transmits all the transmission packets to be transmitted during the time slot T1 by repeating these processes while the address is set in the next transmission packet data
また、送信タイムスロットメモリ131のタイムスロット欄410のタイムスロットT1に対応する格納部421にアドレスが設定されていない場合には、送信対象となるパケットが存在しないので、遅延送信手段130は、パケットを送信する処理を行わない。
If no address is set in the
本実施形態では、遅延時間をToken Bucketアルゴリズムを使用して計算したが、QoSフローごとに設定した送信レートを満たすことが可能な遅延時間を求めることができれば、他のアルゴリズムで計算してもよい。 In this embodiment, the delay time is calculated using the Token Bucket algorithm. However, if a delay time that can satisfy the transmission rate set for each QoS flow can be obtained, it may be calculated using another algorithm. .
なお、本実施形態において、ルータは専用のハードウェアで実現しても良いし、一般のコンピュータで実現してもよい。 In the present embodiment, the router may be realized by dedicated hardware or a general computer.
以上、説明したように、本実施形態には、QoSフローごとに設定した送信レートを満たすようにパケットを送信することができるという効果がある。 As described above, this embodiment has an effect that packets can be transmitted so as to satisfy the transmission rate set for each QoS flow.
その理由は、送信対象パケットをQoSフロー単位ではなく、送信予定時刻範囲ごとに蓄積することによって、送信対象パケットを送信する処理が、QoSフローの数による影響を受けなくなるためである。 The reason is that the process of transmitting the transmission target packet is not affected by the number of QoS flows by accumulating the transmission target packet for each scheduled transmission time range instead of the QoS flow unit.
100 ネットワーク制御装置
110 フロー識別手段
120 遅延計算手段
121 Token Bucketデータベースメモリ
130 遅延送信手段
131 送信タイムスロットメモリ
132 送信パケット格納メモリ
410 タイムスロット欄
420 アドレス情報欄
421 リスト先頭のパケットデータ先頭アドレス格納部
422 リスト末尾のパケットデータ先頭アドレス格納部
431 送信パケットデータ
432 次送信パケットデータ先頭アドレス部
501 パケット受信手段
502 受信側QoS手段
503 ルーティング検索手段
504 送信側QoS手段
505 パケット送信手段
510 受信パケット格納メモリ
601 フロー識別手段
602 キューメモリ
603 パケット送信手段
DESCRIPTION OF
Claims (10)
前記QoSフロー番号を基にあらかじめ定めた方法により遅延時間を計算する計算手段と、
各送信予定時刻範囲対応に送信パケットを蓄積するための蓄積手段と、
前記遅延時間を現在時刻に加えて前記送信対象パケットの送信予定時刻を求め、該送信予定時刻を含む前記送信予定時刻範囲に対応させて前記送信対象パケットを前記送信パケットとして
前記蓄積手段に蓄積し、送信予定時刻の到来時に、該送信予定時刻を含む前記送信予定時刻範囲に対応させて前記蓄積手段に蓄積した前記送信パケットを送信する送信手段と、
を備えることを特徴とするネットワーク制御装置。 An identification means for identifying a QoS flow number based on the content of the packet to be transmitted;
Calculation means for calculating a delay time by a predetermined method based on the QoS flow number;
Storage means for storing transmission packets corresponding to each scheduled transmission time range;
The delay time is added to the current time to obtain the scheduled transmission time of the transmission target packet, and the transmission target packet is stored in the storage unit as the transmission packet in correspondence with the planned transmission time range including the transmission scheduled time. Transmitting means for transmitting the transmission packet stored in the storage means in correspondence with the scheduled transmission time range including the scheduled transmission time when the scheduled transmission time arrives;
A network control apparatus comprising:
各前記送信予定時刻範囲対応に、最初に送信する送信パケットの格納領域の先頭アドレスを記憶する先頭パケットアドレス格納部と最後に送信する送信パケットの格納領域の先頭アドレスを記憶する末尾パケットアドレス格納部と設けたタイムスロットメモリと、
送信パケットと当該送信パケットの次に送信する送信パケットの格納領域の先頭アドレスとの対を各前記送信予定時刻範囲対応に格納するパケット格納手段と、
を備えることを特徴とする請求項1に記載のネットワーク制御装置。 The storage means includes
Corresponding to each of the scheduled transmission time ranges, a leading packet address storage unit that stores a leading address of a storage region of a transmission packet to be transmitted first and a trailing packet address storage unit that stores a leading address of a storage region of a transmission packet to be transmitted last A time slot memory provided with
Packet storage means for storing a pair of a transmission packet and a start address of a storage area of a transmission packet to be transmitted next to the transmission packet in correspondence with each of the transmission scheduled time ranges,
The network control apparatus according to claim 1, further comprising:
現在時刻を含む前記送信予定時刻範囲に対応して設けられた前記先頭パケットアドレス格納部に記憶された先頭アドレスで指定される最初に送信すべき送信パケットを送信し、次に当該送信パケットと対で前記格納手段に記憶された前記先頭アドレスで指定される送信パケットを送信するといった動作を、送信パケットと対で前記パケット格納手段に記憶された前記先頭アドレスが存在する限り繰り返すことにより、前記現在時刻を含む前記送信予定時刻範囲内に送信すべきすべての送信パケットを送信する
ことを特徴とする請求項2記載のネットワーク制御装置。 The transmission means includes
Transmitting a transmission packet to be transmitted first designated by a head address stored in the head packet address storage unit provided corresponding to the scheduled transmission time range including the current time, and then pairing with the transmission packet; By repeating the operation of transmitting the transmission packet specified by the head address stored in the storage means in the transmission packet as long as the head address stored in the packet storage means exists, the current packet The network control apparatus according to claim 2, wherein all transmission packets to be transmitted are transmitted within the scheduled transmission time range including a time.
前記QoSフロー番号を基にあらかじめ定めた方法により遅延時間を計算する計算ステップと、
前記遅延時間を現在時刻に加えて前記送信対象パケットの送信予定時刻を求める送信予定時刻決定ステップと、
各送信予定時刻範囲対応に送信パケットを蓄積するための蓄積手段に、前記送信時刻決定ステップで求めた前記送信予定時刻を含む前記送信予定時刻範囲に対応させて前記送信対象パケットを前記送信パケットとして蓄積する蓄積ステップと、
送信予定時刻の到来時に、該送信予定時刻を含む前記送信予定時刻範囲に対応させて前記蓄積手段に蓄積した前記送信パケットを送信する送信ステップと
を含むことを特徴とするネットワーク制御方法。 An identification step for identifying a QoS flow number based on the content of the packet to be transmitted;
A calculation step of calculating a delay time by a predetermined method based on the QoS flow number;
A scheduled transmission time determination step for obtaining a transmission scheduled time of the transmission target packet by adding the delay time to the current time;
In the storage means for storing the transmission packet corresponding to each scheduled transmission time range, the transmission target packet is set as the transmission packet in association with the planned transmission time range including the planned transmission time obtained in the transmission time determining step. An accumulation step to accumulate;
And a transmission step of transmitting the transmission packet stored in the storage means in correspondence with the transmission scheduled time range including the transmission scheduled time when the transmission scheduled time arrives.
各前記送信予定時刻範囲対応に、最初に送信する送信パケットの格納領域の先頭アドレスを記憶する先頭パケットアドレス格納部と最後に送信する送信パケットの格納領域の先頭アドレスを記憶する末尾パケットアドレス格納部と設けたタイムスロットメモリと、
送信パケットと当該送信パケットの次に送信する送信パケットの格納領域の先頭アドレスとの対を各前記送信予定時刻範囲対応に格納するパケット格納手段と、
を含むことを特徴とする請求項5に記載のネットワーク制御方法。 The storage means includes
Corresponding to each of the scheduled transmission time ranges, a leading packet address storage unit that stores a leading address of a storage region of a transmission packet to be transmitted first and a trailing packet address storage unit that stores a leading address of a storage region of a transmission packet to be transmitted last A time slot memory provided with
Packet storage means for storing a pair of a transmission packet and a start address of a storage area of a transmission packet to be transmitted next to the transmission packet in correspondence with each of the transmission scheduled time ranges,
The network control method according to claim 5, further comprising:
現在時刻を含む前記送信予定時刻範囲に対応して設けられた前記先頭パケットアドレス格納部に記憶された先頭アドレスで指定される最初に送信すべき送信パケットを送信し、次に当該送信パケットと対で前記格納手段に記憶された前記先頭アドレスで指定される送信パケットを送信するといった動作を、送信パケットと対で前記パケット格納手段に記憶された前記先頭アドレスが存在する限り繰り返すことにより、前記現在時刻を含む前記送信予定時刻範囲内に送信すべきすべての送信パケットを送信する
ことを特徴とする請求項6記載のネットワーク制御方法。 In the transmission step,
Transmitting a transmission packet to be transmitted first designated by a head address stored in the head packet address storage unit provided corresponding to the scheduled transmission time range including the current time, and then pairing with the transmission packet; By repeating the operation of transmitting the transmission packet specified by the head address stored in the storage means in the transmission packet as long as the head address stored in the packet storage means exists, the current packet The network control method according to claim 6, wherein all transmission packets to be transmitted are transmitted within the scheduled transmission time range including a time.
前記QoSフロー番号を基にあらかじめ定めた方法により遅延時間を計算する計算処理と、
前記遅延時間を現在時刻に加えて前記送信対象パケットの送信予定時刻を求める送信予定時刻決定処理と、
各送信予定時刻範囲対応に送信パケットを蓄積するための蓄積手段に、前記送信時刻決定ステップで求めた前記送信予定時刻を含む前記送信予定時刻範囲に対応させて前記送信対象パケットを前記送信パケットとして蓄積する蓄積処理と、
送信予定時刻の到来時に、該送信予定時刻を含む前記送信予定時刻範囲に対応させて前記蓄積手段に蓄積した前記送信パケットを送信する送信処理と
をコンピュータに実行させることを特徴とするネットワーク制御プログラム。 An identification process for identifying a QoS flow number based on the content of the packet to be transmitted;
A calculation process for calculating a delay time by a predetermined method based on the QoS flow number;
A scheduled transmission time determination process for determining the scheduled transmission time of the transmission target packet by adding the delay time to the current time;
In the storage means for storing the transmission packet corresponding to each scheduled transmission time range, the transmission target packet is set as the transmission packet in association with the planned transmission time range including the planned transmission time obtained in the transmission time determining step. Accumulation processing to accumulate,
A network control program for causing a computer to execute a transmission process of transmitting the transmission packet stored in the storage means in correspondence with the transmission scheduled time range including the transmission scheduled time when the transmission scheduled time arrives .
各前記送信予定時刻範囲対応に、最初に送信する送信パケットの格納領域の先頭アドレスを記憶する先頭パケットアドレス格納部と最後に送信する送信パケットの格納領域の先頭アドレスを記憶する末尾パケットアドレス格納部と設けたタイムスロットメモリと、
送信対象パケットと当該送信パケットの次に送信する送信パケットの格納領域の先頭アドレスとの対を各前記送信予定時刻範囲対応に格納するパケット格納手段と
を備えることを特徴とする請求項8に記載のネットワーク制御プログラム。 The storage means includes
Corresponding to each of the scheduled transmission time ranges, a leading packet address storage unit that stores a leading address of a storage region of a transmission packet to be transmitted first and a trailing packet address storage unit that stores a leading address of a storage region of a transmission packet to be transmitted last A time slot memory provided with
9. The packet storage means for storing a pair of a packet to be transmitted and a start address of a storage area of a transmission packet to be transmitted next to the transmission packet in correspondence with each of the scheduled transmission time ranges. Network control program.
現在時刻を含む前記送信予定時刻範囲に対応して設けられた前記先頭パケットアドレス格納部に記憶された先頭アドレスで指定される最初に送信すべき送信パケットを送信し、次に当該送信パケットと対で前記格納手段に記憶された前記先頭アドレスで指定される送信パケットを送信するといった動作を、送信パケットと対で前記パケット格納手段に記憶された前記先頭アドレスが存在する限り繰り返すことにより、前記現在時刻を含む前記送信予定時刻範囲内に送信すべきすべての送信パケットを送信する
ことを特徴とする請求項9記載のネットワーク制御プログラム。 In the transmission step process,
Transmitting a transmission packet to be transmitted first designated by a head address stored in the head packet address storage unit provided corresponding to the scheduled transmission time range including the current time, and then pairing with the transmission packet; By repeating the operation of transmitting the transmission packet specified by the head address stored in the storage means in the transmission packet as long as the head address stored in the packet storage means exists, the current packet The network control program according to claim 9, wherein all transmission packets to be transmitted are transmitted within the transmission scheduled time range including a time.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012138690A JP2014003525A (en) | 2012-06-20 | 2012-06-20 | Network control device, network control method, and network control program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012138690A JP2014003525A (en) | 2012-06-20 | 2012-06-20 | Network control device, network control method, and network control program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2014003525A true JP2014003525A (en) | 2014-01-09 |
Family
ID=50036297
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012138690A Pending JP2014003525A (en) | 2012-06-20 | 2012-06-20 | Network control device, network control method, and network control program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2014003525A (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001045003A (en) * | 1999-08-02 | 2001-02-16 | Nippon Telegr & Teleph Corp <Ntt> | Cell schedule system |
JP2001274795A (en) * | 2000-03-23 | 2001-10-05 | Nippon Telegr & Teleph Corp <Ntt> | Cell-shaping unit |
US6611522B1 (en) * | 1998-06-19 | 2003-08-26 | Juniper Networks, Inc. | Quality of service facility in a device for performing IP forwarding and ATM switching |
-
2012
- 2012-06-20 JP JP2012138690A patent/JP2014003525A/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6611522B1 (en) * | 1998-06-19 | 2003-08-26 | Juniper Networks, Inc. | Quality of service facility in a device for performing IP forwarding and ATM switching |
JP2001045003A (en) * | 1999-08-02 | 2001-02-16 | Nippon Telegr & Teleph Corp <Ntt> | Cell schedule system |
JP2001274795A (en) * | 2000-03-23 | 2001-10-05 | Nippon Telegr & Teleph Corp <Ntt> | Cell-shaping unit |
Non-Patent Citations (2)
Title |
---|
JPN6016006800; Choi, Hyung-Woo, et al.: 'Quality-of-service scheduler for next generation network services' Advanced Communication Technology, 2009. ICACT 2009. 11th International Conference on Vol. 1, 2009, pp. 399-402, IEEE * |
JPN6016006803; 鈴木宗良,小田孝和: 'QoS保証型通信を実現するストリーム型ATM NIC-アーキテクチャ概要-' 電子情報通信学会技術研究報告 IN98-98 , 1998, 第67-74頁, 社団法人電子情報通信学会 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11316795B2 (en) | Network flow control method and network device | |
US8665892B2 (en) | Method and system for adaptive queue and buffer control based on monitoring in a packet network switch | |
US20090059937A1 (en) | Network system for guarantee QoS | |
WO2010014208A1 (en) | Dynamic setting of optimal buffer sizes in ip networks | |
CN103929372B (en) | Active queue management method and apparatus | |
EP3186934A1 (en) | Scheduler, sender, receiver, network node and methods thereof | |
CN102859950A (en) | Method of estimating congestion | |
EP1495596A1 (en) | Reducing packet data delay variation | |
CN111526095B (en) | Flow control method and device | |
US9674104B1 (en) | Adapting proportional integral controller enhanced algorithm for varying network conditions in a network environment | |
WO2022183879A1 (en) | Packet forwarding method, electronic device, and storage medium | |
WO2019061302A1 (en) | Message processing method and device | |
US20170048145A1 (en) | Switching device and control method of switching device | |
CN111147381B (en) | Flow balancing method and device | |
KR101737516B1 (en) | Method and apparatus for packet scheduling based on allocating fair bandwidth | |
JP2020022023A (en) | Packet transfer device, method, and program | |
JP2012039191A (en) | Communication system and communication quality control method | |
US20120063339A1 (en) | Method and apparatus for transmitting packet in wireless network | |
Baldi et al. | Time-driven priority router implementation: Analysis and experiments | |
JP2014003525A (en) | Network control device, network control method, and network control program | |
Park et al. | Minimizing application-level delay of multi-path TCP in wireless networks: A receiver-centric approach | |
US20120057605A1 (en) | Bandwidth Control Method and Bandwidth Control Device | |
KR102128015B1 (en) | Network switching apparatus and method for performing marking using the same | |
JP6082330B2 (en) | Communication apparatus, program, and method for increasing accommodation efficiency of aggregated packets for each path in consideration of allowable waiting time | |
WO2013000112A1 (en) | Rate limit method and device for leaky bucket |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150518 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160217 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160223 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160331 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160524 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20161122 |