特許第6550192号(P6550192)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 新華三技術有限公司の特許一覧

<>
  • 特許6550192-ネットワーク機器 図000002
  • 特許6550192-ネットワーク機器 図000003
  • 特許6550192-ネットワーク機器 図000004
  • 特許6550192-ネットワーク機器 図000005
  • 特許6550192-ネットワーク機器 図000006
  • 特許6550192-ネットワーク機器 図000007
  • 特許6550192-ネットワーク機器 図000008
  • 特許6550192-ネットワーク機器 図000009
  • 特許6550192-ネットワーク機器 図000010
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6550192
(24)【登録日】2019年7月5日
(45)【発行日】2019年7月24日
(54)【発明の名称】ネットワーク機器
(51)【国際特許分類】
   H04L 12/939 20130101AFI20190711BHJP
   H04L 12/775 20130101ALI20190711BHJP
【FI】
   H04L12/939
   H04L12/775
【請求項の数】8
【全頁数】16
(21)【出願番号】特願2018-528374(P2018-528374)
(86)(22)【出願日】2016年8月25日
(65)【公表番号】特表2018-523957(P2018-523957A)
(43)【公表日】2018年8月23日
(86)【国際出願番号】CN2016096633
(87)【国際公開番号】WO2017032317
(87)【国際公開日】20170302
【審査請求日】2018年2月16日
(31)【優先権主張番号】201510524605.5
(32)【優先日】2015年8月25日
(33)【優先権主張国】CN
(73)【特許権者】
【識別番号】518056748
【氏名又は名称】新華三技術有限公司
【氏名又は名称原語表記】NEW H3C TECHNOLOGIES CO., LTD.
(74)【代理人】
【識別番号】100147485
【弁理士】
【氏名又は名称】杉村 憲司
(74)【代理人】
【識別番号】230118913
【弁護士】
【氏名又は名称】杉村 光嗣
(74)【代理人】
【識別番号】100134577
【弁理士】
【氏名又は名称】石川 雅章
(72)【発明者】
【氏名】趙 志宇
【審査官】 野元 久道
(56)【参考文献】
【文献】 特開2015−154127(JP,A)
【文献】 米国特許第07382724(US,B1)
【文献】 特開2003−032284(JP,A)
【文献】 特開2014−195147(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/939
H04L 12/775
(57)【特許請求の範囲】
【請求項1】
ネットワーク機器であって、 第1の転送ボードと、
第2の転送ボードと、
ネットワークインタフェースチップと、第1のI/Oバスを介して第1の転送ボードに接続され、第2のI/Oバスを介して第2の転送ボードに接続され、ネットワークインターフェースバスを介して前記ネットワークインターフェースチップに接続される制御デバイスと、を有するインタフェースボードと、を含み、
該制御デバイスが、ネットワークインタフェースチップによってネットワーク機器の外
部から受信されたデータパケットを、第1のI/Oバスを介して第1の転送ボードへ送信
される第1の上りデータパケットフローと、第2のI/Oバスを介して第2の転送ボード
へ送信される第2の上りデータパケットフローとに形成し、
該制御デバイスが、第1の転送ボード及び第2の転送ボードのアクティブ・スタンバイ
の状態に基づいて、第1のI/Oバスを介して受信され、第1の転送ボードによって処理
された第1の下りデータパケットフローと、第2のI/Oバスを介して受信され、第2の
転送ボードによって処理された第2の下りデータパケットフローとのうちのいずれか一方
を、ネットワークインタフェースバスを介してネットワークインタフェースチップと導通
させ
第1のI/Oバスが第1のPCI−Eバスであり、第2のI/Oバスが第2のPCI−Eバスであり、
第1の転送ボードは、第1のPCI−Eバスに接続される第1のPCI−E RCと、第1のPCI−E RCを駆動する第1のCPUとを有し、第2の転送ボードは、第2のPCI−Eバスに接続される第2のPCI−E RCと、第2のPCI−E RCを駆動する第2のCPUとを有し、
そして、前記制御デバイスは、
第1のPCI−Eバスに接続される第1のPCI−Eエンドポイントと、
第2のPCI−Eバスに接続される第2のPCI−Eエンドポイントと、
第1のPCI−Eエンドポイントに接続される第1の受信キャッシュキューおよび第1の送信キャッシュキューと、
第2のPCI−Eエンドポイントに接続される第2の受信キャッシュキューおよび第2の送信キャッシュキューと、
ネットワークインタフェースバスを介してネットワークインタフェースチップに接続されるネットワークインタフェースバスコントローラと、
ネットワークインタフェースバスコントローラを第1の受信キャッシュキューおよび第2の受信キャッシュキューにそれぞれ接続し、第1の受信キャッシュキューを使用して第1の上りデータパケットフローを形成し、第2の受信キャッシュキューを使用して第2の上りデータパケットフローを形成するコピードライバと、
第1の下りデータパケットフローと第2の下りデータパケットフローとのうちのいずれか一方を、ネットワークインターフェイスバスを介してネットワークインターフェイスチップと導通させるように、第1の送信キャッシュキューと第2の送信キャッシュキューとのうちのいずれか一方を、ネットワークインタフェースバスコントローラと接続する選択切替部と、を含み、
前記第1のPCI−Eエンドポイントと、前記第1の受信キャッシュキューと、前記第1の送信キャッシュキューは、ネットワーク機器が電源投入されて起動された後のPCI−E初期化において、第1のCPUによって第1のPCI−E RCを駆動することで設定され、
前記第2のPCI−Eエンドポイントと、前記第2の受信キャッシュキューと、前記第2の送信キャッシュキューは、ネットワーク機器が電源投入されて起動された後のPCI−E初期化において、第2のCPUによって第2のPCI−E RCを駆動することで設定されることを特徴とするネットワーク機器。
【請求項2】
前記制御デバイスは、
第1のCPUの制御ピンと第2のCPUの制御ピンによって、第1の転送ボードと第2の転送ボードのアクティブ・スタンバイ状態を記録するための状態識別モジュールと、
状態識別モジュールによって記録されたアクティブ・スタンバイ状態に基づいて、第1の転送ボードがアクティブ状態の転送ボードである場合に、第1のI/Oバスによって受信され、第1の転送ボードによって処理された第1の下りデータパケットフローを、ネットワークインターフェースバスを介してネットワークインターフェースチップと導通させ、第2の転送ボードがアクティブ状態の転送ボードである場合に、第2のI/Oバスによって受信され、第2の転送ボードによって処理された第2の下りデータパケットフローを、ネットワークインターフェースバスを介してネットワークインターフェースチップと導通させるための選択切り替えスイッチと、を更に含む
ことを特徴とする請求項に記載のネットワーク機器。
【請求項3】
前記制御デバイスは、ネットワークインターフェース設定において、状態識別モジュールによって記録されたアクティブ・スタンバイ状態に基づいて第1の転送ボードがアクティブ状態の転送ボードであると確定した場合に、第1のPCI−E RCから、第1のCPUによるネットワークインターフェースバスコントローラーおよびネットワークインターフェースチップへの初期化設定を受信し、状態識別モジュールによって記録されたアクティブ・スタンバイ状態に基づいて第2の転送ボードがアクティブ状態の転送ボードであると確定した場合に、第2のPCI−E RCから、第2のCPUによるネットワークインターフェースバスコントローラーおよびネットワークインターフェースチップへの初期化設定を受信するためのネットワークインターフェース設定モジュール、を更に含む
ことを特徴とする請求項に記載のネットワーク機器。
【請求項4】
前記制御デバイスは、第1の管理バスを介して第1のCPUに接続され、第2の管理バスを介して第2のCPUに接続され、ネットワーク機器の起動際に、状態識別モジュールによって記録されたアクティブ・スタンバイ状態に基づいて第1の転送ボードがアクティブ状態の転送ボードであると確定した場合に、第1の管理バスを介して第1のCPUによるインターフェースボードへの初期化設定を受信し、状態識別モジュールによって記録されたアクティブ・スタンバイ状態に基づいて第2の転送ボードがアクティブ状態の転送ボードであると確定した場合に、第2の管理バスを介して第2のCPUによるインターフェースボードへの初期化設定を受信するためのボード設定モジュールと、を更に含む
ことを特徴とする請求項に記載のネットワーク機器。
【請求項5】
ネットワークインタフェースチップを有するインタフェースボードと、第1のI/Oバスを介してインターフェースボードに接続される第1の転送ボードと、第2のI/Oバスを介してインターフェースボードに接続される第2の転送ボードとを含むネットワーク機器に適用されるパケット転送方法であって、
インターフェースボードにおいて、ネットワークインタフェースチップによってネットワーク機器の外部から受信されたデータパケットを、第1のI/Oバスを介して第1の転送ボードに送信される第1の上りデータパケットフローと、第2のI/Oバスを介して第2の転送ボードに送信される第2の上りデータパケットフローとに形成することと、第1の転送ボードと第2の転送ボードのアクティブ・スタンバイ状態に基づいて、第1のI/Oバスを介して受信され、第1の転送ボードによって処理された第1の下りデータパケットフローと、第2のI/Oバスを介して受信され、第2の転送ボードによって処理された第2の下りデータパケットフローとのうちのいずれか一方をネットワークインタフェースバスを介してネットワークインタフェースチップと導通させることと、を含み
第1のI/Oバスが第1のPCI−Eバスであり、第2のI/Oバスが第2のPCI−Eバスであり、
第1の転送ボードは、第1のPCI−Eバスに接続される第1のPCI−E RCと、第1のPCI−E RCを駆動する第1のCPUとを有し、第2の転送ボードは、第2のPCI−Eバスに接続される第2のPCI−E RCと、第2のPCI−E RCを駆動する第2のCPUとを有し、
インターフェースボードは、第1のPCI−Eバスに接続される第1のPCI−Eエンドポイントと、第2のPCI−Eバスに接続される第2のPCI−Eエンドポイントと、第1のPCI−Eエンドポイントに接続される第1の受信キャッシュキュー及び第1の送信キャッシュキューと、第2のPCI−Eエンドポイントに接続された第2の受信キャッシュキュー及び第2の送信キャッシュキューと、ネットワークインタフェースバスを介してネットワークインタフェースチップに接続されるネットワークインタフェースバスコントローラとを有し、
該パケット転送方法は、ネットワークインタフェースバスコントローラによってネットワークインタフェースバスチップから受信されたデータパケットをコピーして、第1の受信キャッシュキューと第2の受信キャッシュキューにそれぞれ盛り込むことで、第1の受信キャッシュキューを使用して第1の上りデータパケットフローを形成し、第2の受信キャッシュキューを使用して第2の上りデータパケットフローを形成することを含み、
該パケット転送方法は、第1の送信キャッシュキューと第2の送信キャッシュキューとのうちのいずれか一方をネットワークインタフェースバスコントローラと導通させることで、第1の下りデータパケットフローと第2の下りデータパケットフローとのうちのいずれか一方をネットワークインターフェイスバスを介してネットワークインターフェイスチップと導通させることをさらに含み、
ネットワーク機器が電源投入されて起動された後のPCI−Eの初期化において、前記パケット転送方法は、
第1のPCI−Eエンドポイントと、第1の受信キャッシュキューと、第1の送信キャッシュキューは、第1のCPUによって第1のPCI−E RCを駆動することで設定されることと、
第2のPCI−Eエンドポイントと、第2の受信キャッシュキューと、第2の送信キャッシュキューは、第2のCPUによって第2のPCI−E RCを駆動することで設定されることと、を含むことを特徴とするパケット転送方法。
【請求項6】
第1のCPUの制御ピンと第2のCPUの制御ピンによって、第1の転送ボードと第2の転送ボードのアクティブ・スタンバイ状態を識別し、第1の転送ボードがアクティブ状態の転送ボードである場合に、第1のI/Oバスによって受信され、第1の転送ボードによって処理された第1の下りデータパケットフローを、ネットワークインターフェースバスを介してネットワークインターフェースチップと導通させ、第2の転送ボードがアクティブ状態の転送ボードである場合に、第2のI/Oバスによって受信され、第2の転送ボードによって処理された第2の下りデータパケットフローを、ネットワークインターフェースバスを介してネットワークインターフェースチップと導通させること、を更に含む
ことを特徴とする請求項に記載のパケット転送方法。
【請求項7】
ネットワークインターフェース設定において、前記パケット転送方法は、
第1の転送ボードがアクティブ状態の転送ボードである場合に、第1のPCI−E RCから、第1のCPUによるネットワークインターフェースバスコントローラーおよびネットワークインターフェースチップへの初期化設定を受信し、第2の転送ボードがアクティブ状態の転送ボードである場合に、第2のPCI−E RCから、第2のCPUによるネットワークインターフェースバスコントローラーおよびネットワークインターフェースチップへの初期化設定を受信すること、を更に含む
ことを特徴とする請求項に記載のパケット転送方法。
【請求項8】
ネットワーク機器の起動する際に、前記パケット転送方法は、
第1の転送ボードがアクティブ状態の転送ボードである場合に、第1の管理バスを介して第1のCPUによるインターフェースボードへの初期化設定を受信し、第2の転送ボードがアクティブ状態の転送ボードである場合に、第2の管理バスを介して第2のCPUによるインターフェースボードへの初期化設定を受信することを更に含む
ことを特徴とする請求項に記載のパケット転送方法。
【発明の詳細な説明】
【発明の背景】
【0001】
ネットワーク機器には転送ボードとインタフェースボードがある。そして、転送ボードはアクティブ・スタンバイの冗長構成を採用することによって転送の確実性を向上する。
転送ボードのアクティブ・スタンバイの切り替えを行う必要がある場合に、転送ボードとインタフェースボードとの間にあるI/Oバスに物理的な切り替え操作をすれば良い。即ち、インタフェースボードとスタンバイ状態に降格された転送ボードとの間にあるI/Oバスの物理的な接続が切断され、インタフェースボードとアクティブ状態に昇格された転送ボードとの間においてI/Oバスの物理的な接続が新たに確立される。そして、アクティブ状態に昇格された転送ボードは、物理的な接続が新たに確立されたI/Oバスを初期化する必要もある。
【図面の簡単な説明】
【0002】
以下の図面は単なる例示に過ぎず、本発明を何ら限定するものではない。以下の図面において、同様の符号は、同様の要素を示す。
図1図1は、一つの実施例に係るネットワーク機器の原理模式図である。
図2図2aおよび図2bは、図1に示す実施例の動作状態を示す模式図である。
図3図3は、一つの実施例に係るPCI−Eバスによるネットワーク機器の構成を示す模式図である。
図4図4aおよび図4bは、図3に示す実施例の動作状態を示す模式図である。
図5図5は、図3に示すネットワーク機器における拡張構成を示す模式図である。
図6図6は、一つの実施例に係るネットワーク機器に適用されるパケット転送方法を示すフローチャートである。
図7図7は、一つの実施例に係るネットワーク機器の初期化を示すフローチャートである。
【発明を実施するための形態】
【0003】
以下、説明の簡潔化のために、幾つかの代表的な実施例を挙げて本発明の技術案を説明する。以下では、技術の詳細を説明することによって技術案を理解しやすくなることを図る。しかし、本発明の技術案は、これらの特定の詳細に限定されることなく実施され得る。また、不本意に本技術案を曖昧にすることを避けるために、一部の例において方法および構造の詳細に関する説明は省略する。以下では、「一つ」という言葉は、ある特定の要素を例として説明するために使用される。以下では、「含む」という言葉は、「含んでいるがこれに限定されない」ことを意味しており、「に基づいて」という言葉は、「少なくとも。。。に基づくが、これのみに基づくとは限定されない」ことを意味している。明細書および特許請求の範囲で使用される「含む」という言葉およびその類語は、明示された要件を少なくとも含むことを意味しており、その他にも要件が存在し得ることと解釈されるべきである。以下では、特に明記されない限り、要素の数は一つ又は複数であってもよく、或いは少なくとも1つとして理解すべきである。
【0004】
図1に示したように、一つの実施例では、ネットワーク機器10であって、
第1の転送ボード11と、
第2の転送ボード12と、
ネットワークインタフェースチップ132と、第1のI/Oバス21を介して第1の転送ボード11に接続され、第2のI/Oバス22を介して第2の転送ボード12に接続され、ネットワークインターフェースバス23を介してネットワークインターフェースチップ132に接続される制御デバイス(以下、論理デバイスともいう)131と、を有するインタフェースボード13と、を含み、
該制御デバイス131が、ネットワークインタフェースチップ132によってネットワーク機器10の外部から受信されたデータパケット200aを、第1のI/Oバス21を介して第1の転送ボード11へ送信される第1の上りデータパケットフロー211と、第2のI/Oバス22を介して第2の転送ボード12へ送信される第2の上りデータパケットフロー212とに形成し、
該制御デバイスが、第1の転送ボード11及び第2の転送ボード12のアクティブ・スタンバイの状態に基づいて、第1のI/Oバス21を介して受信され、第1の転送ボード11によって処理された第1の下りデータパケットフロー221と、第2のI/Oバス22を介して受信され、第2の転送ボード12によって処理された第2の下りデータパケットフロー222とのうちのいずれか一方をネットワークインタフェースバス23を介してネットワークインタフェースチップ132と導通させることにより、ネットワークインタフェースチップ132にネットワーク機器10のエッグレス(egress)方向へデータパケット200bを送り出させるネットワーク機器10である。
【0005】
ただし、データパケットフローの方向を定義する前記「上り」は、ネットワーク機器10の外部からネットワーク機器10の内部に入る方向(すなわち、イングレス方向)として理解することができるし、インターフェースボード13から第1の転送ボード11および第2の転送ボード12へ送信する方向としても理解することができる。相応的に、データパケットフローの方向を定義する前記「下り」は、ネットワーク機器10の内部からネットワーク機器10の外部に出る方向(すなわち、エッグレス方向)として理解することができるし、第1の転送ボード11および第2の転送ボード12からインターフェースボード13へ送信する方向としても理解することができる。また、「上り」と「下り」は、絶対的方向を表現するためのものではなく、反対する2つの相対的方向を限定するために使用されるものである。
【0006】
一例として、制御デバイス131は、データパケット200aのコピーを第1の上りデータパケットフロー211として利用し、データパケット200aの別のコピーを第2の上りデータパケットフロー212として利用することができる。すなわち、制御デバイス131は、一つのデータパケットを受信すると、該データパケットを第1の上りデータパケットフロー211と第2の上りデータパケットフロー212にそれぞれ追加することができる。
【0007】
一例として、制御デバイス131又はそのモジュールは、専用のハードウエアによって実現でき、例えば、特定の動作を実行するように、特別に設計された永久的な回路又は論理デバイス(例えば、FPGA又はASICのような専用プロセッサ)を用いることが可能である。他の例として、制御デバイス131又はそのモジュールは、機械可読命令を実行するハードウェアによって実現でき、例えば、特定の操作を実行するように、ソフトウェアによって一時的に設定されるプログラマブル論理デバイス又は回路(例えば、汎用プロセッサ又は他のプログラムブルプロセッサなどのデバイス)を使用してもよい。
【0008】
上記の実施例で説明した原理では、図2aおよび図2bに示す2つの状態を含めることができる。
【0009】
図2aに示すように、第1の転送ボード11がアクティブ状態にあり、第2の転送ボード12がスタンバイ状態にある場合に、制御デバイス131は、ネットワークインターフェースチップ132を介してネットワーク機器10の外部からデータパケット200aを受信し、第1のI/Oバス21を介して第1の転送ボード11へ送信される第1の上りデータパケットフロー211と、第2のI/Oバス22を介して第2の転送ボード12へ送信される第2の上りデータパケットフロー212とを形成する。制御デバイス131が第1の転送ボード11から受信した第1の下りデータパケットフロー221は、ネットワークインターフェースチップ132と導通されており、制御デバイス131が第2の転送ボード12から受信した第2の下りデータパケットフロー222は、ネットワークインターフェースチップ132と切断されている。そのため、ネットワークインタフェースチップ132によってネットワーク機器10の外部に送信されるデータパケット200bは、第1の下りデータパケットフロー221からのものである。
【0010】
図2bに示すように、第1の転送ボード11がスタンバイ状態にあり、第2の転送ボード12がアクティブ状態にある場合に、制御デバイス131は、ネットワークインターフェースチップ132を介してネットワーク機器10の外部からデータパケット200aを受信し、第1のI/Oバス21を介して第1の転送ボード11へ送信される第1の上りデータパケットフロー211と、第2のI/Oバス22を介して第2の転送ボード12へ送信される第2の上りデータパケットフロー212とを形成する。そして、制御デバイス131が第1の転送ボード11から受信した第1の下りデータパケットフロー221は、ネットワークインターフェースチップ132と切断されており、制御デバイス131が第2の転送ボード12から受信した第2の下りデータパケットフロー222は、ネットワークインターフェースチップ132と導通されている。そのため、ネットワークインタフェースチップ132によってネットワーク機器10の外部に送信されるデータパケット200bは、第2の下りデータパケットフロー222からのものである。
【0011】
上記図2aおよび図2bにおいて、それぞれスタンバイ状態にある第2の転送ボード12とスタンバイ状態にある第1の転送ボード11が正常に転送機能を果たすことができる場合を例として示されている。従って、図2aにおいて第2の下りデータパケットフロー222が存在しており、図2bにおいて第1の下りデータパケットフロー221が存在している。図2aにおける第2の転送ボード12又は図2bにおける第1の転送ボード11が自分の故障によりスタンバイ状態に切り替えられた場合に、図2aにおける第2の転送ボード12又は図2bにおける第1の転送ボード11は、ネットワーク機器10のエッグレス方向へ転送する機能を有しない可能性があり、相応的に、図2aにおける第2の下りデータパケットフロー222又は図2bにおける第1の下りデータパケットフロー221は、存在しない可能性がある。
【0012】
上記の実施例では、インターフェースボード13は、相互に独立している第1のI/Oバス21及び第2のI/Oバス22を介して、第1の転送ボード11及び第2の転送ボード12にそれぞれ接続されている。そして、インターフェースボード13のネットワークインターフェースチップ132がイングレス方向で受信したデータパケット200aは、第1のI/Oバス21を介して第1の転送ボード11へ送信される第1の上りデータパケットフロー211及び第2のI/Oバス22を介して第2の転送ボード12へ送信される第2の上りデータパケットフロー212を形成することができる。
【0013】
これにより、アクティブ状態にある第1の転送ボード11はスタンバイ状態にある第2の転送ボード12とともに正常に転送できる場合に、第1のI/Oバス21によって独立して伝送される第1の下りデータパケットフロー221と、第2のI/Oバス22によって独立して伝送される第2の下りデータパケットフロー222とは、同時に存在することができる。従って、第1の下りデータパケットフロー221と第2の下りデータパケットフロー222とのうちのいずれか一方をネットワークインターフェイスチップ132と導通させることにより、下りデータパケットフローの転送を行うことができる。
【0014】
上記の実施例によれば、転送ボードに対するアクティブ・スタンバイの切り替えが必要な場合に、第1のI/Oバス21および第2のI/Oバス22のいずれに対しても物理的な切り替え操作をする必要がないので、I/Oバスに対する物理的な切り替え動作及び物理的な切り替えの完了後の初期化を避けることができ、アクティブ・スタンバイ切り替えによるトラフィックの中断時間を短縮することができる。
【0015】
また、上記の実施例における第1の転送ボード11と第2の転送ボード12は、少なくとも転送機能を有するボードであればよい。そして、第1の転送ボード11および/又は第2の転送ボード12は、制御、計算および記憶などの機能をさらに集積化することもできる。すなわち、上記の実施例では、転送機能を有するボードを転送ボードと称したが、転送ボードの機能が転送機能に限ることはない。
【0016】
第1のI/Oバス21及び第2のI/Oバス22はともにPCI−E(Peripheral Component Interconnect Express)バスである場合は、PCI−Eバスの一端が転送ボードにPCI−E RC(Root Complex)を形成し、PCI−Eバスの他端がインターフェースボードにPCI−Eエンドポイント(Endpoint)を形成するので、PCI−Eバスに対する物理的な切り替え操作を実施すると、インタフェースボードのPCI−Eエンドポイントが、それぞれの転送ボードのPCI−E RCにおいてホットアンプラグとホットプラグを引き起こしてしまう。そして、アクティブ状態に昇格された転送ボードに対するホットプラグによって、トラフィックの中断時間は10秒程度続くことになるが、本発明の上記の例示を採用することにより、PCI−Eバスに対する物理的な切り替え操作を避けることができ、少なくともトラフィックの中断時間をナノ秒の程度に低下させることができ、トラフィックの中断時間の短縮効果は明らかである。
【0017】
次に、第1のI/Oバスは第2のI/OバスとともにPCI−Eバスを使用した場合を例として説明する。
【0018】
図3に示したように、一つの実施例では、ネットワーク機器30は、
第1のPCI−Eバス41に接続される第1のPCI−E RC 411と、第1のPCI−E RC 411を駆動する第1のCPU 310とを有する第1の転送ボード31と、
第2のPCI−Eバス42に接続される第2のPCI−E RC 421と、第2のPCI−E RC 421を駆動する第2のCPU 320とを有する第2の転送ボード32と、
制御デバイス331とネットワークインターフェースチップ332とを有し、第1のPCI−Eバス41を介して第1の転送ボード31に接続され、第2のPCI−Eバス42を介して第2の転送ボード32に接続されるインターフェースボード33と
を有している。
図3に示したように、第1のPCI−E RC411は、第1の転送ボード31の第1のCPU310に集積されているが、第1のCPU310と独立してもよく、そして第1のCPU310と独立している第1のPCI−E RC411も同様に第1のCPU310によって駆動することができる。
図3に示したように、第2のPCI−E RC421は、第2の転送ボード32の第2のCPU320に集積されているが、第2のCPU320と独立してもよく、そして第2のCPU320と独立している第2のPCI−E RC421も同様に第2のCPU320によって駆動することができる。
制御デバイス331は、
第1のPCI−Eバス41に接続される第1のPCI−Eエンドポイント412と、
第2のPCI−Eバス42に接続される第2のPCI−Eエンドポイント422と、
第1のPCI−Eエンドポイント412に接続される第1の受信キャッシュキュー413および第1の送信キャッシュキュー414と、
第2のPCI−Eエンドポイント422に接続される第2の受信キャッシュキュー423および第2の送信キャッシュキュー424と、
ネットワークインタフェースバス43を介してネットワークインタフェースチップ332に接続されるネットワークインタフェースバスコントローラ430と、
ネットワークインタフェースバスコントローラ430をそれぞれ第1の受信キャッシュキュー413および第2の受信キャッシュキュー423に接続するコピードライバ440と、
第1送信キャッシュキュー414と第2送信キャッシュキュー424とのうちのいずれか一方をネットワークインタフェースバスコントローラ430と接続する選択切替部450と、を有するインターフェースボード33と、を有する。
【0019】
図3および図4aを参照すると、第1の転送ボード31がアクティブ状態にあり、第2の転送ボード32がスタンバイ状態にある場合に、
制御デバイス331におけるコピードライバ440は、ネットワークインタフェースチップ332によってネットワーク機器30の外部から受信されたデータパケット400aをコピーして、第1の受信キャッシュキュー413及び第2の受信キャッシュキュー423に格納することと、
第1のPCI−Eエンドポイント412は、第1の受信キャッシュキュー413を読み、第1のPCI−Eバス41を介して第1の転送ボード31に第1の上りデータパケットフロー811を送信し、第1の上りデータパケットフロー811が第1のCPU310によって処理されるようにし、第2のPCI−Eエンドポイント422は、第2の受信キャッシュキュー423を読み、第2のPCI−Eバス42を介して第2の転送ボード32に第2の上りデータパケットフロー812を送信し、第2の上りデータパケットフロー812が第2のCPU320によって処理されるようにすることと、
第1のPCI−Eエンドポイント412は、更に、第1のPCI−Eバス41を介して第1の転送ボード31から第1のCPU310によって処理された第1の下りデータパケットフロー821を受信して、第1の送信キャッシュキュー414に盛り込み、第2のPCI−Eエンドポイント412は、さらに、第2のPCI−Eバス42を介して第2の転送ボード32から第2のCPU320によって処理された第2の下りデータパケットフロー822を受信して、第2の送信キャッシュキュー424に盛り込むことと、
そして、選択切替部450は、第1の送信キャッシュキュー414をネットワークインタフェースバスコントローラ430に接続する一方、第2の送信キャッシュ424をネットワークインタフェースバスコントローラ430から切断することで、第1の送信キャッシュキュー414にキャッシュされている第1の下りデータパケットフロー821をネットワークインタフェースバスコントローラ430によって読み取り、ネットワークインタフェースバス43を介してネットワークインタフェースチップ332に送信することと、を実行することにより、ネットワークインタフェースチップ332がネットワーク機器40のエッグレス方向に送り出すデータパケット400bは、第1の下りデータパケットフロー821からのものになる。
【0020】
図3および図4bを参照すると、第1の転送ボード31がスタンバイ状態にあり、第2の転送ボード32がアクティブ状態にある場合に、
制御デバイス331におけるコピードライバ440は、ネットワークインタフェースチップ332によってネットワーク機器30の外部から受信されたデータパケット400aをコピーして、第1の受信キャッシュキュー413及び第2の受信キャッシュキュー423に格納することと、
第1のPCI−Eエンドポイント412は、第1の受信キャッシュキュー413を読み、第1のPCI−Eバス41を介して第1の転送ボード31に第1の上りデータパケットフロー811を送信し、第1の上りデータパケットフロー811が第1のCPU310によって処理されるようにし、第2のPCI−Eエンドポイント422は、第2の受信キャッシュキュー423を読み、第2のPCI−Eバス42を介して第2の転送ボード32に第2の上りデータパケットフロー812を送信し、第2の上りデータパケットフロー812が第2のCPU320によって処理されるようにすることと、
第1のPCI−Eエンドポイント412は、更に、第1のPCI−Eバス41を介して第1の転送ボード31から第1のCPU310によって処理された第1の下りデータパケットフロー821を受信して、第1の送信キャッシュキュー414に盛り込み、第2のPCI−Eエンドポイント412は、さらに、第2のPCI−Eバス42を介して第2の転送ボード32から第2のCPU320によって処理された第2の下りデータパケットフロー822を受信して、第2の送信キャッシュキュー424に盛り込むことと、
そして、選択切替部450は、第1の送信キャッシュキュー414をネットワークインタフェースバスコントローラ430から切断する一方、第2の送信キャッシュ424をネットワークインタフェースバスコントローラ430に接続することで、第2の送信キャッシュキュー424にキャッシュされている第2の下りデータパケットフロー822をネットワークインタフェースバスコントローラ430によって読み取り、ネットワークインタフェースバス43を介してネットワークインタフェースチップ332に送信することと、を実行することにより、ネットワークインタフェースチップ332がネットワーク機器40のエッグレス方向に送り出すデータパケット400bは、第2の下りデータパケットフロー420からのものになる。
【0021】
ネットワーク機器30は電源投入されて起動されると、アクティブ状態にある転送ボードは、インターフェースボード13に対してボードの初期化よって、ボードの電源投入、リセット解除、ボードの識別などのボードの初期化の設定を実施する。
【0022】
ボードの初期化後、第1のPCI−Eエンドポイント412と、第2のPCI−Eエンドポイント422と、第1の受信キャッシュキュー413と、第1の送信キャッシュキュー414と、第2の受信キャッシュキュー423と、第2の送信キャッシュキュー424とに対してPCI−Eの設定を行い、この設定は、PCI−Eプロトコルによるエンドポイント機能(Function)の設定でよく、エンドポイント機能の設定は、ボードの初期化後のPCI−E初期化によって実施することができる。
【0023】
第1のPCI−Eバス41に独占される第1のPCI−Eエンドポイント412と、第1の受信キャッシュキュー413と、第1の送信キャッシュキュー414は、第1のCPUによって第1のPCI−Eバス41のリモートエンドである第1のPCI−E RC 411を駆動することで設定される。例えば、第1の受信キャッシュ413と第1送信キャッシュ414は、第1のPCI−Eエンドポイント412の所定の空間内にマッピングされ、第1CPU310に駆動される第1のPCI−E RC411は第1PCI−Eエンドポイント412を設定することにより、第1のPCI−Eエンドポイント412、第1の受信キャッシュキュー413、および第1の送信キャッシュキュー414への設定を果たすことができる。
【0024】
第2のPCI−Eバス42に独占される第2のPCI−Eエンドポイント422と、第2の受信キャッシュキュー423と、第2の送信キャッシュキュー424は、第2のCPU320によって第2のPCI−Eバス42のリモートエンドである第2のPCI−E RC 421を駆動することで設定される。例えば、第2の受信キャッシュ423と第2送信キャッシュ424は、第2のPCI−Eエンドポイント422の所定の空間内にマッピングされ、第2のCPU320に駆動される第2のPCI−E RC421は第2PCI−Eエンドポイント422を設定することにより、第2のPCI−Eエンドポイント422、第2の受信キャッシュキュー423、および第2の送信キャッシュキュー424への設定を果たすことができる。
【0025】
PCI−E初期化設定処理の後、ネットワークインターフェースバスコントローラ430およびネットワークインターフェースチップ332に対して、例えば、オートネゴシエーション設定、二重又は半二重設定、メガビットまたはギガビット等のリンクレイヤの設定を含むネットワークインターフェース設定を行う。
【0026】
第1のPCI−Eバス41および第2のPCI−Eバス42に共有されるネットワークインタフェースバスコントローラ430とネットワークインタフェースチップ332は、アクティブ状態にある転送ボードのPCI−E RCによって設定されてよい。すなわち、第1の転送ボード31がアクティブ状態であれば、ネットワークインターフェースバスコントローラ430とネットワークインターフェースチップ332は、第1CPU310により第1PCI−E RC411を駆動することで設定され、第2の転送ボード32がアクティブ状態であれば、ネットワークインターフェースバスコントローラ430とネットワークインターフェースチップ332は、第2のCPU320により第2のPCI−E RC421を駆動することで設定される。
【0027】
また、制御デバイス331は、
第1の転送ボード31における第1のCPU310の制御ピン511と第2の転送ボード32における第2のCPU320の制御ピン512に接続される状態識別モジュール510であって、制御ピン511と制御ピン512を測定することで第1の転送ボード31と第2の転送ボード32のアクティブ・スタンバイ状態を識別して記録し、選択切替部450に第1の転送ボード31と第2の転送ボード32のアクティブ・スタンバイ状態を識別させる状態識別モジュール510と、
第1の管理バス521を介して第1の転送ボード31の第1のCPU310に接続され、第2の管理バス522を介して第2の転送ボード32の第2のCPU320に接続され、状態識別モジュール510によって第1の転送ボード31および第2の転送ボード32のアクティブ・スタンバイ状態を識別することができるボード設定モジュール520であって、ネットワーク機器の電源が投入されて起動されると、第1の転送ボード31がアクティブ状態であると識別すれば、第1の管理バス521を介して第1の転送ボード31の第1のCPU310によるインターフェースボード33への初期化設定を受信し、一方、第2の転送ボード32がアクティブ状態であると識別すれば、第2の管理バス522を介して第2の転送ボード32の第2のCPU32によるインターフェースボード33への初期化設定を受信するボード設定モジュール520と、
状態識別モジュール510によって第1の転送ボード31と第2の転送ボード32のアクティブ・スタンバイ状態を識別するネットワークインターフェース設定モジュール530であって、第1の転送ボード31がアクティブ状態であると識別すれば、PCI−Eエンドポイント412を介して第1のPCI−E RC411から第1のCPU310によるネットワークインタフェースバスコントローラ430およびネットワークインタフェースチップ332への初期化設定を受信し、一方、第2の転送ボード32がアクティブ状態であると識別すれば、第2のPCI−Eエンドポイント422を介して第2のPCI−E RC421から第2のCPU320によるネットワークインターフェースバスコントローラ430及びネットワークインターフェースチップ332への初期化設定を受信し、そして、ネットワークインタフェースバスコントローラ430への初期化設定を完成した後、ネットワークインタフェースバスコントローラ430を駆動して、ネットワークインタフェースバス43を介してネットワークインタフェースチップ332を設定するネットワークインターフェース設定モジュール530と、をさらに有することができる。
【0028】
前述の実施例で説明されたネットワーク機器の他に、次の実施例は、ネットワーク機器に使用されるパケット転送方法をさらに提供する。パケット転送方法が適用されるネットワーク機器は、ネットワークインタフェースチップを有するインタフェースボードと、第1のI/Oバスを介してインターフェースボードに接続される第1の転送ボードと、第2のI/Oバスを介してインターフェースボードに接続される第2の転送ボードを含むことかできる。
【0029】
そして、図6に示したように、該パケット転送方法は、インタフェースボードに適用される以下のステップを含む。
【0030】
ステップS61では、ネットワークインタフェースチップによってネットワーク機器の外部から受信されたデータパケットを、第1のI/Oバスを介して第1の転送ボードに送信される第1の上りデータパケットフローと、第2のI/Oバスを介して第2の転送ボードに送信される第2の上りデータパケットフローとに形成する。
ステップS62では、第1の転送ボードと第2の転送ボードのアクティブ・スタンバイ状態に基づいて、第1のI/Oバスを介して受信され、第1の転送ボードによって処理された第1の下りデータパケットフローと、第2のI/Oバスを介して受信され、第2の転送ボードによって処理された第2の下りデータパケットフローとのうちのいずれか一方をネットワークインタフェースバスを介してネットワークインタフェースチップと導通させる。
【0031】
該パケット転送方法が適用されるネットワーク機器において、第1のI/Oバスが第1のPCI−Eバスであり、第2のI/Oバスが第2のPCI−Eバスである場合に、
第1の転送ボードは、第1のPCI−Eバスに接続される第1のPCI−E RCと、第1のPCI−E RCを駆動する第1のCPUとを有し、
第2の転送ボードは、第2のPCI−Eバスに接続される第2のPCI−E RCと、第2のPCI−E RCを駆動する第2のCPUとを有し、
インターフェースボードは、第1のPCI−Eバスに接続される第1のPCI−Eエンドポイントと、第2のPCI−Eバスに接続される第2のPCI−Eエンドポイントと、第1のPCI−Eエンドポイントに接続される第1の受信キャッシュキュー及び第1の送信キャッシュキューと、第2のPCI−Eエンドポイントに接続された第2の受信キャッシュキュー及び第2の送信キャッシュキューと、ネットワークインタフェースバスを介してネットワークインタフェースチップに接続されるネットワークインタフェースバスコントローラとを有する。
【0032】
相応的に、該パケット転送方法では、ネットワークインタフェースバスコントローラによってネットワークインタフェースバスチップから受信されたデータパケットをコピーして、第1の受信キャッシュキューと第2の受信キャッシュキューにそれぞれ盛り込むことで、第1の受信キャッシュキューを使用して第1の上りデータパケットフローを形成し、第2の受信キャッシュキューを使用して第2の上りデータパケットフローを形成する。
【0033】
そして、該パケット転送方法では、第1の送信キャッシュキューと第2の送信キャッシュキューとのうちのいずれか一方をネットワークインタフェースバスコントローラと導通させることで、第1の下りデータパケットフローと第2の下りデータパケットフローとのうちのいずれか一方をネットワークインターフェイスバスを介してネットワークインターフェイスチップと導通させる。
【0034】
また、上記の実施例に係るパケット転送方法は、ボードの初期化設定、PCI−Eの初期化設定、およびネットワークインタフェース設定を含むネットワーク機器のインタフェースボードの初期化を実現可能である。
【0035】
図7に示したように、ネットワーク機器が電源投入されて起動された後の初期化中で第1の転送ボードがアクティブ状態にあり、第2の転送ボードがスタンバイ状態にある状況を例とすると、初期化は、第1の転送ボードによって開始され、以下のステップを含む。
ステップS711では、第1の転送ボードは、インターフェースボードに対してボードの初期化設定を行い、ボードの初期化設定が完了した後、PCI−Eの初期化を開始することを第2の転送ボードへ通知する。
【0036】
ステップS712では、第1の転送ボードは、インタフェースボードにおける第1のPCI−Eエンドポイントと、第1の受信キャッシュキューと、第1の送信キャッシュキューとに対してPCI−E初期化設定を行い、第2の転送ボードは、インタフェースボードにおける第2のPCI−Eエンドポイントと、第2の受信キャッシュキューと、第2の送信キャッシュキューとに対してPCI−E初期化設定を行う。
【0037】
ステップS713では、第1の転送ボードは、インタフェースボードにおけるネットワークインタフェースバスコントローラおよびネットワークインタフェースチップに対してネットワークインタフェース設定を行う。
【0038】
前記過程において、第1の転送ボードおよび第2の転送ボードによって実行される動作は、それぞれ第1のCPUおよび第2のCPUによって実現されると理解できる。インターフェースボードは、第1の転送ボードの第1のCPUの制御ピン及び第2の転送ボードの第2のCPUの制御ピンによって、第1の転送ボード及び第2の転送ボードのアクティブ・スタンバイ状態を識別することができる。
【0039】
図7に示す初期化におけるボードの初期化設定を実現するために、該パケット転送方法は、アクティブ状態の第1の転送ボードの第1PCI−E RC又は第2の転送ボードの第2のPCI−E RCから第1のCPU又は第2のCPUによるインタフェースボードへのボードの初期化設定を受信することをさらに含んでもよい。
【0040】
ただし、インタフェースボードは、さらに、第1の管理バスを介して第1の転送ボードの第1のCPUに接続され、第2の管理バスを介して第2の転送ボードの第2のCPUに接続されてもよい。該パケット転送方法は、
第1の転送ボードがアクティブ状態であれば、第1の管理バスを介して、第1の転送ボードの第1のCPUによる転送ボードへのボードの初期化設定を受信することと、
第2の転送ボードがアクティブ状態であれば、第2の管理バスを介して、第2の転送ボードの第2のCPUによるインターフェースボードへのボードの初期化設定を受信することと、を更に含む。
【0041】
図7に示したPCI−E初期化設定は、
第1のPCI−Eエンドポイントと、第1の受信キャッシュキューと、第1の送信キャッシュキューが、第1のCPUによって第1のPCI−E RCを駆動することで設定されること;
第2のPCI−Eエンドポイントと、第2の受信キャッシュキューと、第2の送信キャッシュキューが、第2のCPUによって第2のPCI−E RCを駆動することで設定されること、を含んでもよい。
【0042】
ネットワークインターフェースに対するインターフェース設定は、
第1の転送ボードがアクティブ状態の転送ボードである場合に、第1のPCI−E RCから、第1のCPUによるネットワークインターフェースバスコントローラーおよびネットワークインターフェースチップへの初期化設定を受信すること;
第2の転送ボードがアクティブ状態の転送ボードである場合に、第2のPCI−E RCから、第2のCPUによるネットワークインターフェースバスコントローラーおよびネットワークインターフェースチップへの初期化設定を受信すること、を含んでもよい。
【0043】
なお、上述の各フローチャートおよび構成図における全てのステップおよびモジュールが必ずしも必要なわけではなく、実際の必要に応じて一部のステップ又はモジュールが省略されてもよい。各ステップの手順は固定したのではなく、必要に応じて適宜に調整できる。各々のモジュールは、単に説明を容易にするために機能に応じて定義されており、実際は、1つのモジュールが複数のモジュールによって実現されてもよく、また複数のモジュールの機能も1つの同一のモジュールによって実現されてもよい。これらのモジュールは同じ機器に設置されてもよく、異なる機器に設置されることもできる。また、上記の説明において、「第1」、「第2」という用語は、同じ定義を有する2つの対象を容易に区別するために使用されるものであり、それらの間に実質的な相違があることを意味するものではない。
【0044】
以上のように、特許請求の範囲に限定されている範囲は、上記の実施例に記載されたものに限定されるべきではなく、明細書の記載を1つの全体として、最も広く解釈されるべきである。
図1
図2a
図2b
図3
図4a
図4b
図5
図6
図7