IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ 日本電信電話株式会社の特許一覧

特許7405257通信装置、通信装置制御システム、通信装置の制御方法およびプログラム
<>
  • 特許-通信装置、通信装置制御システム、通信装置の制御方法およびプログラム 図1
  • 特許-通信装置、通信装置制御システム、通信装置の制御方法およびプログラム 図2
  • 特許-通信装置、通信装置制御システム、通信装置の制御方法およびプログラム 図3
  • 特許-通信装置、通信装置制御システム、通信装置の制御方法およびプログラム 図4
  • 特許-通信装置、通信装置制御システム、通信装置の制御方法およびプログラム 図5
  • 特許-通信装置、通信装置制御システム、通信装置の制御方法およびプログラム 図6
  • 特許-通信装置、通信装置制御システム、通信装置の制御方法およびプログラム 図7
  • 特許-通信装置、通信装置制御システム、通信装置の制御方法およびプログラム 図8
  • 特許-通信装置、通信装置制御システム、通信装置の制御方法およびプログラム 図9
  • 特許-通信装置、通信装置制御システム、通信装置の制御方法およびプログラム 図10
  • 特許-通信装置、通信装置制御システム、通信装置の制御方法およびプログラム 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-18
(45)【発行日】2023-12-26
(54)【発明の名称】通信装置、通信装置制御システム、通信装置の制御方法およびプログラム
(51)【国際特許分類】
   H04L 41/0654 20220101AFI20231219BHJP
【FI】
H04L41/0654
【請求項の数】 6
(21)【出願番号】P 2022532959
(86)(22)【出願日】2020-07-02
(86)【国際出願番号】 JP2020026036
(87)【国際公開番号】W WO2022003909
(87)【国際公開日】2022-01-06
【審査請求日】2022-12-05
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(74)【代理人】
【識別番号】110001807
【氏名又は名称】弁理士法人磯野国際特許商標事務所
(72)【発明者】
【氏名】松田 暁
(72)【発明者】
【氏名】横井 俊宏
(72)【発明者】
【氏名】平澤 崇佳
【審査官】安藤 一道
(56)【参考文献】
【文献】特開2019-041368(JP,A)
【文献】特表2008-535342(JP,A)
【文献】熊川 成正、他4名,仮想化ネットワーク適用に向けたホワイトボックススイッチ制御用ソフトウェアの実装,電子情報通信学会技術研究報告 Vol.116 No.484,日本,一般社団法人電子情報通信学会,2017年02月23日,第116巻 第484号,pp.217-222
(58)【調査した分野】(Int.Cl.,DB名)
H04L 41/0654
(57)【特許請求の範囲】
【請求項1】
コンフィグとRIB(Routing Information Base)を有するNOS(Network Operating System)をインストールして利用する通信装置であって、
パケット転送を行う機能を実現するASIC(Application Specific Integrated Circuit)と、前記ASIC上に備えられパケット転送時に参照されるFIB(Forwarding Information Base)と、を備えており、
さらに、前記NOSがFIB書き込み指示したFIBエントリを、前記ASIC上の前記FIBとは別に書き込み保持する疑似FIBと、
通常時の経路更新は前記ASIC上の前記FIBと前記疑似FIBへ書き込み、NOS入れ替えの際には、前記疑似FIBのFIBエントリのみを削除して更新し、前記ASIC上の前記FIBのFIBエントリは削除せず保持して、前記疑似FIBの更新完了後に前記ASIC上の前記FIBへ差分のFIBエントリの書き込みを行うFIB制御部と、を備える
ことを特徴とする通信装置。
【請求項2】
前記FIB制御部は、前記ASIC上の前記FIBにFIBエントリを書き込むと同時に、前記疑似FIBにも同じFIBエントリを書き込む
ことを特徴とする請求項1に記載の通信装置。
【請求項3】
前記NOSのRIBの更新を契機に、前記NOSが、FIB書き込み指示を前記ASICに送る際、前記FIB制御部は、前記ASIC上の前記FIBに代わって書き込み指示を受ける
ことを特徴とする請求項1に記載の通信装置。
【請求項4】
請求項1乃至3のいずれか一項に記載の通信装置と、
前記通信装置のNOS入れ替えを制御するNOS入替制御部を有する外部コントローラと、備える
ことを特徴とする通信装置制御システム。
【請求項5】
コンフィグとRIB(Routing Information Base)を有するNOS(Network Operating System)をインストールして利用する通信装置の制御方法であって、
前記通信装置は、
パケット転送を行う機能を実現するASIC(Application Specific Integrated Circuit)と、前記ASIC上に備えられパケット転送時に参照されるFIB(Forwarding Information Base)と、を備えており、
前記NOSがFIB書き込み指示したFIBエントリを、前記ASIC上の前記FIBとは別に設けられた疑似FIBに書き込み保持する工程と、
通常時の経路更新は前記ASIC上の前記FIBと前記疑似FIBへ書き込み、前記NOS入れ替えの際には、前記疑似FIBのFIBエントリのみを削除して更新し、前記ASIC上の前記FIBのFIBエントリは削除せず保持して、前記疑似FIBの更新完了後に前記ASIC上の前記FIBへ差分のFIBエントリの書き込みを行う工程と、を有する
ことを特徴とする通信装置の制御方法。
【請求項6】
コンピュータを、請求項1乃至請求項3のいずれか一項に記載の通信装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、通信装置、通信装置制御システム、通信装置の制御方法およびプログラムに関する。
【背景技術】
【0002】
近年、H/W(ハードウェア)とS/W(ソフトウェア)を分離した転送装置として、ホワイトボックススイッチ(以下、WBSW:White Box Switch)が普及し始めている。WBSWは、OSなどのソフトウェアを含まず、H/Wだけで提供されるネットワークスイッチであり、ハードウェア化は一般にASIC(Application Specific Integrated Circuit)を利用して実現される。WBSWは、利用側が目的に合ったネットワークOS(以下、NOS:Network Operating System)をインストールして利用する。
【0003】
WBSWのOS実装形態の一つとして、パケット転送を行うASIC以外の機能(例えば、ファン(FAN)やランプ(LAMP)など)のドライバを含みこれらを制御する基盤ソフトウェアを動かし、更にその上でネットワーク制御をするアプリケーション(NOS)を動作させる形態が検討されている。
【0004】
こういった形態においては、機能を追加するためにNOSを新しいバージョンのNOSに入れ替えたり、NOSに問題が発覚した際に同等動作が可能な別のNOSに入れ替えるという運用が考えられる。
【0005】
しかし、このようなNOSの入れ替えを行うと、通常は設定の入れ直しおよびパケット転送を司るRIB(Routing Information Base)/(以下「/」は、および/または、をいう)FIB(Forwarding Information Base)テーブルの再構築が必要となる。ここで、RIB/FIBテーブルの再構築は、既存のNOSの停止~アンインストール→新規NOSのOSイメージ転送→インストール→コンフィグ投入→新規NOSの周辺ルータとのネイバー確立までをいう。RIB/FIBテーブルの再構築を実行すると、パケットロスが長時間にわたって発生する。
【0006】
冗長構成(例えば、closトポロジのSpine)においては、ルーティングコストを事前に設定しNOS入れ替えを行う装置へのトラフィックをなくすことで、パケットロスを抑える方式は確立している(非特許文献1参照)。
【0007】
同一NOSのバージョンアップについては、Gracefurl Restart等の既存の技術によりサービス中断のないバージョンアップが可能となっている(非特許文献2参照)。
【先行技術文献】
【非特許文献】
【0008】
【文献】TELECOM INFRA POJECT, “CANDI First Experimental Demonstration”[令和2年6月24日検索] ,インターネット〈https://telecominfraproject.com/wp-content/uploads/CANDI_1st_experimental_demonstration_r_UPDATED-LICENSE.pdf〉
【文献】CISCO, “SSO/NSF with GR and/or NSR.” [令和2年6月24日検索] ,インターネット〈https://archive.nanog.org/meetings/nanog42/presentations/Weissner_SSO.pdf〉
【発明の概要】
【発明が解決しようとする課題】
【0009】
WBSWにおいて、安定した通信のためには、NOSの入れ替え前後でコンフィグ(Config)、RIB、およびFIBの一貫性を保持する機構が必要である。以下、Config、RIB、およびFIBの一貫性について説明する。
(1)Configは、外部のコントローラにて設定済みのパラメータからConfigを復元・設定することで対応する方法がある。
(2)RIBは、一度削除されるものの、上記(1)のConfig保持機構により、NOS入れ替え後も、Neighbor関係を隣接ルータと修復可能である。例えば、Config保持機構のGraceful Restaルータ等の既存機能を活用する。
【0010】
(3)しかしながら、FIBの一貫性については、以下の課題がある。
すなわち、NOSのインストール/アンインストールに伴い、RIBがリセットされるので、RIB/FIBのアンマッチが発生する。入れ替え後のRIBができるまで、FIBが削除されてしまい、サービス復旧までには、入れ替え後のFIBの再構築を待つ必要がある。
【0011】
図11は、NOSの入れ替え時によるFIBの一貫性についての課題を説明する図である。
図11に示すように、WBSW1000は、ASIC31と、ASIC31上にFIB32を有する。また、図11左に示すWBSW1000には、NOS-A10aがインストールされ、NOS-A10aは、Config-A11a、RIB-A12aを有する。
【0012】
図11左に示すWBSW1000のNOSを入れ替え、図11右に示すWBSW1000とする場合を想定する。NOSを入れ替えた場合、図11右に示すWBSW1000は、NOS-B10bのConfig-B11b、RIB-B12bを有する。
図11に示すように、WBSW1000のNOSを入れ替えた場合であっても、Configは、外部のコントローラにて設定済みのパラメータからConfigを修復可能である。また、RIBも、Config保持機構のGraceful Restaルータ等の既存機能を活用することで復元可能である。
【0013】
これに対し、WBSW1000が備えるASIC31上のFIB32は、NOSのインストール/アンインストールに伴い、RIBがリセットされるので、RIB/FIBのアンマッチが発生する。図11の例では、入れ替え後のRIB-B12bができるまでに、FIB32が削除されてしまい、サービス復旧には、入れ替え後のFIB32の再構築を待つ必要がある。
【0014】
このように、通信装置のNOSの入れ替えを行うと、パケット転送を司るFIBテーブルの再構築が必要となるため、パケットロスが長時間にわたって発生するといった課題がある。
【0015】
このような背景に鑑みて本発明がなされたのであり、本発明は、通信装置のNOS入れ替えを、サービス断を最小限に抑えて実現することを課題とする。
【課題を解決するための手段】
【0016】
前記した課題を解決するため、本発明は、コンフィグとRIBを有するNOSをインストールして利用する通信装置であって、パケット転送を行う機能を実現するASICと、前記ASIC上に備えられパケット転送時に参照されるFIBと、を備えており、さらに、前記NOSがFIB書き込み指示したFIBエントリを、前記ASIC上の前記FIBとは別に書き込み保持する疑似FIBと、通常時の経路更新は前記ASIC上の前記FIBと前記疑似FIBへ書き込み、NOS入れ替えの際には、前記疑似FIBのFIBエントリのみを削除して更新し、前記ASIC上の前記FIBのFIBエントリは削除せず保持して、前記疑似FIBの更新完了後に前記ASIC上の前記FIBへ差分のFIBエントリの書き込みを行うFIB制御部と、を備えることを特徴とする通信装置とした。
【発明の効果】
【0017】
本発明によれば、通信装置のNOS入れ替えを、サービス断を最小限に抑えて実現することができる。
【図面の簡単な説明】
【0018】
図1】本発明の実施形態に係る通信装置を備える通信装置制御システムの構成例を示す図である。
図2】本発明の実施形態に係る通信装置のFIB制御部の詳細構成を示すブロック図である。
図3】本発明の実施形態に係る通信装置を備える通信装置制御システムの通常時の設定・転送の動作を説明する図である。
図4】本発明の実施形態に係る通信装置を備える通信装置制御システムの通常時の設定・転送の動作を示す制御シーケンス図である。
図5】本発明の実施形態に係る通信装置を備える通信装置制御システムのNOS入れ替え開始から、NOSイメージダウンロードまでの<NOS入れ替え時-1>の動作を説明する図である。
図6】本発明の実施形態に係る通信装置を備える通信装置制御システムのNOSの入れ替えから疑似FIBリセットまでの<NOS入れ替え時-2>の動作を説明する図である。
図7】本発明の実施形態に係る通信装置を備える通信装置制御システムの入れ替え後のNOSへのコンフィグ投入の<NOS入れ替え時-3>の動作を説明する図である。
図8】本発明の実施形態に係る通信装置を備える通信装置制御システムの入れ替え後のNOSによるRIB更新からFIB差分チェックおよびFIB更新の<NOS入れ替え時-4>の動作を説明する図である。
図9】本発明の実施形態に係る通信装置を備える通信装置制御システムのNOS入れ替え時の動作を示す制御シーケンス図である。
図10】本発明の実施形態に係る通信装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。
図11】NOSの入れ替え時によるFIBの一貫性についての課題を説明する図である。
【発明を実施するための形態】
【0019】
以下、図面を参照して本発明を実施するための形態(以下、「本実施形態」という)におけるネットワークシステム等について説明する。
(実施形態)
[通信装置、通信装置制御システムの構成]
図1は、本発明の実施形態に係る通信装置を備える通信装置制御システム1の構成例を示す図である。
図1に示すように、通信装置制御システム1は、外部コントローラ20に接続可能なWBSW100(通信装置)を備える。WBSW100には、周辺ルータ30が接続される。
【0020】
<外部コントローラ20>
外部コントローラ20は、WBSW100のConfigを設定する制御部21と、WBSW100のNOS入れ替えを制御するNOS入替制御部25と、を備える。
制御部21は、コンフィグ変換部(NOS-A)22aと、コンフィグ変換部(NOS-B)22bと、設定済みパラメータDB23と、装置設定部24と、を備える。
装置設定部24は、設定済みパラメータDB23に格納されている設定済みのパラメータから、コンフィグ変換部22a,22bを用いてWBSW100のConfigを復元・設定する。
【0021】
NOS入替制御部25は、例えばネットワーク上にプールされたNOSプール2からNOSを取得し、WBSW100に対してWBSW100上のNOSを入れ替える依頼を発行する。WBSW100が外部コントローラ20からのNOSを入れ替える依頼を許諾する場合、WBSW100においてNOSの入れ替え処理が実行される。
【0022】
図1では、NOSプール2には、NOS-A10a,NOS-B10b,NOS-C10cがプールされている。また、図1に示すWBSW100上のNOSは、NOS-A10aであるとする。図1に示すように、NOS-A10aは、Config-A11a、RIB-A12a、ドライバ13を有する。なお、NOS-B10b,NOS-C10cについてもNOS-A10aと同様の構成である。
【0023】
<周辺ルータ30>
周辺ルータ30は、ASIC31と、ASIC31上のFIB32と、RIB33とを備え、ASIC31は、WBSW100のASIC150のポートに接続される。
【0024】
<WBSW100>
WBSW100は、コンフィグ11aとRIB12aを有するNOS10aをインストールして利用する。
WBSW100は、パケット転送を行う機能を実現するASIC150と、ASIC150上に備えられパケット転送時に参照されるFIB151と、H/W(CPU,Storage,Memory,FAN,LED,,,)160と、H/W160を管理するハードウェア管理部110と、ONIE(Open Network Install Environment)170と、を備える。H/W管理部110は、FIB制御部120と、疑似FIB140と、を備える。
【0025】
H/W管理部110は、例えばONL(Open Network Linux)(Linuxは登録商標)により構築され、H/W160を管理する。H/W管理部110は、VM(Virtual Machine)やContainer等でNOSをインストールできるアーキテクチャが前提である。
ここで、通常のWBSWは、WBSW上のNOSがASICに直接書き込む(例えば、FIBの書き込み)のに対して、本実施形態では、FIBの書き込みに際し、NOS10からFIB151への書き込み情報をH/W管理部110が受けて終端する。そして、H/W管理部110は、通常時の経路更新では、ASIC150上のFIB151と、自身の持つ疑似FIB140へ書き込む(後記)。
【0026】
FIB制御部120は、通常時の経路更新はASIC150上のFIB151と疑似FIB140へ書き込み、NOS入れ替えの際には、疑似FIB140のFIBエントリのみを削除して更新し、ASIC150上のFIB151のFIBエントリは削除せず保持して、疑似FIB140の更新完了後にASIC150上のFIB151へ差分のFIBエントリの書き込みを行う。
【0027】
FIB制御部120は、ASIC150上のFIB151にFIBエントリを書き込むと同時に、疑似FIB140にも同じFIBエントリを書き込む。
【0028】
また、NOSのRIBの更新を契機に、NOS10が、FIB書き込み指示をASIC150に送る際、FIB制御部120は、ASIC150上のFIB151に成りすまして書き込み指示を受ける。
【0029】
疑似FIB140は、NOS10がFIB書き込み指示したFIBエントリを、ASIC150上のFIB151とは別に書き込み保持する。
【0030】
H/W160は、WBSW100のASIC150以外の機能を実現するハードウェアであり、例えばCPU,Storage,Memory,FAN,LEDなどである。
【0031】
ONIE170は、WBSW向けのインストール環境兼ブートローダーであり、WBSWに付属している。すなわち、WBSW100は、NOSはインストールされておらず、ONIE170のみが付属されている。ONIE170は、NOS10のインストールを指示する。
【0032】
<FIB制御部120>
図2は、FIB制御部120の詳細構成を示すブロック図である。
図2に示すように、FIB制御部120は、NOS向け機能部121と、FIB情報処理部123と、疑似FIB向け機能部126と、ASIC上FIB向け機能部129と、を備える。
【0033】
NOS向け機能部121は、FIB書き込み終端部122を備える。
FIB書き込み終端部122は、NOSからのFIB書き込み指示/リセット指示を終端し、NOS側には正常な応答を返す。FIB書き込み終端部122は、FIB書き込み指示を書き込み指示コピー部124へ渡す。
【0034】
FIB情報処理部123は、書き込み指示コピー部124と、FIB差分チェック部125と、を備える。
書き込み指示コピー部124は、FIB書き込み終端部122からのFIB書き込み指示をコピーして、疑似FIB書き込み部127とASIC上FIB書き込み部130に渡す。
FIB差分チェック部125は、疑似FIB読み取り部128と、ASIC上FIB読み取り部131からの情報を差分チェックし、差分情報をASIC上FIB書き込み部130に渡す。
【0035】
疑似FIB向け機能部126は、疑似FIB書き込み部127と、疑似FIB読み取り部128と、を備える。
疑似FIB書き込み部127は、書き込み指示コピー部124からの指示に従い、疑似FIB140へ書き込む。
疑似FIB読み取り部128は、疑似FIBの情報を読み取り、FIB差分チェック部へ渡す。
【0036】
ASIC上FIB向け機能部129は、ASIC上FIB書き込み部130と、ASIC上FIB読み取り部131と、を備える。
ASIC上FIB書き込み部130は、書き込み指示コピー部またはFIB差分チェック部からの指示に従い、ASIC150上のFIB151へFIBエントリを書き込む。
ASIC上FIB読み取り部131は、ASIC151上のFIB151の情報を読み取り、FIB差分チェック部125へ渡す。
【0037】
以下、上述のように構成された通信装置100および通信装置制御システム1の通信装置制御方法について説明する。
[通常時の設定・転送]
まず、通常時の設定・転送について説明する。
<通常時の設定・転送の動作>
図3は、通常時の設定・転送の動作を説明する図である。
1.VPN追加などの設定指示
図3の矢印aに示すように、オペレータからの設定指示を、外部コントローラ20上のコンフィグ変換部22aが受け取る。
【0038】
2.設定パラメータ保存
図3の矢印bに示すように、オペレータからの設定指示を受け取ったコンフィグ変換部22aは、コンフィグに設定すべきパラメータを抽出して設定済みパラメータDB23へ格納する。
【0039】
3.設定指示
図3の矢印cに示すように、コンフィグ変換部22aは、装置設定部24へ設定指示を送る。
【0040】
4.コンフィグ投入
図3の矢印dに示すように、装置設定部24がNOS10上のConfig11(ここでは、NOS10a上のConfig11a)にコンフィグ投入する。
【0041】
5.経路交換
図3の矢印eに示すように、NOS-A10aは、周辺ルータ30と経路交換してRIB-A12aを更新する。
【0042】
6.FIB書き込み指示
図3の矢印fに示すように、RIB-A12aの更新を契機に、NOS-A10aはドライバ13を介してFIB書き込み指示をASIC150に送る。この時、H/W管理部110上のFIB制御部120が、FIB151に代わって(に成りすまして)書き込み指示を受ける。
【0043】
7.FIBエントリコピー
図3の矢印gに示すように、FIB制御部120は、書き込み指示のあったFIBエントリをコピーする。
【0044】
8.FIB書き込み
図3の矢印hに示すように、FIB制御部120は、ASIC150上のFIB151にFIBエントリを書き込むと同時に、図3の矢印iに示すように、H/W管理部110内の疑似FIB140にも同じFIBエントリを書き込む。
【0045】
上記通常時の設定・転送の動作について、補足して説明する。
通常時において、疑似FIB140へFIBエントリを書き込むのは、通常時のFIBのバックアップのためである。
ここで、疑似FIB生成の方法としては、本実施形態のように通常時からRIB更新を契機に逐一疑似FIB140にコピーして書き込み方法以外にも、例えばNOSの入れ替え時にFIBから情報を吸い上げて一括で疑似FIB140に書き込む処理等でもよい。
【0046】
<通常時の設定・転送の制御シーケンス>
図4は、図3の通常時の設定・転送の動作を示す制御シーケンス図である。
外部コントローラ20上のコンフィグ変換部22aは、オペレータからの設定指示を受け取る(ステップS1参照)。
【0047】
コンフィグ変換部22aは、コンフィグに設定すべきパラメータを抽出して設定済みパラメータDB23へ格納する(ステップS2参照)。
【0048】
コンフィグ変換部22aは、WBSW100の装置設定部24(図3参照)へ設定指示を送り(ステップS3参照)、装置設定部24がNOS10a上のConfig11aにコンフィグ投入する(ステップS4参照)。
【0049】
NOS-A10aは、周辺ルータ30と経路交換するとともに(ステップS5参照)、RIB-A12aを更新する(ステップS6参照)。
【0050】
NOS-A10aは、RIB-A12aの更新を契機に、ドライバ13を介してFIB書き込み指示をASIC150に送る。この時、H/W管理部110上のFIB制御部120が、FIB151に代わって書き込み指示を受ける(ステップS7参照)。すなわち、NOS-A10aは、FIB書き込み指示をASIC150に送ると、FIB制御部120が、FIB151に代わって書き込み指示を受けとる。
FIB制御部120は、書き込み指示のあったFIBエントリをコピーする(ステップS8参照)。
【0051】
FIB制御部120は、ASIC150上のFIB151にFIBエントリを書き込む(ステップS9参照)。
FIB制御部120は、H/W管理部110内の疑似FIB140にも同じFIBエントリを書き込む(ステップS10参照)。
【0052】
[NOS入れ替え時の動作]
次に、NOS入れ替え時の動作について説明する。
<NOS入れ替え時-1>
図5は、NOS入れ替え開始から、NOSイメージダウンロードまでの<NOS入れ替え時-1>の動作を説明する図である。
【0053】
0.NOS入替指示
図5の矢印jに示すように、オペレータがNOS入替指示を、外部コントローラ20のNOS入替制御部25に送る。
【0054】
1.Graceful Restart指示
図5の矢印kに示すように、NOS入替制御部25は、WBSW100のNOS-A10aにGraceful Restartを指示する。
【0055】
2.Graceful Restart開始通知
図5の矢印lに示すように、NOS-A10aは、周辺ルータ30にGraceful Restart開始通知を送る。
【0056】
3.OS取得
図5の矢印mに示すように、NOS入替制御部25は、NOSプール2より、所望のNOS(ここでは、NOS-B10b)を取得してWBSW100上へ転送する。
【0057】
<NOS入れ替え時-2>
図6は、NOSの入れ替えから疑似FIBリセットまでの<NOS入れ替え時-2>の動作を説明する図である。
【0058】
4.NOS入れ替え指示
図6の矢印nに示すように、外部コントローラ20のNOS入替制御部25は、NOS入れ替え指示を、WBSW100のH/W管理部110へ送る。
【0059】
5.アンインストール
図6の矢印oに示すように、H/W管理部110は、NOS-A10aをアンインストールする。
【0060】
6.インストール
図6の矢印pに示すように、H/W管理部110は、NOS-B10bをインストールする。
【0061】
7.FIBリセット
図6の矢印qに示すように、NOS-B10bはFIBリセット要求を送る。
【0062】
8.FIBリセット
図6の矢印rに示すように、FIBリセット要求をH/W管理部110内のFIB制御部が受け取って疑似FIB140をリセットする。
【0063】
<NOS入れ替え時-3>
図7は、入れ替え後のNOSへのコンフィグ投入の<NOS入れ替え時-3>の動作を説明する図である。
【0064】
9.OS入れ替え指示
図7の矢印sに示すように、外部コントローラ20のNOS入替制御部25は、コンフィグ変換部22b(NOS-B)にOS入れ替え指示を出す。
【0065】
10.設定済みパラメータ読み込み
図7の矢印tに示すように、コンフィグ変換部22b(NOS-B)は、設定済みパラメータDB23から、設定済みパラメータを読み込み、NOS-B10bのコンフィグに変換する。
【0066】
11.設定指示
図7の矢印uに示すように、コンフィグ変換部22b(NOS-B)は、装置設定部24へ設定指示を出す。
【0067】
12.コンフィグ投入
図7の矢印vに示すように、装置設定部24は、WBSW100上のNOS-B10bへコンフィグ投入する。
【0068】
<NOS入れ替え時-4>
図8は、入れ替え後のNOSによるRIB更新からFIB差分チェックおよびFIB更新の<NOS入れ替え時-4>の動作を説明する図である。
【0069】
13.経路交換
図8の矢印wに示すように、NOS-B10bは、周辺ルータ30と経路交換を開始し、RIB33を更新する。
【0070】
14.FIB書き込み指示
図8の矢印xに示すように、NOS-B10bは、RIB更新の都度、ドライバ13bを介してFIB制御部120へFIB書き込み指示を送る。
【0071】
15.FIB書き込み
図8の矢印yに示すように、FIB制御部120は、疑似FIB140へFIBエントリを書き込む(ASIC150上のFIB151へは書き込まない)。
【0072】
16.差分チェック
図8の矢印zに示すように、十分時間が経過した後、FIB制御部120は、疑似FIB140とASIC150上のFIB151との差分をチェックする。
【0073】
17.FIB書き込み
図8の矢印aaに示すように、FIB制御部120は、チェックした差分のみをASIC150上のFIB151へ書き込む。
【0074】
<NOS入れ替え時の制御シーケンス>
図9は、NOS入れ替え時の動作を示す制御シーケンス図である。
WBSW100のASIC150と周辺ルータ30は、通常のフォワーディングを実行している(ステップS11参照)。
【0075】
外部コントローラ20のNOS入替制御部25は、オペレータからのNOS入替指示を受け取る(ステップS12参照)。ここでは、NOSプール2にプールされたNOS-B10bに入れ替える。
【0076】
NOS入替制御部25は、WBSW100の装置設定部24にGraceful Restart要求を送る(ステップS13参照)。
装置設定部24は、周辺ルータ30にGraceful Restart開始通知を送る(ステップS14参照)。
WBSW100のASIC150と周辺ルータ30は、直前のFIB情報に基づくフォワーディングを実行する(ステップS15参照)。
【0077】
外部コントローラ20のNOS入替制御部25は、WBSW100のH/W管理部110にNOS入れ替え指示を送る(ステップS16参照)とともに、H/W管理部110にNOSイメージを転送する(ステップS17参照)。
H/W管理部110は、装置設定部24を介してNOS-A10aをアンインストールし(ステップS18参照)、NOS-B10bをインストールする(ステップS19参照)。
NOS-B10bは、FIB制御部120にFIBリセット要求を送る(ステップS20参照)。
FIB制御部120は、疑似FIB140のFIBリセットを行う(ステップS21参照)。
ここまでが、NOSの入れ替えから疑似FIBリセットまでの<NOS入れ替え時-2>の制御シーケンスである。
【0078】
NOS入替制御部25は、コンフィグ変換部22b(NOS-B)に設定読み込み指示を出す(ステップS22参照)。
コンフィグ変換部22bは、設定済みパラメータDB23にアクセスし(ステップS23参照)、設定済みパラメータDB23から、設定済みパラメータを読み込む(ステップS24参照)。
コンフィグ変換部22bは、NOS-B10bのコンフィグに変換する(ステップS25参照)。
【0079】
コンフィグ変換部22bは、装置設定部24へ設定指示を出す(ステップS26参照)。
装置設定部24は、WBSW100上のNOS-B10bへコンフィグ投入する(ステップS27参照)。このコンフィグ投入は、既存と同等のコンフィグ投入である。
ここまでが、入れ替え後のNOSへのコンフィグ投入の<NOS入れ替え時-3>を示す制御シーケンスである。
【0080】
ここからが、入れ替え後のNOSによるRIB更新からFIB差分チェックおよびFIB更新の<NOS入れ替え時-4>を示す制御シーケンスである。
【0081】
NOS-B10bは、周辺ルータ30と経路交換を開始する(ステップS28参照)。
NOS-B10bは、RIB33を更新し(ステップS29参照)、FIB制御部120へFIB書き込み指示を送る(ステップS30参照)。
FIB制御部120は、疑似FIB140へFIBエントリを書き込む(ステップS31参照)。
【0082】
図9では、RIB33の更新と、FIB制御部120へFIB書き込み指示と、疑似FIB140へFIBエントリを書き込みとが3回実行された例である。3回目のFIBエントリの書き込みにより、FIBが完成した(ステップS32参照)。
このように、NOS-B10bは、RIB更新の都度、ドライバ13bを介してFIB制御部120へFIB書き込み指示を送り、疑似FIB140へのFIBエントリ書き込みを行ってFIBを完成させる。
【0083】
FIB制御部120は、疑似FIB140の差分をチェックするためのデータを取得する(ステップS33参照)。
FIB制御部120は、疑似FIB140とASIC150上のFIB151との差分をチェックする(ステップS34参照)。
FIB制御部120は、チェックした差分のみをASIC150上のFIB151へ書き込む(ステップS35参照)。
【0084】
装置設定部24は、周辺ルータ30にGraceful Restart終了を宣言する(ステップS36参照)。
周辺ルータ30は、Graceful Restart終了宣言を受けて通常状態に復帰し、WBSW100のASIC150と周辺ルータ30は、通常のフォワーディングを実行する(ステップS37参照)。
【0085】
[ハードウェア構成]
本実施形態に係る通信装置(WBSW100)は、例えば図10に示すような構成の物理装置であるコンピュータ900によって実現される。
図10は、本発明の実施形態に係る通信装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。コンピュータ900は、CPU(Central Processing Unit)901、ROM(Read Only Memory)902、RAM903、HDD(Hard Disk Drive)904、入出力I/F(Interface)905、通信I/F906およびメディアI/F907を有する。
【0086】
CPU901は、ROM902またはHDD904に記憶されたプログラムに基づき作動し、図1に示す通信装置(WBSW100)の制御部による制御を行う。ROM902は、コンピュータ900の起動時にCPU901により実行されるブートプログラムや、コンピュータ900のハードウェアに係るプログラム等を記憶する。
【0087】
CPU901は、入出力I/F905を介して、マウスやキーボード等の入力装置910、および、ディスプレイ等の出力装置911を制御する。CPU901は、入出力I/F905を介して、入力装置910からデータを取得するともに、生成したデータを出力装置911へ出力する。なお、プロセッサとしてCPU901とともに、GPU(Graphics Processing Unit)等を用いてもよい。
【0088】
HDD904は、CPU901により実行されるプログラムおよび当該プログラムによって使用されるデータ等を記憶する。通信I/F906は、通信網(例えば、NW(Network)920)を介して他の装置からデータを受信してCPU901へ出力し、また、CPU901が生成したデータを、通信網を介して他の装置へ送信する。
【0089】
メディアI/F907は、記録媒体912に格納されたプログラムまたはデータを読み取り、RAM903を介してCPU901へ出力する。CPU901は、目的の処理に係るプログラムを、メディアI/F907を介して記録媒体912からRAM903上にロードし、ロードしたプログラムを実行する。記録媒体912は、DVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto Optical disk)等の光磁気記録媒体、磁気記録媒体、導体メモリテープ媒体又は半導体メモリ等である。
【0090】
例えば、コンピュータ900が本実施形態に係る通信装置として機能する場合、コンピュータ900のCPU901は、RAM903上にロードされたプログラムを実行することにより通信装置(WBSW100)の機能を実現する。また、HDD904には、RAM903内のデータが記憶される。CPU901は、目的の処理に係るプログラムを記録媒体912から読み取って実行する。この他、CPU901は、他の装置から通信網(NW920)を介して目的の処理に係るプログラムを読み込んでもよい。
【0091】
[効果]
以下、本発明に係る通信装置等の効果について説明する。
本発明に係る通信装置(WBSW100)は、コンフィグ11とRIB12を有するNOS10をインストールして利用する通信装置100であって、パケット転送を行う機能を実現するASIC150と、ASIC150上に備えられパケット転送時に参照されるFIB151と、を備えており、さらに、NOS10がFIB書き込み指示したFIBエントリを、ASIC150上のFIB151とは別に書き込み保持する疑似FIB140と、通常時の経路更新はASIC150上のFIB151と疑似FIB140へ書き込み、NOS入れ替えの際には、疑似FIB140のFIBエントリのみを削除して更新し、ASIC150上のFIB151のFIBエントリは削除せず保持して、疑似FIB140の更新完了後にASIC150上のFIB151へ差分のFIBエントリの書き込みを行うFIB制御部120と、を備えることを特徴とする。
【0092】
このようにすることで、本発明に係る通信装置(WBSW100)は、通信装置(WBSW100)上のNOSを既存のものとは別のNOSに入れ替える際のパケットロスを最小化することができる。このため、通信装置(WBSW100)のNOS入れ替えを、サービス断を最小限に抑えて実現することができる。
【0093】
また、通信装置(WBSW100)において、FIB制御部120は、ASIC150上のFIB151にFIBエントリを書き込むと同時に、疑似FIB140にも同じFIBエントリを書き込むことを特徴とする。
【0094】
このようにすることで、NOS入れ替えの際に、疑似FIB140の情報を削除することでASIC150内のFIB151は削除せず保持する。このため、NOS入れ替えの最中もASIC150内のFIB151情報で転送可能となる。
【0095】
また、RIB12は、NOS入れ替え後も、短時間で入れ替え前と同じになる。このため、Graceful Restart等を用いることで、Neighbor関係を隣接ルータ(周辺ルータ30)との間で修復可能である。
【0096】
また、通信装置(WBSW100)において、NOSのRIBの更新を契機に、NOS10が、FIB書き込み指示をASIC150に送る際、FIB制御部120は、ASIC150上のFIB151に代わって書き込み指示を受けることを特徴とする。
【0097】
このようにすることで、FIB制御部120が、ASIC150内のFIB151に代わって書き込み指示を受けるので、NOSの入れ替え時にもNOS側に手を加えることなく、FIBの削除/再構築にともなうパケットロスを最小限に抑えることができる。
【0098】
本発明に係る通信装置制御システム1は、通信装置(WBSW100)と、通信装置100のNOS入れ替えを制御するNOS入替制御部25を有する外部コントローラ20と、備えることを特徴とする。
【0099】
このようにすることで、NOS入替制御部25は、例えばオペレータからのNOS入替指示をもとに、通信装置(WBSW100)に対し、NOSのRIBの更新制御を実行することができる。また、NOSプール2にプールされているNOSを、通信装置(WBSW100)に送ることができる。よって、通信装置(WBSW100)は、NOSの入れ替えを最適なタイミングで実行することができる。
【0100】
[その他]
上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上述文書中や図面中に示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【0101】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部または全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行するためのソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、IC(Integrated Circuit)カード、SD(Secure Digital)カード、光ディスク等の記録媒体に保持することができる。また、本明細書において、時系列的な処理を記述する処理ステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)をも含むものである。
【符号の説明】
【0102】
1 通信装置制御システム
2 NOSプール
10,10a,10b,10c NOS
20 外部コントローラ
21 制御部
22a,22b コンフィグ変換部
25 NOS入替制御部
30 周辺ルータ
31 ASIC
32 FIB
100 WBSW(通信装置)
110 H/W管理部
120 FIB制御部
121 NOS向け機能部
122 FIB書き込み終端部
123 FIB情報処理部
124 書き込み指示コピー部
125 FIB差分チェック部
126 疑似FIB向け機能部
127 疑似FIB書き込み部
128 疑似FIB読み取り部
129 ASIC上FIB向け機能部
130 ASIC上FIB書き込み部
131 ASIC上FIB読み取り部
140 疑似FIB
150 ASIC
151 FIB
160 H/W(ハードウェア)
170 ONIE
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11