(57)【特許請求の範囲】
【請求項１】
複数の入出力ポートと、
これら複数の入出力ポートと接続され、各入出力ポートから供給されるフレームを、そのフレームに含まれる情報に基づきスイッチングするスイッチ部と、
ＬＡＮの識別情報であるＬＡＮ番号と、入出力ポートの識別情報であるポート番号と、端末の識別情報であるＭＡＣアドレスの組み合わせを記憶するためのＬＡＮテーブルと、
ユニークなＬＡＮ番号である自ＬＡＮ番号を保持する保持部とを備え、
前記複数の入出力ポートは、それぞれ、
フレームを送受信する送受信部と、
この送受信部によって受信されたフレームを一時的に記憶するためのバッファメモリと、
前記送受信部が端末に直接接続されているか否かを認識する認識部と、
前記送受信部がフレームを受信したときに、前記認識部によって送受信部が端末に直接接続されていることが認識されていた場合には、宛先ＬＡＮ番号フィールドと送信元ＬＡＮ番号フィールドを含み、宛先ＬＡＮ番号フィールドに、宛先端末が属するＬＡＮのＬＡＮ番号が不明であることを示す所定情報が設定され、送信元ＬＡＮ番号フィールドに、前記保持部に保持された自ＬＡＮ番号が設定されたタグフィールドを付加したフレームを生成、出力し、前記認識部によって送受信部が端末に直接接続されていないことが認識されていた場合には、受信されたフレームをそのまま出力する受信フレーム調整部と、
この受信フレーム調整部が出力するフレームを、前記バッファメモリに格納し、前記スイッチ部によって選択されたときに、前記スイッチ部に対して、前記バッファメモリに格納したフレームの中から、最も過去に前記受信フレーム調整部が出力したフレームを供給するバッファ制御部と、
前記スイッチ部からフレームが供給されたときに、前記認識部によって送受信部が端末に直接接続されていることが認識されていた場合には、供給されたフレームからタグフィールドを取り除いたフレームを生成して前記送受信部に供給し、前記認識部によって送受信部が端末に直接接続されていないことが認識されていた場合には、前記スイッチ部から供給されたフレームをそのまま前記送受信部に供給する送信フレーム調整部とを有し、
前記スイッチ部は、
処理対象とする入出力ポートを、前記複数の入出力ポートの中から、巡回的に選択する選択部と、
この選択部によって選択された入出力ポートから供給されるフレームである対象フレーム内に設定されている宛先ＭＡＣアドレスに対応するポート番号並びにＬＡＮ番号の、前記ＬＡＮテーブルからの読み出しを試みる第１読出試行部と、
この第１読出試行部によってポート番号並びにＬＡＮ番号が読み出されたときに、宛先ＬＡＮ番号フィールドにそのＬＡＮ番号を設定した前記対象フレームを、読み出されたそのポート番号によって識別される入出力ポートに供給する第１供給部と、
前記対象フレーム内の宛先ＬＡＮ番号フィールドに設定されている宛先ＬＡＮ番号に対応するポート番号の、前記ＬＡＮテーブルからの読み出しを試みる第２読出試行部と、
この第２読出試行部によってポート番号が読み出されたときに、前記対象フレームを、読み出されたそのポート番号によって識別される入出力ポートに供給する第２供給部と、
前記第１読出試行部または前記第２読出試行部によってポート番号が読み出せなかったときに、前記対象フレームを、その対象フレームを受信すべき端末と接続されている可能性がある全ての入出力ポートにブロードキャストする第３供給部と、
前記第１供給部ないし前記第３供給部によってフレームの供給が行われるときに、前記対象フレーム内の送信元ＬＡＮ番号フィールドに設定されているＬＡＮ番号と、前記選択部によって選択された入出力ポートのポート番号と、対象フレーム内に設定されている送信元ＭＡＣアドレスの組み合わせを前記ＬＡＮテーブルに記憶するＬＡＮテーブル学習部とを有することを特徴とするスイッチングハブ。
【請求項２】
前記端末は、データのタイプを表すタイプ情報が設定されるタイプ情報フィールドを有するフレームを送受信する端末であり、タイプ情報とサービスクラスとの対応関係が記憶されたサービスクラステーブルを、さらに、備え、前記受信フレーム調整部は、前記送受信部によって受信されたフレームに含まれるサービスクラスフィールドに、前記サービスクラステーブルにおいて、当該フレーム内のタイプ情報フィールドに設定されたタイプ情報に対応づけられているサービスクラスを設定したタグフィールドを付加し、前記バッファ制御部は、前記バッファメモリに記憶されたフレームの中から、フレーム内に設定されたサービスクラスが所定の条件を満たし、かつ、最も過去に前記受信フレーム調整部が出力したフレームを前記スイッチ部に供給することを特徴とする請求項１記載のスイッチングハブ。
【請求項３】
前記サービスクラステーブルは、遅延に対する寛容さを示す第１サービスクラスと、廃棄に対する寛容さを示す第２サービスクラスとからなるサービスクラスを記憶し、前記バッファ制御部は、前記スイッチ部によって選択されたときに、前記バッファメモリの使用率が所定値未満である場合には、前記スイッチ部に対して、前記バッファメモリ内の、第１サービスクラスが最も遅延に寛容でないことを示しているフレームの中から、最も過去に前記受信フレーム調整部が出力したフレームを選択して供給し、前記バッファメモリの使用率が前記所定値以上である場合には、前記スイッチ部に対して、前記バッファメモリ内の、第２サービスクラスが最も廃棄に寛容でないことを示しているフレームのなかから、最も過去に前記受信フレーム調整部が出力したフレームを選択して供給することを特徴とする請求項２記載のスイッチングハブ。
【請求項４】
前記バッファ制御部は、前記バッファメモリの使用率が前記所定値以上である場合には、前記スイッチ部に対して、前記バッファメモリ内の、第２サービスクラスが最も廃棄に寛容でないことを示しているフレームのなかから、第１サービスクラスが最も遅延に寛容でないことを示しているフレームを選択し、選択したフレームの中から、最も過去に前記受信フレーム調整部が出力したフレームを選択して供給することを特徴とする請求項３記載のスイッチングハブ。
【請求項５】
前記認識部は、前記送受信部によって受信されたフレームに前記タグフィールドが含まれていなかった場合に、前記送受信部が端末に直接接続されていることを認識し、前記送受信部によって受信されたフレームに前記タグフィールドが含まれていた場合に、前記送受信部が端末に直接接続されていないことを認識する請求項１ないし請求項４のいずれかに記載のスイッチングハブ。
【請求項６】
端末と直接接続されている全ての入出力ポートに関する、ポート番号とＭＡＣアドレスの対応関係を記憶するアドレステーブルを、さらに、備え、前記スイッチ部は、前記選択部によって選択された入出力ポートから供給される対象フレーム内に設定されている宛先ＭＡＣアドレスに対応するポート番号の、前記アドレステーブルからの読み出しを試みる第０読出試行部と、第０読出試行部によってポート番号が読み出されたときに、前記対象フレームを、読み出されたそのポート番号によって識別される入出力ポートに供給する第０供給部とを、さらに、備え、前記スイッチ部に含まれる前記第１読出試行部は、第０読出試行部によってポート番号が読み出されなかったときに機能することを特徴とする請求項１ないし請求項５のいずれかに記載のスイッチングハブ。
【請求項７】
世代情報とＭＡＣアドレスの対応関係が記憶される世代情報テーブルを、さらに、備え、前記受信フレーム調整部は、世代情報フィールドを含むタグフィールドを対象フレームに付加し、前記第３供給部は、前記対象フレームの宛先ＬＡＮ番号フィールドにブロードキャスト番号が設定されていない場合には、宛先ＬＡＮ番号フィールドと、世代情報フィールドの内容を、それぞれ、ブロードキャスト番号と、所定手順で決定した世代情報に書き換えた対象フレームをブロードキャストするとともに、決定した世代情報と前記対象フレーム内の送信元ＭＡＣアドレスの対応関係を前記世代情報テーブルに登録し、前記第０読出試行部は、対象フレーム内の宛先ＬＡＮ番号フィールドにブロードキャスト番号が設定されていた場合には、その対象フレームに設定されている送信元ＭＡＣアドレスに対応づけられている世代情報の、前記世代情報テーブルからの読み出しを試み、前記対象フレームの世代情報フィールドに記憶された世代情報である対象世代情報と同じ内容の世代情報が読み出された場合には、前記対象フレームを破棄し、前記対象世代情報と異なる内容の世代情報が読み出された場合、及び、世代情報が読み出されなかった場合には、前記対象フレーム内の送信元ＭＡＣアドレスに対応する世代情報として前記対象世代情報が記憶されるように、前記世代情報テーブルの内容を更新することを特徴とする請求項６記載のスイッチングハブ。
【請求項８】
前記第３供給部は、乱数発生アルゴリズムを用いて世代情報を決定することを特徴とする請求項７記載のスイッチングハブ。
【請求項９】
前記バッファ制御部は、前記受信フレーム調整部が出力したフレームを、前記バッファメモリに格納できない場合、そのフレームとバッファメモリに記憶されているフレームの中から選択した１つのフレームを破棄するとともに、破棄したフレーム内に設定されていた宛先ＭＡＣアドレスを輻輳発生データとして有し、輻輳が起こったことを前記フレームを送出した端末に通知するためのコリジョンフレームを生成し、生成したコリジョンフレームを前記送受信部に供給し、前記第０読出試行部は、対象フレームがコリジョンフレームであった場合、前記ＬＡＮテーブルから、そのコリジョンフレーム内の輻輳発生データが示すＭＡＣアドレスに関するデータを消去することを特徴とする請求項７または請求項８記載のスイッチングハブ。
【請求項１０】
前記ＬＡＮテーブル学習部は、前記選択部によって選択された入出力ポートのポート番号が前記アドレステーブルに記憶されておらず、かつ、前記第１供給部ないし前記第３供給部によって対象フレームが供給される入出力ポートのポート番号が前記アドレステーブルに記憶されている場合には、前記ＬＡＮテーブルに、前記対象フレーム内の送信元ＬＡＮ番号フィールドに設定されているＬＡＮ番号と、前記選択部によって選択された入出力ポートのポート番号と、対象フレーム内に設定されている送信元ＭＡＣアドレスの組み合わせを前記ＬＡＮテーブルに記憶し、前記選択部によって選択された入出力ポートのポート番号が前記アドレステーブルに記憶されておらず、かつ、前記第１供給部ないし前記第３供給部によって対象フレームが供給される入出力ポートのポート番号が前記アドレステーブルに記憶されていない場合には、前記ＬＡＮテーブルに、前記対象フレーム内の送信元ＬＡＮ番号フィールドに設定されているＬＡＮ番号と、前記選択部によって選択された入出力ポートのポート番号の組み合わせを前記ＬＡＮテーブルに記憶することを特徴とする請求項６ないし請求項９のいずれかに記載のスイッチングハブ。
【請求項１１】
前記第０読出試行部は、前記対象フレーム内に設定されている宛先ＭＡＣアドレスがブロードキャストフレームであることを示す情報であった場合、その宛先ＭＡＣアドレスと、前記ＬＡＮテーブルに記憶されている情報に基づき、前記対象フレームの送出元端末と通信を行った可能性がある入出力ポートを特定し、特定した入出力ポートに前記対象フレームをブロードキャストすることを特徴とする請求項１０記載のスイッチングハブ。
【請求項１２】
前記第０読出試行部は、前記対象フレーム内に設定されている宛先ＭＡＣアドレスがブロードキャストフレームであることを示す情報であり、かつ、前記対象フレーム内に設定されているタイプ情報が、ＭＡＣアドレスを問い合わせるプロトコルであることを示すものであった場合、ＬＡＮテーブルの内容に依らず、前記複数の入出力ポートに前記対象フレームをブロードキャストすることを特徴とする請求項１１記載のスイッチングハブ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、スイッチングハブに関する。
【０００２】
【従来の技術】
スイッチングハブは、既存のイーサネットＬＡＮ（Ｌａｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）環境をそのまま接続でき、しかも、ＡＴＭ（Ａｓｙｎｃｈｒｏｎｏｕｓ  Ｔｒａｎｓｆｅｒ  Ｍｏｄｅ）技術を、既存のＬＡＮ環境に組み込むために欠かせないバーチャル（Ｖ）ＬＡＮ機能を持つことができるという点で、ＡＴＭ−ＬＡＮ時代においても、重要なＬＡＮ製品であると考えられている。
【０００３】
【発明が解決しようとする課題】
しかしながら、従来のスイッチングハブは、マルチメディア通信へ適用した場合、データ系の通信でデータ落ち（フレーム廃棄）が生じたり、音声系の通信でフレームの遅延が生じたりしていた。
【０００４】
例えば、図２２に示したように、データ系のフレームを送出する端末Ａと、音声系のフレームを送出する端末Ｂとが、従来のスイッチングハブに接続されており、端末Ａ、Ｂが、異なるフレーム間隔で、しかも、スイッチ部の１個のフレームをスイッチングするのに必要とする時間と同程度の間隔で、フレームを送出している場合を考える。
【０００５】
この場合、端末ＡからのフレームＡは、スイッチングハブ内の端末Ａ用の入力バッファ（ポート）に保持され、端末ＢからのフレームＢは、端末Ｂ用の入力バッファに保持される。そして、スイッチングハブ内のスイッチ部は、ラウンドロビン形式で、各入力バッファ内にフレームが保持されているか否かを判断していき、フレームが保持されていた場合、その入力バッファに保持されたフレームを、フレーム内の宛先アドレスに応じた出力バッファ（ポート；図では１つしか表示していない）に供給するので、図中、模式的に示してあるように、音声系のフレームＢがスイッチングハブ内で遅延してしまうことになる（フレーム間隔▲１▼′がフレーム間隔▲１▼よりも広くなってしまう）。また、単位時間当たりに各入力バッファから取り出されるフレームの数が、各入力バッファに入力されるフレームの数に応じて制御されている訳でもないので、フレームＡ用の入力バッファに示してあるように、入力バッファに空き領域がなくなり、フレームＡが破棄されてしまうこともあった。
【０００６】
データ系の通信では、データ落ちは許されないので、フレームＡが廃棄された場合、データの再送信が行われる。すなわち、データ系の通信時に、フレームの廃棄が行われた場合、あるサイズのデータの通信を行うために、そのサイズの何割増しかサイズのデータを送信するためのネットワークリソースが使用されることになる。一方、音声系の通信では、多少データ落ちがあっても、着端末において、その通信の内容が認識できるが、データが遅延した場合、内容が認識困難なものとなってしまう。
【０００７】
このため、多少フレームＢを廃棄してでも、フレームＡが廃棄されないように、フレームＡのスイッチングを優先して行うことや、フレームＡを後回しにしてしまって（早い段階でフレームＡの通信を中断して）、フレームＢが遅延しないようにフレームＢのスイッチングを優先して行うができることが望まれるが、従来のスイッチングハブは、そのような通信品質制御を行う機能を有していなかった。
【０００８】
また、従来のスイッチングハブを組み合わせて、あるいは、スイッチングハブのＶＬＡＮ機能を用いて、複数のＬＡＮからなるネットワークを形成するためには、ルータを使用しなければならなかった。
【０００９】
たとえば、２台のスイッチングハブを用いて、２つのＬＡＮからなるネットワークを形成するためには、図２３に示したように、２台のスイッチングハブの間にルータを設けることが必要であった。この場合、同じスイッチングハブに収容された端末間のフレームのスイッチングは、ＭＡＣアドレス検索という簡単な処理で行われるので高速に実行されることになる。しかしながら、ルータを介する必要がある端末間（例えば、端末Ａと端末Ｅ）は、一方のスイッチングハブからのフレームが他方のスイッチングハブに渡される際、ルータによって、上位レイヤの各種アルゴリズムの処理が行われる。ルータが、１フレームを処理するのには、スイッチングハブが１フレームを処理するのに必要とする時間よりも極めて長い時間（通常、５０倍）が必要とされるため、従来のスイッチングハブを用いたネットワークは、ＬＡＮ間通信の通信性能が、ＬＡＮ内通信時の通信性能よりも極めて低いものとなっていた。すなわち、ＬＡＮ間通信時には、スイッチングハブの高速性を生かされていないネットワークとなっていた。
【００１０】
そこで、本発明の第１の課題は、通信品質の制御が行えるスイッチングハブを提供することにある。
また、本発明の第２の課題は、高速にＬＡＮ間通信を実現できるスイッチングハブを提供することにある。
【００１１】
【課題を解決するための手段】
上記第１の課題を解決するために、データのタイプを表すタイプ情報が設定されるタイプ情報フィールドを有するフレームを送受信する端末と組み合わせて使用するスイッチングハブを、複数の入出力ポートと、これら複数の入出力ポートと接続され、各入出力ポートから供給されるフレームを、そのフレームに含まれる情報に基づきスイッチングするスイッチ部と、タイプ情報とサービスクラスとの対応関係が記憶されたサービスクラステーブルとから構成するとともに、各入出力ポートとして、フレームを格納するためのバッファメモリと、フレームの格納に使用されている、バッファメモリの一領域を示す格納領域情報とサービスクラスとからなる複数の組み合わせ情報を、各組み合わせ情報が記憶された相対的な順序がわかる形態で記憶するための管理情報メモリと、フレームを受信する受信部と、受信部がフレームを受信したときに、管理情報メモリに記憶されている格納領域情報に基づき、そのフレームを格納できる、バッファメモリの一領域を特定し、特定した領域に当該フレームを格納するとともに、特定した領域を表す格納領域情報と、サービスクラステーブルにおいて、当該フレームのタイプ情報フィールドに設定されたタイプ情報に対応づけられているサービスクラスとからなる組み合わせ情報を、その組み合わせ情報が管理情報メモリ内に既に記憶されている組み合わせ情報の後に記憶されたことがわかる形態で、管理情報メモリに追加する格納制御部と、スイッチ部によって選択されたときに、使用状況情報メモリに記憶された組み合わせ情報の中から、所定の条件を満たすサービスクラスに関係し、しかも、最も過去に記憶された組み合わせ情報を特定し、バッファメモリの、特定した組み合わせ情報に含まれる格納領域情報によって指定される領域に記憶されたフレームをスイッチ部に供給するとともに、管理情報メモリ内の、特定した組み合わせ情報を消去する読出制御部とを、有するものを採用する。
【００１２】
このような構成を有する本発明の第１のスイッチングハブによれば、通信品質制御が行えることになる。
なお、第１のスイッチングハブを構成するに際して、格納制御部として、受信部によって受信されたフレームが、サービスクラスフィールドが付加されていないフレームであった場合には、そのフレームに、サービスクラスを設定したサービスクラスフィールドを付加したフレームを、バッファメモリに記憶し、受信部によって受信されたフレームが、サービスクラスフィールドが付加されたフレームであった場合には、そのサービスクラスフィールドに設定されたサービスクラスを有する組み合わせ情報を、管理情報メモリに追加する部を採用することも出来る。
【００１３】
このように動作する格納制御部を用いた第１のスイッチングハブからネットワークを構築すれば、発端末から着端末に至る通信経路上の各スイッチングハブにおいて、発端末を収容するスイッチングハブに備えられたサービスクラステーブル内の情報に基づく、共通な通信品質制御が行えることになる。換言すれば、ネットワークを構成する各スイッチングハブ内のサービスクラステーブルの内容を同じものとしなくとも、共通した通信品質制御が行えることになる。
【００１４】
なお、第１のスイッチングハブを実現する際には、サービスクラステーブルとして、入出力ポート毎に、タイプ情報とサービスクラスとの対応関係を記憶したテーブルを用い、各入出力ポートを構成する格納制御部として、サービスクラステーブルに記憶されている、自入出力ポートに関する対応関係を用いて、フレーム内のタイプ情報に対応するサービスクラスを求めるものを用いることも出来る。
【００１５】
上記第２の課題を解決するために、本発明では、スイッチングハブを、数の入出力ポートと、これら複数の入出力ポートと接続され、各入出力ポートから供給されるフレームを、そのフレームに含まれる情報に基づきスイッチングするスイッチ部と、ＬＡＮの識別情報であるＬＡＮ番号と、入出力ポートの識別情報であるポート番号と、端末の識別情報であるＭＡＣアドレスの組み合わせを記憶するためのＬＡＮテーブルと、ユニークなＬＡＮ番号である自ＬＡＮ番号を保持する保持部とから構成するとともに、各入出力ポートとして、フレームを送受信する送受信部と、この送受信部によって受信されたフレームを一時的に記憶するためのバッファメモリと、送受信部が端末に直接接続されているか否かを認識する認識部と、送受信部がフレームを受信したときに、認識部によって送受信部が端末に直接接続されていることが認識されていた場合には、宛先ＬＡＮ番号フィールドと送信元ＬＡＮ番号フィールドを含み、宛先ＬＡＮ番号フィールドに、宛先端末が属するＬＡＮのＬＡＮ番号が不明であることを示す所定情報が設定され、送信元ＬＡＮ番号フィールドに、保持部に保持された自ＬＡＮ番号が設定されたタグフィールドを付加したフレームを生成、出力し、認識部によって送受信部が端末に直接接続されていないことが認識されていた場合には、受信されたフレームをそのまま出力する受信フレーム調整部と、この受信フレーム調整部が出力するフレームを、バッファメモリに格納し、スイッチ部によって選択されたときに、スイッチ部に対して、バッファメモリに格納したフレームの中から、最も過去に受信フレーム調整部が出力したフレームを供給するバッファ制御部と、スイッチ部からフレームが供給されたときに、認識部によって送受信部が端末に直接接続されていることが認識されていた場合には、供給されたフレームからタグフィールドを取り除いたフレームを生成して送受信部に供給し、認識部によって送受信部が端末に直接接続されていないことが認識されていた場合には、スイッチ部から供給されたフレームをそのまま送受信部に供給する送信フレーム調整部とを有する入出力ポートを用いる。
【００１６】
さらに、スイッチ部として、処理対象とする入出力ポートを、複数の入出力ポートの中から、巡回的に選択する選択部と、この選択部によって選択された入出力ポートから供給されるフレームである対象フレーム内に設定されている宛先ＭＡＣアドレスに対応するポート番号並びにポート番号の、ＬＡＮテーブルからの読み出しを試みる第１読出試行部と、この第１読出試行部によってポート番号並びにＬＡＮ番号が読み出されたときに、宛先ＬＡＮ番号フィールドにそのＬＡＮ番号を設定した対象フレームを、読み出されたそのポート番号によって識別される入出力ポートに供給する第１供給部と、第１読出試行部によってポート番号並びにＬＡＮ番号が読み出されなかったときに、対象フレーム内の宛先ＬＡＮ番号フィールドに設定されている宛先ＬＡＮ番号に対応するポート番号の、ＬＡＮテーブルからの読み出しを試みる第２読出試行部と、この第２読出試行部によってポート番号が読み出されたときに、対象フレームを、読み出されたそのポート番号によって識別される入出力ポートに供給する第２供給部と、第２読出試行部によってポート番号が読み出されなかったときに、対象フレームを、その対象フレームを受信すべき端末と接続されている可能性がある全ての入出力ポートにブロードキャストする第３供給部と、第１供給部ないし第３供給部によってフレームの供給が行われるときに、対象フレーム内の送信元ＬＡＮ番号フィールドに設定されているＬＡＮ番号と、選択部によって選択された入出力ポートのポート番号と、対象フレーム内に設定されている送信元ＭＡＣアドレスの組み合わせをＬＡＮテーブルに記憶するＬＡＮテーブル学習部とを有するスイッチ部を用いる。
【００１７】
このような構成を有する本発明の第２のスイッチングハブを用いてネットワークを構成すれば、ルータが不要となるので、高速なＬＡＮ間通信を実現できることになる。
【００１８】
本発明の第２のスイッチングハブを実現する際に、タイプ情報とサービスクラスとの対応関係が記憶されたサービスクラステーブルを付加し、入出力ポートを構成要素である受信フレーム調整部として、送受信部によって受信されたフレームに対して、サービスクラスフィールドをも含み、そのサービスクラスフィールドに、サービスクラステーブルにおいて、当該フレーム内のタイプ情報フィールドに設定されたタイプ情報に対応づけられているサービスクラスを設定したタグフィールドを付加するものを用い、バッファ制御部として、バッファメモリに記憶されたフレームの中から、フレーム内に設定されたサービスクラスが所定の条件を満たし、かつ、最も過去に受信フレーム調整部が出力したフレームをスイッチ部に供給するものを採用しても良い。
【００１９】
このような構成の第２のスイッチングハブを用れば、通信品質制御が行え、しかも、高速なＬＡＮ間通信を実現できるネットワークを構築できることになる。また、第２のスイッチングハブを製造する際には、サービスクラステーブルとして、遅延に対する寛容さを示す第１サービスクラスと、廃棄に対する寛容さを示す第２サービスクラスとからなるサービスクラスが記憶されたテーブルを用い、バッファ制御部として、スイッチ部によって選択されたときに、バッファメモリの使用率が所定値未満である場合には、スイッチ部に対して、バッファメモリ内の、第１サービスクラスが最も遅延に寛容でないことを示しているフレームの中から、最も過去に受信フレーム調整部が出力したフレームを選択して供給し、バッファメモリの使用率が所定値以上である場合には、スイッチ部に対して、バッファメモリ内の、第２サービスクラスが最も廃棄に寛容でないことを示しているフレームのなかから、最も過去に受信フレーム調整部が出力したフレームを選択して供給するものを用いることが出来る。
【００２０】
このような構成を有する第２のスイッチングハブを用いれば、トラヒック量が少ないときには、遅延に寛容でないフレーム（例えば、音声系フレーム）が優先的に処理され、トラヒック量が多くなり、フレーム廃棄が生ずる可能性が高くなったときには、廃棄に寛容でないフレーム（例えば、データ系フレーム）が優先的に処理されるネットワークを実現できることになる。
【００２１】
なお、第１サービスクラスと第２サービスクラスとからなるサービスクラスが記憶されたサービスクラステーブルを用いて、第２のスイッチングハブを製造する際には、バッファ制御部として、バッファメモリの使用率が所定値以上である場合には、スイッチ部に対して、バッファメモリ内の、第２サービスクラスが最も廃棄に寛容でないことを示しているフレームのなかから、第１サービスクラスが最も遅延に寛容でないことを示しているフレームを選択し、選択したフレームの中から、最も過去に受信フレーム調整部が出力したフレームを選択して供給するものを用いることも出来る。
【００２２】
また、第２のスイッチングハブを構成するに際して、認識部として、送受信部によって受信されたフレームにタグフィールドが含まれていなかった場合に、送受信部が端末に直接接続されていることを認識し、送受信部によって受信されたフレームにタグフィールドが含まれていた場合に、送受信部が端末に直接接続されていないことを認識するものを用いても良い。
【００２３】
さらに、本発明の第２のスイッチングハブに、端末と直接接続されている全ての入出力ポートに関する、ポート番号とＭＡＣアドレスの対応関係を記憶するアドレステーブルと、選択部によって選択された入出力ポートから供給される対象フレーム内に設定されている宛先ＭＡＣアドレスに対応するポート番号の、アドレステーブルからの読み出しを試みる第０読出試行部と、第０読出試行部によってポート番号が読み出されたときに、対象フレームを、読み出されたそのポート番号によって識別される入出力ポートに供給する第０供給部とを付加することも出来る。ただし、この際、第１読出試行部としては、第０読出試行部によってポート番号が読み出されなかったときに機能する第１読出部を用いる。
【００２４】
このような構成を採用すれば、ＬＡＮテーブルに記憶される情報量を低減できるため、ＬＡＮテーブルの実現に要するハードウェア量を低減できることになる。また、ＬＡＮテーブルの検索が高速に行えることにもなるので、本構成を採用すれば、スイッチング速度の早いスイッチングハブが実現できる。
【００２５】
また、本発明の第２のスイッチングハブに、世代情報とＭＡＣアドレスの対応関係が記憶される世代情報テーブルを付加するとともに、受信フレーム調整部として、世代情報フィールドを含むタグフィールドを対象フレームに付加する部を採用し、第３供給部として、対象フレームの宛先ＬＡＮ番号フィールドにブロードキャスト番号が設定されていない場合には、宛先ＬＡＮ番号フィールドと、世代情報フィールドの内容を、それぞれ、ブロードキャスト番号と、所定手順で決定した世代情報に書き換えた対象フレームをブロードキャストするとともに、決定した世代情報と対象フレーム内の送信元ＭＡＣアドレスの対応関係を世代情報テーブルに登録し、第０読出試行部として、対象フレーム内の宛先ＬＡＮ番号フィールドにブロードキャスト番号が設定されていた場合には、その対象フレームに設定されている送信元ＭＡＣアドレスに対応づけられている世代情報の、世代情報テーブルからの読み出しを試み、対象フレームの世代情報フィールドに記憶された世代情報である対象世代情報と同じ内容の世代情報が読み出された場合には、対象フレームを破棄し、対象世代情報と異なる内容の世代情報が読み出された場合、及び、世代情報が読み出されなかった場合には、対象フレーム内の送信元ＭＡＣアドレスに対応する世代情報として対象世代情報が記憶されるように、世代情報テーブルの内容を更新するものを採用ことも出来る。
【００２６】
このような構成を有するスイッチングハブを用いれば、他のスイッチングハブにおけるフレームのブロードキャストによって、各スイッチングハブが複数個のフレームを受け取ってしまうような形状のネットワークを構成した場合にも、個々のスイッチングハブにおいて、２回目以降に入力される、ブロードキャストによって生じたフレームが破棄されることになる。すなわち、本スイッチングハブを用いれば、どのような形状のネットワークをも構築できることになる。
【００２７】
また、本発明の第２のスイッチングハブを構成する際には、バッファ制御部として、受信フレーム調整部が出力したフレームを、バッファメモリに格納できない場合、そのフレームとバッファメモリに記憶されているフレームの中から選択した１つのフレームを破棄するとともに、破棄したフレーム内に設定されていた宛先ＭＡＣアドレスを輻輳発生データとして有し、輻輳が起こったことをフレームを送出した端末に通知するためのコリジョンフレームを生成し、生成したコリジョンフレームを送受信部に供給する部を用い、第０読出試行部は、対象フレームがコリジョンフレームであった場合、ＬＡＮテーブルから、そのコリジョンフレーム内の輻輳発生データが示すＭＡＣアドレスに関するデータを消去する部を用いることが望ましい。
【００２８】
また、アドレステーブル等を採用した上で、ＬＡＮテーブル学習部として、選択部によって選択された入出力ポートのポート番号がアドレステーブルに記憶されておらず、かつ、第１供給部ないし第３供給部によって対象フレームが供給される入出力ポートのポート番号がアドレステーブルに記憶されている場合には、ＬＡＮテーブルに、対象フレーム内の送信元ＬＡＮ番号フィールドに設定されているＬＡＮ番号と、選択部によって選択された入出力ポートのポート番号と、対象フレーム内に設定されている送信元ＭＡＣアドレスの組み合わせをＬＡＮテーブルに記憶し、選択部によって選択された入出力ポートのポート番号がアドレステーブルに記憶されておらず、かつ、第１供給部ないし第３供給部によって対象フレームが供給される入出力ポートのポート番号がアドレステーブルに記憶されていない場合には、ＬＡＮテーブルに、対象フレーム内の送信元ＬＡＮ番号フィールドに設定されているＬＡＮ番号と、選択部によって選択された入出力ポートのポート番号の組み合わせをＬＡＮテーブルに記憶する部を用いれば、より、ＬＡＮテーブルの記憶される情報量が少ないスイッチングハブを実現できる。すなわち、安価な、しかも、極めてスイッチング速度の早いスイッチングハブを実現できることになる。
【００２９】
さらに、本構成を採用した場合には、ＬＡＮテーブル内には、自ＬＡＮに属する端末と通信したことのある端末のＭＡＣアドレスだけが記憶される。このため、上記のように動作するＬＡＮテーブル学習部を用いた上で、第０読出試行部として、対象フレーム内に設定されている宛先ＭＡＣアドレスがブロードキャストフレームであることを示す情報であった場合、その宛先ＭＡＣアドレスと、ＬＡＮテーブルに記憶されている情報に基づき、対象フレームの送出元端末と通信を行った可能性がある入出力ポートを特定し、特定した入出力ポートに対象フレームをブロードキャストする部を用いれば、トラヒック量を無駄に増大させることなく、上位プロトコルによるブロードキャストフレームに対処できるスイッチングハブが構成できることになる。
【００３０】
さらに、第０読出試行部として、対象フレーム内に設定されている宛先ＭＡＣアドレスがブロードキャストフレームであることを示す情報であり、かつ、対象フレーム内に設定されているタイプ情報が、ＭＡＣアドレスを問い合わせるプロトコルであることを示すものであった場合、ＬＡＮテーブルの内容に依らず、複数の入出力ポートに対象フレームをブロードキャストするものを用いれば、ＡＲＰ等のＭＡＣアドレスの問い合わせプロトコルにも対応できるスイッチングハブを得ることが出来る。
【００３１】
【発明の実施の形態】
以下、図面を参照して、本発明の一実施形態を具体的に説明する。
図１に示したように、実施形態のスイッチングハブ１０は、複数のポート１１とスイッチ部１２と記憶部１３を主な構成要素として備える。実施形態のスイッチングハブ１０は、イーサタイプを有するフレームによる通信のために用いられる機器であり、本スイッチングハブ１０を用いて、ＬＡＮ間通信が可能なネットワークを構築する際には、各ポート１１に、通信回線を介して、端末、あるいは、スイッチングハブ１０と同構成のスイッチングハブが接続される。
【００３２】
記憶部１３は、ポート１１およびスイッチ部１２によってアクセスされるメモリであり、記憶部１３には、ＬＡＮテーブル、アドレステーブル、サービスクラステーブル、世代情報テーブル等が記憶される。また、記憶部１３は、ユニークなＬＡＮ番号（自ＬＡＮ番号）も記憶している。なお、実際のスイッチングハブ１０は、ＶＬＡＮ機能を有している（記憶部１３に複数のＬＡＮ番号が設定できる）のであるが、以下では、説明の便宜上、記憶部１３に１個のＬＡＮ番号が記憶されている（スイッチングハブ１０に接続される端末は、全て同一のＬＡＮに属する）ものとする。
【００３３】
記憶部１３内の各テーブルに記憶されるデータの詳細については後述するが、サービスクラステーブルには、通信品質の制御のためのデータであるサービスクラスが、イーサタイプに対応づけて記憶される。サービスクラステーブルの設定は、ネットワーク（スイッチングハブ１０）の運用を開始する前に、ネットワーク管理者によって行われ、サービスクラステーブルの内容は、ポート１１によって利用される。また、ＬＡＮテーブル、アドレステーブルには、スイッチ部１２が利用するデータが記憶される。ＬＡＮテーブルへのデータの書き込みは、ネットワークの運用開始後、フレームをスイッチングしたスイッチ部１２によって行われる。そして、アドレステーブルへのデータの書き込みは、ネットワークの運用開始後、フレームを受信したポート１１によって行われる。
【００３４】
以下、各部の構成、動作を詳細に説明する。まず、スイッチングハブ１０が備える各ポート１１の構成、動作を説明する。
図２に示したように、スイッチングハブ１０内の各ポート１１は、フレーム送受信部２１と受信フレーム検査部２２とバッファ２３とバッファ制御部２４と送信フレーム検査部２５とを備える。フレーム送受信部２１は、通信回線を介して、外部機器（端末あるいは他のスイッチングハブ内のポート）と接続され、フレームを受信した際、そのフレームを、信号形態を変換した上で、受信フレーム検査部２２に供給する。また、送信フレーム検査部２５を介して、スイッチ部２５からのフレームを受け取った際、フレーム送受信部２１は、そのフレームを、信号形態を通信回線用のものに変換した上で、通信回線上に送出する。
【００３５】
既に説明したように、スイッチングハブ１０は、イーサタイプを有しているフレームによる通信のための機器であるため、端末に、直接、接続されているフレーム送受信部２１（ポート１１）は、図３あるいは図４に示したように、イーサタイプ（ユーザ・データ・フィールドに格納されているデータのプロトコルを示す識別子）を記憶するためのフィールド（図においてタイプと表記してある領域）を有するフレームを受信する。なお、図３に示したフレームは、ＤＩＸ仕様のフレームであり、図４に示したフレームは、ＩＥＥＥ８０２．３仕様の、ＳＮＡＰフォーマットを採用したフレームである。
【００３６】
一方、スイッチングハブ１０内、あるいは、２台のスイッチングハブ１０間では、高速な通信と、通信内容に応じた通信品質制御を実現するため（詳細は後述）、図５に示したような、端末からのフレームに、ＶＬＡＮタグと名付けた１２バイトの情報を付加したフレーム（以下、ＶＬＡＮタグ付きフレーム、あるいは、タグ付きフレームとも表記する）がやり取りされる。なお、図５に示したＶＬＡＮタグ付きフレームは、図３に対応するものである。また、ＶＬＡＮタグを構成している各データの意味、用途についての説明は後ほど行う。
【００３７】
このようなＶＬＡＮタグ付きフレームを生成する回路が、フレーム送受信部２１に接続されている受信フレーム検査部２２である。上述したように、受信フレーム検査部２２（ポート１１）は、端末と接続されることも、他のスイッチングハブ内のポートと接続されることもある。また、受信フレーム検査部２２（ポート１１）は、自身が、通常のフレームを受信するか、ＶＬＡＮタグ付きフレームを受信するかを知らない状態（端末が接続されているか、他のポートが接続されているかを知らない状態）で、動作を開始する。
【００３８】
このため、受信フレーム検査部２２は、フレーム送受信部２１からフレームを受け取った際、そのフレームがＶＬＡＮタグ付きフレームであるか否かを判断し、ＶＬＡＮタグ付きフレームでなかった場合には、受け取ったフレームにＶＬＡＮタグを付加し、ＶＬＡＮタグを付加したフレームをバッファ２３に供給する。ＶＬＡＮタグ付きフレームを受け取った際には、当該フレームを、そのまま、バッファ２３に供給する。また、フレームをバッファ２３に供給する際、受信フレーム検査部２２は、バッファ制御部２４に、当該フレームの管理手順（通信品質制御手順）を指定するための情報を通知する処理も行う。バッファ制御部２４は、その情報を用いて、フレームをバッファ２３へ格納する。また、バッファ制御部２４は、スイッチ部１２から、フレームの出力指示を受けたときに、当該情報を用いて、バッファ２３に格納されているフレームのなかから、スイッチ部１２に供給する１つのフレームを決定する。
【００３９】
より具体的には、図６に示したように、受信フレーム検査部２２は、フレーム送受信部２１からフレームを受け取った際、そのフレームの先頭部分の内容を読み出すことによって、当該フレームが、タグ付きフレームであるか否かの判断を行うとともに、後の処理に必要なデータを取得する（ステップＳ１０１）。このステップにおいて、受信フレーム検査部２２は、ＶＬＡＮタグが付加されていなかった場合には、フレーム内に設定されている、送信元アドレスとイーサタイプ（図３参照）を取得する。一方、ＶＬＡＮタグが付加されていた場合には、送信元アドレスとイーサタイプと、ＶＬＡＮタグ内のサービスクラス（図５参照）を取得する。
【００４０】
フレーム送受信部２１からのフレームが、タグ付きフレームでなかった場合（ステップＳ１０２；Ｙ）、受信フレーム検査部２２は、自身が端末に直接接続されていることを記憶する（ステップＳ１０３）。また、このステップにおいて、受信フレーム検査部２２は、ステップＳ１０１で取得した送信元アドレスによって識別される端末を収容していることを示す情報を、記憶部１３内のアドレステーブルに設定する処理も行う。図７に模式的に示したように、アドレステーブルは、ＭＡＣアドレスによってポート番号を検索できる形態のテーブルとなっており、ステップＳ１０３において、受信フレーム検査部２２は、自身を示すポート番号とステップＳ１０１で取得した送信元アドレス（ＭＡＣアドレス）を、アドレステーブル内に設定する。
【００４１】
次いで、受信フレーム検査部２２は、ステップＳ１０１で取得したイーサタイプに対応するサービスクラスを、サービスクラステーブルから検索する（ステップＳ１０４）。
【００４２】
図８に示したように、サービスクラステーブルは、イーサタイプ（ＳＮＡ、ＩＰ、…）と、それぞれ、サービスクラスＸとサービスクラスＹからなるサービスクラス（１・１、５・１、…）との対応関係が記憶されたテーブルとなっている。なお、“・”の左右に記してある値が、それぞれ、サービスクラスＸ、Ｙに相当している。
【００４３】
後述するように、スイッチングハブ１０は、フレームの破棄を行わなければならない状況に至ったとき、サービスクラスＹが大きなサービスクラスを有するフレームを破棄する。また、通常の状況では、サービスクラスＹが小さなフレームを優先的にスイッチングする。このため、ネットワーク管理者は、スイッチングハブ１０の運用開始前に、フレームの遅延に寛容なイーサタイプ（ＩＰ、ＡＲＰ等）が、大きなサービスクラスＸに対応づけられ、廃棄に寛容なイーサタイプ（ＡＵＴＯＰＨＯＮＥ）が、小さなサービスクラスＹを対応づけられるように、このサービスクラステーブルに情報を設定しておく。
【００４４】
サービスクラステーブルの検索後、受信フレーム検査部２２は、宛先ＶＬＡＮ番号（宛先ＬＡＮ番号＋世代情報）として、“オール０”を設定し、送信元ＬＡＮ番号として、自ＬＡＮ番号を設定し、サービスクラスとして、ステップＳ１０４で検索したサービスクラスを設定したＶＬＡＮタグをフレームに付加する（ステップＳ１０５）。なお、このステップで設定された世代情報は、この後、参照されることがない（内容の更新後、参照される）。このため、このステップにおいて、どのような値を設定しても良いのであるが、実施形態のスイッチングハブ１０では、上記のように、“０”を設定している。
【００４５】
このような一連の処理を行った後、受信フレーム検査部２２は、サービスクラスＸ、Ｙを、バッファ制御部２４に通知するとともに、生成したＶＬＡＮタグ付きフレームをバッファ２３に供給する。
【００４６】
また、ＶＬＡＮタグが付加されたフレームを受信した場合（ステップＳ１０２；Ｎ）、受信フレーム検査部２２は、端末を、直接、収容していないことを記憶し（ステップＳ１０６）、当該フレーム内のサービスクラスＸ、Ｙを、バッファ制御部２４に通知するとともに、フレーム送受信部２１から受け取ったＶＬＡＮタグ付きフレームをバッファ２３に供給する。
【００４７】
一方、サービスクラスＸ，Ｙの通知を受けたバッファ制御部２４は、フレームをバッファ２３に格納し、バッファの使用率θ（フレームの格納に使用されている記憶容量／全記憶容量）を算出する（ステップＳ１０７）。なお、このステップにおいて、フレームをバッファに格納する際、バッファ制御部２４は、内蔵する管理情報用メモリ内に、フレームの格納領域を示す情報を、サービスクラスＸ、Ｙと、フレームの相対的な格納順（時間的な格納順）と対応づけて記憶する。
【００４８】
また、図示は省略したが、バッファ制御部２４は、このステップにおいて、受信フレーム検査部２２からのフレームを破棄する場合もあり、バッファ２３内に格納されている、他のフレームを破棄して、受信フレーム検査部２２からのフレームを格納する場合もある。
【００４９】
具体的には、管理情報用メモリ内に記憶された情報を用いた空き領域の検索によって、受信フレーム検査部２２からのフレームを格納できる空き領域が見いだせなかった場合、バッファ制御部２４は、ステップＳ１０７において、管理情報用メモリ内に記憶されている各フレームに関するサービスクラスＹの最大値を特定し、特定した最大値と、受信フレーム検査部２２から通知されたサービスクラスＹの大きさを比較する。そして、当該最大値が、通知されたサービスクラスＹ以下であった場合には、今回、受信フレーム検査部２２から供給されたフレームを破棄する。
【００５０】
一方、当該最大値が、通知されたサービスクラスＹよりも大きかった場合、バッファ制御部２４は、サービスクラスＹとして、その最大値を有し、最も最近格納されたフレームを特定する。次いで、特定したフレームをバッファ２３内から消去して、今回、与えられたフレームをバッファ２３に格納する。
【００５１】
すなわち、バッファ制御部２４は、受信フレーム検査部２２からのフレームを格納できる空き領域が見いだせなかった場合、最も廃棄に寛容な（サービスクラスＹが大きい）フレームを廃棄する。
【００５２】
さらに、フレームの破棄を行ったとき、バッファ制御部２４は、破棄したフレームの送信元に対するコリジョン信号フレームの送出を、送信フレーム検査部２５に指示する（詳細は後述）。
【００５３】
また、バッファ制御部２４は、スイッチ部１１から、フレームの出力指示を受けたときに、図９に示した手順で動作することによって、バッファ２３内に記憶された１つのフレームをスイッチ部１１に供給する。
【００５４】
すなわち、フレームの出力指示を受けたとき、バッファ制御部２４は、まず、バッファの使用率θが、予め定められたしきい値θ０以上であるか否かを判断する（ステップＳ２０１）。そして、θ＜θ０であった場合（ステップＳ２０１；Ｎ）、バッファ制御部２４は、管理情報用メモリに記憶してある情報に基づき、最も小さいサービスクラスＸが対応づけられた、最も過去にバッファ２３に格納されたフレームの格納領域を特定する（ステップＳ２０２）。一方、θ≧θ０であった場合（ステップＳ２０１；Ｙ）、バッファ制御部２４は、管理情報用メモリに記憶してある情報に基づき、最も小さいサービスクラスＹが対応づけられたフレームの中から、最も小さいサービスクラスＸが対応づけられたフレームであって、最も過去にバッファ２３に格納されたフレームの格納領域を特定する（ステップＳ２０３）。
【００５５】
そして、バッファ制御部２４は、ステップＳ２０２あるいはステップＳ２０３で特定した格納領域に記憶されたＶＬＡＮタグ付きフレームを、スイッチ部１２に供給（ステップＳ２０４）する。次いで、バッファの使用率θの値を更新（ステップＳ２０５）して、図示した処理を終了する。
【００５６】
このように、バッファ制御部２４は、バッファ２３に十分な空き領域が存在しているとき（θ＜θ０）には、サービスクラスＸの値が小さいフレーム、すなわち、遅延に寛容ではないフレームを優先的にスイッチ部１２に供給する。そして、フレームの廃棄が生じそうな状態にあるとき（θ≧θ０）には、サービスクラスＹの値が小さいフレーム、すなわち、廃棄に寛容ではないフレームを優先的にスイッチ部１２に供給する。この結果、バッファ２３内には、廃棄に寛容なフレームが残ることになるので、実施形態のスイッチングハブ１０では、上述したフレーム廃棄時に、廃棄に寛容なフレームが廃棄されることになる。
【００５７】
送信フレーム検査部２５は、バッファ制御部２４からコリジョン信号フレームの送出を指示された際には、破棄されるフレーム内の送信元アドレスが宛先アドレスとして設定された、当該フレーム内の宛先アドレスを輻輳発生宛先アドレスデータとして有するコリジョン信号フレームを送信させるためのデータをフレーム送受信部２１に供給する。
【００５８】
また、送信フレーム検査部２５は、スイッチ部１１からフレーム（常にタグ付き）が供給された場合、受信フレーム検査部２２によって端末に直接接続されていることが認識されていた場合には、そのフレームからＶＬＡＮタグを除去し、通常の形態のフレームを生成する。そして、その通常の形態のフレームを、フレーム送受信部２１を介して、端末に供給する。一方、受信フレーム検査部２２によって端末に直接接続されていないことが認識されていた場合、受信フレーム検査部２２は、スイッチ部１１からのタグ付きフレームをそのままフレーム送受信部２１を介して他のスイッチングハブに供給する。
【００５９】
以上説明したように、スイッチングハブ１０内の各ポート１１は、端末に接続されているか否かによって異なる動作をするように構成されている。このため、本スイッチングハブを組み合わして構成されたネットワークでは、図１０に模式的に示したように、端末とスイッチングハブの間では、通常の形態のフレームが授受され、スイッチングハブ間では、タグ付きフレームが授受される。
【００６０】
次に、スイッチ部１２の動作を説明する。
スイッチ部１２は、自らの配下にある複数のポート１１に対して、ラウンドロビン形式で、順次（１フレームに対する処理が終わる度に）、フレームの出力指示を出す。
【００６１】
出力指示を出したポート１１から、フレームが供給された際、スイッチ部１２は、図１１に示したように、まず、そのフレームに含まれている宛先アドレス（ＭＡＣアドレス）と、ＶＬＡＮタグの内容（宛先ＬＡＮ番号、送信元ＬＡＮ番号）とを取得する（ステップＳ３０１）。
【００６２】
宛先ＬＡＮ番号が“オール１”であった場合（ステップＳ３０２；オール１）、スイッチ部は、ブロードキャストフレーム応答処理と名付けた処理を実行する。ブロードキャストフレーム応答処理の詳細については後述するが、この処理は、上位プロトコルによるブロードキャストフレームに対応するためのものではなく、フレームを受信すべき端末の位置が判らないときに使用されるブロードキャストフレームに対応するための処理である。ちなみに、本スイッチングハブは、データをブロードキャストする上位プロトコルをもサポートできるようにも構成されており、そのサポートのために用意されている処理（以下では、サポート処理と表記する）についても後述することにする。なお、図示は省略したが、サポート処理を実行するか否かの判断は、ステップＳ３０１とＳ３０２の間で、フレーム内の宛先アドレス（宛先ＬＡＮ番号ではない）が“オール１”であるか否かを判断することによって行われている。
【００６３】
さて、ステップＳ３０１で取得した宛先ＬＡＮ番号が“オール０”であった場合（ステップＳ３０２；オール０）、スイッチ部１２は、まず、ステップＳ３０１で取得した宛先アドレスを用いてアドレステーブルを検索することによって、ポート番号の読み出しを試みる（ステップＳ３０３）。そして、アドレステーブルの検索に成功した場合（ステップＳ３０３；Ｙ）、すなわち、宛先アドレスに対応するポート番号が読み出せた場合、そのポート番号によって識別されるポート１１にフレームをスイッチング（ステップＳ３０９）し、処理を終了する。
【００６４】
一方、アドレステーブル内に宛先アドレスに関するデータが存在していなかった場合（ステップＳ３０４；Ｎ）、スイッチ部１１は、宛先アドレスを用いてＬＡＮテーブルを検索する（ステップＳ３０５）。
【００６５】
図１２に示したように、ＬＡＮテーブルは、ポート番号とＬＡＮ番号の組み合わせに対して、幾つか（０個の場合もある）のＭＡＣアドレスが記憶されるテーブルとなっており、ステップＳ３０５において、スイッチ部１２は、このＬＡＮテーブルから、宛先アドレス（ＭＡＣアドレス）に対応するＬＡＮ番号とポート番号の読み出しを試みる。
【００６６】
ＬＡＮ番号並びにポート番号の読み出しが行えた場合（ステップＳ３０６；Ｙ）、スイッチ部１２は、それまで、“オール０”が設定されていた宛先ＬＡＮ番号フィールドに、検索したＬＡＮ番号を設定する（ステップＳ３０７）。そして、ＬＡＮテーブル学習処理を行う（ステップＳ３０８）。
【００６７】
ＬＡＮテーブル学習処理は、今回、スイッチング（ブロードキャスト）を行うフレームによって与えられた他ＬＡＮとの接続形態に関する情報をＬＡＮテーブルに追加する処理であり、基本的には、以下のような手順で進められる。
【００６８】
まず、スイッチ部１２は、処理対象フレームの送信元ＬＡＮが他ＬＡＮであることを確認する。送信元ＬＡＮが自ＬＡＮであった場合、スイッチ部は、ＬＡＮテーブルの内容を何ら変更することなく、ＬＡＮテーブル学習処理を終了する。送信元ＬＡＮが他ＬＡＮであった場合、スイッチ部は、処理対象フレームが他ＬＡＮに対するものであるか否かを判断する。すなわち、スイッチ部は、処理対象フレームを、他のスイッチングハブに供給するのか、自ＬＡＮに属する端末に供給するのかを判断する。そして、前者であった場合、スイッチ部は、ＬＡＮテーブルに、処理対象フレームを取り出したポートのポート番号と、処理対象フレーム内に設定されている送信元ＬＡＮ番号の組み合わせを登録する。一方、後者であった場合、スイッチ部は、ＬＡＮテーブルに、処理対象フレームを取り出したポートのポート番号と、処理対象フレーム内に設定されている送信元ＬＡＮ番号と、送信元アドレスの組み合わせを登録する。
【００６９】
このような手順でＬＡＮテーブル学習処理を実行した後、スイッチ部は、テーブル検索によって特定されたポートにフレームをスイッチング（ステップＳ３０９）して、図示した処理を終了する。
【００７０】
また、ステップＳ３０５におけるＬＡＮテーブル検索時に、宛先アドレスを有するデータがなかった場合（ステップＳ３０６；Ｎ）、スイッチ部１２は、ＬＡＮテーブル学習処理を実行（ステップＳ３３０）した後、処理対象フレームの宛先ＬＡＮ番号フィールドと世代情報フィールドに、それぞれ、ブロードキャスト番号（オール１）と、所定のアルゴリズムを用いて発生した乱数を、設定する（ステップＳ３３１）。そして、宛先アドレスによって識別される端末（目的端末）を収容している可能性があるポート群（アドレステーブルにポート番号が記憶されていないポート群）に、フレームをブロードキャスト（ステップＳ３３２）して、処理を終了する。
【００７１】
また、ステップＳ３０１で取得した宛先ＬＡＮ番号が“オール１”でもなく“オール０”でもなかった場合（ステップＳ３０２；その他）、スイッチ部１１は、その宛先ＬＡＮ番号が自ＬＡＮ番号と一致しているか否か、すなわち、フレームの宛先が自ＬＡＮであるか否かを判断する（ステップＳ３２０）。フレームの宛先が自ＬＡＮであった場合（ステップＳ３２０；Ｙ）、スイッチ部１２は、宛先アドレスを用いてアドレステーブルを検索し、その宛先アドレスによって識別される端末を収容しているポート（ポート番号）を特定する（ステップＳ３２１）。そして、ステップＳ３０８に進み、既に説明した処理を実行する。
【００７２】
一方、宛先が自ＬＡＮでなかった場合（ステップＳ３２０；Ｎ）、宛先ＬＡＮ番号を用いてＬＡＮテーブルを検索することによって、目的端末を収容しているポートのポート番号の特定を試みる（ステップＳ３２２）。そして、ポート番号が検索できた場合には、ステップＳ３０８において、ＬＡＮテーブル学習処理を実行した後、検索したポートにフレームをスイッチング（ステップＳ３０９）して、処理を終了する。そして、ＬＡＮテーブルからのポート番号の検索に失敗した場合（ステップＳ３２３；Ｎ）、スイッチ部は、ステップＳ３３０に進み、既に説明した処理を実行する。
【００７３】
ここで、図１３に示したように、４つのスイッチングハブＳＨ１〜ＳＨ４と、それぞれ、ＭＡＣアドレスＡ〜Ｉを有する端末Ａ〜端末Ｉによってネットワークが形成されており、ＳＨ１、ＳＨ４、ＳＨ２内のＬＡＮテーブルの内容が図示したものとなっているときに、ＬＡＮ１に属する端末Ａが、ＬＡＮ２に属する端末Ｆへのフレーム（宛先アドレスＦ、送信元アドレスＡを有するフレーム）を送出した場合を例に、スイッチ部１２の動作の補足説明を行うことにする。なお、当該場合は、端末Ｆの送出したフレームを受信した端末Ａが、端末Ｆに対して応答する場合に相当する。
【００７４】
この場合、ポートＰ１は、端末Ａから、ＶＬＡＮタグが付加されていないフレームを受信する。このため、ポートＰ１は、当該フレームに、宛先ＬＡＮ番号を“オール０”、送信元ＶＬＡＮ番号を“ＬＡＮ１”としたＶＬＡＮタグを付加し、そのＶＬＡＮタグを付加したフレームを、ＳＨ１内のスイッチ部（図示せず）に供給する。
【００７５】
そのようなＶＬＡＮタグ付きフレームが供給されたスイッチ部は、ステップｓ３０１において、宛先アドレスが“Ｆ”であること、宛先ＬＡＮ番号が“オール０”であることを認識する。そのため、ステップＳ３０２において、“オール０”側への分岐を行い、ステップＳ３０３において、アドレステーブルからの、宛先アドレス“Ｆ”に対応するポート番号の読み出しを試みる。
【００７６】
端末Ｆは、ＳＨ２に収容された端末であるため、ＳＨ１内のアドレステーブルには、ＭＡＣアドレス“Ｆ”に関するデータは存在していない。このため、スイッチ部は、ＬＡＮテーブルからの宛先アドレスに対応するＬＡＮ番号並びにポート番号の読み出しを試みる（ステップＳ３０５）。この場合、ＬＡＮテーブル内に、ＭＡＣアドレス“Ｆ”に対応づけて、ＬＡＮ番号“ＬＡＮ２”とポート番号“Ｐ４”とが記憶されているので、スイッチ部は、“オール０”であった宛先ＬＡＮ番号フィールドに、ＬＡＮ番号“ＬＡＮ２”を設定（ステップＳ３０７）する。そして、送信元ＬＡＮが、自ＬＡＮであるため、ＬＡＮテーブルの更新を行うことなく、そのフレームを、ポートＰ４に供給する（ステップＳ３０９）。
【００７７】
ポートＰ４は、過去に、ＶＬＡＮタグ付きフレームを受け取っている（ＬＡＮテーブルにＰ４に関するデータがある）ので、自身が端末とは接続されていないことを認識している。このため、ポートＰ４は、ＶＬＡＮタグを除去することなく、スイッチ部１２からのフレームを回線上に送出する。
【００７８】
ポートＰ４から送出されたフレーム（ＶＬＡＮタグ付きフレーム）は、ＳＨ４内のポートＰ５を介して、ＳＨ４内のスイッチ部に供給される。なお、既に説明したように、ポートＰ５（のバッファ）内における当該フレームの管理は、ＳＨ１においてＶＬＡＮタグ内に設定されたサービスクラスＸ、Ｙを用いて行われる。
【００７９】
ＳＨ４内のスイッチ部は、ステップＳ３０１において、宛先アドレス“Ｆ”、宛先ＬＡＮ番号“ＬＡＮ２”を取得する。このため、スイッチ部は、ステップｓ３２０に進み、宛先が自ＬＡＮ（すなわち、“ＬＡＮ４”）であるか否かを判断する。この場合、宛先は他ＬＡＮであるので、スイッチ部は、ステップＳ３２０において“Ｎ”側への分岐を行う。そして、ステップＳ３２２において、宛先ＬＡＮ番号“ＬＡＮ２”を用いて、ＬＡＮテーブルを検索し、ポート番号“Ｐ７”を得る。
【００８０】
次いで、スイッチ部は、ＬＡＮテーブル学習処理を実行し、送信元ＬＡＮが他ＬＡＮであり、また、ポートＰ７は、直接、端末が接続されたポートではないので、自スイッチングハブ内のＬＡＮテーブルに、送信元ＬＡＮ番号“ＬＡＮ１”と、フレームが受信されたポートのポート番号“Ｐ５”との対応関係を記憶する。すなわち、スイッチ部は、フレームが、他ＬＡＮに対するものであるので、ＬＡＮテーブルへのＭＡＣアドレスの登録は行わず、ＳＨ４内のＬＡＮテーブルの内容を、図１４に示したものに変更する。その後、スイッチ部は、検索によって特定したポートＰ７に、フレームを供給する。
【００８１】
ポートＰ７、ＳＨ２内のポートＰ８は、それぞれ、ポートＰ４、ポートＰ５と同様に動作する。その結果として、ＳＨ２内のスイッチ部に、ＳＨ４内のスイッチ部がポートＰ８に対して出力したフレーム（宛先ＬＡＮ番号＝“ＬＡＮ２”、宛先アドレス＝“Ｆ”）がそのまま供給される。
【００８２】
ＳＨ２内のスイッチ部は、宛先ＬＡＮ番号が、“オール０”、“オール１”のいずれでもないことから、ステップＳ３２０を実行する。そして、ステップＳ３２０において、宛先が自ＬＡＮであることを認識する。このため、ステップＳ３２２ではなく、ステップＳ３２１を実行する。すなわち、フレームに設定された宛先アドレスを用いて、ＳＨ２内のアドレステーブルから、その宛先アドレスに対応づけられたポート番号を読み出す。この場合、ポート番号“Ｐ１１”が読み出されることになるので、スイッチ部は、そのポート番号によって識別されるポートＰ１１に、ＶＬＡＮタグ付きフレームを供給する。
【００８３】
また、送信元ＬＡＮが他ＬＡＮであるので、ＳＨ２内のスイッチ部は、ＬＡＮテーブルの更新も行う（ステップＳ３０８）。この際、スイッチ部は、宛先ＬＡＮが自ＬＡＮであるので、ＬＡＮテーブルに、ＭＡＣアドレスをも登録する。すなわち、スイッチ部は、ＳＨ２内のＬＡＮテーブルの内容を、図１５に示したものに変更する。
【００８４】
ポートＰ１１は、自ポートが端末を直接収容しているポートであるため、スイッチ部からフレームが供給された際、そのフレームからＶＬＡＮタグの除去を行う。そして、ポートＰ１１は、ＶＬＡＮタグを除去した、通常の形態のフレームを端末Ｆに送信する。
【００８５】
このように、ある端末（図１３では、端末Ｆ）の送出したフレームが、通信先端末（端末Ａ）に到達していた場合、スイッチングハブ１０を用いて構成されたネットワークでは、ブロードキャストが行われることなく、通信先端末からのフレームが、その通信先端末への通信を開始した端末に到達する。
【００８６】
次に、図１３に示した状況下（端末Ｄから端末Ａへの通信が過去に行われていない状況下）、端末Ａから端末Ｄ宛のフレームが送出された場合を考える。
この場合、上述した場合と同様に、ポートＰ１は、端末Ａからのフレームに、宛先ＬＡＮ番号を“オール０”、送信元ＶＬＡＮ番号を“ＬＡＮ１”としたＶＬＡＮタグを付加し、そのＶＬＡＮタグ付きフレームを、ＳＨ１内のスイッチ部に供給する。
【００８７】
そのようなＶＬＡＮタグ付きフレームが供給されたスイッチ部は、ステップｓ３０１において、宛先アドレスが“Ｄ”であること、宛先ＬＡＮ番号が“オール０”であることを認識する。このため、ステップＳ３０２において、“オール０”側への分岐を行い、ステップＳ３０３において、アドレステーブルからの、宛先アドレス“Ｄ”に対応するポート番号の読み出しを試みる。端末Ｄは、ＳＨ２に収容された端末であるため、ＳＨ１内のアドレステーブルには、ＭＡＣアドレス“Ｄ”に関するデータは存在していない。
【００８８】
このため、スイッチ部は、ＬＡＮテーブルからの宛先アドレスに対応するＬＡＮ番号並びにポート番号の読み出しを試みる（ステップＳ３０５）。この場合、ＬＡＮテーブル内に、ＭＡＣアドレス“Ｄ”に関係するデータは存在していないため、スイッチ部は、ステップＳ３１０以降の処理を実行する。すなわち、ＳＨ１内のスイッチ部は、宛先ＬＡＮ番号フィールド、世代情報フィールドに、それぞれ、ブロードキャスト番号“オール１”と乱数を設定し、目的端末を収容している可能性があるポート群に、当該フレームをブロードキャストする。このケースでは、目的端末を収容している可能性があるポートは、ポートＰ４だけであるので、スイッチ部は、ポートＰ４だけに、ブロードキャスト番号を設定したフレームを供給する。
【００８９】
ポートＰ４，Ｐ５の動作の結果、ＳＨ４内のスイッチ部には、ＳＨ１内のスイッチ部からポートＰ４に供給されたフレームがそのまま供給される。このため、ＳＨ４内のスイッチ部は、ステップＳ３０２において、“オール０”側への分岐を実行し、ブロードキャストフレーム応答処理を開始する。
【００９０】
以下、ブロードキャストフレーム応答処理についての説明を行う。まず、ブロードキャスト用応答処理の概要（存在理由）を説明する。
上述したように、本スイッチングハブ１０内のスイッチ部は、フレームを供給すべきポートが判らない場合、目的端末が存在する可能性のある各ポートに、宛先ＬＡＮ番号としてブロードキャスト番号“オール１”を設定したフレームを供給する。
【００９１】
ここで、宛先ＬＡＮ番号としてブロードキャスト番号“オール１”が設定されたフレームを受信したとき、“オール０”時と同様の処理が実行されるように、スイッチングハブが構成されていたものとし、そのようなスイッチングハブによって、図１６に示したような、メッシュ状（複数のルートが利用可能な２端末が存在する形状）のネットワークが形成された場合を考える。
【００９２】
この場合、ＬＡＮ１に属する端末がＬＡＮ４に属する端末へのフレームを送出したとき、図中、矢印で示したあるように、ＬＡＮ１から、ＬＡＮ３とＬＡＮ４に対して、それぞれ、同じ内容のフレームが送出される。そして、ＬＡＮ１からのフレームを受信したＬＡＮ３から、ＬＡＮ２とＬＡＮ４に対して、同じ内容のフレームが送出される。同様に、ＬＡＮ２から、ＬＡＮ３とＬＡＮ４に対してのフレーム送出も行われるので、ＬＡＮ４には、４つのフレームが到達してしまう。
【００９３】
ブロードキャストフレーム応答処理は、このような現象の発生を防止するために設けられている処理であり、この処理時、スイッチ部は、図１７、１８に示した流れ図に従って動作する。
【００９４】
図１７に示したように、スイッチ部は、まず、世代情報テーブルからの、送信元アドレス（ステップＳ３０１で取得している）に対応づけられている世代情報の読み出しを試みる（ステップＳ４０１）。なお、世代情報テーブルは、受信されたブロードキャストフレームに含まれる、送信元アドレスと、世代情報フィールドに設定された情報（ステップＳ３３１で設定される乱数）との対応関係を記憶するためのテーブルであり、ブロードキャストフレーム応答処理が一度も実行されていないスイッチングハブ内の世代情報テーブルは、何ら情報を記憶していないテーブルとなっている。
【００９５】
世代情報テーブルに、送信元アドレスに関するデータが記憶されていなかった場合（ステップＳ４０２；Ｎ）、スイッチ部は、世代情報テーブルに、処理対象となっているフレームに設定されている、送信元アドレスと世代情報（乱数）の組み合わせを登録する（ステップＳ４０３）。そして、そのフレームを供給するポートを特定するための処理（図１８；詳細は後述）を開始する。
【００９６】
一方、世代情報テーブルから、処理対象となっているフレーム内の送信元アドレスに対応づけられた世代情報を読み出せた場合（ステップＳ４０２；Ｙ）、その世代情報が、フレーム内に設定されていた世代情報と一致しているか否かを判断する（ステップＳ４０４）。そして、両世代情報が同じものであった場合（ステップＳ４０４；Ｙ）、スイッチ部は、フレームを破棄（ステップＳ４０５）して、処理を終了する。また、両者が同じではなかった場合（ステップＳ４０４；Ｎ）、世代情報テーブル内に、フレーム内の送信元アドレスに対応づけて記憶されている世代情報を、フレーム内に設定されている世代情報で書き換える（ステップＳ４０６）。そして、図１８に示した処理を開始する。
【００９７】
すなわち、スイッチ部は、ブロードキャスト番号が設定されたフレームを供給するポートを特定するために、まず、フレーム内の宛先アドレスを用いてアドレステーブルを検索する（ステップＳ４１０）。ポート番号がアドレステーブルから検索できた場合（ステップＳ４１１；Ｙ）、スイッチ部は、処理対象フレームの送信元ＬＡＮが他ＬＡＮであった場合には、既に説明したＬＡＮテーブル学習処理（ステップＳ４１５）を行い、そのポート番号によって識別されるポートにフレームをスイッチング（ステップＳ４１５）し、処理を終了する。
【００９８】
アドレステーブルからのポート番号の検索に失敗した場合（ステップＳ４１１；Ｎ）、スイッチ部は、宛先アドレスを用いてＬＡＮテーブルを検索することによって、当該宛先アドレスに対応づけられたＬＡＮ番号並びにポート番号の読み出しを試みる（ステップＳ４１２）。そして、スイッチ部は、ポート番号およびＬＡＮ番号の検索に成功した場合（ステップＳ４１３；Ｙ）には、宛先ＬＡＮ番号フィールドに、検索したＬＡＮ番号を設定（ステップＳ４１４）する。次いで、処理対象フレームの送信元ＬＡＮが他ＬＡＮであった場合には、ＬＡＮテーブルの更新（ステップＳ４１５）を行う。ステップＳ４１４の実行後にステップＳ４１５が実行される場合、処理対象フレームは自ＬＡＮに対するものではないので（ＬＡＮテーブルには、自ＬＡＮ番号が記憶されていない）、処理対象フレームの送信元が他ＬＡＮであった場合、送信元ＬＡＮ番号と入力ポート番号の組み合わせがＬＡＮテーブルに登録される。
【００９９】
その後、スイッチ部は、テーブル（この場合、ＬＡＮテーブル）検索によって特定したポートに、フレームを供給（ステップＳ４１５）し、処理を終了する。また、ＬＡＮテーブルからのポート番号の検索に失敗した場合（ステップＳ４１３；Ｎ）、スイッチ部は、ＬＡＮテーブル学習処理（ステップＳ４２０）を行い、目的端末を収容している可能性があるポート群にフレームをブロードキャスト（ステップＳ４２１）して、処理を終了する。
【０１００】
スイッチングハブ１０内のスイッチ部１１は、ブロードキャスト番号が設定されたＶＬＡＮタグ付きフレームを受信した際、このように動作する。このため、実施形態のスイッチングハブ１０を組み合わせて、メッシュ状のネットワークを形成した場合、余分なフレームがＬＡＮ間でやり取りされることなく、また、１つのフレームだけが目的端末に到達する。
【０１０１】
例えば、４つのスイッチングハブ１０を用いて、図１９に示したような形状（図１６と同じ形状）のネットワークが構築されており、ＬＡＮ１に属する端末Ｚから、ＬＡＮ４に属する端末Ｗへのフレームが初めて送出された場合、ＬＡＮ１のスイッチングハブ（スイッチ部）は、ＬＡＮ２とＬＡＮ３のスイッチングハブに対して、それぞれ、ブロードキャスト番号と世代情報（乱数）が設定された、同じ内容のタグ付きフレームを送出する。
【０１０２】
そして、ＬＡＮ１のスイッチングハブからのフレームを受信したＬＡＮ２のスイッチングハブは、そのフレーム内にブロードキャスト番号が設定されていることから、ブロードキャストフレーム応答処理を開始し、ステップＳ４０３、Ｓ４１０〜Ｓ４１６を実行する。すなわち、スイッチングハブは、世代情報テーブルに、当該フレーム内の送信元アドレス“Ｚ”と世代情報（乱数）とを記憶する。次いで、ＬＡＮ３とＬＡＮ４のスイッチングハブに、同じ内容のフレームを送出する。
【０１０３】
また、ＬＡＮ３のスイッチングハブでも、ＬＡＮ１からのフレームに対して同様の処理が行われ、その結果、ＬＡＮ２とＬＡＮ４のスイッチングハブに対して、同じ内容のフレームが送出される。このため、ＬＡＮ２内のスイッチングハブは、ＬＡＮ３からも、同じ内容のフレームを受信する。
【０１０４】
ＬＡＮ３からのフレームを受信した際、ＬＡＮ２のスイッチングハブ（スイッチ部）は、ブロードキャスト番号が設定されていることため、再び、ブロードキャストフレーム応答処理を開始する。そして、スイッチングハブは、そのフレーム内の送信元アドレスと世代情報の組み合わせが、世代情報テーブルに記憶されていることを見いだす（ステップＳ４０２；Ｙ、Ｓ４０４；Ｙ）。このため、スイッチングハブは、ＬＡＮ３からのフレームを廃棄する（図１９中、×で表記）。
【０１０５】
ＬＡＮ３のスイッチングハブも、同様に、ＬＡＮ２からのフレームを破棄する。その結果、ＬＡＮ４のスイッチングハブは、ＬＡＮ２からの１個のフレームとＬＡＮ４からの１個のフレームだけを受信する。そして、ＬＡＮ４のスイッチングハブも、過去に受信したフレームと、送信元アドレス及び世代情報が一致しているフレームを受信した場合、そのフレームを廃棄するので、結局、端末Ｗには、端末Ｚから端末Ｗに至る複数のルートの中で、最も短い時間でフレームが到達可能なルートを通ったフレームだけが到達することになる。そして、その後の、発端末と着端末とのフレームのやり取りは、最初に、発端末から着端末へのフレームが到達した、そのルートを用いて行われることになる。
【０１０６】
また、上述した処理手順は、輻輳時のルート変更にも対応できるものとなっている。例えば、図１９に示したネットワークにおいて、ＬＡＮ１−ＬＡＮ２−ＬＡＮ４といったルートが設定されているときに、ＬＡＮ２のスイッチングハブのＬＡＮ１側のポートでバッファオーバフローが発生した場合を考える。この場合、既に説明したように、ＬＡＮ２のスイッチングハブ（ポート）において、あるフレームが破棄され、ＬＡＮ２のスイッチングハブからＬＡＮ１のスイッチングハブに対して、破棄したフレームの送信元アドレスが宛先アドレスとして設定された、破棄されたフレームの送信先アドレスを輻輳発生宛先アドレスデータとして保持したコリジョン信号フレームが送出される。また、コリジョン信号フレームを受信したＬＡＮ１のスイッチングハブ（スイッチ部）は、ＬＡＮテーブルから、コリジョン信号フレーム内に設定されている輻輳発生宛先アドレスデータで示されたＭＡＣアドレスに関するデータを削除する。
この結果、破棄されたフレームの送出元である端末が、同一の端末に対する（同一の宛先アドレスが設定された）フレームを送出した場合、ＬＡＮ１内のスイッチングハブは、図１１のステップＳ３０５において、ポート番号を検索できなくなり、ステップＳ３１０以降の処理を実行することになる。すなわち、図２０に模式的に示したように、コリジョン信号フレームの受信後、ＬＡＮ１のスイッチングハブは、ＬＡＮ４に対するフレームを次に送出する際、ブロードキャスト番号と世代情報が設定されたＶＬＡＮタグを有するフレームを、ＬＡＮ２とＬＡＮ３に送出する。
【０１０７】
また、スイッチ部は、世代情報として乱数を用いているので、そのフレーム内の世代情報は、前回の世代情報とは異なる内容（値）を有する。このため、ＬＡＮ３のスイッチングハブは、ＬＡＮ１からのフレームを受信した際には、ステップＳ４０４（図１７）で“Ｎ”側へ分岐する。すなわち、ＬＡＮ３のスイッチングハブは、そのフレームを破棄することなく、世代情報テーブルの内容を書き換える。次いで、図１８に示した処理を実行するので、結局、ＬＡＮ３のスイッチングハブは、ＬＡＮ２とＬＡＮ４に、受信したフレームをブロードキャストすることになる。ＬＡＮ２、ＬＡＮ４のスイッチングハブも同様に動作するため、ＬＡＮ２からＬＡＮ１に対してコリジョン信号が送出された場合、その後、初期ルート設定時と同様の処理が行われ、新たな通信ルート（例えば、ＬＡＮ１−ＬＡＮ３−ＬＡＮ４）が設定されることになる。
【０１０８】
以下、図２１を用いて、ブロードキャストプロトコルをサポートするために設けられているサポート処理の説明を行う。既に説明したように、サポート処理は、宛先アドレスが“オール１”に設定されたＶＬＡＮタグ付きフレームを受け取ったスイッチ部１２によって開始される。
【０１０９】
図示したように、サポート処理時、スイッチ部は、まず、イーサタイプが、通信相手のＭＡＣアドレスを問い合わせるためのプロトコルを示すものであるか否かを判断する（ステップＳ５０１）。そして、そのようなプロトコルを示すイーサタイプ（例えば、ＡＲＰ）であった場合、フレームを受信したポートを除く全ポートに、当該フレームをブロードキャスト（ステップＳ５０５）し、処理を終了する。一方、そのようなプロトコルを示すイーサタイプでなかった場合（ステップＳ５０１；Ｎ）、フレーム内の送信元アドレスに基づき、送信元端末が自ＬＡＮに属するものであるか否かを判断する（ステップＳ５０２）。そして、自ＬＡＮに属していた場合（ステップＳ５０２；Ｙ）には、やはり、入力ポートを除く全ポートに処理対象フレームをブロードキャスト（ステップＳ５０５）して、処理を終了する。
【０１１０】
また、送信元端末が自ＬＡＮに属する端末ではなかった場合（ステップＳ５０２；Ｎ）、スイッチ部１２は、送信元アドレスを用いてＬＡＮテーブルを検索する（ステップＳ５０３）。そして、ＬＡＮテーブル内に送信元アドレスが記憶されていた場合（ステップＳ５０４；Ｙ）には、ステップＳ５０５に進み、フレームを受信したポートを除く全ポートにフレームをブロードキャストした後、処理を終了する。また、ＬＡＮテーブル内に送信元アドレスが記憶されていなかった場合（ステップＳ５０４；Ｎ）には、ＭＡＣアドレス無しでＬＡＮテーブルに、ポート番号が記憶されているポート群にフレームをブロードキャスト（ステップＳ５０６）して、処理を終了する。
【０１１１】
すなわち、スイッチングハブ１０（スイッチ部１２）は、通常のブロードキャストフレームに対しては、過去に、配下の端末が、そのブロードキャストフレームの送信元端末と通信したことがなかった場合（ＬＡＮテーブルに、送信元アドレスが記憶されていなかった場合）には、配下の端末にはフレームを送信せずに、ステップＳ５０６において、ブロードキャストフレームの送信元端末と通信したことがある他ＬＡＮに、ブロードキャストフレームを中継するための処理を実行する。
【０１１２】
換言すれば、通常の（ＡＲＰ等を除く）ブロードキャストフレームは、そのブロードキャストフレームの送信前に何らかの情報伝達が行われた端末に対して送出されるフレームである。従って、ブロードキャストフレームの送信元端末と通信を行ったことのない端末や、スイッチングハブに対して、ブロードキャストフレームが供給されなくとも何ら問題は生じない。
【０１１３】
このため、本スイッチングハブでは、ブロードキャストフレームの供給を必要としていない端末やスイッチングハブに接続されたポートへのブロードキャストフレームの供給による不要なトラヒックの増大を防止するために、上位プロトコルのブロードキャストフレームに対して上記処理を採用している。
【０１１４】
また、スイッチ部１２は、初めて通信する端末に対して用いられるプロトコルであるＡＲＰ等に対しては、ＬＡＮテーブルの内容に依らず、全ポートにフレームをブロードキャストする。従って、本スイッチングハブ１０は、そのようなプロトコルにも、対応できるものとなっている。
【０１１５】
なお、サポート処理時に、ＬＡＮテーブル学習処理を行っていないのは、上述したように、通常のブロードキャストフレームの場合、そのブロードキャストフレームの送信前にルートが設定されているからであり、ＡＲＰ等のブロードキャストフレームの場合、各ブロードキャストフレームの伝送に用いられたルートで、その後、実際に通信が行われるか否かが判らないためである。
【０１１６】
＜変形例＞
実施形態のスイッチングハブは、ネットワークを構築したときに、着端末に到達するまでの各スイッチングハブにおいて、発端末を収容したスイッチングハブ内のサービスクラステーブルで規定される条件で、フレームのバッファリング制御（すなわち、通信品質制御）が行われるように構成してあるが、スイッチングハブを、ＶＬＡＮタグの有無に拘わらず、フレームに含まれるイーサタイプからサービスクラスが決定されるよう構成することも出来る。このようにスイッチングハブを構成しても、ネットワークを形成する各スイッチングハブに同じ内容のサービスクラステーブルを設定しておけば、発端末から着端末に至る各スイッチングハブにおいて、同じ通信品質制御が行われることになる。
【０１１７】
また、１つのＬＡＮ内における通信品質制御を行うことのみを目的とする場合などには、実施形態のスイッチングハブから、ＶＲＡＮタグを付加する機能を取り除いたスイッチングハブを用いることが出来る。
【０１１８】
また、通信品質制御に使用するサービスクラスを、ＶＬＡＮタグ付きフレーム内のサービスクラスと、サービスクラステーブル内のサービスクラスの中から選択できるように、スイッチングハブを構成することも出来る。すなわち、通常の状態では、実施形態のスイッチングハブと同じ動作をし、所定の指示が入力されたとき（所定のデータが内部に設定されたとき）には、ＶＬＡＮタグの有無によらず、フレーム内のイーサタイプに対応づけられたサービスクラスを、サービスクラステーブルから読み出して、その読み出したサービスクラスに応じた通信品質制御を行うようにスイッチングハブ（ポート）を構成することも出来る。
【０１１９】
さらに、世代情報テーブルとして、世代情報とＬＡＮ番号との対応関係を記憶するテーブルを用いるとともに、世代情報が関係する処理（ブロードキャストフレーム応答処理、コリジョン信号フレームに対する処理）が、宛先アドレスではなく、宛先ＬＡＮ番号単位で行われるようにスイッチングハブを構成することも出来る。
【０１２０】
【発明の効果】
本発明の第１のスイッチングハブを用いれば、通信品質制御が行えるネットワークを構築できる。
【０１２１】
また、本発明の第２のスイッチングハブを用いれば、ルータを用いずにＬＡＮ間通信が行えるネットワークが形成できるので、高速なＬＡＮ間通信が実現できることになる。
【図面の簡単な説明】
【図１】本発明の一実施形態によるスイッチングハブの概略構成図である。
【図２】実施形態のスイッチングハブが備えるポートの概略構成図である。
【図３】実施形態のスイッチングハブが対象とするフレーム（ＤＩＸ仕様）の説明図である。
【図４】実施形態のスイッチングハブが対象とするフレーム（ＩＥＥＥ８０２．３仕様）の説明図である。
【図５】実施形態のスイッチングハブ間で交換されるＶＬＡＮタグ付きフレームの説明図である。
【図６】実施形態のスイッチングハブが備えるポートの、フレーム受信時の動作手順を示した流れ図である。
【図７】実施形態のスイッチングハブが備えるアドレステーブルの説明図である。
【図８】実施形態のスイッチングハブが備えるサービスクラステーブルの説明図である。
【図９】実施形態のスイッチングハブが備えるポートの、スイッチ部へのフレーム供給時の動作手順を示した流れ図である。
【図１０】実施形態のスイッチングハブを組み合わして形成されたネットワークにおける、フレームの交換手順を示した説明図である。
【図１１】実施形態のスイッチングハブが備える、スイッチ部の全体的な動作手順を示した流れ図である。
【図１２】実施形態のスイッチングハブが備える、ＬＡＮテーブルの説明図である。
【図１３】実施形態のスイッチングハブを用いて構成されるネットワークの一例を示した図である。
【図１４】図１３に示したスイッチングハブＳＨ４内の、端末Ａからのフレームの、ＳＨ２への送出後のＬＡＮテーブルの説明図である。
【図１５】図１３に示したネットワークにおけるスイッチングハブＳＨ２内の、端末Ａからのフレームの、端末Ｆへの送出後のＬＡＮテーブルの説明図である。
【図１６】ブロードキャストフレーム応答処理の目的を説明するための図である。
【図１７】ブロードキャストフレーム応答処理時のスイッチ部の動作手順を示す流れ図（その１）である。
【図１８】ブロードキャストフレーム応答処理時のスイッチ部の動作手順を示す流れ図（その２）である。
【図１９】ブロードキャストフレーム応答処理の動作を説明するための図である。
【図２０】輻輳発生時における、ブロードキャストフレーム応答処理の動作を説明するための図である。
【図２１】上位プロトコルのブロードキャストフレームに対して行われるサポート処理の流れ図である。
【図２２】従来のスイッチングハブの問題点を説明するための模式図である。
【図２３】従来のスイッチングハブを用いて構成されるネットワークの説明図である。
【符号の説明】
１０  スイッチングハブ
１１  ポート
１２  スイッチ部
１３  記憶部
２１  フレーム送受信部
２２  受信フレーム検査部
２３  バッファ
２４  バッファ制御部
２５  送信フレーム検査部
【図１】
0003545570.tif 000002
【図２】
0003545570.tif 000003
【図３】
0003545570.tif 000004
【図４】
0003545570.tif 000005
【図５】
0003545570.tif 000006
【図６】
0003545570.tif 000007
【図７】
0003545570.tif 000008
【図８】
0003545570.tif 000009
【図９】
0003545570.tif 000010
【図１０】
0003545570.tif 000011
【図１１】
0003545570.tif 000012
【図１２】
0003545570.tif 000013
【図１３】
0003545570.tif 000014
【図１４】
0003545570.tif 000015
【図１５】
0003545570.tif 000016
【図１６】
0003545570.tif 000017
【図１７】
0003545570.tif 000018
【図１８】
0003545570.tif 000019
【図１９】
0003545570.tif 000020
【図２０】
0003545570.tif 000021
【図２１】
0003545570.tif 000022
【図２２】
0003545570.tif 000023
【図２３】
0003545570.tif 000024