説明

ルータ装置及びルーティング検索制御方法

【課題】ハードウェアの記憶容量が比較的低容量であっても高スループットを維持可能とするルータ装置を得る。
【解決手段】CPUと、ハードウェア資質で構成されたルーティング検索エンジンと、パケットの送受信を行う複数のネットワークデバイスとを有する装置であって、ルーティング検索エンジン131は、H/Wパケット転送機能132と、H/W経路探索を行う経路テーブルとを備え、CPU110は、ソフトウェアによるS/Wパケット転送手段111と、ソフトウェアによるS/W経路テーブルから経路を探索する経路探索手段と、ルーティング検索エンジンの制御を行うルーティング検索エンジン制御手段112と、前記S/W経路テーブルに対して経路を登録する経路登録手段を含み、ルーティング検索エンジン制御手段112は、指示された経路をH/W経路テーブル133に登録する経路登録機能を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、IPネットワーク上のルータ装置及びルータ装置におけるルーティング検索制御方法に関し、特に、インターネット接続におけるパケット転送経路を検索するルーティング検索エンジンの制御に関する。
【背景技術】
【0002】
ルータ装置は、異なるネットワーク間を相互に接続するための中継機器として用いられるものであり、パケットに付与された宛先IPアドレスを識別し検索テーブルにしたがって転送するルーティング処理が行われるが、その高速化を図るため例えば特許文献1や特許文献2に示されるような種々の検索制御方法が提案されている。
【特許文献1】特開2000−174805号公報
【特許文献2】特開平11−341076号公報
【0003】
ルータ装置において、受信パケットの送信先を検索するルーティング検索制御については、通常ソフトウェアを用いてCPU(中央演算装置)で処理している。ルーティング検索制御に関する処理は、パケットの通過・廃棄の可否を設定されたフィルタリング情報に基づいて単に判定する処理と異なり、検出したパケットの転送先を検索する処理が発生するため大きくなり、その結果CPUに負担をかけることになる。
【0004】
近年、光ファイバによるインターネット接続サービスの普及が進み、エントリークラスのルータ装置においてもGbpsクラスのパケット転送能力が求められている。Gbpsクラスのルータ装置は、パケット転送能力を向上させるために、ルーティング検索エンジンとしてハードウェア資質を用いるのが一般的である。
ハードウェア資質を用いるルータ装置は、例えば、最初のパケットの転送先をソフトウェア処理により検索し、この時の検索結果をハードウェア検索用の経路テーブルに設定する。そして、以降の同一宛先のパケットについては、この経路テーブルを検索することによるハードウェア処理により転送が行われる。
【発明の開示】
【発明が解決しようとする課題】
【0005】
一般的に、経路テーブルの記憶容量は、ハードウェア資質によるものよりソフトウェア処理による方が大きくなる。ハードウェア資質を用いるルータ装置は、経路総数がハードウェアの記憶容量を超えた場合、パケット転送を維持するため各種の対策が採られる。
例えば、ルータ装置において、全てのパケット転送をソフトウェア処理に移行することでパケット転送を維持する。この場合、スループットが激減する問題が生じる。
【0006】
また、別の例では、ルータ装置において、ハードウェアから任意の経路を削除することでハードウェアによるパケット転送をある程度維持することが行われる。この結果、ハードウェア処理による経路探索結果と、ソフトウェア処理による経路探索結果との矛盾が発生し、パケット転送が実行できない場合があるという問題が生じる。
【0007】
これらの問題を防ぐ一つの方法として、十分な記憶容量を備えたハードウェアを使用することが考えられるが、記憶容量が大きくなるほどルータ装置が高価となるという問題がある。
【0008】
本発明は、上記実情に鑑みて提案されたもので、ハードウェアの記憶容量が比較的低容量であっても高スループットを維持可能とし、且つ、装置全体で経路探索結果の一貫性が維持できるルータ装置を提供することを目的とする。
【課題を解決するための手段】
【0009】
上記問題点を解決するため本発明の請求項1に記載したルータ装置は、CPUと、ハードウェア資質で構成されたルーティング検索エンジンと、該ルーティング検索エンジンに接続しパケットの送受信を行う複数のネットワークデバイスとを有する装置であって、次の各構成を含むことを特徴としている。
前記ルーティング検索エンジンは、ハードウェアによるH/Wパケット転送機能と、ハードウェアによるH/W経路探索を行う経路テーブルとを備え、前記ネットワークデバイスを介して転送された受信パケットの宛先IPアドレスに一致する経路を前記H/W経路テーブルから探索し、前記受信パケットの当該経路が示すネットワークデバイスへの転送、又は、前記CPUへの転送を行う。
前記CPUは、ソフトウェアによるS/Wパケット転送手段と、ソフトウェアによるS/W経路テーブルから経路を探索する経路探索手段と、ルーティング検索エンジンの制御を行うルーティング検索エンジン制御手段と、前記S/W経路テーブルに対して経路を登録する経路登録手段(ネットワークアプリケーション機能)とを含み、前記ルーティング検索エンジンから転送された受信パケットに対し、宛先IPアドレスに一致する経路を前記S/W経路テーブルから探索し、前記受信パケットの当該経路が示すネットワークデバイスへの転送、又は、前記受信パケットの廃棄を行う。
前記ルーティング検索エンジン制御手段は、指示された経路を含めた経路総数がH/W経路テーブルの記憶容量を越えるかを判定し、超えていなければ、指示された経路をH/W経路テーブルに登録し、超えていれば、S/W経路テーブルに記憶されたすべての経路のうち、前記宛先IPアドレスの宛先プリフィクスが最短の経路をH/W経路テーブルから削除し、指示された経路をH/W経路テーブルに登録する経路登録機能を備える。
【0010】
請求項2のルータ装置は、請求項1において、前記ルーティング検索エンジンは、前記H/W経路テーブルが記憶する経路毎にカウンタ値を備え、前記H/Wパケット転送機能によって探索された経路に応じたカウンタ値を加算するH/W使用頻度カウンタを有し、
前記CPUは、前記S/W経路テーブルが記憶する経路毎にカウンタ値を備え、前記S/Wパケット転送機能によって探索された経路に応じたカウンタ値を加算するS/W使用頻度カウンタを有し、
前記ルーティング検索エンジン制御手段は、前記経路登録機能に代えて、指示された経路を含めた経路総数がH/W経路テーブルの記憶容量を越えるかを判定し、超えていなければ、指示された経路をH/W経路テーブルに登録し、超えていれば、S/W経路テーブルに記憶されたすべての経路を宛先ネットワークアドレスの一部が重複する複数グループに分類し、各グループの宛先プリフィクスが最短の経路に対して、前記S/W使用頻度カウンタと前記H/W使用頻度ウンタから求めたカウンタ値を合算して使用頻度を求め、使用頻度が最低の経路を前記H/W経路テーブルから削除し、指示された経路を前記H/W経路テーブルに登録する使用頻度経路登録機能を備えて成ることを特徴としている。
【0011】
請求項3のルーティング検索制御方法は、CPUと、ハードウェア資質で構成されたルーティング検索エンジンを備え、一方のネットワークデバイスから受信したパケットを他方のネットワークデバイスへ送信する際の経路検索の制御を行う方法であって、次の各手順を含むことを特徴としている。
前記ルーティング検索エンジンにより、前記ネットワークデバイスを介して転送された受信パケットの宛先IPアドレスに一致する経路をハードウェアによるH/W経路テーブルから探索し、一致する経路が見つかれば前記受信パケットを当該経路が示すネットワークデバイスに転送し、一致する経路が見つからない時には前記受信パケットを前記CPUに転送する第1の転送手順。
前記CPUにより、前記ルーティング検索エンジンから転送された受信パケットに対し、宛先IPアドレスに一致する経路をソフトウェアによるS/W経路テーブルから探索し、一致する経路が見つかれば前記受信パケットを当該経路が示すネットワークデバイスに転送し、一致する経路が見つからない時には前記受信パケットを廃棄する第2の転送手順。
前記CPUにより、前記S/W経路テーブルで指示された経路を含めた経路総数がH/W経路テーブルの記憶容量を越えるかを判定し、超えていなければ、指示された経路を前記H/W経路テーブルに登録し、超えていれば、S/W経路テーブルに記憶されたすべての経路のうち、前記宛先IPアドレスの宛先プリフィクスが最短の経路をH/W経路テーブルから削除し、指示された経路をH/W経路テーブルに登録する経路登録手順。
【0012】
請求項4のルーティング検索制御方法は、請求項3において、前記ルーティング検索エンジンは、前記H/W経路テーブルが記憶する経路毎にカウンタ値を備え、前記H/Wパケット転送機能によって探索された経路に応じたカウンタ値を加算するH/W使用頻度カウンタを有し、
前記CPUは、前記S/W経路テーブルが記憶する経路毎にカウンタ値を備え、前記S/Wパケット転送機能によって探索された経路に応じたカウンタ値を加算するS/W使用頻度カウンタを有する一方、
前記CPUは、前記経路登録手順に代えて、指示された経路を含めた経路総数がH/W経路テーブルの記憶容量を越えるかを判定し、超えていなければ、指示された経路をH/W経路テーブルに登録し、超えていれば、S/W経路テーブルに記憶されたすべての経路を宛先ネットワークアドレスの一部が重複する複数グループに分類し、各グループの宛先プリフィクスが最短の経路に対して、前記S/W使用頻度カウンタと前記H/W使用頻度ウンタから求めたカウンタ値を合算して使用頻度を求め、使用頻度が最低の経路を前記H/W経路テーブルから削除し、指示された経路を前記H/W経路テーブルに登録する使用頻度経路登録手順を具備することを特徴としている。
【発明の効果】
【0013】
本発明のルータ装置及びルーティング検索制御方法によれば、先ず、受信パケットの宛先IPアドレスに一致する経路をハードウェアによるH/W経路テーブルから探索し、一致する経路が見つからない時にのみ受信パケットをCPUに転送して宛先IPアドレスに一致する経路をソフトウェアによるS/W経路テーブルから探索するので、ハードウェアの記憶量が比較的低容量であってもパケット転送における高スループットを維持可能とすることができるとともに、ルータ装置全体で経路探索結果の一貫性が維持できる。
【0014】
本発明のルータ装置及びルーティング検索制御方法によれば、転送先に指示された経路をH/W経路テーブルに登録する経路登録手順を有することで、経路探索に際しての高速化を図ることができる。
また、転送先に指示された経路を前記H/W経路テーブルに登録する使用頻度経路登録手順を有することで、使用頻度の高い経路に対しての経路探索に際して、更なる高速化を図ることができる。
【発明を実施するための最良の形態】
【0015】
以下、図面を参照して本発明の最良の実施形態について詳細に説明する。図1は、本発明のルータ装置が適用されるIPボタン電話装置100の主要部の構成を示したブロック図であり、ここでは、本発明の説明に不要な構成は図示が省略されている。
【0016】
このIPボタン電話装置100は、外線としてアナログ回線、ナンバーディスプレイ契約回線、網番号ダイヤルイン回線、アナログ専用線、デジタル専用線およびISDN回線などのレガシー(従来型・旧型)外線のみならず、IP専用回線、VoIP回線、NGN (next generation network:次世代ネットワーク)回線を利用できる。また、内線端末として一般アナログ端末、ISDN端末、ホテルフォンおよびFAXなどのレガシー端末のみならず、デジタルボタン電話機やIP電話機などのIP端末を収容し、各外線と各内線端末との間の通信を制御する。
【0017】
IPボタン電話装置100において、主制御ユニットCCU (Central Control Unit)1は、システム全体を制御する。TDM制御ユニットTCCU2は、各レガシー端末とIP網との間および各レガシー外線とIP端末との間で時分割多重化通信(TDM)を制御する。カスタマエッジユニットCEU (Customer Edge Unite)3は、音声データと制御データとを多重化してIP通信を行う高速ブロードバンドルータとしての機能を備える。音声変換ユニットVCU (Voice Conversion Unit)4は、音声データを高ビットレートの高音質データまたは低ビットレートの標準音質データに変換する。
【0018】
前記TCCU2には、ファックス端末81、ホテルフォン端末82、デジタルボタン電話機83、単体電話機84などのレガシー端末、および一般外線、ISDNネット回線、デジタル専用線、アナログ専用線などのレガシー外線が、各種の専用インターフェースおよびTDM通信用のTDMバス5を介して接続されている。前記TDMバス5は、制御データを送受信するDチャネルおよび音声信号を送受信するBチャネルを備える。
【0019】
前記CCU1とTCCU2とは音声用LAN8および制御用LAN9の2本のLANで接続されている。CCU1とCEU3およびVCU4とは制御用LANで接続されている。前記CCU1には更に、保守用LAN10を介して保守用コンピュータ95が接続されると共に、IP内線LAN6を介してHUB7が接続されている。前記HUB7には、専用インターフェースを介してIP電話機91や音声会議装置92が接続され、無線アクセスポイント(AP)にはIPコードレスフォン93が収容され、さらにソフトフォン94のアプリケーションが実装されたコンピュータが接続されている。
【0020】
前記CCU1は、CPU11、DDR メモリ(RAM)12、フラッシュメモリ13、パケット転送の制御に特化した専用チップ14、挿抜自在のコンパクトフラッシュ(登録商標)(CF)メモリ15およびレイヤ2(L2)スイッチ16を主要な構成としている。
前記TCCU2は、CPU21、DDR メモリ22、フラッシュメモリ23、ファイ(PHY)24、前記Bチャネルを制御するハイウエイスイッチ25、前記Dチャネルを制御するDch制御信号通信チップ26およびDSP(Digital Signal Processor)27を主要な構成としている。前記PHY24は、Ethernet(登録商標)(図示せず)の物理層を制御するLSIである。
【0021】
前記CEU3は、CPU31、DDRメモリ32、フラッシュメモリ33、パケット転送の制御に特化した専用チップ34およびL2スイッチ35を主要な構成としている。VCU4は、CPU41、DDRメモリ42、フラッシュメモリ43、L2スイッチ44およびDSP45を主要な構成としている。DSP45は、音声情報を高品質から標準音質への変換、若しくはその逆の変換を行う。
【0022】
このように、本実施形態ではCCU1、TCCU2、CEU3およびVCU4のそれぞれにCPU11,21,31,41を分散配置することで負荷分散を実現すると共に、CCU1およびCEU3には更に、パケット転送に特化した専用チップ14,34を搭載することでCPUにおけるパケット転送の処理を軽減し、更なる負荷分散を実現している。
【0023】
このような構成において、レガシー端末(例えば、単体電話機84)がNGN経由で発着信した場合、レガシー端末とTCCU2との間ではPCM変換された音声信号がTDMバス5上で時分割多重化通信により送受信される。TCCU2とCCU1との間にはIPセッションが確立され、このIPセッションにおいて音声信号のデータパケットが交換される。CEU3では前記L2スイッチ35によりNGNが選択されており、CCU1およびCEU3は、それぞれの専用チップ14,34を利用してパケットを交換する。
【0024】
また、IP端末がレガシー外線(例えば、ISDNネット)経由で発着信した場合は、TDMバス5,TCCU2,CCU1およびHUB7を介してデータが送受信される。さらに、IP端末がNGN経由で発着信した場合は、CEU3,CCU1およびHUB7を介してデータが送受信される。
【0025】
本発明のルータ装置は、図1におけるCCU1又はCEU3内に適用されるものであり、その詳細な構成について、図2〜図6を参照しながら説明する。CEU3は回線数が多数である場合にCCU1に加えて接続されるものであり、IPボタン電話装置100がCCU1のみで構成される場合には本発明のルータ装置はCCU1内に、IPボタン電話装置100がCCU1及びCEU3で構成する場合には本発明のルータ装置はCEU3内に適用される。
【0026】
ルータ装置は、図2のブロック図に示すように、所望のソフトウェアが実行されることで各種手段を機能させるCPU110(図1ではCPU11,31に対応)と、所望のソフトウェアが実行されることでS/W経路テーブル121となるRAM120(図1ではDDRメモリ12,32に対応)と、ハードウェア資質である集積回路で構成されたASIC130(図1では専用チップ13,34に対応)がローカルバス101を介して接続されている。
【0027】
ASIC130は、ルーティング検索エンジン131と、パケットの送受信を行うネットワークデバイスとして2系統のMAC(Media Access Control)135,135を備えている。各MAC135は、ケーブル線で構成されたPHY(物理層)140,140に接続され、PHY(物理層)140,140を介して外部よりパケットを受信し、送信するように構成されている。
パケットの送受信を行うためのPHY(物理層)140は、図1においては接続線102,103,104に該当している。すなわち、IPボタン電話装置100がCCU1及びCEU3で構成される場合は、PHY(物理層)140は接続線103(WAN側),接続線104(LAN側)に該当し、IPボタン電話装置100がCCU1のみで構成される場合は、PHY(物理層)140は接続線102(IP内線LAN6),接続線104(WAN側)に該当することで、HUB7に接続されるLAN側及びIP網に接続されるWAN側に対してパケットを送受信可能なように構成されている。
各パケットには、IPv4の場合、2進表記による最大で32桁の宛先IPアドレス(ネットワークアドレス)が、IPv6の場合、2進表記による最大で128桁の宛先IPアドレス(ネットワークアドレス)が割り当てられている。この宛先IPアドレスにおいて、既に「0」か「1」のいずれかに決まっている桁数の数が宛先プリフィクスであり、その値はIPv4の場合は「32」が、IPv6の場合は「128」が最長となり、「0」が最低となる。
【0028】
ルーティング検索エンジン131は、受信パケットを指示された経路に転送するH/Wパケット転送手段132と、過去の送信先経路が複数個登録されたH/W経路テーブル133を有し、MAC135を介して転送された受信パケットの宛先IPアドレスに一致する経路を、H/W経路テーブル133から探索し、一致する経路が見つかれば受信パケットを経路が示すネットワークデバイスにH/Wパケット転送手段132により転送し、一致する経路が見つからない時には受信パケットをCPU110に転送する処理が行われる。
【0029】
CPU110は、ルーティング検索エンジン131から転送された受信パケットを指示された経路に転送するS/Wパケット転送手段111と、ルーティング検索エンジン制御手段112と、ネットワークアプリケーション(経路登録手段)113と、API114を備えている。S/Wパケット転送手段111は、ソフトウェアにより受信パケットを転送する機能を有している。
【0030】
ルーティング検索エンジン制御手段112は、ASIC130を介して転送された受信パケットの宛先IPアドレスに一致する経路を、S/W経路テーブル121から探索し、一致する経路が見つかれば受信パケットを経路が示すネットワークデバイスにS/Wパケット転送手段111により転送し、一致する経路が見つからない時には受信パケットを廃棄する処理が行われる。
【0031】
ネットワークアプリケーション113は、S/W経路テーブルに対して経路を登録する経路登録機能(ネットワークアプリケーション機能)を有している。
API114は、ネットワークアプリケーション113からの指示により指示された経路をS/W経路テーブル121に登録し、指示された経路をルーティング検索エンジン制御機能112に通知する処理を行うものである。
【0032】
したがって、CPU上で動作するソフトウェアは、S/Wパケット転送手段111による転送機能と、S/W経路テーブル121から経路を探索する機能と、ルーティング検索エンジン制御手段112を制御する機能と、ネットワークアプリケーション113及びAPI114を制御するプログラムから構成されている。
【0033】
上記した構成のルータ装置によるパケット転送動作について、図3のフローチャート図を参照しながら説明する。
ネットワークデバイス(MAC135)は、パケットを受信すると、受信パケットをASIC130のルーティング検索エンジン131に転送する(ステップ201)。
ルーティング検索エンジン131は、H/Wパケット転送機能132によって、受信パケットの宛先IPアドレスに一致する経路を最長一致探索によりH/W経路テーブル133から探索し(ステップ202)、一致する経路が見つかれば、受信パケットを、当該経路が示すネットワークデバイスにパケットを転送し、パケット送信が行われる(ステップ203)。
H/W経路テーブル133での探索において、受信パケットの宛先IPアドレスに一致する経路が見つからなければ、受信パケットをCPU110に転送する(ステップ202)。
【0034】
CPU上のソフトウェアで実行されるルーティング検索エンジン制御手段112により、S/Wパケット転送手段111の転送機能によって、受信パケットの宛先IPアドレスに一致する経路を最長一致探索によりS/W経路テーブル121から探索し(ステップ204)、一致する経路が見つかれば、受信パケットを、当該経路が示すネットワークデバイスにパケットを転送し(ステップ203)、一致する経路が見つからなければ、受信パケットを廃棄する(ステップ205)。
【0035】
次に、ルータ装置による新規経路登録動作について、図4のフローチャートを参照しながら説明する。
ネットワークアプリケーション113が新規経路を登録することをAPI114に通知する(ステップ210)。
API114は、ネットワークアプリケーション113からの指示により、指示された経路をS/W経路テーブルに登録するとともに、指示された経路をルーティング検索エンジン制御手段112に通知する(ステップ211)。
【0036】
ルーティング検索エンジン制御手段112は、指示された経路を含めた経路総数がH/W経路テーブル133の記憶容量を越えるかを判定し(ステップ212)、超えていなければ、指示された経路をH/W経路テーブル133に登録する(ステップ213)。超えている場合には、S/W経路テーブル121に記憶された経路を含めた全ての経路のうち、宛先プリフィクスが最短の経路をH/W経路テーブル133から削除し(ステップ214)、指示された経路をH/W経路テーブル133に登録する(ステップ213)。
【0037】
上記したルータ装置におけるルーティング検索エンジン制御の動作について、図5及び図6を参照しながら説明する。図5及び図6は、ルータ装置において、S/W経路テーブル121の記憶容量が無制限であり、H/W経路テーブル131の記憶容量が6経路である例について説明する。
図5(ケース1)は、経路総数≦H/W経路テーブルの記憶容量の関係にある場合を示している。この場合、S/W経路テーブル121とH/W経路テーブル133はいずれも経路数が6であり、同一である。
【0038】
図6(ケース2)は、前記状態において、ネットワークアプリケーションがAPIを使用して新たに経路を追加することで、経路総数>H/W経路テーブルの記憶容量の関係となる場合を示している。このケースの場合、ルーティング検索エンジン制御手段112により、宛先プリフィクス最短の経路である経路1に相当する経路がH/W経路テーブル133から削除され、新規経路(宛先プリフィクスの値が「20」)がH/W経路テーブル133に登録されている。
【0039】
以下に、図6のケース2において、パケット転送がルーティング検索エンジン131内で完結する事例と、CPU110上のソフトウェアで処理される事例について、受信パケットの経路検索動作を説明する。
【0040】
(パケット転送がルーティング検索エンジン131で完結する事例)
ルータ装置が宛先IPアドレスの「0」「1」の値が「16」桁まで決まっている経路4(宛先プリフィクスの値が「16」)に一致するパケットを受信した場合の動作について、図6及び図2を参照して説明する。
先ず、パケット入出力部であるMAC135は、受信パケットをルーティング検索エンジン131に転送する。ルーティング検索エンジン131は、H/Wパケット転送機能132において、受信パケットの宛先IPアドレスに一致する経路を、最長一致探索によってH/W経路テーブル133から探索する。最長一致探索とは、宛先IPアドレスにおいて一致する桁数が多い方から優先的に探索を行うものである。
【0041】
図6の場合、宛先プリフィクスの高い経路から順に探索され、経路を選択する処理が行われる。すなわち、H/W経路テーブル133において、経路F,E,D,Cの順に探索され、宛先プリフィクスの値が「16」である経路C(=経路4)を選択し、パケット転送が完結する。この検索では、宛先プリフィクスの高い経路から順に探索されるので、最初に見つけた経路が宛先プリフィクスの高い経路となる。
また、仮に、この状態でS/Wパケット転送手段11において探索処理が行われた場合、S/W経路テーブル121から、経路7,6,5,4の順に探索され、経路4を選択するので、H/W経路テーブル133で探索した場合と同一の結果となる。
以上のように、受信パケットに該当する経路がルーティング検索エンジン131に存在する場合は、ルーティング検索エンジン131でパケット転送が完結され、且つ、ルータ装置全体として経路探索結果の一貫性が維持されている。
【0042】
(パケット転送がCPU110のソフトウェアで処理される事例)
ルータ装置が宛先プリフィクスの値が「4」である経路1に一致するパケットを受信した場合の動作を説明する。
パケット入出力部は、例1と同様に、受信パケットをルーティング検索エンジン131に転送する。ルーティング検索エンジン131は、H/Wパケット転送機能132において、受信パケットの宛先IPアドレスに一致する経路を、最長一致探索によってH/W経路テーブル133から探索する。図6の場合、宛先プリフィクスの高い経路から順に探索され、最初に見つけた経路を選択する。すなわち、経路F,E,D,C,B,Aの順に探索されるが、いずれにも一致しないため、CPU110に受信パケットを転送する。
【0043】
CPU110上のソフトウェアは、S/Wパケット転送手段111において最長一致探索によってS/W経路テーブル121から探索する。図6の場合、宛先プリフィクスの高い経路から順に探索され、最初に見つけた経路を選択する。すなわち、経路7,6,5,4,3,2,1の順に探索され、宛先プリフィクスの値が「4」である経路1を選択する。
したがって、受信パケットに該当する経路がルーティング検索エンジン131に無い場合でも、CPU110上のソフトウェア(S/Wパケット転送手段111)でパケット転送が実行され、且つ、ルータ装置全体として経路探索結果の一貫性が維持されている。
【0044】
上述した構成によれば、CPU110上のソフトウェア(S/Wパケット転送手段111)によるパケット転送を併用することで、ハードウェア資質により構成されたルーティング検索エンジン131の記憶容量が低容量であっても高いパケット転送能力を維持することができる。
【0045】
本発明のルータ装置の実施形態の他の例について、図7〜図10を参照しながら説明する。
図7に示したルータ装置は、図2のルータ装置と同様に、所望のソフトウェアが実行されることで各種手段を機能させるCPU110と、所望のソフトウェアが実行されることでS/W経路テーブル121となるRAM120と、ハードウェア資質である集積回路で構成されたASIC130がローカルバス101を介して接続されている。図7において、図2と同様の構成を採る部分については、同一符号を付している。
【0046】
すなわち、このルータ装置は、図2と同様に、CPU110、RAM120、ASIC130、PHY140から構成され、CPU110は、ソフトウェアにより実行されるS/Wパケット転送手段111、ルーティング検索エンジン制御手段112を備え、RAM120上にS/W経路テーブル121を備える。また、ASIC130は、ルーティング検索エンジンと、2系統のMAC135,135を備え、ルーティング検索エンジン131は、H/Wパケット転送機能132、H/W経路テーブル133を備える。
【0047】
そして、このルータ装置は、図2のルータ装置の構成に加えて、CPU110上にソフトウェアで動作するS/W使用頻度カウンタ115を備えるともに、ASIC130のルーティング検索エンジン131にH/W使用頻度カウンタ134を備えている。
【0048】
S/W使用頻度カウンタ115は、S/W経路テーブル121が記憶する経路毎にカウンタ値を備え、CPU110上のソフトウェアによるS/Wパケット転送手段111によって探索された経路に応じたカウンタ値を加算する。
H/W使用頻度カウンタ134は、H/W経路テーブル133が記憶する経路毎にカウンタ値を備え、ルーティング検索エンジン131のH/Wパケット転送機能132によって探索された経路に応じたカウンタ値を加算する。
【0049】
S/W使用頻度カウンタ115及びH/W使用頻度カウンタ134を備えたルータ装置による新規経路登録動作について、図8のフローチャートを参照しながら説明する。
先ず、ネットワークアプリケーション113が新規経路を登録することをAPI114に通知する(ステップ110)。
API114は、ネットワークアプリケーション113からの指示により、指示された経路をS/W経路テーブル121に登録するとともに、指示された経路をルーティング検索エンジン制御手段112に通知する(ステップ211)。
【0050】
ルーティング検索エンジン制御手段112は、指示された経路を含めた経路総数がH/W経路テーブル133の記憶容量を越えるかを判定し(ステップ212)、超えていなければ、指示された経路をH/W経路テーブル133に登録する(ステップ213)。ここまでの処理は、図2のルータ装置のルーティング検索エンジン制御手段112と同様である。
【0051】
そして、経路総数がH/W経路テーブル133の記憶容量を越えている場合、S/W経路テーブル121に記憶されたすべての経路を宛先ネットワークアドレスが重複するグループに分類し(ステップ215)、各グループの宛先プリフィクスが最短の経路に対して、S/W使用頻度カウンタ115とH/W使用頻度カウンタ134から求めたカウンタ値を合算して使用頻度を求め、使用頻度が最低の経路をH/W経路テーブル133から削除し(ステップ216)、指示された経路をH/W経路テーブル133に登録する(ステップ213)。
【0052】
図7のルータ装置におけるルーティング検索エンジン制御の動作について、図9及び図10を参照しながら説明する。図9及び図10は、ルータ装置において、S/W経路テーブル121の記憶容量が無制限であり、H/W経路テーブル133の記憶容量が6経路である例について説明する。
図9(ケース1)は、経路総数≦H/W経路テーブルの記憶容量の関係にある場合を示している。この場合、S/W経路テーブル121とH/W経路テーブル133はいずれも経路数が6であり、同一である。
【0053】
図10(ケース2)は、前記状態において、ネットワークアプリケーションがAPIを使用して新たに経路を追加することで、経路総数>H/W経路テーブルの記憶容量の関係となる場合を示している。この場合、ルーティング検索エンジン制御手段112により、S/W経路テーブル121の全ての経路を、宛先ネットワークアドレスが重複するグループに分類する。図10のケース2の場合、グループAとグループBの二つのグループに分類している。そして、各グループの宛先プリフィクス最短の経路の使用頻度を、S/W使用頻度カウンタ115とH/W使用頻度カウンタ134の値を合算することで求め、使用頻度が最低の経路である経路2−1に相当する経路をH/W経路テーブル133から削除し、新規経路をH/W経路テーブル133に登録する。
【0054】
以下に、図10のケース2において、パケット転送がルーティング検索エンジン131内で完結する事例と、CPU110上のソフトウェアで処理される事例について、受信パケットの経路検索動作を説明する。
【0055】
(パケット転送がルーティング検索エンジン31で完結する事例)
ルータ装置がS/W経路テーブル121に登録された経路2−2に一致するパケットを受信した場合の動作を説明する。
パケット入出力部は、受信パケットをルーティング検索エンジン131に転送する。ルーティング検索エンジン131は、H/Wパケット転送機能132において、受信パケットの宛先IPアドレスに一致する経路を、最長一致探索によってH/W経路テーブル133から探索する。図10の場合、宛先プリフィクスの高い経路から順に探索されるので、最初に一致した経路が宛先プリフィクスの高い経路となるのでこれを選択する。すなわち、経路F,E,D,Cの順に探索され、経路C(=経路2−2)を選択し、パケット転送が完結する。
仮に、この状態でS/Wパケット転送手段111においてS/W経路テーブル121から探索した場合、経路2−2,1−4,1−3,2−2の順に探索され、経路2−2を選択する。
以上のように、受信パケットに該当する経路がルーティング検索エンジンに在る場合は、ルーティング検索エンジンでパケット転送が完結され、且つ、ルータ全体として経路探索結果の一貫性が維持されている。
【0056】
(パケット転送がCPU110上のソフトウェアで処理される事例)
ルータ装置がS/W経路テーブル121に登録された経路2−1に一致するパケットを受信した場合の動作を説明する。
パケット入出力部は、受信パケットをルーティング検索エンジンに転送する。ルーティング検索エンジンは、H/Wパケット転送機能において、受信パケットの宛先IPアドレスに一致する経路を、最長一致探索によってH/W経路テーブル133から探索する。図10の場合、宛先プリフィクスの高い経路から順に探索されるので、最初に一致した経路が宛先プリフィクスの高い経路となるのでこれを選択する。すなわち、経路F,E,D,C,B,Aの順に探索されるが、いずれにも一致しないため、CPUに受信パケットを転送する。CPU110上のソフトウェアは、S/Wパケット転送手段111において最長一致探索によってS/W経路テーブル121から探索する。図10の場合、宛先プリフィクスの高い経路から順に探索されるので、最初に一致した経路が宛先プリフィクスの高い経路となるのでこれを選択する。すなわち、経路2−3,1−4,1−3,2−2,1−2,2−1の順に探索され、経路2−1を選択する。
以上のように、受信パケットに該当する経路がルーティング検索エンジン131に無い場合でも、CPU110上のソフトウェアでパケット転送され、且つ、ルータ全体として経路探索結果の一貫性が維持されている。
【0057】
次に、図7のルータ装置におけるルーティング検索エンジンの経路検索についての制御動作をより明確にするために、図11と図12を用いて説明する。
図11は、ルータ装置が具備するS/W経路テーブル121を示しており、ネットワークアプリケーションによって、経路ア、イ、ウ、エの4つの経路が登録されており、経路毎にS/W使用頻度カウンタとH/W使用頻度カウンタの値を合算し、カウンタ合算値を所定のしきい値で2分割して使用頻度を高・低に2値化して管理している。また、カウンタの合算値をそのまま使用頻度としてもよいし、高・低の2値ではなく、例えば4つの使用頻度に分割してもよい。
【0058】
図12は、すべてのIPアドレスを、デフォルトゲートウェイを根とし、ネットワークアドレスの先頭ビットから順に2値で枝分かれする二分木のうち、先頭4ビットまでを示した図である。
【0059】
ルーティング検索エンジン制御機能は、経路総数>H/W経路テーブルの記憶容量の関係を満たした場合、S/W経路テーブルのすべての経路を、宛先ネットワークアドレスが重複するグループに分類する。ここで、宛先ネットワークアドレスが重複するグループとは、図12の登録済の経路(白塗りの丸)を根とする枝木に含まれる経路を意味する。すなわち、経路アを根とする枝木をグループAとすると、経路イがこの枝木に含まれるため、グループAに含まれる経路は経路ア、イとなる。また、経路ウを根とする枝木をグループBとすると、経路エがこの枝木に含まれるため、グループBに含まれる経路は経路ウ、エとなる。
グループAとグループBは、宛先ネットワークアドレスの先頭ビットが互いに重複しないことは、図12から明らかである。従って、受信パケットの宛先ネットワークアドレスがあるグループの経路に一致する場合、別のグループの経路には一致しない。つまり、「最長一致探索において、異なるグループの経路に一致することは起こりえない」という特徴を持つ。
上記の特徴により、分類したグループのうち、いずれのグループの宛先プリフィクス最短の経路を削除しても、ルータ装置全体での経路探索結果の一貫性は維持される。
【0060】
上述の構造によれば、各経路の使用頻度について、削除経路を選択する条件に加えることにより、経路の使用頻度を管理することで図2の例に比較して、更に高いパケット転送能力を維持することができる。
【0061】
上述した各ルータ装置によれば、高スループットを維持可能な構成を低コストで作製することが可能となる。
【図面の簡単な説明】
【0062】
【図1】本発明のルータ装置が適用されるIPボタン電話装置のブロック図である。
【図2】本発明のルータ装置の実施形態の一例を示すブロック図である。
【図3】本発明のルータ装置におけるパケット転送の動作を説明するためのフローチャート図である。
【図4】図2のルータ装置における新規経路登録の動作を説明するためのフローチャート図である。
【図5】図2のルータ装置におけるルーティング検索エンジン制御の動作を示す図である。
【図6】図2のルータ装置におけるルーティング検索エンジン制御の動作を示す図である。
【図7】本発明のルータ装置の実施形態の他の例を示すブロック図である。
【図8】図7のルータ装置における新規経路登録の動作を説明するためのフローチャート図である。
【図9】図7のルータ装置におけるルーティング検索エンジン制御の動作を示す図である。
【図10】図7のルータ装置におけるルーティング検索エンジン制御の動作を示す図である。
【図11】S/W経路テーブルに登録された宛先IPアドレスを説明するための図である。
【図12】S/W経路テーブルに登録された宛先IPアドレスの属性を二分木で表現した図である。
【符号の説明】
【0063】
1…CCU、 3…CEU、 6…IP内線LAN、 14,34…専用チップ、 100…IPボタン電話装置、 101…ローカルバス、 110…CPU、 111…S/Wパケット転送手段、 112…ルーティング検索エンジン制御手段、 113…ネットワークアプリケーション(経路登録手段)、 115…S/W使用頻度カウンタ、120…RAM、 121…S/W経路テーブル、 130…ASIC、 131…ルーティング検索エンジン、 132…H/Wパケット転送機能、 133…H/W経路テーブル、 134…H/W使用頻度カウンタ、 135…MAC、 140…PHY。

【特許請求の範囲】
【請求項1】
CPUと、ハードウェア資質で構成されたルーティング検索エンジンと、該ルーティング検索エンジンに接続しパケットの送受信を行う複数のネットワークデバイスとを有する装置であって、
前記ルーティング検索エンジンは、ハードウェアによるH/Wパケット転送機能と、ハードウェアによるH/W経路探索を行う経路テーブルとを備え、前記ネットワークデバイスを介して転送された受信パケットの宛先IPアドレスに一致する経路を前記H/W経路テーブルから探索し、前記受信パケットの当該経路が示すネットワークデバイスへの転送、又は、前記CPUへの転送を行う一方、
前記CPUは、ソフトウェアによるS/Wパケット転送手段と、ソフトウェアによるS/W経路テーブルから経路を探索する経路探索手段と、ルーティング検索エンジンの制御を行うルーティング検索エンジン制御手段と、前記S/W経路テーブルに対して経路を登録する経路登録手段とを含み、前記ルーティング検索エンジンから転送された受信パケットに対し、宛先IPアドレスに一致する経路を前記S/W経路テーブルから探索し、前記受信パケットの当該経路が示すネットワークデバイスへの転送、又は、前記受信パケットの廃棄を行うとともに、
前記ルーティング検索エンジン制御手段は、指示された経路を含めた経路総数がH/W経路テーブルの記憶容量を越えるかを判定し、超えていなければ、指示された経路をH/W経路テーブルに登録し、超えていれば、S/W経路テーブルに記憶されたすべての経路のうち、前記宛先IPアドレスの宛先プリフィクスが最短の経路をH/W経路テーブルから削除し、指示された経路をH/W経路テーブルに登録する経路登録機能を備えて成る
ことを特徴とするルータ装置。
【請求項2】
前記ルーティング検索エンジンは、前記H/W経路テーブルが記憶する経路毎にカウンタ値を備え、前記H/Wパケット転送機能によって探索された経路に応じたカウンタ値を加算するH/W使用頻度カウンタを有し、
前記CPUは、前記S/W経路テーブルが記憶する経路毎にカウンタ値を備え、前記S/Wパケット転送機能によって探索された経路に応じたカウンタ値を加算するS/W使用頻度カウンタを有し、
前記ルーティング検索エンジン制御手段は、前記経路登録機能に代えて、指示された経路を含めた経路総数がH/W経路テーブルの記憶容量を越えるかを判定し、超えていなければ、指示された経路をH/W経路テーブルに登録し、超えていれば、S/W経路テーブルに記憶されたすべての経路を宛先ネットワークアドレスの一部が重複する複数グループに分類し、各グループの宛先プリフィクスが最短の経路に対して、前記S/W使用頻度カウンタと前記H/W使用頻度ウンタから求めたカウンタ値を合算して使用頻度を求め、使用頻度が最低の経路を前記H/W経路テーブルから削除し、指示された経路を前記H/W経路テーブルに登録する使用頻度経路登録機能を備えて成る
請求項1に記載のルータ装置。
【請求項3】
CPUと、ハードウェア資質で構成されたルーティング検索エンジンを備え、一方のネットワークデバイスから受信したパケットを他方のネットワークデバイスへ送信する際の経路検索の制御を行うルーティング検索制御方法であって、
前記ルーティング検索エンジンにより、前記ネットワークデバイスを介して転送された受信パケットの宛先IPアドレスに一致する経路をハードウェアによるH/W経路テーブルから探索し、一致する経路が見つかれば前記受信パケットを当該経路が示すネットワークデバイスに転送し、一致する経路が見つからない時には前記受信パケットを前記CPUに転送する第1の転送手順と、
前記CPUにより、前記ルーティング検索エンジンから転送された受信パケットに対し、宛先IPアドレスに一致する経路をソフトウェアによるS/W経路テーブルから探索し、一致する経路が見つかれば前記受信パケットを当該経路が示すネットワークデバイスに転送し、一致する経路が見つからない時には前記受信パケットを廃棄する第2の転送手順と、
前記CPUにより、前記S/W経路テーブルで指示された経路を含めた経路総数がH/W経路テーブルの記憶容量を越えるかを判定し、超えていなければ、指示された経路を前記H/W経路テーブルに登録し、超えていれば、S/W経路テーブルに記憶されたすべての経路のうち、前記宛先IPアドレスの宛先プリフィクスが最短の経路をH/W経路テーブルから削除し、指示された経路をH/W経路テーブルに登録する経路登録手順を具備する
ことを特徴とするルーティング検索制御方法。
【請求項4】
前記ルーティング検索エンジンは、前記H/W経路テーブルが記憶する経路毎にカウンタ値を備え、前記H/Wパケット転送機能によって探索された経路に応じたカウンタ値を加算するH/W使用頻度カウンタを有し、
前記CPUは、前記S/W経路テーブルが記憶する経路毎にカウンタ値を備え、前記S/Wパケット転送機能によって探索された経路に応じたカウンタ値を加算するS/W使用頻度カウンタを有する一方、
前記CPUは、前記経路登録手順に代えて、指示された経路を含めた経路総数がH/W経路テーブルの記憶容量を越えるかを判定し、超えていなければ、指示された経路をH/W経路テーブルに登録し、超えていれば、S/W経路テーブルに記憶されたすべての経路を宛先ネットワークアドレスの一部が重複する複数グループに分類し、各グループの宛先プリフィクスが最短の経路に対して、前記S/W使用頻度カウンタと前記H/W使用頻度ウンタから求めたカウンタ値を合算して使用頻度を求め、使用頻度が最低の経路を前記H/W経路テーブルから削除し、指示された経路を前記H/W経路テーブルに登録する使用頻度経路登録手順を具備する
請求項3に記載のルーティング検索制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate


【公開番号】特開2010−109735(P2010−109735A)
【公開日】平成22年5月13日(2010.5.13)
【国際特許分類】
【出願番号】特願2008−280125(P2008−280125)
【出願日】平成20年10月30日(2008.10.30)
【出願人】(000000181)岩崎通信機株式会社 (133)
【出願人】(399040405)東日本電信電話株式会社 (286)
【出願人】(399041158)西日本電信電話株式会社 (215)
【Fターム(参考)】