(57)【要約】【課題】  １つのスイッチで複数のスパニングツリーの起動停止を制御することができるスパニングツリーの自動起動停止制御方法を提供する。【解決手段】  公衆網と複数の端末V1-2、V2-2とが複数のスイッチ＃１〜＃３で接続されたVLAN内にループを検出したときに、公衆網と端末V1-2、V2-2との間にスパニングツリーが形成されるようにループ内のスイッチ＃１〜＃３を自動的にオフすることにより、１つのスイッチで複数のスパニングツリーの起動停止を制御することができる。【選択図】  図１
2005117496.tif 000002
【特許請求の範囲】
【請求項１】
公衆網と複数の端末とが複数のスイッチで接続されたVLAN内にループが存在しているか否かをチェックし、該ループを検出したときに前記公衆網と前記端末との間にスパニングツリーが形成されるように前記ループ内のスイッチを自動的にオフさせることを特徴とするスパニングツリーの自動起動停止制御方法。
【請求項２】
前記チェックの際にVLANに対応したスパニングツリーのBPDUにIEEE802.1QのVLAN-TAGを付加することを特徴とする請求項１記載のスパニングツリーの自動起動停止制御方法。
【請求項３】
公衆網と複数の端末とが複数のスイッチで接続されたVLAN内の不要なVLANを前記スイッチのオフ操作によりポートから削除した場合、そのポートとその不要なVLANとを前記スパニングツリーに通知することにより、スパニングツリーが動作するポートが１ポートだけになったときにその１ポートだけになったスパニングツリーを自動的に停止することを特徴とするスパニングツリーの自動起動停止制御方法。
【請求項４】
公衆網と複数の端末とを複数のスイッチで接続してVLANを構築する際に、あるスイッチのオンオフ操作でスパニングツリーを設定すると、他のスイッチがスパニングツリーの起動が必要か否かをチェックし、その判断結果に応じて他のスパニングツリーを起動することを特徴とするスパニングツリーの自動起動停止制御方法。
【請求項５】
前記チェックの際にVLANに対応したスパニングツリーのBPDUにIEEE802.1QのVLAN-TAGを付加することを特徴とする請求項４記載のスパニングツリーの自動起動停止制御方法。
【請求項６】
自スイッチと他スイッチとの間とのスパニングツリーのプロトコルをスパニングツリー制御部が制御し、受信フレームの転送や送信先ＭＡＣアドレスの学習をスイッチ制御部が制御することを特徴とする請求項１から５のいずれかに記載のスパニングツリーの自動起動停止制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スパニングツリーの自動起動停止制御方法に関する。
【背景技術】
【０００２】
従来のスパニングツリーの自動起動停止制御方法は、BPDU（Bridge Protocol Data Unit ）を複数のポートから受信した時にスパニングツリーを自動起動させるものであり、その受信ポートは全て１つのスパニングツリーで動作するものであった（例えば、特許文献１参照。）。
【特許文献１】特許第３１２５７４２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、最近のネットワークでは、イーサネット（Ｒ）フレームに４バイトのVLAN-TAG（Virtual Local Area Network-TAG）を付加し、その値でVLANを構成できるようになった。スパニングツリーのBPDUにもVLAN-TAGを付加することで、VLAN単位でスパニングツリーを動かすことが可能となり、同一回線上に複数のスパニングツリーを動作させることが可能となった。
【０００４】
しかしながら、前述した従来技術では、１つのスイッチで１つのスパニングツリーの起動を制御することしかできなかった。
そこで、本発明の目的は上記課題を解決し、１つのスイッチで複数のスパニングツリーの起動停止を制御することができるスパニングツリーの自動起動停止制御方法を提供することにある。
【課題を解決するための手段】
【０００５】
請求項１記載の発明は、公衆網と複数の端末とが複数のスイッチで接続されたVLAN内にループが存在しているか否かをチェックし、該ループを検出したときに前記公衆網と前記端末との間にスパニングツリーが形成されるように前記ループ内のスイッチを自動的にオフさせることを特徴とする。
【０００６】
請求項２記載の発明は、請求項１記載の発明において、前記チェックの際にVLANに対応したスパニングツリーのBPDUにIEEE802.1QのVLAN-TAGを付加することを特徴とする。
【０００７】
請求項３記載の発明は、公衆網と複数の端末とが複数のスイッチで接続されたVLAN内の不要なVLANを前記スイッチのオフ操作によりポートから削除した場合、そのポートとその不要なVLANとを前記スパニングツリーに通知することにより、スパニングツリーが動作するポートが１ポートだけになったときにその１ポートだけになったスパニングツリーを自動的に停止することを特徴とする。
【０００８】
請求項４記載の発明は、公衆網と複数の端末とを複数のスイッチで接続してVLANを構築する際に、あるスイッチのオンオフ操作でスパニングツリーを設定すると、他のスイッチがスパニングツリーの起動が必要か否かをチェックし、その判断結果に応じて他のスパニングツリーを起動することを特徴とする。
【０００９】
請求項５記載の発明は、請求項４記載の発明において、前記チェックの際にVLANに対応したスパニングツリーのBPDUにIEEE802.1QのVLAN-TAGを付加することを特徴とする。
【００１０】
請求項６記載の発明は、請求項１から５のいずれかに記載の発明において、自スイッチと他スイッチとの間とのスパニングツリーのプロトコルをスパニングツリー制御部が制御し、受信フレームの転送や送信先ＭＡＣアドレスの学習をスイッチ制御部が制御することを特徴とする。
【００１１】
（発明の特徴）
本発明の特徴は、あるVLANのネットワークでループを検出した時に、自動的にスパニングツリーを起動し、スイッチがループ構成のネットワークから外れたことを検出した時に、自動的にスパニングツリーを停止させることを特徴とする。その制御は１つのスイッチで複数のスパニングツリーに対して行うことができる。
【００１２】
ここで、「ループから外れた」とは対象装置（スイッチ）がループ構成の中から外れたことを意味する。例えば
Ａ―――――Ｂ――――Ｃ
│      │      │
Ｄ―――――Ｅ――――Ｆ
のような複数のスイッチＡ〜スイッチＦがケーブルで接続されてループを形成しているときに、あるスイッチに接続されたケーブルが抜けたり切断したりしてそのスイッチがループを構成しなくなる。これを「ループ構成からはずれた」という。
【００１３】
特許第３１２５７４２号記載の発明において、ネットワーク上の１つのスイッチに対してスパニングツリーを自動起動するものであるが、本発明の特徴は、特許第３１２５７４２号に記載の発明に、IEEE802.1QのVLAN-TAGを自動起動の判断に追加したものであり、あるスイッチで複数のスパニングツリーを自動起動することにある。
【００１４】
本発明は、BPDUにVLAN-TAGを付加することを特徴とするものであり、VLANとスパニンググツリーとが１：１に対応するため、VLAN単位にスパニングツリーを作動させることができる。この結果、スパニングツリーが動くポートには、必ずそのスパニングツリーに対応したVLANが動いていることになる。そのため、あるVLANをポートから削除した場合、そのポートとVLANとをスパニングツリーに通知することで、スパニングツリーが動作しているポート群からそのポートを削除することができる。それによって、スパニングツリーが動作するポートが１ポートだけになったときに、そのスパニングツリーを自動停止することができる。
【発明の効果】
【００１５】
ネットワーク内にループが形成されていることを検出したときに、公衆網と端末との間にスパニングツリーが形成されるようにループ内のスイッチを自動的にオフすることにより、１つのスイッチで複数のスパニングツリーの起動停止を制御することができる。
【発明を実施するための最良の形態】
【００１６】
図１は本発明のスパニングツリーの自動起動停止制御方法を適用したネットワークの概念図である。
公衆網にスイッチ＃１とスイッチ＃３とが物理的に接続され、スイッチ＃１とスイッチ＃３とが物理的に接続されている。スイッチ＃１とスイッチ＃２とが物理的に接続され、スイッチ＃３とスイッチ＃１とが物理的に接続されている。スイッチ＃２に端末V1-2と端末V2-2とが物理的に接続されている。
【００１７】
スイッチ＃１とスイッチ＃２とに接続されているポートには、VLAN1 とVLAN2 とが設定されている。
ここで、VLAN1 は、スイッチ＃１、スイッチ＃２、端末V1-2及び端末V2-2からなるツリー状のVLANであり、VLAN2 は、スイッチ＃３、スイッチ＃２、端末V1-2及び端末V2-2からなるツリー状のVLANである。
VLAN1 のVLAN-TAGには「１」が設定され、VLAN2 のVLAN-TAGには「２」が設定されている。
【００１８】
スイッチ＃３のポート3-1、3-2には、VLAN1 とVLAN2 とが設定されている。これらVLAN1 とVLAN2 とからなるネットワークは、スイッチ＃１、＃２、＃３によって物理的に接続されてループを構成することになるため、ポート1-1 、1-2 、2-1 、2-2 、3-1 、3-2 でそれぞれのVLANに対応したスパニングツリーを動かし（論理的に接続し）、ループが発生しないようにする必要がある。
【００１９】
このとき、本来であるならば、全てのスイッチ上でスパニングツリーの起動設定を行う必要があるが、本発明では、あるスイッチ（本実施の形態ではスイッチ＃３）でそれぞれのVLANに対応したスパニングツリーを動作させるだけで、他のスイッチ（スイッチ＃１、スイッチ＃２）で自動的にスパニングツリーを起動させることができる。
【００２０】
そのスパニングツリーの起動の仕組みを以下に記述する。
（ａ）スイッチ＃３でVLAN1 に対応したスパリングツリーとVLAN2 に対応したスパニングツリーとを起動する。VLAN1 に対応したスパリングツリーは、
スイッチ#1――――スイッチ#2――端末V1-2
｜
└――――スイッチ#3
であり、VLAN2 に対応したスパニングツリーは、
スイッチ#1――――スイッチ#2――端末V2-2
｜
└――――スイッチ#3
である。
【００２１】
（ｂ）VLAN1 に対応したスパニングツリーのBPDU（スイッチ間を流れるスパニングツリーの制御パケットであり、図１には示されていない。）には、VLAN1 のVLAN-TAGである「１」が付加されてポート3-1 、3-2 から送信される。
（ｃ）スイッチ＃１では、スイッチ＃３から送信されたBPDUをポート1-2 で受信する。スイッチ＃１では、VLAN1 とBPDUの受信ポートとを記憶する。また、この時点でスイッチ＃１では、スパニングツリーが動いていないため（物理的には接続していても論理的に接続していないため）、受信したBPDUを他のポート（ここでは、ポート1-1 ）に転送する。
【００２２】
（ｄ）スイッチ＃２は、スイッチ＃１から転送されたBPDUをポート2-1 で受信するので、（ｃ）と同様にVLAN1 とBPDUの受信ポートとを記憶する。この時点では、受信ポートの数が１ポートだけなので、スパニングツリーは起動しない。
ここで、「スパニングツリーは起動しない」とは、「まだ見かけ上ループが構成されたままである。」という意味である。BPDUを１つのポートからしか受信していない段階では、ループが構成されていないと、スイッチでは判断するため、スパニングツリーは起動しない。
（ｅ）スイッチ＃２では、スイッチ＃３から送信されたBPDUをポート2-2 で受信する。このとき、スイッチ＃２では、VLAN1 のBPDUをポート2-1 とポート2-2 との複数ポートとで受信したため、VLAN1 に対応したスパニングツリーが起動する。
（ｆ）同様にスイッチ＃１においてもスイッチ＃２から転送されたBPDUをポート1-1 で受信し、ポート1-1 とポート1-2 とでVLAN-TAG:1のBPDUを受信したものであると判断してVLAN1 に対応したスパニングツリーを起動させる。
【００２３】
（ｇ）VLAN2 についても上記と同じ仕組みでスイッチ＃１とスイッチ＃２とにおいて、VLAN-TAG:2のBPDUを複数のポートで受信するので、VLAN2 に対応したスパニングツリーが自動的に起動する。
この様に、ある１つのスイッチでVLANに対応したスパニングツリーを起動するだけで、そのスイッチから送信されたVLAN-TAG付きのBPDUを、複数のポートで受信したスイッチのオンオフ操作で自動的にスパニングツリーを起動することができる。
【００２４】
次に、スパニングツリーの自動停止について、以下に記述する。
本実施の形態では、図１に示したスイッチ＃２のポート2-1 からVLAN1 を解除した場合を例に説明する。
（α）スイッチ＃２のポート2-1 からVLAN1 （VLAN-TAG:1）を削除する。このポート2-1 とVLAN情報とをスパニングツリーに通知する。
ここで、ポート2-1 からVLAN1 （VLAN-TAG:1）を削除するとは、VLAN1 （VLAN-TAG:1）を以下のように変更することを意味する。
＜変更前＞
スイッチ#1――――スイッチ#2――端末V1-2
｜
└――――スイッチ#3
【００２５】
＜変更後＞
スイッチ#1――スイッチ#3――スイッチ#2――端末V1-2
但し、VLAN2 は変更されない。
スイッチ#1――――スイッチ#2――端末V2-2
｜
└――――スイッチ#3
（β）VLAN1 に対応するスパニングツリーが動作するポートが2-2 だけとなるため、VLAN1 においてスイッチ＃２はループ構成の一部ではないと判断する。
（γ）VLAN1 に対応するスパニングツリーを自動的に停止する。
この様に、ある１つのスイッチでVLANに対応したスパニングツリーが動作するポートが、１つだけになった場合、そのVLANでスイッチはループ構成の一部ではないと判断し、自動的にスパニングツリーを停止することができる。
【００２６】
図２（ａ）は図１に示したスイッチの構成及び動作を説明するための説明図であり、図２（ｂ）は図２（ａ）に示したスイッチの動作を説明するためのフローチャートである。
図３（ａ）は図１に示したスイッチの構成及び動作を説明するための説明図であり、図３（ｂ）は図３（ａ）に示したスイッチの動作を説明するためのフローチャートである。
図４（ａ）は図１に示したスイッチの構成及び動作を説明するための説明図であり、図４（ｂ）は図４（ａ）に示したスイッチの動作を説明するためのフローチャートである。
【００２７】
（実施の形態の動作の説明）
まず図２（ａ）、（ｂ）において、スパニングツリー制御部とスイッチ制御部とについて以下に記述する。
スパニングツリー制御部：他スイッチ間とのスパニングツリーのプロトコルを制御する。
スイッチ制御部：受信フレームの転送や、送信元ＭＡＣアドレスの学習を制御する。
【００２８】
ここで、スイッチはデータの転送をハードウェアで行う。そのため、端末がどのポートの先に接続しているかをハードウェアのテーブルに覚えさせる（学習する）必要がある。その学習内容として、端末のＭＡＣアドレスを使う。
また、スイッチでは、フィルタなどを設定してデータ破棄する場合がある。そのため、何でも学習するわけではなく、学習すべきか否かを判断する必要がある。これを「学習を制御する。」と記述する。
図２（ａ）、（ｂ）、図３（ａ）、（ｂ）では、スパニングツリーの自動起動を行うための制御を示す。図４（ａ）、（ｂ）では、自動停止を行うための制御を示す。
【００２９】
まず、図２（ａ）、（ｂ）を参照してスイッチでVLAN-TAG付きのBPDUをポート１で受信した場合のスイッチ制御部の動作について述べる。
（１）スイッチ制御部は、伝送されたフレーム（BPDU:P1 ）が受信可能か否か、すなわちそのポート１に設定されているVLANのVLAN-TAGが付加されているか否かをチェックする（ステップＳ１）。
（２）スイッチ制御部は、伝送されたフレームがポート１に設定してあるVLANのフレームであった場合、そのフレームを受信する（ステップＳ１：ＹＥＳ）。スイッチ制御部は、伝送されたフレームがポート１に設定してないVLANのフレームであった場合、そのフレームを破棄する（ステップＳ１：ＮＯ、ステップＳ２）。
【００３０】
（３）スイッチ制御部は、受信したフレームがBPDUであるか否かをチェックする。送信先ＭＡＣアドレスが、「01:80:c2:00:00:00 」であるか否かをチェックする。この送信先ＭＡＣアドレスは、STP のBPDUで使用されるＭＡＣアドレスであるため「01:80:c2:00:00:00 」に限定される（ステップＳ３）。
（４）スイッチ制御部は、受信したフレームがBPDUであった場合（ステップＳ３：ＹＥＳ）、スパニングツリー制御部へ受信したフレーム及びVLAN受信ポートを渡す（Ｐ２）。
（５）スイッチ制御部は、受信VLANでSTP （スパニングツリープロトコル）が起動しているか否かをチェックし（ステップＳ４）、起動していなければ、ポート２へ転送する（ステップＳ４：ＮＯ、ステップＳ５）。STP が起動している場合は転送を行わない（ステップＳ４：ＹＥＳ）。
【００３１】
図３（ａ）、（ｂ）を参照してスイッチ制御部から受信したBPDUを通知されたスパニングツリー制御部の動作について述べる。
（イ）スパニングツリー制御部は、スイッチ制御部から渡された受信フレーム（Ｐ１、Ｐ２）のVLAN-TAG:1と受信ポート１とを記憶する（ステップＳ６）。
（ロ）スパニングツリー制御部は、受信ポート１と異なる他のポートで同じVLANのBPDUを受信しているか否かをチェックする（ステップＳ７）。
（ハ）スパニングツリー制御部は、他のポートが存在すると判断した場合（ステップＳ７：ＹＥＳ）、STP が起動されているか否かをチェックし（ステップＳ８）、STP が起動されていないと判断した場合には（ステップＳ８：ＮＯ）、スイッチ制御部に対してVLANでのスパニングツリー起動を通知する（ステップＳ９）。
【００３２】
スパニングツリー制御部は、STP が起動済みであると判断した場合（ステップＳ８：ＹＥＳ）及び他のポートが存在しないと判断した場合には何もしない（ステップＳ７：ＮＯ）。
図４（ａ）、（ｂ）を参照して、VLANからのポート削除通知を受けてからスパニングツリーの自動停止を行うまでのスパニングツリー制御部の動作について述べる。
【００３３】
（i ）スパニングツリー制御部は、スイッチ制御部からのポート１からVLAN1 を削除した旨のポート削除通知（Ｐ３）を受けた後、スイッチ制御部から通知されたポート１とVLANとから、そのVLANに対応したスパニングツリーが動作しているか否か（STP 動作ポートであるか否か）をチェックする（ステップＳ１０）。
（ii）スパニングツリー制御部は、スパニングツリーが動作していると判断した場合（ステップＳ１１：ＹＥＳ）、そのスパニングツリーが動作しているポート群から通知されたポートを削除する（ステップＳ１１）。スパニングツリー制御部は、スパニングツリーが動作していないと判断した場合には場合は何もしない（ステップＳ１０：ＮＯ）。
（iii ）スパニングツリー制御部は、スパニングツリーが動作しているポートが１ポートのみとなったと判断した場合（ステップＳ１２：ＹＥＳ）、スイッチ制御部に対して、スパニングツリーの停止を通知する（ステップＳ１３）。
【００３４】
ところで、図５に示すような公衆網と、スイッチ＃１と、スイッチ＃２とが物理的に接続され、スイッチ＃２に端末V1-2及び端末V2-2に接続されたネットワーク構成においては、ループ構成にはなっていないため、スパニングツリーを動かす必要はない。従ってこの図５に示す場合にはスパニングツリー制御部は何もしない。
【００３５】
（実施の形態の効果の説明）
本発明では、以下のような効果が得られる。
（Ａ）複数のポートで同じVLAN-TAGのBPDUを受信した時に、そのVLANに対応するスパニングツリーが自動的に起動するため、コンフィグレーションを管理する必要がない。ネットワークの全てのスイッチでスパニングツリーの起動や停止をコマンド実行する必要があるが、本発明により、ネットワークに新規にスイッチを追加した場合でも、自動的にループ構成になっているか否かをスイッチで判断するため、コンフィグレーションの必要が無くなる。
例えば、
ａ―――ｂ―――ｃ―――ｄ―――ｅ―――ｆ
という線形のネットワークがある場合、この構成であれば、スパニングツリーを動作させる必要はない（ループがないため）。
【００３６】
しかし、この線形のネットワークにスイッチｇをスイッチａとスイッチｆとの間に接続した場合、以下のようなループ構成となる。
ａ―――ｂ―――ｃ―――ｄ―――ｅ―――ｆ
│                            ｜
└―――――ｇ――――――――┴―――――
この場合、スイッチａからスイッチｆまでの全スイッチでスパニングツリーの起動コマンドを実行する必要があるが、それがループを検出して自動的にスパニングツリーが各スイッチで動き出すので、コンフィグレーションの必要がなくなる。
（Ｂ）ポートに設定してあるVLANを解除した時やリンクダウンした時に、スパニングツリーにそのポートとVLANとを通知することで、スパニングツリーの自動停止が可能である。
（ｃ）複数のポートで受信していない場合はスパニングツリーが起動せず無用なBPDUがネットワーク上に流れないので、帯域を無駄に占有することがなくなる。また装置への負荷も軽減できる。
【図面の簡単な説明】
【００３７】
【図１】本発明のスパニングツリーの自動起動停止制御方法を適用したネットワークの概念図である。
【図２】（ａ）は図１に示したスイッチの構成及び動作を説明するための説明図であり、（ｂ）は（ａ）に示したスイッチの動作を説明するためのフローチャートである。
【図３】（ａ）は図１に示したスイッチの構成及び動作を説明するための説明図であり、（ｂ）は（ａ）に示したスイッチの動作を説明するためのフローチャートである。
【図４】（ａ）は図１に示したスイッチの構成及び動作を説明するための説明図であり、（ｂ）は（ａ）に示したスイッチの動作を説明するためのフローチャートである。
【図５】スパニングツリーを動かす必要がないネットワークの一例である。
【符号の説明】
【００３８】
＃１〜＃３    スイッチ
Ｖ１−２、Ｖ２−２    端末
【図１】
2005117496.tif 000003
【図２】
2005117496.tif 000004
【図３】
2005117496.tif 000005
【図４】
2005117496.tif 000006
【図５】
2005117496.tif 000007