JP4728436B2 - インターネットワーク装置 - Google Patents

インターネットワーク装置 Download PDF

Info

Publication number
JP4728436B2
JP4728436B2 JP2010032322A JP2010032322A JP4728436B2 JP 4728436 B2 JP4728436 B2 JP 4728436B2 JP 2010032322 A JP2010032322 A JP 2010032322A JP 2010032322 A JP2010032322 A JP 2010032322A JP 4728436 B2 JP4728436 B2 JP 4728436B2
Authority
JP
Japan
Prior art keywords
packet
unit
routing
connection
module
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 - Lifetime
Application number
JP2010032322A
Other languages
English (en)
Other versions
JP2010141920A (ja
Inventor
茂樹 吉野
秀光 樋口
尚哉 池田
義貴 才ノ元
幸秀 稲垣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2010032322A priority Critical patent/JP4728436B2/ja
Publication of JP2010141920A publication Critical patent/JP2010141920A/ja
Application granted granted Critical
Publication of JP4728436B2 publication Critical patent/JP4728436B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、インターネットワーク装置に係り、特に、ルータ装置、LANスイッチ装置を利用する機能拡張モジュールを搭載したインターネットワーク装置に関する。
従来、複数のネットワークを接続する装置としては、ネットワークシステム階層のうちデータリンク層において相互接続を行いその受信パケット中のMACアドレスにより中継を制御する装置であるブリッジ、さらにその上位層であるネットワーク層において接続を行うルータ装置などがある。
図18は、従来のルータ装置のブロック図の一例である。このルータは、メインプロセッサモジュール2、ルーティングモジュール31〜3n、下位バス41〜4n、回線制御モジュール51〜5nを備える。ルータはネットワーク層の数あるプロトコルを制御するが、ここでは代表的なIP(Internet Protocol)プロトコルを例にあげルーティングの流れを説明する。ある通信回線からパケットを受信した回線制御モジュール51は、そのパケットを下位バス41を通してルーティング処理を制御するルーティングモジュール31に送る。ルーティングモジュール31は、受信した当該パケット中のIPアドレスによるアドレス情報により経路情報を検索して、あらかじめ定められた経路あるいは最適な経路を選択し、例えばルーティングモジュール32を選ぶ。それからルーティングモジュール31は、上位側の上位バス1を通して選んだ宛先のルーティングモジュール32へ受信パケットの中継を行う。さらにルーティングモジュール32の下位側の下位バス42を通って回線制御モジュール52へ送られ通信回線へパケットが送信されるものである。また、逆に回線制御モジュール52から回線制御モジュール51へパケットを送る際は、この逆の順路を通ってパケットのルーティングが行われる。
このような従来のルータ装置において、各種の機能補助を行うために補助プロセッサを該上位バスに接続した例として、特開平5−199230号公報がある。これによると、ルータを管理する主プロセッサとルーティング処理を行う複数のルーティングアクセラレータとを相互に接続している結合手段であるルータバスを介して、主プロセッサの機能補助をする補助プロセッサを接続するものである。
特開平5−199230号公報
ブリッジもルータもパケットの中継を行う装置であるが、この中継の際に、ある機能を実施してパケット内の情報の検出やパケットの加工といった機能拡張を行いたい。
現存するルータ装置ならび新規のルータ装置において、機能拡張を実行するための機能拡張モジュールを複数枚搭載して、スケーラブルに拡張が行える装置を考えた場合、ルータ装置にルーティングモジュールが複数枚搭載できることを利用して、ルーティングモジュールの一部を機能拡張モジュールに置き換えて搭載する方が良い。このとき機能拡張モジュールはルーティングモジュールと同じ結合手段につながるユニットとしての制限を受ける。しかも、当該機能拡張モジュールによるパケットデータの加工により新たなアドレス情報を持つパケットが生成された場合、次のルーティング先を経路計算し直さなければならないので、ルーティングモジュールと同等のルーティング機能を持つことが必要となる。
しかし、機能拡張モジュールとして上記従来技術の補助プロセッサを用いて、補助プロセッサにルーティングソフトウェアを実行しても、ソフトウェアによる低速なルーティング処理ではパケットの中継速度が遅くなってしまう問題がある。
そこで、本発明の目的は、以上の点に鑑み、現存するインターネットワーク装置ならび新たに作成するインターネットワーク装置において、1つまたは複数の機能拡張モジュールを搭載することで、機能拡張モジュールによる付加機能の処理とルーティング処理を高速に行うことができ、スケーラブルに機能拡張できるインターネットワーク装置を提供する。
また、本発明は、機能実行モジュールとルーティングモジュールの組み合わせによる高速処理を行うことを目的とする。本発明は、機能実行モジュールによる機能拡張が現存するルータ装置に適用することにより、既に購入しているユーザの装置にも適用が可能とすることを目的とする。また、本発明は、ルーティングモジュール機能を除いて機能実行モジュールの機能を実現することで開発コストを削減することを目的とする。また、本発明は、機能実行モジュールをスケーラブルに搭載することにより、拡張性を具備し、同一又は異なる複数の機能を搭載し、さらに、複数の機能実行モジュールに負荷分散して処理することで、処理性能を向上させることを目的とする。
上記目的を達成するため、ハードウェアによるルーティング処理も可能である高速なルーティングモジュールに、拡張機能を実行する機能実行モジュールを接続して機能拡張モジュールを構成することによって、機能実行モジュールによるパケットデータの加工により新たなアドレス情報を持つパケットが生成された場合でも、接続している当該ルーティングモジュールにより、パケットの新たなルーティング先を選び転送することを実現する。
そのための機能実行モジュールの接続方法を以下に例示する。
(1)機能拡張モジュールの構成として、インターネットワーク装置に使われる高速なルーティングモジュールをそのまま使用して、その配下に機能実行モジュールを接続する方法。
機能拡張モジュールにルーティング機能が必要ならば、高速なルーティングモジュールをそのまま利用して、その配下に機能実行モジュールを接続すれば、高速で改造量を最小限にした機能拡張モジュールの搭載が可能である。
そこで、機能実行モジュールの接続方法としては、ルーティングモジュールに接続している回線制御モジュールの代わりに機能実行モジュールを接続することで実現できる。
(2)機能拡張モジュールの構成として、インターネットワーク装置に使われる高速なルーティングモジュールをそのまま使用して、回線制御モジュールの接続とは別のインタフェースに機能実行モジュールを接続する方法。
機能拡張モジュールにルーティング機能が必要ならば、高速なルーティングモジュールをそのまま利用して、回線制御モジュールの接続とは別に、拡張機能を実行する機能実行モジュールを接続するインタフェースを設けて、機能実行モジュールを接続することで、高速で改造量を最小限にした機能拡張モジュールの搭載が可能である。
この方法としては次の2つの手段がある。
(i)機能実行モジュールの接続方法としては、ルーティングモジュールから汎用バスまたは特定のインタフェースの線を取り出して、そこに機能実行モジュールをつなげ、使用しなくなった回線制御モジュールを取り外してしまう手段。
(ii)機能実行モジュールの接続方法としては、ルーティングモジュールから汎用バスまたは特定のインタフェースの線を取り出して、そこに機能実行モジュールをつなげる手段。
ルーティングモジュールが、パケットに付加された識別子によって機能拡張モジュールと回線制御モジュールの両方を使い分けて使用するか、または、機能実行モジュールと機能実行モジュールを切り替えて使用する。
(3)上記の(1)〜(2)において、各々のルーティングモジュールに複数の機能実行モジュールを搭載する方法。
(4)上記の(1)〜(3)において、ルーティングモジュール内に機能実行モジュールを一緒に組込んで、一つのボード上に載せて機能拡張モジュールとしてしまう方法。
本発明のひとつの特徴としては、複数のネットワークを相互に接続し、パケットデータを中継するインターネットワーク装置であって、当該インターネットワーク装置全体を管理する手段を具備するメインプロセッサモジュールを有し、
該メインプロセッサモジュールに接続され、相互に接続ができる結合手段を有し、
受信パケットデータのアドレス情報及び予め記憶された中継経路選択情報により経路検索を行うルーティング機能と、中継先ネットワークへの該受信パケットデータの中継処理を該結合手段を介して相互に行う機能を具備した複数のルーティングモジュールを有し、
各々の該ルーティングモジュールに直結し、ネットワークを制御して前記パケットデータの送受を行う回線制御モジュールを有するインターネットワーク装置に対して、
パケット加工やプロトコル処理などの機能を付加する機能拡張モジュールを追加するため、当該機能拡張モジュールの構成として、上記ルーティングモジュールの内、1つまたは複数を利用し、当該ルーティングモジュールに接続している当該回線制御モジュールの代わりに、付加機能の実行を行うことができる機能実行モジュールを接続するという手段によって、
当該機能実行モジュールによるパケットデータの加工により新たなアドレス情報を持つパケットが生成された場合でも、接続している当該ルーティングモジュールにより当該パケットの新たなルーティング先を選び転送することができることを特徴とした機能拡張モジュールを搭載したインターネットワーク装置を提供することにある。
本発明の他の特徴としては、複数のネットワークを相互に接続し、パケットデータを中継するインターネットワーク装置であって、当該インターネットワーク装置全体を管理する手段を具備するメインプロセッサモジュールを有し、
該メインプロセッサモジュールに接続され、相互に接続ができる結合手段を有し、
受信パケットデータのアドレス情報及び予め記憶された中継経路選択情報により経路検索を行うルーティング機能と、中継先ネットワークへの該受信パケットデータの中継処理を該結合手段を介して相互に行う機能を具備した複数のルーティングモジュールを有し、
各々の該ルーティングモジュールに直結し、ネットワークを制御して前記パケットデータの送受を行う回線制御モジュールを有するインターネットワーク装置に対して、
パケット加工やプロトコル処理などの機能を付加する機能拡張モジュールを追加するため、当該機能拡張モジュールの構成として、上記ルーティングモジュールの内、1つまたは複数を利用し、当該ルーティングモジュールと汎用バスまたは特定のインタフェースを介して、付加機能の実行を行うことができる機能実行モジュールを接続し、不要となった当該回線制御モジュールを取り外すという手段によって、
当該機能実行モジュールによるパケットデータの加工により新たなアドレス情報を持つパケットが生成された場合でも、接続している当該ルーティングモジュールにより当該パケットの新たなルーティング先を選び転送することができることを特徴とした機能拡張モジュールを搭載したインターネットワーク装置を提供することにある。
さらに、本発明の他の特徴としては、複数のネットワークを相互に接続し、パケットデータを中継するインターネットワーク装置であって、当該インターネットワーク装置全体を管理する手段を具備するメインプロセッサモジュールを有し、
該メインプロセッサモジュールに接続され、相互に接続ができる結合手段を有し、
受信パケットデータのアドレス情報及び予め記憶された中継経路選択情報により経路検索を行うルーティング機能と、中継先ネットワークへの該受信パケットデータの中継処理を該結合手段を介して相互に行う機能を具備した複数のルーティングモジュールを有し、
各々の該ルーティングモジュールに直結し、ネットワークを制御して前記パケットデータの送受を行う回線制御モジュールを有するインターネットワーク装置に対して、
パケット加工やプロトコル処理などの機能を付加する機能拡張モジュールを追加するため、当該機能拡張モジュールの構成として、上記ルーティングモジュールの内、1つまたは複数を利用し、当該ルーティングモジュールに回線制御モジュールの接続とは別の汎用バスまたは特定のインタフェースを介して、付加機能の実行を行うことができる機能実行モジュールを接続するという手段によって、
当該回線制御モジュールと当該機能実行モジュールの両方もしくは切り替えて使用することができることを特徴とした機能拡張モジュールを搭載したインターネットワーク装置を提供することにある。
また、上述のようなインターネットワーク装置において、各々の当該ルーティングモジュールに対して、複数の当該機能実行モジュールを同時に接続する構成を持った機能拡張モジュールを搭載するようにしてもよい。
また、上述のような記載インターネットワーク装置において、当該ルーティングモジュール内に当該機能実行モジュールをいっしょに組込んで、一つのボード上に載せてしまった機能拡張モジュールを搭載するようにしてもよい。
本発明の第1の解決手段によると、
複数の回線に接続され、いずれかの回線から受信したパケットを他の回線に中継するインターネットワーク装置であって、
第1の接続部と、
該第1の接続部に接続された複数のルーティング部であって、各々の該複数のルーティング部は、前記第1の接続部を介して相互にパケットを送受信する、前記複数のルーティング部と、
複数の第2の接続部であって、各々の該第2の接続部は、いずれか1つの前記ルーティング部と接続される、前記複数の第2の接続部と、
複数の回線制御部であって、各々の該回線制御部は、少なくとも1つの回線といずれか1つの前記第2の接続部とに接続され、いずれかの回線からパケットを受信して前記第2の接続部にそのパケットを送信し、また、前記第2の接続部からパケットを受信していずれかの回線にそのパケットを送信する、前記複数の回線制御部と、
少なくとも1つの機能実行部であって、該機能実行部はいずれか1つの前記第2の接続部に接続され、該接続された第2の接続部からパケットを受信し、そのパケットに対して所定の付加機能を実行し、そのパケットを前記接続された第2の接続部に送信する、前記少なくとも1つの機能実行部と、
を備え、
前記ルーティング部のうち少なくとも1つのルーティング部は、該ルーティング部と接続された前記第2の接続部を介して、前記回線制御部及び前記機能実行部と接続され、
各々の前記ルーティング部は、接続された前記第2の接続部からパケットを受信すると、他の前記ルーティング部を宛先としてそのパケットを前記第1の接続部に送信し、前記第1の接続部からパケットを受信すると、前記第2の接続部にパケットを送信する、
インターネットワーク装置を提供する。
本発明の第2の解決手段によると、
複数の回線に接続され、いずれかの回線から受信したパケットを他の回線に中継するインターネットワーク装置であって、
第1の接続部と、
該第1の接続部に接続された複数のルーティング部であって、各々の該複数のルーティング部は、前記第1の接続部を介して相互にパケットを送受信する、前記複数のルーティング部と、
複数の第2の接続部であって、各々の該第2の接続部は、いずれか1つの前記ルーティング部と接続される、前記複数の第2の接続部と、
複数の回線制御部であって、各々の該回線制御部は、少なくとも1つの回線といずれか1つの前記第2の接続部とに接続され、いずれかの回線からパケットを受信して前記第2の接続部にそのパケットを送信し、また、前記第2の接続部からパケットを受信していずれかの回線にそのパケットを送信する、前記複数の回線制御部と、
複数の機能実行部であって、いずれかの該機能実行部はいずれかの前記第2の接続部に接続され、該接続された第2の接続部からパケットを受信し、そのパケットに対して所定の付加機能を実行し、そのパケットを前記接続された第2の接続部に送信する、前記複数の機能実行部と、
を備え、
複数の前記ルーティング部は、いずれかの前記回線制御部と接続されたいずれかの前記第2の接続部に接続される第1のルーティング部と、いずれかの前記機能実行部に接続されたいずれかの前記第2の接続部に接続される第2のルーティング部と、いずれかの前記回線制御部及びいずれかの前記機能実行部に接続されたいずれかの前記第2の接続部に接続される第3のルーティング部とを含み、
前記第1のルーティング部、前記第2のルーティング部及び前記第3のルーティング部は、接続された前記第2の接続部からパケットを受信すると、複数の前記ルーティング部のうちのいずれかのルーティング部を宛先としてそのパケットを前記第1の接続部に送信し、前記第1の接続部からパケットを受信すると、接続された前記第2の接続部にパケットを送信する、
インターネットワーク装置を提供する。
本発明の第3の解決手段によると、
複数の回線に接続され、いずれかの回線から受信したパケットを他の回線に中継するインターネットワーク装置であって、
第1の接続部と、
該第1の接続部に接続された複数のルーティング部であって、各々の該複数のルーティング部は、前記第1の接続部を介して相互にパケットを送受信する、前記複数のルーティング部と、
複数の第2の接続部であって、各々の該第2の接続部は、いずれか1つの前記ルーティング部と接続される、前記複数の第2の接続部と、
複数の回線制御部であって、各々の該回線制御部は、少なくとも1つの回線といずれか1つの前記第2の接続部とに接続され、いずれかの回線からパケットを受信して前記第2の接続部にそのパケットを送信し、また、前記第2の接続部からパケットを受信していずれかの回線にそのパケットを送信する、前記複数の回線制御部と、
少なくとも1つの機能拡張部であって、該機能拡張部は前記第1の接続部に接続され、該接続された第1の接続部からパケットを受信し、そのパケットに対して所定の付加機能を実行し、そのパケットを前記接続された第1の接続部に送信する、前記少なくとも1つの機能拡張部と、
を備え、
各々の前記ルーティング部は、前記第2の接続部からパケットを受信すると、他の前記ルーティング部またはいずれかの前記機能拡張部を宛先としてそのパケットを前記第1の接続部に送信し、前記第1の接続部からパケットを受信すると、前記第2の接続部にパケットを送信する、
インターネットワーク装置を提供する。
本発明によれば、例えば、以下の効果がある。
・機能実行モジュールとルーティングモジュールの組み合わせによる高速処理が行える。
・機能実行モジュールによる機能拡張が現存するルータ装置に適用できるので、既に購入しているユーザの装置にも適用が可能となる。
・ルーティングモジュール機能を除いて機能実行モジュールの機能を実現できるので開発コストを削減できる。
・機能実行モジュールをスケーラブルに搭載することができ、拡張性がある。
・機能実行モジュールをスケーラブルにできるので複数の機能を搭載することができる。
・機能実行モジュールをスケーラブルにできるので異なる複数の機能を搭載することができる。
・機能実行モジュールをスケーラブルにできるので複数の機能実行モジュールに負荷分散して処理することで、処理性能を向上させることができる。
本発明に関して、機能拡張モジュールを設けたときのルータ装置のブロック図である。 本発明の機能拡張モジュールの構成としてルーティングモジュールに機能実行モジュールを接続したインターネットワーク装置全体の概略ブロック図である。 本発明の一実施の形態を用いた場合の、機能拡張モジュールの構成としてルーティングモジュールに機能実行モジュールを接続したルータ装置のブロック図である。 本発明の一実施の形態としての、パケットへの識別子挿入書式の例を示す図である。 本発明の一実施の形態としての、経路情報テーブルの構成例を示す図である。 本発明の一実施の形態としての、回線テーブルの構成例を示す図である。 本発明の一実施の形態としての、検出条件テーブルの構成例を示す図である。 本発明の一実施の形態における、受信側ルーティングモジュールでのパケット処理手順である。 本発明の第一の実施の形態としての、上位バスから機能実行モジュールまでのパケット処理手順である。 本発明の第一の実施の形態における、機能実行モジュールでのパケット処理手順である。 本発明の第一の実施の形態における、ルーティングモジュールの再ルーティングによるパケット処理手順である。 本発明の一実施の形態としての、送信側ルーティングモジュールでのパケット処理手順である。 本発明の一実施の形態を用いた場合の、機能拡張モジュールの構成としてルーティングモジュールに機能実行モジュールを搭載したルータ装置のブロック図である。 本発明の第二の実施の形態における、上位バスからのパケット処理手順示すフローチャートである。 本発明の第二の実施の形態における、機能実行モジュールでのパケット処理手順を示すフローチャートである。 本発明の第二の実施の形態における、ルーティングモジュールの再ルーティングによるパケット処理手順示すフローチャートである。 本発明の一実施の形態を用いた場合の、機能拡張モジュールの構成として一つのルーティングモジュールに複数の機能実行モジュールを搭載したルータ装置のブロック図である。 従来のルータ装置の一例の構成を示すブロック図である。 機能実行モジュール62でのパケット処理手順についての他のフローチャート。 機能実行モジュール64でのパケット処理手順についての他のフローチャート。
以下、本発明の一実施の形態について図面を用いて説明する。なお、インターネットワーク装置は、以下の説明では本来の目的であるルーティング処理を主体に説明することとし、ここではインターネットワーク装置としてルータを代表として説明する。
図1は、従来のルータ装置に、機能拡張モジュールを設けたときのルータ装置のブロック図であり、複数のルーティングモジュール51〜5nを接続している結合手段と同じ上位バス1に、機能拡張モジュール6を接続している基本構成図である。
図2は、本発明の機能拡張モジュールの構成としてルーティングモジュールに機能実行モジュールを接続したインターネットワーク装置全体のブロック図である。このインターネットワーク装置は、上位バス1、メインプロセッサモジュール2、機能拡張モジュール6、ルーティングモジュール31、ルーティングモジュール33〜3n、下位バス41、下位バス43〜4n、回線制御モジュール51、回線制御モジュール53〜5nを備える。機能拡張モジュール6は、ルーティングモジュール32、下位バス42もしくは他のインターフェース、機能実行モジュール62を備える。まず、各部の説明を行う。上位バス1は、ルータの中心となる高速な結合手段であり、一般的にはスイッチング構造を持つものやバス構造を持つものがある。この上位バス1には装置全体の管理機能とルーティングテーブルの生成・配布等の機能を持つメインプロセッサモジュール2が接続されている。更に上位バス1には、高速にパケットデータのルーティングを行う機能を持つ一つまたは複数のルーティングモジュール31〜3nが接続される。このルーティングモジュール31の下位側には回線制御モジュール51と接続するための下位バス41があり、下位バス41はパケットデータ等を転送するためのインタフェースである。回線制御モジュール51は、LANや回線のプロトコルを制御しルータ装置の外部との通信が行われる通信制御部である。機能実行モジュール62は、該メインプロセッサモジュール2や該ルーティングモジュール31〜3nではできなかった新しい機能や該メインプロセッサモジュール2では処理が遅くなる機能を高速に実現するための拡張機能を実行をするものであり、下位バス42もしくは他のインタフェースを使ってルーティングモジュール32と接続される。
本発明の実施の形態としては、回線制御モジュールの代わりに機能実行モジュールを接続する方法と、回線制御モジュールとは別のインタフェースに機能実行モジュールを接続する方法に大別できるので、まず、この2ケースについて詳しく説明する。
(1)第1の実施の形態
本発明の1つの手段としては、ルーティングモジュール32の下位側の下位バス42のコネクタに回線制御モジュールを接続する代わりに機能実行モジュール62を接続する方法である。この方法では、ルーティングモジュール32のハードウェアを全く変更することなく機能実行モジュール62を接続できる利点がある。また、一つのボード上にルーティングモジュール32と機能実行モジュール62の両方を載せてしまって下位バスでつないでもよい。
この方法は高速なルーティングモジュール32を利用できるので、機能実行モジュール62を上位バス1に高速にインタフェースすることができる利点がある。
図3は、本発明の一実施の形態を用いた場合の機能実行モジュールを接続したルータ装置のブロック図である。以下に、構成ならびに各部の説明を行う。ここでは機能拡張モジュール6は、特に、その機能を実行するために、複雑なプロトコルをソフトウェア処理する手段と、高速なハードウェア処理を実行する手段を搭載した機能実行モジュール62を備える。機能実行モジュール62は、汎用バス95と、下位バス42と汎用バス95との間でパケットデータ等の転送を行って両方のバスをブリッジ接続するバス連結部91と、汎用バス95に接続されるCPU96、CPU96用のメモリ97、汎用バス95に接続する1つまたは複数の機能アクセラレータ98を有する。バス連結部91は、下位バス受信部92、下位バス送信部93、データ転送制御部94を備える。
各ルーティングモジュール31,32,33には本情報中継装置内で重複を起さない番号を割り当てる。この番号をモジュール番号と表記する。また、回線制御モジュール51、53や機能実行モジュール62には、各ルーティングモジュール配下に複数の回線制御モジュールなどを接続した場合のために、ルーティングモジュール内で重複を起さない番号を割り当てる。この番号を物理回線制御モジュール番号と表記する。さらに、回線制御モジュール51に接続する回線23に対して、各回線制御モジュール配下で重複しない番号を割り当てる。同様に回線制御モジュール53に接続する回線23に対して、各回線制御モジュール配下で重複しない番号を割り当てる。この番号を物理回線番号と表記する。物理回線番号に対して、装置内部で閉じる論理的な回線番号を考えてもよい。この論理的な回線番号と物理的な回線23に一意に対応する物理回線番号とは1対1に対応する必要はない。例えば、ATM回線の場合、1本のATM回線において複数のVC(Virtual Connection)を設定することができる。以降、この論理的な回線番号を単に回線番号と表記する。また以降の説明では、パケットを受信した回線23を収容しているルーティングモジュール31を受信側ルーティングモジュール、逆にパケットを送出する回線23を収容しているルーティングモジュール33を送信側ルーティングモジュールと表記する。
ルーティングモジュール31、32、33は、IPパケット経路検索部17、IP経路情報テーブル18、回線テーブル検索部15、回線テーブル16、経路情報書換え部20、パケット検出部21、検出条件テーブル22、IPパケット判別部14、パケットバッファ13、CPU11、メモリ12、上位バス送受信部10、下位バス送受信部19を備える。
ルーティングモジュール31が受信側ルーティングモジュールである場合、下位バス送受信部19は、下位バス41経由で送信、受信するパケットのハンドリングを行う。下位バス送受信部19は、下位バス41から受信したパケットをパケットバッファ13に格納する処理を行う。その際、下位バス送受信部19は、パケットの先頭部分に識別子を付加する。識別子は、情報中継装置内での各モジュール間の転送で、該パケットに関する中継情報を伝達する為に使う。
図4は、パケットへの識別子挿入書式の例を示す図である。パケット105に対する識別子101は、一例として送出経路情報であるモジュール番号102、回線番号103、次ノードIPアドレス104を含む。識別子101のモジュール番号102、回線番号103、次ノードIPアドレス104には、後述の経路情報テーブル検索の結果得られるモジュール番号、回線番号、次ノードIPアドレスを格納する。送信側ルーティングモジュールはこの識別子101を参照し、対応する回線23への送信処理を行う。
なお、この付加した識別子101を削除するところは、ルーティングモジュール33の回線モジュール53にて削除するが、別の方法としてはパケットのデータ転送量を少しでも減らすために、ルーティングモジュール33から回線モジュール53へパケットを送る直前で削除する方法でもよい。
一方、機能実行モジュール62で付加機能を処理した後にルーティングモジュール32の再ルーティング処理を行うために、機能実行モジュール62でこの識別子101を削除し(またはルーティングモジュール32の下位バス送受信部19から機能実行モジュール62にパケットを送る直前にこの識別子101を削除し)、再びルーティングモジュール32の下位バス送受信部19が、下位バス42から受信したパケットをパケットバッファ13に格納する処理を行う際、パケットの先頭部分に新たな識別子101を付加する。これについては、別の方法としては、機能実行モジュール62では識別子101の削除は行わずに、再びルーティングモジュール32の下位バス送受信部19が、下位バス42から受信したパケットをパケットバッファ13に格納する処理を行う際、パケットに付加されている識別子の上に新たな識別子101で上書きする方法もある。
また、図5は、経路情報テーブルの構成例を示す図である。経路情報テーブル18は、図に例示されるように、IPパケットの送出経路情報のモジュール番号203、回線番号204、次ノードIPアドレス205と宛先IPアドレス201、サブネットマスク202が対応付けられて格納されている。
ルーティングモジュール33を送信側ルーティングモジュールとした場合、モジュール番号203は、該IPパケットを送信するネットワークに直接、又は間接的につながる回線23を収容する送信側ルーティングモジュール33を指す番号である。回線番号204は、該IPパケットを送信するネットワークに直接、又は間接的につながる回線23を指す番号である。次ノードIPアドレス205は、本情報中継装置の次に該IPパケットを中継する情報中継装置を指すIPアドレスである。IPパケット経路検索部17は、パケットバッファ13に格納されたIPパケットのIPヘッダに記載された宛先IPアドレスからサブネットマスク202を使ってネットワークアドレス部分を抽出する。これを検索キーとし、経路情報テーブル18の宛先IPアドレス201を検索する。結果、該IPパケットに対する送出経路情報(モジュール番号203、回線番号204、次ノードIPアドレス205)を得る。
また、図6は、回線テーブルの構成例を示す図である。回線テーブル16は、図に例示されるように、回線番号401と物理回線モジュール番号403、物理回線番号402が対応付けられて格納されている。
回線テーブル検索部15は、上位バス1から受信したパケットに対して、パケットに付加されている識別子101に記載された回線番号103を検索キーとし、回線テーブル16の回線番号401を検索する。結果、該パケットを送出する物理回線モジュール番号403と物理回線番号402が求まる。
また、図7は、検出条件テーブルの構成例を示す図である。検索条件テーブル22は、IP付加機能処理を施す対象のIPパケットを検出する条件が格納してある。検索条件テーブル22は、図に例示されるように、IP付加機能処理を施す対象のIPパケットを検出するための検出条件301と、該IP付加機能処理を処理する機能拡張モジュール6のモジュール番号302、回線番号303、次ノードIPアドレス304が対応付けられて格納されている。検出条件の例として、宛先IPアドレスや、送り元IPアドレスがある。また例えば、TCP(Transmission Control Protocol)、UDP(User Datagram Protocol)のポート番号など、IP層以上のプロトコル情報が記憶されていてもよい。なお、モジュール番号302のみを用いても機能拡張モジュール6の特定は可能である。さらに、回線番号303及び次ノードIPアドレス304を用いることで、複数の機能実行モジュ-ル(1)〜(N)を備えた場合にも、各装置への振り分けを行うことができる。
パケット検出部21は、パケットバッファ13に格納されたIPパケットのIP、もしくはさらに上位層のプロトコルの情報で検索条件テーブル22の検出条件301を検索する。パケット検出部21は、検索の結果、その情報と検索条件301とが合致した場合、該IPパケットに対してIP付加機能処理を施すと識別できると共に、その処理を行う機能拡張モジュール6のモジュール番号302、回線番号303、次ノードIPアドレス304を得る。経路情報書換え部20は、IP付加機能の処理を施す対象のIPパケットをパケット検出部21にて検出した場合、パケットに付加されている識別子101の情報を、前記検出条件テーブル22を検索して得られたモジュール番号302、回線番号303、次ノードIPアドレス304で上書きする。IPパケット判別部14は、下位バス送受信部19によって下位バス5経由で受信したパケットがIPパケットか否かの判定を行う。パケットバッファ13は、下位バス送受信部19または上位バス送受信部10から受信したパケットを格納する。
CPU11とメモリ12は、その上でソフトウエアを動作させる。このソフトウエアはルーティングモジュール2の各種装置管理機能、メインプロセッサモジュール2から伝達される設定情報などを各テーブル等へ格納する機能等を有する。またIPパケット以外のパケットをメインプロセッサモジュール2へ転送する機能を有する。
上位バス送受信部10は、上位バス1経由で送信、受信するパケットのハンドリングを行う。上位バス送受信部10は、パケットの先頭部分に付加された識別子101のモジュール番号102に従って、上位バス1を介して適するデバイスにパケットを送信する。
次に本発明の上記手段におけるパケットデータの流れを説明する。図3における符号のt1の矢印線がパケットの流れである。これを以下のフローチャートを使ってパケットの処理手順を説明する。
<1> 図8は受信側ルーティングモジュール31でのパケット処理手順である。
回線制御モジュール51で回線23からのパケット受信を認識する(ステップ1001)。下位バス送受信部19は受信パケットをパケットバッファ13に格納する(ステップ1002)。この際、下位バス送受信部19は、パケットの先頭部分に識別子101を付加する(ステップ1003)。
次にIPパケット判別部14は、パケットバッファ13に格納されたパケットがIPパケットであるか否かを判別する(ステップ1004)。パケットがIPパケットである場合、IP経路検索部17は、パケットバッファ13に格納したパケットのIPアドレスからサブネットマスク202を使ってネットワークアドレス部分を抽出し、それを検索キーとして経路情報テーブル18を検索する(ステップ1005)。例えば、サブネットマスク202の設定によりIPアドレスの何ビットから何ビット目を検索キーとして用いるかが求まり、それをマスクとして、受信IPパケットのIPアドレスの一部又は全部のビットを検索キーをして用いる。IP経路検索部17は、ステップ1005の検索がヒットした場合、そのIPパケットに対する送出経路情報(モジュール番号203、回線番号204、次ノードIPアドレス205)を得る。そして経路情報書換え部20は、パケット105識別子101に該送出経路情報を格納する(ステップ1006)。続けて、パケット検出部21が検出条件テーブル22を検索条件で検索する(ステップ1007)。
ステップ1007の検索がヒットした場合、該IPパケットに対してIP付加機能処理を施すと識別できると共に、そのIP付加機能処理を行う機能拡張モジュール6のモジュール番号302、ならびに回線番号303、次ノードIPアドレス304を得る。経路情報書換え部20にて、上記検索の結果得たモジュール番号302、回線番号303、次ノードIPアドレス304を識別子101に上書きで格納する(ステップ1008)。これがパケットデータの流れt1の一般的な処理手順である。一方、ステップ1007の検索がヒットしなかった場合、識別子101への送出経路情報の上書きは行わない。以上の処理を行った後、上位バス送受信部10が識別子101のモジュール番号102に従い、上位バス1を介して適するデバイスへパケットを送出する(ステップ1009)。
一方ステップ1005のIP経路検索部17で経路情報テーブル18の検索に失敗した場合、パケット検出部21が検索条件テーブル22を検索条件による検索(ステップ1010)を行い、もし検索が成功であれば、先と同様に送出経路情報を識別子101に上書きで格納した後(ステップ1008)、上位バス1へ送出する(ステップ1009)。また、ステップ1010のパケット検出部21での検索が失敗した場合、パケットを廃棄(ステップ1011)して受信処理を終了する。
ステップ1004の判別でIPパケット以外であると判別した場合、IPパケット判別部14はパケットをCPU11の管理するメモリ12に格納する(ステップ1012)。CPU11上で動作するソフトウエアは、パケットをメインプロセッサモジュール2へ転送する(ステップ1013)。メインプロセッサモジュール2では、転送されたパケットの種類に応じた処理を施す。中継する必要があるパケットであれば中継処理をする。以上の処理手順によりIP付加機能処理を施す対象のIPパケットを機能拡張モジュール6へ転送することができる。
<2> 図9は、機能拡張モジュール6内での上位バスから機能実行モジュールまでのパケット処理手順を示すフローチャートである。
機能拡張モジュール6内のルーティングモジュール32では、上位バス送受信部10が、上位バス1からのパケット受信を識別子101のモジュール番号102等により認識する(ステップ4101)。上位バス送受信部10は受信パケットをパケットバッファ13に格納する(ステップ4102)。続いて回線テーブル検索部15は、パケットに付加された識別子101に格納されている回線番号103を検索キーにして、回線テーブル16を検索する(ステップ4103)。回線テーブル検索部15は、ステップ4103の検索が成功した場合、パケットを送信する物理回線制御モジュール番号403と物理回線番号402を得る。下位バス送受信部19は、物理回線制御モジュール番号403と該物理回線番号402で示された(回線制御モジュールの代わりに接続している)機能実行モジュール62に送信を指示する(ステップ4104)。このように、受信パケット105の識別子101中の回線番号103に基づき、転送する機能モジュール62が適宣選択・設定される。これがパケットデータの流れt1の一般的な処理手順である。一方、もしステップ4103の検索が失敗した場合は、パケットを廃棄(ステップ4107)して送信処理を終了する。
<3> 図10は、機能実行モジュール62でのパケット処理手順を示すフローチャートである。
機能実行モジュール62の下位バス受信部92が、下位バス42からのパケット受信を物理回線制御モジュール番号403又は物理回線番号402等により認識する(ステップ2101)。下位バス受信部92はパケットをデータ転送制御部94に送る(ステップ2102)。データ転送制御部94は機能アクセラレータ98に向けて汎用バス95にパケットを転送する(ステップ2103)。機能アクセラレータ98がパケットを受信する(ステップ2104)。なお、汎用バス95は物理回線制御モジュール番号403又は物理回線番号402に基づいて、処理すべきパケットの受信を識別することも可能である。機能アクセラレータ98が受信パケットについて、IP付加機能処理を施す(ステップ2105)。ここで行われる機能の一例を挙げると、例えば、IETF(Internet Engineering Task Force)がRFC(Request For Comments)と称して通し番号をつけて公開しているものでRFC2401などの暗号処理を行うIPsec機能などがある。機能アクセラレータ98は、処理を施された後のパケットの識別子101を削除し(ステップ2106)、データ転送制御部94に向けて汎用バス95にパケットを転送する(ステップ2107)。データ転送制御部94は汎用バス95からパケットを受信する(ステップ2108)。データ転送制御部94は下位バス送信部93を使って下位バス42の先のルーティングモジュール32へパケットを送る(ステップ2109)。
なお、IPsecのカプセリングは、パケットの先頭に新しいパケットヘッダを付加するという処理を伴う。また、機能実行モジュールにて暗号化処理を行う際には、識別子101を除いた本来のパケットデータ部分にのみ暗号化を施すことになる。したがって、このような場合には識別子101を削除した(ステップ2106)後に、付加機能処理を行う(ステップ2105)ようにしても良い。この場合について、図19に、機能実行モジュール62でのパケット処理手順についての他のフローチャートを示す。
また、前述の識別子101の削除に関する別の方法として、ルーティングモジュール32の下位バス送受信部19から機能実行モジュール62にパケットを送る直前にこの識別子101を削除する方式をとった場合、または、この後ルーティングモジュール32の下位バス送受信部19が、下位バス42から受信したパケットをパケットバッファ13に格納する処理を行う際にパケットに付加されている識別子の上に新たな識別子101で上書きする方式をとった場合は、ステップ2106の識別子101を削除する処理は必要ない。
<4> 図11は、ルーティングモジュール32の再ルーティングによるパケット処理手順を示すフローチャートである。
ルーティングモジュール32の下位バス送受信部19が下位バス42から、付加処理を施されたパケット受信を認識する(ステップ1101)。下位バス送受信部19は受信パケットをパケットバッファ13に格納する(ステップ1102)。この際、下位バス送受信部19は、パケットの先頭部分に識別子101を付加する(ステップ1103)。
次にIPパケット判別部14は、パケットバッファ13に格納されたパケットがIPパケットであるか否かを判別する(ステップ1104)。パケットがIPパケットである場合、IP経路検索部17は、パケットバッファ13に格納したパケットのIPアドレスからサブネットマスク202を使ってネットワークアドレス部分を抽出し、それを検索キーとして経路情報テーブル18を検索する(ステップ1105)。ステップ1105の検索がヒットした場合、そのIPパケットに対する送出経路情報(モジュール番号203、回線番号204、次ノードIPアドレス205)を得る。そして経路情報書換え部20は、パケット105の識別子101に該送出経路情報を格納する(ステップ1106)。続けて、パケット検出部21が検出条件テーブル22を検索条件で検索する(ステップ1107)。
ステップ1107の検索がヒットしなかった場合、識別子101への送出経路情報の上書きは行わない。以上の処理を行った後、上位バス送受信部10が識別子101のモジュール番号102に従い、上位バス1を介して送信側ルーティングモジュール33へパケットを送出する(ステップ1109)。これがパケットデータの流れt1の一般的な処理手順である。一方、ステップ1107の検索がヒットした場合、該IPパケットに対してIP付加機能処理を施すと識別できると共に、そのIP付加機能処理を行う機能拡張モジュール6のモジュール番号302、ならびに回線番号303、次ノードIPアドレス304を得る。経路情報書換え部20にて、上記検索の結果得たモジュール番号302、回線番号303、次ノードIPアドレス304を識別子101に上書きで格納する(ステップ1108)。以上の処理を行った後、上位バス送受信部10が識別子101のモジュール番号102に従い、上位バス1を介して適するデバイスへパケットを送出する(ステップ1109)。このようにして、さらに他の機能拡張モジュール6へパケットを転送することができる。
一方ステップ1105のIP経路検索部17で経路情報テーブル18の検索に失敗した場合、パケット検出部21の検索(ステップ1110)を行い、もし検索が成功であれば、先と同様に送出経路情報を識別子101に上書きで格納した後(ステップ1108)、上位バス1へ送出する(ステップ1109)。また、ステップ1110のパケット検出部21での検索が失敗した場合、パケットを廃棄(ステップ1111)して受信処理を終了する。
また、ステップ1104の判別でIPパケット以外であると判別した場合、IPパケット判別部14はパケットをCPU11の管理するメモリ12に格納する(ステップ1112)。CPU11上で動作するソフトウエアは、パケットをメインプロセッサモジュール2へ転送する(ステップ1113)。メインプロセッサモジュール2では、転送されたパケットの種類に応じた処理を施す。中継する必要があるパケットであれば中継処理をする。
<5> 図12は、送信側ルーティングモジュールでのパケット処理手順を示すフローチャートである。
送信側ルーティングモジュール33の上位バス送受信部10が、上位バス1からのパケット受信を識別子101のモジュール番号102等により認識する(ステップ4001)。上位バス送受信部10はパケットをパケットバッファ13に格納する(ステップ4002)。続いて回線テーブル検索部15は、パケットに付加された識別子101に格納されている回線番号103を検索キーにして、回線テーブル16を検索する(ステップ4003)。もしステップ4003の検索が失敗した場合は、パケットを廃棄(ステップ4007)して送信処理を終了する。一方、ステップ4003の検索が成功した場合、回線テーブル16によりパケットを送信する回線23の物理回線番号402を得る。下位バス送受信部19は、該物理回線番号402の指す回線23を制御する回線制御モジュール3に送信を指示する(ステップ4004)。指示を受けた回線制御モジュール3は、パケットバッファ13からパケットをとりだし、パケットの先頭部分に付加された識別子101を削除した後(ステップ4005)、パケットを回線23へ送出する(ステップ4006)。以上が、パケットデータの流れt1の一般的な処理手順である。
なお、前述の識別子101を削除する別の方法として、ルーティングモジュール33から回線モジュール53へパケットを送る直前で削除する方式をとった場合は、ステップ4005の識別子101を削除する処理は必要ない。
なお、本発明では、機能実行モジュール62は、複数の機能アクセラレータ98を備え各種付加機能を実行してもよいし、さらに、機能拡張モジュール6が複数の機能実行モジュール62を備え、各種付加機能を実行することができる。
(2)第2の実施の形態
本発明のもう1つの手段としては、ルーティングモジュール34に汎用バスもしくは特定のインタフェースのコネクタを設けて機能実行モジュールを接続する方法である。この方法では、ルーティングモジュールのハードウェアの変更を最小限にして機能実行モジュールを接続できる利点がある。また、一つのボード上にルーティングモジュールと機能実行モジュールの両方を載せてしまって汎用バスもしくは特定のインタフェースでつないでもよい。
この方法も高速なルーティングモジュール34を利用できるので、機能実行モジュール64を上位バス1に高速にインタフェースすることができる利点がある。
図13は本発明の一実施の形態を用いた場合の、機能拡張モジュールの構成としてルーティングモジュールに機能実行モジュールを搭載したルータ装置のブロック図である。構成ならびに各部の説明を行う。これからの説明は、主に第1の実施の形態と異なる部分について説明する。
機能実行モジュールの機能を含む機能拡張モジュール6は、複雑なプロトコルをソフトウェア処理する手段と、高速なハードウェア処理を実行する手段を搭載した機能実行モジュール64を備える。機能実行モジュール64は、ルーティングモジュール34との間を汎用バス74で接続し、汎用バス74に接続されるCPU96、およびCPU96用のメモリ97、同じ汎用バス74に接続する1つまたは複数の機能アクセラレータ98を持つ。
各ルーティングモジュール31,33、34には本情報中継装置内で重複を起さない番号を割り当てる。この番号をモジュール番号と表記する。また、回線制御モジュール51、53、54や機能実行モジュール64には、ルーティングモジュール内で重複を起さない番号を割り当てる。この番号を物理回線制御モジュール番号と表記する。さらに、回線制御モジュール51に接続する回線23に対して、各回線制御モジュール配下で重複しない番号を割り当てる。同様に回線制御モジュール53ならび54に接続する回線23に対して、各回線制御モジュール配下で重複しない番号を割り当てる。この番号を物理回線番号と表記する。物理回線番号に対して、装置内部で閉じる論理的な回線番号を考えてもよい。この論理的な回線番号と物理的な回線23に一意に対応する物理回線番号とは1対1に対応する必要はない。
ルーティングモジュール31、33、34は、IPパケット経路検索部17、IP経路情報テーブル18、回線テーブル検索部15、回線テーブル16、経路情報書換え部20、パケット検出部21、検出条件テーブル22、IPパケット判別部14、パケットバッファ13、CPU11、メモリ12、上位バス送受信部10、下位バス送受信部19を備える。ルーティングモジュール34は、このような構成に加え、汎用バス送受信部85が追加されていて、汎用バス74を介して機能実行モジュール64を接続できる。
ルーティングモジュール31が受信側ルーティングモジュールである場合、下位バス送受信部19は、下位バス41経由で送信、受信するパケットのハンドリングを行う。下位バス送受信部19は、下位バス41から受信したパケットをパケットバッファ13に格納する処理を行う。その際、パケットの先頭部分に識別子を付加する。識別子は、情報中継装置内での各モジュール間の転送で、該パケットに関する中継情報を伝達する為に使う。上述のように、この識別子の一例を図4に示す。識別子101は、送出経路情報であるモジュール番号102、回線番号103、次ノードIPアドレス104を含む。識別子101のモジュール番号102、回線番号103、次ノードIPアドレス104には、後述の経路情報テーブル検索の結果得るモジュール番号、回線番号、次ノードIPアドレスを格納する。送信側ルーティングモジュールはこの識別子101を参照し、対応する回線23への送信処理を行う。
なお、この付加した識別子101を削除するところは、ルーティングモジュール33の回線モジュール53にて削除するが、別の方法としてはパケットのデータ転送量を少しでも減らすために、ルーティングモジュール33から回線モジュール53へパケットを送る直前で削除する方法でもよい。
また、機能実行モジュール64で付加機能を処理した後にルーティングモジュール34の再ルーティング処理を行うために、機能実行モジュール64でこの識別子101を削除し(またはルーティングモジュール34の汎用バス送受信部85から機能実行モジュール64にパケットを送る直前にこの識別子を削除し)、再びルーティングモジュール34の汎用バス送受信部85が、汎用バス74から受信したパケットをパケットバッファ13に格納する処理を行う際、パケットの先頭部分に新たな識別子101を付加する。これについては、別の方法としては、機能実行モジュール64では識別子101の削除は行わずに、再びルーティングモジュール34の汎用バス送受信部85が、汎用バス74から受信したパケットをパケットバッファ13に格納する処理を行う際、パケットに付加されている識別子の上に新たな識別子101で上書きする方法もある。
次にこの実施の形態におけるパケットデータの流れについて動作を説明する。図13における符号のt2の矢印線がパケットの流れである。
この実施の形態では先の実施の形態と比べて処理手順<1>と<5>は同様であり、処理手段<2><3><4>の部分が異なるので、これらの部分を以下のフローチャートを使ってパケットの処理手順について説明する。
<2> 図14は、機能拡張モジュール6内での上位バスから機能実行モジュールまでのパケット処理手順を示すフローチャートである。
機能拡張モジュール6内のルーティングモジュール34では、上位バス送受信部10が、上位バス1からのパケット受信を識別子101のモジュール番号102等により認識する(ステップ4201)。上位バス送受信部10は受信パケットをパケットバッファ13に格納する(ステップ4202)。続いて回線テーブル検索部15は、パケットに付加された識別子101に格納されている回線番号103を検索キーにして、回線テーブル16を検索する(ステップ4203)。回線テーブル検索部15は、ステップ4203の検索が成功した場合、パケットを送信する物理回線制御モジュール番号403と物理回線番号402を得る。下位バス送受信部19は、この物理回線制御モジュール番号403からパケットを機能実行モジュール64に送るか回線制御モジュール54に送るかを選択する。例えば物理回線制御モジュール番号の値が0ならばパケットの送り先は回線制御モジュール54、物理回線制御モジュール番号の値が1ならばパケットの送り先は機能実行モジュール64と決めておくことで振り分けることができる。(ステップ4204)
汎用バス送受信部85は、物理回線制御モジュール番号403を参照して、この例では、物理回線制御モジュール番号の値が1ならば、機能実行モジュール64にパケットを送信を指示する(ステップ4205)。これがパケットデータの流れt2の一般的な処理手順である。一方、ステップ4204の判定で下位バス送受信部19は、物理回線制御モジュール番号403を参照して、物理回線制御モジュール番号の値が0ならば、回線制御モジュール54にパケットを送信をする(ステップ4206)。
この手順から外れた場合を説明すると、もしステップ4203の検索が失敗した場合は、パケットを廃棄(ステップ4107)して送信処理を終了する。
<3> 図15は、機能実行モジュール64でのパケット処理手順を示すフローチャートである。
機能実行モジュール64の機能アクセラレータ98が汎用バス送受信部85から汎用バス74を経てパケット受信を物理回線制御モジュール番号403又は物理回線番号402等により、認識する(ステップ2201)。機能アクセラレータ98が物理回線制御モジュール番号403又は物理回線番号402等によりパケットを受信する(ステップ2202)。機能アクセラレータ98が受信パケットについてIP付加機能処理を施す(ステップ2203)。
処理を施した後のパケットは、識別子101が削除され(ステップ2204)、機能アクセラレータ98が汎用バス送受信部85に向けて汎用バス74へパケットを送る(ステップ2205)。
なお、IPsecのカプセリングは、パケットの先頭に新しいパケットヘッダを付加するという処理を伴う。また、機能実行モジュールにて暗号化処理を行う際には、識別子101を除いた本来のパケットデータ部分にのみ暗号化を施すことになる。したがって、このような場合には識別子101を削除した(ステップ2204)後に、付加機能処理を行う(ステップ2203)ようにしても良い。この場合について、図20に、機能実行モジュール64でのパケット処理手順についての他のフローチャートを示す。
また、前述の識別子101を削除に関する別の方法として、ルーティングモジュール34の汎用バス送受信部85から機能実行モジュール64にパケットを送る直前にこの識別子を削除する方式をとった場合、または、この後ルーティングモジュール34の汎用バス送受信部85が、汎用バス74から受信したパケットをパケットバッファ13に格納する処理を行う際にパケットに付加されている識別子の上に新たな識別子101で上書きする方式をとった場合は、ステップ2106の識別子101を削除する処理は必要ない。
<4> 図16は、ルーティングモジュール34の再ルーティングによるパケット処理手順を示すフローチャートである。
ルーティングモジュール34の汎用バス送受信部85が汎用バス74から、付加処理を施されたパケット受信を認識する(ステップ1201)。汎用バス送受信部85は受信パケットをパケットバッファ13に格納する(ステップ1202)。この際、下位バス送受信部19は、パケットの先頭部分に識別子101を付加する(ステップ1203)。
次にIPパケット判別部14は、パケットバッファ13に格納されたパケットがIPパケットであるか否かを判別する(ステップ1204)。パケットがIPパケットである場合、IP経路検索部17は、パケットバッファ13に格納したパケットのIPアドレスからサブネットマスク202を使ってネットワークアドレス部分を抽出し、それを検索キーとして経路情報テーブル18を検索する(ステップ1205)。ステップ1205の検索がヒットした場合、そのIPパケットに対する送出経路情報(モジュール番号203、回線番号204、次ノードIPアドレス205)を得る。そして経路情報書換え部20は、パケット105の識別子101に該送出経路情報を格納する(ステップ1206)。続けて、パケット検出部21が検出条件テーブル22を検索条件で検索する(ステップ1207)。
ステップ1207の検索がヒットしなかった場合、識別子101への送出経路情報の上書きは行わない。以上の処理を行った後、上位バス送受信部10が識別子101のモジュール番号102に従い、上位バス1を介して送信側ルーティングモジュール33へパケットを送出する(ステップ1209)。これがパケットデータの流れt2の一般的な処理手順である。一方、ステップ1207の検索がヒットした場合、該IPパケットに対してIP付加機能処理を施すと識別できると共に、そのIP付加機能処理を行う機能拡張モジュール6のモジュール番号302、ならびに回線番号303、次ノードIPアドレス304を得る。経路情報書換え部20にて、上記検索の結果得たモジュール番号302、回線番号303、次ノードIPアドレス304を識別子101に上書きで格納する(ステップ1208)。以上の処理を行った後、上位バス送受信部10が識別子101のモジュール番号102に従い、上位バス1を介して適するデバイスへパケットを送出する(ステップ1209)。このようにして、さらに他の機能拡張モジュール6へパケットを転送することができる。
一方ステップ1205のIP経路検索部17で経路情報テーブル18の検索に失敗した場合、パケット検出部21の検索(ステップ1210)を行い、もし検索が成功であれば、先と同様に送出経路情報を識別子101に上書きで格納した後(ステップ1208)、上位バス1へ送出する(ステップ1209)。また、ステップ1210のパケット検出部21での検索が失敗した場合、パケットを廃棄(ステップ1211)して受信処理を終了する。
また、ステップ1104の判別でIPパケット以外であると判別した場合、IPパケット判別部14はパケットをCPU11の管理するメモリ12に格納する(ステップ1212)。CPU11上で動作するソフトウエアは、パケットをメインプロセッサモジュール2へ転送する(ステップ1213)。メインプロセッサモジュール2では、転送されたパケットの種類に応じた処理を施す。中継する必要があるパケットであれば中継処理をする。
(3)第3の実施の形態
図17は本発明の一実施の形態を用いた場合の、機能拡張モジュールの構成として一つのルーティングモジュールに複数の機能実行モジュールを搭載したルータ装置のブロック図である。この図のように機能実行モジュールの搭載方法としては、例えば1つのルーティングモジュール32の下位側の下位バス42に複数の機能実行モジュール62を接続してもよい。また、ルーティングモジュール31の下位側の下位バス41に接続する回線制御モジュール51のなかの一部を機能実行モジュール61にしても実施可能である。
この複数の回線制御モジュールならび機能実行モジュールへのパケットの振り分け方法は、図14のステップ4204のように物理回線制御モジュール番号の値で行える。なお、物理回線番号により、さらに、振り分けるようにしてもよい。この値と各モジュールとの対応の設定を増やすことで2個以上のモジュールでも振り分けることが可能となる。
また、機能モジュール6内で、ルーティングモジュール32,34と機能実行モジュールとの間のパケットに、物理回線制御モジュール番号、物理回線番号をさらに識別情報として付加することで送受信の識別判断等を行うようにしてもよい。
以上のように、本実施の形態によれば従来のルータにない機能を実現したり高速な処理を行ったりする機能実行モジュールを使用したパケットデータ中継を行うことができる。
1・・・上位バス
2・・・メインプロセッサモジュール
4・・・下位バス
6・・・機能拡張モジュール
10・・・上位バス送受信部
11・・・CPU
12・・・メモリ
13・・・パケットバッファ
14・・・IPパケット判別部
15・・・回線テーブル検索部
16・・・回線テーブル
17・・・IP経路検索部
18・・・経路情報テーブル
19・・・下位バス送受信部
20・・・経路情報書換え部
21・・・パケット検出部
22・・・検出条件テーブル
23・・・回線
31〜34,3n・・・ルーティングモジュール
41〜44,4n・・・下位バス
51〜54,5n・・・回線制御モジュール
62・・・機能実行モジュール
64・・・機能実行モジュール
74・・・汎用バス
85・・・汎用バス制御部
91・・・バス連結部
92・・・下位バス送信部
93・・・下位バス受信部
94・・・データ転送制御部
95・・・汎用バス
96・・・CPU
97・・・メモリ
98・・・機能アクセラレータ
t1・・・パケットデータの流れ
t2・・・パケットデータの流れ

Claims (12)

  1. 複数の回線に接続され、いずれかの回線から受信したパケットを他の回線に中継するインターネットワーク装置であって、
    第1の接続部と、
    該第1の接続部に接続された複数のルーティング部であって、各々の該複数のルーティング部は、前記第1の接続部を介して相互にパケットを送受信する、前記複数のルーティング部と、
    複数の第2の接続部であって、各々の該第2の接続部は、いずれか1つの前記ルーティング部と接続される、前記複数の第2の接続部と、
    複数の回線制御部であって、各々の該回線制御部は、少なくとも1つの回線といずれか1つの前記第2の接続部とに接続され、いずれかの回線からパケットを受信して前記第2の接続部にそのパケットを送信し、また、前記第2の接続部からパケットを受信していずれかの回線にそのパケットを送信する、前記複数の回線制御部と、
    少なくとも1つの機能実行部であって、該機能実行部はいずれか1つの前記第2の接続部に接続され、該接続された第2の接続部からパケットを受信し、そのパケットに対して所定の付加機能を実行し、そのパケットを前記接続された第2の接続部に送信する、前記少なくとも1つの機能実行部と、
    を備え、
    前記ルーティング部のうち少なくとも1つのルーティング部は、該ルーティング部と接続された前記第2の接続部を介して、前記回線制御部及び前記機能実行部と接続され、
    各々の前記ルーティング部は、接続された前記第2の接続部からパケットを受信すると、他の前記ルーティング部を宛先としてそのパケットを前記第1の接続部に送信し、前記第1の接続部からパケットを受信すると、前記第2の接続部にパケットを送信する、
    インターネットワーク装置。
  2. 請求項1記載のインターネットワーク装置であって、
    各々の前記ルーティング部は、
    前記第2の接続部からパケットを受信し、受信したパケットの先頭部分に識別子を付加する第1の転送部と、
    前記受信したパケットに含まれるアドレス情報を用いて、送信先の回線に対応する第1の送出経路情報を検索して取得し、前記識別子に前記第1の送出経路情報を格納する第1の検索部と、
    前記受信したパケットに含まれる情報を用いて、前記受信したパケットを何れかの前記機能実行部に転送すべきかどうか識別し、前記機能実行部にパケットを転送する場合、前記機能実行部に対応する第2の送出経路情報を検索して取得し、前記識別子に前記第2の送出経路情報を格納する第2の検索部と、
    前記識別子の付加されたパケットを前記第1の接続部に送出する第2の転送部と
    を備えた、インターネットワーク装置。
  3. 請求項2記載のインターネットワーク装置であって、
    前記第1の検索部は、アドレス情報と各回線に対応する前記第1の送出経路情報とを対応付けて記憶する第1の記憶部を備え、受信パケットに含まれるアドレス情報を用いて前記第1の記憶部に記憶されているアドレス情報を検索し、受信パケットに含まれるアドレス情報と一致するアドレス情報が前記第1の記憶部に記憶されている場合、そのアドレス情報と対応付けられている前記第1の送出経路情報を前記第1の記憶部から読み出す、インターネットワーク装置。
  4. 請求項2記載のインターネットワーク装置であって、
    前記第2の検索部は、予め定められた検出条件と各々の前記機能実行部に対応する前記第2の送出経路情報とを対応付けて記憶する第2の記憶部を備え、受信パケットに含まれる所定の情報を用いて前記第2の記憶部を検索し、前記所定の情報と一致する検出条件が前記第2の記憶部に記憶されている場合、その検出条件に対応付けられている前記第2の送出経路情報を前記第2の記憶部から読み出す、インターネットワーク装置。
  5. 複数の回線に接続され、いずれかの回線から受信したパケットを他の回線に中継するインターネットワーク装置であって、
    第1の接続部と、
    該第1の接続部に接続された複数のルーティング部であって、各々の該複数のルーティング部は、前記第1の接続部を介して相互にパケットを送受信する、前記複数のルーティング部と、
    複数の第2の接続部であって、各々の該第2の接続部は、いずれか1つの前記ルーティング部と接続される、前記複数の第2の接続部と、
    複数の回線制御部であって、各々の該回線制御部は、少なくとも1つの回線といずれか1つの前記第2の接続部とに接続され、いずれかの回線からパケットを受信して前記第2の接続部にそのパケットを送信し、また、前記第2の接続部からパケットを受信していずれかの回線にそのパケットを送信する、前記複数の回線制御部と、
    複数の機能実行部であって、いずれかの該機能実行部はいずれかの前記第2の接続部に接続され、該接続された第2の接続部からパケットを受信し、そのパケットに対して所定の付加機能を実行し、そのパケットを前記接続された第2の接続部に送信する、前記複数の機能実行部と、
    を備え、
    複数の前記ルーティング部は、いずれかの前記回線制御部と接続されたいずれかの前記第2の接続部に接続される第1のルーティング部と、いずれかの前記機能実行部に接続されたいずれかの前記第2の接続部に接続される第2のルーティング部と、いずれかの前記回線制御部及びいずれかの前記機能実行部に接続されたいずれかの前記第2の接続部に接続される第3のルーティング部とを含み、
    前記第1のルーティング部、前記第2のルーティング部及び前記第3のルーティング部は、接続された前記第2の接続部からパケットを受信すると、複数の前記ルーティング部のうちのいずれかのルーティング部を宛先としてそのパケットを前記第1の接続部に送信し、前記第1の接続部からパケットを受信すると、接続された前記第2の接続部にパケットを送信する、
    インターネットワーク装置。
  6. 請求項5記載のインターネットワーク装置において、
    いずれかの前記第1のルーティング部に接続された前記第2の接続部のそれぞれは、1以上の前記回線制御部と接続され、
    前記第2のルーティング部に接続された前記第2の接続部は、1以上の前記機能実行部に接続される、インターネットワーク装置。
  7. 請求項5記載のインターネットワーク装置であって、
    各々の前記ルーティング部は、
    前記第2の接続部からパケットを受信し、受信したパケットの先頭部分に識別子を付加する第1の転送部と、
    前記受信したパケットに含まれるアドレス情報を用いて、送信先の回線に対応する第1の送出経路情報を検索して取得し、前記識別子に前記第1の送出経路情報を格納する第1の検索部と、
    前記受信したパケットに含まれる情報を用いて、前記受信したパケットを何れかの前記機能実行部に転送すべきかどうか識別し、前記機能実行部にパケットを転送する場合、前記機能実行部に対応する第2の送出経路情報を検索して取得し、前記識別子に前記第2の送出経路情報を格納する第2の検索部と、
    前記識別子の付加されたパケットを前記第1の接続部に送出する第2の転送部と
    を備えた、インターネットワーク装置。
  8. 請求項7記載のインターネットワーク装置であって、
    前記第1の検索部は、アドレス情報と各回線に対応する前記第1の送出経路情報とを対応付けて記憶する第1の記憶部を備え、受信パケットに含まれるアドレス情報を用いて前記第1の記憶部に記憶されているアドレス情報を検索し、受信パケットに含まれるアドレス情報と一致するアドレス情報が前記第1の記憶部に記憶されている場合、そのアドレス情報と対応付けられている前記第1の送出経路情報を前記第1の記憶部から読み出す、インターネットワーク装置。
  9. 請求項7記載のインターネットワーク装置であって、
    前記第2の検索部は、予め定められた検出条件と各々の前記機能実行部に対応する前記第2の送出経路情報とを対応付けて記憶する第2の記憶部を備え、受信パケットに含まれる所定の情報を用いて前記第2の記憶部を検索し、前記所定の情報と一致する検出条件が前記第2の記憶部に記憶されている場合、その検出条件に対応付けられている前記第2の送出経路情報を前記第2の記憶部から読み出す、インターネットワーク装置。
  10. 複数の回線に接続され、いずれかの回線から受信したパケットを他の回線に中継するインターネットワーク装置であって、
    第1の接続部と、
    該第1の接続部に接続された複数のルーティング部であって、各々の該複数のルーティング部は、前記第1の接続部を介して相互にパケットを送受信する、前記複数のルーティング部と、
    複数の第2の接続部であって、各々の該第2の接続部は、いずれか1つの前記ルーティング部と接続される、前記複数の第2の接続部と、
    複数の回線制御部であって、各々の該回線制御部は、少なくとも1つの回線といずれか1つの前記第2の接続部とに接続され、いずれかの回線からパケットを受信して前記第2の接続部にそのパケットを送信し、また、前記第2の接続部からパケットを受信していずれかの回線にそのパケットを送信する、前記複数の回線制御部と、
    少なくとも1つの機能拡張部であって、該機能拡張部は前記第1の接続部に接続され、該接続された第1の接続部からパケットを受信し、そのパケットに対して所定の付加機能を実行し、そのパケットを前記接続された第1の接続部に送信する、前記少なくとも1つの機能拡張部と、
    を備え、
    各々の前記ルーティング部は、前記第2の接続部からパケットを受信すると、他の前記ルーティング部またはいずれかの前記機能拡張部を宛先としてそのパケットを前記第1の接続部に送信し、前記第1の接続部からパケットを受信すると、前記第2の接続部にパケットを送信する、
    インターネットワーク装置。
  11. 請求項10記載のインターネットワーク装置において、
    前記機能拡張部は、ルーティングモジュールと機能実行モジュールとを含み、前記ルーティングモジュールは、前記第1の接続部から受信したパケットを前記機能実行モジュールに送信し、前記機能実行モジュールは、前記受信したパケットに対して所定の付加機能を実行する、インターネットワーク装置。
  12. 請求項11記載のインターネットワーク装置において、
    前記機能実行モジュールは、前記所定の付加機能を実行したパケットを前記ルーティングモジュールに送信し、
    前記ルーティングモジュールは、該受信したパケットを前記第1の接続部に送信する、インターネットワーク装置。
JP2010032322A 2010-02-17 2010-02-17 インターネットワーク装置 Expired - Lifetime JP4728436B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010032322A JP4728436B2 (ja) 2010-02-17 2010-02-17 インターネットワーク装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010032322A JP4728436B2 (ja) 2010-02-17 2010-02-17 インターネットワーク装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2001077585A Division JP4481517B2 (ja) 1992-08-27 2001-03-19 インターネットワーク装置及びインターネットワーク方法

Publications (2)

Publication Number Publication Date
JP2010141920A JP2010141920A (ja) 2010-06-24
JP4728436B2 true JP4728436B2 (ja) 2011-07-20

Family

ID=42351560

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010032322A Expired - Lifetime JP4728436B2 (ja) 2010-02-17 2010-02-17 インターネットワーク装置

Country Status (1)

Country Link
JP (1) JP4728436B2 (ja)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3113742B2 (ja) * 1991-08-30 2000-12-04 株式会社日立製作所 インタネットワーク装置
JP3252831B2 (ja) * 1999-06-01 2002-02-04 日本電気株式会社 Atmにおけるipパケットルーティングプロセッサの分散処理方法及びその装置
JP3449294B2 (ja) * 1999-06-18 2003-09-22 日本電気株式会社 マルチプロトコル処理装置、回線インターフェース及びそれらを有するマルチプロトコルスイッチシステム

Also Published As

Publication number Publication date
JP2010141920A (ja) 2010-06-24

Similar Documents

Publication Publication Date Title
JP4481517B2 (ja) インターネットワーク装置及びインターネットワーク方法
JP4481518B2 (ja) 情報中継装置及び転送方法
US10237177B2 (en) Transfer device and transfer system
US9215175B2 (en) Computer system including controller and plurality of switches and communication method in computer system
US20170111231A1 (en) System and method for communication
US8780836B2 (en) Network system, controller, and network control method
JP5648926B2 (ja) ネットワークシステム、コントローラ、ネットワーク制御方法
JP5991424B2 (ja) パケット書換装置、制御装置、通信システム、パケット送信方法及びプログラム
CN113411243B (zh) 数据传输方法及装置
US20120170477A1 (en) Computer, communication system, network connection switching method, and program
JP2001292163A (ja) 通信データ中継装置
US20190215191A1 (en) Deployment Of Virtual Extensible Local Area Network
EP3425860B1 (en) Tunnel type selection methods and apparatuses
US20210014166A1 (en) Data traffic processing method, device, and system
CN107819708A (zh) 基于虚拟机迁移的数据处理方法、系统及设备
EP1901497A1 (en) Apparatus for low latency communications through an alternate path
JP4988053B2 (ja) ネットワーク装置
JP4728436B2 (ja) インターネットワーク装置
JP4728435B2 (ja) インターネットワーク装置
JP4786749B2 (ja) インターネットワーク装置
JP6718739B2 (ja) 通信装置および通信方法
CN112994928B (zh) 一种虚拟机的管理方法、装置及系统
CN112653610B (zh) 多层虚拟交换机升级方法、装置、电子设备及存储介质
JP2004088658A (ja) パケット転送装置及びパケット処理方法
JP4778094B2 (ja) 情報中継装置及び転送方法

Legal Events

Date Code Title Description
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: 20110412

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

R150 Certificate of patent or registration of utility model

Ref document number: 4728436

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140422

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term