JP2004282729A - ネットワーク中継装置 - Google Patents

ネットワーク中継装置 Download PDF

Info

Publication number
JP2004282729A
JP2004282729A JP2004048955A JP2004048955A JP2004282729A JP 2004282729 A JP2004282729 A JP 2004282729A JP 2004048955 A JP2004048955 A JP 2004048955A JP 2004048955 A JP2004048955 A JP 2004048955A JP 2004282729 A JP2004282729 A JP 2004282729A
Authority
JP
Japan
Prior art keywords
transfer
unit
units
output
search
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2004048955A
Other languages
English (en)
Other versions
JP4415700B2 (ja
Inventor
Takayuki Muranaka
孝行 村中
Takeshi Furusawa
猛 古澤
Tetsuya Nagata
哲也 永田
Nobuhito Matsuyama
信仁 松山
Tatsuro Kanetake
達郎 金武
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Hitachi Information Technology Co Ltd
Original Assignee
Hitachi Ltd
Hitachi Hybrid Network Co Ltd
Hitachi Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP2003046679A external-priority patent/JP2004260365A/ja
Application filed by Hitachi Ltd, Hitachi Hybrid Network Co Ltd, Hitachi Information Technology Co Ltd filed Critical Hitachi Ltd
Priority to JP2004048955A priority Critical patent/JP4415700B2/ja
Publication of JP2004282729A publication Critical patent/JP2004282729A/ja
Application granted granted Critical
Publication of JP4415700B2 publication Critical patent/JP4415700B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Small-Scale Networks (AREA)

Abstract

【課題】1対多又は多対1又は多対多で接続可能な転送エンジン及び検索エンジンを有するネットワーク中継装置を提供する。
【解決手段】
ネットワーク中継装置のルーティングプロセッサは、回線から受信したパケットのパケットヘッダを抽出する1つまたは複数の転送エンジン30と、各転送エンジンから受け取ったパケットヘッダを用いて出力方路情報を抽出する1つまたは複数の検索エンジン40を備える。
各ルーティングプロセッサにおいて、1つの転送エンジン30が1つの検索エンジン40、または複数の転送エンジン30が1つの検索エンジン40、または1つの転送エンジン30が複数の検索エンジン40、または複数の転送エンジン30が複数の検索エンジン40と接続されている。
【選択図】 図1


Description

本発明は、高速で、且つポート密度の高いネットワーク中継装置に関する。特に、検索エンジンと転送エンジンが1対多、多対1、多対多と可変に接続可能なネットワーク中継装置に関する。
ネットワークシステムにおいては、複数のネットワークがルータ等のネットワーク中継装置を介して接続され、その中でパケットが中継される。ネットワーク中継装置は、受信したパケットに含まれている宛先アドレスに基づきパケットの転送先を決定し、転送先のルータ又はホスト又はクライアント端末が接続されている回線にパケットを出力する。
このようなネットワーク中継装置の一例が、例えば、特開2001−211203号公報に開示されている。この文献に示されているネットワーク中継装置は、色々な種類のネットワークインタフェース(回線)と接続され、パケットを送受信するネットワークインターフェースボード(NIF:Network Interface Board)、受信したパケットのヘッダに含まれる宛先アドレスによってパケットの転送先を検索し、パケットを転送するルーティングプロセッサ(RP:Routing Processor)、各RPと接続され、RP間でパケットを転送するクロスバスイッチ(CSW:Cross bar Switch)から構成される。更に、このネットワーク中継装置において、各RPは複数のパケット転送ユニットを含む。パケット転送ユニットは、パケットのヘッダに含まれる宛先アドレスからパケットの転送先を検索し、パケットを転送する。各RPはでは、NIFから受信したパケット及びCSWから受信したパケットを、複数のパケット転送ユニットに振り分ける。これにより、このネットワーク中継装置では、パケット転送処理が高速化されている。
特開2001−211203
図12は、ネットワーク中継装置の構成の一例を示す図である。図12において、ネットワーク中継装置は、例えば、パケットバッファを有する転送エンジンと、ルーティングテーブルを有する検索エンジンと、スイッチエンジンとを含むルーティングプロセッサを備えている。また、ネットワーク中継装置は、複数のルーティングプロセッサと接続され、複数のルーティングプロセッサ間でパケットを中継するクロスバスイッチも備えている。ルーティングプロセッサの転送エンジンと検索エンジンは、それぞれ1対1で接続されている。なお、図12における転送エンジン、検索エンジン及びスイッチエンジンが、上述した文献に示されたパケット転送ユニットに対応する。
まず、転送エンジンは、回線からパケットを受信すると、受信したパケットをパケットバッファに格納する(1)。また、転送エンジンは、受信したパケットからパケットヘッダを抽出し、検索エンジンに送信する(2)。検索エンジンは、受信したパケットヘッダを基にルーティングテーブルを検索し、出力方路を決定する(3)。ルーティングテーブルは、例えば、検索エンジンの内部メモリまたは外部メモリに格納されており、宛先IPアドレスに対応する出力スイッチエンジン及び出力回線を示す情報を含む。検索エンジンは、決定した出力方路を転送エンジンに送信する(4)。また、検索エンジンは、パケットヘッダに基づきパケットを廃棄するフィルタリングやQoS(Quality of Service)に関する処理を行う場合もある。転送エンジンは、スイッチエンジンに向かって、受信した出力方路とパケットバッファに格納していたパケットを送信する(5)。スイッチエンジンは、指定された出力方路へパケットをスイッチングする(6)。
例えば、図12に示したようなネットワーク中継装置では、転送エンジンと検索エンジンが1対1で固定的に接続されている。ネットワーク中継装置の検索エンジンは、ネットワークに関する重要な情報を保持する。そのため、ネットワーク中継装置の利用者には、信頼性向上のために検索エンジンを二重化したいというニーズがある。しかし、上述したネットワーク装置においては、検索エンジンを二重化すると、1対1で接続されている転送エンジンも二重化する必要がある。また、転送エンジンは回線と接続されているため、回線も二重化することになり、ネットワーク中継装置の構成を変更するだけでは二重化を実現することができない。
また、上述したネットワーク中継装置では、ポート数を増やすために転送エンジン数を増やすと、1対1で接続されている検索エンジンも増やす必要がある。一般に検索エンジンは高価であり、検索エンジン数を増やすと装置全体も高価になる。
さらに、転送エンジンと検索エンジンの接続を1対多、多対1とするネットワーク中継装置を製作する場合、接続状況に応じて転送エンジンや検索エンジンのLSI等を開発する必要があり、開発コストがかかる。
本発明は、以上の点に鑑み、1対多又は多対1又は多対多で接続可能な転送エンジン及び検索エンジンを有するネットワーク中継装置を提供する。
また、本発明は、同じ構造の転送エンジンと検索エンジンで複数の接続パターンを選択可能なネットワーク中継装置を提供する。
さらに、本発明は、転送エンジンと検索エンジン間でパケットヘッダ及び出力方路を効率的に送受信できるネットワーク中継装置を提供する。
本発明のネットワーク中継装置は、回線からパケットを受信して中継する複数のルーティング部と、各ルーティング部から他のルーティング部へパケットを転送するスイッチ部からなる。
各ルーティング部は、各回線から受信したパケットのパケットヘッダを抽出する1つまたは複数の転送部と、各転送部から受け取ったパケットヘッダを用いて出力先情報を抽出する1つまたは複数の検索部を備える。
そして、各ルーティング部において、1つの転送部に1つの検索部が接続され、または複数の転送部が1つの検索部に接続され、または1つの転送部に複数の検索部が接続され、または複数の転送部と複数の検索部とが接続されている。
各転送部は、接続されているそれぞれの検索部にパケットヘッダを出力する。
各検索部は、パケットヘッダを出力した転送部に対してのみ出力先情報を出力する。
本発明によれば、同じ構造の転送エンジンと検索エンジンとを、1対多又は多対1又は多対多で接続可能である、従って、ネットワーク中継装置の構成に応じて、転送エンジンと検索エンジンとの接続パターンを選択可能である。
以下、図面を用いてネットワーク中継装置の一実施例について説明する。
図1は、ネットワーク中継装置の構成の一例を示す。
図1において、ネットワーク中継装置は、例えばクロスバスイッチで構成されるスイッチ10と、スイッチ10に接続される複数のルーティングプロセッサ210、220、230とを備える。各ルーティングプロセッサは、転送エンジン30、検索エンジン40、スイッチエンジン50を有する。また、転送エンジン30は、それぞれ1つ乃至複数の回線と直接または間接的に接続されている。図1では、ネットワーク中継装置は、ルーティングプロセッサとして、例えば、転送エンジン30と検索エンジン40が1対1で接続されたタイプAのルーティングプロセッサ210、2以上の転送エンジン30と1つの検索エンジン40が多対1で接続されたタイプBのルーティングプロセッサ220、1つの転送エンジン30と2以上の検索エンジン40が1対多で接続されたタイプCのルーティングプロセッサ230を備えている。
また、図2にネットワーク中継装置の他の構成例を示す。
図2に示したネットワーク中継装置も、図1に示したネットワーク中継装置と同じ構成を備える。但し、図2におけるネットワーク中継装置は、ルーティングプロセッサとして、2以上の転送エンジン30と2以上の検索エンジン40が多対多で接続されたタイプDのルーティングプロセッサ240を備えている。
各ルーティングプロセッサでは、転送エンジン30と検索エンジン40が、1対多又は多対1又は多対多で相互に接続されるためのアーキテクチャを持つ。各転送エンジン30は、アーキテクチャに応じた所定の設定に従い、複数の検索エンジン40を接続するための接続部を備えている。同様に、各検索エンジン40は、アーキテクチャに応じた所定の設定に従い、複数の転送エンジン30を接続するための接続部を備えている。
なお、図1にはタイプA、B、Cのルーティングプロセッサがひとつずつ示されている。また、図2にはタイプDのルーティングプロセッサ240が2つ示されている。しかし、ネットワーク中継装置は、タイプA〜タイプDのうちの何れか1つのタイプのルーティングプロセッサのみを備えることもでき、また、タイプA〜タイプDのルーティングプロセッサをそれぞれ1つまたは複数個備えることもできる。
スイッチ10は、スイッチエンジンを有し、各ルーティングプロセッサとの間でパケットを転送する。スイッチ10は、各ルーティングプロセッサのスイッチエンジン50からパケット及び出力方路情報を受け取ると、出力方路情報に含まれる出力スイッチエンジン番号に応じたスイッチエンジン50に当該パケットを転送する。なお、スイッチ10は、例えば、現用系と予備系を有する多重化構成であってもよい。また、スイッチ10のスイッチエンジンと、各ルーティングプロセッサのスイッチエンジン50は、同じ構造を持つことができる。
転送エンジン30は、パケットを記憶するパケットバッファを有し、回線から受信したパケットをパケットバッファに格納する。また、転送エンジン30は、受信したパケットからパケットヘッダを抽出し、検索エンジン40へ送る。転送エンジン30は、検索エンジン40から出力方路情報を受け取り、受け取った出力方路情報とパケットバッファに格納されているパケットをスイッチエンジン50に転送する。また、転送エンジン30は、入力回線番号及び入力転送エンジン番号をさらに検索エンジン40に送ってもよい。入力回線番号及び入力転送エンジン番号は、例えば、検索エンジン40でのフィルタリングやQoSに関する処理に使用される。
検索エンジン40は内部メモリを備え、または、外部メモリと接続されている。内部メモリまたは外部メモリはルーティングテーブルを格納している。ルーティングテーブルには、1つ以上のアドレス(IPアドレス)と、各アドレスに対応する出力スイッチエンジン番号、出力転送エンジン番号及び出力回線番号を含む出力方路情報が登録されている。検索エンジン40は、転送エンジン30から受け取ったパケットヘッダに含まれている宛先アドレスを検索キーとして、ルーティングテーブルを検索する。検索エンジン40は、宛先アドレスと一致するアドレスに対応する出力方路情報を抽出すると、転送エンジン30に送る。また、検索エンジン40は、転送エンジン30から受け取った入力回線番号及び入力転送エンジン番号、及び/又は、出力方路情報に基づき、フィルタリング又はQoSに関する処理を行う。
スイッチエンジン50は、転送エンジン30からパケット及び出力方路情報を受け取り、その出力方路情報に従い、パケットをスイッチ10のスイッチエンジンまたは転送エンジン30へ転送する。また、スイッチエンジン50は、スイッチ10から出力方路情報及びパケットを受信し、転送エンジン30へ送信する。スイッチエンジン50からパケット及び出力方路情報を受け取った転送エンジン30は、その出力方路情報に従い、パケットを何れかの回線に向けて出力する。
上述した通り、タイプAのルーティングプロセッサ210は、検索エンジン40と転送エンジン30が1対1で接続されている。タイプAのルーティングプロセッサ210は、タイプB、タイプCまたはタイプDの構成に比べて性能のバランスを重視した構成である。
タイプBのルーティングプロセッサ220は、1つの検索エンジン40に対して、2以上の転送エンジン30が接続された構成である。なお、図1に示すタイプBのルーティングプロセッサ230においては、スイッチエンジン50と転送エンジン30も1対多で接続されているが、複数のスイッチエンジン50を配置し、スイッチエンジン50と転送エンジン30を1対1で接続するようにしてもよい。上述のタイプAの構成では、1つの検索エンジン40に対する回線数(ポート数)を増やすためには、転送エンジン30、検索エンジン40、スイッチエンジン50のそれぞれを増やす必要がある。一方、タイプBの構成では、1つの検索エンジン40に対する回線数(各回線と接続されるポート数)を多くできるため、ポート単価を安くすることができる。すなわち、タイプBのルーティングプロセッサ220は、タイプAまたはタイプCの構成に比べて回線収容数(ポート密度)を重視した構成である。特に、パケット長の長いパケットを扱う場合、ペイロード(データ)を含むパケット全体を処理する転送エンジン30(性能はbps:bit per secondで表される)の負荷に対して、パケットヘッダのみを処理する検索エンジン40(性能はpps:packet per secondで表される)の負荷は小さい。そのため、タイプBの構成とすることにより検索エンジン40を効率的に利用することができる。
また、タイプCのルーティングプロセッサ230は、1つの転送エンジン30に対して、2以上の検索エンジン40が接続された構成である。タイプCは、回線を多重化せずに、スイッチエンジン50や検索エンジン40を多重化した、信頼性を重視した構成である。タイプCの構成によれは、例えば、一組の検索エンジン40及びスイッチエンジン50を予備系とし、残りを現用系とすることができる。特に、検索エンジン40は、ネットワークに関する重要な情報を保持しているため、検索エンジン40を二重化することでルーティングプロセッサ20の信頼性を向上させることができる。なお、予備系は一組でなくてもよく、複数組を予備系としてもよい。また、図1においては、スイッチエンジン50も多重化された構成となっているが、検索エンジン40のみを多重化し、スイッチエンジン50と転送エンジン30は1対1で接続された構成としてもよい。
更に、タイプDのルーティングプロセッサ240は、2以上の転送エンジン30に対して2以上の検索エンジン40が接続された構成である。タイプDのルーティングプロセッサ240では、複数の転送エンジン30が各検索エンジン40に接続されている。このため、1つの検索エンジン40に対する回線数(ポート数)が多くなっている。更に、複数の検索エンジン40が各転送エンジン30に接続されていて、検索エンジン40が多重化されている。即ち、タイプCは、タイプBとタイプCを組み合わせた構成となっている。従って、タイプCと同様に、タイプDにおいても一組または複数組の検索エンジン40とスイッチエンジン50を予備系として待機させておくことができる。なお、タイプDのルーティングプロセッサ240においても、スイッチエンジン50については転送エンジン30と1対1で接続してもよい。
ところで、転送エンジン30、検索エンジン40及びスイッチエンジン50はそれぞれ1つまたは複数のLSIによって構成される。転送エンジン30、検索エンジン40及びスイッチエンジン50を構成する各LSIは、プリント基板或いはセラミック基板等の配線基板上に搭載される。各LSIは、配線基板に予め形成された複数の信号配線によって接続される。これらの信号配線は銅等の金属によって配線基板上または内部に形成される。転送エンジン30、検索エンジン40及びスイッチエンジン50を構成する各LSIは、各信号配線と接続される複数の入出力端子を備え、これらの信号配線を介して上述したようにパケット、パケットヘッダまたは出力方路情報等を互いに転送し合う。このように、各ルーティングプロセッサは、転送エンジン30、検索エンジン40及びスイッチエンジン50を構成する各LSIと、各々のLSIが搭載される配線基板によって実現される。配線基板には、各LSIの他にメモリ等も搭載される。メモリは、例えば上述したルーティングテーブルを格納するために使用される。
なお、転送エンジン30、検索エンジン40及びスイッチエンジン50は、同一の配線基板ではなく、それぞれ異なる配線基板上に搭載されても良い。また、転送エンジン30、検索エンジン40及びスイッチエンジン50は、それぞれモジュール、ユニットまたはカードとして構成されて、ネットワーク中継装置に組み込まれても良い。各エンジンがモジュール、ユニットまたはカードとして構成される場合、各エンジンは互いを接続するためのインタフェース(上述した複数の入出力端子に対応する)を備える。各エンジンはそのようなインタフェースに接続されたケーブル等(上述した複数の信号配線に対応する)を介して互いに接続される。
各ルーティングプロセッサにおいて、各転送エンジン30と各検索エンジン40とを接続する複数の信号配線は、例えば128ビットの幅のデータバスを含む。データバスは、その幅に対応した、例えば128本の信号配線から構成される。また、各転送エンジン30と各検索エンジン40は、それぞれ、データバスの各信号配線と接続される128個のデータ入出力端子(例えばピンまたはソケット)を備える。各データ入出力端子は1ビットのデータを入出力し、各信号配線はそれぞれ1ビットの信号(データ)を伝送する。従って、各転送エンジン30と各検索エンジン40とは、データバスを用いて最大128ビットの信号(データ)を互いに送受信し合うことができる。
図3及び図4は、各転送エンジン30と各検索エンジン40がデータバス80を介して接続された状態を示す。
例えば、タイプAのルーティングプロセッサ210では、図3(a)に示されるように1つの転送エンジン30と1つの検索エンジン40とがデータバス80を介して接続される。この場合、転送エンジン30と検索エンジン40は、それぞれの128個のデータ入出力端子(以下、データ入出力端子0−127と記す)を全て使用し、データバス80の128本の信号配線(以下、信号配線0−127)を介して最大128ビットのデータを送受信できる。
一方、タイプBのルーティングプロセッサ220において、例えば1つの検索エンジン40に対して2つの転送エンジン30が接続されるとする。この場合、検索エンジン40のデータ入出力端子0−127が、データバスを介して2つの転送エンジン30に接続される必要がある。そのため、検索エンジン40のデータ入出力端子0−127は、論理的に2つのデータ入出力端子群(データ入出力端子群0−63とデータ入出力端子群64−127)に分けられる。同様に、各転送エンジン30のデータ入出力端子0−127も論理的に2つのデータ入出力端子群に分けられる。そして、図3(b)に示されるように、各転送エンジン30の一方のデータ入出力端子群(例えばデータ入出力端子群0−63)が、検索エンジン40のそれぞれのデータ入出力端子群にデータバスを介して接続されることになる。従って、この場合、検索エンジン40と各転送エンジン30は、それぞれデータ入出力端子0−127のうち半分のデータ入出力端子群(0−63または64−127)を使用し、データバスを介して最大64ビットのデータを送受信する。
また、タイプBのルーティングプロセッサ220において、1つの検索エンジン40に対して4つの転送エンジン30が接続された状態を図3(c)に示す。この場合、検索エンジン40のデータ入出力端子0−127は、論理的に4つのデータ入出力端子群(0−31、32−63、64−95、96−127)に分けられる。同様に、各転送エンジン30のデータ入出力端子0−127も論理的に4つのデータ入出力端子群に分けられる。そして、図3(c)に示されるように、各転送エンジン30の1つのデータ入出力端子群(例えばデータ入出力端子群0−31)が、検索エンジン40のそれぞれのデータ入出力端子群にデータバスを介して接続されることになる。従って、この場合、検索エンジン40と各転送エンジン30は、それぞれデータ入出力端子0−127のうち1/4のデータ入出力端子群(0−31、32−63、64−95、96−127の何れか)を使用し、データバスを介して最大32ビットのデータを送受信する。
次に、タイプCのルーティングプロセッサ230において、1つの転送エンジン30に対して2つの検索エンジン40が接続された状態を図4(a)に示す。この場合は、転送エンジン30と各検索エンジン40のデータ入出力端子がそれぞれ論理的に2つのデータ入出力端子群に分けられる。そして、図3(b)に示された状態と同様に、各検索エンジン40の1つのデータ入出力端子群(例えばデータ入出力端子群0−63)が、転送エンジン30のそれぞれのデータ入出力端子群にデータバスを介して接続される。
また、タイプCのルーティングプロセッサ230において、1つの転送エンジン30に対して4つの検索エンジン40が接続された状態を図4(b)に示す。この場合は、転送エンジン30と各検索エンジン40のデータ入出力端子がそれぞれ論理的に4つのデータ入出力端子群に分けられる。そして、図3(c)に示された状態と同様に、各検索エンジン40の1つのデータ入出力端子群(例えばデータ入出力端子群0−31)が、転送エンジン30のそれぞれのデータ入出力端子群にデータバスを介して接続される。
更に、タイプDのルーティングプロセッサ240において、2つまたは4つの転送エンジン30と2つまたは4つの検索エンジン40が接続される場合も同様である。この場合は、各転送エンジン30と各検索エンジン40のデータ入出力端子がそれぞれ論理的に2つまたは4つのデータ入出力端子群に分けられる。そして、各検索エンジン40の1つのデータ入出力端子群(例えばデータ入出力端子群0−63またはデータ入出力端子群0−31)が、1つの転送エンジン30のそれぞれのデータ入出力端子群にデータバスを介して接続される。また、各検索エンジン40の他のデータ入出力端子群が、他の転送エンジン30のそれぞれのデータ入出力端子群にデータバスを介して接続されることになる。
このように、タイプAとタイプB〜Dとでは、各検索エンジン40に接続される各転送エンジン30の入出力端子数は異なっている。更に、タイプB〜Dであっても、転送エンジン30または検索エンジン40の個数によって、各検索エンジン40に接続される各転送エンジン30の入出力端子数は異なる。そのため、各検索エンジン40と各転送エンジン30とが送受信できるデータの最大幅は異なり、データ伝送に使用するデータバスの幅も異なる。更に、タイプCやタイプDのルーティングプロセッサ230、240においては、転送エンジン30は、多重化された各々の検索エンジン40に同じデータを出力する必要がある。
そこで、図1及び図2に示した転送エンジン30及び検索エンジン40は、データの最大幅(データ入出力端子数)を変えてデータを送受信できる接続部を備える。更に、転送エンジン30の接続部は、同一のデータを論理的に分けた複数の入出力端子群から出力させる。転送エンジン30と検索エンジン40がそのような接続部を備えることにより、検索エンジン40は複数の転送エンジン30と接続されることができる。また、転送エンジン30も複数の検索エンジン40と接続され、各検索エンジン40に同じデータを送信できる。このように、全てのタイプのルーティングプロセッサに同一の転送エンジン30及び検索エンジン40を用いることができる。
接続部の詳細な構成について図5及び図6を用いて説明する。
図5は、転送エンジン30の接続部60の構成図を示す。
接続部60は上述したデータ入出力端子0−127と接続され、パケットヘッダ等のデータを転送エンジン内部の回路から受け取ってデータ入出力端子へ送り、データバスへ出力させる。また、データ入出力端子を介してデータバスから受信した出力方路情報等を転送エンジン内部の回路に送る。
図5において、転送エンジン30の接続部60は、モードレジスタ610と、セレクタ620、630、640と、2進カウンタ650及び4進カウンタ660とを有する。また、接続部60は128ビットの幅のバス670を備える。バス670は128本のデータ線(以下、データ線0−127)を含む。バス670は転送エンジン内部の回路または信号線と接続され、また、セレクタ620を介してデータ入出力端子0−127と接続される。データ線0−127のそれぞれはデータ入出力端子0−127のそれぞれと接続される。各データ線は、バス670によって伝送される128ビットのデータ(以下、ビット0−127のデータ)のうち、それぞれの位置に対応したビットのデータを伝送する。即ち、1ビット目(ビット0)のデータは1番目のデータ線(データ線0)により伝送される。また、データ線0−127のそれぞれによって伝送される1ビット目(ビット0)から128ビット目(ビット127)の各々のデータは、各ビットの位置に対応するデータ入出力端子によって出力(または入力)される。更に、各ビットのデータは、各ビットの位置に対応する信号配線によって伝送される。よって、データ線0により伝送されるビット0のデータは、1番目のデータ入出力端子(データ入出力端子0)によって入出力され、また、1番目の信号配線(信号配線0)によって伝送される。
なお、バス670やデータバスの幅は128ビット以外の任意のビット数であって構わない。バスの幅に合わせてデータ入出力端子の数も128個以外の数となってよい。
接続部60において、セレクタ630にはバス670に含まれるデータ線0−127のうち1〜64番目のデータ線0−63が一方の入力として接続され、他方の入力としてデータ線64−127が接続されている。セレクタ630は、2進カウンタ650が取り得る値、即ち“0”または“1”に従ってデータ線0−63またはデータ線64−127を選択して64本のデータ出力線と接続する。従って、データ線0−63から出力される64ビット(ビット0−63)のデータまたはデータ線64−127から出力される64ビット(ビット64−127)のデータが選択されてセレクタ630から出力される。図5に示されるように、セレクタ630に接続された各データ出力線はそれぞれ2つに分かれ、合計128本のデータ出力線として合成され、セレクタ620に接続される。よって、セレクタ630から出力された64ビットのデータは各データ出力線により二重化され、合計128ビットのデータとしてセレクタ620に入力される。例えば、2進カウンタ650の値“0”によってセレクタ630がデータ線0−63から出力されるビット0−63のデータを選択したとする。セレクタ630から出力されたビット0−63のデータは、各データ出力線によって2つのビット0−63のデータを含む128ビットのデータとされる。
なお、2進カウンタは、セレクタ630からデータが出力される毎にカウントアップ(又はカウントダウン)を繰り返す。そのため、セレクタ630は、データ線0−63とデータ線64−127を順番に選択する。よって、バス670により伝送されるビット0−127のデータは、ビット0−63のデータとビット64−127のデータに分けられて、セレクタ630から順番に出力される。
セレクタ640にはバス670に含まれるデータ線0−127のうち0〜32番目のデータ線0−31が1つの入力として接続され、更に、データ線32−63、データ線64−95、データ線96−127がそれぞれ他の入力として接続されている。セレクタ640は、4進カウンタ660が取り得る値、“0”、“1”、“2”、“3”に従って4つのデータ線群の1つを選択して32本のデータ出力線と接続する。従って、各データ線群からそれぞれ出力される32ビットのデータの1つが選択されてセレクタ640から出力される。図5に示されるように、セレクタ640に接続された32本のデータ出力線はそれぞれ4つに分かれ、合計128本のデータ出力線として合成され、セレクタ620に接続される。よって、セレクタ640から出力された32ビットのデータは各データ出力線により四重化され、合計128ビットのデータとしてセレクタ620に入力される。例えば、4進カウンタ660の値“0”によってセレクタ640がデータ線0−31から出力されるビット0−31のデータを選択したとする。セレクタ640から出力されたビット0−31のデータは、各データ出力線によって4つのビット0−31のデータを含む128ビットのデータとされる。
なお、4進カウンタは、セレクタ640からデータが出力される毎にカウントアップ(又はカウントダウン)を繰り返す。そのため、セレクタ640は、各データ線群を順番に選択する。よって、バス670により伝送されるビット0−127のデータは、ビット0−31のデータ、ビット32−63のデータ、ビット64−95のデータ、ビット96−127のデータに分けられて、セレクタ640から順番に出力される。
セレクタ620には、上述した通り、バス670のデータ線0−127が1つの入力(入力A)として接続されている。また、セレクタ630のデータ出力線が二重化されて入力Bとして接続されている。更に、セレクタ640のデータ出力線が四重化されて入力Cとして接続されている。セレクタ620はモードレジスタ610に設定されたモード情報に従って、入力A、B、Cの1つを選択してデータ入出力端子0−127と接続する。
モードレジスタ610は、転送エンジン30と検索エンジン40との接続タイプを示すモード情報を記憶する。モード情報は、例えば、ネットワーク中継装置の初期設定時や、その他の適宜のタイミングで、装置管理者によって、または装置内のソフトウェアによってモードレジスタ610に設定される。
図3(a)に示すように、転送エンジン30と検索エンジン40が1対1で接続されている場合、モードレジスタ610には“モードA”が設定される。この場合、セレクタ620は入力A、即ち、バス670のデータ線0−127を選択してデータ入出力端子0−127と接続する。これにより、データ線0−127により伝送されるビット0−127のデータがデータ入出力端子0−127からそのまま出力される。データ入出力端子0−127から出力されたビット0−127のデータは、データバスの信号配線0−127を介して検索エンジン40のデータ入出力端子0−127に受信される。
次に、図3(b)に示すように、1つの検索エンジン40に2つの転送エンジン30が接続されている場合、モードレジスタ610には“モードB”が設定される。この場合、セレクタ620は入力Bを選択してデータ入出力端子0−127と接続する。即ち、セレクタ620は、セレクタ630から出力され、データ出力線により二重化された128ビットの信号を選択し、データ入出力端子0−127に出力する。上述した通り、セレクタ630は、バス670のうちのデータ線0−63から出力されるビット0−63のデータ、またはデータ線64−127から出力されるビット64−127のデータを選択して出力する。従って、データ入出力端子0−127のうちデータ入出力端子群0−63とデータ入出力端子群64−127は共に、セレクタ630により選択された64ビットのデータを出力する。但し、この場合、図3(b)に示されるように、例えばデータ入出力端子群0−63のみが、データバスの信号配線0−63または信号配線64−127を介して、検索エンジン40のデータ入出力端子群0−63またはデータ入出力端子群64−127に接続される。そのため、データ入出力端子群0−63から出力されるビット0−63のデータまたはビット64−127のデータだけが検索エンジン40に送られる。なお、セレクタ630は、ビット0−63のデータとビット64−127のデータを順番に出力するため、データ入出力端子群0−63(またはデータ入出力端子群64−127)もビット0−63のデータとビット64−127のデータを順番に出力する。
また、図4(a)に示すように、1つの転送エンジン30に2つの検索エンジン40が接続されている場合も、モードレジスタ610には“モードB”が設定される。但しこの場合、図4(a)に示されるように、例えばデータ入出力端子群0−63は、データバスの信号配線0−63を介して、1つの検索エンジン40のデータ入出力端子群0−63に接続される。また、データ入出力端子群64−127は、データバスの信号配線64−127を介して、他の検索エンジン40のデータ入出力端子群0−63に接続される。そのため、データ入出力端子群0−63とデータ入出力端子群64−127から出力される同一のデータ(ビット0−63のデータまたはビット64−127のデータ)が両方の検索エンジン40に送られる。なお、セレクタ630は、ビット0−63のデータとビット64−127のデータを順番に出力するため、データ入出力端子群0−63とデータ入出力端子群64−127も、ビット0−63のデータとビット64−127のデータを順番に出力する。
次に、図3(c)に示すように、1つの検索エンジン40に4つの転送エンジン30が接続されている場合、モードレジスタ610には“モードC”が設定される。この場合、セレクタ620は入力Cを選択してデータ入出力端子0−127と接続する。即ち、セレクタ620は、セレクタ640から出力され、データ出力線により四重化された128ビットの信号を選択し、データ入出力端子0−127に出力する。上述した通り、セレクタ640は、バス670のうちのデータ線0−31から出力されるビット0−31のデータ、データ線32−63から出力されるビット32−63のデータ、データ線64−95から出力されるビット64−95のデータまたはデータ線96−127から出力されるビット96−127のデータを選択して出力する。従って、データ入出力端子0−127のうちデータ入出力端子群0−31、データ入出力端子群32−63、データ入出力端子群64−95及びデータ入出力端子群96−127は共に、セレクタ630により選択された32ビットのデータを出力する。但し、この場合、図3(c)に示されるように、例えばデータ入出力端子群0−31のみが、データバス(信号配線0−31、32−63、64−95、96−127のうちの1つ)を介して、検索エンジン40(データ入出力端子群0−31、32−63、64−95、96−127の1つ)に接続される。そのため、データ入出力端子群0−31から出力されるデータ(ビット0−31、32−63、64−95、96−127の1つのデータ)だけが検索エンジン40に送られる。なお、セレクタ640は、ビット0−31、ビット32−63、ビット64−95、ビット96−127のデータを順番に出力するため、データ入出力端子群0−31も各データを順番に出力する。
また、図4(b)に示すように、1つの転送エンジン30に4つの検索エンジン40が接続されている場合も、モードレジスタ610には“モードC”が設定される。但しこの場合、図4(b)に示されるように、例えばデータ入出力端子群0−31は、データバスの信号配線0−31を介して、1つの検索エンジン40のデータ入出力端子群0−31に接続される。他のデータ入出力端子群0−31、32−63、64−95、96−127もそれぞれ、信号配線32−63、64−95、96−127を介して、各検索エンジン40のデータ入出力端子群0−31に接続される。そのため、各々のデータ入出力端子群から出力される同一のデータが各検索エンジン40に送られる。なお、セレクタ640は、ビット0−31、ビット32−63、ビット64−95、ビット96−127のデータを順番に出力するため、各データ入出力端子群も各データを順番に出力する。
なお、2以上の転送エンジン30と2以上の検索エンジン40とが接続されている場合には、各転送エンジン30にいくつの検索エンジン40が接続されるかに応じて、モードレジスタには“モードB”または“モードC”が設定される。
上述した通り、接続部60は、転送エンジン30と検索エンジン40との接続状態に従って、検索エンジン40に接続されたデータ入出力端子群からデータを出力することができる。また、接続部60は、データ入出力端子群の端子数に対応した幅のデータを出力することができる。更に、接続部60は同一のデータを複数の検索エンジン40に対して出力することができる。
図6は、検索エンジン40の接続部70の構成図を示す。
接続部70は、検索エンジン40の上述したデータ入出力端子0−127と接続され、出力方路情報等のデータを検索エンジン内部の回路から受け取ってデータ入出力端子へ送り、データバスへ出力させる。また、データ入出力端子を介してデータバスから受信したパケットヘッダ等を検索エンジン内部の回路に送る。
図6において、検索エンジン40の接続部70は、モードレジスタ710と、セレクタ720、730、740と、2進カウンタ750及び4進カウンタ760とを有する。また、接続部70は128ビットの幅のバス770を備える。バス770は128本のデータ線(データ線0−127)を含む。バス770は検索エンジン内部の回路または信号線と接続され、また、セレクタ720を介してデータ入出力端子0−127と接続される。データ線0−127のそれぞれはデータ入出力端子0−127のそれぞれと接続される。
図6における接続部70のモードレジスタ710、セレクタ720、セレクタ730、セレクタ740、2進カウンタ750及び4進カウンタ760は、それぞれ、図5における接続部60のモードレジスタ610、セレクタ620、セレクタ630、セレクタ640、2進カウンタ650及び4進カウンタ660と対応する。従って、接続部70は、上述した接続部60と同様に動作する。
但し、検索エンジン40は、転送エンジン30と異なり、複数の転送エンジン30に対して同じデータを出力する必要はない。即ち、検索エンジン40は、パケットヘッダを出力した転送エンジン30に対してのみ、そのパケットヘッダに基づいて抽出した出力方路情報等のデータを出力する。そのため、接続部70は、パケットヘッダ等のデータを受信したデータ入出力端子群を記憶する出力レジスタ780を備える。データを受信すると、そのデータを受信したデータ入出力端子群の識別情報が出力レジスタ780に設定される。データ入出力端子群の識別情報ではなく、データを出力した転送エンジンの識別情報が出力レジスタ780に設定されても良い。データ入出力端子群の識別情報としては、それぞれのデータ入出力端子群に割り当てられた番号等がある。転送エンジンの識別情報としては、転送エンジンからパケットヘッダと共に送られる転送エンジン番号等がある。また、接続部70においては、セレクタ730のデータ出力線がそのままセレクタ720に接続される。セレクタ730は、2進カウンタ750の値、“0”または“1”に従って、バス770のデータ線0−63から出力されるビット0−63のデータまたはデータ線64−127から出力されるビット64−127のデータを選択して出力する。また、セレクタ740のデータ出力線もそのままセレクタ720に接続される。セレクタ740は、4進カウンタ760の値が“0”、“1”、“2”、“3”の何れであるかに従って、バス770のデータ線0−31から出力されるビット0−31のデータ、データ線32−63から出力されるビット32−63のデータ、データ線64−95から出力されるビット64−95のデータまたはデータ線96−127から出力されるビット96−127のデータを選択して出力する。
セレクタ720には、上述した通り、バス770のデータ線0−127が入力Xとして接続されている。また、セレクタ730のデータ出力線が入力Yとして接続されている。更に、セレクタ740のデータ出力線が入力Zとして接続されている。セレクタ720は、モードレジスタ710に設定されたモード情報と出力レジスタ780に設定された識別情報に従って、入力X、Y、Zの1つを選択し、データ入出力端子0−127またはその一部と接続する。なお、モード情報は、例えば、ネットワーク中継装置の初期設定時や、その他の適宜のタイミングで、装置管理者によって、または装置内のソフトウェアによってモードレジスタ710に設定される。
例えば、図3(a)に示すように、検索エンジン40と転送エンジン30が1対1で接続されている場合、モードレジスタ710には“モードX”が設定される。この場合、セレクタ720は入力X、即ち、バス770のデータ線0−127を選択してデータ入出力端子0−127と接続する。これにより、データ線0−127により伝送されるビット0−127のデータがデータ入出力端子0−127からそのまま出力される。データ入出力端子0−127から出力されたビット0−127のデータは、データバスの信号配線0−127を介して転送エンジン30のデータ入出力端子0−127に受信される。
次に、図3(b)に示すように、1つの検索エンジン40に2つの転送エンジン30が接続されている場合、モードレジスタ710には“モードY”が設定される。なお、2つの転送エンジン30には、番号として#0と#1が割り当てられているとする。この場合、セレクタ720は“モードY”に従って入力Yを選択する。更に、この場合、セレクタ720は、出力レジスタに設定された転送エンジン番号に従って、セレクタ730のデータ出力線をデータ入出力端子0−127のうちのデータ入出力端子群0−63またはデータ入出力端子群64−127に接続する。即ち、セレクタ720は、セレクタ730から出力される64ビットの信号を選択し、データ入出力端子群0−63またはデータ入出力端子64−127に出力する。これによって、接続部70は、転送エンジン番号等の識別情報により識別される転送エンジンと接続されたデータ入出力端子群からのみ、データを出力させることができる。
図4(a)に示すように、1つの転送エンジン30に2つの検索エンジン40が接続されている場合も、モードレジスタ710には“モードY”が設定される。但しこの場合、各検索エンジン40のデータ入出力端子群0−63のみが、データバスを介して転送エンジン30のデータ入出力端子群0−63またはデータ入出力端子群64−127に接続される。従って、出力レジスタ780に設定される転送エンジン番号等の識別情報は同じであり、セレクタ720は、セレクタ730のデータ出力線をデータ入出力端子群0−63だけに接続する。
次に、図3(c)に示すように、1つの検索エンジン40に4つの転送エンジン30が接続されている場合、モードレジスタ710には“モードZ”が設定される。なお、各転送エンジン30には、番号として#0、#1、#2、#3が割り当てられているとする。この場合、セレクタ720は“モードZ”に従って入力Zを選択する。更に、この場合、セレクタ720は、出力レジスタに設定された転送エンジン番号に従って、セレクタ740のデータ出力線をデータ入出力端子0−127のうちのデータ入出力端子群0−31、32−63、64−95、96−127の1つに接続する。即ち、セレクタ720は、セレクタ740から出力される32ビットの信号を選択し、データ入出力端子群0−31、32−63、64−95、96−127の1つに出力する。これによって、接続部70は、識別情報により識別される転送エンジンと接続されたデータ入出力端子群からのみ、データを出力させることができる。
図4(b)に示すように、1つの転送エンジン30に4つの検索エンジン40が接続されている場合も、モードレジスタ710には“モードZ”が設定される。但しこの場合、各検索エンジン40のデータ入出力端子群0−31のみが、データバスを介して転送エンジン30のデータ入出力端子群0−31、32−63、64−95、96−127の1つに接続される。従って、出力レジスタ780に設定される識別情報は同じであり、セレクタ720は、セレクタ730のデータ出力線をデータ入出力端子群0−31だけに接続する。
なお、2以上の転送エンジン30と2以上の検索エンジン40とが接続されている場合には、各検索エンジン40にいくつの転送エンジン30が接続されるかに応じて、モードレジスタには“モードY”または“モードZ”が設定される。
上述した通り、接続部70は、転送エンジン30と検索エンジン40との接続状態に従って、転送エンジン30に接続されたデータ入出力端子群からデータを出力することができる。また、接続部70は、データ入出力端子群の端子数に対応した幅のデータを出力することができる。
図7は、検索エンジン40が使用するルーティングテーブルのフォーマットである。
ルーティングテーブルには、例えば、1つ以上のIPアドレスと、各IPアドレスに対応付けられた出力スイッチエンジン番号、出力転送エンジン番号、出力回線番号等の出力方路情報が格納されている。
ここで、各ルーティングプロセッサ内の各々の転送エンジン30、検索エンジン40、スイッチエンジン50には、ネットワーク中継装置内または各ルーティングプロセッサ内で一意に定められた識別番号が割り当てられている。また、それぞれ回線と接続される各転送エンジン30のそれぞれのポートにも、ネットワーク中継装置内またはルーティングプロセッサ内または転送エンジン毎に一意に定められた識別番号が割り当てられている。従って、ルーティングテーブルに格納される出力スイッチエンジン番号、出力転送エンジン番号及び出力回線番号は、パケットの送信先となるスイッチエンジン、転送エンジン及び回線に割り当てられた識別番号を示す。なお、それぞれのエンジンや回線を識別するために、識別番号以外の任意の情報が用いられてもよい。
上述した通り、ルーティングプロセッサにおいては、スイッチエンジン50に対して複数の転送エンジン30が接続可能である。そのため、スイッチエンジン50がどの転送エンジンにパケットを転送すべきか識別できるように、出力方路情報に出力転送エンジン番号が含まれている。また、ルーティングテーブルにIPアドレス以外のアドレス、例えば、MACアドレス等が格納されていてもよい。
図8は、出力方路情報が付加されたパケットのフォーマットを示す。図8において、パケットは、パケットヘッダとペイロード(データ)を含む受信パケットと、検索エンジン40により抽出された出力方路情報を含む。
例えば、スイッチエンジン50は、転送エンジン30から受信パケットと出力方路情報を受け取り、図8に示されたフォーマットのパケットを作成し、スイッチ10に出力する。また、転送エンジン30が、検索エンジン40から受け取った出力方路情報と、バケットバッファから読み出した受信パケットとから図8に示されたフォーマットのパケットを作成し、スイッチエンジン50に転送してもよい。
図9は、ネットワーク中継装置内でのパケットの転送例を示す。図9においては、ネットワーク中継装置は、検索エンジン40と転送エンジン30が1対1又は1対多で接続された複数のルーティングプロセッサ250、260、270を有する。各ルーティングプロセッサのそれぞれのスイッチエンジン50、検索エンジン40、転送エンジン30には、予め識別番号が割り当てられている。なお、図9に示した例では、各検索エンジン40と各スイッチエンジン50には#0から始まる通し番号が割り当てられている。また、各転送エンジン30には、ルーティングプロセッサ毎に#0から始まる通し番号が割り当てられている。なお、1つの検索エンジン40に接続される転送エンジン群毎に各転送エンジンに通し番号が割り当てられていてもよい。さらに、それぞれ回線と接続される各転送エンジン30の各ポートにも、識別番号が割り当てられている。図9では、各エンジンの接続状態は省略されているが、図1と同様に、各転送エンジン30は、検索エンジン40及びスイッチエンジン50と接続され、スイッチ10は、各ルーティングプロセッサの各スイッチエンジン50と接続されている。
図10は、ネットワーク中継装置のシーケンス図を示す。このシーケンス図は、図9に示したルーティングプロセッサ250の転送エンジン#0がパケットを受信し、ルーティングプロセッサ270の転送エンジン#3からパケットを送信する場合の動作を示している。図9及び図10を用いて以下に動作の概要を説明する。なお、検索エンジン#0が使用するルーティングテーブルには、図7に示した出力方路情報が格納されているとする。
まず、ルーティングプロセッサ250の転送エンジン#0は、回線からパケットを受信する。この受信パケットのパケットヘッダは宛先IPアドレスとして“192.168.0.1”を含む。転送エンジン#0は受信パケットからパケットヘッダを抽出し、検索エンジン#0へ送信する。転送エンジン#0は、パケットを受信した入力回線番号及び入力転送エンジン番号を検索エンジン#0に送信してもよい。また、転送エンジン#0は、受信したパケットをパケットバッファに格納する。
パケットヘッダを受信した検索エンジン#0は、パケットヘッダの宛先IPアドレス“192.168.0.1”を検索キーとしてルーティングテーブルを検索する。図7に示すルーティングテーブルには宛先IPアドレスと同じIPアドレスが登録されているため、検索エンジン#0は、このIPアドレスに対応付けられた出力スイッチエンジン番号“2”、出力転送エンジン番号“3”、出力回線番号“4”、等の出力方路情報を抽出する。検索エンジン#0は、取得した出力方路情報を転送エンジン#0に送信する。また、検索エンジン#0は、転送エンジン#0から入力回線番号及び入力転送エンジン番号を受信し、これらの情報に基づいてフィルタリング又はQoSに関する処理を行ってもよい。
転送エンジン#0は、検索エンジン#0から出力方路情報を受け取ると、パケットバッファに格納した受信パケットにその出力方路情報を付加して、図8に示したフォーマットのパケットを生成し、スイッチエンジン#0へ送信する。スイッチエンジン#0は、パケットを受信すると出力方路情報を参照し、出力方路情報に含まれる出力スイッチエンジン番号“2”に従ってスイッチ10にパケットを転送する。
同様に、スイッチ10のスイッチエンジンは、パケットを受け取ると出力方路情報を参照し、出力方路情報に含まれた出力スイッチエンジン番号“2”に従って、ルーティングプロセッサ270のスイッチエンジン#2にパケットを送信する。
スイッチエンジン#2はパケットを受け取ると、出力方路情報を参照し、出力方路情報に含まれた出力転送エンジン番号“3”に従い、パケットを転送エンジン#3に転送する。
転送エンジン#3は、パケットを受信するとパケットバッファに格納し、また、パケットから出力方路情報とパケットヘッダを抽出し、検索エンジン#2に送信する。
検索エンジン#2は、受信した出力方路情報とパケットヘッダを用いて、例えば、フィルタリング、遅延優先制御、QoSに関する処理を行う。なお、検索エンジン#2によるフィルタリング、遅延優先制御、QoS等に関する処理は省略されてもよい。また、検索エンジン#2は、例えば、受信した出力方路情報に含まれた出力回線番号“4”を転送エンジン#3に送信する。検索エンジン#2は、出力回線番号以外の適宜のデータを転送エンジン#3に送信してもよい。
転送エンジン#3は、パケットから出力方路情報を取り除き、検索エンジン#2又はスイッチエンジン#2から受信した出力回線番号“4”に対応するポートからそのパケットを回線に出力する。
なお、上述の例では、ルーティングプロセッサ250の転送エンジン#0がパケットを受信した場合について説明したが、他の転送エンジンがパケットを受信した場合も、同様の動作によりパケットが中継される。また、図1に示したタイプCのルーティングプロセッサ230を有するネットワーク中継装置では、ルーティングプロセッサ内の複数の検索エンジン40及びスイッチエンジン50のうち、現用系として動作する検索エンジン40及びスイッチエンジン50が予め設定される。そして、現用系として設定された検索エンジン40及びスイッチエンジン50が上述と同様に動作することにより、パケットが中継される。
ところで、転送エンジン30と検索エンジン40との間、及び、転送エンジン30とスイッチエンジン50との間は、同時双方向伝送インタフェース(以下、SBTL(Simultaneous Bi-directional Transfer Logic)を用いて接続することもできる。SBTLは、物理的に1本の信号線で双方向の通信を可能にする技術である。
図11は、SBTLの概念図を示す。図11において、転送エンジンと検索エンジンがSBTLを用いて接続されている。
双方から“0”又は“1”の値の信号が信号線に送信されると、信号線を流れる信号は、図11に示すように、それらの信号の値に応じてHigh、Middle、Lowのいずれかのレベルとなる。例えば、両者の信号が共に“1”ならば、信号線の信号はHighレベルの信号となる。片方の信号のみ“1”ならば、信号線の信号はMiddleレベルの信号、両者の信号がともに“0”ならば、Lowレベルの信号となる。SBTLを用いて転送エンジンまたは検索エンジンが信号を受信する場合、各エンジンは、自分の出力している信号の値と信号線から受信した信号のレベルから相手が送信した信号の値を判断する。例えば、転送エンジンが“1”の信号を出力している場合、転送エンジンが受信した信号がHighレベルの信号であれば検索エンジンが送信した信号は“1”と判断される。また、転送エンジンが“1”の信号を出力した場合であって、転送エンジンが受信した信号がMiddleレベルの信号の場合、検索エンジン40が送信した信号は“0”であると判断できる。転送エンジンが“0”の信号を出力している場合も同様である。相手の信号の値を判断するために、転送エンジン及び検索エンジンは予め設定した閾値(Threshold Level)用いる。各エンジンは、自分の出力している信号の値に応じて、その閾値を変えて信号を受信する。例えば、転送エンジンが“1”の信号を出力している場合、閾値をMiddleレベルとHighレベルの中間に設定することで、Middleレベルの信号は“0”、Highレベルの信号は“1”の値の信号として受信できる。
転送エンジン30と検索エンジン40との間では、パケットヘッダ及び出力方路情報の送受信を行うため、頻繁(パケットバイパケット)に双方向の通信が発生する。転送エンジン30と検索エンジン40との間をSBTLを用いて接続することにより、パケットヘッダ及び出力方路情報を効率的に送受信することができる。また、転送エンジン30と検索エンジン40とを1対多、多対1、または多対多で接続する場合、上述した通り、送受信できるデータの幅は減少するが、SBTLを用いて双方向で信号を送受信することにより、この影響を軽減できる。
以上説明した通り、同じ構成の転送エンジン30及び検索エンジン40とを、1対1、多対1、1対多、または多対多で接続することが可能である。なお、以上の説明では転送エンジン30と検索エンジン40が1対1、1対2、2対1、1対4または4対1で接続される場合について説明したが、これ以外の組み合わせにより両者が接続されても構わない。また、スイッチエンジン50は、検索エンジン40の接続部70と同じの接続部を備えることができる。
ネットワーク中継装置の構成例を示す。 ネットワーク中継装置の他の構成例を示す。 転送エンジンと1以上の検索エンジンとが接続された状態を示す。 転送エンジンと2以上の検索エンジンとが接続された状態を示す。 転送エンジンの接続部の構成図を示す。 検索エンジンの接続部の構成図を示す。 検索エンジンが使用するルーティングテーブルのフォーマットを示す。 出力方路情報が付加されたパケットのフォーマットを示す。 ネットワーク中継装置内でのパケットの転送例を示す。 ネットワーク中継装置のシーケンス図を示す。 SBTL(同時双方向インタフェース)の概念図を示す。 ネットワーク中継装置の構成の一例を示す。
符号の説明
10 スイッチ
210、220、230、240 ルーティングプロセッサ
30 転送エンジン
40 検索エンジン
50 スイッチエンジン
60、70 接続部

Claims (13)

  1. ネットワーク中継装置において、
    少なくとも1つの回線と接続され、回線からパケットを受信し、受信パケットに含まれるパケットヘッダを用いて出力先情報を抽出し、前記出力先情報に従い、受信パケットを中継する複数のルーティング部と、
    複数の前記ルーティング部と接続され、各々の前記ルーティング部からパケットと前記出力先情報を受け取り、前記出力先情報に従って受信パケットを何れかの前記ルーティング部に転送するスイッチ部とを有し、
    各々の前記ルーティング部は更に、少なくとも1つの回線と接続され、各回線から受信したパケットのパケットヘッダを抽出して出力する1つまたは複数の転送部と、各々の前記転送部と接続され、各々の前記転送部から前記パケットヘッダを受け取り、前記パケットヘッダを用いて前記出力先情報を抽出して出力する1つまたは複数の検索部と、受信パケット及び前記出力先情報を受け取り、前記出力先情報に従って受信パケットを前記スイッチ部または前記転送部に出力する1つまたは複数のスイッチ入出力部と、各々の前記ルーティング部において、1つまたは複数の前記転送部に1つまたは複数の前記検索部がそれぞれ接続されていることを特徴とするネットワーク中継装置。
  2. 前記ルーティング部として、1つの前記転送部に1つの前記検索部が接続された第1のルーティング部、複数の前記転送部が1つの前記検索部に接続された第2のルーティング部、1つの前記転送部に複数の前記検索部が接続された第3のルーティング部、または複数の前記転送部と複数の前記検索部とが接続された第4のルーティング部を備えることを特徴とする請求項1記載のネットワーク中継装置。
  3. 前記ルーティング部として、1つの前記転送部に複数の前記検索部が接続された第1のルーティング部、または複数の前記転送部と複数の前記検索部とが接続された第2のルーティング部を備え、前記第1または第2のルーティング部において、各々の前記転送部は、接続されている複数の前記検索部に前記パケットヘッダを出力することを特徴とする請求項1記載のネットワーク中継装置。
  4. 前記ルーティング部として、複数の前記転送部が1つの前記検索部に接続された第1のルーティング部、または複数の前記転送部と複数の前記検索部とが接続された第2のルーティング部を備え、前記第1または第2のルーティング部において、各々の前記検索部は、前記パケットヘッダを出力した1つの前記転送部に対して前記出力先情報を出力することを特徴とする請求項1記載のネットワーク中継装置。
  5. 前記転送部及び前記検索部は、n(nは2以上の自然数)個の入出力端子を備え、前記第1のルーティング部において、前記転送部と前記検索部は、それぞれ前記n個の入出力端子を用いて接続され、前記第2または第4のルーティング部において、前記転送部にi(iは2以上の自然数)個の前記検索部が接続されている場合、前記転送部と前記i個の前記検索部は、それぞれn/i個の入出力端子を用いて接続され、前記第3または第4のルーティング部において、前記検索部にj(jは2以上の自然数)個の前記転送部が接続されている場合、前記検索部と前記j個の前記転送部は、それぞれn/j個の入出力端子を用いて接続されることを特徴とする請求項2記載のネットワーク中継装置。
  6. 前記第1のルーティング部において、前記転送部と前記検索部は、それぞれ最大n(nは2以上の自然数)ビットずつ前記パケットヘッダまたは前記出力先情報を送受信し、前記第2または第4のルーティング部において、前記転送部にi(iは2以上の自然数)個の前記検索部が接続されている場合、前記転送部と各々の前記検索部は、それぞれ、最大n/iビットずつ前記パケットヘッダまたは前記出力先情報を送受信し、前記第3または第4のルーティング部において、前記検索部にj(jは2以上の自然数)個の前記転送部が接続されている場合、前記検索部と各々の前記転送部は、それぞれ、最大n/jビットずつ前記パケットヘッダまたは前記出力先情報を送受信することを特徴とする請求項2記載のネットワーク中継装置。
  7. 前記転送部は更に、前記転送部にいくつの前記検索部が接続されているかを識別するための接続情報を保持する保持部と、前記接続情報に対応するビット数ずつ、前記パケットヘッダを各々の前記検索部に出力する出力部を備えることを特徴とする請求項1記載のネットワーク中継装置。
  8. 前記検索部は更に、前記検索部にいくつの前記転送部が接続されているかを識別するための接続情報を保持する保持部と、前記接続情報に対応するビット数ずつ、前記出力先情報を前記転送部に出力する出力部を備えることを特徴とする請求項1記載のネットワーク中継装置。
  9. 前記検索部は更に、前記転送部を識別するための識別情報を保持する第2の保持部を備え、前記出力部は、前記識別情報により識別される前記転送部に前記出力先情報を出力することを特徴とする請求項8記載のネットワーク中継装置。
  10. ネットワーク中継装置において、
    少なくとも1つの回線と接続され、各回線から受信したパケットを中継する複数のルーティング部と、
    複数の前記ルーティング部と接続され、各々の前記ルーティング部から受信したパケット何れかの前記ルーティング部に転送するスイッチ部とを有し、
    各々の前記ルーティング部は更に、前記少なくとも1つの回線と接続され、それぞれ各回線から受信したパケットのパケットヘッダを抽出し、出力する1つまたは複数の転送部と、各々の前記転送部と接続され、各々の前記転送部から前記パケットヘッダを受け取り、前記パケットヘッダを用いて出力先情報を抽出し、出力する1つまたは複数の検索部とを備え、各々の前記ルーティング部は、1つの前記転送部に1つの前記検索部が接続された第1のルーティング部、複数の前記転送部が1つの前記検索部に接続された第2のルーティング部、1つの前記転送部に複数の前記検索部が接続された第3のルーティング部、または複数の前記転送部と複数の前記検索部とが接続された第4のルーティング部のいずれかであることを特徴とするネットワーク中継装置。
  11. 複数の回線と接続され、各回線から受信したパケットを中継する中継装置において使用されるルーティングユニットにおいて、
    少なくとも1つの回線と接続され、回線からパケットを受信し、受信パケットのパケットヘッダを抽出して出力する1つまたは複数の転送部と、
    各々の前記転送部と接続され、前記パケットヘッダを受け取り、前記出力先情報を抽出して出力する1つまたは複数の検索部とを有し、
    各々の前記転送部には1つまたは複数の前記検索部が接続され、各々の前記検索部には1つまたは複数の前記転送部が接続されていることを特徴とするルーティングユニット。
  12. 唯一の前記転送部に複数の前記検索部が接続され、または複数の前記転送部に複数の前記検索部が接続されており、各々の前記転送部は、接続されている複数の前記検索部に前記パケットヘッダを出力することを特徴とする請求項11記載のルーティングユニット。
  13. 複数の前記転送部が唯一の前記検索部に接続され、または複数の前記転送部に複数の前記検索部が接続されており、各々の前記検索部は、前記パケットヘッダを出力した前記転送部に対してのみ前記出力先情報を出力することを特徴とする請求項11記載のルーティングユニット。
JP2004048955A 2003-02-25 2004-02-25 ネットワーク中継装置 Expired - Lifetime JP4415700B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004048955A JP4415700B2 (ja) 2003-02-25 2004-02-25 ネットワーク中継装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003046679A JP2004260365A (ja) 2003-02-25 2003-02-25 高速高ポート密度なネットワーク中継装置
JP2004048955A JP4415700B2 (ja) 2003-02-25 2004-02-25 ネットワーク中継装置

Publications (2)

Publication Number Publication Date
JP2004282729A true JP2004282729A (ja) 2004-10-07
JP4415700B2 JP4415700B2 (ja) 2010-02-17

Family

ID=33301699

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004048955A Expired - Lifetime JP4415700B2 (ja) 2003-02-25 2004-02-25 ネットワーク中継装置

Country Status (1)

Country Link
JP (1) JP4415700B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009199433A (ja) * 2008-02-22 2009-09-03 Fujitsu Ltd ネットワーク処理装置およびネットワーク処理プログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009199433A (ja) * 2008-02-22 2009-09-03 Fujitsu Ltd ネットワーク処理装置およびネットワーク処理プログラム

Also Published As

Publication number Publication date
JP4415700B2 (ja) 2010-02-17

Similar Documents

Publication Publication Date Title
US4550397A (en) Alternate paths in a self-routing packet switching network
JP4023281B2 (ja) パケット通信装置及びパケットスイッチ
US7542423B1 (en) Hardware load balancing through a single fabric
JP3709795B2 (ja) コンピュータシステムと、コンピュータシステム内のモジュール間の通信方法
US8000230B2 (en) Fully redundant linearly expandable broadcast router
KR20010099653A (ko) 라우팅 배열
JPH0771122B2 (ja) データ通信システム
GB2268374A (en) Network addressing
JPH088590B2 (ja) 多パケット宛先のパケット交換ネットワ−ク
US7447222B2 (en) Automated path tracing through switching mesh
US6999453B1 (en) Distributed switch fabric arbitration
US6643764B1 (en) Multiprocessor system utilizing multiple links to improve point to point bandwidth
US7174394B1 (en) Multi processor enqueue packet circuit
US6560227B1 (en) LAN frame copy decision for LAN switches
JP4415700B2 (ja) ネットワーク中継装置
US7379456B2 (en) Network routing apparatus
US20040146062A1 (en) System and method for network card switchovers in an IP network
JP4944377B2 (ja) 線形拡張可能な配信ルータ装置
US7103039B1 (en) Hardware load balancing through multiple fabrics
JP2009188623A (ja) ネットワーク中継装置およびネットワーク中継方法
JP6631415B2 (ja) 中継装置
US20090070487A1 (en) Method and device for distributing data across network components
KR100238450B1 (ko) 대용량 데이터 전송을 위한 다중 배출구를 갖는 스위치와 그를이용한 패킷의 경로 배정방법
JPH0556057A (ja) ループネツトワークシステム
KR930007017B1 (ko) 인터커넥션 네트워크 스위칭소자

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20050530

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20050530

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20060424

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070129

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090119

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090324

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090525

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20091104

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

R151 Written notification of patent or utility model registration

Ref document number: 4415700

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091117

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

Free format text: PAYMENT UNTIL: 20121204

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20131204

Year of fee payment: 4

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term