JP2004260365A - 高速高ポート密度なネットワーク中継装置 - Google Patents
高速高ポート密度なネットワーク中継装置 Download PDFInfo
- Publication number
- JP2004260365A JP2004260365A JP2003046679A JP2003046679A JP2004260365A JP 2004260365 A JP2004260365 A JP 2004260365A JP 2003046679 A JP2003046679 A JP 2003046679A JP 2003046679 A JP2003046679 A JP 2003046679A JP 2004260365 A JP2004260365 A JP 2004260365A
- Authority
- JP
- Japan
- Prior art keywords
- engine
- packet
- transfer
- search
- search engine
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/44—Distributed routing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
【課題】ネットワーク中継装置の転送エンジン及び検索エンジンを1対多、多対1、多対多と可変に接続可能とする。
【解決手段】クロスバスイッチ10は、ルーティングプロセッサ20間でパケットを転送する。ルーティングプロセッサ20は、パケットからパケットヘッダを抽出する転送エンジン30と、パケットの出力方路を検索する検索エンジン40と、パケットを出力方路に従い転送するスイッチエンジン50を有する。検索エンジン40と転送エンジン30は、1対1、多対1、1対多のいずれかで接続される。ルーティングプロセッサ20は、転送エンジン30と検索エンジン40が、1対多、多対1、多対多と可変に接続されるようなアーキテクチャである。転送エンジン30及び検索エンジン40は、それぞれ、アーキテクチャに応じた所定の設定に従い、1対多、多対1、多対多で接続可能とするように、相互のエンジンを可変に接続するための接続部を備える。
【選択図】 図1
【解決手段】クロスバスイッチ10は、ルーティングプロセッサ20間でパケットを転送する。ルーティングプロセッサ20は、パケットからパケットヘッダを抽出する転送エンジン30と、パケットの出力方路を検索する検索エンジン40と、パケットを出力方路に従い転送するスイッチエンジン50を有する。検索エンジン40と転送エンジン30は、1対1、多対1、1対多のいずれかで接続される。ルーティングプロセッサ20は、転送エンジン30と検索エンジン40が、1対多、多対1、多対多と可変に接続されるようなアーキテクチャである。転送エンジン30及び検索エンジン40は、それぞれ、アーキテクチャに応じた所定の設定に従い、1対多、多対1、多対多で接続可能とするように、相互のエンジンを可変に接続するための接続部を備える。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は、高速高ポート密度なネットワーク中継装置に係り、特に、検索エンジンと転送エンジンが1対多、多対1、多対多と可変に接続可能な高速高ポート密度なネットワーク中継装置に関する。
【0002】
【従来の技術】
一般に、ネットワークシステムにおいては、複数のネットワークをルータ等のネットワーク中継装置を介して接続し、パケットを中継している。ネットワーク中継装置は、宛先アドレスに基づき転送先を決定し、転送先のルータ又はホスト又はクライアントが接続されている回線にパケットを出力する。
【0003】
図10は、従来のネットワーク中継装置の構成例を示す図である。ネットワーク中継装置は、例えば、パケットバッファを有する転送エンジンと、ルーティングテーブルを有する検索エンジンと、スイッチエンジンとを含むルーティングプロセッサ、及び、複数のルーティングプロセッサ間でパケットを中継するクロスバスイッチを備えている。また、ルーティングプロセッサの転送エンジンと検索エンジンは、それぞれ1対1で接続されている。
【0004】
まず、転送エンジンは、回線からパケットを受信すると、受信したパケットをパケットバッファに格納する(▲1▼)。また、転送エンジンは、パケットヘッダを抽出し検索エンジンに送信する(▲2▼)。検索エンジンは、転送エンジンからのパケットヘッダを基にルーティングテーブルを検索し、出力方路を決定する(▲3▼)。ルーティングテーブルには、例えば、宛先IPアドレスに対応して出力スイッチエンジン及び出力回線を示す情報が記憶されている。検索エンジンは、決定した出力方路を転送エンジンに送信する(▲4▼)。また、検索エンジンは、パケットヘッダに基づきパケットを廃棄するフィルタリングやQoS(Quality of Service、サービス品質)に関する処理を行う場合もある。転送エンジンは、スイッチエンジンに向かって、出力方路とパケットバッファ内のパケットを送信する(▲5▼)。スイッチエンジンは、指定された方路へパケットをスイッチングする(▲6▼)。
【0005】
また、ネットワーク中継装置全体の中継処理性能を向上させる装置として、パケットのヘッダ情報からパケットの宛先を検索しパケットを転送するパケット転送ユニットを各ルーティングプロセッサ内に複数個設け、ネットワークインタフェース及びクロスバスイッチから入ってきたパケットを、パケット単位にパケット転送ユニットに振り分けることにより、パケットの転送処理ユニットの並列度に応じパケット転送処理を高速化した装置が提案されている(例えば、特許文献1参照)。
【特許文献1】
特開2001−211203号公報
【0006】
【発明が解決しようとする課題】
従来のネットワーク中継装置は、転送エンジンと検索エンジンが1対1で固定的に接続されている。ネットワーク中継装置の検索エンジンは、ネットワークに関する重要な情報を保持するため、信頼性向上のために検索エンジンを二重化するニーズがある。従来のネットワーク装置においては、検索エンジンを二重化すると、1対1で接続されている転送エンジンも二重化する必要がある。また、転送エンジンは回線と接続されているため、回線も二重化することになり、ネットワーク中継装置の構成を変更するだけでは二重化を実現することができない課題があった。
【0007】
また、従来のネットワーク中継装置では、ポート数を増やすために転送エンジン数を増やすと、1対1で接続されている検索エンジン数を増やす必要がある。一般に検索エンジンは高価であり、検索エンジン数を増やすと装置全体も高価になる課題があった。
【0008】
さらに、転送エンジンと検索エンジンの接続を1対多、多対1とするネットワーク中継装置を製作する場合、接続状況に応じて転送エンジンや検索エンジンのLSI等を開発する必要があり、開発コストがかかるという課題があった。
【0009】
本発明は、以上の点に鑑み、1対多又は多対1又は多対多と可変に接続可能な転送エンジン及び検索エンジンを有するネットワーク中継装置を提供することを目的とする。また、本発明は、同じ構造の転送エンジンと検索エンジンで複数の接続パターンを選択可能なネットワーク中継装置を提供することを目的とする。さらに、本発明は、転送エンジンと検索エンジン間のパケットヘッダ及び出力方路を効率的に送受信することを目的とする。
【0010】
【課題を解決するための手段】
本発明によると、 回線から入力されたパケットのヘッダ情報からパケットの転送先を検索し、パケットを転送先へ転送するための複数のルーティングプロセッサと、前記ルーティングプロセッサ間でパケットを転送するクロスバスイッチとを備えたネットワーク中継装置において、
前記ルーティングプロセッサは、
パケットを記憶するパケットバッファを有し、回線から受信したパケットを該パケットバッファに格納し、パケットからパケットヘッダを抽出するひとつ又は複数の転送エンジンと、
パケットヘッダ中の宛先アドレスに対応して出力スイッチエンジン番号及び出力転送エンジン番号及び出力回線番号を含む出力方路情報を記憶したルーティングテーブルを有し、パケットヘッダ中の宛先アドレスに従い該ルーティングテーブルから出力方路情報を検索して、前記転送エンジンに出力方路情報を送るひとつ又は複数の検索エンジンと、
前記転送エンジンにより指定された出力方路情報に従い、前記転送エンジンから受けたパケットを出力転送エンジン番号に対応する前記転送エンジンへ転送するスイッチエンジンと
を備え、
前記ルーティングプロセッサは、前記転送エンジンと前記検索エンジンとが、1対多又は多対1又は多対多に接続されるアーキテクチャが採用され、
前記転送エンジン及び前記検索エンジンは、それぞれ、該アーキテクチャに応じた所定の設定に従い、ひとつの前記転送エンジンに対して複数の前記検索エンジンを接続可能とするか、複数の前記転送エンジンに対してひとつの前記検索エンジンを接続可能とするか、複数の前記転送エンジンに対して複数の前記検索エンジンを接続可能とするように、相互のエンジンを可変に接続するための接続部をさらに備えた前記ネットワーク中継装置が提供される。
【0011】
【発明の実施の形態】
図1は、ネットワーク中継装置の構成図である。ネットワーク中継装置は、クロスバスイッチ10と、複数のルーティングプロセッサ20とを備える。ルーティングプロセッサ20は、転送エンジン30、検索エンジン40、スイッチエンジン50を有する。また、転送エンジン30は、それぞれ複数の回線と接続されている。ルーティングプロセッサ20は、例えば、転送エンジン30と検索エンジン40が1対1で接続されたタイプA、多対1で接続されたタイプB、1対多で接続されたタイプCの接続パターンで構成される。
【0012】
本実施の形態におけるルーティングプロセッサ20は、転送エンジン30と検索エンジン40が、1対多又は多対1と可変に接続されるようなアーキテクチャである。転送エンジン30及び検索エンジン40は、それぞれ、アーキテクチャに応じた所定の設定に従い、ひとつの転送エンジン30に対して複数の検索エンジン40を接続可能とするか、複数の転送エンジン30に対してひとつの検索エンジン40を接続可能とするように、相互のエンジンを可変に接続するための接続部を備えている。
【0013】
なお、図1には、タイプA、B、Cのルーティングプロセッサ20をひとつずつ示しているが、ネットワーク中継装置は、ひとつのタイプのみ、又はタイプA〜Cの適宜の組み合わせのルーティングプロセッサ20を備えることができる。
【0014】
クロスバスイッチ10は、スイッチエンジンを有し、ルーティングプロセッサ20との間でパケットを転送する。クロスバスイッチ10は、ルーティングプロセッサ20のスイッチエンジン50からパケット及び出力方路情報を受け取ると、出力方路情報の出力スイッチエンジン番号に応じたスイッチエンジン50に当該パケットを転送する。なお、クロスバスイッチ10は、例えば、現用系と予備系を有する多重化構成であってもよい。また、クロスバスイッチ10のスイッチエンジンと、ルーティングプロセッサ20のスイッチエンジン50は、同じ構造のスイッチエンジンを用いることができる。
【0015】
ルーティングプロセッサ20の転送エンジン30は、パケットを記憶するパケットバッファを有し、回線から受信したパケットをパケットバッファに格納する。また、転送エンジン30は、パケットからパケットヘッダを抽出し、検索エンジン40へ送る。転送エンジン30は、検索エンジン40から出力方路情報を受け取り、受け取った出力方路情報とパケットバッファに格納されているパケットをスイッチエンジン50に転送する。また、転送エンジン30は、入力回線番号及び入力転送エンジン番号をさらに検索エンジン40に送ってもよい。入力回線番号及び入力転送エンジン番号は、例えば、検索エンジン40でのフィルタリングやQoSに関する処理に使用される。
【0016】
検索エンジン40は、パケットヘッダ中の宛先アドレスに対応して出力スイッチエンジン番号及び出力転送エンジン番号及び出力回線番号を含む出力方路情報を記憶したルーティングテーブルを有する。検索エンジン40は、転送エンジン30から受け取ったパケットヘッダ中の宛先アドレスに従い、ルーティングテーブルから出力方路情報を検索して、転送エンジン30に送る。また、検索エンジン40は、転送エンジン30から受け取った入力回線番号及び入力転送エンジン番号、及び/又は、出力方路情報に基づき、フィルタリング又はQoSに関する処理を行う。
【0017】
スイッチエンジン50は、検索エンジン40により指定された出力方路情報に従い、転送エンジン30から受け取ったパケット及び出力方路情報を出力方路へ転送する。また、スイッチエンジン50は、クロスバスイッチ10から出力方路情報及びパケットを受信し、転送エンジン30へ送信する。スイッチエンジン50からパケットを受け取った転送エンジン30は、出力方路情報に従い、当該パケットを回線に出力する。
【0018】
ルーティングプロセッサ20のタイプAは、検索エンジン40と転送エンジン30が1対1で接続された構成である。タイプAは、タイプB、Cの構成に比べて性能のバランスを重視した構成である。
【0019】
タイプBは、ひとつの検索エンジン40に対して、複数の転送エンジン30が接続された構成である。なお、図1に示すタイプBでは、スイッチエンジンと転送エンジンは1対多で接続されているが、複数のスイッチエンジンを配置して1対1で接続するようにしてもよい。上述のタイプAの構成では、回線数を増やすためには、転送エンジン30、検索エンジン40、スイッチエンジン50のそれぞれを増やす必要がある。一方、タイプBの構成では、ひとつの検索エンジン40に対する回線数(ポート数)を多くできるため、ポート単価を安くすることができる。すなわち、タイプBは、タイプA、Cの構成に比べて回線収容数(ポート密度)を重視した構成でもある。特に、パケット長の長いパケットを扱う場合、パケットのデータを処理する転送エンジン30(性能はpps、パケット毎秒)の負荷に対して、パケットのヘッダを処理する検索エンジン40(性能はbps、ビット毎秒)の負荷は小さくなるため、タイプBの構成とすることにより検索エンジン40を効率的に利用することができる。
【0020】
なお、検索エンジン40のポート数は限られているため、例えば、ひとつの検索エンジン40に対して2つの転送エンジン30を接続する場合、転送エンジン30はタイプAに比べて半分のポートが検索エンジン40と接続される。したがって、タイプAとタイプBの転送エンジン30及び検索エンジン40は異なるバス幅を有する必要がある。本実施の形態におけるネットワーク中継装置では、バス幅を可変にする接続部を用いることにより、それぞれ同じ構造の転送エンジン30及び検索エンジン40でタイプA、タイプBの接続が可能である。
【0021】
タイプCは、ひとつの転送エンジン30に対して、複数の検索エンジン40が接続された構成である。タイプCの構成は、回線を多重化せずに、スイッチエンジン50や検索エンジン40を多重化した、信頼性を重視した構成である。タイプCでは、例えば、一組の検索エンジン40及びスイッチエンジン50を予備系とし、残りを現用系とすることができる。特に、検索エンジン40は、ネットワークに関する重要な情報を保持しているため、スイッチエンジン50や検索エンジン40を二重化することで信頼性を向上することができる。なお、予備系は一組でなくても、複数の組を予備系としてもよい。なお、図1に示すタイプCでは、スイッチエンジン50も多重化した構成としているが、検索エンジン40のみを多重化し、スイッチエンジン50と転送エンジン30は1対1で接続された構成としてもよい。
【0022】
タイプCでは、例えば、ひとつの転送エンジン30に対して複数の検索エンジン40を接続する場合、転送エンジン30は、接続された検索エンジン40に同じデータを出力可能な構成とする必要がある。本実施の形態におけるネットワーク中継装置は、接続部が転送エンジン及び検索エンジンのポートを複数の系統として有効にすることで、複数の検索エンジンに同じデータを出力することが可能であり、タイプA及びBと同じ構造の転送エンジン30及び検索エンジン40によりタイプCの接続が可能である。なお、接続部の詳細な構成については後述する。
【0023】
図2は、検索エンジン40が有するルーティングテーブルのフォーマットである。
ルーティングテーブルは、例えば、宛先IPアドレスに対応して、出力スイッチエンジン番号、出力転送エンジン番号、出力回線番号が記憶されている。本実施の形態におけるネットワーク中継装置は、スイッチエンジン50に対して複数の転送エンジン30が接続可能であるため、宛先IPアドレスに対応して出力転送エンジン番号が記憶されている。なお、記憶されているスイッチエンジン番号、転送エンジン番号、回線番号は、それぞれスイッチエンジン50及び転送エンジン30及び回線に対して、一意に定めた識別情報を割り当てた番号であり、番号以外にも、適宜の情報を用いることができる。また、宛先IPアドレスは、IPアドレス以外にも適宜のアドレスを用いてもよい。
【0024】
図3は、出力方路情報を付加したパケットフォーマットである。図3に示すパケットフォーマットは、例えば、ルーティングプロセッサ20のスイッチエンジン50がクロスバスイッチ10に出力するパケットである。スイッチエンジン50が出力するパケットは、転送エンジン30が受信したヘッダ情報とペイロードを有する受信パケットと、検索エンジン40が指定した出力方路情報を含む。
【0025】
図4は、パケット中継装置の動作説明図である。例えば、パケット中継装置は、検索エンジン40と転送エンジン30が1対1又は1対多で接続されている複数のルーティングプロセッサ20を有する。また、ルーティングプロセッサ20のスイッチエンジン50、検索エンジン40、転送エンジン30には、予め識別番号が割り当てられている。なお、この例では、転送エンジン30の識別番号は、スイッチエンジン50又は検索エンジン40毎に割り当てられている。さらに、転送エンジン30と回線が接続されているポートにも、予め識別番号が割り当てられている。また、図4では、各エンジンの接続状況は省略しているが、図1と同様に各転送エンジン30は、検索エンジン40及びスイッチエンジン50と接続され、クロスバスイッチ10は、ルーティングプロセッサ20の各スイッチエンジン50と接続されている。
【0026】
図5は、パケット中継装置のシーケンス図である。例えば、宛先アドレスが192.168.0.1のパケットを図4の検索エンジン#0に接続されている転送エンジン#0が受信した場合の動作について、図4及び図5を用いて以下に説明する。なお、図4の検索エンジン#0のルーティングテーブルには、図2に示すテーブルが予め記憶されている。
【0027】
まず、検索エンジン#0に接続されている転送エンジン#0は、回線からパケットを受信すると、受信パケットからヘッダを抽出し、抽出したパケットヘッダを検索エンジン#0へ送信する。また、転送エンジン#0は、パケットを受信した入力回線番号及び入力転送エンジン番号を検索エンジン#0に送信してもよい。さらに、転送エンジン#0は、受信したパケットをパケットバッファに格納する。
【0028】
パケットヘッダを受信した検索エンジン#0は、受信したパケットヘッダの宛先IPアドレスに基づき、ルーティングテーブルを参照する。検索エンジン#0は、宛先IPアドレスに対応する出力エンジン番号、出力転送エンジン番号、出力回線番号等の出力方路情報を取得する。この例では、検索エンジン#0は、図2に示すルーティングテーブルを参照し、出力方路情報の出力スイッチエンジン番号として2、出力転送エンジン番号として3、出力回線番号として4を取得する。検索エンジン#0は、取得した出力方路情報を転送エンジン#0に送信する。また、検索エンジン#0は、転送エンジン#0から入力回線番号及び入力転送エンジン番号を受信し、これらの情報に基づいてフィルタリング又はQoSに関する処理を行ってもよい。
【0029】
転送エンジン#0は、検索エンジン#0から出力方路情報を受け取ると、パケットバッファに格納した該当するパケットデータに出力方路情報を付加し、スイッチエンジン#0へ送信する。スイッチエンジン#0は、出力方路情報の出力スイッチエンジン番号に従い、クロスバスイッチ10を介してパケット及び出力方路情報を転送する。この例では、スイッチエンジン#0は、出力エンジン番号2に従い、スイッチエンジン#2にパケットを送信する。
【0030】
パケットを受け取ったスイッチエンジン#2は、出力転送エンジン番号に従い、受け取ったパケット及び出力方路情報を、例えば、転送エンジン#3に出力する。転送エンジン#3は、受信したパケットのヘッダを抽出し、出力方路情報及びパケットヘッダを検索エンジン#2に送信する。検索エンジン#2は、受信した情報を用いて、例えば、フィルタリング、遅延優先制御、QoSに関する処理を行う。なお、これらフィルタリング、遅延優先制御、QoS等に関する処理は省略してもよい。また、検索エンジン#2は、例えば、受信した出力方路情報の出力回線番号を転送エンジン#3に送信する。検索エンジン#2が送信するデータは、出力回線番号以外にも適宜のデータを用いてもよい。転送エンジン#3は、検索エンジン#2又はスイッチエンジン#2から受信した出力回線番号4に対応する回線に、受信したパケットを出力する。
【0031】
なお、上述の例では、検索エンジン#0に接続されている転送エンジン#0がパケットを入力した場合について説明したが、他の転送エンジンがパケットを入力した場合についても同様の処理によりパケットを中継することができる。また、図1のタイプCのルーティングプロセッサ20を有するネットワーク中継装置では、タイプC内の複数の検索エンジン40及びスイッチエンジン50のうち、現用系を予め設定し、設定された検索エンジン40及びスイッチエンジン50を用いて上述と同様の処理を行うことにより、パケットを中継することができる。
【0032】
図6は、転送エンジン30の接続部の説明図である。転送エンジン30の接続部60は、モードレジスタと、セレクタと、カウンタとを有する。また、接続部60は、例えば0−127の複数のバス及びポートを有する。なお、接続部60のバス及びポートは、適宜の数とすることができる。
【0033】
モードレジスタは、転送エンジン30及び検索エンジン40の対応関係を示すモードを記憶する。例えば、モードレジスタは、転送エンジン30と検索エンジン40が全てのポートを1系統として有効とするモードA、半分のポートを2系統として有効とするモードB、1/4のポートを4系統として有効とするモードCの内、どのモードで接続されているかを記憶する。なお、モードレジスタは、初期設定時等の適宜の時に、ソフトウェアや入力部からの入力により各モードが設定可能である。
【0034】
セレクタは、モードレジスタにより定められたモードに従い、転送エンジン30のポートをひとつ又は複数の系統として選択的に有効にする。セレクタは、例えば、2進カウンタや4進カウンタ等のカウンタの値に対応したポートを有効にする。2進カウンタ及び4進カウンタは、データを送信するサイクルに応じてカウントアップ(又はダウン)する。
【0035】
例えば、モードAでは、セレクタは、0−127の全てのポートを有効とし、転送エンジン30の0−127のポートと、検索エンジン40の0−127のポートが1対1で接続可能となる。
【0036】
モードBでは、セレクタは、2進カウンタの値(例えば、0か1)に従い0−63のポートと64−127のポートを順次切り替えて有効にする。また、有効となったポートは2つに分岐され、2系統として出力される。2系統として出力することにより、ひとつの転送エンジン30と複数の検索エンジン40を接続した場合に、同じデータを検索エンジン40に送信することができる。
【0037】
例えば、図1に示すタイプBにおいて転送エンジン30と検索エンジン40を2対1で接続する場合には、モードレジスタをモードBに設定し、各転送エンジン30のポート0−63(又は64−127)と、検索エンジン40の0−127のポートを接続する。また、図1に示すタイプCにおいて転送エンジン30と検索エンジン40を1対2で接続する場合には、モードレジスタをモードBに設定し、転送エンジン30のポート0−63をひとつの検索エンジン40に接続し、残りのポートを他の検索エンジン40に接続する。
【0038】
モードCでは、セレクタは、4進カウンタの値(例えば、0〜3のいずれか)に従い0−31のポート、32−63のポート、64−95のポート、96−127のポートを順次切り替えて有効にする。また、有効となったポートは4つに分岐され、4系統として出力される。
【0039】
例えば、図1に示すタイプBにおいて転送エンジン30と検索エンジン40を4対1で接続する場合には、モードレジスタをモードCに設定し、各転送エンジン30のポート0−31(又はポート32−63、64−95、96−127のいずれか)と、検索エンジン40の0−127のポートを接続する。また、図1に示すタイプCにおいて転送エンジン30と検索エンジン40を1対4で接続する場合には、モードレジスタをモードCに設定し、例えば、転送エンジン30のポート0−31、32−63、64−95、96−127をそれぞれの検索エンジン40に接続する。
【0040】
また、図1に示すネットワーク中継装置の検索エンジン40と転送エンジン30間、及び、スイッチエンジン50と転送エンジン30間は、SBTL(同時双方向インターフェース)で接続することもできる。SBTLは、物理的に1本の線で双方向の通信を可能にする技術である。
【0041】
図7に、SBTLの説明図を示す。SBTLは、双方向から「0」又は「1」の信号が送信されると、双方向からの信号に応じてHigh、Middle、Lowのいずれかのレベルの信号になる。例えば、両者の信号が共に1ならばHigh、片方のみ1ならばMiddle、両者ともに0ならばLowになる。SBTLは、信号を受信する場合、自分の出力している信号と受信した信号から相手が送信した信号を判断する。例えば、自分が1を出力している場合、受信した信号がHighの時は相手が送信した信号は1、また、受信した信号がMiddleの時は相手が送信した信号は0と判断できる。自分が0を出力している場合も同様である。具体的には、SBTLは、自分の出力している信号に応じて、受信するデータのスレッショルドを変えて信号を受信する。例えば、自分が1を出力している場合、受信するスレッショルドをMiddleとHighの中間にすることで、Middleは0、Highは1として受信できる。
【0042】
パケット中継装置の検索エンジン40と転送エンジン30の間は、パケットヘッダ及び出力方路の送受信を行うため、頻繁(パケットバイパケット)に双方向の通信が発生する。検索エンジン40と転送エンジン30間をSBTLで接続することにより、パケットヘッダ及び出力方路を効率的に送受信することができる。また、検索エンジン40と転送エンジン30を1対多又は多対1で接続する場合バス幅が減少するが、SBTLを用いて双方向で送受信することによりバス幅の減少による影響を軽減することが可能となる。
【0043】
図8は、検索エンジン40の接続部の説明図である。検索エンジン40の接続部61は、モードレジスタと、セレクタと、カウンタとを有する。また、接続部61は、例えば0−127の複数のバス及びポートを有する。なお、接続部61のバス及びポートは、適宜の数とすることができる。モードレジスタ、セレクタ、カウンタは、上述の転送エンジン30の接続部60と同様であるので、その説明を省略する。なお、モードレジスタは、例えば、モードX、Y、Zの内どのモードで接続されているかを記憶する。
【0044】
モードXでは、セレクタは、0−127の全てのポートを有効とし、例えば、検索エンジン40の0−127のポートと、転送エンジン#0の0−127のポートが1対1で接続可能となる。
【0045】
モードYでは、検索エンジン40と転送エンジン30を1対2で接続可能であり、例えば、検索エンジン40の0−63のポートが転送エンジン#0の0−63(又は64−127)のポートへ、検索エンジン40の64−127のポートが転送エンジン#1の0−63のポートへ接続され、2系統が有効となる。検索エンジン40から転送エンジン30にパケットを送信する際には、セレクタによって選択された0−63又は64−127のバスは、転送エンジン30からパケットヘッダと共に受け取った入力転送エンジン番号に基づき、転送エンジン#0が接続されているポート0−63、又は、転送エンジン#1が接続されているポート64−127の一方に接続される。また、検索エンジン40と転送エンジン30を2対1で接続する場合も、モードレジスタをモードYに設定し、各検索エンジン40の半分のポート(0−63又は64−127)と転送エンジン30の0−127のポートを接続する。
【0046】
モードZでは、検索エンジン40と転送エンジン30を1対4で接続可能であり、例えば、検索エンジン40の0−31、32−63、64−95、96−127のポートが、それぞれ転送エンジン#0〜#3のポートへ接続され、4系統が有効となる。セレクタによって選択されたバスは、上述と同様に入力転送エンジン番号に基づき、転送エンジン#0〜#3に接続されているいずれかのポートに接続される。また、検索エンジン40と転送エンジン30を4対1で接続する場合、モードレジスタをモードZに設定し、各検索エンジン40の1/4のポートと転送エンジン30の0−127のポートを接続する。
【0047】
このように、同じ構造の転送エンジン30及び検索エンジン40を適当な数用いて、多対1又は1対多の接続が可能となる。なお、上述の転送エンジン30及び検索エンジン40では、全ポートを1系統、半分のポートを2系統、1/4のポートを4系統としているが、これ以外にも適宜の数のポートをひとつ又は複数の系統とすることができる。また、スイッチエンジン50は、検索エンジン40の接続部61と同様の接続部を有することもできる。
【0048】
図9は、多対多接続のネットワーク中継装置の構成図である。図9に示すネットワーク中継装置は、ルーティングプロセッサ20が、複数の転送エンジン30と複数の検索エンジン40が接続されたタイプDで構成されている多対多接続の例である。これらの接続は、各エンジンの接続部のモードを適宜設定することにより図1に示す各エンジンと同一構造のエンジンにより実現できる。なお、図9にはタイプDのみを示しているが、図1に示すタイプA、B、Cのいずれか又は複数と適宜組み合わせることもできる。
【0049】
【発明の効果】
本発明によると、1対多、多対1、多対多と可変に接続可能な転送エンジン及び検索エンジンを有するネットワーク中継装置を提供することができる。また、本発明によると、同じ構造の転送エンジンと検索エンジンで複数の接続パターンを選択可能なネットワーク中継装置を提供することができる。さらに、本発明によると、転送エンジンと検索エンジン間のパケットヘッダ及び出力方路を効率的に送受信することができる。
【図面の簡単な説明】
【図1】ネットワーク中継装置の構成図。
【図2】検索エンジンが有するルーティングテーブルのフォーマット。
【図3】出力方路情報を付加したパケットフォーマット。
【図4】パケット中継装置の動作説明図。
【図5】パケット中継装置のシーケンス図。
【図6】転送エンジンの接続部の説明図。
【図7】SBTL(同時双方向インタフェース)の説明図。
【図8】検索エンジンの接続部の説明図。
【図9】多対多接続のネットワーク中継装置の構成図
【図10】従来のネットワーク中継装置の構成例を示す図。
【符号の説明】
10 クロスバスイッチ
20 ルーティングプロセッサ
30 転送エンジン
40 検索エンジン
50 スイッチエンジン
60、61 接続部
【発明の属する技術分野】
本発明は、高速高ポート密度なネットワーク中継装置に係り、特に、検索エンジンと転送エンジンが1対多、多対1、多対多と可変に接続可能な高速高ポート密度なネットワーク中継装置に関する。
【0002】
【従来の技術】
一般に、ネットワークシステムにおいては、複数のネットワークをルータ等のネットワーク中継装置を介して接続し、パケットを中継している。ネットワーク中継装置は、宛先アドレスに基づき転送先を決定し、転送先のルータ又はホスト又はクライアントが接続されている回線にパケットを出力する。
【0003】
図10は、従来のネットワーク中継装置の構成例を示す図である。ネットワーク中継装置は、例えば、パケットバッファを有する転送エンジンと、ルーティングテーブルを有する検索エンジンと、スイッチエンジンとを含むルーティングプロセッサ、及び、複数のルーティングプロセッサ間でパケットを中継するクロスバスイッチを備えている。また、ルーティングプロセッサの転送エンジンと検索エンジンは、それぞれ1対1で接続されている。
【0004】
まず、転送エンジンは、回線からパケットを受信すると、受信したパケットをパケットバッファに格納する(▲1▼)。また、転送エンジンは、パケットヘッダを抽出し検索エンジンに送信する(▲2▼)。検索エンジンは、転送エンジンからのパケットヘッダを基にルーティングテーブルを検索し、出力方路を決定する(▲3▼)。ルーティングテーブルには、例えば、宛先IPアドレスに対応して出力スイッチエンジン及び出力回線を示す情報が記憶されている。検索エンジンは、決定した出力方路を転送エンジンに送信する(▲4▼)。また、検索エンジンは、パケットヘッダに基づきパケットを廃棄するフィルタリングやQoS(Quality of Service、サービス品質)に関する処理を行う場合もある。転送エンジンは、スイッチエンジンに向かって、出力方路とパケットバッファ内のパケットを送信する(▲5▼)。スイッチエンジンは、指定された方路へパケットをスイッチングする(▲6▼)。
【0005】
また、ネットワーク中継装置全体の中継処理性能を向上させる装置として、パケットのヘッダ情報からパケットの宛先を検索しパケットを転送するパケット転送ユニットを各ルーティングプロセッサ内に複数個設け、ネットワークインタフェース及びクロスバスイッチから入ってきたパケットを、パケット単位にパケット転送ユニットに振り分けることにより、パケットの転送処理ユニットの並列度に応じパケット転送処理を高速化した装置が提案されている(例えば、特許文献1参照)。
【特許文献1】
特開2001−211203号公報
【0006】
【発明が解決しようとする課題】
従来のネットワーク中継装置は、転送エンジンと検索エンジンが1対1で固定的に接続されている。ネットワーク中継装置の検索エンジンは、ネットワークに関する重要な情報を保持するため、信頼性向上のために検索エンジンを二重化するニーズがある。従来のネットワーク装置においては、検索エンジンを二重化すると、1対1で接続されている転送エンジンも二重化する必要がある。また、転送エンジンは回線と接続されているため、回線も二重化することになり、ネットワーク中継装置の構成を変更するだけでは二重化を実現することができない課題があった。
【0007】
また、従来のネットワーク中継装置では、ポート数を増やすために転送エンジン数を増やすと、1対1で接続されている検索エンジン数を増やす必要がある。一般に検索エンジンは高価であり、検索エンジン数を増やすと装置全体も高価になる課題があった。
【0008】
さらに、転送エンジンと検索エンジンの接続を1対多、多対1とするネットワーク中継装置を製作する場合、接続状況に応じて転送エンジンや検索エンジンのLSI等を開発する必要があり、開発コストがかかるという課題があった。
【0009】
本発明は、以上の点に鑑み、1対多又は多対1又は多対多と可変に接続可能な転送エンジン及び検索エンジンを有するネットワーク中継装置を提供することを目的とする。また、本発明は、同じ構造の転送エンジンと検索エンジンで複数の接続パターンを選択可能なネットワーク中継装置を提供することを目的とする。さらに、本発明は、転送エンジンと検索エンジン間のパケットヘッダ及び出力方路を効率的に送受信することを目的とする。
【0010】
【課題を解決するための手段】
本発明によると、 回線から入力されたパケットのヘッダ情報からパケットの転送先を検索し、パケットを転送先へ転送するための複数のルーティングプロセッサと、前記ルーティングプロセッサ間でパケットを転送するクロスバスイッチとを備えたネットワーク中継装置において、
前記ルーティングプロセッサは、
パケットを記憶するパケットバッファを有し、回線から受信したパケットを該パケットバッファに格納し、パケットからパケットヘッダを抽出するひとつ又は複数の転送エンジンと、
パケットヘッダ中の宛先アドレスに対応して出力スイッチエンジン番号及び出力転送エンジン番号及び出力回線番号を含む出力方路情報を記憶したルーティングテーブルを有し、パケットヘッダ中の宛先アドレスに従い該ルーティングテーブルから出力方路情報を検索して、前記転送エンジンに出力方路情報を送るひとつ又は複数の検索エンジンと、
前記転送エンジンにより指定された出力方路情報に従い、前記転送エンジンから受けたパケットを出力転送エンジン番号に対応する前記転送エンジンへ転送するスイッチエンジンと
を備え、
前記ルーティングプロセッサは、前記転送エンジンと前記検索エンジンとが、1対多又は多対1又は多対多に接続されるアーキテクチャが採用され、
前記転送エンジン及び前記検索エンジンは、それぞれ、該アーキテクチャに応じた所定の設定に従い、ひとつの前記転送エンジンに対して複数の前記検索エンジンを接続可能とするか、複数の前記転送エンジンに対してひとつの前記検索エンジンを接続可能とするか、複数の前記転送エンジンに対して複数の前記検索エンジンを接続可能とするように、相互のエンジンを可変に接続するための接続部をさらに備えた前記ネットワーク中継装置が提供される。
【0011】
【発明の実施の形態】
図1は、ネットワーク中継装置の構成図である。ネットワーク中継装置は、クロスバスイッチ10と、複数のルーティングプロセッサ20とを備える。ルーティングプロセッサ20は、転送エンジン30、検索エンジン40、スイッチエンジン50を有する。また、転送エンジン30は、それぞれ複数の回線と接続されている。ルーティングプロセッサ20は、例えば、転送エンジン30と検索エンジン40が1対1で接続されたタイプA、多対1で接続されたタイプB、1対多で接続されたタイプCの接続パターンで構成される。
【0012】
本実施の形態におけるルーティングプロセッサ20は、転送エンジン30と検索エンジン40が、1対多又は多対1と可変に接続されるようなアーキテクチャである。転送エンジン30及び検索エンジン40は、それぞれ、アーキテクチャに応じた所定の設定に従い、ひとつの転送エンジン30に対して複数の検索エンジン40を接続可能とするか、複数の転送エンジン30に対してひとつの検索エンジン40を接続可能とするように、相互のエンジンを可変に接続するための接続部を備えている。
【0013】
なお、図1には、タイプA、B、Cのルーティングプロセッサ20をひとつずつ示しているが、ネットワーク中継装置は、ひとつのタイプのみ、又はタイプA〜Cの適宜の組み合わせのルーティングプロセッサ20を備えることができる。
【0014】
クロスバスイッチ10は、スイッチエンジンを有し、ルーティングプロセッサ20との間でパケットを転送する。クロスバスイッチ10は、ルーティングプロセッサ20のスイッチエンジン50からパケット及び出力方路情報を受け取ると、出力方路情報の出力スイッチエンジン番号に応じたスイッチエンジン50に当該パケットを転送する。なお、クロスバスイッチ10は、例えば、現用系と予備系を有する多重化構成であってもよい。また、クロスバスイッチ10のスイッチエンジンと、ルーティングプロセッサ20のスイッチエンジン50は、同じ構造のスイッチエンジンを用いることができる。
【0015】
ルーティングプロセッサ20の転送エンジン30は、パケットを記憶するパケットバッファを有し、回線から受信したパケットをパケットバッファに格納する。また、転送エンジン30は、パケットからパケットヘッダを抽出し、検索エンジン40へ送る。転送エンジン30は、検索エンジン40から出力方路情報を受け取り、受け取った出力方路情報とパケットバッファに格納されているパケットをスイッチエンジン50に転送する。また、転送エンジン30は、入力回線番号及び入力転送エンジン番号をさらに検索エンジン40に送ってもよい。入力回線番号及び入力転送エンジン番号は、例えば、検索エンジン40でのフィルタリングやQoSに関する処理に使用される。
【0016】
検索エンジン40は、パケットヘッダ中の宛先アドレスに対応して出力スイッチエンジン番号及び出力転送エンジン番号及び出力回線番号を含む出力方路情報を記憶したルーティングテーブルを有する。検索エンジン40は、転送エンジン30から受け取ったパケットヘッダ中の宛先アドレスに従い、ルーティングテーブルから出力方路情報を検索して、転送エンジン30に送る。また、検索エンジン40は、転送エンジン30から受け取った入力回線番号及び入力転送エンジン番号、及び/又は、出力方路情報に基づき、フィルタリング又はQoSに関する処理を行う。
【0017】
スイッチエンジン50は、検索エンジン40により指定された出力方路情報に従い、転送エンジン30から受け取ったパケット及び出力方路情報を出力方路へ転送する。また、スイッチエンジン50は、クロスバスイッチ10から出力方路情報及びパケットを受信し、転送エンジン30へ送信する。スイッチエンジン50からパケットを受け取った転送エンジン30は、出力方路情報に従い、当該パケットを回線に出力する。
【0018】
ルーティングプロセッサ20のタイプAは、検索エンジン40と転送エンジン30が1対1で接続された構成である。タイプAは、タイプB、Cの構成に比べて性能のバランスを重視した構成である。
【0019】
タイプBは、ひとつの検索エンジン40に対して、複数の転送エンジン30が接続された構成である。なお、図1に示すタイプBでは、スイッチエンジンと転送エンジンは1対多で接続されているが、複数のスイッチエンジンを配置して1対1で接続するようにしてもよい。上述のタイプAの構成では、回線数を増やすためには、転送エンジン30、検索エンジン40、スイッチエンジン50のそれぞれを増やす必要がある。一方、タイプBの構成では、ひとつの検索エンジン40に対する回線数(ポート数)を多くできるため、ポート単価を安くすることができる。すなわち、タイプBは、タイプA、Cの構成に比べて回線収容数(ポート密度)を重視した構成でもある。特に、パケット長の長いパケットを扱う場合、パケットのデータを処理する転送エンジン30(性能はpps、パケット毎秒)の負荷に対して、パケットのヘッダを処理する検索エンジン40(性能はbps、ビット毎秒)の負荷は小さくなるため、タイプBの構成とすることにより検索エンジン40を効率的に利用することができる。
【0020】
なお、検索エンジン40のポート数は限られているため、例えば、ひとつの検索エンジン40に対して2つの転送エンジン30を接続する場合、転送エンジン30はタイプAに比べて半分のポートが検索エンジン40と接続される。したがって、タイプAとタイプBの転送エンジン30及び検索エンジン40は異なるバス幅を有する必要がある。本実施の形態におけるネットワーク中継装置では、バス幅を可変にする接続部を用いることにより、それぞれ同じ構造の転送エンジン30及び検索エンジン40でタイプA、タイプBの接続が可能である。
【0021】
タイプCは、ひとつの転送エンジン30に対して、複数の検索エンジン40が接続された構成である。タイプCの構成は、回線を多重化せずに、スイッチエンジン50や検索エンジン40を多重化した、信頼性を重視した構成である。タイプCでは、例えば、一組の検索エンジン40及びスイッチエンジン50を予備系とし、残りを現用系とすることができる。特に、検索エンジン40は、ネットワークに関する重要な情報を保持しているため、スイッチエンジン50や検索エンジン40を二重化することで信頼性を向上することができる。なお、予備系は一組でなくても、複数の組を予備系としてもよい。なお、図1に示すタイプCでは、スイッチエンジン50も多重化した構成としているが、検索エンジン40のみを多重化し、スイッチエンジン50と転送エンジン30は1対1で接続された構成としてもよい。
【0022】
タイプCでは、例えば、ひとつの転送エンジン30に対して複数の検索エンジン40を接続する場合、転送エンジン30は、接続された検索エンジン40に同じデータを出力可能な構成とする必要がある。本実施の形態におけるネットワーク中継装置は、接続部が転送エンジン及び検索エンジンのポートを複数の系統として有効にすることで、複数の検索エンジンに同じデータを出力することが可能であり、タイプA及びBと同じ構造の転送エンジン30及び検索エンジン40によりタイプCの接続が可能である。なお、接続部の詳細な構成については後述する。
【0023】
図2は、検索エンジン40が有するルーティングテーブルのフォーマットである。
ルーティングテーブルは、例えば、宛先IPアドレスに対応して、出力スイッチエンジン番号、出力転送エンジン番号、出力回線番号が記憶されている。本実施の形態におけるネットワーク中継装置は、スイッチエンジン50に対して複数の転送エンジン30が接続可能であるため、宛先IPアドレスに対応して出力転送エンジン番号が記憶されている。なお、記憶されているスイッチエンジン番号、転送エンジン番号、回線番号は、それぞれスイッチエンジン50及び転送エンジン30及び回線に対して、一意に定めた識別情報を割り当てた番号であり、番号以外にも、適宜の情報を用いることができる。また、宛先IPアドレスは、IPアドレス以外にも適宜のアドレスを用いてもよい。
【0024】
図3は、出力方路情報を付加したパケットフォーマットである。図3に示すパケットフォーマットは、例えば、ルーティングプロセッサ20のスイッチエンジン50がクロスバスイッチ10に出力するパケットである。スイッチエンジン50が出力するパケットは、転送エンジン30が受信したヘッダ情報とペイロードを有する受信パケットと、検索エンジン40が指定した出力方路情報を含む。
【0025】
図4は、パケット中継装置の動作説明図である。例えば、パケット中継装置は、検索エンジン40と転送エンジン30が1対1又は1対多で接続されている複数のルーティングプロセッサ20を有する。また、ルーティングプロセッサ20のスイッチエンジン50、検索エンジン40、転送エンジン30には、予め識別番号が割り当てられている。なお、この例では、転送エンジン30の識別番号は、スイッチエンジン50又は検索エンジン40毎に割り当てられている。さらに、転送エンジン30と回線が接続されているポートにも、予め識別番号が割り当てられている。また、図4では、各エンジンの接続状況は省略しているが、図1と同様に各転送エンジン30は、検索エンジン40及びスイッチエンジン50と接続され、クロスバスイッチ10は、ルーティングプロセッサ20の各スイッチエンジン50と接続されている。
【0026】
図5は、パケット中継装置のシーケンス図である。例えば、宛先アドレスが192.168.0.1のパケットを図4の検索エンジン#0に接続されている転送エンジン#0が受信した場合の動作について、図4及び図5を用いて以下に説明する。なお、図4の検索エンジン#0のルーティングテーブルには、図2に示すテーブルが予め記憶されている。
【0027】
まず、検索エンジン#0に接続されている転送エンジン#0は、回線からパケットを受信すると、受信パケットからヘッダを抽出し、抽出したパケットヘッダを検索エンジン#0へ送信する。また、転送エンジン#0は、パケットを受信した入力回線番号及び入力転送エンジン番号を検索エンジン#0に送信してもよい。さらに、転送エンジン#0は、受信したパケットをパケットバッファに格納する。
【0028】
パケットヘッダを受信した検索エンジン#0は、受信したパケットヘッダの宛先IPアドレスに基づき、ルーティングテーブルを参照する。検索エンジン#0は、宛先IPアドレスに対応する出力エンジン番号、出力転送エンジン番号、出力回線番号等の出力方路情報を取得する。この例では、検索エンジン#0は、図2に示すルーティングテーブルを参照し、出力方路情報の出力スイッチエンジン番号として2、出力転送エンジン番号として3、出力回線番号として4を取得する。検索エンジン#0は、取得した出力方路情報を転送エンジン#0に送信する。また、検索エンジン#0は、転送エンジン#0から入力回線番号及び入力転送エンジン番号を受信し、これらの情報に基づいてフィルタリング又はQoSに関する処理を行ってもよい。
【0029】
転送エンジン#0は、検索エンジン#0から出力方路情報を受け取ると、パケットバッファに格納した該当するパケットデータに出力方路情報を付加し、スイッチエンジン#0へ送信する。スイッチエンジン#0は、出力方路情報の出力スイッチエンジン番号に従い、クロスバスイッチ10を介してパケット及び出力方路情報を転送する。この例では、スイッチエンジン#0は、出力エンジン番号2に従い、スイッチエンジン#2にパケットを送信する。
【0030】
パケットを受け取ったスイッチエンジン#2は、出力転送エンジン番号に従い、受け取ったパケット及び出力方路情報を、例えば、転送エンジン#3に出力する。転送エンジン#3は、受信したパケットのヘッダを抽出し、出力方路情報及びパケットヘッダを検索エンジン#2に送信する。検索エンジン#2は、受信した情報を用いて、例えば、フィルタリング、遅延優先制御、QoSに関する処理を行う。なお、これらフィルタリング、遅延優先制御、QoS等に関する処理は省略してもよい。また、検索エンジン#2は、例えば、受信した出力方路情報の出力回線番号を転送エンジン#3に送信する。検索エンジン#2が送信するデータは、出力回線番号以外にも適宜のデータを用いてもよい。転送エンジン#3は、検索エンジン#2又はスイッチエンジン#2から受信した出力回線番号4に対応する回線に、受信したパケットを出力する。
【0031】
なお、上述の例では、検索エンジン#0に接続されている転送エンジン#0がパケットを入力した場合について説明したが、他の転送エンジンがパケットを入力した場合についても同様の処理によりパケットを中継することができる。また、図1のタイプCのルーティングプロセッサ20を有するネットワーク中継装置では、タイプC内の複数の検索エンジン40及びスイッチエンジン50のうち、現用系を予め設定し、設定された検索エンジン40及びスイッチエンジン50を用いて上述と同様の処理を行うことにより、パケットを中継することができる。
【0032】
図6は、転送エンジン30の接続部の説明図である。転送エンジン30の接続部60は、モードレジスタと、セレクタと、カウンタとを有する。また、接続部60は、例えば0−127の複数のバス及びポートを有する。なお、接続部60のバス及びポートは、適宜の数とすることができる。
【0033】
モードレジスタは、転送エンジン30及び検索エンジン40の対応関係を示すモードを記憶する。例えば、モードレジスタは、転送エンジン30と検索エンジン40が全てのポートを1系統として有効とするモードA、半分のポートを2系統として有効とするモードB、1/4のポートを4系統として有効とするモードCの内、どのモードで接続されているかを記憶する。なお、モードレジスタは、初期設定時等の適宜の時に、ソフトウェアや入力部からの入力により各モードが設定可能である。
【0034】
セレクタは、モードレジスタにより定められたモードに従い、転送エンジン30のポートをひとつ又は複数の系統として選択的に有効にする。セレクタは、例えば、2進カウンタや4進カウンタ等のカウンタの値に対応したポートを有効にする。2進カウンタ及び4進カウンタは、データを送信するサイクルに応じてカウントアップ(又はダウン)する。
【0035】
例えば、モードAでは、セレクタは、0−127の全てのポートを有効とし、転送エンジン30の0−127のポートと、検索エンジン40の0−127のポートが1対1で接続可能となる。
【0036】
モードBでは、セレクタは、2進カウンタの値(例えば、0か1)に従い0−63のポートと64−127のポートを順次切り替えて有効にする。また、有効となったポートは2つに分岐され、2系統として出力される。2系統として出力することにより、ひとつの転送エンジン30と複数の検索エンジン40を接続した場合に、同じデータを検索エンジン40に送信することができる。
【0037】
例えば、図1に示すタイプBにおいて転送エンジン30と検索エンジン40を2対1で接続する場合には、モードレジスタをモードBに設定し、各転送エンジン30のポート0−63(又は64−127)と、検索エンジン40の0−127のポートを接続する。また、図1に示すタイプCにおいて転送エンジン30と検索エンジン40を1対2で接続する場合には、モードレジスタをモードBに設定し、転送エンジン30のポート0−63をひとつの検索エンジン40に接続し、残りのポートを他の検索エンジン40に接続する。
【0038】
モードCでは、セレクタは、4進カウンタの値(例えば、0〜3のいずれか)に従い0−31のポート、32−63のポート、64−95のポート、96−127のポートを順次切り替えて有効にする。また、有効となったポートは4つに分岐され、4系統として出力される。
【0039】
例えば、図1に示すタイプBにおいて転送エンジン30と検索エンジン40を4対1で接続する場合には、モードレジスタをモードCに設定し、各転送エンジン30のポート0−31(又はポート32−63、64−95、96−127のいずれか)と、検索エンジン40の0−127のポートを接続する。また、図1に示すタイプCにおいて転送エンジン30と検索エンジン40を1対4で接続する場合には、モードレジスタをモードCに設定し、例えば、転送エンジン30のポート0−31、32−63、64−95、96−127をそれぞれの検索エンジン40に接続する。
【0040】
また、図1に示すネットワーク中継装置の検索エンジン40と転送エンジン30間、及び、スイッチエンジン50と転送エンジン30間は、SBTL(同時双方向インターフェース)で接続することもできる。SBTLは、物理的に1本の線で双方向の通信を可能にする技術である。
【0041】
図7に、SBTLの説明図を示す。SBTLは、双方向から「0」又は「1」の信号が送信されると、双方向からの信号に応じてHigh、Middle、Lowのいずれかのレベルの信号になる。例えば、両者の信号が共に1ならばHigh、片方のみ1ならばMiddle、両者ともに0ならばLowになる。SBTLは、信号を受信する場合、自分の出力している信号と受信した信号から相手が送信した信号を判断する。例えば、自分が1を出力している場合、受信した信号がHighの時は相手が送信した信号は1、また、受信した信号がMiddleの時は相手が送信した信号は0と判断できる。自分が0を出力している場合も同様である。具体的には、SBTLは、自分の出力している信号に応じて、受信するデータのスレッショルドを変えて信号を受信する。例えば、自分が1を出力している場合、受信するスレッショルドをMiddleとHighの中間にすることで、Middleは0、Highは1として受信できる。
【0042】
パケット中継装置の検索エンジン40と転送エンジン30の間は、パケットヘッダ及び出力方路の送受信を行うため、頻繁(パケットバイパケット)に双方向の通信が発生する。検索エンジン40と転送エンジン30間をSBTLで接続することにより、パケットヘッダ及び出力方路を効率的に送受信することができる。また、検索エンジン40と転送エンジン30を1対多又は多対1で接続する場合バス幅が減少するが、SBTLを用いて双方向で送受信することによりバス幅の減少による影響を軽減することが可能となる。
【0043】
図8は、検索エンジン40の接続部の説明図である。検索エンジン40の接続部61は、モードレジスタと、セレクタと、カウンタとを有する。また、接続部61は、例えば0−127の複数のバス及びポートを有する。なお、接続部61のバス及びポートは、適宜の数とすることができる。モードレジスタ、セレクタ、カウンタは、上述の転送エンジン30の接続部60と同様であるので、その説明を省略する。なお、モードレジスタは、例えば、モードX、Y、Zの内どのモードで接続されているかを記憶する。
【0044】
モードXでは、セレクタは、0−127の全てのポートを有効とし、例えば、検索エンジン40の0−127のポートと、転送エンジン#0の0−127のポートが1対1で接続可能となる。
【0045】
モードYでは、検索エンジン40と転送エンジン30を1対2で接続可能であり、例えば、検索エンジン40の0−63のポートが転送エンジン#0の0−63(又は64−127)のポートへ、検索エンジン40の64−127のポートが転送エンジン#1の0−63のポートへ接続され、2系統が有効となる。検索エンジン40から転送エンジン30にパケットを送信する際には、セレクタによって選択された0−63又は64−127のバスは、転送エンジン30からパケットヘッダと共に受け取った入力転送エンジン番号に基づき、転送エンジン#0が接続されているポート0−63、又は、転送エンジン#1が接続されているポート64−127の一方に接続される。また、検索エンジン40と転送エンジン30を2対1で接続する場合も、モードレジスタをモードYに設定し、各検索エンジン40の半分のポート(0−63又は64−127)と転送エンジン30の0−127のポートを接続する。
【0046】
モードZでは、検索エンジン40と転送エンジン30を1対4で接続可能であり、例えば、検索エンジン40の0−31、32−63、64−95、96−127のポートが、それぞれ転送エンジン#0〜#3のポートへ接続され、4系統が有効となる。セレクタによって選択されたバスは、上述と同様に入力転送エンジン番号に基づき、転送エンジン#0〜#3に接続されているいずれかのポートに接続される。また、検索エンジン40と転送エンジン30を4対1で接続する場合、モードレジスタをモードZに設定し、各検索エンジン40の1/4のポートと転送エンジン30の0−127のポートを接続する。
【0047】
このように、同じ構造の転送エンジン30及び検索エンジン40を適当な数用いて、多対1又は1対多の接続が可能となる。なお、上述の転送エンジン30及び検索エンジン40では、全ポートを1系統、半分のポートを2系統、1/4のポートを4系統としているが、これ以外にも適宜の数のポートをひとつ又は複数の系統とすることができる。また、スイッチエンジン50は、検索エンジン40の接続部61と同様の接続部を有することもできる。
【0048】
図9は、多対多接続のネットワーク中継装置の構成図である。図9に示すネットワーク中継装置は、ルーティングプロセッサ20が、複数の転送エンジン30と複数の検索エンジン40が接続されたタイプDで構成されている多対多接続の例である。これらの接続は、各エンジンの接続部のモードを適宜設定することにより図1に示す各エンジンと同一構造のエンジンにより実現できる。なお、図9にはタイプDのみを示しているが、図1に示すタイプA、B、Cのいずれか又は複数と適宜組み合わせることもできる。
【0049】
【発明の効果】
本発明によると、1対多、多対1、多対多と可変に接続可能な転送エンジン及び検索エンジンを有するネットワーク中継装置を提供することができる。また、本発明によると、同じ構造の転送エンジンと検索エンジンで複数の接続パターンを選択可能なネットワーク中継装置を提供することができる。さらに、本発明によると、転送エンジンと検索エンジン間のパケットヘッダ及び出力方路を効率的に送受信することができる。
【図面の簡単な説明】
【図1】ネットワーク中継装置の構成図。
【図2】検索エンジンが有するルーティングテーブルのフォーマット。
【図3】出力方路情報を付加したパケットフォーマット。
【図4】パケット中継装置の動作説明図。
【図5】パケット中継装置のシーケンス図。
【図6】転送エンジンの接続部の説明図。
【図7】SBTL(同時双方向インタフェース)の説明図。
【図8】検索エンジンの接続部の説明図。
【図9】多対多接続のネットワーク中継装置の構成図
【図10】従来のネットワーク中継装置の構成例を示す図。
【符号の説明】
10 クロスバスイッチ
20 ルーティングプロセッサ
30 転送エンジン
40 検索エンジン
50 スイッチエンジン
60、61 接続部
Claims (9)
- 回線から入力されたパケットのヘッダ情報からパケットの転送先を検索し、パケットを転送先へ転送するための複数のルーティングプロセッサと、前記ルーティングプロセッサ間でパケットを転送するクロスバスイッチとを備えたネットワーク中継装置において、
前記ルーティングプロセッサは、
パケットを記憶するパケットバッファを有し、回線から受信したパケットを該パケットバッファに格納し、パケットからパケットヘッダを抽出するひとつ又は複数の転送エンジンと、
パケットヘッダ中の宛先アドレスに対応して出力スイッチエンジン番号及び出力転送エンジン番号及び出力回線番号を含む出力方路情報を記憶したルーティングテーブルを有し、パケットヘッダ中の宛先アドレスに従い該ルーティングテーブルから出力方路情報を検索して、前記転送エンジンに出力方路情報を送るひとつ又は複数の検索エンジンと、
前記転送エンジンにより指定された出力方路情報に従い、前記転送エンジンから受けたパケットを出力転送エンジン番号に対応する前記転送エンジンへ転送するスイッチエンジンと
を備え、
前記ルーティングプロセッサは、前記転送エンジンと前記検索エンジンとが、1対多又は多対1又は多対多に接続されるアーキテクチャが採用され、
前記転送エンジン及び前記検索エンジンは、それぞれ、該アーキテクチャに応じた所定の設定に従い、ひとつの前記転送エンジンに対して複数の前記検索エンジンを接続可能とするか、複数の前記転送エンジンに対してひとつの前記検索エンジンを接続可能とするか、複数の前記転送エンジンに対して複数の前記検索エンジンを接続可能とするように、相互のエンジンを可変に接続するための接続部をさらに備えた前記ネットワーク中継装置。 - 前記スイッチエンジンが出力するデータは、出力方路情報及びパケットを含む請求項1に記載のネットワーク中継装置。
- 前記クロスバスイッチからパケットを受信する側の前記ルーティングプロセッサは、
前記スイッチエンジンが、前記クロスバスイッチから出力方路情報及びパケットを含むデータを受信し、
前記転送エンジンは、前記スイッチエンジンから受信したパケットを前記パケットバッファに格納し、出力方路情報及びパケットヘッダを抽出して、前記検索エンジンに送り、出力回線番号に従いパケットを転送する請求項1に記載のネットワーク中継装置。 - 前記検索エンジンは、出力方路情報に基づきフィルタリング又はサービス品質に関する処理を行う請求項3に記載のネットワーク中継装置。
- 前記転送エンジンは、さらに、入力回線番号及び入力転送エンジン番号をさらに前記検索エンジンに送り、
前記検索エンジンは、さらに、入力回線番号及び入力転送エンジン番号に基づきフィルタリング又はサービス品質に関する処理を行う請求項1に記載のネットワーク中継装置。 - 前記接続部は、
前記転送エンジン及び前記検索エンジンの対応関係を示すモードを記憶するモードレジスタと、
前記モードレジスタにより定められたモードに従い、前記転送エンジン又は前記検索エンジンのポートをひとつ又は複数の系統として選択的に有効とするためのセレクタと
を備えた請求項1に記載のネットワーク中継装置。 - 前記接続部は、前記セレクタにより、
第1モードは全てのポートを1系統として有効とし、
第2モードは半分のポートを2系統として有効とし、
第3モードは1/4のポートを4系統として有効とする請求項6に記載のネットワーク中継装置。 - 前記検索エンジン内のルーティングテーブルは、ネットワーク中継装置が備える前記スイッチエンジン及び前記転送エンジンに対して、一意に定めた識別情報を割り当てた番号を用いている請求項1に記載のネットワーク中継装置。
- 前記転送エンジンと前記検索エンジンの各前記接続部間は、同時双方向インタフェースにより接続されており、1本の物理回線で双方向通信を可能とする請求項1に記載のネットワーク中継装置。
Priority Applications (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2003046679A JP2004260365A (ja) | 2003-02-25 | 2003-02-25 | 高速高ポート密度なネットワーク中継装置 |
| US10/782,530 US7379456B2 (en) | 2003-02-25 | 2004-02-18 | Network routing apparatus |
| CNB2004100060333A CN1311668C (zh) | 2003-02-25 | 2004-02-25 | 网络中继装置 |
| JP2004048955A JP4415700B2 (ja) | 2003-02-25 | 2004-02-25 | ネットワーク中継装置 |
| CN2006100667881A CN1866925B (zh) | 2003-02-25 | 2004-02-25 | 网络中继装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2003046679A JP2004260365A (ja) | 2003-02-25 | 2003-02-25 | 高速高ポート密度なネットワーク中継装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2004260365A true JP2004260365A (ja) | 2004-09-16 |
Family
ID=33113121
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2003046679A Pending JP2004260365A (ja) | 2003-02-25 | 2003-02-25 | 高速高ポート密度なネットワーク中継装置 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US7379456B2 (ja) |
| JP (1) | JP2004260365A (ja) |
| CN (2) | CN1866925B (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006333438A (ja) * | 2005-04-28 | 2006-12-07 | Fujitsu Ten Ltd | ゲートウェイ装置及びルーティング方法 |
Families Citing this family (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9282001B2 (en) * | 2007-03-05 | 2016-03-08 | Grid Net, Inc. | Policy based utility networking |
| JP4866335B2 (ja) * | 2007-11-28 | 2012-02-01 | 富士通株式会社 | 中継装置,試験装置,試験方法,及び試験プログラム |
| US8779927B2 (en) | 2010-09-07 | 2014-07-15 | Grid Net, Inc. | Power outage notification |
| US10140049B2 (en) | 2012-02-24 | 2018-11-27 | Missing Link Electronics, Inc. | Partitioning systems operating in multiple domains |
| CN107924399B (zh) * | 2015-12-24 | 2021-08-10 | 株式会社日立制作所 | 处理对主机而言数据传输量不明的检索请求的检索处理系统和方法 |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4614945A (en) * | 1985-02-20 | 1986-09-30 | Diversified Energies, Inc. | Automatic/remote RF instrument reading method and apparatus |
| US5787070A (en) * | 1995-06-21 | 1998-07-28 | Cisco Technology, Inc. | One for N redundancy in a communication system |
| TW358911B (en) * | 1998-01-23 | 1999-05-21 | Accton Technology Corp | Data package sorting transmission method |
| CN100399763C (zh) * | 1999-02-23 | 2008-07-02 | 阿尔卡塔尔互联网运行公司 | 具有自动保护交换的多业务网络交换机及其保护交换方法 |
| JP4294821B2 (ja) | 2000-01-26 | 2009-07-15 | 株式会社日立製作所 | ネットワーク中継装置 |
-
2003
- 2003-02-25 JP JP2003046679A patent/JP2004260365A/ja active Pending
-
2004
- 2004-02-18 US US10/782,530 patent/US7379456B2/en active Active
- 2004-02-25 CN CN2006100667881A patent/CN1866925B/zh not_active Expired - Lifetime
- 2004-02-25 CN CNB2004100060333A patent/CN1311668C/zh not_active Expired - Lifetime
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006333438A (ja) * | 2005-04-28 | 2006-12-07 | Fujitsu Ten Ltd | ゲートウェイ装置及びルーティング方法 |
| US7787479B2 (en) | 2005-04-28 | 2010-08-31 | Fujitsu Ten Limited | Gateway apparatus and routing method |
Also Published As
| Publication number | Publication date |
|---|---|
| CN1525706A (zh) | 2004-09-01 |
| US7379456B2 (en) | 2008-05-27 |
| US20040233920A1 (en) | 2004-11-25 |
| CN1866925B (zh) | 2011-06-22 |
| CN1311668C (zh) | 2007-04-18 |
| CN1866925A (zh) | 2006-11-22 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4550397A (en) | Alternate paths in a self-routing packet switching network | |
| US11632606B2 (en) | Data center network having optical permutors | |
| US5841775A (en) | Scalable switching network | |
| JP3714238B2 (ja) | ネットワーク転送システム及び転送方法 | |
| JP4023281B2 (ja) | パケット通信装置及びパケットスイッチ | |
| US6597691B1 (en) | High performance switching | |
| US7660239B2 (en) | Network data re-routing | |
| CN103222236B (zh) | 网络中继系统和通信装置 | |
| JPH088590B2 (ja) | 多パケット宛先のパケット交換ネットワ−ク | |
| JPS6184945A (ja) | 自己経路選択パケツトスイツチ回路網 | |
| CN1331334C (zh) | 在对多协议分组标签交换-分组进行路由的环形结构中为传输设备提供备用电路的电路装置 | |
| US7174394B1 (en) | Multi processor enqueue packet circuit | |
| JP2005020492A (ja) | ネットワーク中継装置 | |
| US6947375B2 (en) | System and method for network card switchovers in an IP network | |
| JP2004260365A (ja) | 高速高ポート密度なネットワーク中継装置 | |
| WO1993006675A1 (en) | Nonblocking multicast fast packet/circuit switching networks | |
| US8625624B1 (en) | Self-adjusting load balancing among multiple fabric ports | |
| US7352757B2 (en) | Relay device | |
| JP4415700B2 (ja) | ネットワーク中継装置 | |
| JP4944377B2 (ja) | 線形拡張可能な配信ルータ装置 | |
| KR102394259B1 (ko) | 내부 스위치 패브릭에서의 비동일한 링크 접속들을 위한 분사 | |
| KR100238450B1 (ko) | 대용량 데이터 전송을 위한 다중 배출구를 갖는 스위치와 그를이용한 패킷의 경로 배정방법 | |
| JPWO2020123796A5 (ja) | ||
| JP2004248176A (ja) | ノード装置および伝送制御方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060117 |
|
| A072 | Dismissal of procedure [no reply to invitation to correct request for examination] |
Free format text: JAPANESE INTERMEDIATE CODE: A072 Effective date: 20060523 |