JP2008148176A - ネットワークノードおよびネットワークノード用プログラム - Google Patents

ネットワークノードおよびネットワークノード用プログラム Download PDF

Info

Publication number
JP2008148176A
JP2008148176A JP2006335303A JP2006335303A JP2008148176A JP 2008148176 A JP2008148176 A JP 2008148176A JP 2006335303 A JP2006335303 A JP 2006335303A JP 2006335303 A JP2006335303 A JP 2006335303A JP 2008148176 A JP2008148176 A JP 2008148176A
Authority
JP
Japan
Prior art keywords
fdb
frame
transfer destination
time
destination information
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
JP2006335303A
Other languages
English (en)
Other versions
JP4428380B2 (ja
Inventor
Daisaku Ogasawara
大作 小笠原
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2006335303A priority Critical patent/JP4428380B2/ja
Publication of JP2008148176A publication Critical patent/JP2008148176A/ja
Application granted granted Critical
Publication of JP4428380B2 publication Critical patent/JP4428380B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】異常事態から短時間で復帰可能な信頼性の高いネットワークノードおよびネットワークノード用プログラムを提供する。
【解決手段】FDB制御部460は、フレームを受信すると、FDB470を検索して受信フレームの宛先MACアドレスに対応する出力ポートを選択する。FDB制御部460は、選択した出力ポートに対応するエントリの登録時刻が、FDBフラッシュ管理テーブル490のFDBフラッシュ要求時刻以降である場合、FDBエントリ管理テーブル480対応するエントリの参照の有無を示すフィールドをセットし、スイッチ部420は、ユニキャスト送信を行う。登録時刻がFDBフラッシュ要求時刻以降でない場合、FDB制御部460は、エージング時刻を設定するとともに対応するエントリの参照の有無を示すフィールドをクリアし、スイッチ部420は、ブロードキャスト送信を行う。
【選択図】図1

Description

本発明は、ネットワークノードおよびネットワークノード用プログラムに関し、特に、高い信頼性を有しFDBの設定に基づいてフレームを転送するネットワークノードおよびネットワークノード用プログラムに関する。
近年、広域Ethernet(登録商標)サービスに示されるように、LAN(Local Area Network)向けに開発されたEthernetが基幹系通信システムに多く採用されている。
その理由としては、従来のSDH又はSONETなどの基幹系システム向けの通信装置に対して、Ethernetに準拠して動作するノード(以下、Ethernetノードと記述する。)が低価格であることに加えて、運用が容易であることが考えられる。また、通信システムの信頼性に着目した場合、Ethernet技術は、用途がLAN向けであったため、基幹系通信システムに要求される性能を十分に満足していなかったが、Spanning Tree Protocol(STP)やRapid Spanning Tree Protocol(RSTP)のように、通信経路の冗長化を可能とするプロトコルが、IEEE(the Institute of Electrical and Electronics Engineers)において標準化され、また、Ethernetノードを2重化するネットワークプロトコルが装置ベンダによって独自に開発されるなどすることにより、Ethernetネットワークの信頼性が向上したことも理由の1つである。
以下、本発明の必要性を明確にするため、1998年にIEEEから発行された標準化文書であるIEEE 802.1Dにおいて開示されているSTP(非特許文献1参照。)を適用したEthernetネットワークにおける、正常時のEthernetフレームの転送動作と、リンクの切断又はEthernetノードの故障等の異常が発生した場合の障害回復動作を説明する。
(通信システムの構成)
図9は、3台のSTPノード及び3台のEthernetノードを備えたEthernetネットワークシステムの例を示す説明図である。図9に示す通信システムは、STPに準拠して動作する3台のEthernetノード(以下、STPノードと記述する。)100,120,130と、3台の従来のEthernetノード300,310,320とを備える。
Ethernetノード300〜320は、STPノード100〜120配下の端末として、STPノード100〜120にそれぞれ収容されている。なお、STPノード100〜120の配下には、複数のEthernetノードが収容されていても良いが、ここでは説明を簡単にするため、STPノード100〜120はそれぞれ1台のEthernetノードを収容しているものとする。
また、Ethernetノード300〜320のさらに配下に、他のEthernetノードが接続されているような構成であっても、ループを構成しない限りは構わない。ここで、ループを構成するとは、複数のEthernetノードがリング状に接続されることを言う。なお、複数のEthernetノードが物理的にループを構成している場合であっても、STPなどのプロトコルにより、論理的にはループを構成していない場合は問題無い。
STPノード100〜120のポートP1及びP2は、STPの制御対象のポートに設定される。制御対象のポートのポート状態は、STPノード100〜120間のSTPの動作により、図9に示すように、フォワーディング状態とブロッキング状態の何れかに設定される。その結果、図9の太線で示すスパニングツリーが構成される。なお、STPノード100〜120が、STPにより、STPの制御対象のポートのポート状態を決定するプロセス、すなわち、スパニングツリーを構成するプロセスは、本発明に無関係であるため、詳細な説明を省略する。
スパニングツリーに含まれるリンクの両端のポートは、データフレームの送受信が許可される状態(フォワーディング状態)にある。また、スパニングツリーに含まれないリンクの一方のポートはフォワーディング状態にあるが、他方のポートはデータフレームの送受信が禁止される状態(ブロッキング状態)、すなわち、リンクが論理的に切断されている状態にある。Ethernetフレームはフォワーディング状態にあるポートで送受信可能であるため、STPが適用されたEthernetネットワークにおいては、Ethernetフレームはスパニングツリーに沿って転送される。
(ノードの構成)
図10は、一般的なSTPノードの構成例を示すブロック図である。STPノード100は、入力ポート400−1,400−2,400−3と、フレーム解析部410−1,410−2と、スイッチ部420と、フレーム多重部430−1,430−2と、出力ポート440−1,440−2,440−3と、FDB部450と、FDB制御部460と、FDB470と、FDBエントリ管理テーブル480と、STP部500と、ポート状態テーブル510とを含む。なお、STPノード110及び120の構成もSTPノード100の構成と同様である。
STPノード100の入力ポート400−1〜3は、隣接するEthernetノード300、STPノード110又はSTPノード120から送信されるフレームを受信するポートであって、図9に示すSTPノード100のポートP1〜P3の受信部に相当する。なお、以降でSTPノード100の入力ポートP1と記述した場合は、STPノード100の入力ポート400−1を表すものとする。ここで、STPノード100の入力ポート400−1,2は、例えば、STPノード110,120から受信したフレームを、それぞれフレーム解析部410−1,2に出力する。また、STPノード100の入力ポート400−3は、例えば、Ethernetノード300から受信したフレームを、スイッチ部420に出力する。
STPノード100のフレーム解析部410−1,2は、STPノード100のSTP部500が使用する特殊フレームであるBPDU(Bridge Protocol Data Unit)をSTPノード100のSTP部500に送る。また、STPノード100のフレーム解析部410−1,2は、BPDU以外のフレームをSTPノード100のスイッチ部420に送る。
STPノード100のスイッチ部420は、受信フレームの出力ポートの決定を行うとともに、その決定に従って、STPノード100〜120のフレーム多重部430−1,2と出力ポート440−3のうち、適切な機能ブロックにフレームを送る。
STPノード100のフレーム多重部430−1,2は、STPノード100のスイッチ部420から送られるフレームと、STPノード100のSTP部500から送られるBPDUとを多重した上で、STPノード100の出力ポート440−1,2に送る。
STPノード100の出力ポート440−1〜3は、隣接するSTPノード110又は120、又はEthernetノード300に、フレームを送信するポートであって、図9に示すSTPノード100のポートP1〜P3の送信部に相当する。なお、以降でSTPノード100の出力ポートP1と記述した場合は、STPノード100の出力ポート400−1を表すものとする。
STPノード100のFDB部450は、フレームの宛先MACアドレスと出力ポートとの関係を登録するFDB(Forwarding DataBase)470と、FDB470の各エントリの情報を管理するFDBエントリ管理テーブル480と、FDB470の内容を検索及び更新するFDB制御部460とを含む。
図11は、一般的なSTPノードのFDBの例を示す説明図である。STPノード100のFDB470の各エントリは、EthernetノードのMACアドレスを示す「宛先MACアドレス」および「出力ポート」の2つのフィールドを含む。なお、図11には、FDB470が、各エントリの順序を示す「エントリナンバ(エントリNo.)」を含む場合を例示する。FDB470に含まれる「宛先MACアドレス」および「出力ポート」は、例えば、「エントリナンバ」に対応する領域に記憶される。なお、エントリは、ノード識別子を含んでもよく、また、出力ポートまたはノード識別子を仮想的に処理するための情報を含んでもよい。
例えば、図11に示すSTPノード100のFDB470の第1のエントリには、Ethernetノード300のMACアドレスに対して、STPノード100のポートP3が登録されている。これは、STPノード100が、宛先MACアドレスがEthernetノード300のMACアドレスであるフレームを、STPノード100のポートP3から送信することを意味する。
STPノード100のFDBエントリ管理テーブル480は、STPノード100のFDB470の各エントリについて、フレーム転送処理におけるそのエントリの参照の有無を管理する。図12は、一般的なSTPノードのFDBエントリ管理テーブルの例を示す説明図である。図12に示すように、FDBエントリ管理テーブル480は、「エントリ参照の有無」を含む情報である。図12に示すSTPノード100のFDBエントリ管理テーブル480の第1のエントリには、エントリの参照の有無を示すフィールドに「有り」と登録されている。これは、STPノード100のFDB470の第1のエントリが、STPノード100のフレーム転送処理において、参照されたことがあることを意味する。なお、図12には、FDBエントリ管理テーブル480が、各エントリの順序を示す「エントリナンバ(エントリNo.)」を含む場合を例示する。FDBエントリ管理テーブル480に含まれるエントリナンバは、FDB470に含まれる情報と同じ情報である。FDBエントリ管理テーブル480に含まれる「エントリ参照の有無」は、例えば、「エントリナンバ」に対応づけて記憶される。
STPノード100のSTP部500は、STPノード110及び120とBPDUを送受信し合い、互いのパスコストを比較することにより、STPノード100のSTPの制御対象であるポートP1及びP2のポート状態を決定するとともに、STPノード100のポート状態テーブル510にポート状態を登録する。ここで、STPノード100のSTP部500は、例えば、フレーム解析部410−1,2を介して、STPノード110,120からBPDUを受信する。また、STPノード100のSTP部500は、例えば、フレーム多重部430−1,2を介して、STPノード110,120にBPDUを送信する。
STPノード100のポート状態テーブル510には、STPノード100のSTPの制御対象であるポート(ポートP1及びP2)のポート状態(ブロッキング状態、又は、フォワーディング状態の何れか)が登録される。
(フレームのブロードキャスト転送とMACアドレス学習)
最初に、図9に示す通信システムの運用開始直後に、Ethernetノード300がEthernetノード310にフレームを送信する動作を説明する。
STPノード100において、STPノード100の入力ポート400−3は、自ノード配下のEthernetノード300から送信されたフレームを受信すると、受信したフレームをSTPノード100のスイッチ部420に送る。
STPノード100のスイッチ部420は、フレームの送信元MACアドレスとフレームの受信ポートとの関係を、FDB470における宛先MACアドレスと出力ポートとの関係として、STPノード100のFDB470に登録するように、STPノード100のFDB制御部460に依頼する。
STPノード100のFDB制御部460は、フレームの送信元MACアドレス(Ethernetノード300のMACアドレス)とフレームの受信ポート(STPノード100のポートP3)との関係を、宛先MACアドレスと出力ポートとの関係として、STPノード100のFDB470に登録する。
また、STPノード100のFDB制御部460は、STPノード100のFDB管理テーブル480のエントリのうち、上記の関係が登録されたSTPノード100のFDB470のエントリに対応するエントリに対して、エントリ参照の有無を示すフィールドに「無し」を設定する(以降では、フィールドをクリアする、または、フィールドをリセットするとも記述する。)。
以上に説明したように、FDB470に宛先MACアドレスと出力ポートとの関係を登録する動作は、一般にMACアドレス学習と呼ばれる。
MACアドレス学習の依頼と同時に、STPノード100のスイッチ部420は、STPノード100のFDB470においてフレームの宛先MACアドレス(Ethernetノード310のMACアドレス)に対して登録されている出力ポートを検索するように、STPノード100のFDB制御460に依頼する。
STPノード100のFDB制御部460は、フレームの宛先MACアドレスをキーとして、STPノード100のFDB470を検索することにより、フレームの宛先MACアドレスに対して登録されている出力ポートを取得する。
通信システムの運用開始直後は、STPノード100のFDB470には登録されている情報が全くないため、STPノード100のFDB制御部460による出力ポートの検索は失敗する。従って、STPノード100のFDB制御部460は、STPノード100のスイッチ部420に検索が失敗した旨を通知する。
検索に失敗した通知を受けた場合、STPノード100のスイッチ部420は、STPの制御対象であるポートのうちフォワーディング状態である全てのポート、及び、STPの制御対象でない全てのポート(ただし、フレームの受信ポートを除く)からフレームを送信する。すなわち、フレームは、STPノード100のフレーム多重部440−1,2に送られた後、STPノード100の出力ポート440−1,2からSTPノード110及び120に送信される。なお、出力ポート440−3は、フレームの受信ポートP3の送信部であるため、出力ポート440−3からはフレームは送信されない。上記のフレームの転送方法はブロードキャスト転送と呼ばれる。
以降では、STPノード100の出力ポート440−1から送信されたフレームが、STPノード110の入力ポート400−2で受信された後のSTPノード110の動作を説明する。なお、STPノード100の出力ポート440−2から送信されたフレームが、STPノード120の入力ポート400−1で受信された後のSTPノード120の動作も、以降で説明するSTPノード100の動作と同様である。
STPノード110において、STPノード110の入力ポート400−2は、STPノード100から送信されたフレームを受信すると、STPノード110のフレーム解析部410−2に受信したフレームを送る。
STPノード110のフレーム解析部410−2は、フレームがBPDUであれば、STPノード110のSTP部500に送り、また、フレームがBPDUでなければ、STPノード110のスイッチ部420に送る。
STPノード110のスイッチ部420は、フレームの受信ポートがSTPの制御対象である場合、受信ポートのポート状態がブロッキング状態であれば、フレームを廃棄する。また、フォワーディング状態であれば、STPノード110のスイッチ部420は、前述のSTPノード100がEthernetノード300からのフレームを受信した場合の動作と同様に、MACアドレス学習、及び、フレームのブロードキャスト転送を行う。
すなわち、STPノード110のFDB470には、フレームの送信元MACアドレス(Ethernetノード300のMACアドレス)と受信ポート(STPノード110のポートP2)との関係が、宛先MACアドレスと出力ポートとの関係として登録される。
それと同時に、STPノード110のFDBエントリ管理テーブル480のエントリのうち、上記の関係を登録したSTPノード110のFDB470のエントリに対応するエントリに対して、エントリの参照の有無を示すフィールドがクリアされる。
フレームは、STPノード110の出力ポート440−1からSTPノード120に送信される。また、STPノード110の出力ポート440−3からEthernetノード310に送信される。
以上のように、Ethernetノード300から送信されたEthernetノード310宛てのフレームは、Ethernetノード310に転送される。なお、STPノード110の出力ポート440−1から送信されたフレームは、STPノード120のブロッキング状態にある入力ポートP2で受信され、STPノード120により廃棄されるため、それ以上転送されることはない。
(フレームのユニキャスト転送)
次に、Ethernetノード300からEthernetノード310へのフレームの転送に続いて、Ethernetノード310からEthernetノード300にフレームを返信する場合の動作を説明する。
STPノード110において、STPノード110の入力ポート400−3は、Ethernetノード310からEthernetノード300宛てのフレームを受信すると、STPノード110のスイッチ部420にフレームを送る。
STPノード110のスイッチ部420は、STPノード110のFDB制御部460に対して、受信フレームに関するMACアドレス学習、及び、出力ポートの検索を依頼する。
すなわち、STPノード110のFDB470には、フレームの送信元MACアドレス(Ethernetノード310のMACアドレス)と受信ポート(STPノード110のポートP3)との関係が、宛先MACアドレスと出力ポートとの関係として登録される。
また、前述のEthernetノード300からEthernetノード310にフレームを転送する過程で行われたMACアドレス学習により、STPノード110のFDB470には、受信フレームの宛先MACアドレスであるEthernetノード300のMACアドレスに対して、出力ポートとしてポートP2が登録されている。そのため、STPノード110のFDB制御部460は、STPノード110のFDB470を参照し、STPノード110のスイッチ部420に、受信フレームの出力ポートがポートP2である旨を通知する。
それと同時に、STPノード110のFDB制御部460は、STPノード110のFDBエントリ管理テーブル480のエントリのうち、上記の宛先MACアドレスと出力ポートの関係を登録したエントリに対応するエントリにおいて、エントリの参照の有無を示すフィールドに「有り」を設定する(以降では、エントリ参照の有無を示すフィールドをセットするとも記述する。)。
フレームは、STPノード110のスイッチ部420によりSTPノード110のフレーム多重部430−2に送られた後、STPノード110の出力ポート440−2からSTPノード100に送信される。以上のフレームの転送方法はユニキャスト転送と呼ばれる。
STPノード100において、STPノード100の入力ポート400−1は、STPノード110から送信されたフレームを受信すると、STPノード100のフレーム解析部410−1に受信したフレームを送る。
STPノード100のフレーム解析部410−1は、受信フレームがBPDUであれば、STPノード100のSTP部500に送り、また、BPDUでなければ、STPノード100のスイッチ部420に送る。
STPノード100のスイッチ部420は、フレームの受信ポートがSTPの制御対象である場合、受信ポートのポート状態がブロッキング状態であれば、フレームを廃棄する。また、フォワーディング状態であれば、STPノード100のスイッチ部420は、前述のSTPノード110がEthernetノード310からのフレームを受信した場合と同様に、MACアドレス学習、及び、フレームのユニキャスト転送を行う。
すなわち、STPノード100のFDB470には、フレームの送信元MACアドレス(Ethernetノード310のMACアドレス)と受信ポート(STPノード100のポートP1)との関係が、宛先MACアドレスと出力ポートとの関係として登録される。
それと同時に、STPノード100のFDBエントリ管理テーブル480のエントリのうち、上記の関係を登録したSTPノード100のFDB470のエントリに対応するエントリに、エントリの参照の有無を示すフィールドをクリアする。
また、前述のEthernetノード300からEthernetノード310にフレームを転送する過程で行われたMACアドレス学習により、STPノード100のFDB470には、受信フレームの宛先MACアドレスであるEthernetノード300のMACアドレスに対して、出力ポートとしてポートP3が登録されている。そのため、STPノード100のFDB制御部460は、STPノード100のFDB470を参照し、STPノード100のスイッチ部420にフレームの出力ポートがポートP3である旨を通知する。
それと同時に、STPノード100のFDB制御部460は、STPノード100のFDBエントリ管理テーブル480のエントリのうち、Ethernetノード300のMACアドレスとポートP3の関係を登録しているSTPノード100のFDB470のエントリに対応するエントリにおいて、エントリの参照の有無を示すフィールドをセットする。
フレームは、STPノード100のスイッチ部420により、STPノード100の出力ポート440−3からEthernetノード300に送信される。
以上のようにして、Ethernetノード310から送信されたEthernetノード300宛てのフレームは、Ethernetノード300に転送される。
図13は、以上で説明した一般的なSTPノード100〜120がフレーム受信時に行うフレーム転送とMACアドレス学習の処理経過の例を示すフローチャートである。
スイッチ部420が、入力ポート400−1〜3およびフレーム解析部401−1,2を介してフレームを受信すると、FDB制御部460は、FDB470を検索して(ステップS1)、受信フレームの宛先MACアドレスに対応する出力ポートを選択する(ステップS2)。
ステップS2において、出力ポートの選択に成功した場合(Yes)、FDB制御部460は、FDBエントリ管理テーブル480において、ステップS2において選択した出力ポートに対応するエントリの参照の有無を示すフィールドをセットする(ステップS3)。スイッチ部420は、受信したフレームを、ステップS2において選択した出力ポートに出力する。そして、当該出力ポートは、接続されたノードに受信フレームを送信する。すなわち、スイッチ部420は、ユニキャスト送信を行う(ステップS4)。
ステップS2において、出力ポートの選択に失敗した場合(No)、FDB制御部460は、スイッチ部420に検索が失敗した旨を通知する。スイッチ部420は、STPの制御対象であるポートのうちフォワーディング状態である全てのポート、及び、STPの制御対象でない全てのポート(ただし、フレームの受信ポートを除く)に受信フレームを出力する。そして、当該ポートは、接続されたノードに受信フレームを送信する。すなわち、スイッチ部420は、ブロードキャスト送信を行う(ステップS5)。
(FDBのエージング)
STPノード100のFDB制御部460は、予め定められた時間間隔(以降、エージング時間と記述する)で、STPノード100のFDB470のエントリのうち、宛先MACアドレスと出力ポートの関係が登録され、かつ、最近のエージング時間内にフレーム転送処理によって一度も参照されなかった全てのエントリを削除する。また、STPノード100のFDB制御部460は、STPノード100のFDBエントリ管理テーブル480の全てのエントリに対して、エントリの参照の有無を示すフィールドをクリアする。上記の処理はエージング(FDBエージング)と呼ばれる。
エージングは、一度も参照されない不要なエントリを削除することにより、有限であるFDB470のエントリを有効に活用するための処理である。エージング時間は、300秒程度に設定されることが多い。エージングによる削除対象となる全てのエントリを瞬時に消去する必要はなく、エージング時間内に完了すれば十分であるので、その処理負荷は小さい。FDB470の各エントリがエージングによる削除対象のエントリであるか否かは、FDBエントリ管理テーブル480の内容により判定される。
なお、例示するSTPノード100においては、、FDB470のエントリの参照の有無を示す情報を専用のテーブル(例えば、FDBエントリ管理テーブル480)が管理しているが、FDB470の各エントリにその情報を格納するフィールドを設けることにより、宛先MACアドレスと出力ポートとの関係と一元的に管理することも可能である。しかしながら、FDB470のエントリの参照の有無を示す情報を専用のテーブルが管理する方法は、エージング処理においてFDB470を参照する処理が、フレーム転送処理においてFDB470を参照する処理を妨げた結果、フレーム転送処理が遅延してしまう問題を回避できるという利点がある。
(リンク切断時におけるSTPの障害回復の動作)
次に、図9に示すEthernetネットワークにおいて、リンク220が切断された場合の障害回復動作を説明する。図14は、リンクが切断された場合のEthernetネットワークシステムの例を示す説明図である。
図9に示すリンク220が切断されると、STPにより、障害箇所を迂回する新たなスパニングツリーが再構成される。ここでは、STPノード100〜120に属するポートのうち、STPの制御対象のポートであるポートP1及びP2のポート状態が、STPにより、図14に示すように変更された結果、図14に示す太線のリンクで示すスパニングツリーが再構成されたものとする。新たなスパニングツリーが再構成されると、STPノード100〜120のSTP部500は、STPノード100〜120のFDB470に登録されている宛先MACアドレスと出力ポートの関係を全て消去するように、STPノード100〜120のFDB制御部460に依頼する。
STPノード100〜120のFDB制御部46は、STPノード100〜120のFDB470の登録内容を消去するとともに、STP0ノード100〜120のFDBエントリ管理テーブル480の全てのエントリに対して、それらのエントリの参照の有無を示すフィールドをクリアする。
以上の処理が必要である理由は、新しいスパニングツリーが再構成されたとしても、FDBの内容を全て消去しなければ、もしくは、新しいスパニングツリーに合わせてFDBの内容を更新しなければ、障害が発生したリンクにフレームが送信されてしまう可能性があるからである。
上記のFDBの内容を全て消去する動作は、FDBフラッシュ(FDBの初期化)と呼ばれる。STPノード100〜120のFDB制御部460が、STPノード100〜120のFDB470をフラッシュした後は、前述の通信システムの運用開始直後のフレーム転送と全く同様にして、フレームの転送が行われるため、通信を継続することが可能である。
以上のようにして、STPが適用されたEthernetネットワークでは、障害箇所を迂回するスパニングツリーを再構成するとともに、STPノードのFDBをフラッシュすることにより、通信を継続することが可能である。
しかしながら、上述した従来のネットワークノードにおいては、FDBのエントリ数が増大するに従って、FDBのフラッシュに必要な時間が増大するため、障害からの復帰が遅れるという問題がある。
図15は、市販のEthernetノードを用いて実測した際の、FDBのエントリ数とFDBのフラッシュに要する時間(フラッシュ時間)との関係の例を示すグラフである。図15によれば、基幹系通信システムで必要と思われる1万個以上のエントリを全て消去するためには、1秒以上の時間を要することが分かる。
FDBは、CAM(Content Addressable Memory)により実装されることが多い。CAMは非常に高速の検索性能を有するものの、登録内容を削除するためにはエントリ単位で処理する必要がある。従って、FDBのフラッシュのように、多数のエントリの内容を一度に消去するような処理を行う場合に、多大な時間を要してしまう。
図15に示すグラフにおいて、FDBのフラッシュ時間がFDBのエントリ数に比例して増大していることから、測定に使用したEthernetノードのFDBがCAMにより構成されており、FDBのエントリを1エントリずつ順番に消去しているために、FDBフラッシュに多くの時間を要していると推測される。
以上のように、STPが適用されたEthernetネットワークにおいて障害が発生した場合、新たなスパニングツリーが短時間で再構成されたとしても、FDBのフラッシュに多くの時間を要するために、SONETが提供するような50ms以内という非常に短い障害回復時間を実現することは不可能である。また、FDBのフラッシュ処理においてFDBを参照する処理が、フレーム転送処理においてFDBを参照する処理を妨害した結果、フレーム転送において遅延が増大するという問題が生じる。
上記の問題を解決する方法として、特許文献1には、障害発生を検出した後、FDBフラッシュが必要と判断された場合に、FDBフラッシュを行っている間、全てのフレームをブロードキャスト転送する方法が開示されている。特許文献1に記載された方法に依れば、FDBフラッシュが完了するまでの間、FDBは参照されることなく、全てのフレームは全てのポートから送出されるため、通信を続行することが可能である。また、FDBフラッシュの実行時のフレーム転送処理はブロードキャスト転送処理のみであるため、上述の遅延の問題を本質的に解決することが可能である。
特開2006−135382号公報(段落0009,0012,0035,0058) "STP(Spanning Tree Protocol)"、IEEE Standards 802.1D、IEEE、1998年
しかしながら、特許文献1に開示されている方法によれば、障害検出時に通信を続行することが可能ではあるものの、全てのフレームをブロードキャスト転送することにより、FDBフラッシュが完了するまでの間、長時間に渡って、通信システムの通信帯域が非常に圧迫された結果、各所で輻輳が頻発するという問題が生じる。また、FDBフラッシュ実行時に、パケットを多重する通信システムの利点である統計多重効果を十分に活用することが不可能であるという問題も有している。
さらに、特許文献1には、特定のエントリ群(例えば、ある指定されたVirtual LAN(VLAN)に関する複数のエントリ)のみをFDBから消去する場合の方法は開示されていない。従って、特定のVLANに関わる障害であっても、FDBの全てのエントリを消去しなければならないため、ネットワークの通信帯域が圧迫される上に、統計多重による通信帯域の利用効率が低下するという問題がある。
そこで、本発明は、上述したような従来の技術が有する問題を鑑みてなされたものであって、異常事態から短時間で復帰可能な信頼性の高いネットワークノードおよびネットワークノード用プログラムを提供することを目的とする。
本発明によるネットワークノードは、フレームの転送先を示すフレーム転送先情報を記憶するFDBと、フレーム転送先情報の登録時刻を記憶するFDB登録時刻記憶部と、FDBに記憶されたフレーム転送先情報を所定の場合に消去するFDBフラッシュの要求時刻を記憶する要求時刻記憶部と、要求時刻以降にフレームを受信し、受信したフレームに基づいて参照したフレーム転送先情報の登録時刻が要求時刻以前である場合に、受信したフレームをブロードキャスト送信する通信制御部とを備えたことを特徴とする。
参照したことがあるフレーム転送先情報であることを示す参照情報をフレーム転送先情報に対応させて参照情報記憶部に記憶させる参照情報制御部と、フレーム転送先情報を参照情報に基づいて消去するFDBエージングを実行するFDBエージング部を備え、参照情報制御部は、要求時刻以降にフレームを受信し、受信したフレームに基づいて参照したフレーム転送先情報の登録時刻が要求時刻以前である場合に、参照したフレーム転送先情報に対応する参照情報を消去することが望ましい。そのような構成によれば、エージング時の処理として、不要なフレーム転送先情報を消去することができる。
参照情報制御部は、FDBフラッシュの実行時に参照情報を消去してもよい。そのような構成によれば、FDBフラッシュの実行時に、フレーム転送先情報とともに対応する参照情報を消去することができる。
参照情報制御部は、FDBフラッシュの実行時に、登録時刻が要求時刻以前であるフレーム転送先情報に対応する参照情報を消去してもよい。そのような構成によれば、FDBフラッシュの実行時に、不要なフレーム転送先情報とともに対応する参照情報を消去することができる。
FDBエージング部は、FDBフラッシュの実行時にFDBエージングを実行してもよい。そのような構成によれば、FDBフラッシュの実行時にFDBエージングとしてフレーム転送先情報を消去することができる。
FDBから消去するフレーム転送先情報を特定するための消去条件を記憶するFDBフラッシュ消去条件記憶部を備え、通信制御部は、要求時刻以降にフレームを受信し、受信したフレームに基づいて参照したフレーム転送先情報の登録時刻が要求時刻以前であって、かつ参照したフレーム転送先情報が消去条件を満足する場合に、受信したフレームをブロードキャスト送信することが好ましい。そのような構成によれば、消去条件を満足する場合にのみブロードキャスト送信することができる。
FDBフラッシュ消去条件記憶部は、消去条件として、フレームの転送先アドレスが所定の転送先アドレスであることを記憶してもよい。そのような構成によれば、消去条件としてフレームの転送先アドレスを指定することができる。
FDBフラッシュ消去条件記憶部は、消去条件として、フレームのVLAN識別子が所定のVLAN識別子であることを記憶してもよい。そのような構成によれば、消去条件としてフレームのVLAN識別子を指定することができる。
FDBフラッシュ消去条件記憶部は、消去条件として、フレームの属するスパニングツリーが所定のスパニングツリーであることを記憶してもよい。そのような構成によれば、消去条件としてフレームの属するスパニングツリーを指定することができる。
FDBフラッシュ消去条件記憶部は、消去条件として、フレームの転送先情報が所定のフレーム転送先情報であることを記憶してもよい。そのような構成によれば、消去条件としてフレームの転送先情報を指定することができる。
要求時刻記憶部は、複数のフレーム転送先情報の要求時刻を記憶し、通信制御部は、最初の要求時刻以降にフレームを受信し、受信したフレームに基づいて参照したフレーム転送先情報の登録時刻が最後の要求時刻以前である場合に、受信したフレームをブロードキャスト送信することが望ましい。そのような構成によれば、FDBフラッシュを連続して行う場合にも、実際にフレーム転送先情報を消去せずに、通信領域の負荷を軽減することができる。
要求時刻記憶部は、複数のフレーム転送先情報の要求時刻を記憶し、FDBフラッシュ消去条件記憶部は、それぞれの要求時刻に対応付けて消去条件を記憶し、通信制御部は、最初の要求時刻以降にフレームを受信し、受信したフレームに基づいて参照したフレーム転送先情報の登録時刻がいずれかの要求時刻以前であって、かつ参照したフレーム転送先情報が要求時刻に対応する消去条件を満足する場合に、受信したフレームをブロードキャスト送信することが望ましい。そのような構成によれば、FDBフラッシュを連続して行う場合にも、実際にフレーム転送先情報を消去せずに、通信領域の負荷をより軽減することができる。
通信制御部は、FDBフラッシュ消去条件記憶部が複数の要求時刻に対応づけて同一の消去条件を記憶し、登録時刻が先の要求時刻以前であることに基づいて受信したフレームをブロードキャスト送信している場合に、送信を中断することが望ましい。そのような構成によれば、通信領域の負荷をより軽減することができる。
FDBエージング部は、FDBフラッシュの要求時刻から所定の時間が経過した場合に、FDBエージングを実行してもよい。そのような構成によれば、所定の時間が経過するまでフレーム転送先情報を保持することができる。
FDBは、出力ポートもしくはノード識別子、または出力ポートもしくはノード識別子を仮想的に処理するための情報を含むフレーム転送先情報を記憶してもよい。そのような構成によれば、フレームを出力ポートもしくはノード識別子に基づいて転送することができる。
本発明によるネットワークノード用プログラムは、ネットワークノードが備えるコンピュータに、フレームの転送先を示すフレーム転送先情報の登録時刻をフレーム転送先情報に対応させてFDB登録時刻記憶部に記憶させる処理と、所定の場合にFDBに記憶されたフレーム転送先情報を消去するFDBフラッシュの要求時刻を要求時刻記憶部に記憶させる処理と、要求時刻以降にフレームを受信し、受信したフレームに基づいて参照したフレーム転送先情報の登録時刻が要求時刻以前である場合に、受信したフレームをブロードキャスト送信する処理とを実行させることを特徴とする。
ネットワークノードが備えるコンピュータに、参照したことがあるフレーム転送先情報であることを示す参照情報をフレーム転送先情報に対応させて参照情報記憶部に記憶させる処理と、参照情報に基づいてフレーム転送先情報を消去するFDBエージングを実行する処理と、要求時刻以降にフレームを受信し、受信したフレームに基づいて参照したフレーム転送先情報の登録時刻が要求時刻以前である場合に、参照したフレーム転送先情報に対応する参照情報を消去する処理とを実行させることが望ましい。そのような構成によれば、エージング時の処理として、不要なフレーム転送先情報を消去することができる。
ネットワークノードが備えるコンピュータに、要求時刻以降にフレームを受信し、受信したフレームに基づいて参照したフレーム転送先情報の登録時刻が要求時刻以前であって、かつ参照したフレーム転送先情報が、FDBフラッシュ消去条件記憶部が記憶するFDBから消去するフレーム転送先情報を特定するための消去条件を満足する場合に、受信したフレームをブロードキャスト送信する処理を実行させることが好ましい。そのような構成によれば、消去条件を満足する場合にのみブロードキャスト送信することができる。
ネットワークノードが備えるコンピュータに、要求時刻記憶部が記憶する複数のフレーム転送先情報の要求時刻のうち最初の要求時刻以降にフレームを受信し、受信したフレームに基づいて参照したフレーム転送先情報の登録時刻が最後の要求時刻以前である場合に、受信したフレームをブロードキャスト送信する処理を実行させることが望ましい。そのような構成によれば、FDBフラッシュを連続して行う場合にも、実際にフレーム転送先情報を消去せずに、通信領域の負荷を軽減することができる。
ネットワークノードが備えるコンピュータに、要求時刻記憶部が記憶する複数のフレーム転送先情報の要求時刻のうち最初の要求時刻以降にフレームを受信し、受信したフレームに基づいて参照したフレーム転送先情報の登録時刻がいずれかの要求時刻以前であって、かつ参照したフレーム転送先情報が、FDBフラッシュ消去条件記憶部がそれぞれの要求時刻に対応付けて記憶する消去条件を満足する場合に、受信したフレームをブロードキャスト送信する処理を実行させることが望ましい。そのような構成によれば、FDBフラッシュを連続して行う場合にも、実際にフレーム転送先情報を消去せずに、通信領域の負荷をより軽減することができる。
本発明によるネットワークノードの好ましい一態様は、例えば、フレーム転送先情報を記憶するFDBと、フレーム転送先情報の登録時刻を記憶するFDB登録時刻記憶部と、FDBフラッシュの実行時刻を記憶するFDBフラッシュ実行時刻記憶部を備え、FDBフラッシュを実行した時刻以降のフレーム受信時に、FDBの検索によりフレームに対するフレーム転送先情報を取得した後、フレーム転送先情報の登録時刻がFDBフラッシュ実行時刻以前である場合に、フレームをブロードキャスト送信することを特徴とする。
本発明のネットワークノードによれば、FDBの内容を消去せずとも、FDBフラッシュと同様の効果を実現することにより、障害から非常に短時間で復帰可能な信頼性の高い通信システムを構築することが可能となる。
また、本発明のネットワークノードによれば、フレーム転送処理におけるFDBの参照を妨害しないため、フレーム転送における遅延の増大と通信帯域の圧迫を回避することが可能である。
また、本発明のネットワークノードによれば、FDBエントリのうち、削除対象のエントリに対してのみ、FDBフラッシュと同様の効果を実現することが可能であるため、ブロードキャスト転送の増大による通信帯域の圧迫を回避することが可能である。
実施の形態1.
以下、本発明の第1の実施の形態を図面を参照して説明する。
(通信システムの構成)
以降では、図9及び図14に示す通信システムのSTPノード100〜120に本発明を適用した場合について説明する。
(ノードの構成)
図1は、本発明によるSTPノードの構成例を示すブロック図である。図1には、図9及び図14に示す通信システムにおいて、本発明が適用されたSTPノード100の構成例が示されている。なお、本発明が提要されたSTPノード110及び120の構成もSTPノード100の構成と同一である。以降では、単にSTPノードと記述した場合は、本発明が適用されたSTPノードを表すものとする。図1に示すSTPノード100は、STPノード100のFDBフラッシュ管理テーブル490が追加されている点において、従来のSTPノード100の構成と異なる。
STPノード100のFDBフラッシュ管理テーブル490は、STPノード100のSTP部500がFDBフラッシュを要求した時刻(以下、FDBフラッシュ要求時刻と記述する。)を管理するためのテーブルであって、STPノード100のFDB制御部460により管理される。図2は、本発明によるSTPノードのFDBフラッシュ管理テーブルの例を示す説明図である。図2に示すように、FDBフラッシュ管理テーブル490は、「FDBフラッシュ要求時刻」を含む情報である。図2によれば、STPノード100のSTP部500が時刻TにFDBフラッシュを要求したことが分かる。すなわち、FDBフラッシュ管理テーブル490に含まれる「FDBフラッシュ要求時刻」は、STPノード100のSTP部500がFDBフラッシュを要求した時刻を示す情報である。なお、STPノード100のSTP部500がFDBフラッシュを要求する処理を含めてFDBフラッシュの実行とし、FDBフラッシュ要求時刻をFDBフラッシュ実行時刻としてもよい。
また、図1に示すSTPノード100のFDBエントリ管理テーブル480のテーブル構成は、図10,12に示す従来のSTPノード100のFDBエントリ管理テーブルと異なる。図3は、本発明によるSTPノードのFDBエントリ管理テーブルの例を示す説明図である。図3に示すSTPノード100のFDBエントリ管理テーブル480の各エントリには、FDB470の各エントリの参照の有無を管理するフィールドに加えて、FDB470の各エントリに宛先MACアドレスと出力ポートの関係を登録した時刻を管理するフィールドが追加されている。
すなわち、図3に示すように、本発明によるFDBエントリ管理テーブル480には、エントリの「参照の有無」と「登録時刻」とを含む情報が設定されている。なお、図3には、FDBエントリ管理テーブル480が、各エントリの順序を示す「エントリナンバ(エントリNo.)」を含む場合が例示されている。FDBエントリ管理テーブル480に含まれるエントリナンバは、FDB470に含まれる情報と同じ情報である。FDBエントリ管理テーブル480に含まれる「参照の有無」と「登録時刻」とは、例えば、「エントリナンバ」に対応づけて記憶される。
STPノード100のFDB制御部460は、MACアドレス学習時に、FDBエントリ管理テーブル480のエントリの参照の有無を示すフィールドをクリアするとともに、MACアドレス学習を行った時刻を「登録時刻」に登録する。例えば、図3に示すFDBエントリ管理テーブル480の第1のエントリは、FDB470の第1のエントリの登録時刻がt1であることを意味している。
なお、本発明では、「登録時刻」のフィールドにより、STPノード100のFDB470の各エントリの登録時刻を管理しているが、STPノード100のFDB470のエントリの登録時刻が、FDBフラッシュを実行した時刻の以前であるか、または、以降であるかを判定可能であれば、時刻以外のパラメータを管理しても良い。
図1に示すSTPノード100においては、FDB制御部460、FDB470、FDBエントリ管理テーブル480およびFDBフラッシュ管理テーブル490が、FDBに関する処理を行うFDB部450の構成要素として配置されているが、これに限られない。例えば、FDB制御部460、FDBエントリ管理テーブル480およびFDBフラッシュ管理テーブル490の機能をスイッチ部420に内蔵させ、FDB制御部460とスイッチ部420間のオーバヘッドを最小化することにより、フレーム転送処理を高速化することが可能である。
第1の実施の形態において、FDB登録時刻記憶部は、FDBエントリ管理テーブル480によって実現される。実行時刻記憶部は、FDBフラッシュ管理テーブル490によって実現される。通信制御部は、FDB制御部460およびスイッチ部420によって実現される。参照情報制御部およびFDBエージング部は、FDB制御部460によって実現される。
(FDBフラッシュ実行時の動作)
以降では、リンク220の切断により、図14に示すスパニングツリーが再構成された後、STPノード100がFDBをフラッシュする動作を説明する。新たなスパニングツリーが再構成された後、STPノード100のSTP部500は、STPノード100のFDB470をフラッシュするように、STPノード100のFDB制御部460に依頼する。
本発明において、STPノード100のFDB制御部460は、STPノード100のSTP部500がFDBフラッシュを要求した時刻をSTPノード100のFDBフラッシュ管理テーブル490に登録する。
また、STPノード100のFDB制御部460は、エージングを実行する、もしくは、STPノード100のFDB制御部460は、エージングを所定の時間毎に実行するためのタイマ(以下、エージングタイマと記述する)の値を初期値にリセットする。FDBフラッシュの実行時にエージングを実行することにより、不要なエントリを消去するまでに要する時間を短縮することができる。
さらに、STPノード100のFDB制御部460は、STPノード100のFDBエントリ管理テーブル480のエントリのうち、その登録時刻がFDBフラッシュ要求時刻以前のエントリ全てに対して、エントリの参照の有無を示すフィールドをクリアする。登録時刻がFDBフラッシュ要求時刻以前のエントリは、フレーム受信時に参照された場合でも、参照の有無を示すフィールドがクリアされるため、エージングにおいて不要な情報と判断され、消去される。なお、前者のエージングも後者の処理も高速に行う必要はない。
本発明では、例えば、FDBフラッシュを実行する方法として、CPUからFDBのエントリを1行1行消去する命令を発効するような処理を行わずに、エージングという予め備わっているFDBエントリの消去処理を利用する。そのため、CPUの負荷が小さくてすむ。
なお、STPノード100のFDB制御部460は、FDBフラッシュ実行時に、エージングを実行せず、全てまたは所定のエントリを削除するとともに、FDBエントリ管理テーブル480のエントリの参照の有無を示すフィールドを削除してもよい。
次に、STPノード100のスイッチ部420が、STPノード100のフレーム解析部410−1または2よりフレームを受信した後、STPノード100のFDB制御部460に、フレームの宛先アドレスに対する出力ポートの検索を依頼した場合の動作を説明する。
STPノード100のFDB制御部460は、STPノード100のFDB470を検索することにより、フレームの宛先アドレスに対する出力情報を取得すると、その出力情報を登録した時刻をSTPノード100のFDBエントリ管理テーブル480より取得する。
なお、出力情報とは、例えば、エントリナンバに対応付けてFDB470に記憶される情報であって、宛先MACアドレスおよび出力ポートを含む情報である。また、例えば、FDBエントリ管理テーブル480には、出力情報を登録した時刻が、エントリナンバに対応付けられて「登録時刻」として記憶される。例えば、FDB制御部460は、フレームの宛先MACアドレスに基づいてFDB470を検索し、出力情報を選択する。次に、FDB制御部460は、例えば、選択した出力情報のエントリナンバに基づいてFDBエントリ管理テーブル480を検索し、登録時刻を選択する。
フレームの宛先MACアドレスに基づいて選択された出力情報の登録時刻が、FDBフラッシュ管理テーブル490に登録されているFDBフラッシュ要求時刻以前である場合、STPノード100のFDB制御部460は、STPノード100のスイッチ部420に出力情報が検索されなかった旨を通知する。従って、STPノード100のスイッチ部420は、フレームをブロードキャスト送信する。
また、STPノード100のFDB制御部460は、STPノード100のFDBエントリ管理テーブル480において、FDB470の検索により取得した出力情報が登録されていたエントリの参照の有無を示すフィールドをクリアする。
出力情報が取得され、かつ、出力情報の登録時刻がFDBフラッシュ要求時刻以降である場合、または、出力情報が検索されなかった場合は、従来の技術で述べたフレーム転送方法と同様である。すなわち、FDBフラッシュ要求時刻以後に学習されたエントリは有効となる。
図4は、本発明によるSTPノード100が、フレーム受信時に行うフレーム転送とMACアドレス学習の処理経過の例を示すフローチャートである。
スイッチ部420が、入力ポート400−1〜3およびフレーム解析部401−1,2を介してフレームを受信すると、FDB制御部460は、FDB470を検索して(ステップS1)、受信フレームの宛先MACアドレスに対応する出力ポートを参照する(ステップS2)。
ステップS2において、出力ポートの参照に成功した場合(Yes)、FDB制御部460は、FDBエントリ管理テーブル480において、参照した出力ポートに対応するエントリの登録時刻を検索し、検索した登録時刻が、FDBフラッシュ管理テーブル490のFDBフラッシュ要求時刻以降であるか否かを判断する(ステップS7)。
ステップS7において、登録時刻がFDBフラッシュ要求時刻以降である場合(Yes)、FDB制御部460は、FDBエントリ管理テーブル480において、ステップS2において選択した出力ポートに対応するエントリの参照の有無を示すフィールドをセットする(ステップS3)。スイッチ部420は、受信したフレームを、ステップS2において選択した出力ポートに出力する。そして、当該出力ポートは、接続されたノードに受信フレームを送信する。すなわち、スイッチ部420は、ユニキャスト送信を行う(ステップS4)。
また、ステップS7において、登録時刻がFDBフラッシュ要求時刻以降でない場合(No)、FDB制御部460は、FDBエントリ管理テーブル480において、例えば、エージング時刻を設定するとともに、ステップS2において選択した出力ポートに対応するエントリの参照の有無を示すフィールドをクリアする(ステップS6)。
スイッチ部420は、STPの制御対象であるポートのうちフォワーディング状態である全てのポート、及び、STPの制御対象でない全てのポート(ただし、フレームの受信ポートを除く)に受信フレームを出力する。そして、当該ポートは、接続されたノードに受信フレームを送信する。すなわち、スイッチ部420は、ブロードキャスト送信を行う(ステップS5)。
以上の動作によれば、FDBフラッシュ要求時刻以前にSTPノード100のFDB470に登録された出力情報は、実際にはフレーム転送処理に使用されないため、これらの出力情報に対応するフレームは全てブロードキャスト送信される。すなわち、本発明によれば、FDBフラッシュ要求時にFDBの内容を実際には消去せずとも、FDBの内容が消去された場合と同等の効果を得ることができる。
FDBフラッシュ要求時刻よりエージング時間が経過し、STPノード100のFDB制御部460がエージングを実行すると、FDBフラッシュ要求時刻以前に登録されたFDB470の内容は消去される。エージングによるFDBの全てのエントリを消去するのに、最大でエージング時間と同等の時間を要するものと仮定すると、FDBフラッシュ要求時刻よりエージング時間の2倍以上の時間が経過すれば、FDBフラッシュ要求時刻以前にFDB470に登録されたエントリは全て消去されるため、STPノード100のFDB制御部460は、STPノード100のFDBフラッシュ管理テーブル490に登録されているFDBフラッシュ要求時刻を初期値(全ての時刻よりも早い時刻)にクリアした後、FDBフラッシュ要求以前のフレーム転送処理に戻っても良い。
以上に説明したように、本実施の形態では、FDBフラッシュ要求時にFDBの内容を実際に消去せずとも、FDBフラッシュ実行後と同等の効果を得ることができるため、障害から短時間で復旧することが可能である。また、FDBエントリの消去処理がフレームの出力ポートの検索処理を妨害することがないため、レイテンシの増大や検索ミスによるブロードキャスト送信の増大を回避することが可能である。
実施の形態2.
次に、本発明の第2の実施の形態を説明する。本発明の第2の実施の形態によるSTPノードは、FDBフラッシュの際に、所定の条件を満足するFDBのエントリのみを消去する。ここで、所定の条件とは、例えば、宛先アドレスが所定のMACアドレスと一致するFDBエントリ、または、出力ポートが所定のポートと一致するFDBエントリなどの条件が考えられる。このような条件を課する理由は、FDBフラッシュによる消去の対象とするエントリを限定することにより、ブロードキャスト送信の増大による通信帯域の圧迫を低減する効果が得られる場合があるからである。
また、他の条件として、複数のVLANが適用された通信システムにおいて、ネットワークノードのFDBが宛先アドレスと出力ポートに加えてVLAN識別子を管理するような場合に、VLAN識別子が所定のVLAN識別子と一致するFDBエントリであるという条件なども考えられる。また、例えば、フレームの属するスパニングツリーが所定のスパニングツリーであることを条件としてもよく、フレーム登録先情報が所定のフレーム転送先情報であることを条件としてもよい。
なお、第1の実施の形態は、本実施の形態において、FDBフラッシュによる消去の対象とするエントリの条件をFDBの全てのエントリとした場合に相当する。
(通信システムの構成)
以降では、第1の実施の形態と同様に、図9及び図14に示す通信システムを例示して、本実施の形態におけるFDBフラッシュの方法を説明する。
(ノードの構成)
本実施の形態におけるSTPノード100の構成は、STPノード100のFDBフラッシュ管理テーブル490が、FDBフラッシュ要求時刻に加えて、FDBフラッシュに付随する消去条件を管理する点において、第1の実施の形態におけるSTPノード100の構成と異なる。
図5は、第2の実施の形態のSTPノード100のFDBフラッシュ管理テーブル490の例を示す説明図である。図5に示すように、本実施の形態におけるFDBフラッシュ管理テーブル490は、「FDBフラッシュ要求時刻」と、「消去条件」とを含む情報である。消去条件は、例えば、FDBフラッシュによる消去の対象とするエントリを特定するための条件である。例えば、図5に示すSTPノード100のFDBフラッシュ管理テーブル490には、FDBフラッシュ要求時刻T、及び、消去条件Cが登録されている。
第2の実施の形態において、FDBフラッシュ消去条件記憶部は、FDBフラッシュ管理テーブル490によって実現される。
(FDBフラッシュ実行時の動作)
以降では、第1の実施の形態と同様に、リンク220の切断により、図14に示すスパニングツリーが再構成された後、STPノード100がFDBをフラッシュする動作を説明する。
新たなスパニングツリーが再構成された後、STPノード100のSTP部500は、STPノード100のFDB470のエントリのうち、出力ポートがポートP2であるエントリを全て消去するように、STPノード100のFDB制御部460に依頼する。
STPノード100のFDB470のエントリのうち、出力ポートが障害発生箇所であるリンク220に接続されているポートP2であるエントリのみを、FDBフラッシュによる消去の対象とすることにより、ブロードキャスト送信の増大による通信帯域の圧迫を低減する効果が期待できる。
STPノード100のFDB制御部460は、FDBフラッシュ要求時刻と上記の消去条件をSTPノード100のFDBフラッシュ管理テーブル490に登録する。以降のSTPノード100のFDB制御部460の動作は、第1の実施の形態において説明した動作と基本的に同様であるため、相違点のみを以下に説明する。
STPノード100のスイッチ部420が、STPノード100のフレーム解析部410−1または2よりフレームを受信した後、STPノード100のFDB制御部460に、フレームの宛先アドレスに対する出力ポートの検索を依頼した場合、STPノード100のFDB制御部460は、STPノード100のFDB470を検索する。そして、STPノード100のFDB制御部460は、フレームの宛先アドレスに対する出力情報を取得すると、その出力情報を登録した時刻をSTPノード100のFDBエントリ管理テーブル480より取得する。
フレームの宛先MACアドレスに基づいて選択された出力情報の登録時刻が、FDBフラッシュ要求時刻以前であり、かつ、選択された出力情報が、消去条件として登録された所定の条件(すなわち、出力情報の出力ポートがポートP2であること)を満足する場合、STPノード100のFDB制御部460は、STPノード100のスイッチ部420に出力情報が検索されなかった旨を通知する。従って、STPノード100のスイッチ部420は、フレームをブロードキャスト送信する。
また、STPノード100のFDB制御部460は、STPノード100のFDBエントリ管理テーブル480において、取得した出力情報が登録されていたエントリの参照の有無を示すフィールドをクリアする。
FDB470の検索により出力情報が取得された場合において、出力情報の登録時刻がFDBフラッシュ要求時刻以降である場合、または、出力情報が所定の消去条件を満足しない場合は、従来の技術で述べたフレーム転送方法と同様に、フレームはユニキャスト送信される。また、出力情報が検索されなかった場合においては、従来の技術で述べたように、フレームはブロードキャスト送信される。
第1の実施の形態と同様に、FDBフラッシュ要求時刻よりエージング時間の2倍の時刻が経過した場合、FDBフラッシュにより消去すべきFDBエントリは全て消去されているため、STPノード100のFDB制御部460は、STPノード100のFDBフラッシュ管理テーブル490において、FDBフラッシュ要求時刻を初期値にクリアしてもよい。また、消去条件を無効な情報(例えば、NULL値)に設定した後、FDBフラッシュ要求時刻以前のフレーム転送処理を行っても良い。
図6は、第2の実施の形態によるSTPノード100が、フレーム受信時に行うフレーム転送とMACアドレス学習の処理経過の例を示すフローチャートである。なお、図6におけるステップS1からステップS7の処理は、実施の形態1における処理と同様なため説明を省略する。
ステップS7において、登録時刻がFDBフラッシュ要求時刻以降でない場合(No)、FDB制御部460は、選択された出力情報が、消去条件を満たすか否かを判断する(ステップS8)。出力情報が消去条件を満たす場合(Yes)、ステップS6に移行する。出力情報が消去条件を満たさない場合(No)、ステップS3に移行する。
以上の動作によれば、所定の消去条件を満足するFDBのエントリのみに対して、そのエントリの内容が消去された場合と同等の効果を得ることができる。
実施の形態3.
次に、本発明の第3の実施の形態を説明する。本発明の第3の実施の形態によるSTPノードは、FDBフラッシュを連続して実行する。
以降では、第2の実施の形態において、STPノード100のSTP部500が、STPノード100のFDB制御部460に、出力ポートがポートP2であるエントリを消去する(以降、消去条件C1と記述する)ように依頼した後(以降、そのFDBフラッシュ要求時刻をT1と記述する)に、出力ポートがポートP1であるエントリを消去する(以降、消去条件C2と記述する)ように依頼する(以降、そのFDBフラッシュ要求時刻をT2と記述する)場合の動作を説明する。
ただし、2回目のFDBフラッシュが要求された際に、1回目のFDBフラッシュ要求時刻からエージング時間の2倍の時間が経過している場合は、1回目のFDBフラッシュによるFDBエントリの消去が既に完了しているため、互いのFDBフラッシュを全く独立の処理として取り扱うことができる。従って、本実施の形態で説明する動作を行わなくても、第2の実施の形態で説明した動作を個別に実行すれば良い。
以降では、1回目のFDBフラッシュが要求されてからエージング時間の2倍の時間以内に、2回目のFDBフラッシュが実行された場合の動作を説明する。なお、あるFDBフラッシュの消去条件が、それより以前に実行したFDBフラッシュの消去条件と同一である場合には、FDBフラッシュ要求時刻が早い方のFDBフラッシュによる処理を中断し、FDBフラッシュ要求時刻が遅い方のFDBフラッシュによる処理のみを実行することにより、ネットワークノードの負荷を軽減することができる。
(通信システムの構成)
本実施の形態における通信システムの構成は第2の実施の形態と同様である。
(ノードの構成)
本実施の形態におけるSTPノード100の構成は、STPノード100のFDBフラッシュ管理テーブル490が複数のFDBフラッシュ要求時刻と消去条件を管理する点において、第2の実施の形態におけるSTPノード100の構成と異なる。
図7は、第3の実施の形態のSTPノード100のFDBフラッシュ管理テーブル490の例を示す説明図である。図7に示すFDBフラッシュ管理テーブル490の第1番目のエントリは、1回目に実行されたFDBフラッシュについて、FDBフラッシュ要求時刻がT1であり、また、消去条件がC1であることを示している。また、第2番目のエントリは、2回目に実行されたFDBフラッシュについて、FDBフラッシュ要求時刻がT2であり、また、消去条件がC2であることを示している。
(FDBフラッシュ実行時の動作)
STPノード100のSTP部500からFDBフラッシュを依頼された場合のSTPノード100のFDB制御部460の動作は、1回目のFDBフラッシュの依頼においても、2回目のFDBフラッシュの依頼においても、第1及び第2の実施の形態と同様である。すなわち、STPノード100のFDB制御部460は、FDBのエージングを実行するか、もしくは、STPノード100のFDBエントリ管理テーブル480の全てのエントリに対して、FDBエントリの参照の有無を示すフィールドをクリアするとともに、エージングタイマを初期値にクリアする。
次に、FDBフラッシュ要求時刻T1以降に、STPノード100のFDB制御部460が、STPノード100のスイッチ部420から、受信フレームの宛先アドレスに対する出力ポートの検索を依頼された場合の動作を説明する。
STPノード100のFDB制御部460は、第1及び第2の実施の形態と同様に、STPノード100のFDB470において、宛先アドレスに対して登録されている出力情報を検索する。出力情報がFDB470の検索により取得されなかった場合のSTPノード100のFDB制御部460の動作は、第1及び第2の実施の形態と同様である。
出力情報が取得された場合、STPノード100のFDB制御部460は、STPノード100のFDBエントリ管理テーブル480から、STPノード100のFDB470において、その出力情報が管理されているエントリの登録時刻(以下、登録時刻tと記述する)を取得する。
STPノード100のFDB制御部460は、それぞれのFDBフラッシュの要求に対して、FDBエントリの登録時刻tがそのFDBフラッシュ要求時刻以前であって、かつ、そのFDBフラッシュの消去条件を満足する場合には、STPノード100のスイッチ部420に、出力情報が検索されなかった旨を通知する。
すなわち、STPノード100のスイッチ部420からの検索を要求された時刻が、FDBフラッシュ要求時刻T1以降からFDBフラッシュ要求時刻T2以前である場合、STPノード100のFDB制御部460は、登録時刻tがFDBフラッシュ要求時刻T1以前であって、かつ、出力情報が消去条件1を満足する場合に、STPノード100のスイッチ部420に、出力情報が検索されなかった旨を通知する。
また、STPノード100のスイッチ部420からの検索を要求された時刻がFDBフラッシュ要求時刻T2以降である場合、STPノード100のFDB制御部460は、登録時刻tがFDBフラッシュ要求時刻T1以前であり、かつ、出力情報が消去条件1を満足する場合、及び、登録時刻tがFDBフラッシュ要求時刻T2以前であり、かつ、出力情報が消去条件2を満足する場合に、STPノード100のスイッチ部420に出力情報が検索されなかった旨を通知する。
上述の条件以外の場合には、STPノード100のFDB制御部460は、STPノード100のスイッチ部420に、FDB470より取得した出力情報を通知する。
図8は、第3の実施の形態のSTPノード100が、フレーム受信時に行うフレーム転送とMACアドレス学習の処理経過の例を示すフローチャートである。なお、図8におけるステップS1からステップS6の処理は、実施の形態1における処理と同様なため説明を省略する。
FDB制御部460は、FDB470を検索して(ステップS1)、受信フレームの宛先MACアドレスに対応する出力ポートを選択する(ステップS2)。ここで、FDB制御部460がFDB470の検索を要求された時刻が、FDBフラッシュ要求時刻T2以降である場合を例にして説明する。
ステップS2において、出力ポートの選択に成功した場合(Yes)、FDB制御部460は、選択した出力ポートに対応するエントリの登録時刻tをFDBエントリ管理テーブル480から選択し、選択した登録時刻tが、FDBフラッシュ管理テーブル490のFDBフラッシュ要求時刻T2以降であるか否かを判断する(ステップS9)。
ステップS9において、登録時刻tがFDBフラッシュ要求時刻T2以降でない場合(No)、FDB制御部460は、選択された出力情報が、消去条件C2を満たすか否かを判断する(ステップS10)。登録時刻tがFDBフラッシュ要求時刻T2以降である場合(Yes)、ステップS3に移行する。
ステップS10において、出力情報が消去条件C2を満たす場合(Yes)、ステップS6に移行する。出力情報が消去条件C2を満たさない場合(No)、FDB制御部460は、選択した登録時刻tが、FDBフラッシュ管理テーブル490のFDBフラッシュ要求時刻T1以降であるか否かを判断する(ステップS11)。
ステップS11において、登録時刻tがFDBフラッシュ要求時刻T1以降である場合(Yes)、ステップS3に移行する。登録時刻tがFDBフラッシュ要求時刻T1以降でない場合(No)、FDB制御部460は、選択された出力情報が、消去条件C1を満たすか否かを判断する(ステップS12)。
ステップS12において、出力情報が消去条件を満たす場合(Yes)、ステップS6に移行し、満たさない場合(No)、ステップS3に移行する。
以上のように、本実施の形態によれば、FDBフラッシュを連続して実行することが可能となる。なお、以上では、FDBフラッシュを2回連続して実行した場合の動作について説明したが、同様にして、3回以上のFDBフラッシュを連続して実行することができる。
ところで、FDBフラッシュ要求時刻T1とFDBフラッシュ要求時刻T2の時間間隔が小さい場合、第1の実施の形態で述べたように、STPノード100のFDB制御部460が、FDBフラッシュの要求時にエージングを実行すると、FDBのエントリの多くが消去されてしまうために、FDBエントリの消去条件を設定することにより、ブロードキャスト送信の増大による通信帯域の圧迫を抑制する効果が得られなくなる恐れがある。
また、FDBフラッシュの要求時に、エージングを実行せずに、エージングタイマを初期値にクリアした上で、STPノード100のFDBエントリ管理テーブル480の全てのエントリに対して、その参照の有無を示すフィールドをクリアする処理を行った場合は、一連のFDBフラッシュの要求のうち、最後のFDBフラッシュ要求からエージング時間が経過した時刻に、エージングが実行されるため、FDBのエントリが実際に消去される時刻が大幅に遅れてしまうという問題が生じる。以降では、上述の問題を解決する方法を説明する。
STPノード100のFDB制御部460は、FDBフラッシュの要求時にエージングを実行せずに、STPノード100のFDBエントリ管理テーブル480において、FDBフラッシュ要求時刻以前に登録されたFDBのエントリに対して、そのエントリの参照の有無を示すフィールドをクリアする処理のみを実行するとともに、以下に説明する動作を行う。
STPノード100のFDB制御部460は、FDBフラッシュ要求時に、そのFDBフラッシュに対応するエージングタイマを起動する。以降では、FDBフラッシュ要求時刻T1に起動するエージングタイマをエージングタイマAT1とし、また、FDBフラッシュ要求時刻T2に起動するエージングタイマをエージングタイマAT2とする。本実施の形態においては、エージングタイマAT1及びAT2の起動時にタイマに設定する値は、通常動作しているエージングタイマ(以下、エージングタイマAT0と記述する)の初期値と同一とする。
エージングタイマAT1及びAT2の初期値をエージングタイマAT0の初期値よりも小さく設定することにより、実際にFDBのエントリが消去される時刻を早めることもできるが、FDBフラッシュによりFDBのエントリが実際に消去される時刻を明確にするためには、FDBの全てのエントリを消去するのに要する時間よりも大きな値を設定しておくことが望ましい。
エージングタイマAT1がタイムアウトした場合、STPノード100のFDB制御部460は、FDBエントリの登録時間がFDBフラッシュ要求時刻T1以前のエントリに対して、エージングを実行した後、エージングタイマAT1を終了させるとともに、エージングタイマAT0を初期値にクリアする。同様に、エージングタイマAT2がタイムアウトした場合、STPノード100のFDB制御部460は、FDBエントリの登録時間がFDBフラッシュ要求時刻T2以前のエントリに対してエージングを実行した後、エージングタイマAT2を終了させるとともに、エージングタイマAT0を初期値にクリアする。以上により、上述の問題を解決することができる。
本発明によれば、FDBのエントリ毎に登録時刻を管理することにより、再学習されたエントリのフレームをユニキャストすることが可能であるため、ブロードキャストによって帯域が圧迫される時間を短縮できるとともに、障害が連続して発生した場合にも対処可能である。
上述の各実施の形態においては、STPノードがFDB制御部460などの各処理部を備える構成として説明したが、STPノードがコンピュータと記憶装置とを予め備えた上で、そのコンピュータが記憶装置に記憶されたネットワークノード用プログラムに従って動作することにより、各処理部と同様の動作を実現する構成であっても良い。
また、FDBフラッシュ管理テーブル490が、FDBフラッシュ要求時刻として、STP部500がFDBフラッシュを要求した時刻を記憶する場合を例示したが、例えば、FDB制御部460がFDBフラッシュの実行を開始した時刻を記憶してもよい。
本発明は、FDBの設定に基づいてフレームを転送するネットワークノードに効果的に適用できる。
本発明によるSTPノードの構成例を示すブロック図である。 本発明によるSTPノードのFDBフラッシュ管理テーブルの例を示す説明図である。 本発明によるSTPノードのFDBエントリ管理テーブルの例を示す説明図である。 本発明によるSTPノードにおけるフレーム転送処理の処理経過の例を示すフローチャートである。 第2の実施の形態のSTPノードのFDBフラッシュ管理テーブルの例を示す説明図である。 第2の実施の形態のSTPノードにおけるフレーム転送処理の処理経過の例を示すフローチャートである。 第3の実施の形態のSTPノードのFDBフラッシュ管理テーブルの例を示す説明図である。 第3の実施の形態のSTPノードにおけるフレーム転送処理の処理経過の例を示すフローチャートである。 3台のSTPノード、及び、3台のEthernetノードを備えたEthernetネットワークシステムの例を示す説明図である。 一般的なSTPノードの構成例を示すブロック図である。 一般的なSTPノードのFDBの例を示す説明図である。 一般的なSTPノードのFDBエントリ管理テーブルの例を示す説明図である。 一般的なSTPノードにおけるフレーム転送処理の処理経過の例を示すフローチャートである。 リンクが切断された場合のEthernetネットワークシステムの例を示す説明図である。 FDBのエントリ数とFDBのフラッシュ時間の関係の例を示すグラフである。
符号の説明
100,110,120 STPノード
200,210,220 リンク
300,310,320 Ethernetノード
400−1〜3 入力ポート
410−1〜2 フレーム解析部
420 スイッチ部
430−1〜2 フレーム多重部
440−1〜3 出力ポート
450 FDB部
460 FDB制御部
470 FDB
480 FDBエントリ管理テーブル
490 FDBフラッシュ管理テーブル
500 STP部
510 ポート状態テーブル

Claims (20)

  1. フレームの転送先を示すフレーム転送先情報を記憶するFDBと、
    フレーム転送先情報の登録時刻を記憶するFDB登録時刻記憶部と、
    前記FDBに記憶されたフレーム転送先情報を所定の場合に消去するFDBフラッシュの要求時刻を記憶する要求時刻記憶部と、
    要求時刻以降にフレームを受信し、受信したフレームに基づいて参照したフレーム転送先情報の登録時刻が要求時刻以前である場合に、受信したフレームをブロードキャスト送信する通信制御部と
    を備えたことを特徴とするネットワークノード。
  2. 参照したことがあるフレーム転送先情報であることを示す参照情報をフレーム転送先情報に対応させて参照情報記憶部に記憶させる参照情報制御部と、
    フレーム転送先情報を参照情報に基づいて消去するFDBエージングを実行するFDBエージング部を備え、
    前記参照情報制御部は、要求時刻以降にフレームを受信し、受信したフレームに基づいて参照したフレーム転送先情報の登録時刻が要求時刻以前である場合に、参照したフレーム転送先情報に対応する参照情報を消去する
    請求項1記載のネットワークノード。
  3. 参照情報制御部は、FDBフラッシュの実行時に参照情報を消去する請求項2記載のネットワークノード。
  4. 参照情報制御部は、FDBフラッシュの実行時に、登録時刻が要求時刻以前であるフレーム転送先情報に対応する参照情報を消去する請求項2記載のネットワークノード。
  5. FDBエージング部は、FDBフラッシュの実行時にFDBエージングを実行する請求項2記載のネットワークノード。
  6. FDBから消去するフレーム転送先情報を特定するための消去条件を記憶するFDBフラッシュ消去条件記憶部を備え、
    通信制御部は、要求時刻以降にフレームを受信し、受信したフレームに基づいて参照したフレーム転送先情報の登録時刻が要求時刻以前であって、かつ参照したフレーム転送先情報が消去条件を満足する場合に、受信したフレームをブロードキャスト送信する
    請求項1から請求項5のうちのいずれか1項に記載のネットワークノード。
  7. FDBフラッシュ消去条件記憶部は、消去条件として、フレームの転送先アドレスが所定の転送先アドレスであることを記憶する請求項6記載のネットワークノード。
  8. FDBフラッシュ消去条件記憶部は、消去条件として、フレームのVLAN識別子が所定のVLAN識別子であることを記憶する請求項6または請求項7記載のネットワークノード。
  9. FDBフラッシュ消去条件記憶部は、消去条件として、フレームの属するスパニングツリーが所定のスパニングツリーであることを記憶する請求項6から請求項8のうちのいずれか1項に記載のネットワークノード。
  10. FDBフラッシュ消去条件記憶部は、消去条件として、フレームの転送先情報が所定のフレーム転送先情報であることを記憶する請求項6記載のネットワークノード。
  11. 要求時刻記憶部は、複数のフレーム転送先情報の要求時刻を記憶し、
    通信制御部は、最初の要求時刻以降にフレームを受信し、受信したフレームに基づいて参照したフレーム転送先情報の登録時刻が最後の要求時刻以前である場合に、受信したフレームをブロードキャスト送信する
    請求項1から請求項5のうちのいずれか1項に記載のネットワークノード。
  12. 要求時刻記憶部は、複数のフレーム転送先情報の要求時刻を記憶し、
    FDBフラッシュ消去条件記憶部は、それぞれの要求時刻に対応付けて消去条件を記憶し、
    通信制御部は、最初の要求時刻以降にフレームを受信し、受信したフレームに基づいて参照したフレーム転送先情報の登録時刻がいずれかの要求時刻以前であって、かつ参照したフレーム転送先情報が要求時刻に対応する消去条件を満足する場合に、受信したフレームをブロードキャスト送信する
    請求項6から請求項11のうちのいずれか1項に記載のネットワークノード。
  13. 通信制御部は、FDBフラッシュ消去条件記憶部が複数の要求時刻に対応づけて同一の消去条件を記憶し、登録時刻が先の要求時刻以前であることに基づいて受信したフレームをブロードキャスト送信している場合に、送信を中断する請求項12記載のネットワークノード。
  14. FDBエージング部は、FDBフラッシュの要求時刻から所定の時間が経過した場合に、FDBエージングを実行する請求項2から請求項13のうちのいずれか1項に記載のネットワークノード。
  15. FDBは、出力ポートもしくはノード識別子、または出力ポートもしくはノード識別子を仮想的に処理するための情報を含むフレーム転送先情報を記憶する請求項1から請求項14のうちのいずれか1項に記載のネットワークノード。
  16. ネットワークノードが備えるコンピュータに、
    フレームの転送先を示すフレーム転送先情報の登録時刻をフレーム転送先情報に対応させてFDB登録時刻記憶部に記憶させる処理と、
    所定の場合にFDBに記憶されたフレーム転送先情報を消去するFDBフラッシュの要求時刻を要求時刻記憶部に記憶させる処理と、
    要求時刻以降にフレームを受信し、受信したフレームに基づいて参照したフレーム転送先情報の登録時刻が要求時刻以前である場合に、受信したフレームをブロードキャスト送信する処理と
    を実行させるためのネットワークノード用プログラム。
  17. ネットワークノードが備えるコンピュータに、
    参照したことがあるフレーム転送先情報であることを示す参照情報をフレーム転送先情報に対応させて参照情報記憶部に記憶させる処理と、
    参照情報に基づいてフレーム転送先情報を消去するFDBエージングを実行する処理と、
    要求時刻以降にフレームを受信し、受信したフレームに基づいて参照したフレーム転送先情報の登録時刻が要求時刻以前である場合に、参照したフレーム転送先情報に対応する参照情報を消去する処理とを実行させる
    請求項16記載のネットワークノード用プログラム。
  18. ネットワークノードが備えるコンピュータに、
    要求時刻以降にフレームを受信し、受信したフレームに基づいて参照したフレーム転送先情報の登録時刻が要求時刻以前であって、かつ参照したフレーム転送先情報が、FDBフラッシュ消去条件記憶部が記憶するFDBから消去するフレーム転送先情報を特定するための消去条件を満足する場合に、受信したフレームをブロードキャスト送信する処理を実行させる
    請求項16または請求項17記載のネットワークノード用プログラム。
  19. ネットワークノードが備えるコンピュータに、
    要求時刻記憶部が記憶する複数のフレーム転送先情報の要求時刻のうち最初の要求時刻以降にフレームを受信し、受信したフレームに基づいて参照したフレーム転送先情報の登録時刻が最後の要求時刻以前である場合に、受信したフレームをブロードキャスト送信する処理を実行させる
    請求項16または請求項17記載のネットワークノード用プログラム。
  20. ネットワークノードが備えるコンピュータに、
    要求時刻記憶部が記憶する複数のフレーム転送先情報の要求時刻のうち最初の要求時刻以降にフレームを受信し、受信したフレームに基づいて参照したフレーム転送先情報の登録時刻がいずれかの要求時刻以前であって、かつ参照したフレーム転送先情報が、FDBフラッシュ消去条件記憶部がそれぞれの要求時刻に対応付けて記憶する消去条件を満足する場合に、受信したフレームをブロードキャスト送信する処理を実行させる
    請求項16から請求項19のうちのいずれか1項に記載のネットワークノード用プログラム。
JP2006335303A 2006-12-13 2006-12-13 ネットワークノードおよびネットワークノード用プログラム Active JP4428380B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006335303A JP4428380B2 (ja) 2006-12-13 2006-12-13 ネットワークノードおよびネットワークノード用プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006335303A JP4428380B2 (ja) 2006-12-13 2006-12-13 ネットワークノードおよびネットワークノード用プログラム

Publications (2)

Publication Number Publication Date
JP2008148176A true JP2008148176A (ja) 2008-06-26
JP4428380B2 JP4428380B2 (ja) 2010-03-10

Family

ID=39607828

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006335303A Active JP4428380B2 (ja) 2006-12-13 2006-12-13 ネットワークノードおよびネットワークノード用プログラム

Country Status (1)

Country Link
JP (1) JP4428380B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011104847A1 (ja) * 2010-02-25 2011-09-01 三菱電機株式会社 通信装置およびアドレス学習方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011104847A1 (ja) * 2010-02-25 2011-09-01 三菱電機株式会社 通信装置およびアドレス学習方法
US8655909B2 (en) 2010-02-25 2014-02-18 Mitsubishi Electric Corporation Communication apparatus and address learning method

Also Published As

Publication number Publication date
JP4428380B2 (ja) 2010-03-10

Similar Documents

Publication Publication Date Title
US7463579B2 (en) Routed split multilink trunking
KR101495226B1 (ko) QiQ 이더넷 링과 1:1 프로텍팅된 PBT 트렁크에서 트래픽을 루핑 백하는 방법 및 시스템
US7898942B2 (en) Ring network system, failure recovery method, failure detection method, node and program for node
JP5369228B2 (ja) ユニキャストトラフィックを復元する方法及び装置
JP4370999B2 (ja) ネットワークシステム、ノード及びノード制御プログラム、ネットワーク制御方法
JP5410546B2 (ja) イーサネットネットワークにおけるポートテーブルの消去
US20170118066A1 (en) Data plane to forward traffic based on communications from a software defined (sdn) controller during a control plane failure
JPWO2004075485A1 (ja) ネットワークシステム、スパニングツリー構成方法及び構成プログラム、スパニングツリー構成ノード
KR20100022008A (ko) 이더넷 보호 스위칭 시스템
CN101610221B (zh) 一种stp切换时ip单播平滑切换的方法及装置
JP6792701B2 (ja) プライマリ・バックアップ疑似回線pw切替
US8401008B2 (en) Network node, frame transfer program and frame transfer method
US20100303081A1 (en) Communication system and method for forwarding a packet among a plurality of edge routers
US20110264795A1 (en) Communication network managment system, method and program, and management computer
US20060253561A1 (en) Method and apparatus for fast re-configuration of a network topology
JP2007174119A (ja) レイヤ2ネットワーク
JP2022095786A (ja) ループ回避通信方法、ループ回避通信デバイスおよびループ回避通信システム
CN107968753B (zh) 修改媒体接入控制地址转发表的方法和装置
US7821920B2 (en) Flushing processing unit and method of switching device in network using spanning tree protocol
JP5678678B2 (ja) プロバイダ網及びプロバイダエッジ装置
CA2572940A1 (en) System and method for preserving multicast data forwarding during control failures in a router
WO2014117499A1 (zh) 组播恢复方法和装置及包括该组播恢复装置的中继设备
TW202008756A (zh) 網路自動鏈結備援方法與網路系統
KR20160137813A (ko) Oam 패킷 및 보호 절체 메시지의 처리를 위한 패킷 전송 장치
JP4428380B2 (ja) ネットワークノードおよびネットワークノード用プログラム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090828

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090908

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091102

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: 20091124

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

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

Free format text: PAYMENT UNTIL: 20121225

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4428380

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091207

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

Free format text: PAYMENT UNTIL: 20121225

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20131225

Year of fee payment: 4