JPH06197111A - Internetwork equipment - Google Patents
Internetwork equipmentInfo
- Publication number
- JPH06197111A JPH06197111A JP5162444A JP16244493A JPH06197111A JP H06197111 A JPH06197111 A JP H06197111A JP 5162444 A JP5162444 A JP 5162444A JP 16244493 A JP16244493 A JP 16244493A JP H06197111 A JPH06197111 A JP H06197111A
- Authority
- JP
- Japan
- Prior art keywords
- information
- network
- destination
- relay
- processing unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
(57)【要約】
【目的】高速中継可能なインタネットワーク装置を提供
する。
【構成】複数のネットワークを相互に接続し、一のネッ
トワークからの情報を他のネットワークに中継するイン
タネットワーク装置において、各々のネットワークに対
応して設けられ、該ネットワークからの情報を宛先に基
づいて中継する中継処理部3を有し、上記中継処理部
は、宛先に対応して中継経路情報を記憶している記憶手
段342と、該記憶手段342を参照し、ネットワーク
からの情報の宛先を解析して解析結果を出力する解析処
理手段343と、該解析処理手段343の解析結果に基
づいて対応する他の中継処理部に対して上記ネットワー
クからの情報を転送する転送処理手段31とを備える。
(57) [Abstract] [Purpose] To provide an internetwork device capable of high-speed relay. [Composition] In an internetwork device which connects a plurality of networks to each other and relays information from one network to another network, the internetwork device is provided corresponding to each network, and the information from the network is based on a destination. A relay processing unit 3 for relaying is provided, and the relay processing unit analyzes the destination of the information from the network by referring to the storage unit 342 that stores the relay route information corresponding to the destination and the storage unit 342. And an analysis processing unit 343 for outputting the analysis result, and a transfer processing unit 31 for transferring the information from the network to another corresponding relay processing unit based on the analysis result of the analysis processing unit 343.
Description
【0001】[0001]
【産業上の利用分野】本発明は、複数のネットワークを
相互接続するためのインタネットワーク装置の中継処理
と、インタネットワークシステムとに関するものであ
る。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an internetwork system relay process for interconnecting a plurality of networks and an internetwork system.
【0002】[0002]
【従来の技術】従来、ルータやゲートウェイなどのイン
ターネットワーク装置は、ネットワークに接続するため
の、各ネットワークに対応して設けられる通信ポート
と、各ネットワークのプロトコルに従ったルーティング
処理を行うプロセッサとを有する構成をとる。ルーティ
ング処理は、以下のように行う。2. Description of the Related Art Conventionally, an internetwork device such as a router or a gateway has a communication port for connecting to a network and a processor for performing a routing process according to a protocol of each network. Take the configuration that you have. The routing process is performed as follows.
【0003】一方のネットワークに接続される通信ポー
トから受信したパケットをバッファに格納し、プロセッ
サが該パケットの宛先アドレスを解析し、宛先装置また
は宛先装置が接続された方向のインターネットワーク装
置を検知し、該パケットを送出する通信ポートを選択す
ることにより、ルーティング処理を施す。さらに、その
パケットを該当するポートから送出することによりパケ
ットの中継を行う。A packet received from a communication port connected to one network is stored in a buffer, a processor analyzes the destination address of the packet, and detects a destination device or an internetwork device in the direction in which the destination device is connected. , Routing processing is performed by selecting a communication port for transmitting the packet. Further, the packet is relayed by sending the packet from the corresponding port.
【0004】また、インタネットワーク装置では、種々
のネットワークをサポートする必要があるため、例え
ば、IEEE802.3のような10Mbps程度から
FDDI(Fiber Distributed Data Interfase)のよう
な100Mbps程度まで、さらには、ATM(Asynchr
onous Transfer Mode)のような155Mbpsから2.
4Gbpsまで種々の通信ポートを用意することにな
る。Further, since the internetwork device needs to support various networks, for example, from about 10 Mbps such as IEEE802.3 to about 100 Mbps such as FDDI (Fiber Distributed Data Interfase), and further ATM. (Asynchr
onous Transfer Mode) to 155 Mbps to 2.
Various communication ports will be prepared up to 4 Gbps.
【0005】ネットワーク間をルーティングする技術は
いくつかの種類があり、例えばIPプロトコル(Intern
et Protocol)がよく知られている。このIPプロトコ
ルでは、インタネットワーキング用論理アドレスとして
IPアドレスを用いる。そして、宛先IPアドレスと、
宛先装置または宛先装置が接続された方向のインターネ
ットワーク装置の物理(MAC:Media Access Contro
l)アドレスを記述している経路情報テーブルを持ち、
これを参照してルーティングを行うことができる。There are several types of techniques for routing between networks, such as the IP protocol (Intern
et Protocol) is well known. In this IP protocol, an IP address is used as a logical address for internetworking. And the destination IP address,
The physical (MAC: Media Access Control) of the destination device or the internetwork device in the direction in which the destination device is connected.
l) Has a route information table that describes addresses,
Routing can be performed by referring to this.
【0006】ルーティングを高速に行う技術としては、
例えば、特開平3−132131号公報に記載のよう
に、パケットを受け入れる前にヘッダ部分を読み出して
宛先を決定することにより効率的にルーティングを行う
ようにしている。As a technique for performing high-speed routing,
For example, as described in Japanese Patent Application Laid-Open No. 3-132131, efficient routing is performed by reading the header part and determining the destination before accepting a packet.
【0007】また、受信フレームの認識を高速に行う技
術としては、例えば、特開平2−238544号公報に
記載のように、既に受信したフレームまたは自局が送信
したフレームの種別に基づいて、次回受信するフレーム
の種別を予測し、受信フレームのヘッダ部処理を準備す
ることにより、フレーム受信処理を高速化している。さ
らに、受信したパケットデータを、受信側ルーティング
プロセッサから送信側ルーティングプロセッサへ転送す
る際の技術としては、例えば、特開昭62−82747
号公報(特公平4−48302号公報)に記載されてい
る技術がある。該従来技術では、複数の回線制御装置を
備える分散型のパケット交換システムであって、入り回
線から受信した各パケットの論理チャネル番号と、該パ
ケットを送出する出回線の回線番号および論理チャネル
番号とをパケット交換制御テーブルに記憶しておき、入
り回線を受信した回線制御装置側で、ヘッダ情報を、転
送先の出回線の回線番号および論理チャネル番号に更新
し、ネットワークに送出している。すなわち、受信側の
回線制御装置でパケットヘッダの更新処理を行い、送信
側ポートの論理的な識別番号を含んだ転送ヘッダを付加
した後、回線制御装置間のデータ転送を行うためのデー
タパスに転送データをのせている。Further, as a technique for recognizing a received frame at high speed, for example, as described in Japanese Patent Laid-Open No. 2-238544, the next time based on the type of the frame already received or the frame transmitted by the own station, The frame receiving process is speeded up by predicting the type of the received frame and preparing the header part process of the received frame. Furthermore, as a technique for transferring the received packet data from the receiving side routing processor to the transmitting side routing processor, for example, Japanese Patent Laid-Open No. 62-82747 is used.
There is a technique described in Japanese Patent Publication No. 4-48302. In the prior art, there is provided a distributed packet switching system including a plurality of line control devices, wherein a logical channel number of each packet received from an incoming line and a line number and a logical channel number of an outgoing line from which the packet is sent out. Is stored in the packet switching control table, the header information is updated on the side of the line control device that has received the incoming line to the line number and logical channel number of the outgoing line of the transfer destination, and this is sent to the network. In other words, the line controller on the receiving side updates the packet header, adds a transfer header containing the logical identification number of the port on the transmitting side, and then adds it to the data path for data transfer between the line controllers. Transfer data is placed.
【0008】[0008]
【発明が解決しようとする課題】前述した従来技術は、
以下の点について問題点がある。DISCLOSURE OF THE INVENTION Problems to be Solved by the Invention
There are problems with the following points.
【0009】上記特開平3−132131号公報に記載
されている、一旦パケットを蓄積しないで直接宛先ノー
ドへ送るという方式では、特化した単純なルーティング
制御方法では有効であるが、大容量の経路情報テーブル
を検索して経路決定を行い、かつ宛先MACアドレスの
付け替え等パケットの加工処理を行うような複雑なルー
ティングはできない。The method described in Japanese Patent Application Laid-Open No. 3-132131, which directly sends a packet to a destination node without accumulating the packet, is effective in a specialized simple routing control method, but has a large capacity. It is impossible to perform complicated routing such as searching the information table to determine the route and processing the packet such as changing the destination MAC address.
【0010】さらに、従来技術では、低速通信向けと高
速通信向けのルーティング処理の共通化がされていない
ので、それぞれの速度に合わせてルーティング処理を行
っている。このため、システムを低速通信向けから高速
通信向けへ性能向上させようとする場合には、あまり考
慮がなされていないため高速通信向けのルーティング処
理を新たに付加しなければならない。Further, in the prior art, since the routing processing for low speed communication and the routing processing for high speed communication are not standardized, the routing processing is performed according to each speed. For this reason, when trying to improve the performance of the system from low-speed communication to high-speed communication, much consideration has not been given to the fact that routing processing for high-speed communication must be newly added.
【0011】さらに、特開平3−132131号公報に
記載されている従来技術では、個々のパケットのルーテ
ィングを高速化するには有効であり、また、特開平2−
238544号公報に記載の従来技術では、通信プロト
コルの性質から次に受信するパケットのヘッダを予測す
ることによりパケット処理を高速化するために有効であ
る。しかし、過去にルーティングを行ったパケットと同
じ宛先のパケットをルーティングする必要が生じた場合
にも、再び過去と同じ手続きで経路情報の検索を行わな
ければならず、処理に無駄がある。Furthermore, the conventional technique disclosed in Japanese Patent Laid-Open No. 3-132131 is effective in speeding up the routing of individual packets.
The conventional technique disclosed in Japanese Patent No. 238544 is effective for speeding up packet processing by predicting the header of the packet to be received next from the nature of the communication protocol. However, even when it becomes necessary to route a packet having the same destination as a packet that has been routed in the past, the route information must be searched again by the same procedure as in the past, which is a waste of processing.
【0012】また、上記特開昭62−82747号公報
に記載の従来技術では、受信側回線制御装置においてル
ーティング処理をすべて行った後で、送信側回線制御装
置の論理的な識別番号(回線番号:RNに相当する。)
を含んだ転送ヘッダをパケットに付加して、送信側回線
制御装置へパケットを送る方法をとっている。該従来技
術のパケット交換システムでは、1つの回線制御装置に
1本の回線のみが接続するため、出回線の回線番号は送
信側の回線制御装置を表すことができるが、回線制御装
置が複数の出回線(ネットワークインタフェースポー
ト)をもっている場合に、回線制御装置のどの出回線に
対してパケットを送ればよいのかは送信側の回線制御装
置では認識することができない。この出回線を特定する
方法については、該従来技術では述べられていない。Further, in the prior art disclosed in the above-mentioned Japanese Patent Laid-Open No. 62-82747, the logical line identification number (line number) of the transmitting side line control device is performed after all the routing processing is performed in the receiving side line control device. : Corresponds to RN.)
Is added to the packet, and the packet is sent to the transmission side line control device. In the packet switching system of the prior art, since only one line is connected to one line control device, the line number of the outgoing line can represent the line control device on the transmitting side. When an outgoing line (network interface port) is provided, the outgoing line controller of the sending side cannot recognize which outgoing line of the line controller the packet should be sent to. The method of specifying the outgoing line is not described in the related art.
【0013】本発明の目的は、上記従来技術の問題を解
決するために、高速ルーティング処理を可能とするイン
タネットワーク装置を提供することにある。An object of the present invention is to provide an internetwork device which enables high-speed routing processing in order to solve the above-mentioned problems of the prior art.
【0014】[0014]
【課題を解決するための手段】本発明は、複数のネット
ワークを相互に接続し、一のネットワークからの情報を
他のネットワークに中継するインタネットワーク装置に
おいて、各々のネットワークに対応して設けられ、該ネ
ットワークからの情報を当該情報の宛先に基づいて中継
する中継処理部を有し、上記中継処理部は、宛先に対応
して中継経路情報を記憶している記憶手段と、該記憶手
段を参照し、ネットワークからの情報の宛先を解析して
解析結果を出力する解析処理手段と、該解析処理手段の
出力に基づいて対応する他の中継処理部に対して上記ネ
ットワークからの情報を転送する転送処理手段とを備え
る。上記解析処理手段と上記転送処理手段とは、並列処
理する。上記解析処理手段は、解析結果として中継経路
情報を出力し、上記転送処理手段は、上記解析処理手段
の中継経路情報を上記ネットワークからの情報に付加し
て転送する。上記記憶手段は、上記中継経路情報として
当該中継処理部の出力先のネットワークに関する識別情
報をさらに記憶し、上記転送処理手段は、他の中継処理
部からの転送された情報を受信し、上記解析処理手段
は、転送された情報に付加されている中継経路情報およ
び上記記憶手段の出力先に関する識別情報に基づいて出
力先を解析し、上記転送処理手段は、他の中継処理部か
らの転送された情報を、上記解析処理手段で解析した出
力先のネットワークに対して出力する。SUMMARY OF THE INVENTION The present invention is an internetwork device for connecting a plurality of networks to each other and relaying information from one network to another network, the internetwork device being provided for each network. A relay processing unit that relays information from the network based on a destination of the information, and the relay processing unit refers to a storage unit that stores relay route information corresponding to the destination and the storage unit. Then, an analysis processing unit that analyzes the destination of the information from the network and outputs the analysis result, and a transfer that transfers the information from the network to another corresponding relay processing unit based on the output of the analysis processing unit. Processing means. The analysis processing means and the transfer processing means perform parallel processing. The analysis processing means outputs relay path information as an analysis result, and the transfer processing means adds the relay path information of the analysis processing means to the information from the network and transfers the information. The storage means further stores, as the relay route information, identification information regarding the output destination network of the relay processing section, and the transfer processing section receives the transferred information from another relay processing section and performs the analysis. The processing means analyzes the output destination based on the relay route information added to the transferred information and the identification information on the output destination of the storage means, and the transfer processing means transfers the output from another relay processing section. The obtained information is output to the output destination network analyzed by the analysis processing means.
【0015】上記解析処理手段は、出力先の解析時に、
上記記憶手段に記憶している宛先と、ネットワークから
の情報の宛先とが一致するか否かを判断し、一致してい
る場合には、解析結果を出力し、上記転送処理手段は、
転送処理時に、上記解析処理手段の出力が宛先が不一致
である場合においても、他の中継処理部に対して上記ネ
ットワークからの情報を転送することができる。The analysis processing means, when analyzing the output destination,
It is determined whether or not the destination stored in the storage means and the destination of the information from the network match. If they match, the analysis result is output, and the transfer processing means
Even when the output of the analysis processing means does not match the destination during the transfer processing, the information from the network can be transferred to another relay processing unit.
【0016】上記中継処理部は、上記解析処理手段と上
記転送処理手段とが読み書きできる共有記憶手段をさら
に有し、該共有記憶手段は、上記解析処理手段で解析し
た宛先に対応する中継経路情報を記憶することができ
る。The relay processing section further has a shared storage means that can be read and written by the analysis processing means and the transfer processing means, and the shared storage means has relay route information corresponding to the destination analyzed by the analysis processing means. Can be memorized.
【0017】上記中継処理部は、上記共有記憶手段に記
憶している宛先と、新たに受信したネットワークからの
情報の宛先とが一致するか否かを判断する判断手段をさ
らに有し、上記解析処理手段は、上記判断手段により一
致しないと判断した場合には、上記解析処理を行い、上
記判断手段により一致したと判断した場合には、上記共
有記憶手段に記憶されている中継経路情報に対して再利
用できない中継経路情報のみを書き替える処理をする。The relay processing section further has a judging means for judging whether or not the destination stored in the shared storage means and the destination of the information newly received from the network are coincident with each other. The processing means performs the analysis processing when the determination means determines that they do not match, and when the determination means determines that they match, the relay route information stored in the shared storage means is processed. Process to rewrite only the relay route information that cannot be reused.
【0018】上記転送処理手段は、ネットワークからの
情報の宛先を解析して解析結果を出力する機能をさらに
有することができる。The transfer processing means may further have a function of analyzing the destination of information from the network and outputting the analysis result.
【0019】上記中継処理部は、ネットワークからの情
報を蓄積する蓄積手段と、ネットワークからの情報の宛
先を保持する保持手段とをさらに有し、上記解析処理手
段は、上記保持手段に保持した宛先を解析し、上記転送
処理手段は、上記蓄積手段に蓄積した情報を転送する。The relay processing section further has a storage means for storing information from the network and a holding means for holding the destination of the information from the network, and the analysis processing means has the destination stored in the holding means. And the transfer processing means transfers the information accumulated in the accumulating means.
【0020】上記記憶手段は、宛先を表す数値に基づい
て、予め定めたハッシング関数に基づいた値をアドレス
にして用い、上記解析処理手段は、上記記憶手段参照時
に、宛先を表す数値に基づいて、ハッシング値を求めて
参照することができる。The storage means uses a value based on a predetermined hashing function as an address based on the numerical value indicating the destination, and the analysis processing means uses the numerical value indicating the destination when referring to the storage means. , The hashing value can be obtained and referred to.
【0021】また、上記中継処理部は、ネットワークに
接続するポートを複数備え、上記記憶手段は、宛先に対
応する中継処理部の論理識別番号と、上記中継処理部の
ポートの論理識別情報とを中継経路情報として記憶し、
上記解析処理手段は、上記解析結果として、上記中継経
路情報を出力し、上記転送処理手段は、他の中継処理部
からの転送された情報を、上記解析処理手段により出力
された中継経路情報を付加して出力先のネットワークに
対して出力することができる。Further, the relay processing section includes a plurality of ports connected to the network, and the storage means stores the logical identification number of the relay processing section corresponding to the destination and the logical identification information of the port of the relay processing section. Stored as relay route information,
The analysis processing unit outputs the relay route information as the analysis result, and the transfer processing unit outputs the information transferred from another relay processing unit to the relay route information output by the analysis processing unit. It can be added and output to the output destination network.
【0022】また、複数のネットワークを相互に接続
し、一のネットワークからの情報を他のネットワークに
中継するインタネットワーク装置に搭載され、各々のネ
ットワークに対応して設けられる中継処理回路であっ
て、該中継処理回路は、宛先に対応して中継経路を記憶
している記憶手段と、該記憶手段を参照し、ネットワー
クからの情報の宛先を解析して解析結果を出力する第1
のプロセッサと、該第1のプロセッサの解析結果に基づ
いて対応する他の中継処理部に対して上記ネットワーク
からの情報を転送する第2のプロセッサとを備えるよう
にしてもよい。A relay processing circuit that is mounted on an internetwork device that connects a plurality of networks to each other and relays information from one network to another network, is provided corresponding to each network. The relay processing circuit refers to the storage unit that stores the relay route corresponding to the destination, and analyzes the destination of the information from the network by referring to the storage unit, and outputs the analysis result.
And a second processor that transfers information from the network to another corresponding relay processing unit based on the analysis result of the first processor.
【0023】複数のネットワークを相互に接続し、一の
ネットワークからの情報を他のネットワークに中継する
インタネットワーク装置に搭載され、各々のネットワー
クに対応して設けられる中継処理回路であって、該中継
処理回路は、宛先に対応して中継経路を記憶している記
憶手段と、該記憶手段を参照し、ネットワークからの情
報の宛先を解析して解析結果を出力する第1のプロセッ
サと、該第1のプロセッサの解析結果に基づいて対応す
る他の中継処理部に対して上記ネットワークからの情報
を転送する第2のプロセッサとを備えることもできる。A relay processing circuit which is mounted on an internetwork device which connects a plurality of networks to each other and relays information from one network to another network, the relay processing circuit being provided corresponding to each network. The processing circuit includes a storage unit that stores the relay route corresponding to the destination, a first processor that refers to the storage unit, analyzes the destination of the information from the network, and outputs the analysis result, and the first processor. A second processor that transfers information from the network to another corresponding relay processing unit based on the analysis result of the one processor may be provided.
【0024】複数のネットワークと、該ネットワークを
相互に接続し、一のネットワークからの情報を他のネッ
トワークに中継するインタネットワーク装置とを有する
ネットワークシステムにおいて、上記インタネットワー
ク装置は、上記ネットワークからの情報を宛先に基づい
て中継する中継処理部を各々のネットワークに対応して
有し、該中継処理部は、バスによりそれぞれ接続され、
上記中継処理部は、ネットワークからの情報の宛先を解
析して解析結果を出力する解析処理と、該解析処理手段
の解析結果に基づいて対応する他の中継処理部に対して
上記ネットワークからの情報を転送する転送処理とを分
散処理することができる。In a network system having a plurality of networks and an internetwork device that connects the networks to each other and relays information from one network to another network, the internetwork device is the information from the network. Has a relay processing unit for relaying based on a destination corresponding to each network, and the relay processing unit is connected by a bus,
The relay processing unit analyzes the destination of the information from the network and outputs the analysis result, and the information from the network to other corresponding relay processing units based on the analysis result of the analysis processing unit. It is possible to perform distributed processing of transfer processing for transferring
【0025】複数のネットワークを相互に接続し、一の
ネットワークからの情報を他のネットワークに中継する
インタネットワーク装置において、各々のネットワーク
に対応して設けられ、上記ネットワークからの情報を宛
先に基づいて中継する中継処理部を有し、上記中継処理
部の各々は、共通のバスに接続され、自中継処理部に接
続するネットワークからの情報を固定長のブロックに分
割する分割手段と、該分割手段により分割されたそれぞ
れのブロックに上記宛先に基づいて対応する中継処理部
の識別情報を付加する付加手段と、該付加手段により識
別情報が付加されたブロックを上記バスに送出する送出
手段と、上記バスから自中継処理部の識別情報が付加さ
れたブロックを受信する受信手段と、該受信手段で受信
したブロックが分割されている情報である場合に、当該
分割されているブロックを統合する統合手段とを有する
ようにしてもよい。この場合、上記情報には、当該情報
の容量が予め付加されており、上記統合手段は、上記情
報に予め付加されている容量に基づいて、当該分割され
ているブロックの統合を行うようにしてもよい。In an internetwork device that connects a plurality of networks to each other and relays information from one network to another network, the internetwork device is provided corresponding to each network, and the information from the network is based on a destination. A relay processing unit for relaying, each of the relay processing units being connected to a common bus, for dividing information from a network connected to the own relay processing unit into blocks of fixed length; Adding means for adding the identification information of the corresponding relay processing unit based on the destination to each of the blocks divided by; sending means for sending the block to which the identification information is added by the adding means to the bus; The receiving unit that receives the block to which the identification information of the own relay processing unit is added from the bus and the block that is received by the receiving unit are separated. If the information that is, may have a unified means for integrating the blocks that are the divided. In this case, the capacity of the information is added to the information in advance, and the integrating means performs integration of the divided blocks based on the capacity added to the information in advance. Good.
【0026】さらに、第一の中継処理部は、第二の中継
処理部からの情報の受信時に、第一および第二の中継処
理部以外の中継処理部からの情報の受信を排除するため
の排他制御を行う排他制御手段を備え、上記第二の中継
処理部は、上記第一の中継処理部への情報の送出時に、
上記第一の中継処理部の排他制御手段に対して情報を受
信しているか否かを確認し、情報を受信していない場合
には情報を送出する旨を通知する転送制御部を備え、上
記排他制御手段は、第二の中継処理部の転送制御部から
通知があると、当該中継処理部からの情報のみを受信す
る。Further, the first relay processing unit excludes the reception of information from the relay processing units other than the first and second relay processing units when receiving the information from the second relay processing unit. The second relay processing unit is provided with an exclusive control unit for performing exclusive control, and when the information is transmitted to the first relay processing unit,
The first relay processing unit is provided with a transfer control unit for confirming whether or not the information is received, and notifying that the information is to be transmitted if the information is not received, When notified by the transfer control unit of the second relay processing unit, the exclusive control unit receives only the information from the relay processing unit.
【0027】[0027]
【作用】インタネットワーク装置の中継処理部は、それ
ぞれに接続するネットワークから情報を受信する。中継
処理部では、受信した情報を蓄積手段(パケットバッフ
ァメモリ)に蓄積し、宛先に関する情報を保持手段(ヘ
ッダメモリ)に保持する。 解析処理手段は、宛先に対
応して中継経路情報を記憶している記憶手段(経路情報
テーブル)を参照し、上記保持手段に保持した宛先を解
析し、解析結果を出力し、該解析結果を共有記憶手段に
記憶する。The relay processing unit of the internetwork device receives the information from the network connected to each of them. In the relay processing unit, the received information is stored in the storage unit (packet buffer memory), and the information about the destination is stored in the storage unit (header memory). The analysis processing unit refers to the storage unit (route information table) that stores the relay route information corresponding to the destination, analyzes the destination held in the holding unit, outputs the analysis result, and outputs the analysis result. Store in the shared storage means.
【0028】転送処理手段は、共有記憶手段を読みだし
て解析処理手段の解析結果に基づいて対応する他の中継
処理部に対して上記蓄積手段に蓄積した情報を転送す
る。転送処理手段は、上記解析処理手段の解析結果とし
て中継経路情報を上記ネットワークからの情報に付加し
て転送する。The transfer processing means reads the shared storage means and transfers the information stored in the storage means to another corresponding relay processing section based on the analysis result of the analysis processing means. The transfer processing means adds relay route information to the information from the network as an analysis result of the analysis processing means and transfers the information.
【0029】他の中継処理部では、転送処理手段は、前
記中継処理部からの転送された情報を受信し、上記解析
処理手段は、上記記憶手段を参照し、転送された情報に
付加されている中継経路情報から出力先を解析し、上記
転送処理手段は、他の中継処理部からの転送された情報
を、該解析処理手段で解析した出力先のネットワークに
対して出力する。In the other relay processing unit, the transfer processing unit receives the transferred information from the relay processing unit, and the analysis processing unit refers to the storage unit and adds the transferred information to the transferred information. The output destination is analyzed from the existing relay route information, and the transfer processing means outputs the information transferred from another relay processing section to the output destination network analyzed by the analysis processing means.
【0030】また、中継処理部が、上記共有記憶手段に
記憶している宛先と、新たに受信したネットワークから
の情報の宛先とが一致するか否かを判断する判断手段を
さらに有する時には、解析処理手段は、該判断手段で一
致しない場合には、上記解析処理を行い、該判断手段で
一致した場合には、上記共有記憶手段に対して再利用で
きない経路情報のみを書き替える処理をする。これによ
り、ルーティング処理を高速化することができる。Further, when the relay processing section further has a judging means for judging whether or not the destination stored in the shared storage means and the destination of the information newly received from the network coincide with each other, the analysis is performed. The processing means performs the analysis processing when the determination means does not match, and when the determination means matches, rewrites only the route information that cannot be reused in the shared storage means. As a result, the routing process can be speeded up.
【0031】また、上記中継処理部は、バスによりそれ
ぞれ接続され、ネットワークからの情報を固定長のブロ
ックに分割する分割手段と、該分割手段により分割され
たそれぞれのブロックに上記宛先に基づいて対応する中
継処理部の識別情報を付加する付加手段と、該付加手段
により識別情報が付加されたブロックを上記バスに送出
する送出手段と、上記バスから自装置の識別情報が付加
されたブロックを受信する受信手段と、該受信手段で受
信したブロックが分割されている情報である場合に、当
該分割されているブロックを統合する統合手段とを有す
る場合は、以下に示すような作用がある。The relay processing units are respectively connected by a bus and divide the information from the network into fixed-length blocks, and correspond to each block divided by the dividing unit based on the destination. Adding means for adding identification information of the relay processing section, sending means for sending the block to which the identification information is added by the adding means to the bus, and receiving the block to which the identification information of the own device is added from the bus In the case where the receiving means and the integrating means for integrating the divided blocks when the block received by the receiving means is the divided information, there are the following effects.
【0032】第二の中継処理手部の分割手段は、ネット
ワークからの情報を固定長のブロックに分割する。付加
手段は、分割手段により分割されたそれぞれのブロック
に上記宛先に基づいて対応する中継処理部の識別情報を
付加する。送出手段は、付加手段により識別情報が付加
されたブロックを上記バスに送出する。The second dividing unit of the relay processing unit divides the information from the network into fixed-length blocks. The adding unit adds the identification information of the corresponding relay processing unit to each block divided by the dividing unit based on the destination. The sending means sends the block to which the identification information is added by the adding means to the bus.
【0033】受信側の第一の中継処理部では、受信手段
が、上記バスから自装置の識別情報が付加されたブロッ
クを受信する。統合手段が、該受信手段で受信したブロ
ックが分割されている情報である場合に、当該分割され
ているブロックを統合する。統合された情報は、当該第
一の中継処理部に接続するネットワークに送出される。In the first relay processing section on the receiving side, the receiving means receives the block to which the identification information of the own device is added from the bus. The integrating means integrates the divided blocks when the information received by the receiving means is the divided information. The integrated information is sent to the network connected to the first relay processing unit.
【0034】また、ブロックの転送時に他の情報の受信
を排除するために、排他制御手段と転送制御部とを備え
ることができる。この場合、第二の中継処理部の転送制
御部は、上記第一の中継処理部への送出時に、受信側の
第一の中継処理部の排他制御手段に対して情報を受信し
ているか否かを確認し、情報を受信していない場合には
情報を送出する旨を通知する。上記排他制御手段は、送
信側の第二の中継処理部の転送制御部から通知がある
と、当該第二の中継処理部からの情報のみを受信するこ
とにより、上記第二の中継処理部からの情報の受信時
に、第一および第二の中継処理部以外の中継処理部から
の情報の受信を排除するための排他制御を行う。これに
より複数の中継処理部より送出されたブロックが混ざる
こと無く、処理を単純にできる。Further, in order to exclude the reception of other information at the time of transferring the block, an exclusive control means and a transfer control section can be provided. In this case, the transfer control unit of the second relay processing unit determines whether or not the exclusive control unit of the first relay processing unit on the receiving side receives the information at the time of sending to the first relay processing unit. If the information is not received, it is notified that the information will be sent. Upon receipt of the notification from the transfer control unit of the second relay processing unit on the transmission side, the exclusive control unit receives only the information from the second relay processing unit, and When the information is received, exclusive control is performed to exclude the reception of information from the relay processing units other than the first and second relay processing units. As a result, the blocks transmitted from the plurality of relay processing units are not mixed and the processing can be simplified.
【0035】[0035]
【実施例】以下、本発明の実施例について図面を参照し
て説明する。Embodiments of the present invention will be described below with reference to the drawings.
【0036】まず、インタネットワーク装置の全体アー
キテクチャについて説明する。First, the overall architecture of the internetwork device will be described.
【0037】本実施例によるインタネットワーク装置の
特徴は、ネットワークに対応して設けられる、ルーティ
ングを行う複数のモジュール(中継処理部)を有し、モ
ジュールの増設により容易に性能向上ができるアーキテ
クチャを採ることである。複数のモジュールは、アドレ
スを解析してルーティング処理を行うルーティングプロ
セッサをそれぞれ有する。また、ルーティングプロセッ
サが、一つまたは複数の通信ポ−トをそれぞれ有する構
成としている。The internetwork apparatus according to the present embodiment is characterized in that it has a plurality of routing modules (relay processing units) provided corresponding to the network, and adopts an architecture in which the performance can be easily improved by adding modules. That is. Each of the plurality of modules has a routing processor that analyzes an address and performs a routing process. Further, the routing processor is configured to have one or a plurality of communication ports, respectively.
【0038】図2に示すブロック図は、ルータの全体ブ
ロック図を示している。図2において、1は、ルータバ
スであり、例えば、200MBytes/secのスル
ープットを持つ。このルータバス1に、装置全体の管理
機能とルーティング情報の収集・分配等の機能とを持つ
管理部2が接続されている。また、ルータバス1には、
モジュールが、1モジュール〜8モジュールまで接続で
きる。各モジュールには、高速にルーティングを行う機
能を有するルーティングプロセッサ3を有する。管理部
2は、ルーティングプロセッサ3にルーティング情報を
設定して、それぞれのルーティングプロセッサ3がこれ
に基づいてルーティング動作を行うことでルータを実現
する。さらに、各ルーティングプロセッサ3の下には、
ネットワークに接続するための通信ポートを備える通信
制御部51〜53がつながる。通信制御部は、各種類の
ネットワークに接続することができる。ここで例えば、
FDDIのように100Mbpsクラスの高速通信ポ−
トは、基本的に一つのルーティングプロセッサあたりポ
ートを一つだけつなげる。同様に、155Mbps専用
線や、155MbpsATMのような高速通信の場合に
もルーティングプロセッサ3には1ポートだけ接続す
る。また、例えば、IEEE802.3(CSMA/C
D)やIEEE802.5(トークンリングLAN)や
N−ISDNのような中低速通信の場合には、一つのル
ーティングプロセッサに複数(1〜4ポート程度)の中
低速ポートを接続する。すなわち、一つのルーティング
プロセッサにおいて、中低速通信の場合には、複数のネ
ットワークを接続することができる。The block diagram shown in FIG. 2 is an overall block diagram of the router. In FIG. 2, reference numeral 1 is a router bus, which has a throughput of, for example, 200 MBytes / sec. The router bus 1 is connected to a management unit 2 having a management function for the entire apparatus and a function for collecting and distributing routing information. Also, on the router bus 1,
Modules can be connected from 1 to 8 modules. Each module has a routing processor 3 having a function of performing high-speed routing. The management unit 2 sets the routing information in the routing processor 3, and each routing processor 3 realizes a router by performing the routing operation based on the routing information. Furthermore, under each routing processor 3,
Communication control units 51 to 53 having communication ports for connecting to a network are connected. The communication control unit can be connected to each type of network. Where for example
High-speed communication port of 100 Mbps class like FDDI
Basically, only one port can be connected per routing processor. Similarly, in the case of high-speed communication such as a 155 Mbps leased line or 155 Mbps ATM, only one port is connected to the routing processor 3. In addition, for example, IEEE802.3 (CSMA / C
D), IEEE802.5 (token ring LAN), N-ISDN, or the like, in the case of medium to low speed communication, one routing processor is connected to a plurality of (1 to 4 ports) medium to low speed ports. That is, in the case of medium and low speed communication, one routing processor can connect a plurality of networks.
【0039】ルーティングプロセッサ3の構成につい
て、図2を参照して概略を説明する。図2において、ル
ーティングプロセッサ3には、ルーティング処理を行う
μP(マイクロプロセッサ)31と、パケットを格納す
るパケットバッファおよび経路情報を記憶するルーティ
ングテーブルを備えるメモリ33と、メモリ33および
μP31を制御し、通信制御部とインタフェースを行う
制御回路32とを有する。メモリ33は、受信パケット
を蓄積する蓄積手段でもあり、宛先情報を示すヘッダ部
を保持する保持手段でもある。ここでは、ルーティング
テーブルをメモリ33に格納するように記述するが、μ
P31に直接接続されるローカルなメモリを用意し、そ
のメモリにルーティングテーブルを格納しても構わな
い。ルーティングテーブルのデータ構造を図7に示す。
また、転送されるパケット転送形式は、図9に示す。詳
細については、後述する。The configuration of the routing processor 3 will be outlined with reference to FIG. In FIG. 2, the routing processor 3 controls a μP (microprocessor) 31 that performs routing processing, a memory 33 that includes a packet buffer that stores packets and a routing table that stores route information, and controls the memory 33 and the μP 31. It has a control circuit 32 that interfaces with the communication control unit. The memory 33 is a storage unit that stores the received packets and a storage unit that holds the header portion indicating the destination information. Here, the routing table is described as being stored in the memory 33.
It is also possible to prepare a local memory directly connected to P31 and store the routing table in the memory. The data structure of the routing table is shown in FIG.
The packet transfer format for transfer is shown in FIG. Details will be described later.
【0040】つぎに、ルーティングプロセッサ3におけ
る、ルーティング処理の流れについて説明する。なお、
ルーティング処理の前処理として、管理部2が、全部の
ルーティングプロセッサ3にルーティング情報を、それ
ぞれのルーティングテーブルに配布しており、各ルーテ
ィングプロセッサ3はメモリ33内のルーティングテー
ブルの領域にルーティング情報を有している状態とす
る。例えば、管理部2のルーティング情報の収集は、他
のインタネットワーク装置との間でRIP、OSPF等
のルーティングプロトコルでやりとりして行うか、ある
いは、ユーザが予めスタティックに設定するかで行うこ
ととする。通信制御部51がLAN71から受信したパ
ケットをメモリ33に転送し、メモリ33のパケットバ
ッファが受信したパケットを格納する。μP31は、格
納されたパケットのヘッダの部分を検出し、ルーティン
グテーブルを参照してルーティング処理を行う。例え
ば、宛先が回線72向けであった場合、このパケットを
ルーティングプロセッサ3(a)からルーティングプロ
セッサ3(b)へ転送する。また、例えば、宛先が自装
置であれば、管理部2へ転送する。例えば、宛先がLA
N71向け、すなわち、自ルーティングプロセッサ3
(a)の下にある場合は廃棄する。Next, the flow of routing processing in the routing processor 3 will be described. In addition,
As a pre-process of the routing process, the management unit 2 distributes the routing information to all the routing processors 3 to each routing table, and each routing processor 3 has the routing information in the area of the routing table in the memory 33. It is in the state of being. For example, the collection of the routing information of the management unit 2 is performed by exchanging it with another internetwork device by a routing protocol such as RIP or OSPF, or by statically setting in advance by the user. . The communication control unit 51 transfers the packet received from the LAN 71 to the memory 33, and the packet buffer of the memory 33 stores the received packet. The μP 31 detects the header portion of the stored packet and refers to the routing table to perform the routing process. For example, when the destination is the line 72, this packet is transferred from the routing processor 3 (a) to the routing processor 3 (b). In addition, for example, if the destination is the own device, it is transferred to the management unit 2. For example, the destination is LA
For N71, that is, its own routing processor 3
If it is under (a), discard it.
【0041】次に、上述のインタネットワーク装置の性
能を向上する場合の対応方法について説明する。Next, a method of dealing with the case where the performance of the above internetwork apparatus is improved will be described.
【0042】高い性能は次の様なケースで必要となる。High performance is required in the following cases.
【0043】(1)ルーティングプロセッサに中低速通
信制御部を複数本持つため、ルーティング能力が不足す
る場合。(1) When the routing capacity is insufficient because the routing processor has a plurality of medium / low speed communication control units.
【0044】(2)ルーティングプロセッサに高速通信
制御部を接続するため、高速にルーティングを行わなけ
ればならない場合。(2) When the high-speed communication control unit is connected to the routing processor, the high-speed routing must be performed.
【0045】図1は、性能向上を図る場合の構成を示し
ている。図1において、ルーティングプロセッサ3にル
ーティングアシスト部34を追加する。ルーティングア
シスト部34は、ネットワークからの情報の宛先を解析
して解析結果を出力する解析処理手段であり、ルーティ
ングに係わる処理を行い、μP31と処理を分担する。
μP31は、この場合、ルーティングアシスト部34の
解析結果に基づいて対応する他の中継処理部に対して上
記ネットワークからの情報を転送する転送処理手段の機
能を少なくとも備える。この様な構成におけるルーティ
ングの流れをIPルーティングを例に説明する。FIG. 1 shows a configuration for improving performance. In FIG. 1, a routing assist unit 34 is added to the routing processor 3. The routing assist unit 34 is an analysis processing unit that analyzes the destination of information from the network and outputs an analysis result, performs processing related to routing, and shares the processing with the μP 31.
In this case, the μP 31 has at least the function of a transfer processing unit that transfers information from the network to another corresponding relay processing unit based on the analysis result of the routing assist unit 34. The flow of routing in such a configuration will be described by taking IP routing as an example.
【0046】図1において、ルーティングプロセッサ基
本部(ルーティングアシスト部34以外のルーティング
プロセッサ3の部分を以後ルーティングプロセッサ基本
部という)の処理分担としては、主にパケット転送に係
わる処理を行う。ルーティングプロセッサ基本部の処理
内容は、通信制御部61とメモリ33との間のパケット
転送制御、メモリ33内のパケットバッファ制御、パケ
ット加工、ルーティングプロセッサと他のルーティング
プロセッサ間でのパケット転送制御、ルータ管理部2と
の情報授受、通信制御部61のドライブ、トレース/統
計、等を行う。In FIG. 1, the routing processor basic unit (the part of the routing processor 3 other than the routing assist unit 34 is hereinafter referred to as the routing processor basic unit) mainly performs the process related to packet transfer. The processing contents of the routing processor basic unit include packet transfer control between the communication control unit 61 and the memory 33, packet buffer control in the memory 33, packet processing, packet transfer control between the routing processor and other routing processors, routers. Information exchange with the management unit 2, drive of the communication control unit 61, trace / statistics, etc. are performed.
【0047】ルーティングアシスト部34の処理分担と
しては、ルーティングテーブルの検索を始めとするルー
ティングに係わる処理を行う。処理内容は、受信パケッ
トからヘッダ部を抽出する処理、抽出したヘッダ部から
通信プロトコルを判定する処理、判定した通信プロトコ
ルがTCP/IPならばルーティングテーブルを検索し
て宛先IPアドレスから次ホップ(次のローカル網)の
インタネットワーク装置のIPアドレスを得て、ルーテ
ィングプロセッサ基本部のμP31への通知処理などで
ある。ここでは通信プロトコルが、TCP/IPでなけ
ればルーティング処理は行わないものとする。TCP/
IP以外にもOSIなどの複数のプロトコル処理をルー
ティングアシスト部34に行わせることによりマルチプ
ロトコルルータを実現することも可能である。また、上
記の説明では、通信プロトコルがTCP/IP以外なら
ばルーティング処理は行っていないが、ルーティングア
シスト部34にブリッジアシスト機能を持たせることに
より、受信したパケットのプロトコルをサポートしてい
ない場合にはブリッジとして動作させることも可能であ
る。図4は、ルーティングアシスト部34を追加した場
合のルーティングプロセッサ基本部とルーティングアシ
スト部34との処理分担と処理の流れを示している。な
お、ルーティングアシスト部34を追加した場合、ルー
ティングテーブルは、記憶手段のメモリ342に格納し
ておくとルーティング処理をより高速に行える。As the process sharing of the routing assist unit 34, the process related to the routing including the search of the routing table is performed. The contents of the processing include the processing of extracting the header portion from the received packet, the processing of determining the communication protocol from the extracted header portion, and if the determined communication protocol is TCP / IP, the routing table is searched and the next hop (next This is a process of obtaining an IP address of an internetwork device of the local network) and notifying it to the μP 31 of the routing processor basic unit. Here, if the communication protocol is not TCP / IP, the routing process is not performed. TCP /
It is also possible to realize a multi-protocol router by causing the routing assist unit 34 to perform a plurality of protocol processes such as OSI other than IP. In the above description, if the communication protocol is other than TCP / IP, the routing process is not performed. However, by providing the routing assist unit 34 with the bridge assist function, when the protocol of the received packet is not supported. Can also be operated as a bridge. FIG. 4 shows a processing share and a processing flow of the routing processor basic unit and the routing assist unit 34 when the routing assist unit 34 is added. When the routing assist unit 34 is added, if the routing table is stored in the memory 342 of the storage unit, the routing process can be performed at higher speed.
【0048】つぎに、この様な基本構成におけるルーテ
ィング処理を説明する。Next, the routing process in such a basic configuration will be described.
【0049】通信制御部61は、高速LAN74から受
信したパケットをメモリ33へ転送し格納する。一方、
この転送中にルーティングアシスト回路343は、ルー
ティング処理で有用となるパケットヘッダおよび通信制
御部61が付加する受信ステータスを抜き取りメモリ3
42へ転送し、メモリ342は抜き取ったパケットヘッ
ダおよび受信ステータスを格納する。なお、この転送
中、ルーティングアシスト回路343は、並行してパケ
ットヘッダの解析を行う。ヘッダ解析項目の詳細は後述
する。ルーティングテーブルは、あらかじめメモリ34
2に構築されて定義されているものとする。また、μP
341用の命令、ワーク領域もメモリ342で共用す
る。そして、メモリ342は、パケットバッファ用メモ
リ33に比べて小容量ですむので高速なメモリを使うこ
とができ、処理性能の向上も可能である。μP341
は、メモリ342に格納されたヘッダ内の情報からルー
ティング処理を行い、その結果をμP31へ渡す。渡す
手順は、例えば、ルーティングアシスト回路343に、
μP341とμP31両方からアクセスできるデュアル
ポートメモリを持たせ、このデュアルポートメモリの領
域に結果データをμP341が書き込んだ後、μP31
に対して割込みをかけ、μP31はこの書き込んだデー
タを読む。また、この領域をキャッシュメモリのような
構造としてルーティングテーブルキャッシュを構成する
ことにより、ヒット時にはルーティングテーブル検索な
どの処理を大幅に削減できるため高速化できる。詳細は
後述する。なお、結果の内容には、受信パケットのシー
ケンス(メモリ33に格納してあるパケット本体とメモ
リ342に格納してあるヘッダを対応づけるための番
号)情報とパケットが有効であるか/無効であるかの情
報とがある。さらに、結果の内容として、IPルーティ
ングの例をとると、フレーム種別等の属性、宛先IPア
ドレス、サブネットマスク、次ルータIPアドレス、送
出先インタフェース番号(ルーティングプロセッサおよ
び通信制御部のID)等からなる。これについては、後
述する。μP31は、この結果を引き継いで、先にメモ
リ33に格納してあるパケットに対して、パケットヘッ
ダを付け替える等の処理を施す。そして、送出先のポー
トに対応するルーティングプロセッサへ転送する。The communication control unit 61 transfers the packet received from the high speed LAN 74 to the memory 33 and stores it. on the other hand,
During this transfer, the routing assist circuit 343 extracts the packet header useful in the routing processing and the reception status added by the communication control unit 61, and the memory 3
42, the memory 342 stores the extracted packet header and reception status. During this transfer, the routing assist circuit 343 analyzes the packet header in parallel. Details of the header analysis items will be described later. The routing table is stored in the memory 34 in advance.
It shall be constructed and defined in 2. Also, μP
The memory 342 also shares the instruction and work area for 341. Since the memory 342 has a smaller capacity than the packet buffer memory 33, a high-speed memory can be used and the processing performance can be improved. μP341
Performs routing processing from the information in the header stored in the memory 342, and passes the result to the μP 31. The procedure for passing is, for example, to the routing assist circuit 343,
A dual port memory that can be accessed from both μP341 and μP31 is provided, and after μP341 writes the result data to the area of this dual port memory, μP31
Is interrupted, and the μP 31 reads this written data. Further, by configuring the routing table cache by using this area as a structure like a cache memory, it is possible to significantly reduce the processing such as the routing table search at the time of hit, so that the processing speed can be increased. Details will be described later. It should be noted that, as the content of the result, the sequence of the received packet (the number for associating the packet body stored in the memory 33 with the header stored in the memory 342) information and the packet are valid / invalid. There is information about that. Further, as an example of the IP routing as the content of the result, it is composed of attributes such as frame type, destination IP address, subnet mask, next router IP address, destination interface number (ID of routing processor and communication control unit), and the like. . This will be described later. The μP 31 takes over this result and performs processing such as replacing the packet header on the packet previously stored in the memory 33. Then, it is transferred to the routing processor corresponding to the destination port.
【0050】次に、ルーティングアシスト部34の詳細
を図1および図3を参照して説明する。図3に、ルーテ
ィングアシスト部34の構成図を示す。Next, details of the routing assist unit 34 will be described with reference to FIGS. 1 and 3. FIG. 3 shows a configuration diagram of the routing assist unit 34.
【0051】図3において、アシスト回路343は、制
御回路32からのラッチタイミング制御信号(a)およ
びパケットヘッダや受信ステータスのデータ(b)を受
け、μP31とはμP31RPインタフェースおよびバ
スを介して接続されている。アシスト回路343は、各
パケットヘッダを解析して結果を出力するヘッダ解析部
と、パケットヘッダおよび解析結果を記憶する記憶手段
のメモリ342と、ルーティング処理を行うμP341
の処理部とを有する。さらに、アシスト回路343は、
パケットヘッダを一時保持する保持手段のFIFO34
312と、μP31に転送する際に記憶する、共有記憶
手段のデュアルポートメモリ34316とを有すること
ができる。ヘッダ解析部としては、MACヘッダチェッ
ク回路、LLCヘッダチェック回路、SNAPヘッダチ
ェック回路、IPヘッダチェック回路および受信ステー
タスチェック回路がある。In FIG. 3, the assist circuit 343 receives the latch timing control signal (a) and the packet header and reception status data (b) from the control circuit 32, and is connected to the μP31 via the μP31RP interface and bus. ing. The assist circuit 343 analyzes a header of each packet and outputs the result, a memory 342 of a storage unit that stores the packet header and the analysis result, and a μP 341 that performs a routing process.
Processing unit. Further, the assist circuit 343 is
FIFO 34 as a holding means for temporarily holding the packet header
312, and dual port memory 34316 of shared storage means for storing when transferred to the μP 31. The header analysis unit includes a MAC header check circuit, an LLC header check circuit, a SNAP header check circuit, an IP header check circuit, and a reception status check circuit.
【0052】図3において、通信制御部61からメモリ
33へ転送されているパケットは、パケット先頭位置の
情報やラッチタイミング(a)を制御回路32から受
け、パケットヘッダや受信ステータス(b)は、FIF
O34312を介して、DMA制御回路34313の制
御下でメモリ342に格納される。IP over FD
DIの場合におけるパケットの構成を、図5に示してい
る。図5において、転送/格納すべきパケットヘッダと
してのデータは、MAC(Media Access Control)ヘッ
ダ、LLC(Link Layer Control) ヘッダ、SNAPヘ
ッダ、IPヘッダおよびステータス情報である。パケッ
トの先頭位置は、(a)の信号によって制御回路32か
ら教えられる。一方では、転送されるデータは、判断用
レジスタ343150に格納されて、順次下記の項目を
チェックする。In FIG. 3, the packet transferred from the communication control unit 61 to the memory 33 receives the information of the packet head position and the latch timing (a) from the control circuit 32, and the packet header and the reception status (b) are FIF
It is stored in the memory 342 under the control of the DMA control circuit 34313 via O34312. IP over FD
The packet structure in the case of DI is shown in FIG. In FIG. 5, data as a packet header to be transferred / stored is a MAC (Media Access Control) header, an LLC (Link Layer Control) header, a SNAP header, an IP header and status information. The start position of the packet is taught from the control circuit 32 by the signal (a). On the other hand, the transferred data is stored in the judgment register 343150 and sequentially checks the following items.
【0053】以下は、例えば、IPアドレスを用いてル
ーティングする場合(以下、IPルーティングという)
における、ヘッダ解析部の処理を説明する。The following is, for example, when routing is performed using an IP address (hereinafter referred to as IP routing)
The processing of the header analysis unit in FIG.
【0054】(1)MACヘッダチェック MACヘッダは、各ルータにより付加され、DA(Dest
ination Address)およびSA(Source address)は、
ルータの通信ポートの物理アドレスを示す。MACヘッ
ダのFCフィールドは、複数あるフレームの種類を示す
フレームの識別情報が付加されている。フレームの種類
には、例えば、LLCフレーム、MACフレーム、SM
Tフレームなどがある。MACヘッダチェック回路34
3151は、FCフィールドを見てLLCフレーム、M
ACフレーム、SMTフレーム、その他を識別する。I
PルーティングすべきフレームはLLCフレームであ
る。(1) MAC header check The MAC header is added by each router and DA (Dest
ination Address) and SA (Source address)
Indicates the physical address of the communication port of the router. The FC field of the MAC header is added with frame identification information indicating a plurality of frame types. Examples of frame types include LLC frame, MAC frame, SM
There are T frames and the like. MAC header check circuit 34
3151 sees the FC field, LLC frame, M
Identify AC frames, SMT frames, etc. I
The frame to be P-routed is an LLC frame.
【0055】また、MACヘッダチェック回路3431
51は、DAフィールドを見て、DAが自アドレスか否
か確認する。IPルーティングすべきフレームは自宛の
場合である。DAが自アドレスならば、ルーティングす
るように結果を出力し、自アドレスでないならば、DA
がマルチキャストであるか否かを判断する。DAがマル
チキャストを示しているならば、自装置が持つマルチキ
ャストアドレスと一致するか否かを判断する。マルチキ
ャストアドレスは複数個持ち、これを連想メモリCAM
344にあらかじめ格納しておく。受けたDAとCAM
44の内容と照合することで判断できる。DAがマルチ
キャストでない場合や、自装置が持つマルチキャストア
ドレスと一致しない場合には、ルーティングを行わない
という結果を出力する。Also, the MAC header check circuit 3431
51 checks the DA field to see if the DA is its own address. The frame to be IP-routed is for itself. If the DA is its own address, the result is output so that it is routed. If it is not the own address, DA
Is a multicast or not. If the DA indicates multicast, it is determined whether or not it matches the multicast address of its own device. It has multiple multicast addresses and uses it for associative memory CAM
It is stored in advance in 344. DA and CAM received
It can be determined by comparing with the contents of 44. If the DA is not a multicast, or if it does not match the multicast address of its own device, the result that routing is not performed is output.
【0056】(2)LLCヘッダチェック LLCヘッダチェック回路343152が、DSAP,
SSAPフィールドおよびCTLフィールドを見てIP
プロトコルを指示していることを確認する。LLCヘッ
ダ部が特定のビットパターンであるときに、IPプロト
コルであることを示すことができるので、特定のビット
パターンに一致するか否かをチェックして結果を出力す
る。(2) LLC Header Check The LLC header check circuit 343152 determines that the DSAP,
Looking at the SSAP and CTL fields, IP
Make sure you are pointing to the protocol. When the LLC header part has a specific bit pattern, it can indicate that the protocol is an IP protocol. Therefore, it is checked whether the LLC header part matches the specific bit pattern and the result is output.
【0057】(3)SNAPヘッダチェック SNAPヘッダチェック回路343153が、PIDフ
ィールドを見てIPプロトコルを指示していることを確
認する。また、TYPEフィールドを見てSNAPヘッ
ダに続くデータのプロトコルがIP/ARP/その他の
いずれかを識別し、結果を出力する。(3) SNAP Header Check The SNAP header check circuit 343153 checks the PID field to confirm that it is instructing the IP protocol. Also, looking at the TYPE field, the protocol of the data following the SNAP header identifies either IP / ARP / other, and outputs the result.
【0058】(4)IPヘッダチェック IPヘッダチェック回路343154がV領域(versio
n of IP)を見てサポートしているIPのバージョンであ
るか否かを確認する。また、HL(IP headerlength)
を見て適切なIPヘッダ長であることを確認する。ま
た、論理アドレスである、宛先IPアドレス(DA)を
抽出する。IPのバージョンでない場合もしくは適切な
IPヘッダ長でないには、その旨を出力し、IPのバー
ジョンであり適切なIPヘッダ長であれば、宛先IPア
ドレス(DA)を出力する。(4) IP Header Check The IP header check circuit 343154 has the V area (versio
n of IP) to see if it is a supported IP version. Also, HL (IP headerlength)
Check that the IP header length is appropriate. Also, the destination IP address (DA), which is a logical address, is extracted. If it is not the IP version or if it is not an appropriate IP header length, that is output, and if it is the IP version and an appropriate IP header length, the destination IP address (DA) is output.
【0059】(5)受信ステータスチェック 受信ステータスチェック回路343155が、ステータ
スを見て受信フレームの正常を確認する。正常なIPヘ
ッダであれば、ルーティングテーブル検索に必要なTO
S(Type of Service)、DA(宛先IPアドレス)な
どの情報を取り出す。(5) Reception status check The reception status check circuit 343155 confirms the normality of the received frame by looking at the status. If it is a normal IP header, the TO required for the routing table search
Information such as S (Type of Service) and DA (destination IP address) is extracted.
【0060】上述の(1)〜(5)の結果をレジスタ3
43156に格納する。結果は、先の先頭位置のうち格
納すべきデータの後尾に連結することで、メモリ342
内には以後のルーティングに必要な情報と、ヘッダ解析
の結果が格納されることになる。The results of the above (1) to (5) are stored in the register 3
It stores in 43156. The result is concatenated with the tail of the data to be stored in the previous head position, and
The information necessary for the subsequent routing and the result of the header analysis will be stored inside.
【0061】以上のように、ルーティングアシスト回路
343によりフレーム識別、正誤判定等、ルーティング
の前段階は終了したので、μP341の処理負荷を軽減
でき、ルーティング処理を高速化できる。μP341
は、メモリ342に格納されたヘッダ解析結果を見て、
IPルーティングをすべきフレームであれば、μP34
1がIPルーティング処理を行う。As described above, since the routing assist circuit 343 completes the pre-routing steps such as frame identification and correct / wrong determination, the processing load of the μP 341 can be reduced and the routing processing can be speeded up. μP341
Looks at the header analysis result stored in the memory 342,
If the frame should be IP routed, μP34
1 performs an IP routing process.
【0062】また、上記ヘッダ解析部の別の構成例を図
13に示す。図13を参照して、受信時に通信制御部か
ら送られるフレームのヘッダ解析を行うブロックの別の
構成例を説明する。FIG. 13 shows another configuration example of the header analysis section. With reference to FIG. 13, another configuration example of the block that analyzes the header of the frame sent from the communication control unit at the time of reception will be described.
【0063】図13において、受信したフレームのデー
タは、データバスの幅に従って、例えば、32ビットず
つ、比較器とスイッチとに同時に入力される。比較器で
は、データが入力されるごとに、逐次比較を行うため
(例えば、この例では32ビットごとに比較を行な
う)、比較位置のカウンタがデータと同時に入力される
制御信号によりカウントされる。比較位置カウンタは、
ヘッダの先頭位置から数えて何ビット目のデータが入力
されているかという情報を保持しておく。その情報をも
とにデータセレクタが切り換わり、あらかじめ用意して
いる、MACヘッダ、LLCヘッダ、SNAPヘッダ、
IPヘッダなどの特定のビットパターンのうち比較すべ
き特定データを比較器に送る。例えば、1回目の比較で
は図5に示したMACヘッダのFCとDAの先頭3バイ
ト計4バイト(32ビット)の位置を比較し、2回目の
比較ではDAの残りの3バイトとSAの先頭1バイトの
位置を比較し、3回目の比較ではSAの次の4バイトの
位置を比較し、4回目の比較ではSAの残りの1バイト
とLLCヘッダのDSAP1バイトの位置にある、受信
データと特定ビットパターンとをそれぞれ比較する。入
力データを蓄積してMACヘッダからIPヘッダまでを
一度に比較するのではなく、上記のように先頭位置から
順に少しずつ比較していく。比較器では入力されている
受信データと比較すべきデータを比較して一致不一致を
比較結果としてスイッチ、結果レジスタおよびシーケン
サに出力する。その結果、引き続きデータを入力する必
要があるならばスイッチをオンに、これ以上データを入
力する必要が無いならばスイッチをオフに制御する。引
き続きデータを入力する必要がある場合とは、例えば、
これまでに入力したデータがMACヘッダ、LLCヘッ
ダで、次にSNAPヘッダ,IPヘッダと比較データが
一致して続くならば、入力しているフレームがルーティ
ング処理を行なうべきIPフレームである可能性がある
ため、さらにヘッダ解析を続ける必要がある場合であ
る。また、これ以上データを入力する必要が無い場合と
は、例えば、受信したフレームが無効フレームでこれ以
上ヘッダ解析を続ける意味が無い場合や、有効なフレー
ムではあるが解析の途中でルーティング処理を行なう必
要が無いフレームであることが判った場合や、受信した
フレームがIPフレームでヘッダ部分は全て入力してし
まった場合などには、不一致になった段階で入力する必
要が無いと判断する。このスイッチの動作により、フレ
ーム全体のうち必要な部分だけを取り込み、不要な部分
を無視することができる。比較器でデータの比較を行っ
てからスイッチの制御を行うまでに遅延があるならば、
図13において、スイッチの前にその遅延に見合った遅
延時間の遅延回路を入れてタイミングを合わせると良
い。スイッチを通ったデータは一旦FIFO格納される
と、シーケンサ回路がDMAコントローラ34313を
起動してFIFOに格納されているデータをメモリ34
2にDMA転送する。この時、結果レジスタ34315
6に格納されているヘッダ解析の結果もメモリ342に
転送する。メモリ342への書き込みは、シーケンサ回
路によりタイミングを指示される。その後、プロセッサ
がメモリ342に格納されている解析の結果及びヘッダ
を見てルーティング処理などの必要な処理を行う。In FIG. 13, the received frame data is simultaneously input to the comparator and the switch, for example, in units of 32 bits according to the width of the data bus. In the comparator, since successive comparison is performed every time data is input (for example, in this example, comparison is performed every 32 bits), the counter at the comparison position is counted by the control signal input at the same time as the data. The comparison position counter is
Information on what bit of data is input from the start position of the header is held. The data selector switches based on the information, and the MAC header, LLC header, SNAP header,
The specific data to be compared among the specific bit patterns such as the IP header is sent to the comparator. For example, in the first comparison, FC header of the MAC header shown in FIG. 5 and the top 3 bytes of DA are compared with a total of 4 bytes (32 bits), and in the second comparison, the remaining 3 bytes of DA and the beginning of SA are compared. The position of 1 byte is compared, the position of the next 4 bytes of SA is compared in the third comparison, and the position of the remaining 1 byte of SA and the DSAP 1 byte of the LLC header are compared with the received data in the fourth comparison. Each is compared with a specific bit pattern. Instead of accumulating the input data and comparing the MAC header to the IP header at once, the comparison is performed little by little from the beginning position as described above. The comparator compares the input received data with the data to be compared, and outputs a match / mismatch as a comparison result to the switch, the result register and the sequencer. As a result, the switch is controlled to be turned on when it is necessary to continue inputting data, and is turned off when it is not necessary to input more data. If you still need to enter data, for example,
If the data input so far is the MAC header and LLC header, and the SNAP header and IP header are the next and the comparison data match, the input frame may be an IP frame for which routing processing should be performed. Therefore, it is necessary to continue the header analysis. Further, when it is not necessary to input more data, for example, when the received frame is an invalid frame and it is meaningless to continue the header analysis, or when it is a valid frame, the routing process is performed during the analysis. If it is determined that the frame is not necessary, or if the received frame is an IP frame and the entire header portion has been input, it is determined that there is no need to input at the mismatching stage. By the operation of this switch, only a necessary portion of the entire frame can be captured and an unnecessary portion can be ignored. If there is a delay between the comparison of data with the comparator and the control of the switch,
In FIG. 13, it is advisable to insert a delay circuit having a delay time commensurate with the delay in front of the switch to adjust the timing. Once the data passed through the switch is stored in the FIFO, the sequencer circuit activates the DMA controller 34313 to transfer the data stored in the FIFO to the memory 34.
DMA transfer to 2. At this time, the result register 34315
The result of the header analysis stored in 6 is also transferred to the memory 342. The timing of writing to the memory 342 is instructed by the sequencer circuit. After that, the processor performs necessary processing such as routing processing by looking at the analysis result and the header stored in the memory 342.
【0064】このようにして、ルーティングアシスト回
路343のヘッダ解析部をハードウエアにより構成する
ことでより高速にフレームの解析を行うことができる。
また、ルーティングアシスト回路343により、フレー
ムの識別、正誤判断等の前段階のルーティング処理の1
つである、ヘッダ解析によるフィルタリングが終了して
いるのでμP341の処理負荷が軽減できる。As described above, by configuring the header analysis unit of the routing assist circuit 343 with hardware, it is possible to analyze the frame at a higher speed.
In addition, the routing assist circuit 343 performs one of the previous routing processes such as frame identification and correct / wrong judgment.
Since the filtering by the header analysis is completed, the processing load of the μP 341 can be reduced.
【0065】μP341におけるルーティング処理は、
予め登録されているメモリ342のルーティングテーブ
ルを参照することにより行う。本実施例においては、ハ
ッシュ方式によりルーティングテーブルを参照する。図
6に、ハッシュ方式から成るルーティングテーブル(以
下、ハッシュ管理テーブルという)の論理的構成を示
す。予め定めたハッシュ関数を利用することにより、I
Pアドレスのうちのネットワークアドレスの24ビット
を8ビットのハッシュ値に投影する。ハッシュ管理テー
ブルは、ハッシュ値をポインタにして対応する位置にル
ーティング情報を登録する。ハッシュ値が同じになる場
合には、ポインタによりさらに連結する。図6におい
て、経路登録のためのデータは、発生した順にエントリ
(登録)するリスト構造となっている。図6において、
∧はリストの終わりを示し、●はポインタである。登録
されるルーティング情報データは、図7に示すようなデ
ータである。ハッシュ回路34317は、図6に示すよ
うな、ハッシュ管理テーブルの構成を持つメモリに対し
てアクセスする際に、ハッシュ値を演算する。ハッシュ
回路34317は、ハッシュ管理テーブルをアクセス
し、ここからリストをたどっていくことにより検索/登
録する。μP341が、ハッシュ回路34317にキー
を与えることで高速にハッシュ値を得ることができる。
この場合、キーは、宛先IPアドレス,TOSなどであ
る。IP中継専用ルーティングテーブルのデータ構成
は、図7に示すように、宛先ネットワークを示すネット
ワークアドレス、宛先ネットワークのサブネット情報を
示すサブネットマスク、次ホップアドレス(ルーティン
グする際に必要なつぎのルータのIPアドレス)、次ホ
ップへ送出するために使用するインタフェース番号(ル
ーティングプロセッサ番号および該ルーティングプロセ
ッサのポート番号)と、リスト構造をつくるための次エ
ントリへのポインタから成る。μP341は、メモリ3
42からフレームヘッダのうちの宛先IPアドレスを読
み出す。宛先IPアドレスをハッシュ生成回路3431
7に与えてハッシュ値を得て、この値により図6に示す
ハッシュ管理テーブルをアクセスして求めるエントリを
検索する。上述の中継専用ルーティングテーブルをアク
セスして、次ホップIPアドレスとインタフェース番号
を得る。The routing process in the μP341 is as follows.
This is performed by referring to the routing table of the memory 342 registered in advance. In the present embodiment, the routing table is referred to by the hash method. FIG. 6 shows a logical configuration of a routing table (hereinafter referred to as a hash management table) based on the hash method. By using a predetermined hash function, I
Project 24 bits of the network address of the P address into an 8-bit hash value. The hash management table uses the hash value as a pointer to register the routing information at the corresponding position. When the hash values are the same, they are further linked by a pointer. In FIG. 6, the data for route registration has a list structure in which entries (registrations) are made in the order of occurrence. In FIG.
∧ indicates the end of the list, and ● indicates a pointer. The registered routing information data is data as shown in FIG. 7. The hash circuit 34317 calculates a hash value when accessing the memory having the configuration of the hash management table as shown in FIG. The hash circuit 34317 accesses the hash management table, and searches / registers by tracing the list from here. The μP 341 can obtain a hash value at high speed by giving a key to the hash circuit 34317.
In this case, the key is the destination IP address, TOS, or the like. As shown in FIG. 7, the data structure of the routing table dedicated to IP relay includes a network address indicating the destination network, a subnet mask indicating the subnet information of the destination network, and a next hop address (the IP address of the next router required for routing). ), The interface number (routing processor number and port number of the routing processor) used to send to the next hop, and a pointer to the next entry to create the list structure. μP341 is the memory 3
The destination IP address in the frame header is read from 42. Destination IP address hash generation circuit 3431
7, the hash value is obtained, and the hash management table shown in FIG. 6 is accessed by this value to search for the desired entry. The next-hop IP address and interface number are obtained by accessing the above-mentioned relay-only routing table.
【0066】また、ハッシュ生成回路34317を、ハ
ードウェアにより上述のハッシュ生成、リスト検索を行
い求めるエントリを得る回路に置き換えることにより、
ルーティングテーブル検索をハードウェアにより処理で
きるようになる。この場合のハッシュ回路のブロック図
を図11に示し、また、ハードウエアの検索の処理フロ
ーを図12に示す。Further, by replacing the hash generation circuit 34317 with a circuit for obtaining the desired entry by performing the above hash generation and list search by hardware,
Allows routing table lookups to be handled by hardware. FIG. 11 shows a block diagram of the hash circuit in this case, and FIG. 12 shows a processing flow of hardware search.
【0067】図12において、ハッシュ回路は、宛先I
Pアドレスをテーブル検索キーとしてテーブル検索キー
設定レジスタに設定する(ステップ121)。ハッシュ
値計算回路により、ハッシュ値を求めてハッシュ管理テ
ーブルのエントリ番号を得る(ステップ122)。先頭
テーブルのポインタ計算回路は、エントリ番号から該当
するエントリのポインタ(アドレス)を計算する(ステ
ップ123)。計算したポインタを用いてメモリ342
にアクセスし、ルーティング情報のポインタを得る(ス
テップ124)。「次エントリへのポインタ」のアドレ
ス計算回路は、上記処理に並行して、ルーティング情報
のポインタからそのテーブルのつぎのエントリの先頭を
示す、「次エントリへのポインタ」を計算しておく(ス
テップ125)。ルーティング情報の先頭エントリのネ
ットワークアドレスを読み込む(ステップ126)。読
みだしたネットワークアドレスとテーブル検索キーとが
一致するか否かを比較する(ステップ127)。一致す
る場合には、該ルーティング情報を読み出して次ホップ
IPアドレスとインタフェース番号とを得る。一致しな
い場合には、「次エントリへのポインタ」のアドレス計
算回路により求めていた「次エントリへのポインタ」に
よりメモリにアクセスし、つぎのルーティング情報への
ポインタを得て(ステップ128)、ステップ125に
処理を移す。これによりμP341は、検索の起動をか
けるだけになり負荷がさらに軽減され、ルーティング処
理をさらに高速化することができる。In FIG. 12, the hash circuit has a destination I
The P address is set as a table search key in the table search key setting register (step 121). The hash value calculation circuit obtains the hash value and obtains the entry number of the hash management table (step 122). The pointer calculation circuit of the head table calculates the pointer (address) of the corresponding entry from the entry number (step 123). The memory 342 using the calculated pointer
To obtain a pointer to the routing information (step 124). In parallel with the above processing, the address calculation circuit for the "pointer to the next entry" calculates the "pointer to the next entry" indicating the head of the next entry in the table from the pointer of the routing information (step 125). The network address of the first entry of the routing information is read (step 126). It is compared whether the read network address and the table search key match (step 127). If they match, the routing information is read to obtain the next hop IP address and interface number. If they do not match, the memory is accessed by the "pointer to the next entry" obtained by the address calculation circuit of the "pointer to the next entry", and the pointer to the next routing information is obtained (step 128). The process is transferred to 125. As a result, the μP 341 only starts the search, the load is further reduced, and the routing process can be further speeded up.
【0068】μP341は、ルーティングアシスト部3
4が行ったヘッダ解析/ルーティング結果と、次ホップ
アドレスとインタフェース番号とをデュアルポートメモ
リ34316に格納して、μP31へ通知する。μP3
1は、この結果に基づいて、既にメモリ33に格納され
ている当該パケットを、宛先インタフェースに対応され
るルーティングプロセッサへ転送する。The μP 341 is the routing assist unit 3
4 stores the header analysis / routing result, the next hop address, and the interface number in the dual port memory 34316, and notifies the μP 31 of them. μP3
1 transfers the packet already stored in the memory 33 to the routing processor corresponding to the destination interface based on this result.
【0069】つぎに、アシスト回路343からμP31
にヘッダ解析情報を転送する際に、デュアルポートメモ
リ34316にルーティング情報を蓄積し、μP31
は、デュアルポートメモリ34316にアクセスするこ
とによりルーティング情報を読み出す。その際のデュア
ルポートメモリ34316において、ルーティング情報
をルーティングテーブルにし、キャッシュの構成にして
蓄積する。図10を用いてルーティングテーブルキャッ
シュの構成および動作を説明する。なお、図10にはダ
イレクトマップ方式を用いて構成したキャッシュの例を
示している。デュアルポートメモリ34316に蓄積さ
れるルーティングテーブルの構成は、タグ部34321
とエントリ部34320とに分けられている。Next, from the assist circuit 343 to the μP31
The routing information is accumulated in the dual port memory 34316 when the header analysis information is transferred to the μP31.
Reads the routing information by accessing the dual port memory 34316. At that time, in the dual port memory 34316, the routing information is stored as a routing table in a cache configuration. The configuration and operation of the routing table cache will be described with reference to FIG. Note that FIG. 10 shows an example of a cache configured by using the direct map method. The configuration of the routing table accumulated in the dual port memory 34316 is the tag unit 34321.
And an entry section 34320.
【0070】図10において、パケットを受信してヘッ
ダ解析を終了した時点で受信パケットがIPパケットな
らば、結果レジスタ343156に宛先IPアドレスや
ルーティングに必要な情報等が格納される。しかし、ル
ーティングアシスト回路343は、ここではμP341
にはヘッダ判定結果が出たことを通知しない。まず、結
果レジスタ343156に格納されている情報のうち、
ルーティングテーブル検索に必要なキー(IPアドレ
ス、TOSなど)を取り出し、キーのうちの複数のビッ
トを用いてタグ部34321をアクセスする。このとき
のエントリのポインタをiとする。タグの出力と、キー
のうちのタグアクセスに用いなかった残りのビットの一
致判定を判断手段により行うことによりヒット判定を行
う。ヒット判定が終了した時点でルーティングアシスト
回路343は、μP341に判定結果を知らせる。ヒッ
トしたということはその宛先IPアドレスに対するルー
ティング情報が既にルーティングテーブルキャッシュの
エントリiに入っていることを示し、ミスヒットしたと
いうことは逆にまだ情報が入っていないということを示
している。その宛先IPアドレスに対するパケットを初
めて受信した時には、キャッシュには何も登録されてい
ないので必ずミスヒットする。ヒット判定が終了した時
点でルーティングアシスト回路343は、μP341に
判定結果を知らせる。ミスヒットしていたならばμP3
41は、前述したキーを元にして前述のルーティングテ
ーブルを検索する手順で結果(ルーティング情報)を得
た後、デュアルポートメモリ34316aのエントリ部
34320の該当するエントリiにルーティング情報や
シーケンス番号などの情報を格納すると同時に、タグ部
34321にキーのうちのタグアクセスに用いない部分
を登録し、μP31へエントリiにデータが準備できた
ことを通知する。これに従ってμP31は、エントリi
のルーティング情報を取り出し処理を行う。μP31
は、処理が終了してもエントリiをパージ(解放)しな
い。次に、今処理したパケットと同じルーティング処理
をすべきパケットを受信した場合を考える。このようこ
とはパケットの宛先装置やTOSが等しいときなどに発
生する可能性がある。この場合には、前に処理を行った
時にキャッシュに登録したため、受信、ヘッダ処理後に
ヒット判定を行うとヒットする。ヒット判定が終了した
時点でルーティングアシスト回路343はμP341に
判定結果を知らせる。ヒットしていたならば、μP34
1はヒットしているエントリiに格納されている情報の
うちルーティング情報などの再利用できる情報はそのま
まにしてシーケンス番号などの一部の再利用できない情
報だけを更新した後、μP31へエントリiにデータが
準備できたことを通知する。このように、ルーティング
テーブルキャッシュの各エントリは複数のフィールドか
ら構成され、各フィールドは個別に書き換え可能とす
る。これに従ってμP31は、エントリiのルーティン
グ情報を取り出し処理を行う。このようにルーティング
を行うためのキーを用いてキャッシュメモリを構成する
ことにより、受信したパケットの宛先IPアドレスまで
のルーティング情報が既にキャッシュメモリに登録され
ていてこれが再利用できる場合には、ルーティングテー
ブルの検索を省略することができるため高速化できる。In FIG. 10, if the received packet is an IP packet when the packet is received and the header analysis is completed, the result register 343156 stores the destination IP address, information necessary for routing, and the like. However, the routing assist circuit 343, here, the μP341
Is not notified that a header determination result has been output. First, of the information stored in the result register 343156,
The key (IP address, TOS, etc.) necessary for the routing table search is taken out, and the tag unit 34321 is accessed using a plurality of bits of the key. The pointer of the entry at this time is i. The hit determination is performed by determining whether the output of the tag and the remaining bits of the key not used for tag access match. When the hit determination is completed, the routing assist circuit 343 notifies the μP 341 of the determination result. The hit indicates that the routing information for the destination IP address is already stored in the entry i of the routing table cache, and the miss hit indicates that the information is not yet entered. When a packet for the destination IP address is received for the first time, there is nothing registered in the cache, so there is always a miss-hit. When the hit determination is completed, the routing assist circuit 343 notifies the μP 341 of the determination result. If there was a mishit, μP3
41 obtains a result (routing information) by the procedure for searching the above-mentioned routing table based on the above-mentioned key, and thereafter stores the routing information and the sequence number in the corresponding entry i of the entry part 34320 of the dual port memory 34316a. At the same time as storing the information, the portion of the key not used for tag access is registered in the tag portion 34321, and the μP 31 is notified that the data is ready for the entry i. Accordingly, the μP 31 determines that the entry i
The routing information of is retrieved and processed. μP31
Does not purge (release) the entry i even if the processing is completed. Next, consider a case where a packet to be subjected to the same routing process as the packet just processed is received. This may occur when the packet destination devices and TOS are the same. In this case, since it was registered in the cache when the processing was performed before, a hit occurs if the hit determination is performed after the reception and the header processing. When the hit determination is completed, the routing assist circuit 343 notifies the μP 341 of the determination result. If there was a hit, μP34
1 indicates that the reusable information such as the routing information among the information stored in the hit entry i is left as it is and only a part of the non-reusable information such as the sequence number is updated. Notify that the data is ready. Thus, each entry of the routing table cache is composed of a plurality of fields, and each field can be individually rewritten. In accordance with this, the μP 31 takes out the routing information of the entry i and performs a process. By configuring the cache memory using the key for routing in this way, when the routing information up to the destination IP address of the received packet is already registered in the cache memory and can be reused, the routing table Since the search for can be omitted, the speed can be increased.
【0071】なお、ここではルーティングテーブルキャ
ッシュの構成は、ダイレクトマップ方式としたが、nウ
ェイアソシアティブ方式,フルアソシアティブ方式とす
ることで、よりヒット率が高いルーティングテーブルキ
ャッシュを構成することができる。この場合、キャッシ
ュエントリの更新方式は、LRU(Least Recently Use
d)方式が適している。Although the routing table cache has a direct map system here, an n-way associative system and a full associative system can be used to construct a routing table cache having a higher hit rate. In this case, the cache entry update method is LRU (Least Recently Use).
d) Method is suitable.
【0072】つぎに、図1または図2に示す構成におい
て、ルータバス1を介してルーティングプロセッサ間の
パケット転送を行う様子を以下に説明する。図9に、ル
ーティングプロセッサから宛先ルーティングプロセッサ
へパケットを転送する際のパケットフォーマットを示
す。Next, in the configuration shown in FIG. 1 or 2, a state of performing packet transfer between the routing processors via the router bus 1 will be described below. FIG. 9 shows a packet format when a packet is transferred from the routing processor to the destination routing processor.
【0073】図9に示すように、μP31は、パケット
に転送長、宛先インタフェース番号(ルーティングプロ
セッサ番号および該ルーティングプロセッサのポート番
号)、送信元インタフェース番号、通信プロトコル、メ
ディア種別、次ホップID(通信プロトコルがTCP/
IPならばIPアドレス)からなる転送ヘッダを受信デ
ータに付与して、ルータバス1を介して宛先のルーティ
ングプロセッサへ転送する。例えば、受信したルーティ
ングプロセッサ3(a)からルーティングプロセッサ3
(c)への転送を行う。転送ヘッダのうち、宛先インタ
フェース番号、通信プロトコル、メディア種別および次
ホップIDは、ルーティングアスシト部34から得た情
報である。As shown in FIG. 9, the μP 31 transfers a packet with a transfer length, a destination interface number (a routing processor number and a port number of the routing processor), a source interface number, a communication protocol, a media type, and a next hop ID (communication). Protocol is TCP /
If it is IP, a transfer header consisting of IP address) is added to the received data and transferred to the destination routing processor via the router bus 1. For example, from the received routing processor 3 (a) to the routing processor 3 (a)
Transfer to (c). The destination interface number, communication protocol, media type, and next hop ID in the transfer header are information obtained from the routing associator 34.
【0074】始めに、ルータバス1にパケットを送信す
る側のルーティングプロセッサは、ネットワーク(ポー
ト)から受信したパケットに図9に示す転送ヘッダを付
加する。パケットに転送ヘッダを付加したものを、ここ
ではデータブロックと呼ぶ。処理を単純にするために、
データブロックおよび転送ヘッダは、固定長とすると良
い。例えば、データブロック長は1024バイト固定、
転送ヘッダは48バイト固定とする。このため、転送し
ようとするパケットのバイト数が、データブロックに収
容できるデータの最大長(上記の例では976バイト)
よりも長い場合、パケットは複数のデータブロックに分
割されて転送される。この場合にも、転送ヘッダは、全
てのデータブロックに付加される。例えば、プロトコル
ヘッダ部とデータ部とを合わせて2500バイトあるF
DDIのパケットを転送する場合、パケットは3つのデ
ータブロックに分割される。転送ヘッダに転送長(有効
なデータの長さ)の情報が含まれているので、3つめの
データブロックのデータが含まれていない部分には、何
が入っていても良い。First, the routing processor on the side of transmitting a packet to the router bus 1 adds the transfer header shown in FIG. 9 to the packet received from the network (port). A packet added with a transfer header is called a data block here. To simplify the process,
The data block and transfer header are preferably fixed length. For example, the data block length is fixed at 1024 bytes,
The transfer header is fixed at 48 bytes. Therefore, the number of bytes of the packet to be transferred is the maximum length of data that can be stored in the data block (976 bytes in the above example).
Longer, the packet is divided into multiple data blocks and transferred. Also in this case, the transfer header is added to all the data blocks. For example, F that is 2500 bytes including the protocol header part and the data part together
When transferring a DDI packet, the packet is divided into three data blocks. Since the transfer header includes the transfer length (effective data length) information, anything may be included in the portion of the third data block that does not include the data.
【0075】つぎに、パケットをデータブロックに分割
する手順と、転送後データブロックを統合しパケットに
戻す手順とを述べる。図15に、この場合のパケットと
データブロックとの対応を示す。パケットをブロックに
分割する場合、各ルーティングプロセッサ(中継処理
部)は、ネットワークからのパケット情報を固定長のブ
ロックに分割する分割手段と、該分割手段により分割さ
れたそれぞれのブロックに上記宛先に基づいて対応する
ルーティングプロセッサの識別情報を付加する付加手段
と、該付加手段により識別情報が付加されたブロックを
上記バスに送出する送出手段と、上記バスから自装置の
識別情報が付加されたブロックを受信する受信手段と、
該受信手段で受信したブロックが分割されている情報で
ある場合に、当該分割されているブロックを統合する統
合手段とを有する。これらの各手段は、制御回路により
処理することができる。または、ルーティングアシスト
部を備える場合には、宛先情報の解析をルーティングア
シスト部において行ってもよい。前記情報は、当該情報
の容量が予め付加されており、前記統合手段は、前記情
報に予め付加されている容量を参照し、当該分割されて
いるブロックの統合を行う。上記ルーティングプロセッ
サは、上記他のルーティングプロセッサからの情報の受
信時に、他の情報の受信を排除するための排他制御を行
う排他制御手段と、上記他のルーティングプロセッサへ
の送出時に、受信側の他のルーティングプロセッサの排
他制御手段に対して情報を受信しているか否かを確認
し、情報を受信していない場合には情報を送出する旨を
通知する転送制御部とをさらに備え、上記排他制御手段
は、送信側の他のルーティングプロセッサの転送制御部
から通知があると、当該ルーティングプロセッサからの
情報のみを受信することができる。排他制御については
後述する。Next, a procedure for dividing a packet into data blocks and a procedure for integrating the data blocks after transfer and returning them to packets will be described. FIG. 15 shows the correspondence between packets and data blocks in this case. When a packet is divided into blocks, each routing processor (relay processing unit) divides the packet information from the network into blocks of fixed length, and based on the destinations in each block divided by the dividing unit. Means for adding the identification information of the corresponding routing processor, a sending means for sending the block to which the identification information is added by the adding means to the bus, and a block to which the identification information of the own device is added from the bus. Receiving means for receiving,
When the block received by the receiving means is divided information, the integrating means integrates the divided blocks. Each of these means can be processed by the control circuit. Alternatively, when the routing assist unit is provided, the destination information may be analyzed in the routing assist unit. As for the information, the capacity of the information is added in advance, and the integrating means refers to the capacity added in advance to the information and integrates the divided blocks. The routing processor, when receiving information from the other routing processor, performs exclusive control to exclude the reception of the other information, and when transmitting to the other routing processor, the other of the receiving side. And a transfer control unit for confirming whether or not the information is received to the exclusive control means of the routing processor, and notifying that the information is transmitted when the information is not received. Upon receiving the notification from the transfer control unit of the other routing processor on the transmission side, the means can receive only the information from the routing processor. Exclusive control will be described later.
【0076】まず、ネットワーク(ポート)から受信し
たパケットをバッファメモリ33に書き込む前に、あら
かじめバッファメモリ33の内部をデータブロック長ご
との領域に区切っておく。ここではこの区切った領域を
ブロックと呼ぶことにする。それぞれのブロックの先頭
には転送ヘッダ長に等しい領域を確保し、その領域に
は、受信パケットを書き込まないように制御する。ポー
トから受信したパケットをバッファメモリ33内のブロ
ックに転送するときに、受信パケット長が(ブロック長
−転送ヘッダ長)×n(nは自然数)よりも長くパケッ
トをn+1個のブロックに分割する必要がある場合に
は、制御回路32がパケットを分割しながらブロック内
の転送ヘッダを書き込む領域以外の領域に格納する。そ
の後、μP31がそれぞれのブロックの先頭に転送ヘッ
ダを付加して分割は完了する。分割したパケットをルー
ティングプロセッサ間のデータブロックで転送した後、
上記の処理とは逆に、制御回路32がブロックに分割さ
れているパケットを、ブロック内の転送ヘッダの部分を
読み飛ばして統合しながらポートへ送る。First, before writing the packet received from the network (port) to the buffer memory 33, the inside of the buffer memory 33 is divided into areas for each data block length in advance. Here, this divided area is called a block. An area equal to the transfer header length is secured at the beginning of each block, and control is performed so that no received packet is written in that area. When the packet received from the port is transferred to the block in the buffer memory 33, the received packet length is longer than (block length-transfer header length) × n (n is a natural number), and the packet needs to be divided into n + 1 blocks. If there is, the control circuit 32 divides the packet and stores it in an area other than the area in which the transfer header is written in the block. After that, the μP 31 adds a transfer header to the beginning of each block and the division is completed. After transferring the divided packets in the data block between the routing processors,
Contrary to the above processing, the control circuit 32 skips the transfer header portion in the block and sends the packet to the port while the packet is divided into blocks.
【0077】以上のように、パケットの分割/統合の処
理は、パケットをポートとバッファメモリの間で転送す
る際に制御回路32の各手段において処理される。As described above, the packet division / integration processing is performed by each means of the control circuit 32 when the packet is transferred between the port and the buffer memory.
【0078】上記転送ヘッダに含まれている宛先インタ
フェース番号は、パケットを受信する側のルーティング
プロセッサを示す物理的なアドレスやスロット番号では
なく、パケットを受信する側のルーティングプロセッサ
を示す論理的な番号と、そのパケットを実際にネットワ
ークへ送り出すポートを示す論理的な番号の組合せから
なっている。ポートを示す論理的な番号が含まれている
のは、1つのルーティングプロセッサに複数のポートが
接続されている場合にも宛先のポートに一意にデータを
転送するためである。このように、本実施例では、宛先
モジュールの論理的なアドレスを転送ヘッダに埋め込む
ことによって、データバスを使って論理的なアドレスを
送る構成としている。実際のルータバスでは、例えば、
制御データを送るためのアドレスバスを設けてもよい。
パケットを送信する側のルーティングプロセッサは、ま
ず、この制御用のアドレスバスとデータバスとを用い
て、受信する側のルーティングプロセッサに対してあら
かじめデータブロックを送信することを宣言しておい
て、次に、データバスのみを用いてデータブロックを送
る。その後、受信側のルーティングプロセッサは受信し
たデータブロックの転送ヘッダを見て、正しい宛先に転
送されていることを確認する。制御データを送る際のデ
ータバスとデータブロックを送る際のデータバスは別に
なっていても良い。The destination interface number included in the transfer header is not a physical address or slot number indicating the routing processor on the packet receiving side, but a logical number indicating the routing processor on the packet receiving side. And a logical number combination indicating the port that actually sends the packet to the network. The logical number indicating a port is included in order to uniquely transfer data to a destination port even when a plurality of ports are connected to one routing processor. As described above, in the present embodiment, the logical address of the destination module is embedded in the transfer header to send the logical address using the data bus. In a real router bus, for example,
An address bus may be provided for sending control data.
The routing processor on the side transmitting the packet first declares in advance that the data block is transmitted to the routing processor on the receiving side by using the address bus and the data bus for control, and then Then, the data block is sent using only the data bus. After that, the routing processor on the receiving side checks the transfer header of the received data block to confirm that it is transferred to the correct destination. The data bus for sending control data and the data bus for sending data blocks may be separate.
【0079】このような転送を実現するために、例え
ば、以下のような構成をとることもできる。すなわち、
メモリ33にデュアルポートD−RAMを用いて、ルー
ティングプロセッサ間の制御用のパスとパケット転送用
のパスとを分離してパケット転送用のバスを特化する。
これにより、ルーティングプロセッサ間のパケット転送
を高速化でき、ルータ装置全体の性能向上につながる。
図16に、制御用のパスとパケット転送用のパスとを分
離し、メモリ33にデュアルポートD−RAMを用いる
ことにより、パケット転送の高速化を図った場合のハー
ドウェア構成例を示す。図16に示したルーティングプ
ロセッサにおいては、デュアルポートD−RAMのシリ
アルアクセスポート(SAMポート)をパケット転送の
用途専用に用い、ランダムアクセスポート(RAMポー
ト)をその他の用途に用いる構成としている。In order to realize such transfer, for example, the following configuration can be adopted. That is,
A dual port D-RAM is used as the memory 33 to separate a control path and a packet transfer path between the routing processors to specialize a packet transfer bus.
As a result, the packet transfer between the routing processors can be speeded up, and the performance of the entire router device can be improved.
FIG. 16 shows a hardware configuration example in the case where the control path and the packet transfer path are separated, and the dual port D-RAM is used as the memory 33 to speed up the packet transfer. In the routing processor shown in FIG. 16, the serial access port (SAM port) of the dual port D-RAM is used exclusively for the purpose of packet transfer, and the random access port (RAM port) is used for other purposes.
【0080】図16において、転送時には、送信側ルー
ティングプロセッサのμP31が、パケットに転送ヘッ
ダを付加し、データブロックの形にする。この時、パケ
ット長がデータブロックの最大長よりも長ければ、パケ
ットを複数のデータブロックに分割する。その後、μP
31は、送信側ルーティングプロセッサの制御回路32
に対して、送信側ルーティングプロセッサのメモリ33
に転送すべきデータブロックが準備できたことを知らせ
る。これを受けて、送信側ルーティングプロセッサの制
御回路32は、受信側ルーティングプロセッサの制御回
路32に対してパケット転送することを通知した後、デ
ータブロックをDMAにより転送する。In FIG. 16, at the time of transfer, the μP31 of the transmission side routing processor adds a transfer header to the packet and forms it into a data block. At this time, if the packet length is longer than the maximum length of the data block, the packet is divided into a plurality of data blocks. After that, μP
31 is a control circuit 32 of the transmission side routing processor
To the memory 33 of the sender routing processor
Notify that the data block to be transferred is ready. In response to this, the control circuit 32 of the routing processor on the transmitting side notifies the control circuit 32 of the routing processor on the receiving side of the packet transfer, and then transfers the data block by DMA.
【0081】転送は、送信側ルーティングプロセッサと
受信側ルーティングプロセッサとのそれぞれのデュアル
ポートD−RAMのSAMポートどうしをルータバスで
直接接続し、送信側ルーティングプロセッサのSAMポ
ートからは読み出し、受信側ルーティングプロセッサの
SAMポートへは書き込みを互いに同期して行うことに
より実現できる。DMA転送の制御、および、SAMポ
ートの制御は、それぞれのルーティングプロセッサの制
御回路32が行う。SAMポートは、いったん初期化し
た後はデータを全て出力してしまうまではRAMポート
と独立して動作できるため、ルーティングプロセッサ間
のパケット転送と、メモリ33を使用するその他の処理
を並行して処理できるようになり全体の処理を高速化す
ることができる。なお、SAMポートの制御は、RAM
ポートの制御に比べ複雑であるが、パケット転送の単位
であるデータブロックの長さとしてSAMポートのバイ
ト数を設定すれば、デュアルポートD−RAMの制御を
比較的容易にすることができる。The transfer is performed by directly connecting the SAM ports of the dual port D-RAMs of the sending side routing processor and the receiving side routing processor with a router bus, reading from the SAM port of the sending side routing processor, and receiving side routing. This can be realized by writing data to the SAM port of the processor in synchronization with each other. The control circuit 32 of each routing processor controls the DMA transfer and the SAM port. Once initialized, the SAM port can operate independently of the RAM port until all data is output, so packet transfer between routing processors and other processing that uses the memory 33 are processed in parallel. It becomes possible to speed up the whole process. The SAM port is controlled by RAM
Although it is more complicated than the control of the port, if the number of bytes of the SAM port is set as the length of the data block which is the unit of packet transfer, the control of the dual port D-RAM can be relatively easy.
【0082】データブロックを全て転送し終わったら、
受信側ルーティングプロセッサの制御回路32は、受信
側ルーティングプロセッサのμP31にその旨通知す
る。これを受けて、μP31はメモリ33に格納されて
いるデータブロックから転送ヘッダを削除して、もし
も、1つのパケットが複数のデータブロックに分割され
ていたならば、再び1つのパケットに戻す。複数のデー
タブロックに分割されているか否かの判断は、転送ヘッ
ダに含まれている転送長の情報を参照することにより判
断する。もしくは、送出側のルーティングプロセッサに
おいて、転送データの分割時に、各データブロックにシ
リアルナンバーを付加し、最後のブロックにエンドマー
クを付加しておき、受信側のルーティングプロセッサで
はこれらの付加された情報を参照して分割されているブ
ロックを統合するようにしてもよい。その後、次ホップ
装置の物理アドレスを正しく書き替えるなどのプロトコ
ル処理を行った後、パケットはネットワークへ送出され
る。When all the data blocks have been transferred,
The control circuit 32 of the receiving side routing processor notifies the μP 31 of the receiving side routing processor to that effect. In response to this, the μP 31 deletes the transfer header from the data block stored in the memory 33, and if one packet is divided into a plurality of data blocks, returns it to one packet again. Whether or not the data block is divided into a plurality of data blocks is determined by referring to the transfer length information included in the transfer header. Alternatively, in the routing processor on the sending side, when dividing the transfer data, a serial number is added to each data block and an end mark is added to the last block, and the routing processor on the receiving side stores the added information. The divided blocks may be integrated with reference to each other. After that, after performing protocol processing such as correctly rewriting the physical address of the next hop device, the packet is sent to the network.
【0083】つぎに、図16に示した、制御用のパスと
パケット転送用のパスとを分離した場合のハードウェア
構成におけるDMA転送のアービトレーションのプロト
コルを、図17を参照して説明する。Next, the arbitration protocol for DMA transfer in the hardware configuration shown in FIG. 16 in which the control path and the packet transfer path are separated will be described with reference to FIG.
【0084】制御回路32は、データ転送制御を行うD
MA転送制御部321と、該制御回路32を有する他の
モジュールを送り先とするDMA転送の排他制御を行う
ための排他制御レジスタ322とを持つ。まず、送り側
モジュール3aのDMA制御部321は、ルータバス1
の制御用バスを用いて受け側モジュール3bの排他制御
レジスタ322を読み、モジュール3bに対してDMA
転送を行っているモジュールが無いことを確認する。そ
の後、送り側モジュール3aのDMA制御部321は、
排他制御レジスタ322に、モジュール3bに対しては
モジュール3aがDMA転送を行っているというフラグ
を書き込む。送り側モジュール3aの、DMA制御部3
21から受け側モジュール3bの排他制御レジスタ32
2に対する、読み出しから書き込みまでの一連のアクセ
スは、他のモジュールからのアクセスによって分割され
てはならない。これは、同一の受け側モジュールに対し
て複数の送り側モジュールからのDMA転送を同時に許
可してしまうことを防ぐためである。排他制御レジスタ
322のハードウェアの構造を、読み出しを行うことに
よって同時にフラグを書き込むようにしておくことで、
読み出しと書き込みとを同時に実行することもできる。
もしも、受け側モジュール3bに対して他のモジュール
がDMA転送を行っている途中であるならば、そのDM
A転送が終了するまで送り側モジュール3aは待つ。受
け側モジュール3bに対してDMA転送の実行を宣言し
た後は、送り側モジュール3aはルータバス1のデータ
転送専用バスを用いてDMA転送を行う。バス権のアー
ビトレーションは通常用いられているバスのアービトレ
ーションの手順と同じように行う。制御用バスとデータ
転送専用バスは独立して動作できる方が効率は良いが、
制御が複雑になるので独立して動作できなくても良い。
全てのデータ転送を終了した後、送り側モジュール3a
は受け側モジュール3bの排他制御レジスタ322にD
MA転送を行っているというフラグを消して、DMA転
送の終了を宣言する。このような手順を採ることによ
り、受け側モジュールに対してDMA転送を行う送り側
モジュールは1つに限定できるので、1つのパケットを
複数のデータブロックに分割して転送した場合でも、受
け側モジュールのバッファメモリ内部で複数の送り側モ
ジュールから転送されてきたデータブロックが混ざるこ
とが無い。これにより処理を単純化、高速化できる。The control circuit 32 controls the data transfer D
It has an MA transfer control unit 321 and an exclusive control register 322 for performing exclusive control of DMA transfer destined for another module having the control circuit 32. First, the DMA control unit 321 of the sending side module 3a uses the router bus 1
The exclusive control register 322 of the receiving side module 3b is read using the control bus of
Make sure that no module is transferring. After that, the DMA control unit 321 of the sending side module 3a
A flag that the module 3a is performing the DMA transfer is written in the exclusive control register 322 for the module 3b. The DMA control unit 3 of the sending side module 3a
21 to the exclusive control register 32 of the receiving side module 3b
A series of accesses from 2 to write to 2 must not be divided by accesses from other modules. This is to prevent the same receiver module from simultaneously permitting DMA transfer from a plurality of sender modules. By setting the hardware structure of the exclusive control register 322 so that the flags are written at the same time by performing reading,
Reading and writing can also be performed simultaneously.
If another module is in the process of performing a DMA transfer to the receiving side module 3b, the DM
The sending module 3a waits until the A transfer is completed. After declaring the execution of the DMA transfer to the receiving side module 3b, the sending side module 3a performs the DMA transfer using the data transfer dedicated bus of the router bus 1. The bus right arbitration is performed in the same manner as the bus arbitration procedure normally used. It is more efficient if the control bus and the data transfer bus can operate independently,
Since the control becomes complicated, it is not necessary to operate independently.
After all data transfer is completed, the sending module 3a
D in the exclusive control register 322 of the receiving module 3b
The flag indicating that the MA transfer is being performed is cleared, and the end of the DMA transfer is declared. By adopting such a procedure, it is possible to limit the number of sending side modules that perform the DMA transfer to the receiving side module. Therefore, even when one packet is divided into a plurality of data blocks and transferred, the receiving side module The data blocks transferred from a plurality of sending side modules are not mixed in the buffer memory of the above. This can simplify and speed up the process.
【0085】つぎに、ルータバス1を介してパケット受
信時のルーティングプロセッサの処理動作を受け側ルー
ティングプロセッサ3(c)を例にして説明する。Next, the processing operation of the routing processor when a packet is received via the router bus 1 will be described by taking the receiving side routing processor 3 (c) as an example.
【0086】受け側ルーティングプロセッサ3(c)
は、転送ヘッダとパケットとをメモリ33に受ける。な
お、図1においては、受け側のルーティングプロセッサ
3(c)の構成は省略してあるが、ルーティングプロセ
ッサ3(a)と同じ構成である。受け側ルーティングプ
ロセッサ3(c)は、送出インタフェースに合わせてパ
ケットの形式を変換する。例えば、前述ではFDDIフ
レームを例に説明した。ここで、送出インタフェースが
IEEE802.3(CSMA/CD)であるとする
と、IEEE802.3のフレーム形式に合わせて作
る。例えば、フレーム長がIEEE802.3のMTU
(Maximum Transfer Unit)を超えるパケットを他のル
ーティングプロセッサから受けた場合には、フレームを
フラグメントする必要がある。このようなフレームの加
工やその後の送信のための転送処理は、受け側ルーティ
ングプロセッサ3(c)のμP31が行う。また、必要
なアドレス情報は、受け側ルーティングプロセッサ3
(c)のルーティングアシスト部34から次のように得
る。Receiving side routing processor 3 (c)
Receives the transfer header and the packet in the memory 33. Although the configuration of the routing processor 3 (c) on the receiving side is omitted in FIG. 1, it is the same as that of the routing processor 3 (a). The receiving side routing processor 3 (c) converts the packet format according to the sending interface. For example, the FDDI frame has been described above as an example. Here, assuming that the transmission interface is IEEE802.3 (CSMA / CD), it is created in conformity with the frame format of IEEE802.3. For example, an MTU having a frame length of IEEE802.3
When a packet exceeding (Maximum Transfer Unit) is received from another routing processor, it is necessary to fragment the frame. The μP 31 of the receiving-side routing processor 3 (c) performs such frame processing and transfer processing for subsequent transmission. Also, the necessary address information is received by the receiving side routing processor 3
It is obtained from the routing assist unit 34 of (c) as follows.
【0087】受け側ルーティングプロセッサ3(c)に
おいて、必要なアドレス情報としては、次ホップ論理ア
ドレス(例:TCP/IPの場合IPアドレス)に対応
する物理アドレスがある。μP31は、転送ヘッダに含
まれる次ホップ論理アドレスをデュアルポートメモリ3
4316を介してμP341に渡す。図8に示すアドレ
ス解決テーブルが、前述のIP中継専用ルーティングテ
ーブルと同じように、図6に示すようなリスト構造でメ
モリ33に構築されている。μP341は、次ホップ論
理アドレスをキーにハッシュ値を求めて、前述のIP中
継専用ルーティングテーブルの検索と同様のアルゴリズ
ムで求めるエントリを得る。求めた物理アドレスをデュ
アルポートメモリ34316を介してμP31に返す。
なお、前述のIP中継専用ルーティングテーブルの検索
と同様、ハッシュ生成、リスト検索をハードウェアで処
理する回路を付加することによりμP341の負荷を軽
減できる。In the receiving side routing processor 3 (c), the necessary address information is the physical address corresponding to the next hop logical address (eg IP address in case of TCP / IP). The μP 31 transfers the next hop logical address included in the transfer header to the dual port memory 3
It is passed to the μP 341 via 4316. The address resolution table shown in FIG. 8 is constructed in the memory 33 in the list structure as shown in FIG. 6, like the above-mentioned IP relay dedicated routing table. The μP 341 obtains a hash value using the next hop logical address as a key, and obtains an entry obtained by the same algorithm as the above-mentioned search of the IP relay dedicated routing table. The obtained physical address is returned to the μP 31 via the dual port memory 34316.
As in the case of searching the routing table dedicated to IP relay described above, the load on the μP 341 can be reduced by adding a circuit for processing hash generation and list search by hardware.
【0088】μP31は、送出インタフェースに合わせ
て形式を変換したパケットの宛先物理アドレスを、ルー
ティングアシスト部34から得た物理アドレスに変更す
る。その後通信制御部にフレームを転送して送信する。
以上のようにして、パケットの中継を行う。The μP 31 changes the destination physical address of the packet whose format is converted according to the transmission interface to the physical address obtained from the routing assist unit 34. After that, the frame is transferred to the communication control unit and transmitted.
The packet is relayed as described above.
【0089】もしもアドレス解決テーブルに、必要な次
ホップ論理アドレスに対応する物理アドレスが登録され
ていなかった場合には、ルーティングプロセッサ3
(c)は、ARP(アドレス解決プロトコル)を用い
て、パケットを送出しようとしているネットワークに対
して問い合わせを行い、その結果、必要な物理アドレス
を得る。また、必要に応じてアドレス解決テーブルに問
い合わせの結果得た情報を登録する。このようにして物
理アドレスを得ることもできる。If the physical address corresponding to the required next hop logical address is not registered in the address resolution table, the routing processor 3
(C) uses ARP (Address Resolution Protocol) to make an inquiry to the network that is going to send the packet, and as a result, obtains the required physical address. In addition, the information obtained as a result of the inquiry is registered in the address resolution table as needed. In this way, the physical address can be obtained.
【0090】以上のように、ルーティングアシスト部3
4は、μP31の処理を軽減することによって性能向上
を図ることを狙ったルーティングアシスト手段と言うこ
とができる。従って、アシスト手段を備えずμP31の
みで処理を行うようにすることも可能であることは図2
で説明した。このような低コストのルータをまず実現し
ておいて、前述の実施例のようなアシスト手段を増設す
ることで性能向上を図った高速ルータを実現するアプロ
ーチをとることもできる。As described above, the routing assist unit 3
It can be said that 4 is a routing assist means aiming at improving the performance by reducing the processing of the μP 31. Therefore, it is also possible to perform the processing only by the μP31 without providing the assisting means.
Explained in. It is also possible to first realize such a low-cost router and then take the approach of realizing a high-speed router with improved performance by adding assisting means as in the above-described embodiment.
【0091】ここまでの実施例では、IPルーティング
の例を説明したが、OSIを始めとする他のプロトコル
のルーティングも同様に実現可能であることは言うまで
もない。また、同時に複数のプロトコルをサポートする
ことによりマルチプロトコルを実現することも可能であ
る。In the above embodiments, the example of IP routing has been described, but it goes without saying that routing of other protocols such as OSI can be similarly realized. It is also possible to realize a multi-protocol by supporting a plurality of protocols at the same time.
【0092】また、ブリッジフィルタリングもルーティ
ングアシスト部34でサポートすることにより、ブルー
タ装置を実現することも可能である。すなわち、ルーテ
ィングアシスト部34の解析処理手段は、出力先の解析
時に、記憶手段のルーティングテーブルに記憶している
宛先と、ネットワークからの情報の宛先とが一致するか
否かを判断し、一致している場合には、解析結果として
ルーティング情報を出力し、不一致の場合には、宛先が
不一致であることを出力し、転送処理手段は、転送処理
時に、該解析処理手段の出力が宛先が不一致である場合
においても、他のルーティングプロセッサに対して上記
ネットワークからの情報を転送する。これにより、宛先
が不一致のときにも、パケットを廃棄することなく他の
ルーティングプロセッサに転送することができる。Further, by supporting the bridge filtering also by the routing assist unit 34, it is possible to realize a brouter device. That is, the analysis processing unit of the routing assist unit 34 determines whether or not the destination stored in the routing table of the storage unit and the destination of the information from the network match at the time of analyzing the output destination, and they match. If it is, the routing information is output as the analysis result, and if the addresses do not match, it outputs that the destinations do not match, and the transfer processing means outputs the analysis processing means when the destinations do not match. Even in this case, the information from the network is transferred to another routing processor. As a result, even when the destinations do not match, the packet can be transferred to another routing processor without being discarded.
【0093】つぎに、図14にルータの実装例を示す。
ルータは、ベース基板と、ベース基板に実装される、複
数のルーティングプロセッサの基板とを有する。ベース
基板には、管理部2を備えるようにしてもよいし、実装
するようにしてもよい。ルーティングプロセッサの基板
は、ルータバス1のコネクタを介して接続される。例1
に示すように、ルーティングプロセッサの基板に通信制
御部を備えるようにしてもよい。また、ルーティングプ
ロセッサの基板には、ルーティングアシスト部34を付
加できる。もしくは、例2に示すように、ルーティング
プロセッサの基板に、通信制御部とルーティングアシス
ト部34とを付加できるようにしてもよい。このように
して、中低速ルータとして処理する場合には、ルーティ
ングアシスト部34を実装しないで処理し、高速ルータ
として性能向上させる場合には、ルーティングアシスト
部34を付加して並列処理することにより、より高速に
処理することができる。Next, FIG. 14 shows a mounting example of a router.
The router has a base substrate and a plurality of routing processor substrates mounted on the base substrate. The management unit 2 may be provided on the base board or may be mounted. The board of the routing processor is connected via the connector of the router bus 1. Example 1
As shown in, the communication controller may be provided on the board of the routing processor. Further, the routing assist unit 34 can be added to the substrate of the routing processor. Alternatively, as shown in Example 2, the communication control unit and the routing assist unit 34 may be added to the board of the routing processor. In this way, when processing as a medium to low speed router, processing is performed without mounting the routing assist unit 34, and when improving performance as a high speed router, the routing assist unit 34 is added and parallel processing is performed. It can be processed faster.
【0094】以上のように、本実施例によれば、受信パ
ケットのデータ転送をするパケット処理と、ヘッダ解析
による経路選択のルーティング処理との並列/分担処理
ができるので、高速ルータを実現することができる。ま
た、中低速ルータと高速ルータとの基本部を共通化する
ことができるので、開発コストが軽減できる。中低速ル
ータに、ルーティングアシストを付加することで高速ル
ータを実現することができるので、バージョンアップが
容易である。As described above, according to the present embodiment, since the packet processing for transferring the data of the received packet and the routing processing for the route selection by the header analysis can be performed in parallel / shared processing, a high speed router can be realized. You can Further, since the basic parts of the medium-low speed router and the high-speed router can be shared, the development cost can be reduced. Since a high-speed router can be realized by adding routing assist to the medium-low speed router, the version upgrade is easy.
【0095】さらに、ルーティングテーブルキャッシュ
を設けることにより、以前ルーティング処理を行った宛
先に対するルーティング情報が残っていれば、ルーティ
ングテーブルの検索を省略できるため高速にパケット中
継ができる。Further, by providing the routing table cache, the search of the routing table can be omitted if the routing information for the destination for which the routing processing has been performed previously remains, so that the packet can be relayed at high speed.
【0096】[0096]
【発明の効果】以上のように、本発明によれば、インタ
ネットワーク装置において、高速ルーティング処理を可
能とすることができ、性能向上が容易にできる。As described above, according to the present invention, it is possible to enable high-speed routing processing in an internetwork device and easily improve performance.
【図1】高速ルータの構成を示す構成図。FIG. 1 is a configuration diagram showing a configuration of a high-speed router.
【図2】中低速ルータの構成を示す構成図。FIG. 2 is a configuration diagram showing a configuration of a medium to low speed router.
【図3】ルーティングアシスト回路を示す構成図。FIG. 3 is a configuration diagram showing a routing assist circuit.
【図4】中継処理の流れを示す説明図。FIG. 4 is an explanatory diagram showing a flow of relay processing.
【図5】受信時に通信制御部から送られるIP ove
r FDDIのパケットの形式を示す説明図。FIG. 5 is an IP ove sent from the communication control unit when receiving.
r Explanatory drawing showing the format of an FDDI packet.
【図6】ルーティングテーブルの構成を示す説明図。FIG. 6 is an explanatory diagram showing a configuration of a routing table.
【図7】IP中継専用ルーティングテーブルのデータ構
造を示す説明図。FIG. 7 is an explanatory diagram showing a data structure of an IP relay dedicated routing table.
【図8】アドレス解決テーブルのデータ構造を示す説明
図。FIG. 8 is an explanatory diagram showing a data structure of an address resolution table.
【図9】ルーティングプロセッサ間のパケット転送形式
を示す説明図。FIG. 9 is an explanatory diagram showing a packet transfer format between routing processors.
【図10】ルーティングテーブルキャッシュの構成例を
示す説明図。FIG. 10 is an explanatory diagram showing a configuration example of a routing table cache.
【図11】ルーティングテーブルの検索を行う回路構成
図。FIG. 11 is a circuit configuration diagram for searching a routing table.
【図12】ルーティングテーブルの検索のフローチャー
ト。FIG. 12 is a flowchart for searching a routing table.
【図13】ヘッダ解析部の構成図。FIG. 13 is a configuration diagram of a header analysis unit.
【図14】ルータの実装例を示す説明図。FIG. 14 is an explanatory diagram showing a mounting example of a router.
【図15】パケットを複数のデータブロックに分割する
場合の説明図。FIG. 15 is an explanatory diagram when a packet is divided into a plurality of data blocks.
【図16】メモリ33にデュアルポートD−RAMを用
いる場合の構成図。FIG. 16 is a configuration diagram when a dual port D-RAM is used as the memory 33.
【図17】DMA転送のアービトレーションの説明図。FIG. 17 is an explanatory diagram of arbitration of DMA transfer.
1…ルータバス、2…管理部、3…ルーティングプロセ
ッサ、31…マイクロプロセッサ、32…制御回路、3
3…メモリ、34…ルーティングアシスト部、341…
マイクロプロセッサ、342…メモリ、343…ルーテ
ィングアシスト回路、51〜53、61〜63…通信制
御部。DESCRIPTION OF SYMBOLS 1 ... Router bus, 2 ... Management part, 3 ... Routing processor, 31 ... Microprocessor, 32 ... Control circuit, 3
3 ... memory, 34 ... routing assisting section, 341 ...
Microprocessor, 342 ... Memory, 343 ... Routing assist circuit, 51-53, 61-63 ... Communication control section.
───────────────────────────────────────────────────── フロントページの続き (72)発明者 大西 勝善 神奈川県横浜市戸塚区吉田町292番地 株 式会社日立製作所マイクロエレクトロニク ス機器開発研究所内 (72)発明者 佐藤 博 神奈川県海老名市下今泉810番地 株式会 社日立製作所オフィスシステム事業部内 (72)発明者 塚越 雅人 神奈川県川崎市麻生区王禅寺1099 株式会 社日立製作所システム開発研究所内 (72)発明者 横山 達也 神奈川県川崎市麻生区王禅寺1099 株式会 社日立製作所システム開発研究所内 (72)発明者 村上 俊彦 神奈川県川崎市麻生区王禅寺1099 株式会 社日立製作所システム開発研究所内 ─────────────────────────────────────────────────── ─── Continuation of the front page (72) Inventor Katsuyoshi Onishi, 292 Yoshida-cho, Totsuka-ku, Yokohama, Kanagawa Kanagawa Microelectronics Development Laboratory (72) Inventor Hiroshi Sato Imai Shimoizumi, Ebina, Kanagawa 810 Incorporated Hitachi, Ltd. Office Systems Division (72) Inventor Masato Tsukagoshi 1099 Ozenji, Aso-ku, Kawasaki, Kanagawa Hitachi, Ltd. System Development Laboratory (72) Inventor Toshihiko Murakami 1099 Ozenji, Aso-ku, Kawasaki City, Kanagawa Prefecture Hitachi System Development Laboratory
Claims (14)
ネットワークからの情報を他のネットワークに中継する
インタネットワーク装置において、 各々のネットワークに対応して設けられ、該ネットワー
クからの情報を当該情報の宛先に基づいて中継する中継
処理部を有し、 上記中継処理部は、宛先に対応して中継経路情報を記憶
している記憶手段と、該記憶手段を参照し、ネットワー
クからの情報の宛先を解析して解析結果を出力する解析
処理手段と、該解析処理手段の出力に基づいて対応する
他の中継処理部に対して上記ネットワークからの情報を
転送する転送処理手段とを備えることを特徴とするイン
タネットワーク装置。1. An internetwork device for connecting a plurality of networks to each other and relaying information from one network to another network, which is provided corresponding to each network, and the information from the network is associated with the information. A relay processing unit that relays the relay route information based on the destination, the relay processing unit refers to the storage unit that stores the relay route information corresponding to the destination, And a transfer processing unit for transferring the information from the network to another corresponding relay processing unit based on the output of the analysis processing unit. Internetwork equipment.
記転送処理手段とは、並列処理することを特徴とするイ
ンタネットワーク装置。2. The internetwork apparatus according to claim 1, wherein the analysis processing means and the transfer processing means perform parallel processing.
上記解析結果として中継経路情報を出力し、 上記転送処理手段は、上記解析処理手段の中継経路情報
を上記ネットワークからの情報に付加して転送すること
を特徴とするインタネットワーク装置。3. The analysis processing means according to claim 2,
An internetwork apparatus, wherein relay path information is output as the analysis result, and the transfer processing means adds the relay path information of the analysis processing means to information from the network and transfers the information.
中継経路情報として当該中継処理部の出力先のネットワ
ークに関する識別情報をさらに記憶し、 上記転送処理手段は、他の中継処理部からの転送された
情報を受信し、 上記解析処理手段は、転送された情報に付加されている
中継経路情報および上記記憶手段の出力先のネットワー
クに関する識別情報に基づいて出力先を解析し、 上記転送処理手段は、他の中継処理部からの転送された
情報を、上記解析処理手段で解析した出力先のネットワ
ークに対して出力することを特徴とするインタネットワ
ーク装置。4. The storage means according to claim 3, further storing identification information regarding a network of an output destination of the relay processing section as the relay route information, and the transfer processing means from another relay processing section. Upon receiving the transferred information, the analysis processing means analyzes the output destination based on the relay route information added to the transferred information and the identification information on the output destination network of the storage means, and the transfer processing is performed. The means outputs the information transferred from the other relay processing section to the output destination network analyzed by the analysis processing means, the internetwork apparatus.
出力先の解析時に、上記記憶手段に記憶している宛先
と、ネットワークからの情報の宛先とが一致するか否か
を判断し、一致している場合には、解析結果を出力し、 上記転送処理手段は、転送処理時に、上記解析処理手段
の出力が宛先が不一致である場合においても、他の中継
処理部に対して上記ネットワークからの情報を転送する
ことを特徴とするインタネットワーク装置。5. The analysis processing means according to claim 1,
When the output destination is analyzed, it is determined whether the destination stored in the storage means and the destination of information from the network match. If they match, the analysis result is output and the transfer is performed. An internetwork device characterized in that the processing means transfers information from the network to another relay processing unit even when the output of the analysis processing means does not match the destination during the transfer processing.
記解析処理手段と上記転送処理手段とが読み書きできる
共有記憶手段をさらに有し、 該共有記憶手段は、上記解析処理手段で解析した宛先に
対応する中継経路情報を記憶することを特徴とするイン
タネットワーク装置。6. The relay processing unit according to claim 2, further comprising a shared storage unit that can be read and written by the analysis processing unit and the transfer processing unit, and the shared storage unit is analyzed by the analysis processing unit. An internetwork device which stores relay route information corresponding to a destination.
記共有記憶手段に記憶している宛先と、新たに受信した
ネットワークからの情報の宛先とが一致するか否かを判
断する判断手段をさらに有し、 上記解析処理手段は、上記判断手段により一致しないと
判断した場合には、上記解析処理を行い、上記判断手段
により一致したと判断した場合には、上記共有記憶手段
に記憶されている中継経路情報に対して再利用できない
中継経路情報のみを書き替える処理をすることを特徴と
するインタネットワーク装置。7. The determination unit according to claim 6, wherein the relay processing unit determines whether or not the destination stored in the shared storage unit and the destination of the information newly received from the network match. The analysis processing means further performs the analysis processing when the determination means determines that they do not match, and stores the shared storage means when the determination means determines that they match. An internetwork device characterized by performing processing for rewriting only relay route information that cannot be reused for existing relay route information.
ネットワークからの情報の宛先を解析して解析結果を出
力する機能をさらに有することを特徴とするインタネッ
トワーク装置。8. The transfer processing means according to claim 1,
An internetwork device further having a function of analyzing a destination of information from a network and outputting an analysis result.
ットワークからの情報を蓄積する蓄積手段と、ネットワ
ークからの情報の宛先を保持する保持手段とをさらに有
し、 上記解析処理手段は、上記保持手段に保持した宛先を解
析し、 上記転送処理手段は、上記蓄積手段に蓄積した情報を転
送することを特徴とするインタネットワーク装置。9. The relay processing unit according to claim 2, further comprising a storage unit for storing information from the network and a holding unit for holding a destination of the information from the network, wherein the analysis processing unit comprises: An internetwork apparatus, characterized in that the destination held in the holding means is analyzed, and the transfer processing means transfers the information accumulated in the accumulating means.
先を表す数値に基づいて、予め定めたハッシング関数に
基づいた値をアドレスにして用い、 上記解析処理手段は、上記記憶手段参照時に、宛先を表
す数値に基づいて、ハッシング値を求めて参照すること
を特徴とするインタネットワーク装置。10. The storage means according to claim 1, wherein a value based on a predetermined hashing function is used as an address based on a numerical value representing a destination, and the analysis processing means, when referring to the storage means, An internetwork device characterized by obtaining and referring to a hashing value based on a numerical value representing a destination.
ネットワークに接続するポートを複数備え、 上記記憶手段は、宛先に対応する中継処理部の論理識別
番号と、上記中継処理部のポートの論理識別情報とを中
継経路情報として記憶し、 上記解析処理手段は、上記解析結果として、上記中継経
路情報を出力し、 上記転送処理手段は、他の中継処理部からの転送された
情報を、上記解析処理手段により出力された中継経路情
報を付加して出力先のネットワークに対して出力するこ
とを特徴とするインタネットワーク装置。11. The relay processing unit according to claim 1,
A plurality of ports connected to the network are provided, and the storage unit stores the logical identification number of the relay processing unit corresponding to the destination and the logical identification information of the port of the relay processing unit as relay route information, and the analysis processing unit. Outputs the relay route information as the analysis result, and the transfer processing unit outputs the information transferred from another relay processing unit by adding the relay route information output by the analysis processing unit. An internetwork device which outputs to the preceding network.
のネットワークからの情報を他のネットワークに中継す
るインタネットワーク装置において、 各々のネットワークに対応して設けられ、一のネットワ
ークからの情報を宛先に基づいて中継する中継処理部を
有し、 上記中継処理部は、宛先に対応して中継経路を記憶して
いる記憶手段と、該記憶手段を参照し、ネットワークか
らの情報の宛先を解析して解析結果を出力する第1のプ
ロセッサと、該第1のプロセッサの解析結果に基づいて
対応する他の中継処理部に対して上記ネットワークから
の情報を転送する第2のプロセッサとを備えることを特
徴とするインタネットワーク装置。12. An internetwork device for connecting a plurality of networks to each other and relaying information from one network to another network, the internetwork device being provided corresponding to each network and receiving the information from the one network as a destination. Has a relay processing unit that relays based on the above, the relay processing unit refers to the storage unit that stores the relay route corresponding to the destination, and analyzes the destination of the information from the network by referring to the storage unit. And a second processor for outputting information from the network to another corresponding relay processing unit based on the analysis result of the first processor. Characterized internetwork device.
のネットワークからの情報を他のネットワークに中継す
るインタネットワーク装置に搭載され、各々のネットワ
ークに対応して設けられる中継処理回路であって、 該中継処理回路は、宛先に対応して中継経路を記憶して
いる記憶手段と、該記憶手段を参照し、ネットワークか
らの情報の宛先を解析して解析結果を出力する第1のプ
ロセッサと、該第1のプロセッサの解析結果に基づいて
対応する他の中継処理部に対して上記ネットワークから
の情報を転送する第2のプロセッサとを備えることを特
徴とする中継処理回路。13. A relay processing circuit which is mounted on an internetwork device for connecting a plurality of networks to each other and relaying information from one network to another network, the relay processing circuit provided corresponding to each network, The relay processing circuit includes a storage unit that stores a relay route corresponding to a destination, a first processor that refers to the storage unit, analyzes a destination of information from a network, and outputs an analysis result, A relay processing circuit comprising: a second processor that transfers information from the network to another corresponding relay processing unit based on an analysis result of the first processor.
を相互に接続し、一のネットワークからの情報を他のネ
ットワークに中継するインタネットワーク装置とを有す
るネットワークシステムにおいて、 上記インタネットワーク装置は、上記ネットワークから
の情報を宛先に基づいて中継する中継処理部を各々のネ
ットワークに対応して有し、該中継処理部は、バスによ
りそれぞれ接続され、 上記中継処理部は、ネットワークからの情報の宛先を解
析して解析結果を出力する解析処理と、該解析処理手段
の解析結果に基づいて対応する他の中継処理部に対して
上記ネットワークからの情報を転送する転送処理とを分
散処理することを特徴とするネットワークシステム。14. A network system comprising a plurality of networks and an internetwork device which connects the networks to each other and relays information from one network to another network, wherein the internetwork device is connected from the network. Has a relay processing unit for relaying the information on the basis of the destination corresponding to each network, the relay processing units are respectively connected by a bus, and the relay processing unit analyzes the destination of the information from the network. And a transfer process for transferring information from the network to another corresponding relay processing unit based on the analysis result of the analysis processing means are distributedly processed. Network system.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5162444A JPH06197111A (en) | 1992-10-26 | 1993-06-30 | Internetwork equipment |
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4-287765 | 1992-10-26 | ||
| JP28776592 | 1992-10-26 | ||
| JP5162444A JPH06197111A (en) | 1992-10-26 | 1993-06-30 | Internetwork equipment |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH06197111A true JPH06197111A (en) | 1994-07-15 |
Family
ID=26488240
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP5162444A Pending JPH06197111A (en) | 1992-10-26 | 1993-06-30 | Internetwork equipment |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH06197111A (en) |
Cited By (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2005539456A (en) * | 2002-09-18 | 2005-12-22 | コリア エレクトロニクス テクノロジ インスティチュート | Method and apparatus for integrating heterogeneous network protocol and multimedia data |
| JP2006313949A (en) * | 2005-05-06 | 2006-11-16 | Hitachi Ltd | Packet transfer device |
| JP2007525883A (en) * | 2004-01-14 | 2007-09-06 | リヴァーストーン ネットワークス インコーポレーテッド | Processing usage management in network nodes |
| JP2008125116A (en) * | 2003-01-07 | 2008-05-29 | Intel Corp | Apparatus and method for configuring data plane behavior on network forwarding elements |
| JP2009165159A (en) * | 2009-03-11 | 2009-07-23 | Hitachi Ltd | Network relay device |
| WO2011148925A1 (en) * | 2010-05-24 | 2011-12-01 | 日本電気株式会社 | Semiconductor device and network routing method and system |
| US8139576B2 (en) | 2000-01-26 | 2012-03-20 | Hitachi, Ltd. | Network routing apparatus |
-
1993
- 1993-06-30 JP JP5162444A patent/JPH06197111A/en active Pending
Cited By (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8139576B2 (en) | 2000-01-26 | 2012-03-20 | Hitachi, Ltd. | Network routing apparatus |
| JP2005539456A (en) * | 2002-09-18 | 2005-12-22 | コリア エレクトロニクス テクノロジ インスティチュート | Method and apparatus for integrating heterogeneous network protocol and multimedia data |
| JP2008125116A (en) * | 2003-01-07 | 2008-05-29 | Intel Corp | Apparatus and method for configuring data plane behavior on network forwarding elements |
| JP2007525883A (en) * | 2004-01-14 | 2007-09-06 | リヴァーストーン ネットワークス インコーポレーテッド | Processing usage management in network nodes |
| JP2006313949A (en) * | 2005-05-06 | 2006-11-16 | Hitachi Ltd | Packet transfer device |
| JP2009165159A (en) * | 2009-03-11 | 2009-07-23 | Hitachi Ltd | Network relay device |
| WO2011148925A1 (en) * | 2010-05-24 | 2011-12-01 | 日本電気株式会社 | Semiconductor device and network routing method and system |
| JPWO2011148925A1 (en) * | 2010-05-24 | 2013-07-25 | 日本電気株式会社 | Semiconductor device and network routing method and system |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3645734B2 (en) | Network relay device and network relay method | |
| US6683885B1 (en) | Network relaying apparatus and network relaying method | |
| JP4115721B2 (en) | Classification and tagging rules for switching nodes | |
| US5434863A (en) | Internetworking apparatus for connecting plural network systems and communication network system composed of plural network systems mutually connected | |
| US7016352B1 (en) | Address modification within a switching device in a packet-switched network | |
| JP4481517B2 (en) | Internetwork apparatus and internetwork method | |
| US7606148B2 (en) | Packet forwarding apparatus | |
| US7616646B1 (en) | Intraserver tag-switched distributed packet processing for network access servers | |
| JP3113742B2 (en) | Internetwork equipment | |
| US7764672B2 (en) | Packet communication device | |
| JP2001045061A (en) | Communication node device | |
| JPH0818571A (en) | ATM-LAN, server, and ATM address management method | |
| JP4182180B2 (en) | Network relay device and network relay method | |
| JP2002508124A (en) | Mechanism for replacing packet fields in multilayer switching network elements | |
| KR20040075296A (en) | Distributed router with ping-pong preventing function and ping-pong preventing method using the same | |
| JPH06197111A (en) | Internetwork equipment | |
| JP3645735B2 (en) | Network relay device and network relay method | |
| JP3645733B2 (en) | Network relay device and network relay method | |
| JP3228249B2 (en) | Router device | |
| KR100258264B1 (en) | Layer 3 routing method and device using Ethernet switch | |
| JP3352073B2 (en) | Internetwork equipment | |
| JP3475192B2 (en) | Internetwork equipment and router | |
| JP3435130B2 (en) | Internetwork equipment | |
| JP4029708B2 (en) | Router device and transfer control method | |
| JPH10145417A (en) | Internetwork equipment |