(57)【要約】  【課題】冗長化された構成を有するネットワークにおいて、フレームの宛先に応じて経路を動的に変更するフレーム転送を行う。  【解決手段】フレーム転送装置は、宛先ごとに当該宛先に最短で到達可能な経路へ接続する送信ポートの情報を含む送信ポート情報を有し、転送対象の通信フレームを前記送信ポート情報に従って転送する。フレーム転送装置は、自装置のＭＡＣアドレステーブルと、他のフレーム転送装置から送られてきた他装置のＭＡＣアドレステーブルと、自発の制御フレームが中継されたフレーム転送装置のＭＡＣアドレス及び順序情報とを用いて、送信ポート情報を生成する。【選択図】図２
2012109864.tif 000002
【特許請求の範囲】
【請求項１】
ＳＴＰ（Spanning Tree Protocol）機能を有する複数のフレーム転送装置により構成されるネットワークにおけるフレーム転送装置であって、
自装置のＭＡＣアドレステーブルと、他のフレーム転送装置のＭＡＣアドレステーブルとを記憶する第一記憶手段と、
送信ポートごとに、当該送信ポートに接続される経路上の他のフレーム転送装置のＭＡＣアドレスとその接続順序を特定する順序情報とを含む、中継ＭＡＣアドレステーブルを記憶する第二記憶手段と、
宛先ＭＡＣアドレスごとに、当該宛先ＭＡＣアドレスに最短で到達する経路へ接続する送信ポートの識別情報を含む、送信ポートテーブルを記憶する第三記憶手段と、
前記第一記憶手段に記憶された自装置のＭＡＣアドレステーブルと他のフレーム転送装置のＭＡＣアドレステーブルとから、宛先ＭＡＣアドレスごとに、当該宛先ＭＡＣアドレスがダイレクト接続されるフレーム転送装置のＭＡＣアドレスを特定する、接続特定手段と、
前記接続特定手段により特定された各宛先ＭＡＣアドレスがダイレクト接続されるフレーム転送装置のＭＡＣアドレスと、前記第二記憶手段に記憶された各送信ポートに接続される経路上の他のフレーム転送装置のＭＡＣアドレス及びその接続順序とから、各宛先ＭＡＣアドレスごとに、当該宛先ＭＡＣアドレスに最短で到達する経路へ接続する送信ポートを特定し、前記第三記憶手段の送信ポートテーブルを更新する送信ポートテーブル更新手段と、
通信フレームを受信するフレーム受信手段と、
前記通信フレームの宛先ＭＡＣアドレスがユニキャストである場合、前記送信ポートテーブルから、当該宛先ＭＡＣアドレスに最短で到達する経路へ接続する送信ポートを特定し、当該通信フレームを、特定した送信ポートから転送する転送するフレーム転送手段と、を有する、
ことを特徴とするフレーム転送装置。
【請求項２】
請求項１に記載のフレーム転送装置であって、
前記フレーム転送手段は、前記特定した送信ポートが前記ＳＴＰ機能により遮断されたポートであっても、当該特定した送信ポートから前記通信フレームを転送する、
ことを特徴とするフレーム転送装置。
【請求項３】
請求項１又は２に記載のフレーム転送装置であって、
前記フレーム転送手段は、前記通信フレームの宛先ＭＡＣアドレスがブロードキャストである場合、又は前記送信ポートテーブルに記憶されていないアドレスである場合、前記ＳＴＰ機能に従って転送を行う、
ことを特徴とするフレーム転送装置。
【請求項４】
請求項１〜３いずれか一項に記載のフレーム転送装置であって、
制御フレームであって、前記自装置のＭＡＣアドレステーブルと、当該制御フレームを送信する送信ポートの識別情報と、当該制御フレームを転送したフレーム転送装置のＭＡＣアドレス及びその順序情報を設定可能な領域とを含む制御フレームを送信する制御フレーム送信手段と、
他のフレーム転送装置により送信又は転送された制御フレームを受信する制御フレーム受信手段と、
送信元が自装置でない制御フレームを受信した場合、当該制御フレームに含まれるＭＡＣアドレステーブルで前記第一記憶手段の他装置のＭＡＣアドレステーブルを更新するＭＡＣアドレステーブル更新手段と、
送信元が自装置でない制御フレームを受信した場合、当該制御フレームの前記領域に自装置のＭＡＣアドレス及びその順序情報を設定し、当該制御フレームを送信する制御フレーム転送手段と、
送信元が自装置である制御フレームを受信した場合、当該制御フレームから、送信ポートの識別情報と、当該制御フレームを転送したフレーム転送装置のＭＡＣアドレス及びその順序情報とを取得し、前記第二記憶手段の前記中継ＭＡＣテーブルを更新する中継ＭＡＣアドレステーブル更新手段と、を有する、
ことを特徴とするフレーム転送装置。
【請求項５】
請求項４に記載のフレーム転送装置
前記制御フレーム送信手段及び前記制御フレーム転送手段は、制御フレームをブロードキャスト送信する、
ことを特徴とするフレーム転送装置。
【請求項６】
請求項４又は５に記載のフレーム転送装置であって、
前記制御フレーム送信手段及び前記制御フレーム転送手段は、前記ＳＴＰ機能により遮断されたポートであっても、前記制御フレームを送信する、
ことを特徴とするフレーム転送装置。
【請求項７】
請求項１〜６いずれか一項に記載のフレーム転送装置を複数備えるネットワークシステム。
【請求項８】
ＳＴＰ（Spanning Tree Protocol）機能を有する複数のフレーム転送装置により構成されるネットワークにおけるフレーム転送装置のプログラムであって、
前記フレーム転送装置を、
自装置のＭＡＣアドレステーブルと、他のフレーム転送装置のＭＡＣアドレステーブルとを記憶する第一記憶手段と、
送信ポートごとに、当該送信ポートに接続される経路上の他のフレーム転送装置のＭＡＣアドレスとその接続順序を特定する順序情報とを含む、中継ＭＡＣアドレステーブルを記憶する第二記憶手段と、
宛先ＭＡＣアドレスごとに、当該宛先ＭＡＣアドレスに最短で到達する経路へ接続する送信ポートの識別情報を含む、送信ポートテーブルを記憶する第三記憶手段と、
前記第一記憶手段に記憶された自装置のＭＡＣアドレステーブルと他のフレーム転送装置のＭＡＣアドレステーブルとから、宛先ＭＡＣアドレスごとに、当該宛先ＭＡＣアドレスがダイレクト接続されるフレーム転送装置のＭＡＣアドレスを特定する、接続特定手段と、
前記接続特定手段により特定された各宛先ＭＡＣアドレスがダイレクト接続されるフレーム転送装置のＭＡＣアドレスと、前記第二記憶手段に記憶された各送信ポートに接続される経路上の他のフレーム転送装置のＭＡＣアドレス及びその接続順序とから、各宛先ＭＡＣアドレスごとに、当該宛先ＭＡＣアドレスに最短で到達する経路へ接続する送信ポートを特定し、前記第三記憶手段の送信ポートテーブルを更新する送信ポートテーブル更新手段と、
通信フレームを受信するフレーム受信手段と、
前記通信フレームの宛先ＭＡＣアドレスがユニキャストである場合、前記送信ポートテーブルから、当該宛先ＭＡＣアドレスに最短で到達する経路へ接続する送信ポートを特定し、当該通信フレームを、特定した送信ポートから転送する転送するフレーム転送手段として機能させる、
ことを特徴とするプログラム。
【請求項９】
ＳＴＰ（Spanning Tree Protocol）機能を有する複数のフレーム転送装置により構成されるネットワークにおけるフレーム転送装置のフレーム転送方法であって、
前記フレーム転送装置は、
自装置のＭＡＣアドレステーブルと、他のフレーム転送装置のＭＡＣアドレステーブルとを記憶する第一記憶手段と、
送信ポートごとに、当該送信ポートに接続される経路上の他のフレーム転送装置のＭＡＣアドレスとその接続順序を特定する順序情報とを含む、中継ＭＡＣアドレステーブルを記憶する第二記憶手段と、
宛先ＭＡＣアドレスごとに、当該宛先ＭＡＣアドレスに最短で到達する経路へ接続する送信ポートの識別情報を含む、送信ポートテーブルを記憶する第三記憶手段と、を有し、
前記第一記憶手段に記憶された自装置のＭＡＣアドレステーブルと他のフレーム転送装置のＭＡＣアドレステーブルとから、宛先ＭＡＣアドレスごとに、当該宛先ＭＡＣアドレスがダイレクト接続されるフレーム転送装置のＭＡＣアドレスを特定する、接続特定ステップと、
前記接続特定ステップにより特定された各宛先ＭＡＣアドレスがダイレクト接続されるフレーム転送装置のＭＡＣアドレスと、前記第二記憶手段に記憶された各送信ポートに接続される経路上の他のフレーム転送装置のＭＡＣアドレス及びその接続順序とから、各宛先ＭＡＣアドレスごとに、当該宛先ＭＡＣアドレスに最短で到達する経路へ接続する送信ポートを特定し、前記第三記憶手段の送信ポートテーブルを更新する送信ポートテーブル更新ステップと、
通信フレームを受信するフレーム受信ステップと、
前記通信フレームの宛先ＭＡＣアドレスがユニキャストである場合、前記送信ポートテーブルから、当該宛先ＭＡＣアドレスに最短で到達する経路へ接続する送信ポートを特定し、当該通信フレームを、特定した送信ポートから転送する転送するフレーム転送ステップと、を実行する、
ことを特徴とするフレーム転送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フレーム転送に関し、特に、冗長化されたネットワークにおけるフレーム転送に関する。
【背景技術】
【０００２】
近年、ネットワークの耐障害性を向上させることを目的として、ＬＡＮ（Local Area Network）などのネットワーク内のスイッチ（以下「ＳＷ」とも呼ぶ。）などのフレーム転送装置を、意図的にループが発生するように接続し、冗長化した経路を作る場合がある。
【０００３】
通常のＬＡＮなどのネットワークでは、ＡＲＰ（Address Resolution Protocol）のような宛先にブロードキャストアドレスを持つフレームは、ネットワーク内でループを構成しているスイッチ間で転送され続けるため、帯域を消費するブロードキャストストームが発生することがある。
【０００４】
ブロードキャストストームを避けるための方法として、ＩＥＥＥ８０２．１Ｄで規定されたＳＴＰ（Spanning Tree Protocol）がある。ＳＴＰでは、スイッチは、ＬＡＮ内のループ構成を把握し、ループが発生しないように、冗長化された経路を遮断する。また、障害発生などによりそれまで使用していた経路が使用できなくなった場合、ＳＴＰによりＬＡＮ内の構成が再構築され、これまで遮断していた冗長経路を使用し、通信を回復することが可能である。
【０００５】
ＳＴＰでは、一般的に、ネットワークの構成が変わらない限り、経路は固定となる。ＷＥＢサービスのようなリアルタイム性を必要としない通信サービスでは、ＬＡＮ内におけるフレームの転送経路は特に問題にならない。
【０００６】
しかしながら、音声通信サービスのようにリアルタイム性が要求される通信サービスでは、伝送遅延の影響を考えると、ＬＡＮ内においてフレームを中継するＳＷの数は少ないことが望ましい。
【０００７】
上記の問題を解決するため、例えば、特許文献１では、ＶＬＡＮ（Virtual LAN）を用いたＭＳＴ（Multiple Spanning Tree）により、ＬＡＮ内に複数の冗長化された経路を確立し、リアルタイム性を必要とする通信サービスには特定のＣＯＳ（Class of Service）値を割り当てている。また、特定のＣＯＳ値と対応付けられたスパニングツリーを用いて予め最適な経路を確保しておくことで、ネットワーク内での転送遅延が少ない通信サービスを実現している。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００８−１４７８８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、上記の特許文献１の技術では、サービスごとに対応する経路をあらかじめ設計しておく必要がある。そのため、ネットワークが拡大していくに連れて、またサービスの種類が増えるに連れて、ネットワークの経路設計およびネットワーク管理が複雑になる。そして、ネットワーク管理者の負担が増大してしまう。
【００１０】
そこで、本発明は、冗長化された構成を有するネットワークにおいて、フレームの宛先に応じて経路を動的に変更するフレーム転送を行うことを目的とする。
【課題を解決するための手段】
【００１１】
上記の課題を解決するための本発明の一態様は、フレーム転送装置であって、宛先ごとに当該宛先に最短で到達可能な経路へ接続する送信ポートの情報を含む送信ポート情報を有し、転送対象の通信フレームを前記送信ポート情報に従って転送する。
【００１２】
より具体的には、上記の課題を解決するための本発明の一態様は、
ＳＴＰ（Spanning Tree Protocol）機能を有する複数のフレーム転送装置により構成されるネットワークにおけるフレーム転送装置であって、
自装置のＭＡＣアドレステーブルと、他のフレーム転送装置のＭＡＣアドレステーブルとを記憶する第一記憶手段と、
送信ポートごとに、当該送信ポートに接続される経路上の他のフレーム転送装置のＭＡＣアドレスとその接続順序を特定する順序情報とを含む、中継ＭＡＣアドレステーブルを記憶する第二記憶手段と、
宛先ＭＡＣアドレスごとに、当該宛先ＭＡＣアドレスに最短で到達する経路へ接続する送信ポートの識別情報を含む、送信ポートテーブルを記憶する第三記憶手段と、
前記第一記憶手段に記憶された自装置のＭＡＣアドレステーブルと他のフレーム転送装置のＭＡＣアドレステーブルとから、宛先ＭＡＣアドレスごとに、当該宛先ＭＡＣアドレスがダイレクト接続されるフレーム転送装置のＭＡＣアドレスを特定する、接続特定手段と、
前記接続特定手段により特定された各宛先ＭＡＣアドレスがダイレクト接続されるフレーム転送装置のＭＡＣアドレスと、前記第二記憶手段に記憶された各送信ポートに接続される経路上の他のフレーム転送装置のＭＡＣアドレス及びその接続順序とから、各宛先ＭＡＣアドレスごとに、当該宛先ＭＡＣアドレスに最短で到達する経路へ接続する送信ポートを特定し、前記第三記憶手段の送信ポートテーブルを更新する送信ポートテーブル更新手段と、
通信フレームを受信するフレーム受信手段と、
前記通信フレームの宛先ＭＡＣアドレスがユニキャストである場合、前記送信ポートテーブルから、当該宛先ＭＡＣアドレスに最短で到達する経路へ接続する送信ポートを特定し、当該通信フレームを、特定した送信ポートから転送する転送するフレーム転送手段と、を有する。
【発明の効果】
【００１３】
本発明によれば、冗長化された構成を有するネットワークにおいて、フレームの宛先に応じて経路を動的に変更するフレーム転送を行うことができる。上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【００１４】
【図１】本発明の一実施形態の一例に係るネットワークシステムの概略構成を示す図である。
【図２】本発明の一実施形態の一例に係るスイッチの機能構成を示すブロック図である。
【図３】本発明の一実施形態の一例に係る制御ＭＡＣテーブルの構成を説明する図である。
【図４】本発明の一実施形態の一例に係る接続スイッチテーブルの構成を説明する図である。
【図５】本発明の一実施形態の一例に係る中継ＭＡＣテーブルの構成を説明する図である。
【図６】本発明の一実施形態の一例に係る送信ポートテーブルの構成を説明する図である。
【図７】本発明の一実施形態の一例に係る制御フレームの送信を説明する図である。
【図８】本発明の一実施形態の一例に係る制御フレームの構成を説明する図である。
【図９】本発明の一実施形態の一例に係る制御フレームの中継を説明する図である。
【図１０】本発明の一実施形態の一例に係る制御フレームの構成を説明する図である。
【図１１】本発明の一実施形態の一例に係るフレーム受信処理のフロー図である。
【図１２】本発明の一実施形態の一例に係る制御フレーム受信処理のフロー図である。
【図１３】本発明の一実施形態の一例に係る制御フレーム送信処理のフロー図である。
【図１４】本発明の一実施形態の一例に係るフレーム送信処理のフロー図である。
【図１５】従来の制御ＭＡＣテーブルの構成を説明する図である。
【発明を実施するための形態】
【００１５】
以下、本発明の一実施形態の一例について、図面を参照して説明する。
【００１６】
図１は、本発明の一実施形態の一例に係るネットワークシステムの概略構成を示す図である。
【００１７】
ネットワークシステム１は、例えば、ＬＡＮである。ネットワークシステム１は、複数のポートを有し各種のフレームを送信、転送（中継）、受信する複数のスイッチ２０と、スイッチ２０のポートに接続された複数の端末１０とを有する。ネットワークシステム１内において、端末１０は、スイッチ２０を介して互いに通信を行うことができる。
【００１８】
以下では、３台のスイッチ２０を、便宜上、ＳＷ１、ＳＷ２、ＳＷ３とも呼ぶ。また、各スイッチ２０に接続される端末１０を、便宜上、ＰＣ１、ＰＣ２、ＰＣ３とも呼ぶ。また、各スイッチ２０の有するポートを、便宜上、Ｐ１、Ｐ２、Ｐ３とも呼ぶ。
【００１９】
本図では、ＳＷ１のＰ１は、ＰＣ１と接続され、ＳＷ１のＰ２は、ＳＷ２と接続され、ＳＷ１のＰ３は、ＳＷ３と接続される。ＳＷ２のＰ１は、ＳＷ１と接続され、ＳＷ２のＰ２は、ＰＣ２と接続され、ＳＷ２のＰ３は、ＳＷ３と接続される。ＳＷ３のＰ１は、ＳＷ１と接続され、ＳＷ３のＰ２は、ＳＷ２と接続され、ＳＷ３のＰ３は、ＰＣ３と接続される。従って、ＳＷ１、ＳＷ２、及びＳＷ３は、ネットワークシステム１内に、ループを構成している。
【００２０】
ここで、ＳＷ１、ＳＷ２、及びＳＷ３は、通常のＳＴＰ機能を有し、冗長経路の遮断を行うことができる。本図の例では、ＳＷ１のＰ２とＳＷ２のＰ１との間を接続する経路が、ＳＴＰ機能により、冗長経路として判断され、遮断されている。
【００２１】
従って、ＳＷ１のＰ２及びＳＷ２のＰ１から、通常の通信フレーム（以下、「通信フレーム」とも呼ぶ。）は送信されない。例えば、仮に、ＳＷ１が、宛先ＭＡＣアドレスがブロードキャストのフレームを受信しても、フレームがネットワークシステム１内をループすることはなく、ブロードキャストストームは発生しない。なお、ＳＴＰ機能については、従来通りであるため、説明を省略する。
【００２２】
詳細は後述するが、本実施形態では、スイッチ２０の特徴的な機能により、所定の制御フレームと所定の基準により選択されたユニキャスト通信フレームは、ＳＴＰにより遮断されている経路であっても、通過することができる。
【００２３】
すなわち、本実施形態のスイッチ２０は、ユニキャスト通信フレームを受信すると、当該通信フレームが宛先に到達するまでに中継されるスイッチの数が最小となる経路を選択し、その経路に接続するポートから当該通信フレームを送信する。通常のＳＴＰでは、例えば、ＰＣ１からＰＣ２への送信されるユニキャストフレームは、ＳＷ１、ＳＷ３、ＳＷ２を経由して、ＰＣ２に到達する。しかし、本実施形態では、ＰＣ１からＰＣ２への送信されるユニキャストフレームは、ＳＷ１により受信されると、ＳＷ１のＰ２からＳＷ２に転送され、ＰＣ２に到達する。
【００２４】
また、本実施形態のスイッチ２０は、上記のような動的な経路選択を行うため、ポートと当該ポートに接続される装置のＭＡＣアドレスとを対応付けたＭＡＣアドレステーブルを、ブロードキャストの制御フレームを用いて他のスイッチ２０と相互に交換する。スイッチ２０は、ＳＴＰ機能で遮断されたポートからも制御フレームの送受信を行う。
【００２５】
上記のネットワークシステム１の構成は、本願発明の特徴を説明するにあたって主要構成を説明したのであって、上記の構成に限られない。また、一般的なネットワークシステムが備える構成を排除するものではない。例えば、スイッチ２０や端末１０の台数や、ネットワークの接続構成は、上記に限られない。
【００２６】
図２は、本発明の一実施形態の一例に係るスイッチの機能構成を示すブロック図である。
【００２７】
スイッチ２０は、フレーム受信部２００と、制御フレーム処理部２１０と、制御フレーム送信部２２０と、フレーム送信部２３０と、制御ＭＡＣテーブル（自装置）２４０と、制御ＭＡＣテーブル（他装置）２５０と、接続スイッチテーブル２６０と、中継ＭＡＣテーブル２７０と、送信ポートテーブル２８０とを有する。
【００２８】
まず、制御ＭＡＣテーブル２４０、制御ＭＡＣテーブル２５０、接続スイッチテーブル２６０、中継ＭＡＣテーブル２７０、及び送信ポートテーブル２８０について説明する。
【００２９】
以下では、端末１０及びスイッチ２０固有のＭＡＣアドレスを、便宜上、ＳＷ１、ＳＷ２、ＳＷ３、ＰＣ１、ＰＣ２、ＰＣ３として表記することがある。また、スイッチ２０の有するポートの識別情報を、便宜上、Ｐ１、Ｐ２、Ｐ３として表記することがある。
【００３０】
図３は、本発明の一実施形態の一例に係る制御ＭＡＣテーブルの構成を説明する図である。なお、本図は、ＳＷ１に記憶される自装置の制御ＭＡＣテーブル２４０と、ＳＷ１に記憶される他装置ＳＷ２及びＳＷ３の制御ＭＡＣテーブル２５０とを、一例として示している。
【００３１】
制御ＭＡＣテーブル２４０は、自装置の各ポートと当該ポートに接続される装置のＭＡＣアドレスとを対応付けた情報を含む、いわゆるＭＡＣアドレステーブルである。
【００３２】
具体的には、制御ＭＡＣテーブル２４０には、受信ポート２４１と、ＭＡＣアドレス２４２とを対応づけたエントリーが格納される。受信ポート２４１は、スイッチ２０の有するポートの識別情報である。ＭＡＣアドレス２４２には、受信ポート２４１にダイレクトに接続される装置のＭＡＣアドレス、及び、受信ポート２４１に接続される経路上の装置のＭＡＣアドレスが設定される。なお、受信ポート２４１に接続される装置が検出されない場合は、ＭＡＣアドレスは設定されない。
【００３３】
制御ＭＡＣテーブル２５０は、他装置の各ポートと当該ポートに接続される装置のＭＡＣアドレスとを対応付けた情報を含む、いわゆるＭＡＣアドレステーブルである。制御ＭＡＣテーブル２５０も、上述した制御ＭＡＣテーブル２４０と同様の構成を有する。すなわち、他装置の制御ＭＡＣテーブル２５０には、受信ポート２５１と、ＭＡＣアドレス２５２とを対応づけたエントリーが格納される。なお、スイッチ２０は、制御ＭＡＣテーブル２５０を、スイッチごとに区別して保持する。
【００３４】
上述したように、スイッチ２０は、その特徴的な機能により、ＳＴＰ機能により遮断されているポートからも、制御フレーム及び通信フレームを送受信することがある。従って、例えば、図３に示すように、同一端末及び同一スイッチのＭＡＣアドレスが、複数のエントリーに重複して学習されることがある。そのため、スイッチ２０は、制御ＭＡＣテーブルを用いて、通信フレームを送信すべき正しいポートを特定することができない。そこで、本実施形態では、後述するように、送信ポートテーブル２８０が使用される。
【００３５】
なお、通常のＳＴＰ機能では、ＳＴＰ機能により遮断されているポートからは、通信フレームは送受信されない。従って、例えば、図１５に示すように、同一端末及び同一スイッチのＭＡＣアドレスは、複数のエントリーに重複して学習されない。そのため、制御ＭＡＣテーブルを用いて、通信フレームを送信すべき正しいポートを特定することができる。
【００３６】
図４は、本発明の一実施形態の一例に係る接続スイッチテーブルの構成を説明する図である。なお、本図は、ＳＷ１に記憶される接続スイッチテーブル２６０を一例として示している。
【００３７】
接続スイッチテーブル２６０は、端末１０のＭＡＣアドレスと、当該端末１０がダイレクトに接続されるスイッチ２０のＭＡＣアドレスとを対応付けた情報を含むテーブルである。
【００３８】
具体的には、接続スイッチテーブル２６０には、ＭＡＣアドレス２６１と、接続ＳＷ２６２とを対応付けたエントリーが格納される。ＭＡＣアドレス２６１は、端末のＭＡＣアドレスである。接続ＳＷ２６２は、ＭＡＣアドレス２６１を有する端末１０がダイレクトに接続されるスイッチ２０のＭＡＣアドレスである。
【００３９】
図５は、本発明の一実施形態の一例に係る中継ＭＡＣテーブルの構成を説明する図である。なお、本図は、ＳＷ１に記憶される中継ＭＡＣテーブル２７０を一例として示している。
【００４０】
中継ＭＡＣテーブル２７０は、送信ポート、及び、当該送信ポートに接続される経路上のスイッチ２０のＭＡＣアドレスを対応付けた情報と、当該経路上のスイッチ２０の接続順序を示す情報とを含むテーブルである。
【００４１】
具体的には、中継ＭＡＣテーブル２７０には、送信ポート２７１と、ＭＡＣアドレス２７２とを対応付けたエントリーが格納される。送信ポート２７１は、スイッチ２０の有するポートの識別情報である。ＭＡＣアドレス２７２には、送信ポート２７１に接続される経路上のスイッチ２０のＭＡＣアドレスが、接続順に設定される。本図では、送信ポート２７１に接続順が近いスイッチ２０のＭＡＣアドレスから順に、左側から設定されている。
【００４２】
図６は、本発明の一実施形態の一例に係る送信ポートテーブルの構成を説明する図である。なお、本図は、ＳＷ１に記憶される送信ポートテーブル２８０を一例として示している。
【００４３】
送信ポートテーブル２８０は、宛先ＭＡＣアドレスと、当該宛先ＭＡＣアドレスのフレームを送信するポートとを対応付けた情報を含むテーブルである。
【００４４】
具体的には、送信ポートテーブルには、宛先ＭＡＣ２８１と、送信ポート２８２とを対応付けたエントリーが格納される。宛先ＭＡＣ２８１は、端末のＭＡＣアドレスである。送信ポート２８２は、スイッチ２０の有するポートの識別情報である。
【００４５】
もちろん、上記の図３〜６の各種情報の形式は、テーブル形式に限られない。
【００４６】
図２に戻って、フレーム受信部２００、制御フレーム処理部２１０、制御フレーム送信部２２０、及びフレーム送信部２３０についての説明を続ける。
【００４７】
フレーム受信部２００は、フレームの受信に関する処理を行う。
【００４８】
具体的には、例えば、フレーム受信部２００は、フレームを受信して、当該フレームが通信フレームであるか後述する制御フレームであるかを判定する。受信したフレームが制御フレームである場合、当該フレームを制御フレーム処理部２１０に通知する。受信したフレームが通信フレームである場合、当該フレームをフレーム送信部２３０に通知する。
【００４９】
また、例えば、フレーム受信部２００は、受信フレームの送信元ＭＡＣアドレスが自装置でない場合、当該受信フレームを受信した自装置の受信ポートの識別情報と、当該送信元ＭＡＣアドレスとを取得する。そして、制御ＭＡＣテーブル２４０を参照し、取得した受信ポートの識別情報と対応する受信ポート２４１を有するエントリーのＭＡＣアドレス２４２に、取得した送信元ＭＡＣアドレスを追加する。既に同じＭＡＣアドレスがある場合は、追加しなくてよい。
【００５０】
また、フレーム受信部２００は、制御ＭＡＣテーブル２４０のエントリーの更新後、自装置を送信元とする制御フレームの送信を制御フレーム送信部２２０に指示する。また、送信ポートテーブル２８０を更新するように制御フレーム処理部２１０に指示する。送信ポートテーブル２８０の更新方法については、制御フレーム処理部２１０の説明で記載する。なお、送信ポートテーブル２８０の更新は、フレーム受信部２００が行ってもよい。
【００５１】
ここで、制御フレームについて詳細に説明する。制御フレームは、レイヤ２のフレームである。図８は、本発明の一実施形態の一例に係る制御フレームの構成を説明する図である。なお、本図は、制御フレーム３０の構成と、ＳＷ１から送信される制御フレーム３０ｃ（図７、図９）の設定値とを併せて示している。
【００５２】
制御フレーム３０には、Ｅｔｈｅｒヘッダ３１０と、制御情報３２０とが含まれる。Ｅｔｈｅｒヘッダ３１０には、宛先ＭＡＣアドレス３１１と、送信元ＭＡＣアドレス３１２と、Ｔｙｐｅ３１３とが含まれる。Ｔｙｐｅ３１３は、上位層のプロトコルを識別するための番号を示す情報であり、本実施形態では、制御フレームを識別するための値が設定される。制御情報３２０には、送信ポート３２１と、ＭＡＣテーブル３２２と、中継ＭＡＣ３２３とが含まれる。
【００５３】
送信ポート３２１には、スイッチ２０が自ら制御フレームを生成して送信する場合に、当該制御フレームを送信する送信ポートの識別情報が設定される。ＭＡＣテーブル３２２は、スイッチ２０が制御フレームを自ら生成して送信する場合に、当該スイッチ２０の制御ＭＡＣテーブル２４０が設定される。
【００５４】
中継ＭＡＣ３２３には、スイッチ２０が他の装置から受信した制御フレームを中継する場合に、当該スイッチ２０のＭＡＣアドレスが設定される。中継ＭＡＣ３２３には、複数のＭＡＣアドレスを設定可能であり、中継した順序が特定できるように、中継した順にＭＡＣアドレスが設定される。本図では、送信ポート３２１に中継順が近いスイッチ２０のＭＡＣアドレスから順に、左側から設定される。
【００５５】
もちろん、制御フレームの形式は、上記に限られない。例えば、制御フレームを識別する値は、Ｔｙｐｅ３１３以外の領域に含まれるようにしてもよい。
【００５６】
制御フレーム処理部２１０は、制御フレームに関する処理を行う。
【００５７】
具体的には、例えば、制御フレーム処理部２１０は、フレーム受信部２００から通知された制御フレームの送信元ＭＡＣアドレス３１２が自装置である場合、当該制御フレームから送信ポート３２１及び中継ＭＡＣ３２３を取得する。そして、中継ＭＡＣテーブル２７０を参照し、取得した送信ポート３２１と対応する送信ポート２７１を有するエントリーのＭＡＣアドレス２７２に、取得した中継ＭＡＣ３２３を設定する。
【００５８】
また、例えば、制御フレーム処理部２１０は、フレーム受信部２００から通知された制御フレームの送信元ＭＡＣアドレス３１２が他装置である場合、当該制御フレームから送信元ＭＡＣアドレス３１２及びＭＡＣテーブル３２２を取得する。そして、取得した送信元ＭＡＣアドレス３１２と対応する他装置の制御ＭＡＣテーブル２５０を、取得したＭＡＣテーブル３２２で更新する。また、自装置を送信元とする制御フレームの送信を制御フレーム送信部２２０に指示するとともに、受信フレームをフレーム送信部２３０に通知する。
【００５９】
また、例えば、制御フレーム処理部２１０は、制御ＭＡＣテーブル２４０、制御ＭＡＣテーブル２５０、及び中継ＭＡＣテーブル２７０を用いて、送信ポートテーブル２８０を更新する。
【００６０】
以下に、送信ポートテーブル２８０を更新する手順を説明する。
【００６１】
まず、制御フレーム処理部２１０は、制御ＭＡＣテーブル２４０及び制御ＭＡＣテーブル２５０を用いて、接続スイッチテーブル２６０を更新する。
【００６２】
具体的には、制御フレーム処理部２１０は、制御ＭＡＣテーブル２４０及び制御ＭＡＣテーブル２５０を参照し、端末１０がダイレクトに接続されているスイッチ２０を特定する。制御フレーム処理部２１０は、受信ポート２４１（２５１）に対応するＭＡＣアドレス２４２（２５２）に含まれるＭＡＣアドレスの数が１つであれば、そのＭＡＣアドレスが受信ポート２４１（２５１）を有するスイッチ２０にダイレクトに接続されていると判断することができる。制御フレーム処理部２１０は、各端末１０のＭＡＣアドレスと、当該端末がダイレクト接続されているスイッチ２０のＭＡＣアドレスとを対応付けて、接続スイッチテーブル２６０のエントリーを更新する。
【００６３】
例えば、図３では、ＳＷ１のＰ１には、ＰＣ１が一つ対応しているので、ＰＣ１は、ＳＷ１にダイレクト接続されていると判定することができる。ＳＷ２のＰ２には、ＰＣ２が一つ対応しているので、ＰＣ２は、ＳＷ２にダイレクト接続されていると判定することができる。ＳＷ３のＰ３には、ＰＣ３が一つ対応しているので、ＰＣ３は、ＳＷ３にダイレクト接続されていると判定することができる。その結果として、図４では、接続スイッチテーブル２６０には、ＰＣ１とＳＷ１、ＰＣ２とＳＷ２、ＰＣ３とＳＷ３をそれぞれ対応付けたエントリーが記録されている。
【００６４】
次に、制御フレーム処理部２１０は、更新した接続スイッチテーブル２６０及び中継ＭＡＣテーブル２７０を用いて、送信ポートテーブル２８０を更新する。
【００６５】
具体的には、制御フレーム処理部２１０は、通信フレームの宛先となる端末１０のＭＡＣアドレスごとに、当該端末がダイレクトに接続されるスイッチ２０へ最短で到達することができる経路に接続される送信ポートを特定する。すなわち、制御フレーム処理部２１０は、接続スイッチテーブル２６０の各エントリーの接続ＳＷ２６２ごとに、中継ＭＡＣテーブル２７０の全エントリーのＭＡＣアドレス２７２を参照する。そして、送信ポート２７１に対する接続順番が最も近い位置に、接続ＳＷ２６２と対応するＭＡＣアドレス含まれているエントリーを特定する。それから、特定したエントリーの送信ポート２７１を、ＭＡＣアドレス２６１に対応する送信ポートとして特定する。制御フレーム処理部２１０は、端末１０のＭＡＣアドレス２６１と、特定した送信ポート２７１とを対応付けたエントリーを生成し、送信ポートテーブル２８０のエントリーを更新する。
【００６６】
例えば、図４及び図５では、ＰＣ２がダイレクト接続されているＳＷ２は、ＳＷ１のＰ２に最も近い接続順で接続されていると判定することができる。また、ＰＣ３がダイレクト接続されているＳＷ３は、ＳＷ１のＰ３に最も近い接続順で接続されていると判定することができる。その結果として、図６では、送信ポートテーブル２８０には、ＰＣ２とＳＷ１のＰ２、ＰＣ３とＳＷ１のＰ３をそれぞれ対応付けたエントリーが記録されている。なお、ＰＣ１は、自装置ＳＷ１のＰ１にダイレクト接続されていることは、制御ＭＡＣテーブル２４０から特定できるので、送信ポートテーブル２８０には、ＰＣ１とＳＷ１のＰ１を対応付けたエントリーが記録される。
【００６７】
制御フレーム送信部２２０は、制御フレームの送信に関する処理を行う。
【００６８】
具体的には、例えば、制御フレーム送信部２２０は、自装置が送信元である制御フレームを送信する指示を、フレーム受信部２００又は制御フレーム処理部２１０から受けた場合（自発制御フレームの送信）、宛先ＭＡＣ３１１をブロードキャスト、送信元ＭＡＣ３１２を自装置、Ｔｙｐｅ３１３を制御フレームを識別する値、ＭＡＣテーブル３２２を自装置の制御ＭＡＣテーブル２４０として設定した制御フレームを生成する。中継ＭＡＣ３２３には、値を設定しない（例えば、０などの初期値を設定する。）。それから、制御フレーム送信部２２０は、自装置の全ポートから、生成した制御フレームを送信する。その際、各送信ポートごとに、送信ポートの識別情報を、制御フレームの送信ポート３２１に設定する。
【００６９】
例えば、図７では、ＳＷ１が、全ポート（Ｐ１、Ｐ２、Ｐ３）から、制御フレーム（３０ａ、３０ｂ、３０ｃ）をブロードキャスト送信している。制御フレーム３０ｃは、図８に示すように、宛先ＭＡＣ３１１をブロードキャスト、送信元ＭＡＣ３１２をＳＷ１、送信ポート３２１をＰ３、ＭＡＣテーブル３２２をＳＷ１の制御ＭＡＣテーブル２４０、中継ＭＡＣ３２３を値なし、として設定される。なお、制御フレーム３０ａの場合、送信ポート３２１はＰ１、制御フレーム３０ｂの場合、送信ポート３２１はＰ２として設定される。
【００７０】
また、例えば、制御フレーム送信部２２０は、受信フレームの通知を制御フレーム処理部２１０から受けた場合（制御フレームの中継）、当該受信フレームの中継ＭＡＣ３２３に自装置のＭＡＣアドレスが含まれているか否かを判定する。自装置のＭＡＣアドレスが含まれている場合、当該受信フレームを破棄する。自装置のＭＡＣアドレスが含まれていない場合、中継ＭＡＣ３２３に、接続順序が維持されるように、自身のＭＡＣアドレスを追加し、当該受信フレームの受信ポート以外のポートからブロードキャスト送信する。
【００７１】
例えば、図９では、ＳＷ１は、Ｐ３から制御フレーム３０ｃを送信している。制御フレーム３０ｃの中継ＭＡＣ３２３には、図１０に示すように、値は設定されない。ＳＷ３は、制御フレーム３０ｃをＰ１から受信すると、中継対象であるため、Ｐ２及びＰ３からブロードキャスト送信する。ＳＷ３のＰ２から送信された制御フレーム３０ｄの中継ＭＡＣ３２３には、図１０に示すように、ＳＷ３のＭＡＣアドレスが設定される。ＳＷ２は、制御フレーム３０ｄをＰ３から受信すると、中継対象であるため、Ｐ１及びＰ２からブロードキャスト送信する。ＳＷ２のＰ１から送信された制御フレーム３０ｅの中継ＭＡＣ３２３には、図１０に示すように、ＳＷ２のＭＡＣアドレスが追加される。
【００７２】
なお、ＳＷ１は、Ｐ２から制御フレーム３０ｅを受信すると、自発の制御フレームであるため、送信ポート３２１と中継ＭＡＣ３２３を参照することにより、送信ポートであるＰ３から接続されているスイッチが、Ｐ３に近い順にＳＷ３、ＳＷ２であると特定することができる。
【００７３】
フレーム送信部２３０は、フレームの送信に関する処理を行う。
【００７４】
具体的には、例えば、フレーム送信部２３０は、フレーム受信部２００から通知された通信フレームの宛先がブロードキャストである場合、通常のＳＴＰに従ってブロードキャスト送信を行う。すなわち、中継対象の通信フレームを受信したポート及び遮断されているポート以外のポートから通信フレームが送信される。
【００７５】
また、例えば、フレーム送信部２３０は、フレーム受信部２００から通知された通信フレームの宛先がユニキャストである場合、送信ポートテーブル２８０から当該宛先に対応する宛先ＭＡＣアドレス２８１を有するエントリーを特定する。対応するエントリーがある場合、当該エントリーの送信ポート２８２に対応する送信ポートから通信フレームを送信する。対応するエントリーがない場合、通常のＳＴＰに従ってフラッディング送信を行う。すなわち、中継対象の通信フレームを受信したポート及び遮断されているポート以外のポートから通信フレームが送信される。
【００７６】
以上の機能を有するスイッチ２０は、例えば、スイッチ２０を統合的に制御するＣＰＵ、制御プログラムを格納したＲＯＭ、ＣＰＵが実行する制御プログラムや各種テーブルが展開されるＲＡＭ、ポートを収容するインターフェイス回路、フレーム転送のスイッチングを行うスイッチング回路、パケットバッファなどの各種ハードウェアを含んで構成される。
【００７７】
上述の各種機能部（フレーム受信部２００、制御フレーム処理部２１０、制御フレーム送信部２２０、フレーム送信部２３０）は、例えば、ＣＰＵが所定のプログラムをＲＯＭからＲＡＭに読み出して実行することにより実現される。各種テーブル（制御ＭＡＣテーブル２４０、制御ＭＡＣテーブル２５０、接続スイッチテーブル２６０、中継ＭＡＣテーブル２７０、送信ポートテーブル２８０）は、例えば、ＲＡＭにより実現される。もちろん、各種機能部や各種テーブルの一部又は全部は、インターフェイス回路やスイッチング回路などにより実現されてもよいし、ＣＰＵとインターフェイス回路やスイッチング回路などの組み合わせにより実現されてもよい。すなわち、ソフトウェアとハードウェアの組み合わせにより適宜実現できる。
【００７８】
なお、図２の各構成要素は、スイッチ２０の構成を理解容易にするために、主な処理内容に応じて分類したものである。構成要素の分類の仕方や名称によって、本願発明が制限されることはない。スイッチ２０の構成は、処理内容に応じて、さらに多くの構成要素に分類することもできる。また、１つの構成要素がさらに多くの処理を実行するように分類することもできる。また、各構成要素の処理は、１つのハードウェアで実行されてもよいし、複数のハードウェアで実行されてもよい。
【００７９】
図１１は、本発明の一実施形態の一例に係るフレーム受信処理のフロー図である。本フローは、例えば、フレームがスイッチ２０に受信された場合に開始される。
【００８０】
Ｓ１０では、フレーム受信部２００は、受信フレームの送信元ＭＡＣアドレスが自装置のＭＡＣアドレスであるか否かを判定する。自装置のＭＡＣアドレスである場合（Ｓ１０：自装置ＭＡＣ）、処理をＳ１５に進める。自装置のＭＡＣアドレスでない場合（Ｓ１０：自装置ＭＡＣ以外）、処理をＳ１１に進める。
【００８１】
Ｓ１１では、フレーム受信部２００は、自装置の制御ＭＡＣテーブル２４０の更新があるか否かを判定する。具体的には、フレーム受信部２００は、制御ＭＡＣテーブル２４０を参照し、受信フレームを受信したポートに対応するエントリーのＭＡＣアドレス２４２に、受信フレームの送信元ＭＡＣアドレスが含まれているか否かを判定する。送信元ＭＡＣアドレスが含まれている場合（Ｓ１１：更新なし）、処理をＳ１５に進める。送信元ＭＡＣアドレスが含まれていない場合（Ｓ１１：更新あり）、処理をＳ１２に進める。
【００８２】
Ｓ１２では、フレーム受信部２００は、自装置の制御ＭＡＣテーブル２４０を更新する。具体的には、フレーム受信部２００は、受信フレームの受信ポートの識別情報と、受信フレームの送信元ＭＡＣアドレスとを取得する。そして、制御ＭＡＣテーブル２４０を参照し、取得した受信ポートの識別情報と対応する受信ポート２４１を有するエントリーのＭＡＣアドレス２４２に、取得した送信元ＭＡＣアドレスを追加する。そして、処理をＳ１３に進める。
【００８３】
Ｓ１３では、フレーム受信部２００は、自装置を送信元とする制御フレームの送信を、制御フレーム送信部２２０に指示する。そして、処理をＳ１４に進める。
【００８４】
Ｓ１４では、フレーム受信部２００は、送信ポートテーブル２８０を更新する。具体的には、フレーム受信部２００は、制御フレーム処理部２１０に、送信ポートテーブル２８０の更新を指示する。制御フレーム処理部２１０は、制御ＭＡＣテーブル２４０と、制御ＭＡＣテーブル２５０とを用いて接続スイッチテーブル２６０を更新し、それから、更新した接続スイッチテーブル２６０と、中継ＭＡＣテーブル２７０とを用いて送信ポートテーブル２８０を更新する。更新手順の詳細については図２で説明したとおりである。なお、Ｓ１４における送信ポートテーブル２８０の更新は、フレーム受信部２００が行うようにしてもよい。送信ポートテーブル２８０の更新が終了すると、フレーム受信部２００は、処理をＳ１５に進める。
【００８５】
Ｓ１５では、フレーム受信部２００は、受信フレームが制御フレームであるか否かを判定する。具体的には、フレーム受信部２００は、受信フレームのＴｙｐｅ３１３に制御フレームを識別するための値が設定されているか否かを判定する。受信フレームが制御フレームでない場合（Ｓ１５：制御フレーム以外）、処理をＳ１６に進める。受信フレームが制御フレームである場合（Ｓ１５：制御フレーム）、処理をＳ１７に進める。
【００８６】
Ｓ１６では、フレーム受信部２００は、受信フレームをフレーム送信部２３０に通知する。そして、本フローを終了する。
【００８７】
Ｓ１７では、フレーム受信部２００は、受信フレームを制御フレーム処理部２１０に通知する。そして、本フローを終了する。
【００８８】
図１２は、本発明の一実施形態の一例に係る制御フレーム受信処理のフロー図である。本フローは、例えば、フレーム受信部２００から制御フレーム処理部２１０に対して制御フレームが通知された場合に開始される。
【００８９】
Ｓ２０では、制御フレーム処理部２１０は、通知された制御フレームの送信元ＭＡＣアドレスが自装置のＭＡＣアドレスであるか否かを判定する。自装置のＭＡＣアドレスである場合（Ｓ２０：自装置ＭＡＣ）、処理をＳ２５に進める。自装置のＭＡＣアドレスでない場合（Ｓ２０：自装置ＭＡＣ以外）、処理をＳ２１に進める。
【００９０】
Ｓ２１では、制御フレーム処理部２１０は、他装置の制御ＭＡＣテーブル２５０の更新があるか否かを判定する。具体的には、制御フレーム処理部２１０は、制御フレームから送信元ＭＡＣアドレス３１２及びＭＡＣテーブル３２２を取得する。それから、取得した送信元ＭＡＣアドレス３１２と対応する他装置の制御ＭＡＣテーブル２５０と、取得したＭＡＣテーブル３２２とを比較する。いずれかのエントリーの内容に変更がある場合（Ｓ２１：更新あり）、処理をＳ２２に進める。いずれのエントリーにも変更がない場合（Ｓ２１：更新なし）、処理をＳ２４に進める。
【００９１】
Ｓ２２では、制御フレーム処理部２１０は、他装置の制御ＭＡＣテーブル２５０を更新する。具体的には、制御フレーム処理部２１０は、Ｓ２１で特定した制御ＭＡＣテーブル２５０の変更があるエントリーの内容を、対応するＭＡＣテーブル３２２のエントリーの内容で更新する。もちろん、制御ＭＡＣテーブル２５０全体をＭＡＣテーブル３２２に置き換えて更新してもよい。そして、制御フレーム処理部２１０は、処理をＳ２３に進める。
【００９２】
Ｓ２３では、制御フレーム処理部２１０は、自装置を送信元とする制御フレームの送信を、制御フレーム送信部２２０に指示する。そして、処理をＳ２４に進める。なお、制御ＭＡＣテーブル２５０の更新により、ネットワークシステム１の構成が変更された可能性があるため、中継ＭＡＣ情報を得るべく、Ｓ２３の処理で自発の制御フレームの送信を行うようにしている。
【００９３】
Ｓ２４では、制御フレーム処理部２１０は、受信フレーム（制御フレーム）をフレーム送信部２３０に通知する。そして、処理をＳ２７に進める。
【００９４】
Ｓ２５では、制御フレーム処理部２１０は、中継ＭＡＣテーブル２７０の更新があるか否かを判定する。具体的には、制御フレーム処理部２１０は、制御フレームから送信ポート３２１及び中継ＭＡＣ３２３を取得する。それから、中継ＭＡＣテーブル２７０を参照し、取得した送信ポート３２１と対応する送信ポート２７１を有するエントリーのＭＡＣアドレス２７２と、取得した中継ＭＡＣ３２３とを比較する。エントリーの内容に変更がある場合（Ｓ２５：更新あり）、処理をＳ２６に進める。エントリーに変更がない場合（Ｓ２５：更新なし）、処理をＳ２７に進める。
【００９５】
Ｓ２６では、制御フレーム処理部２１０は、中継ＭＡＣテーブル２７０を更新する。具体的には、制御フレーム処理部２１０は、Ｓ２５で特定した中継ＭＡＣのテーブル２７０の変更があるエントリーの内容を、中継ＭＡＣ３２３の内容で更新する。そして、処理をＳ２７に進める。
【００９６】
Ｓ２７では、制御フレーム処理部２１０は、他装置の制御ＭＡＣテーブル２５０又は中継ＭＡＣテーブル２７０が更新されたか否かを判定する。いずれか一方のテーブルが更新された場合（Ｓ２７：更新あり）、処理をＳ２８に進める。いずれのテーブルも更新されていない場合（Ｓ２７：更新なし）、本フローを終了する。
【００９７】
Ｓ２８では、制御フレーム処理部２１０は、送信ポートテーブル２８０を更新する。具体的には、制御フレーム処理部２１０は、制御ＭＡＣテーブル２４０と、制御ＭＡＣテーブル２５０とを用いて接続スイッチテーブル２６０を更新し、それから、更新した接続スイッチテーブル２６０と、中継ＭＡＣテーブル２７０とを用いて送信ポートテーブル２８０を更新する。更新手順の詳細については図２で説明したとおりである。送信ポートテーブル２８０の更新が終了すると、制御フレーム処理部２１０は、本フローを終了する。
【００９８】
図１３は、本発明の一実施形態の一例に係る制御フレーム送信処理のフロー図である。本フローは、例えば、制御フレーム送信部２２０が、フレーム受信部２００若しくは制御フレーム処理部２１０から自発制御フレームの送信指示を受けた場合（Ｓ１３、Ｓ２３）、又は、制御フレーム処理部２１０から制御フレームの通知を受けた場合（Ｓ２４）に開始される。
【００９９】
Ｓ３０では、制御フレーム送信部２２０は、送信フレームを判定する。具体的には、制御フレーム送信部２２０は、自発制御フレームの送信の指示を受けたか、制御フレームの通知を受けたかを判定する。自発制御フレーム送信の指示を受けた場合（Ｓ３０：自発制御フレーム送信）、処理をＳ３４に進める。制御フレームの通知を受けた場合（Ｓ３０：制御フレーム中継）、処理をＳ３１に進める。
【０１００】
Ｓ３１では、制御フレーム送信部２２０は、受信フレーム（制御フレーム）の中継ＭＡＣを判定する。具体的には、制御フレーム送信部２２０は、受信フレームの中継ＭＡＣ３２３に、自装置のＭＡＣアドレスが含まれているか否かを判定する。自装置のＭＡＣアドレスが含まれていない場合（Ｓ３１：自装置ＭＡＣなし）、処理をＳ３２に進める。自装置のＭＡＣアドレスが含まれている場合（Ｓ３１：自装置ＭＡＣあり）、当該制御フレームを破棄し、本フローを終了する。
【０１０１】
なお、制御フレームの中継ＭＡＣ３２３に自装置のＭＡＣアドレスが含まれている場合に、当該制御フレームを破棄することにより、制御フレームが同じスイッチ２０を複数回経由することがなくなるため、制御フレームが無限に転送され続けることを防ぐことができる。
【０１０２】
Ｓ３２では、制御フレーム送信部２２０は、制御フレームの中継ＭＡＣ３２３に、接続順序が維持されるように自装置ＭＡＣアドレスを追加する。そして、処理をＳ３３に進める。
【０１０３】
Ｓ３３では、制御フレーム送信部２２０は、制御フレームを受信した受信ポート以外の全ポートから制御フレームを送信する。そして、本フローを終了する。
【０１０４】
Ｓ３４では、制御フレーム送信部２２０は、送信フレームを作成する。具体的には、制御フレーム送信部２２０は、宛先ＭＡＣ３１１をブロードキャスト、送信元ＭＡＣ３１２を自装置、Ｔｙｐｅ３１３を制御フレームを識別する値、として設定した制御フレームを生成する。中継ＭＡＣ３２３には、値を設定しない。そして、処理をＳ３５に進める。
【０１０５】
Ｓ３５では、制御フレーム送信部２２０は、Ｓ３４で生成した制御フレームのＭＡＣテーブル３２２に、自装置の制御ＭＡＣテーブル２４０を設定する。そして、処理をＳ３６に進める。
【０１０６】
Ｓ３６では、制御フレーム送信部２２０は、全ポートからの制御フレームの送信が終了したか否かを判定する。全ポートからの送信が終了した場合（Ｓ３７：未送信ポートなし）、本フローを終了する。全ポートからの送信が終了していない場合（Ｓ３７：未送信ポートあり）、処理をＳ３７に進める。
【０１０７】
Ｓ３７では、制御フレーム送信部２２０は、制御フレームの送信ポート３２１に、送信ポートの識別情報を設定する。具体的には、制御フレーム送信部２２０は、制御フレームを未送信のポートを１つ特定し、当該ポートの識別情報を、制御フレームの送信ポート３２１に設定する。そして、処理をＳ３８に進める。
【０１０８】
Ｓ３８では、制御フレーム送信部２２０は、送信ポートから制御フレームを送信する。具体的には、制御フレーム送信部２２０は、Ｓ３７で特定したポートから、制御フレームを送信する。そして、処理をＳ３６に戻す。
【０１０９】
図１４は、本発明の一実施形態の一例に係るフレーム送信処理のフロー図である。本フローは、例えば、フレーム受信部２００からフレーム送信部２３０に対して通信フレームが通知された場合に開始される。
【０１１０】
Ｓ４０では、フレーム送信部２３０は、通知された通信フレームの宛先ＭＡＣアドレスが、ブロードキャストであるかユニキャストであるかを判定する。宛先ＭＡＣアドレスがブロードキャストである場合（Ｓ４０：ブロードキャストアドレス）、処理をＳ４１に進める。宛先ＭＡＣアドレスがユニキャストである場合（Ｓ４０：ユニキャストアドレス）、処理をＳ４２に進める。
【０１１１】
Ｓ４１では、フレーム送信部２３０は、通常のＳＴＰに従ってブロードキャスト送信を行う。すなわち、中継対象の通信フレームを受信したポート及び遮断されたポート以外のポートから、通信フレームをブロードキャスト送信する。そして、本フローを終了する。
【０１１２】
Ｓ４２では、フレーム送信部２３０は、送信ポートテーブルの判定を行う。具体的には、フレーム送信部２３０は、送信ポートテーブル２８０を参照し、中継対象の通信フレームの宛先ＭＡＣアドレスに対応する宛先ＭＡＣアドレス２８１を有するエントリーを特定する。対応するエントリーがある場合（Ｓ４２：宛先ＭＡＣあり）、処理をＳ４３に進める。対応するエントリーがない場合（Ｓ４２：宛先ＭＡＣなし）、処理をＳ４４に進める。
【０１１３】
Ｓ４３では、フレーム送信部２３０は、通信フレームを送信ポートからユニキャスト送信する。具体的には、フレーム送信部２３０は、Ｓ４２で特定したエントリーの送信ポート２８２に対応する送信ポートから通信フレームをユニキャスト送信する。そして、本フローを終了する。
【０１１４】
Ｓ４４では、フレーム送信部２３０は、通常のＳＴＰに従ってフラディング送信を行う。すなわち、中継対象の通信フレームを受信したポート及び遮断されたポート以外のポートから、通信フレームをフラッディング送信する。そして、本フローを終了する。
【０１１５】
なお、図１１〜図１４のフローの各処理単位は、スイッチ２０の処理を理解容易にするために、主な処理内容に応じて分割したものである。処理単位の分割の仕方や名称によって、本願発明が制限されることはない。スイッチ２０の処理は、処理内容に応じて、さらに多くの処理単位に分割することもできる。また、１つの処理単位がさらに多くの処理を含むように分割することもできる。
【０１１６】
以上、本発明の一実施形態の一例について説明した。本実施形態によれば、冗長化された構成を有するネットワークにおいて、フレームの宛先に応じて経路を動的に変更するフレーム転送を行うことができる。
【０１１７】
すなわち、本実施形態では、各フレーム転送装置は、制御フレームにより、相互にＭＡＣテーブルを交換し、また、ネットワーク内のフレーム転送装置の接続順序を特定する。そして、ユニキャストの宛先ごとに、その宛先までの最短経路（すなわち、中継スイッチ数が最小の経路、）に接続するポートを特定する。このような構成により、フレームごとに、当該フレームの宛先まで最短で到達する経路に接続されるポートが動的に選択され、送信される。
【０１１８】
その結果、ＳＴＰにより遮断されている経路であるかないかに係わらず、最短経路が選択されるため、転送遅延がより少ない通信を提供できる。さらに、サービスごとに対応する経路をあらかじめ設計する必要がなくなるため、ネットワークが拡大したり、サービスの種類が増えたりしても、経路設計やネットワーク管理の複雑化やネットワーク管理者の負担の増加を抑えることができる。
【０１１９】
また、本実施形態では、宛先がブロードキャスト又は不明の場合には、通常のＳＴＰによって処理されるので、ブロードキャストストームが発生することもない。
【０１２０】
なお、上記の本発明の実施形態は、本発明の要旨と範囲を例示することを意図し、限定するものではない。多くの代替物、修正および変形例が当業者にとって明らかである。
【符号の説明】
【０１２１】
１：ネットワークシステム、１０：端末、２０：スイッチ、３０：制御フレーム、３０ａ〜ｅ：制御フレーム、２００：フレーム受信部、２１０：制御フレーム処理部、２２０：制御フレーム送信部、２３０：フレーム送信部、２４０：制御ＭＡＣテーブル、２４１：受信ポート、２４２：ＭＡＣアドレス、２５０：制御ＭＡＣテーブル、２５１：受信ポート、２５２：ＭＡＣアドレス、２６０：接続スイッチテーブル、２６１：ＭＡＣアドレス、２６２：接続ＳＷ、２７０：中継ＭＡＣテーブル、２７１：送信ポート、２７２：ＭＡＣアドレス、２８０：送信ポートテーブル、２８１：宛先ＭＡＣアドレス、２８２：送信ポート、３１０：Ｅｔｈｅｒヘッダ、３１１：宛先ＭＡＣアドレス、３１２：送信元ＭＡＣアドレス、３２０：制御情報、３２１：送信ポート、３２２：ＭＡＣテーブル、３２３：中継ＭＡＣ
【図１】
2012109864.tif 000003
【図２】
2012109864.tif 000004
【図３】
2012109864.tif 000005
【図４】
2012109864.tif 000006
【図５】
2012109864.tif 000007
【図６】
2012109864.tif 000008
【図７】
2012109864.tif 000009
【図８】
2012109864.tif 000010
【図９】
2012109864.tif 000011
【図１０】
2012109864.tif 000012
【図１１】
2012109864.tif 000013
【図１２】
2012109864.tif 000014
【図１３】
2012109864.tif 000015
【図１４】
2012109864.tif 000016
【図１５】
2012109864.tif 000017