(57)【特許請求の範囲】
【請求項１】
障害発生経路に接続されているポートを検出する検出手段と、
ＭＡＣアドレス学習テーブルを参照して、前記検出手段によって検出されたポート以外の他のポートに対応する情報処理装置のＭＡＣアドレスを送信元とし、ユニキャストアドレスであることを示す情報が設定された不使用のＭＡＣアドレスを宛先とするユニキャストパケットを設定する設定手段と、
前記設定手段によって設定されたユニキャストパケットを送信する送信手段と、
を備えることを特徴とするスイッチ。
【請求項２】
前記設定手段は、
前記他のポートのうち、前記検出されたポートと同一ＶＬＡＮ内のポートに対応する情報処理装置のＭＡＣアドレスを送信元とし不使用のＭＡＣアドレスを宛先とするユニキャストパケットを設定することを特徴とする請求項１に記載のスイッチ。
【請求項３】
前記設定手段は、
前記他のポートのうち指定ポートに対応する情報処理装置のＭＡＣアドレスを送信元とし不使用のＭＡＣアドレスを宛先とするユニキャストパケットを設定することを特徴とする請求項１または２に記載のスイッチ。
【請求項４】
前記設定手段は、
前記他のポートに対応する情報処理装置のＭＡＣアドレスのうち指定ＭＡＣアドレスを送信元とし不使用のＭＡＣアドレスを宛先とするユニキャストパケットを設定することを特徴とする請求項１または２に記載のスイッチ。
【請求項５】
前記設定手段は、
前記検出されたポートに対応するＭＡＣアドレスを前記ＭＡＣアドレス学習テーブルから消去することを特徴とする請求項１〜４のいずれか一つに記載のスイッチ。
【請求項６】
障害発生経路に接続されているポートを検出する検出工程と、
ＭＡＣアドレス学習テーブルを参照して、前記検出工程によって検出されたポート以外の他のポートに対応する情報処理装置のＭＡＣアドレスを送信元とし、ユニキャストアドレスであることを示す情報が設定された不使用のＭＡＣアドレスを宛先とするユニキャストパケットを設定する設定工程と、
前記設定工程によって設定されたユニキャストパケットを送信する送信工程と、
をコンピュータに実行させることを特徴とする通知プログラム。
【請求項７】
障害発生経路に接続されているポートを検出する検出工程と、
ＭＡＣアドレス学習テーブルを参照して、前記検出工程によって検出されたポート以外の他のポートに対応する情報処理装置のＭＡＣアドレスを送信元とし、ユニキャストアドレスであることを示す情報が設定された不使用のＭＡＣアドレスを宛先とするユニキャストパケットを設定する設定工程と、
前記設定工程によって設定されたユニキャストパケットを送信する送信工程と、
を含んだことを特徴とする通知方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アドレス変更を通知するスイッチ、通知プログラム、および通知方法に関する。
【背景技術】
【０００２】
複数のスイッチ間に複数の経路がある場合、あるスイッチが障害発生を検出し経路を切り替えた際には、周囲のスイッチに切り替えを通知し、各スイッチにおいてＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレス学習テーブルを書き換える必要がある。スパニングツリープロトコルにより経路切り替えを行う場合には、通信再開まで時間がかかってしまうという問題がある。その改善手法として、下記特許文献１には所定の専用パケットにより各スイッチに通知を行なう方法や、ダミーのマルチキャストパケットを送出することにより、該パケットを受信し転送する各スイッチにＭＡＣアドレスを学習させる方法が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国特許出願公開第２００８／０１２３５６１号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、専用パケットを使用する方法では、受信側にも該当機能が必要となるため、コストが増大するという問題があった。また、ダミーのマルチキャストパケットを使用する方法では、ネットワーク上のＭＡＣアドレス学習テーブルの変更の必要のない端末まで受信してしまい、本来不要な受信処理により端末の負荷が増大するという問題があった。
【０００５】
本発明は、上述した従来技術による問題点を解消するため、簡易な構成で端末の受信負荷低減を実現することができるスイッチ、通知プログラム、および通知方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するため、本スイッチ、通知プログラム、および通知方法は、障害発生経路に接続されているポートを検出し、ＭＡＣアドレス学習テーブルを参照して、検出されたポート以外の他のポートに対応する情報処理装置のＭＡＣアドレスを送信元とし不使用のＭＡＣアドレスを宛先とするユニキャストパケットを設定し、設定されたユニキャストパケットを送信することを要件とする。
【発明の効果】
【０００７】
本スイッチ、通知プログラム、および通知方法によれば、簡易な構成で端末の受信負荷低減を実現することができるという効果を奏する。
【図面の簡単な説明】
【０００８】
【図１】ＭＡＣアドレスの構造を示す説明図である。
【図２】スイッチのハードウェア構成の一例を示すブロック図である。
【図３】本実施形態にかかるスイッチの機能的構成例を示すブロック図である。
【図４】ＭＡＣアドレス変更通知例１を示す説明図（その１）である。
【図５】ＭＡＣアドレス変更通知例１を示す説明図（その２）である。
【図６】ＭＡＣアドレス変更通知例１を示す説明図（その３）である。
【図７】ＭＡＣアドレス変更通知例１を示す説明図（その４）である。
【図８】ＭＡＣアドレス変更通知例２を示す説明図（その１）である。
【図９】ＭＡＣアドレス変更通知例２を示す説明図（その２）である。
【図１０】ＭＡＣアドレス変更通知例２を示す説明図（その３）である。
【図１１】ＭＡＣアドレス変更通知例２を示す説明図（その４）である。
【図１２】アドレス変更通知処理手順を示すフローチャートである。
【図１３】ＭＡＣアドレス変更処理手順を示すフローチャートである。
【図１４】ＭＡＣアドレス変更通知例３を示す説明図（その１）である。
【図１５】ＭＡＣアドレス変更通知例３を示す説明図（その２）である。
【図１６】アドレス変更通知例３におけるＭＡＣアドレス変更通知処理手順を示すフローチャート（その１）である。
【図１７】アドレス変更通知例３におけるＭＡＣアドレス変更通知処理手順を示すフローチャート（その２）である。
【発明を実施するための形態】
【０００９】
以下に添付図面を参照して、この発明にかかるスイッチ、通知プログラム、および通知方法の実施の形態を詳細に説明する。
【００１０】
本実施の形態では、運用系で故障が検出された場合、ダミーのマルチキャストパケットのかわりにあて先不明のｕｎｋｎｏｗｎユニキャストパケットを配信することで、ＭＡＣアドレスの変更を通知する。ｕｎｋｎｏｗｎユニキャストパケットのあて先ＭＡＣアドレスとしては、特定のローカルアドレス（ＭＡＣアドレスでローカルビットが立っている形式のもの）等のネットワークで使用されていないＭＡＣアドレスを使用する。
【００１１】
ｕｎｋｎｏｗｎユニキャストパケットであれば、ＭＡＣアドレス学習の変更が必要なスイッチのみが処理するため、スイッチの配下にある端末には受信されず、端末に負荷がかからない。ｕｎｋｎｏｗｎユニキャストパケットは、スイッチの全ポートに転送されるため、スイッチに対してはマルチキャストパケットを使用した場合と同じ効果がある。
【００１２】
（ＭＡＣアドレスの構造）
図１は、ＭＡＣアドレスの構造を示す説明図である。（Ａ）〜（Ｃ）に示したように、ＭＡＣアドレスは、上位３バイトのメーカーコードと下位３バイトの製品番号とで構成される。メーカーコードとは、そのＭＡＣアドレスを割り当てる機器の製造メーカを識別するコードである。
【００１３】
メーカーコードの先頭の１ビットは、Ｉ／Ｇ（Ｉｎｄｉｖｉｄｕａｌ／Ｇｒｏｕｐ）ビットをあらわしており、０ならば個別アドレス（ユニキャスト）、１ならばグループアドレス（マルチキャスト）を指す。また、先頭から２ビット目のビットは、Ｕ／Ｌ（Ｕｎｉｖｅｒｓａｌ／Ｌｏｃａｌ）ビットをあらわしており、０ならばグローバルアドレス、１ならばローカルアドレスを指す。
【００１４】
本実施の形態で使用するｕｎｋｎｏｗｎユニキャストパケットでは、（Ｂ）および（Ｃ）に示したように、Ｉ／Ｇビットを０に設定する。Ｉ／Ｇビットが０に設定されたＭＡＣアドレスを有するパケットは、ユニキャストパケットとなる。
【００１５】
また、（Ｂ）は、Ｕ／Ｌビットを０に設定したＭＡＣアドレスを示している。Ｕ／Ｌビットが０の場合、メーカーコードの残余の２２ビットで製造メーカを特定する。したがって、この場合のｕｎｋｎｏｗｎユニキャストパケットでは、下位３バイトで表現される製品番号を、その製造メーカが製造する製品のいずれにも割り当てられていないコード（不使用ＭＡＣアドレス）に設定することとなる。
【００１６】
また、（Ｃ）は、Ｕ／Ｌビットを１に設定したＭＡＣアドレスを示している。Ｕ／Ｌビットが１の場合、残余の４６ビットで特定のネットワークでの固有のアドレスをあらわす。したがって、この場合のｕｎｋｎｏｗｎユニキャストパケットでは、残余の４６ビットで表現されるアドレスを、その特定のネットワーク内で誰にも割り当てられていない不使用ＭＡＣアドレスに設定することとなる。
【００１７】
（スイッチのハードウェア構成）
図２は、スイッチのハードウェア構成の一例を示すブロック図である。スイッチＳは、プロセッサ２０１とメモリ２０２と選択回路２０３と複数のポートＰとを備える。プロセッサ２０１は、スイッチを統括制御する。メモリ２０２は、プロセッサ２０１のワークエリアとして使用される。
【００１８】
また、メモリ２０２には、ＭＡＣアドレス学習テーブルＴと、ＶＬＡＮテーブルＶＬと、プログラム２０５と、不使用ＭＡＣアドレス２０６が記憶されている。選択回路２０３は、プロセッサ２０１からの指令によりパケットを転送するポートを選択する。たとえば、ＶＬＡＮテーブルＶＬの設定に従って、ポートＰどうしを接続する。ポートＰは、パケットの送受信をおこなう。
【００１９】
（スイッチの機能的構成）
図３は、本実施形態にかかるスイッチの機能的構成例を示すブロック図である。スイッチＳは、記憶部３００と、受信部３０１と、検出部３０２と、設定部３０３と、送信部３０４と、を備えている。記憶部３００は、各種情報を記憶する機能を有する。具体的には、図２に示したＭＡＣアドレス学習テーブルＴと、ＶＬＡＮテーブルＶＬと、プログラム２０５と、不使用ＭＡＣアドレス２０６を記憶する。記憶部３００は、図２に示したメモリ２０２によりその機能を実現する。
【００２０】
受信部３０１は、接続先からのパケットを受信する機能を有する。具体的には、接続先がスイッチＳであれば、スイッチＳから転送されてくるパケットを受信する。また、接続先が端末（パーソナルコンピュータやサーバ）であれば、端末から送信されてくるパケットを受信する。受信部３０１は、図２に示したポートＰによりその機能を実現する。
【００２１】
検出部３０２は、ポートＰに接続されている運用系のリンクの障害発生を検出する機能を有する。具体的には、たとえば、障害が発生すると、運用系のリンクの電圧レベルが正常時の電圧値から下降するため、電圧値を監視することで、ポートＰに接続されている運用系のリンクに障害が発生したか否かを検出する。検出部３０２は、具体的には、たとえば、図２に示したポートＰから得られた電圧信号を、メモリ２０２に記憶されたプログラム２０５で監視処理をすることによりその機能を実現する。
【００２２】
設定部３０３は、各種設定をおこなう機能を有する。具体的には、従来と同様、ＭＡＣアドレス学習テーブルＴの設定、ＶＬＡＮテーブルＶＬの設定、選択回路２０３によるポートＰ間接続の設定をおこなう。また、検出部３０２により運用系のリンクの障害発生が検出された場合に待機系のリンクをリンクダウンからリンクアップに設定する。
【００２３】
本実施の形態では、さらに、記憶部３００から不使用ＭＡＣアドレス２０６を読み出して、読み出された不使用ＭＡＣアドレスをあて先とするｕｎｋｎｏｗｎユニキャストパケットを生成する。この場合、ｕｎｋｎｏｗｎユニキャストパケットの送信元は、たとえば、以下のとおりである。
【００２４】
（１）  ＶＬＡＮ未設定の場合、ＭＡＣアドレス学習テーブルＴにおいて、障害発生したリンクに接続されているポート（以下、「接続元ポート」）以外の他のポートに対応するＭＡＣアドレス
【００２５】
（２）  上記（１）において、接続元ポート以外の他のポートの中の指定ポートに対応するＭＡＣアドレス
【００２６】
（３）  上記（１）において、接続元ポート以外の他のポートに対応するＭＡＣアドレスの中の指定ＭＡＣアドレス
【００２７】
（４）  ＶＬＡＮが設定されている場合、ＭＡＣアドレス学習テーブルＴにおいて、接続元ポート以外の他のポートのうち、接続元ポートと同一ＶＬＡＮに所属するポートに対応するＭＡＣアドレス
【００２８】
（５）  上記（４）において、接続元ポート以外の他のポートのうち、接続元ポートと同一ＶＬＡＮに所属するポートの中の指定ポートに対応するＭＡＣアドレス
【００２９】
（６）  上記（４）において、接続元ポート以外の他のポートのうち、接続元ポートと同一ＶＬＡＮに所属するポートに対応するＭＡＣアドレスの中の指定ＭＡＣアドレス
【００３０】
なお、指定ポートや指定ＭＡＣアドレスはあらかじめ設定しておき、記憶部３００に格納しておく。
【００３１】
上記（１）〜（６）において、送信元となるＭＡＣアドレスが複数ある場合は、ｕｎｋｎｏｗｎユニキャストパケットはＭＡＣアドレスの個数分生成されることとなる。ただし、（２）、（３）、（５）、（６）において、指定ポートや指定ＭＡＣアドレスを設定することで、送信元のＭＡＣアドレスの個数を減らすことができる。これにより、生成されるｕｎｋｎｏｗｎユニキャストパケットが減少するため、ＭＡＣアドレスの変更を早期に通知することができる。
【００３２】
送信部３０４は、パケットを転送先に送信する機能を有する。具体的には、転送先がスイッチＳであれば、送信されてきたパケットを転送先のスイッチに送信する。また、転送先が情報処理装置（端末やサーバ）であれば、送信されてきたパケットを転送先に送信する。送信部３０４は、図２に示したポートＰによりその機能を実現する。つぎに、ＭＡＣアドレス変更通知の具体例について、図４〜図７を用いて説明する。
【００３３】
（ＭＡＣアドレス変更通知例１）
図４〜図７は、ＭＡＣアドレス変更通知例１を示す説明図である。ＭＡＣアドレス変更通知の具体例１では、ＶＬＡＮが設定されていないネットワーク内、あるいは、同一ＶＬＡＮ内でのＭＡＣアドレス変更通知を示している。
【００３４】
図４〜図７において、Ｓａ〜Ｓｄはスイッチであり、Ｃａ１，Ｃａ２，Ｃｄは、端末である。また、Ｌｘｙ（ｘ，ｙは任意のアルファベット。）は、スイッチＳｘ〜Ｓｙ間のリンクを示す。たとえば、リンクＬａｂは、スイッチＳａ〜Ｓｂ間のリンクである。
【００３５】
図４〜図７において、スイッチＳａ，Ｓｄの図形の周囲に記述した数字はポート番号である。また、ＴａはスイッチＳａのＭＡＣアドレス学習テーブルを示しており、ＴｄはスイッチＳｄのＭＡＣアドレス学習テーブルを示している。ＭＡＣアドレス学習テーブルは、ポート番号とＭＡＣアドレスを対応させたテーブルである。たとえば、ＭＡＣアドレス学習テーブルＴａの先頭レコードでは、ポート１と端末ＣｄのＭＡＣアドレスが対応していることを示している。
【００３６】
また、スイッチＳａ，Ｓｂ，Ｓｄの経路（リンクＬａｂ，Ｌｂｄ）を運用系の経路とし、スイッチＳａ，Ｓｃ，Ｓｄの経路（リンクＬａｃ，Ｌｃｄ）を待機系の経路とする。したがって、通常は、運用系の経路を利用してパケットが通信されるが、運用系の経路上で障害が発生した場合は、待機系の経路に切り替えられるものとする。たとえば、リンクＬａｂで障害が発生した場合は、待機系の経路がリンクアップして通信可能な状態となる。
【００３７】
図４では、端末Ｃｄを宛先とする端末Ｃａ１からのパケットは、スイッチＳａのポート３で受信される。そして、スイッチＳａでは、ＭＡＣアドレス学習テーブルＴａを参照することにより、宛先である端末ＣｄのＭＡＣアドレスに対応するポート１から転送される。転送されたパケットは、リンクＬａｂ、スイッチＳｂ、リンクＬｂｄを経由して、スイッチＳｄのポート１に受信される。スイッチＳｄでは、ＭＡＣアドレス学習テーブルＴｄを参照することにより、宛先である端末ＣｄのＭＡＣアドレスに対応するポート３から転送される。これにより、端末Ｃａ１のパケットが端末Ｃｄに到達する。
【００３８】
図５において、リンクＬａｂに障害が発生すると、スイッチＳａの検出部３０２は、その障害発生を検出する。これにより、設定部３０３では、スイッチＳａのポート２をリンクアップさせることで、スイッチＳａ〜Ｓｃ間が通信可能な状態となる。なお、スイッチＳｃ〜Ｓｄ間のリンクＬｃｄについては、常時リンクアップ状態としておいてもよく、スイッチＳａ〜Ｓｃ間がリンクアップ状態になったことを契機としてリンクダウン状態からリンクアップ状態に設定変更することとしてもよい。
【００３９】
また、スイッチＳａでは、リンクＬａｂの障害発生を検出すると、リンクＬａｂに接続されている接続元であるポート１に対応するＭＡＣアドレス（端末ＣｄのＭＡＣアドレス）を、ＭＡＣアドレス学習テーブルＴａから消去する。これにより、運用系の経路への誤った転送を防止する。
【００４０】
つぎに、図６において、スイッチＳａは、設定部３０３により、ｕｎｋｎｏｗｎユニキャストパケットＵＰ１，ＵＰ２を生成する。ｕｎｋｎｏｗｎユニキャストパケットＵＰ１，ＵＰ２は、送信元アドレスを、接続元ポートであるポート１以外のポート２〜４のうち、ＭＡＣアドレス学習テーブルＴａに学習されているＭＡＣアドレス（図６では、端末Ｃａ１，Ｃａ２のＭＡＣアドレス）とする。そして、宛先を記憶部３００（メモリ２０２）に記憶された不使用ＭＡＣアドレス（図６では、「ｕｎｋｎｏｗｎ」と表記）とする。
【００４１】
図７では、スイッチＳａは、ｕｎｋｎｏｗｎユニキャストパケットＵＰ１，ＵＰ２をポート２から送信する。送信されたｕｎｋｎｏｗｎユニキャストパケットＵＰ１，ＵＰ２は、待機系の経路を経由して、スイッチＳｃ，Ｓｄに転送される。また、スイッチＳｄでは、リンクアップ状態のままのリンクＬｂｄを経由してスイッチＳｂにも転送される。
【００４２】
スイッチＳｄでは、ＭＡＣアドレス学習テーブルＴｄにおいて、ｕｎｋｎｏｗｎユニキャストパケットＵＰ１がポート２から受信されると、ポート２に対応するＭＡＣアドレスとして、ｕｎｋｎｏｗｎユニキャストパケットＵＰ１の送信元アドレスである端末Ｃａ１のＭＡＣアドレスをＭＡＣアドレス学習テーブルＴｄに書き込む。そして、ポート１に対応する端末Ｃａ１のＭＡＣアドレスをＭＡＣアドレス学習テーブルＴｄから消去する。
【００４３】
同様に、ＭＡＣアドレス学習テーブルＴｄにおいて、ｕｎｋｎｏｗｎユニキャストパケットＵＰ２がポート２から受信されると、ポート２に対応するＭＡＣアドレスとして、ｕｎｋｎｏｗｎユニキャストパケットＵＰ２の送信元アドレスである端末Ｃａ２のＭＡＣアドレスをＭＡＣアドレス学習テーブルＴｄに書き込む。そして、ポート１に対応する端末Ｃａ２のＭＡＣアドレスをＭＡＣアドレス学習テーブルＴｄから消去する。
【００４４】
このように、ｕｎｋｎｏｗｎユニキャストパケットＵＰ１，ＵＰ２は、スイッチＳｂ〜Ｓｄには転送されるが、宛先が不使用ＭＡＣアドレスであるため、端末Ｃａ１，Ｃａ２，ＣｄではＭＡＣアドレスが一致せず受信できない。
【００４５】
このように、対象となるネットワーク内のスイッチＳｂ〜Ｓｄにはマルチキャストと同様に行き渡ってアドレス変更が必要なスイッチＳｄに通知され、スイッチＳｄにおいて通常どおりＭＡＣアドレス学習テーブルＴｄが更新される。その一方で、ｕｎｋｎｏｗｎユニキャストパケットＵＰ１，ＵＰ２は、端末Ｃａ１，Ｃａ２，Ｃｄでは受信されないため、受信負荷の低減化を図ることができる。
【００４６】
（ＭＡＣアドレス変更通知例２）
図８〜図１１は、ＭＡＣアドレス変更通知例２を示す説明図である。ＭＡＣアドレス変更通知の具体例２では、複数のＶＬＡＮ（図８〜図１１では２つ）が設定されている場合のＭＡＣアドレス変更通知を示している。図８〜図１１において、Ｓａ〜Ｓｅはスイッチであり、Ｃａ１，Ｃａ２，Ｃｄ、Ｃｅは、端末である。また、Ｌｘｙ（ｘ，ｙは任意のアルファベット。）は、スイッチＳｘ〜Ｓｙ間のリンクを示す。たとえば、リンクＬａｂは、スイッチＳａ〜Ｓｂ間のリンクである。
【００４７】
図８〜図１１において、スイッチＳａ，Ｓｄの図形の周囲に記述した数字はポート番号である。また、ＴａはスイッチＳａのＭＡＣアドレス学習テーブルを示しており、ＴｄはスイッチＳｄのＭＡＣアドレス学習テーブルを示している。ＭＡＣアドレス学習テーブルＴａは、ポート番号とＭＡＣアドレスを対応させたテーブルである。たとえば、ＭＡＣアドレス学習テーブルＴａの先頭レコードでは、ポート１と端末ＣｄのＭＡＣアドレスが対応していることを示している。
【００４８】
また、ＶＬａは、スイッチＳａが保持しているＶＬＡＮテーブルである。図８〜図１１では、端末Ｃａ１，Ｃｄ，スイッチＳａのポート１〜３，スイッチＳｂ〜ＳｄがＶＬＡＮ１に所属しており、端末Ｃａ２，Ｃｅ，スイッチＳａのポート４，５，スイッチＳｅがＶＬＡＮ２に所属しているものとする。
【００４９】
また、ＶＬＡＮ１では、スイッチＳａ，Ｓｂ，Ｓｄの経路（リンクＬａｂ，Ｌｂｄ）を運用系の経路とし、スイッチＳａ，Ｓｃ，Ｓｄの経路（リンクＬａｃ，Ｌｃｄ）を待機系の経路とする。したがって、通常は、運用系の経路を利用してパケットが通信されるが、運用系の経路上で障害が発生した場合は、待機系の経路に切り替えられるものとする。たとえば、リンクＬａｂで障害が発生した場合は、待機系の経路がリンクアップして通信可能な状態となる。
【００５０】
図８では、端末Ｃｄを宛先とする端末Ｃａ１からのパケットは、スイッチＳａのポート３で受信される。そして、スイッチＳａでは、ＭＡＣアドレス学習テーブルＴａを参照することにより、宛先である端末ＣｄのＭＡＣアドレスに対応するポート１から転送される。転送されたパケットは、リンクＬａｂ、スイッチＳｂ、リンクＬｂｄを経由して、スイッチＳｄのポート１に受信される。スイッチＳｄでは、ＭＡＣアドレス学習テーブルＴｄを参照することにより、宛先である端末ＣｄのＭＡＣアドレスに対応するポート３から転送される。これにより、端末Ｃａ１のパケットが端末Ｃｄに到達する。
【００５１】
図９において、リンクＬａｂに障害が発生すると、スイッチＳａの検出部３０２は、その障害発生を検出する。これにより、設定部３０３では、スイッチＳａのポート２をリンクアップさせることで、スイッチＳａ〜Ｓｃ間が通信可能な状態となる。なお、スイッチＳｃ〜Ｓｄ間のリンクＬｃｄについては、常時リンクアップ状態としておいてもよく、スイッチＳａ〜Ｓｃ間がリンクアップ状態になったことを契機としてリンクダウン状態からリンクアップ状態に設定変更することとしてもよい。
【００５２】
また、スイッチＳａでは、リンクＬａｂの障害発生を検出すると、リンクＬａｂに接続されている接続元であるポート１に対応するＭＡＣアドレス（端末ＣｄのＭＡＣアドレス）を、ＭＡＣアドレス学習テーブルＴａから消去する。これにより、運用系だった経路への誤った転送を防止する。
【００５３】
つぎに、図１０において、スイッチＳａは、設定部３０３により、ｕｎｋｎｏｗｎユニキャストパケットＵＰ１を生成する。ｕｎｋｎｏｗｎユニキャストパケットＵＰ１は、送信元アドレスを、接続元ポートであるポート１以外のポート２〜５のうち、ポート１と同一ＶＬＡＮ（ＶＬＡＮ１）であるポート３に対応するＭＡＣアドレス（図１０では、端末Ｃａ１のＭＡＣアドレス）とする。そして、宛先を記憶部３００（メモリ２０２）に記憶された不使用ＭＡＣアドレス（図１０では、「ｕｎｋｎｏｗｎ」と表記）とする。
【００５４】
図１１では、スイッチＳａは、ｕｎｋｎｏｗｎユニキャストパケットＵＰ１をポート２から送信する。ポート５は異なるＶＬＡＮ２であるため、ポート５からは送信されない。送信されたｕｎｋｎｏｗｎユニキャストパケットＵＰ１は、待機系の経路を経由して、スイッチＳｃ，Ｓｄに転送される。また、スイッチＳｄでは、リンクアップ状態のままのリンクＬｂｄを経由してスイッチＳｂにも転送される。
【００５５】
スイッチＳｄでは、ＭＡＣアドレス学習テーブルＴｄにおいて、ｕｎｋｎｏｗｎユニキャストパケットＵＰ１がポート２から受信されると、ポート２に対応するＭＡＣアドレスとして、ｕｎｋｎｏｗｎユニキャストパケットＵＰ１の送信元アドレスである端末Ｃａ１のＭＡＣアドレスをＭＡＣアドレス学習テーブルＴｄに書き込む。そして、ポート１に対応する端末Ｃａ１のＭＡＣアドレスをＭＡＣアドレス学習テーブルＴｄから消去する。
【００５６】
このように、ｕｎｋｎｏｗｎユニキャストパケットＵＰ１は、スイッチＳｂ〜Ｓｄには転送されるが、宛先が不使用ＭＡＣアドレスであるため、端末Ｃａ１，Ｃａ２，ＣｄではＭＡＣアドレスが一致せず受信できない。
【００５７】
このように、対象となるＶＬＡＮ１内のスイッチＳｂ〜Ｓｄにはマルチキャストと同様に行き渡り、スイッチＳｄにおいて通常どおりＭＡＣアドレス学習テーブルＴｄが更新される。その一方で、ｕｎｋｎｏｗｎユニキャストパケットＵＰ１は、端末Ｃａ１，Ｃａ２，Ｃｄでは受信されないため、受信負荷の低減化を図ることができる。
【００５８】
また、接続元ポートであるポート１とは異なるＶＬＡＮ２に所属しているポートに関しては、ｕｎｋｎｏｗｎユニキャストパケットが生成されないため、ｕｎｋｎｏｗｎユニキャストパケット数の低減化を図ることができる。
【００５９】
（アドレス変更通知処理手順）
図１２は、アドレス変更通知処理手順を示すフローチャートである。図１２に示したフローチャートは、図４〜図１１の例では、スイッチＳａで実行されることとなる。
【００６０】
まず、スイッチＳは、検出部３０２により、運用系の経路の障害発生の検出を待ち受ける（ステップＳ１２０１：Ｎｏ）。障害発生が検出された場合（ステップＳ１２０１：Ｙｅｓ）、スイッチＳは、設定部３０３により、待機系ポート（待機系のリンクに接続されているポート。ＭＡＣアドレス変更通知例１，２では、ポート２）を、運用可能状態に設定する（ステップＳ１２０２）。
【００６１】
そして、スイッチＳは、運用系ポートに対応するＭＡＣアドレスをＭＡＣアドレス学習テーブルＴから消去する（ステップＳ１２０３）。ＭＡＣアドレス変更通知例１，２では、ＭＡＣアドレス学習テーブルＴａのポート１に対応する端末ＣｄのＭＡＣアドレスを、ＭＡＣアドレス学習テーブルＴａから消去する。
【００６２】
そして、スイッチＳは、他のＶＬＡＮ（ＭＡＣアドレス変更通知例２では、接続元ポートであるポート１が所属するＶＬＡＮ１とは異なるＶＬＡＮ２）があるか否かを判断する（ステップＳ１２０４）。他のＶＬＡＮがない場合（ステップＳ１２０４：Ｎｏ）、スイッチＳは、接続元ポート以外のポートのＭＡＣアドレスをＭＡＣアドレス学習テーブルＴから抽出し（ステップＳ１２０５）、ステップＳ１２０７に移行する。
【００６３】
一方、他のＶＬＡＮがある場合（ステップＳ１２０４：Ｙｅｓ）、スイッチＳは、接続元ポート以外で、かつ、接続元ポートと同一ＶＬＡＮ内のポートのＭＡＣアドレスをＭＡＣアドレス学習テーブルＴから抽出し（ステップＳ１２０６）、ステップＳ１２０７に移行する。
【００６４】
ステップＳ１２０７では、スイッチＳは、設定部３０３により、ステップＳ１２０５またはＳ１２０６での抽出ＭＡＣアドレスを送信元とし、不使用ＭＡＣアドレスを宛先とするｕｎｋｎｏｗｎユニキャストパケットを生成する（ステップＳ１２０７）。そして、スイッチＳは、送信部３０４により、生成されたｕｎｋｎｏｗｎユニキャストパケットを接続元ポート以外の他のポートから送信する（ステップＳ１２０８）。これにより、ＭＡＣアドレス変更通知処理の一連の処理を終了する。
【００６５】
（ＭＡＣアドレス変更処理）
図１３は、ＭＡＣアドレス変更処理手順を示すフローチャートである。図１３のフローチャートは、ｕｎｋｎｏｗｎユニキャストパケットを受信したスイッチが実行する手順である。
【００６６】
まず、スイッチＳは、ｕｎｋｎｏｗｎユニキャストパケットの受信を待ち受ける（ステップＳ１３０１：Ｎｏ）。ｕｎｋｎｏｗｎユニキャストパケットを受信した場合（ステップＳ１３０１：Ｙｅｓ）、スイッチＳは、ＭＡＣアドレス学習テーブルＴにおいて、ｕｎｋｎｏｗｎユニキャストパケットの受信ポートに対応するＭＡＣアドレスとして、ｕｎｋｎｏｗｎユニキャストパケットの送信元ＭＡＣアドレスを登録する（ステップＳ１３０２）。
【００６７】
そして、スイッチＳは、ＭＡＣアドレス学習テーブルＴにおいて、送信元ＭＡＣアドレスが登録されていたポートから送信元ＭＡＣアドレスを消去する（ステップＳ１３０２）。このあと、スイッチＳは、ｕｎｋｎｏｗｎユニキャストパケットの受信ポート以外のポートからｕｎｋｎｏｗｎユニキャストパケットを転送する（ステップＳ１３０４）。
【００６８】
このように、上述したアドレス変更通知によれば、ｕｎｋｎｏｗｎユニキャストパケットの宛先ＭＡＣアドレスは、いずれの端末にも使用されていないＭＡＣアドレスである。したがって、ｕｎｋｎｏｗｎユニキャストパケットを受信したスイッチＳは、未学習のＭＡＣアドレスであると判断し、ｕｎｋｎｏｗｎユニキャストパケットの受信ポート以外の全ポートから転送する。また、受信ポートに対応するＭＡＣアドレスとして、ｕｎｋｎｏｗｎユニキャストパケットの送信元ＭＡＣアドレスを登録することで学習することができる。
【００６９】
これに対し、いずれの端末も自端末宛のパケットではないと判断するため、マルチキャストパケットのような受信処理が、端末ではなされない。結果として、不要なマルチキャストパケットを受信処理する端末の処理負荷が軽減され、端末におけるアプリケーションの動作が遅くなるなどの弊害を防止することができる。
【００７０】
（ＭＡＣアドレス変更通知例３）
図１４および図１５は、ＭＡＣアドレス変更通知例３を示す説明図である。図４〜図７に示したＭＡＣアドレス変更通知例１では、スイッチＳａの配下の端末Ｃａ１，Ｃａ２のＭＡＣアドレスを送信元ＭＡＣアドレスとし、不使用ＭＡＣアドレスを宛先ＭＡＣアドレスとしたｕｎｋｎｏｗｎユニキャストパケットＵＰ１，ＵＰ２を送信した。これに対し、ＭＡＣアドレス変更通知例３では、指定ポートに対応するＭＡＣアドレスまたは指定ＭＡＣアドレスを送信元ＭＡＣアドレスとするｕｎｋｎｏｗｎユニキャストパケットを送信する例である。
【００７１】
ＭＡＣアドレス変更通知例１では、スイッチＳａの配下の端末数分のｕｎｋｎｏｗｎユニキャストパケットを生成して送信していたが、ＭＡＣアドレス変更通知例３では、ｕｎｋｎｏｗｎユニキャストパケットの生成数を減らすこととなる。
【００７２】
このように、たとえば、指定されたＭＡＣアドレスを端末Ｃａ１のＭＡＣアドレスとした場合、特定のＭＡＣアドレスに限定する利用シーンとしては以下の２つが想定される。１つは、端末Ｃａ２と端末Ｃｄとの間の通信は必ず端末Ｃａ２から始めるため、端末Ｃａ２については、ｕｎｋｎｏｗｎユニキャストパケットを利用した学習が不要であるケースが考えられる。もう１つは、端末Ｃａ２と端末Ｃｄとの間の通信に時間的に急ぐ必要がなく、エージアウト後の復旧でも問題ないというケースが考えられる。
【００７３】
なお、ＭＡＣアドレス変更通知例３は、図４および図５まではＭＡＣアドレス変更通知例１と同一内容であるため、それ以降について図１４および図１５を用いて説明する。
【００７４】
図１４において、スイッチＳａは、ｕｎｋｎｏｗｎユニキャストパケットＵＰ１を生成する。ＭＡＣアドレス変更通知例１のように、ｕｎｋｎｏｗｎユニキャストパケットＵＰ２は生成されない。具体的には、指定ポートをポート３に設定しておくことにより、ポート３，４のうち指定ポート３に対応する端末Ｃａ１のＭＡＣアドレスを送信元ＭＡＣアドレスとしたｕｎｋｎｏｗｎユニキャストパケットＵＰ１のみが生成される。
【００７５】
また、ポート指定ではなく、指定ＭＡＣアドレス（ここでは、端末Ｃａ１のＭＡＣアドレス）を設定しておくことにより、指定ＭＡＣアドレスである端末Ｃａ１のＭＡＣアドレスを送信元ＭＡＣアドレスとしたｕｎｋｎｏｗｎユニキャストパケットＵＰ１のみが生成される。
【００７６】
そして、図１５において、スイッチＳａは、ｕｎｋｎｏｗｎユニキャストパケットＵＰ１を送信する。送信されたｕｎｋｎｏｗｎユニキャストパケットＵＰ１は、待機系の経路を経由して、スイッチＳｃ，Ｓｄに転送される。また、スイッチＳｄでは、リンクアップ状態のままのリンクＬｂｄを経由してスイッチＳｂにも転送される。
【００７７】
スイッチＳｄでは、ＭＡＣアドレス学習テーブルＴｄにおいて、ｕｎｋｎｏｗｎユニキャストパケットＵＰ１がポート２から受信されると、ポート２に対応するＭＡＣアドレスとして、ｕｎｋｎｏｗｎユニキャストパケットＵＰ１の送信元アドレスである端末Ｃａ１のＭＡＣアドレスをＭＡＣアドレス学習テーブルＴｄに書き込む。そして、ポート１に対応する端末Ｃａ１のＭＡＣアドレスをＭＡＣアドレス学習テーブルＴｄから消去する。端末Ｃａ２のＭＡＣアドレスは消去されない。
【００７８】
ＭＡＣアドレス変更通知例３では、ｕｎｋｎｏｗｎユニキャストパケットＵＰ１は、スイッチＳｂ〜Ｓｄには転送されるが、宛先が不使用ＭＡＣアドレスであるため、端末Ｃａ１，Ｃａ２，ＣｄではＭＡＣアドレスが一致せず受信できない。
【００７９】
このように、対象となるネットワーク内のスイッチＳｂ〜Ｓｄにはマルチキャストと同様に行き渡ってアドレス変更が必要なスイッチＳｄに通知され、スイッチＳｄにおいて通常どおりＭＡＣアドレス学習テーブルＴｄが更新される。その一方で、ｕｎｋｎｏｗｎユニキャストパケットＵＰ１は、端末Ｃａ１，Ｃａ２，Ｃｄでは受信されないため、受信負荷の低減化を図ることができる。
【００８０】
なお、図１５の段階では、スイッチＳｄのＭＡＣアドレス学習テーブルＴｄにおいて、ポート１に端末Ｃａ２のＭＡＣアドレスが残されたままになっている。しかしながら、その後、端末Ｃａ１から端末ＣｄのＭＡＣアドレスを宛先とするパケットが送信されたときに、そのパケットがスイッチＳｄのポート２から受信されることで、アドレス変更通知例１と同じように、ポート２に端末Ｃａ２のＭＡＣアドレスが学習されるため問題ない。
【００８１】
また、ポート１に対応する端末Ｃａ２のＭＡＣアドレスは、エージアウトされることにより、ＭＡＣアドレス学習テーブルＴｄから消去されるため問題ない。エージアウトは、通信のない装置のＭＡＣアドレスをＭＡＣアドレス学習テーブルから消去する仕組みである。具体的には、ＭＡＣアドレス学習テーブルＴにＭＡＣアドレスの保持時間をポートごとに設定しておき、保持時間内にそのＭＡＣアドレスからのパケットが受信されなかったポートについて消去動作を実行する。
【００８２】
図１５の場合、リンクＬａｂの障害発生により、スイッチＳｄのポート１からは、送信元ＭＡＣアドレスがＣａ２のＭＡＣアドレスであるパケットは受信されなくなる。したがって、スイッチＳｄのＭＡＣアドレス学習テーブルＴｄでは、ポート１に対応する端末Ｃａ１のＭＡＣアドレスが消去される。
【００８３】
ポート１に対応する端末Ｃａ１のＭＡＣアドレスがＭＡＣアドレス学習テーブルＴｄから消去されると、端末Ｃａ２のＭＡＣアドレスはｕｎｋｎｏｗｎの状態になるため、端末Ｃｄから端末Ｃａ２宛てのパケットがスイッチＳｄに受信された場合には、スイッチＳｄの全ポートにフラッディングされる。このフラッディングによってスイッチＳｄのポート２から送信されたパケットが端末Ｃａ２に到達し、端末Ｃａ２からの応答パケットがスイッチＳｄのポート２を通ることによって、端末Ｃａ２のＭＡＣアドレスが正しいポート（ポート２）に学習されることになる。
【００８４】
図１６および図１７は、アドレス変更通知例３におけるＭＡＣアドレス変更通知処理手順を示すフローチャートである。図１６では、指定ポートが予め設定されたＭＡＣアドレス変更通知処理を示しており、図１７では、指定ＭＡＣアドレスが予め設定されたＭＡＣアドレス変更通知処理を示している。なお、図１６および図１７において、図１２と同一ステップには同一ステップ番号を付し、その説明を省略する。
【００８５】
図１６において、ステップＳ１２０４で他のＶＬＡＮがない場合（ステップＳ１２０４：Ｎｏ）、スイッチＳは、接続元ポート以外の指定ポートのＭＡＣアドレスをＭＡＣアドレス学習テーブルＴから抽出し（ステップＳ１６０５）、ステップＳ１２０７に移行する。
【００８６】
一方、他のＶＬＡＮがある場合（ステップＳ１２０４：Ｙｅｓ）、スイッチＳは、接続元ポート以外で、かつ、接続元ポートと同一ＶＬＡＮ内の指定ポートのＭＡＣアドレスをＭＡＣアドレス学習テーブルＴから抽出し（ステップＳ１６０６）、ステップＳ１２０７に移行する。
【００８７】
また、図１７では、ステップＳ１２０４で他のＶＬＡＮがない場合（ステップＳ１２０４：Ｎｏ）、スイッチＳは、接続元ポート以外の指定ＭＡＣアドレスをＭＡＣアドレス学習テーブルから抽出し（ステップＳ１７０５）、ステップＳ１２０７に移行する。
【００８８】
一方、他のＶＬＡＮがある場合（ステップＳ１２０４：Ｙｅｓ）、スイッチＳは、接続元ポート以外で、かつ、接続元ポートと同一ＶＬＡＮ内の指定ＭＡＣアドレスをＭＡＣアドレス学習テーブルから抽出し（ステップＳ１７０６）、ステップＳ１２０７に移行する。
【００８９】
以上のことから、本実施の形態によれば、ｕｎｋｎｏｗｎユニキャストパケットの宛先ＭＡＣアドレスは、いずれの端末にも使用されていないＭＡＣアドレスである。したがって、ｕｎｋｎｏｗｎユニキャストパケットを受信したスイッチＳは、未学習のＭＡＣアドレスであると判断し、ｕｎｋｎｏｗｎユニキャストパケットの受信ポート以外の全ポートから転送する。また、受信ポートに対応するＭＡＣアドレスとして、ｕｎｋｎｏｗｎユニキャストパケットの送信元ＭＡＣアドレスを登録することで学習することができる。
【００９０】
これに対し、いずれの端末も自端末宛のパケットではないと判断するため、マルチキャストパケットのような受信処理が、端末ではなされない。結果として、不要なマルチキャストパケットを受信処理する端末の処理負荷が軽減され、端末におけるアプリケーションの動作が遅くなるなどの弊害を防止することができる。
【００９１】
また、ＶＬＡＮが設定されている場合は、ｕｎｋｎｏｗｎユニキャストパケットは他のＶＬＡＮには送信されないため、他のＶＬＡＮ内でのスイッチの受信負荷が軽減される。また、他のＶＬＡＮでは、ｕｎｋｎｏｗｎユニキャストパケットによるＭＡＣアドレス学習テーブルの学習は不要であるため、無駄な学習を防止することができる。
【００９２】
さらに、ポート指定やＭＡＣアドレス指定をしておくことで、早期に学習が必要とされないＭＡＣアドレスについては、ｕｎｋｎｏｗｎユニキャストパケットの生成および送信をしなくて済む。したがって、生成されるｕｎｋｎｏｗｎユニキャストパケットが減少するため、ＭＡＣアドレスの変更を早期に通知することができる。
【符号の説明】
【００９３】
Ｔ  ＭＡＣアドレス学習テーブル
ＶＬ  ＶＬＡＮテーブル
Ｓ  スイッチ
３００  記憶部
３０１  受信部
３０２  検出部
３０３  設定部
３０４  送信部
【図１】
0005533100.tif 000002
【図２】
0005533100.tif 000003
【図３】
0005533100.tif 000004
【図４】
0005533100.tif 000005
【図５】
0005533100.tif 000006
【図６】
0005533100.tif 000007
【図７】
0005533100.tif 000008
【図８】
0005533100.tif 000009
【図９】
0005533100.tif 000010
【図１０】
0005533100.tif 000011
【図１１】
0005533100.tif 000012
【図１２】
0005533100.tif 000013
【図１３】
0005533100.tif 000014
【図１４】
0005533100.tif 000015
【図１５】
0005533100.tif 000016
【図１６】
0005533100.tif 000017
【図１７】
0005533100.tif 000018