(57)【要約】【課題】同一セッションにおけるパケットの送信順序が入れ替わることなくＩＰルーティングアクセラレータにより受信パケットを高速にルーティング処理できるルータ装置を提供する。【解決手段】本発明によるルータ装置は、受信パケットを解析して得られたパケット送信先とセッション種別とを対応付けて送信経路情報テーブルに登録すると同時に、該受信パケットのセッション種別に対応するセッション別送信待ちキューに蓄積されている全ての受信パケットを送信する。【選択図】図２
2009135772.tif 000002
【特許請求の範囲】
【請求項１】
セッション種別とパケット送信先とを対応付けて記憶する送信経路情報テーブルと、
受信パケットのセッション種別が前記送信経路情報テーブルに記憶されていると判別した場合に当該セッション種別に対応するパケット送信先に前記受信パケットを送信し且つ当該セッション種別が前記送信経路情報テーブルに記憶されていないと判別した場合に当該受信パケットを後段に中継するＩＰルーティングアクセラレータと、を含むルータ装置であって、
前記ＩＰルーティングアクセラレータからの受信パケットを当該受信パケットのセッション種別に対応するセッション別送信待ちキューに蓄積するシーケンス制御受信部と、
当該受信パケットにパケット送信先を設定するＩＰルーティング処理部と、
当該受信パケットに設定されているパケット送信先と当該受信パケットのセッション種別とを対応付けて前記送信経路情報テーブルに記憶せしめると共に当該受信パケットのセッション種別に対応するセッション別送信待ちキューに蓄積されている全ての受信パケットを前記ＩＰルーティングアクセラレータをして送信せしめるシーケンス制御送信部と、を含むことを特徴とするルータ装置。
【請求項２】
前記シーケンス制御受信部及びシーケンス制御送信部は、前記受信パケットに含まれる送信元ＩＰアドレス、宛先ＩＰアドレス、送信元ポート番号、宛先ポート番号、セッション層のプロトコル種別の内の少なくとも１に基づいて前記セッション種別を判別するセッション種別判別手段を含むことを特徴とする請求項１に記載のルータ装置。
【請求項３】
前記シーケンス制御受信部は、前記セッション別送信待ちキューの各々に固有のセッション識別番号を対応付けるセッション識別番号対応付け手段を含み、
前記シーケンス制御送信部は、前記セッション識別番号に基づいて前記セッション別送信待ちキューに対応するセッション識別を判別するセッション種別判別手段を含むことを特徴とする請求項１に記載のルータ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はＩＰルーティングアクセラレータ機能を備えたルータ装置に関する。
【背景技術】
【０００２】
通信網間でＩＰ（Internet Protocol）パケットを中継するルータ装置が広く知られている。通常、ルータ装置はパケットに含まれている宛先情報などに基づいて受信パケットの中継先を決定する。例えば、特許文献１には、中継対象のＩＰパケットからＴＣＰ（Transmission Control Protocol）コネクションの接続先の情報を抽出し、該接続先へのＴＣＰコネクションを形成するように該ＩＰパケット内のＩＰアドレス情報およびポート番号情報の一部を所定の規則に従い書き換えて該ＩＰパケットを中継するＴＣＰ終端機能付きＩＰルータ装置が開示されている。
【０００３】
また、特定の条件を満たすパケットを高速にルーティング処理するためのＩＰルーティングアクセラレータを搭載したルータ装置が知られている。このようなルータ装置はセッション種別とパケット送信先とを対応付けて登録した経路情報テーブルを備えている。ＩＰルーティングアクセラレータは、受信パケットを解析して得られたセッション種別が経路情報テーブルに登録されている場合、該受信パケットを該セッション種別に対応するパケット送信先に送信する。一方、解析により得られたセッション種別が経路情報テーブルに登録されておらず且つ受信パケットがＩＰルーティングアクセラレータにより処理可能な条件を満たす場合、新規にパケット送信先を設定し、これと該セッション種別とを対応付けて経路情報テーブルに登録する。
【特許文献１】特開２００１−２４４９５７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記した構成のＩＰルーティングアクセラレータ搭載のルータ装置においては、新規にパケット送信先とセッション種別とを対応付けて経路情報テーブルに登録した時点において、受信パケットと同一セッションの複数のパケットが未送信のままルータ装置内に滞留している場合がある。パケット送信先と通信セッションとを対応付けて該経路情報テーブルに登録した後であって、滞留している全てのパケットの送信処理を行う前に、該セッションと同一セッションのパケットを受信した場合、ＩＰルーティングアクセラレータがこの受信パケットを、滞留しているパケットよりも先に送信することにより、同一セッションにおけるパケットの送信順序が入れ替わってしまうという問題点があった。
【０００５】
本発明は上記した如き問題点に鑑みてなされたものであって、同一セッションにおけるパケットの送信順序が入れ替わることなくＩＰルーティングアクセラレータにより受信パケットを高速にルーティング処理できるルータ装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明によるルータ装置は、セッション種別とパケット送信先とを対応付けて記憶する送信経路情報テーブルと、受信パケットのセッション種別が前記送信経路情報テーブルに記憶されていると判別した場合に当該セッション種別に対応するパケット送信先に前記受信パケットを送信し且つ当該セッション種別が前記送信経路情報テーブルに記憶されていないと判別した場合に当該受信パケットを後段に中継するＩＰルーティングアクセラレータと、を含むルータ装置であって、前記ＩＰルーティングアクセラレータからの受信パケットを当該受信パケットのセッション種別に対応するセッション別送信待ちキューに蓄積するシーケンス制御受信部と、当該受信パケットにパケット送信先を設定するＩＰルーティング処理部と、当該受信パケットに設定されているパケット送信先と当該受信パケットのセッション種別とを対応付けて前記送信経路情報テーブルに記憶せしめると共に当該受信パケットのセッション種別に対応するセッション別送信待ちキューに蓄積されている全ての受信パケットを前記ＩＰルーティングアクセラレータをして送信せしめるシーケンス制御送信部と、を含むことを特徴とする。
【発明を実施するための最良の形態】
【０００７】
以下、本発明に係る実施例について添付の図面を参照しつつ詳細に説明する。
【０００８】
図１は本発明によるルータ装置１００を、インターネットなどの通信網２００及び２０１と共に表すブロック図である。ルータ装置１００は、通信網２００及び２０１の間でパケットを中継する装置である。ルータ装置１００は、ＮＷ０物理層インターフェース処理部１１０と、ＮＷ１物理層インターフェース処理部１１１と、ＮＷ０リンク層インターフェース処理部１２０と、ＮＷ１リンク層インターフェース処理部１２１と、経路情報テーブル１３０と、ＩＰルーティングアクセラレータ１４０と、シーケンス制御部１５０と、ＮＷ０受信キュー１６０と、ＮＷ０送信キュー１６１と、ＮＷ１受信キュー１６２と、ＮＷ１送信キュー１６３と、ＩＰルーティング処理部１７０と、を含む。
【０００９】
ＮＷ０物理層インターフェース処理部１１０は、通信網２００からの受信パケットに対して、国際標準化機構(ＩＳＯ)により制定されたＯＳＩ(Open Systems Interconnection)参照モデルの物理層に関する処理を施して、ＮＷ０リンク層インターフェース処理部１２０に与える。また、ＮＷ０物理層インターフェース処理部１１０は、ＮＷ０リンク層インターフェース処理部１２０からの送信パケットに対して物理層に関する処理を施して通信網２００に送信する。同様にＮＷ１物理層インターフェース処理部１１１は、通信網２０１からの受信パケットに対して、物理層に関する処理を施して、ＮＷ１リンク層インターフェース処理部１２１に与える。また、ＮＷ１物理層インターフェース処理部１１１は、ＮＷ１リンク層インターフェース処理部１２１からの送信パケットに対して物理層に関する処理を施して通信網２０１に送信する。
【００１０】
ＮＷ０リンク層インターフェース処理部１２０は、ＮＷ０物理層インターフェース処理部１１０からの受信パケットに対して、ＯＳＩ参照モデルのリンク層に関する処理を施して、ＩＰルーティングアクセラレータ１４０に与える。また、ＮＷ０リンク層インターフェース処理部１２０は、ＩＰルーティングアクセラレータ１４０からの送信パケットに対して、リンク層に関する処理を施してＮＷ０物理層インターフェース処理部１１０に与える。ＮＷ１リンク層インターフェース処理部１２１は、ＮＷ１物理層インターフェース処理部１１１からの受信パケットに対して、ＯＳＩ参照モデルのリンク層に関する処理を施して、ＩＰルーティングアクセラレータ１４０に与える。また、ＮＷ１リンク層インターフェース処理部１２１は、ＩＰルーティングアクセラレータ１４０からの送信パケットに対して、リンク層に関する処理を施してＮＷ１物理層インターフェース処理部１１１に与える。
【００１１】
経路情報テーブル１３０は、後述するセッション制御送信部１３２からのセッション種別とパケット送信先とを対応付けて記憶する。経路情報テーブル１３０は、セッション種別とパケット送信先の対応を複数、記憶可能である。経路情報テーブル１３０は、例えば、セッション種別毎に固有の識別子と送信先のＩＰアドレスとを対応付けるなどして記憶する。
【００１２】
ＩＰルーティングアクセラレータ１４０は、ＮＷ０リンク層インターフェース処理部１２０又はＮＷ１リンク層インターフェース処理部１２１からの受信パケットを解析して、該パケットのセッション種別を判別する。ここでのセッションとは、通信接続を確立してから切断するまでの一連の通信を指す。ＩＰルーティングアクセラレータ１４０は、受信パケットに含まれる送信元ＩＰアドレス、宛先ＩＰアドレス、送信元ポート番号、宛先ポート番号、セッション層のプロトコル種別などの情報に基づいてセッション種別を判別する。
【００１３】
ＩＰルーティングアクセラレータ１４０は、受信パケットを解析して得られたセッション種別が送信経路情報テーブル１３０に記憶されていると判別した場合に、当該セッション種別に対応するパケット送信先に該受信パケットを送信する。反対に、ＩＰルーティングアクセラレータ１４０は、受信パケットを解析して得られたセッション種別が送信経路情報テーブル１３０に記憶されていないと判別した場合に、該受信パケットを後段のシーケンス制御部１５０に中継する。
【００１４】
また、ＩＰルーティングアクセラレータ１４０は、シーケンス制御部１５０からの送信パケットをＮＷ０リンク層インターフェース処理部１２０又はＮＷ１リンク層インターフェース処理部１２１を経由して通信網２００又は２０１に送信する。
【００１５】
図２はシーケンス制御部１５０を詳細に表したルータ装置１００を表すブロック図である。なお、同図には、ＮＷ０物理層インターフェース処理部１１０、ＮＷ１物理層インターフェース処理部１１１、ＮＷ０リンク層インターフェース処理部１２０、ＮＷ１リンク層インターフェース処理部１２１、ＮＷ０送信キュー１６０及びＮＷ１受信キュー１６３は図示されていない。
【００１６】
同図のシーケンス制御部１５０には、通信網２０１から通信網２００へパケットを中継するための、シーケンス制御受信部１５１と、シーケンス制御送信部１５２と、セッション別送信待ちキュー１５３−１〜１５３−ｎ（ここでのｎは正整数）と、が図示されている。シーケンス制御部１５０には、通信網２００から通信網２０１へパケットを中継するための、これらと同様のブロックが含まれているが、これらのブロックは同図では省略されている。
【００１７】
シーケンス制御受信部１５１は、ＩＰルーティングアクセラレータ１４０からの受信パケットを解析して該受信パケットのセッション種別を判別する。シーケンス制御受信部１５１は、受信パケットに含まれる送信元ＩＰアドレス、宛先ＩＰアドレス、送信元ポート番号、宛先ポート番号、セッション層のプロトコル種別などの情報に基づいてセッション種別を判別する。シーケンス制御受信部１５１は、解析して得られたセッション種別に対応するセッション別送信待ちキューをセッション別送信待ちキュー１５３−１〜１５３−ｎの内から検索する。シーケンス制御受信部１５１は、該セッション種別に対応するセッション別送信待ちキューを検索できた場合、該受信パケットを該セッション別送信待ちキューの最後尾に追加、蓄積する。反対にシーケンス制御受信部１５１は、該セッション種別に対応するセッション別送信待ちキューを検索できなかった場合、該受信パケットを蓄積するためのセッション別送信待ちキューを新たに生成すると共に、該受信パケットをＩＰルーティング処理部１７０に与える。
【００１８】
シーケンス制御受信部１５１は、セッション別送信待ちキュー１５３−１〜１５３−ｎの各々を生成するときに、セッション別送信待ちキュー１５３−１〜１５３−ｎの各々に固有のセッション識別番号を生成してセッション別送信待ちキュー１５３−１〜１５３−ｎの各々に対応付ける。セッション識別番号は例えば、セッション別送信待ちキュー１５３−１〜１５３−ｎの生成順に０から１ずつ増加する番号である。シーケンス制御受信部１５１は、セッション識別番号に基づいて受信パケットのセッション種別に対応するセッション別送信待ちキューを検索する。
【００１９】
セッション別送信待ちキュー１５３−１〜１５３−ｎの各々は、シーケンス制御受信部１５１によってメモリ（図示せず）内に生成されたパケット蓄積領域であり、シーケンス制御受信部１５１からの受信パケットを受け取った順に蓄積する。図3は、セッション別送信待ちキュー１５３−１を表す図である。セッション別送信待ちキュー１５３−１は、シーケンス制御受信部１５１からの受信パケットＰ１、Ｐ２、・・・、Ｐｍ（ここでのｍは正整数）を受け取った順に蓄積していく（図中の記号ＲＶ）。また、後述するシーケンス制御送信部１５２は、セッション別送信待ちキュー１５３−１から受信パケットＰ１、Ｐ２、・・・、Ｐｍの順に（蓄積順に）受信パケットを取り出す（図中の記号ＳＤ）。セッション別送信待ちキュー１５３−２〜１５３−ｎの各々もセッション別送信待ちキュー１５３−１と同様の構成である。セッション別送信待ちキュー１５３−１〜１５３−ｎの各々には固有のセッション識別番号が対応付けられており、相互に異なるセッションの受信パケットを蓄積する。また、セッション別送信待ちキュー１５３−１〜１５３−ｎの各々は、シーケンス制御受信部１５１からの受信パケットの総数がパケット蓄積限界数を超えた場合、受信パケットを蓄積した順（古い順）に破棄する。
【００２０】
シーケンス制御送信部１５２は、ＩＰルーティング処理部１７０からの受信パケットを解析して、該受信パケットに設定されているパケット送信先及び該受信パケットのセッション種別を判別する。シーケンス制御送信部１５２は、受信パケットに含まれる送信元ＩＰアドレス、宛先ＩＰアドレス、送信元ポート番号、宛先ポート番号、セッション層のプロトコル種別などの情報に基づいてセッション種別を判別する。シーケンス制御送信部１５２は、解析して得られたパケット送信先とセッション種別とを対応付けて送信経路情報テーブル１３０に記憶せしめる。これと同時に、シーケンス制御送信部１５２は、セッション識別番号に基づいて該受信パケットのセッション種別に対応するセッション別送信待ちキューをセッション別送信待ちキュー１５３−１〜１５３−ｎの内から検索し、当該検索により得られたセッション別送信待ちキューに蓄積されている全ての受信パケットを取り出して、これらを蓄積順に（古いパケットから順に）送信パケットとしてＩＰルーティングアクセラレータ１４０に与えて送信せしめる。
【００２１】
また、シーケンス制御送信部１５２は、当該検索して得られたセッション別送信待ちキューに対応付けられているセッション識別番号よりも小さいセッション識別番号が対応付けられている全てのセッション別送信待ちキューを破棄する。これは、次に説明するＩＰルーティング処理部１７０が、受信パケットをシーケンス制御送信部１５２に与えなかった場合に、すなわち、該受信パケットのセッションを中継対象としない場合に、該セッションに対応するセッション別送信待ちキューに受信パケットが蓄積されたまま残存することを防ぐためである。
【００２２】
ＩＰルーティング処理部１７０は、シーケンス制御受信部１５１からの受信パケットを解析して得られた結果に基づいて該受信パケットをシーケンス制御送信部１５２に与えるか否かを判別する。通常、ＩＰルーティング処理部１７０は、ＩＰルーティングアクセラレータ１４０において該受信パケットをルーティング処理可能であると判別した場合に、該受信パケットを中継するためにシーケンス制御送信部１５２に与える。このとき、ＩＰルーティング処理部１７０は、該受信パケットに含まれる送信元ＩＰアドレス、宛先ＩＰアドレス、送信元ポート番号、宛先ポート番号、セッション層のプロトコル種別などの情報に基づいてパケット送信先を決定し、これを該受信パケットに設定してシーケンス制御送信部１５２に与える。
【００２３】
図４は、パケットルーティング処理ルーチン表すフローチャートである。以下、図４を参照しつつ、ルータ装置１００によるパケットルーティング処理について説明する。
【００２４】
最初にＩＰルーティングアクセラレータ１４０が、ＮＷ０リンク層インターフェース処理部１２０又はＮＷ１リンク層インターフェース処理部１２１から受信パケットを受け取る（ステップＳ１０１）。
【００２５】
ＩＰルーティングアクセラレータ１４０は、受信パケットを解析して得られたセッション種別が送信経路情報テーブル１３０に記憶されていると判別した場合に、当該セッション種別に対応するパケット送信先に該受信パケットを送信する（ステップＳ１０２）。反対に、受信パケットを解析して得られたセッション種別が送信経路情報テーブル１３０に記憶されていないと判別した場合に、該受信パケットを後段のシーケンス制御受信部１５１に中継する。
【００２６】
シーケンス制御受信部１５１は、ＩＰルーティングアクセラレータ１４０からの受信パケットを解析して得られたセッション種別に対応するセッション別送信待ちキューを検索できなかった場合（ステップＳ１０３）、固有のセッション識別番号を対応付けたセッション別送信待ちキューを新たに生成し（ステップＳ１０４）、該受信パケットをＩＰルーティング処理部１７０に与える。反対に、シーケンス制御受信部１５１が、ＩＰルーティングアクセラレータ１４０からの受信パケットを解析して得られたセッション種別に対応するセッション別送信待ちキューを検索できた場合（ステップＳ１０３）、該受信パケットを該セッション別送信待ちキューに蓄積する（ステップＳ１０５）。
【００２７】
ＩＰルーティング処理部１７０は、シーケンス制御受信部１５１からの受信パケットをＩＰルーティングアクセラレータ１４０がルーティング処理可能であると判別した場合に、該受信パケットにパケット送信先を設定してシーケンス制御送信部１５２に与える（ステップＳ１０６）。
【００２８】
シーケンス制御送信部１５２は、ＩＰルーティング処理部１７０からの受信パケットを解析して、該受信パケットに設定されているパケット送信先及び該受信パケットのセッション種別を判別する（ステップＳ１０７）。
【００２９】
シーケンス制御送信部１５２は、解析して得られたパケット送信先とセッション種別とを対応付けて送信経路情報テーブル１３０に登録する（ステップＳ１０８）。これと同時にシーケンス制御送信部１５２は、該受信パケットのセッション種別に対応するセッション別送信待ちキューをセッション別送信待ちキュー１５３−１〜１５３−ｎの内から検索し、当該検索して得られたセッション別送信待ちキューに蓄積されている全ての受信パケットを取り出して、これらを蓄積順に（古いパケットから順に）送信パケットとしてＩＰルーティングアクセラレータ１４０に与える（ステップＳ１０９）。
【００３０】
シーケンス制御送信部１５２は、当該検索して得られたセッション別送信待ちキューに対応付けられているセッション識別番号よりも小さいセッション識別番号が対応付けられている全てのセッション別送信待ちキューを破棄する（ステップＳ１１０）。
【００３１】
ＩＰルーティングアクセラレータ１４０は、シーケンス制御部１５０からの全ての送信パケットをＮＷ０リンク層インターフェース処理部１２０又はＮＷ１リンク層インターフェース処理部１２１を経由して順次、通信網２００又は２０１に送信する（ステップＳ１１１）。
【００３２】
ＩＰルーティングアクセラレータ１４０は、これ以降にシーケンス制御部１５０からの送信パケットと同一セッションの他のパケットを受信した場合、シーケンス制御送信部１５２により送信経路情報テーブル１３０に登録されたパケット送信先とセッション種別との対応に基づいて、該他のパケットをルーティング処理して送信する。ＩＰルーティングアクセラレータ１４０が、該他のパケット送信する前に、ステップＳ１０９にてセッション別送信待ちキューに蓄積されていた全ての受信パケットを蓄積順に送信しているため、同一セッション内における送信順の入れ替わりが生じない。
【００３３】
上記したように本実施例によるルータ装置１００によれば、受信パケットを解析して得られたパケット送信先とセッション種別とを対応付けて送信経路情報テーブル１３０に登録すると同時に、該受信パケットのセッション種別に対応するセッション別送信待ちキューに蓄積されている全ての受信パケット（該受信パケットと同一セッションの全ての受信パケット）を送信する。ＩＰルーティングアクセラレータが該受信パケットと同一セッションの他のパケットを新たに受信した場合に、送信経路情報テーブル１３０に登録された情報に基づいて該他のパケットをルーティング処理して送信する時点においては、セッション別送信待ちキューに蓄積されていた全ての受信パケットは既に送信されているため、同一セッション内におけるパケットの送信順序の入れ替りは生じない。これにより、本実施例によるルータ装置１００によれば、同一セッションにおけるパケットの送信順序が入れ替わることなくＩＰルーティングアクセラレータにより受信パケットを高速にルーティング処理できる。
【図面の簡単な説明】
【００３４】
【図１】ルータ装置を通信網と共に表すブロック図である。
【図２】シーケンス制御部を詳細に表したルータ装置を表すブロック図である。
【図３】セッション別送信待ちキュー表すである。
【図４】パケットルーティング処理ルーチン表すフローチャートである。
【符号の説明】
【００３５】
１００  ルータ装置
１１０  ＮＷ０物理層インターフェース処理部
１１１  ＮＷ１物理層インターフェース処理部
１２０  ＮＷ０リンク層インターフェース処理部
１２１  ＮＷ１リンク層インターフェース処理部
１３０  経路情報テーブル
１４０  ＩＰルーティングアクセラレータ
１５０  シーケンス制御部
１５１  シーケンス制御受信部
１５２  シーケンス制御送信部
１５３−１〜１５３−ｎ  セッション別送信待ちキュー
１６０  ＮＷ０受信キュー
１６１  ＮＷ０送信キュー
１６２  ＮＷ１受信キュー
１６３  ＮＷ１送信キュー
１７０  ＩＰルーティング処理部
２００、２０１  通信網
【図１】
2009135772.tif 000003
【図２】
2009135772.tif 000004
【図３】
2009135772.tif 000005
【図４】
2009135772.tif 000006