JPH10107846A - Packet processor - Google Patents

Packet processor

Info

Publication number
JPH10107846A
JPH10107846A JP26037396A JP26037396A JPH10107846A JP H10107846 A JPH10107846 A JP H10107846A JP 26037396 A JP26037396 A JP 26037396A JP 26037396 A JP26037396 A JP 26037396A JP H10107846 A JPH10107846 A JP H10107846A
Authority
JP
Japan
Prior art keywords
packet
line
destination
comparator
ratio
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.)
Granted
Application number
JP26037396A
Other languages
Japanese (ja)
Other versions
JP3278831B2 (en
Inventor
Mitsuru Maruyama
充 丸山
Takeshi Sanei
武 三栄
Takeshi Ogura
毅 小倉
Naohisa Takahashi
直久 高橋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP26037396A priority Critical patent/JP3278831B2/en
Publication of JPH10107846A publication Critical patent/JPH10107846A/en
Application granted granted Critical
Publication of JP3278831B2 publication Critical patent/JP3278831B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

PROBLEM TO BE SOLVED: To execute the load balancing processing of a plurality of channels without affecting transfer throughput by setting a using ratio corresponding to the loads of respective communication channels, switching the plurality of communication channels corresponding to the loads and sending out packets. SOLUTION: A transfer value up to the present time is stored in counters 13 and 14 corresponding to channel correspondence parts 11 and 12. Also, a ratio register 17 indicates the value of a set value 50:50 for instance. In the state, in a comparator 16, the values of the counter 13 and the counter 14 are compared under the weight of 50:50 and the smaller counter 14, for instance, is selected. Further a selector 15 is instructed to select the channel correspondence part 12. The selected channel correspondence part 12 outputs first data in a data memory 18 onto the channel. Thereafter, the transfer data length is added to the counter 14. In such a manner, the plurality of communication channels are switched corresponding to the loads of the respective communication channels and the packets are sent out.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、通信データのプロ
トコル処理や経路情報に基づいてパケットデータの転送
処理を行うパケット処理装置に関し、特に、収容回線数
の増加や転送回線容量の増大に対しても、個々のパケッ
トデータの転送処理能力に影響を及ぼさずに、複数回線
のロードバランス処理を行うことが可能なパケット処理
装置に関するものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a packet processing apparatus for performing packet data transfer processing based on communication data protocol processing and path information, and more particularly to an increase in the number of accommodated lines and an increase in transfer line capacity. Also, the present invention relates to a packet processing apparatus capable of performing load balancing processing of a plurality of lines without affecting the transfer processing capability of individual packet data.

【0002】[0002]

【従来の技術】同一の相手先に対し複数の回線を介して
接続したパケット処理装置間では、転送時に複数の回線
を同時に使用するロードバランス処理を行っている。図
7は、従来におけるパケット処理装置間の接続を示す図
である。パケット処理装置21と22との間に、回線2
3と回線24の2本の回線が接続されている例を示して
いる。いま、パケット処理装置21からパケット処理装
置22にパケットデータを転送する場合には、ロードバ
ランス処理が行われる。ロードバランス処理を行うため
には、回線容量、回線使用数、回線間の使用割合、等の
パラメータを用いて次の処理を行う。 (a)プロセッサが、入力されたパケットの宛先ごとに
パケット長を1つずつ調査する(パケット長統計処
理)。 (b)回線間の使用割合を計算して、転送に使用する回
線を決定する(使用割合の計算処理、回線決定)。 (c)決定された転送回線を用いて、プログラム転送処
理を行う(転送処理)。 図8は、従来におけるパケット処理装置の構成例を示す
図である。従来のパケット処理装置は、複数回線を使用
する場合には、一般に図8に示すような構成で実現され
る。2本の回線が接続されている場合には、2つの回線
対応部11,12が備えられている。パケット入力部1
9から入力されたデータパケットは、パケットメモリ1
8に格納された後、CPU20がこれを参照してパケッ
ト長統計処理、使用割合の計算処理および転送処理を、
プロセッサのプログラムを用いることにより行ってい
る。
2. Description of the Related Art A load balancing process for simultaneously using a plurality of lines at the time of transfer is performed between packet processing apparatuses connected to the same destination via a plurality of lines. FIG. 7 illustrates a conventional connection between packet processing apparatuses. Line 2 between the packet processing devices 21 and 22
3 shows an example in which two lines, that is, line 3 and line 24 are connected. Now, when transferring packet data from the packet processing device 21 to the packet processing device 22, a load balancing process is performed. In order to perform the load balance processing, the following processing is performed using parameters such as the line capacity, the number of lines used, the ratio of use between lines, and the like. (A) The processor checks the packet length one by one for each destination of the input packet (packet length statistical processing). (B) Calculate the use ratio between lines and determine the line to be used for transfer (use ratio calculation processing, line determination). (C) A program transfer process is performed using the determined transfer line (transfer process). FIG. 8 is a diagram illustrating a configuration example of a conventional packet processing device. When using a plurality of lines, a conventional packet processing apparatus is generally realized by a configuration as shown in FIG. When two lines are connected, two line corresponding units 11 and 12 are provided. Packet input unit 1
9 are stored in the packet memory 1
8, the CPU 20 refers to this and performs packet length statistical processing, use rate calculation processing, and transfer processing.
This is done by using a processor program.

【0003】図9は、上記(a)〜(c)の方法におけ
る動作例を示すタイムチャートである。図9では、横方
向にパケット処理装置内の各回路が、また縦方向に経過
する時間が示される。各回路に対応する位置に、太線に
より各部における動作経過時間が示されている。ここで
は、連続してパケットデータの転送処理が行われる際
に、ロードバランスを行って回線23の出力と回線24
の出力とが交互に行われる場合を示している。1つ目の
パケットデータの入力処理では、先ずバッファに転送デ
ータが蓄積され、そのパケットヘッダ情報および転送長
データを基にパケット長統計処理および使用割合の計算
処理が行われた後、回線対応部11が選択されて、転送
処理が行われる(図9の左上から右下へそれぞれ動作処
理時間の経過を示す3つの縦線参照)。しかし、この出
力処理が終了するまで、次の入力処理は待たされてしま
う。次に、2つ目のパケットデータの入力処理で、同じ
ようにバッファに転送データが蓄積され、そのパケット
ヘッダ情報および転送長データを基にパケット長統計処
理および使用割合の計算処理が同じように行われ、今度
は回線対応部12が選択されて、転送処理が行われる
(図9の1つ目のパケット転送終了後に開始され、左上
から右下へそれぞれ動作処理時間の経過を示す3つの縦
線参照)。
FIG. 9 is a time chart showing an operation example in the above methods (a) to (c). In FIG. 9, each circuit in the packet processing device is shown in the horizontal direction, and the time elapsed in the vertical direction is shown. The operation elapsed time in each part is indicated by a bold line at a position corresponding to each circuit. Here, when packet data transfer processing is continuously performed, load balancing is performed to output the output of the line 23 and the line 24.
Are alternately performed. In the first packet data input process, first, transfer data is accumulated in a buffer, and packet length statistical processing and use rate calculation processing are performed based on the packet header information and transfer length data. 11 is selected, and transfer processing is performed (see three vertical lines indicating the elapse of the operation processing time from the upper left to the lower right in FIG. 9). However, the next input processing is kept waiting until this output processing is completed. Next, in the input processing of the second packet data, the transfer data is similarly accumulated in the buffer, and the packet length statistical processing and the calculation processing of the use ratio are performed in the same manner based on the packet header information and the transfer length data. Then, the line corresponding unit 12 is selected, and the transfer processing is performed (started after the first packet transfer in FIG. 9 is completed, and three vertical lines indicating the elapse of the operation processing time from the upper left to the lower right, respectively) Line).

【0004】[0004]

【発明が解決しようとする課題】従来のパケット処理装
置は、図8に示すように、パケットメモリ18に格納さ
れたデータパケットに対する各種処理を、プログラムに
より行っていたので、次のような問題点が生じていた。 (1)パケット長統計処理および使用割合の計算処理
に、CPU処理時間をとられるため、パケットの転送制
御に関する処理が遅延することがあった。 (2)パケットの転送処理にCPU処理時間をとられる
ため、他の処理が不定期に遅延することがあった。 (3)回線対応部にパケットが入力する度毎に割り込み
が上り、割り込み処理にCPU時間がとられるため、シ
ステム全体のリアルタイム性が低下していた。この場
合、接続された複数の回線がFDDI,B−ISDNの
ように高速になると、1つのパケット間隔が短かくなる
ため、上記リアルタイム性の低下は特に顕著になる。ま
た、転送処理だけを、CPUとは別個のDMA(Direc
t Memory Access)制御で実行する場合もあるが、そ
の場合には次のような問題点が生じていた。 (4)DMAの宛先を決めるために、パケット長統計処
理および使用割合の計算処理が終了した後にのみDMA
の起動が可能であるため、高速なDMAの起動ができな
い。さらに、図9に示すように、パケット長統計処理お
よび使用割合の計算処理が行われた後に初めて回線対応
部が選択されており、また1つ目のパケットデータの出
力処理が終了するまで、2つ目のパケットデータの入力
処理が待たされるので、高速処理は困難であった。この
ように、従来のパケット処理装置では、どちらの回線を
使用するかを選択するためのパケット長統計処理および
使用割合の計算処理に、CPUが介在して行うので、高
速なパケットデータの転送処理速度を得ることは難しか
った。そこで、本発明の目的は、これら従来の課題を解
決し、パケット処理装置の収容回線数の増加、転送回線
容量の増大が行われても、個々のパケットデータの転送
処理能力に影響を及ぼすことなく、複数回線のロードバ
ランス処理を行うことが可能なパケット処理装置を提供
することにある。
As shown in FIG. 8, the conventional packet processing apparatus performs various processes on data packets stored in the packet memory 18 by using a program. Had occurred. (1) Since the CPU processing time is required for the packet length statistical processing and the calculation processing of the usage ratio, processing related to packet transfer control may be delayed. (2) Since the CPU processing time is required for the packet transfer processing, other processing may be irregularly delayed. (3) Every time a packet is input to the line corresponding unit, an interrupt is raised and CPU time is required for interrupt processing, so that the real-time performance of the entire system is reduced. In this case, when a plurality of connected lines operate at a high speed, such as FDDI or B-ISDN, the interval between packets becomes short, so that the decrease in the real-time property becomes particularly remarkable. In addition, only transfer processing is performed by DMA (Direc
t Memory Access) control may be performed, but in such a case, the following problems have occurred. (4) To determine the destination of the DMA, the DMA is used only after the packet length statistical processing and the calculation processing of the usage ratio are completed.
Can be started, so that high-speed DMA cannot be started. Further, as shown in FIG. 9, the line-corresponding unit is selected only after the packet length statistical processing and the calculation processing of the usage ratio are performed. Since the input processing of the second packet data is awaited, high-speed processing has been difficult. As described above, in the conventional packet processing apparatus, since the CPU intervenes in the packet length statistical processing for selecting which line to use and the calculation processing of the usage ratio, the high-speed packet data transfer processing is performed. It was difficult to get speed. Therefore, an object of the present invention is to solve these conventional problems and to affect the transfer processing capability of individual packet data even if the number of lines accommodated in the packet processing device is increased and the transfer line capacity is increased. Another object of the present invention is to provide a packet processing device capable of performing load balancing processing of a plurality of lines.

【0005】[0005]

【課題を解決するための手段】上記目的を達成するた
め、本発明のパケット処理装置では、通信回線上のデー
タを受け取り、また通信回線上にデータを送出する複数
の回線対応部(図1の11,12)と、回線対応部単位
に設けられ、パケット宛先別の送出パケット量のカウン
タ(同13,14)と、同一宛先を持つ複数回線対応部
の使用割合を保持するレジスタ(同じく17)と、該レ
ジスタとカウンタの計測値から使用回線対応部を決定す
る比較器(同じく16)と、パケットの送出先を切替え
るセレクタ機構(同じく15)とを具備している。複数
回線を持つ本発明のパケット処理装置では、ロードバラ
ンス制御に関する処理を以下のように実現する(請求項
1参照)。 回線対応部単位に設けられたパケット宛先別の送出パ
ケット量のカウンタを用いて、実際に回線に送出する量
をカウントする。 同一宛先を持つ複数回線対応部の使用割合を予め設定
しておく。 複数のカウンタの計測値と使用割合値とを比較器によ
り比較処理を行い、その結果により使用回線対応部を決
定する。 選択した使用回線に対して転送処理を行うために、セ
レクタにより回線対応部へのデータバスを切替える。 また、セレクタにより送出先を切替える代りに、送出回
線対応部の番号を一定時間保持するキャッシュテーブル
の中味を書き替えることにより、以下のような処理を行
う(請求項2参照)。 回線対応部単位に設けられたパケット宛先別の送出パ
ケット量のカウンタを用いて、実際に回線に送出した量
をカウントする。 同一宛先を持つ複数回線対応部の使用割合を予め設定
しておく。 複数のカウンタの計測値と使用割合値とを比較器によ
り比較処理を行い、その結果から使用回線対応部を決定
して、キャッシュテーブルに送出回線対応部の値を書き
込む。 転送時には、キャッシュテーブルからエントリを読み
出し、読み出された送出回線対応部に対して転送処理を
行う。
In order to achieve the above object, in a packet processing apparatus according to the present invention, a plurality of line-corresponding units (FIG. 1) for receiving data on a communication line and transmitting data on the communication line. 11, 12), a counter (13, 14) provided for each line-corresponding unit for each packet destination, and a register (17) also holding a use ratio of a plurality of line-corresponding units having the same destination. And a comparator (similarly 16) for determining a line-to-be-used section from the measured values of the register and the counter, and a selector mechanism (similarly 15) for switching a packet transmission destination. In the packet processing device of the present invention having a plurality of lines, the processing related to the load balance control is realized as follows (refer to claim 1). The number of packets actually transmitted to the line is counted using a counter for the amount of packets transmitted for each packet destination provided for each line corresponding unit. The use ratio of the multiple line corresponding unit having the same destination is set in advance. The measured values of the plurality of counters and the usage ratio value are compared with each other by a comparator, and the used line corresponding unit is determined based on the comparison result. In order to perform a transfer process on the selected used line, the selector switches the data bus to the line corresponding unit. Also, instead of switching the transmission destination by the selector, the following processing is performed by rewriting the contents of the cache table holding the number of the transmission line corresponding unit for a certain period of time (see claim 2). The number of packets actually transmitted to the line is counted using a counter of the amount of packets transmitted for each packet destination provided for each line corresponding unit. The use ratio of the multiple line corresponding unit having the same destination is set in advance. The measured values of the plurality of counters and the usage ratio value are compared by a comparator, the used line corresponding unit is determined from the result, and the value of the transmission line corresponding unit is written in the cache table. At the time of transfer, an entry is read from the cache table, and transfer processing is performed on the read out transmission line corresponding unit.

【0006】また、宛先アドレスごとに比較器の動作の
許可を行うフィルタ機構を付加することにより、以下の
ような処理を行う(請求項3参照)。 回線対応部単位に設けられたパケット宛先別の送出パ
ケット量のカウンタを用いて、実際に回線に送出した量
をカウントする。 宛先アドレスごとに複数回線対応部の使用割合をフィ
ルタ機構に予め設定しておく。 転送しようとするパケットのヘッダの宛先をチェック
し、該当する使用割合値を抽出する。 複数のカウンタの計測値と該当の使用割合値とを比較
器により比較処理し、その結果から使用回線対応部を決
定する。 選択した使用回線に対して転送処理を行うために、セ
レクタにより回線対応部へのデータバスを切替える。 さらに、フィルタ機構の中にプロトコル単位の属性を付
加することにより、以下のような動作を行う(請求項4
参照)。 回線対応部単位に設けられたパケット宛先別の送出パ
ケット量のカウンタを用いて、実際に回線に送出した量
をカウントする。 宛先および使用プロトコル単位に、複数回線対応部の
使用割合をフィルタ機構に予め設定しておく。 転送しようとするパケットのヘッダの宛先および使用
プロトコルをチェックし、該当する使用割合値を抽出す
る。 複数のカウンタの計測値と該当の使用割合値とを比較
器により比較処理し、その結果から使用回線対応部を決
定する。 選択した使用回線に対して転送処理を行うために、セ
レクタにより回線対応部へのデータバスを切替える。
Further, the following processing is performed by adding a filter mechanism for permitting the operation of the comparator for each destination address (see claim 3). The number of packets actually transmitted to the line is counted using a counter of the amount of packets transmitted for each packet destination provided for each line corresponding unit. The use ratio of the multiple line corresponding unit is set in the filter mechanism in advance for each destination address. The destination of the header of the packet to be transferred is checked, and the corresponding usage ratio value is extracted. The measured values of the plurality of counters and the corresponding use ratio values are compared with each other by a comparator, and the used line corresponding unit is determined from the result. In order to perform a transfer process on the selected used line, the selector switches the data bus to the line corresponding unit. Further, the following operation is performed by adding an attribute of each protocol to the filter mechanism.
reference). The number of packets actually transmitted to the line is counted using a counter of the amount of packets transmitted for each packet destination provided for each line corresponding unit. For each destination and protocol used, the use ratio of the multi-line corresponding unit is set in the filter mechanism in advance. The destination of the header of the packet to be transferred and the protocol to be used are checked, and the corresponding usage ratio value is extracted. The measured values of the plurality of counters and the corresponding use ratio values are compared with each other by a comparator, and the used line corresponding unit is determined from the result. In order to perform a transfer process on the selected used line, the selector switches the data bus to the line corresponding unit.

【0007】[0007]

【発明の実施の形態】以下、本発明の実施例を、図面に
より詳細に説明する。図1は、本発明の第1の実施例を
示すパケット処理装置の構成図である。図1では、回線
対応部および対応カウンタがそれぞれ2つの場合が示さ
れている。図1において、11,12は回線対応部、1
3,14はカウンタ部、15は回線対応部を切替えるセ
レクタ、16は比較器、17は割合レジスタである。カ
ウンタ13,14は、一般的なアップダウンカウンタに
より実現でき、セレクタ15はバスセレクタで実現で
き、比較器16はコンパレータロジックで実現できる。
また、割合レジスタ17は、レジスタやメモリで実現で
き、パケットメモリ18は通常のメモリ素子で実現で
き、回線対応部11,12およびパケット入力部19の
各対応部は、プロセッサに回線インタフェースを備えた
通信ボードや、汎用のワークステーション、パソコン等
でも実現できる。
Embodiments of the present invention will be described below in detail with reference to the drawings. FIG. 1 is a configuration diagram of a packet processing device according to a first embodiment of the present invention. FIG. 1 shows a case where there are two line corresponding units and two corresponding counters. In FIG. 1, reference numerals 11 and 12 denote line corresponding units, 1
Reference numerals 3 and 14 denote counter units, 15 denotes a selector for switching the line corresponding unit, 16 denotes a comparator, and 17 denotes a ratio register. The counters 13 and 14 can be realized by a general up-down counter, the selector 15 can be realized by a bus selector, and the comparator 16 can be realized by comparator logic.
The ratio register 17 can be realized by a register or a memory, the packet memory 18 can be realized by a normal memory element, and each of the line corresponding units 11 and 12 and the packet input unit 19 has a processor provided with a line interface. It can be realized by a communication board, a general-purpose workstation, a personal computer, or the like.

【0008】図2は、図1の接続構成を説明する図であ
る。図2により、パケット処理装置の動作を説明する。
図2は、パケット処理装置21からパケット処理装置2
2に対して、回線23と回線24の2回線を用いてデー
タを転送するものである。2つのパケット処理装置2
1,22には、それぞれユニークなアドレスが付与され
ている。使用するアドレスは、IP(Internet Prot
ocol)準拠の32ビットのアドレス体系を持つものと
し、パケット処理装置21が10.0.1.2であるとす
る。また、データ転送先のパケット処理装置22は、ア
ドレス10.1.2.3を持っているものとする。図3
は、図1の構成における実際の動作の説明図である。図
3において、パケット入力部19から入力されたデータ
には、プロトコルのヘッダ部分とコンテンツ部分の両方
が含まれるものとする。ヘッダ部分には、宛先が含ま
れ、全て図2のパケット処理装置22宛のアドレスを示
す10.1.2.3が指定されているものとする。各デ
ータパケットの長さは、順に128バイト、64バイ
ト、250バイトであり、この順に回線対応部に送出さ
れる。なお、これらのデータは、回線対応部11あるい
は12のいずれに転送しても構わないものとする。カウ
ンタ13,14には、現在までの転送値が格納されてい
る。カウンタ13は、回線対応部11の送出量1050
バイトを表わしており、カウンタ14は、回線対応部1
2の送出量800バイトを表わしている。また、割合レ
ジスタ17は、50:50の値を示している。この状態
において、比較器16の動作は以下のようになる。 (a)割合レジスタ17の値より50:50の比較を行
うことを知る。 (b)カウンタ13とカウンタ14の値を、50:50
の重みのもとに比較する。 (c)少ないカウンタ14を選択する。 (d)セレクタ15に対し、回線対応部12を選択する
ように指示する。選択された回線対応部12は、データ
メモリ18の中の最初の128バイトのデータを回線上
に出力処理する。 (e)その後、カウンタ14に転送データ長128バイ
トを加算して、928バイトとする。
FIG. 2 is a diagram for explaining the connection configuration of FIG. The operation of the packet processing device will be described with reference to FIG.
FIG. 2 is a diagram showing a case where the packet processing device 21
2, data is transferred using two lines, a line 23 and a line 24. Two packet processing devices 2
A unique address is assigned to each of 1 and 22. The address to be used is IP (Internet Prot)
ocol) -compliant 32-bit address system, and the packet processing device 21 is assumed to be 10.0.1.2. It is also assumed that the packet processing device 22 of the data transfer destination has the address 10.1.2. FIG.
FIG. 4 is an explanatory diagram of an actual operation in the configuration of FIG. In FIG. 3, it is assumed that the data input from the packet input unit 19 includes both the header part and the content part of the protocol. It is assumed that the header portion includes a destination, and all of them specify 10.1.2.3 indicating an address addressed to the packet processing device 22 in FIG. The length of each data packet is 128 bytes, 64 bytes, and 250 bytes in this order, and is transmitted to the line corresponding unit in this order. Note that these data may be transferred to either the line corresponding unit 11 or 12. The counters 13 and 14 store transfer values up to the present. The counter 13 indicates the transmission amount 1050 of the line corresponding unit 11.
The counter 14 is a byte corresponding to the line
2 represents 800 bytes. The ratio register 17 indicates a value of 50:50. In this state, the operation of the comparator 16 is as follows. (A) It is known from the value of the ratio register 17 that a 50:50 comparison is to be performed. (B) The values of the counter 13 and the counter 14 are set to 50:50
Under the weight of. (C) Select a small number of counters 14. (D) Instruct the selector 15 to select the line corresponding unit 12. The selected line corresponding unit 12 outputs the first 128 bytes of data in the data memory 18 onto the line. (E) Thereafter, the transfer data length of 128 bytes is added to the counter 14 to obtain 928 bytes.

【0009】図4は、図1における各回路毎の動作タイ
ムチャートである。図4では、縦方向が経過する時間を
示しており、それぞれの縦線が各部の動作処理時間の経
過を示している。パケット入力部19から連続して入力
し、パケットメモリ18に格納されたデータパケット
を、次々にパケットメモリ18から回線対応部11ま
たは12に出力する場合を示している。入力された1つ
のパケットは、比較器16で比較するだけで出力回線対
応部が決定されるため、連続転送が可能となる。また、
レングス長からカウンタ13,14の加算を行い、次に
使用される出力回線対応部の選択を事前に行うことも可
能であるため、全くオーバヘッドなしで出力転送が行え
る。また、CPUの処理の介在がないため、出力転送と
入力転送を並行して行うことが可能となる(図9に示す
ように、回線対応部11でのの出力動作と、パケット
入力部19でのの入力動作とが並列に行える)。
FIG. 4 is an operation time chart for each circuit in FIG. In FIG. 4, the time that elapses in the vertical direction is shown, and each vertical line indicates the elapse of the operation processing time of each unit. A case is shown in which data packets continuously input from the packet input unit 19 and stored in the packet memory 18 are sequentially output from the packet memory 18 to the line corresponding unit 11 or 12. Since the input line corresponding portion is determined only by comparing one input packet by the comparator 16, continuous transfer is possible. Also,
It is also possible to add the counters 13 and 14 from the length length and to select an output line corresponding unit to be used next in advance, so that output transfer can be performed without any overhead. Further, since there is no intervention of the processing of the CPU, it is possible to perform the output transfer and the input transfer in parallel (as shown in FIG. 9, the output operation in the line corresponding unit 11 and the packet input unit 19). Can be performed in parallel with the input operation.

【0010】図5は、本発明の第2の実施例を示すパケ
ット処理装置の構成図である。図5では、図1と同じく
回線対応部および対応カウンタが2つずつの場合を示し
ている。図5において、30はキャッシュテーブル、3
1はパケット送出部、32はキャッシュエントリ書き換
え部であり、その他は図1の場合と同じ記号の対応を示
している。なお、キャッシュテーブル30は、通常のメ
モリ素子により実現でき、またパケット送出部31は、
データパケットをパケットメモリ18から回線対応部1
1または12に転送するためのシーケンス回路で、DM
Aコントローラ等で構成することができる。さらに、キ
ャッシュエントリ書き換え部32は、ランダムロジック
を組み合わせたシーケンス回路で構成することが可能で
ある。図5においては、図3の場合と同じ条件の動作の
状態が示されている。パケット入力部19から入力され
たデータパケットは、パケットメモリ18に転送され
る。パケットメモリ18内に転送されたデータは、プロ
トコルのヘッダ部分とコンテンツ部分の両方が含まれて
いるものとする。ヘッダ部分には、宛先が含まれ、全て
図2のパケット処理装置22宛のアドレスを示す10.
1.2.3が指定されているものとする。各データパケ
ットの長さは、順に128バイト、64バイト、250
バイトであり、この順に回線対応部に送出される。な
お、これらのデータは、回線対応部11および12のい
ずれに転送されても差し支えないものとする。
FIG. 5 is a block diagram of a packet processing apparatus according to a second embodiment of the present invention. FIG. 5 shows a case where there are two line corresponding units and two corresponding counters as in FIG. In FIG. 5, reference numeral 30 denotes a cache table;
1 is a packet sending unit, 32 is a cache entry rewriting unit, and the other parts correspond to the same symbols as in FIG. Note that the cache table 30 can be realized by a normal memory element, and the packet transmission unit 31
The data packet is transferred from the packet memory 18 to the line corresponding unit 1
A sequence circuit for transferring data to 1 or 12
An A controller or the like can be used. Furthermore, the cache entry rewriting unit 32 can be configured by a sequence circuit combining random logic. FIG. 5 shows an operation state under the same conditions as those in FIG. The data packet input from the packet input unit 19 is transferred to the packet memory 18. It is assumed that the data transferred into the packet memory 18 includes both the header part and the content part of the protocol. 10. The header portion includes the destination, and all indicate the address addressed to the packet processing device 22 in FIG.
It is assumed that 1.2.3 is specified. The length of each data packet is 128 bytes, 64 bytes, 250 bytes in order.
These bytes are sent to the line corresponding unit in this order. Note that these data may be transferred to any of the line corresponding units 11 and 12.

【0011】図5のカウンタ13,14には、現在まで
の転送値が格納されている。すなわち、カウンタ13
は、回線対応部11の送出量1050バイトを示してお
り、カウンタ14は、回線対応部12の送出量800バ
イトを示している。また、割合レジスタ17は、50:
50の値を示している。この状態において、比較器16
の動作は以下のようになる。 (a)割合レジスタ17の値より、50:50の比較を
行うことを知る。 (b)カウンタ13および14の値を、50:50の重
みのもとに比較する。 (c)少ない回線対応部12を選択する。 (d)キャッシュエントリ書き換え部32は、キャッシ
ュテーブル30の宛先10.1.2.3の箇所に回線対
応部12を示す『B』を書き込む。 (e)カウンタ14に転送データ長128バイトを加え
て、928バイトとする。 これらの動作とは独立に、パケット送出部31は、キャ
ッシュテーブル30の中から送出しようとするパケット
の宛先である10.1.2.3のエントリを読み出す。
その結果、回線対応部の値として『B』が読み出される
ことになる。次に、パケット送出部31は、ソースをパ
ケットメモリ18とし、ディスティネーションを回線対
応部12とし、送出カウントを128バイトに設定して
DMA転送を行う。次に、回線対応部12は、送られて
きた128バイトデータに対して回線上に出力処理を行
う。同じ処理が、64バイトデータおよび250バイト
データについても行われる。このように転送に使用され
るキャッシュテーブル30の書き換えを行うことによ
り、ロードバランスの処理がCPU処理の介在なしで実
現されることになる。
The transfer values up to the present are stored in the counters 13 and 14 in FIG. That is, the counter 13
Indicates the transmission amount of 1050 bytes of the line corresponding unit 11, and the counter 14 indicates 800 bytes of the transmission amount of the line corresponding unit 12. Further, the ratio register 17 stores 50:
The value of 50 is shown. In this state, the comparator 16
The operation of is as follows. (A) It is known from the value of the ratio register 17 that a 50:50 comparison is to be performed. (B) Compare the values of the counters 13 and 14 with a weight of 50:50. (C) Select a small number of line corresponding units 12. (D) The cache entry rewriting unit 32 writes “B” indicating the line corresponding unit 12 at the location of the destination 10.1.2.3 in the cache table 30. (E) The transfer data length 128 bytes is added to the counter 14 to make 928 bytes. Independently of these operations, the packet sending unit 31 reads out the entry of 10.1.2.3, which is the destination of the packet to be sent, from the cache table 30.
As a result, "B" is read as the value of the line corresponding unit. Next, the packet sending unit 31 performs the DMA transfer with the source set to the packet memory 18, the destination set to the line corresponding unit 12, and the sending count set to 128 bytes. Next, the line corresponding unit 12 performs output processing on the line for the transmitted 128-byte data. The same processing is performed for 64-byte data and 250-byte data. By thus rewriting the cache table 30 used for the transfer, the load balance processing is realized without the intervention of the CPU processing.

【0012】図6は、本発明の第3の実施例を示すパケ
ット処理装置の接続構成図である。図6において、パケ
ット処理装置21は、パケット処理装置22と回線23
および回線24を介して接続され、それぞれのパケット
処理装置21,22は中継装置として動作するものとす
る。パケット処理装置22のアドレスは、10.1.
2.3であるが、このパケット処理装置22にはネット
ワーク25とネットワーク26が接続されており、それ
ぞれにアドレス10.3.6.2のホスト27とアドレ
ス10.3.5.1のホスト28が接続されているもの
とする。このとき、図3または図5の割合レジスタ17
の代りにフィルタ機構の割合テーブルを設けるか、ある
いは割合レジスタ17の内容を図6のテーブルに変える
ことにより、その内容に従って比較器16を動作させ
る。フィルタ機構の割合テーブルは、図6(2)に示す
ような内容を持っている。すなわち、この割合テーブル
には、ロードバランスの有無、割合、ロードバランスを
しない場合の回線指定等が格納されている。先ず、転送
しようとするパケットのヘッダの宛先をチェックし、1
0.3.6.2に対しては、ロードバランスを使用し、
割合は50:50である。また、10.3.5.1に対
しては、ロードバランスを使用しないという判断がされ
る。この結果、宛先が10.3.6.2でロードバラン
スする場合には、比較器16では、前述と同じような動
作でそれぞれのカウンタ13,14の値から使用回線対
応部を決定する。また、宛先が10.3.5.1でロー
ドバランスをしない場合には、比較器16では、回線指
定が『A』の情報から指定回線対応部を必ず使用する。
なお、第4の実施例(請求項4参照)においては、割合
テーブルのエントリに宛先を加えてプロトコル情報を付
加することにより、プロトコルフィルタ機構として使用
する。割合テーブルのエントリのみが第3の実施例と異
なる点であって、動作は同じである。
FIG. 6 is a connection configuration diagram of a packet processing apparatus according to a third embodiment of the present invention. In FIG. 6, a packet processing device 21 is connected to a packet processing device 22 and a line 23.
And the packet processing devices 21 and 22 are connected via the line 24 and operate as relay devices. The address of the packet processing device 22 is 10.1.
2.3, a network 25 and a network 26 are connected to the packet processing apparatus 22, and a host 27 having an address 10.36.6.2 and a host 28 having an address 10.3.5.1. Is connected. At this time, the ratio register 17 shown in FIG.
Instead of providing a ratio table of the filter mechanism or changing the contents of the ratio register 17 to the table of FIG. 6, the comparator 16 is operated according to the contents. The ratio table of the filter mechanism has contents as shown in FIG. That is, the ratio table stores the presence / absence of the load balance, the ratio, the line designation when the load balance is not performed, and the like. First, the destination of the header of the packet to be transferred is checked, and 1
For 0.3.6.2, use load balancing,
The ratio is 50:50. It is determined that load balancing is not used for 10.3.5.1. As a result, when the destination is load balanced at 10.3.6.2, the comparator 16 determines the used line corresponding unit from the values of the respective counters 13 and 14 by the same operation as described above. If the destination is 10.3.5.1, and the load is not balanced, the comparator 16 always uses the designated line corresponding unit from the information of the line designation "A".
In the fourth embodiment (refer to claim 4), a destination is added to the entry of the ratio table and protocol information is added, so that the ratio is used as a protocol filter mechanism. Only the entry of the ratio table is different from that of the third embodiment, and the operation is the same.

【0013】このように、本発明では、(1)ロードバ
ランスに必要な出力回線をCPUを使用することなく決
定できるので、パケット長統計処理、使用割合の計算処
理にCPU時間をとられることがなく、パケットの転送
制御を遅延なく行える。 (2)接続された複数の回線がFDDI,B−ISDN
のように高速になっても、パケットの転送処理が遅延す
ることはない。 (3)回線対応部にパケットが入力しても、CPUに割
り込みを上げる必要がないので、システム全体のリアル
タイム性を低下させず、接続された複数の回線がFDD
I,B−ISDNのように高速になり、1つのパケット
間隔が短い場合でも、時間をかけずに高速転送が可能で
ある。 (4)DMAの宛先を決める場合、パケット長統計処理
および使用割合の計算処理が終了しなくても、DMAの
起動が可能であるため、高速なDMA転送が行える。
As described above, according to the present invention, (1) an output line necessary for load balancing can be determined without using a CPU, so that CPU time can be taken for packet length statistical processing and calculation processing of a use ratio. And packet transfer control can be performed without delay. (2) A plurality of connected lines are FDDI, B-ISDN
Even if the speed is increased as described above, the packet transfer processing will not be delayed. (3) Even if a packet is input to the line corresponding unit, there is no need to raise an interrupt to the CPU.
It is high speed like I, B-ISDN, and even if one packet interval is short, high speed transfer is possible without taking much time. (4) When deciding the destination of the DMA, the DMA can be started even if the packet length statistical processing and the calculation processing of the use ratio are not completed, so that high-speed DMA transfer can be performed.

【0014】[0014]

【発明の効果】以上説明したように、本発明によれば、
ロードバランスに必要な出力回線の決定が、CPUを使
用せずに簡単な比較器の動作のみで実現できるので、パ
ケット処理装置の収容回線数の増加、転送回線容量の増
大を行っても、個々のパケットデータの転送処理能力に
何等影響を及ぼすことなく、複数回線のロードバランス
処理を行うことが可能である。
As described above, according to the present invention,
Since the output line necessary for load balancing can be determined only by the operation of a simple comparator without using a CPU, even if the number of lines accommodated in the packet processing device and the transfer line capacity are increased, individual output lines can be determined. It is possible to perform the load balance processing of a plurality of lines without affecting the packet data transfer processing capability at all.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の第1の実施例を示すパケット処理装置
の構成図である。
FIG. 1 is a configuration diagram of a packet processing device according to a first embodiment of the present invention.

【図2】本発明におけるパケット処理装置相互間の接続
構成図である。
FIG. 2 is a connection configuration diagram between packet processing apparatuses according to the present invention.

【図3】図1におけるパケット処理装置の動作説明図で
ある。
FIG. 3 is an explanatory diagram of an operation of the packet processing device in FIG. 1;

【図4】図1におけるパケット処理装置の動作タイムチ
ャートである。
FIG. 4 is an operation time chart of the packet processing device in FIG. 1;

【図5】本発明の第2の実施例を示すパケット処理装置
の構成図である。
FIG. 5 is a configuration diagram of a packet processing device according to a second embodiment of the present invention.

【図6】本発明の第3の実施例を示すパケット処理装置
相互間の接続構成図である。
FIG. 6 is a connection configuration diagram between packet processing apparatuses according to a third embodiment of the present invention.

【図7】従来のパケット処理装置相互間の接続構成図で
ある。
FIG. 7 is a connection configuration diagram between conventional packet processing apparatuses.

【図8】従来のパケット処理装置の構成例を示す図であ
る。
FIG. 8 is a diagram illustrating a configuration example of a conventional packet processing device.

【図9】従来のパケット処理装置の動作タイムチャート
である。
FIG. 9 is an operation time chart of the conventional packet processing device.

【符号の説明】[Explanation of symbols]

11,12…回線対応部、13,14…カウンタ、15
…セレクタ、16…比較器、17…割合レジスタ、18
…パケットメモリ、19…パケット入力部、21,22
…パケット処理装置、23,24…回線、25,26,
29…ネットワーク、27,28…ホスト、30…キャ
ッシュエントリ、31…パケット送出部、32…キャッ
シュエントリ書き換え部。
11, 12 ... line corresponding unit, 13, 14 ... counter, 15
... Selector, 16 ... Comparator, 17 ... Ratio register, 18
... Packet memory, 19 ... Packet input unit, 21, 22
... Packet processing devices, 23, 24 ... lines, 25, 26,
29: network, 27, 28: host, 30: cache entry, 31: packet sending unit, 32: cache entry rewriting unit.

───────────────────────────────────────────────────── フロントページの続き (72)発明者 高橋 直久 東京都新宿区西新宿三丁目19番2号 日本 電信電話株式会社内 ──────────────────────────────────────────────────続 き Continuing on the front page (72) Inventor Naohisa Takahashi Nippon Telegraph and Telephone Corporation, 3-19-2 Nishishinjuku, Shinjuku-ku, Tokyo

Claims (4)

【特許請求の範囲】[Claims] 【請求項1】通信回線上のデータを受け取り、また該通
信回線上にデータを送出する複数の回線対応部と、 回線対応部単位に配置され、かつパケット宛先別に測定
された送出パケット量の合計値を保持するカウンタと、 同一宛先を持つ複数の回線対応部の使用割合を保持する
割合レジスタと、 該割合レジスタとカウンタの各値を参照して、次に使用
すべき回線対応部を決定する比較器と、 該比較器の決定に従ってパケットの送出先を切り替える
セレクタとを具備し、 同一宛先を持つ各通信回線の負荷に応じて、上記割合レ
ジスタに使用割合を設定することにより、各通信回線の
負荷に応じて複数の通信回線を切り替えてパケットを送
出することを特徴とするパケット処理装置。
1. A plurality of line-corresponding units for receiving data on a communication line and transmitting data on the communication line, and a total of transmission packet amounts arranged for each line-corresponding unit and measured for each packet destination. A counter that holds a value, a ratio register that holds the usage ratio of a plurality of line corresponding units having the same destination, and a value of the ratio register and the counter that is used to determine a line corresponding unit to be used next. A comparator, and a selector for switching a packet transmission destination according to the decision of the comparator, and setting a use ratio in the ratio register in accordance with a load of each communication line having the same destination, whereby each communication line is set. A packet processing apparatus that switches a plurality of communication lines according to a load of the packet and transmits the packet.
【請求項2】前記セレクタの代りに、宛先および送出先
回線対応部の番号を一定時間だけ保持するキャッシュテ
ーブルと、 前記比較器の動作結果を基に、該キャッシュテーブルの
送出先回線対応部の番号を書き換えるキャッシュエント
リ書き換え部と、 該キャッシュテーブルのエントリを読み出して、読み出
した番号に対応する回線対応部にデータの送出先を決定
し、転送を行うパケット送出部とを具備し、 同一宛先を持つ各通信回線の負荷に応じて、上記キャッ
シュテーブルのエントリを書き換えることにより、各通
信回線の負荷に応じて複数の通信回線を切り替えてパケ
ットを送出することを特徴とする請求項1に記載のパケ
ット処理装置。
2. A cache table for holding a number of a destination and a destination line corresponding unit for a predetermined time instead of the selector, and a cache table of a destination line corresponding unit of the cache table based on an operation result of the comparator. A cache entry rewriting unit for rewriting a number, and a packet transmission unit for reading an entry of the cache table, determining a data transmission destination in a line corresponding unit corresponding to the read number, and performing a transfer. 2. The packet according to claim 1, wherein a plurality of communication lines are switched according to the load of each communication line to transmit a packet by rewriting an entry of the cache table according to a load of each communication line. Packet processing device.
【請求項3】前記割合レジスタの代りに、宛先アドレス
ごとに前記比較器の動作を許可することができるフィル
タ機構を具備し、 特定の同一宛先に対してだけ、通信回線の負荷に応じて
上記フィルタ機構の内容を設定することにより、各通信
回線の負荷に応じて複数の通信回線を切り替えてパケッ
トを送出することを特徴とする請求項1または2に記載
のパケット処理装置。
3. The apparatus according to claim 2, further comprising: a filter mechanism for permitting the operation of the comparator for each destination address in place of the ratio register. 3. The packet processing apparatus according to claim 1, wherein the contents of the filter mechanism are set to switch a plurality of communication lines according to the load of each communication line and transmit a packet.
【請求項4】前記割合レジスタの代りに、パケットの使
用プロトコルごとに前記比較器の動作を許可することが
できるプロトコルフィルタ機構を具備し、 特定の使用プロトコルに対してだけ、通信回線の負荷に
応じて上記プロトコルフィルタ機構の内容を設定するこ
とにより、各通信回線の負荷に応じて複数の通信回線を
切り替えてパケットを送出することを特徴とする請求項
1ないし3に記載のパケット処理装置。
4. A communication apparatus according to claim 1, further comprising a protocol filter mechanism for permitting the operation of said comparator for each protocol of use of the packet, in place of said ratio register. 4. The packet processing apparatus according to claim 1, wherein the contents of the protocol filter mechanism are set accordingly, so that a plurality of communication lines are switched according to the load of each communication line and packets are transmitted.
JP26037396A 1996-10-01 1996-10-01 Packet processing device Expired - Fee Related JP3278831B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP26037396A JP3278831B2 (en) 1996-10-01 1996-10-01 Packet processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP26037396A JP3278831B2 (en) 1996-10-01 1996-10-01 Packet processing device

Publications (2)

Publication Number Publication Date
JPH10107846A true JPH10107846A (en) 1998-04-24
JP3278831B2 JP3278831B2 (en) 2002-04-30

Family

ID=17347030

Family Applications (1)

Application Number Title Priority Date Filing Date
JP26037396A Expired - Fee Related JP3278831B2 (en) 1996-10-01 1996-10-01 Packet processing device

Country Status (1)

Country Link
JP (1) JP3278831B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000039679A3 (en) * 1998-12-31 2000-11-23 Emc Corp Method and apparatus for balancing workloads among paths in a multi-path computer system
KR20020022907A (en) * 2000-09-21 2002-03-28 문홍주 Method for Performance Improvement and High-speed Operation of a Load Balancing Equipment and Its System

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000039679A3 (en) * 1998-12-31 2000-11-23 Emc Corp Method and apparatus for balancing workloads among paths in a multi-path computer system
GB2359170A (en) * 1998-12-31 2001-08-15 Emc Corp Method and apparatus for balancing workloads among paths in a multi-path computer system
GB2359170B (en) * 1998-12-31 2003-12-24 Emc Corp Method and apparatus for balancing workloads among paths in a multi-path computer system
KR20020022907A (en) * 2000-09-21 2002-03-28 문홍주 Method for Performance Improvement and High-speed Operation of a Load Balancing Equipment and Its System

Also Published As

Publication number Publication date
JP3278831B2 (en) 2002-04-30

Similar Documents

Publication Publication Date Title
AU767085B2 (en) Optimizing the transfer of data packets between LANs
US5274631A (en) Computer network switching system
US5764895A (en) Method and apparatus for directing data packets in a local area network device having a plurality of ports interconnected by a high-speed communication bus
US4484326A (en) Packet load monitoring by trunk controllers
US4512011A (en) Duplicated network arrays and control facilities for packet switching
US8614942B2 (en) Packet switching system and method
JP3946145B2 (en) Fast Ethernet switch and method for distributing Fast Ethernet data frames
JP2010081641A (en) System and method for regulating message flow in digital data network
JPH07202942A (en) Packet switchboard
WO1988002961A1 (en) Batcher-banyan packet switch with output conflict resolution scheme
US5398235A (en) Cell exchanging apparatus
US8885673B2 (en) Interleaving data packets in a packet-based communication system
US8930557B2 (en) Data transmission with constant data rate
US5594868A (en) Processor unit for a parallel processor system discards a received packet when a reception buffer has insufficient space for storing the packet
JP3278831B2 (en) Packet processing device
JP4209186B2 (en) A processor configured to reduce memory requirements for fast routing and switching of packets
US7272151B2 (en) Centralized switching fabric scheduler supporting simultaneous updates
JPH05160851A (en) Electronic exchange method for asynchronous transfer mode communication system
EP1187422B1 (en) Method and device for tunable packet arbitration
JP2021144324A (en) Communication device, method for controlling communication device, and integrated circuit
JPH02245860A (en) Data transfer sysem
KR20010095103A (en) An intelligent bus interconnect unit
JP2001024661A (en) Multicast system and exchanging method therefor
JPH11234333A (en) Gateway device
JP2581002B2 (en) LAN connection device

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090222

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090222

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100222

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110222

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110222

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120222

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130222

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees