JPH0750666A - Routing system - Google Patents

Routing system

Info

Publication number
JPH0750666A
JPH0750666A JP19446593A JP19446593A JPH0750666A JP H0750666 A JPH0750666 A JP H0750666A JP 19446593 A JP19446593 A JP 19446593A JP 19446593 A JP19446593 A JP 19446593A JP H0750666 A JPH0750666 A JP H0750666A
Authority
JP
Japan
Prior art keywords
routing
packet
data
header
processor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP19446593A
Other languages
Japanese (ja)
Inventor
Kenji Hirahata
健児 平畑
Ken Watabe
謙 渡部
Sunao Sawada
素直 澤田
Hiroshi Sato
博 佐藤
Masahito Sasaki
雅仁 佐々木
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.)
Hitachi Computer Electronics Co Ltd
Hitachi Ltd
Original Assignee
Hitachi Computer Electronics Co Ltd
Hitachi Ltd
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 Hitachi Computer Electronics Co Ltd, Hitachi Ltd filed Critical Hitachi Computer Electronics Co Ltd
Priority to JP19446593A priority Critical patent/JPH0750666A/en
Publication of JPH0750666A publication Critical patent/JPH0750666A/en
Pending legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

PURPOSE:To attain the high speed routing of packet data by providing a load distributing means having a queue for storing a processed result in a routing processor in a communication equipment in which networks are mutually con nected. CONSTITUTION:Modules on an LAN connected with a communication control part 5a are connection-controlled, and routing for operating a packet processing is operated by a routing processor 3. This processor 3 is equipped with a load distributing means 4, and the means 4 is equipped with the queue for storing the processed result in a packet buffer 33 corresponding to the ports of the communication control part 5a or the like, and a data sequence number ID from the control part 5a is fetched. Then, each header is reconstituted from data coexistingly inputted from the plural ports, the ID is added to each packet, and the routing of the established routing information in the packet in the buffer 3 is operated at a high speed.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明はネットワークを相互接続
するインタネットワーク装置に係り、パケットデータの
ルーティングを高速に行うことを図るルーティング方式
に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an internetwork device for interconnecting networks, and more particularly to a routing method for performing high-speed routing of packet data.

【0002】[0002]

【従来の技術】従来、ルータやゲートウェイの構成は、
2つ以上の通信ポートと、ルーティングプロトコル処理
を行うプロセッサを持つ。ルーティングは以下のように
行う。一方の通信ポートから受信したパケットをバッフ
ァに格納し、プロセッサがルーティング処理を施し、宛
先(方向)を知る。さらに該パケットを該当するポート
から送出することによりパケットの中継を行う。
2. Description of the Related Art Conventionally, the configurations of routers and gateways are
It has two or more communication ports and a processor that performs routing protocol processing. The routing is performed as follows. The packet received from one of the communication ports is stored in the buffer, and the processor performs the routing process to know the destination (direction). Further, the packet is relayed by transmitting the packet from the corresponding port.

【0003】ネットワーク間をルーティングする技術は
いくつかあり、例えばIP(Internet Pro
tocol)がよく知られている。このIPプロトコル
ではインタネットワーキング用アドレスとしてIPアド
レスを用いる。そして宛先IPアドレスと対応する隣接
する経路のMACアドレスを記述した経路情報テーブル
を持ち、これを参照してルーティングを行う。
There are several techniques for routing between networks, such as IP (Internet Pro).
tocol) is well known. In this IP protocol, an IP address is used as an internetworking address. Then, it has a route information table describing the MAC address of the adjacent route corresponding to the destination IP address, and refers to this to perform routing.

【0004】例えばルーティングを高速に行う技術とし
ては特開平3−132131号公報、メッセージルーテ
ィングに見られるように、ルーテイングを行う手段はメ
ッセージパケットを受け入れる複数の入力、それぞれ宛
先ノード識別の各範囲を指定する複数の出力、入力を複
数の出力の一つに接続するスイッチ回路等を有してい
た。ここである入力からパケットを取り込むときにはヘ
ッダ読みだし回路にてヘッダ部分を読みだしてヘッダF
IFOに取り込み、パケットデータ全てを受け入れる以
前にヘッダの情報をもとに宛先ノード識別を決定して、
ノード識別範囲を有する出力の1つを選択し、これに入
力を接続する。このようにしてパケットを高速にルーテ
ィングすることを行っていた。
For example, as a technique for performing high-speed routing, as disclosed in Japanese Unexamined Patent Publication No. 3-132131, message routing, a means for performing routing specifies a plurality of inputs for accepting a message packet, and each range of destination node identification. It has a plurality of outputs, a switch circuit for connecting an input to one of the plurality of outputs, and the like. When fetching a packet from a certain input, the header reading circuit reads the header part and the header F
Before receiving all packet data in the IFO, the destination node identification is determined based on the information in the header,
Select one of the outputs with the node identification range and connect the input to it. In this way, packets are routed at high speed.

【0005】[0005]

【発明が解決しようとする課題】ネットワークにおいて
中継手段がポートを複数有する場合には、パケットデー
タはポート間で競合しながら時間的に混在して中継手段
内に到達するが、従来の方法ではヘッダを抜き出してバ
ッファに取り込む手段を有するものの、複数の送信元か
らのデータが時間的に混在する際の配慮がなされていな
かった。即ちパケットバッファにパケットデータを取り
込む一方で、ヘッダバッファにヘッダを取り込んでルー
ティング情報を得る場合、どのデータのルーティング情
報が早く完成するかは、ポート間の競合により不明であ
る。ルーテイング情報が完成したものからいち早くルー
ティングを行うためにはパケットバッファ内のデータと
ルーティング情報の対応付けを伴ったうえでのキュー管
理が必要である。
When the relay means has a plurality of ports in the network, the packet data arrives in the relay means in a temporally mixed manner while competing between the ports, but in the conventional method, the header is used. Although there is a means for extracting and storing the data in a buffer, no consideration has been given to the temporal mixing of data from a plurality of transmission sources. That is, when the packet data is fetched into the packet buffer and the header is fetched into the header buffer to obtain the routing information, it is not clear due to competition between ports which routing information of data is completed sooner. In order to carry out the routing as soon as the routing information is completed, it is necessary to manage the queue while associating the data in the packet buffer with the routing information.

【0006】[0006]

【課題を解決するための手段】ルーティング手段に、ネ
ットワークとのインタフェースを行う通信制御部からパ
ケットバッファへの経路と別にルーティング処理の負荷
分散を行う手段への経路を設け、両経路には通信制御部
を介してデータが到達することとする。
A routing means is provided with a path from a communication control section for interfacing with a network to a packet buffer, and a path for a means for load distribution of routing processing. It is assumed that data arrives via the department.

【0007】通信制御部には複数の送信元のうちいずれ
からデータを受けたかを示すチャネル信号を生成する手
段と、さらに全てのパケットに対して識別用のIDを生
成するパケットID生成手段を設ける。パケットID生
成手段が生成したIDはパケットバッファへ格納するパ
ケットデータに付加されるとともに、高速化手段にも渡
される。
The communication control unit is provided with means for generating a channel signal indicating from which of a plurality of sources the data is received, and packet ID generating means for generating an ID for identification for all packets. . The ID generated by the packet ID generation means is added to the packet data stored in the packet buffer and is also passed to the speed-up means.

【0008】負荷分散手段には、チャネル信号に対応し
て、ヘッダ検出回路、ヘッダの分だけのバッファ、ヘッ
ダFIFO専用のDMACをポート対応で設けるととも
に、データのシーケンスナンバー(ID)取り込み手段
を設け、通信制御部からのパケットIDを受け取る。ま
た、ヘッダを解析した結果を残すキューをポート対応で
設けるとともに、シーケンスナンバーを登録、比較する
ためのレジスタ、比較器、およびそれらの制御手段を設
ける。
The load distribution means is provided with a header detection circuit, a buffer for only the header, a DMAC dedicated to the header FIFO corresponding to the port corresponding to the channel signal, and a data sequence number (ID) fetching means. , Receives the packet ID from the communication control unit. Further, a queue for leaving the result of analyzing the header is provided for each port, and a register for registering and comparing sequence numbers, a comparator, and their control means are provided.

【0009】[0009]

【作用】ルーティング手段にパケットID生成手段を設
けて、パケットバッファ内のパケットデータにこのID
を付加するとともに負荷分散手段にもIDを取り込む手
段を設けたことにより、パケットバッファ内のパケット
データと負荷分散手段内のルーティング情報とのパケッ
トごとの対応をとる。これによりパケットバッファ内の
パケットのうち、ルーティング情報が完成したものをル
ーティングすることを実現する。
The packet ID generating means is provided in the routing means, and the packet data in the packet buffer is provided with this ID.
By adding a means for adding the ID to the load balancing means, the packet data in the packet buffer and the routing information in the load balancing means are associated with each other for each packet. As a result, it is possible to route the packet having the completed routing information among the packets in the packet buffer.

【0010】[0010]

【実施例】以下、本発明の実施例を図面を用いて説明す
る。
Embodiments of the present invention will be described below with reference to the drawings.

【0011】まず、ルータ装置の全体アーキテクチャに
ついて説明する。本実施例によるルータ装置の特徴は、
ルーティングを行う複数のモジュールを有し、モジュー
ルの増設により容易に性能向上ができるアーキテクチャ
を採ることである。それぞれのモジュールはルーティン
グプロセッサを有し、それぞれのルーティングプロセッ
サがさらに1つ、または複数の通信ポートを有する構成
としている。図1に示すブロック図は、ルータ全体のブ
ロック図を示している。図1において、1が例えば20
0MBytes/secのスループットを持つルータバ
スで、このルータバスに装置全体の管理機能とルーティ
ング情報の収集、分配などの機能を持つ管理部2が接続
されている。ルータバス1には、高速にルーティングを
行う機能を有するルーティングプロセッサ3が1モジュ
ール〜8モジュールまで接続できる。管理部2は、ルー
ティングプロセッサ3にルーティング情報を設定して、
それぞれのルーティングプロセッサ3がこれに基づいて
ルーティング動作を行うことでルータを実現する。
First, the overall architecture of the router device will be described. The features of the router device according to the present embodiment are:
It is to adopt an architecture that has multiple modules that perform routing and that can easily improve performance by adding modules. Each module has a routing processor, and each routing processor is configured to have one or more communication ports. The block diagram shown in FIG. 1 is a block diagram of the entire router. In FIG. 1, 1 is, for example, 20
A router bus having a throughput of 0 MBytes / sec, and a management unit 2 having a function of managing the entire device and a function of collecting and distributing routing information is connected to the router bus. A routing processor 3 having a function of performing high-speed routing can be connected to the router bus 1 from 1 to 8 modules. The management unit 2 sets the routing information in the routing processor 3,
A router is realized by each routing processor 3 performing a routing operation based on this.

【0012】さらに各ルーティングプロセッサ3には、
各種の通信制御部5a〜5dがつながる。ここで、例え
ば高速通信ポートであれば基本的に1つだけつながる
が、中低速通信は複数個つなげても1つのルーティング
プロセッサの能力で対応することができる。
Further, each routing processor 3 has
Various communication control units 5a to 5d are connected. Here, for example, if there is a high-speed communication port, basically only one is connected, but medium and low-speed communication can be supported by the capability of one routing processor even if a plurality of them are connected.

【0013】ルーティングプロセッサ3の構成およびル
ーティング処理について図1を用いて説明する。図1に
おいて5a〜5dは各種通信を制御する通信制御部、3
1はルーティング処理を行うプロセッサ、33はパケッ
トを格納するパケットバッファおよびルーティングテー
ブルを備えるメモリ、32はメモリ33およびプロセッ
サ31を制御し、通信制御部5とインタフェースを行う
制御回路である。
The configuration of the routing processor 3 and the routing process will be described with reference to FIG. In FIG. 1, 5a to 5d are communication control units for controlling various types of communication, 3
Reference numeral 1 is a processor for performing a routing process, 33 is a memory having a packet buffer for storing packets and a routing table, and 32 is a control circuit for controlling the memory 33 and the processor 31 to interface with the communication control unit 5.

【0014】ルーティングの流れについて説明する。な
お、前提として管理部2が全部のルーティングプロセッ
サ3にルーティング情報テーブルを配布することによ
り、各ルーティングプロセッサ3はメモリ33内にルー
ティング情報を有している状態とする。例えば、管理部
2のルーティング情報の収集は、他のルータとの間でR
IP、OSPFなどのルーティングプロトコルでやり取
りして行うか、あるいはユーザが予めスタティックに設
定するかで行う。通信制御部51がLAN71から受信
したパケットをメモリ33に転送し格納する。プロセッ
サ31が、格納されたパケットのヘッダの部分を見てル
ーティング処理を行う。例えば宛先が回線72向けであ
った場合、パケットをルーティングプロセッサ3aから
ルーティングプロセッサ3bに転送する。また例えば、
宛先が次装置であれば管理部2へ転送する。例えば宛先
がLAN71向け、即ち自ルーティングプロセッサ3a
の下にある場合には廃棄する。
The flow of routing will be described. As a premise, the management unit 2 distributes the routing information table to all the routing processors 3 so that each routing processor 3 has the routing information in the memory 33. For example, the management unit 2 collects the routing information from other routers by R
It is performed by exchanging information by using a routing protocol such as IP or OSPF, or by a user statically setting in advance. The communication control unit 51 transfers and stores the packet received from the LAN 71 to the memory 33. The processor 31 looks at the header portion of the stored packet and performs the routing process. For example, when the destination is the line 72, the packet is transferred from the routing processor 3a to the routing processor 3b. Also, for example,
If the destination is the next device, it is transferred to the management unit 2. For example, the destination is the LAN 71, that is, its own routing processor 3a
Discard if below.

【0015】次に、以上のような流れを基本として、中
低速通信を複数本持つ場合に、通信元61と通信元62
がデータを送出する例を説明する。図1において4はル
ーティング処理の負荷を分散するためのルーティング負
荷分散処理部である。
Next, based on the above flow, in the case of having a plurality of medium and low speed communication, the communication source 61 and the communication source 62
An example of sending data will be described. In FIG. 1, reference numeral 4 denotes a routing load distribution processing unit for distributing the load of routing processing.

【0016】まず通信制御部5につながるデバイス61
がデータ転送の要求を起こす。この時デバイス61は転
送の要求が有ることを示すため要求信号61rを出力す
る。図2に示す通信制御部5のアービトレーションブロ
ック51はこの要求信号を受けて、デバイス61にデー
タ転送を許可できる状態であればこれを示すため、許可
信号61gを出力する。これにより許可を受けたデバイ
ス61はデータの転送を行う。ただし、この時の転送単
位量はパケットデータの長さを下回ることが十分考えら
れるため、1回の転送アクセスが終了した段階において
は、転送を行ったデバイスはパケットデータの残りをま
だ持っているものとする。デバイス61がデータを通信
制御部5にパスすると通信制御部5はラッチ53にデー
タを取り込み、インタフェース部52を介してデータを
制御回路32に出力し、制御回路32はデータをパケッ
トバッファ33に書き込む。一方負荷分散処理部4は例
えばライトイネーブル信号を検出することによりデータ
の有効タイミングを知り、パケットバッファ33と共有
するデータ線321からデータをリードする。データ線
321から取り込んだデータは、ヘッダ検出のための時
間を作る遅延用バッファ421a〜421dに共通に入
力される一方、ヘッダ検出回路411a〜411dに読
み込まれる。これらはデータを監視して、予めレジスタ
設定などの方法で設定されたデータと比較することによ
りヘッダを検出するとともに比較結果ををレジスタ41
2a〜412dに残すためのものであり、複数の検出回
路411a〜411dのうち、通信制御部5が出力して
いるチャネル信号511〜514に対応するものだけが
実際に動作し、42a〜42dのデータを通過させるバ
ッファゲート43a〜43dに対してON/OFF信号
を出力する。本例の場合、通信制御部5aはデータがデ
バイス61からのものであることを示すためにチャネル
信号511を出力する。これによりヘッダ検出回路41
1a〜411dのうち411aのみが動作し、ヘッダF
IFO423aには転送元61からのデータのヘッダの
1部が入る。
First, a device 61 connected to the communication control unit 5
Makes a request for data transfer. At this time, the device 61 outputs a request signal 61r to indicate that there is a transfer request. The arbitration block 51 of the communication control unit 5 shown in FIG. 2 receives this request signal and outputs a permission signal 61g to indicate that the device 61 is in a state in which data transfer can be permitted. As a result, the device 61 that has received the permission transfers the data. However, since it is quite possible that the transfer unit amount at this time is less than the length of the packet data, at the stage when one transfer access is completed, the device that has transferred still has the rest of the packet data. I shall. When the device 61 passes the data to the communication control unit 5, the communication control unit 5 fetches the data in the latch 53, outputs the data to the control circuit 32 via the interface unit 52, and the control circuit 32 writes the data in the packet buffer 33. . On the other hand, the load distribution processing unit 4 knows the valid timing of the data by detecting the write enable signal, and reads the data from the data line 321 shared with the packet buffer 33. The data taken in from the data line 321 is commonly input to the delay buffers 421a to 421d that make time for header detection, and is also read to the header detection circuits 411a to 411d. These detect the header by monitoring the data and comparing it with the data set in advance by a method such as register setting, and the comparison result is stored in the register 41.
2a to 412d, only the ones corresponding to the channel signals 511 to 514 output from the communication control unit 5 among the plurality of detection circuits 411a to 411d actually operate, and 42a to 42d. An ON / OFF signal is output to buffer gates 43a to 43d that pass data. In the case of this example, the communication control unit 5a outputs the channel signal 511 to indicate that the data is from the device 61. As a result, the header detection circuit 41
Only 411a of 1a to 411d operates, and the header F
A part of the header of the data from the transfer source 61 is stored in the IFO 423a.

【0017】ここでデバイス62が同じく転送要求を起
こし、要求信号62rを出力したとする。デバイス61
の転送アクセスが終了した時点でアービタ5はデバイス
62に転送の許可を示す許可信号62gを出力する。こ
れによりデバイス62はデータの転送を行う。ここでは
通信制御部5はチャネル信号512を出力する。これに
よりヘッダ検出回路のうち41bが動作し、データはヘ
ッダFIFO44bに出力される。ただし、この時もや
はり転送単位量は実際に転送したいデータ量を下回るこ
とが十分考えられるため、1回の転送アクセスが終了し
た段階においては、転送を行ったデバイスはパケットデ
ータの残りをまだ持っているものとする。続いて再び転
送元61が転送要求を起こして転送を行うと、制御回路
32はパケットバッファ33の、先に転送元61のライ
トアクセス時にライトしたデータにつながる位置にライ
トする。この方法としては通常の複チャネルDMACの
ように制御回路32がアドレスバッファを複数有してい
ればよく、各々のチャネルでライトを行う度に、最後に
ライトしたアドレスを持つことができる。
Here, it is assumed that the device 62 similarly issues a transfer request and outputs a request signal 62r. Device 61
When the transfer access is completed, the arbiter 5 outputs the permission signal 62g indicating the permission of the transfer to the device 62. This causes the device 62 to transfer the data. Here, the communication control unit 5 outputs the channel signal 512. As a result, 41b of the header detection circuit operates and the data is output to the header FIFO 44b. However, even at this time, it is fully possible that the transfer unit amount will be less than the actual data amount to be transferred, so at the stage when one transfer access is completed, the transferring device still has the rest of the packet data. It is assumed that Subsequently, when the transfer source 61 again issues a transfer request to perform the transfer, the control circuit 32 writes the data in a position in the packet buffer 33, which is connected to the data previously written at the write access of the transfer source 61. As the method, it is sufficient that the control circuit 32 has a plurality of address buffers like a normal multi-channel DMAC, and the last written address can be held each time writing is performed in each channel.

【0018】続いて同様に、転送元61や転送元62か
らの転送が起こった場合、ヘッダFIFO44a、44
bには逐次ヘッダが入る。
Similarly, when a transfer from the transfer source 61 or the transfer source 62 occurs similarly, the header FIFOs 44a and 44
A header is sequentially input to b.

【0019】ヘッダFIFOはポインタを有しており、
図4ではヘッダFIFO423aのポインタがその値に
よりヘッダ部分が揃ったことを示すと、ヘッダ用DMA
C43aはDMAアービタ45に対して転送要求を起こ
す。ここでの要求、許可は45aの信号線で行うもので
ある。許可を受けると、ヘッダ用DMAC43aはヘッ
ダのバッファリング用に設けたDRAM46にヘッダ、
および比較結果レジスタ412a〜412dの内容を転
送する。ここでの比較結果とは、例えばIPルーティン
グを例にとれば、MACヘッダチェック、LLCヘッダ
チェック、SNAPヘッダチェック、IPヘッダチェッ
ク、ステータスチェックに関するものである。この後、
負荷分散手段4のプロセッサ47は任意のタイミングで
この結果のシーケンスの古いものから順にインタフェー
スメモリ48に書き込んでおく。
The header FIFO has a pointer,
In FIG. 4, when the pointer of the header FIFO 423a indicates that the header parts are aligned according to the value, the header DMA
The C43a issues a transfer request to the DMA arbiter 45. The request and the permission here are made through the signal line 45a. Upon receiving the permission, the header DMAC 43a stores the header in the DRAM 46 provided for buffering the header,
And the contents of the comparison result registers 412a-412d are transferred. The comparison result here relates to a MAC header check, an LLC header check, a SNAP header check, an IP header check, and a status check, taking IP routing as an example. After this,
The processor 47 of the load distribution unit 4 writes the result sequence in the interface memory 48 in order from the oldest one at an arbitrary timing.

【0020】以上のようにして負荷分散手段4はヘッダ
およびルーティング情報を有した状態にある。ここでさ
らに転送元デバイス61、62はパケット本体部(ヘッ
ダの後の部分)の転送を続け、これが前述のとおりパケ
ットバッファ33にライトされる。そしてパケットの末
尾部分においては、通信制御部5aがパケットに含まれ
るエンドデリミタをフレーム末尾検出部54で検出する
ことにより末尾であることを知り、カウンタ更新信号5
41〜544を出力してチャネルごとに設けたカウンタ
の値を更新し、この値、すなわちシーケンスナンバーと
これを出力中であることを示すタイミング信号5511
〜5541を出力する。これによりシーケンス制御部4
4の登録SQNレジスタ444のうち、該当ポート用の
ものにシーケンスナンバーが登録され、かつ、インタフ
ェースメモリ48のキューにはルーティング情報が用意
されている。
As described above, the load distribution means 4 has the header and the routing information. Here, the transfer source devices 61 and 62 continue the transfer of the packet body (the part after the header), and this is written in the packet buffer 33 as described above. Then, at the end of the packet, the communication control unit 5a detects the end delimiter included in the packet by the frame end detection unit 54 to find that it is the end, and the counter update signal 5
41 to 544 are output to update the value of the counter provided for each channel, and this value, that is, the sequence number and the timing signal 5511 indicating that this is being output.
~ 5541 is output. As a result, the sequence control unit 4
The sequence number is registered in the register SQN register 444 of No. 4 for the corresponding port, and the routing information is prepared in the queue of the interface memory 48.

【0021】プロセッサ31は、内蔵するコントロール
ウェアのスケジューリングによりバッファメモリ33の
うち、いずれかのポートに対応するエリアからパケット
IDをフェッチし、命令実行のある時点において要求S
QNレジスタ441にシーケンスナンバーとポート番号
をライトする。これによりシーケンスナンバー制御部4
4は比較器443により要求シーケンスナンバーと登録
シーケンスナンバーの比較を行い、その結果をステータ
スレジスタ442に残す。プロセッサ31は上記の比較
に要するサイクル数を置いてステータスレジスタ442
を読み、一致である場合には予め設定されたポートエリ
アの任意のアドレス(このアドレスはプロセッサ31の
コントロールウェアでポインタとして管理する)からル
ーティング情報をリードする。また、一致していない場
合にはパケットの廃棄とみなし、プロセッサ31は次の
パケットのルーティングを行うために同様の動作を行
う。
The processor 31 fetches the packet ID from the area corresponding to any port of the buffer memory 33 by the scheduling of the built-in controlware, and requests S at a certain point in time when the instruction is executed.
The sequence number and the port number are written in the QN register 441. As a result, the sequence number control unit 4
The comparator 4 compares the requested sequence number with the registered sequence number, and leaves the result in the status register 442. The processor 31 places the number of cycles required for the above comparison in the status register 442.
, And if there is a match, the routing information is read from an arbitrary address of the preset port area (this address is managed as a pointer by the controlware of the processor 31). If they do not match, the packet is considered to be discarded, and the processor 31 performs the same operation to route the next packet.

【0022】次にハードウェア量を削減した、割込み形
式の実施例について図5を用いて説明する。本実施例で
は要求SQN登録レジスタ441はプロセッサ31から
負荷分散手段4に対する割込みレジスタの役割を兼ねて
いる。即ちプロセッサ31が要求SQN登録レジスタ4
41にライトすると、これにより分散手段4のプロセッ
サ47ヘの割込みが発生し、これをきっかけとしてプロ
セッサ47はDRAM46のデータのうち、要求シーケ
ンスナンバに対応するものをインタフェースメモリ48
にライトし、ステータスレジスタ442に準備が出来た
旨をライトする。プロセッサ31はステータスレジスタ
442より準備完了を知り、インタフェースメモリをリ
ードするというものである。なお、ステータスレジスタ
442は要求SQNレジスタ441へのライトによりク
リアされるものである。本実施例ではレジスタ量や、イ
ンタフェースメモリの容量が非常に少なく、将来の拡張
にコントロールウェアの変更で対応することが出来る。
ただし、負荷分散手段4内で、結果を転送している最に
ヘッダ取り込みが重なると、負荷分散手段4内でのアー
ビトレーションが重くなり、スループット影響が出ると
いうことを考慮する必要がある。
Next, an interrupt type embodiment in which the amount of hardware is reduced will be described with reference to FIG. In this embodiment, the request SQN registration register 441 also serves as an interrupt register from the processor 31 to the load distribution means 4. That is, the processor 31 requests the request SQN registration register 4
When the data is written to 41, this causes an interrupt to the processor 47 of the distribution means 4, and the processor 47 uses this as an opportunity to output the data in the DRAM 46 corresponding to the requested sequence number to the interface memory 48.
Then, the status register 442 is written that it is ready. The processor 31 knows the preparation completion from the status register 442 and reads the interface memory. The status register 442 is cleared by writing to the request SQN register 441. In this embodiment, the amount of registers and the capacity of the interface memory are very small, and future expansion can be dealt with by changing the controlware.
However, it is necessary to consider that if the header fetching overlaps during the transfer of the result in the load distribution unit 4, the arbitration in the load distribution unit 4 becomes heavy and the throughput is affected.

【0023】ルーティングプロセッサから宛先ルーティ
ングプロセッサへのパケット転送は次のように行う。
Packet transfer from the routing processor to the destination routing processor is performed as follows.

【0024】図6に示すようにプロセッサ31は、パケ
ットに転送長、宛先インタフェース番号、送信元インタ
フェース番号、プロトコル、メディア種別、次ホップか
らなる転送ヘッダを付与して、ルータバス1を介して宛
先のルーティングプロセッサへ転送する。
As shown in FIG. 6, the processor 31 adds a transfer header including a transfer length, a destination interface number, a source interface number, a protocol, a media type, and a next hop to the packet, and sends the packet to the destination via the router bus 1. Forwarding to the routing processor.

【0025】[0025]

【発明の効果】以上のように本発明によれば、ネットワ
ークを相互接続する装置に複数の入力ポートが接続され
ていても、それらからのパケットヘッダを混在させるこ
となく内部のヘッダFIFOに取り込む。またシーケン
スナンバーを用いてパケットの廃棄、ルーティング処理
結果の完成を知り、ルーティングの高速化を図る。
As described above, according to the present invention, even if a plurality of input ports are connected to a device for interconnecting networks, the packet headers from them are taken into the internal header FIFO without being mixed. In addition, the sequence number is used to know the discarding of packets and the completion of the routing processing result, and the routing is speeded up.

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

【図1】高速ルータの構成図である。FIG. 1 is a configuration diagram of a high-speed router.

【図2】複数の入力ポートが接続された通信制御手段を
示す図である。
FIG. 2 is a diagram showing communication control means to which a plurality of input ports are connected.

【図3】ルーティング負荷分散手段を示す図である。FIG. 3 is a diagram showing a routing load distribution unit.

【図4】ルーティング負荷分散手段内の動作例を示す図
である。
FIG. 4 is a diagram showing an operation example in a routing load distribution unit.

【図5】ルーティング負荷分散手段内の動作例を示す図
である。
FIG. 5 is a diagram illustrating an operation example in a routing load distribution unit.

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

1…ルータバス、 2…管理部、 3…ルーティングプロセッサ、 31…マイクロプロセッサ、 32…制御回路、 321…データ線、 33…パケットデータ用メモリ、 4…ルーティング高速化装置、 411a〜411d…ヘッダ検出回路、 421a〜421d…遅延用バッファ、 422a〜422d…ヘッダ出力用ゲート、 423a〜423d…ヘッダ用バッファ、 43a〜43d…ヘッダ用DMAC、 45…ヘッダDMAアービタ、 45a…ヘッダ用DMACアービトレーション信号、 46…DRAM、 47…ローカルプロセッサ、 48…インタフェース用デュアルポートメモリ、 49…ID用ラッチ、 5a〜5b…通信制御部、 51…対LANアービタ、 511〜514…チャネル信号、 52…インタフェース回路、 53…ラッチ回路、 54…フレーム末尾検出部、 541〜544…カウンタ更新信号、 551〜554…パケットID生成用カウンタ、 5511〜5541…IDオン信号、 6…中低速LAN、 61〜64…中低速LAN上のモジュール、 61r〜64r…リクエスト信号、 61g〜64g…グラント信号。 DESCRIPTION OF SYMBOLS 1 ... Router bus, 2 ... Management part, 3 ... Routing processor, 31 ... Microprocessor, 32 ... Control circuit, 321 ... Data line, 33 ... Packet data memory, 4 ... Routing acceleration device, 411a-411d ... Header detection Circuits, 421a to 421d ... Delay buffers, 422a to 422d ... Header output gates, 423a to 423d ... Header buffers, 43a to 43d ... Header DMACs, 45 ... Header DMA arbiters, 45a ... Header DMAC arbitration signals, 46 ... DRAM, 47 ... Local processor, 48 ... Interface dual port memory, 49 ... ID latch, 5a-5b ... Communication control unit, 51 ... LAN arbiter, 511-514 ... Channel signal, 52 ... Interface circuit, 53 ... Switch circuit, 54 ... Frame end detection unit, 541-544 ... Counter update signal, 551-554 ... Packet ID generation counter, 5511-5541 ... ID on signal, 6 ... Medium low speed LAN, 61-64 ... Medium low speed LAN Upper module, 61r to 64r ... Request signal, 61g to 64g ... Grant signal.

───────────────────────────────────────────────────── フロントページの続き (72)発明者 渡部 謙 神奈川県横浜市戸塚区吉田町292番地株式 会社日立製作所マイクロエレクトロニクス 機器開発研究所内 (72)発明者 澤田 素直 神奈川県横浜市戸塚区吉田町292番地株式 会社日立製作所マイクロエレクトロニクス 機器開発研究所内 (72)発明者 佐藤 博 神奈川県海老名市下今泉810番地株式会社 日立製作所オフィスシステム事業部内 (72)発明者 佐々木 雅仁 神奈川県秦野市堀山下1番地株式会社日立 コンピュータエレクトロニクス内 ─────────────────────────────────────────────────── ─── Continued Front Page (72) Ken Ken Watanabe, 292 Yoshida-cho, Totsuka-ku, Yokohama, Kanagawa, Ltd. Inside the Microelectronics Device Development Laboratory, Hitachi, Ltd. (72) Inoue Sawada 292 Yoshida-cho, Totsuka-ku, Yokohama, Kanagawa Address Stock Company, Hitachi, Ltd. Microelectronics Device Development Laboratory (72) Inventor Hiroshi Sato 810 Shimoimaizumi, Ebina City, Kanagawa Prefecture Office Systems Department, Hitachi, Ltd. (72) Masahito Sasaki 1 Horiyamashita, Hadano City, Kanagawa Prefecture Hitachi Computer Electronics Co., Ltd.

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】ネットワークを相互に接続する通信装置に
おいて、該通信装置はルーティング処理の負荷分散手段
を有し、該手段は処理結果を格納するためのキューを該
通信装置のポートに対応して有することを特徴とするル
ーティング方式。
1. A communication device for interconnecting networks, wherein the communication device has a load distribution means for routing processing, and the means has a queue for storing a processing result corresponding to a port of the communication apparatus. A routing method characterized by having.
【請求項2】請求項1において、前記負荷分散手段はデ
ータの新旧を示すシーケンスナンバーを生成、登録する
手段を有し、該手段と前記キューを併用することを特徴
とするルーティング方式。
2. The routing system according to claim 1, wherein the load distribution unit has a unit for generating and registering a sequence number indicating old and new data, and the unit and the queue are used together.
JP19446593A 1993-08-05 1993-08-05 Routing system Pending JPH0750666A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP19446593A JPH0750666A (en) 1993-08-05 1993-08-05 Routing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP19446593A JPH0750666A (en) 1993-08-05 1993-08-05 Routing system

Publications (1)

Publication Number Publication Date
JPH0750666A true JPH0750666A (en) 1995-02-21

Family

ID=16325015

Family Applications (1)

Application Number Title Priority Date Filing Date
JP19446593A Pending JPH0750666A (en) 1993-08-05 1993-08-05 Routing system

Country Status (1)

Country Link
JP (1) JPH0750666A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109564502A (en) * 2016-08-19 2019-04-02 华为技术有限公司 Treating method and apparatus applied to the access request in storage equipment

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109564502A (en) * 2016-08-19 2019-04-02 华为技术有限公司 Treating method and apparatus applied to the access request in storage equipment

Similar Documents

Publication Publication Date Title
US8379524B1 (en) Prioritization and preemption of data frames over a switching fabric
US6424659B2 (en) Multi-layer switching apparatus and method
US6460088B1 (en) Method and apparatus for port vector determination at egress
JP3645734B2 (en) Network relay device and network relay method
US8005084B2 (en) Mirroring in a network device
US6466580B1 (en) Method and apparatus for processing high and low priority frame data transmitted in a data communication system
EP1718008B1 (en) Gateway apparatus and routing method
US6463032B1 (en) Network switching system having overflow bypass in internal rules checker
US6442137B1 (en) Apparatus and method in a network switch for swapping memory access slots between gigabit port and expansion port
US7764606B1 (en) Maintaining packet order using hash-based linked-list queues
US6546010B1 (en) Bandwidth efficiency in cascaded scheme
US8397233B2 (en) Systems and methods for preserving the order of data
US7031305B1 (en) Apparatus and method for programmable memory access slot assignment
US7079538B2 (en) High-speed router
JP4182180B2 (en) Network relay device and network relay method
EP1662725B1 (en) Cut-through switching in a network device
JP3075163B2 (en) Multiport frame exchange method
US7830892B2 (en) VLAN translation in a network device
US20060259671A1 (en) Packet switch with multiple addressable components
US6560227B1 (en) LAN frame copy decision for LAN switches
US6778547B1 (en) Method and apparatus for improving throughput of a rules checker logic
US6195334B1 (en) Apparatus and method for terminating a data transfer in a network switch in response to a detected collision
US6895015B1 (en) Dynamic time slot allocation in internal rules checker scheduler
US6483844B1 (en) Apparatus and method for sharing an external memory between multiple network switches
US20060056424A1 (en) Packet transmission using output buffer