JP2005160000A - スパニングツリープロトコルにおける制御パケット処理装置および方法 - Google Patents

スパニングツリープロトコルにおける制御パケット処理装置および方法 Download PDF

Info

Publication number
JP2005160000A
JP2005160000A JP2003431154A JP2003431154A JP2005160000A JP 2005160000 A JP2005160000 A JP 2005160000A JP 2003431154 A JP2003431154 A JP 2003431154A JP 2003431154 A JP2003431154 A JP 2003431154A JP 2005160000 A JP2005160000 A JP 2005160000A
Authority
JP
Japan
Prior art keywords
control packet
bpdu
transmission
processing
program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2003431154A
Other languages
English (en)
Other versions
JP4021841B2 (ja
Inventor
Yasushi Sasagawa
靖 笹川
Masami Hiyakukai
正実 百海
Takashi Takatori
孝 鷹取
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2003431154A priority Critical patent/JP4021841B2/ja
Priority to US10/813,792 priority patent/US7860031B2/en
Publication of JP2005160000A publication Critical patent/JP2005160000A/ja
Application granted granted Critical
Publication of JP4021841B2 publication Critical patent/JP4021841B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/04Interdomain routing, e.g. hierarchical routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/18Loop-free operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/56Routing software
    • H04L45/563Software download or update

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】 スパニングツリープロトコル(STP)をサポートする装置において、データ通信サービスを中断せずにソフトウェアの更新等の作業を行う。
【解決手段】 受信側装置において、送信側装置から受信した制御パケットをバッファ手段102に格納し、送信側装置におけるソフトウェアの更新等のために制御パケットの送信が停止したとき、バッファ手段102に格納された制御パケットを、トポロジーの再構築を行うSTPの処理部107に一定周期で転送する。あるいは、送信側装置において、自動送信の開始指示に従って、制御パケットの送信要求を出力する処理部107の動作が停止してから再開するまでの間、制御パケットを一定期間、一定間隔で自律的に送信する。
【選択図】図1

Description

本発明は、スパニングツリープロトコル(Spanning Tree Protocol,STP)をサポートする装置間で送受信される制御パケットを処理する装置および方法に関する。
スパニングツリープロトコルは、IEEE(Institute of Electrical and Electronic Engineers)802.1D(Media Access Control (MAC) Bridges)の中で規定された、任意のBridged LAN トポロジーから単一のスパニングツリー(ループフリーなツリー)を構築するプロトコルであり、IEEE802.1s(Multiple Spanning Trees )およびIEEE802.1w(Rapid Spanning Tree Protocol,RSTP)により機能拡張がなされ、広くブリッジネットワークで使用されている。
一方、複数のブリッジ装置で構成される通信ネットワークであるブリッジネットワークは、当初、Local Area Network(LAN)で主に使用されていたが、近年、“広域Ethernet(登録商標)”という言葉で称されるように、キャリアネットワークにその使用領域が広がっている。
したがって、STPが動作しているネットワーク中の装置において、フレームの転送サービスの中断をより少なくするために、信頼性/サービス性の向上が要求されている。また、STPは、純粋なブリッジ装置に限らず、ルータ等の各種ネットワーク装置に実装される場合がある。
STPは、ブリッジネットワークにおいてルートとなるブリッジ装置を決め、そこからツリー状に通信経路を設定し、ツリー以外のリンク上でデータが転送されることを禁止する通信プロトコルである。これにより、任意のブリッジ装置間において経路が一意に決定されるため、ループの発生を防ぐことが可能となる。
ブリッジ装置は、イーサネット(登録商標)フレームを受信し、そのフレーム内の宛先MACアドレスから適切な宛先ポートを決定して、受信したフレームを転送する装置である。ルートブリッジ装置や通信経路を決定するために、隣接ブリッジ装置間ではブリッジプロトコルデータユニット(Bridge Protocol Data Unit ,BPDU)と呼ばれる制御パケットを送受信する。
通信経路を決定する際、ルートブリッジ装置から順番に、各通信経路のコスト値を保持するBPDUがリンク先のブリッジ装置に送信され、複数のブリッジ装置からBPDUを受信したブリッジ装置は、それらのBPDUのコスト値を比較して、最小コスト値のBPDUを受信したポートを通信用ポートに指定する。この場合、他のポートはループの発生を防ぐためにブロックされ、障害発生時の迂回用ポート(オルタネートポート)に指定される。
一般的には、BPDUは、ブリッジ装置間で各種情報を交換するために使用される制御フレームとして位置付けられる。このBPDUは、リンク障害監視の意味合いから、トポロジーが定常状態で安定している場合には、定期的にデジグネーテッドポートから規則正しく送信される。具体的には、このBPDU送信間隔をHello Timeと呼び、そのデフォルト値は2秒に設定される。
図13は、このような定常状態におけるBPDU送受信の例を示している。図13のネットワークは、ブリッジ装置11、21、31、および41からなり、このうちブリッジ装置11がルートブリッジ装置に割り当てられている。この場合、ブリッジ装置31のデジグネーテッドポート33に対向するブリッジ装置41のポート43は、オルタネートポートとしてブロックされている。
BPDUは、ブリッジ装置11のデジグネーテッドポート12および13から、矢印の方向に向かってブリッジ装置間を順番に転送される。デジグネーテッドポート12から送信されたBPDUは、ブリッジ装置21のルートポート22で受信され、デジグネーテッドポート13から送信されたBPDUは、ブリッジ装置31のルートポート32で受信される。また、ブリッジ装置21のデジグネーテッドポート23から送信されたBPDUは、ブリッジ装置41のルートポート42で受信される。
また、図14は、STPによるブリッジネットワークのアクティブトポロジーの構成例を示しており、図15は、図14のアクティブトポロジーにおける定常状態でのBPDU送受信のシーケンスを示している。
図14のネットワークは、端末51、63およびブリッジ装置52(Bridge#1)、56(Bridge#2)、59(Bridge#3)からなり、このうちブリッジ装置52がルートブリッジ装置に割り当てられている。ブリッジ装置52のポート53(P1)には端末51が接続されており、ブリッジ装置59のポート60(P1)には端末63が接続されている。この場合、ブリッジ装置52のデジグネーテッドポート55(P3)に対向するブリッジ装置59のポート61(P2)は、オルタネートポートとしてブロックされている。
BPDUは、ブリッジ装置52のデジグネーテッドポート54(P2)および55(P3)から、それぞれ、ブリッジ装置56のルートポート57(P1)およびブリッジ装置59のポート61(P2)に転送され、さらに、ブリッジ装置56のデジグネーテッドポート58(P2)からブリッジ装置59のルートポート62(P3)に転送される。
BPDUの送信処理に要する時間を短縮するために、ハードウェアが自律的に送信処理を行うような構成も提案されている(例えば、特許文献1参照)。
ところで、BPDUを受信するルートポート等のポートにおいて、一定期間そのBPDUが受信されない状態が検出されると、ブリッジ装置は対向するデジグネーテッドポートに障害が発生した、もしくはそのデジグネーテッドポートが切り離されたと認識し、新たにトポロジーを再構築し始める。
BPDU受信情報のライフタイムは、STPの仕様ではデフォルト値20秒のMax Age値となるが、STPを高速化したスパニングツリープロトコルであるRSTPでは、デフォルト値2秒のHello Time値の3倍に設定される。したがって、RSTPでは、デフォルトで6秒間(最小で3秒間)BPDUの受信がないと、他のリンクにより通信が可能になる様にトポロジーの再構築が開始される。
トポロジー再構築中はネットワーク上の通信が不可能になり、トポロジー再構築後、新たなトポロジーにより通信を開始可能にするため、ブリッジ装置内のフィルタリングデータベース(MACテーブル)のフラッシュ処理がネットワーク全体で行われる。MACテーブルは、MACアドレスとブリッジ装置内のポートとの対応関係を格納するテーブルであり、フラッシュ処理では、トポロジー再構築により不要になったポートのエントリが各ブリッジ装置のMACテーブルから削除される。このため、その後の通信において、受信フレームの宛先MACアドレスがMACテーブルに存在しないことが多く、受信ポート以外のすべてのポートにフレームを転送するフラッディングが多発することになる。
図14および図15を例に説明すると、ブリッジ装置56のデジグネーテッドポート58からブリッジ装置59のルートポート62に送信されるBPDUが、何らかの障害により、ブリッジ装置59に6秒間到着しないと、ブリッジ装置59は、トポロジーの再構築を行い、オルタネートポートとしてブロックされていたポート61をルートポートとし、ルートポートであったポート62を無効ポートとしてブロックする。これにより、端末51と端末63の間のフレーム送受信ルート64は、ブリッジ装置52のデジグネーテッドポート55およびブリッジ装置59のポート61経由に切り替わる。
特開平11−205368号公報
しかしながら、上述したBPDUの送受信方法には、次のような問題がある。
BPDUを定期的に送受信することは、リンク障害監視を行うための非常に有効な手段であるが、ブリッジ装置において各ポートに組み込まれているソフトウェアのアップグレード等の更新を行う場合のように、障害ではないにも関わらず、BPDU送信を行った直後から一定時間(RSTPであればHello Time周期の3倍)、BPDU送信が停止してしまう場合に問題となる。
BPDU送信等を制御するソフトウェアが停止していても、データパスに関してはハードウェアにより処理を行って、データ通信サービスを無瞬断で継続しなければならない場合が多い。つまり、この場合、トポロジー再構築やMACテーブルのフラッシュ処理は不要であり、一切実施させないことが望ましい。
しかしながら、従来のブリッジ装置では、データパスは今まで通り処理可能であるにも関わらず、不要なトポロジー再構築が行われてしまい、その再構築が完了するまでの間、ネットワーク内の多くのデータパスは不通状態になる。
したがって、STPが動作している装置のソフトウェアのアップグレードをフレームの転送サービスを中断することなく実施するには、上記一定時間内にソフトウェアのダウンロードおよびその後のソフトウェアの初期化を完了する必要がある。しかしながら、この一定時間は、プロトコルのパラメータ値により異なるが、通常6秒、最小3秒であり、この時間内にソフトウェアのダウンロードおよび初期化を完了するのは、現実的には不可能である。
そこで、上述した特許文献1のように、自律的にBPDUの送信処理を行うハードウェアを用いて、ソフトウェアの更新中に擬似的なBPDUを生成することも考えられるが、ネットワーク内のすべてのブリッジ装置に新たなハードウェア機能を追加すると、膨大な手間とコストが必要となる。
また、CPU(Central Processing Unit )のための実行メモリを2つ用意してメモリを二重化し、片方の系のメモリでソフトウェア動作中に他系のメモリにソフトウェアをダウンロードし、ダウンロードの完了をトリガとして実行メモリを瞬時に切り替える方法も考えられる。これにより、ソフトウェアのダウンロード時間に影響されずに、CPUの停止時間を短縮することができる。しかし、この方法では、二重化のための実装コストが高くなるという問題がある。
また、ソフトウェアのダウンロード後のCPUの初期化を3秒以内に行うことも、実現不可能ではないが、実装コストが非常に高くなってしまう。
さらに、STPをサポートするブリッジ装置は、ソフトウェアが初期化されてしまうと、過渡的に自身をルートブリッジ装置とするBPDUを送信する。この場合、対向装置は、そのBPDUを受信することによりトポロジーが変化したものとして処理を行い、一時的にフレームの転送サービスが中断してしまう。
これを回避する方法は、動的に変化するポートロール、ポートステート等のSTPの各種パラメータを引き継ぐリダンダンシー機能を実装することであるが、これもまた、実装コストが高くなるという問題がある。
本発明の課題は、データ通信サービスを中断せずにソフトウェアの更新等の作業を行うことが可能な制御パケット処理装置および方法を提供することである。
本発明のもう1つの課題は、可能な限り、STPをサポートする装置に新たなハードウェア機能を追加することなく、上記課題を実現することである。
図1は、本発明の制御パケット処理装置の原理図である。図1の制御パケット処理装置は、受信手段101、バッファ手段102、制御手段103、生成手段104、送信手段105、および入力手段106を備える。
本発明の第1の局面において、制御パケット処理装置は、受信手段101、バッファ手段102、および制御手段103を備え、スパニングツリープロトコルをサポートする装置間で各種情報を交換するために使用される制御パケットの受信処理を行う。受信手段101は、制御パケットを受信し、バッファ手段102は、受信した制御パケットを格納する。制御手段103は、一定期間制御パケットが受信されない場合にスパニングツリープロトコルの通信経路を再構築する処理部107に対して、バッファ手段102に格納された制御パケットを一定周期で自律的に転送する。
このような制御パケット処理装置によれば、送信側装置のソフトウェアの更新等のために制御パケットの送信が停止した場合でも、受信側装置において最後に受信した制御パケットを定期的に処理部107に転送することができる。これにより、処理部107に対する制御パケットの供給が継続されるので、トポロジー再構築の発生が防止される。
本発明の第2の局面において、制御パケット処理装置は、生成手段104および送信手段105を備え、スパニングツリープロトコルをサポートする装置間で各種情報を交換するために使用される制御パケットの送信処理を行う。生成手段104は、受信側装置において一定期間制御パケットが受信されない場合にスパニングツリープロトコルの通信経路が再構築されることを防止するため、制御パケットの送信を停止するときに送信停止を示す制御パケットを生成する。送信手段105は、生成された制御パケットを送出する。
このような制御パケット処理装置によれば、送信側装置のソフトウェアの更新等のために制御パケットの送信を停止する場合、その旨を示す制御パケットが送出される。これを受けて、受信側装置では、制御パケットの送信が停止されたことを認識し、トポロジー再構築の発生を適切に抑止することが可能となる。
さらに、第1および第2の局面の制御パケット処理装置において、制御手段103および生成手段104の機能を、スパニングツリープロトコルをサポートする装置のBPDU送受信を処理するソフトウェアの機能として追加すれば、新たなハードウェア機能を追加することなく、トポロジー再構築の発生を抑止することができる。
本発明の第3の局面において、制御パケット処理装置は、入力手段106および送信手段105を備え、スパニングツリープロトコルをサポートする装置間で各種情報を交換するために使用される制御パケットの送信処理を行う。入力手段106は、制御パケットの自動送信の開始指示を入力する。送信手段105は、上記開始指示に従って、制御パケットの送信要求を出力する処理部107の動作が停止してから再開するまでの間、制御パケットを一定期間、一定間隔で自律的に送信する。
このような制御パケット処理装置によれば、送信側装置のソフトウェアの更新等を行う前に開始指示を入力することで、処理部107の動作が停止した後も受信側装置に対して制御パケットを自動的に送信することができる。したがって、受信側装置におけるトポロジー再構築の発生が防止される。
さらに、第3の局面の制御パケット処理装置において、入力手段106の機能を、スパニングツリープロトコルをサポートする装置のソフトウェアの機能として追加し、送信手段105の機能を、BPDU送受信を処理するソフトウェアの機能として追加すれば、新たなハードウェア機能を追加することなく、トポロジー再構築の発生を抑止することができる。
受信手段101は、例えば、後述する図4、6、および8のBPDU抽出部223に対応し、バッファ手段102は、例えば、図4、6、および8の最新BPDU格納バッファ414に対応し、制御手段103は、例えば、図4、6、および8のBPDU受信ドライバ403、601、および801に対応する。
また、生成手段104は、例えば、後述する図5のBPDU送信ドライバ501または図7のBPDU送信ドライバ701に対応し、送信手段105は、例えば、後述する図2のラインカード202、図5のBPDU送出部224、または図7の制御パケット送出部702に対応し、入力手段106は、例えば、後述する図11のユーザインタフェースプログラム401に対応する。さらに、処理部107は、例えば、図4乃至8および図11のSTPプロトコル処理プログラム402に対応する。
本発明によれば、ブリッジ装置やルータのように、スパニングツリープロトコルをサポートする装置において、ソフトウェアアップグレード等により一時的にBPDU送信が不可能な状態になっても、スパニングツリー再構築によるサービス中断が生じない無瞬断のデータ通信サービスをユーザに提供することが可能になる。
また、スパニングツリー再構築を抑止するために必要な機能をブリッジ装置等のソフトウェアの機能として追加すれば、新たなハードウェア機能を追加することなく、上記無瞬断のデータ通信サービスを実現することができる。
以下、図面を参照しながら、本発明を実施するための最良の形態を詳細に説明する。
第1の実施形態では、ブリッジ装置のBPDU受信側に搭載されるBPDU受信ドライバにおいて、対向ブリッジ装置側で意図的にBPDU送信が止まっている間、STPプロトコル処理プログラムには擬似的にBPDUを受信したようにみせる。その結果、新たなハードウェア機能を追加することなく、各ポートに組み込まれているソフトウェアの更新等をサービス中断なしで実現することが可能になる。
つまり、ハードウェアによる自律的なBPDU送信機能を持たせることなく、ソフトウェア、特にBPDU送受信を処理するドライバ部分の機能追加のみで、無瞬断のサービスを実現することが可能になる。
図2は、第1の実施形態のブリッジ装置のハードウェア構成図である。図2のブリッジ装置200は、メインCPUカード201、ポート#1〜#nのためのn枚のラインカード202−1(#1)〜202−n(#n)、およびスイッチカード203からなる。
メインCPUカード201は、CPU211およびメモリ212を備える。メモリ212は、ROM(read only memory)、RAM(random access memory)等を含み、処理に用いられるプログラムおよびデータを格納する。CPU211は、メモリ212を利用してユーザインタフェースプログラムおよびSTPプロトコル処理プログラムを実行することで、スパニングツリープロトコルをサポートするために必要な処理を行う。
各ラインカードは、CPU221、メモリ222、BPDU抽出部223、BPDU送出部224、MACテーブル225、および宛先検索部226を備え、各ポートによるパケットの送受信を制御する。ここでは、各ポート毎に1枚のラインカードを設けているが、1枚のラインカードに複数のポートを収容することも可能である。
メモリ222は、ROM、RAM等を含み、処理に用いられるプログラムおよびデータを格納する。CPU221は、メモリ222を利用してBPDU受信ドライバおよびBPDU送信ドライバのプログラムを実行することで、BPDUの送受信を制御するために必要な処理を行う。
BPDU抽出部223は、他のブリッジ装置から受信したパケットの中からBPDUを抽出してBPDU受信ドライバに渡し、BPDU送出部224は、BPDU送信ドライバから受け取ったBPDUを他のブリッジ装置に送信する。
MACテーブル225は、ブリッジ装置のMACアドレスとポート識別情報の組を格納し、宛先検索部226は、受信したパケットの宛先MACアドレスに対応するポート識別情報をMACテーブルから検索し、そのポートを宛先としてパケットをスイッチカード203に入力する。スイッチカード203は、経路の切り替えを行うスイッチを備えており、各ラインカードから入力されたパケットを宛先ポートを有するラインカードに転送する。
図3は、図2のブリッジ装置200に必要なプログラムおよびデータをロードする方法を示している。プログラムおよびデータは、サーバ301のデータベース311や可搬記録媒体302に格納されており、ブリッジ装置200のメモリ212または222にロードされる。可搬記録媒体302としては、メモリカード、フレキシブルディスク、光ディスク、光磁気ディスク等の任意のコンピュータ読み取り可能な記録媒体が用いられる。
また、サーバ301は、そのプログラムおよびデータを搬送する搬送信号を生成し、ネットワーク上の伝送媒体を介してブリッジ装置200に送信する。ブリッジ装置200のCPU211または221は、ロードされたデータを用いてロードされたプログラムを実行し、必要な処理を行う。
次に、図4から図8までを参照しながら、ブリッジ装置200によるBPDU送受信方法について説明する。これらの方法において用いられるユーザインタフェースプログラム401およびSTPプロトコル処理プログラム402は、メインCPUカード201に搭載され、BPDU受信ドライバ403およびBPDU送信ドライバ501は、各ラインカードに実装される。これらのプログラムが更新対象のソフトウェアとなる。
図4に示すBPDU受信方法では、BPDU受信処理を行うBPDU受信ドライバ403の機能により、BPDU送信が停止したときに無瞬断のサービスを実現する。この場合、BPDU受信ドライバ403は、BPDU転送処理プログラム411、擬似受信トリガ生成プログラム412、およびBPDU受信処理プログラム413からなり、メモリ222内に設けられた最新BPDU格納バッファ414を用いて受信制御を行う。
BPDU転送処理プログラム411は、STPプロトコル処理プログラム402に対するインタフェース機能を提供し、BPDU受信処理プログラム413は、BPDU抽出部223に対するインタフェース機能を提供する。
また、ユーザインタフェースプログラム401は、ユーザに対するインタフェース機能を提供し、STPプロトコル処理プログラム402は、ネットワーク上の任意のブリッジ装置間で物理的に冗長な通信経路が存在する場合に、特定のポートを介したデータフレーム中継を抑止することでブリッジ装置間のフレーム中継経路を一意に決定する機能を提供する。具体的には、STPプロトコル処理プログラム402は、トポロジー構築に必要な通信経路のコスト値の演算、ポートのブロッキング等の処理を行い、一定期間BPDUが受信されない状態を検出するとトポロジーの再構築を行う。
BPDUの通常受信時には、BPDU受信処理プログラム413は、BPDU抽出部223から受け取ったBPDUを最新BPDU格納バッファ414に格納した後、BPDU転送処理プログラム411にBPDU受信トリガを与える。これを受けて、BPDU転送処理プログラム411は、最新BPDU格納バッファ414から最新BPDUを取り出し、それをSTPプロトコル処理プログラム402に転送する。
これに対して、BPDU送信元である対向ブリッジ装置においてソフトウェアの更新が行われる等の要因でBPDU送信が停止する場合には、事前に外部のネットワーク管理装置からユーザインタフェースプログラム401に対して、擬似受信トリガ生成開始指示が与えられる。ユーザインタフェースプログラム401は、この指示を擬似受信トリガ生成プログラム412に転送し、擬似受信トリガ生成プログラム412は、BPDU転送処理プログラムに対して定期的にBPDU受信トリガを供給する処理を開始する。
トリガ生成の具体的な周期については、最新BPDU格納バッファ414に格納されたBPDU内のHello Time値とするのが最も良いが、固定的に2秒間隔というように設定してもよい。
これにより、実際にBPDU送受信が行われず、最新BPDU格納バッファ414の情報が更新されていない状態であっても、BPDU転送処理プログラム411は、擬似的なBPDU受信トリガを受け取ることで、最新BPDU格納バッファに格納されたBPDUを取り出し、定期的にSTPプロトコル処理プログラム402にBPDUを通知することが可能になる。したがって、STPプロトコル処理プログラム402によるトポロジー再構築の発生が防止される。
そして、対向ブリッジ装置がBPDU送信を再開可能な状態に戻ったとき、ネットワーク管理装置からユーザインタフェースプログラム401に対して、擬似受信トリガ生成停止指示が与えられる。ユーザインタフェースプログラム401は、この指示を擬似受信トリガ生成プログラム412に転送し、擬似受信トリガ生成プログラム412は、BPDU転送処理プログラム411へのBPDU受信トリガの供給を停止する。
図5および図6に示すBPDU送受信方法では、BPDUに送信停止/再開を示す情報を付加することでその情報をブリッジ装置間で通知するようにする。これにより、外部のネットワーク管理装置を介在させることなく、BPDU送信が停止するタイミングと再開するタイミングをブリッジ装置間で通知することが可能になる。
図5に示されるように、BPDU送信側のBPDU送信ドライバ501は、送信停止/再開通知用BPDU生成プログラム511およびBPDU送信処理プログラム512からなる。BPDU送信処理プログラム512は、BPDU送出部224に対するインタフェース機能を提供する。
BPDUの通常送信時には、STPプロトコル処理プログラム402は、BPDU送信処理プログラム512に対して送信BPDUを転送し、BPDU送信処理プログラム512は、受け取ったBPDUを送信するためにBPDU送出部224を制御する。
これに対して、ソフトウェアの更新等でBPDU送信を停止する場合は、事前に外部からユーザインタフェースプログラム401に対して、BPDU送信停止指示が与えられる。ユーザインタフェースプログラム401は、この指示を送信停止/再開通知用BPDU生成プログラム511に転送し、送信停止/再開通知用BPDU生成プログラム511は、“送信停止フラグ”が設定されたBPDUを生成して、BPDU送信処理プログラム512に渡す。こうして、“送信停止フラグ”を含むBPDUがブリッジ装置から送出される。
ただし、IEEE標準で規定されたBPDUには“送信停止フラグ”の意味を有するフィールドが存在しないため、特定のフィールドにおいて通常のBPDU送信時には使用しない特定の値を“送信停止フラグ”として扱うというルールを、事前に決めておく。例えば、BPDU内のProtocol Version Identifierフィールド(1Byte)において4以上の値は通常使用されないので、0xffという値を使用した場合にはそれを“送信停止フラグ”として扱うというルールが考えられる。
一方、BPDU受信側では、図6に示されるように、BPDU受信ドライバ601は、BPDU転送処理プログラム411、擬似受信トリガ生成プログラム412、BPDU受信処理プログラム413、およびBPDU受信判定プログラム611からなる。
BPDU抽出部223がBPDUを受信すると、BPDU受信処理プログラム413は、BPDU抽出部223から受信BPDUを受け取り、BPDU受信判定プログラム611に渡す。BPDU受信判定プログラム611は、受信BPDUが“送信停止フラグ”を含むか否かを判定し、“送信停止フラグ”を含んでいなければ、そのBPDUを通常のBPDUと判断し、最新BPDU格納バッファ414に格納した後、BPDU転送処理プログラム411にBPDU受信トリガを与える。これを受けて、BPDU転送処理プログラム411は、最新BPDU格納バッファ414からBPDUを取り出し、STPプロトコル処理プログラム402へ転送する。
これに対して、受信BPDUが“送信停止フラグ”を含んでいれば、BPDU受信判定プログラム611は、それを最新BPDU格納バッファ414に格納することなく、擬似受信トリガ生成プログラム412に対して擬似受信トリガ開始指示を与える。これを受けて、擬似受信トリガ生成プログラム412は、BPDU転送処理プログラム411に対して定期的にBPDU受信トリガを供給する処理を開始する。
これにより、通常のBPDUが全く受信されない状態であっても、最新BPDU格納バッファ414に格納されたBPDUが定期的にSTPプロトコル処理プログラム402に転送され、STPプロトコル処理プログラム402によるトポロジー再構築の発生が防止される。
また、ソフトウェアの更新等が完了し、BPDU送信停止の状態から回復したときには、擬似受信トリガ生成プログラム412により生成される擬似受信トリガを停止させる必要がある。
そこで、図5のブリッジ装置には、外部からユーザインタフェースプログラム401に対して、BPDU送信再開指示が与えられる。ユーザインタフェースプログラム401は、この指示を送信停止/再開通知用BPDU生成プログラム511に転送し、送信停止/再開通知用BPDU生成プログラム511は、“送信再開フラグ”が設定されたBPDUを生成して、BPDU送信処理プログラム512に渡す。“送信再開フラグ”のフィールドと値は、“送信停止フラグ”と同様に事前に決めておくものとする。こうして、“送信再開フラグ”を含むBPDUがブリッジ装置から送出される。
そして、図6のブリッジ装置では、BPDU受信判定プログラム611が、受信BPDUが“送信再開フラグ”を含むか否かを判定し、そのBPDUが“送信再開フラグ”を含んでいれば、擬似受信トリガ生成プログラム412に対して擬似受信トリガ停止指示を与える。これにより、擬似受信トリガ生成プログラム412は、BPDU転送処理プログラム411に対するBPDU受信トリガの供給を停止する。
図5および図6のBPDU送受信方法において、擬似受信トリガ生成プログラムによる擬似受信トリガ生成の停止を指示するために、“送信再開フラグ”の設定されたBPDUを送受信することなく、通常のBPDUの送信を再開するだけで済ませることも可能である。
この場合、BPDU送信側では再開通知用のBPDUを生成しない。そして、BPDU受信側では、BPDU受信判定プログラム611が、“送信停止フラグ”の設定されたBPDU以外のBPDUを受信した場合は、常にもしくは複数回に1度、擬似受信トリガ生成プログラム412に対して擬似受信トリガ停止を指示する。
図7および図8に示すBPDU送受信方法は、前述した図5および図6のBPDU送受信方法と類似しているが、異なる点は“送信再開フラグ”または“送信停止フラグ”の設定されたBPDUの代わりに、別の制御パケットを使用している点である。別の制御パケットを使用した場合も、外部のネットワーク管理装置を介在させることなく、BPDU送信が停止するタイミングと再開するタイミングをブリッジ装置間で通知することが可能になる。
この方法では、ハードウェア機能としてBPDU以外の制御パケットを送受信可能であるという条件が必要になるが、IEEE標準で規定されたBPDUフォーマットの変更が一切許容されないような場合に有効になると考えられる。このようなハードウェア機能として、各ラインカードは、図7の制御パケット送出部702および図8の制御パケット抽出部802を備える。
図7に示されるように、BPDU送信側の制御パケット送出部702は、BPDU送信ドライバ701から受け取った制御パケットを他のブリッジ装置に送信する。BPDU送信ドライバ701は、送信停止/再開通知用制御パケット生成プログラム711、制御パケット送信処理プログラム712、およびBPDU送信処理プログラム512からなる。制御パケット送信処理プログラム712は、制御パケット送出部702に対するインタフェース機能を提供する。
BPDUの通常送信時には、STPプロトコル処理プログラム402は、BPDU送信処理プログラム512に対して送信BPDUを転送し、BPDU送信処理プログラム512は、受け取ったBPDUを送信するためにBPDU送出部224を制御する。
これに対して、ソフトウェアの更新等でBPDU送信を停止する場合は、事前に外部からユーザインタフェースプログラム401に対して、BPDU送信停止指示が与えられる。ユーザインタフェースプログラム401は、この指示を送信停止/再開通知用制御パケット生成プログラム711に転送し、送信停止/再開通知用制御パケット生成プログラム711は、送信停止を示す送信停止通知用制御パケットを生成して、制御パケット送信処理プログラム712に渡す。こうして、送信停止通知用制御パケットがブリッジ装置から送出される。
一方、BPDU受信側では、図8に示されるように、制御パケット抽出部802は、他のブリッジ装置から受信したパケットの中から送信停止/再開通知用制御パケットを抽出して、BPDU受信ドライバ801に渡す。BPDU受信ドライバ801は、BPDU転送処理プログラム411、擬似受信トリガ生成プログラム412、BPDU受信処理プログラム413、および制御パケット受信処理プログラム811からなる。制御パケット受信処理プログラム811は、制御パケット抽出部802に対するインタフェース機能を提供する。
BPDU抽出部223がBPDUを受信すると、BPDU受信処理プログラム413は、BPDU抽出部223から受信BPDUを受け取り、最新BPDU格納バッファ414に格納した後、BPDU転送処理プログラム411にBPDU受信トリガを与える。これを受けて、BPDU転送処理プログラム411は、最新BPDU格納バッファ414からBPDUを取り出し、それをSTPプロトコル処理プログラム402へ転送する。
また、制御パケット抽出部802が送信停止通知用制御パケットを受信すると、制御パケット受信処理プログラム811は、制御パケット抽出部802からその制御パケットを受け取り、擬似受信トリガ生成プログラム412に対して擬似受信トリガ開始指示を与える。これを受けて、擬似受信トリガ生成プログラム412は、BPDU転送処理プログラム411に対して定期的にBPDU受信トリガを供給する処理を開始する。
これにより、通常のBPDUが全く受信されない状態であっても、最新BPDU格納バッファ414に格納されたBPDUが定期的にSTPプロトコル処理プログラム402に転送され、STPプロトコル処理プログラム402によるトポロジー再構築の発生が防止される。
また、ソフトウェアの更新等が完了し、BPDU送信停止の状態から回復したときには、図7のブリッジ装置には、外部からユーザインタフェースプログラム401に対して、BPDU送信再開指示が与えられる。ユーザインタフェースプログラム401は、この指示を送信停止/再開通知用制御パケット生成プログラム711に転送し、送信停止/再開通知用制御パケット生成プログラム711は、送信再開を示す送信再開通知用制御パケットを生成して、制御パケット送信処理プログラム712に渡す。こうして、送信再開通知用制御パケットがブリッジ装置から送出される。
そして、図8のブリッジ装置では、制御パケット抽出部802が送信再開通知用制御パケットを受信すると、制御パケット受信処理プログラム811は、制御パケット抽出部802からその制御パケットを受け取り、擬似受信トリガ生成プログラム412に対して擬似受信トリガ停止指示を与える。これにより、擬似受信トリガ生成プログラム412は、BPDU転送処理プログラム411に対するBPDU受信トリガの供給を停止する。
図7および図8のBPDU送受信方法において、擬似受信トリガ生成プログラムによる擬似受信トリガ生成の停止を指示するために、送信再開通知用制御パケットを送受信することなく、通常のBPDUの送信を再開するだけで済ませることも可能である。
この場合、BPDU送信側では送信再開通知用制御パケットを生成しない。そして、BPDU受信側では、BPDU受信処理プログラム413が、BPDUを受信した場合は、常にもしくは複数回に1度、擬似受信トリガ生成プログラム412に対して擬似受信トリガ停止を指示する。
次に、図9および図10を参照しながら、第1の実施形態におけるブリッジ装置のソフトウェア更新処理の手順について説明する。
図9の構成では、スパニングツリープロトコルが動作しているブリッジ装置901、902、903、および904で構成されるネットワークに加えて、それらの全ブリッジ装置を監視/制御するネットワーク管理装置941が存在する。
この場合、ブリッジ装置901がルートブリッジ装置に割り当てられ、デジグネーテッドポート902および903から、ブリッジ装置911のルートポート912およびブリッジ装置921のルートポート922にそれぞれBPDUが送信される。また、ブリッジ装置911のデジグネーテッドポート913からブリッジ装置931のルートポート932にBPDUが送信される。ブリッジ装置921のデジグネーテッドポート923に対向するブリッジ装置931のポート933は、オルタネートポートとしてブロックされている。
ここで、一部もしくは全てのブリッジ装置が図4に示したBPDU受信方法をサポートしていれば、特定もしくは任意のブリッジ装置においてソフトウェアの更新によりBPDU送信処理が停止する状態になっても、トポロジー再構築を発生させることなく、無瞬断のデータ通信サービスを提供することが可能である。
例えば、図9のブリッジ装置911のソフトウェアを更新する場合、ネットワーク管理装置941によるブリッジ装置の制御手順は以下のようになる。
(1)まず、ネットワーク管理装置941は、BPDUの流れにおいてブリッジ装置911の下流にあるポート、つまりブリッジ装置931におけるブリッジ装置912との接続ポート932に対して、擬似受信トリガ生成開始指示を行う。これにより、ブリッジ装置931では、ブリッジ装置911からBPDUが送信されたかどうかに関わらず、前回受信した最新BPDUの情報を定期的にSTPプロトコル処理プログラムに転送する。
(2)次に、ネットワーク管理装置941は、ブリッジ装置911のソフトウェア更新処理を行う。このとき、ブリッジ装置911から送信されるBPDUは停止される。ただし、ブリッジ装置931では、STPプロトコル処理プログラムに擬似的にBPDUが転送される状態が継続している。
(3)最後に、ブリッジ装置911のソフトウェア更新処理が完了し、BPDU送信を再開可能な状態になった後で、ネットワーク管理装置941は、ブリッジ装置931に対して擬似受信トリガ生成停止指示を行う。これにより、ブリッジ装置931では、前回受信した最新BPDUの情報を定期的にSTPプロトコル処理プログラムに転送する処理を停止し、実際にBPDUを受信しない限り、STPプロトコル処理プログラムに対してBPDUを転送しないという正常な状態に戻る。
上記(1)〜(3)の間、ネットワーク全域においてトポロジー再構築が行われないため、データ通信に関する無瞬断サービスが継続される。
図10の構成では、スパニングツリープロトコルが動作しているブリッジ装置1001、1011、1021、および1031で構成されるネットワークについては図9と同様であるが、ネットワーク管理装置は存在しない。各ブリッジ装置の制御は、CLI(Command Line Interface)を搭載した端末のような、ブリッジ装置にコマンド入力可能な簡易端末1041を接続し、その端末1041からコマンドを投入することで実施される。
この場合、ブリッジ装置1001のデジグネーテッドポート1002および1003、ブリッジ装置1011のルートポート1012およびデジグネーテッドポート1013、ブリッジ装置1021のルートポート1022およびデジグネーテッドポート1023、およびブリッジ装置1031のルートポート1032およびオルタネートポート1033の役割については、図9と同様である。
このようなブリッジ装置の管理形態、つまり複数のブリッジ装置を一括管理する装置が存在しない形態では、図9のように複数のブリッジ装置に対して連携操作を行うことが難しい。そこで、図5および図6に示したBPDU送受信方法を利用することで、擬似受信トリガ生成の開始/停止を行う。
例えば、図10のブリッジ装置1011のソフトウェアを更新する場合、簡易端末1041によるブリッジ装置の制御手順は以下のようになる。
(1)まず、簡易端末1041は、ブリッジ装置1011に対して送信停止指示を行う。これにより、ブリッジ装置1011では、“送信停止フラグ”の設定されたBPDUをブリッジ装置1031に対して送信する。これを受信したブリッジ装置1031では、“送信停止フラグ”を認識し、最新BPDU格納バッファに格納済みのBPDUを定期的にSTPプロトコル処理プログラムに転送する。
(2)次に、簡易端末1041は、ブリッジ装置1011のソフトウェア更新処理を行う。このとき、ブリッジ装置1011から送信されるBPDUは停止される。ただし、ブリッジ装置1031では、STPプロトコル処理プログラムに擬似的にBPDUが転送される状態が継続している。
(3)最後に、ブリッジ装置1011のソフトウェア更新処理が完了し、BPDU送信を再開可能な状態になった後で、簡易端末1041は、ブリッジ装置1011に対して送信再開指示を行う。これにより、ブリッジ装置1011では、“送信再開フラグ”の設定されたBPDUをブリッジ装置1031に対して送信する。これを受信したブリッジ装置1031では、“送信再開フラグ”を認識し、最新BPDU格納バッファに格納済みのBPDUを定期的にSTPプロトコル処理プログラムに転送する処理を停止する。これにより、ブリッジ装置1031では、実際にBPDUを受信しない限り、STPプロトコル処理プログラムにBPDUを転送しないという正常な状態に戻る。
上記(1)〜(3)の間、図9の方法と同様に、データ通信に関する無瞬断サービスが継続される。
簡易端末1041からの制御手順として、(1)の手順を省略し、直接(2)の手順を実施することにより、ブリッジ装置1011のユーザインタフェースプログラムが、BPDU送信ドライバに対する送信停止指示をソフトウェア更新処理の前処理として行うことも可能である。
さらに、“送信再開フラグ”の設定されたBPDUを使用しない場合は、(3)の手順も省略可能である。この場合、簡易端末1041からブリッジ装置1011に対する制御は、従来と同様にソフトウェア更新処理のコマンド入力だけで済ませることが可能となる。
また、図7および図8に示したBPDU送受信方法を利用して、“送信停止フラグ”または“送信再開フラグ”の設定されたBPDUの代わりに別の制御パケットを送受信すれば、BPDUフォーマットの変更を一切行わないようにすることが可能となる。
以上説明した第1の実施形態では、ソフトウェア更新作業の対象となるブリッジ装置の下流側に接続されたブリッジ装置に擬似受信トリガ生成機能を設けることで、トポロジー再構築の発生を抑止している。これに対して、下流側のブリッジ装置に何ら追加機能を付加することなく、トポロジー再構築の発生を抑止することも可能である。以下では、このような第2の実施形態について説明する。
第2の実施形態では、主として、次の(A)乃至(C)の3つの制御が行われる。
(A)作業対象となるブリッジ装置のデジグネーテッドポートに接続された対向ブリッジ装置がトポロジーの変化を検出しないようにする。
作業対象となるブリッジ装置のポート制御部によりBPDUの送信を継続することで、対向ブリッジ装置がトポロジーの変化を検出することを防止する。ポート制御部は、図2のラインカード202に対応し、メインCPUカード201とは独立に動作可能である。具体的には、以下の手順で制御が行われる。
(1)メインCPUカード201のCPU211からポート制御部に対して、BPDUの自動送信開始を指示する。
(2)ポート制御部は、特定のBPDUを一定期間、一定間隔で自動的に対向ブリッジ装置に送信する。
(3)CPU211からポート制御部に対して、BPDUの自動送信停止を指示する。
一例として、図14のブリッジ装置56のソフトウェアをアップグレードする場合について説明する。図15に示した通り、定常状態では、ブリッジ装置56からブリッジ装置59に対してBPDUが一定間隔で送信され続け、ブリッジ装置52からブリッジ装置56に対してBPDUが一定間隔で送信され続けている。
ここで、ブリッジ装置56のソフトウェアのアップグレード開始時に、CPUからポート58のポート制御部に対して、一定期間、一定間隔で特定のBPDUを送信することを指示する。ポート58のポート制御部は、CPUからの指示に従い、特定のBPDUをブリッジ装置59に対して一定間隔で送信する。これにより、CPUが停止しても、ポート制御部によるBPDUの自動送信が継続される。
その後、ソフトウェアのアップグレードが完了し、CPUが再起動した後、CPUからポート58のポート制御部に対して、BPDUの自動送信を停止する指示を行うとともに、STPプロトコル処理プログラムによる通常のBPDUの送信を再開する。
これにより、ブリッジ装置56のソフトウェアのアップグレード前、アップグレード中、およびアップグレード後において、ブリッジ装置56からブリッジ装置59に対するBPDUの送信が一定間隔で継続される。したがって、ブリッジ装置59が他のリンクにより通信が可能になるようにトポロジーの再構築を開始することを防止できる。
(B)作業対象となるブリッジ装置のアクティブポートのうち、デジグネーテッドポート以外のポート(例えば、ルートポート)に接続された対向ブリッジ装置がトポロジーの変化を検出しないようにする。
ブリッジ装置にソフトウェアがダウンロードされ、STPプロトコル処理プログラムの初期化が完了した後、対向ブリッジ装置から受信するBPDUをSTPプロトコル処理プログラムに引き渡し、BPDUの情報がSTPプロトコル処理プログラムに正しく反映されるようにする。そのために、ポート制御部は、特定のBPDUの自動送信中に、受信したBPDUをCPUに正しく引き渡す。
例えば、図14のブリッジ装置56のソフトウェアのアップグレードが完了した後、BPDUの自動送信中にCPUが再起動したとき、ポート制御部が受信BPDUを正しくCPUに引き渡すことにより、STPプロトコル処理プログラムは、動的に変化するポートロール、ポートステート等のSTPの各種パラメータを、アップグレード前の値に正しく一致させることができる。その結果、ブリッジ装置56は、アップグレード前にBPDUを送信していたポートに同一BPDUを転送することができ、ブリッジ装置59がトポロジーの再構築を開始することを防止できる。
また、ブリッジ装置にソフトウェアがダウンロードされ、STPプロトコル処理プログラムの初期化が完了した後、STPプロトコル処理プログラムが送信する過渡的なBPDUを廃棄し、過渡的な制御情報により対向ブリッジ装置がトポロジーの変化を検出することを防止する。具体的には、以下の手順で制御が行われる。
(1)CPUは、ポート制御部に対してBPDUの自動送信を指示中であるか否かを示す情報をソフトウェアアップグレードの前後で引き継ぐ。
(2)CPUは、上記引継ぎ情報を元に、BPDUの自動送信中はポート制御部に対するBPDU送信要求を破棄する。
(3)CPUは、上記引継ぎ情報を元に、BPDUの自動送信中はすべてのポート制御部に対するMACテーブルのフラッシュ指示を破棄する。
例えば、図14のブリッジ装置56のソフトウェアのアップグレードが完了した後、BPDUの自動送信中にCPUが再起動したとき、STPプロトコル処理プログラムは、STPの各種パラメータをアップグレード前の値に正しく一致させるまで、過渡的に、アップグレード前にはBPDUを送信していなかったポートにBPDUを転送する、および/または、異なるBPDUを送信する可能性がある。
このとき、BPDU自動送信指示中か否かを示す引継ぎ情報を元に、BPDUの自動送信中はすべてのポート制御部に対するBPDU送信要求を破棄することにより、このBPDUを対向ブリッジ装置が受信することを防止する。これにより、ブリッジ装置59がトポロジーの再構築を開始することを防止できる。
同様に、引継ぎ情報を元に、BPDUの自動送信中はすべてのポート制御部に対するMACテーブルのフラッシュ指示を破棄することにより、無用なMACテーブルの再学習およびフラッディングを防止できる。
(C)ソフトウェアのアップグレード中にネットワークのトポロジーが変化した場合に、ループまたは通信断が継続することを回避するため、作業対象となるブリッジ装置がトポロジーの変化に追随し、自動復旧できるようにする。
作業対象となるブリッジ装置のポート制御部において受信するBPDUを監視し、以下の場合に、ユーザデータの送受信を強制的に停止する。または、以下の場合に、STPを強制的に初期化する。
(a)受信したBPDUを直前に受信したBPDUと比較し、相違があった場合
(b)直前に受信したBPDUから一定期間が経過してもBPDUを受信しなかった場合
(c)BPDUを受信していなかったポートがBPDUを受信した場合
例えば、図14のブリッジ装置56のソフトウェアのアップグレード中にネットワークのトポロジーが変わると、以下のような変化が起こる可能性がある。
・ブリッジ装置56がブリッジ装置52から受信するBPDUの内容(パケット内部データ)が変化する。
・ブリッジ装置52がブリッジ装置56にBPDUを送信しなくなる。
・ブリッジ装置59がブリッジ装置56にBPDUを送信する。
このとき、ブリッジ装置56が継続して前の状態を保持して、同一BPDUを送信し続けると、ループまたは通信断が継続する可能性がある。そこで、ブリッジ装置56のポート制御部において受信するBPDUを監視し、上記(a)、(b)、または(c)の場合に強制的にユーザデータの送受信を停止することにより、ループの継続を回避できる。また、STPを強制的に初期化することにより、ループの継続を回避でき、さらに通信断を復旧することが可能となる。
また、受信するBPDUの内容が変化した場合、その変化の内容を上記(A)の制御を行うポート制御部に通知し、自動的に送信するBPDUの内容を変更する。
図14のブリッジ装置56のポート制御部は、ブリッジ装置52から受信したBPDUを直前に受信したBPDUと比較し、相違があった場合に、BPDUの自動送信を行っているポート制御部に対して、受信したBPDUまたは直前に受信したBPDUとの差分を通知する。通知されたポート制御部は、自律的に送信しているBPDUと通知された内容とを比較し、必要に応じて送信するBPDUの内容を変更する。これにより、ループおよび通信断を回避できる。
上記(A)乃至(C)の制御により、ソフトウェアのダウンロード中およびダウンロード後、STPプロトコル処理プログラムが安定状態に遷移するまで、対向ブリッジ装置がトポロジーの変化を検出しないようにすることができる。したがって、メモリの二重化もせず、リダンダンシー機能も実装せずに、フレームの転送サービスを中断することなく、ソフトウェアのアップグレードを実現できる。このような制御を実現するために、各ポートのポート制御部は、以下のような機能を備える。
(1)ポート毎に指定されたBPDUを一定間隔で自動送信する。具体的には、コマンド等により、ポート制御部によるBPDUの自動送信が有効化されたときに、ポート制御部に対して以下のようなパラメータを設定することができる。
・BPDU送信指定−当該ポートからBPDUを送信するか否かの指定
・送信BPDU長−最大64オクテット(RSTのBPDUでは、36オクテット+tag1段+α)
・送信BPDU−実際に送信するBPDUの内容
・送信間隔−100ms〜10秒
・送信継続回数−1〜2400回(手順失敗時にBPDUの送信を自動停止する手段)
なお、BPDU送信指定は送信BPDU長で代用することもできる。BPDUを送信しない場合、送信BPDU長が0に設定され、BPDUを送信する場合、送信BPDU長が0以外に設定される。
(2)コマンドまたはポート制御部からの直接の指示により、BPDUの自動送信を指定により強制的に停止する。
(3)ポート毎に受信BPDUに関する以下の監視を行う。
・受信するBPDUの内容の変化
・一定期間BPDUを受信しない
・BPDUの受信開始
(4)上記(3)で受信するBPDUの内容が変化した場合、その内容をBPDU自動送信中のポートに通知する。
(5)上記(4)の通知をトリガとして、自動送信中のBPDUの内容を変更する。
また、上記(A)乃至(C)の制御を実現するために、メインCPUカードのCPUは、以下のような機能を備える。
(1)BPDUの自動送信とCPUからのBPDU送信要求の破棄とを指示するコマンド等を受け取って、以下の(a)および(b)の機能を実行する。このコマンドは、トポロジーが安定している状態でソフトウェアのダウンロードの直前に指定されるものとする(装置単位の指定)。
(a)ポート制御部によるBPDUの自動送信を起動する。このとき、自動送信可能と判断されるポートは、例えば、RSTPが動作しているポートのうち、そのポートロールの属性がデジグネーテッドになっているすべてのポートである。パラメータの設定条件は、以下の通りである。
・BPDU送信指定−ON:デジグネーテッドポート
OFF:デジグネーテッドポート以外
・送信BPDU長−36:RSTP(tagなし)
35:STP(tagなし)
37:RSTP(tag付き)
36:STP(tag付き)
・送信BPDU−実際に送信するBPDUの内容
・送信間隔−現在のHello Time周期
・送信継続回数−送信継続時間が一定となるように上記Hello Time周期から計算する
なお、BPDU送信指定は送信BPDU長で代用することもできる。デジグネーテッドポート以外のポートの送信BPDU長は0に設定され、デジグネーテッドポートの送信BPDU長は0以外に設定される。
(b)すべてのアクティブポートに対して、ハードウェアのポートステートを固定化する。以下に固定化の具体的意味を示す。
・他のSTP関連コマンドは使用できないようにガードする。
・当該ポートから学習したMACテーブルをフラッシュしない。
・当該ポートに対するSTPプロトコル処理プログラムからのBPDU送信要求を破棄する。
・当該ポートで受信するBPDUをSTPプロトコル処理プログラムに引き渡す。
(2)コマンド等により、BPDUの自動送信とCPUからのBPDU送信要求の破棄とを停止する。
(3)BPDUの自動送信とCPUからのBPDU送信要求の破棄の起動/停止の切り替え時間は、例えば、2秒(最小Hello Time周期の2倍)以内とする。
図11は、このようなブリッジ装置のメインCPUカードに実装されるソフトウェアの構成例を示している。図11のブリッジ装置は、図2のブリッジ装置200と同様に、メインCPUカード201、ポート#1〜#nのためのn枚のラインカード202−1〜202−n、およびスイッチカード203からなる。各ラインカード202には、回線が2本ずつ接続されている。
メインCPUカード201のメモリには、ユーザインタフェースプログラム401およびSTPプロトコル処理プログラム402に加えて、装置管理プログラム1101、プロビジョニング情報管理プログラム1102、MACテーブル処理プログラム1103、およびスイッチ/ポート制御プログラム1104が格納されている。メインCPUカード201のCPUは、これらのプログラムを実行することで必要な処理を行う。
これらのカードおよびプログラム間の実線はインタフェースを表し、カードおよびプログラム間の破線の矢印はデータの参照を表す。また、上述したポート制御部の機能は、各ラインカード202のBPDU送信ドライバおよびBPDU受信ドライバの機能として実装される。
装置管理プログラム1101は、ブリッジ装置全体の管理を行う。具体的には、プロビジョニング情報管理プログラム1102と連携して、ブリッジ装置のプロビジョニング情報に基づき、スイッチ/ポート制御プログラム1104およびSTPプロトコル処理プログラム402に動作条件を指示する。また、スイッチ/ポート制御プログラム1104およびSTPプロトコル処理プログラム402から動作状態、障害発生、障害復旧等に関する情報を取得し、必要な処理を行う。
また、プロビジョニング情報管理プログラム1102との連携により、BPDUの自動送信とCPUからのBPDU送信要求の破棄の起動/停止情報を管理し、スイッチ/ポート制御部に対して、必要に応じて、BPDUの自動送信とCPUからのBPDU送信要求の破棄の開始/停止を指示する。
ユーザインタフェースプログラム401は、ネットワーク管理装置または簡易端末に対するインタフェース機能を提供し、プロビジョニング情報管理プログラム1102と連携して、管理情報の設定および表示を行う。また、コマンド等の入力により、BPDUの自動送信とCPUからのBPDU送信要求の破棄の起動/停止のトリガを発生する。
プロビジョニング情報管理プログラム1102は、ユーザインタフェースプログラム401からの指示に従い、プロビジョニング情報を設定/表示するとともに、そのプロビジョニング情報を装置管理プログラム1101、スイッチ/ポート制御プログラム1104、STPプロトコル処理プログラム402等に引き渡す。また、CPUの再起動時に、BPDUの自動送信とCPUからのBPDU送信要求の破棄の起動/停止の設定状態を引き継ぐ。
STPプロトコル処理プログラム402は、STPの動作主体であり、装置単位ステートマシン処理プログラム1111および回線対応ステートマシン処理プログラム1112−1〜1112−2nからなる。STPプロトコル処理プログラム402は、装置管理プログラム1101から指示された動作条件に従って動作すると同時に、トポロジーの変化を検出した場合は、その旨を装置管理プログラム1101に通知する。
MACテーブル処理プログラム1103は、プロビジョニング情報管理プログラム1102、装置管理プログラム1101、スイッチ/ポート制御プログラム1104と連携して、MACテーブルの原本を管理し、各ラインカード202に対して必要なMACテーブルを提供するとともに、スイッチカード203に対して必要なスイッチングを指示する。また、装置管理プログラム1101からの指示により、MACテーブルのフラッシュを停止する。
スイッチ/ポート制御プログラム1104は、装置管理プログラム1101からの指示に従い、スイッチカード203およびラインカード202に対して動作条件を通知するとともに、スイッチカード203およびラインカード202からの動作状態、障害発生、障害復旧等に関する情報を装置管理プログラム1101に通知する。
また、装置管理プログラム1101からの指示により、STPプロトコル処理プログラム402からラインカード202への(CPUからポート制御部への)BPDU送信要求を破棄したり、その破棄を停止したりするとともに、ラインカード202に対してBPDUの自動送信の起動/停止を指示する。さらに、ラインカード202からの要求により、装置管理プログラム1101を経由して、STPプロトコル処理プログラム402を強制的に初期化する。
スイッチカード203は、スイッチ/ポート制御プログラム1104からの指示に従い、各ラインカード202およびブリッジ装置内の必要な機能ブロック(例えば、メインCPUカード201内のプログラム)とのスイッチングを行う。
各ラインカード202は、スイッチ/ポート制御プログラム1104からの指示に従い、MACテーブルを参照しながらフレームの送受信を行う。また、スイッチ/ポート制御プログラム1104からの指示に従い、ポート毎に指定されたBPDUを一定間隔で自動的に送信し、スイッチ/ポート制御プログラム1104からの指示に従い、そのBPDUの自動送信を強制的に停止する。
また、スイッチ/ポート制御プログラム1104からの指示に従い、受信するBPDUを監視し、その結果に基づいて、スイッチ/ポート制御プログラム1104に対してSTPを強制的に初期化することを要求するか、あるいはBPDU自動送信中のラインカード202に直接、BPDUの変化の内容を通知する。
BPDU自動送信中のラインカード202は、BPDUの変化の通知に従い、BPDUの自動送信を停止するか、あるいは自動送信するBPDUの内容を変更する。
次に、図12を参照しながら、このようなブリッジ装置によるBPDUの送受信方法について説明する。図12は、図14のアクティブトポロジーにおいてブリッジ装置56のソフトウェアのアップグレードを行う場合のBPDU送受信のシーケンスを示している。このシーケンスでは、例えば、ブリッジ装置56のメインCPUカード201に搭載されたプログラムがアップグレードされる。
まず、ネットワーク管理装置または簡易端末からブリッジ装置56に対して、BPDUの自動送信開始とCPUからのBPDU送信要求の破棄を指示する。この間、ポートP1のポート制御部からCPUへのBPDUの引き渡しは継続される。
これにより、ブリッジ装置56のCPUが停止しても、ブリッジ装置59に対してBPDUが継続して送信されるので、ブリッジ装置59がトポロジーの変化を検出することを防止できる。
このとき、ポートP1のポート制御部が、ブリッジ装置52から受信するBPDUをSTPプロトコル処理プログラムに正しく引き渡す処理を継続することで、STPプロトコル処理プログラムは、現在のトポロジーに内部状態を追随させることができる。このため、作業者がソフトウェアのアップグレードを完了または中止して、ネットワーク管理装置または簡易端末からブリッジ装置56に対して、BPDUの自動送信とCPUからのBPDU送信要求の破棄とを停止する指示を与えたとしても、フレーム転送サービスの中断なしで復旧することができる。
BPDUの自動送信とCPUからのBPDU送信要求の破棄を起動した後、ネットワーク管理装置または簡易端末からブリッジ装置56に対して、ソフトウェアのアップグレードが指示され、ソフトウェアのダウンロードが行われる。この間、CPUまたはSTPプロトコル処理プログラムが停止していてもBPDUの送信が継続されるので、ブリッジ装置59は無用なトポロジーの変化を検出しない。
その後、ソフトウェアのアップグレードが完了し、CPUが再起動してSTPプロトコル処理プログラムが動作を開始すると、ブリッジ装置52から受信したBPDUとブリッジ装置56のスタティックなパラメータにより、ソフトウェアのアップグレード直前のトポロジー(内部状態)が復元される。
トポロジー復元の過程で、過渡的に任意のポートに対してソフトウェアのアップグレード直前のトポロジーと一致しないBPDUを転送する可能性があるが、CPUからのBPDU送信要求の破棄が起動されているので、対向ブリッジ装置にこのようなBPDUが送信されることはない。したがって、対向ブリッジ装置が無用なトポロジーの変化を検出することなく、アップグレード直前のトポロジーの復元を完了することができる。
最後に、ネットワーク管理装置または簡易端末からブリッジ装置56に対して、BPDUの自動送信とCPUからのBPDU送信要求の破棄の停止が指示される。
このようなシーケンスによれば、データ通信サービスを中断することなく、またブリッジ装置に新たなハードウェア機能を追加することなく、ソフトウェアのアップグレード等の作業を行うことができる。この場合、作業対象となるブリッジ装置に接続されている他のブリッジ装置には、何ら追加機能を付加する必要がない。
ところで、図12のシーケンスの実行中にネットワークのトポロジーが変わって、ブリッジ装置59が新たなルートブリッジとなった場合、本来はブリッジ装置56のポートP1はブロッキング状態に遷移すべきであり、ブリッジ装置56のポートP2はBPDUの自動送信を停止すべきである。
そこで、ブリッジ装置56は、ポートP1およびP2において受信するBPDUを監視し、ポートP1において一定期間BPDUを受信しないこと、またはポートP2においてBPDUを受信したことをトリガとして、ポートP2におけるBPDUの自動送信を停止し、STPを強制的に初期化する。STPを初期化することにより、すべてのポートが一旦ブロッキング状態となり、ユーザデータの送信が停止するため、ループの継続を防止することができる。また、STPの初期化後の通常動作により、通信断を復旧させることが可能となる。
また、ネットワークのトポロジーが変わったときに、ブリッジ装置52が送信するBPDUの内容が変わることも考えられる。この場合、本来はブリッジ装置56のポートP2が送信するBPDUの内容も変更する必要がある。
そこで、ブリッジ装置56のポートP1において受信するBPDUを監視し、その内容が変化した場合、その変化の内容を直接ポートP2に通知する。通知を受けたポートP2では、通知された内容に応じて送信するBPDUの内容を変更する。これにより、ループまたは通信断を防止することができる。
(付記1) スパニングツリープロトコルをサポートする装置間で各種情報を交換するために使用される制御パケットの受信処理を行う制御パケット処理装置であって、
前記制御パケットを受信する受信手段と、
受信した制御パケットを格納するバッファ手段と、
一定期間制御パケットが受信されない場合に前記スパニングツリープロトコルの通信経路を再構築する処理部に対して、前記バッファ手段に格納された制御パケットを一定周期で自律的に転送する制御手段と
を備えることを特徴とする制御パケット処理装置。
(付記2) スパニングツリープロトコルをサポートする装置間で各種情報を交換するために使用される制御パケットの送信処理を行う制御パケット処理装置であって、
受信側装置において一定期間制御パケットが受信されない場合に前記スパニングツリープロトコルの通信経路が再構築されることを防止するため、制御パケットの送信を停止するときに送信停止を示す制御パケットを生成する生成手段と、
生成された制御パケットを送出する送信手段と
を備えることを特徴とする制御パケット処理装置。
(付記3) スパニングツリープロトコルをサポートする装置間で各種情報を交換するために使用される制御パケットの送信処理を行う制御パケット処理装置であって、
制御パケットの自動送信の開始指示を入力する入力手段と、
前記開始指示に従って、制御パケットの送信要求を出力する処理部の動作が停止してから再開するまでの間、制御パケットを一定期間、一定間隔で自律的に送信する送信手段と
を備えることを特徴とする制御パケット処理装置。
(付記4) 前記入力手段は、前記制御パケットの自動送信の停止指示を入力し、前記送信手段は、該停止指示に従って、前記制御パケットを自律的に送信する動作を停止することを特徴とする付記3記載の制御パケット処理装置。
(付記5) テーブル処理手段をさらに備え、前記送信手段は、前記スパニングツリープロトコルに従って転送されるフレームのアドレスとポートとの対応関係を格納するテーブルを有し、該テーブル処理手段は、該送信手段が前記制御パケットを自律的に送信している間、該スパニングツリープロトコルの通信経路の再構築に伴う該テーブルのフラッシュ指示を破棄することを特徴とする付記21記載の制御パケット処理装置。
(付記6) 前記制御パケット処理装置は、前記処理部の動作が停止したとき、および、再開したときに他の装置が前記スパニングツリープロトコルの通信経路の変化を検出することを防止し、該処理部の動作の停止直前の通信経路を復元することを特徴とする付記3、4、または5記載の制御パケット処理装置。
(付記7) 前記制御パケットを自律的に送信している間、他の装置から送信された制御パケットを正常に受信する受信手段をさらに備えることを特徴とする付記3、4、または5記載の制御パケット処理装置。
(付記8) 前記送信手段は、前記他の装置から送信された制御パケットの受信状況を監視し、変化が検出されたとき、前記スパニングツリープロトコルに従ったデータフレームの転送を停止することを特徴とする付記7記載の制御パケット処理装置。
(付記9) 前記送信手段は、前記他の装置から送信された制御パケットの受信状況を監視し、変化が検出されたとき、前記スパニングツリープロトコルを初期化することを特徴とする付記7記載の制御パケット処理装置。
(付記10) 前記送信手段は、前記他の装置から送信された制御パケットの受信状況を監視し、受信した制御パケットの内容が変化したとき、変化した内容に応じて、自律的に送信される制御パケットの内容を変更することを特徴とする付記7記載の制御パケット処理装置。
(付記11) スパニングツリープロトコルをサポートする装置間で各種情報を交換するために使用される制御パケットの受信処理を行う制御パケット処理装置のためのプログラムであって、
受信した制御パケットをバッファ手段に格納する処理と、
一定期間制御パケットが受信されない場合に前記スパニングツリープロトコルの通信経路を再構築する処理部に対して、前記バッファ手段に格納された制御パケットを一定周期で自律的に転送する処理と
を前記制御パケット処理装置に実行させることを特徴とするプログラム。
(付記12) 前記転送する処理は、擬似受信トリガ生成開始指示を受け取ってから擬似受信トリガ生成停止指示を受け取るまでの間、制御パケットを受信したことを示す擬似受信トリガを前記一定周期で生成する処理と、該擬似受信トリガが生成される度に、前記バッファ手段に格納された制御パケットを前記処理部に転送する処理を含むことを特徴とする付記11記載のプログラム。
(付記13) 前記制御パケット処理装置が制御パケットの送信停止を示す制御パケットを受信したとき、前記転送する処理を該制御パケット処理装置に開始させることを特徴とする付記11記載のプログラム。
(付記14) 前記転送する処理は、制御パケットを受信したことを示す擬似受信トリガを前記一定周期で生成する処理と、前記擬似受信トリガが生成される度に、前記バッファ手段に格納された制御パケットを前記処理部に転送する処理を含むことを特徴とする付記13記載のプログラム。
(付記15) 前記制御パケット処理装置は、ブリッジプロトコルデータユニットを前記バッファ手段に格納される制御パケットとして受信し、送信停止を示すフラグを含むブリッジプロトコルデータユニットを前記送信停止を示す制御パケットとして受信することを特徴とする付記13記載のプログラム。
(付記16) 前記制御パケット処理装置は、ブリッジプロトコルデータユニットを前記バッファ手段に格納される制御パケットとして受信し、ブリッジプロトコルデータユニットとは別の制御パケットを前記送信停止を示す制御パケットとして受信することを特徴とする付記13記載のプログラム。
(付記17) 前記制御パケット処理装置が制御パケットの送信再開を示す制御パケットを受信したとき、前記転送する処理を該制御パケット処理装置に停止させることを特徴とする付記13記載のプログラム。
(付記18) 前記制御パケット処理装置は、ブリッジプロトコルデータユニットを前記バッファ手段に格納される制御パケットとして受信し、送信停止を示すフラグを含むブリッジプロトコルデータユニットを前記送信停止を示す制御パケットとして受信し、送信再開を示すフラグを含むブリッジプロトコルデータユニットを前記送信再開を示す制御パケットとして受信することを特徴とする付記17記載のプログラム。
(付記19) 前記制御パケット処理装置は、ブリッジプロトコルデータユニットを前記バッファ手段に格納される制御パケットとして受信し、ブリッジプロトコルデータユニットとは別の制御パケットを前記送信停止を示す制御パケットおよび前記送信再開を示す制御パケットとして受信することを特徴とする付記17記載のプログラム。
(付記20) 前記制御パケット処理装置が次の制御パケットを受信したとき、前記転送する処理を該制御パケット処理装置に停止させることを特徴とする付記13記載のプログラム。
(付記21) スパニングツリープロトコルをサポートする装置間で各種情報を交換するために使用される制御パケットの送信処理を行う制御パケット処理装置のためのプログラムであって、
受信側装置において一定期間制御パケットが受信されない場合に前記スパニングツリープロトコルの通信経路が再構築されることを防止するため、制御パケットの送信を停止するときに送信停止を示す制御パケットを生成する処理と、
生成された制御パケットを送出する処理と
を前記制御パケット処理装置に実行させることを特徴とするプログラム。
(付記22) 前記制御パケット処理装置は、ブリッジプロトコルデータユニットを装置間で転送される制御パケットとして送出し、送信停止を示すフラグを含むブリッジプロトコルデータユニットを前記送信停止を示す制御パケットとして生成することを特徴とする付記21記載のプログラム。
(付記23) 前記制御パケット処理装置は、ブリッジプロトコルデータユニットを装置間で転送される制御パケットとして送出し、ブリッジプロトコルデータユニットとは別の制御パケットを前記送信停止を示す制御パケットとして生成することを特徴とする付記21記載のプログラム。
(付記24) 制御パケットの送信を再開するときに送信再開を示す制御パケットを生成する処理と、該送信再開を示す制御パケットを送出する処理を前記制御パケット処理装置にさらに実行させることを特徴とする付記21記載のプログラム。
(付記25) 前記制御パケット処理装置は、ブリッジプロトコルデータユニットを装置間で転送される制御パケットとして送出し、送信停止を示すフラグを含むブリッジプロトコルデータユニットを前記送信停止を示す制御パケットとして生成し、送信再開を示すフラグを含むブリッジプロトコルデータユニットを前記送信再開を示す制御パケットとして生成することを特徴とする付記24記載のプログラム。
(付記26) 前記制御パケット処理装置は、ブリッジプロトコルデータユニットを装置間で転送される制御パケットとして送出し、ブリッジプロトコルデータユニットとは別の制御パケットを前記送信停止を示す制御パケットおよび前記送信再開を示す制御パケットとして生成することを特徴とする付記24記載のプログラム。
(付記27) 次の制御パケットを送出することにより制御パケットの送信を再開する処理を前記制御パケット処理装置にさらに実行させることを特徴とする付記21記載のプログラム。
(付記28) スパニングツリープロトコルをサポートする装置間で各種情報を交換するために使用される制御パケットの送信処理を行う制御パケット処理装置のためのプログラムであって、
制御パケットの自動送信の開始指示を入力する処理と、
前記開始指示に従って、制御パケットの送信要求を出力する処理部の動作が停止してから再開するまでの間、制御パケットを一定期間、一定間隔で自律的に送信する動作を、送信手段に対して指示する処理と
を前記制御パケット処理装置に実行させることを特徴とするプログラム。
(付記29) スパニングツリープロトコルをサポートする装置間で各種情報を交換するために使用される制御パケットの送信処理を行う制御パケット処理装置のためのプログラムであって、
制御パケットの自動送信の開始指示に従って、制御パケットの送信要求を出力する処理部の動作が停止してから再開するまでの間、制御パケットを一定期間、一定間隔で自律的に送信する処理を前記制御パケット処理装置に実行させることを特徴とするプログラム。
(付記30) スパニングツリープロトコルをサポートする装置間で各種情報を交換するために使用される制御パケットの受信処理を行う制御パケット処理装置のためのプログラムを記録した記録媒体であって、
前記プログラムは、
受信した制御パケットをバッファ手段に格納する処理と、
一定期間制御パケットが受信されない場合に前記スパニングツリープロトコルの通信経路を再構築する処理部に対して、前記バッファ手段に格納された制御パケットを一定周期で自律的に転送する処理と
を前記制御パケット処理装置に実行させることを特徴とする記録媒体。
(付記31) スパニングツリープロトコルをサポートする装置間で各種情報を交換するために使用される制御パケットの送信処理を行う制御パケット処理装置のためのプログラムを記録した記録媒体であって、
前記プログラムは、
受信側装置において一定期間制御パケットが受信されない場合に前記スパニングツリープロトコルの通信経路が再構築されることを防止するため、制御パケットの送信を停止するときに送信停止を示す制御パケットを生成する処理と、
生成された制御パケットを送出する処理と
を前記制御パケット処理装置に実行させることを特徴とする記録媒体。
(付記32) スパニングツリープロトコルをサポートする装置間で各種情報を交換するために使用される制御パケットの送信処理を行う制御パケット処理装置のためのプログラムを記録した記録媒体であって、
前記プログラムは、
制御パケットの自動送信の開始指示を入力する処理と、
前記開始指示に従って、制御パケットの送信要求を出力する処理部の動作が停止してから再開するまでの間、制御パケットを一定期間、一定間隔で自律的に送信する動作を、送信手段に対して指示する処理と
を前記制御パケット処理装置に実行させることを特徴とする記録媒体。
(付記33) スパニングツリープロトコルをサポートする装置間で各種情報を交換するために使用される制御パケットの送信処理を行う制御パケット処理装置のためのプログラムを記録した記録媒体であって、
前記プログラムは、
制御パケットの自動送信の開始指示に従って、制御パケットの送信要求を出力する処理部の動作が停止してから再開するまでの間、制御パケットを一定期間、一定間隔で自律的に送信する処理を前記制御パケット処理装置に実行させることを特徴とする記録媒体。
(付記34) スパニングツリープロトコルをサポートする装置間で各種情報を交換するために使用される制御パケットの受信処理を行う制御パケット処理装置のためのプログラムを搬送する搬送信号であって、
前記プログラムは、
受信した制御パケットをバッファ手段に格納する処理と、
一定期間制御パケットが受信されない場合に前記スパニングツリープロトコルの通信経路を再構築する処理部に対して、前記バッファ手段に格納された制御パケットを一定周期で自律的に転送する処理と
を前記制御パケット処理装置に実行させることを特徴とする搬送信号。
(付記35) スパニングツリープロトコルをサポートする装置間で各種情報を交換するために使用される制御パケットの送信処理を行う制御パケット処理装置のためのプログラムを搬送する搬送信号であって、
前記プログラムは、
受信側装置において一定期間制御パケットが受信されない場合に前記スパニングツリープロトコルの通信経路が再構築されることを防止するため、制御パケットの送信を停止するときに送信停止を示す制御パケットを生成する処理と、
生成された制御パケットを送出する処理と
を前記制御パケット処理装置に実行させることを特徴とする搬送信号。
(付記36) スパニングツリープロトコルをサポートする装置間で各種情報を交換するために使用される制御パケットの送信処理を行う制御パケット処理装置のためのプログラムを搬送する搬送信号であって、
前記プログラムは、
制御パケットの自動送信の開始指示を入力する処理と、
前記開始指示に従って、制御パケットの送信要求を出力する処理部の動作が停止してから再開するまでの間、制御パケットを一定期間、一定間隔で自律的に送信する動作を、送信手段に対して指示する処理と
を前記制御パケット処理装置に実行させることを特徴とする搬送信号。
(付記37) スパニングツリープロトコルをサポートする装置間で各種情報を交換するために使用される制御パケットの送信処理を行う制御パケット処理装置のためのプログラムを搬送する搬送信号であって、
前記プログラムは、
制御パケットの自動送信の開始指示に従って、制御パケットの送信要求を出力する処理部の動作が停止してから再開するまでの間、制御パケットを一定期間、一定間隔で自律的に送信する処理を前記制御パケット処理装置に実行させることを特徴とする搬送信号。
(付記38) スパニングツリープロトコルをサポートする装置間で各種情報を交換するために使用される制御パケットの受信処理を行う制御パケット処理方法であって、
前記制御パケットを受信し、
受信した制御パケットをバッファ手段に格納し、
一定期間制御パケットが受信されない場合に前記スパニングツリープロトコルの通信経路を再構築する処理部に対して、前記バッファ手段に格納された制御パケットを一定周期で自律的に転送する
ことを特徴とする制御パケット処理方法。
(付記39) スパニングツリープロトコルをサポートする装置間で各種情報を交換するために使用される制御パケットの送信処理を行う制御パケット処理方法であって、
制御パケットの自動送信の開始指示を入力し、
前記開始指示に従って、制御パケットの送信要求を出力する処理部の動作が停止してから再開するまでの間、制御パケットを一定期間、一定間隔で自律的に送信する
ことを特徴とする制御パケット処理方法。
本発明は、STPが動作しているネットワーク内の装置において、その装置を制御するモジュール(ファームウェア、ソウトウェア等)をフレームの転送サービスを中断することなく更新する際に利用可能である。特に、キャリアグレードのネットワーク内のブリッジ装置、ルータ、その他の装置の保守作業を行う場合に適用することができる。
本発明の制御パケット処理装置の原理図である。 ブリッジ装置の構成図である。 プログラムのロード方法を示す図である。 第1のBPDU受信方法を示す図である。 第1のBPDU送信方法を示す図である。 第2のBPDU受信方法を示す図である。 第2のBPDU送信方法を示す図である。 第3のBPDU受信方法を示す図である。 第1のソフトウェア更新方法を示す図である。 第2のソフトウェア更新方法を示す図である。 メインCPUカードのソフトウェア構成を示す図である。 ソフトウェア更新時のBPDU送受信のシーケンスを示す図である。 定常状態におけるBPDU送受信を示す図である。 アクティブトポロジーの構成例を示す図である。 定常状態におけるBPDU送受信のシーケンスを示す図である。
符号の説明
11、21、31、41、52、56、59、200、901、911、921、931、1001、1011、1021、1031 ブリッジ装置
12、13、23、33、54、55、58、902、903、913、923、1002、1003、1013、1023 デジグネーテッドポート
22、32、42、57、62、912、922、932、1012、1022、1032 ルートポート
43、61、933、1033 オルタネートポート
51、63 端末
53、60 ポート
101 受信手段
102 バッファ手段
103 制御手段
104 生成手段
105 送信手段
106 入力手段
107 処理部
201 メインCPUカード
202−1、202−2、202−n ラインカード
203 スイッチカード
211、221 CPU
212、222 メモリ
223 BPDU抽出部
224 BPDU送出部
225 MACテーブル
226 宛先検索部
301 サーバ
302 可搬記録媒体
311 データベース
401 ユーザインタフェース
402 STPプロトコル処理プログラム
403、601、801 BPDU受信ドライバ
411 BPDU転送処理プログラム
412 擬似受信トリガ生成プログラム
413 BPDU受信処理プログラム
414 最新BPDU格納バッファ
501、701 BPDU送信ドライバ
511 送信停止/再開通知用BPDU生成プログラム
512 BPDU送信処理プログラム
611 BPDU受信判定プログラム
702 制御パケット送出部
711 送信停止/再開通知用制御パケット生成プログラム
712 制御パケット送信処理プログラム
802 制御パケット抽出部
811 制御パケット受信処理プログラム
941 ネットワーク管理装置
1041 簡易端末
1101 装置管理プログラム
1102 プロビジョニング情報管理プログラム
1103 MACテーブル処理プログラム
1104 スイッチ/ポート制御プログラム
1111 装置単位ステートマシン処理プログラム
1112−1、1112−2、1112−2n 回線対応ステートマシン処理プログラム

Claims (5)

  1. スパニングツリープロトコルをサポートする装置間で各種情報を交換するために使用される制御パケットの受信処理を行う制御パケット処理装置であって、
    前記制御パケットを受信する受信手段と、
    受信した制御パケットを格納するバッファ手段と、
    一定期間制御パケットが受信されない場合に前記スパニングツリープロトコルの通信経路を再構築する処理部に対して、前記バッファ手段に格納された制御パケットを一定周期で自律的に転送する制御手段と
    を備えることを特徴とする制御パケット処理装置。
  2. スパニングツリープロトコルをサポートする装置間で各種情報を交換するために使用される制御パケットの送信処理を行う制御パケット処理装置であって、
    受信側装置において一定期間制御パケットが受信されない場合に前記スパニングツリープロトコルの通信経路が再構築されることを防止するため、制御パケットの送信を停止するときに送信停止を示す制御パケットを生成する生成手段と、
    生成された制御パケットを送出する送信手段と
    を備えることを特徴とする制御パケット処理装置。
  3. スパニングツリープロトコルをサポートする装置間で各種情報を交換するために使用される制御パケットの送信処理を行う制御パケット処理装置であって、
    制御パケットの自動送信の開始指示を入力する入力手段と、
    前記開始指示に従って、制御パケットの送信要求を出力する処理部の動作が停止してから再開するまでの間、制御パケットを一定期間、一定間隔で自律的に送信する送信手段と
    を備えることを特徴とする制御パケット処理装置。
  4. スパニングツリープロトコルをサポートする装置間で各種情報を交換するために使用される制御パケットの受信処理を行う制御パケット処理方法であって、
    前記制御パケットを受信し、
    受信した制御パケットをバッファ手段に格納し、
    一定期間制御パケットが受信されない場合に前記スパニングツリープロトコルの通信経路を再構築する処理部に対して、前記バッファ手段に格納された制御パケットを一定周期で自律的に転送する
    ことを特徴とする制御パケット処理方法。
  5. スパニングツリープロトコルをサポートする装置間で各種情報を交換するために使用される制御パケットの送信処理を行う制御パケット処理方法であって、
    制御パケットの自動送信の開始指示を入力し、
    前記開始指示に従って、制御パケットの送信要求を出力する処理部の動作が停止してから再開するまでの間、制御パケットを一定期間、一定間隔で自律的に送信する
    ことを特徴とする制御パケット処理方法。
JP2003431154A 2001-01-31 2003-12-25 スパニングツリープロトコルにおける制御パケット処理装置および方法 Expired - Lifetime JP4021841B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2003431154A JP4021841B2 (ja) 2003-10-29 2003-12-25 スパニングツリープロトコルにおける制御パケット処理装置および方法
US10/813,792 US7860031B2 (en) 2001-01-31 2004-03-30 Apparatus and method for processing control packet in spanning tree protocol

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003368672 2003-10-29
JP2003431154A JP4021841B2 (ja) 2003-10-29 2003-12-25 スパニングツリープロトコルにおける制御パケット処理装置および方法

Publications (2)

Publication Number Publication Date
JP2005160000A true JP2005160000A (ja) 2005-06-16
JP4021841B2 JP4021841B2 (ja) 2007-12-12

Family

ID=32964990

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003431154A Expired - Lifetime JP4021841B2 (ja) 2001-01-31 2003-12-25 スパニングツリープロトコルにおける制御パケット処理装置および方法

Country Status (2)

Country Link
US (1) US7860031B2 (ja)
JP (1) JP4021841B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009539305A (ja) * 2006-05-30 2009-11-12 アルカテル−ルーセント ユーエスエー インコーポレーテッド ローカルノード機能停止の間の無中断ネットワーク制御メッセージ生成
JP2009296441A (ja) * 2008-06-06 2009-12-17 Ricoh Co Ltd ネットワークシステム、ネットワーク端末装置、及びlanスイッチ
JP2011049636A (ja) * 2009-08-25 2011-03-10 Yokogawa Electric Corp 通信制御装置および通信制御方法
JP2016001863A (ja) * 2014-06-11 2016-01-07 韓國電子通信研究院Electronics and Telecommunications Research Institute 多者間単方向通信のための装置および方法

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4397292B2 (ja) * 2004-07-09 2010-01-13 富士通株式会社 制御パケットループ防止方法及びそれを用いたブリッジ装置
WO2006065795A2 (en) * 2004-12-14 2006-06-22 Alcatel Lucent Ring rapid spanning tree protocol
US7768932B2 (en) * 2005-04-13 2010-08-03 Hewlett-Packard Development Company, L.P. Method for analyzing a system in a network
US8953499B2 (en) * 2005-05-11 2015-02-10 Alcatel Lucent Method and apparatus for establishing spanning trees
US7872992B2 (en) * 2005-12-09 2011-01-18 Panasonic Corporation Network system and relay device
US7756066B2 (en) * 2006-01-10 2010-07-13 Cisco Technology, Inc. Seamless spanning tree restart of a single supervisor
US7801061B2 (en) * 2006-01-10 2010-09-21 Cisco Technology, Inc. Seamless spanning tree upgrade of a linecard
US7453818B2 (en) * 2006-05-01 2008-11-18 Cisco Technology, Inc. Detection of potential forwarding loops in bridged networks
US7916741B2 (en) * 2007-04-02 2011-03-29 William Marsh Rice University System and method for preventing count-to-infinity problems in ethernet networks
JP5036041B2 (ja) * 2007-04-25 2012-09-26 アズビル株式会社 Rstp処理方式
GB2448711A (en) * 2007-04-25 2008-10-29 Ericsson Telefon Ab L M Recovering from a failure in a communications network
WO2009021554A1 (en) * 2007-08-14 2009-02-19 Telefonaktiebolaget Lm Ericsson (Publ) Network reconfiguration method
US8509248B2 (en) * 2008-12-29 2013-08-13 Juniper Networks, Inc. Routing frames in a computer network using bridge identifiers
JP5459158B2 (ja) 2010-09-21 2014-04-02 富士通株式会社 送信装置及び歪補償方法
US8625596B1 (en) 2010-09-28 2014-01-07 Juniper Networks, Inc. Multi-chassis topology discovery using in-band signaling
US8787217B2 (en) * 2011-01-17 2014-07-22 Telefonaktiebolaget L M Ericsson (Publ) Method, apparatus and computer program product for fast retransmission of proposal messages
US9473424B2 (en) * 2011-09-19 2016-10-18 Fujitsu Limited Address table flushing in distributed switching systems
US8824338B2 (en) * 2012-03-22 2014-09-02 Fujitsu Limited Distributed spanning tree protocol
CN104641603A (zh) * 2012-09-19 2015-05-20 罗伯特·博世有限公司 用于运行计算机网络的方法
US9825807B2 (en) 2012-11-30 2017-11-21 Cisco Technology, Inc. Determining multicast root nodes in a telecommunications network
US9634894B2 (en) 2014-08-29 2017-04-25 Level 3 Communications, Llc Network service aware routers, and applications thereof
US10248435B2 (en) * 2015-08-27 2019-04-02 International Business Machines Corporation Supporting operation of device
JP2017068318A (ja) * 2015-09-28 2017-04-06 富士通株式会社 更新制御方法、更新制御プログラム及び伝送装置
TWI733560B (zh) * 2020-08-13 2021-07-11 瑞昱半導體股份有限公司 網路交換器及其網路交換器系統

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5959968A (en) * 1997-07-30 1999-09-28 Cisco Systems, Inc. Port aggregation protocol
JPH11205368A (ja) 1998-01-12 1999-07-30 Hitachi Cable Ltd スパニングツリープロトコルの処理方法
US6535480B1 (en) * 1998-11-20 2003-03-18 At&T Corp. System and method to provide survivability for broadcast video and interactive IP-based services on cable access networks
US6577600B1 (en) * 1999-01-11 2003-06-10 Hewlett-Packard Development Company, L.P. Cost calculation in load balancing switch protocols
US6581166B1 (en) * 1999-03-02 2003-06-17 The Foxboro Company Network fault detection and recovery

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009539305A (ja) * 2006-05-30 2009-11-12 アルカテル−ルーセント ユーエスエー インコーポレーテッド ローカルノード機能停止の間の無中断ネットワーク制御メッセージ生成
JP2009296441A (ja) * 2008-06-06 2009-12-17 Ricoh Co Ltd ネットワークシステム、ネットワーク端末装置、及びlanスイッチ
JP2011049636A (ja) * 2009-08-25 2011-03-10 Yokogawa Electric Corp 通信制御装置および通信制御方法
JP2016001863A (ja) * 2014-06-11 2016-01-07 韓國電子通信研究院Electronics and Telecommunications Research Institute 多者間単方向通信のための装置および方法
US9602409B2 (en) 2014-06-11 2017-03-21 Electronics And Telecommunications Research Institute Apparatus and method for multilateral one-way communication

Also Published As

Publication number Publication date
US20040179524A1 (en) 2004-09-16
US7860031B2 (en) 2010-12-28
JP4021841B2 (ja) 2007-12-12

Similar Documents

Publication Publication Date Title
JP4021841B2 (ja) スパニングツリープロトコルにおける制御パケット処理装置および方法
US9378005B2 (en) Hitless software upgrades
KR101099822B1 (ko) 액티브 라우팅 컴포넌트 장애 처리 방법 및 장치
US7506194B2 (en) Routing system and method for transparently rocovering routing states after a failover or during a software upgrade
US7940649B2 (en) Techniques for graceful restart in a multi-process operating system
JP2005503055A (ja) Ospf冗長構成を実装する方法およびシステム
US20070118568A1 (en) Network operation management system
US9954735B2 (en) Realizing graceful restart in IS-IS network
JP4588262B2 (ja) ルータ及びネットワークにおける一時停止方法
KR101017540B1 (ko) 로컬 노드 운전 정지 동안의 무중단 네트워크 제어 메시지 발생
WO2007063716A1 (ja) 通信装置、装置起動制御方法、通信制御方法及び通信制御プログラム
CN117459482B (zh) 交换机的重启方法和装置、存储介质及电子装置
JP4580372B2 (ja) ネットワークシステム
CN112272142A (zh) 一种卫星星座网络的改进ospf路由方法及装置
JP2006246152A (ja) パケット転送装置、パケット転送ネットワークシステムおよびパケット転送方法
JP2004297475A (ja) Lanスイッチおよびその通信制御方法
CN113992571A (zh) Sdn网络中多路径业务收敛方法、装置和存储介质
CN114244769A (zh) 一种发送保活报文的方法、设备及存储介质
JP2003218911A (ja) トランスペアレントlanサービスにおける二重化方法および中継装置とトランスペアレントlanサービスシステム
JP2006005611A (ja) Stpにおける無瞬断切替装置
CN115102897B (zh) 一种基于链路聚合的堆叠分裂保护方法
US20230185567A1 (en) In-service software upgrade with active service monitoring
CN110099007B (zh) 一种倒换控制方法和装置、交换机和计算机可读存储介质
JP2015215808A (ja) 中継システムおよび中継装置
KR100917603B1 (ko) 분산 구조의 라우터 시스템 및 그의 논스톱 패킷 포워딩제어 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050413

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070925

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070927

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101005

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4021841

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101005

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111005

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111005

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121005

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121005

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131005

Year of fee payment: 6

EXPY Cancellation because of completion of term