JP5760252B2 - ネットワークノード及びネットワークノードの設定方法 - Google Patents

ネットワークノード及びネットワークノードの設定方法 Download PDF

Info

Publication number
JP5760252B2
JP5760252B2 JP2012073683A JP2012073683A JP5760252B2 JP 5760252 B2 JP5760252 B2 JP 5760252B2 JP 2012073683 A JP2012073683 A JP 2012073683A JP 2012073683 A JP2012073683 A JP 2012073683A JP 5760252 B2 JP5760252 B2 JP 5760252B2
Authority
JP
Japan
Prior art keywords
module
processing
modules
processing module
network packet
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.)
Expired - Fee Related
Application number
JP2012073683A
Other languages
English (en)
Other versions
JP2013207507A (ja
Inventor
俊明 垂井
俊明 垂井
泰 金田
泰 金田
靖 春日井
靖 春日井
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2012073683A priority Critical patent/JP5760252B2/ja
Publication of JP2013207507A publication Critical patent/JP2013207507A/ja
Application granted granted Critical
Publication of JP5760252B2 publication Critical patent/JP5760252B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Telephonic Communication Services (AREA)

Description

本発明は、ネットワーク内でデータを転送するネットワークノードに関係し、特に、機能モジュールを組み合わせて構成されるネットワークノードに関する。
近年、ネットワーク上では、インターネット、電話、モバイル、企業網等の種々のサービスが実施されている。このような異なるサービスに対応するネットワークを、一つのインフラでサポートし、各サービスに必要な機能を実現するために、物理的なネットワーク上に、複数の論理ネットワーク(スライス)を生成する仮想化ネットワーク技術が使用される。
ネットワークを仮想化するためには、インフラとなるネットワーク内のノードにおいて、仮想ネットワークのスライス特有の処理、さらには、スライス間のアイソレーション等を実現する必要がある。これらの機能への要求はスライス毎に異なり、さらにスライスが動的に生成又は消滅すると、ノードの機能を動的に変更する必要がある。このため、ソフトウェア(汎用サーバやネットワークプロセッサ上のプログラム)の処理によって、これらの機能を実現する方法が提案されている。しかし、ソフトウェアで実現する方法は、ハードウェアで実現する方法より、処理速度及び処理量が劣るため、ノードが有する機能をプログラマブルなモジュール又は構成要素として提供する必要がある。
特に、ネットワーク仮想化をサポートするノードでは、動的、精密かつスケーラブルなリソース・アイソレーション機能を実現するために、ノードが有するシェーピング機能(QoS機能)、ポリサ、VLANタグ交換機等の機能をモジュールとして仮想化基盤の管理者(システム・インテグレータ)に提供する必要がある。
現在のネットワークノード(ルータ)においては、これらのシェーパ等のモジュールは、ネットワークへのインタフェース・カードと一体となって提供されている。従って、他のモジュールと組み合わせて使用するためには、ノードの外部において、モジュール間をケーブル(ループ)によって接続する必要がある。
例えば、従来のノードにおいて複数のモジュールを組み合わせて図20の設計図に示す機能のノードを実現する場合について説明する。すなわち、入出力ポート1(9501)から入力されたトラヒックは、モジュールA(9511)及びモジュールB(9512)を通り、入出力ポート2(9502)から出力される。これに対して、入出力ポート2(9502)から入力されたトラヒックは、モジュールC(9513)を経由して、入出力ポート1(9501)から出力される。このように、往きと復りで異なる機能を経由することは、通信の方向により、ポリサやシェーパを使い分ける際に必要である。
図20に示す機能を、モジュール間のケーブル(ループ)接続によって実現する場合の実装例を図21に示す。
ノード(ルータ)9100は、図20に示す機能を実現するために必要となるモジュールA9011、モジュールB9012、モジュールC9013のハードウェアが、各々、外部インタフェース(9112、9114、9116)に搭載されている。従って、図示するように、モジュール間を接続するためにインタフェース間をノードの外部でネットワークケーブル9121、9122によって接続して、トラヒックが必要な機能を経由するようにする。
この場合、物理ルータを複数の論理的なスイッチに分割し、一台の物理ルータを複数回トラヒックが通過できるようにする。また、モジュール間をノードの外部でケーブルによって接続した場合、往復のトラヒックが同一の経路、すなわち、往復のトラヒックがモジュールA、B、Cを経由する(往路又は復路において使用しないモジュールは通過するだけとなる)。
前述した構成では、モジュールを組み合わせる際に外部結線を必要とするため、スライスの構成が変更され、ノードの機能を変更し、必要なモジュールが変更になる場合は、管理者が物理的にケーブルの接続を変更しなければならない。このような、ケーブルによる接続の変更は、運用の自動化、構成変更の早期実現において大きな障害となる。
この問題を解決するために、モジュール間の外部ケーブルに代えて、ネットワークスイッチで接続する方式が提案されている。しかし、モジュール間の接続はスライスの構成が決定された後は変更する必要がないが、ネットワークスイッチはパケット毎に高速に宛先を切り替えることができるので、オーバースペックであり、コストが増大し、消費電力が増大する可能性がある。
この課題を解決するための技術として、特許文献1は、スイッチマトリックスを用いた電子パッチパネルを開示する。このパッチパネルは、任意のネットワーク機器の間の接続の回線交換を実現する機器である。従来のパッチパネルでは、人間がパッチパネル上の接続を物理的に切り替えたが、電子パッチパネルにおいては、クロスポイントスイッチLSIによって、電子的に回線交換を行い、人手による配線変更を不要としている。
また、電子パッチパネルを使用することによって、オーバースペックなパケットスイッチを使用することなく、モジュール間の接続を柔軟に変更できる。
また、特許文献2は、シェーパにおけるモジュールの実装方式を開示する。特許文献2に記載されたモジュールの実装方式では、入力されたパケットは、パケットバッファ書込み制御回路で、データ部と制御信号(ヘッダ部等)に分離され、データ部はパケットバッファに格納され、制御信号は制御判断ロジックに送られる。そして、モジュールにてシェーピングが行われ、パケットが出力可能と判断されると、出力されるパケットの制御信号が、パケットバッファ読出し制御回路に送られる。その結果、パケットバッファからパケットのデータが読み出され、パケットが再構成され、出力される。
米国特許第6243510号明細書 特許第3711752号公報
特許文献1に開示されるようにノード内にクロスポイントスイッチを設け、複数のモジュールを柔軟に組み合わせてノードを構成し、特許文献2に開示されたような制御信号のみを処理するモジュールをクロスポイントスイッチを挟んで複数連続して設けた場合、図22に示すように、データと制御信号の分離、バッファへのデータの書き込み、バッファからデータの読み出し、及び、データと制御信号との結合を繰り返すことになり、処理の遅延が増加し、消費電力が増加し、分離機能、結合機能及びバッファの重複によるモジュールのコストが増加する。
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、ネットワークパケットを処理するネットワークノードであって、前記ネットワークパケットを処理する複数の処理モジュールと、前記ネットワークパケットの一部又は全部を格納するバッファメモリと、前記ネットワークパケットを制御するための制御情報を前記ネットワークパケットから分離し、前記ネットワークパケットのデータ部分を含む一部又は前記ネットワークパケットの全部を前記バッファメモリに書き込むデータ分離モジュールと、前記バッファメモリに格納されたネットワークパケットの一部又は全部を読み出し、前記制御情報と結合するデータ結合モジュールと、前記処理モジュール、前記データ分離モジュール及び前記データ結合モジュールの間の接続を切り替え可能なスイッチと、前記複数の処理モジュールを接続するための情報を前記スイッチに設定するノード管理部と、を備え、前記複数の処理モジュールの少なくとも一つが、前記ネットワークパケットから分離された制御情報を用いて前記ネットワークパケットを処理し、前記データ結合モジュールは、前記バッファメモリに格納されたネットワークパケットの一部又は全部と前記制御情報とを結合することによって、前記処理の結果を前記ネットワークパケットに反映し、前記ノード管理部は、入力された前記ネットワークノードの設計情報に基づいて、前記複数の処理モジュールから必要な処理モジュールを選択し、前記選択された処理モジュールの接続を決定することを特徴とする。
本発明の代表的な実施の形態によれば、ネットワークノード内で、複数のモジュールを柔軟に組み合わせた場合に、処理のオーバヘッドやハードウェア量を削減することができる。
本発明の実施形態のノードの特徴を示す概念図である。 第1の実施形態のノードが設けられるネットワークの構成を示すブロック図である。 第1の実施形態のノードの構成を示すブロック図である。 第1の実施形態のコンソールに表示される設計図の入力画面の例である。 第1の実施形態のノードの設計図の例の説明図である。 図5に示す設計図に従って構築されたノード内のデータフローの説明図である。 第1の実施形態のノード管理部のトップレベルの処理のフローチャートである。 第1の実施形態のモジュール選択処理の詳細なフローチャートである。 第1の実施形態のモジュール選択処理の詳細なフローチャートである。 第1の実施形態のモジュール選択処理の詳細なフローチャートである。 第1の実施形態のモジュール設定情報変更処理の詳細なフローチャートである。 第1の実施形態のモジュールスペック管理表の構成の一例を説明する図である。 第1の実施形態のモジュール管理表の構成の一例を説明する図である。 第1の実施形態のデータ分離/結合機能管理表の構成の一例を説明する図である。 第1の実施形態の接続管理表の構成の一例を説明する図である。 第1の実施形態のスイッチ設定情報作成処理の詳細なフローチャートである。 第1の実施形態のスイッチ接続情報管理表の構成の一例を説明する図である。 第1の実施形態のスイッチ設定管理表の構成の一例を説明する図である。 第2の実施形態のモジュール選択処理の詳細なフローチャートである。 第2の実施形態の代替モジュール管理表の構成の一例を説明する図である。 従来のノードの設計図の例の説明図である。 従来のモジュール間をケーブル(ループ)によって接続する場合の実装例の説明図である。 従来技術によって、クロスポイントスイッチを挟んでモジュールを複数連続して設けた場合ノードの構成の説明図である。
本発明の実施形態のノードは、スイッチによって接続されたモジュール間で、バッファメモリを共通化し、前記接続されたモジュール間で制御情報を受け渡して処理を実行し、前記処理の結果をバッファメモリのデータに反映することを特徴とする。
図1は、本発明の実施形態のノードの特徴を示す概念図であり、モジュールC及びDを接続した場合のノードの構成を示す。
図1に示す構成では、モジュールを通過するデータは、一連のモジュールに入力される前にデータ/制御情報分離部8061を、一連のモジュールから出力された後に出た後データ/制御情報分離部8163を、各々一回のみ通過する。データのバッファ8363はモジュール間で共通に使用される。
すなわち、入力されたパケットは、データ/制御分離部8061で制御情報が分離された後、制御系8301で処理される。データ/制御結合部8163は、処理結果に基づいて出力された制御情報に従って、パケットを再構築して出力する。制御系8301の中では、制御情報処理モジュールを接続するスイッチ8030が、制御情報を扱う制御判断ロジック(モジュールC(8051)、モジュールD(8151))を接続する。その結果、モジュール間では制御情報のみが転送される。
このように構成することによって、制御系8301の内部では、スイッチ8030により任意のモジュールを接続し、バッファメモリを共通化することによって、データの分離及び結合のオーバヘッドを削減することができる。
さらに、本発明においては、ノード内に、制御情報処理モジュール間を接続するスイッチの他、全データを処理するモジュール間を接続するスイッチを設けることによって、制御情報処理モジュール間、及び、全データ処理モジュール間を接続することができ、ノードを柔軟に構成することができる。
<実施形態1>
(ネットワークの構成)
図2は、本発明の第1の実施形態のノードが設けられるネットワークの構成を示すブロック図である。
第1の実施形態のネットワーク7000は、互いに接続された複数のノード7101、7201、7301、7401によって構成される。各ノード7101、7201、7301、7401には、それぞれ、端末7901、7902、9073、7904が接続される。
各ノード7101、7201、7301、7401は、他のノードのと間及び端末との間でパケットを転送する。
ノード7101は、スイッチ20、30、モジュールプール40、50及びデータ分離/結合部60を有する。ノードの構成の詳細は図3を用いて後述する。なお、各ノード7101、7201、7301、7401は同じ構成を有する。
(ノードの構成)
図3は、第1の実施形態のノードの構成を示すブロック図である。
ノード1は、入出力ポート10〜11、往復分離部15〜16、モジュールプール40、50、スイッチ20、30、データ分離/結合部60及び構成情報ストレージ70を有する。
入出力ポート10〜11は、ノード1にデータを入出力する。往復分離部15〜16は、各々、入出力ポート10〜11に入出力されるデータを入力データと出力データとに分離する。
モジュールプール40は、全パケットを処理する複数のモジュール41〜43を含み、モジュールプール50は、制御情報を処理する複数のモジュール51〜52を含む。全パケット処理をするモジュールは、パケットの本体(ユーザデータ)を含めて処理するモジュールであり、通常、パケットのデータを保持するバッファを内蔵する。例えば、全パケット処理をするモジュールは、暗号化機能、圧縮機能、負荷分散装置(L7−SW)である。一方、制御情報を処理するモジュールは、パケットの制御情報(ヘッダ情報)のみを取り扱い、データはモジュールの外部に設けられ、他のモジュールと共通に用いられるバッファに格納される。例えば、制御情報を処理するモジュールは、各種シェーパ、タグ交換機、カプセリング機能である。
スイッチ20、30は、例えば、クロスポイントスイッチによって構成される。スイッチ20は、入出力ポート10〜11及び全パケット処理モジュール41〜43との間、及び、全パケット処理モジュール41〜43間を接続し、スイッチ30は、制御情報処理モジュール間を接続する。なお、本実施形態では、二つのスイッチを有するが、後述するように、スイッチ20、30を一つのスイッチで構成してもよい。
二つのスイッチ20、30の間には、データ分離/結合部60が設けられる。各スイッチ20、30は、データ分離/結合部60とモジュール間を接続する。データ分離/結合部60は、データ/制御情報分離部61、バッファメモリ62及びデータ/制御結合部63を有する。
データ/制御情報分離部61は、受信したパケットの本体部(ユーザデータ)と制御情報(ヘッダ部)とを分離し、本体部をバッファメモリ62に書き込む。データ/制御情報結合部63は、バッファメモリ62から読み出した本体部を制御情報と結合する。
各往復分離部15〜16、モジュールプール40、50及びデータ分離結合部60の入出力端子と、スイッチ20、30の入出力端子とは、データバス210、220、230、240、250、260、310、320、330、340で接続されている。これらのデータバスは単方向のバスである。
入出力ポート10〜11と往復分離部15〜16とは、各々、データバス110で接続されている。データバス110は双方向のバスである。
本実施形態では、モジュールA、Bは全パケット処理をするモジュールであり、モジュールC、Dは制御情報のみを処理するモジュールである。モジュールA(41、42)のように、同種の複数のモジュールを設けることができる。前述したA、B、C、Dはモジュールの種類を示すモジュール種別ID(図11参照)である。
構成情報ストレージ70は、スイッチ20、30に設定されるスイッチ設定管理表2060(図17参照)を保持する不揮発性記憶装置(例えば、フラッシュメモリなど)である。構成情報ストレージ70に保持されたスイッチ設定管理表2060に従って、スイッチ20、30が設定され、モジュール41〜43、51〜52が接続される。ノード1の電源が投入された際に、構成情報ストレージ70からスイッチ設定管理表2060が読み出され、管理者が入力した設計情報に従ってノード1が構成される。
なお、構成情報ストレージ70は、モジュール管理表2020(図12参照)を保持してもよい。この場合、モジュール管理表2020の帯域設定情報2024に従って、モジュールの帯域が設定される。
ノード1は、さらに、ノードの構成を管理するノード管理部80を有する。ノード管理部80は、プロセッサ(CPU)81、主記憶メモリ82、ストレージ(不揮発性記憶装置)83及び通信インターフェースを有する計算機であり、いわゆる組み込みプロセッサによって構成することができる。なお、ノード管理部80は、ノード1の内部ではなく、外部に設けてもよい。
管理者は、ノード1に接続されたコンソール90を通して、ノード管理部80にノード1の設計図95を入力する。ノード管理部80は、管理者が入力した設計図95に基づき、所定のプログラムを実行することにより行われる後述する手順に従って、ノードの構成情報を生成し、生成したノードの構成情報を構成情報ストレージ70に格納する。
コンソール90は、プロセッサ(CPU)、主記憶メモリ、ストレージ(不揮発性記憶装置)、ユーザインターフェース及び通信インターフェースを有する計算機である。コンソール90は、ノード1から出力される結果を表示し、かつ、ユーザからの入力を受け付けるためのアプリケーション(例えば、webブラウザ)が動作すればよい。
図4は、第1の実施形態のコンソール90に表示される設計図の入力画面の例である。
コンソール90に表示される画面は、GUIによりノードの設計図95を入力する設計入力領域91、ノード管理部80から出力されるメッセージを表示するのメッセージ出力領域92、設計図を入力するためのコマンドを選択するメニュー領域97及びパラメータを入力するウィンドウ98を含む。
GUIによるコンソール90からの設計図の入力は、イベントドリブンで実現される。管理者は、カーソル96を移動し、メニュー領域97からコマンドを選択し、選択されたコマンドに対応するパラメータを入力ウィンドウ98に入力する。
以下に、ノード内のモジュール及びスイッチで実現される処理について説明する。
図5は、第1の実施形態のノードの設計図の例の説明図である。
入出力ポートP1(510)と、入出力ポートP2(511)との間には、複数のモジュールC(551)、D(552)、A(541)及びB(543)が配置される。入出力ポートP1からP2へのパケットはモジュールC、D、Aを順に経由し、逆向きに入出力ポートP2からP1へのパケットはモジュールBを経由する。ここで、モジュールC及びDは制御情報のみを処理するモジュールであり、モジュールA及びBは全パケットを処理するモジュールである。モジュールに括弧にて図示したラベル(L001〜L006)は、論理モジュールIDであり、GUI上でモジュールを区別するために、設計図の入力時にノード管理部80が付与する。
以下に、本実施形態のノード管理部80の処理、及び、各種管理表について、図3で示す構成のノード1に、図5の設計図で示すシステムを構成する例について説明する。
図6は、図5に示す設計図に従って構築されたノード1内のデータフローの説明図である。
スイッチ20、30内では、入力端子と出力端子とが黒丸の箇所で接続されている。モジュールプール40、50内の各モジュールには、括弧内に示した物理的なモジュールの識別子である物理モジュールIDが付されている。例えば、ノード1には、物理モジュールA1及びA2の複数のモジュールAが実装される。物理モジュールIDはモジュール間の接続を識別するために使用される。データ分離/結合部60内の特別なモジュールも、物理モジュールIDを持ち、データ/制御情報分離部61の物理モジュールIDはM1であり、データ制御情報結合部63の物理モジュールIDはM2である。また、入出力ポート1(10)及び入出力ポート2(11)に接続されている往復分離部15、16の物理モジュールIDは、それぞれ、P1及びP2であり、スイッチ20及び30の物理モジュールIDは、それぞれ、X1及びX2である。
各モジュールの入力ポートにはI1、I2、…、出力ポートにはO1、O2、…、の識別子が付与される。データ/制御情報分離部61及びデータ/制御情報結合部63では、識別子の数字が同じ入力ポートと出力ポートとが対応している(I1とO1、I10とO10等)。スイッチ20及び30の入力端子及び出力端子には、各端子を一意に識別可能なように、重複しない番号が付けられている。具体的には、スイッチ20及び30の入力端子には1から30の間の識別子が付与され、スイッチ20及び30の出力端子には51から80の間の識別子が付与される。
ノード1の入出力ポート1(10)に入力されたパケットは、往復分離部15の出力端子O1から出力され、スイッチ20の端子1に入力される。スイッチ20は、端子1と端子71とが接続されるように設定されているので、パケットはリンク260aを経由してデータ/制御情報分離部61の入力端子I1に入力される。そこで、パケットのデータ部分は61aを経由してバッファメモリ62格納され、制御情報(例えば、パケットのヘッダ部)が出力端子O1から出力される。
その後、パケットから分離された制御情報は、スイッチ30の端子1に入力され、端子51から出力され、リンク330aを経由してモジュールC1(51)の入力端子I1に入力される。モジュールC1(51)で処理された制御情報は、スイッチ30の入力端子11に入力され、出力端子60から出力され、モジュールD1(52)の入力端子I1から入力され、モジュールD1(52)で処理された後に、出力端子O1から出力される。
モジュールD1(52)の出力端子O1から出力された制御情報は、更に、スイッチ30の入力端子20から入力され、出力端子61から出力された後、リンク340aを介してデータ/制御情報結合部63の入力端子I1に入力される。データ/制御情報結合部63では、該当するパケットのデータをバッファメモリ62から読み出した後、処理された制御情報と読み出されたパケットのデータと結合し、処理された制御情報と結合されたパケットを出力端子O1から出力する。
データ/制御情報結合部63から出力されたパケットは、スイッチ20の入力端子21に入力され、出力端子51から出力された後、モジュールA1(41)の入力端子I1に入力される。モジュールA1(41)で処理されたパケットは、出力端子O1から出力され、スイッチ20の入力端子11に入力され、出力端子61から出力された後、リンク250aを介して往復分離部P2(16)の入力端子I1に入力され、入出力ポート2(11)から出力される。
また、入出力ポート2(11)から入力されたパケットは、往復分離部P2(16)の出力端子O1から出力され、スイッチ20の入力端子10に入力され、出力端子60から出力され、モジュールB1(43)の入力端子I1に入力され、出力端子O1から出力された後、スイッチ20の入力端子20に入力され、出力端子70から出力され、往復分離部P1(15)の入力端子I1に入力され、最終的に、入出力ポート1(10)から出力される。
図6に示す様に、スイッチがモジュールを接続して実現されるデータフローによって、図5の設計図で示す機能がノード1内部に実現される。
本実施形態のノード1は、パケット全体が通過するスイッチ20及び制御情報が通過する(制御情報を処理するモジュール間を接続する)スイッチ30を有し、両スイッチ20、30間に、データ分離/結合部60が設けられている。
(ノードの設定手順)
以下では、具体的な設計情報を例に、本ノードの設定手順を詳細に述べる。以下で述べる設計情報は、ノード管理部80のプロセッサ81で処理される。また、
以下で述べる処理を行うプログラムは、ノード管理部80のストレージ83に格納され、主記憶82にロードされて実行される。また、これらの処理によって生成される管理表は、ノード管理部80のストレージ83に格納され、プログラムの実行時に主記憶82にロードされる。
図7は、第1の実施形態のノード管理部80のトップレベルの処理のフローチャートである。
まず、管理者がノードで実現される機能の設計図をGUIを用いて入力すると、ノード管理部80は当該入力を受け付ける(ステップ1001)。
入力された設計図は、接続管理表2040(図14)に変換される。その後、接続管理表の内容に基づいて、スイッチの接続情報(図16に示すスイッチ接続情報管理表2050)を作成し、前記接続を実現するためにスイッチに設定される情報(図17に示すスイッチ設定管理表2060)を作成する(ステップ1002)。
その後、ノード管理部80は、各モジュールの設定情報(帯域や、各モジュール固有の設定)を設定し(ステップ1003)、スイッチを設定する(ステップ1004)。実際には、生成された情報を設定情報ストレージ70に格納することによって、モジュール及びスイッチが設定される。
以下、本実施形態のノード1において特徴的な処理である、ステップ1001及び1002について詳細に説明する。
(設計図入力)
設計図入力(ステップ1001)は、コンソール90に表示されるGUI上のイベントドリブン処理によって実現され、以下の三つの処理によって構成される。
(1)モジュール選択(図8)
(2)モジュール間接続(図9)
(3)モジュール設定情報作成、変更(図10)
以下では、前述した各処理の詳細について、図を用いて説明する。
(1)モジュール選択
図8は、第1の実施形態のモジュール選択処理の詳細なフローチャートである。
図8に示すモジュール選択処理では、モジュールスペック管理表2010(図11)及びモジュール管理表2020(図12)を使用する。
図11に示すように、モジュールスペック管理表2010は、ノードが持つモジュール種別毎に、モジュールの種類及びスペックの情報を示し、具体的には、モジュール種別ID2011、モジュール名2012、処理区分2013、入力帯域2014及び出力帯域2015の情報を含む。なお、モジュールスペック管理表2010は表形式で説明するが、他の形式で構成してもよい。
モジュール種別ID2011は、システム内でモジュールの種類を区別するための識別子である。モジュール名2012は、モジュールの名称を人間が理解できる形式で表示したものである。処理区分2013は、モジュールが全パケット処理を実行するか、制御情報のみの処理を実行するかを示す。処理区分2013は、説明を容易にするために、「全パケット処理」、「制御情報処理」の文字で示すが、実際は1ビットの情報でよい。入力帯域2014及び出力帯域2015は、それぞれ、モジュールの入力帯域及び出力帯域の処理能力(初期値)である。
例えば、モジュールAは暗号化器であり、全パケット処理を実行し、入力帯域及び出力帯域は10Gbpsである。また、モジュールDは階層化シェーパであり、制御情報のみの処理を実行し、入力帯域及び出力帯域は5Gbpsである。モジュールPは、ノードの入出力ポートを表す特別なモジュールである。
図12に示すように、モジュール管理表2020は、各物理モジュールの状態を表し、具体的には、モジュール種別ID2021、物理モジュールID2022、モジュールの使用有無2023、帯域設定情報2024及び論理モジュールID2025の情報を含む。なお、モジュール管理表2020は表形式で説明するが、他の形式で構成してもよい。
モジュール種別ID2021は、システム内でモジュールの種類を区別するための識別子であり、モジュールスペック管理表(図11)のモジュール種別ID2011と同じものを使用する。
物理モジュールID2022は、システム内でモジュールを一意に識別するための識別子であり、同一種別の複数のモジュールの各々に一意の識別子が付与される。使用有無2023は、このモジュールが使用されているか否かを示す情報であり、例えば、使用中の場合は「1」、未使用の場合は「0」が付与されるフラグである。帯域設定情報2024は、モジュールの入出力帯域が設定により、初期値から変更されているかを示す情報であり、モジュール間を接続する際の帯域チェックのために使用される。論理モジュールID2025は、GUI上でモジュールを一意に識別するための識別子であり、ノード管理部80が割り当てる。
例えば、物理モジュールIDがA1のモジュールの種別はAであり、現在使用中で、帯域は初期値であり、論理モジュールIDはL004である。物理モジュールIDがA2のモジュールの種別はAであり、未使用である。物理モジュールIDがC1のモジュールの種別はC1であり、現在使用中で、帯域は初期値(10Gbps)から5Gbpsに変更されており、論理モジュールIDはL002である。
次に、図8を用いて、モジュール選択処理について説明する。
モジュール選択時には、モジュール管理表2020を参照し、使用可能な(物理モジュールの一つ以上が未使用である)モジュールの一覧(例えば、モジュール種別ID)を取得する(ステップ1101)。
次に、モジュール管理表2020から取得したモジュール種別IDに対応するモジュール名をモジュールスペック管理表2010から取得し(ステップ1102)、取得した使用可能なモジュール名の一覧をメニュー(図4の97)に表示する(ステップ1103)。これにより、管理者は使用可能なモジュールのみを選択可能になる。管理者が使用したいモジュールが使用不可能な場合は、以下の何れかを行ってもよい。
(1)使用可能なモジュールから代替可能なモジュールを選択する。
(2)該当するモジュールを使用しないように設計を変更する。
(3)モジュールが不足するため、ノードの構築を断念する(別途、ハードウェアを増強する必要がある)。
その後、管理者がGUI上でメニューからモジュール名を選択すると、ノード管理部80は当該選択を受け付け(ステップ1104)、モジュールスペック管理表2010を参照して、選択されたモジュールのモジュール種別IDを取得する(ステップ1105)。
その後、取得したモジュール種別IDのモジュールのうち未使用の物理モジュールを一個、モジュール管理表2020から選択し(ステップ1106)、選択された物理モジュールの使用有無2023を使用中に変更する(ステップ1107)。さらに、ノード管理部80が割り当てた論理モジュールIDをモジュール管理表2020の論理モジュールID2025に登録し(ステップ1108)、GUI上にモジュールを表示する(ステップ1109)。
以上の処理を繰り返すことによって、必要な物理モジュールを選択し、選択されたモジュールをGUI上に表示することができる。
ここで、ノードの入出力ポートは、前述と異なる方法によって選択される。通常のモジュールについては、モジュール名を選択すると、未使用の物理モジュールが自動的に選択される。これに対して、入出力ポートについては、管理者が物理的なポート番号をGUIで直接指定して、入出力ポートを接続する。これは、ノードの入出力ポートと、ノードの外部に接続されているネットワークとのリンクが、設計時に決まっていることが多いためである。
(2)モジュール間接続
図9A及び図9Bは、第1の実施形態のモジュール選択処理の詳細なフローチャートである。
第1の実施形態のモジュール間接続処理では、モジュール間を単に接続するだけでなく、接続されるモジュールの仕様や性能(例えば、帯域)を検査し、両者の仕様や性能が整合しない場合には警告を発生する。これにより、管理者が正しいモジュールを選択し、接続できるように補助することができる。
例えば、前段モジュールの出力帯域が後段モジュールの入力帯域より大きい場合には、前段モジュールからの出力が後段モジュールへ受け入れられないことがあり、後段モジュールがボトルネックになる可能性がある。この場合、管理者が不整合を承知で接続する場合もあり得るので、直ちにエラーにはしないで、接続における帯域の不整合を警告する。
具体的には、モジュール管理表2020(図12)に設定された帯域を、図5で示す設計図に適用した場合、入力ポート1(510)とモジュールC(551)の間のリンクが、出力側が10Gbps、入力側が5Gbpsとなり、この接続をした段階で、警告が出力される(図9Aのステップ1209)。モジュール間接続処理では、前述した各表の他に、データ分離/結合機能管理表2030(図13)及び接続管理表2040(図14)を使用する。
図13に示すように、データ分離/結合機能管理表2030は、データ分離/結合部60の各ポートの使用状況を示し、区分2031、ポート番号2032及び使用有無2033の情報を含む。なお、データ分離/結合機能管理表2030は表形式で説明するが、他の形式で構成してもよい。
区分2031は、データ分離/結合部60内のモジュールを区別するための情報である。すなわち、データ分離/結合部60は、前述したように、データ/制御情報分離部61及びデータ/制御情報結合部63を含むので、区分2031によって、データ/制御情報分離部61か、データ/制御情報結合部63かを区別する。区分2031は、説明を容易にするために、「分離」、「結合」の文字で示すが、実際は1ビットの情報でよい。
ポート番号2032は、モジュール内のポート番号である。なお、入力ポートと出力ポートとは組で使用されるので、ポート番号2032は入出力共通である。例えば、ポート1は、入力I1及び出力O1を示す。使用有無2033は、ポートが使用されているかを示す情報であり、例えば、使用中の場合は「1」、未使用の場合は「0」が付与されるフラグである。
例えば、データ/制御情報分離部61のポート1は使用中であり、ポート2は未使用である。
図14に示すように、接続管理表2040は、モジュール間接続処理(図9)によって作成されるモジュール間の接続の定義を示し、接続ID2041、始点2042、終点2043及び接続区分2044の情報を含む。なお、接続管理表2040は表形式で説明するが、他の形式で構成してもよい。
接続ID2041は、ノード管理部80が接続を一意に識別するための識別子であり、モジュール間接続処理において自動的に生成される。始点2042は、接続の始点となる物理モジュールIDとモジュールの端子番号の組である。終点2043は、接続の終点となる物理モジュールIDとモジュールの端子番号の組である。接続区分2044は、接続が全パケット処理モジュールを接続するスイッチ20を経由して接続されるか、制御情報処理モジュールを接続するスイッチ30を経由して接続されるかを示す。
例えば、接続IDがL1のリンクは、モジュールP1(ノードの入力ポート1に接続された往復分離部15)の出力O1から、モジュールM1(データ/制御情報分離部61)の入力I1への、全パケット処理モジュールを接続するスイッチ20を経由した接続である。また、接続IDがL2のリンクは、モジュールM1(データ/制御情報分離部61)の出力O1から、物理モジュールC1の入力I1への、制御情報処理モジュールを接続するスイッチ30を経由した接続である。
次に、図9A及び図9Bを用いて、モジュール間接続処理について説明する。
まず、管理者が、作成する接続の始点(モジュールの出力)と終点(モジュールの入力)とを指定すると、ノード管理部80は当該指定を受け付ける(ステップ1201)。
その後、モジュール管理表2020の帯域設定情報2024を参照し(ステップ1202)、帯域を変更する設定がされているかを判定する(ステップ1203)。その結果、帯域が変更されていない場合は、モジュールスペック管理表2010の入力帯域2014又は出力帯域2015に登録された帯域の初期値を取得する(ステップ1204)。一方、帯域が変更されている場合は、モジュール管理表2020の帯域設定情報2024に設定されている帯域情報を取得する(ステップ1205)。
ステップ1204及び1205においては、リンクの前段モジュールの出力帯域と、後段モジュールの入力帯域とを取得する。取得した帯域情報から、接続するモジュール間で帯域が整合するかを検査する(ステップ1206)。具体的には、前段モジュールの出力帯域が、後段モジュールの入力帯域以下であれば、両モジュールの帯域が整合すると判定する。
その結果、前段モジュールと後段モジュールとの帯域が整合する場合、GUI上に当該リンクを通常表示する(ステップ1208)。一方、前段モジュールと後段モジュールとの帯域が整合しない場合、GUI上に当該リンクを別の態様で表示し(例えば、赤色で、強調表示し)、警告情報をメッセージ領域92に出力する(ステップ1209)。
ここまで、前段モジュールの仕様と後段モジュールの仕様との整合について、帯域を例にして説明したが、モジュールの他の仕様が整合するかを判定してもよい。
その後、モジュールスペック管理表2010より、前段モジュールの処理区分及び後段モジュールの処理区分を取得する(ステップ1209)。処理区分は、そのモジュールが全パケット処理を実行するか、制御情報のみの処理を実行するかを示す情報である。その後、前段モジュールの処理区分及び後段モジュールの処理区分が同一であるかを判定する(ステップ1210)。
その結果、処理区分が同一である場合、前段モジュールと後段モジュールとを同一のスイッチで接続できるので、接続管理表2040に、このリンクの始点の情報(前段モジュールの物理モジュールIDと出力端子番号の組)、終点の情報(後段モジュールの物理モジュールIDと入力端子番号の組)、接続区分(全パケット処理モジュール間の接続か、制御情報処理モジュール間の接続か)を登録する(ステップ1212)。
一方、前後のモジュールの処理区分が異なる場合には、データ分離/結合部60を介してモジュール間を接続する必要がある。つまり、前段モジュールからデータ分離/結合部60までのリンク及びデータ/分離結合部60から終点モジュールまでのリンクの、二つのサブリンクを作成する必要がある。この場合、まず、ステップ1212で、接続の向きが検査される。具体的には、全パケット処理モジュールから制御情報処理モジュールへの接続であるかが判定される。その結果、前段モジュールが全パケット処理モジュールであり、後段モジュールが制御情報処理モジュールである場合、ステップ1214に進む。一方、前段モジュールが制御情報処理モジュールであり、後段モジュールが全パケット処理モジュールである場合、ステップ1213に進む。
ステップ1214では、まず、データ分離/結合機能管理表2030を参照し、分離側の未使用のポート番号を取得し(ステップ1214)、取得した番号のポートを使用状態に変更する(ステップ1216)。これにより、データ/制御情報分離部61のポートが割り当てられる。その後、前段モジュールの出力からデータ/制御情報分離部61の入力ポートへのサブリンクの始点及び終点の情報を、接続管理表2040に登録する(ステップ1218)。この場合、終点のモジュールはデータ/制御情報分離部61であり、物理モジュールIDはM1であり、端子番号は先に割り当てたしたポートの番号であり、接続区分は「全パケット」である。
さらに、ステップ1221でサブリンクの残りの部分、すなわち、データ/制御情報分離部61の出力から後段モジュールの入力へのサブリンクの始点及び終点情報が、同様に、接続管理表2040の別の接続として登録される。この場合の接続区分は「制御情報」である。
一方、ステップ1212において、制御情報処理モジュールから全パケット処理モジュールへの接続である場合、前述と同様の手順でリンクが作成される。ステップ1213では、まず、データ分離/結合機能管理表2030を参照し、結合側の未使用ポートを取得し(ステップ1213)、取得した番号のポートを使用状態に変更して、データ/制御情報結合部63のポートを割り当てる(ステップ1215)。その後、前段モジュールの出力からデータ/制御情報結合部63の入力ポートへのサブリンクの始点及び終点の情報を接続管理表2040に登録し(ステップ1217)、データ/制御情報結合部63の出力ポートから後段モジュールの入力へのサブリンクの始点及び終点の情報を接続管理表2040に登録する(ステップ1219)。この場合、前者の接続区分は「制御情報」、後者の接続区分は「全パケット」となる。
以上に説明した処理によって、全パケット処理モジュール、制御情報処理モジュールを有するノードにおいて、同一の処理区分のモジュール間だけでなく、異なる処理区分のモジュール間についても、モジュール間の任意の接続を実現することができる。
(3)モジュール設定情報作成、変更
図10は、第1の実施形態のモジュール設定情報変更処理の詳細なフローチャートである。
まず、管理者が設定情報を入力すると、ノード管理部80は、当該入力を受け付け(ステップ1301)、入力された設定情報をモジュール管理表2020に登録する(ステップ1302)。その後、モジュール間の帯域が整合するかを検査し、必要な場合は警告が表示される(ステップ1303〜1309)。この処理は、モジュール間接続処理のステップ1202〜1208と同じである。なお、変更されるモジュールに接続されている前段のモジュール及び後段のモジュールの両方について、帯域が検査される。なお、モジュール間が接続される前に、設定情報の変更が指示された場合は、帯域は検査しなくてもよい。
(スイッチ設定情報作成)
図15は、第1の実施形態のスイッチ設定情報作成処理の詳細なフローチャートであり、メインフローのステップ1002の詳細を示す。図15に示すスイッチ設定情報作成処理では、接続管理表2040(図14)からスイッチ設定管理表2060(図17)を作成する。
まず、ステップ1002の前のステップ1001において、管理者により、設計図(必要なモジュールの選択、モジュールの設定、モジュール間の接続)が入力され、必要なモジュール間接続の一覧を示す接続管理表2040が作成されている。ステップ1002では、スイッチの入力端子と出力端子との接続を示す情報を作成し、スイッチ設定管理表2060に格納する。
図17に示すように、スイッチ設定管理表2060は、接続管理表2040で示す各接続毎にスイッチの設定が登録され、接続ID2061、スイッチ区分2062、始点2063及び終点2064の情報を含む。なお、スイッチ設定管理表2060は表形式で説明するが、他の形式で構成してもよい。
接続ID2061は、ノード管理部80が接続を一意に識別するための識別子であり、接続管理表2040の接続ID2041と同じ識別子を使用する。スイッチ区分2062は、接続が全パケット処理を行うスイッチ20を経由して接続されるか、制御情報処理を行うスイッチ30を経由して接続されるかを示し、接続管理表2040の接続区分2044と同じ情報を使用する。始点2063は、接続の始点となる物理モジュールIDとモジュールの端子番号の組であり、終点2064は、接続の終点となる物理モジュールIDとモジュールの端子番号の組であり、この入力と出力とがスイッチ内で接続される。
例えば、接続IDがL1のリンクは全パケット処理モジュール接続用のスイッチ20の入力端子1と出力端子201とをスイッチ内で接続することにより実現される。接続IDがL2のリンクは制御情報処理モジュール接続用のスイッチ30の入力端子1と出力端子51とをスイッチ内で接続することにより実現される。
スイッチの各入出力端子に接続されているモジュールの情報は、スイッチ設定管理表2060を作成するために必要であり、この情報はスイッチ接続情報管理表2050(図16)が提供する。
図16に示すように、スイッチ接続情報管理表2050は、スイッチ区分2051、番号2052、分類2053及び接続モジュール2054の情報を含む。なお、スイッチ接続情報管理表2050は表形式で説明するが、他の形式で構成してもよい。
スイッチ区分2051は、全パケット処理モジュール間を接続するスイッチ20を経由して接続されるか、制御情報処理モジュール間を接続するスイッチ30を経由して接続されるかを示し、接続管理表2040の接続区分2044と同じ情報を使用する。番号2052は、スイッチの入出力端子の番号である。分類2053は、データが入力されるか、データが出力されるかを区別する。接続モジュール2054は、スイッチの入出力端子に接続されているモジュールの入出力端子を示し、物理モジュールIDとモジュールの端子番号の組で表される。
例えば、全パケット処理モジュール接続用のスイッチ20の端子1は入力であり、物理モジュールP1の出力O1(入出力ポート1番の往復分離器P1の出力O1、すなわち、ポート1への入力信号)に接続されていることを示す。図16の一番下のエントリでは、制御情報処理モジュール接続用のスイッチ30の端子51は出力であり、物理モジュールC1の入力I1に接続されていることを示す。
このスイッチ接続情報管理表2050は、ノードのベンダ等がノードハードウェア構成(入出力ポート、各モジュールプールの構成)を決める際に作成される。ノードの各モジュールがオプションカードにより提供され、増設可能な構成になっている場合は、ノード管理部80は、I/Oカードの自動認識と同様の技術によって、モジュールプールの構成を自動的に認識し、スイッチ接続情報管理表2050を自動的に作成することもできる。
次に、図15を用いて、スイッチ設定情報作成処理について説明する。
まず、ノード管理部80は、接続管理表2040より、今回スイッチを設定する接続を選択する(ステップ1401)。選択された接続の始点及び終点(物理モジュールIDとモジュールの端子番号の組)の情報と、スイッチ接続情報管理表2050の情報とを比較し、選択された接続の始点及び終点が接続されているスイッチの端子番号を取得する(ステップ1402)。そして、取得した端子番号の組み合わせをスイッチ設定管理表2060に登録する(ステップ1403)。そして、接続管理表2040の全エントリについて処理が完了するまで、ステップ1401〜1403の処理を繰り返し実行する(ステップ1404)。
以上の処理によって、管理者が入力した設計図を実現するためのスイッチの接続を設定するための設定情報を生成することができる。そして、生成されたスイッチの設定情報(スイッチ設定管理表2060)と、管理者が入力したモジュールの設定情報(モジュール管理表2020)は、構成情報ストレージ70に保持され、さらに、ノード1の電源投入時に各モジュール及びスイッチに設定される(ステップ1003、1004)。以上の処理によって、ノード1の設定が終了する。
以上に説明したように、第1の実施形態では、複数のモジュールを柔軟に組み合わせてノードを構成し、制御情報のみを取り扱うモジュール間でバッファメモリを共有し、パケットのデータと制御情報との分離及び結合を共通化することによって、処理のオーバヘッド及びハードウェア量を削減することができる。
さらに、ノード内に設けたスイッチがモジュール間を接続することによって、ノード単体でモジュール間を柔軟に接続することができる。また、モジュール間をケーブルで接続するための入出力インタフェースが不要になるため、消費電力を低減することができる。
<実施形態2>
前述した第1の実施形態では、スイッチの設計図入力時に、必要なモジュールに空きが無い場合は、モジュール選択メニューに表示されない。このため、管理者が使用可能なモジュールの中から代替モジュールを選択する必要があった。第2の実施形態では、ノード管理部80が、代替可能なモジュールを自動的に選択することによって、設計時の管理者の負担を低減する。このため、第2の実施形態のノード管理部80は代替モジュール管理表2070を有する。
図19は、第2の実施形態の代替モジュール管理表2070の構成の一例を説明する図である。
代替モジュール管理表2070は、モジュール種別ID2071及び代替モジュールのモジュール種別ID2072の情報を含み、モジュール種別ID毎に代替モジュールとして使用可能なモジュールの種別IDを示す。例えば、モジュール種別IDがFのモジュールの代替モジュールとして、モジュール種別IDがD又はEのモジュールが使用できることが示されている。
次に、図18を用いて、第2の実施形態のモジュール選択処理について説明する。第2の実施形態において、図18に示すモジュール選択処理が、図8に示すモジュール選択処理の代わりに実行される。
モジュール選択時には、モジュール管理表2020を参照し、使用可能な(物理モジュールの一つ以上が未使用である)モジュールの一覧(例えば、モジュール種別ID)を取得する(ステップ1101)。
次に、モジュール管理表2020から取得したモジュール種別IDに対応するモジュール名をモジュールスペック管理表2010から取得し(ステップ1102)、取得した使用可能なモジュール名の一覧をメニュー(図4の97)に表示する(ステップ1103)。これにより、管理者は使用可能なモジュールのみを選択可能になる。管理者が使用したいモジュールが使用不可能な場合は、以下の何れかを実施してもよい。
(1)使用可能なモジュールから代替可能なモジュールを選択する。
(2)該当するモジュールを使用しないように設計を変更する。
(3)モジュールが不足するため、ノードの構築を断念する(別途、ハードウェアを増強する必要がある)。
その後、管理者がGUI上でメニューからモジュール名を選択すると、ノード管理部80は当該選択を受け付け(ステップ1104)、モジュールスペック管理表2010を参照して、選択されたモジュールのモジュール種別IDを取得する(ステップ1105)。
その後、モジュール管理表2020を参照し、未使用の物理モジュールを検索する(ステップ1501)。未使用のモジュールがある場合は(ステップ1501でYes)、この未使用の物理モジュールを一個、モジュール管理表2020から選択し(ステップ1106)、選択された物理モジュールの使用有無2023を使用中に変更する(ステップ1107)。さらに、ノード管理部80が割り当てた論理モジュールIDをモジュール管理表2020の論理モジュールID2025に登録し(ステップ1108)、GUI上にモジュールを表示する(ステップ1109)。
一方、ステップ1507において、未使用のモジュールが見つからなかった場合は(ステップ1501でNo)、代替モジュールを選択する必要がある。そのため、代替モジュール管理表2070を検索し、該当するモジュールの代わりに使用可能な代替モジュールのモジュール種別IDを取得する(ステップ1502)。未検索の代替モジュールがある場合は(ステップ1503)、該当するモジュールを未使用モジュールの検索対象に追加し(ステップ1504)、ステップ1501の未使用モジュールの検索に戻る。
未検索の代替モジュールについて、ステップ1501〜1504の処理を繰り返す。ステップ1502において、未検索の代替モジュールが見つからなかった場合(例えば、図19に示す代替モジュール管理表2070において、モジュール種別IDがD及びEの物理モジュールに未使用モジュールがなかった場合)、要求されたモジュールが無いことを示すエラーメッセージを出力する(ステップ1505)。その後、管理者は、以下の何れかを実施してもよい。
(1)使用可能なモジュールから代替可能なモジュールを選択する。
(2)該当するモジュールを使用しないように設計を変更する。
(3)モジュールが不足するため、ノードの構築を断念する。
前述した処理によって、ノード内でモジュールを割り当てる際に、管理者が指定したモジュールが使用中である場合にも、代替として使用できるモジュールを推奨することができる。
次に、本発明の実施形態の変形例について説明する。
<変形例1>
前述した実施形態では、データ分離/結合部60がパケットのデータ部と制御情報(ヘッダ部)とを分離し、データ部をバッファメモリ62に格納した、しかし、データ部と制御情報とを分離することなく、制御情報を含めた全パケットのデータをバッファメモリ62に格納してもよい。このようにすると、データ/制御情報結合部63は、制御情報に対応するパケットをバッファメモリ62から読み出せばよく、データと制御情報を結合する処理を省略することができる。
さらに、単に制御情報を分離するのではなく、制御情報に付随させてデータ部の最初の部分を出力してもよい。このようにすると、L7負荷分散装置等、データ部の一部を使用して処理を行うモジュールを、制御情報処理側のモジュールとして扱うことができる。
<変形例2>
前述した実施形態では、データ分離/結合部60が、パケットのデータ部と制御情報(ヘッダ部)とを分離する処理を実行している。この分離処理は、ネットワークの任意のレイヤのデータを分離する処理によって、行うことができる。また、EoE(Ether on Ether)において、ペイロード部分を抽出する処理によって、分離処理を実行することもできる。換言すると、本実施形態において前述したノードの処理は、異なるレイヤの処理を行うモジュールを持つノードにおいて、モジュール間を柔軟に接続するための機能として使用することがきる。
なお、データ分離/結合部60をレイヤ毎に設けることによって、各レイヤの制御情報を抽出することができ、複数のレイヤの制御情報を処理することができる。
<変形例3>
前述した実施形態では、制御情報のみを処理するモジュール間で、パケット本体を格納するバッファメモリを共有し、パケットのデータ/制御情報の分離及び結合を共通化している。このため、処理のオーバヘッド及びハードウェア量を削減するためには、制御情報処理モジュールを、複数連続して接続することが望ましい。すなわち、制御情報処理モジュールが連続して配置されない場合は、従来と同等のオーバヘッドになるが、連続して接続される制御情報処理モジュールが多い場合は、オーバーヘッド削減の効果が大きくなる。
例えば、図5に示す設計図において、モジュールC(制御情報処理)、モジュールD(制御情報処理)及びモジュールA(全パケット処理)が、入出力ポート1から入出力ポート2へのパス上に配置され、モジュールC及びDの制御情報処理モジュールが連続して配置されている。このため、モジュールC及びDの間でパケット分離・結合をする必要がなく、オーバヘッドを削減することができる。
なお、例えば、モジュールの接続順序がC、A、Dである場合は、データ/制御情報の分離及び結合のオーバヘッドを削減することができない。この場合、モジュールの接続順序をC、D、Aに変更することができれば、オーバヘッドを削減するうえで望ましい。しかし、モジュールの順序の変更可否を判定するためにはノードの処理内容の知識が必要なので、管理者がモジュールの順序を変更する必要がある。このため、上記のように、処理順序の変更によって処理が効率化する場所を、管理者に警告できるとよい。
前述した警告機能を実現するために、ノード管理部80は、接続管理表2040を検査し、制御情報処理モジュールが連続して接続されていない部分及び全パケット処理モジュールが連続して接続されていない部分を指摘する。
具体的には、下記ステップを行う。
(1)物理モジュールを一個選択する。
(2)選択した物理モジュールの入力側に接続されている前段のモジュールの物理モジュールIDを取得する。
(3)選択した物理モジュールの出力側に接続されている後段のモジュールの物理モジュールIDを取得する。
(4)(2)(3)で取得した前段及び後段のモジュールの物理モジュールIDの両方が、データ分離/結合部60内のモジュールである場合、(1)で選択したモジュールについて「モジュールの種別が連続していない」旨を警告する。
(5)全ての物理モジュールについて、(1)〜(4)の処理を繰り返す。
前述した処理によって、データ分離/結合部60に挟まれ、同一の処理区分(全パケット処理、制御情報処理)が連続していないモジュールについて警告を出力することができる。
<変形例4>
前述した実施形態では、スイッチ20、30は入力端子と出力端子とを一対一で接続している。しかし、スイッチは、一つの入力を複数の出力端子に出力することが可能である。本発明は、このような一対多又は多対一の接続もサポートできる。その場合、接続管理表2040、スイッチ設定管理表2060において、一つの始点と複数の終点とを対応させ、又は、複数の始点と一つの終点とを対応させる。これにより、例えば、信頼性を向上するために、パケットのデータを複数のモジュールに送ったり、マルチキャストしたりする機能を実現することができる。
<変形例5>
前述した実施形態では、全パケット処理モジュール間を接続するスイッチ20と、制御情報処理モジュール間を接続するスイッチ30とを、物理的に異なるスイッチによって構成した。しかし、二つのスイッチ20、30を物理的に一つのスイッチで実現することもできる。その場合、データ分離/結合部60を含む全てのモジュールが一つのスイッチに接続され、スイッチ接続情報管理表2050及びスイッチ設定管理表2060において、スイッチ区分の情報が不要になる。なお、一つのスイッチで実現した場合でも、モジュール間のデータフローは同一である。
10、11 入出力ポート
15、16 往復分離部
20、30 スイッチ
40、50 モジュールプール
60 データ分離/結合部
70 構成情報ストレージ
80 ノード管理部
90 コンソール

Claims (13)

  1. ネットワークパケットを処理するネットワークノードであって、
    前記ネットワークパケットを処理する複数の処理モジュールと、
    前記ネットワークパケットの一部又は全部を格納するバッファメモリと、
    前記ネットワークパケットを制御するための制御情報を前記ネットワークパケットから分離し、前記ネットワークパケットのデータ部分を含む一部又は前記ネットワークパケットの全部を前記バッファメモリに書き込むデータ分離モジュールと、
    前記バッファメモリに格納されたネットワークパケットの一部又は全部を読み出し、前記制御情報と結合するデータ結合モジュールと、
    前記処理モジュール、前記データ分離モジュール及び前記データ結合モジュールの間の接続を切り替え可能なスイッチと、
    前記複数の処理モジュールを接続するための情報を前記スイッチに設定するノード管理部と、を備え、
    前記複数の処理モジュールの少なくとも一つが、前記ネットワークパケットから分離された制御情報を用いて前記ネットワークパケットを処理し、
    前記データ結合モジュールは、前記バッファメモリに格納されたネットワークパケットの一部又は全部と前記制御情報とを結合することによって、前記処理の結果を前記ネットワークパケットに反映し、
    前記ノード管理部は、入力された前記ネットワークノードの設計情報に基づいて、前記複数の処理モジュールから必要な処理モジュールを選択し、前記選択された処理モジュールの接続を決定することを特徴とするネットワークノード。
  2. 前記複数の処理モジュールは、前記ネットワークパケットから分離された制御情報を用いて前記ネットワークパケットを処理し、
    前記データ分離モジュールは、前記複数の処理モジュールによって処理される前記制御情報を、前記ネットワークパケットから分離し、
    前記データ結合モジュールは、前記複数の処理モジュールによって処理された前記制御情報を、前記バッファメモリに格納されたネットワークパケットの一部又は全部と結合し、
    前記複数の処理モジュール間では、各処理モジュールによって処理された制御情報のみが転送されることを特徴とする請求項1に記載のネットワークノード。
  3. 前記複数の処理モジュールは、前記ネットワークパケットの全体を用いて処理を行う少なくとも一つの第1の処理モジュールと、前記ネットワークパケットの制御情報を用いて処理を行う少なくとも一つの第2の処理モジュールとを含み、
    前記スイッチは、
    前記第1の処理モジュールが前記データ分離モジュールより前段、又は、前記データ結合モジュールより後段に位置するように、前記各モジュールを接続し、
    前記第2の処理モジュールが前記データ分離モジュールより後段、かつ、前記データ結合モジュールより前段に位置するように、前記各モジュールを接続することを特徴とする請求項1に記載のネットワークノード。
  4. 前記スイッチは、前記第1処理モジュール、前記データ分離モジュール及び前記データ結合モジュールの間を接続する第1のスイッチと、前記第2処理モジュール、前記データ分離モジュール及び前記データ結合モジュールの間を接続する第2のスイッチと、を含むことを特徴とする請求項3に記載のネットワークノード。
  5. 前記スイッチ内で接続される入出力端子を対応付けたスイッチ設定管理情報を格納することを特徴とする請求項1に記載のネットワークノード。
  6. ネットワークパケットを処理するネットワークノードを設定するノード管理部において実行されるネットワークノードの設定方法であって、
    前記ネットワークノードは、前記ネットワークパケットを処理する複数の処理モジュールと、前記ネットワークパケットの一部又は全部を格納するバッファメモリと、前記ネットワークパケットを制御するための制御情報を前記ネットワークパケットから分離し、前記ネットワークパケットのデータ部分を含む一部又は前記ネットワークパケットの全部を前記バッファメモリに書き込むデータ分離モジュールと、前記バッファメモリに格納されたネットワークパケットの一部又は全部を読み出し、前記制御情報と結合するデータ結合モジュールと、前記処理モジュール、前記データ分離モジュール及び前記データ結合モジ
    ュールの間の接続を切り替え可能なスイッチと、を有し、
    前記ノード管理部は、プログラムを実行するプロセッサと、前記プロセッサによって実行されるプログラムを格納するメモリと、を有し、
    前記方法は、
    前記ネットワークノードの設計情報の入力を受け付ける第1の手順と、
    前記入力された設計情報に基づいて、前記複数の処理モジュールから必要な処理モジュールを選択する第2の手順と、
    前記選択された処理モジュールの接続を決定する第3の手順と、
    前記決定された接続を前記スイッチに設定するための情報を生成する第4の手順と、を含むネットワークノードの設定方法。
  7. 前記第3の手順では、前記処理モジュールの種類に基づいて、前記データ分離モジュール及び前記データ結合モジュールを接続する位置を決定することを特徴とする請求項6に記載のネットワークノードの設定方法。
  8. 前記第3の手順では、
    前記複数の処理モジュールが、前記ネットワークパケットから分離された制御情報を用いて前記ネットワークパケットを処理し、
    前記データ分離モジュールが、前記複数の処理モジュールによって処理される前記制御情報を、前記ネットワークパケットから分離し、
    前記データ結合モジュールが、前記複数の処理モジュールによって処理された前記制御情報を、前記バッファメモリに格納されたネットワークパケットの一部又は全部と結合し、
    前記複数の処理モジュール間では、各処理モジュールによって処理された制御情報のみが転送されるように、前記処理モジュールの接続を決定することを特徴とする請求項7に記載のネットワークノードの設定方法。
  9. 前記複数の処理モジュールは、前記ネットワークパケットの全体を用いて処理を行う少なくとも一つの第1の処理モジュールと、前記ネットワークパケットの制御情報を用いて処理を行う少なくとも一つの第2の処理モジュールとを含み、
    前記第3の手順では、
    前記第1の処理モジュールが前記データ分離モジュールより前段、又は、前記データ結合モジュールより後段に位置するように、前記各モジュールを接続し、
    前記第2の処理モジュールが前記データ分離モジュールより後段、かつ、前記データ結合モジュールより前段に位置するように、前記各モジュールを接続するように、前記処理モジュールの接続を決定することを特徴とする請求項7に記載のネットワークノードの設定方法。
  10. 前記複数の処理モジュールは、前記ネットワークパケットの全体を用いて処理を行う少なくとも一つの第1の処理モジュールと、前記ネットワークパケットの制御情報を用いて処理を行う少なくとも一つの第2の処理モジュールとの二つの種類に分類され、
    前記第3の手順では、
    前段の処理モジュールの種類と後段の処理モジュールの種類とが同一であるか否かを判定し、
    両処理モジュールの種類が同一である場合、前記データ分離モジュール及び前記データ結合モジュールを挟まずに、前記前段の処理モジュールと前記後段の処理モジュールとを接続することを特徴とする請求項7に記載のネットワークノードの設定方法。
  11. 前記複数の処理モジュールは、前記ネットワークパケットの全体を用いて処理を行う少なくとも一つの第1の処理モジュールと、前記ネットワークパケットの制御情報を用いて処理を行う少なくとも一つの第2の処理モジュールとの二つの種類に分類され、
    前記第3の手順では、
    前段の処理モジュールの種類と後段の処理モジュールの種類とが同一であるか否かを判定し、
    前記前段の処理モジュールが第1の処理モジュールであり、前記後段の処理モジュールが第2の処理モジュールである場合、前記前段の処理モジュールと前記後段の処理モジュールとを前記データ分離モジュールを挟んで接続し、
    前記前段の処理モジュールが第2の処理モジュールであり、前記後段の処理モジュールが第1の処理モジュールである場合、前記前段の処理モジュールと前記後段の処理モジュールとを前記データ結合モジュールを挟んで接続することを特徴とする請求項7に記載のネットワークノードの設定方法。
  12. 前記第3の手順では、
    前段の処理モジュールの出力の仕様と、当該処理モジュールに直接接続される後段の処理モジュールの入力の仕様とが整合するかを判定し、
    前記出力の仕様と前記入力の仕様とが整合しない場合、当該接続に警告情報を付すことを特徴とする請求項6に記載のネットワークノードの設定方法。
  13. 前記ノード管理部は、前記処理モジュールの代替となる処理モジュールの情報を含む代替情報を管理し、
    前記第2の手順では、前記入力された設計情報に基づいて選択されるべき処理モジュールが使用できない場合、前記代替情報を参照して、当該選択されるべき処理モジュールの代替となる処理モジュールを提案する情報を生成することを特徴とする請求項6に記載のネットワークノードの設定方法。
JP2012073683A 2012-03-28 2012-03-28 ネットワークノード及びネットワークノードの設定方法 Expired - Fee Related JP5760252B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012073683A JP5760252B2 (ja) 2012-03-28 2012-03-28 ネットワークノード及びネットワークノードの設定方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012073683A JP5760252B2 (ja) 2012-03-28 2012-03-28 ネットワークノード及びネットワークノードの設定方法

Publications (2)

Publication Number Publication Date
JP2013207507A JP2013207507A (ja) 2013-10-07
JP5760252B2 true JP5760252B2 (ja) 2015-08-05

Family

ID=49526203

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012073683A Expired - Fee Related JP5760252B2 (ja) 2012-03-28 2012-03-28 ネットワークノード及びネットワークノードの設定方法

Country Status (1)

Country Link
JP (1) JP5760252B2 (ja)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000253053A (ja) * 1999-02-25 2000-09-14 Hitachi Ltd ネットワークシステム
US6724759B1 (en) * 2000-08-11 2004-04-20 Paion Company, Limited System, method and article of manufacture for transferring a packet from a port controller to a switch fabric in a switch fabric chipset system
JP2005260679A (ja) * 2004-03-12 2005-09-22 Nippon Telegr & Teleph Corp <Ntt> サービスノード及びサービス処理方法
JP2007228227A (ja) * 2006-02-23 2007-09-06 Fujitsu Ltd 通信装置
WO2009148021A1 (ja) * 2008-06-03 2009-12-10 株式会社日立製作所 パケット解析装置

Also Published As

Publication number Publication date
JP2013207507A (ja) 2013-10-07

Similar Documents

Publication Publication Date Title
CN109074330B (zh) 网络接口卡、计算设备以及数据包处理方法
CN109479028B (zh) 网络接口卡、计算设备以及数据包处理方法
CN105765926B (zh) 可配置的服务代理映射方法、装置及存储介质
JP4900088B2 (ja) パケット転送装置
US9083645B2 (en) Systems and methods providing reverse path forwarding compliance for a multihoming virtual routing bridge
US9148368B2 (en) Packet routing with analysis assist for embedded applications sharing a single network interface over multiple virtual networks
RU2595963C2 (ru) Система коммутации и способ пересылки данных
US9077659B2 (en) Packet routing for embedded applications sharing a single network interface over multiple virtual networks
CN113132229B (zh) 段标识的确定方法和设备
WO2015073190A1 (en) Shortening of service paths in service chains in a communications network
JP5111256B2 (ja) 通信システムおよびサーバ装置
EP2924934B1 (en) Ethernet switch and method for establishing forwarding patterns in an ethernet switch
WO2017101114A1 (zh) 一种数据中心网络组网的方法以及数据中心网络
WO2021135792A1 (zh) 数据转发方法、转发器、系统、服务器和存储介质
CN114039764A (zh) 基于软件定义安全的安全服务功能链设计方法及系统
JP5760252B2 (ja) ネットワークノード及びネットワークノードの設定方法
JP6586374B2 (ja) 通信装置、経路管理サーバ、通信方法、および仮想ポート割当方法
CN109150707A (zh) 路由路径分析方法及设备
US10063420B2 (en) Network control apparatus, network system, network control method, and program
CN105119824B (zh) 一种报文转发方法和装置
EP4407447A1 (en) Mapping relationship generation method and apparatus and storage medium
US9031065B2 (en) Switch having dedicated stacking link
CN109062787A (zh) 一种基于申威架构的进程间通信的统计调试方法及装置
CN109587095A (zh) 信息安全控制方法、装置和系统

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140604

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150209

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150331

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150415

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150514

R150 Certificate of patent or registration of utility model

Ref document number: 5760252

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees