JPH06197111A - インタネットワーク装置 - Google Patents
インタネットワーク装置Info
- 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とを備える。
する。 【構成】複数のネットワークを相互に接続し、一のネッ
トワークからの情報を他のネットワークに中継するイン
タネットワーク装置において、各々のネットワークに対
応して設けられ、該ネットワークからの情報を宛先に基
づいて中継する中継処理部3を有し、上記中継処理部
は、宛先に対応して中継経路情報を記憶している記憶手
段342と、該記憶手段342を参照し、ネットワーク
からの情報の宛先を解析して解析結果を出力する解析処
理手段343と、該解析処理手段343の解析結果に基
づいて対応する他の中継処理部に対して上記ネットワー
クからの情報を転送する転送処理手段31とを備える。
Description
【0001】
【産業上の利用分野】本発明は、複数のネットワークを
相互接続するためのインタネットワーク装置の中継処理
と、インタネットワークシステムとに関するものであ
る。
相互接続するためのインタネットワーク装置の中継処理
と、インタネットワークシステムとに関するものであ
る。
【0002】
【従来の技術】従来、ルータやゲートウェイなどのイン
ターネットワーク装置は、ネットワークに接続するため
の、各ネットワークに対応して設けられる通信ポート
と、各ネットワークのプロトコルに従ったルーティング
処理を行うプロセッサとを有する構成をとる。ルーティ
ング処理は、以下のように行う。
ターネットワーク装置は、ネットワークに接続するため
の、各ネットワークに対応して設けられる通信ポート
と、各ネットワークのプロトコルに従ったルーティング
処理を行うプロセッサとを有する構成をとる。ルーティ
ング処理は、以下のように行う。
【0003】一方のネットワークに接続される通信ポー
トから受信したパケットをバッファに格納し、プロセッ
サが該パケットの宛先アドレスを解析し、宛先装置また
は宛先装置が接続された方向のインターネットワーク装
置を検知し、該パケットを送出する通信ポートを選択す
ることにより、ルーティング処理を施す。さらに、その
パケットを該当するポートから送出することによりパケ
ットの中継を行う。
トから受信したパケットをバッファに格納し、プロセッ
サが該パケットの宛先アドレスを解析し、宛先装置また
は宛先装置が接続された方向のインターネットワーク装
置を検知し、該パケットを送出する通信ポートを選択す
ることにより、ルーティング処理を施す。さらに、その
パケットを該当するポートから送出することによりパケ
ットの中継を行う。
【0004】また、インタネットワーク装置では、種々
のネットワークをサポートする必要があるため、例え
ば、IEEE802.3のような10Mbps程度から
FDDI(Fiber Distributed Data Interfase)のよう
な100Mbps程度まで、さらには、ATM(Asynchr
onous Transfer Mode)のような155Mbpsから2.
4Gbpsまで種々の通信ポートを用意することにな
る。
のネットワークをサポートする必要があるため、例え
ば、IEEE802.3のような10Mbps程度から
FDDI(Fiber Distributed Data Interfase)のよう
な100Mbps程度まで、さらには、ATM(Asynchr
onous Transfer Mode)のような155Mbpsから2.
4Gbpsまで種々の通信ポートを用意することにな
る。
【0005】ネットワーク間をルーティングする技術は
いくつかの種類があり、例えばIPプロトコル(Intern
et Protocol)がよく知られている。このIPプロトコ
ルでは、インタネットワーキング用論理アドレスとして
IPアドレスを用いる。そして、宛先IPアドレスと、
宛先装置または宛先装置が接続された方向のインターネ
ットワーク装置の物理(MAC:Media Access Contro
l)アドレスを記述している経路情報テーブルを持ち、
これを参照してルーティングを行うことができる。
いくつかの種類があり、例えばIPプロトコル(Intern
et Protocol)がよく知られている。このIPプロトコ
ルでは、インタネットワーキング用論理アドレスとして
IPアドレスを用いる。そして、宛先IPアドレスと、
宛先装置または宛先装置が接続された方向のインターネ
ットワーク装置の物理(MAC:Media Access Contro
l)アドレスを記述している経路情報テーブルを持ち、
これを参照してルーティングを行うことができる。
【0006】ルーティングを高速に行う技術としては、
例えば、特開平3−132131号公報に記載のよう
に、パケットを受け入れる前にヘッダ部分を読み出して
宛先を決定することにより効率的にルーティングを行う
ようにしている。
例えば、特開平3−132131号公報に記載のよう
に、パケットを受け入れる前にヘッダ部分を読み出して
宛先を決定することにより効率的にルーティングを行う
ようにしている。
【0007】また、受信フレームの認識を高速に行う技
術としては、例えば、特開平2−238544号公報に
記載のように、既に受信したフレームまたは自局が送信
したフレームの種別に基づいて、次回受信するフレーム
の種別を予測し、受信フレームのヘッダ部処理を準備す
ることにより、フレーム受信処理を高速化している。さ
らに、受信したパケットデータを、受信側ルーティング
プロセッサから送信側ルーティングプロセッサへ転送す
る際の技術としては、例えば、特開昭62−82747
号公報(特公平4−48302号公報)に記載されてい
る技術がある。該従来技術では、複数の回線制御装置を
備える分散型のパケット交換システムであって、入り回
線から受信した各パケットの論理チャネル番号と、該パ
ケットを送出する出回線の回線番号および論理チャネル
番号とをパケット交換制御テーブルに記憶しておき、入
り回線を受信した回線制御装置側で、ヘッダ情報を、転
送先の出回線の回線番号および論理チャネル番号に更新
し、ネットワークに送出している。すなわち、受信側の
回線制御装置でパケットヘッダの更新処理を行い、送信
側ポートの論理的な識別番号を含んだ転送ヘッダを付加
した後、回線制御装置間のデータ転送を行うためのデー
タパスに転送データをのせている。
術としては、例えば、特開平2−238544号公報に
記載のように、既に受信したフレームまたは自局が送信
したフレームの種別に基づいて、次回受信するフレーム
の種別を予測し、受信フレームのヘッダ部処理を準備す
ることにより、フレーム受信処理を高速化している。さ
らに、受信したパケットデータを、受信側ルーティング
プロセッサから送信側ルーティングプロセッサへ転送す
る際の技術としては、例えば、特開昭62−82747
号公報(特公平4−48302号公報)に記載されてい
る技術がある。該従来技術では、複数の回線制御装置を
備える分散型のパケット交換システムであって、入り回
線から受信した各パケットの論理チャネル番号と、該パ
ケットを送出する出回線の回線番号および論理チャネル
番号とをパケット交換制御テーブルに記憶しておき、入
り回線を受信した回線制御装置側で、ヘッダ情報を、転
送先の出回線の回線番号および論理チャネル番号に更新
し、ネットワークに送出している。すなわち、受信側の
回線制御装置でパケットヘッダの更新処理を行い、送信
側ポートの論理的な識別番号を含んだ転送ヘッダを付加
した後、回線制御装置間のデータ転送を行うためのデー
タパスに転送データをのせている。
【0008】
【発明が解決しようとする課題】前述した従来技術は、
以下の点について問題点がある。
以下の点について問題点がある。
【0009】上記特開平3−132131号公報に記載
されている、一旦パケットを蓄積しないで直接宛先ノー
ドへ送るという方式では、特化した単純なルーティング
制御方法では有効であるが、大容量の経路情報テーブル
を検索して経路決定を行い、かつ宛先MACアドレスの
付け替え等パケットの加工処理を行うような複雑なルー
ティングはできない。
されている、一旦パケットを蓄積しないで直接宛先ノー
ドへ送るという方式では、特化した単純なルーティング
制御方法では有効であるが、大容量の経路情報テーブル
を検索して経路決定を行い、かつ宛先MACアドレスの
付け替え等パケットの加工処理を行うような複雑なルー
ティングはできない。
【0010】さらに、従来技術では、低速通信向けと高
速通信向けのルーティング処理の共通化がされていない
ので、それぞれの速度に合わせてルーティング処理を行
っている。このため、システムを低速通信向けから高速
通信向けへ性能向上させようとする場合には、あまり考
慮がなされていないため高速通信向けのルーティング処
理を新たに付加しなければならない。
速通信向けのルーティング処理の共通化がされていない
ので、それぞれの速度に合わせてルーティング処理を行
っている。このため、システムを低速通信向けから高速
通信向けへ性能向上させようとする場合には、あまり考
慮がなされていないため高速通信向けのルーティング処
理を新たに付加しなければならない。
【0011】さらに、特開平3−132131号公報に
記載されている従来技術では、個々のパケットのルーテ
ィングを高速化するには有効であり、また、特開平2−
238544号公報に記載の従来技術では、通信プロト
コルの性質から次に受信するパケットのヘッダを予測す
ることによりパケット処理を高速化するために有効であ
る。しかし、過去にルーティングを行ったパケットと同
じ宛先のパケットをルーティングする必要が生じた場合
にも、再び過去と同じ手続きで経路情報の検索を行わな
ければならず、処理に無駄がある。
記載されている従来技術では、個々のパケットのルーテ
ィングを高速化するには有効であり、また、特開平2−
238544号公報に記載の従来技術では、通信プロト
コルの性質から次に受信するパケットのヘッダを予測す
ることによりパケット処理を高速化するために有効であ
る。しかし、過去にルーティングを行ったパケットと同
じ宛先のパケットをルーティングする必要が生じた場合
にも、再び過去と同じ手続きで経路情報の検索を行わな
ければならず、処理に無駄がある。
【0012】また、上記特開昭62−82747号公報
に記載の従来技術では、受信側回線制御装置においてル
ーティング処理をすべて行った後で、送信側回線制御装
置の論理的な識別番号(回線番号:RNに相当する。)
を含んだ転送ヘッダをパケットに付加して、送信側回線
制御装置へパケットを送る方法をとっている。該従来技
術のパケット交換システムでは、1つの回線制御装置に
1本の回線のみが接続するため、出回線の回線番号は送
信側の回線制御装置を表すことができるが、回線制御装
置が複数の出回線(ネットワークインタフェースポー
ト)をもっている場合に、回線制御装置のどの出回線に
対してパケットを送ればよいのかは送信側の回線制御装
置では認識することができない。この出回線を特定する
方法については、該従来技術では述べられていない。
に記載の従来技術では、受信側回線制御装置においてル
ーティング処理をすべて行った後で、送信側回線制御装
置の論理的な識別番号(回線番号:RNに相当する。)
を含んだ転送ヘッダをパケットに付加して、送信側回線
制御装置へパケットを送る方法をとっている。該従来技
術のパケット交換システムでは、1つの回線制御装置に
1本の回線のみが接続するため、出回線の回線番号は送
信側の回線制御装置を表すことができるが、回線制御装
置が複数の出回線(ネットワークインタフェースポー
ト)をもっている場合に、回線制御装置のどの出回線に
対してパケットを送ればよいのかは送信側の回線制御装
置では認識することができない。この出回線を特定する
方法については、該従来技術では述べられていない。
【0013】本発明の目的は、上記従来技術の問題を解
決するために、高速ルーティング処理を可能とするイン
タネットワーク装置を提供することにある。
決するために、高速ルーティング処理を可能とするイン
タネットワーク装置を提供することにある。
【0014】
【課題を解決するための手段】本発明は、複数のネット
ワークを相互に接続し、一のネットワークからの情報を
他のネットワークに中継するインタネットワーク装置に
おいて、各々のネットワークに対応して設けられ、該ネ
ットワークからの情報を当該情報の宛先に基づいて中継
する中継処理部を有し、上記中継処理部は、宛先に対応
して中継経路情報を記憶している記憶手段と、該記憶手
段を参照し、ネットワークからの情報の宛先を解析して
解析結果を出力する解析処理手段と、該解析処理手段の
出力に基づいて対応する他の中継処理部に対して上記ネ
ットワークからの情報を転送する転送処理手段とを備え
る。上記解析処理手段と上記転送処理手段とは、並列処
理する。上記解析処理手段は、解析結果として中継経路
情報を出力し、上記転送処理手段は、上記解析処理手段
の中継経路情報を上記ネットワークからの情報に付加し
て転送する。上記記憶手段は、上記中継経路情報として
当該中継処理部の出力先のネットワークに関する識別情
報をさらに記憶し、上記転送処理手段は、他の中継処理
部からの転送された情報を受信し、上記解析処理手段
は、転送された情報に付加されている中継経路情報およ
び上記記憶手段の出力先に関する識別情報に基づいて出
力先を解析し、上記転送処理手段は、他の中継処理部か
らの転送された情報を、上記解析処理手段で解析した出
力先のネットワークに対して出力する。
ワークを相互に接続し、一のネットワークからの情報を
他のネットワークに中継するインタネットワーク装置に
おいて、各々のネットワークに対応して設けられ、該ネ
ットワークからの情報を当該情報の宛先に基づいて中継
する中継処理部を有し、上記中継処理部は、宛先に対応
して中継経路情報を記憶している記憶手段と、該記憶手
段を参照し、ネットワークからの情報の宛先を解析して
解析結果を出力する解析処理手段と、該解析処理手段の
出力に基づいて対応する他の中継処理部に対して上記ネ
ットワークからの情報を転送する転送処理手段とを備え
る。上記解析処理手段と上記転送処理手段とは、並列処
理する。上記解析処理手段は、解析結果として中継経路
情報を出力し、上記転送処理手段は、上記解析処理手段
の中継経路情報を上記ネットワークからの情報に付加し
て転送する。上記記憶手段は、上記中継経路情報として
当該中継処理部の出力先のネットワークに関する識別情
報をさらに記憶し、上記転送処理手段は、他の中継処理
部からの転送された情報を受信し、上記解析処理手段
は、転送された情報に付加されている中継経路情報およ
び上記記憶手段の出力先に関する識別情報に基づいて出
力先を解析し、上記転送処理手段は、他の中継処理部か
らの転送された情報を、上記解析処理手段で解析した出
力先のネットワークに対して出力する。
【0015】上記解析処理手段は、出力先の解析時に、
上記記憶手段に記憶している宛先と、ネットワークから
の情報の宛先とが一致するか否かを判断し、一致してい
る場合には、解析結果を出力し、上記転送処理手段は、
転送処理時に、上記解析処理手段の出力が宛先が不一致
である場合においても、他の中継処理部に対して上記ネ
ットワークからの情報を転送することができる。
上記記憶手段に記憶している宛先と、ネットワークから
の情報の宛先とが一致するか否かを判断し、一致してい
る場合には、解析結果を出力し、上記転送処理手段は、
転送処理時に、上記解析処理手段の出力が宛先が不一致
である場合においても、他の中継処理部に対して上記ネ
ットワークからの情報を転送することができる。
【0016】上記中継処理部は、上記解析処理手段と上
記転送処理手段とが読み書きできる共有記憶手段をさら
に有し、該共有記憶手段は、上記解析処理手段で解析し
た宛先に対応する中継経路情報を記憶することができ
る。
記転送処理手段とが読み書きできる共有記憶手段をさら
に有し、該共有記憶手段は、上記解析処理手段で解析し
た宛先に対応する中継経路情報を記憶することができ
る。
【0017】上記中継処理部は、上記共有記憶手段に記
憶している宛先と、新たに受信したネットワークからの
情報の宛先とが一致するか否かを判断する判断手段をさ
らに有し、上記解析処理手段は、上記判断手段により一
致しないと判断した場合には、上記解析処理を行い、上
記判断手段により一致したと判断した場合には、上記共
有記憶手段に記憶されている中継経路情報に対して再利
用できない中継経路情報のみを書き替える処理をする。
憶している宛先と、新たに受信したネットワークからの
情報の宛先とが一致するか否かを判断する判断手段をさ
らに有し、上記解析処理手段は、上記判断手段により一
致しないと判断した場合には、上記解析処理を行い、上
記判断手段により一致したと判断した場合には、上記共
有記憶手段に記憶されている中継経路情報に対して再利
用できない中継経路情報のみを書き替える処理をする。
【0018】上記転送処理手段は、ネットワークからの
情報の宛先を解析して解析結果を出力する機能をさらに
有することができる。
情報の宛先を解析して解析結果を出力する機能をさらに
有することができる。
【0019】上記中継処理部は、ネットワークからの情
報を蓄積する蓄積手段と、ネットワークからの情報の宛
先を保持する保持手段とをさらに有し、上記解析処理手
段は、上記保持手段に保持した宛先を解析し、上記転送
処理手段は、上記蓄積手段に蓄積した情報を転送する。
報を蓄積する蓄積手段と、ネットワークからの情報の宛
先を保持する保持手段とをさらに有し、上記解析処理手
段は、上記保持手段に保持した宛先を解析し、上記転送
処理手段は、上記蓄積手段に蓄積した情報を転送する。
【0020】上記記憶手段は、宛先を表す数値に基づい
て、予め定めたハッシング関数に基づいた値をアドレス
にして用い、上記解析処理手段は、上記記憶手段参照時
に、宛先を表す数値に基づいて、ハッシング値を求めて
参照することができる。
て、予め定めたハッシング関数に基づいた値をアドレス
にして用い、上記解析処理手段は、上記記憶手段参照時
に、宛先を表す数値に基づいて、ハッシング値を求めて
参照することができる。
【0021】また、上記中継処理部は、ネットワークに
接続するポートを複数備え、上記記憶手段は、宛先に対
応する中継処理部の論理識別番号と、上記中継処理部の
ポートの論理識別情報とを中継経路情報として記憶し、
上記解析処理手段は、上記解析結果として、上記中継経
路情報を出力し、上記転送処理手段は、他の中継処理部
からの転送された情報を、上記解析処理手段により出力
された中継経路情報を付加して出力先のネットワークに
対して出力することができる。
接続するポートを複数備え、上記記憶手段は、宛先に対
応する中継処理部の論理識別番号と、上記中継処理部の
ポートの論理識別情報とを中継経路情報として記憶し、
上記解析処理手段は、上記解析結果として、上記中継経
路情報を出力し、上記転送処理手段は、他の中継処理部
からの転送された情報を、上記解析処理手段により出力
された中継経路情報を付加して出力先のネットワークに
対して出力することができる。
【0022】また、複数のネットワークを相互に接続
し、一のネットワークからの情報を他のネットワークに
中継するインタネットワーク装置に搭載され、各々のネ
ットワークに対応して設けられる中継処理回路であっ
て、該中継処理回路は、宛先に対応して中継経路を記憶
している記憶手段と、該記憶手段を参照し、ネットワー
クからの情報の宛先を解析して解析結果を出力する第1
のプロセッサと、該第1のプロセッサの解析結果に基づ
いて対応する他の中継処理部に対して上記ネットワーク
からの情報を転送する第2のプロセッサとを備えるよう
にしてもよい。
し、一のネットワークからの情報を他のネットワークに
中継するインタネットワーク装置に搭載され、各々のネ
ットワークに対応して設けられる中継処理回路であっ
て、該中継処理回路は、宛先に対応して中継経路を記憶
している記憶手段と、該記憶手段を参照し、ネットワー
クからの情報の宛先を解析して解析結果を出力する第1
のプロセッサと、該第1のプロセッサの解析結果に基づ
いて対応する他の中継処理部に対して上記ネットワーク
からの情報を転送する第2のプロセッサとを備えるよう
にしてもよい。
【0023】複数のネットワークを相互に接続し、一の
ネットワークからの情報を他のネットワークに中継する
インタネットワーク装置に搭載され、各々のネットワー
クに対応して設けられる中継処理回路であって、該中継
処理回路は、宛先に対応して中継経路を記憶している記
憶手段と、該記憶手段を参照し、ネットワークからの情
報の宛先を解析して解析結果を出力する第1のプロセッ
サと、該第1のプロセッサの解析結果に基づいて対応す
る他の中継処理部に対して上記ネットワークからの情報
を転送する第2のプロセッサとを備えることもできる。
ネットワークからの情報を他のネットワークに中継する
インタネットワーク装置に搭載され、各々のネットワー
クに対応して設けられる中継処理回路であって、該中継
処理回路は、宛先に対応して中継経路を記憶している記
憶手段と、該記憶手段を参照し、ネットワークからの情
報の宛先を解析して解析結果を出力する第1のプロセッ
サと、該第1のプロセッサの解析結果に基づいて対応す
る他の中継処理部に対して上記ネットワークからの情報
を転送する第2のプロセッサとを備えることもできる。
【0024】複数のネットワークと、該ネットワークを
相互に接続し、一のネットワークからの情報を他のネッ
トワークに中継するインタネットワーク装置とを有する
ネットワークシステムにおいて、上記インタネットワー
ク装置は、上記ネットワークからの情報を宛先に基づい
て中継する中継処理部を各々のネットワークに対応して
有し、該中継処理部は、バスによりそれぞれ接続され、
上記中継処理部は、ネットワークからの情報の宛先を解
析して解析結果を出力する解析処理と、該解析処理手段
の解析結果に基づいて対応する他の中継処理部に対して
上記ネットワークからの情報を転送する転送処理とを分
散処理することができる。
相互に接続し、一のネットワークからの情報を他のネッ
トワークに中継するインタネットワーク装置とを有する
ネットワークシステムにおいて、上記インタネットワー
ク装置は、上記ネットワークからの情報を宛先に基づい
て中継する中継処理部を各々のネットワークに対応して
有し、該中継処理部は、バスによりそれぞれ接続され、
上記中継処理部は、ネットワークからの情報の宛先を解
析して解析結果を出力する解析処理と、該解析処理手段
の解析結果に基づいて対応する他の中継処理部に対して
上記ネットワークからの情報を転送する転送処理とを分
散処理することができる。
【0025】複数のネットワークを相互に接続し、一の
ネットワークからの情報を他のネットワークに中継する
インタネットワーク装置において、各々のネットワーク
に対応して設けられ、上記ネットワークからの情報を宛
先に基づいて中継する中継処理部を有し、上記中継処理
部の各々は、共通のバスに接続され、自中継処理部に接
続するネットワークからの情報を固定長のブロックに分
割する分割手段と、該分割手段により分割されたそれぞ
れのブロックに上記宛先に基づいて対応する中継処理部
の識別情報を付加する付加手段と、該付加手段により識
別情報が付加されたブロックを上記バスに送出する送出
手段と、上記バスから自中継処理部の識別情報が付加さ
れたブロックを受信する受信手段と、該受信手段で受信
したブロックが分割されている情報である場合に、当該
分割されているブロックを統合する統合手段とを有する
ようにしてもよい。この場合、上記情報には、当該情報
の容量が予め付加されており、上記統合手段は、上記情
報に予め付加されている容量に基づいて、当該分割され
ているブロックの統合を行うようにしてもよい。
ネットワークからの情報を他のネットワークに中継する
インタネットワーク装置において、各々のネットワーク
に対応して設けられ、上記ネットワークからの情報を宛
先に基づいて中継する中継処理部を有し、上記中継処理
部の各々は、共通のバスに接続され、自中継処理部に接
続するネットワークからの情報を固定長のブロックに分
割する分割手段と、該分割手段により分割されたそれぞ
れのブロックに上記宛先に基づいて対応する中継処理部
の識別情報を付加する付加手段と、該付加手段により識
別情報が付加されたブロックを上記バスに送出する送出
手段と、上記バスから自中継処理部の識別情報が付加さ
れたブロックを受信する受信手段と、該受信手段で受信
したブロックが分割されている情報である場合に、当該
分割されているブロックを統合する統合手段とを有する
ようにしてもよい。この場合、上記情報には、当該情報
の容量が予め付加されており、上記統合手段は、上記情
報に予め付加されている容量に基づいて、当該分割され
ているブロックの統合を行うようにしてもよい。
【0026】さらに、第一の中継処理部は、第二の中継
処理部からの情報の受信時に、第一および第二の中継処
理部以外の中継処理部からの情報の受信を排除するため
の排他制御を行う排他制御手段を備え、上記第二の中継
処理部は、上記第一の中継処理部への情報の送出時に、
上記第一の中継処理部の排他制御手段に対して情報を受
信しているか否かを確認し、情報を受信していない場合
には情報を送出する旨を通知する転送制御部を備え、上
記排他制御手段は、第二の中継処理部の転送制御部から
通知があると、当該中継処理部からの情報のみを受信す
る。
処理部からの情報の受信時に、第一および第二の中継処
理部以外の中継処理部からの情報の受信を排除するため
の排他制御を行う排他制御手段を備え、上記第二の中継
処理部は、上記第一の中継処理部への情報の送出時に、
上記第一の中継処理部の排他制御手段に対して情報を受
信しているか否かを確認し、情報を受信していない場合
には情報を送出する旨を通知する転送制御部を備え、上
記排他制御手段は、第二の中継処理部の転送制御部から
通知があると、当該中継処理部からの情報のみを受信す
る。
【0027】
【作用】インタネットワーク装置の中継処理部は、それ
ぞれに接続するネットワークから情報を受信する。中継
処理部では、受信した情報を蓄積手段(パケットバッフ
ァメモリ)に蓄積し、宛先に関する情報を保持手段(ヘ
ッダメモリ)に保持する。 解析処理手段は、宛先に対
応して中継経路情報を記憶している記憶手段(経路情報
テーブル)を参照し、上記保持手段に保持した宛先を解
析し、解析結果を出力し、該解析結果を共有記憶手段に
記憶する。
ぞれに接続するネットワークから情報を受信する。中継
処理部では、受信した情報を蓄積手段(パケットバッフ
ァメモリ)に蓄積し、宛先に関する情報を保持手段(ヘ
ッダメモリ)に保持する。 解析処理手段は、宛先に対
応して中継経路情報を記憶している記憶手段(経路情報
テーブル)を参照し、上記保持手段に保持した宛先を解
析し、解析結果を出力し、該解析結果を共有記憶手段に
記憶する。
【0028】転送処理手段は、共有記憶手段を読みだし
て解析処理手段の解析結果に基づいて対応する他の中継
処理部に対して上記蓄積手段に蓄積した情報を転送す
る。転送処理手段は、上記解析処理手段の解析結果とし
て中継経路情報を上記ネットワークからの情報に付加し
て転送する。
て解析処理手段の解析結果に基づいて対応する他の中継
処理部に対して上記蓄積手段に蓄積した情報を転送す
る。転送処理手段は、上記解析処理手段の解析結果とし
て中継経路情報を上記ネットワークからの情報に付加し
て転送する。
【0029】他の中継処理部では、転送処理手段は、前
記中継処理部からの転送された情報を受信し、上記解析
処理手段は、上記記憶手段を参照し、転送された情報に
付加されている中継経路情報から出力先を解析し、上記
転送処理手段は、他の中継処理部からの転送された情報
を、該解析処理手段で解析した出力先のネットワークに
対して出力する。
記中継処理部からの転送された情報を受信し、上記解析
処理手段は、上記記憶手段を参照し、転送された情報に
付加されている中継経路情報から出力先を解析し、上記
転送処理手段は、他の中継処理部からの転送された情報
を、該解析処理手段で解析した出力先のネットワークに
対して出力する。
【0030】また、中継処理部が、上記共有記憶手段に
記憶している宛先と、新たに受信したネットワークから
の情報の宛先とが一致するか否かを判断する判断手段を
さらに有する時には、解析処理手段は、該判断手段で一
致しない場合には、上記解析処理を行い、該判断手段で
一致した場合には、上記共有記憶手段に対して再利用で
きない経路情報のみを書き替える処理をする。これによ
り、ルーティング処理を高速化することができる。
記憶している宛先と、新たに受信したネットワークから
の情報の宛先とが一致するか否かを判断する判断手段を
さらに有する時には、解析処理手段は、該判断手段で一
致しない場合には、上記解析処理を行い、該判断手段で
一致した場合には、上記共有記憶手段に対して再利用で
きない経路情報のみを書き替える処理をする。これによ
り、ルーティング処理を高速化することができる。
【0031】また、上記中継処理部は、バスによりそれ
ぞれ接続され、ネットワークからの情報を固定長のブロ
ックに分割する分割手段と、該分割手段により分割され
たそれぞれのブロックに上記宛先に基づいて対応する中
継処理部の識別情報を付加する付加手段と、該付加手段
により識別情報が付加されたブロックを上記バスに送出
する送出手段と、上記バスから自装置の識別情報が付加
されたブロックを受信する受信手段と、該受信手段で受
信したブロックが分割されている情報である場合に、当
該分割されているブロックを統合する統合手段とを有す
る場合は、以下に示すような作用がある。
ぞれ接続され、ネットワークからの情報を固定長のブロ
ックに分割する分割手段と、該分割手段により分割され
たそれぞれのブロックに上記宛先に基づいて対応する中
継処理部の識別情報を付加する付加手段と、該付加手段
により識別情報が付加されたブロックを上記バスに送出
する送出手段と、上記バスから自装置の識別情報が付加
されたブロックを受信する受信手段と、該受信手段で受
信したブロックが分割されている情報である場合に、当
該分割されているブロックを統合する統合手段とを有す
る場合は、以下に示すような作用がある。
【0032】第二の中継処理手部の分割手段は、ネット
ワークからの情報を固定長のブロックに分割する。付加
手段は、分割手段により分割されたそれぞれのブロック
に上記宛先に基づいて対応する中継処理部の識別情報を
付加する。送出手段は、付加手段により識別情報が付加
されたブロックを上記バスに送出する。
ワークからの情報を固定長のブロックに分割する。付加
手段は、分割手段により分割されたそれぞれのブロック
に上記宛先に基づいて対応する中継処理部の識別情報を
付加する。送出手段は、付加手段により識別情報が付加
されたブロックを上記バスに送出する。
【0033】受信側の第一の中継処理部では、受信手段
が、上記バスから自装置の識別情報が付加されたブロッ
クを受信する。統合手段が、該受信手段で受信したブロ
ックが分割されている情報である場合に、当該分割され
ているブロックを統合する。統合された情報は、当該第
一の中継処理部に接続するネットワークに送出される。
が、上記バスから自装置の識別情報が付加されたブロッ
クを受信する。統合手段が、該受信手段で受信したブロ
ックが分割されている情報である場合に、当該分割され
ているブロックを統合する。統合された情報は、当該第
一の中継処理部に接続するネットワークに送出される。
【0034】また、ブロックの転送時に他の情報の受信
を排除するために、排他制御手段と転送制御部とを備え
ることができる。この場合、第二の中継処理部の転送制
御部は、上記第一の中継処理部への送出時に、受信側の
第一の中継処理部の排他制御手段に対して情報を受信し
ているか否かを確認し、情報を受信していない場合には
情報を送出する旨を通知する。上記排他制御手段は、送
信側の第二の中継処理部の転送制御部から通知がある
と、当該第二の中継処理部からの情報のみを受信するこ
とにより、上記第二の中継処理部からの情報の受信時
に、第一および第二の中継処理部以外の中継処理部から
の情報の受信を排除するための排他制御を行う。これに
より複数の中継処理部より送出されたブロックが混ざる
こと無く、処理を単純にできる。
を排除するために、排他制御手段と転送制御部とを備え
ることができる。この場合、第二の中継処理部の転送制
御部は、上記第一の中継処理部への送出時に、受信側の
第一の中継処理部の排他制御手段に対して情報を受信し
ているか否かを確認し、情報を受信していない場合には
情報を送出する旨を通知する。上記排他制御手段は、送
信側の第二の中継処理部の転送制御部から通知がある
と、当該第二の中継処理部からの情報のみを受信するこ
とにより、上記第二の中継処理部からの情報の受信時
に、第一および第二の中継処理部以外の中継処理部から
の情報の受信を排除するための排他制御を行う。これに
より複数の中継処理部より送出されたブロックが混ざる
こと無く、処理を単純にできる。
【0035】
【実施例】以下、本発明の実施例について図面を参照し
て説明する。
て説明する。
【0036】まず、インタネットワーク装置の全体アー
キテクチャについて説明する。
キテクチャについて説明する。
【0037】本実施例によるインタネットワーク装置の
特徴は、ネットワークに対応して設けられる、ルーティ
ングを行う複数のモジュール(中継処理部)を有し、モ
ジュールの増設により容易に性能向上ができるアーキテ
クチャを採ることである。複数のモジュールは、アドレ
スを解析してルーティング処理を行うルーティングプロ
セッサをそれぞれ有する。また、ルーティングプロセッ
サが、一つまたは複数の通信ポ−トをそれぞれ有する構
成としている。
特徴は、ネットワークに対応して設けられる、ルーティ
ングを行う複数のモジュール(中継処理部)を有し、モ
ジュールの増設により容易に性能向上ができるアーキテ
クチャを採ることである。複数のモジュールは、アドレ
スを解析してルーティング処理を行うルーティングプロ
セッサをそれぞれ有する。また、ルーティングプロセッ
サが、一つまたは複数の通信ポ−トをそれぞれ有する構
成としている。
【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ポート程度)の中
低速ポートを接続する。すなわち、一つのルーティング
プロセッサにおいて、中低速通信の場合には、複数のネ
ットワークを接続することができる。
ロック図を示している。図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ポート程度)の中
低速ポートを接続する。すなわち、一つのルーティング
プロセッサにおいて、中低速通信の場合には、複数のネ
ットワークを接続することができる。
【0039】ルーティングプロセッサ3の構成につい
て、図2を参照して概略を説明する。図2において、ル
ーティングプロセッサ3には、ルーティング処理を行う
μP(マイクロプロセッサ)31と、パケットを格納す
るパケットバッファおよび経路情報を記憶するルーティ
ングテーブルを備えるメモリ33と、メモリ33および
μP31を制御し、通信制御部とインタフェースを行う
制御回路32とを有する。メモリ33は、受信パケット
を蓄積する蓄積手段でもあり、宛先情報を示すヘッダ部
を保持する保持手段でもある。ここでは、ルーティング
テーブルをメモリ33に格納するように記述するが、μ
P31に直接接続されるローカルなメモリを用意し、そ
のメモリにルーティングテーブルを格納しても構わな
い。ルーティングテーブルのデータ構造を図7に示す。
また、転送されるパケット転送形式は、図9に示す。詳
細については、後述する。
て、図2を参照して概略を説明する。図2において、ル
ーティングプロセッサ3には、ルーティング処理を行う
μP(マイクロプロセッサ)31と、パケットを格納す
るパケットバッファおよび経路情報を記憶するルーティ
ングテーブルを備えるメモリ33と、メモリ33および
μP31を制御し、通信制御部とインタフェースを行う
制御回路32とを有する。メモリ33は、受信パケット
を蓄積する蓄積手段でもあり、宛先情報を示すヘッダ部
を保持する保持手段でもある。ここでは、ルーティング
テーブルをメモリ33に格納するように記述するが、μ
P31に直接接続されるローカルなメモリを用意し、そ
のメモリにルーティングテーブルを格納しても構わな
い。ルーティングテーブルのデータ構造を図7に示す。
また、転送されるパケット転送形式は、図9に示す。詳
細については、後述する。
【0040】つぎに、ルーティングプロセッサ3におけ
る、ルーティング処理の流れについて説明する。なお、
ルーティング処理の前処理として、管理部2が、全部の
ルーティングプロセッサ3にルーティング情報を、それ
ぞれのルーティングテーブルに配布しており、各ルーテ
ィングプロセッサ3はメモリ33内のルーティングテー
ブルの領域にルーティング情報を有している状態とす
る。例えば、管理部2のルーティング情報の収集は、他
のインタネットワーク装置との間でRIP、OSPF等
のルーティングプロトコルでやりとりして行うか、ある
いは、ユーザが予めスタティックに設定するかで行うこ
ととする。通信制御部51がLAN71から受信したパ
ケットをメモリ33に転送し、メモリ33のパケットバ
ッファが受信したパケットを格納する。μP31は、格
納されたパケットのヘッダの部分を検出し、ルーティン
グテーブルを参照してルーティング処理を行う。例え
ば、宛先が回線72向けであった場合、このパケットを
ルーティングプロセッサ3(a)からルーティングプロ
セッサ3(b)へ転送する。また、例えば、宛先が自装
置であれば、管理部2へ転送する。例えば、宛先がLA
N71向け、すなわち、自ルーティングプロセッサ3
(a)の下にある場合は廃棄する。
る、ルーティング処理の流れについて説明する。なお、
ルーティング処理の前処理として、管理部2が、全部の
ルーティングプロセッサ3にルーティング情報を、それ
ぞれのルーティングテーブルに配布しており、各ルーテ
ィングプロセッサ3はメモリ33内のルーティングテー
ブルの領域にルーティング情報を有している状態とす
る。例えば、管理部2のルーティング情報の収集は、他
のインタネットワーク装置との間でRIP、OSPF等
のルーティングプロトコルでやりとりして行うか、ある
いは、ユーザが予めスタティックに設定するかで行うこ
ととする。通信制御部51がLAN71から受信したパ
ケットをメモリ33に転送し、メモリ33のパケットバ
ッファが受信したパケットを格納する。μP31は、格
納されたパケットのヘッダの部分を検出し、ルーティン
グテーブルを参照してルーティング処理を行う。例え
ば、宛先が回線72向けであった場合、このパケットを
ルーティングプロセッサ3(a)からルーティングプロ
セッサ3(b)へ転送する。また、例えば、宛先が自装
置であれば、管理部2へ転送する。例えば、宛先がLA
N71向け、すなわち、自ルーティングプロセッサ3
(a)の下にある場合は廃棄する。
【0041】次に、上述のインタネットワーク装置の性
能を向上する場合の対応方法について説明する。
能を向上する場合の対応方法について説明する。
【0042】高い性能は次の様なケースで必要となる。
【0043】(1)ルーティングプロセッサに中低速通
信制御部を複数本持つため、ルーティング能力が不足す
る場合。
信制御部を複数本持つため、ルーティング能力が不足す
る場合。
【0044】(2)ルーティングプロセッサに高速通信
制御部を接続するため、高速にルーティングを行わなけ
ればならない場合。
制御部を接続するため、高速にルーティングを行わなけ
ればならない場合。
【0045】図1は、性能向上を図る場合の構成を示し
ている。図1において、ルーティングプロセッサ3にル
ーティングアシスト部34を追加する。ルーティングア
シスト部34は、ネットワークからの情報の宛先を解析
して解析結果を出力する解析処理手段であり、ルーティ
ングに係わる処理を行い、μP31と処理を分担する。
μP31は、この場合、ルーティングアシスト部34の
解析結果に基づいて対応する他の中継処理部に対して上
記ネットワークからの情報を転送する転送処理手段の機
能を少なくとも備える。この様な構成におけるルーティ
ングの流れをIPルーティングを例に説明する。
ている。図1において、ルーティングプロセッサ3にル
ーティングアシスト部34を追加する。ルーティングア
シスト部34は、ネットワークからの情報の宛先を解析
して解析結果を出力する解析処理手段であり、ルーティ
ングに係わる処理を行い、μP31と処理を分担する。
μP31は、この場合、ルーティングアシスト部34の
解析結果に基づいて対応する他の中継処理部に対して上
記ネットワークからの情報を転送する転送処理手段の機
能を少なくとも備える。この様な構成におけるルーティ
ングの流れをIPルーティングを例に説明する。
【0046】図1において、ルーティングプロセッサ基
本部(ルーティングアシスト部34以外のルーティング
プロセッサ3の部分を以後ルーティングプロセッサ基本
部という)の処理分担としては、主にパケット転送に係
わる処理を行う。ルーティングプロセッサ基本部の処理
内容は、通信制御部61とメモリ33との間のパケット
転送制御、メモリ33内のパケットバッファ制御、パケ
ット加工、ルーティングプロセッサと他のルーティング
プロセッサ間でのパケット転送制御、ルータ管理部2と
の情報授受、通信制御部61のドライブ、トレース/統
計、等を行う。
本部(ルーティングアシスト部34以外のルーティング
プロセッサ3の部分を以後ルーティングプロセッサ基本
部という)の処理分担としては、主にパケット転送に係
わる処理を行う。ルーティングプロセッサ基本部の処理
内容は、通信制御部61とメモリ33との間のパケット
転送制御、メモリ33内のパケットバッファ制御、パケ
ット加工、ルーティングプロセッサと他のルーティング
プロセッサ間でのパケット転送制御、ルータ管理部2と
の情報授受、通信制御部61のドライブ、トレース/統
計、等を行う。
【0047】ルーティングアシスト部34の処理分担と
しては、ルーティングテーブルの検索を始めとするルー
ティングに係わる処理を行う。処理内容は、受信パケッ
トからヘッダ部を抽出する処理、抽出したヘッダ部から
通信プロトコルを判定する処理、判定した通信プロトコ
ルがTCP/IPならばルーティングテーブルを検索し
て宛先IPアドレスから次ホップ(次のローカル網)の
インタネットワーク装置のIPアドレスを得て、ルーテ
ィングプロセッサ基本部のμP31への通知処理などで
ある。ここでは通信プロトコルが、TCP/IPでなけ
ればルーティング処理は行わないものとする。TCP/
IP以外にもOSIなどの複数のプロトコル処理をルー
ティングアシスト部34に行わせることによりマルチプ
ロトコルルータを実現することも可能である。また、上
記の説明では、通信プロトコルがTCP/IP以外なら
ばルーティング処理は行っていないが、ルーティングア
シスト部34にブリッジアシスト機能を持たせることに
より、受信したパケットのプロトコルをサポートしてい
ない場合にはブリッジとして動作させることも可能であ
る。図4は、ルーティングアシスト部34を追加した場
合のルーティングプロセッサ基本部とルーティングアシ
スト部34との処理分担と処理の流れを示している。な
お、ルーティングアシスト部34を追加した場合、ルー
ティングテーブルは、記憶手段のメモリ342に格納し
ておくとルーティング処理をより高速に行える。
しては、ルーティングテーブルの検索を始めとするルー
ティングに係わる処理を行う。処理内容は、受信パケッ
トからヘッダ部を抽出する処理、抽出したヘッダ部から
通信プロトコルを判定する処理、判定した通信プロトコ
ルがTCP/IPならばルーティングテーブルを検索し
て宛先IPアドレスから次ホップ(次のローカル網)の
インタネットワーク装置のIPアドレスを得て、ルーテ
ィングプロセッサ基本部のμP31への通知処理などで
ある。ここでは通信プロトコルが、TCP/IPでなけ
ればルーティング処理は行わないものとする。TCP/
IP以外にもOSIなどの複数のプロトコル処理をルー
ティングアシスト部34に行わせることによりマルチプ
ロトコルルータを実現することも可能である。また、上
記の説明では、通信プロトコルがTCP/IP以外なら
ばルーティング処理は行っていないが、ルーティングア
シスト部34にブリッジアシスト機能を持たせることに
より、受信したパケットのプロトコルをサポートしてい
ない場合にはブリッジとして動作させることも可能であ
る。図4は、ルーティングアシスト部34を追加した場
合のルーティングプロセッサ基本部とルーティングアシ
スト部34との処理分担と処理の流れを示している。な
お、ルーティングアシスト部34を追加した場合、ルー
ティングテーブルは、記憶手段のメモリ342に格納し
ておくとルーティング処理をより高速に行える。
【0048】つぎに、この様な基本構成におけるルーテ
ィング処理を説明する。
ィング処理を説明する。
【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に格納してあるパケットに対して、パケットヘッ
ダを付け替える等の処理を施す。そして、送出先のポー
トに対応するルーティングプロセッサへ転送する。
信したパケットをメモリ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に格納してあるパケットに対して、パケットヘッ
ダを付け替える等の処理を施す。そして、送出先のポー
トに対応するルーティングプロセッサへ転送する。
【0050】次に、ルーティングアシスト部34の詳細
を図1および図3を参照して説明する。図3に、ルーテ
ィングアシスト部34の構成図を示す。
を図1および図3を参照して説明する。図3に、ルーテ
ィングアシスト部34の構成図を示す。
【0051】図3において、アシスト回路343は、制
御回路32からのラッチタイミング制御信号(a)およ
びパケットヘッダや受信ステータスのデータ(b)を受
け、μP31とはμP31RPインタフェースおよびバ
スを介して接続されている。アシスト回路343は、各
パケットヘッダを解析して結果を出力するヘッダ解析部
と、パケットヘッダおよび解析結果を記憶する記憶手段
のメモリ342と、ルーティング処理を行うμP341
の処理部とを有する。さらに、アシスト回路343は、
パケットヘッダを一時保持する保持手段のFIFO34
312と、μP31に転送する際に記憶する、共有記憶
手段のデュアルポートメモリ34316とを有すること
ができる。ヘッダ解析部としては、MACヘッダチェッ
ク回路、LLCヘッダチェック回路、SNAPヘッダチ
ェック回路、IPヘッダチェック回路および受信ステー
タスチェック回路がある。
御回路32からのラッチタイミング制御信号(a)およ
びパケットヘッダや受信ステータスのデータ(b)を受
け、μP31とはμP31RPインタフェースおよびバ
スを介して接続されている。アシスト回路343は、各
パケットヘッダを解析して結果を出力するヘッダ解析部
と、パケットヘッダおよび解析結果を記憶する記憶手段
のメモリ342と、ルーティング処理を行うμP341
の処理部とを有する。さらに、アシスト回路343は、
パケットヘッダを一時保持する保持手段のFIFO34
312と、μP31に転送する際に記憶する、共有記憶
手段のデュアルポートメモリ34316とを有すること
ができる。ヘッダ解析部としては、MACヘッダチェッ
ク回路、LLCヘッダチェック回路、SNAPヘッダチ
ェック回路、IPヘッダチェック回路および受信ステー
タスチェック回路がある。
【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に格納されて、順次下記の項目を
チェックする。
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に格納されて、順次下記の項目を
チェックする。
【0053】以下は、例えば、IPアドレスを用いてル
ーティングする場合(以下、IPルーティングという)
における、ヘッダ解析部の処理を説明する。
ーティングする場合(以下、IPルーティングという)
における、ヘッダ解析部の処理を説明する。
【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フレームであ
る。
ination Address)およびSA(Source address)は、
ルータの通信ポートの物理アドレスを示す。MACヘッ
ダのFCフィールドは、複数あるフレームの種類を示す
フレームの識別情報が付加されている。フレームの種類
には、例えば、LLCフレーム、MACフレーム、SM
Tフレームなどがある。MACヘッダチェック回路34
3151は、FCフィールドを見てLLCフレーム、M
ACフレーム、SMTフレーム、その他を識別する。I
PルーティングすべきフレームはLLCフレームであ
る。
【0055】また、MACヘッダチェック回路3431
51は、DAフィールドを見て、DAが自アドレスか否
か確認する。IPルーティングすべきフレームは自宛の
場合である。DAが自アドレスならば、ルーティングす
るように結果を出力し、自アドレスでないならば、DA
がマルチキャストであるか否かを判断する。DAがマル
チキャストを示しているならば、自装置が持つマルチキ
ャストアドレスと一致するか否かを判断する。マルチキ
ャストアドレスは複数個持ち、これを連想メモリCAM
344にあらかじめ格納しておく。受けたDAとCAM
44の内容と照合することで判断できる。DAがマルチ
キャストでない場合や、自装置が持つマルチキャストア
ドレスと一致しない場合には、ルーティングを行わない
という結果を出力する。
51は、DAフィールドを見て、DAが自アドレスか否
か確認する。IPルーティングすべきフレームは自宛の
場合である。DAが自アドレスならば、ルーティングす
るように結果を出力し、自アドレスでないならば、DA
がマルチキャストであるか否かを判断する。DAがマル
チキャストを示しているならば、自装置が持つマルチキ
ャストアドレスと一致するか否かを判断する。マルチキ
ャストアドレスは複数個持ち、これを連想メモリCAM
344にあらかじめ格納しておく。受けたDAとCAM
44の内容と照合することで判断できる。DAがマルチ
キャストでない場合や、自装置が持つマルチキャストア
ドレスと一致しない場合には、ルーティングを行わない
という結果を出力する。
【0056】(2)LLCヘッダチェック LLCヘッダチェック回路343152が、DSAP,
SSAPフィールドおよびCTLフィールドを見てIP
プロトコルを指示していることを確認する。LLCヘッ
ダ部が特定のビットパターンであるときに、IPプロト
コルであることを示すことができるので、特定のビット
パターンに一致するか否かをチェックして結果を出力す
る。
SSAPフィールドおよびCTLフィールドを見てIP
プロトコルを指示していることを確認する。LLCヘッ
ダ部が特定のビットパターンであるときに、IPプロト
コルであることを示すことができるので、特定のビット
パターンに一致するか否かをチェックして結果を出力す
る。
【0057】(3)SNAPヘッダチェック SNAPヘッダチェック回路343153が、PIDフ
ィールドを見てIPプロトコルを指示していることを確
認する。また、TYPEフィールドを見てSNAPヘッ
ダに続くデータのプロトコルがIP/ARP/その他の
いずれかを識別し、結果を出力する。
ィールドを見てIPプロトコルを指示していることを確
認する。また、TYPEフィールドを見てSNAPヘッ
ダに続くデータのプロトコルがIP/ARP/その他の
いずれかを識別し、結果を出力する。
【0058】(4)IPヘッダチェック IPヘッダチェック回路343154がV領域(versio
n of IP)を見てサポートしているIPのバージョンであ
るか否かを確認する。また、HL(IP headerlength)
を見て適切なIPヘッダ長であることを確認する。ま
た、論理アドレスである、宛先IPアドレス(DA)を
抽出する。IPのバージョンでない場合もしくは適切な
IPヘッダ長でないには、その旨を出力し、IPのバー
ジョンであり適切なIPヘッダ長であれば、宛先IPア
ドレス(DA)を出力する。
n of IP)を見てサポートしているIPのバージョンであ
るか否かを確認する。また、HL(IP headerlength)
を見て適切なIPヘッダ長であることを確認する。ま
た、論理アドレスである、宛先IPアドレス(DA)を
抽出する。IPのバージョンでない場合もしくは適切な
IPヘッダ長でないには、その旨を出力し、IPのバー
ジョンであり適切なIPヘッダ長であれば、宛先IPア
ドレス(DA)を出力する。
【0059】(5)受信ステータスチェック 受信ステータスチェック回路343155が、ステータ
スを見て受信フレームの正常を確認する。正常なIPヘ
ッダであれば、ルーティングテーブル検索に必要なTO
S(Type of Service)、DA(宛先IPアドレス)な
どの情報を取り出す。
スを見て受信フレームの正常を確認する。正常なIPヘ
ッダであれば、ルーティングテーブル検索に必要なTO
S(Type of Service)、DA(宛先IPアドレス)な
どの情報を取り出す。
【0060】上述の(1)〜(5)の結果をレジスタ3
43156に格納する。結果は、先の先頭位置のうち格
納すべきデータの後尾に連結することで、メモリ342
内には以後のルーティングに必要な情報と、ヘッダ解析
の結果が格納されることになる。
43156に格納する。結果は、先の先頭位置のうち格
納すべきデータの後尾に連結することで、メモリ342
内には以後のルーティングに必要な情報と、ヘッダ解析
の結果が格納されることになる。
【0061】以上のように、ルーティングアシスト回路
343によりフレーム識別、正誤判定等、ルーティング
の前段階は終了したので、μP341の処理負荷を軽減
でき、ルーティング処理を高速化できる。μP341
は、メモリ342に格納されたヘッダ解析結果を見て、
IPルーティングをすべきフレームであれば、μP34
1がIPルーティング処理を行う。
343によりフレーム識別、正誤判定等、ルーティング
の前段階は終了したので、μP341の処理負荷を軽減
でき、ルーティング処理を高速化できる。μP341
は、メモリ342に格納されたヘッダ解析結果を見て、
IPルーティングをすべきフレームであれば、μP34
1がIPルーティング処理を行う。
【0062】また、上記ヘッダ解析部の別の構成例を図
13に示す。図13を参照して、受信時に通信制御部か
ら送られるフレームのヘッダ解析を行うブロックの別の
構成例を説明する。
13に示す。図13を参照して、受信時に通信制御部か
ら送られるフレームのヘッダ解析を行うブロックの別の
構成例を説明する。
【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に格納されている解析の結果及びヘッダ
を見てルーティング処理などの必要な処理を行う。
タは、データバスの幅に従って、例えば、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に格納されている解析の結果及びヘッダ
を見てルーティング処理などの必要な処理を行う。
【0064】このようにして、ルーティングアシスト回
路343のヘッダ解析部をハードウエアにより構成する
ことでより高速にフレームの解析を行うことができる。
また、ルーティングアシスト回路343により、フレー
ムの識別、正誤判断等の前段階のルーティング処理の1
つである、ヘッダ解析によるフィルタリングが終了して
いるのでμP341の処理負荷が軽減できる。
路343のヘッダ解析部をハードウエアにより構成する
ことでより高速にフレームの解析を行うことができる。
また、ルーティングアシスト回路343により、フレー
ムの識別、正誤判断等の前段階のルーティング処理の1
つである、ヘッダ解析によるフィルタリングが終了して
いるのでμP341の処理負荷が軽減できる。
【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アドレスとインタフェース番号
を得る。
予め登録されているメモリ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アドレスとインタフェース番号
を得る。
【0066】また、ハッシュ生成回路34317を、ハ
ードウェアにより上述のハッシュ生成、リスト検索を行
い求めるエントリを得る回路に置き換えることにより、
ルーティングテーブル検索をハードウェアにより処理で
きるようになる。この場合のハッシュ回路のブロック図
を図11に示し、また、ハードウエアの検索の処理フロ
ーを図12に示す。
ードウェアにより上述のハッシュ生成、リスト検索を行
い求めるエントリを得る回路に置き換えることにより、
ルーティングテーブル検索をハードウェアにより処理で
きるようになる。この場合のハッシュ回路のブロック図
を図11に示し、また、ハードウエアの検索の処理フロ
ーを図12に示す。
【0067】図12において、ハッシュ回路は、宛先I
Pアドレスをテーブル検索キーとしてテーブル検索キー
設定レジスタに設定する(ステップ121)。ハッシュ
値計算回路により、ハッシュ値を求めてハッシュ管理テ
ーブルのエントリ番号を得る(ステップ122)。先頭
テーブルのポインタ計算回路は、エントリ番号から該当
するエントリのポインタ(アドレス)を計算する(ステ
ップ123)。計算したポインタを用いてメモリ342
にアクセスし、ルーティング情報のポインタを得る(ス
テップ124)。「次エントリへのポインタ」のアドレ
ス計算回路は、上記処理に並行して、ルーティング情報
のポインタからそのテーブルのつぎのエントリの先頭を
示す、「次エントリへのポインタ」を計算しておく(ス
テップ125)。ルーティング情報の先頭エントリのネ
ットワークアドレスを読み込む(ステップ126)。読
みだしたネットワークアドレスとテーブル検索キーとが
一致するか否かを比較する(ステップ127)。一致す
る場合には、該ルーティング情報を読み出して次ホップ
IPアドレスとインタフェース番号とを得る。一致しな
い場合には、「次エントリへのポインタ」のアドレス計
算回路により求めていた「次エントリへのポインタ」に
よりメモリにアクセスし、つぎのルーティング情報への
ポインタを得て(ステップ128)、ステップ125に
処理を移す。これによりμP341は、検索の起動をか
けるだけになり負荷がさらに軽減され、ルーティング処
理をさらに高速化することができる。
Pアドレスをテーブル検索キーとしてテーブル検索キー
設定レジスタに設定する(ステップ121)。ハッシュ
値計算回路により、ハッシュ値を求めてハッシュ管理テ
ーブルのエントリ番号を得る(ステップ122)。先頭
テーブルのポインタ計算回路は、エントリ番号から該当
するエントリのポインタ(アドレス)を計算する(ステ
ップ123)。計算したポインタを用いてメモリ342
にアクセスし、ルーティング情報のポインタを得る(ス
テップ124)。「次エントリへのポインタ」のアドレ
ス計算回路は、上記処理に並行して、ルーティング情報
のポインタからそのテーブルのつぎのエントリの先頭を
示す、「次エントリへのポインタ」を計算しておく(ス
テップ125)。ルーティング情報の先頭エントリのネ
ットワークアドレスを読み込む(ステップ126)。読
みだしたネットワークアドレスとテーブル検索キーとが
一致するか否かを比較する(ステップ127)。一致す
る場合には、該ルーティング情報を読み出して次ホップ
IPアドレスとインタフェース番号とを得る。一致しな
い場合には、「次エントリへのポインタ」のアドレス計
算回路により求めていた「次エントリへのポインタ」に
よりメモリにアクセスし、つぎのルーティング情報への
ポインタを得て(ステップ128)、ステップ125に
処理を移す。これによりμP341は、検索の起動をか
けるだけになり負荷がさらに軽減され、ルーティング処
理をさらに高速化することができる。
【0068】μP341は、ルーティングアシスト部3
4が行ったヘッダ解析/ルーティング結果と、次ホップ
アドレスとインタフェース番号とをデュアルポートメモ
リ34316に格納して、μP31へ通知する。μP3
1は、この結果に基づいて、既にメモリ33に格納され
ている当該パケットを、宛先インタフェースに対応され
るルーティングプロセッサへ転送する。
4が行ったヘッダ解析/ルーティング結果と、次ホップ
アドレスとインタフェース番号とをデュアルポートメモ
リ34316に格納して、μP31へ通知する。μP3
1は、この結果に基づいて、既にメモリ33に格納され
ている当該パケットを、宛先インタフェースに対応され
るルーティングプロセッサへ転送する。
【0069】つぎに、アシスト回路343からμP31
にヘッダ解析情報を転送する際に、デュアルポートメモ
リ34316にルーティング情報を蓄積し、μP31
は、デュアルポートメモリ34316にアクセスするこ
とによりルーティング情報を読み出す。その際のデュア
ルポートメモリ34316において、ルーティング情報
をルーティングテーブルにし、キャッシュの構成にして
蓄積する。図10を用いてルーティングテーブルキャッ
シュの構成および動作を説明する。なお、図10にはダ
イレクトマップ方式を用いて構成したキャッシュの例を
示している。デュアルポートメモリ34316に蓄積さ
れるルーティングテーブルの構成は、タグ部34321
とエントリ部34320とに分けられている。
にヘッダ解析情報を転送する際に、デュアルポートメモ
リ34316にルーティング情報を蓄積し、μP31
は、デュアルポートメモリ34316にアクセスするこ
とによりルーティング情報を読み出す。その際のデュア
ルポートメモリ34316において、ルーティング情報
をルーティングテーブルにし、キャッシュの構成にして
蓄積する。図10を用いてルーティングテーブルキャッ
シュの構成および動作を説明する。なお、図10にはダ
イレクトマップ方式を用いて構成したキャッシュの例を
示している。デュアルポートメモリ34316に蓄積さ
れるルーティングテーブルの構成は、タグ部34321
とエントリ部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アドレスまで
のルーティング情報が既にキャッシュメモリに登録され
ていてこれが再利用できる場合には、ルーティングテー
ブルの検索を省略することができるため高速化できる。
ダ解析を終了した時点で受信パケットが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アドレスまで
のルーティング情報が既にキャッシュメモリに登録され
ていてこれが再利用できる場合には、ルーティングテー
ブルの検索を省略することができるため高速化できる。
【0071】なお、ここではルーティングテーブルキャ
ッシュの構成は、ダイレクトマップ方式としたが、nウ
ェイアソシアティブ方式,フルアソシアティブ方式とす
ることで、よりヒット率が高いルーティングテーブルキ
ャッシュを構成することができる。この場合、キャッシ
ュエントリの更新方式は、LRU(Least Recently Use
d)方式が適している。
ッシュの構成は、ダイレクトマップ方式としたが、nウ
ェイアソシアティブ方式,フルアソシアティブ方式とす
ることで、よりヒット率が高いルーティングテーブルキ
ャッシュを構成することができる。この場合、キャッシ
ュエントリの更新方式は、LRU(Least Recently Use
d)方式が適している。
【0072】つぎに、図1または図2に示す構成におい
て、ルータバス1を介してルーティングプロセッサ間の
パケット転送を行う様子を以下に説明する。図9に、ル
ーティングプロセッサから宛先ルーティングプロセッサ
へパケットを転送する際のパケットフォーマットを示
す。
て、ルータバス1を介してルーティングプロセッサ間の
パケット転送を行う様子を以下に説明する。図9に、ル
ーティングプロセッサから宛先ルーティングプロセッサ
へパケットを転送する際のパケットフォーマットを示
す。
【0073】図9に示すように、μP31は、パケット
に転送長、宛先インタフェース番号(ルーティングプロ
セッサ番号および該ルーティングプロセッサのポート番
号)、送信元インタフェース番号、通信プロトコル、メ
ディア種別、次ホップID(通信プロトコルがTCP/
IPならばIPアドレス)からなる転送ヘッダを受信デ
ータに付与して、ルータバス1を介して宛先のルーティ
ングプロセッサへ転送する。例えば、受信したルーティ
ングプロセッサ3(a)からルーティングプロセッサ3
(c)への転送を行う。転送ヘッダのうち、宛先インタ
フェース番号、通信プロトコル、メディア種別および次
ホップIDは、ルーティングアスシト部34から得た情
報である。
に転送長、宛先インタフェース番号(ルーティングプロ
セッサ番号および該ルーティングプロセッサのポート番
号)、送信元インタフェース番号、通信プロトコル、メ
ディア種別、次ホップID(通信プロトコルがTCP/
IPならばIPアドレス)からなる転送ヘッダを受信デ
ータに付与して、ルータバス1を介して宛先のルーティ
ングプロセッサへ転送する。例えば、受信したルーティ
ングプロセッサ3(a)からルーティングプロセッサ3
(c)への転送を行う。転送ヘッダのうち、宛先インタ
フェース番号、通信プロトコル、メディア種別および次
ホップIDは、ルーティングアスシト部34から得た情
報である。
【0074】始めに、ルータバス1にパケットを送信す
る側のルーティングプロセッサは、ネットワーク(ポー
ト)から受信したパケットに図9に示す転送ヘッダを付
加する。パケットに転送ヘッダを付加したものを、ここ
ではデータブロックと呼ぶ。処理を単純にするために、
データブロックおよび転送ヘッダは、固定長とすると良
い。例えば、データブロック長は1024バイト固定、
転送ヘッダは48バイト固定とする。このため、転送し
ようとするパケットのバイト数が、データブロックに収
容できるデータの最大長(上記の例では976バイト)
よりも長い場合、パケットは複数のデータブロックに分
割されて転送される。この場合にも、転送ヘッダは、全
てのデータブロックに付加される。例えば、プロトコル
ヘッダ部とデータ部とを合わせて2500バイトあるF
DDIのパケットを転送する場合、パケットは3つのデ
ータブロックに分割される。転送ヘッダに転送長(有効
なデータの長さ)の情報が含まれているので、3つめの
データブロックのデータが含まれていない部分には、何
が入っていても良い。
る側のルーティングプロセッサは、ネットワーク(ポー
ト)から受信したパケットに図9に示す転送ヘッダを付
加する。パケットに転送ヘッダを付加したものを、ここ
ではデータブロックと呼ぶ。処理を単純にするために、
データブロックおよび転送ヘッダは、固定長とすると良
い。例えば、データブロック長は1024バイト固定、
転送ヘッダは48バイト固定とする。このため、転送し
ようとするパケットのバイト数が、データブロックに収
容できるデータの最大長(上記の例では976バイト)
よりも長い場合、パケットは複数のデータブロックに分
割されて転送される。この場合にも、転送ヘッダは、全
てのデータブロックに付加される。例えば、プロトコル
ヘッダ部とデータ部とを合わせて2500バイトあるF
DDIのパケットを転送する場合、パケットは3つのデ
ータブロックに分割される。転送ヘッダに転送長(有効
なデータの長さ)の情報が含まれているので、3つめの
データブロックのデータが含まれていない部分には、何
が入っていても良い。
【0075】つぎに、パケットをデータブロックに分割
する手順と、転送後データブロックを統合しパケットに
戻す手順とを述べる。図15に、この場合のパケットと
データブロックとの対応を示す。パケットをブロックに
分割する場合、各ルーティングプロセッサ(中継処理
部)は、ネットワークからのパケット情報を固定長のブ
ロックに分割する分割手段と、該分割手段により分割さ
れたそれぞれのブロックに上記宛先に基づいて対応する
ルーティングプロセッサの識別情報を付加する付加手段
と、該付加手段により識別情報が付加されたブロックを
上記バスに送出する送出手段と、上記バスから自装置の
識別情報が付加されたブロックを受信する受信手段と、
該受信手段で受信したブロックが分割されている情報で
ある場合に、当該分割されているブロックを統合する統
合手段とを有する。これらの各手段は、制御回路により
処理することができる。または、ルーティングアシスト
部を備える場合には、宛先情報の解析をルーティングア
シスト部において行ってもよい。前記情報は、当該情報
の容量が予め付加されており、前記統合手段は、前記情
報に予め付加されている容量を参照し、当該分割されて
いるブロックの統合を行う。上記ルーティングプロセッ
サは、上記他のルーティングプロセッサからの情報の受
信時に、他の情報の受信を排除するための排他制御を行
う排他制御手段と、上記他のルーティングプロセッサへ
の送出時に、受信側の他のルーティングプロセッサの排
他制御手段に対して情報を受信しているか否かを確認
し、情報を受信していない場合には情報を送出する旨を
通知する転送制御部とをさらに備え、上記排他制御手段
は、送信側の他のルーティングプロセッサの転送制御部
から通知があると、当該ルーティングプロセッサからの
情報のみを受信することができる。排他制御については
後述する。
する手順と、転送後データブロックを統合しパケットに
戻す手順とを述べる。図15に、この場合のパケットと
データブロックとの対応を示す。パケットをブロックに
分割する場合、各ルーティングプロセッサ(中継処理
部)は、ネットワークからのパケット情報を固定長のブ
ロックに分割する分割手段と、該分割手段により分割さ
れたそれぞれのブロックに上記宛先に基づいて対応する
ルーティングプロセッサの識別情報を付加する付加手段
と、該付加手段により識別情報が付加されたブロックを
上記バスに送出する送出手段と、上記バスから自装置の
識別情報が付加されたブロックを受信する受信手段と、
該受信手段で受信したブロックが分割されている情報で
ある場合に、当該分割されているブロックを統合する統
合手段とを有する。これらの各手段は、制御回路により
処理することができる。または、ルーティングアシスト
部を備える場合には、宛先情報の解析をルーティングア
シスト部において行ってもよい。前記情報は、当該情報
の容量が予め付加されており、前記統合手段は、前記情
報に予め付加されている容量を参照し、当該分割されて
いるブロックの統合を行う。上記ルーティングプロセッ
サは、上記他のルーティングプロセッサからの情報の受
信時に、他の情報の受信を排除するための排他制御を行
う排他制御手段と、上記他のルーティングプロセッサへ
の送出時に、受信側の他のルーティングプロセッサの排
他制御手段に対して情報を受信しているか否かを確認
し、情報を受信していない場合には情報を送出する旨を
通知する転送制御部とをさらに備え、上記排他制御手段
は、送信側の他のルーティングプロセッサの転送制御部
から通知があると、当該ルーティングプロセッサからの
情報のみを受信することができる。排他制御については
後述する。
【0076】まず、ネットワーク(ポート)から受信し
たパケットをバッファメモリ33に書き込む前に、あら
かじめバッファメモリ33の内部をデータブロック長ご
との領域に区切っておく。ここではこの区切った領域を
ブロックと呼ぶことにする。それぞれのブロックの先頭
には転送ヘッダ長に等しい領域を確保し、その領域に
は、受信パケットを書き込まないように制御する。ポー
トから受信したパケットをバッファメモリ33内のブロ
ックに転送するときに、受信パケット長が(ブロック長
−転送ヘッダ長)×n(nは自然数)よりも長くパケッ
トをn+1個のブロックに分割する必要がある場合に
は、制御回路32がパケットを分割しながらブロック内
の転送ヘッダを書き込む領域以外の領域に格納する。そ
の後、μP31がそれぞれのブロックの先頭に転送ヘッ
ダを付加して分割は完了する。分割したパケットをルー
ティングプロセッサ間のデータブロックで転送した後、
上記の処理とは逆に、制御回路32がブロックに分割さ
れているパケットを、ブロック内の転送ヘッダの部分を
読み飛ばして統合しながらポートへ送る。
たパケットをバッファメモリ33に書き込む前に、あら
かじめバッファメモリ33の内部をデータブロック長ご
との領域に区切っておく。ここではこの区切った領域を
ブロックと呼ぶことにする。それぞれのブロックの先頭
には転送ヘッダ長に等しい領域を確保し、その領域に
は、受信パケットを書き込まないように制御する。ポー
トから受信したパケットをバッファメモリ33内のブロ
ックに転送するときに、受信パケット長が(ブロック長
−転送ヘッダ長)×n(nは自然数)よりも長くパケッ
トをn+1個のブロックに分割する必要がある場合に
は、制御回路32がパケットを分割しながらブロック内
の転送ヘッダを書き込む領域以外の領域に格納する。そ
の後、μP31がそれぞれのブロックの先頭に転送ヘッ
ダを付加して分割は完了する。分割したパケットをルー
ティングプロセッサ間のデータブロックで転送した後、
上記の処理とは逆に、制御回路32がブロックに分割さ
れているパケットを、ブロック内の転送ヘッダの部分を
読み飛ばして統合しながらポートへ送る。
【0077】以上のように、パケットの分割/統合の処
理は、パケットをポートとバッファメモリの間で転送す
る際に制御回路32の各手段において処理される。
理は、パケットをポートとバッファメモリの間で転送す
る際に制御回路32の各手段において処理される。
【0078】上記転送ヘッダに含まれている宛先インタ
フェース番号は、パケットを受信する側のルーティング
プロセッサを示す物理的なアドレスやスロット番号では
なく、パケットを受信する側のルーティングプロセッサ
を示す論理的な番号と、そのパケットを実際にネットワ
ークへ送り出すポートを示す論理的な番号の組合せから
なっている。ポートを示す論理的な番号が含まれている
のは、1つのルーティングプロセッサに複数のポートが
接続されている場合にも宛先のポートに一意にデータを
転送するためである。このように、本実施例では、宛先
モジュールの論理的なアドレスを転送ヘッダに埋め込む
ことによって、データバスを使って論理的なアドレスを
送る構成としている。実際のルータバスでは、例えば、
制御データを送るためのアドレスバスを設けてもよい。
パケットを送信する側のルーティングプロセッサは、ま
ず、この制御用のアドレスバスとデータバスとを用い
て、受信する側のルーティングプロセッサに対してあら
かじめデータブロックを送信することを宣言しておい
て、次に、データバスのみを用いてデータブロックを送
る。その後、受信側のルーティングプロセッサは受信し
たデータブロックの転送ヘッダを見て、正しい宛先に転
送されていることを確認する。制御データを送る際のデ
ータバスとデータブロックを送る際のデータバスは別に
なっていても良い。
フェース番号は、パケットを受信する側のルーティング
プロセッサを示す物理的なアドレスやスロット番号では
なく、パケットを受信する側のルーティングプロセッサ
を示す論理的な番号と、そのパケットを実際にネットワ
ークへ送り出すポートを示す論理的な番号の組合せから
なっている。ポートを示す論理的な番号が含まれている
のは、1つのルーティングプロセッサに複数のポートが
接続されている場合にも宛先のポートに一意にデータを
転送するためである。このように、本実施例では、宛先
モジュールの論理的なアドレスを転送ヘッダに埋め込む
ことによって、データバスを使って論理的なアドレスを
送る構成としている。実際のルータバスでは、例えば、
制御データを送るためのアドレスバスを設けてもよい。
パケットを送信する側のルーティングプロセッサは、ま
ず、この制御用のアドレスバスとデータバスとを用い
て、受信する側のルーティングプロセッサに対してあら
かじめデータブロックを送信することを宣言しておい
て、次に、データバスのみを用いてデータブロックを送
る。その後、受信側のルーティングプロセッサは受信し
たデータブロックの転送ヘッダを見て、正しい宛先に転
送されていることを確認する。制御データを送る際のデ
ータバスとデータブロックを送る際のデータバスは別に
なっていても良い。
【0079】このような転送を実現するために、例え
ば、以下のような構成をとることもできる。すなわち、
メモリ33にデュアルポートD−RAMを用いて、ルー
ティングプロセッサ間の制御用のパスとパケット転送用
のパスとを分離してパケット転送用のバスを特化する。
これにより、ルーティングプロセッサ間のパケット転送
を高速化でき、ルータ装置全体の性能向上につながる。
図16に、制御用のパスとパケット転送用のパスとを分
離し、メモリ33にデュアルポートD−RAMを用いる
ことにより、パケット転送の高速化を図った場合のハー
ドウェア構成例を示す。図16に示したルーティングプ
ロセッサにおいては、デュアルポートD−RAMのシリ
アルアクセスポート(SAMポート)をパケット転送の
用途専用に用い、ランダムアクセスポート(RAMポー
ト)をその他の用途に用いる構成としている。
ば、以下のような構成をとることもできる。すなわち、
メモリ33にデュアルポートD−RAMを用いて、ルー
ティングプロセッサ間の制御用のパスとパケット転送用
のパスとを分離してパケット転送用のバスを特化する。
これにより、ルーティングプロセッサ間のパケット転送
を高速化でき、ルータ装置全体の性能向上につながる。
図16に、制御用のパスとパケット転送用のパスとを分
離し、メモリ33にデュアルポートD−RAMを用いる
ことにより、パケット転送の高速化を図った場合のハー
ドウェア構成例を示す。図16に示したルーティングプ
ロセッサにおいては、デュアルポートD−RAMのシリ
アルアクセスポート(SAMポート)をパケット転送の
用途専用に用い、ランダムアクセスポート(RAMポー
ト)をその他の用途に用いる構成としている。
【0080】図16において、転送時には、送信側ルー
ティングプロセッサのμP31が、パケットに転送ヘッ
ダを付加し、データブロックの形にする。この時、パケ
ット長がデータブロックの最大長よりも長ければ、パケ
ットを複数のデータブロックに分割する。その後、μP
31は、送信側ルーティングプロセッサの制御回路32
に対して、送信側ルーティングプロセッサのメモリ33
に転送すべきデータブロックが準備できたことを知らせ
る。これを受けて、送信側ルーティングプロセッサの制
御回路32は、受信側ルーティングプロセッサの制御回
路32に対してパケット転送することを通知した後、デ
ータブロックをDMAにより転送する。
ティングプロセッサのμP31が、パケットに転送ヘッ
ダを付加し、データブロックの形にする。この時、パケ
ット長がデータブロックの最大長よりも長ければ、パケ
ットを複数のデータブロックに分割する。その後、μP
31は、送信側ルーティングプロセッサの制御回路32
に対して、送信側ルーティングプロセッサのメモリ33
に転送すべきデータブロックが準備できたことを知らせ
る。これを受けて、送信側ルーティングプロセッサの制
御回路32は、受信側ルーティングプロセッサの制御回
路32に対してパケット転送することを通知した後、デ
ータブロックをDMAにより転送する。
【0081】転送は、送信側ルーティングプロセッサと
受信側ルーティングプロセッサとのそれぞれのデュアル
ポートD−RAMのSAMポートどうしをルータバスで
直接接続し、送信側ルーティングプロセッサのSAMポ
ートからは読み出し、受信側ルーティングプロセッサの
SAMポートへは書き込みを互いに同期して行うことに
より実現できる。DMA転送の制御、および、SAMポ
ートの制御は、それぞれのルーティングプロセッサの制
御回路32が行う。SAMポートは、いったん初期化し
た後はデータを全て出力してしまうまではRAMポート
と独立して動作できるため、ルーティングプロセッサ間
のパケット転送と、メモリ33を使用するその他の処理
を並行して処理できるようになり全体の処理を高速化す
ることができる。なお、SAMポートの制御は、RAM
ポートの制御に比べ複雑であるが、パケット転送の単位
であるデータブロックの長さとしてSAMポートのバイ
ト数を設定すれば、デュアルポートD−RAMの制御を
比較的容易にすることができる。
受信側ルーティングプロセッサとのそれぞれのデュアル
ポートD−RAMのSAMポートどうしをルータバスで
直接接続し、送信側ルーティングプロセッサのSAMポ
ートからは読み出し、受信側ルーティングプロセッサの
SAMポートへは書き込みを互いに同期して行うことに
より実現できる。DMA転送の制御、および、SAMポ
ートの制御は、それぞれのルーティングプロセッサの制
御回路32が行う。SAMポートは、いったん初期化し
た後はデータを全て出力してしまうまではRAMポート
と独立して動作できるため、ルーティングプロセッサ間
のパケット転送と、メモリ33を使用するその他の処理
を並行して処理できるようになり全体の処理を高速化す
ることができる。なお、SAMポートの制御は、RAM
ポートの制御に比べ複雑であるが、パケット転送の単位
であるデータブロックの長さとしてSAMポートのバイ
ト数を設定すれば、デュアルポートD−RAMの制御を
比較的容易にすることができる。
【0082】データブロックを全て転送し終わったら、
受信側ルーティングプロセッサの制御回路32は、受信
側ルーティングプロセッサのμP31にその旨通知す
る。これを受けて、μP31はメモリ33に格納されて
いるデータブロックから転送ヘッダを削除して、もし
も、1つのパケットが複数のデータブロックに分割され
ていたならば、再び1つのパケットに戻す。複数のデー
タブロックに分割されているか否かの判断は、転送ヘッ
ダに含まれている転送長の情報を参照することにより判
断する。もしくは、送出側のルーティングプロセッサに
おいて、転送データの分割時に、各データブロックにシ
リアルナンバーを付加し、最後のブロックにエンドマー
クを付加しておき、受信側のルーティングプロセッサで
はこれらの付加された情報を参照して分割されているブ
ロックを統合するようにしてもよい。その後、次ホップ
装置の物理アドレスを正しく書き替えるなどのプロトコ
ル処理を行った後、パケットはネットワークへ送出され
る。
受信側ルーティングプロセッサの制御回路32は、受信
側ルーティングプロセッサのμP31にその旨通知す
る。これを受けて、μP31はメモリ33に格納されて
いるデータブロックから転送ヘッダを削除して、もし
も、1つのパケットが複数のデータブロックに分割され
ていたならば、再び1つのパケットに戻す。複数のデー
タブロックに分割されているか否かの判断は、転送ヘッ
ダに含まれている転送長の情報を参照することにより判
断する。もしくは、送出側のルーティングプロセッサに
おいて、転送データの分割時に、各データブロックにシ
リアルナンバーを付加し、最後のブロックにエンドマー
クを付加しておき、受信側のルーティングプロセッサで
はこれらの付加された情報を参照して分割されているブ
ロックを統合するようにしてもよい。その後、次ホップ
装置の物理アドレスを正しく書き替えるなどのプロトコ
ル処理を行った後、パケットはネットワークへ送出され
る。
【0083】つぎに、図16に示した、制御用のパスと
パケット転送用のパスとを分離した場合のハードウェア
構成におけるDMA転送のアービトレーションのプロト
コルを、図17を参照して説明する。
パケット転送用のパスとを分離した場合のハードウェア
構成におけるDMA転送のアービトレーションのプロト
コルを、図17を参照して説明する。
【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つのパケットを
複数のデータブロックに分割して転送した場合でも、受
け側モジュールのバッファメモリ内部で複数の送り側モ
ジュールから転送されてきたデータブロックが混ざるこ
とが無い。これにより処理を単純化、高速化できる。
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つのパケットを
複数のデータブロックに分割して転送した場合でも、受
け側モジュールのバッファメモリ内部で複数の送り側モ
ジュールから転送されてきたデータブロックが混ざるこ
とが無い。これにより処理を単純化、高速化できる。
【0085】つぎに、ルータバス1を介してパケット受
信時のルーティングプロセッサの処理動作を受け側ルー
ティングプロセッサ3(c)を例にして説明する。
信時のルーティングプロセッサの処理動作を受け側ルー
ティングプロセッサ3(c)を例にして説明する。
【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から次のように得
る。
は、転送ヘッダとパケットとをメモリ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から次のように得
る。
【0087】受け側ルーティングプロセッサ3(c)に
おいて、必要なアドレス情報としては、次ホップ論理ア
ドレス(例:TCP/IPの場合IPアドレス)に対応
する物理アドレスがある。μP31は、転送ヘッダに含
まれる次ホップ論理アドレスをデュアルポートメモリ3
4316を介してμP341に渡す。図8に示すアドレ
ス解決テーブルが、前述のIP中継専用ルーティングテ
ーブルと同じように、図6に示すようなリスト構造でメ
モリ33に構築されている。μP341は、次ホップ論
理アドレスをキーにハッシュ値を求めて、前述のIP中
継専用ルーティングテーブルの検索と同様のアルゴリズ
ムで求めるエントリを得る。求めた物理アドレスをデュ
アルポートメモリ34316を介してμP31に返す。
なお、前述のIP中継専用ルーティングテーブルの検索
と同様、ハッシュ生成、リスト検索をハードウェアで処
理する回路を付加することによりμP341の負荷を軽
減できる。
おいて、必要なアドレス情報としては、次ホップ論理ア
ドレス(例:TCP/IPの場合IPアドレス)に対応
する物理アドレスがある。μP31は、転送ヘッダに含
まれる次ホップ論理アドレスをデュアルポートメモリ3
4316を介してμP341に渡す。図8に示すアドレ
ス解決テーブルが、前述のIP中継専用ルーティングテ
ーブルと同じように、図6に示すようなリスト構造でメ
モリ33に構築されている。μP341は、次ホップ論
理アドレスをキーにハッシュ値を求めて、前述のIP中
継専用ルーティングテーブルの検索と同様のアルゴリズ
ムで求めるエントリを得る。求めた物理アドレスをデュ
アルポートメモリ34316を介してμP31に返す。
なお、前述のIP中継専用ルーティングテーブルの検索
と同様、ハッシュ生成、リスト検索をハードウェアで処
理する回路を付加することによりμP341の負荷を軽
減できる。
【0088】μP31は、送出インタフェースに合わせ
て形式を変換したパケットの宛先物理アドレスを、ルー
ティングアシスト部34から得た物理アドレスに変更す
る。その後通信制御部にフレームを転送して送信する。
以上のようにして、パケットの中継を行う。
て形式を変換したパケットの宛先物理アドレスを、ルー
ティングアシスト部34から得た物理アドレスに変更す
る。その後通信制御部にフレームを転送して送信する。
以上のようにして、パケットの中継を行う。
【0089】もしもアドレス解決テーブルに、必要な次
ホップ論理アドレスに対応する物理アドレスが登録され
ていなかった場合には、ルーティングプロセッサ3
(c)は、ARP(アドレス解決プロトコル)を用い
て、パケットを送出しようとしているネットワークに対
して問い合わせを行い、その結果、必要な物理アドレス
を得る。また、必要に応じてアドレス解決テーブルに問
い合わせの結果得た情報を登録する。このようにして物
理アドレスを得ることもできる。
ホップ論理アドレスに対応する物理アドレスが登録され
ていなかった場合には、ルーティングプロセッサ3
(c)は、ARP(アドレス解決プロトコル)を用い
て、パケットを送出しようとしているネットワークに対
して問い合わせを行い、その結果、必要な物理アドレス
を得る。また、必要に応じてアドレス解決テーブルに問
い合わせの結果得た情報を登録する。このようにして物
理アドレスを得ることもできる。
【0090】以上のように、ルーティングアシスト部3
4は、μP31の処理を軽減することによって性能向上
を図ることを狙ったルーティングアシスト手段と言うこ
とができる。従って、アシスト手段を備えずμP31の
みで処理を行うようにすることも可能であることは図2
で説明した。このような低コストのルータをまず実現し
ておいて、前述の実施例のようなアシスト手段を増設す
ることで性能向上を図った高速ルータを実現するアプロ
ーチをとることもできる。
4は、μP31の処理を軽減することによって性能向上
を図ることを狙ったルーティングアシスト手段と言うこ
とができる。従って、アシスト手段を備えずμP31の
みで処理を行うようにすることも可能であることは図2
で説明した。このような低コストのルータをまず実現し
ておいて、前述の実施例のようなアシスト手段を増設す
ることで性能向上を図った高速ルータを実現するアプロ
ーチをとることもできる。
【0091】ここまでの実施例では、IPルーティング
の例を説明したが、OSIを始めとする他のプロトコル
のルーティングも同様に実現可能であることは言うまで
もない。また、同時に複数のプロトコルをサポートする
ことによりマルチプロトコルを実現することも可能であ
る。
の例を説明したが、OSIを始めとする他のプロトコル
のルーティングも同様に実現可能であることは言うまで
もない。また、同時に複数のプロトコルをサポートする
ことによりマルチプロトコルを実現することも可能であ
る。
【0092】また、ブリッジフィルタリングもルーティ
ングアシスト部34でサポートすることにより、ブルー
タ装置を実現することも可能である。すなわち、ルーテ
ィングアシスト部34の解析処理手段は、出力先の解析
時に、記憶手段のルーティングテーブルに記憶している
宛先と、ネットワークからの情報の宛先とが一致するか
否かを判断し、一致している場合には、解析結果として
ルーティング情報を出力し、不一致の場合には、宛先が
不一致であることを出力し、転送処理手段は、転送処理
時に、該解析処理手段の出力が宛先が不一致である場合
においても、他のルーティングプロセッサに対して上記
ネットワークからの情報を転送する。これにより、宛先
が不一致のときにも、パケットを廃棄することなく他の
ルーティングプロセッサに転送することができる。
ングアシスト部34でサポートすることにより、ブルー
タ装置を実現することも可能である。すなわち、ルーテ
ィングアシスト部34の解析処理手段は、出力先の解析
時に、記憶手段のルーティングテーブルに記憶している
宛先と、ネットワークからの情報の宛先とが一致するか
否かを判断し、一致している場合には、解析結果として
ルーティング情報を出力し、不一致の場合には、宛先が
不一致であることを出力し、転送処理手段は、転送処理
時に、該解析処理手段の出力が宛先が不一致である場合
においても、他のルーティングプロセッサに対して上記
ネットワークからの情報を転送する。これにより、宛先
が不一致のときにも、パケットを廃棄することなく他の
ルーティングプロセッサに転送することができる。
【0093】つぎに、図14にルータの実装例を示す。
ルータは、ベース基板と、ベース基板に実装される、複
数のルーティングプロセッサの基板とを有する。ベース
基板には、管理部2を備えるようにしてもよいし、実装
するようにしてもよい。ルーティングプロセッサの基板
は、ルータバス1のコネクタを介して接続される。例1
に示すように、ルーティングプロセッサの基板に通信制
御部を備えるようにしてもよい。また、ルーティングプ
ロセッサの基板には、ルーティングアシスト部34を付
加できる。もしくは、例2に示すように、ルーティング
プロセッサの基板に、通信制御部とルーティングアシス
ト部34とを付加できるようにしてもよい。このように
して、中低速ルータとして処理する場合には、ルーティ
ングアシスト部34を実装しないで処理し、高速ルータ
として性能向上させる場合には、ルーティングアシスト
部34を付加して並列処理することにより、より高速に
処理することができる。
ルータは、ベース基板と、ベース基板に実装される、複
数のルーティングプロセッサの基板とを有する。ベース
基板には、管理部2を備えるようにしてもよいし、実装
するようにしてもよい。ルーティングプロセッサの基板
は、ルータバス1のコネクタを介して接続される。例1
に示すように、ルーティングプロセッサの基板に通信制
御部を備えるようにしてもよい。また、ルーティングプ
ロセッサの基板には、ルーティングアシスト部34を付
加できる。もしくは、例2に示すように、ルーティング
プロセッサの基板に、通信制御部とルーティングアシス
ト部34とを付加できるようにしてもよい。このように
して、中低速ルータとして処理する場合には、ルーティ
ングアシスト部34を実装しないで処理し、高速ルータ
として性能向上させる場合には、ルーティングアシスト
部34を付加して並列処理することにより、より高速に
処理することができる。
【0094】以上のように、本実施例によれば、受信パ
ケットのデータ転送をするパケット処理と、ヘッダ解析
による経路選択のルーティング処理との並列/分担処理
ができるので、高速ルータを実現することができる。ま
た、中低速ルータと高速ルータとの基本部を共通化する
ことができるので、開発コストが軽減できる。中低速ル
ータに、ルーティングアシストを付加することで高速ル
ータを実現することができるので、バージョンアップが
容易である。
ケットのデータ転送をするパケット処理と、ヘッダ解析
による経路選択のルーティング処理との並列/分担処理
ができるので、高速ルータを実現することができる。ま
た、中低速ルータと高速ルータとの基本部を共通化する
ことができるので、開発コストが軽減できる。中低速ル
ータに、ルーティングアシストを付加することで高速ル
ータを実現することができるので、バージョンアップが
容易である。
【0095】さらに、ルーティングテーブルキャッシュ
を設けることにより、以前ルーティング処理を行った宛
先に対するルーティング情報が残っていれば、ルーティ
ングテーブルの検索を省略できるため高速にパケット中
継ができる。
を設けることにより、以前ルーティング処理を行った宛
先に対するルーティング情報が残っていれば、ルーティ
ングテーブルの検索を省略できるため高速にパケット中
継ができる。
【0096】
【発明の効果】以上のように、本発明によれば、インタ
ネットワーク装置において、高速ルーティング処理を可
能とすることができ、性能向上が容易にできる。
ネットワーク装置において、高速ルーティング処理を可
能とすることができ、性能向上が容易にできる。
【図1】高速ルータの構成を示す構成図。
【図2】中低速ルータの構成を示す構成図。
【図3】ルーティングアシスト回路を示す構成図。
【図4】中継処理の流れを示す説明図。
【図5】受信時に通信制御部から送られるIP ove
r FDDIのパケットの形式を示す説明図。
r FDDIのパケットの形式を示す説明図。
【図6】ルーティングテーブルの構成を示す説明図。
【図7】IP中継専用ルーティングテーブルのデータ構
造を示す説明図。
造を示す説明図。
【図8】アドレス解決テーブルのデータ構造を示す説明
図。
図。
【図9】ルーティングプロセッサ間のパケット転送形式
を示す説明図。
を示す説明図。
【図10】ルーティングテーブルキャッシュの構成例を
示す説明図。
示す説明図。
【図11】ルーティングテーブルの検索を行う回路構成
図。
図。
【図12】ルーティングテーブルの検索のフローチャー
ト。
ト。
【図13】ヘッダ解析部の構成図。
【図14】ルータの実装例を示す説明図。
【図15】パケットを複数のデータブロックに分割する
場合の説明図。
場合の説明図。
【図16】メモリ33にデュアルポートD−RAMを用
いる場合の構成図。
いる場合の構成図。
【図17】DMA転送のアービトレーションの説明図。
1…ルータバス、2…管理部、3…ルーティングプロセ
ッサ、31…マイクロプロセッサ、32…制御回路、3
3…メモリ、34…ルーティングアシスト部、341…
マイクロプロセッサ、342…メモリ、343…ルーテ
ィングアシスト回路、51〜53、61〜63…通信制
御部。
ッサ、31…マイクロプロセッサ、32…制御回路、3
3…メモリ、34…ルーティングアシスト部、341…
マイクロプロセッサ、342…メモリ、343…ルーテ
ィングアシスト回路、51〜53、61〜63…通信制
御部。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 大西 勝善 神奈川県横浜市戸塚区吉田町292番地 株 式会社日立製作所マイクロエレクトロニク ス機器開発研究所内 (72)発明者 佐藤 博 神奈川県海老名市下今泉810番地 株式会 社日立製作所オフィスシステム事業部内 (72)発明者 塚越 雅人 神奈川県川崎市麻生区王禅寺1099 株式会 社日立製作所システム開発研究所内 (72)発明者 横山 達也 神奈川県川崎市麻生区王禅寺1099 株式会 社日立製作所システム開発研究所内 (72)発明者 村上 俊彦 神奈川県川崎市麻生区王禅寺1099 株式会 社日立製作所システム開発研究所内
Claims (14)
- 【請求項1】複数のネットワークを相互に接続し、一の
ネットワークからの情報を他のネットワークに中継する
インタネットワーク装置において、 各々のネットワークに対応して設けられ、該ネットワー
クからの情報を当該情報の宛先に基づいて中継する中継
処理部を有し、 上記中継処理部は、宛先に対応して中継経路情報を記憶
している記憶手段と、該記憶手段を参照し、ネットワー
クからの情報の宛先を解析して解析結果を出力する解析
処理手段と、該解析処理手段の出力に基づいて対応する
他の中継処理部に対して上記ネットワークからの情報を
転送する転送処理手段とを備えることを特徴とするイン
タネットワーク装置。 - 【請求項2】請求項1において、上記解析処理手段と上
記転送処理手段とは、並列処理することを特徴とするイ
ンタネットワーク装置。 - 【請求項3】請求項2において、上記解析処理手段は、
上記解析結果として中継経路情報を出力し、 上記転送処理手段は、上記解析処理手段の中継経路情報
を上記ネットワークからの情報に付加して転送すること
を特徴とするインタネットワーク装置。 - 【請求項4】請求項3において、上記記憶手段は、上記
中継経路情報として当該中継処理部の出力先のネットワ
ークに関する識別情報をさらに記憶し、 上記転送処理手段は、他の中継処理部からの転送された
情報を受信し、 上記解析処理手段は、転送された情報に付加されている
中継経路情報および上記記憶手段の出力先のネットワー
クに関する識別情報に基づいて出力先を解析し、 上記転送処理手段は、他の中継処理部からの転送された
情報を、上記解析処理手段で解析した出力先のネットワ
ークに対して出力することを特徴とするインタネットワ
ーク装置。 - 【請求項5】請求項1において、上記解析処理手段は、
出力先の解析時に、上記記憶手段に記憶している宛先
と、ネットワークからの情報の宛先とが一致するか否か
を判断し、一致している場合には、解析結果を出力し、 上記転送処理手段は、転送処理時に、上記解析処理手段
の出力が宛先が不一致である場合においても、他の中継
処理部に対して上記ネットワークからの情報を転送する
ことを特徴とするインタネットワーク装置。 - 【請求項6】請求項2において、上記中継処理部は、上
記解析処理手段と上記転送処理手段とが読み書きできる
共有記憶手段をさらに有し、 該共有記憶手段は、上記解析処理手段で解析した宛先に
対応する中継経路情報を記憶することを特徴とするイン
タネットワーク装置。 - 【請求項7】請求項6において、上記中継処理部は、上
記共有記憶手段に記憶している宛先と、新たに受信した
ネットワークからの情報の宛先とが一致するか否かを判
断する判断手段をさらに有し、 上記解析処理手段は、上記判断手段により一致しないと
判断した場合には、上記解析処理を行い、上記判断手段
により一致したと判断した場合には、上記共有記憶手段
に記憶されている中継経路情報に対して再利用できない
中継経路情報のみを書き替える処理をすることを特徴と
するインタネットワーク装置。 - 【請求項8】請求項1において、上記転送処理手段は、
ネットワークからの情報の宛先を解析して解析結果を出
力する機能をさらに有することを特徴とするインタネッ
トワーク装置。 - 【請求項9】請求項2において、上記中継処理部は、ネ
ットワークからの情報を蓄積する蓄積手段と、ネットワ
ークからの情報の宛先を保持する保持手段とをさらに有
し、 上記解析処理手段は、上記保持手段に保持した宛先を解
析し、 上記転送処理手段は、上記蓄積手段に蓄積した情報を転
送することを特徴とするインタネットワーク装置。 - 【請求項10】請求項1において、上記記憶手段は、宛
先を表す数値に基づいて、予め定めたハッシング関数に
基づいた値をアドレスにして用い、 上記解析処理手段は、上記記憶手段参照時に、宛先を表
す数値に基づいて、ハッシング値を求めて参照すること
を特徴とするインタネットワーク装置。 - 【請求項11】請求項1において、上記中継処理部は、
ネットワークに接続するポートを複数備え、 上記記憶手段は、宛先に対応する中継処理部の論理識別
番号と、上記中継処理部のポートの論理識別情報とを中
継経路情報として記憶し、 上記解析処理手段は、上記解析結果として、上記中継経
路情報を出力し、 上記転送処理手段は、他の中継処理部からの転送された
情報を、上記解析処理手段により出力された中継経路情
報を付加して出力先のネットワークに対して出力するこ
とを特徴とするインタネットワーク装置。 - 【請求項12】複数のネットワークを相互に接続し、一
のネットワークからの情報を他のネットワークに中継す
るインタネットワーク装置において、 各々のネットワークに対応して設けられ、一のネットワ
ークからの情報を宛先に基づいて中継する中継処理部を
有し、 上記中継処理部は、宛先に対応して中継経路を記憶して
いる記憶手段と、該記憶手段を参照し、ネットワークか
らの情報の宛先を解析して解析結果を出力する第1のプ
ロセッサと、該第1のプロセッサの解析結果に基づいて
対応する他の中継処理部に対して上記ネットワークから
の情報を転送する第2のプロセッサとを備えることを特
徴とするインタネットワーク装置。 - 【請求項13】複数のネットワークを相互に接続し、一
のネットワークからの情報を他のネットワークに中継す
るインタネットワーク装置に搭載され、各々のネットワ
ークに対応して設けられる中継処理回路であって、 該中継処理回路は、宛先に対応して中継経路を記憶して
いる記憶手段と、該記憶手段を参照し、ネットワークか
らの情報の宛先を解析して解析結果を出力する第1のプ
ロセッサと、該第1のプロセッサの解析結果に基づいて
対応する他の中継処理部に対して上記ネットワークから
の情報を転送する第2のプロセッサとを備えることを特
徴とする中継処理回路。 - 【請求項14】複数のネットワークと、該ネットワーク
を相互に接続し、一のネットワークからの情報を他のネ
ットワークに中継するインタネットワーク装置とを有す
るネットワークシステムにおいて、 上記インタネットワーク装置は、上記ネットワークから
の情報を宛先に基づいて中継する中継処理部を各々のネ
ットワークに対応して有し、該中継処理部は、バスによ
りそれぞれ接続され、 上記中継処理部は、ネットワークからの情報の宛先を解
析して解析結果を出力する解析処理と、該解析処理手段
の解析結果に基づいて対応する他の中継処理部に対して
上記ネットワークからの情報を転送する転送処理とを分
散処理することを特徴とするネットワークシステム。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5162444A JPH06197111A (ja) | 1992-10-26 | 1993-06-30 | インタネットワーク装置 |
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4-287765 | 1992-10-26 | ||
| JP28776592 | 1992-10-26 | ||
| JP5162444A JPH06197111A (ja) | 1992-10-26 | 1993-06-30 | インタネットワーク装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH06197111A true JPH06197111A (ja) | 1994-07-15 |
Family
ID=26488240
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP5162444A Pending JPH06197111A (ja) | 1992-10-26 | 1993-06-30 | インタネットワーク装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH06197111A (ja) |
Cited By (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2005539456A (ja) * | 2002-09-18 | 2005-12-22 | コリア エレクトロニクス テクノロジ インスティチュート | 異機種ネットワーク・プロトコルとマルチメディア・データの統合処理方法及び装置 |
| JP2006313949A (ja) * | 2005-05-06 | 2006-11-16 | Hitachi Ltd | パケット転送装置 |
| JP2007525883A (ja) * | 2004-01-14 | 2007-09-06 | リヴァーストーン ネットワークス インコーポレーテッド | ネットワークノードにおける処理利用管理 |
| JP2008125116A (ja) * | 2003-01-07 | 2008-05-29 | Intel Corp | ネットワークフォワーディングエレメントでデータプレーンの挙動を構成するための装置及び方法 |
| JP2009165159A (ja) * | 2009-03-11 | 2009-07-23 | Hitachi Ltd | ネットワーク中継装置 |
| WO2011148925A1 (ja) * | 2010-05-24 | 2011-12-01 | 日本電気株式会社 | 半導体装置とネットワークルーティング方法とシステム |
| US8139576B2 (en) | 2000-01-26 | 2012-03-20 | Hitachi, Ltd. | Network routing apparatus |
-
1993
- 1993-06-30 JP JP5162444A patent/JPH06197111A/ja 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 (ja) * | 2002-09-18 | 2005-12-22 | コリア エレクトロニクス テクノロジ インスティチュート | 異機種ネットワーク・プロトコルとマルチメディア・データの統合処理方法及び装置 |
| JP2008125116A (ja) * | 2003-01-07 | 2008-05-29 | Intel Corp | ネットワークフォワーディングエレメントでデータプレーンの挙動を構成するための装置及び方法 |
| JP2007525883A (ja) * | 2004-01-14 | 2007-09-06 | リヴァーストーン ネットワークス インコーポレーテッド | ネットワークノードにおける処理利用管理 |
| JP2006313949A (ja) * | 2005-05-06 | 2006-11-16 | Hitachi Ltd | パケット転送装置 |
| JP2009165159A (ja) * | 2009-03-11 | 2009-07-23 | Hitachi Ltd | ネットワーク中継装置 |
| WO2011148925A1 (ja) * | 2010-05-24 | 2011-12-01 | 日本電気株式会社 | 半導体装置とネットワークルーティング方法とシステム |
| JPWO2011148925A1 (ja) * | 2010-05-24 | 2013-07-25 | 日本電気株式会社 | 半導体装置とネットワークルーティング方法とシステム |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3645734B2 (ja) | ネットワーク中継装置及びネットワーク中継方法 | |
| US6683885B1 (en) | Network relaying apparatus and network relaying method | |
| JP4115721B2 (ja) | スイッチングノードのための分類およびタグ付け規則 | |
| 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 | |
| US7606148B2 (en) | Packet forwarding apparatus | |
| JP4481517B2 (ja) | インターネットワーク装置及びインターネットワーク方法 | |
| US7616646B1 (en) | Intraserver tag-switched distributed packet processing for network access servers | |
| JP3113742B2 (ja) | インタネットワーク装置 | |
| US7764672B2 (en) | Packet communication device | |
| JP2001045061A (ja) | 通信ノード装置 | |
| JPH0818571A (ja) | Atm−lan及びサーバ及びatmアドレス管理方法 | |
| JP4182180B2 (ja) | ネットワーク中継装置及びネットワーク中継方法 | |
| KR100612315B1 (ko) | 핑퐁 방지 기능이 구비된 분산형 라우터 및 그를 이용한핑퐁 방지 방법 | |
| JPH06197111A (ja) | インタネットワーク装置 | |
| JP3645735B2 (ja) | ネットワーク中継装置及びネットワーク中継方法 | |
| JP3645733B2 (ja) | ネットワーク中継装置及びネットワーク中継方法 | |
| JP3228249B2 (ja) | ルータ装置 | |
| KR100258264B1 (ko) | 이더넷 스위치를 이용한 3계층 라우팅 처리방법 및 장치 | |
| JP3352073B2 (ja) | インタネットワーク装置 | |
| JP3475192B2 (ja) | インタネットワーク装置およびルータ | |
| JP3435130B2 (ja) | インタネットワーク装置 | |
| JP4029708B2 (ja) | ルータ装置、及び転送制御方法 | |
| JPH10145417A (ja) | インタネットワーク装置 | |
| JP3475158B2 (ja) | 通信処理方法 |