JP4309359B2 - Packet communication apparatus and function expansion method thereof - Google Patents
Packet communication apparatus and function expansion method thereof Download PDFInfo
- Publication number
- JP4309359B2 JP4309359B2 JP2005065492A JP2005065492A JP4309359B2 JP 4309359 B2 JP4309359 B2 JP 4309359B2 JP 2005065492 A JP2005065492 A JP 2005065492A JP 2005065492 A JP2005065492 A JP 2005065492A JP 4309359 B2 JP4309359 B2 JP 4309359B2
- Authority
- JP
- Japan
- Prior art keywords
- program
- packet
- nif
- network interface
- node
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/56—Routing software
- H04L45/566—Routing instructions carried by the data packet, e.g. active networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/563—Data redirection of data network streams
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
本発明は、ネットワーク上でパケットを転送するパケット通信装置に関し、特に、パケット通信装置の機能を拡張する技術に関する。 The present invention relates to a packet communication device that transfers a packet on a network, and more particularly to a technique for extending the function of the packet communication device.
パケット通信を行うネットワークは、通信装置、端末及びリンクで構成される。通信装置は、パケットを中継する。端末は、ネットワークの末端でパケットを送受信する。リンクは、端末と通信装置とを接続する。 A network that performs packet communication includes a communication device, a terminal, and a link. The communication device relays the packet. The terminal transmits and receives packets at the end of the network. The link connects the terminal and the communication device.
例えば、端末が、パケットを目的の端末へ送信する。すると、パケット通信装置は、当該パケットを目的の端末へ中継する。そして、目的の端末が、当該パケットを受信する。 For example, the terminal transmits the packet to the target terminal. Then, the packet communication device relays the packet to the target terminal. Then, the target terminal receives the packet.
パケット通信装置は、受信したパケットから宛先を抽出する。次に、抽出した宛先に対応する次の転送先を経路表から検索する。そして、パケットに中継時の処理を実行した後に、検索した次の転送先へパケットを送信する。 The packet communication device extracts a destination from the received packet. Next, the next transfer destination corresponding to the extracted destination is searched from the routing table. Then, after executing processing at the time of relaying the packet, the packet is transmitted to the next transfer destination searched.
現在のパケット通信装置は、パケット中継時の処理をハードウェアによって実行している。よって、パケット中継時の処理を変更する場合、パケット通信装置の全体を交換する必要がある。しかし、パケット通信装置全体の交換では、コスト的に問題がある。また、迅速な対応が困難である。 Current packet communication devices execute processing at the time of packet relay by hardware. Therefore, when changing the processing at the time of packet relay, it is necessary to replace the entire packet communication apparatus. However, there is a problem in cost in exchanging the entire packet communication device. In addition, quick response is difficult.
この問題を解決する、パケット処理装置が知られている(例えば、特許文献1及び特許文献2参照。)。
Packet processing apparatuses that solve this problem are known (see, for example,
特許文献1に記載されているパケット処理装置は、パケットの種類とそれに対応した処理のテーブルをパケット処理装置のネットワークインタフェース(NIF)上に備える。そして、パケット処理装置に新たな拡張部位(機能拡張モジュール)が追加されると、NIFは、当該テーブルを書き換える。これによって、NIFは、外部から受信したパケットを機能拡張モジュールへ転送する。
The packet processing apparatus described in
また、特許文献2に記載されているパケット処理装置は、特許文献1に記載されているパケット処理装置と同様のテーブルをNIF上に備える。更に、NIFは、外部からパケットを受信すると、受信したパケットに固定長のヘッダを複数付与する。これによって、NIFは、受信したパケットを複数の機能拡張モジュールに転送できる。
Further, the packet processing device described in
しかし、従来のパケット処理装置では、NIFは、パケットの転送処理だけを行う。また、機能拡張モジュールは、NIFに比べて高機能な処理を行う。 However, in the conventional packet processing apparatus, the NIF performs only packet transfer processing. In addition, the function expansion module performs processing with higher functionality than the NIF.
例えば、NIFは、外部から受信したパケットの大部分を機能拡張モジュールに転送する場合で考える。すると、機能拡張モジュールがボトルネックとなってしまい、パケット処理装置全体のスループットが低下してしまうという問題があった。 For example, NIF considers the case where most of the packets received from the outside are transferred to the function expansion module. Then, the function expansion module becomes a bottleneck, and there is a problem that the throughput of the entire packet processing device is lowered.
この問題を解決するために、機能拡張モジュールの処理を軽減するプログラムをすべてのNIFにプリインストールする技術が知られている。 In order to solve this problem, a technique for preinstalling a program for reducing the processing of the function expansion module in all NIFs is known.
また、機能拡張モジュールがパケットを処理するために必要な情報を、NIFで付与した後、機能拡張モジュールへ転送する場合がある。特に、このような情報が機能拡張モジュールの種類によって異なる場合には、機能拡張モジュールを追加するたびに、管理者がNIFの設定やソフトウェアを更新しなければならないという問題があった。
機能拡張モジュールの処理を軽減するプログラムをすべてのNIFにプリインストールするパケット処理装置は、適用できる機能拡張モジュールの種類が限られてしまう。また、当該パケット処理装置は、新たに必要となった処理を実行する機能拡張モジュールに対応できない。また、当該パケット処理装置のNIFは、不必要となったプログラムも記憶しているため、メモリリソースの効率が悪かった。 A packet processing apparatus that pre-installs a program for reducing processing of the function expansion module in all NIFs is limited in the types of function expansion modules that can be applied. In addition, the packet processing apparatus cannot support a function expansion module that executes a newly required process. In addition, since the NIF of the packet processing apparatus also stores unnecessary programs, the efficiency of memory resources is poor.
そこで、本発明は、これらの問題を解決するパケット通信装置を提供することを目的とする。 Therefore, an object of the present invention is to provide a packet communication apparatus that solves these problems.
本発明は、装置を制御するノード管理用プロセッサと、外部ネットワークとの間でパケットを送受信するネットワークインタフェースと、前記パケットに所定の処理を行う機能拡張モジュールと、前記パケットを装置内で転送するスイッチと、を備えるパケット通信装置において、前記ネットワークインタフェースは、CPUとメモリとを備え、前記メモリは、前記CPUが実行するプログラムを記憶し、前記CPUは、該プログラムを実行することによって、前記外部ネットワークから受信したパケットを処理し、前記機能拡張モジュールは、前記メモリに記憶されるプログラムを記憶していることを特徴とする。 The present invention includes a node management processor that controls a device, a network interface that transmits and receives packets to and from an external network, a function expansion module that performs predetermined processing on the packets, and a switch that transfers the packets within the device The network interface includes a CPU and a memory, and the memory stores a program executed by the CPU, and the CPU executes the program to execute the external network. The function expansion module stores a program stored in the memory.
本発明のパケット通信装置は、NIFにおいてパケット処理を行うプログラム更新することで、新たな機能拡張モジュールを追加できる。 The packet communication apparatus of the present invention can add a new function expansion module by updating a program that performs packet processing in the network interface.
また、パケット処理以外の機能を有するプログラムをNIFにインストールすることによって、パケット転送装置の管理負荷を低減できる。 Also, the management load on the packet transfer apparatus can be reduced by installing a program having functions other than packet processing in the network interface.
以下、本発明の実施の形態を図面を参照して説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.
図1−1は、本発明の実施の形態のパケット通信装置101のブロック図である。
1-1 is a block diagram of the
パケット通信装置101は、ノード管理用プロセッサ102、オペレータ制御端末103、ノード内メモリ104、ネットワークインタフェース(NIF)105、モジュールI/F106、制御用I/F107、機能拡張モジュール108及び内部スイッチ109を備える。
The
なお、NIF105、モジュールI/F106及び機能拡張モジュール108は、いくつ備えられていてもよい。
Note that any number of the
ノード管理用プロセッサ102は、パケット通信装置101の全体を管理する。
The
オペレータ制御端末103は、表示部(例えば、液晶ディスプレイ等)及び入力部(例えば、キーボード等)を備える計算機である。オペレータ制御端末103には、パケット通信装置101への指示がオペレータから入力される。また、オペレータ制御端末103は、入力された指示をノード管理用プロセッサ102へ送信する。
The
制御用I/F107は、ノード管理用プロセッサ102とオペレータ制御端末103とを接続するインタフェースである。なお、制御用I/F107とノード管理用プロセッサ102とは、直接接続されていてもよいし、内部スイッチ109を介して接続されていてもよい。
The control I /
ノード内メモリ104は、ノード管理用プロセッサ102に接続され、当該ノード管理用プロセッサ102が使用する情報を記憶する。なお、ノード内メモリ104とノード管理用プロセッサ102とは、直接接続されていてもよいし、内部スイッチ109を介して接続されていてもよい。
The
NIF105は、外部ネットワーク110とパケットを送受信する。また、NIF105は、パケットを送受信する機能を停止することなく、プログラムをインストールできる。同様に、NIF105は、パケットを送受信する機能を停止することなく、インストールされたプログラムを削除できる。また、NIF105は、インストールされたプログラムを実行することによって、受信したパケットに所定の処理を行う。所定の処理は、例えば、カプセル化処理、暗号化処理及び/又は複合化処理等である。
The
外部のネットワーク110は、ユーザネットワーク、ISP(インターネットサービスプロバイダ)網又はアクセス網等である。ユーザネットワークは、ユーザが直接接続するネットワークである。ISP網は、インターネットサーバが直接接続するネットワークである。インターネットサーバは、ユーザにインターネットサービスを提供する計算機である。アクセス網は、ユーザネットワークとISP網とを接続するネットワークである。
The
モジュールI/F106は、内部スイッチ109と機能拡張モジュール108とを接続するインタフェースである。
The module I /
なお、モジュールI/F106及び制御用I/F107は、NIF105と同等の機能を備えるインタフェースであってもよい。
The module I /
機能拡張モジュール108は、モジュールI/F106に着脱できる。また、機能拡張モジュール108は、モジュールI/F106に装着されると、パケット通信装置101に機能を提供する。
The
内部スイッチ109は、ノード管理用プロセッサ102、NIF105及びモジュールI/F106等を含む装置内の部位と接続する。また、内部スイッチ109は、フォワーディングテーブルを記憶する。フォワーディングテーブルは、パケットのヘッダ情報とパケットの転送先との対応を示す。
The
具体的には、内部スイッチ109は、接続する装置内の部位からパケットを受信する。次に、内部スイッチ109は、フォワーディングテーブルを参照して、受信したパケットの転送先を決定する。そして、内部スイッチ109は、決定した転送先の装置内の部位へ当該パケットを転送する。
Specifically, the
図1−2は、本発明の実施の形態のパケット通信装置101の内部におけるパケットの構成図である。
FIG. 1-2 is a configuration diagram of a packet inside the
パケット通信装置101の内部におけるパケット(内部パケット)113は、内部ヘッダ111及びペイロード112を含む。
A packet (internal packet) 113 inside the
内部ヘッダ111には、パケット通信装置101の内部のみで有効なアドレス(内部アドレス)などの情報が格納される。ペイロード112には、当該パケットの内容が格納される。
The
図2は、本発明の実施の形態のパケット通信装置101を適用したネットワークのブロック図である。
FIG. 2 is a block diagram of a network to which the
本説明図は、ユーザ端末201がインターネット202に接続するネットワークの典型的な構成を示す。このネットワークは、インターネット202、アクセス網203及びISP網205を含む。
This explanatory diagram shows a typical configuration of a network in which the
ユーザ端末201は、ISP網205を経由して、インターネット202に接続する計算機である。
The
インターネット202は、多数のサーバで構築されるネットワークである。
The
ISP網205は、インターネットサーバ207及びノード204を含む。インターネットサーバ207は、ユーザ端末201にインターネットサービスを提供する。ノード204は、ネットワーク上でパケットを転送する。
The
アクセス網203は、ユーザ端末201とISP網205とを接続するネットワークである。また、アクセス網203は、ノード204を含む。
The
更に、ISP網205に含まれるノード204及び/又はアクセス網203に含まれるノード204には、本実施の形態のパケット通信装置101を適用できる。この場合、パケット通信装置101は、インターネットサーバ207とユーザ端末201とを接続し、パケットを転送する。また、パケット通信装置101は、転送するパケットに所定の処理を行う。所定の処理は、例えば、パケットフィルタリング処理、認証処理及び/又は暗号化処理等である。
Furthermore, the
図3−1は、本発明の実施の形態のNIF105のブロック図である。
FIG. 3A is a block diagram of the
NIF105は、NIF管理用プロセッサ301、NIF内メモリ302、パケット処理用プロセッサ303、内部I/F305、外部I/F306及びNIF内部スイッチ307を備える。
The
外部I/F306は、n個を図示しているが、いくつであってもよい。
Although n external I /
NIF内部スイッチ307は、NIF管理用プロセッサ301、NIF内メモリ302、パケット処理用プロセッサ303、内部I/F305及び外部I/F306と接続する。
The NIF
NIF管理用プロセッサ301は、NIF105の全体を管理する。
The
NIF内メモリ302は、NIF管理用プロセッサ301が使用する情報を記憶する。また、NIF内メモリ302は、内部I/F305又は外部I/F306から受信したパケットを一時的に記憶する。
The in-
また、NIF内メモリ302は、図4−2で後述するフォワーディングテーブルを記憶する。フォワーディングテーブルは、パケットのヘッダ情報とパケットの転送先との対応を示す。更に、NIF内メモリ302で記憶するフォワーディングテーブルは、パケット処理用プロセッサ303がパケットを処理する内容も含む。
Further, the
パケット処理用プロセッサ303は、プログラム用メモリ304を含む。プログラム用メモリ304は、パケットを処理するプログラムが格納される。プログラム用メモリ304に格納されるプログラムは、例えば、カプセル化処理、暗号化処理及び/又は復号化処理等を行う。
The
また、プログラム用メモリ304に格納されるプログラムは、同一の規格で作成されることが好ましい。このようにすると、プログラム用メモリ304を効率的に利用できる。
The programs stored in the
パケット処理用プロセッサ303は、プログラム用メモリ304に格納されているプログラムを実行することによって、パケットに所定の処理を行う。
The
なお、プログラム用メモリ304に格納されるプログラムを変更することによって、パケット処理用プロセッサ303が実行する処理の内容を変更できる。
Note that the contents of processing executed by the
また、プログラム用メモリ304は、NIF内メモリ302に代わって、フォワーディングテーブル(図4−2)を記憶していてもよい。
The
内部I/F305は、内部スイッチ109とNIF内部スイッチ307とを接続するインタフェースである。
The internal I /
外部I/F306は、外部ネットワーク110とNIF内部スイッチ307とを接続するインタフェースである。
The external I /
ここで、外部I/F306からパケットを受信したNIF105の処理を説明する。
Here, processing of the
外部I/F306は、接続している外部ネットワーク110からパケットを受信する。すると、外部I/F306は、受信したパケットを、NIF内部スイッチ305を介してNIF内メモリ302に送信する。
The external I /
次に、NIF内メモリ302は、受信したパケットを記憶する。
Next, the in-
次に、パケット処理用プロセッサ303は、NIF内メモリ302が記憶したパケットの内容を解析する。そして、パケット処理用プロセッサ303は、当該パケットに対して、解析した内容に対応する処理を行う。
Next, the
例えば、パケット処理用プロセッサ303は、NIF内メモリ302が記憶したパケットをIPパケットと解析する。すると、パケット処理用プロセッサ303は、NIF内メモリ302が記憶するフォワーディングテーブル(図4−2)を参照して、当該パケットを外部に転送するNIF105を決定する。
For example, the
次に、パケット処理用プロセッサ303は、決定したNIF105の内部アドレスを当該パケットに付加する。そして、パケット処理用プロセッサ303は、内部アドレスを付加したパケットを、NIF内部スイッチ307及び内部I/F305を経由して、内部スイッチ109へ送信する。
Next, the
図3−2は、本発明の実施の形態の機能拡張モジュール108のブロック図である。
3-2 is a block diagram of the
機能拡張モジュール108は、モジュール内プロセッサ308、モジュール内メモリ309及びモジュール内部I/F310を備える。
The
モジュール内部I/F310は、パケットを内部スイッチ109と送受信するインタフェースである。
The module internal I /
モジュール内メモリ309は、モジュール内プロセッサ308が使用する情報(プログラムを含む。)を記憶する。更に、モジュール内メモリ309は、NIF105にインストールされるプログラムを記憶する。
The
モジュール内プロセッサ308は、モジュール内メモリ309が記憶するプログラムを実行することによって、モジュール内部I/F310から受信したパケットを処理する。また、モジュール内プロセッサ308は、機能拡張モジュール108の全体を管理する。
The
図4−1は、本発明の実施の形態のパケット通信装置101を構成する部位の内部アドレスの説明図である。
FIG. 4A is an explanatory diagram of internal addresses of parts constituting the
本実施の形態では、装置内のそれぞれの部位には、「1、2・・・」という内部アドレスが付与されている。 In the present embodiment, an internal address “1, 2,...” Is assigned to each part in the apparatus.
具体的には、ノード管理用プロセッサ102の内部アドレスは「1」である。また、内部スイッチの内部アドレスは「2」である。また、NIF(1)105の内部アドレスは「3」であり、NIF(2)105の内部アドレスは「4」である。また、モジュールI/F(1)106の内部アドレスは「7」であり、モジュールI/F(2)106の内部アドレスは「8」である。また、機能拡張モジュール(1)108の内部アドレスは「11」であり、機能拡張モジュール(2)108の内部アドレスは「12」であり
図4−2は、本発明の実施の形態のNIF(1)105のフォワーディングテーブル401の構成図である。
Specifically, the internal address of the
フォワーディングテーブル401は、ヘッダ情報402及び処理内容403を含む。
The forwarding table 401 includes
ヘッダ情報402は、宛先内部アドレス404、ペイロードタイプ405及びIPアドレス/プレフィックス長406を含む。
The
宛先内部アドレス404は、当該パケットを次に転送する装置内の部位の内部アドレスである。ペイロードタイプ405は、イーサネット(Ethernet)(登録商標、以下同じ)におけるヘッダ情報であり、ペイロードに格納された情報の種類である。IPアドレス/プレフィックス長406には、当該パケットの送信先のIPアドレスが格納される。更に、IPアドレス/プレフィックス長406には、当該IPアドレスのネットワークアドレス部の長さ(プレフィックス長)が格納される。
The destination
処理内容403は、当該レコードに該当するパケットをNIF(1)105が処理する内容である。処理内容には、当該パケットの転送先及び当該パケットを処理するプログラム名が格納される。
The
NIF(1)105は、内部I/F305又は外部I/F306からパケットを受信する。すると、NIF(1)105は、受信したパケットからヘッダを抽出する。次に、NIF(1)105は、抽出したヘッダとフォワーディングテーブル401のヘッダ情報402とが一致するレコードをフォワーディングテーブル401から選択する。次に、NIF(1)105は、選択したレコードから、処理内容403を抽出する。
The NIF (1) 105 receives a packet from the internal I /
次に、NIF(1)105は、抽出した処理内容403に格納されているプログラム名のプログラムを実行することによって、当該パケットを処理する。そして、NIF(1)105は、処理したパケットを、抽出した処理内容403に格納されている転送先へ送信する。
Next, the NIF (1) 105 processes the packet by executing a program having the program name stored in the extracted
図5−1は、本発明の実施の形態のノード管理用プロセッサ処理コード管理テーブル700の構成図である。 FIG. 5A is a configuration diagram of the node management processor processing code management table 700 according to the embodiment of this invention.
ノード管理用プロセッサ処理コード管理テーブル700は、ノード内メモリ104、NIF105のNIF内メモリ302及び機能拡張モジュール108のモジュール内メモリ309に記憶される。
The node management processor processing code management table 700 is stored in the
ノード管理用プロセッサ処理コード管理テーブル700は、ノード管理用プロセッサ処理コード701及び処理内容702を含む。
The node management processor processing code management table 700 includes a node management
ノード管理用プロセッサ処理コード701は、処理内容702の一意な識別子である。処理内容702は、ノード管理用プロセッサ102に要求する処理の内容である。
The node management
図5−2は、本発明の実施の形態のプログラム取得コード管理テーブル710の構成図である。 FIG. 5B is a configuration diagram of the program acquisition code management table 710 according to the embodiment of this invention.
プログラム取得コード管理テーブル710は、ノード内メモリ104、NIF105のNIF内メモリ302及び機能拡張モジュール108のモジュール内メモリ309に記憶される。
The program acquisition code management table 710 is stored in the
プログラム取得コード管理テーブル710は、プログラム取得コード711及び取得方法712を含む。
The program acquisition code management table 710 includes a
プログラム取得コード711は、取得方法712の一意な識別子である。
The
取得方法712は、ノード管理用プロセッサ102がプログラムを取得する方法である。
The
図5−3は、本発明の実施の形態のNIF指定コード管理テーブル720の構成図である。 FIG. 5C is a configuration diagram of the NIF designation code management table 720 according to the embodiment of this invention.
NIF指定コード管理テーブル720は、ノード内メモリ104及び機能拡張モジュール108のモジュール内メモリ309に記憶される。
The NIF designation code management table 720 is stored in the
NIF指定コード管理テーブル720は、NIF指定コード721及び送信先722を含む。
The NIF designation code management table 720 includes a
NIF指定コード721は、送信先722の一意な識別子である。送信先722は、プログラムの送信先となるNIF105を示す。
The
図5−4は、本発明の実施の形態のパケット指定コード管理テーブル730の構成図である。 FIG. 5-4 is a configuration diagram of the packet designation code management table 730 according to the embodiment of this invention.
パケット指定コード管理テーブル730は、ノード内メモリ104、NIF105のNIF内メモリ302及び機能拡張モジュール108のモジュール内メモリ309に記憶される。
The packet designation code management table 730 is stored in the
パケット指定コード管理テーブル730は、パケット指定コード731及びパケットの種類732を含む。
The packet designation code management table 730 includes a
パケット指定コード731は、パケットの種類732の一意な識別子である。パケットの種類732は、パケットのヘッダ等から判定される種類であり、例えば、ペイロードタイプやIPアドレス等である。
The
図6−1は、本発明の実施の形態のNIF−プログラム管理テーブル800の構成図である。 FIG. 6A is a configuration diagram of the NIF-program management table 800 according to the embodiment of this invention.
NIF−プログラム管理テーブル800は、ノード内メモリ104及びNIF105のNIF内メモリ302に記憶される。
The NIF-program management table 800 is stored in the
NIF−プログラム管理テーブル800は、NIF105とプログラムとの対応を示す。
The NIF-program management table 800 shows the correspondence between the
NIF番号802は、NIF105の一意な識別子である。プログラム名801は、プログラムの一意な識別子である。
The NIF number 802 is a unique identifier of the
NIF番号802のNIF105にプログラム名801のプログラムがインストールされていると、NIF−プログラム管理テーブル800の該当するボックスに丸印が格納される。
If a program with the
更に、NIF−プログラム管理テーブル800は、リファレンスカウンタ(ref)803及びメモリ残存率(rem)804を含む。 Further, the NIF-program management table 800 includes a reference counter (ref) 803 and a memory remaining rate (rem) 804.
リファレンスカウンタ803は、当該プログラムを使用している機能拡張モジュール108の数である。
The
メモリ残存率804は、当該NIF105のプログラム用メモリ304の未使用領域の割合である。
The
なお、NIF−プログラム管理テーブル800は、機能拡張モジュール108とプログラムとの対応や、NIF105と機能拡張モジュール108との対応等の情報を有していてもよい。
The NIF-program management table 800 may include information such as the correspondence between the
図6−2は、本発明の実施の形態のNIF処理コード管理テーブル740の構成図である。 FIG. 6B is a configuration diagram of the NIF processing code management table 740 according to the embodiment of this invention.
NIF処理コード管理テーブル740は、ノード内メモリ104及びNIF105のNIF内メモリ302に記憶される。
The NIF processing code management table 740 is stored in the
NIF処理コード管理テーブル740は、NIF処理コード741及びNIF処理内容742を含む。
The NIF processing code management table 740 includes an
NIF処理コード741は、NIF処理内容742の一意な識別子である。NIF処理内容742は、NIF105が行う処理の内容である。
The
図6−3は、本発明の実施の形態の更新コード管理テーブル750の構成図である。 FIG. 6C is a configuration diagram of the update code management table 750 according to the embodiment of this invention.
更新コード管理テーブル750は、ノード内メモリ104及びNIF105のNIF内メモリ302に記憶される。
The update code management table 750 is stored in the
更新コード管理テーブル750は、更新コード751及びNIF更新内容752を含む。
The update code management table 750 includes an
更新コード751は、NIF更新内容752の一意な識別子である。NIF更新内容752は、NIF105がフォワーディングテーブル401を更新する内容である。
The
図7−1は、本発明の実施の形態のプログラム指定コード管理テーブル760の構成図である。 FIG. 7A is a configuration diagram of the program designation code management table 760 according to the embodiment of the present invention.
プログラム指定コード管理テーブル760は、ノード内メモリ104及びNIF105のNIF内メモリ302に記憶される。
The program designation code management table 760 is stored in the
プログラム指定コード管理テーブル760は、プログラム指定コード761及び送信プログラム762を含む。
The program designation code management table 760 includes a
プログラム指定コード761は、送信プログラム762の一意な識別子である。送信プログラム762は、NIF105にインストールされるプログラムを示す。
The
図7−2は、本発明の実施の形態のモジュール処理コード管理テーブル770の構成図である。 FIG. 7B is a configuration diagram of the module processing code management table 770 according to the embodiment of this invention.
モジュール処理コード管理テーブル770は、ノード内メモリ104及び機能拡張モジュール108のモジュール内メモリ309に記憶される。
The module processing code management table 770 is stored in the
モジュール処理コード管理テーブル770は、モジュール処理コード771及びモジュール処理内容772を含む。
The module processing code management table 770 includes a
モジュール処理コード771は、モジュール処理内容772の一意な識別子である。モジュール処理内容772は、機能拡張モジュール108に要求する処理の内容である。
The
図8は、本発明の実施の形態のパケット通信装置101の機能拡張モジュール追加処理のフローチャートである。
FIG. 8 is a flowchart of the function expansion module addition process of the
機能拡張モジュール108が、モジュールI/F106に接続される。すると、パケット通信装置101は、機能拡張モジュール108の追加処理を開始する(501)。
The
具体的には、機能拡張モジュール108は、自身のモジュール内部I/F310とパケット通信装置101のモジュールI/F106とが接続されたことを検知する。機能拡張モジュール108は、接続を検知すると、ノード管理用プロセッサ102にインストール要求内部パケットを送信する(502)。
Specifically, the
インストール要求内部パケットは、プログラムのインストールをNIF105へ要求するパケットであり、内部ヘッダ111及びペイロード112から構成される。
The installation request internal packet is a packet for requesting the
図9−1は、本発明の実施の形態の内部ヘッダ111の構成図である。
FIG. 9A is a configuration diagram of the
内部ヘッダ111は、宛先アドレス601及び送信元アドレス602を含む。
The
宛先アドレス601は、当該パケットを受信する装置内の部位の内部アドレスである。送信元アドレス602は、当該パケットを送信する装置内の部位の内部アドレスである。
The
インストール要求内部パケットでは、宛先アドレス601がノード管理用プロセッサ102の内部アドレスである。また、送信元アドレス602が機能拡張モジュール108の内部アドレスである。
In the installation request internal packet, the
なお、機能拡張モジュール108がノード管理用プロセッサ102の内部アドレスを知ることができないパケット通信装置101では、マルチキャストアドレスを予め設定しておく必要がある。そして、インストール要求内部パケットは、宛先アドレス601をマルチキャストアドレスとする。なお、マルチキャストアドレスを宛先アドレスとするパケットは、装置内のすべての部位に送信される。
In the
ただし、ノード管理用プロセッサ102以外の装置内の部位は、宛先アドレスがマルチキャストアドレスである内部パケットを受信すると、破棄する。または、内部スイッチ109は、宛先アドレス601がマルチキャストアドレスである内部パケットを受信すると、ノード管理用プロセッサ102だけにパケットを転送する。これによって、ノード管理用プロセッサ102のみが、インストール要求内部パケットを受信する。
However, when a part in the apparatus other than the
図9−2は、本発明の実施の形態のプログラムを含むインストール要求内部パケットのペイロード112の構成図である。
9-2 is a configuration diagram of the
本説明図のインストール要求内部パケットのペイロード112は、プログラム607を含む。更に、ノード管理用プロセッサ処理コード701、プログラム取得コード711、NIF指定コード721及びパケット指定コード731を含む。
The
機能拡張モジュール108は、以下のようにインストール要求内部パケットのペイロード112を作成する。
The
まず、機能拡張モジュール108は、ノード管理用プロセッサ102に要求する処理の内容がノード管理用プロセッサ処理コード管理テーブル700の処理内容702に合致するレコードを、ノード管理用プロセッサ処理コード管理テーブル700から選択する。次に、選択したレコードから、ノード管理用プロセッサ処理コード701を抽出する。そして、抽出したノード管理用プロセッサ処理コード701をパケットのペイロード112に格納する。
First, the
インストール要求内部パケットは、機能拡張モジュール108の追加をノード管理用プロセッサ102に要求する。よって、機能拡張モジュール108は、ノード管理用プロセッサ処理コード701を「0」として、パケットのペイロード112に格納する。
The installation request internal packet requests the
次に、機能拡張モジュール108は、ノード管理用プロセッサ102がプログラムを取得する方法がプログラム取得コード管理テーブル710の取得方法712に合致するレコードを、プログラム取得コード管理テーブル710から選択する。次に、選択したレコードから、プログラム取得コード711を抽出する。そして、抽出したプログラム取得コード711をパケットのペイロード112に格納する。
Next, the
本説明図のペイロードは、プログラム607を含む。よって、機能拡張モジュール108は、プログラム取得コード711を「0」として、パケットのペイロード112に格納する。
The payload in this explanatory diagram includes a
次に、機能拡張モジュール108は、プログラムをインストールさせるNIF105とNIF指定コード管理テーブル720の送信先722とが一致するレコードを、NIF指定コード管理テーブル720から選択する。次に、選択したレコードから、NIF指定コード721を抽出する。そして、抽出したNIF指定コード721をパケットのペイロード112に格納する。
Next, the
本説明図のインストール要求パケットは、プログラムをインストールするNIFをオペレータに指定させる場合とする。よって、機能拡張モジュール108は、NIF指定コード721を「1」として、パケットのペイロード112に格納する。
The installation request packet in this explanatory diagram is a case where the operator specifies the NIF for installing the program. Therefore, the
次に、機能拡張モジュール108は、NIF105にインストールさせるプログラム607をパケットのペイロードに格納する。プログラム607は、プログラム名608を含む。
Next, the
プログラム名608は、プログラムの一意な識別子である。なお、プログラム名608は、プログラムのバージョン及び特徴を示すものが好ましい。これによって、オペレータ制御端末103がプログラム名608を表示することによって、プログラムの種類をオペレータに理解させることができる。
The
次に、機能拡張モジュール108は、NIF105がプログラム607を実行するパケットの種類とパケット指定コード管理テーブル730のパケットの種類732とが一致するレコードを、パケット指定コード管理テーブル730から選択する。次に、選択したレコードから、パケット指定コード731を抽出する。そして、抽出したパケット指定コード731をパケットのペイロードに格納する。
Next, the
なお、インストール要求パケットは、複数のプログラム607を含んでいてもよい。この場合、インストール要求パケットは、それぞれのプログラム607に対応するパケット指定コード731を含む。
The installation request packet may include a plurality of
例えば、プログラム名608が「4.0.1」のプログラム607に対応するパケット指定コード731は、「1」である。
For example, the
図9−3は、本発明の実施の形態のプログラムの所在情報を含むインストール要求内部パケットのペイロード112の構成図である。
FIG. 9-3 is a configuration diagram of the
本説明図のインストール要求内部パケットのペイロード112は、プログラムの所在情報609を含む。それ以外の構成は、プログラムを含むインストール要求内部パケットのペイロード(図9−2)と同一である。同一の構成には同一の番号を付し、説明を省略する。
The
プログラムの所在情報609は、NIF105にインストールさせるプログラムの所在に関する情報である。プログラムの所在情報609は、例えば、当該プログラムを記憶しているサーバのURL又は当該プログラムを記憶しているノードのIPアドレス等である。
The
なお、本説明図のペイロードは、プログラム607の代わりに、プログラムの所在情報609を含む。よって、機能拡張モジュール108は、プログラム取得コード711を「1」として、パケットのペイロード112に格納する。
Note that the payload in this explanatory diagram includes
ここで、図8に戻る。ノード管理用プロセッサ102は、機能拡張モジュール108からインストール要求内部パケットを受信する。
Returning now to FIG. The
次に、ノード管理用プロセッサ102は、受信したインストール要求内部パケットから、ノード管理用プロセッサ処理コードを抽出する。次に、ノード管理用プロセッサ102は、抽出したノード管理用プロセッサ処理コードとノード管理用プロセッサ処理コード管理テーブル700のノード管理用プロセッサ処理コード701とが一致するレコードを、ノード管理用プロセッサ処理コード管理テーブル700から選択する。次に、ノード管理用プロセッサ102は、選択したレコードから、処理内容702を抽出する(503)。
Next, the
そして、ノード管理用プロセッサ102は、抽出した処理内容702に対応する処理を行う。ここでは、ノード管理用プロセッサ処理コード701が「0」なので、ノード管理用プロセッサ102は、機能拡張モジュール追加処理を行う。
Then, the
具体的には、ノード管理用プロセッサ102は、受信したインストール要求内部パケットの内部ヘッダ111から、宛先アドレス601を抽出する。次に、ノード管理用プロセッサ102は、抽出した宛先アドレス601を、新たに追加された機能拡張モジュール108の内部アドレスとして、ノード内メモリ104に記憶する(504)。
Specifically, the
ただし、内部アドレスがそれぞれの部位に固定的に割り当てられるアドレス(例えば、イーサネットのMACアドレス)でない場合には、ノード管理用プロセッサ102は、抽出した宛先アドレス601を内部アドレスとして記憶しない。この場合、ノード管理用プロセッサ102は、利用可能な内部アドレスを機能拡張モジュール108に割り当てる。次に、ノード管理用プロセッサ102は、割り当てた内部アドレスをノード内メモリ104に記憶する。そして、ノード管理用プロセッサ102は、割り当てた内部アドレスを機能拡張モジュール108の内部アドレスとして、内部スイッチ109に設定する。
However, if the internal address is not an address that is fixedly assigned to each part (for example, Ethernet MAC address), the
次に、ノード管理用プロセッサ102は、受信したインストール要求内部パケットから、プログラム取得コードを抽出する(505)。次に、抽出したプログラム取得コードとプログラム取得コード管理テーブル710のプログラム取得コード711とが一致するレコードを、プログラム取得管理テーブル710から選択する。次に、ノード管理用プロセッサ102は、選択したレコードから、取得方法712を抽出する。そして、ノード管理用プロセッサ102は、抽出した取得方法712に対応する処理によって、プログラムを取得する。
Next, the
具体的には、ノード管理用プロセッサ102は、抽出したプログラム取得コード711が「0」であると、インストール要求内部パケットのペイロード112にプログラム607が格納されていると判定する。よって、ノード管理用プロセッサ102は、プログラム607及びプログラム名608をインストール要求内部パケットのペイロード112から取得する(506−1)。
Specifically, when the extracted
また、ノード管理用プロセッサ102は、抽出したプログラム取得コード711が「1」であると、インストール要求内部パケットのペイロード112にプログラムの所在情報609が格納されていると判定する。よって、ノード管理用プロセッサ102は、ペイロード112に格納されているプログラムの所在情報609に基づいて、プログラム及びプログラム名を取得する(506−2)。
If the extracted
また、ノード管理用プロセッサ102は、抽出したプログラム取得コード711が「2」であると、インストール要求内部パケットのペイロード112にプログラム名が格納されていると判定する。よって、ノード管理用プロセッサ102は、ペイロード112に格納されているプログラム名に関する情報を、ノード内メモリ104から検索する。
If the extracted
そして、当該プログラム名のプログラムがノード内メモリ104に記憶されていると、ノード管理用プロセッサ102は、当該プログラムをノード内メモリ104から取得する(506−3)。
When the program having the program name is stored in the
一方、当該プログラム名のプログラムの所在情報がノード内メモリ104に記憶されていると、ノード管理用プロセッサ102は、当該所在情報をノード内メモリ104から取得する。そして、ノード管理用プロセッサ102は、取得した所在情報に基づいて、プログラムを取得する(506−3)。
On the other hand, when the location information of the program with the program name is stored in the
次に、ノード管理用プロセッサ102は、受信したインストール要求内部パケットのペイロード112から、パケット指定コード731を抽出する。そして、ノード管理用プロセッサ102は、取得したプログラム、取得したプログラム名及び抽出したパケット指定コード731をノード内メモリ104に記憶する(507)。
Next, the
次に、ノード管理用プロセッサ102は、受信したインストール要求内部パケットのペイロード112から、NIF指定コードを抽出する(508)。
Next, the
次に、ノード管理用プロセッサ102は、抽出したNIF指定コードとNIF指定コード管理テーブル720のNIF指定コード721とが一致するレコードを、NIF指定コード管理テーブル720から選択する。次に、ノード管理用プロセッサ102は、選択したレコードから、送信先722を抽出する。そして、ノード管理用プロセッサ102は、抽出した送信先722のNIF105に対して、プログラムを送信する。
Next, the
具体的には、ノード管理用プロセッサ102は、抽出したNIF指定コード721が「0」であると、すべてのNIF105をプログラムの送信先と決定する。よって、そのままステップ511に進む。
Specifically, when the extracted
一方、ノード管理用プロセッサ102は、抽出したNIF指定コード721が「1」であると、プログラムをインストールするNIF105をオペレータに指定させると判定する。そこで、ノード管理用プロセッサ102は、NIF指定要求をオペレータ制御端末103に送信する(509)。NIF指定要求は、ステップ507でノード内メモリ104が記憶したプログラム名を含む。
On the other hand, when the extracted
すると、オペレータ制御端末103は、受信したNIF指定要求に対応する情報を表示部に表示する。
Then, the
図10−1は、本発明の実施の形態のNIF指定要求を受信したオペレータ制御端末103の表示画面の説明図である。
FIG. 10A is an explanatory diagram of a display screen of the
オペレータ制御端末103は、NIF−プログラム管理テーブル800(図6−1)及びメッセージ806等を表示する。
The
具体的には、オペレータ制御端末103は、受信したNIF指定要求からプログラム名を抽出する。次に、オペレータ制御端末103は、抽出したプルグラム名のプログラムをインストールするNIF105の指定を要求するメッセージ806を表示する。
Specifically, the
更に、オペレータ制御端末103は、ノード内メモリ104からNIF−プログラム管理テーブル800を取得する。そして、オペレータ制御端末は、取得したNIF−プログラム管理テーブル800を表示する。
Further, the
オペレータは、オペレータ制御端末103の表示画面を確認することによって、NIF105のプログラムインストール状況を視覚的に把握できる。
The operator can visually grasp the program installation status of the
ここで、図8に戻る。 Returning now to FIG.
オペレータは、プログラムをインストールするNIF105をオペレータ制御端末103上で指定する(510)。
The operator designates the
オペレータ制御端末103は、オペレータに指定されたNIF105を、ノード管理用プロセッサ102に通知する。すると、ノード管理用プロセッサ102は、通知されたNIF105をプログラムの送信先と決定する。
The
次に、ノード管理用プロセッサ102は、NIF−プログラム管理テーブル800を参照することによって、送信先と決定したNIF105に当該プログラムが既にインストールされているか否かを判定する(511)。
Next, the
具体的には、ノード管理用プロセッサ102は、インストールするプログラム名とNIF−プログラム管理テーブル800のプログラム名801とが一致し、更に、送信先と決定したNIF105のNIF番号とNIF−プログラム管理テーブル800のNIF番号804とが一致するブロックを抽出する。
Specifically, the
そして、ノード管理用プロセッサ102は、抽出したブロックに丸印が格納されていると、既にインストールされていると判定する。一方、抽出したブロックが空欄であると、インストールされていないと判定する。
Then, the
ノード管理用プロセッサ102は、プログラムがインストールされていないと判定すると、送信先と決定したNIF105にプログラムインストール要求パケットを送信する(512)。
When determining that the program is not installed, the
図10−2は、本発明の実施の形態のプログラムインストール要求パケットの構成図である。 FIG. 10-2 is a configuration diagram of a program installation request packet according to the embodiment of the present invention.
プログラムインストール要求パケットは、内部ヘッダ111及びペイロード112から構成される。
The program installation request packet includes an
内部ヘッダ111は、宛先アドレス601及び送信元アドレス602を含む。
The
宛先アドレス601は、当該パケットを受信する装置内の部位の内部アドレスである。送信元アドレス602は、当該パケットを送信する装置内の部位の内部アドレスである。
The
プログラムインストール要求パケットでは、宛先アドレス601がパケット送信先のNIF105の内部アドレスである。また、送信元アドレス602がノード管理用プロセッサ102の内部アドレスである。
In the program installation request packet, the
ペイロード112は、NIF処理コード741、機能拡張モジュールの内部アドレス902、パケット指定コード731、プログラム903及びプログラム名904を含む。
The
なお、ペイロード112は、複数のプログラム903を含んでいてもよい。この場合、ペイロード112は、それぞれのプログラム903に対応するパケット指定コード731及びプログラム名904を含む。
Note that the
ノード管理用プロセッサ102は、以下のようにプログラムインストール要求パケットのペイロード112を作成する。
The
まず、ノード管理用プロセッサ102は、NIF105に要求する処理の内容がNIF処理コード管理テーブル740のNIF処理内容742に合致するレコードを、NIF処理コード管理テーブル740から選択する。次に、選択したレコードから、NIF処理コード741を抽出する。そして、抽出したNIF処理コード741をパケットのペイロード112に格納する。
First, the
プログラムインストール要求パケットは、ペイロードに格納されているプログラム903のインストールをNIF105に要求する。よって、ノード管理用プロセッサ102は、NIF処理コード714を「0」として、パケットのペイロード112に格納する。
The program installation request packet requests the
次に、ノード管理用プロセッサ102は、ステップ504でノード内メモリ104に記憶した内部アドレスを抽出する。次に、抽出した内部アドレスを、パケット通信装置101に追加された機能拡張モジュールの内部アドレス902として、パケットのペイロード112に格納する。
Next, the
次に、ノード管理用プロセッサ102は、ステップ507でノード内メモリ104に記憶したパケット指定コード731、プログラム及びプログラム名を抽出する。そして、抽出したパケット指定コード731、プログラム及びプログラム名をパケットのペイロード112に格納する。
Next, the
ここで、図8に戻る。 Returning now to FIG.
一方、ノード管理用プロセッサ102は、ステップ511でプログラムが既にインストールされていると判定すると、プログラムをNIF105に送信する必要がない。よって、ノード管理用プロセッサ102は、送信先と決定したNIF105にフォワーディングテーブル更新要求パケットを送信する(513)。
On the other hand, if the
図10−3は、本発明の実施の形態のフォワーディングテーブル更新要求パケットの構成図である。 FIG. 10C is a configuration diagram of a forwarding table update request packet according to the embodiment of the present invention.
フォワーディングテーブル更新要求パケットは、内部ヘッダ111及びペイロード112から構成される。
The forwarding table update request packet includes an
内部ヘッダ111は、宛先アドレス601及び送信元アドレス602を含む。
The
宛先アドレス601は、当該パケットを受信する装置内の部位の内部アドレスである。送信元アドレス602は、当該パケットを送信する装置内の部位の内部アドレスである。
The
フォワーディングテーブル更新要求パケットでは、宛先アドレス601がパケット送信先のNIF105の内部アドレスである。また、送信元アドレス602がノード管理用プロセッサ102の内部アドレスである。
In the forwarding table update request packet, the
ペイロード112は、NIF処理コード741、更新コード751、内部アドレス902、パケット指定コード731及びプログラム名904を含む。
The
なお、ペイロード112は、複数のプログラム名904を含んでいてもよい。この場合、ペイロード112は、それぞれのプログラム名904に対応するパケット指定コード731を含む。
Note that the
ノード管理用プロセッサ102は、以下のようにフォワーディングテーブル更新要求パケットのペイロード112を作成する。
The
まず、ノード管理用プロセッサ102は、NIF105に要求する処理の内容がNIF処理コード管理テーブル740のNIF処理内容742に合致するレコードを、NIF処理コード管理テーブル740から選択する。次に、選択したレコードから、NIF処理コード741を抽出する。そして、抽出したNIF処理コード741をパケットのペイロード112に格納する。
First, the
フォワーディングテーブル更新要求パケットは、フォワーディングテーブルの更新をNIF105に要求する。よって、ノード管理用プロセッサ102は、NIF処理コード741を「1」として、パケットのペイロード112に格納する。
The forwarding table update request packet requests the
次に、ノード管理用プロセッサ102は、NIF105に要求するフォワーディングテーブルの更新の内容が更新コード管理テーブル750のNIF更新内容752に合致するレコードを、更新コード管理テーブル750から選択する。次に、選択したレコードから、更新コード751を抽出する。そして、抽出した更新コード751をパケットのペイロードに格納する。
Next, the
本説明図のフォワーディングテーブル更新要求パケットは、機能拡張モジュール108をパケット通信装置101に追加する処理で送信される。この場合、フォワーディングテーブル401は、経路を追加される。よって、ノード管理用プロセッサ102は、更新コード751を「0」として、パケットのペイロード112に格納する。
The forwarding table update request packet in this explanatory diagram is transmitted in the process of adding the
次に、ノード管理用プロセッサ102は、ステップ504でノード内メモリ104に記憶した内部アドレスを抽出する。次に、抽出した内部アドレスを、パケット通信装置101に追加された機能拡張モジュールの内部アドレス902として、パケットのペイロード112に格納する。
Next, the
次に、ノード管理用プロセッサ102は、ステップ507のノード内メモリ104に記憶したパケット指定コード731及びプログラム名を抽出する。そして、抽出したパケット指定コード731及びプログラム名をパケットのペイロード112に格納する。
Next, the
ここで、図8に戻る。ノード管理用プロセッサ102は、プログラムインストール要求パケット又はフォワーディングテーブル更新要求パケットをNIF105に送信すると、NIF−プログラム管理テーブル800を更新する(514)。
Returning now to FIG. When the
具体的には、ノード管理用プロセッサ102は、パケット(プログラムインストール要求パケット又はフォワーディングテーブル更新要求パケット)に格納したプログラム名904とNIF−プログラム管理テーブル800のプログラム名801とが一致し、更に、パケットの送信先のNIF105のNIF番号とNIF−プログラム管理テーブル800のNIF番号802とが一致するボックスに、丸印を格納する。
Specifically, the
次に、ノード管理用プロセッサ102は、パケットに格納したプログラム名904とNIF−プログラム管理テーブル800のプログラム名801とが一致するレコードのリファレンスカウンタ803を選択する。そして、選択したリファレンスカウンタ803を増加させる。
Next, the
次に、ノード管理用プロセッサ102は、プログラムインストール要求パケットに格納したプログラム903のデータ量を測定する。次に、パケットの送信先のNIF105のNIF番号とNIF−プログラム管理テーブル800のNIF番号802とが一致するレコードのメモリ残存率804を選択する。そして、測定したデータ量に基づいて、選択したメモリ残存率を変更する。
Next, the
次に、ノード管理用プロセッサ102は、プログラム記憶処理を行う(515)。なお、プログラム記憶処理は、図11−2で詳細を説明する。
Next, the
一方、NIF105は、ノード管理用プロセッサ102からパケットを受信する。次に、NIF105は、受信したパケットのペイロード112から、NIF処理コードを抽出する(516)。
On the other hand, the
次に、NIF105は、抽出したNIF処理コードとNIF処理コード管理テーブル740のNIF処理コード741とが一致するレコードを、NIF処理コード管理テーブル740から選択する。次に、NIF105は、選択したレコードから、NIF処理内容742を抽出する。そして、NIF105は、抽出したNIF処理内容742に対応する処理を行う。
Next, the
具体的には、NIF105は、抽出したNIF処理コード741が「0」であると、受信したパケットをプログラムインストール要求パケットと判定する。よって、NIF105は、受信したパケットのペイロード112から、プログラム903を抽出する。次に、NIF105は、抽出したプログラム903をインストールする。
Specifically, if the extracted
次に、NIF105は、フォワーディングテーブル401を更新する(517−1)。
Next, the
具体的には、NIF105は、受信したパケットのペイロード112から、パケット指定コード731を抽出する。次に、NIF105は、抽出したパケット指定コードとパケット指定コード管理テーブル730のパケット指定コード731とが一致するレコードを、パケット指定コード管理テーブル730から選択する。次に、選択したレコードから、パケットの種類732を抽出する。
Specifically, the
次に、NIF105は、フォワーディングテーブル401に新たなレコードを追加する。次に、NIF105は、抽出したパケットの種類732を、新たなレコードのペイロードタイプ405及びIPアドレス/プレフィックス長406に格納する。
Next, the
次に、NIF105は、受信したパケットのペイロードから、機能拡張モジュールの内部アドレス902及びプログラム名904を抽出する。次に、NIF105は、抽出した機能拡張モジュールの内部アドレス902及びプログラム名904を、追加した新たなレコードの処理内容403に格納する。
Next, the
このように、NIF105は、フォワーディングテーブル401を更新する。そして、パケット通信装置101は、機能拡張モジュール108の追加処理を終了する(518)。
In this way, the
また、NIF105は、抽出したNIF処理コード741が「1」であると、受信したパケットをフォワーディングテーブル更新要求パケットと判定する。よって、NIF105は、フォワーディングテーブル401を更新する(517−2)。
If the extracted
具体的には、NIF105は、受信したパケットから、更新コードを抽出する。次に、NIF105は、抽出した更新コードと更新コード管理テーブル750の更新コード751とが一致するレコードを、更新コード管理テーブル750から選択する。次に、選択したレコードからNIF更新内容752を抽出する。
Specifically, the
そして、NIF105は、抽出したNIF更新内容752に基づいて、フォワーディングテーブル401を更新する内容を決定する。
Then, the
ここでは、NIF105は、抽出した更新コード751が「0」であるので、フォワーディングテーブル401に経路を追加する。よって、NIF105は、受信したパケットのペイロード112から、パケット指定コード731を抽出する。次に、NIF105は、抽出したパケット指定コードとパケット指定コード管理テーブル730のパケット指定コード731とが一致するレコードを、パケット指定コード管理テーブル730から選択する。次に、選択したレコードから、パケットの種類732を抽出する。
Here, the
次に、NIF105は、フォワーディングテーブル401に新たなレコードを追加する。次に、NIF105は、抽出したパケットの種類732を、新たなレコードのペイロードタイプ405及びIPアドレス/プレフィックス長406に格納する。
Next, the
次に、NIF105は、受信したパケットのペイロード112から、機能拡張モジュールの内部アドレス902及びプログラム名904を抽出する。次に、NIF105は、抽出した機能拡張モジュールの内部アドレス902及びプログラム名904を、追加した新たなレコードの処理内容403に格納する。
Next, the
このように、NIF105は、フォワーディングテーブル401を更新する。そして、パケット通信装置101は、機能拡張モジュール108の追加処理を終了する(518)。
In this way, the
また、NIF105は、抽出した処理コード741が「2」であると、受信したパケットをプログラムアンインストール要求パケットと判定する。よって、NIF105は、受信したパケットのペイロード112から、プログラム名904を抽出する。次に、NIF105は、抽出したプログラム名904のプログラムを削除する。
If the extracted
次に、NIF105は、フォワーディングテーブル401を更新する(517−3)。ここでは、NIF105は、フォワーディングテーブル401から経路を削除する。
Next, the
具体的には、NIF105は、受信したパケットのペイロード112から、パケット指定コード731を抽出する。次に、NIF105は、抽出したパケット指定コードとパケット指定コード管理テーブル730のパケット指定コード731とが一致するレコードを、パケット指定コード管理テーブル730から選択する。次に、選択したレコードから、パケットの種類732を抽出する。
Specifically, the
次に、NIF105は、抽出したパケットの種類732がフォワーディングテーブル401のヘッダ情報402に合致するレコードを、フォワーディングテーブル401から選択する。そして、NIF105は、選択したレコードを、フォワーディングテーブル401から削除する。
Next, the
このように、NIF105は、フォワーディングテーブル401を更新する。そして、パケット通信装置101は、機能拡張モジュール108の追加処理を終了する(518)。
In this way, the
図11−1は、本発明の実施の形態のモジュール−プログラム管理テーブル820の構成図である。 FIG. 11A is a configuration diagram of the module-program management table 820 according to the embodiment of this invention.
モジュール−プログラム管理テーブル820は、ノード内メモリ104に記憶される。
The module-program management table 820 is stored in the
モジュール−プログラム管理テーブル820は、機能拡張モジュール108とプログラムとの対応を示す。
The module-program management table 820 shows the correspondence between the
モジュール種類822は、機能拡張モジュール108が実現するサービスの一意な識別子である。プログラム名821は、プログラムの一意な識別子である。
The
モジュール種類822の機能拡張モジュール108が、プログラム名821のプログラムを使用していると、モジュール−プログラム管理テーブル820の該当するボックスに丸印が格納される。
When the
更に、モジュール−プログラム管理テーブル820は、リファレンスカウンタ(ref)823、保存内容824及びパケット指定コード825を含む。
Further, the module-program management table 820 includes a reference counter (ref) 823, saved
リファレンスカウンタ823は、当該プログラムを使用している機能拡張モジュール108の数である。リファレンスカウンタ823は、当該プログラムに該当するレコードに格納されている丸印の数と同数になる。
The
保存方法824は、当該プログラムを保存している方法を示す。
A
具体的には、保存方法824が「1」であると、ノード内メモリ104がプログラムを記憶している。また、保存方法824が「2」であると、ノード内メモリ104がプログラムの所在情報を記憶している。また、保存方法824が「3」であると、ノード内メモリ104はプログラム及びプログラムの所在情報のどちらも記憶していないが、機能拡張モジュール108がプログラムを記憶している。また、保存方法824が「4」であると、ノード内メモリ104はプログラム及びプログラムの所在情報のどちらも記憶していないが、機能拡張モジュール108がプログラムの所在情報を記憶している。
Specifically, when the
パケット指定コード825は、当該機能拡張モジュール822が処理するパケットの種類の一意な識別子である。なお、パケット指定コード825は、パケット指定コード管理テーブル730のパケット指定コード731と同一の識別子を用いる。
The
ノード内メモリ104がプログラム管理テーブル1212を記憶することによって、ノード管理用プロセッサ102は、プログラムを取得する方法及び場所を迅速に判断できる。
By storing the program management table 1212 in the
図11−2は、本発明の実施の形態のノード管理用プロセッサ102のプログラム記憶処理のフローチャートである。
FIG. 11B is a flowchart of the program storage process of the
ノード管理用プロセッサ102は、機能拡張モジュール追加処理(図8)のステップ514においてNIF−プログラム管理テーブル800を更新すると、プログラム記憶処理(515)を開始する。
When the
まず、機能拡張モジュール追加処理(図8)のステップ506−1〜506−3で取得したプログラムを記憶する容量がノード内メモリ104に残っているか否かを判定する(1202)。 First, it is determined whether or not the capacity for storing the program acquired in steps 506-1 to 506-3 of the function expansion module addition process (FIG. 8) remains in the intra-node memory 104 (1202).
記憶容量が残っていると、当該プログラムをノード内メモリ104に記憶する(1203)。そして、ステップ1210に進む。 If the storage capacity remains, the program is stored in the intra-node memory 104 (1203). Then, the process proceeds to Step 1210.
一方、記憶容量が残っていないと、当該プログラムのプログラム名とモジュール−プログラム管理テーブル820のプログラム名821とが一致するレコードを選択する。次に、選択したレコードから、リファレンスカウンタ823を抽出する。次に、モジュール−プログラム管理テーブル820の保存方法824が「1」であるレコードをすべて選択する。
On the other hand, if the storage capacity does not remain, a record in which the program name of the program matches the
次に、抽出したリファレンスカウンタと、保存方法824が「1」であるすべてのレコードのリファレンスカウンタ823と、を比較する。そして、比較したすべてのリファレンスカウンタ823の中で、抽出したリファレンスカウンタが最小であるか否かを判定する(1204)。
Next, the extracted reference counter is compared with the
抽出したリファレンスカウンタが最小であると、当該プログラムを保存しないと判定する。よって、当該プログラムの所在情報を機能拡張モジュール108から取得できるか否かを判定する(1205)。 If the extracted reference counter is minimum, it is determined that the program is not saved. Therefore, it is determined whether the location information of the program can be acquired from the function expansion module 108 (1205).
プログラムの所在情報を取得できないと、そのままステップ1210に進む。 If the location information of the program cannot be acquired, the process proceeds to step 1210 as it is.
一方、プログラムの所在情報を取得できると、取得したプログラムの所在情報をノード内メモリ104に記憶する(1206)。そして、ステップ1210に進む。 On the other hand, if the location information of the program can be acquired, the acquired location information of the program is stored in the intra-node memory 104 (1206). Then, the process proceeds to Step 1210.
一方、抽出したリファレンスカウンタが最小でないとステップ1204で判定すると、抽出したリファレンスカウンタより小さい値のリファレンスカウンタ823に対応するプログラム名821をモジュール−プログラム管理テーブル820からすべて抽出する。
On the other hand, if it is determined in
次に、抽出したプログラム名のプログラムをすべて削除した場合に、当該プログラムを記憶する容量をノード内メモリ104に確保できるか否かを判定する(1207)。 Next, when all the programs having the extracted program names are deleted, it is determined whether or not a capacity for storing the programs can be secured in the in-node memory 104 (1207).
当該プログラムの記憶容量を確保できないと判定すると、ステップ1205に進む。 If it is determined that the storage capacity of the program cannot be secured, the process proceeds to step 1205.
一方、当該プログラムの記憶容量を確保できると判定すると、モジュール−プログラム管理テーブル820のリファレンスカウンタ823が小さいプログラムから順に、ノード内メモリ104から削除する(1208)。そして、ノード内メモリ104に当該プログラムの記憶容量を確保するまで、プログラムの削除を繰り返す。
On the other hand, if it is determined that the storage capacity of the program can be secured, the
なお、リファレンスカウンタ823が小さいプログラムから順に削除するのでなく、記憶した日時の古いプログラムから順に削除してもよい。
Note that the
ノード内メモリ104が当該プログラムの記憶容量を確保すると、当該プログラムをノード内メモリ104に記憶する(1209)。
When the
次に、ノード管理用プロセッサ102は、モジュール−プログラム管理テーブル820を更新する(1210)。
Next, the
具体的には、モジュール−プログラム管理テーブル820に新たなレコードを追加する。次に、ステップ501(図8)で追加された機能拡張モジュール108の種類を、新たなレコードのモジュール種類822に格納する。
Specifically, a new record is added to the module-program management table 820. Next, the type of the
次に、ノード内メモリ104に記憶したプログラムのプログラム名とモジュール−プログラム管理テーブル820のプログラム名821とが一致するボックスを、新たなレコードから選択する。そして、選択したボックスに丸印を格納する。
Next, a box in which the program name stored in the
次に、ノード内メモリ104に記憶したプログラムのプログラム名とモジュール−プログラム管理テーブル820のプログラム名821とが一致するレコードを、モジュール−プログラム管理テーブル820から選択する。次に、選択したレコードのリファレンスカウンタ823を増加させる。
Next, a record in which the program name of the program stored in the
次に、プログラムの保存方法に変更があった場合には、選択したレコードの保存方法824を該当する値に変更する。
Next, when there is a change in the storage method of the program, the
このようにモジュール−プログラム管理テーブル820を更新すると、プログラム記憶処理を終了する(1211)。 When the module-program management table 820 is updated in this way, the program storage process is terminated (1211).
ここで、ステップ506−1〜506−3(図8)で取得したプログラムが複数ある場合には、当該プログラム記憶処理をプログラム数と同じ回数繰り返す。 If there are a plurality of programs acquired in steps 506-1 to 506-3 (FIG. 8), the program storage process is repeated the same number of times as the number of programs.
以上のように、ノード内メモリ104は、NIF105がインストールするプログラムを記憶する。これによって、ノード管理用プロセッサ102は、NIF105にプログラムを送信する際に、機能拡張モジュール108又は外部の装置から、プログラムを取得する必要がなくなる。つまり、ノード管理用プロセッサ102は、NIF105に送信するプログラムをノード内メモリ104から取得するので、処理を高速化できる。
As described above, the
また、ノード内メモリ104は、リファレンスカウンタ801の大きいプログラムを記憶している。つまり、ノード管理用プロセッサ102は、NIF105へ送信する可能性が高いプログラムをノード内メモリ104から取得できる。よって、ノード管理用プロセッサ102は、機能拡張モジュール108からプログラムを取得する回数を減らすことができる。
The
また、ノード内メモリ104は、プログラムを記憶できない場合、プログラムの所在情報を記憶する。これによって、ノード管理用プロセッサ102は、プログラムの所在情報を機能拡張モジュール108に問い合わせる処理を省略できる。
Further, the in-
図12は、本発明の実施の形態のパケット通信装置101の機能拡張モジュール追加処理のシーケンス図である。
FIG. 12 is a sequence diagram of the function expansion module addition processing of the
このシーケンス図は、機能拡張モジュール108を追加されたパケット通信装置101の代表的な処理を示す。
This sequence diagram shows typical processing of the
まず、機能拡張モジュール108がモジュールI/F106に追加される。すると、機能拡張モジュール108は、プログラムをペイロード112に格納したインストール要求内部パケットを作成する。そして、機能拡張モジュール108は、作成したインストール要求内部パケットをノード管理用プロセッサ102に送信する(1001)。
First, the
すると、ノード管理用プロセッサ102は、機能拡張モジュール108からインストール要求内部パケットを受信する。次に、ノード管理用プロセッサ102は、プログラムをインストールするNIF105の指定要求をオペレータ制御端末103に送信する(1002)。
Then, the
すると、オペレータ制御端末103は、受信した指定要求の内容を表示する。オペレータ制御端末103は、NIF105の指定をオペレータから入力される。ここでは、オペレータは、NIF(1)105、NIF(2)及びNIF(3)を指定したとする。すると、オペレータ制御端末103は、入力された内容を含むNIF指定応答をノード管理用プロセッサ102に送信する(1003)。
Then, the
ノード管理用プロセッサ102は、オペレータ管理端末103からNIF指定応答を受信する。すると、ノード管理用プロセッサ102は、受信したNIF指定応答で指定されたNIF105の内部アドレスを宛先アドレスに格納し、更に、プログラムをペイロード112に格納したプログラムインストール要求パケットを作成する。
The
そして、ノード管理用プロセッサ102は、作成したプログラムインストール要求パケットを、NIF指定応答で指定されたすべてのNIF105に送信する(1004)。つまり、ノード管理用プロセッサ102は、NIF(1)105、NIF(2)及びNIF(3)にプログラムインストール要求パケットを送信する。
Then, the
プログラムインストール要求パケットを受信したNIF105は、受信したパケットに格納されているプログラムをインストールする。
Upon receiving the program installation request packet, the
そして、パケット通信装置101は、機能拡張モジュール108の追加処理を終了する。
Then, the
次に、本実施の形態のパケット通信装置101の効果を説明する。
Next, the effect of the
ここでは、追加される機能拡張モジュール108が、サービス拒否(DoS)攻撃対処モジュールである場合を説明する。
Here, a case will be described in which the
DoS攻撃対処モジュールは、まず、パケットのヘッダからフロー統計情報を収集する。フロー統計情報は、アドレス及びポート番号等である。次に、DoS攻撃対処モジュールは、収集したフロー統計情報を分析することによって、DoS攻撃に関係するパケットの特徴を特定する。そして、DoS攻撃対処モジュールは、特定した特徴を有するパケットを受信すると、転送せずに廃棄する。 The DoS attack countermeasure module first collects flow statistical information from the header of the packet. The flow statistical information includes an address and a port number. Next, the DoS attack countermeasure module identifies the characteristics of the packet related to the DoS attack by analyzing the collected flow statistical information. Then, when receiving a packet having the specified characteristics, the DoS attack countermeasure module discards the packet without forwarding it.
ここで、本発明の効果を明確にするため、DoS攻撃対処モジュールを追加された従来の固定転送装置の処理を説明する。 Here, in order to clarify the effect of the present invention, processing of a conventional fixed transfer apparatus to which a DoS attack countermeasure module is added will be described.
従来の固定転送装置の構成は、本実施の形態のパケット通信装置101(図1−1)と同一であってもよいし、同一でなくてもよい。ここでは、本実施の形態との対比を容易にするため、同一の構成の場合で説明する。 The configuration of the conventional fixed transfer apparatus may or may not be the same as that of the packet communication apparatus 101 (FIG. 1-1) of the present embodiment. Here, in order to facilitate comparison with the present embodiment, the case of the same configuration will be described.
図13−1は、従来の固定転送装置のパケット転送処理のフローチャートである。 FIG. 13A is a flowchart of the packet transfer process of the conventional fixed transfer apparatus.
まず、NIF105は、外部ネットワーク110からパケットを受信する(1101)。
First, the
次に、NIF105は、受信したパケットをNIF内メモリ302に記憶する(1102)。
Next, the
次に、NIF105は、NIF内メモリ302に記憶したパケットからヘッダを抽出する。次に、NIF105は、抽出したヘッダとフォワーディングテーブル401とを比較することによって、パケットの転送先を決定する。ここでは、NIF105は、DoS攻撃対処モジュールを転送先に決定する。
Next, the
次に、NIF105は、NIF内メモリ302に記憶したパケットに、DoS攻撃対処モジュールの内部アドレスを宛先アドレスとする内部ヘッダを付加する。次に、NIF105は、内部ヘッダを付加したパケットを、内部スイッチを109を介してDoS攻撃対処モジュールに送信する(1103)。
Next, the
DoS攻撃対処モジュールは、パケットを受信すると、受信したパケットを処理する(1104)。具体的には、DoS攻撃対処モジュールは、受信したパケットから内部ヘッダを削除する。次に、DoS攻撃対処モジュールは、内部ヘッダを削除したパケットのヘッダからフロー統計情報を収集する。次に、DoS攻撃対処モジュールは、収集したフロー統計情報を分析することによって、DoS攻撃に関係するパケットの特徴を特定する。 When receiving the packet, the DoS attack countermeasure module processes the received packet (1104). Specifically, the DoS attack countermeasure module deletes the internal header from the received packet. Next, the DoS attack countermeasure module collects flow statistical information from the header of the packet from which the internal header is deleted. Next, the DoS attack countermeasure module identifies the characteristics of the packet related to the DoS attack by analyzing the collected flow statistical information.
次に、DoS攻撃対処モジュールは、当該パケットを装置内の他の部位に転送するか否かを判定する(1105)。具体的には、DoS攻撃対処モジュールは、当該パケットがDoS攻撃に関係するパケットの特徴を有すると、当該パケットを装置内の他の部位に転送しないと判定する。 Next, the DoS attack countermeasure module determines whether or not to transfer the packet to another part in the apparatus (1105). Specifically, when the DoS attack countermeasure module has the characteristics of a packet related to the DoS attack, the DoS attack countermeasure module determines that the packet is not transferred to another part in the apparatus.
DoS攻撃対処モジュールは、パケットを転送しないと判定すると、当該パケットを破棄する。そして、固定転送装置は、パケット転送処理を終了する。 When the DoS attack countermeasure module determines that the packet is not transferred, the DoS attack countermeasure module discards the packet. Then, the fixed transfer device ends the packet transfer process.
一方、DoS攻撃対処モジュールは、パケットを転送すると判定すると、当該パケットのヘッダとフォワーディングテーブルとを比較することによって、パケットの転送先を決定する。ここでは、DoS攻撃対処モジュールは、NIF105を転送先に決定する。
On the other hand, when the DoS attack countermeasure module determines to transfer a packet, the DoS attack countermeasure module determines the transfer destination of the packet by comparing the header of the packet with the forwarding table. Here, the DoS attack countermeasure module determines the
次に、DoS攻撃対処モジュールは、当該パケットに、転送先に決定したNIF105の内部アドレスを宛先アドレスとする内部ヘッダを付加する。次に、DoS攻撃対処モジュールは、内部ヘッダを付加したパケットを、内部スイッチを109を介して転送先のNIF105に送信する(1106)。
Next, the DoS attack countermeasure module adds an internal header having the destination address as the internal address of the
すると、NIF105は、DoS攻撃対処モジュールから受信したパケットをNIF内メモリ302に記憶する(1107)。
Then, the
NIF105は、NIF内メモリ302に記憶したパケットから内部ヘッダを削除する。次に、NIF105は、内部ヘッダを削除したパケットのヘッダとフォワーディングテーブル401とを比較することによって、パケットの転送先を決定する。ここでは、NIF105は、外部ネットワーク110を転送先に決定する。
The
次に、NIF105は、NIF内メモリ302に記憶したパケットのヘッダを、外部ネットワーク110を宛先とするヘッダに付け替える。
Next, the
次に、NIF105は、当該パケットを外部ネットワーク110へ送信する(1108)。そして、従来の固定転送装置は、パケット転送処理を終了する(1109)。
Next, the
従来の固定転送装置は、以上のようにパケットを転送する。 A conventional fixed transfer apparatus transfers a packet as described above.
従来の固定転送装置では、NIF105は、受信したすべてのパケットをDoS攻撃対処モジュールに転送する必要があった。これは、固定転送装置に接続された機能拡張モジュールが、DoS攻撃対処モジュールの場合だけでなく、パケットの解析又はフィルタリングを行うモジュールであれば同様である。
In the conventional fixed transfer device, the
DoS攻撃対処モジュールは、転送されたすべてのパケットに対して、高度な解析処理を行う。よって、DoS攻撃対処モジュールの処理が、装置全体のスループットを低下させていた。 The DoS attack countermeasure module performs advanced analysis processing on all forwarded packets. Therefore, the processing of the DoS attack countermeasure module has reduced the throughput of the entire apparatus.
また、DoS攻撃対処モジュールは、解析処理を行ったパケットをNIF105に転送する。そのため、DoS攻撃対処モジュールは、フォワーディングテーブル401を備える必要があった。更に、DoS攻撃対処モジュールは、パケットの転送経路を管理する必要があった。
In addition, the DoS attack countermeasure module transfers the analyzed packet to the
本実施の形態のパケット通信装置101は、これらの問題を解決したパケット転送処理を行うことができる。
The
図13−2は、本発明の実施の形態のパケット通信装置101のパケット転送処理のフローチャートである。
FIG. 13-2 is a flowchart of packet transfer processing of the
本実施の形態のパケット通信装置101では、NIF105にプログラムをインストールできる。ここでは、NIF105は、DoS攻撃対処モジュールに対応するプログラムをインストールされている。当該プログラムは、外部ネットワーク110から受信したパケットのヘッダをコピーして、コピーしたヘッダのみをDoS攻撃対処モジュールへ転送する。
In the
以下、当該プログラムをインストールされたNIF105がパケットを受信した場合のパケット通信装置101のパケット転送処理を説明する。
Hereinafter, packet transfer processing of the
まず、NIF105は、外部ネットワーク110からパケットを受信する(1111)。
First, the
次に、NIF105は、受信したパケットをNIF内メモリ302に記憶する(1112)。
Next, the
次に、NIF105は、NIF内メモリ302に記憶したパケットからヘッダを抽出する。次に、NIF105は、抽出したヘッダとフォワーディングテーブル401とを比較することによって、転送先及び処理内容を決定する(1113)。ここでは、NIF105は、当該パケットを転送する外部ネットワーク110に接続されたNIF105を転送先に決定する。また、NIF105は、DoS攻撃対処モジュールに対応するプログラムの実行を、処理内容に決定する。
Next, the
次に、NIF105は、当該プログラムを実行することによって、パケットを処理する。具体的には、NIF105は、NIF内メモリ302に記憶したパケットのヘッダをコピーする。そして、NIF105は、コピーしたヘッダのみをDoS攻撃対処モジュールへ転送する(1114)。
Next, the
次に、NIF105は、NIF内メモリ301に記憶したパケットに、ステップ1113で決定した転送先のNIF105の内部アドレスを宛先アドレスとする内部ヘッダを付加する。次に、NIF105は、内部ヘッダを付加したパケットを、内部スイッチ109を介して転送先のNIF105に送信する(1116)。
Next, the
すると、転送先のNIF105は、受信したパケットをNIF内メモリ302に記憶する(1117)。
Then, the
転送先のNIF105は、NIF内メモリ302に記憶したパケットから内部ヘッダを削除する。次に、転送先のNIF105は、内部ヘッダを削除したパケットのヘッダとフォワーディングテーブル401とを比較することによって、パケットの転送先を決定する。ここでは、転送先のNIF105は、外部ネットワーク110を転送先に決定する。
The
次に、転送先のNIF105は、NIF内メモリ302に記憶したパケットのヘッダを、外部ネットワーク110を宛先とするヘッダに付け替える。
Next, the
次に、転送先のNIF105は、当該パケットを外部ネットワーク110へ送信する(1118)。そして、パケット通信装置101は、パケット転送処理を終了する(1119)。
Next, the
一方、ステップ1114においてNIF105からヘッダを受信したDoS攻撃対処モジュールは、受信したヘッダを処理する(1115)。具体的には、DoS攻撃対処モジュールは、受信したヘッダからフロー統計情報を収集する。次に、DoS攻撃対処モジュールは、収集したフロー統計情報を分析することによって、DoS攻撃に関係するヘッダの特徴を特定する。
On the other hand, the DoS attack countermeasure module that has received the header from the
そして、DoS攻撃対処モジュールは、DoS攻撃に関係するヘッダの特徴を特定すると、フォワーディングテーブル401の変更をNIF105に要求する。この要求には、DoS攻撃に関係するヘッダの特徴が含まれる。
When the DoS attack countermeasure module identifies the header characteristics related to the DoS attack, the DoS attack countermeasure module requests the
NIF105は、要求を受けると、フォワーディングテーブル401を変更する。このフォワーディングテーブル401では、DoS攻撃に関係するヘッダの特徴を有するパケットに対応する処理内容403が破棄となる。
Upon receiving the request, the
本実施の形態のパケット通信装置101は、以上のようにパケットを転送する。
The
本実施の形態のパケット通信装置101では、NIF105がパケットのDoS攻撃に関連する重要な部分(例えば、SYNパケットのヘッダ)をコピーし、コピーした部分のみをDoS攻撃対処モジュールに転送する。
In the
つまり、NIF105は、パケット自体をDos攻撃対処モジュールに転送する必要がない。そのため、本実施の形態のパケット通信装置101は、DoS攻撃対処モジュールの処理の影響を受けることなくパケットを転送するので、装置全体のスループットを維持できる。
That is, the
また、本実施の形態のパケット通信装置101に接続されるDoS攻撃対処モジュールは、パケットを転送しないので、フォワーディングテーブル401を備える必要がない。
In addition, the DoS attack countermeasure module connected to the
また、本実施の形態のパケット通信装置101に接続されるDoS攻撃対処モジュールは、処理に必要な情報のみを受信するため、負荷が軽減される。
In addition, since the DoS attack countermeasure module connected to the
また、本実施の形態のパケット通信装置101のNIF105は、インストールされているプログラムを変更できる。例えば、パケットのDoS攻撃に関連する重要な部分が変化した場合、NIF105は、インストールされているプログラムを変更する。よって、パケット通信装置101は、パケットのDoS攻撃に関連する重要な部分の変化に対し、迅速に対応できる。
Further, the
図14−1は、本発明の実施の形態のパケット通信装置101の機能拡張モジュール削除処理のフローチャートである。
FIG. 14A is a flowchart of the function expansion module deletion process of the
機能拡張モジュール108が、モジュールI/F106から取り外される(1901)。これによって、パケット通信装置101は、機能拡張モジュール108の削除処理を開始する。
The
具体的には、機能拡張モジュール108は、自身のモジュール内部I/F310がパケット通信装置101のモジュールI/F106から取り外されたことを検知する。機能拡張モジュール108は、取り外しを検知すると、ノード管理用プロセッサ102に機能拡張モジュール削除要求を送信する。
Specifically, the
ノード管理用プロセッサ102は、当該要求を受けると、モジュール−プログラム管理テーブル820を更新する(1902)。
Upon receiving the request, the
具体的には、ノード管理用プロセッサ102は、取り外された機能拡張モジュール108が実現するサービスとモジュール−プログラム管理テーブル820のモジュール種類822とが一致するレコードを、モジュール−プログラム管理テーブル820から削除する。
Specifically, the
また、ノード管理用プロセッサ102は、取り外された機能拡張モジュール108が対応するプログラム名とモジュール−プログラム管理テーブル820のプログラム名821とが一致するレコードを選択する。次に、選択したレコードのリファレンスカウンタ823を減少させる。
Further, the
次に、ノード管理用プロセッサ102は、更新したモジュール−プログラム管理テーブル820のリファレンスカウンタ823に一つでも「0」が存在するか否かを判定する(1903)。
Next, the
リファレンスカウンタ823に一つも「0」が存在しないと、ノード管理用プロセッサ102は、NIF105からプログラムを削除する必要がないと判定する。よって、ノード管理用プロセッサ102は、フォワーディングテーブル更新要求パケットをNIF105に送信する(1904)。
If no “0” exists in the
図14−2は、本発明の実施の形態のフォワーディングテーブル更新要求パケットの構成図である。 FIG. 14B is a configuration diagram of a forwarding table update request packet according to the embodiment of the present invention.
フォワーディングテーブル更新要求パケットは、内部ヘッダ111及びペイロード112から構成される。
The forwarding table update request packet includes an
内部ヘッダ111は、宛先アドレス601及び送信元アドレス602を含む。
The
宛先アドレス601は、当該パケットを受信する装置内の部位の内部アドレスである。送信元アドレス602は、当該パケットを送信する装置内の部位の内部アドレスである。
The
フォワーディングテーブル更新要求パケットでは、宛先アドレス601がNIF105の内部アドレスである。また、送信元アドレス602がノード管理用プロセッサ102の内部アドレスである。
In the forwarding table update request packet, the
ペイロード112は、NIF処理コード741、更新コード751及び内部アドレス902を含む。
The
ノード管理用プロセッサ102は、以下のようにフォワーディングテーブル更新要求パケットのペイロード112を作成する。
The
まず、ノード管理用プロセッサ102は、NIF105に要求する処理の内容がNIF処理コード管理テーブル740のNIF処理内容742に合致するレコードを、NIF処理コード管理テーブル740から選択する。次に、選択したレコードから、NIF処理コード741を抽出する。そして、抽出したNIF処理コード741をパケットのペイロード112に格納する。
First, the
フォワーディングテーブル更新要求パケットは、フォワーディングテーブル401の更新をNIF105に要求する。よって、ノード管理用プロセッサ102は、NIF処理コード714を「1」として、パケットのペイロード112に格納する。
The forwarding table update request packet requests the
次に、ノード管理用プロセッサ102は、NIF105に要求するフォワーディングテーブル401の更新の内容が更新コード管理テーブル750のNIF更新内容752に合致するレコードを、更新コード管理テーブル750から選択する。次に、選択したレコードから、更新コード751を抽出する。そして、抽出した更新コード751をパケットのペイロードに格納する。
Next, the
本説明図のフォワーディングテーブル更新要求パケットは、機能拡張モジュール108をパケット通信装置101から削除する処理で送信される。この処理において、NIF105は、フォワーディングテーブル401から経路を削除する。よって、ノード管理用プロセッサ102は、更新コード751を「1」として、パケットのペイロード112に格納する。
The forwarding table update request packet in this explanatory diagram is transmitted in the process of deleting the
次に、ノード管理用プロセッサ102は、ステップ1901で取り外された機能拡張モジュール108の内部アドレスを、経路を削除する機能拡張モジュールの内部アドレス902として、パケットのペイロード112に格納する。
Next, the
ここで、図14−1に戻る。 Returning now to FIG.
NIF105は、フォワーディングテーブル更新要求パケットを受信する。
The
次に、NIF105は、受信したフォワーディングテーブル更新要求パケットのペイロード112から、NIF処理コードを抽出する。
Next, the
次に、NIF105は、抽出したNIF処理コードとNIF処理コード管理テーブル740のNIF処理コード741とが一致するレコードを、NIF処理コード管理テーブル740から選択する。次に、NIF105は、選択したレコードから、NIF処理内容742を抽出する。そして、NIF105は、抽出したNIF処理内容742に対応する処理を行う。
Next, the
つまり、NIF105は、抽出したNIF処理コード741が「1」であるので、受信したパケットをフォワーディングテーブル更新要求パケットと判定する。よって、NIF105は、フォワーディングテーブル401を更新する(1905)。
That is, since the extracted
具体的には、NIF105は、受信したパケットから、更新コードを抽出する。次に、NIF105は、抽出した更新コードと更新コード管理テーブル750の更新コード751とが一致するレコードを、更新コード管理テーブル750から選択する。次に、選択したレコードからNIF更新内容752を抽出する。
Specifically, the
そして、NIF105は、抽出したNIF更新内容752に基づいて、フォワーディングテーブル401を更新する内容を決定する。
Then, the
ここでは、NIF105は、抽出した更新コード751が「1」であるので、フォワーディングテーブル401から経路を削除する。
Here, the
よって、NIF105は、受信したパケットのペイロード112から、機能拡張モジュールの内部アドレス902を抽出する。次に、NIF105は、抽出した機能拡張モジュールの内部アドレス902がフォワーディングテーブル401の処理内容403に含まれるすべてのレコードを、フォワーディングテーブル401から削除する。
Therefore, the
このように、NIF105は、取り外された機能拡張モジュール108への経路をフォワーディングテーブル401から削除する。
As described above, the
そして、パケット通信装置101は、機能拡張モジュール削除処理を終了する(1908)。
Then, the
一方、ステップ1903においてリファレンスカウンタ823に「0」が存在すると、NIF105は、すべての機能拡張モジュール108がまったく使用しないプログラムを記憶していることになる。よって、ノード管理用プロセッサ102は、リファレンスカウンタ823が「0」となったプログラムの削除をNIF105に要求する。つまり、ノード管理用プロセッサ102は、プログラム削除要求パケットをNIF105に送信する(1906)。
On the other hand, if “0” exists in the
なお、プログラム削除要求パケットには、NIF処理コード741として「2」が格納されている。また、NIF105に削除を要求するプログラム名が格納されている。更に、取り外された機能拡張モジュールの内部アドレスが格納されている。
Note that “2” is stored as the
また、NIF105に削除を要求するプログラムがノード内メモリ104に記憶されている場合、ノード管理用プロセッサ102は、当該プログラムをノード内メモリ104から削除してもよい。
Further, when a program requesting the
NIF105は、プログラム削除要求パケットを受信する。次に、NIF105は、受信したパケットからNIF処理コードを抽出する。
The
次に、NIF105は、抽出したNIF処理コードとNIF処理コード管理テーブル740のNIF処理コード741とが一致するレコードを、NIF処理コード管理テーブル740から選択する。次に、NIF105は、選択したレコードから、NIF処理内容742を抽出する。そして、NIF105は、抽出したNIF処理内容742に対応する処理を行う。
Next, the
つまり、NIF105は、抽出したNIF処理コード741が「2」であるので、受信したパケットをプログラム削除要求パケットと判定する。よって、NIF105は、プロプログラムを削除し、更に、フォワーディングテーブル401を更新する(1907)。
That is, since the extracted
具体的には、NIF105は、受信したプログラム削除要求パケットからプログラム名を抽出する。そして、NIF105は、抽出したプログラム名のプログラムをプログラム用メモリ304から削除する。
Specifically, the
次に、NIF015は、受信したプログラム削除要求パケットから、機能拡張モジュールの内部アドレスを抽出する。そして、NIF105は、抽出した機能拡張モジュールの内部アドレス902がフォワーディングテーブル401の処理内容403に含まれるすべてのレコードを、フォワーディングテーブル401から削除する。
Next, the NIF 015 extracts the internal address of the function expansion module from the received program deletion request packet. Then, the
これによって、NIF105は、取り外された機能拡張モジュール108への経路をフォワーディングテーブル401から削除する。
As a result, the
そして、パケット通信装置101は、機能拡張モジュール削除処理を終了する(1908)。
Then, the
なお、ステップ1903において、ノード管理用プロセッサ102は、モジュール−プログラム管理テーブル820のリファレンスカウンタ823に基づいて、プログラムの削除をNIF105に要求するか否かを判定した。しかし、ノード管理用プロセッサ102は、リファレンスカウンタだけでなく、NIF105のプログラム用メモリ304のメモリ容量等を含むNIF105の負荷状態に基づいて判定してもよい。
In
図15は、本発明の実施の形態のパケット通信装置101のNIF追加処理のフローチャートである。
FIG. 15 is a flowchart of NIF addition processing of the
新たなNIF105が、内部スイッチ109に接続される(1301)。これによって、パケット通信装置101は、NIF追加処理を開始する。
A
具体的には、NIF105は、自身の内部I/F305と内部スイッチ109とが接続されたことを検知する。NIF105は、接続を検知すると、ノード管理用プロセッサ102にプログラム送信要求パケットを送信する(1302)。
Specifically, the
プログラム送信要求パケットは、プログラムの送信をノード管理用プロセッサ102に要求する。
The program transmission request packet requests the
図16−1は、本発明の実施の形態のプログラム送信要求パケットの構成図である。 FIG. 16A is a configuration diagram of a program transmission request packet according to the embodiment of the present invention.
プログラム送信要求パケットは、内部ヘッダ111及びペイロード112から構成される。
The program transmission request packet includes an
内部ヘッダ111は、宛先アドレス601及び送信元アドレス602を含む。
The
宛先アドレス601は、当該パケットを受信する装置内の部位の内部アドレスである。送信元アドレス602は、当該パケットを送信する装置内の部位の内部アドレスである。
The
プログラム送信要求パケットでは、宛先アドレス601がノード管理用プロセッサ102の内部アドレスである。また、送信元アドレス602が追加された新たなNIF105の内部アドレスである。
In the program transmission request packet, the
ペイロード112は、ノード管理用プロセッサ処理コード701及びプログラム指定コード761を含む。
The
NIF105は、以下のようにプログラム送信要求パケットのペイロード112を作成する。
The
まず、NIF105は、ノード管理用プロセッサ102に要求する処理の内容がノード管理用プロセッサ処理コード管理テーブル700の処理内容702に合致するレコードを、ノード管理用プロセッサ処理コード管理テーブル700から選択する。次に、選択したレコードから、ノード管理用プロセッサ処理コード701を抽出する。そして、抽出したノード管理用プロセッサ処理コード701をパケットのペイロード112に格納する。
First, the
プログラム送信要求パケットは、ノード管理用プロセッサ102にプログラムの送信を要求する。よって、機能拡張モジュール108は、ノード管理用プロセッサ処理コード701を「1」として、パケットのペイロード112に格納する。
The program transmission request packet requests the
次に、NIF105は、インストールを要求するプログラムがプログラム指定コード管理テーブル760の送信プログラム762に合致するレコードを、プログラム指定コード管理テーブル760から選択する。次に、選択したレコードから、プログラム指定コード761を抽出する。そして、抽出したプログラム指定コード761をパケットのペイロード112に格納する。
Next, the
本説明図のプログラム送信要求パケットは、NIF105がインストールするプログラムをオペレータに指定させる場合とする。よって、NIF105は、プログラム指定コード761を「1」として、パケットのペイロード112に格納する。
The program transmission request packet in this explanatory diagram is a case where the operator specifies a program to be installed by the
なお、NIF105は、プログラム指定コード762を「2」としてパケットのペイロード112に格納する場合には、要求するプログラムのプログラム名をパケットのペイロードに併せて格納する。
The
ここで、図15に戻る。 Returning now to FIG.
ノード管理用プロセッサ102は、プログラム送信要求パケットを受信する。すると、ノード管理用プロセッサ102は、受信したプログラム送信要求パケットのペイロード112から、ノード管理用プロセッサ処理コードを抽出する。
The
次に、ノード管理用プロセッサ102は、抽出したノード管理用プロセッサ処理コードとノード管理用プロセッサ処理コード管理テーブル700(図5−1)のノード管理用プロセッサ処理コード701とが一致するレコードを、ノード管理用プロセッサ処理コード管理テーブル700から選択する。次に、選択したレコードから、処理内容702を抽出する。
Next, the
そして、ノード管理用プロセッサ102は、抽出した処理内容702に対応する処理を行う(1303)。ここでは、ノード管理用プロセッサ処理コードが「1」なので、指定されたプログラムをNIF105に送信する。
Then, the
具体的には、ノード管理用プロセッサ102は、受信したプログラム送信要求パケットから、プログラム指定コードを抽出する。
Specifically, the
次に、ノード管理用プロセッサ102は、抽出したプログラム指定コードとプログラム指定コード管理テーブル760のプログラム指定コード761とが一致するレコードを、プログラム指定コード管理テーブル760から選択する。次に、選択したレコードから、送信プログラム762を抽出する。
Next, the
次に、ノード管理用プロセッサ102は、抽出した送信プログラム762に基づいて、NIF105に送信するプログラムを判定する。
Next, the
具体的には、ノード管理用プロセッサ102は、抽出したプログラム指定コードが「0」であると、機能拡張モジュール108に関するすべてのプログラムを送信すると判定し、ステップ1307に進む。
Specifically, if the extracted program designation code is “0”, the
また、ノード管理用プロセッサ102は、抽出したプログラム指定コードが「2」であると、受信したプログラム送信要求パケットから、プログラム名を抽出する。そして、ノード管理用プロセッサ102は、抽出したプログラム名のプログラムを送信すると判定し、ステップ1307に進む。
If the extracted program designation code is “2”, the
また、ノード管理用プロセッサ102は、抽出したプログラム指定コードが「1」であると、NIF105に送信するプログラムをオペレータに指定させると判定する。そこで、ノード管理用プロセッサ102は、プログラム指定要求をオペレータ制御端末103に送信する。プログラム指定要求は、追加された新たなNIFのNIF番号を含む。
Further, when the extracted program designation code is “1”, the
すると、オペレター制御端末103は、受信したプログラム指定要求に対応する情報を表示する。
Then, the
図17は、本発明の実施の形態のプログラム指定要求を受信したオペレータ制御端末103の表示画面の説明図である。
FIG. 17 is an explanatory diagram of a display screen of the
オペレータ制御端末103は、モジュール−プログラム管理テーブル820等を表示している。
The
オペレータは、オペレータ制御端末103に表示されたモジュール−プログラム管理テーブル820を参照することによって、機能拡張モジュール108とプログラムとの対応を把握できる。そのため、オペレータは、新たに追加されたNIF105にインストールするプログラムを決定できる。そして、オペレータは、決定したプログラムを、オペレータ制御端末103上で指定する。
The operator can grasp the correspondence between the
しかし、この表示画面では、表示している情報量が多い。そのため、オペレータは、NIF105にインストールするプログラムを直感的に判断するのは困難である。そこで、オペレータ制御端末103は、以下のような表示をしてもよい。
However, the amount of information displayed on this display screen is large. Therefore, it is difficult for an operator to intuitively determine a program to be installed in the
図18−1は、本発明の実施の形態のプログラム指定要求を受信したオペレータ制御端末103の表示画面の説明図である。
FIG. 18A is an explanatory diagram of a display screen of the
オペレータ制御端末103は、機能拡張モジュール108が提供するサービスの種類をすべて表示している。
The
そして、オペレータは、新たに追加されたNIF105で実現したいサービスを、オペレータ制御端末103上で選択する。
Then, the operator selects on the operator control terminal 103 a service desired to be realized by the newly added
すると、オペレータ制御端末103は、選択されたサービスを提供する機能拡張モジュールが使用するプログラムを、モジュールプログラム管理テーブル820から判定する。そして、判定したプログラムを、ユーザに指定されたプログラムとする。
Then, the
他にも、オペレータ制御端末103は、以下のような表示をしてもよい。
In addition, the
図18−2は、本発明の実施の形態のプログラム指定要求を受信したオペレータ制御端末103の表示画面の説明図である。
FIG. 18-2 is an explanatory diagram of a display screen of the
オペレータ制御端末103は、NIF−プログラム管理テーブル800等を表示している。
The
この場合、オペレータは、パケット通信装置101に既に接続されているNIF105(既存のNIF105)に記憶されているプログラムと同一のプログラムを指定できる。よって、オペレータは、簡便且つ設定ミスの少ないプログラム指定が可能となる。
In this case, the operator can designate the same program as the program stored in the
例えば、オペレータは、既存のNIF105の一つをオペレータ制御端末103上で選択する。
For example, the operator selects one of the existing
すると、オペレータ制御端末103は、選択されたNIF105に記憶されているプログラムを、NIF−プログラム管理テーブル800から判定する。そして、判定したプログラムを、ユーザに指定されたプログラムとする。
Then, the
ここで、図15に戻る。 Returning now to FIG.
次に、オペレータは、新たに追加されたNIF105にインストールするプログラムをオペレータ制御端末103上で指定する(1306)。すると、オペレータ制御端末103は、指定されたプログラムをノード管理用プロセッサ102に通知する。
Next, the operator designates a program to be installed in the newly added
次に、ノード管理用プロセッサ102は、モジュール−プログラム管理テーブル820の保存方法824を参照することによって、通知されたプログラム又は通知されたプログラムの所在情報の記憶場所を判定する。
Next, the
そして、ノード管理用プロセッサ102は、指定されたプログラムがノード内メモリ104に記憶されているか否かを判定する(1307)。
Then, the
指定されたプログラムがノード内メモリ104に記憶されていると、ノード管理用プロセッサ102は、ノード内メモリ104から当該プログラムを取得する。そして、ステップ1315に進む。
When the designated program is stored in the in-
一方、指定されたプログラムがノード内メモリ104に記憶されていないと、ノード管理用プロセッサ102は、ノード内メモリ104から当該プログラムを取得できない。そこで、ノード管理用プロセッサ102は、指定されたプログラムの所在情報がノード内メモリ104に記憶されているか否かを判定する(1308)。
On the other hand, if the designated program is not stored in the
所在情報がノード内メモリ104に記憶されていると、ノード管理用プロセッサ102は、当該所在情報に対応するサーバ又はノード等から、当該プログラムを取得する(1309)。そして、ステップ1315に進む。
When the location information is stored in the in-
一方、所在情報がノード内メモリ104に記憶されていないと、ノード管理用プロセッサ102は、当該プログラムに関する情報がノード内メモリ104から取得できないと判定する。そこで、ノード管理用プロセッサ102は、モジュール−プログラム管理テーブル820を参照することによって、当該プログラムを記憶している機能拡張モジュール108を特定する。次に、ノード管理用プロセッサ102は、特定した機能拡張モジュール108へ、プログラム要求パケットを送信する(1310)。
On the other hand, if the location information is not stored in the
図16−2は、本発明の実施の形態のプログラム要求パケットの構成図である。 FIG. 16B is a configuration diagram of a program request packet according to the embodiment of the present invention.
プログラム要求パケットは、内部ヘッダ111及びペイロード112から構成される。
The program request packet includes an
内部ヘッダ111は、宛先アドレス601及び送信元アドレス602を含む。
The
宛先アドレス601は、当該パケットを受信する装置内の部位の内部アドレスである。送信元アドレス602は、当該パケットを送信する装置内の部位の内部アドレスである。
The
プログラム要求パケットでは、宛先アドレス601が機能拡張モジュール108の内部アドレスである。また、送信元アドレス602がノード管理用プロセッサ102の内部アドレスである。
In the program request packet, the
ペイロード112は、モジュール処理コード771及びプログラム名904を含む。
The
ノード管理用プロセッサ102は、以下のようにプログラム要求パケットのペイロード112を作成する。
The
まず、モジュール−プログラム管理テーブル820の保存方法824を参照することによって、当該プログラム又は当該プログラムの所在情報のどちらを機能拡張モジュール108が記憶しているかを判定する。
First, by referring to the
具体的には、モジュール−プログラム管理テーブル820の保存方法824が「3」であると、機能拡張モジュール108がプログラムを記憶していると判定する。よって、機能拡張モジュール108にプログラムを要求するので、モジュール処理コード771を「1」として、パケットのペイロード112に格納する。
Specifically, when the
一方、モジュール−プログラム管理テーブル820の保存方法824が「4」であると、機能拡張モジュール108がプログラムの所在情報を記憶していると判定する。よって、機能拡張モジュール108にプログラムの所在情報を要求するので、モジュール処理コード771を「2」として、パケットのペイロード112に格納する。
On the other hand, if the
更に、機能拡張モジュール108に要求するプログラムのプログラム名906を、パケットのペイロードに格納する。
Further, the program name 906 of the program requested to the
ここで、図15に戻る。 Returning now to FIG.
機能拡張モジュール108は、プログラム要求パケットを受信する。次に、機能拡張モジュール108は、受信したプログラム要求パケットのペイロード112から、モジュール処理コードを抽出する。
The
次に、機能拡張モジュール108は、抽出したモジュール処理コードとモジュール処理コード管理テーブル770のモジュール処理コード771とが一致するレコードを、モジュール処理コード管理テーブル770から選択する。次に、選択したレコードから、モジュール処理内容772を抽出する。そして、機能拡張モジュール108は、抽出したモジュール処理内容772に対応する処理を行う。
Next, the
具体的には、機能拡張モジュール108は、抽出したモジュール処理コードが「0」又は「1」のどちらであるかを判定する(1311)。
Specifically, the
機能拡張モジュール108は、抽出したモジュール処理コードが「0」であると、プログラムの所在情報を要求されている。そこで、機能拡張モジュール108は、受信したプログラム要求パケットのペイロード112から、プログラム名904を抽出する。
If the extracted module processing code is “0”, the
次に、機能拡張モジュール108は、抽出したプログラム名904のプログラムの所在情報を、ノード管理用プロセッサ102に送信する(1314)。
Next, the
すると、ノード管理用プロセッサ102は、受信したプログラムの所在情報をノード内メモリ104に記憶する。
Then, the
そして、ステップ1308に戻る。この場合、ノード管理用プロセッサ102は、プログラムの所在情報がノード内メモリに記憶されていると判定する。そこで、ノード管理用プロセッサ102は、当該所在情報に対応するサーバ又はノード等から、プログラムを取得する(1309)。そして、ステップ1315に進む。
Then, the process returns to Step 1308. In this case, the
一方、機能拡張モジュール108は、抽出したモジュール処理コードが「1」であると、プログラムを要求されている。そこで、機能拡張オジュール108は、受信したプログラム要求パケットのペイロード112から、プログラム名904を抽出する。
On the other hand, the
次に、機能拡張モジュール108は、抽出したプログラム名904のプログラムを、ノード管理用プロセッサ102に送信する(1312)。
Next, the
すると、ノード管理用プロセッサ102は、機能拡張モジュール108からプログラムを受信する(1313)。
Then, the
次に、ノード管理用プロセッサ102は、受信したプログラムを含むプログラムインストール要求パケットを、新たに追加されたNIF105に送信する(1315)。
Next, the
図19−1は、本発明の実施の形態のプログラムインストール要求パケットの構成図である。 FIG. 19A is a configuration diagram of a program installation request packet according to the embodiment of the present invention.
プログラムインストール要求パケットは、内部ヘッダ111及びペイロード112から構成される。
The program installation request packet includes an
内部ヘッダ111は、宛先アドレス601及び送信元アドレス602を含む。
The
宛先アドレス601は、当該パケットを受信する装置内の部位の内部アドレスである。送信元アドレス602は、当該パケットを送信する装置内の部位の内部アドレスである。
The
プログラムインストール要求パケットでは、宛先アドレス601が新たに追加されたNIF105の内部アドレスである。また、送信元アドレス602がノード管理用プロセッサ102の内部アドレスである。
In the program installation request packet, the
ペイロード112は、NIF処理コード741、機能拡張モジュールの内部アドレス1701、パケット指定コード731、プログラム903及びプログラム名904を含む。なお、機能拡張モジュールの内部アドレス1701、パケット指定コード731、プログラム903及びプログラム名をまとめて、更新情報1702とする。
The
なお、ペイロード112は、機能拡張モジュールの内部アドレス1701を複数含んでいてもよい。この場合、ペイロード112は、それぞれの機能拡張モジュール108が対応するパケット指定コード731を含む。
The
ノード管理用プロセッサ102は、以下のようにプログラムインストール要求パケットのペイロード112を作成する。
The
まず、ノード管理用プロセッサ102は、NIF105に要求する処理の内容がNIF処理コード管理テーブル740のNIF処理内容742に合致するレコードを、NIF処理コード管理テーブル740から選択する。次に、選択したレコードから、NIF処理コード741を抽出する。そして、抽出したNIF処理コード741を、パケットのペイロード112に格納する。
First, the
プログラムインストール要求パケットは、ペイロードに格納されているプログラム903のインストールをNIF105に要求する。よって、ノード管理用プロセッサ102は、NIF処理コード714を「0」として、パケットのペイロード112に格納する。
The program installation request packet requests the
次に、ノード管理用プロセッサ102は、モジュール−プログラム管理テーブル820を参照して、当該プログラムを使用する機能拡張モジュール108を特定する。更に、ノード管理用プロセッサ102は、特定した機能拡張モジュール108が処理するパケットのパケット指定コードを特定する。そして、ノード管理用プロセッサ102は、特定した機能拡張モジュール108の内部アドレス902及びパケット指定コード731をパケットのペイロード112に格納する。
Next, the
また、ノード管理用プロセッサ102は、ノード内メモリ102又は機能拡張モジュール108等から取得したプログラムをパケットのペイロード112に格納する。
The
図19−2は、本発明の実施の形態のプログラムインストール要求パケットの構成図である。 FIG. 19-2 is a configuration diagram of a program installation request packet according to the embodiment of the present invention.
本説明図のプログラムインストール要求パケットは、複数の更新情報1702を含む。対して、図19−1のプログラムインストール要求パケットは、更新情報1702を一つだけ含む。
The program installation request packet of this explanatory diagram includes a plurality of
つまり、プログラムインストール要求パケットは、更新情報1702をいくつ含んでいてもよい。
That is, the program installation request packet may include any number of
なお、本説明図のプログラムインストール要求パケットのそれ以外の構成は、図19−1のプログラムインストール要求パケットと同一である。よって、同一の構成には同一の番号を付し、説明を省略する。 The rest of the configuration of the program installation request packet in this explanatory diagram is the same as that of the program installation request packet in FIG. Therefore, the same number is attached | subjected to the same structure and description is abbreviate | omitted.
ここで、図15に戻る。 Returning now to FIG.
ノード管理用プロセッサ102は、プログラムインストール要求パケットを送信すると、NIF−プログラム管理テーブル800を更新する(1316)。
When the
具体的には、ノード管理用プロセッサ102は、プログラムインストール要求パケットに格納したプログラム名904とNIF−プログラム管理テーブル800のプログラム名801とが一致し、更に、パケットの送信先のNIF105のNIF番号とNIF−プログラム管理テーブル800のNIF番号802とが一致するボックスに、丸印を格納する。
Specifically, the
次に、ノード管理用プロセッサ102は、プログラムインストール要求パケットに格納したプログラム903のデータ量を測定する。次に、パケットの送信先のNIF105のNIF番号とNIF−プログラム管理テーブル800のNIF番号802とが一致するレコードのメモリ残存率804を選択する。そして、測定したデータ量に基づいて、選択したメモリ残存率を変更する。
Next, the
次に、ノード管理用プロセッサ102は、プログラム記憶処理(図11−2)を行う(1317)。
Next, the
一方、NIF105は、ノード管理用プロセッサ102からプログラムインストール要求パケットを受信する。すると、NIF105は、受信したプログラムインストール要求パケットのペイロード112から、NIF処理コードを抽出する。
On the other hand, the
次に、NIF105は、抽出したNIF処理コードとNIF処理コード管理テーブル740のNIF処理コード741とが一致するレコードを、NIF処理コード管理テーブル740から選択する。次に、NIF105は、選択したレコードから、NIF処理内容742を抽出する。そして、NIF105は、抽出したNIF処理内容742に対応する処理を行う。
Next, the
具体的には、NIF105は、抽出したNIF処理コード741が「0」なので、受信したパケットをプログラムインストール要求パケットと判定する。よって、NIF105は、受信したプログラムインストール要求パケットのペイロード112から、プログラム903を抽出する。次に、NIF105は、抽出したプログラム903をインストールする。
Specifically, the
更に、NIF105は、フォワーディングテーブル401を更新する(1318)。
Further, the
具体的には、NIF105は、受信したパケットのペイロード112から、パケット指定コード731を抽出する。次に、NIF105は、抽出したパケット指定コードとパケット指定コード管理テーブル730のパケット指定コード731とが一致するレコードを、パケット指定コード管理テーブル730から選択する。次に、選択したレコードから、パケットの種類732を抽出する。
Specifically, the
次に、NIF105は、フォワーディングテーブル401に新たなレコードを追加する。次に、NIF105は、抽出したパケットの種類732を、新たなレコードのペイロードタイプ405及びIPアドレス/プレフィックス長406に格納する。
Next, the
次に、NIF105は、受信したパケットのペイロード112から、機能拡張モジュールの内部アドレス902及びプログラム名904を抽出する。次に、NIF105は、抽出した機能拡張モジュールの内部アドレス902及びプログラム名904を、追加した新たなレコードの処理内容403に格納する。
Next, the
このように、NIF105は、フォワーディングテーブル401を更新する。そして、パケット通信装置101は、機能拡張モジュール108の追加処理を終了する(1319)。
In this way, the
図20は、本発明の実施の形態のパケット通信装置のNIF追加処理のシーケンス図である。 FIG. 20 is a sequence diagram of NIF addition processing of the packet communication device according to the embodiment of this invention.
このシーケンス図は、NIF105を追加されたパケット通信装置101の代表的な処理を示す。
This sequence diagram shows typical processing of the
まず、NIF105がパケット通信装置101に追加される。すると、追加されたNIF105は、プログラムをノード管理用プロセッサ102に要求する(1801)。
First, the
すると、ノード管理用プロセッサ102は、NIF105にインストールするプログラムの指定をオペレータ制御端末103に要求する(1802)。
Then, the
オペレータ制御端末103は、受信したプログラム指定要求の内容を表示する。オペレータは、NIF105にインストールするプログラムの指定をオペレータ制御端末103に入力する。すると、オペレータ制御端末103は、入力された内容を含むプログラム指定応答をノード管理用プロセッサ102に送信する(1803)。
The
ノード管理用プロセッサ102は、オペレータ制御端末103からプログラム指定応答を受信する。次に、ノード管理用プロセッサ102は、受信したプログラム指定応答から、オペレータによって指定されたプログラムを特定する。次に、ノード管理用プロセッサ102は、特定したプログラムを記憶している機能拡張モジュール108を判定する。そして、ノード管理用プロセッサ102は、判定した機能拡張モジュール108に、特定したプログラムを要求する(1804)。
The
プログラムを要求された機能拡張モジュール108は、要求されたプログラムをノード管理用プロセッサ102に送信する(1805)。
The
すると、ノード管理用プロセッサ102は、機能拡張モジュール108からプログラムを受信する。
Then, the
次に、ノード管理用プロセッサ102は、受信したプログラムをNIF105に送信する。更に、ノード管理用プロセッサ102は、送信したプログラムのインストールをNIF105に要求する(1806)。
Next, the
すると、NIF105は、受信したプログラムをインストールする。
Then, the
そして、パケット通信装置101は、NIF追加処理を終了する。
Then, the
次に、本実施の形態のパケット通信装置101の効果を説明する。
Next, the effect of the
ここでは、通知用プログラムをインストールされているNIF105を備えるパケット通信装置101で説明する。
Here, the
なお、通知用プログラムは、所定の条件に合致するイベントが発生すると、NIF105に転送用プログラムをインストール又はアンインストールする。
The notification program installs or uninstalls the transfer program in the
なお、所定の条件に合致するイベントには、インストール用イベント又はアンインストール用イベントがある。例えば、インストール用イベントは、特定の特徴を有するパケットをNIF105が受信した場合等である。また、アンインストール用イベントは、所定の時間が経過した場合又は所定の時刻となった場合等である。
An event that matches a predetermined condition includes an install event or an uninstall event. For example, the installation event is when the
また、転送用プログラムは、NIF105が受信したパケットを機能拡張モジュール108へ転送する。なお、転送用プログラムは、機能拡張モジュール108への転送前に、カプセル化、暗号化、復号化及び/又はコピー等の処理を行ってもよい。
The transfer program transfers the packet received by the
図21−1は、本発明の実施の形態のパケット通信装置101のイベント処理のフローチャートである。
FIG. 21A is a flowchart of event processing of the
まず、NIF105が所定の条件に合致するイベントを検出すると、パケット通信装置101は、イベント処理を開始する(2001)。ここで、NIF105は、オペレータ制御端末103にイベントの発生を通知してもよい。
First, when the
NIF105は、発生したイベントが、インストール用イベント又はアンインストール用イベントのどちらであるかを判定する(2002)。
The
インストール用イベントであると、NIF105は、プログラム送信要求パケットをノード管理用プロセッサ102に送信する(2003)。
If it is an installation event, the
プログラム送信要求パケットは、転送用プログラムの送信をノード管理用プロセッサ102に要求する。
The program transmission request packet requests the
図21−2は、本発明の実施の形態のプログラム送信要求パケットの構成図である。 FIG. 21B is a configuration diagram of a program transmission request packet according to the embodiment of the present invention.
プログラム送信要求パケットは、内部ヘッダ111及びペイロード112から構成される。
The program transmission request packet includes an
内部ヘッダ111は、宛先アドレス601及び送信元アドレス602を含む。
The
宛先アドレス601は、当該パケットを受信する装置内の部位の内部アドレスである。送信元アドレス602は、当該パケットを送信する装置内の部位の内部アドレスである。
The
プログラム送信要求パケットでは、宛先アドレス601がノード管理用プロセッサ102の内部アドレスである。また、送信元アドレス602がNIF105の内部アドレスである。
In the program transmission request packet, the
ペイロード112は、ノード管理用プロセッサ処理コード701、プログラム指定コード761及びプログラム名904を含む。
The
NIF105は、以下のようにプログラム送信要求パケットのペイロード112を作成する。
The
まず、NIF105は、ノード管理用プロセッサ102に要求する処理の内容がノード管理用プロセッサ処理コード管理テーブル700の処理内容702に合致するレコードを、ノード管理用プロセッサ処理コード管理テーブル700から選択する。次に、選択したレコードから、ノード管理用プロセッサ処理コード701を抽出する。そして、抽出したノード管理用プロセッサ処理コード701をパケットのペイロード112に格納する。
First, the
プログラム送信要求パケットは、ノード管理用プロセッサ102に転送用プログラムの送信を要求する。よって、機能拡張モジュール108は、ノード管理用プロセッサ処理コード701を「1」として、パケットのペイロード112に格納する。
The program transmission request packet requests the
次に、NIF105は、インストールを要求するプログラムがプログラム指定コード管理テーブル760の送信プログラム762に合致するレコードを、プログラム指定コード管理テーブル760から選択する。次に、選択したレコードから、プログラム指定コード761を抽出する。そして、抽出したプログラム指定コード761をパケットのペイロード112に格納する。
Next, the
本説明図のプログラム送信要求パケットは、転送用プログラムをペイロードで指定する。よって、NIF105は、プログラム指定コード761を「2」として、パケットのペイロード112に格納する。
In the program transmission request packet in this explanatory diagram, the transfer program is designated by the payload. Therefore, the
また、NIF105は、転送用プログラムのプログラム名904を、パケットのペイロード112に格納する。
The
ここで、図21−1に戻る。 Returning now to FIG.
ノード管理用プロセッサ102は、プログラム送信要求パケットをNIF105から受信する。すると、ノード管理用プロセッサ102は、受信したプログラム送信要求パケットのペイロード112から、ノード管理用プロセッサ処理コードを抽出する。
The
次に、ノード管理用プロセッサ102は、抽出したノード管理用プロセッサ処理コードとノード管理用プロセッサ処理コード管理テーブル700(図5−1)のノード管理用プロセッサ処理コード701とが一致するレコードを、ノード管理用プロセッサ処理コード管理テーブル700から選択する。次に、選択したレコードから、処理内容702を抽出する。
Next, the
そして、ノード管理用プロセッサ102は、抽出した処理内容702に対応する処理を行う。ここでは、ノード管理用プロセッサ処理コードが「1」なので、プログラムをNIF105に送信する。
Then, the
具体的には、ノード管理用プロセッサ102は、受信したプログラム送信要求パケットのペイロードから、プログラム指定コードを抽出する。
Specifically, the
次に、ノード管理用プロセッサ102は、抽出したプログラム指定コードとプログラム指定コード管理テーブル760のプログラム指定コード761とが一致するレコードを、プログラム指定コード管理テーブル760から選択する。次に、選択したレコードから、送信プログラム762を抽出する。
Next, the
次に、ノード管理用プロセッサ102は、抽出した送信プログラム762に基づいて、NIF105に送信するプログラムを特定する。
Next, the
ここでは、ノード管理用プロセッサ102は、抽出したプログラム指定コードが「2」なので、受信したプログラム送信要求パケットからプログラム名904を抽出する。そして、ノード管理用プロセッサ102は、抽出したプログラム名904の転送用プログラムをNIF105へ送信する(2004)。なお、ノード管理用プロセッサ102は、プログラムインストール要求パケット(図19−1)を使って、転送用プログラムを送信する。
Here, since the extracted program designation code is “2”, the
次に、ノード管理用プロセッサ102は、プログラムインストール要求パケットを送信すると、NIF−プログラム管理テーブル800を更新する(2005)。なお、このNIF−プログラム管理テーブル800を更新処理は、NIF追加処理(図15)のステップ1316と同一である。よって、詳細の説明は省略する。
Next, when transmitting the program installation request packet, the
一方、NIF105は、ノード管理用プロセッサ102からプログラムインストール要求パケットを受信する。すると、NIF105は、受信したプログラムインストール要求パケットのペイロード112から、NIF処理コードを抽出する。
On the other hand, the
次に、NIF105は、抽出したNIF処理コードとNIF処理コード管理テーブル740のNIF処理コード741とが一致するレコードを、NIF処理コード管理テーブル740から選択する。次に、NIF105は、選択したレコードから、NIF処理内容742を抽出する。そして、NIF105は、抽出したNIF処理内容742に対応する処理を行う。
Next, the
具体的には、NIF105は、抽出したNIF処理コード741が「0」なので、受信したパケットをプログラムインストール要求パケットと判定する。よって、NIF105は、受信したプログラムインストール要求パケットのペイロード112から、プログラム903を抽出する。次に、NIF105は、抽出したプログラム903をインストールする。
Specifically, since the extracted
更に、NIF105は、フォワーディングテーブル401を更新する(2006)。なお、フォワーディングテーブル401の更新処理は、NIF追加処理(図15)のステップ1318と同一である。よって、詳細の説明は省略する。
Further, the
そして、パケット通信装置101は、イベント処理を終了する(2010)。
Then, the
一方、ステップ2002でアンインストール用イベントであると、NIF105は、プログラム用メモリ304に記憶されている転送用プログラムを削除する。更に、NIF105は、フォワーディングテーブル401を更新する(2007)。
On the other hand, if it is an uninstall event in
具体的には、NIF105は、削除した転送用プログラムのプログラム名がフォワーディングテーブル401の処理内容403に格納されているレコードを、フォワーディングテーブル401から選択する。そして、選択したレコードをフォワーディングテーブル401から削除する。
Specifically, the
次に、NIF105は、ノード管理用プロセッサ102にプログラム削除通知パケットを送信する(2008)。
Next, the
図21−3は、本発明の実施の形態のプログラム削除通知パケットの構成図である。 FIG. 21C is a configuration diagram of a program deletion notification packet according to the embodiment of this invention.
プログラム削除通知パケットは、プログラムの削除をノード管理用プロセッサ102に通知する。
The program deletion notification packet notifies the
プログラム削除通知パケットは、内部ヘッダ111及びペイロード112から構成される。
The program deletion notification packet includes an
内部ヘッダ111は、宛先アドレス601及び送信元アドレス602を含む。
The
宛先アドレス601は、当該パケットを受信する装置内の部位の内部アドレスである。送信元アドレス602は、当該パケットを送信する装置内の部位の内部アドレスである。
The
プログラム削除通知パケットでは、宛先アドレス601がノード管理用プロセッサ102の内部アドレスである。また、送信元アドレス602がNIF105の内部アドレスである。
In the program deletion notification packet, the
ペイロード112は、ノード管理用プロセッサ処理コード701及びプログラム名904を含む。
The
NIF105は、以下のようにプログラム削除通知パケットのペイロード112を作成する。
The
まず、NIF105は、ノード管理用プロセッサ102に要求する処理の内容がノード管理用プロセッサ処理コード管理テーブル700の処理内容702に合致するレコードを、ノード管理用プロセッサ処理コード管理テーブル700から選択する。次に、選択したレコードから、ノード管理用プロセッサ処理コード701を抽出する。そして、抽出したノード管理用プロセッサ処理コード701を、パケットのペイロード112に格納する。
First, the
プログラム削除通知パケットは、ノード管理用プロセッサ102にプログラムの削除を通知し、NIF−プログラム管理テーブル800の更新を要求する。よって、NIF105は、ノード管理用プロセッサ処理コード701を「3」として、パケットのペイロード112に格納する。
The program deletion notification packet notifies the
次に、NIF105は、プログラム用メモリ304から削除した転送用プログラムのプログラム名904を、パケットのペイロードに格納する。
Next, the
ここで、図21−1に戻る。 Returning now to FIG.
ノード管理用プロセッサ102は、NIF105からプログラム削除通知パケットを受信する。すると、ノード管理用プロセッサ102は、受信したプログラム削除通知パケットから、ノード管理用プロセッサ処理コードを抽出する。
The
次に、ノード管理用プロセッサ102は、抽出したノード管理用プロセッサ処理コードとノード管理用プロセッサ処理コード管理テーブル700(図5−1)のノード管理用プロセッサ処理コード701とが一致するレコードを、ノード管理用プロセッサ処理コード管理テーブル700から選択する。次に、選択したレコードから、処理内容702を抽出する。
Next, the
そして、ノード管理用プロセッサ102は、抽出した処理内容702に対応する処理を行う。ここでは、ノード管理用プロセッサ102は、抽出したノード管理用プロセッサ処理コードが「3」なので、NIF−プログラム管理テーブル800を更新する(2009)。
Then, the
具体的には、ノード管理用プロセッサ102は、受信したパケットのペイロード112からプログラム名904を抽出する。また、受信したパケットの内部ヘッダ111から、送信元アドレス602を抽出する。次に、ノード管理用プロセッサ102は、抽出したプログラム名904とNIF−プログラム管理テーブル800のプログラム名801とが一致し、更に、抽出した送信元アドレス602に対応するNIF番号とNIF−プログラム管理テーブル800のNIF番号802とが一致するボックスを、NIF−プログラム管理テーブル800から選択する。そして、選択したボックスに格納されている丸印を削除する。
Specifically, the
そして、パケット通信装置101は、イベント処理を終了する(2010)。
Then, the
以上のように、通知用プログラムをインストールされているNIF105は、転送用プログラムが必要なときだけ、インストールする。よって、プログラム用メモリ304を効率よく利用できる。
As described above, the
また、通知用プログラムは、NIF105が処理できないパケットを受信した場合、設定ミスの可能性がある旨をオペレータ制御端末103に通知することもできる。この場合、オペレータ制御端末103は、設定ミスの可能性がある旨の通知を受けると、通知の内容を表示する。よって、オペレータは、パケット通信装置101の設定ミスを早急に発見し、解消できる。
In addition, when the notification program receives a packet that cannot be processed by the
また、通知用プログラムは、一定の時間が経過した場合又は所定の時刻になった場合等に、転送用プログラムをインストールすることもできる。この場合、すべてのNIF105に、転送用プログラムを一斉にインストールできる。よって、オペレータは、それぞれのNIF105の設定を変更する必要がないので、負担が軽減される。ここで、本発明の特徴を述べる。装置を制御するノード管理用プロセッサと、外部ネットワークとの間でパケットを送受信するネットワークインタフェースと、前記パケットに所定の処理を行う機能拡張モジュールと、前記パケットを装置内で転送するスイッチと、を備えるパケット通信装置と、前記パケット通信装置に対してパケットを送受信する端末と、前記パケット通信装置と前記端末とを接続するネットワークと、を含むパケット通信システムにおいて、前記ネットワークインタフェースは、CPUとメモリとを備え、前記メモリは、前記CPUが実行するプログラムを記憶し、前記CPUは、該プログラムを実行することによって、前記外部ネットワークから受信したパケットを処理し、前記機能拡張モジュールは、前記メモリに記憶されるプログラムを記憶していることを特徴とする。また、装置を制御するノード管理用プロセッサと、外部ネットワークとの間でパケットを送受信するネットワークインタフェースと、前記パケットに所定の処理を行う機能拡張モジュールと、前記パケットを装置内で転送するスイッチと、を備えるパケット通信装置における機能拡張方法であって、前記ネットワークインタフェースは、CPUとメモリとを備え、前記メモリは、前記CPUが実行するプログラムを記憶し、前記CPUは、該プログラムを実行することによって、前記外部ネットワークから受信したパケットを処理し、前記機能拡張モジュールは、前記メモリに記憶されるプログラムを記憶していることを特徴とする。また、特許請求の範囲に記載されている発明のパケット通信装置において、前記機能拡張モジュールが取り外されると、前記ノード管理用プロセッサは、前記プログラム管理情報に含まれる前記カウンタを減少させ、前記カウンタが0になると、当該カウンタに対応するプログラムが記憶されているネットワークインタフェースへ、当該プログラムの削除を要求する。また、前記プログラムは、前記外部ネットワークから受信したパケットを前記機能拡張モジュールへ転送する。また、前記プログラムは、所定の時間が経過した場合又は特定のパケットを受信した場合に、他のプログラムの追加又は削除をネットワークインタフェースに要求する。また、前記パケット通信装置に追加されたネットワークインタフェースは、前記ノード管理用プロセッサにプログラムを要求し、前記ノード管理用プロセッサは、前記プログラムの要求があると、予め設定された条件に基づいて、前記追加されたネットワークインタフェースに送信するプログラムを特定し、前記特定したプログラムを取得し、前記追加されたネットワークインタフェースに前記取得したプログラムを送信する。また、情報を記憶するノード内メモリを備え、前記ノード内メモリは、プログラムを管理するプログラム管理情報を記憶し、前記ノード管理用プロセッサは、前記プログラム管理情報に基づいて、前記特定したプログラムが格納されている場所を特定し、前記特定した場所から、前記プログラムを取得する。また、前記ネットワークインタフェースは、前記外部ネットワークを介して、装置外部のサーバ及び装置外部のノードに接続され、前記ノード管理用プロセッサは、前記特定したプログラムを、前記ノード内メモリ、前記機能拡張モジュール、前記装置外部のサーバ又は前記装置外部のノードから取得する。
The notification program can also install the transfer program when a certain time has elapsed or when a predetermined time has come. In this case, the transfer program can be installed in all the
本発明のパケット通信装置は、ユーザに直接接続するノードに適用できる。 The packet communication apparatus of the present invention can be applied to a node directly connected to a user.
101 パケット通信装置
102 ノード管理用プロセッサ
103 オペレータ制御端末
104 ノード内メモリ
105 NIF
106 モジュールI/F
107 制御用I/F
108 機能拡張モジュール
109 内部スイッチ
110 外部ネットワーク
301 NIF管理用プロセッサ
302 NIF内メモリ
303 パケット処理用プロセッサ
304 プログラム用メモリ
305 内部I/F
306 外部I/F
307 NIF内部スイッチ
308 モジュール内プロセッサ
309 モジュール内メモリ
310 モジュール内部I/F
401 フォワーディングテーブル
101
106 Module I / F
107 I / F for control
108
306 External I / F
307 NIF
401 Forwarding table
Claims (10)
前記ネットワークインタフェースは、CPUとメモリとを備え、 The network interface includes a CPU and a memory,
前記メモリは、前記CPUが実行するプログラムを記憶し、 The memory stores a program executed by the CPU,
前記CPUは、該プログラムを実行することによって、前記外部ネットワークから受信したパケットを処理し、 The CPU processes the packet received from the external network by executing the program,
前記機能拡張モジュールは、前記メモリに記憶されるプログラムを記憶し、 The function expansion module stores a program stored in the memory,
前記ノード管理用プロセッサは、 The node management processor is:
前記メモリに記憶されているプログラムを更新するための更新情報を前記機能拡張モジュールから受信し、 Receiving update information for updating the program stored in the memory from the function expansion module;
前記受信した更新情報に基づいて特定された、前記プログラムが格納されている場所から、前記プログラムを取得し、 The program is obtained from the location where the program is stored, identified based on the received update information,
前記取得したプログラムを前記ネットワークインタフェースに送信することを特徴とするパケット通信装置。 A packet communication apparatus, wherein the acquired program is transmitted to the network interface.
前記ノード内メモリは、前記ノード管理用プロセッサが受信した更新情報に含まれる前記プログラム及び/又は前記プログラムの所在に関する情報を記憶することを特徴とする請求項2に記載のパケット通信装置。 The packet communication device according to claim 2, wherein the intra-node memory stores the program and / or information regarding the location of the program included in the update information received by the node management processor.
前記プログラムの所在に関する情報は、前記プログラムを記憶している装置外部のサーバ又は装置外部のノードの位置情報であることを特徴とする請求項2に記載のパケット通信装置。 3. The packet communication apparatus according to claim 2, wherein the information related to the location of the program is position information of a server or a node outside the apparatus storing the program.
前記プログラムを前記機能拡張モジュールから受信し、 Receiving the program from the function enhancement module;
前記受信したプログラムを前記ネットワークインタフェースに送信することを特徴とする請求項1に記載のパケット通信装置。 The packet communication apparatus according to claim 1, wherein the received program is transmitted to the network interface.
前記プログラムを前記機能拡張モジュールから受信し、 Receiving the program from the function enhancement module;
予め設定された条件に従って、前記受信したプログラムの送信先となるネットワークインタフェースを特定し、 In accordance with preset conditions, identify the network interface that is the transmission destination of the received program,
前記受信したプログラムを前記特定したネットワークインタフェースに送信することを特徴とする請求項1に記載のパケット通信装置。 The packet communication device according to claim 1, wherein the received program is transmitted to the specified network interface.
前記ノード内メモリは、前記プログラムを管理するプログラム管理情報を記憶し、 The in-node memory stores program management information for managing the program,
前記ノード管理用プロセッサは、 The node management processor is:
前記プログラムを前記機能拡張モジュールから受信し、 Receiving the program from the function enhancement module;
前記プログラム管理情報に基づいて、前記受信したプログラムの送信先となるネットワークインタフェースを特定し、 Based on the program management information, identify the network interface that is the transmission destination of the received program,
前記受信したプログラムを前記特定したネットワークインタフェースに送信することを特徴とする請求項1に記載のパケット通信装置。 The packet communication device according to claim 1, wherein the received program is transmitted to the specified network interface.
前記ノード管理用プロセッサは、前記プログラム管理情報に基づいて、前記メモリに記憶されているプログラム、前記ノード内メモリに記憶されているプログラム及び/又は前記ノード内メモリに記憶されているプログラムの所在に関する情報を、追加又は削除することを特徴とする請求項8に記載のパケット通信装置。 The node management processor relates to the location of the program stored in the memory, the program stored in the intra-node memory and / or the program stored in the intra-node memory based on the program management information. 9. The packet communication apparatus according to claim 8, wherein information is added or deleted.
前記受信したプログラムの送信先となるネットワークインタフェースを特定すると、前記プログラム管理情報を参照することによって、特定したネットワークインタフェースの前記メモリに当該プログラムが既に記憶されているか否かを判定し、 When the network interface that is the transmission destination of the received program is identified, it is determined whether or not the program is already stored in the memory of the identified network interface by referring to the program management information.
既に記憶されている場合には、前記プログラム管理情報に含まれる前記カウンタを増加させ、 If already stored, increase the counter included in the program management information,
前記特定したネットワークインタフェースが前記機能拡張モジュールへパケットを転送するための情報を、前記特定したネットワークインタフェースへ送信することを特徴とする請求項8に記載のパケット通信装置。 9. The packet communication device according to claim 8, wherein the specified network interface transmits information for transferring a packet to the function enhancement module to the specified network interface.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005065492A JP4309359B2 (en) | 2005-03-09 | 2005-03-09 | Packet communication apparatus and function expansion method thereof |
US11/328,106 US7830895B2 (en) | 2005-03-09 | 2006-01-10 | Packet communication apparatus with function enhancement module |
CN2006100063383A CN1832457B (en) | 2005-03-09 | 2006-01-13 | Packet communication apparatus and function expanding method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005065492A JP4309359B2 (en) | 2005-03-09 | 2005-03-09 | Packet communication apparatus and function expansion method thereof |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2006253899A JP2006253899A (en) | 2006-09-21 |
JP2006253899A5 JP2006253899A5 (en) | 2007-06-07 |
JP4309359B2 true JP4309359B2 (en) | 2009-08-05 |
Family
ID=36970831
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005065492A Expired - Fee Related JP4309359B2 (en) | 2005-03-09 | 2005-03-09 | Packet communication apparatus and function expansion method thereof |
Country Status (3)
Country | Link |
---|---|
US (1) | US7830895B2 (en) |
JP (1) | JP4309359B2 (en) |
CN (1) | CN1832457B (en) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008301060A (en) * | 2007-05-30 | 2008-12-11 | Alaxala Networks Corp | Network communication apparatus |
US9274851B2 (en) * | 2009-11-25 | 2016-03-01 | Brocade Communications Systems, Inc. | Core-trunking across cores on physically separated processors allocated to a virtual machine based on configuration information including context information for virtual machines |
US20110228772A1 (en) | 2010-03-19 | 2011-09-22 | Brocade Communications Systems, Inc. | Providing multicast services without interruption upon a switchover |
US8897134B2 (en) * | 2010-06-25 | 2014-11-25 | Telefonaktiebolaget L M Ericsson (Publ) | Notifying a controller of a change to a packet forwarding configuration of a network element over a communication channel |
US9104619B2 (en) | 2010-07-23 | 2015-08-11 | Brocade Communications Systems, Inc. | Persisting data across warm boots |
US8495418B2 (en) | 2010-07-23 | 2013-07-23 | Brocade Communications Systems, Inc. | Achieving ultra-high availability using a single CPU |
US9143335B2 (en) | 2011-09-16 | 2015-09-22 | Brocade Communications Systems, Inc. | Multicast route cache system |
DE102011084254A1 (en) * | 2011-10-11 | 2013-04-11 | Zf Friedrichshafen Ag | Communication system for a motor vehicle |
US10581763B2 (en) | 2012-09-21 | 2020-03-03 | Avago Technologies International Sales Pte. Limited | High availability application messaging layer |
US9967106B2 (en) | 2012-09-24 | 2018-05-08 | Brocade Communications Systems LLC | Role based multicast messaging infrastructure |
US9203690B2 (en) | 2012-09-24 | 2015-12-01 | Brocade Communications Systems, Inc. | Role based multicast messaging infrastructure |
JP6345604B2 (en) * | 2014-01-27 | 2018-06-20 | アラクサラネットワークス株式会社 | COMMUNICATION DEVICE, EXTENDED FUNCTION MOVE METHOD, AND COMMUNICATION SYSTEM |
US9619349B2 (en) | 2014-10-14 | 2017-04-11 | Brocade Communications Systems, Inc. | Biasing active-standby determination |
JP6855751B2 (en) * | 2016-10-28 | 2021-04-07 | コニカミノルタ株式会社 | Relay device, program for relay device, and information processing system |
JP7390879B2 (en) * | 2019-12-05 | 2023-12-04 | 三菱重工業株式会社 | Communication processing device, communication processing method and program, and data structure of the header part of the network layer |
US11496382B2 (en) * | 2020-09-30 | 2022-11-08 | Charter Communications Operating, Llc | System and method for recording a routing path within a network packet |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4468729A (en) * | 1981-06-29 | 1984-08-28 | Sperry Corporation | Automatic memory module address assignment system for available memory modules |
US6009274A (en) * | 1996-12-13 | 1999-12-28 | 3Com Corporation | Method and apparatus for automatically updating software components on end systems over a network |
JPH11161451A (en) * | 1997-09-26 | 1999-06-18 | Hitachi Koki Co Ltd | Print system |
US7536683B2 (en) * | 1999-01-15 | 2009-05-19 | Adobe Systems Incorporated | Method of dynamically appending a library to an actively running program |
US7107329B1 (en) * | 1999-05-21 | 2006-09-12 | Lucent Technologies Inc. | In networks of interconnected router nodes for routing data traffic, a method of and system for imperceptibly upgrading router node software and the like without traffic interruption |
JP3669619B2 (en) * | 1999-09-06 | 2005-07-13 | 富士通株式会社 | Software updating method and apparatus for wireless terminal device |
GB2369911B (en) * | 2000-12-11 | 2002-10-23 | 3Com Corp | Methods and apparatus for updating information in a display containing fixed and variable information |
US6535924B1 (en) * | 2001-09-05 | 2003-03-18 | Pluris, Inc. | Method and apparatus for performing a software upgrade of a router while the router is online |
JP2003258842A (en) * | 2002-02-28 | 2003-09-12 | Ntt Docomo Inc | Packet communication system and transferring device |
EP1365546B1 (en) | 2002-05-21 | 2005-12-14 | Hitachi Europe Limited | Programmable network node for performing multiple processes |
JP4023281B2 (en) | 2002-10-11 | 2007-12-19 | 株式会社日立製作所 | Packet communication apparatus and packet switch |
JP2004152191A (en) * | 2002-10-31 | 2004-05-27 | Sony Corp | Software updating system, information processor and method, recording medium, and program |
WO2004070571A2 (en) * | 2003-02-03 | 2004-08-19 | Bitfone Corporation | Update system for facilitating firmware/software update in a mobile handset |
JP4157403B2 (en) | 2003-03-19 | 2008-10-01 | 株式会社日立製作所 | Packet communication device |
KR100982511B1 (en) * | 2003-10-08 | 2010-09-16 | 삼성전자주식회사 | Apparatus and method for remote controlling |
JP4365672B2 (en) | 2003-12-04 | 2009-11-18 | 株式会社日立製作所 | Packet communication node equipment |
JP4786255B2 (en) * | 2005-08-29 | 2011-10-05 | 株式会社日立製作所 | Storage system and storage control method |
-
2005
- 2005-03-09 JP JP2005065492A patent/JP4309359B2/en not_active Expired - Fee Related
-
2006
- 2006-01-10 US US11/328,106 patent/US7830895B2/en not_active Expired - Fee Related
- 2006-01-13 CN CN2006100063383A patent/CN1832457B/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20060203832A1 (en) | 2006-09-14 |
CN1832457A (en) | 2006-09-13 |
US7830895B2 (en) | 2010-11-09 |
CN1832457B (en) | 2011-05-18 |
JP2006253899A (en) | 2006-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4309359B2 (en) | Packet communication apparatus and function expansion method thereof | |
JP3963690B2 (en) | Packet relay processor | |
EP2562970B1 (en) | Switch, and flow table control method | |
EP1901519B1 (en) | Service communication control method applying a service relaying device | |
EP2632115B1 (en) | A gateway for communication in a tactical network | |
US7009941B1 (en) | Node-search method, device, and medium on which a node-search program is recorded | |
US7404201B2 (en) | Data distribution server | |
JP6766110B2 (en) | Control devices, control methods, and programs | |
JP2002532013A (en) | Network management system | |
JP4789425B2 (en) | Route table synchronization method, network device, and route table synchronization program | |
EP1533980A1 (en) | Communication terminal having a function to inhibit connection to a particular site and program thereof | |
JP3232711B2 (en) | Router relay device | |
JP5747997B2 (en) | Control device, communication system, virtual network management method and program | |
JP2008072519A (en) | Apparatus and method for searching device, and program | |
JP5229109B2 (en) | Packet relay processor | |
JP4365397B2 (en) | Packet relay processor | |
JP2012160926A (en) | Harmful site filtering system and filtering method | |
JP6979494B2 (en) | Controls, control methods, and programs | |
JP7552314B2 (en) | Information processing device, information processing system, information processing method, and program | |
JP2015511097A (en) | COMMUNICATION SYSTEM, CONTROL DEVICE, COMMUNICATION METHOD, AND PROGRAM | |
JP2008219483A (en) | Relay apparatus and program | |
JP2004078648A (en) | Virus checking system | |
JP2020058011A (en) | Gateway device, network system, control method and program | |
JP2003022226A (en) | Load distribution system and method for network | |
JP2006050113A (en) | Device identification processing method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070418 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070418 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090413 |
|
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: 20090428 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090507 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120515 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120515 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130515 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130515 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |