JP4391346B2 - COMMUNICATION CONTROL METHOD, COMMUNICATION CONTROL DEVICE, CONTROL PROGRAM, AND RECORDING MEDIUM - Google Patents
COMMUNICATION CONTROL METHOD, COMMUNICATION CONTROL DEVICE, CONTROL PROGRAM, AND RECORDING MEDIUM Download PDFInfo
- Publication number
- JP4391346B2 JP4391346B2 JP2004204129A JP2004204129A JP4391346B2 JP 4391346 B2 JP4391346 B2 JP 4391346B2 JP 2004204129 A JP2004204129 A JP 2004204129A JP 2004204129 A JP2004204129 A JP 2004204129A JP 4391346 B2 JP4391346 B2 JP 4391346B2
- Authority
- JP
- Japan
- Prior art keywords
- flow
- user
- packet
- bandwidth
- communication control
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 82
- 238000004891 communication Methods 0.000 title claims description 58
- PWPJGUXAGUPAHP-UHFFFAOYSA-N lufenuron Chemical compound C1=C(Cl)C(OC(F)(F)C(C(F)(F)F)F)=CC(Cl)=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F PWPJGUXAGUPAHP-UHFFFAOYSA-N 0.000 title 1
- 230000005540 biological transmission Effects 0.000 claims description 39
- 238000012545 processing Methods 0.000 claims description 28
- 230000007246 mechanism Effects 0.000 claims description 26
- 230000008569 process Effects 0.000 claims description 22
- 238000005498 polishing Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 12
- 239000004744 fabric Substances 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000003111 delayed effect Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Description
本発明は、トークンバケツモデルを用いた通信制御方法において、余剰帯域及びバッファ容量を公平に配分する通信制御方法、その方法を用いた通信制御装置、制御プログラム及び記録媒体に関する。 The present invention relates to a communication control method for fair distribution of surplus bandwidth and buffer capacity in a communication control method using a token bucket model, a communication control device using the method, a control program, and a recording medium.
近年、通信ネットワークの接続サービスでは、FTTH(Fiber To The Home)の普及によって高速な接続サービスが低コストで提供できるようになってきている。 In recent years, in connection services for communication networks, high-speed connection services can be provided at low cost due to the widespread use of FTTH (Fiber To The Home).
例えば、音声データをデジタル化し、圧縮して、インターネット上またはIPネットワーク上を交換または伝送するVoIP(Voice over IP)や、インターネット電話が実用化されている。VoIPはデータパケットと音声データを1個のネットワーク上で混在して伝送できるので、ネットワークの建設費用、運用費用とも節減できる。さらに、その中でユーザの利用できる帯域を保証する通信サービスが普及してきている。 For example, VoIP (Voice over IP) and Internet telephone which digitize and compress voice data and exchange or transmit the data on the Internet or IP network have been put into practical use. Since VoIP can transmit data packets and voice data mixedly on a single network, it can save both network construction costs and operation costs. In addition, communication services that guarantee bandwidth available to users are becoming widespread.
このような通信ネットワークを流れるデータトラフィックは、その使用するアプリケーションに応じたQoS(Quality of Service:サービス品質)制御を行う必要がある。 Data traffic flowing through such a communication network needs to be subjected to QoS (Quality of Service) control according to the application used.
QoS制御により、帯域の調整を通してSLA(Service Level Agreement:サービスレベル契約)を施行する。SLAは、指定されたユーザまたはサービスタイプに対してネットワークが満たさなければならない保証基準を定義したものである。これらの基準には、保証される帯域、パケット損失等が含まれる。 With QoS control, SLA (Service Level Agreement) is enforced through bandwidth adjustment. SLA defines the assurance criteria that a network must meet for a specified user or service type. These criteria include guaranteed bandwidth, packet loss, and the like.
保証される帯域としては、使用可能な帯域の最小、平均、及びピーク保証値が指定できる。パケット損失は、送信後受信されていないパケットや、受信でエラーが発生したパケットの数または割合を示す。 As the guaranteed bandwidth, the minimum, average, and peak guaranteed values of the usable bandwidth can be designated. Packet loss indicates the number or percentage of packets that have not been received after transmission, or packets that have received errors.
このQoS制御を行うための技術方法としては、各フロー毎に異なるキューを構成し、各キューから送信されるパケットをスケジューラによって1回に1個づつ取り出し、スケジューリングするスケジューリング方法がある。 As a technical method for performing the QoS control, there is a scheduling method in which different queues are configured for each flow, and packets transmitted from the queues are extracted one by one by a scheduler and scheduled.
また、ネットワーク内の各通信制御装置(以下、ルータという)で、フローをユーザ毎、サービスタイプ毎のフローに分類して、各フローに対してそれぞれ帯域とバッファ容量を割り当て、フローの最大流量を制限するポリシング方法なども用いられている。 Also, each communication control device (hereinafter referred to as a router) in the network classifies flows into flows for each user and service type, assigns a bandwidth and buffer capacity to each flow, and sets the maximum flow rate of the flow. Restricting policing methods are also used.
図5は、スケジューリング方法の1態様を示す図である。
図5は、複数の情報ソース25−1〜25−n、キュー12−1〜12−n、フロー32−1〜32−n、1つの出リンク17を備えたスケジューラ13からなっている。
FIG. 5 is a diagram illustrating one aspect of the scheduling method.
FIG. 5 includes a
図5に示すように、スケジューリング方法とは、複数個の情報ソース25−1〜25−nからパケットが送信され、それぞれ、フロー32−1〜32−nを通じて、キュー12−1〜12−nに入る。スケジューラ13は1回に1個のパケットしかキュー12−1〜12−nから取り出すことができない。
As shown in FIG. 5, the scheduling method is a method in which packets are transmitted from a plurality of information sources 25-1 to 25-n, and queues 12-1 to 12-n are respectively transmitted through flows 32-1 to 32-n. to go into. The
フローが複数本の場合、スケジューラ13はパケットを複数本のキューに待たせて、所定の方法に従ってキューから1個ずつ順に、パケットを取り出して出リンクに送出する必要がある。この送出順序を選択する方法はスケジューリング方法と言われる。
When there are a plurality of flows, the
代表的なスケジューリング方法としては、パケットを到着順に出リンクに送出するFIFO(First In First Out)スケジューリング、可変長のパケットを扱う不足ラウンドロビンスケジューリング、フローの扱いの公平性を狙った重み付けフェアスケジューリング等がある。 Typical scheduling methods include FIFO (First In First Out) scheduling for sending packets to the outgoing link in the order of arrival, insufficient round-robin scheduling for handling variable-length packets, weighted fair scheduling for fair handling of flows, etc. There is.
また、アプリケーションがフローごとのプライオリティ(優先度)を定め、そのフローのすべてのパケットにフローのプライオリティを追加し、プライオリティで定まる優先度に従ってパケットを処理するプライオリティスケジューリングもある。 There is also priority scheduling in which an application determines a priority (priority) for each flow, adds the flow priority to all packets of the flow, and processes the packets according to the priority determined by the priority.
一方、1台のルータに収容されるユーザ数はコスト削減などの理由により増加傾向であり、数千から数万のユーザを収容することも珍しくない。また、回線速度も近年急速に高速化している。 On the other hand, the number of users accommodated in a single router is increasing for reasons such as cost reduction, and it is not uncommon to accommodate thousands to tens of thousands of users. Also, the line speed has been rapidly increased in recent years.
しかしながら、このような高速回線上で多数のユーザに対して個別にキューを構成し、パケットのスケジューリングを行うことは、ルータの処理能力的に困難である。また、専用のハードウェアで実現するとしても、設計回路が複雑になりコストが多大にかかる。 However, it is difficult in terms of processing capability of the router to individually configure queues for a large number of users on such a high-speed line and perform packet scheduling. Even if it is realized by dedicated hardware, the design circuit becomes complicated and the cost is very high.
また、スケジューリング方法ではパケットのバッファ容量の利用効率が非効率になる問題もある。仮にルータの持つバッファ容量が1メガバイトの容量であるとする。1000人のユーザに対して個別にキューを作り、各キューの最大キュー長を設定すると、1メガバイト÷1000ユーザ=1キロバイトのバッファ容量の割当となる。 In addition, the scheduling method has a problem in that the utilization efficiency of the packet buffer capacity becomes inefficient. Assume that the buffer capacity of the router is 1 megabyte. If queues are individually created for 1000 users and the maximum queue length of each queue is set, 1 megabyte ÷ 1000 users = 1 buffer capacity is allocated.
しかし、サービスを契約しているユーザが1000人いるとしても、ある時間に実際にフローを流しているユーザの数はそれほど多くないと考えられる。例えば、サービスを契約しているユーザが400人であれば、600人のユーザは実際にフローを流していないことになる。 However, even if there are 1000 users who have subscribed to the service, the number of users who are actually making a flow at a certain time is not so large. For example, if the number of users contracting for the service is 400, 600 users do not actually flow.
そのため、上述のように最大キュー長を設定すると実際にはバッファ容量はほとんど使われていないにも関わらず、パケットの廃棄や遅延が発生することになり、バッファ容量の利用効率が非常に悪くなる。 Therefore, if the maximum queue length is set as described above, the packet capacity will be discarded or delayed even though the buffer capacity is practically scarcely used, and the efficiency of using the buffer capacity becomes very poor. .
さらに、特許文献2に開示されているように、複数のスケジューリング方法の中で1つのスケジューリング方法を使用し、バッファ容量を効率的に割当てることは難しく、実装することも極めて複雑となる。
Furthermore, as disclosed in
一方、スケジューリング方法の代わりに、各フロー毎に帯域とバースト量を制限することができる通信制御方法、例えばポリシング方法等も提供される。 On the other hand, instead of the scheduling method, a communication control method capable of limiting the bandwidth and the burst amount for each flow, such as a policing method, is also provided.
ポリシング方法では、各フロー毎に帯域と許容バースト量の検定が行われる。即ち、ポリシング方法は、ポリサーと呼ばれる流量計を用いて、フローを常に測定している。帯域と許容バースト量の検定が行われた結果、不適合と判定された場合、即ち、ポリサーに設定した帯域の値をフローが超えた場合や、ポリサーに設定した許容バースト量をフローが超えた場合、パケットは廃棄または遅延される。 In the policing method, the bandwidth and the allowable burst amount are verified for each flow. In other words, the policing method always measures the flow using a flow meter called a policer. When the bandwidth and allowable burst amount are tested and determined to be nonconforming, that is, when the flow exceeds the bandwidth value set for the policer, or when the flow exceeds the allowable burst amount set for the policer The packet is discarded or delayed.
そして、帯域と許容バースト量の検定が行われた結果、適合と判定された場合、即ち、ポリサーに設定した帯域の値をフローが超えず、かつ、ポリサーに設定した許容バースト量をフローが超えない場合、パケットは次段の処理に入る方法である。 As a result of the verification of the bandwidth and the allowable burst amount, if it is determined to be compatible, that is, the flow does not exceed the bandwidth value set in the policer, and the flow exceeds the allowable burst amount set in the policer. If not, the packet is a method of entering the next stage of processing.
ポリシング方法の1つの方法として、トークンバケツモデルを用いたポリシング方法がある。 As one of the policing methods, there is a policing method using a token bucket model.
図6はトークンバケツモデルを用いたポリシング方法を模式的に説明する図である。
図6は、トークン26、トークンバケツ27、パケット28、ポリサー8、キュー12からなっている。
FIG. 6 is a diagram schematically illustrating a polishing method using a token bucket model.
FIG. 6 includes a
図6で示すように、トークンバケツモデルを用いたポリシング方法は、トークン26と呼ばれるトラフィック送信権を表す仮想的な流量を用いる。そして、このトラフィックの流量を制限したいフローには、このトークン26をためておくための仮想的なトークンバケツ27が用意される。このトークンバケツ27にはフローの制限流量に等しい一定のレート、即ち、トークンバケツ27にトークン26が供給される速さで、トークン26が補充されている。
As shown in FIG. 6, the policing method using the token bucket model uses a virtual flow rate representing a traffic transmission right called a
パケット28がポリサー8に到着すると、ポリサー8はこのパケットのデータ量に比例したトークン26をトークンバケツ27から取り出す。例えば、パケット28がポリサー8に到着し、そのパケット28が64バイト分のトークン26を必要とする場合、トークンバケツ27からトークン26を64バイト分取り出す。
When the
パケット28は必要な量のトークン26を取り出すことで、トラフィック送信権を得て、パケット28は送信され、いったんキュー12に格納する。パケット28に必要な量のトークン26がトークンバケツ27から供給されない場合は、このパケット28は廃棄や遅延等の処理が行われる。そうすることで、フローの流量制限が実現される。
The
しかしながら、上述したポリサーは、特許文献1が開示するように、複数のフローに対して、フロー毎に帯域制限を行うものである。この場合には、パケットが送信されないフローが存在すると、余剰帯域は他のフローが使用できず、また、バッファ容量の効率的な割当てもできない。さらに、余剰帯域を各フローに公平に配分することは実装する上でも極めて困難である。
しかしながら、上述のトークンバケツモデルを用いたポリシング方法は、各フローを検定し、廃棄や遅延等をする機能だけを有しており、帯域とバッファ容量を公平に割り当てることができないという問題点があった。 However, the above-described policing method using the token bucket model has a problem in that each flow is verified and only a function of discarding or delaying is provided, and a bandwidth and a buffer capacity cannot be allocated fairly. It was.
本発明は、上述の問題点に鑑みなされたものであり、各フローに対して、帯域制限を行うとともに、各フローに対して公平に帯域およびバッファ容量を配分することができる通信制御方法、その方法を用いた通信制御装置、制御プログラム及び記録媒体の提供を目的とする。 The present invention has been made in view of the above-described problems. A communication control method capable of performing bandwidth limitation on each flow and fairly distributing the bandwidth and the buffer capacity to each flow, and its An object of the present invention is to provide a communication control device, a control program, and a recording medium using the method.
この発明の通信制御方法の第1の態様は、入力パケットデータに対してポリシング処理により帯域制御を行って伝送を行う通信制御方法であって、
前記入力パケットデータを少なくとも1ユーザ毎のフローに分類するステップと、
同時並行して伝送可能な複数の前記フローに対して前記伝送のために割当てられている全帯域を、実際に伝送すべき前記フローに割当てるポリシングステップとを備え、
前記フローは帯域の割合に応じた重みが割当てられており、
前記ポリシングステップは、
実際に通信を行っているフロー番号iのフローの重みをW i 、現在通信を行っているフロー全体の重みの合計値をA、パケットデータ長をLとした場合に、
当該フロー番号iの次パケットが到着する時間の理論的な予想値(TAT値)を、TAT i =TAT i +L×A/W i の式から算出し、
該予想値を用いて前記ポリシング処理を行うことにより、
実際に通信を行っているフローに対し、Wi/Aの割合に基づいた帯域割当てをすることを特徴とする通信制御方法である。
A first aspect of the communication control method of the present invention is a communication control method for performing transmission by performing bandwidth control on input packet data by policing processing ,
Classifying the input packet data into flows for at least one user;
A policing step for allocating all the bandwidths allocated for the transmission to the flows to be transmitted in parallel to the flows to be actually transmitted ,
The flow is assigned a weight according to the bandwidth ratio,
The policing step includes:
When the weight of the flow of the flow number i that is actually communicating is W i , the total value of the weights of the entire flow that is currently communicating is A, and the packet data length is L,
The theoretical expected value (TAT value) of the arrival time of the next packet of the flow number i is calculated from the formula TAT i = TAT i + L × A / W i
By performing the policing process using the predicted value,
This is a communication control method characterized by allocating a bandwidth based on the ratio of W i / A to a flow that is actually communicating.
この発明の通信制御方法の第2の態様は、少なくとも1ユーザ毎に、実際に伝送すべきフローに割当てる際、少なくとも1ユーザの送信するデータの伝送速度を可変することを特徴とする通信制御方法である。 According to a second aspect of the communication control method of the present invention, the transmission rate of data transmitted by at least one user is varied when allocating the flow to be actually transmitted at least for each user. It is.
この発明の通信制御方法の第3の態様は、少なくとも1ユーザ毎に、割当てるパケット容量を可変することを特徴とする通信制御方法である。 A third aspect of the communication control method of the present invention is a communication control method characterized in that the packet capacity to be allocated is varied at least for each user.
この発明の通信制御装置の第1の態様は、入力パケットデータに対してポリシング処理により帯域制御を行って伝送を行う通信制御装置であって、
前記入力パケットデータを少なくとも1ユーザ毎のフローに分類するパケット分類機構と、
同時並行して伝送可能な複数のフローに対して伝送のために割当てられている全帯域を、実際に伝送すべき前記フローに割当てるポリシング処理部とを備え、
前記フローは帯域の割合に応じた重みが割当て付けられており、
前記ポリシング処理部は、
実際に通信を行っているフロー番号iのフローの重みをW i 、現在通信を行っているフロー全体の重みの合計値をA、パケットデータ長をLとした場合に、
当該フロー番号iの次パケットが到着する時間の理論的な予想値(TAT値)を、TAT i =TAT i +L×A/W i の式から算出し、
該予想値を用いて前記ポリシング処理を行うことにより、
実際に通信を行っているフローに対し、W i /Aの割合に基づいた帯域割当てをすることを特徴とする通信制御装置である。
A first aspect of the communication control apparatus of the present invention is a communication control apparatus that performs transmission by performing bandwidth control on input packet data by policing processing ,
A packet classification mechanism for classifying the input packet data into flows for at least one user;
A policing processing unit that allocates the entire bandwidth allocated for transmission to a plurality of flows that can be transmitted in parallel, to the flow to be actually transmitted ,
The flow is assigned a weight according to the bandwidth ratio,
The polishing processing unit
When the weight of the flow of the flow number i that is actually communicating is W i , the total value of the weights of the entire flow that is currently communicating is A, and the packet data length is L,
The theoretical expected value (TAT value) of the arrival time of the next packet of the flow number i is calculated from the formula TAT i = TAT i + L × A / W i
By performing the policing process using the predicted value,
The communication control apparatus is characterized in that a bandwidth is allocated based on a ratio of W i / A to a flow that is actually communicating .
この発明の通信制御装置の第2の態様は、少なくとも1ユーザ毎に、実際に伝送すべきフローに割当てる際、少なくとも1ユーザの送信するデータの伝送速度を可変することを特徴とする通信制御装置である。 According to a second aspect of the communication control apparatus of the present invention, at least for each user, when allocating to a flow to be actually transmitted, a transmission rate of data transmitted by at least one user is varied. It is.
この発明の通信制御装置の第3の態様は、少なくとも1ユーザ毎に、割当てるパケット容量を可変することを特徴とする通信制御装置である。 A third aspect of the communication control apparatus according to the present invention is a communication control apparatus characterized in that a packet capacity to be allocated is varied at least for each user.
この発明の制御プログラムの第1の態様は、入力パケットデータに対してポリシング処理により帯域制御を行って伝送を行う通信制御装置をコンピュータにより制御するための制御プログラムであって、
前記入力パケットデータを少なくとも1ユーザ毎のフローに分類させ、
同時並行して伝送可能な複数の前記フローに対して前記伝送のために割当てられている全帯域を、実際に伝送すべき前記フローに割当てるポリシング処理ステップを備え、
前記フローは帯域の割合に応じた重みが割り当てられており、
前記ポリシング処理ステップは、
実際に通信を行っているフロー番号iのフローの重みをW i 、現在通信を行っているフロー全体の重みの合計値をA、パケットデータ長をLとした場合に、
当該フロー番号iの次パケットが到着する時間の理論的な予想値(TAT値)を、TAT i =TAT i +L×A/W i の式から算出し、
該予想値を用いて前記ポリシング処理ステップを実行させることにより、
実際に通信を行っているフローに対し、W i /Aの割合に基づいた帯域割当てを行わせることを特徴とする制御プログラムである。
According to a first aspect of the control program of the present invention, there is provided a control program for controlling, by a computer, a communication control device that performs transmission by performing bandwidth control by policing processing on input packet data.
Classifying the input packet data into at least one user flow;
A policing process step of allocating the entire bandwidth allocated for the transmission to a plurality of flows that can be transmitted in parallel to the flow to be actually transmitted ;
The flow is assigned a weight according to the bandwidth ratio ,
The policing processing step includes:
When the weight of the flow of the flow number i that is actually communicating is W i , the total value of the weights of the entire flow that is currently communicating is A, and the packet data length is L,
The theoretical expected value (TAT value) of the arrival time of the next packet of the flow number i is calculated from the formula TAT i = TAT i + L × A / W i
By causing the policing processing step to be executed using the predicted value,
This is a control program characterized by causing a flow in actual communication to perform bandwidth allocation based on the ratio of W i / A.
この発明の制御プログラムの第2の態様は、少なくとも1ユーザ毎に、実際に伝送すべきフローに割当てる際、少なくとも1ユーザの送信するデータの伝送速度を可変することを特徴とする制御プログラムである。 According to a second aspect of the control program of the present invention, there is provided a control program characterized by varying the transmission rate of data transmitted by at least one user when allocating to a flow to be actually transmitted at least for each user. .
この発明の制御プログラムの第3の態様は、少なくとも1ユーザ毎に、割当てるパケット容量を可変することを特徴とする制御プログラムである。 A third aspect of the control program of the present invention is a control program characterized in that the packet capacity to be allocated is varied at least for each user.
この発明の記録媒体の第1の態様は、上述の制御プログラムを記録するコンピュータ読取可能な記録媒体である。 A first aspect of the recording medium of the present invention is a computer-readable recording medium for recording the control program described above.
この発明の通信制御方法によって、複雑なスケジューリング方法を行わなくても、この発明で示した単純な通信制御方法によって各ユーザのフローに公平に帯域とバッファ容量を割り当てることができる。 According to the communication control method of the present invention, a bandwidth and a buffer capacity can be allocated to each user's flow in a fair manner by the simple communication control method shown in the present invention without performing a complicated scheduling method.
また、スケジューリング方法では困難であった、通信中のユーザのみを考慮してパケットのバッファ容量割当てを行うことができる。例えば、1000人のユーザを収容している装置でバッファ容量が1メガバイトの容量である時に、ある時点で通信を行っているユーザが10人しかいない場合、スケジューリングによる方法では各ユーザあたり1キロバイトの容量のバッファ容量を割当てることになる。 Further, it is possible to allocate a buffer capacity of a packet in consideration of only a user who is communicating, which is difficult with a scheduling method. For example, if a device that accommodates 1000 users and the buffer capacity is 1 megabyte, and there are only 10 users communicating at a certain point in time, the scheduling method uses 1 kilobyte for each user. A buffer capacity of a capacity is allocated.
しかし、この発明の通信制御方法を用いれば、ある時点で通信を行っているユーザが10人しかいない場合には、100キロバイトの容量のバッファ容量の割当てが可能になる。 However, when the communication control method of the present invention is used, when there are only 10 users who are communicating at a certain time, it is possible to allocate a buffer capacity of 100 kilobytes.
以下に、本発明の実施形態を、図面を参照しながら詳細に説明する。 Embodiments of the present invention will be described below in detail with reference to the drawings.
図1は、ポリサーを備えた通信制御装置の構造を示す図である。
図1に示すように、ルータ1は入出力ポート2−1〜2−n、スイッチファブリック3、ネットワークプロセッサ33を備えている。そして、ネットワークプロセッサ33はトラフィック調整機構6、トラフィック制御機構15を備えている。
FIG. 1 is a diagram illustrating a structure of a communication control apparatus including a policer.
As shown in FIG. 1, the
なお、ルータ1は当該ルータ1全体を制御するための図示しないCPUと、通信制御を行うための制御プログラムあるいは制御データを格納する図示しないROM、RAM等を備えて構成されており、以下における各種制御は、ROM内の制御プログラムに基づいてCPUが行っている。
The
スイッチファブリック3は各入力ポートで受信したパケットを適切な宛先ポートにスイッチングする機構である。
The
トラフィック調整機構6は各ユーザ毎、サービスタイプ毎にパケットを分類するパケット分類機構5とパケット分類機構5から送出されたパケットを廃棄や遅延を行うパケット調整機構7を備える。パケット分類機構5には、例えばクラシファイア等があり、CAM(Contents Addressable Memory:内容参照可能メモリ)等を用いている。
The
即ち、トラフィック調整機構6は、到着するパケットが契約したフロー特性に適合しているか否かをチェックして、あらかじめ指定された所定の処理を施す。指定された所定の処理には、パケットに廃棄を与える処理やパケットに遅延を与える処理等がある。
That is, the
パケット調整機構7はパケット分類機構5から送出されたパケットを廃棄処理や遅延処理を行ってもよいか否かを判定するポリサー8およびポリサー8で廃棄されると判定されたパケットを廃棄処理する廃棄処理部(ドロッパー)9を備えている。
The
トラフィック制御機構15は、キュー12にパケットを送出するキューマネージャ11、送出されたパケットを収容するキュー12、出リンク17に出力するパケットを選択するスケジューラ13を備えている。トラフィック制御機構15の中のキュー12を囲む矩形の点線はバッファ容量16を表している。即ち、キューマネージャ11とスケジューラ13はそれぞれのキュー12の出入口で、キュー12に出入するパケットを制御する機構である。
The
即ち、トラフィック制御機構15は、各フローの出力レートや遅延時間等の要求を満足させるように、出リンク17に送出するパケットの取捨選択、及び送出順序を制御する。
That is, the
まず、パケットが入力されると、スイッチ機能を有するスイッチファブリック3は各入力ポートから入力されたパケットの、例えばIPヘッダ部にある宛先IPアドレス情報を参照して、所定の宛先ポートにスイッチングする処理を行う。スイッチング処理が行われたパケットは、パケット分類機構5に送出される。
First, when a packet is input, the
次に、スイッチングされたパケットはパケット分類機構5により各ユーザ毎、サービスタイプ毎の個別のフローに分類される。パケット分類機構5は、例えばパケットのIPヘッダ部にある送受信IPアドレス、TCP/UDPヘッダ部にある送受信ポートを参照して、分類を行う。この時、パケットのヘッダ部にフロー番号を示す内部ヘッダが追加され、次段のポリサーに出力されている。
Next, the switched packets are classified by the
さらに、ポリサー8によって、各フロー毎に帯域と許容バースト量の検定が行われる。即ち、ポリサー8と呼ばれる流量計を用いて、フローを常に測定している。そして、検定した結果、フローが不適合であると判定された場合、即ち、ポリサー8に設定した帯域の値をフローが超えた場合や、ポリサ−8に設定した許容バースト量を超えた場合、不適合時の処理が行われる。例えばパケットは廃棄され、廃棄処理部9へ転送される。
Furthermore, the
検定した結果、フローが適合であると判定された場合、即ち、ポリサーに設定した帯域の値をフローが超えず、かつ、ポリサーに設定した許容バースト量を超えない場合、パケットはトラフィック制御機構15へ転送される。
As a result of the test, if it is determined that the flow is suitable, that is, if the flow does not exceed the bandwidth value set in the policer and does not exceed the allowable burst amount set in the policer, the packet is transmitted to the
キューマネージャ11は、キュー12に収容するパケットを選択する。キュー12では、前の段階のポリサーの許容バースト分のパケットが留められ、出力ポート速度に遅らせる。そして、スケジューラ13はパケットを1本または複数のキューに待たせて、所定の方法に従ってキューから1個ずつ順に、パケットを取り出す。所定の方法に従って1つに選択されたパケットは、スケジューラ13によって出リンク17に出力され、送信される。
The
図2は、ポリサーの構造を模式的に説明をするための図である。 FIG. 2 is a diagram for schematically explaining the structure of the policer.
図2に示すように、ポリサー8は、ポリシング処理部18、フローテーブル19、レート格納部20、アクティブカウンタ部21、バースト格納部22、フロー状態格納部23、タイマー部24を備えている。
As shown in FIG. 2, the
レート格納部20は、各フローでのレートを合計したレートの合計値R(bps)が格納されている。レートとは、トークンバケツにトークンが供給される速さを表している。例えば、出力ポートのレートの値と等しくしてもよい。バースト格納部22は、ポリシングの許容バースト値Bを格納している。許容バースト値は、連続して送信されるパケット列の長さを制限する値を示している。例えば、許容バースト値は出力ポートに割り当てられているパケットのバッファ容量と等しくしてもよい。
The
フロー状態格納部23は、各フローの状態をActive状態からInactive状態にするためのチェック間隔Tの値を格納している。タイマー部24は、現在の時刻tを格納している。アクティブカウンタ部21は、現在通信を行っている、即ち、Active状態である各フローの重みの値を合計した重みの合計値Aを格納している。
The flow
図3は、フローテーブルの構成例を示す図である。
図3で示すように、フローテーブルはフロー番号i(iは自然数)、重みWi、TATi値(Theoretical Arrival Time)、通信状態を管理するフラグFiを備えたテーブルとなっている。各添字で示されたiは、それぞれのフロー番号での重み、TAT値、フラグを示している。フローテーブルの重みWiは各フローでの帯域の割合を表している。例えば、各フロー番号1、2、3での帯域が2Mbps、1Mbps、4Mbpsの設定要求があった場合、各フロー1、2、3にそれぞれ2:1:4の重みを持たせることになる。
FIG. 3 is a diagram illustrating a configuration example of a flow table.
As shown in FIG. 3, the flow table is a table having a flow number i (i is a natural number), a weight W i , a TAT i value (Theoretical Arrival Time), and a flag F i for managing a communication state. I indicated by each subscript indicates a weight, a TAT value, and a flag for each flow number. The weight W i of the flow table represents the ratio of the bandwidth in each flow. For example, when there is a setting request for the bandwidths of 2 Mbps, 1 Mbps, and 4 Mbps for each of the
フローテーブルのTATi値はフロー番号iでの次のパケットが到着する時間の理論的な予想値を示している。フローテーブルのフラグFiに登録されているActiveとは、通信が行われている状態を示しており、また、Inactiveとは、通信が行われていない状態を示している。 The TAT i value in the flow table indicates the theoretical expected value of the arrival time of the next packet with flow number i. The Active registered in the flag F i of flow table shows a state in which communication is performed, In addition, the Inactive, communication indicates a state not carried out.
続いて、余剰帯域を公平に配分するポリシング方法について詳細に説明する。 Next, a policing method for distributing the surplus bandwidth fairly will be described in detail.
図4は、図2で示されたポリサーのポリシング処理部の動作を示すフローチャートである。
図4のフローチャートは、一般的なトークンバケツアルゴリズムを基本としているが、一般的なトークンバケツアルゴリズムと根本的に異なる点は、現在Active状態にあるすべてのフローのそれぞれの重みWiの和Aをアクティブカウンタ部21に記憶しておき、Active状態にあるフローの重みWiの割合に基づいて帯域の割り当てを行うように構成されている点である。
FIG. 4 is a flowchart showing an operation of the policing processing unit of the policer shown in FIG.
The flowchart of FIG. 4 is based on a general token bucket algorithm. However, the fundamental difference from the general token bucket algorithm is that the sum A of the respective weights W i of all flows currently in the active state is obtained. The point is that the bandwidth is allocated based on the ratio of the weight W i of the flow in the active state that is stored in the
具体的には、フローテーブル19に記憶されているTATiにパケット長を加える際に、パケット長をLとすると、L1=L×A/Wiで表される補正パケット長L1を加えている。これは、換言すれば、同一のパケット長であっても、現在Active状態にあるすべてのフローの中でより重みの高いフローのパケットに対してより大きな帯域を割り当てていることになる。 Specifically, when the packet length is added to TAT i stored in the flow table 19, the correction packet length L1 represented by L1 = L × A / W i is added, where L is the packet length. . In other words, even if the packet length is the same, a larger bandwidth is allocated to a packet of a flow having a higher weight among all flows that are currently in the active state.
詳細に説明すると、各フローのポリシングレートがトータルレートRのWi/A倍となり、重みに応じて公平に帯域割当て行われることになる。また、各フローに許容されるバースト値もトータルの許容バースト値BのWi/Aとなり、重みに応じて公平にバッファの容量を割り当てることが可能となる。 More specifically, the policing rate of each flow is W i / A times the total rate R, and bandwidth allocation is performed fairly according to the weight. Further, the burst value allowed for each flow is also W i / A of the total allowable burst value B, and the buffer capacity can be allocated fairly according to the weight.
まず、ポリシング方法は現在の時刻tと、前回各フローのActive状態をチェックした時刻t´とを差分する。そして、その差分値がフロー状態格納部に登録されているチェック間隔Tより大きいか否かを判定する(S101)。 First, the policing method makes a difference between the current time t and the time t ′ at which the Active state of each flow was checked last time. Then, it is determined whether or not the difference value is larger than the check interval T registered in the flow state storage unit (S101).
この時、現在の時刻tと前回各フローのActive状態をチェックした時刻t´との差分値が、フロー状態格納部に登録されているチェック間隔Tの値より大きい(S101;YES)と、フロー番号iに1を代入する(S102)。この代入処理は、すべてのフロー番号iに対して1から処理を始めることを意味する。
At this time, if the difference value between the current time t and the time t ′ at which the active state of each flow was previously checked is greater than the value of the check interval T registered in the flow state storage unit (S101; YES), the
次に、条件式TATi<R×tを満たしているか判定する(S103)。即ち、トークンバケツがトークンで満たされているか判定する。ここで、Rはトークンと呼ばれるトラフィック送信権がトークンバケツに供給されるレート(速さ)を表している。 Next, it is determined whether the conditional expression TAT i <R × t is satisfied (S103). That is, it is determined whether the token bucket is filled with tokens. Here, R represents a rate (speed) at which a traffic transmission right called a token is supplied to the token bucket.
条件式TATi<R×tが満たされている、即ち、トークンバケツがトークンで満たされている(S103;YES)場合は、TATiにR×tで算出された値を代入する(S104)。この代入処理の目的は、現在時刻tを保持しているメモリのビット幅が有限であり、十分長い時間が過ぎればラップしてtの値が0に戻ってしまうことに対処するものである。即ち、その目的はTATiと現在時刻tとの差を一定以内に保つことで以下の計算を正しく行えるようにするためのものである。 When the conditional expression TAT i <R × t is satisfied, that is, when the token bucket is satisfied with the token (S103; YES), the value calculated by R × t is substituted for TAT i (S104). . The purpose of this assignment process is to cope with the fact that the bit width of the memory holding the current time t is finite and the value of t returns to 0 after a sufficiently long time. That is, the purpose is to allow the following calculation to be performed correctly by keeping the difference between TAT i and the current time t within a certain range.
なお、条件式TATi<R×tが満たされていない場合、即ち、トークンバケツがトークンで満たされていない(S103;NO)場合は、TATiにR×tで算出された値を代入する処理(S104)は行わず、次の処理はS107へ転送される。 When the conditional expression TAT i <R × t is not satisfied, that is, when the token bucket is not satisfied with the token (S103; NO), the value calculated by R × t is substituted for TAT i. The process (S104) is not performed, and the next process is transferred to S107.
次に、通信状態を管理する所定のフロー番号iでのフラグFiの状態がActive状態であるか否かを判定する(S105)。所定のフロー番号iでのフラグの状態がActive状態である(S105;YES)場合、フラグFiをInactive状態とし、アクティブカウンタ値をフローiの重みWiだけ減少させる(S106)。これにより、フローiが使っていない帯域を他のActive状態であるフローが使えるようになる。 Next, it is determined whether or not the state of the flag F i in the predetermined flow number i for managing the communication state is the active state (S105). State of the flag at a predetermined flow number i is an Active state (S105; YES) If the flag F i to the Inactive state, reduces the active counter value by the weight W i of the flow i (S106). As a result, a flow in another active state can be used in a band not used by the flow i.
なお、所定のフロー番号iでのフラグFiの状態がActive状態でない(S105;NO)場合、通信状態を管理するフラグFiをInactive状態とし、アクティブカウンタ値をフローiの重みWiだけ減少させる処理(S106)は行わず、次の処理はS107へ転送される。 The state of the flag F i at a given flow number i is not Active state (S105; NO) case, the flag F i to manage the communication and Inactive state, an active counter value by the weight W i of the flow i decrease The process to be performed (S106) is not performed, and the next process is transferred to S107.
次に、現在のフロー番号iに1を足すことで、次のフロー番号iの処理へ移る(S107)。例えば、S101からS106の処理でフロー番号iが3であるならば、S107でフロー番号iは4になる。 Next, by adding 1 to the current flow number i, the process proceeds to the next flow number i (S107). For example, if the flow number i is 3 in the processing from S101 to S106, the flow number i becomes 4 in S107.
さらに、条件式(フロー番号i)≦(最後のフロー番号i)であるか判定する(S108)。最後のフロー番号とは、パケット分類機構でユーザ毎、サービスタイプ毎に分類されたパケットのヘッダ部に追加された番号のうち、最大の番号が最後のフロー番号を表す。この条件式は、S107でフロー番号iに1を足した結果の値が、最後のフロー番号以下である(S108;YES)場合、S103に戻り、次のフロー番号の処理を行う。 Further, it is determined whether or not the conditional expression (flow number i) ≦ (last flow number i) (S108). The last flow number refers to the last flow number among the numbers added to the header part of the packet classified for each user and each service type by the packet classification mechanism. In this conditional expression, when the value obtained by adding 1 to the flow number i in S107 is equal to or smaller than the last flow number (S108; YES), the process returns to S103 and the next flow number is processed.
S107でフロー番号iに1を足した結果の値が、最後のフロー番号を超える(S108;NO)場合、前回Active状態をチェックした時刻t´を現在の時刻tに更新して(S109)、次にActive状態をチェックする時間間隔を測り始める。 If the value obtained by adding 1 to the flow number i in S107 exceeds the last flow number (S108; NO), the time t ′ at which the previous active state was checked is updated to the current time t (S109). Next, the time interval for checking the Active state is started.
なお、S101でt−t´>Tでない(S101;NO)場合、即ち、現在の時刻tと、前回各フローのActive状態をチェックした時刻t´との差分値がフロー状態格納部に登録されているチェック間隔Tと等しくない場合は、S110に進む。 If t−t ′> T is not satisfied in S101 (S101; NO), that is, the difference value between the current time t and the time t ′ at which the Active state of each flow was checked last time is registered in the flow state storage unit. If it is not equal to the check interval T, the process proceeds to S110.
続いて、パケットがポリサーに到着したか否かを判定する(S110)。パケットがポリサーに到着している(S110;YES)場合、さらに、通信状態を管理するフラグFiがInactive状態であるか否かを判定する(S111)。 Subsequently, it is determined whether the packet has arrived at the policer (S110). Packet has arrived to the policer (S110; YES) If, furthermore, the flag F i to manage the communication state determines whether the Inactive state (S 111).
ここで、パケットがポリサーに到着していない(S110;NO)場合には、S101に戻って、現在の時刻tと、前回各フローのActive状態をチェックした時刻t´とを差分する。そして、その差分値がフロー状態格納部に登録されているチェック間隔Tの値と等しいか否かを判定する。 If the packet has not arrived at the policer (S110; NO), the process returns to S101, and the current time t is differentiated from the time t ′ at which the Active state of each flow was checked last time. Then, it is determined whether or not the difference value is equal to the value of the check interval T registered in the flow state storage unit.
通信状態を管理するフラグFiがInactive状態である場合(S111;YES)、アクティブカウンタにフローiの重みWiを加えて、通信状態を管理するフラグFiをActive状態にする(S112)。 If the flag F i to manage the communication state is Inactive state (S 111; YES), the addition of the weight W i of the flow i in the active counter, the flag F i to manage the communication state to the Active state (S112).
さらに、条件式TATi<R×tを満たすか否か、即ち、トークンバケツの中がトークンで満たされているか否かを判定する(S113)。条件式TATi<R×tを満たす(S113;YES)場合、即ち、トークンバケツがトークンで満たされている場合、TATiにR×t+L×A/Wiで算出された値を代入(S114)して、送信処理(S118)に進む。 Further, it is determined whether or not the conditional expression TAT i <R × t is satisfied, that is, whether or not the token bucket is filled with tokens (S113). When the conditional expression TAT i <R × t is satisfied (S113; YES), that is, when the token bucket is satisfied with tokens, the value calculated by R × t + L × A / W i is substituted for TAT i (S114). Then, the process proceeds to the transmission process (S118).
ここで、Lはパケット長を示しており、Aは各フロー番号での重みWiを合計した合計値を示している。即ち、L×A/Wiで算出された値はパケット長Lをアクティブカウンタの値と重みWiの比率だけ倍にした値を示している。 Here, L is shows a packet length, A is shows the total value which is the sum of the weights W i for each flow number. That, L × value calculated by the A / W i indicates a value obtained by doubling the packet length L by the ratio value and the weight W i of the active counter.
条件式TATi<R×tを満たさない、即ち、トークンバケツがトークンで満たされていない(S113;NO)場合、さらに、条件式TATi+L×A/Wi−R×t<Bを満たすか否かを判定する(S115)。ここで、Bはバースト許容値を表す。この条件式は、現在トークンバケツに存在するトークンの量で、パケットに供給されるのに必要な分だけのトークンの量が存在しているか否かを判定している。 When the conditional expression TAT i <R × t is not satisfied, that is, when the token bucket is not satisfied with the token (S113; NO), the conditional expression TAT i + L × A / W i −R × t <B is further satisfied. It is determined whether or not (S115). Here, B represents a burst allowable value. This conditional expression determines whether or not there is an amount of tokens necessary to be supplied to the packet, which is the amount of tokens currently present in the token bucket.
条件式TATi+L×A/Wi−R×t<Bを満たさない(S115;NO)場合、即ち、現在トークンバケツに存在するトークンの量では、パケットに供給されるのに必要な分だけのトークンの量が存在しない場合、パケットは廃棄される(S116)。または、いったんパケットを所定のバッファ容量等に溜めておいて、トークンバケツにたまっているトークンの残量がパケットに必要な量以上になったときに、適合と判定するように設定することも可能である。 When the conditional expression TAT i + L × A / W i −R × t <B is not satisfied (S115; NO), that is, the amount of tokens currently existing in the token bucket is only an amount necessary to be supplied to the packet. If the token amount does not exist, the packet is discarded (S116). Alternatively, once the packet is stored in a predetermined buffer capacity, etc., it can be set to be determined to be suitable when the remaining amount of tokens in the token bucket exceeds the required amount for the packet. It is.
条件式TATi+L×A/Wi−R×t<Bを満たす(S115;YES)場合、即ち、現在トークンバケツに存在するトークンの量で、パケットに供給されるのに必要な分だけのトークンの量が存在している場合、TATiにTATi+L×A/Wiで算出された値を代入(S117)し、パケットはキューに送信(S118)される。 When the conditional expression TAT i + L × A / W i −R × t <B is satisfied (S115; YES), that is, the amount of tokens currently existing in the token bucket and only the amount necessary to be supplied to the packet If the amount of the token is present, assigns the value calculated in TAT i by TAT i + L × a / W i to (S117), the packet is sent to the queue (S118).
図7は、ポリサーを備えた通信制御装置を用いたネットワークを構成を示した図である。
図7は、ユーザ30−1〜30−5、LAN29、ルータ1、伝送路31、34からなる。1本の伝送路にユーザは数千人オーダのネットワークもあるが、ここでは、便宜的に5つのユーザとして説明する。また、現在、伝送路は10Gbpsを超えるものが現れているが、こちらも便宜的に伝送路31は100Mbps、伝送路34は1Gbpsとして説明する。
伝送路34を通して最大1Gbpsのレートで受信されたパケットはルータ1に備えられた本発明のポリサーによって伝送路31の最大レート100Mbpsに調整される。
FIG. 7 is a diagram illustrating a configuration of a network using a communication control device including a policer.
FIG. 7 includes users 30-1 to 30-5,
Packets received through the
図7に示すように、ユーザ5人が、最大100Mbpsの伝送路31を使用すると、最大100Mbpsをユーザ数5人で割った値が、その時にポリサーによって実現される公平な帯域の割当となる。つまり、この場合1人あたり使用する伝送路31は20Mbpsの帯域の割当てとなる。
As shown in FIG. 7, when five users use a
さらに、ユーザ数を5人から1人ずつ減らしていくと、最大100Mbpsの伝送路をそれぞれ減っていったユーザ数で割った値が、その時の公平な帯域の割当となる。例えば、ユーザ数が2名であれば、100Mbps÷2=50Mbpsの帯域の割当てとなる。 Further, when the number of users is decreased from five to one, the value obtained by dividing the maximum 100 Mbps transmission path by the number of users that has been reduced is the fair bandwidth allocation at that time. For example, if the number of users is two, bandwidth allocation is 100 Mbps ÷ 2 = 50 Mbps.
即ち、ポリサーによる公平な帯域の割当の結果は表1のようになる。ただし、表1の3人使用のように割り切れない場合は、例えば、端数を切り捨てたものを採用する。つまり、33Mbps×3ユーザ分となる。または、限りなく均等に割当をおこなう。あるいは、予め割り切れる大きさの仮想的なトークンバケツモデルを用いたものを採用する。つまり、例えば、34Mbps×3ユーザ分の仮想的なトークンバケツモデルを102Mbpsとするものである。 That is, the result of fair bandwidth allocation by the policer is as shown in Table 1. However, if it is not divisible, as in the case of using three people in Table 1, for example, a value obtained by rounding down the fraction is adopted. That is, 33 Mbps × 3 users. Or, assign as much as possible evenly. Alternatively, a virtual token bucket model that is divisible in advance is used. That is, for example, a virtual token bucket model for 34 Mbps × 3 users is set to 102 Mbps.
なお、通信の契約内容や装置の応答速度等によって制限のあるユーザが含まれる場合、あるいは、公平でなくても良い場合、例えば、ユーザ1が10Mbpsの上限、ユーザ2と3が20Mbpsの上限、ユーザ4と5が無制限とした場合は表2のようになる。つまり、制限のあるユーザ1,2と3については、あらかじめ定められた値で一定である。しかし、ユーザ4と5は、ユーザ1から3が使用している分を除いた部分を公平に分けるものである。また、制限によらず、ユーザ毎に任意の値を割当てることもできる。
In addition, when there is a user who is restricted depending on the content of communication contract, the response speed of the device, or the like, or when it is not fair, for example,
ルータ1が伝送路31に接続されたポート上に持つバッファ容量も、ポリサーの機能によって上述の帯域と同様に各ユーザに公平に割当てが行われる。例えばルータ1の持つバッファ容量を1メガバイトとすると、割当ての結果は表3のようになる。
The buffer capacity that the
なお、通信の契約内容や装置種類等によっては制限のあるユーザが含まれる場合、あるいは公平でなくても良い場合、ユーザ毎に任意のバッファ容量を割当てることができる。 It should be noted that an arbitrary buffer capacity can be allocated to each user when there are limited users depending on the communication contract contents, device types, or the like, or when it is not necessary to be fair.
この発明の通信制御方法によって、複雑なスケジューリング方法を行わなくても、本稿で示した単純な方法によって各ユーザのフローを公平に帯域を割り当てることができる。 According to the communication control method of the present invention, the bandwidth of each user's flow can be allocated fairly by the simple method shown in this paper without performing a complicated scheduling method.
また、スケジューリング方法では困難であった、通信中のユーザのみを考慮してパケットのバッファ容量の割当てを行うことができる。例えば、1000人のユーザを収容している装置でバッファ容量が1メガバイトの容量である時に、ある時点で通信を行っているユーザが10人しかいない場合、スケジューリング方法では各ユーザあたり1キロバイトの容量のバッファ容量の割当てになる。
しかし、この発明の通信制御方法を用いれば100キロバイトの容量のバッファ容量の割当てが可能となる。
In addition, it is possible to allocate the buffer capacity of the packet in consideration of only the user who is communicating, which is difficult with the scheduling method. For example, when a device accommodating 1000 users has a buffer capacity of 1 megabyte and there are only 10 users communicating at a certain time, the scheduling method uses a capacity of 1 kilobyte for each user. Buffer capacity allocation.
However, if the communication control method of the present invention is used, a buffer capacity of 100 kilobytes can be allocated.
また、通信速度が向上した場合や、バッファ容量が増大した場合において、プログラムを修正や追加等することにより本発明は実施可能である。 In addition, when the communication speed is improved or the buffer capacity is increased, the present invention can be implemented by modifying or adding a program.
さらに、以上の説明においては、通信制御装置であるルータを制御するための制御プログラムが予めROM等に記憶されている場合について説明したが、各種磁気ディスク、光ディスク、メモリカード等の記録媒体に制御用のプログラムをあらかじめ記録し、これらの記録媒体から読み込み、インストールするように構成することもできる。 Further, in the above description, the case where a control program for controlling the router, which is a communication control device, is stored in advance in a ROM or the like has been described. However, control is performed on recording media such as various magnetic disks, optical disks, and memory cards. It is also possible to record the program for use in advance, read from these recording media, and install the program.
また、通信インタフェースを設け、インターネット、LAN等のネットワークを介して制御用プログラムをダウンロートし、インストールして実行するように構成することもできる。このように構成することにより、ソフトウェア的により高機能としたり、より信頼性の高い通信制御装置を構成することが可能となり、産業上の利用の可能性が高い。 In addition, a communication interface may be provided so that the control program can be downloaded, installed, and executed via a network such as the Internet or a LAN. By configuring in this way, it becomes possible to configure a software control function with higher functionality or a more reliable communication control device, and the possibility of industrial use is high.
1 ルータ
2−1〜2−n 入出力ポート
3 スイッチファブリック
4 クロスバスイッチ
5 パケット分類機構
6 トラフィック調整機構
7 パケット調整機構
8 ポリサー
9 廃棄処理部(ドロッパー)
10 接続調停回路
11 キューマネージャー
12−1〜12−n キュー
13 スケジューラ
14 入出力ポート
15 トラフィック制御機構
16 バッファ容量
17 出リンク
18 ポリシング処理部
19 フローテーブル
20 レート格納部
21 アクティブカウンタ部
22 バースト格納部
23 フロー状態格納部
24 タイマー部
25−1〜25−n 情報ソース
26 トークン
27 トークンバケツ
28 パケット
29 LAN
30−1〜30−5 ユーザ
31、34 伝送路
32−1〜32−n フロー
33 ネットワークプロセッサ
DESCRIPTION OF
DESCRIPTION OF
30-1 to 30-5
Claims (10)
前記入力パケットデータを少なくとも1ユーザ毎のフローに分類するステップと、
同時並行して伝送可能な複数の前記フローに対して前記伝送のために割当てられている全帯域を、実際に伝送すべき前記フローに割当てるポリシングステップとを備え、
前記フローは帯域の割合に応じた重みが割当てられており、
前記ポリシングステップは、
実際に通信を行っているフロー番号iのフローの重みをW i 、現在通信を行っているフロー全体の重みの合計値をA、パケットデータ長をLとした場合に、
当該フロー番号iの次パケットが到着する時間の理論的な予想値(TAT値)を、TAT i =TAT i +L×A/W i の式から算出し、
該予想値を用いて前記ポリシング処理を行うことにより、
実際に通信を行っているフローに対し、W i /Aの割合に基づいた帯域割当てをすることを特徴とする通信制御方法。 A communication control method that performs transmission by performing bandwidth control by policing processing on input packet data,
Classifying the input packet data into flows for at least one user;
A policing step for allocating all the bandwidths allocated for the transmission to the flows to be transmitted in parallel to the flows to be actually transmitted ,
The flow is assigned a weight according to the bandwidth ratio,
The policing step includes:
When the weight of the flow of the flow number i that is actually communicating is W i , the total value of the weights of the entire flow that is currently communicating is A, and the packet data length is L,
The theoretical expected value (TAT value) of the arrival time of the next packet of the flow number i is calculated from the formula TAT i = TAT i + L × A / W i
By performing the policing process using the predicted value,
A communication control method, comprising: allocating a bandwidth based on a ratio of W i / A to a flow that is actually communicating .
前記入力パケットデータを少なくとも1ユーザ毎のフローに分類するパケット分類機構と、
同時並行して伝送可能な複数のフローに対して伝送のために割当てられている全帯域を、実際に伝送すべき前記フローに割当てるポリシング処理部とを備え、
前記フローは帯域の割合に応じた重みが割当て付けられており、
前記ポリシング処理部は、
実際に通信を行っているフロー番号iのフローの重みをW i 、現在通信を行っているフロー全体の重みの合計値をA、パケットデータ長をLとした場合に、
当該フロー番号iの次パケットが到着する時間の理論的な予想値(TAT値)を、TAT i =TAT i +L×A/W i の式から算出し、
該予想値を用いて前記ポリシング処理を行うことにより、
実際に通信を行っているフローに対し、W i /Aの割合に基づいた帯域割当てをすることを特徴とする通信制御装置。 A communication control device that performs transmission by performing bandwidth control by policing processing on input packet data,
A packet classification mechanism for classifying the input packet data into flows for at least one user;
A policing processing unit that allocates the entire bandwidth allocated for transmission to a plurality of flows that can be transmitted in parallel, to the flow to be actually transmitted ,
The flow is assigned a weight according to the bandwidth ratio,
The polishing processing unit
When the weight of the flow of the flow number i that is actually communicating is W i , the total value of the weights of the entire flow that is currently communicating is A, and the packet data length is L,
The theoretical expected value (TAT value) of the arrival time of the next packet of the flow number i is calculated from the formula TAT i = TAT i + L × A / W i
By performing the policing process using the predicted value,
A communication control apparatus characterized by allocating a bandwidth based on a ratio of W i / A to a flow that is actually communicating .
前記入力パケットデータを少なくとも1ユーザ毎のフローに分類させ、
同時並行して伝送可能な複数の前記フローに対して前記伝送のために割当てられている全帯域を、実際に伝送すべき前記フローに割当てるポリシング処理ステップを備え、
前記フローは帯域の割合に応じた重みが割り当てられており、
前記ポリシング処理ステップは、
実際に通信を行っているフロー番号iのフローの重みをW i 、現在通信を行っているフロー全体の重みの合計値をA、パケットデータ長をLとした場合に、
当該フロー番号iの次パケットが到着する時間の理論的な予想値(TAT値)を、TAT i =TAT i +L×A/W i の式から算出し、
該予想値を用いて前記ポリシング処理ステップを実行させることにより、
実際に通信を行っているフローに対し、W i /Aの割合に基づいた帯域割当てを行わせることを特徴とする制御プログラム。 A control program for controlling a communication control device that performs transmission by performing bandwidth control by policing processing on input packet data,
Classifying the input packet data into at least one user flow;
A policing process step of allocating the entire bandwidth allocated for the transmission to a plurality of flows that can be transmitted in parallel to the flow to be actually transmitted ;
The flow is assigned a weight according to the bandwidth ratio ,
The policing processing step includes:
When the weight of the flow of the flow number i that is actually communicating is W i , the total value of the weights of the entire flow that is currently communicating is A, and the packet data length is L,
The theoretical expected value (TAT value) of the arrival time of the next packet of the flow number i is calculated from the formula TAT i = TAT i + L × A / W i
By causing the policing processing step to be executed using the predicted value,
A control program that causes a flow that is actually communicating to perform bandwidth allocation based on a ratio of W i / A.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004204129A JP4391346B2 (en) | 2004-07-12 | 2004-07-12 | COMMUNICATION CONTROL METHOD, COMMUNICATION CONTROL DEVICE, CONTROL PROGRAM, AND RECORDING MEDIUM |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004204129A JP4391346B2 (en) | 2004-07-12 | 2004-07-12 | COMMUNICATION CONTROL METHOD, COMMUNICATION CONTROL DEVICE, CONTROL PROGRAM, AND RECORDING MEDIUM |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006033002A JP2006033002A (en) | 2006-02-02 |
JP4391346B2 true JP4391346B2 (en) | 2009-12-24 |
Family
ID=35898887
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004204129A Expired - Fee Related JP4391346B2 (en) | 2004-07-12 | 2004-07-12 | COMMUNICATION CONTROL METHOD, COMMUNICATION CONTROL DEVICE, CONTROL PROGRAM, AND RECORDING MEDIUM |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4391346B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3076616B1 (en) | 2015-03-31 | 2017-04-12 | Mitsubishi Electric R&D Centre Europe B.V. | Method for data traffic management and network node for implementing the same |
-
2004
- 2004-07-12 JP JP2004204129A patent/JP4391346B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2006033002A (en) | 2006-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7936770B1 (en) | Method and apparatus of virtual class of service and logical queue representation through network traffic distribution over multiple port interfaces | |
Semeria | Supporting differentiated service classes: queue scheduling disciplines | |
US7123622B2 (en) | Method and system for network processor scheduling based on service levels | |
US9344369B2 (en) | System and methods for distributed quality of service enforcement | |
US6438135B1 (en) | Dynamic weighted round robin queuing | |
US6795870B1 (en) | Method and system for network processor scheduler | |
US6934250B1 (en) | Method and apparatus for an output packet organizer | |
US8520522B1 (en) | Transmit-buffer management for priority-based flow control | |
US6757249B1 (en) | Method and apparatus for output rate regulation and control associated with a packet pipeline | |
US9608926B2 (en) | Flexible recirculation bandwidth management | |
US7023856B1 (en) | Method and system for providing differentiated service on a per virtual circuit basis within a packet-based switch/router | |
US20020191622A1 (en) | System for and method of differentiated queuing in a routing system | |
JP4163044B2 (en) | BAND CONTROL METHOD AND BAND CONTROL DEVICE THEREOF | |
WO2001078420A1 (en) | Method and apparatus for distribution of bandwidth in a switch | |
AU2001244996A1 (en) | Method and apparatus for distribution of bandwidth in a switch | |
WO2004077767A1 (en) | Packet transfer control method and packet transfer control circuit | |
US7486617B2 (en) | Network devices and traffic shaping methods | |
US11343193B2 (en) | Apparatus and method for rate management and bandwidth control | |
JP3623420B2 (en) | Traffic control method | |
US7266612B1 (en) | Network having overload control using deterministic early active drops | |
JP2005236669A (en) | Method and device for controlling communication quality | |
JP4087279B2 (en) | BAND CONTROL METHOD AND BAND CONTROL DEVICE THEREOF | |
JP4391346B2 (en) | COMMUNICATION CONTROL METHOD, COMMUNICATION CONTROL DEVICE, CONTROL PROGRAM, AND RECORDING MEDIUM | |
JP2002305538A (en) | Communication quality control method, server and network system | |
US20070133561A1 (en) | Apparatus and method for performing packet scheduling using adaptation round robin |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD14 | Notification of resignation of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7434 Effective date: 20061215 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070201 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20081022 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090113 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090120 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090323 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20090916 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20091007 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121016 Year of fee payment: 3 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 4391346 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121016 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131016 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |