JP2572541B2 - パケットのルーティング方法及び装置 - Google Patents
パケットのルーティング方法及び装置Info
- Publication number
- JP2572541B2 JP2572541B2 JP33311793A JP33311793A JP2572541B2 JP 2572541 B2 JP2572541 B2 JP 2572541B2 JP 33311793 A JP33311793 A JP 33311793A JP 33311793 A JP33311793 A JP 33311793A JP 2572541 B2 JP2572541 B2 JP 2572541B2
- Authority
- JP
- Japan
- Prior art keywords
- node
- routing
- packet
- list
- address
- 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.)
- Expired - Fee Related
Links
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/34—Source routing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
【0001】
【産業上の利用分野】本発明は、通信ネットワークに関
し、特に高速パケット交換を実現し、ネットワーク管理
機構を備えるネットワーク・ノード間で情報をルーティ
ング(経路指定)する方法及び装置に関する。
し、特に高速パケット交換を実現し、ネットワーク管理
機構を備えるネットワーク・ノード間で情報をルーティ
ング(経路指定)する方法及び装置に関する。
【0002】
【従来の技術】通信ネットワークの各ノードに実現され
る基本機能は、情報パケットのルーティング(経路指
定)である。ルーティングは、パケットに含まれる制御
情報の特定部分から、パケットが送信される通信リンク
の物理アドレスを検索することにある。従来のルーティ
ング法は、通信ネットワークの各ノードに位置するルー
ティング・テーブルをもとにして、ノード入力パケット
によって用いられるノード出力ポートの物理アドレスを
与えるものである。このテーブルを使用すると処理にオ
ーバヘッドがかかり、ネットワーク・ノードのスループ
ットが制限される。この欠点は「自己ルーティング・パ
ケット(self routing packet )」と呼ばれるルーティ
ング法によって解決される。この技法では、パケットを
交換する連続したノードによって用いられる物理ポート
・アドレスのリストがパケットに格納され、そのパケッ
トがネットワーク内でルーティングされる。
る基本機能は、情報パケットのルーティング(経路指
定)である。ルーティングは、パケットに含まれる制御
情報の特定部分から、パケットが送信される通信リンク
の物理アドレスを検索することにある。従来のルーティ
ング法は、通信ネットワークの各ノードに位置するルー
ティング・テーブルをもとにして、ノード入力パケット
によって用いられるノード出力ポートの物理アドレスを
与えるものである。このテーブルを使用すると処理にオ
ーバヘッドがかかり、ネットワーク・ノードのスループ
ットが制限される。この欠点は「自己ルーティング・パ
ケット(self routing packet )」と呼ばれるルーティ
ング法によって解決される。この技法では、パケットを
交換する連続したノードによって用いられる物理ポート
・アドレスのリストがパケットに格納され、そのパケッ
トがネットワーク内でルーティングされる。
【0003】パケットが目的ノードの方向に進む際、各
中間ノードはパケットのルーティング先である出力ポー
ト・アドレスをパケットの先頭で読取り、パケットを次
のノードに転送する前にノード内で用いられたポート・
アドレスを削除する(図1)。
中間ノードはパケットのルーティング先である出力ポー
ト・アドレスをパケットの先頭で読取り、パケットを次
のノードに転送する前にノード内で用いられたポート・
アドレスを削除する(図1)。
【0004】これにより高スループットが得られる。た
だし中間ノードは、異常発生時(輻輳、ポート機能停止
等)にパケットの発送元のノードに通知を送る手段を持
たない。
だし中間ノードは、異常発生時(輻輳、ポート機能停止
等)にパケットの発送元のノードに通知を送る手段を持
たない。
【0005】
【発明が解決しようとする課題】本発明の目的は、通信
ネットワークのノードにおいてパケットをルーティング
する方法及び装置を提供することであり、与えられたノ
ード上のパケットは順方向または逆方向にルーティング
でき、よってノードがパケットの発送元ノードに応答す
ることができる。
ネットワークのノードにおいてパケットをルーティング
する方法及び装置を提供することであり、与えられたノ
ード上のパケットは順方向または逆方向にルーティング
でき、よってノードがパケットの発送元ノードに応答す
ることができる。
【0006】本発明の他の目的は、ルーティング情報が
パケットのルーティングに必要なビット数を最適化する
特殊コーディングによって可能な限りコンパクトに保た
れる方法及び装置を提供することである。
パケットのルーティングに必要なビット数を最適化する
特殊コーディングによって可能な限りコンパクトに保た
れる方法及び装置を提供することである。
【0007】本発明の他の目的は、あるノードが通信ネ
ットワーク・トポロジを認識せずに隣接ノードにコンタ
クトしてそれを認識できる方法及び装置を提供すること
である。
ットワーク・トポロジを認識せずに隣接ノードにコンタ
クトしてそれを認識できる方法及び装置を提供すること
である。
【0008】
【課題を解決するための手段】本発明に従った方法は、
パケットのルーティング元である入力/出力ポートを有
する複数のノードと、第1エンド・ノードから第2エン
ド・ノードに送られるパケットがたどるルートを確立す
る手段とから成る通信ネットワークにおいて、第1エン
ド・ノードから第2エンド・ノードにパケットをルーテ
ィングし、パケットが通過するノードと、各ノード内の
パケットが入力され出力されるポート・アドレスを有す
るポートとを識別するために用いられる。この方法のス
テップは次の通りである。
パケットのルーティング元である入力/出力ポートを有
する複数のノードと、第1エンド・ノードから第2エン
ド・ノードに送られるパケットがたどるルートを確立す
る手段とから成る通信ネットワークにおいて、第1エン
ド・ノードから第2エンド・ノードにパケットをルーテ
ィングし、パケットが通過するノードと、各ノード内の
パケットが入力され出力されるポート・アドレスを有す
るポートとを識別するために用いられる。この方法のス
テップは次の通りである。
【0009】a)各ノードについて、ルート確立手段に
よって、ノード入力ポートとノード出力ポートのポート
・アドレスを組合わせて、ノードに固有のルーティング
・コードを得、ルート上の連続したノードについて得ら
れたルーティング・コードをルーティング・コード・リ
スト(RL)に編成する。 b)第1エンド・ノードから、ルーティング・リストを
含む各パケットを転送する。 c)ルート上の各ノードでパケットを受信してノードに
固有のルーティング・コードをルーティング・リストか
ら抽出し、ルーティング・コードからノードの出力ポー
トのアドレスと入力ポート・アドレスを判定し、判定さ
れた出力ポートにパケットを送る。
よって、ノード入力ポートとノード出力ポートのポート
・アドレスを組合わせて、ノードに固有のルーティング
・コードを得、ルート上の連続したノードについて得ら
れたルーティング・コードをルーティング・コード・リ
スト(RL)に編成する。 b)第1エンド・ノードから、ルーティング・リストを
含む各パケットを転送する。 c)ルート上の各ノードでパケットを受信してノードに
固有のルーティング・コードをルーティング・リストか
ら抽出し、ルーティング・コードからノードの出力ポー
トのアドレスと入力ポート・アドレスを判定し、判定さ
れた出力ポートにパケットを送る。
【0010】この方法の好適な実施例では、組合わせス
テップa)は、ルートの各ノードの入力ポート・アドレ
スと出力ポート・アドレスのXORをとるステップから
成る。
テップa)は、ルートの各ノードの入力ポート・アドレ
スと出力ポート・アドレスのXORをとるステップから
成る。
【0011】また、方向指示子(F/B)をルーティン
グ・リストに関連づけ、パケットが順方向に、第1エン
ド・ノードから第2エンド・ノードへ転送された時に、
この指示子を第1の値(F)にセットし、ルートの逆方
向にフィードバック・パケットが返された時に第2の値
(B)にセットするステップ、各ノードで入力ポートで
受信されたパケットの方向指示子を読取るステップ、各
ノードで方向指示子が第1の値にセットされている場合
はルーティング・リストの最初のルーティング・コード
を、方向指示子が第2の値にセットされている場合はリ
ストの最後のルーティング・コードを読取るステップ、
ルーティング・リストから読取られたルーティング・コ
ードと入力ポートのアドレスとのXORをとり、よって
出力ポートのアドレスを得るステップ、方向指示子が第
1の値にセットされていればルーティング・コードを順
方向に、方向指示子が第2の値にセットされていれば逆
方向に回転させることによってルーティング・リストを
編成し、編成されたルーティング・リスト及び方向指示
子と共にパケットをルートの次のノードに送るステップ
とが含まれる。
グ・リストに関連づけ、パケットが順方向に、第1エン
ド・ノードから第2エンド・ノードへ転送された時に、
この指示子を第1の値(F)にセットし、ルートの逆方
向にフィードバック・パケットが返された時に第2の値
(B)にセットするステップ、各ノードで入力ポートで
受信されたパケットの方向指示子を読取るステップ、各
ノードで方向指示子が第1の値にセットされている場合
はルーティング・リストの最初のルーティング・コード
を、方向指示子が第2の値にセットされている場合はリ
ストの最後のルーティング・コードを読取るステップ、
ルーティング・リストから読取られたルーティング・コ
ードと入力ポートのアドレスとのXORをとり、よって
出力ポートのアドレスを得るステップ、方向指示子が第
1の値にセットされていればルーティング・コードを順
方向に、方向指示子が第2の値にセットされていれば逆
方向に回転させることによってルーティング・リストを
編成し、編成されたルーティング・リスト及び方向指示
子と共にパケットをルートの次のノードに送るステップ
とが含まれる。
【0012】本発明はまた、上記の方法を実施する装置
にも関係する。
にも関係する。
【0013】
【実施例】図1は、ノードA、B、C、D、E等、複数
のノードを含む通信ネットワークを表わす。情報パケッ
トはこれらネットワーク・ノードを、例えばエンド・ノ
ードAからエンド・ノードEへ転送される。リンクと2
つのエンド・ノードA、Eの間に含まれる中間ノードが
特定のルートを特徴づける。エンド・ノードには、中間
ノードと呼ばれる他のネットワーク・ノードに対するイ
ンタフェースと、エンド・ユーザの端末に対するインタ
フェースが与えられる。
のノードを含む通信ネットワークを表わす。情報パケッ
トはこれらネットワーク・ノードを、例えばエンド・ノ
ードAからエンド・ノードEへ転送される。リンクと2
つのエンド・ノードA、Eの間に含まれる中間ノードが
特定のルートを特徴づける。エンド・ノードには、中間
ノードと呼ばれる他のネットワーク・ノードに対するイ
ンタフェースと、エンド・ユーザの端末に対するインタ
フェースが与えられる。
【0014】各ノードには、入力/出力ポート(0乃至
7)が与えられる。図1には中間ノードの入力/出力ポ
ートのみ示している。
7)が与えられる。図1には中間ノードの入力/出力ポ
ートのみ示している。
【0015】従来のシステムに用いられる自己ルーティ
ング法によれば、ノードAからノードEに送られる情報
パケットには、ノードB、C、Dによって用いられる出
力ポート・アドレスのリストを含むルーティング・リス
ト(RL)が先頭につけられ、そのパケットがノードE
に転送される。
ング法によれば、ノードAからノードEに送られる情報
パケットには、ノードB、C、Dによって用いられる出
力ポート・アドレスのリストを含むルーティング・リス
ト(RL)が先頭につけられ、そのパケットがノードE
に転送される。
【0016】パケットがその目的地に向かう際、各中間
ノードはパケットの先頭でRLリストの出力ポート・ア
ドレスを読取り、用いられているポート・アドレスを削
除してから、そのパケットを次のノードに転送する。従
来のパケット・フォーマットは、ルートの各リンク、
A、B;B、C;C、D;D、Eについて図1に示した
通りである。このルーティング・アルゴリズムは、性能
の面からは非常に効果的であるが、上述の通り、中間ノ
ードは異常が発生した場合、例えばポートが機能を停止
したり、輻輳が生じた場合に、パケットの発送元である
エンド・ノードに通知を送る手段を持たない。
ノードはパケットの先頭でRLリストの出力ポート・ア
ドレスを読取り、用いられているポート・アドレスを削
除してから、そのパケットを次のノードに転送する。従
来のパケット・フォーマットは、ルートの各リンク、
A、B;B、C;C、D;D、Eについて図1に示した
通りである。このルーティング・アルゴリズムは、性能
の面からは非常に効果的であるが、上述の通り、中間ノ
ードは異常が発生した場合、例えばポートが機能を停止
したり、輻輳が生じた場合に、パケットの発送元である
エンド・ノードに通知を送る手段を持たない。
【0017】図2、図3は、図1と同じネットワークを
示し、パケットを順方向と逆方向にルーティングするた
めのルーティング・リストを示す。
示し、パケットを順方向と逆方向にルーティングするた
めのルーティング・リストを示す。
【0018】パケットに関連づけられたルーティング・
リストRLは、本発明の方法に従って次のように決定さ
れる。
リストRLは、本発明の方法に従って次のように決定さ
れる。
【0019】あるノードがパケットが受信される入力ポ
ート・アドレスIPAを知っているとすると、パケット
がルーティングされる出力ポートOPAをノードが決定
できるようにルーティング・リストをコーディングする
形式として最も簡潔なものは、通過する各ノードについ
てルーティング・コードRCを作り、これをルーティン
グ・リストに加えることである。このコードは、ノード
の入力ポートと出力ポートのアドレスの組合わせであ
る。最も簡単な組合わせは、以下のように入力と出力の
ポート・アドレスのXORをとることである。 RC=IPA(+)OPA ここで、(+)はXOR演算子を示す。必要なビット数
は従来技術に比して増えることはない。ここで、IPA
とOPAを入れ換えてもRCの値が変わることはないの
でコードは対称性がある。ノードが、RCと、入力また
は出力のポート・アドレスのいずれかとの両方を知って
いる場合には、次のように、XOR演算によって他のポ
ート・アドレスを知ることができる。 OPA=RC(+)IPA IPA=RC(+)OPA
ート・アドレスIPAを知っているとすると、パケット
がルーティングされる出力ポートOPAをノードが決定
できるようにルーティング・リストをコーディングする
形式として最も簡潔なものは、通過する各ノードについ
てルーティング・コードRCを作り、これをルーティン
グ・リストに加えることである。このコードは、ノード
の入力ポートと出力ポートのアドレスの組合わせであ
る。最も簡単な組合わせは、以下のように入力と出力の
ポート・アドレスのXORをとることである。 RC=IPA(+)OPA ここで、(+)はXOR演算子を示す。必要なビット数
は従来技術に比して増えることはない。ここで、IPA
とOPAを入れ換えてもRCの値が変わることはないの
でコードは対称性がある。ノードが、RCと、入力また
は出力のポート・アドレスのいずれかとの両方を知って
いる場合には、次のように、XOR演算によって他のポ
ート・アドレスを知ることができる。 OPA=RC(+)IPA IPA=RC(+)OPA
【0020】従って同じRCリストを使ってパケットを
ルートの両方向にルーティングすることができる。
ルートの両方向にルーティングすることができる。
【0021】異なる2つのコードのXORをとることに
よってRCが得られるとすると、RCが0に等しくなる
ことはない。このコーディング法にはもう1つの利点が
ある。つまり別の自由なコード・ポイントである0が得
られるのである。ネットワーク・ノードには常に管理サ
ービスが含まれ、ノード自体のこの機能を前提にしたパ
ケットが存在する。従ってRCコードの0をその機能の
ために、制限を導入することなく割当てることができ
る。リンクA、B;B、C;C、D;D、E上を転送さ
れたデータ・パケットのヘッダ内のリストに追加された
ルーティング・コードは図2に示す通りである。
よってRCが得られるとすると、RCが0に等しくなる
ことはない。このコーディング法にはもう1つの利点が
ある。つまり別の自由なコード・ポイントである0が得
られるのである。ネットワーク・ノードには常に管理サ
ービスが含まれ、ノード自体のこの機能を前提にしたパ
ケットが存在する。従ってRCコードの0をその機能の
ために、制限を導入することなく割当てることができ
る。リンクA、B;B、C;C、D;D、E上を転送さ
れたデータ・パケットのヘッダ内のリストに追加された
ルーティング・コードは図2に示す通りである。
【0022】ノードBでは、10進数で表わすとIPA
=5、OPA=7であり、2進数ではIPA(+)OP
A=101(+)111=010になり、これを10進
数で表わすと=2である。リンクA、Bのリスト内の第
1RCコードは2である。
=5、OPA=7であり、2進数ではIPA(+)OP
A=101(+)111=010になり、これを10進
数で表わすと=2である。リンクA、Bのリスト内の第
1RCコードは2である。
【0023】ノードCでは、IPA=4、OPA=0、
よってIPA(+)OPA=4、これはリンクA、B上
のリストの第2RCコードである。
よってIPA(+)OPA=4、これはリンクA、B上
のリストの第2RCコードである。
【0024】ノードDでは、IPA=6、OPA=3、
よってIPA(+)OPA=5、これはリンクA、B上
のリストの第3RCコードである。
よってIPA(+)OPA=5、これはリンクA、B上
のリストの第3RCコードである。
【0025】ルーティング・リストは、パケット・ヘッ
ダに含まれるルーティング情報を全て維持しながら、中
間ノードがパケットのルーティングに用いられるRCコ
ードを検索できるように各ノードで変更される。
ダに含まれるルーティング情報を全て維持しながら、中
間ノードがパケットのルーティングに用いられるRCコ
ードを検索できるように各ノードで変更される。
【0026】これは与えられたルートに必要なRCコー
ドを含むルーティング・リストを回転させる(例えば1
23→231→312→123)ことによって行なわれ
る。
ドを含むルーティング・リストを回転させる(例えば1
23→231→312→123)ことによって行なわれ
る。
【0027】順方向/逆方向指示子F/Bは、ルーティ
ング・リストの前の制御フィールドに置かれる。これ
は、ルーティング・プロセスを完全に対称型にするため
に用いられる。この指示子が第1の値にセットされた場
合、例えばF/B=1は、パケットがAからEへ順方向
に送られ、中間ノードがリストの先頭でRCコードを読
取り、ルート上の次のノードもルーティング・リストの
先頭でそのRCコードを見つけるようにルーティング・
リストを回転させることを示す。図2は、リンクB、C
のルーティング・リストが4、5、2、リンクC、Dで
5、4、2、リンクD、Eで2、4、5であることを示
す。
ング・リストの前の制御フィールドに置かれる。これ
は、ルーティング・プロセスを完全に対称型にするため
に用いられる。この指示子が第1の値にセットされた場
合、例えばF/B=1は、パケットがAからEへ順方向
に送られ、中間ノードがリストの先頭でRCコードを読
取り、ルート上の次のノードもルーティング・リストの
先頭でそのRCコードを見つけるようにルーティング・
リストを回転させることを示す。図2は、リンクB、C
のルーティング・リストが4、5、2、リンクC、Dで
5、4、2、リンクD、Eで2、4、5であることを示
す。
【0028】F/B指示子が第2値にセットされた場
合、例えばF/B=0なら、中間ノードはルーティング
・リストの末尾でRCを読取り、次のノードがルーティ
ング・リストの終わりでそのRCを見つけるようにルー
ティング・リストを回転させる。
合、例えばF/B=0なら、中間ノードはルーティング
・リストの末尾でRCを読取り、次のノードがルーティ
ング・リストの終わりでそのRCを見つけるようにルー
ティング・リストを回転させる。
【0029】これによりエンド・ノード、例えばノード
Eは、逆の値に変更すべきF/B指示子を除いて、同じ
ルーティング・リストを使ってパケットに応答すること
ができる。中間ノードはまた、同じようにしてパケット
の発送元に通知を返すことができる。
Eは、逆の値に変更すべきF/B指示子を除いて、同じ
ルーティング・リストを使ってパケットに応答すること
ができる。中間ノードはまた、同じようにしてパケット
の発送元に通知を返すことができる。
【0030】図2は、ノードAからノードEに送られる
パケットを示している。ノードBは、このパケットを入
力ポートP5を通して受取る。IPA=5すなわちバイ
ナリ・コードで101である。順方向/逆方向指示子F
/Bが1にセットされていると、ルーティング・リスト
の先頭でRCが選択される。まずRC=0がチェックさ
れる。その場合、目的地はノードB自体である。RCが
0でない場合、これは図1に示したルーティング・リス
トの場合であり、RC=2、すなわちバイナリ・コード
010である。RC=2はIPA=5とXORがとら
れ、OPA=101(+)010=111、すなわちポ
ートは7になる。
パケットを示している。ノードBは、このパケットを入
力ポートP5を通して受取る。IPA=5すなわちバイ
ナリ・コードで101である。順方向/逆方向指示子F
/Bが1にセットされていると、ルーティング・リスト
の先頭でRCが選択される。まずRC=0がチェックさ
れる。その場合、目的地はノードB自体である。RCが
0でない場合、これは図1に示したルーティング・リス
トの場合であり、RC=2、すなわちバイナリ・コード
010である。RC=2はIPA=5とXORがとら
れ、OPA=101(+)010=111、すなわちポ
ートは7になる。
【0031】ルーティング・リストの順方向の回転は、
パケットをノードCに送る前に行なうことができる。ノ
ードC、Dでも同じ操作が行なわれる。
パケットをノードCに送る前に行なうことができる。ノ
ードC、Dでも同じ操作が行なわれる。
【0032】図3は、応答としてエンド・ノードEから
エンド・ノードAに送られるパケットを示す。指示子F
/Bが0に変更された場合を除いて、同じルーティング
情報が再利用される。ノードDは、パケットを次のノー
ドに送る前に、順方向(A→E)の場合とは逆に回転さ
せたルーティング・リストの末尾でそのルーティング・
コードを選択する。
エンド・ノードAに送られるパケットを示す。指示子F
/Bが0に変更された場合を除いて、同じルーティング
情報が再利用される。ノードDは、パケットを次のノー
ドに送る前に、順方向(A→E)の場合とは逆に回転さ
せたルーティング・リストの末尾でそのルーティング・
コードを選択する。
【0033】図4は、ノードDのポート3において過剰
な待ち行列長のために輻輳通知がノードDによってエン
ド・ノードAに送られる様子を示す。パケットのデータ
部のこの通知(CN)はノードDによって生成される。
ただし、この通知がエンド・ノードAに届かなかった場
合、障害のためにノードBまたはノードCによって送り
返された場合、通知はエンド・ノードEで終わることに
なる。この状況が発生するのを防ぐために、ノードDは
通知パケット内の自身のRC(5)をブランク(0)に
する。パケットが届かない場合は、この通知はノードD
の管理サービス内で終了し、そこでログされる。中間ノ
ードが通知を生成できるようにするこのメカニズムは他
の目的にも使用できる。ネットワークを通過するパケッ
トをトレースする、機能停止(outage)通知をエンド・
ノードに送る、テスト・メッセージをラップ・アラウン
ドする等である。
な待ち行列長のために輻輳通知がノードDによってエン
ド・ノードAに送られる様子を示す。パケットのデータ
部のこの通知(CN)はノードDによって生成される。
ただし、この通知がエンド・ノードAに届かなかった場
合、障害のためにノードBまたはノードCによって送り
返された場合、通知はエンド・ノードEで終わることに
なる。この状況が発生するのを防ぐために、ノードDは
通知パケット内の自身のRC(5)をブランク(0)に
する。パケットが届かない場合は、この通知はノードD
の管理サービス内で終了し、そこでログされる。中間ノ
ードが通知を生成できるようにするこのメカニズムは他
の目的にも使用できる。ネットワークを通過するパケッ
トをトレースする、機能停止(outage)通知をエンド・
ノードに送る、テスト・メッセージをラップ・アラウン
ドする等である。
【0034】本発明を実現したネットワークの場合、パ
ケットは図5のように制御フィールドを含み、次のよう
に異なる指示子を格納する。 順方向/逆方向 F/B 輻輳通知 トレース ラップ フィードバック ルーティング・リスト長(3ビット)
ケットは図5のように制御フィールドを含み、次のよう
に異なる指示子を格納する。 順方向/逆方向 F/B 輻輳通知 トレース ラップ フィードバック ルーティング・リスト長(3ビット)
【0035】中間ノードは、輻輳通知ビットがオンの場
合にのみ輻輳通知をパケットの発送元に返すことができ
る。
合にのみ輻輳通知をパケットの発送元に返すことができ
る。
【0036】中間ノードは、トレース・ビットがオンの
パケットの発送元に、このパケットが正常にルーティン
グされた時にトレース通知を返す。
パケットの発送元に、このパケットが正常にルーティン
グされた時にトレース通知を返す。
【0037】中間ノードは、ラップ・ビットがオンで、
RLリストのルーティング・コードRCが0に等しい場
合に、パケットをリンク・アダプタのレベルで返す。
RLリストのルーティング・コードRCが0に等しい場
合に、パケットをリンク・アダプタのレベルで返す。
【0038】エンド・ノードに対してフィードバック・
ビットがONの指示子は、このパケットがネットワーク
によって生成されたことを示す。
ビットがONの指示子は、このパケットがネットワーク
によって生成されたことを示す。
【0039】パケットは通常通り、フラグの間に構成さ
れ、RLフィールド、データ、及びフレーム・チェック
・シーケンスFCSフィールドから成る。
れ、RLフィールド、データ、及びフレーム・チェック
・シーケンスFCSフィールドから成る。
【0040】図6は、ネットワークの中間ノードの基本
構造を示す。これはスイッチ62によって相互接続され
たリンク・アダプタ60−1乃至60−nから成る。ま
たネットワーク管理アダプタ64を含む。このノードに
は各種のスイッチを使用できる。ここの説明では、スイ
ッチが共有バスから成るものとする。
構造を示す。これはスイッチ62によって相互接続され
たリンク・アダプタ60−1乃至60−nから成る。ま
たネットワーク管理アダプタ64を含む。このノードに
は各種のスイッチを使用できる。ここの説明では、スイ
ッチが共有バスから成るものとする。
【0041】エンド・ノードでは、目的ユーザ・アドレ
スに関連して、あるユーザからのネットワーク・アクセ
ス要求にネットワーク管理アダプタが応答し、目的ユー
ザへのパケットにルーティング・リストが追加される。
スに関連して、あるユーザからのネットワーク・アクセ
ス要求にネットワーク管理アダプタが応答し、目的ユー
ザへのパケットにルーティング・リストが追加される。
【0042】図7はリンク・アダプタの構造を示す。フ
レーム制御IN回路70とフレーム制御OUT回路72
はリンク・アダプタの通常の機能を実施する。これらの
回路は、INリンク74とOUTリンク73上のシリア
ル・ビットの入力フローと出力フローを管理する。これ
らの機能はフレーム区切りフラグの検出と生成、0の挿
入/削除、及びフレーム・チェックである。回路の詳細
は省略する。
レーム制御IN回路70とフレーム制御OUT回路72
はリンク・アダプタの通常の機能を実施する。これらの
回路は、INリンク74とOUTリンク73上のシリア
ル・ビットの入力フローと出力フローを管理する。これ
らの機能はフレーム区切りフラグの検出と生成、0の挿
入/削除、及びフレーム・チェックである。回路の詳細
は省略する。
【0043】リンク・アダプタは、本発明に従ってルー
ティング回路76を含む。回路76はルーティング・リ
ストを処理する。ルーティング・リストRLは回路76
によって次の2通りの方法で回転させることができる。 順方向:最初のルーティング・コードのビットがリスト
の終わりに移される。 逆方向:最後のルーティング・コードのビットがリスト
の始めに移される。
ティング回路76を含む。回路76はルーティング・リ
ストを処理する。ルーティング・リストRLは回路76
によって次の2通りの方法で回転させることができる。 順方向:最初のルーティング・コードのビットがリスト
の終わりに移される。 逆方向:最後のルーティング・コードのビットがリスト
の始めに移される。
【0044】パケットは、ある条件下ではソース・ユー
ザの方向に送り返される。これはフィードバック回路7
8によって行なわれる。回路78はその入力リンク77
上のフレーム制御IN回路70の出力リンク75からパ
ケットを与える。これによりパケットはフレーム制御O
UT回路72の入力リンク79に与えられる。
ザの方向に送り返される。これはフィードバック回路7
8によって行なわれる。回路78はその入力リンク77
上のフレーム制御IN回路70の出力リンク75からパ
ケットを与える。これによりパケットはフレーム制御O
UT回路72の入力リンク79に与えられる。
【0045】バス・インタフェース回路82は、リンク
・アダプタとバス84のインタフェースである。バス・
アクセスはバス・アービタ86によって管理される。ア
ービタ86は、ノードのリンク・アダプタからバス要求
を受取り、選択されたアダプタにバスを与える。選択さ
れたアダプタは、バスへのアクセスを得てデータ・パケ
ットを送信する。
・アダプタとバス84のインタフェースである。バス・
アクセスはバス・アービタ86によって管理される。ア
ービタ86は、ノードのリンク・アダプタからバス要求
を受取り、選択されたアダプタにバスを与える。選択さ
れたアダプタは、バスへのアクセスを得てデータ・パケ
ットを送信する。
【0046】ルーティング回路76は図8に示したプロ
セスを実現する。
セスを実現する。
【0047】ルーティング回路76は、ステップ90で
パケットの制御フィールドCを読取る。次にステップ9
2でF/B指示子をテストする。このビットが1(順方
向)にセットされている場合、RLの先頭で第1RCコ
ードが読取られる(ステップ94)。このビットが0
(逆方向)にセットされている場合、ルーティング・リ
ストRLの末尾で最後のRCが読取られる(ステップ9
6)。次にRCコードがテストされる(ステップ9
8)。これが0に等しい場合、制御フィールドのラップ
・ビット"3"がテストされる(ステップ100)。この
ビットが1にセットされている場合、回路82を通して
パケットのフィードバックが活動化される(ステップ1
01)。
パケットの制御フィールドCを読取る。次にステップ9
2でF/B指示子をテストする。このビットが1(順方
向)にセットされている場合、RLの先頭で第1RCコ
ードが読取られる(ステップ94)。このビットが0
(逆方向)にセットされている場合、ルーティング・リ
ストRLの末尾で最後のRCが読取られる(ステップ9
6)。次にRCコードがテストされる(ステップ9
8)。これが0に等しい場合、制御フィールドのラップ
・ビット"3"がテストされる(ステップ100)。この
ビットが1にセットされている場合、回路82を通して
パケットのフィードバックが活動化される(ステップ1
01)。
【0048】ラップ・ビットが0に等しい場合、バス・
アクセスの要求がアダプタ(アドレス0)すなわちノー
ド管理アダプタ64(ステップ102)に対して出され
る。次にバス・アクセスが許可された時、パケットがノ
ード管理アダプタ64に転送される(ステップ10
4)。
アクセスの要求がアダプタ(アドレス0)すなわちノー
ド管理アダプタ64(ステップ102)に対して出され
る。次にバス・アクセスが許可された時、パケットがノ
ード管理アダプタ64に転送される(ステップ10
4)。
【0049】これらのプロセスはステップ101または
104の後に終了する。
104の後に終了する。
【0050】RCコードが0とは異なる場合、ルーティ
ング回路はステップ106でOPAをOPA=RC
(+)IPAにもとづき計算する。
ング回路はステップ106でOPAをOPA=RC
(+)IPAにもとづき計算する。
【0051】次に、アドレスOPAでアダプタに対して
バス・アクセスが有効になる(ステップ108)。制御
フィールドの輻輳通知ビット"1"とトレース・ビット"
2"がテストされる(ステップ110)。
バス・アクセスが有効になる(ステップ108)。制御
フィールドの輻輳通知ビット"1"とトレース・ビット"
2"がテストされる(ステップ110)。
【0052】アドレスされたアダプタは、この出力リン
クに輻輳があるかどうかを示すステータスで応答する。
この指示は、輻輳状態をレポートするフィードバック・
パケットのフォーマットに用いられる。この状態が存在
し、ビット"1"が1に等しい場合は、フィードバックの
輻輳通知が可能になる(ステップ112)。
クに輻輳があるかどうかを示すステータスで応答する。
この指示は、輻輳状態をレポートするフィードバック・
パケットのフォーマットに用いられる。この状態が存在
し、ビット"1"が1に等しい場合は、フィードバックの
輻輳通知が可能になる(ステップ112)。
【0053】ビット"2"が1に等しい場合はフィードバ
ック・トレースが可能になる(ステップ114)。
ック・トレースが可能になる(ステップ114)。
【0054】バスが与えられた時、バスはルーティング
・リストを変更してパケットをアドレスOPAのアダプ
タに転送する(ステップ116)。
・リストを変更してパケットをアドレスOPAのアダプ
タに転送する(ステップ116)。
【0055】ステップ114または112と116の後
にプロセスは終了する。
にプロセスは終了する。
【0056】ルーティング回路76とフィードバック回
路77の詳細は図9に示した通りである。
路77の詳細は図9に示した通りである。
【0057】フレーム制御回路70は、受信されたフレ
ームのフラグを検出し、パケットの先頭フラグが検出さ
れた時にRCVパケット・ライン120を活動化する。
ームのフラグを検出し、パケットの先頭フラグが検出さ
れた時にRCVパケット・ライン120を活動化する。
【0058】ライン120は、ライン124、126、
128、130、132、134、136、138、1
40、及び142にゲーティング信号を生成するシーケ
ンス制御回路122につながり、ルーティング回路とフ
ィードバック回路の動作が制御される。
128、130、132、134、136、138、1
40、及び142にゲーティング信号を生成するシーケ
ンス制御回路122につながり、ルーティング回路とフ
ィードバック回路の動作が制御される。
【0059】RCVパケット・ラインが活動化されると
ライン126が活動化される。これはANDゲート14
6の入力に対して設けられる。ゲート146は、別の入
力ライン148で受信クロック信号RCLKを受取り、
この信号をその出力ライン150に与え、FIFOレジ
スタ152のシフト入力につなぐ。その結果、リンク7
5のフレーム制御IN回路によってFIFOレジスタ1
52のデータ入力に与えられたパケット・ビットが、R
CLK信号の制御下でこのレジスタに入力される。
ライン126が活動化される。これはANDゲート14
6の入力に対して設けられる。ゲート146は、別の入
力ライン148で受信クロック信号RCLKを受取り、
この信号をその出力ライン150に与え、FIFOレジ
スタ152のシフト入力につなぐ。その結果、リンク7
5のフレーム制御IN回路によってFIFOレジスタ1
52のデータ入力に与えられたパケット・ビットが、R
CLK信号の制御下でこのレジスタに入力される。
【0060】ライン148のRCLK信号は、ANDゲ
ート154の1入力にも与えられる。ゲート154は、
RCVパケット期間の8ビット・クロック時間にシーケ
ンス制御回路122からゲーティング信号をもう1つの
入力128で受取る。これにより、Cシフト・レジスタ
160のシフト入力156にRCLK信号が与えられ
る。リンク75からのパケット・ビットはCシフト・レ
ジスタ160のデータ入力に与えられ、よってパケット
のCフィールドがこのレジスタ160に入力される。
ート154の1入力にも与えられる。ゲート154は、
RCVパケット期間の8ビット・クロック時間にシーケ
ンス制御回路122からゲーティング信号をもう1つの
入力128で受取る。これにより、Cシフト・レジスタ
160のシフト入力156にRCLK信号が与えられ
る。リンク75からのパケット・ビットはCシフト・レ
ジスタ160のデータ入力に与えられ、よってパケット
のCフィールドがこのレジスタ160に入力される。
【0061】Cフィールドの内容は、バス161を通し
てシーケンス制御回路122に与えられる。シーケンス
制御回路122は、Cフィールドの各ビットをテストす
る。つまり、F/Bビット指示子をテストし、この指示
子の値に応じた適切な時間にGATE RCライン12
4を活動化することで、RLリストの最初のRCコード
またはRLリストの最後のRCコードをゲートする(図
7についての説明を参照)。
てシーケンス制御回路122に与えられる。シーケンス
制御回路122は、Cフィールドの各ビットをテストす
る。つまり、F/Bビット指示子をテストし、この指示
子の値に応じた適切な時間にGATE RCライン12
4を活動化することで、RLリストの最初のRCコード
またはRLリストの最後のRCコードをゲートする(図
7についての説明を参照)。
【0062】GATE RCライン124は、ANDゲ
ート162の1入力に与えられる。もう1つの入力はR
CLKラインであり、その出力ライン164のRCLK
信号がRCレジスタ166のシフト入力にゲートされ
る。リンク75からのビット・パケットは、RCレジス
タ166のデータ入力に与えられる。従って最初のRC
コードまたは最後のRCコードがレジスタ166に格納
される。
ート162の1入力に与えられる。もう1つの入力はR
CLKラインであり、その出力ライン164のRCLK
信号がRCレジスタ166のシフト入力にゲートされ
る。リンク75からのビット・パケットは、RCレジス
タ166のデータ入力に与えられる。従って最初のRC
コードまたは最後のRCコードがレジスタ166に格納
される。
【0063】フレーム・チェック・シーケンスFCSの
ものを除いて、受信されたパケットのビットは全て、F
IFOレジスタ152に転送される。パケットの終わり
で、ライン120のRCVパケット信号が落とされ、フ
レーム制御IN回路70によってライン168でステー
タス信号が生成され、シーケンス制御回路122に与え
られる。
ものを除いて、受信されたパケットのビットは全て、F
IFOレジスタ152に転送される。パケットの終わり
で、ライン120のRCVパケット信号が落とされ、フ
レーム制御IN回路70によってライン168でステー
タス信号が生成され、シーケンス制御回路122に与え
られる。
【0064】ステータス信号は、最後に受信されたパケ
ットが正しいかどうかを示す。
ットが正しいかどうかを示す。
【0065】パケットにエラーがある場合は、レジスタ
152、160、166がリセットされて次のパケット
が待たれる。パケットが正しいならルーティング・プロ
セスが実行される。
152、160、166がリセットされて次のパケット
が待たれる。パケットが正しいならルーティング・プロ
セスが実行される。
【0066】レジスタRCの内容は「全0」検出器17
0に与えられる。検出器170はその出力ライン172
を、レジスタ166のRCコードが「全0」の時に活動
化する。その場合にパケットはこのノードに向けられ
る。
0に与えられる。検出器170はその出力ライン172
を、レジスタ166のRCコードが「全0」の時に活動
化する。その場合にパケットはこのノードに向けられ
る。
【0067】ラップの場合を除いて、バスへのアクセス
は要求ライン83−Rを活動化することによって要求さ
れる。
は要求ライン83−Rを活動化することによって要求さ
れる。
【0068】OPAアドレスはXOR回路174によっ
て生成される。回路174はRC内容と、レジスタ17
6に格納されたIPAポート・アドレスのXOR機能を
与え、バス・インタフェース回路82へのバス178に
OPAアドレスを生成する。
て生成される。回路174はRC内容と、レジスタ17
6に格納されたIPAポート・アドレスのXOR機能を
与え、バス・インタフェース回路82へのバス178に
OPAアドレスを生成する。
【0069】パケットが送られるリンク・アダプタとの
接続が与えられると、バス・インタフェース回路がBC
LKライン180にBUSクロック信号を与え、グラン
ト・ライン83−Gを活動化する。このクロック信号
は、変更されたルーティング・リストを含むパケットを
ルーティング・ロジックから取り出すのに用いられる。
接続が与えられると、バス・インタフェース回路がBC
LKライン180にBUSクロック信号を与え、グラン
ト・ライン83−Gを活動化する。このクロック信号
は、変更されたルーティング・リストを含むパケットを
ルーティング・ロジックから取り出すのに用いられる。
【0070】ルーティング・リストRLの変更は、シー
ケンス制御回路122によってテストされたF/Bビッ
トの値に応じてFIFOレジスタ182によって実行さ
れる。
ケンス制御回路122によってテストされたF/Bビッ
トの値に応じてFIFOレジスタ182によって実行さ
れる。
【0071】F/Bビットが1(順方向)にセットされ
ている場合、RLリストの最初のRCビットがFIFO
レジスタ182に格納され、RLリストの残りの部分が
バスに送られた後に検索される。
ている場合、RLリストの最初のRCビットがFIFO
レジスタ182に格納され、RLリストの残りの部分が
バスに送られた後に検索される。
【0072】これはパケットの終わりまで、ANDゲー
ト184、ANDゲート186、再びゲート184、ゲ
ート188、最後にゲート184をこの順に開くことに
よって行なわれる。
ト184、ANDゲート186、再びゲート184、ゲ
ート188、最後にゲート184をこの順に開くことに
よって行なわれる。
【0073】ANDゲート184は、ライン136から
のゲーティング信号によって開かれ、パケットがインタ
フェース回路82に送られるという意味(ラップなし)
のライン198からの信号によって条件づけられた時
に、ライン190から与えられるFIFO152の内容
が、ANDゲート196によってFIFOレジスタ15
2に与えられるBCLK信号の制御により出力ライン1
92でゲートされる。ANDゲート196は、FIFO
レジスタ152のシフト入力200にBCLK信号を与
える。レジスタ152により、FIFO152に格納さ
れたビットがBCLK信号の制御下でデータ出力ライン
190に与えられる。
のゲーティング信号によって開かれ、パケットがインタ
フェース回路82に送られるという意味(ラップなし)
のライン198からの信号によって条件づけられた時
に、ライン190から与えられるFIFO152の内容
が、ANDゲート196によってFIFOレジスタ15
2に与えられるBCLK信号の制御により出力ライン1
92でゲートされる。ANDゲート196は、FIFO
レジスタ152のシフト入力200にBCLK信号を与
える。レジスタ152により、FIFO152に格納さ
れたビットがBCLK信号の制御下でデータ出力ライン
190に与えられる。
【0074】ANDゲート186は、ライン134から
のゲーティング信号によって決まる適切な時間にライン
180からのBCLK信号をライン194を通してFI
FO182にゲートする。これにより、シーケンス制御
回路122によって決定されたRCコードが、ライン1
90でFIFOレジスタ152から出力された時にFI
FO182にコピーされる。
のゲーティング信号によって決まる適切な時間にライン
180からのBCLK信号をライン194を通してFI
FO182にゲートする。これにより、シーケンス制御
回路122によって決定されたRCコードが、ライン1
90でFIFOレジスタ152から出力された時にFI
FO182にコピーされる。
【0075】BCLK信号は、ANDゲート188に与
えられ、このゲートがライン142からの信号によって
開かれた時、BCLKはFIFOレジスタ182に与え
られ、このレジスタに格納されたRCビットが取り出さ
れ、データ出力ライン204に与えられる。
えられ、このゲートがライン142からの信号によって
開かれた時、BCLKはFIFOレジスタ182に与え
られ、このレジスタに格納されたRCビットが取り出さ
れ、データ出力ライン204に与えられる。
【0076】ライン192、204はORゲート206
につながり、ゲート206はFIFOレジスタ152、
182からのビット・ストリームをその出力ライン20
8でマージする。
につながり、ゲート206はFIFOレジスタ152、
182からのビット・ストリームをその出力ライン20
8でマージする。
【0077】RCレジスタ166に格納されたコードが
「全0」の場合、Cレジスタ160のラップ・ビットに
よって指示されるようにローカル・ラップが要求されて
いない時、ルーティング・リストが回転させられること
はなくバスへのアクセスが要求され、パケットがライン
208に与えられる。パケットは全体がゲート184と
ORゲート206を通して転送される。XOR回路17
4は禁止されるので、バス178には"0"アドレスが与
えられ、パケットはノード管理アダプタ64にルーティ
ングされる。
「全0」の場合、Cレジスタ160のラップ・ビットに
よって指示されるようにローカル・ラップが要求されて
いない時、ルーティング・リストが回転させられること
はなくバスへのアクセスが要求され、パケットがライン
208に与えられる。パケットは全体がゲート184と
ORゲート206を通して転送される。XOR回路17
4は禁止されるので、バス178には"0"アドレスが与
えられ、パケットはノード管理アダプタ64にルーティ
ングされる。
【0078】パケット・ビットはライン208に与えら
れる。このビットは、ANDゲート181によって与え
られたライン183のストローブ信号を伴う。ANDゲ
ート181は、シーケンス制御回路122からのライン
179のデータ出力ゲーティング信号によって開かれ、
ストローブ・ライン183上のライン180からのBC
LK信号がゲートされる。
れる。このビットは、ANDゲート181によって与え
られたライン183のストローブ信号を伴う。ANDゲ
ート181は、シーケンス制御回路122からのライン
179のデータ出力ゲーティング信号によって開かれ、
ストローブ・ライン183上のライン180からのBC
LK信号がゲートされる。
【0079】発送元に返送されたパケットは、FIFO
レジスタ212を通して送られる。
レジスタ212を通して送られる。
【0080】フィードバック・パケットを送ることが決
定された場合、フィードバック・パケットが生成され、
シーケンス制御回路122がCフィールドをフォーマッ
トし、バス130を通してレジスタ160にロードす
る。CフィールドはORゲート214を通して、ライン
132のゲーティング信号によって開かれたANDゲー
ト158を通してCレジスタ160に与えられたBクロ
ック信号の制御下で、ライン140のゲーティング信号
によって開かれたANDゲート218を通してライン2
16に与えられたBCLK信号の制御下で転送される。
定された場合、フィードバック・パケットが生成され、
シーケンス制御回路122がCフィールドをフォーマッ
トし、バス130を通してレジスタ160にロードす
る。CフィールドはORゲート214を通して、ライン
132のゲーティング信号によって開かれたANDゲー
ト158を通してCレジスタ160に与えられたBクロ
ック信号の制御下で、ライン140のゲーティング信号
によって開かれたANDゲート218を通してライン2
16に与えられたBCLK信号の制御下で転送される。
【0081】次に、RLコードが回転なくFIFOレジ
スタ152からFIFOレジスタ212へ、ライン12
8のゲーティング信号によって開かれたANDゲート2
20を通して転送される。ライン128はF/B指示子
の値に応じてRLリストの始めか終わりにRCコードを
ブランクにするために用いられる。
スタ152からFIFOレジスタ212へ、ライン12
8のゲーティング信号によって開かれたANDゲート2
20を通して転送される。ライン128はF/B指示子
の値に応じてRLリストの始めか終わりにRCコードを
ブランクにするために用いられる。
【0082】RLの後に送られた他のステータスはCレ
ジスタ160を通してロードされる。フレーム制御OU
Tロジックが転送のためにフィードバック・パケットを
受入れることができる時、このロジックは転送クロック
信号をXCLKライン222に与える。ライン222は
FIFOレジスタ212からフィードバック・パケット
を取り出す。
ジスタ160を通してロードされる。フレーム制御OU
Tロジックが転送のためにフィードバック・パケットを
受入れることができる時、このロジックは転送クロック
信号をXCLKライン222に与える。ライン222は
FIFOレジスタ212からフィードバック・パケット
を取り出す。
【0083】本発明に従ったルーティング・プロセスは
ノード・アドレスにもとづくものではない。そのためノ
ード・アドレスは本発明の説明には含まれないが、ノー
ド・アドレスは、2つのエンド・ノード間のエンド・ツ
ー・エンド通信プロトコルに用いられる。従来のこのプ
ロトコルについてはここでは説明しない。
ノード・アドレスにもとづくものではない。そのためノ
ード・アドレスは本発明の説明には含まれないが、ノー
ド・アドレスは、2つのエンド・ノード間のエンド・ツ
ー・エンド通信プロトコルに用いられる。従来のこのプ
ロトコルについてはここでは説明しない。
【0084】ルーティング・リストの回転に代わる方法
としては、ノードが使用すべきRCを指し示すインデッ
クスを用いる方法がある。このインデックスはルーティ
ング・プロセスによって増分または減分される。
としては、ノードが使用すべきRCを指し示すインデッ
クスを用いる方法がある。このインデックスはルーティ
ング・プロセスによって増分または減分される。
【0085】
【発明の効果】本発明により、パケット通信をノード間
で順方向及び逆方向にルーティングすることができるの
で、異常発生時等の場合に、ノードがパケットの発送元
に応答することが可能になるという利便性が与えられ
る。
で順方向及び逆方向にルーティングすることができるの
で、異常発生時等の場合に、ノードがパケットの発送元
に応答することが可能になるという利便性が与えられ
る。
【図1】従来の技術に従った通信ネットワークと、2つ
のエンド・ノードの間のルート上のノード間リンク上の
データに関連づけられたルーティング・リストを示す図
である。
のエンド・ノードの間のルート上のノード間リンク上の
データに関連づけられたルーティング・リストを示す図
である。
【図2】2つのエンド・ノード間でデータを順方向に転
送するために、本発明に従ってルーティング・リストが
データに関連づけられた同様の通信ネットワークを示す
図である。
送するために、本発明に従ってルーティング・リストが
データに関連づけられた同様の通信ネットワークを示す
図である。
【図3】2つのエンド・ノード間でパケットを逆方向に
転送するために、本発明に従ってデータに関連づけられ
たルーティング・リストを示す図である。
転送するために、本発明に従ってデータに関連づけられ
たルーティング・リストを示す図である。
【図4】輻輳通知パケットを送るために本発明に従って
データに関連づけられたルーティング・リストを示す図
である。
データに関連づけられたルーティング・リストを示す図
である。
【図5】パケットのフォーマットを示す図である。
【図6】通信ネットワークのノードを示す図である。
【図7】図6のリンク・アダプタを示す図である。
【図8】リンク・アダプタによって実施されるルーティ
ング・プロセスのステップを示す図である。
ング・プロセスのステップを示す図である。
【図9】リンク・アダプタの実施例の詳細を示す図であ
る。
る。
64 ネットワーク管理アダプタ 64 ノード管理アダプタ 70 フレーム制御IN回路 72 フレーム制御OUT回路 76 ルーティング回路 77、78 フィードバック回路 82 バス・インタフェース回路 86 バス・アービタ
フロントページの続き (56)参考文献 特公 昭59−7276(JP,B2) 特表 平3−504912(JP,A) 特表 平3−504665(JP,A) 電子情報通信学会論文誌VOL.J71 −B NO.7P.820−829
Claims (7)
- 【請求項1】ポート・アドレスをもつ入力/出力ポート
を有する複数のノードと、第1エンド・ノードから第2
エンド・ノードに送られるパケットがたどるルートを確
立するルート確立手段を含み、これによりパケットが通
過するノードと、各ノードにおいてパケットが入力され
出力されるポートとが指定される通信ネットワークにお
いて、第1エンド・ノードから第2エンド・ノードへパ
ケットをルーティングする方法であって、 a)各ノードについて、該ノードに固有のルーティング
・コードを得るために、該ノードの入力ポートと出力ポ
ートのポート・アドレスを上記ルート確立手段によって
組合わせ、確立されるルート上の順次のノードについて
得られた該ルーティング・コードをルーティング・コー
ド・リスト(RL)に編成するステップと、 b)方向指示子(F/B)を上記ルーティング・リスト
に関連づけ、パケットが第1エンド・ノードから第2エ
ンド・ノードに順方向に送信された時には該指示子を第
1の値にセットし、上記ルートの逆方向にフィードバッ
ク・パケットが返送された時には第2の値にセットする
ステップと、 c)上記第1エンド・ノードから上記ルーティング・コ
ード・リストを含む各パケットを転送するステップと、 d)上記ルートの各ノードにおいて上記パケットを受取
り、上記ルーティング・リストからノードに固有のルー
ティング・コードを抽出し、該ルーティング・コードと
上記入力ポート・アドレスから該ノードの出力ポートの
アドレスを判定して、判定された出力ポートにパケット
を送信するステップと、 を含む、パケットのルーティング方法。 - 【請求項2】上記組合わせステップa)が、上記ルート
の各ノードの入力ポート・アドレスと出力ポート・アド
レスのXORをとることによって、上記ルーティング・
コードを得るステップを含む、請求項1記載の方法。 - 【請求項3】各ノードにおいて、入力ポートにて受信さ
れたパケットの方向指示子を読取るステップと、 各ノードにおいて、上記方向指示子が第1の値にセット
されている場合には上記ルーティング・リストの最初の
ルーティング・コードを、該方向指示子が第2の値にセ
ットされている場合には該リストの最後のルーティング
・コードを読取るステップと、 上記ルーティング・リストから読取られたルーティング
・コードと上記入力ポートのアドレスとのXORをとる
ことによって、上記出力ポートのアドレスを得るステッ
プと、 上記方向指示子が第1の値にセットされている場合には
上記ルーティング・コードを順方向に、該方向指示子が
第2の値にセットされている場合には逆方向に回転させ
ることによって上記ルーティング・リストを編成し、パ
ケットを、編成された該ルーティング・リスト並びに該
方向指示子と共に上記ルート上の次のノードに引渡すス
テップと、 を含む、請求項2記載の方法。 - 【請求項4】ポート・アドレスをもつ入力/出力ポート
(0乃至7)を有する複数のノード(A乃至E)と、第
1エンド・ノード(A)から第2エンド・ノード(E)
に送られたパケットがたどるルートを確立するルート確
立手段を含み、これによりパケットが通過するノード
と、各ノードにおいてパケットが入力され出力されるポ
ートとを指定する通信ネットワークにおいて、第1エン
ド・ノードから第2エンド・ノードにパケットをルーテ
ィングする装置であって、 上記ルート確立手段が、該ルート上の各ノードについ
て、該ノードの入力ポートと出力ポートのポート・アド
レスを組合わせて、ノードに固有のルーティング・コー
ド(RC)を取得し、該ルート上の順次のノードについ
て得られた該ルーティング・コードをルーティング・コ
ード・リスト(RL)に編成し、更に方向指示子(F/
B)を上記ルーティング・リストに関連づけ、パケット
が第1エンド・ノードから第2エンド・ノードに順方向
に送られた時に該指示子を第1の値にセットし、該ルー
トのあるノードによってフィードバック・パケットが第
1エンド・ノードに返送される時に該指示子を第2の値
にセットして、該リストをパケットと共に転送する手段
を含み、 各ノードが、各入力/出力ポートについて、 パケットを上記入力ポートから受信する手段(70)
と、 パケットの上記ルーティング・コード・リストからノー
ドに固有のルーティング・コードを読取る手段(12
2、162、166)と、 読取られたルーティング・コードを上記入力ポートのア
ドレスと組合わせて、上記出力ポートのアドレスを判定
する手段(176、174)と、 上記組合わせ転送手段によって判定されたアドレスを有
する出力ポートにパケットを転送する手段(152、1
82、82)と、 を含む、パケットのルーティング装置。 - 【請求項5】各ノードに固有のルーティング・コード
が、上記入力ポートと出力ポートのアドレスのXORを
とることによって、上記ルート確立手段によって取得さ
れ、上記組合わせ転送手段が各ノードのルーティング・
コードと該入力ポート・アドレスとのXORをとること
によって該出力ポート・アドレスを生成するXOR回路
を含む、請求項4記載の装置。 - 【請求項6】各ノードにおいて、ある入力ポートで受信
されたパケットの方向指示子を読取る手段(160)
と、 上記方向指示子の値に応答して、各ノードにおいて該方
向指示子が第1の値にセットされている場合には上記ル
ーティング・リストの最初のルーティング・コードを、
該方向指示子が第2の値にセットされている場合には該
リストの最後のルーティング・コードを読取る手段(1
22、166)と、 上記ルーティング・リストから読取られた上記ルーティ
ング・コードと、上記入力ポートのアドレスとのXOR
をとることによって、上記出力ポートのアドレスを得る
手段(174、176)と、 上記方向指示子が第1の値にセットされている場合には
順方向に、該方向指示子が第2の値にセットされている
場合には逆方向に上記ルーティング・コードを回転させ
ることによって上記ルーティング・リストを編成する手
段(182、122、184、186、188)と、 パケットを上記編成されたルーティング・リストと共
に、上記XORをとる手段によって判定されたアドレス
を有する出力ポートに送信する手段(152、206、
82、84)と、 を含む、請求項5記載の装置。 - 【請求項7】所定のノードによってフィードバック・パ
ケットが返送されることを示すための制御ビットをパケ
ットが含み、 方向指示子が順方向パケットの方向指示子とは逆の値に
セットされ、上記ルーティング・リストの最初のルーテ
ィング・コードが、入出力アドレスの組合わせとは異な
る値(0)に等しくセットされ、他のルーティング・コ
ードが、該順方向パケットのルーティング・リストのル
ーティング・コードと同一になるように編成された、上
記フィードバック・パケットを生成する手段(161、
122、218、220、212)を各ノードが含む、
請求項4乃至6記載の装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP93480003A EP0608653A1 (en) | 1993-01-26 | 1993-01-26 | Method and system for routing information between nodes in a communication network |
FR93480003.8 | 1993-01-26 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH06252951A JPH06252951A (ja) | 1994-09-09 |
JP2572541B2 true JP2572541B2 (ja) | 1997-01-16 |
Family
ID=8214818
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP33311793A Expired - Fee Related JP2572541B2 (ja) | 1993-01-26 | 1993-12-27 | パケットのルーティング方法及び装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US5477536A (ja) |
EP (1) | EP0608653A1 (ja) |
JP (1) | JP2572541B2 (ja) |
Families Citing this family (43)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5668800A (en) * | 1994-05-02 | 1997-09-16 | International Business Machines Corporation | Path testing in communications networks |
US5563878A (en) * | 1995-01-05 | 1996-10-08 | International Business Machines Corporation | Transaction message routing in digital communication networks |
KR970004518A (ko) * | 1995-06-09 | 1997-01-29 | 김광호 | 광대역 정보통신 시스템에서 패킷전송을 위한 경로를 찾는 방법 |
JP3045050B2 (ja) * | 1995-08-08 | 2000-05-22 | トヨタ自動車株式会社 | 送信位置検出方法、通信システム及び中継装置 |
JP3382769B2 (ja) * | 1996-02-15 | 2003-03-04 | 日本電気株式会社 | 性能監視機能付き伝送装置 |
US5652751A (en) * | 1996-03-26 | 1997-07-29 | Hazeltine Corporation | Architecture for mobile radio networks with dynamically changing topology using virtual subnets |
US5768271A (en) * | 1996-04-12 | 1998-06-16 | Alcatel Data Networks Inc. | Virtual private network |
US5754543A (en) * | 1996-07-03 | 1998-05-19 | Alcatel Data Networks, Inc. | Connectivity matrix-based multi-cost routing |
US5896379A (en) * | 1996-08-26 | 1999-04-20 | Motorola, Inc. | Network node for packet switching with selective data processing and method therefor |
US6055561A (en) * | 1996-10-02 | 2000-04-25 | International Business Machines Corporation | Mapping of routing traffic to switching networks |
JP3697831B2 (ja) * | 1997-04-18 | 2005-09-21 | 株式会社日立製作所 | コンピュータシステム |
US6041049A (en) * | 1997-05-06 | 2000-03-21 | International Business Machines Corporation | Method and apparatus for determining a routing table for each node in a distributed nodal system |
US6178448B1 (en) * | 1997-06-18 | 2001-01-23 | International Business Machines Corporation | Optimal link scheduling for multiple links by obtaining and utilizing link quality information |
US5940379A (en) * | 1997-07-23 | 1999-08-17 | Motorola, Inc. | Apparatus and method for using multiple spreading codes for data transmission in a satellite communication system |
US6072797A (en) * | 1997-07-31 | 2000-06-06 | International Business Machines Corporation | Methods, apparatus and computer program products for aggregated transmission groups in high speed networks |
US6912222B1 (en) | 1997-09-03 | 2005-06-28 | Internap Network Services Corporation | Private network access point router for interconnecting among internet route providers |
US6009081A (en) * | 1997-09-03 | 1999-12-28 | Internap Network Services | Private network access point router for interconnecting among internet route providers |
US6633570B1 (en) | 1999-02-08 | 2003-10-14 | Paitalk Holdings, Inc. | Efficient transmission of data to multiple network nodes |
MXPA02001585A (es) * | 1999-08-16 | 2003-07-21 | Internap Network Services Inc | Enrutador de punto de acceso a red privada para interconexion entre proveedores de ruta a internet. |
GB2354914B (en) * | 1999-09-29 | 2003-10-22 | Ibm | Data processing technique for message tracing in an asynchronous messaging network |
US7123620B1 (en) * | 2000-04-25 | 2006-10-17 | Cisco Technology, Inc. | Apparatus and method for scalable and dynamic traffic engineering in a data communication network |
US7111163B1 (en) | 2000-07-10 | 2006-09-19 | Alterwan, Inc. | Wide area network using internet with quality of service |
IL155355A0 (en) | 2000-10-17 | 2003-11-23 | Routescience Technologies Inc | Method and apparatus for performance and cost optimization in an internetwork |
US7756032B2 (en) | 2000-10-17 | 2010-07-13 | Avaya Inc. | Method and apparatus for communicating data within measurement traffic |
US7406539B2 (en) | 2000-10-17 | 2008-07-29 | Avaya Technology Corp. | Method and apparatus for performance and cost optimization in an internetwork |
US7487237B2 (en) | 2000-10-17 | 2009-02-03 | Avaya Technology Corp. | Load optimization |
US7720959B2 (en) | 2000-10-17 | 2010-05-18 | Avaya Inc. | Method and apparatus for characterizing the quality of a network path |
US8023421B2 (en) | 2002-07-25 | 2011-09-20 | Avaya Inc. | Method and apparatus for the assessment and optimization of network traffic |
US7336613B2 (en) | 2000-10-17 | 2008-02-26 | Avaya Technology Corp. | Method and apparatus for the assessment and optimization of network traffic |
US7080161B2 (en) * | 2000-10-17 | 2006-07-18 | Avaya Technology Corp. | Routing information exchange |
US7363367B2 (en) | 2000-10-17 | 2008-04-22 | Avaya Technology Corp. | Systems and methods for robust, real-time measurement of network performance |
US7349994B2 (en) | 2000-10-17 | 2008-03-25 | Avaya Technology Corp. | Method and apparatus for coordinating routing parameters via a back-channel communication medium |
US7899066B2 (en) * | 2001-01-25 | 2011-03-01 | Alcatel Lucent | Distributed intelligence MAC protocols for DWDM ring networks |
US7078163B2 (en) * | 2001-03-30 | 2006-07-18 | Medtronic, Inc. | Process for reducing mineralization of tissue used in transplantation |
DE60131551T2 (de) * | 2001-12-12 | 2008-10-23 | Alcatel Lucent | Telekommunikationsnetzwerk und entsprechenden Paketkopf |
US20050010668A1 (en) * | 2003-07-07 | 2005-01-13 | Shiwen Chen | Traversable network address translation with hierarchical internet addressing architecture |
US7955788B2 (en) * | 2003-10-30 | 2011-06-07 | Medtronic, Inc. | Bioprosthetic tissue preparation with synthetic hydrogels |
US20050266390A1 (en) * | 2004-06-01 | 2005-12-01 | Yuichiro Ueda | Processes for removing cells and cell debris from tissue and tissue constructs used in transplantation and tissue reconstruction |
US9577955B2 (en) * | 2013-03-12 | 2017-02-21 | Forrest Lawrence Pierson | Indefinitely expandable high-capacity data switch |
US10171430B2 (en) | 2015-07-27 | 2019-01-01 | Forrest L. Pierson | Making a secure connection over insecure lines more secure |
US10564969B2 (en) | 2015-12-03 | 2020-02-18 | Forrest L. Pierson | Enhanced protection of processors from a buffer overflow attack |
US11675587B2 (en) | 2015-12-03 | 2023-06-13 | Forrest L. Pierson | Enhanced protection of processors from a buffer overflow attack |
CN117135106B (zh) * | 2023-10-25 | 2024-02-13 | 苏州元脑智能科技有限公司 | 路由路径规划方法、路由请求处理方法、设备及介质 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4488288A (en) * | 1982-06-25 | 1984-12-11 | At&T Bell Laboratories | End-to-end information memory arrangement in a line controller |
JPS597276A (ja) * | 1982-07-05 | 1984-01-14 | Nippon Jidosha Seibi Shoko Kumiai Rengokai | 車載バツテリとその充電系統の診断装置 |
CA1297567C (en) * | 1987-02-06 | 1992-03-17 | Kazuo Hajikano | Self routing-switching system |
US5367518A (en) * | 1987-10-15 | 1994-11-22 | Network Equipment Technologies, Inc. | Self-routing switching element and fast packet switch |
FR2640833B1 (fr) * | 1988-12-15 | 1992-07-10 | Europ Rech Electr Lab | Procede de routage de messages dans un reseau a plusieurs canaux de transmission differents |
US4939726A (en) * | 1989-07-18 | 1990-07-03 | Metricom, Inc. | Method for routing packets in a packet communication network |
US5115433A (en) * | 1989-07-18 | 1992-05-19 | Metricom, Inc. | Method and system for routing packets in a packet communication network |
SE467079B (sv) * | 1990-09-19 | 1992-05-18 | Ellemtel Utvecklings Ab | Saett och anordning foer adressering i ett paketnaet |
US5309433A (en) * | 1992-06-18 | 1994-05-03 | International Business Machines Corp. | Methods and apparatus for routing packets in packet transmission networks |
-
1993
- 1993-01-26 EP EP93480003A patent/EP0608653A1/en not_active Withdrawn
- 1993-12-07 US US08/163,106 patent/US5477536A/en not_active Expired - Lifetime
- 1993-12-27 JP JP33311793A patent/JP2572541B2/ja not_active Expired - Fee Related
Non-Patent Citations (1)
Title |
---|
電子情報通信学会論文誌VOL.J71−B NO.7P.820−829 |
Also Published As
Publication number | Publication date |
---|---|
EP0608653A1 (en) | 1994-08-03 |
US5477536A (en) | 1995-12-19 |
JPH06252951A (ja) | 1994-09-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2572541B2 (ja) | パケットのルーティング方法及び装置 | |
US4752924A (en) | Ring packet switch | |
US4561090A (en) | Integrated self-checking packet switch node | |
EP0409539B1 (en) | Frame routing method for communication networks | |
US6055568A (en) | Method and apparatus for dynamically configuring a decentralized network of computers | |
US6272134B1 (en) | Multicast frame support in hardware routing assist | |
US5974467A (en) | Protocol for communicating data between packet forwarding devices via an intermediate network interconnect device | |
US7894348B2 (en) | Method and system for congestion control in a fibre channel switch | |
US6952419B1 (en) | High performance transmission link and interconnect | |
US9118586B2 (en) | Multi-speed cut through operation in fibre channel switches | |
JPS60148249A (ja) | メツセ−ジ除去方法 | |
JPH0578978B2 (ja) | ||
JPH0638600B2 (ja) | ローカルエリアネットワークシステム | |
HU215629B (hu) | Adatátviteli hálózat és eljárás folyamatos adatátviteli csatorna kiépítésére | |
US7522529B2 (en) | Method and system for detecting congestion and over subscription in a fibre channel network | |
US5754549A (en) | Inexpensive two-way communications switch | |
US5666488A (en) | Port expansion network and method for lAN hubs | |
US5392399A (en) | Bridge system for selectively routing frame with ordering parameter identifying ordering of identifiers only based upon its source identifier | |
US6005863A (en) | Frame switch with serial data processing | |
JPH07262151A (ja) | 並列プロセッサシステムおよびそれに適したパケット廃棄方法 | |
US7002906B1 (en) | Method for extending the crankback procedure to any Asynchronous Transfer Mode system | |
CA1270960A (en) | Non coded information and companion data switching mechanism | |
JPH0653942A (ja) | メッセージ切換えシステムにおけるメッセージのエラー訂正コードを生成および検査する装置 | |
JP3516998B2 (ja) | アドレス情報判読装置 | |
GB2188216A (en) | Ring bus communications systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |