(57)【特許請求の範囲】
【請求項１】
ネットワークをインタフェースする装置において、
複数のノードに接続した複数のワーキング・ポートと、
該複数のワーキング・ポートのアドレスをストアするためのアドレス・テーブルと、
ネットワークに結合されたアタッチメント・ポートであって、デスティネーション・アドレスを含む入力情報パケットを前記ネットワークから受信し、出力情報パケットを前記ネットワークに送信するアタッチメント・ポートと、
前記複数のワーキング・ポートと、前記アドレステーブルと、前記アタッチメント・ポートとに結合した入力パケット・コントローラであって、前記デスティネーション・アドレスが、前記アドレス・テーブルにストアされたアドレスとマッチするか否かを判定し、デスティネーション・アドレスがマッチしたとき、前記入力パケットを前記ワーキング・ポートに送信する入力パケット・コントローラと、
該入力パケット・コントローラに結合したパケット・スクランブラであって、デスティネーション・アドレスがマッチしたとき、対応するワーキング・ポートが入力情報パケットを受信し、少なくとも１つの他のワーキング・ポートが、スクランブルされた情報パケットを受信するように、該スクランブルされた情報パケットを供給するパケット・スクランブラと、
前記複数のワーキング・ポートと、前記アドレス・テーブルと、前記アタッチメント・ポートとに結合した出力パケット・コントローラであって、前記出力情報パケットを前記複数のワーキング・ポートのうちの１つから受信し、前記出力パケットに含まれる出力アドレスが前記アドレス・テーブルにストアされているアドレスとマッチするか否かを判定し、仮に出力アドレスがマッチしない場合、前記出力パケットを前記ネットワークに前記アタッチメント・ポートを介して送信する出力パケット・コントローラと、
前記複数のワーキング・ポートを相互に接続するリピータと、
本ネットワークインタフェーシング装置によってインタフェースされるワーキング・ポートの数を増加するため、外部ワーキング・ポートを前記リピータに接続するカスケード・インタフェースと
を備えたことを特徴とする装置。
【請求項２】
請求項１において、前記入力パケット・コントローラは、仮にデスティネーション・アドレスがマッチしない場合に、前記入力パケットが前記複数のワーキング・ポートに送信されないようにすることを特徴とする装置。
【請求項３】
請求項１において、前記複数のワーキング・ポートと前記アドレス・テーブルとに結合され、前記ワーキング・テーブルが全てアクティブか否かを判定するアドレス・テーブル・コントローラであって、インアクティブなワーキング・ポートのアドレスを前記アドレス・テーブルから除去するアドレス・テーブル・コントローラをさらに備えたことを特徴とする装置。
【請求項４】
請求項１において、前記カスケード・インタフェースと前記複数の外部ワーキング・ポートとへの情報転送をコーディネートするアービトレーションロジックをさらに備えたことを特徴とする装置。
【請求項５】
請求項１において、前記出力コントローラは、仮に出力アドレスがマッチした場合に、前記出力パケットが前記ネットワークに送信されないようにすることを特徴とする装置。
【請求項６】
請求項１において、前記入力コントローラは、仮にデスティネーション・アドレスがマッチしない場合に、前記入力パケットが前記複数のワーキング・ポートに送信されないようにすることを特徴とする装置。
【請求項７】
請求項５において、前記入力コントローラは、仮にデスティネーション・アドレスがマッチしない場合に、前記入力パケットが前記複数のワーキング・ポートに送信されないようにすることを特徴とする装置。
【請求項８】
請求項１において、スクランブルされた情報パケットを、前記複数のワーキング・ポートのうち、前記デスティネーション・アドレスとマッチしないアドレスを有する少なくとも１つのワーキング・ポートに供給するパケット・スクランブラをさらに備えたことを特徴とする装置。
【請求項９】
請求項１において、スクランブルされた情報パケットを、前記複数のワーキング・ポートのうち、前記出力アドレスとマッチしないアドレスを有する少なくとも１つのワーキング・ポートに供給するパケット・スクランブラをさらに備えたことを特徴とする装置。
【発明の詳細な説明】
技術分野
本発明は、ＬＡＮ(local area network)に関し、特に、複数のノードをネットワークに効率的かつ費用効果高くインタフェーシングする装置および方法に関する。
背景技術
ＬＡＮは、通常、パーソナル・コンピュータと、ワークステーションと、サーバと、等々のようなマルチプル・ノードをリンクして、情報および資源を互いに共有するために用いられる。小規模ネットワークの場合は、各ノードを直接ネットワーク・バックボーンに結合する簡単な構成を用いることができる。多数のノードを有する少し複雑なネットワークの場合は、直接結合すると、非常に非効率的になる。この少し複雑なネットワークの効率を向上させるのに、「セグメント化」という方法が良く用いられる。この方法では、ネットワーク上の種々のノードが、定期的に互いに通信を行う複数のノードを備えた「セグメント」という複数のグループに分けられる。１つのセグメントの全ノードがネットワーキングされてサブネットワークが形成され、このセグメントは、単一のセグメント・ポートを介して、ネットワーク・バックボーンに結合される。このように、１つのセグメントの全ノードをネットワーク・バックボーンに結合するとともに、互いに結合することにより、ネットワーク・バックボーンに実際に結合されるポートの数を最小限に維持したままで、当該ネットワーク・バックボーンとの結合性が維持される。さらに複雑なネットワークの場合は、各セグメントをサブセグメントに分割することができ、サブセグメントをさらにスーパサブセグメントに分割して階層構造を作成することができる。セグメント化はどのようにも拡張することができる。ノードをこのようにセグメント化して、ネットワークの効率を向上させてきた。
セグメント化アプリケーションで普通用いられるデバイスとしてブリッジがある。ブリッジを用いて、２つのエンティティの間にリンクが設けられる。この結合されたエンティティは、２つの個別のセグメントでも良いし、ネットワークとセグメントでも良い。現行では、種々のブリッジが利用可能であり、ほとんどのブリッジが２つのサイド(side)を有する汎用のブリッジであり、各サイドが多数のノードを取扱い、同様に、他のブリッジを取扱う。典型的なブリッジは、ブリッジの第１サイドを取扱う第１のコントローラと、ブリッジの第２サイドを取扱う第２のコントローラを備えている。オペレーション中、第１のコントローラは第１サイドの１つのノードから情報パケットを受信し、受信されたパケットのデスティネーションが同一サイド（第１サイド）の１つのノードであるか否かを判定する。肯定判定された場合は、そのパケットが第２サイドに送信されないようにする。当該パケットのデスティネーションが同一サイドでない場合には、第１のコントローラは、そのパケットのデスティネーションを当該他のサイド（第２サイド）にし、そのパケットを当該他のサイドに送信する。第２のコントローラも同様に機能する。
上述したことから、次のことに注意されたい。すなわち、パケットが一方のサイドから他方のサイドに送信されたとき、そのパケットの実際のデスティネーションが受信サイドの１つのノードであるという保証はないということに、注意されたい。そのパケットのデスティネーションがパケットがオリジネートされたサイドではないということだけが検証されることに、注意されたい。その結果、受信サイドを実際のディスティネーションとしない余分なパケットを、ブリッジの各サイドが他のサイドから受信するのが可能になる。これら余分なパケットのため、受信サイドに不必要なトラフィックが生じ、この不必要なトラフィックは受信サイドの効率を逆比例させる。もっと効率の良いインタフェーシング・デバイスが必要になる。
現行の利用可能なブリッジには、多くのアプリケーションに対してコストがかかり過ぎるという欠点がある。利用可能なブリッジは汎用ブリッジであるので、比較的多様性があるが、コストがかかる。多様性があるので、幾つかのシチュエーションで有用であるが、簡単なアプリケーションでは、多くの場合、必要性がない。例えば、複数のノードを１つのネットワークにインタフェースするだけであるなら、汎用ブリッジを用いるのは資源の無駄遣いである。このようなアプリケーションでは、簡単でかつ費用効率の良いインタフェーシング・デバイスが望ましい。しかし、このようなデバイスは現行では利用できないものと確信します。
発明の開示
このような従来技術の欠点を解決するため、本発明は、複数のノードをネットワークにインタフェースする、費用効率が良く、効率の良い装置を提供することにある。本発明の装置は、複数のノードを結合するための複数のワーキング・ポートと、ワーキング・ポートのアドレスをストアするためのアドレス・テーブルと、入力パケット・コントローラと、出力パケット・コントローラとを備えている。オペレーション中、本発明の装置は、入力情報パケットをネットワークからアタッチメント・ポートを介して受信し、受信された情報パケットを入力パケット・コントローラにパッシングする。入力パケット・コントローラは、受信された情報パケットからデスティネーション・アドレスを取り出し、アドレス・テーブルにストアされているアドレスとマッチするか否かを判定する。マッチした場合は、その情報パケットのデスティネーションがワーキング・ポートの１つであるものと判定し、入力パケット・コントローラはそのワーキング・ポートにその情報パケットを送信する。他方、マッチしない場合は、入力パケット・コントローラはその情報パケットがそのワーキング・ポートに送信されないようにする。そのようにすることにより、入力パケット・コントローラは不必要なシグナル・トラフィックがそのワーキング・ポートで生じないようにする。
そのワーキング・ポートにより送信された出力情報パケットは、出力パケット・コントローラにより受信され、その出力パケットに含まれている出力アドレス（実質的には、デスティネーション・アドレス）が、アドレス・テーブルに含まれているアドレスとマッチするか否かを判定する。マッチしない場合は、出力パケットはアタッチメント・ポートを介してネットワークに送信される。マッチする場合は、そのパケットのデスティネーションがそのワーキング・ポートであることを意味する。このような場合、出力パケット・コントローラは、そのパケットをワーキング・ポートにリピート(repeat)することができるが、ネットワークには送信されない。よって、出力パケット・コントローラは、余分なパケットでネットワークがごった返さないようにして、ネットワークの効率を向上させる。
本発明の装置は、パケット・スクランブラと、カスケード・インタフェースを備えているのが好ましい。パケット・スクランブラは、ワーキング・ポートをデスティネーションとする各情報パケットをスクランブルして、スクランブルされた情報パケットにする。このスクランブルされた情報パケットは、その情報パケットがデスティネーションとするワーキング・ポートを除いた全てのワーキング・ポートに送信される。このようにすることにより、意図されたノードのみが情報パケットを受信するということが保証されることになる。このパケット・スクランブラは、１つのノードが、他の複数のノードとの間で情報の流れをモニタするのを困難にするので、情報セキュリティが向上する。カスケード・インタフェースはさらにセキュリティを向上させ、追加のワーキング・ポートを本発明の装置に結合するようにしたロジックを提供する。このカスケード・インタフェースは、本発明の装置の基本的な構成を替えることなく、本発明の装置がネットワークとインタフェースするワーキング・ポートの数を自由に拡張することができる能力を、本発明の装置に与える。
【図面の簡単な説明】
図１は本発明の装置２０をインプリメントすることができるシステム１０の機能ブロック図である。
図２は図１の入力パケット・コントローラ３８のオペレーションを示すフローチャートである。
図３は図１の出力パケット・コントローラ４２のオペレーションを示すフローチャートである。
図４は本発明の装置２０を詳細に示すブロック図である。
図５は図４の入力パケット・フィルタおよびスクランブラ８２のオペレーションを示すフローチャートである。
図６は図４の出力パケット・フィルタおよびスクランブラ８８のオペレーションを示すフローチャートである。
図７は図４のフレーム・バッファ・インタフェース８４のオペレーションを示すフローチャートである。
図８は図４のＳＡＴ更新コントロール９４のオペレーションを示すフローチャートである。
図９は複数の装置２０ａ，２０ｂがカスケード接続されたシステムを示すブロック図である。
図１０はインタフェースの入出力を示すカスケード・インタフェース１００ａを示すブロック図である。
図１１はカスケード・インタフェース１００ａのオペレーションを示すフローチャートである。
図１２はインタフェースの入出力を示すカスケード・インタフェース１００ｂを示すブロック図である。
図１３はカスケード・インタフェース１００ｂのオペレーションを示すフローチャートである。
図１４はアービトレーション・ロジック２０２のオペレーションを示すフローチャートである。
発明を実施するための最良の形態
図１を説明する。図１はシステム１０を示す。システム１０では、本発明の装置２０を、複数のノード２２1−２２nをネットワーク２４にインタフェースするようにインプリメントすることができる。ネットワーク２４はEthernetでも良いし、他の幾つかのタイプのネットワークでも良い。装置２０が結合されるネットワーク部分は、ネットワーク・バックボーンか、他のセグメントとの間のリンクか、あるいは、全体的なネットワークへの他の幾つかのリンクでも良い。ネットワーク２４とインタフェースされているノード２２1−２２nは、パーソナル・コンピュータか、ワークステーションか、サーバか、あるいは、他の幾つかのタイプのデータ端末装置でも良い。装置２０は種々のコンポーネントをネットワーク２４にインタフェースすることができるようにしてある。装置２０はノード２２とネットワーク２４に結合されるだけでなく、Manchesterデコーダ２６ａ，２６ｂとフレーム・バッファ２８にも結合されるのが好ましい。後程説明するが、これらの外部コンポーネント２６ａ，２６ｂ，２８により、装置２０のインタフェース機能が支援される。
図１に示すように、装置２０は、アタッチメント・ポート３０と、インタフェース・コントロール３２と、複数のワーキング・ポート３４1−３４nと、マルチポート・リピータ３６を備えるのが好ましい。アタッチメント・ポート３０は装置２０をネットワーク２４に結合して、装置２０のインタフェースとしてサーブする。入力情報パケットのネットワーク２４からの受信と、出力情報パケットのネットワーク２４への送信は、アタッチメント・ポート３０を介して行われる。リピータ３６とワーキング・ポート３４1−３４nによりノード２２とのインタフェースが形成される。各ワーキング・ポート３４1−３４nは１つのノードにのみ結合するのが好ましく、ワーキング・ポート３４1−３４nはリピータ３６により相互結合されるのが好ましい。このようにすることにより、ノード２２1−２２nは相互に自由に情報を共有することができる。
情報パケットはアタッチメント・ポート２０およびワーキング・ポート３４を介して、装置２０に出入りする。どのパケットがワーキング・ポート３４からアタッチメント・ポート３０に実際に転送されたか、あるいは、どのパケットがアタッチメント・ポート３０からワーキング・ポート３４に実際に転送されたかが、インタフェース・コントロール３２により制御される。インタフェース・コントロール３２は入力パケット・コントローラ３８と、ワーキング・ポート３４のアドレスをストアするためのソース・アドレス・テーブル（ＳＡＴ）と、出力パケット・コントローラ４２とを備えるのが好ましい。入力パケット・コントローラ３８と、出力パケット・コントローラ４２については、入力パケット・コントローラ３８と、出力パケット・コントローラ４２のオペレーションを示す図２および図３を参照されたい。
図２に示すように、入力パケット・コントローラ３８は、まず、ネットワーク２４からの入力情報パケットをアタッチメント・ポート３０でモニタする（５０）ことによりオペレーションを開始する。入力パケットが検出されると、検出されたパケットをコントローラ３８が受信し（５２）、そのパケットのデスティネーションがワーキング・ポート３４のうち１つのワーキング・ポートであるか否かを判定する（５４）。この判定は、この入力パケットからデスティネーション・アドレスを取り出し、取り出されたデスティネーション・アドレスを、ＳＡＴ４０にストアされているアドレスと比較して行うのが好ましい。デスティネーション・アドレスがマッチした場合は、このパケットのデスティネーションがワーキング・ポート３４のうちの１つのワーキング・ポートであることを意味する。このデスティネーション・アドレスのマッチに応答して、このパケットをフレーム・バッファ２８に一時的にストアし（５６）、その後、このストアされたパケットをマルチポート・リピータ３６に送信する（５８）。そして、マルチポート・リピータ３６は受信したパケットをワーキング・ポート３４にブロードキャストする。他方、デスティネーション・アドレスがマッチしない場合は、コントローラ３８はこのパケットがワーキング・ポート３４に送信されないようにして、不必要なシグナル・トラフィックがワーキング・ポート３４で生じないようにする。従って、ワーキング・ポート・セグメント内でのシグナル・トラフィックが適正化される。
出力パケット・コントローラ４２も同様に機能する。図３に示すように、ワーキング・ポート３４で出力情報パケットをモニタすることによりオペレーションを開始する（６２）。出力パケットが検出されると、コントローラ４２はこの出力パケットを受信し（６４）、この出力パケットのデスティネーションがワーキング・ポート３４のうちの１つのワーキング・ポートか、あるいは、ネットワーク２４かを判定する。この出力パケットはこの出力パケットの意図したデスティネーションを指定する出力アドレス(outgoing address)を含むのが好ましい。コントローラ４２は出力アドレスと、ＳＡＴ４０にストアされているアドレスと比較する。出力アドレスがマッチした場合は、このパケットのデスティネーションがワーキング・ポート３４のうちの１つのワーキング・ポートであるが、ネットワーク２４でないことを知る。出力アドレスのマッチに応答して、コントローラ４２は、このパケットがこのパケットが意図するデスティネーションに到達することができるように、このパケットをワーキング・ポート３４にリピート(repeat)するが、このパケットがネットワーク２４に送信されないようにする（７２）。このようにして、コントローラ４２はワーキング・ポート間トラフィックを局所化し、不必要なネットワーク・トラフィックを防止する。他方、出力アドレスが、ＳＡＴ４０にストアされているアドレスとマッチしない場合は、出力情報パケットのデスティネーションは外部ノード、すなわち、ネットワーク２４上のノードであることを意味する。このような場合、コントローラ４２はそのパケットをフレーム・バッファ２８に一時的にストアし（６８）、その後、そのパケットをアタッチメント・ポート３０を介してネットワーク２４に送信する（７０）。よって、シグナル・トラフィックは本発明の装置２０によりコーディネートされる。
図４を参照して装置２０を詳細に説明する。図４に示すように、装置２０は、まず、ネットワーク２４とインタフェースするアタッチメント・ポート３０を備えているのが好ましい。好ましい実施の形態では、ポート３０はアタッチメント・ユニット・インタフェース（ＡＵＩ）ポート３０（IEEE 802.3 AUIポート標準に準拠）の形態をとる。ＡＵＩポート３０はネットワーク２４に結合されており、ネットワーク２４との間で、情報パケットの送受信を行う。アタッチメント・ポート３０が結合されているネットワーク２４はEthernetであるのが好ましく、このタイプのネットワークに、情報パケットがManchesterコード化フォーマットで伝送されるのが典型的である。よって、アタッチメント・ポート３０は、データを適正なフォーマットに変換するManchesterエンコーダ３１を備えているのが好ましい。コード化されたデータを送受信するため、ポート３０は外部Manchesterデコーダ２６ａに結合されているのが好ましい。ポート３０は、さらに、ＦＩＦＯパケット・バッファ（ＦＩＦＯ）８０と、ＭＡＣ(media access controller)９２とに結合されているのが好ましい。ＦＩＦＯ８０は、入力情報パケットをアタッチメント・ポート３０から受信し、受信された情報パケットをその後に処理するため、一時的にストアする機能を有する。このＦＩＦＯ８０を設けたので、装置２０は、情報パケットが受信されても、受信された情報パケットを処理しなくて済む。ＭＡＣ９２はアタッチメント・ポート３０とフレーム・バッファ２８との間でデータを転送するのに必要なプロトコルと制御機能をインプリメントするという機能を有する。ＭＡＣ９２は一般的な構成を有し、IEEE 802.3 MAC標準に準拠しているのが好ましい。ポート３０と、ＦＩＦＯ８０と、ＭＡＣ９２は、ネットワーク２４とのインタフェースを構成する。
ノード２２のインタフェースはワーキング・ポート３４と、マルチポート・リピータ３６と、ＭＡＣ９０とにより構成されている。ポート３４1−３４nは、シグナルを交換するため、それぞれ、対応するノード２２1−２２nに結合されているのが好ましい。ポート３４が互いに通信を行うことができるように、ポート３４は、全て、リピータ３６により互いに結合されるのが好ましい。本発明によれば、ワーキング・ポート３４は任意のタイプで良いが、好ましい実施の形態では、IEEE 802.3 10BASE-T標準に準拠したツイスト・ペア・ポートの形態をとる。リピータ３６とフレーム・バッファ２８との間で、シグナルを交換する必要がある場合がある。このシグナル交換は、必要なプロトコルと制御機能をインプリメントするＭＡＣ９０により制御される。ＭＡＣ９０は標準的な構成であって、IEEE 802.3 MAC標準に準拠しているのが好ましい。
上述したように、リピータ３６は全てのワーキング・ポート３４を相互結合する。リピータ３６は任意のワーキング・ポート間のメッセージを全て他の全てのワーキング・ポート３４に送信するブロードキャスト・リピータであって、IEEE 802.3リピータ標準に準拠したブロードキャスト・リピータであるのが好ましい。しかし、セキュリテイのために、全てのノードが全ての情報を受信するのが必ずしも望ましいわけではない。よって、好ましい実施の形態では、ワーキング・ポート３４は、それぞれ、スクランブルされたシグナルを、対応するノードに選択的に供給する図示しないスクランブル機構をさらに備えている。このスクランブル機構は２つのポートを有するマルチプレクサの形態をとるのが好ましい。第１入力は、実際の情報を受信するために、リピータ３６に結合してあり、第２入力はスクランブルされたシグナル・ソース（図示しない）に結合してある。どの入力がマルチプレクサ出力に結合されるかは、セレクト制御シグナルにより制御される。よって、適正な制御シグナルをポート３４に送信することにより、ワーキング・ポート３４により、それぞれ、実際の情報か、スクランブルされた情報を、対応するノードに送信させることができる。よって、システム内のシグナル・セキュリテイが向上することになる。
以上、ネットワーク２４とノード２２のインタフェースを説明した。これら２つのインタフェース間の対話を制御する機構は、入力パケット・フィルタおよびスクランブラ８２と、出力パケット・フィルタおよびスクランブラ８８と、ソース・アドレス・テーブル８６と、フレーム・バッファ・インタフェース８４を備えている。ソース・アドレス・テーブル８６は、装置２０の全てのアクティブなワーキング・ポート３４のアドレスを含んでいるのが好ましい。これらのアドレスは、パケットをフィルタリングするため、コンポーネント８２および８８によりチェックされる。好ましい実施の形態では、入力パケット・フィルタ８２とフレーム・バッファ・インタフェース８４は協動して、図１に示す入力パケット・コントローラ３８として機能する。出力パケット・フィルタ８８とフレーム・バッファ・インタフェース８４は協動して、出力パケット・コントローラ４２として機能する。コンポーネント８２，８４，８８は、ハードウェア・ロジックを用いてインプリメントされるのが好ましいが、コンポーネント８２，８４，８８の機能もソフトウェア・プログラムにより制御されるプロセッサによりインプリメントすることができることに注意されたい。
コンポーネント８２，８４，８８を詳細に説明する。図５、図６、および図７は、入力パケット・フィルタおよびスクランブラ８２と、出力パケット・フィルタおよびスクランブラ８８と、フレーム・バッファ・インタフェース８４のオペレーションを示すフローチャートである。図５に示すように、フィルタ８２はＦＩＦＯ８０から入力情報パケットを受信することによりオペレーションを開始する（１０２）。フィルタ８２はこのパケットからデスティネーション・アドレスを取り出し（１０４）、取り出されたデスティネーション・アドレスと、ＳＡＴ８６にストアされているアドレスとを比較し、デスティネーション・アドレスがマッチするか否かを判定する（１０６）。アドレスがマッチしない場合は、そのパケットのデスティネーションはワーキング・ポート３４のうちの１つのワーキング・ポートでないことを意味する。よって、フィルタ８２は"prevent"制御信号を生成し、バッファ・インタフェース８４に送信し（１１４）、インタフェース８４がそのパケットをポート３４に送信しないようにする。他方、アドレスがマッチした場合は、ワーキング３４1−３４nのうちの１つのワーキング・ポートがそのパケットの意図するデスティネーションであると結論することができる。その結果、フィルタ８２は"send"制御信号を生成し、バッファ・インタフェース８４に送信し（１０８）、バッファ・インタフェース８４に命令して、そのパケットをワーキング・ポート３４に送信させる。さらに、フィルタ８２は"unscramble"制御信号を生成し、デスティネーション・ポートのスクランブル機構に送信し（１１０）、ついで、"scramble"制御信号を生成し、他の全てのワーキング・ポート３４のスクランブル機構に送信する（１１２）。これらの制御信号により、スクランブルされたパケットが、デスティネーション・ポートに結合されたノードを除く全てのノードに送信される。従って、フィルタ８２は、デスティネーション・ノードのみが実際の情報を受信することを保証する。よって、セグメントのノード２２はどれも他のノード２２に送信された情報をモニタすることができない。
フレームバッファ・インタフェース８４は、フィルタ８２と協動して、入力パケットのフィルタリング機能を奏する。図７の左部分のフローでは、バッファ・インタフェース８４は、ＦＩＦＯ８０からの入力パケットを受信することによりオペレーションを開始する（１３２）。バッファ・インタフェース８４はそのパケットを受信すると、直ちに、入力パケットのために予約されたフレームバッファ２８のセクションに、そのパケットのストアを開始する（１３４）。そのパケットがストアされているので、インタフェース８４はフィルタ８２から制御シグナルを受信する（１３６）。この制御シグナルは"send"シグナルでも良いし、"prevent"シグナルでも良い。"prevent"シグナルが受信された場合は、インタフェース８４はその入力パケットのストアを停止する（１４４）。実際には、パケットが破棄される。よって、入力パケットはポート３４にホワーディングされない。他方、"send"制御信号が受信された場合は、インタフェース８４は入力パケットのストアを完了し（１４０）、リピータ３６にホワーディングするため、適正なタイミングで、ストア完了したパケットをＭＡＣ９０に送信する（１４２）。よって、その入力パケットはリピータ３６にパッシングされ、所望のデスティネーション・ノードにパッシングされる。
図６を説明する。入力パケット・フィルタおよびスクランブル８８は同様にオペレーションする。フィルタ８８はマルチポート・リピータ３６からの入力パケットを受信することによりオペレーションを開始する（１１６）。このパケットは、ポート３４に結合されたノード２２からオリジネートさせることができた。フィルタ８８はこのパケットから出力アドレスを取り出し（１１８）、取り出された出力アドレスを、ＳＡＴ８６にストアされているアドレスと比較する（１２０）。そのアドレスがマッチングする場合は、そのパケットのデスティネーションがセグメントのポート３４であることを意味する。よって、そのパケットをネットワーク２４に送信する必要がない。このような場合、フィルタ８８は"prevent"制御シグナルを生成して、インタフェース８４に送信し、インタフェース８４がパケットをネットワーク２４にホワーディングしないようにする（１２２）。さらに、フィルタ８８は"unscramble"制御シグナルを生成し、デスティネーション・ポートのスクランブル機構に送信し（１２４）、"scramble"制御シグナルを生成し、他の全てのポートのスクランブル機構に送信する（１２６）。これらの制御シグナルにより、デスティネーション・ポートを除く各ポート３４は、スクランブルされたパケットを、対応するノードに送信する。よって、デスティネーション・ポートに接続されているノードのみが、実際のパケットを受信する。他方、出力アドレスがマッチしない場合は、パケットのデスティネーションがネットワーク２４上の外部ノードである、と結論することができる。従って、フィルタ８８は"send"シグナルを生成し、インタフェース８４に送信し、インタフェース８４に命令して、そのパケットをネットワーク２４にホワーディングする（１２８）。さらに、フィルタ８８は"scramble"制御シグナルを生成し、全てのワーキング・ポート３４のスクランブル機構に送信する（１３０）。このようにすることにより、全てのノード２２は、外部ノードがデスティネーションである出力パケットを受信しない。よって、シグナル・セキュリティが保持される。
フィルタ８２の場合のように、フレーム・バッファ・インタフェース８４はフィルタ８８と対話して、出力パケットをフィルタリングする機能を奏する。インタフェース８４は、まず、リピータ３６から出力パケットを受信することにより、その機能を奏する（１４６）。このパケットが受信されると、直ちに、インタフェース８４は、フレーム・バッファ２８の出力パケット用に予約された部分に、パケットのストアを開始する（１４８）。このパケットがストアされている間に、インタフェース８４は制御シグナルをフィルタ８８から受信する（１５０）。シグナルが"send"シグナルでなく、"prevent"シグナルである場合は、インタフェース８４はパケットのストアを停止する（１５８）。この場合、実際は、そのパケットを破棄する。よって、そのパケットはネットワーク２４に送信されない。他方、フィルタ８８からの制御シグナルが"send"シグナルである場合には、インタフェース８４はそのパケットのフレーム・バッファ２８へのストアを完了する（１５４）。そして、適正なタイミングで、ストアが完了したパケットをＭＡＣ９２に送信する（１５６）。その後、ＭＡＣ９２はそのパケットをアタッチメント・ポート３０にホワーディングし、ネットワーク２４にホワーディングする。このように、ノード２２からの出力パケットは、ネットワーク２４に結合されている外部ノードに送信される。
以上説明したコンポーネントは、装置２０の主なパケット・フィルタリング・スクランブリング機能をインプリメントする。機能を向上させるため、装置２０はＳＡＴ更新コントロール９４と、外部ＣＰＵインタフェース９６（図４）とをさらに備えるのが好ましい。これらのコンポーネント９４，９６は、ＳＡＴ８６の保守を容易にする。図４に示すように、ＣＰＵインタフェース９６はＳＡＴ更新コントロール９４を外部ＣＰＵに結合するのが好ましい。インタフェース９６は外部ＣＰＵからの命令を受信し、これらの命令を更新コントロール９４にパッシングする。更新コントロール９４はこれらの命令を受信し、同様に、リピータ３６からのシグナルを受信し、ＳＡＴ８６を維持する。更新コントロール９４のオペレーションを示すフローチャートを図８に示す。好ましい実施の形態では、更新コントロール９４はハードウェア・ロジックでインプリメントされるのが好ましいが、プロセッサおよびソフトウェアを用いて、コントロール９４をインプリメントすることができることに注意すべきである。同様に、インタフェース９６はハードウェア・ロジックを用いてインプリメントされるのが好ましい。インタフェース９６の構成は、どのプロセッサを外部プロセッサに用いるかによって変化する。よって、インタフェース９６はインプリメンテーション固有のものである。
図８を説明する。更新コントロール９４は、まず、命令が外部ＣＰＵから受信されたか否かを判定することにより機能する（１６０）のが好ましい。命令が受信された場合、コントロール９４はＣＰＵ命令を処理し（１６２）、ＳＡＴ８６を更新する（１６４）。このＣＰＵ命令により、コントロール９４はテーブル８６からアドレスを除去するか、あるいは、テーブル８６に新しいアドレスを付加する。一度、このＣＰＵ命令が処理されると、コントロール９４はワーキング・ポート３４1−３４nがインアクティブにされたか否かを判定する（１６６）。ワーキング・ポートがインアクティブである場合は、そのポートが、可能なデスティネーション・ポートと認識されないように、そのポートのアドレスがアドレス・テーブル８６から除去される（１６８）。一度、このように認識されると、コントロール９４は出力情報パケットをリピータ８８から受信する（１７０）。この出力パケットには、どのポートから、そのパケットがオリジネートされたかを指定するソース・アドレスが含まれるのが好ましい。コントロール９４はこのソース・アドレスをそのパケットから取り出し（１７２）、取り出されたソース・アドレスを、ＳＡＴ８６にストアされているアドレスと比較する（１７４）。ソース・アドレスがＳＡＴ８６にストアされていない場合は、コントロール９４はソース・アドレスをＳＡＴ８６に挿入する（１７６）。従って、コントロール９４は自動的にワーキング・ポート・アドレスをＳＡＴ８６に付加する。全体としては、フレッシュな現在のアドレスがＳＡＴ内に駐在することを、更新コントロール９４が保証する。その結果、パケットをフィルタリングする機能は、効率的かつ正確に行われる。
実際のインプリメンテーションでは、装置２０は、ｎ個のノードとインタフェースする任意の数のワーキング・ポートを備えている。どのようなｎを採用しても、アプリケーションの中には、この数のワーキング・ポートでも不充分なものがある。このようなアプリケーションでは、装置２０の基本的な構成を修正することなく、追加のワーキング・ポートを装置２０に付加するのが望ましい。カスケード・インタフェース１００は、装置２０にこの能力を提供する。具体的には、インタフェース１００は、装置２０に、別の装置２０を結合する能力を提供する。図９はシステム２００のブロック図である。システム２００では、２ｘｎ個のワーキング・ポート、従って、２ｘｎ個のノードをネットワーク２４にインタフェースすることができる単一のネットワーク・インタフェーシング装置を形成するため、２つの装置２０ａ，２０ｂがカスケードに接続されている。次に、本発明のカスケード・インタフェースを、２−装置システムのコンテキストで説明する。しかし、カスケード・インタフェースを用いて、任意の数の装置をカスケードすることができることに注意すべきである。
図９に関しては、幾つかの点に注意すべきである。第１には、２つの装置２０ａ，２０ｂが存在しても、外部フレーム・バッファ２８はただ１つである。この１つのフレームバッファ２８は、両方の装置からのパケットをバッファリングするのに用いられる。第２には、２つ以上の装置がカスケードに接続されたとき、これらの装置のうちの１つの装置（図９の装置２０ａ）がマスタ・モードになる。他の全ての装置（装置２０ｂ）はスレーブ・モードになる。このことは重要なことである。というのは、マスタ装置２０ａのみが外部フレーム・バッファ２８とインタフェースすることができ、操作することができるからである。実際のインプリメンテーションでは、装置２０ｂと装置２０ａは同一であるのが好ましい。このことは、装置２０ｂもフレームバッファ・インタフェース（図示しない）と、ＭＡＣ９０，９２を有することを意味する。しかし、装置２０ｂがスレーブ・モードになり、従って、フレーム・バッファ・インタフェースを非活動化させるので、フレーム・バッファ・インタフェースと、ＭＡＣは、簡単にするため、装置２０ｂに図示していない。第３には、各装置がパケット・フィルタリング機能を奏することに注意されたい。装置２０ａ，２０ｂは、それぞれ、ワーキング・ポートのアドレスをストアするための独自のソース・アドレス・テーブル８６ａ，８６ｂを備えている。各装置は、入力および出力パケットを受信し、これらのパケットのデスティネーションがワーキング・ポートであるか否かを個々に判定する。各装置はフィルタリング機能を奏するので、カスケード・インタフェース１００ａ，１００ｂはこのプロセスに含める必要がない。インタフェース１００ａ，１００ｂの主な機能は、装置間でデータおよび制御シグナルを、パッシングするのをコーディネートするための機構を提供することである。第４には、マルチプル装置が含まれるので、システム２００は、装置間で情報を転送するのをコーディネートするアービトレーション・ロジック２０２をさらに含むのが好ましいことに注意されたい。アービトレーション・ロジック２０２は、装置間データ・パケットが衝突しないようにする。アービトレーション・ロジック２０２を外部に設けるか、あるいは、１つ以上の装置２０ａ，２０ｂに組み入れることができる。
この点を考慮して、カスケード・インタフェース１００ａ、１００ｂを説明する。図１０はマスタ装置のインタフェース１００ａを示し、受信された入力シグナルと、インタフェース１００ａにより供給された出力シグナルを示す。インタフェース１００ａは３つのソース、すなわち、カスケード・インタフェース１００ｂと、マルチポート・リピータ３６ａと、アービトレーション・ロジック２０２からの入力シグナルに結合され、これらの入力シグナルを受信する。カスケード・インタフェース１００ｂから、カスケード・インタフェース１００ａは、デスティネーション・アドレス・マッチ・シグナル３００と、出力アドレス・マッチ・シグナル３０４をそれぞれ受信する。これらのシグナルはアドレスが装置２０ｂでマッチしたことをインタフェース１００ａに知らせる。さらに、インタフェース１００は“リピート”ライン３０８と、双方向データライン３１０をリピータ３６ａから受信し、“アクノリッジ”ライン３１２と、“コンフリクト”ライン３１４をアービトレーション・ロジック２０２から受信する。リピートラインはリピータ３６ａがデータをデータライン３１０上にブロードキャストしようとしているか否かを知らせ、アクノリッジおよびコンフリクトライン３１２，３１４は、インタフェース１００ａがデータを他のカスケード・インタフェース１００ｂに送信することができるか否かを知らせる。
出力として、インタフェース１００ａはデスティネーション・アドレス・マッチ・ライン３１６をフィルタ８２ａに供給し、出力アドレス・マッチ・ライン３１８をフィルタ８８ａに供給し、リクエスト・ライン３２０をアービトレーション・ロジック２０２に供給し、双方向データ・ライン３１０をカスケード・インタフェース１００ｂおよびリピータ３６ａに供給し、ジャムライン３２２をリピータ３６ａに供給する。アドレス・マッチ・ライン３１６，３１８はアドレス・マッチ・シグナル３００，３０４をカスケード・インタフェース１００ｂからフィルタ８２ａ，８８ａに中継する。これらシグナル３００，３０４は、入力パケットを受信すべきか否か、出力パケットを送信すべきか否かを判定するため、フィルタ８２ａ，８８ａにより必要とされる情報を供給する。リクエスト・ライン３２０は、リクエストをアービトレーション・ロジック２０２に発行して、情報を双方向データライン３１０上に送信する許可をえるために用いられる。ジャムライン３２２は、リピータ３６ａに命令して、ジャム・シグナルをノード２２ａ1−２２ａnに送信するために用いられる。これら種々のシグナルによりサーブされる目的は、カスケード・インタフェース１００ａのオペレーションを説明するときに、明らかになるであろう。
図１１はカスケード・インタフェース１００ａのオペレーションを示すフローチャートである。好ましい実施の形態では、インタフェース１００ａはハードウェア・ロジックを用いてインプリメントされるが、インタフェース１００ａもプロセッサとソフトウェア・プログラムによりインプリメントされることに注意すべきである。図９ないし図１１を説明する。カスケード・インタフェース１００ａはデスティネーション・アドレス・マッチ・シグナル３００と、出力アドレス・マッチ・シグナル３０４とをカスケード・インタフェース１００ｂから受信する（３３０）ことによりオペレーションを開始する。これらのシグナル３００，３０４を、それぞれ、ライン３１６および３１８を介してフィルタ８２ａおよび８８ａに中継する（３３２）。これらのシグナルはフレームバッファ・インタフェース８４を制御するため、フィルタ８２ａおよび８８ａにより用いられる。
通常のオペレーションを詳細に説明する。入力パケットのデスティネーション・アドレスがＳＡＴ８６ａのアドレスとマッチした場合に、フィルタ８２ａにより、フレームバッファ・インタフェース８４は入力パケットをフレームバッファ２８にストアする。マスタ・モードでは、フィルタ８２ａは余分な機能を奏する。具体的には、フィルタ８２ａは、デスティネーション・アドレスが、装置２０ａでない任意の装置でマッチしたか否かを考慮する。よって、システム２００では、シグナル３００がアサートされる（デスティネーション・アドレスが装置２０ｂでマッチしたことを知らせる）か、あるいは、デスティネーション・アドレスが装置２０ａでマッチするかのいずれかの場合、フィルタ８２ａは"send"制御シグナルをバッファ・インタフェース８４に送信する。この"send"シグナルにより、バッファ・インタフェース８４は入力パケットをフレーム・バッファ２８にストアするのを停止し、そのパケットを、１つのワーキング・ポート３４にホワーディングする。他方、デスティネーション・アドレスが装置２０ａまたは装置２０ｂのいずれかでマッチした場合、フィルタ８２ａは"prevent"シグナルをバッファ・インタフェース８４に送信する。よって、入力パケットが破棄される。
フィルタ８８ａも同様に機能する。具体的には、マスタ・モードで、フィルタ８８ａは出力アドレスが装置２０ａまたは装置２０ｂのいずれかでマッチしたか否かを考慮する。シグナル３０４がアサートされる（出力アドレスが装置２０ｂでマッチしたことを知らせる）か、あるいは、出力アドレスが装置２０ａでマッチした場合のいずれかの場合、フィルタ８８ａは"prevent"シグナルをフレームバッファ・インタフェース８４に送信する。このシグナルにより、インタフェース８４は出力パケットを破棄する。その結果、そのパケットがネットワーク２４に伝送されない。しかし、出力アドレスが装置２０ａでも、装置２０ｂでもマッチしない場合は、フィルタ８８ａは"send"シグナルをバッファ・インタフェース８４に送信する。よって、出力パケットがストアされ、ネットワーク２４にホワーディングされる。
再び、図１１を説明する。シグナル３００および３０４をフィルタ８２ａおよび８８ａに中継した後、インタフェース１００ａはステップ３４６に移行する。ステップ３４６にて、インタフェース１００ａはリピート・シグナルがリピータ３６ａから受信されたか否かを判定する。このリピート・シグナルは、リピータ３６ａがブロードキャストする情報を有するときは常に、リピータ３６ａにより生成される。リピート・シグナルが受信された場合、インタフェース１００ａはリクエスト・シグナルをアービトレーション・ロジック２０２に送信して、情報をデータライン３１０に送信する許可をリクエストする（３４８）。コンフリクト・シグナルがアービトレーション・ロジック２０２から受信された場合（３５０）、２つ以上のインタフェースが情報ライン３１０上に送信されることをリクエストすることを意味する。このような場合は、インタフェース１００ａはジャム・シグナルをジャムライン３２２を介してリピータ３６ａに送信し、リピータ３６ａに、現在、伝送が可能でないことを知らせる（３６２）。これに応答して、リピータ３６ａはノーティフィケーション・シグナルを各ポート３４ａに送信し、ポートに命令して、ポートにより、この時点で、情報を送信させる。しかし、コンフリクト・シグナルが受信されない場合は、インタフェース１００ａはアービトレーション・ロジック２０２からのアクノリッジ・シグナルを待つ（３５２）。そして、このシグナルが受信されると、インタフェース１００ａはリピータ３６ａからの情報を、データライン３１０を介してカスケード・インタフェース１００ｂに送信する（３５４）。よって、情報が装置２０ａから装置２０ｂに搬送される。
ステップ３４６に戻る。ステップ３４６にて、リピート・シグナルがリピータ３６ａから受信された場合、インタフェース１００ａは、アクノリッジ・シグナルがアービトレーション・ロジック２０２から受信されていたか否かを判定する（３５６）。リクエストが送信されないのに、アクノリッジ・シグナルが受信された場合は、データライン３１０を用いて、情報を送信する許可が別の装置２０ｂに与えられていることを意味する。このような場合、インタフェース１００ａはデータライン３１０から情報を受信する（３５８）。そして、ワーキング・ポート３４ａ1−３４ａnにブロードキャストするため、この情報をリピータ３６ａに中継する（３６０）。その後、インタフェース１００ａはステップ３３０に戻り、プロセスを繰り返す。よって、インタフェース１００は２つの装置２０ａと装置２０ｂとの間の対話をコーディネートする。
カスケード・インタフェース１００ｂも同様に機能するが、カスケード・インタフェース１００ｂはバッファ・インタフェース８４と関係を持つ必要がないので、奏する機能は簡単である。図１２および図１３は入力および出力を示し、インタフェース１００ｂのオペレーション・フローチャートを示す。インタフェース１００ｂは次のような入力、すなわち、フィルタ８２ｂからのデスティネーション・アドレス・マッチ・ライン４００と、フィルタ８８ｂａからの出力アドレス・マッチ・ライン４０２と、リピータ３６ｂからのリピートライン４０４およびデータライン３１０と、アービトレーション・ロジック２０２からのアクノリッジ３１２およびコンフリクト・ライン３１４を受信する。出力としては、インタフェース１００ｂはデスティネーションおよび出力アドレス・マッチ・ライン３００，３０４をカスケード・インタフェース１００ａに供給し、リクエスト・ライン４０８をアービトレーション・ロジック２０２に供給し、データライン３１０をリピータ３６ｂおよびカスケード・インタフェース１００ａに供給し、ジャムライン４０９をリピータ３６ｂに供給する。
オペレーション中、インタフェース１００ｂはアドレス・マッチ・シグナル４００，４０２をそれぞれフィルタ８２ａおよび８２ｂから受信し（４１０）、これらのシグナルをカスケード・インタフェース１００ａに、ライン３００，３０４を介して中継する（４１２）。ライン３００，３０４上のシグナルは、デスティネーション・アドレス・マッチまたは出力アドレス・マッチが装置２０ｂにより検出されたか否かを、カスケード・インタフェース１００ａに知らせる。シグナル３００および３０４を中継した後、インタフェース１００ｂは、リピート・シグナルがリピータ３６ｂから受信されたか否かを判定する（４１４）。肯定判定された場合は、リピータ３６ｂがブロードキャストする情報を有することを意味する。これに応答して、インタフェース１００ｂはリクエストをアービトレーション・ロジック２０２に送信して、データをライン３１０上にブロードキャストする許可を求める（４１６）。コンフリクト・シグナルがロジック２０２から受信された場合は、インタフェース１００ｂはジャム・シグナルを、ジャムライン４０９に接続されているリピータ３６ｂに送信する（４３０）。これに応答して、リピータ３６ｂはノーティフィケーション・シグナルをポート３４ｂに送信し、この時点で情報を送信しないようにポートに命令する。しかし、コンフリクト・シグナルが受信されない場合は、インタフェース１００ｂはアービトレーション・ロジック２０２からのアクノリッジ・シグナルを待つ（４２０）。このシグナルが受信されると、インタフェース１００ｂはリピータ３６ｂからの情報を、インタフェース１００ａに、データライン３１０を介して送信する（４２２）。よって、情報は装置２０ｂから装置２０ａに転送される。
ステップ４１４にて、リピート・シグナルは受信されないが、アクノリッジ・シグナルがアービトレーション・ロジック２０２から受信された場合は、情報が別の装置２０ａからブロードキャストされていることを意味する。これに応答して、インタフェース１００ｂはデータライン３１０からの情報を受信し（４２６）、受信された情報を、データライン３１０に接続されているリピータ３６ｂに中継する（４２８）。リピータ３６ｂは、その後、その情報をワーキング・ポート３４ｂ1−３４ｂnにブロードキャストする。
図１４はアービトレーション・ロジック２０２のオペレーションを示すフローチャートである。ロジック２０２は全てのカスケード・インタフェース１００ａ、１００ｂからリクエスト・シグナルを受信することにより、オペレーションを開始する（４５０）。２つ以上のリクエスト・シグナルが受信された場合（４５２）、アービトレーション・ロジック２０２はリクエストを全て受け入れることはできない。よって、ロジック２０２はコンフリクト・シグナルをカスケード・インタフェース１００ａ，１００ｂに送信する（４５４）。他方、１つのリクエストのみが受信された場合、ロジック２０２はアクノリッジ・シグナルを全てのカスケード・インタフェースに送信する（４５６）。このアクノリッジ・シグナルはリクエストしているカスケード・インタフェースに、リクエストしているカスケード・インタフェースが情報をブロードキャストすることができることを知らせる。他のカスケード・インタフェースが情報受信の用意ができるように、このシグナルにより、情報が入来することを他のカスケード・インタフェースに知らせる。よって、アービトレーション・ロジックは装置間で情報の流れをコーディネートする。好ましい実施の形態では、アービトレーション・ロジック２０２はハードウェア・ロジックを用いてインプリメントされるが、ロジック２０２もプロセッサとソフトウェアによりインプリメントすることができることに注意すべきである。このような修正は本発明の精神を逸脱しない。
【図１】
0003676809.tif 000002
【図２】
0003676809.tif 000003
【図３】
0003676809.tif 000004
【図４】
0003676809.tif 000005
【図５】
0003676809.tif 000006
【図６】
0003676809.tif 000007
【図７】
0003676809.tif 000008
【図８】
0003676809.tif 000009
【図９】
0003676809.tif 000010
【図１０】
0003676809.tif 000011
【図１１】
0003676809.tif 000012
【図１２】
0003676809.tif 000013
【図１３】
0003676809.tif 000014
【図１４】
0003676809.tif 000015