(57)【特許請求の範囲】
【請求項１】
パケットをセル化してスイッチングするルータ装置が自装置内の各回線部に設けたルーティングテーブルを更新するルーティングテーブル更新方式において、
前記ルータ装置は、前記回線部毎に前記ルーティングテーブルを参照用ルーティングテーブルおよび更新用ルーティングテーブルとして格納する格納手段と、
前記回線部が経路情報の変更を通知するルーティングプロトコルパケットを受信した場合に、前記ルーティングプロトコルパケットを基に作成したルーティングテーブル更新情報から前記各回線部の前記更新用ルーティングテーブルの内容を更新してその更新した更新用ルーティングテーブルを新しい参照先ルーティングテーブルとして前記ルーティングテーブルの参照先を前記各回線部同時に切り替える切替手段と、
受信した前記ルーティングプロトコルパケットを基に前記各回線部に対する前記ル−ティングテーブル更新情報を作成して配布する配布手段と、
前記ルーティングテーブル更新情報が前記各回線部に正しく配布されたかどうかを確認する確認手段と、
前記ルーティングテーブル更新情報が前記回線部に正しく配布された場合に前記ルーティングテーブルの参照先の切替指示を行う切替指示手段とを有することを特徴とするルーティングテーブル更新方式。
【請求項２】
パケットをセル化してスイッチングするルータ装置が自装置内の各回線部に設けたルーティングテーブルを更新するルーティングテーブル更新方式において、
前記ルータ装置は、前記回線部毎に前記ルーティングテーブルを参照用ルーティングテーブルおよび更新用ルーティングテーブルとして格納する格納手段と、
前記回線部が経路情報の変更を通知するルーティングプロトコルパケットを受信した場合に、前記ルーティングプロトコルパケットを基に作成したルーティングテーブル更新情報から前記各回線部の前記更新用ルーティングテーブルの内容を更新してその更新した更新用ルーティングテーブルを新しい参照先ルーティングテーブルとして前記ルーティングテーブルの参照先を前記各回線部同時に切り替える切替手段と、
受信した前記ルーティングプロトコルパケットを基に前記各回線部に対する前記ル−ティングテーブル更新情報を作成して前記回線部毎に保存する保存手段と、
前記回線部毎に保存したルーティングテーブル更新情報を前記回線部別に配布する配布手段と、
前記ルーティングテーブル更新情報が前記各回線部に正しく配布されたかどうかを確認する確認手段と、前記ルーティングテーブル更新情報が前記回線部に正しく配布された場合に前記ルーティングテーブルの参照先の切替指示を行う切替指示手段とを有することを特徴とするルーティングテーブル更新方式。
【請求項３】
前記切替手段は、受信したパケットをセル化してスイッチング先の回線部に送信中の場合にはそのパケット送信終了後に切り替えることを特徴とする請求項１または２記載のルーティングテーブル更新方式。
【請求項４】
前記格納手段は、同一メモリ内に参照用ルーティングテーブルおよび更新用ルーティングテーブルを割り付けることを特徴とする請求項１または２記載のルーティングテーブル更新方式。
【請求項５】
前記格納手段は、参照用ルーティングテーブルを第１のメモリに更新用ルーティングテーブルを第２のメモリにそれぞれ割り付けることを特徴とする請求項１または２記載のルーティングテーブル更新方式。
【請求項６】
前記ルータ装置は、前記ルーティングテーブル更新情報が前記回線部に正しく配布されなかった場合に正しく配布されなかった回線部に対して前記ルーティングテーブル更新情報の再送を行う再送手段を有することを特徴とする請求項１または２記載のルーティングテーブル更新方式。
【請求項７】
前記ルーティングテーブル更新情報は、前記回線部に対応するルーティングテーブルの全情報であることを特徴とする請求項１または２記載のルーティングテーブル更新方式。
【請求項８】
前記ルーティングテーブル更新情報は、前記回線部に対応するルーティングテーブル内の変更部分を示す情報であることを特徴とする請求項１または２記載のルーティングテーブル更新方式。
【請求項９】
パケットをセル化してスイッチングするルータ装置が第１のルーティングテーブルを有するルーティング処理部と前記第１のルーティングテーブルを基に作成された第２のルーティングテーブルを有する複数の回線部とを備え、ルーティングプロトコルパケットにより前記第１および第２のルーティングテーブルの更新を行うルーティングテーブル更新方式において、
前記第１のルーティングテーブルを参照用として確保した第１の参照先領域と更新用として確保された第１の更新先領域とを有する第１の領域確保手段と、
前記回線部毎に前記第２のルーティングテーブルを参照用として確保した第２の参照先領域と更新用として確保した第２の更新先領域とを有する第２の領域確保手段とを備え、
前記ルーティング処理部は、前記ルーティングプロトコルパケットにより前記第１の更新先領域の前記第１のルーティングテーブルの更新を行うと、前記第１の更新先領域の前記第１のルーティングテーブルを基に各回線部に対応するルーティングテーブル情報を作成して前記回線部に送信する送信手段と、
前記第１の更新先領域の前記第１のルーティングテーブルの更新を行うと、前記第１の更新先領域を新しい第１の参照先領域にし前記第１の参照先領域を新しい第１の更新先領域にする第１の切替手段と、
前記回線部から前記ルーティングテーブル更新情報の正常受信の通知を受けると前記回線部に前記第２の参照先領域と前記第２の更新先領域との切替指示を行う切替指示手段とを有し、
前記回線部は、前記ルーティング情報を正常に受信した場合に前記第２の更新先領域に格納する格納手段と、
前記格納し終わると前記ルーティング処理部に前記正常受信の通知を行う通知手段と、
前記切替指示を受信すると第２の更新先領域を新しい第２の参照先領域にし前記第２の参照先領域を新しい第２の更新先領域にする第２の切替手段とを有することを特徴とするルーティングテーブルの更新方式。
【請求項１０】
パケットをセル化してスイッチングするルータ装置が第１のルーティングテーブルを有するルーティング処理部と前記第１のルーティングテーブルを基に作成された第２のルーティングテーブルを有する複数の回線部とを備え、ルーティングプロトコルパケットにより前記第１および第２のルーティングテーブルの更新を行うルーティングテーブル更新方式において、前記第１のルーティングテーブルを参照用として確保した第１の参照先領域と更新用として確保された第１の更新先領域とを有する第１の領域確保手段と、前記回線部毎に前記第２のルーティングテーブルを参照用として確保した第２の参照先領域と更新用として確保した第２の更新先領域とを有する第２の領域確保手段とを備え、前記ルーティング処理部は、前記ルーティングプロトコルパケットにより前記第１の更新先領域の前記第１のルーティングテーブルの更新を行うと、前記第１の更新先領域の前記第１のルーティングテーブルを基に各回線部に対応するルーティングテーブル情報を作成して前記回線部毎に保存する保存手段と、前記回線部毎に保存したルーティング更新情報を前記回線別毎に送信する送信手段と、前記第１の更新先領域の前記第１のルーティングテーブルの更新を行うと、前記第１の更新先領域を新しい第１の参照先領域にし前記第１の参照先領域を新しい第１の更新先領域にする第１の切替手段と、前記回線部から前記ルーティングテーブル更新情報の正常受信の通知を受けると前記回線部に前記第２の参照先領域と前記第２の更新先領域との切替指示を行う切替指示手段とを有し、前記回線部は、前記ルーティング情報を正常に受信した場合に前記第２の更新先領域に格納する格納手段と、前記格納し終わると前記ルーティング処理部に前記正常受信の通知を行う通知手段と、前記切替指示を受信すると第２の更新先領域を新しい第２の参照先領域にし前記第２の参照先領域を新しい第２の更新先領域にする第２の切替手段とを有することを特徴とするルーティングテーブルの更新方式。
【請求項１１】
前記第２の切替手段は、前記切替指示を受信した場合に受信したパケットをセル化してスイッチング先の回線部に送信中の場合にはそのパケット送信終了後に切り替えることを特徴とする請求項９または１０記載のルーティングテーブル更新方式。
【請求項１２】
前記第２の領域確保手段は、前記各回線部内の同一メモリに第２の参照先領域と第２の更新先領域とを割り付けていることを特徴とする請求項９または１０記載のルーティングテーブルの更新方式。
【請求項１３】
前記第２の領域確保手段は、前記各回線部内の第１のメモリに第１の参照先領域と前記各回線部内の第２のメモリに第２の更新先領域とを割り付けていることを特徴とする請求項９または１０記載のルーティングテーブルの更新方式。
【請求項１４】
前記回線部は、前記ルーティングテーブル更新情報を正常に受信しない場合に再送要求を行う再送要求手段とを有し、前記ルーティング処理部は、前記再送要求を受信した場合に前記再送要求のあった回線部に前記ルーティングテーブル更新情報の再送を行う再送手段とを有することを特徴とする請求項９または１０記載のルーティングテーブル更新方式。
【請求項１５】
前記ルーティングテーブル更新情報は、前記回線部に対応するルーティングテーブルの全情報であることを特徴とする請求項９または１０記載のルーティングテーブル更新方式。
【請求項１６】
前記ルーティングテーブル更新情報は、前記回線部に対応するルーティングテーブル内の変更部分を示す情報であることを特徴とする請求項９または１０記載のルーティングテーブル更新方式。
【請求項１７】
パケットをセル化してスイッチングするルータ装置が第１のルーティングテーブルを有するルーティング処理部と前記第１のルーティングテーブルを基に作成された第２のルーティングテーブルを有する複数の回線部とを備え、ルーティングプロトコルパケットにより前記第１および第２のルーティングテーブルの更新を行うルーティングテーブル更新方法であって、
前記ルータ装置内に前記第１のルーティングテーブルを参照用として確保した第１の参照先領域と更新用として確保された第１の更新先領域とを準備し、
前記回線部内に前記第２のルーティングテーブルを参照用として確保した第２の参照先領域と更新用として確保した第２の更新先領域とを準備し、
前記ルーティング処理部が、前記ルーティングプロトコルパケットにより前記第１の更新先領域の前記第１のルーティングテーブルの更新を行うと前記第１の更新先領域の前記第１のルーティングテーブルを基に各回線部に対応するルーティングテーブル更新情報を作成して前記回線部に送信し、
前記回線部が、前記ルーティングテーブル更新情報を正常に受信した場合に前記第２の更新先領域に前記ルーティングテーブル更新情報を格納し、
格納し終わると前記ルーティング処理部に前記正常受信の通知を行い、
前記ルーティング処理部が、前記回線部から前記ルーティングテーブル更新情報の正常受信の通知を受けると前記回線部に前記第２の参照先領域と前記第２の更新先領域との切替指示を行い、
前記回線部が、前記切替指示を受信すると第２の更新先領域を新しい第２の参照先領域にし前記第２の参照先領域を新しい第２の更新先領域にすることを特徴とするルーティングテーブルの更新方法。
【請求項１８】
前記ルーティング処理部が前記ルーティングテーブル更新情報を前記回線部に送る場合に、誤り訂正符号を付加して送信することを特徴とする請求項１７記載のルーティングテーブル更新方法。
【請求項１９】
前記回線部が前記ルーティングテーブル更新情報を受信した場合に、誤り訂正のチェックを行い、誤りを検出すると、前記ルーティング処理部に前記ルーティングテーブル更新情報の再送要求を行うことを特徴とする請求項１７記載のルーティングテーブル更新方法。
【請求項２０】
前記ルーティング処理部が、前記回線部から前記ルーティングテーブル更新情報の正常受信の通知を受けると前記第１の更新先領域を新しい第１の参照先領域にし前記第１の参照先領域を新しい第１の更新先領域にすることを特徴とする請求項１７記載のルーティングテーブル更新方法。
【請求項２１】
前記回線部が、前記切替指示を受信すると他装置から受信したパケットをセル化してスイッチング先の回線部に送信中の場合にはそのパケット送信終了後に切り替えることを特徴とする請求項１７記載のルーティングテーブル更新方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ルーティングテーブル更新方式および方法に関し、特に、パケットをセル化してスイッチングするルータ装置が自装置の各回線部に設けたルーティングテーブルを更新するルーティングテーブル更新方式および方法に関する。
【０００２】
【従来の技術】
インターネットトラフィックが爆発的な増加をみせるなか、ＩＳＰ（Ｉｎｔｅｒｎｅｔ  Ｓｅｒｖｉｃｅ  Ｐｒｏｖｉｄｅｒ）のバックボーン容量はギガビット級の回線が導入されつつある。しかし、回線容量を増やしただけではネットワークのボトルネックの解消にはならず、トラフィックが集中する場所においては数百ギガビット以上のスイッチング容量をもつ高速ルータの導入が進んでいる。この高速ルータは従来のルータのボトルネックとなる部分を改良し、データ転送速度の高速化を図っているのが特徴である。この高速化の手法について以下に説明する。  従来型のルータの構成を図１０に示す。ルータ２は、プロセッサ２１と、ルーティングテーブル２２と、バッファメモリ２３と、各回線部２４と、更にこれらを接続する共有バス２５とからなり、このうち各回線部２４をのぞいた各構成部分はルータ１全体で共有されている。
【０００３】
図１０におけるルータ２の動作を、以下に簡潔に説明する。
回線から各回線部２４によって受信されたパケットは、共有バス２５を経由してバッファメモリ２３に格納される。プロセッサ２１は、バッファメモリ２３に格納されたパケット、例えばＩＰパケットであればヘッダから送信先の回線を決定する。送信先が決定されたパケットは、格納されていたバッファメモリ２３から、共有バス２５を経由して送信先の回線部２４へと出力される。送信先を決定する際、プロセッサ２１はネットワークの経路情報を記述したルーティングテーブル２２を参照する。すなわち、ルータ２のプロセッサ２１は、各回線部２４が受信したすべてのパケット１つ１つに対してこれら一連の処理を行っている。従って、ネットワーク（回線）上のトラフィックが増加し、各回線部２４の受信するパケット数が大幅に増加した場合には、共有部分をルータ１内で競合して使用することとなるためにルータ１のパフォーマンスの低下を引き起こす原因となっていた。
【０００４】
また、ルータ２では、ルーティング処理をソフトウェアによって行っていたため、ルーティング処理がルータ２を高速化するうえでのボトルネックのひとつになっていた。つまり、ルータ２では、受信したパケット毎にルーティングテーブル２３の検索やスケジューリング、統計といった処理をプロセッサ２１によるソフトウェア処理で行っていたため、トラフィックの増加によりルータ２のプロセッサ２１に負荷がかかった場合では、ソフトウェアによるルーティング処理ではパケットに対する十分な処理が行えずに、ルータ２のパフォーマンス低下を引き起こしていた。
【０００５】
これらのボトルネックを解決する方法として、近年のルータでは、ルーティング処理を高速化するために各回線部にルーティングテーブルを持たせ、ルーティング処理を分散化し高速化を実現しているものがある。この高速ルータの動作を図１１をもとにして簡潔に説明する。
【０００６】
図１１において、ルータ３は、ルーティング処理部３１と、ルーティングテーブル３２と、スイッチ部３３と、各回線部３４とからなり、従来のルータでボトルネックとなりがちであった部分の高速化を図っている。
【０００７】
従来、共有バス形式であったスイッチの方式を、クロスバ・スイッチや共有メモリ方式といった内部でブロッキングの生じない方式に変更している。また、ソフトウェアによって行っていたルーティング処理を、各回線部３４に設けられた専用のパケット処理部３４１により行い、ハードウェアにより高速化を図っている。更に、ルーティングテーブル３２の参照方式にも変更が加えられている。受信したパケット毎に参照されていたルーティングテーブル３２と同一内容のものを、各回線部３４内のルーティングテーブル３４２へコピーし、パケット転送処理時の経路決定の際には各回線部３４内のテーブル３４２を参照する。これにより、ルーティング処理部３１が受信した全パケット毎にルーティングテーブル３２を参照することがなくなり、処理の高速化が図れるようになった。この構成例では、ルーティング処理部３１はルーティング情報の更新・生成のみを行い、ルーティングテーブル３２が更新されると各回線部３４に設けられたルーティングテーブル３４２に対して更新情報の配布を行う。
【０００８】
【発明が解決しようとする課題】
しかしながら、スイッチ部３３と各回線部３４間のデータにルーティングテーブルの更新情報を多重化するような方式の場合、キューの待ち合わせや各回線の使用状況により、ルーティングテーブルの更新情報が同時に配布されないといった問題が生じる。
【０００９】
また、各回線部３４とルーティング処理部３１間にルーティング情報を配布するための専用の通知手段を設けるとしても、回線部３４のパケット処理部３４１が同時にルーティングテーブルの更新を行うとは限らない。ルーティングテーブルが同時に更新されない場合の問題点を、図１１と図１２とを用いて以下に説明する。
【００１０】
図１１のルータ３は、回線部３４−１において受信したパケットを固定長のデータ（以下、セルと呼ぶ）に分割してスイッチ部３３へ送信している。送信されたセルは、スイッチ部３３においてルーティングテーブルの経路情報にしたがい、出力先の回線部３４−４へと出力され、回線部３４−４にて再度パケットに組み立てられた後、回線へと送信される。この際、回線部３４−１のもつルーティングテーブルと、スイッチ部３３が参照するルーティングテーブルと同期していないと、入力されたパケットが誤った回線に送出されてしまう。また、同期がとれていたとしても、パケットが回線部３４−１からスイッチ部３３へ送信されている間にルーティングテーブルが更新されると、先に送出されたセルＣ１，Ｃ２，Ｃ３，Ｃ４と、更新後のセルＣ５の送出先が変更されてしまうことになり、パケットが分断され、パケットロスを引き起こすという問題点が発生する。
【００１１】
従って、ルータ内にて何らかの方式によりこの問題を解決する必要がある。すなわち、本発明の目的は、上記問題点を鑑み、ルーティングテーブルの更新情報発生時に、ルータ内の各回線部のルーティングテーブルを一斉に更新し、装置内でパケットが失われないようにすることにある。
【００１３】
【課題を解決するための手段】
上記の目的を達成するために、本発明の第１のルーティングテーブル更新方式は、パケットをセル化してスイッチングするルータ装置が自装置内の各回線部に設けたルーティングテーブルを更新するルーティングテーブル更新方式において、前記ルータ装置は、前記回線部毎に前記ルーティングテーブルを参照用ルーティングテーブルおよび更新用ルーティングテーブルとして格納する格納手段と、前記回線部が経路情報の変更を通知するルーティングプロトコルパケットを受信した場合に、前記ルーティングプロトコルパケットを基に作成したルーティングテーブル更新情報から前記各回線部の前記更新用ルーティングテーブルの内容を更新してその更新した更新用ルーティングテーブルを新しい参照先ルーティングテーブルとして前記ルーティングテーブルの参照先を前記各回線部同時に切り替える切替手段と、受信した前記ルーティングプロトコルパケットを基に前記各回線部に対する前記ル−ティングテーブル更新情報を作成して配布する配布手段と、前記ルーティングテーブル更新情報が前記各回線部に正しく配布されたかどうかを確認する確認手段と、前記ルーティングテーブル更新情報が前記回線部に正しく配布された場合に前記ルーティングテーブルの参照先の切替指示を行う切替指示手段とを有することを特徴としています。
【００１４】
パケットをセル化してスイッチングするルータ装置が自装置内の各回線部に設けたルーティングテーブルを更新するルーティングテーブル更新方式において、前記ルータ装置は、前記回線部毎に前記ルーティングテーブルを参照用ルーティングテーブルおよび更新用ルーティングテーブルとして格納する格納手段と、前記回線部が経路情報の変更を通知するルーティングプロトコルパケットを受信した場合に、前記ルーティングプロトコルパケットを基に作成したルーティングテーブル更新情報から前記各回線部の前記更新用ルーティングテーブルの内容を更新してその更新した更新用ルーティングテーブルを新しい参照先ルーティングテーブルとして前記ルーティングテーブルの参照先を前記各回線部同時に切り替える切替手段と、受信した前記ルーティングプロトコルパケットを基に前記各回線部に対する前記ル−ティングテーブル更新情報を作成して前記回線部毎に保存する保存手段と、前記回線部毎に保存したルーティングテーブル更新情報を前記回線部別に配布する配布手段と、前記ルーティングテーブル更新情報が前記各回線部に正しく配布されたかどうかを確認する確認手段と、前記ルーティングテーブル更新情報が前記回線部に正しく配布された場合に前記ルーティングテーブルの参照先の切替指示を行う切替指示手段とを有することを特徴としています。
【００１５】
更に、上記の第１または第２のルーティングテーブル更新方式において、前記切替手段は、受信したパケットをセル化してスイッチング先の回線部に送信中の場合にはそのパケット送信終了後に切り替えることを特徴としている。
【００１６】
更に、上記の第１または第２のルーティングテーブル更新方式において、前記格納手段は、同一メモリ内に参照用ルーティングテーブルおよび更新用ルーティングテーブルを割り付けることを特徴としている。
【００１７】
更に、上記の第１または第２のルーティングテーブル更新方式において、前記格納手段は、参照用ルーティングテーブルを第１のメモリに更新用ルーティングテーブルを第２のメモリにそれぞれ割り付けることを特徴としている。
【００１８】
更に、上記の第１または第２のルーティングテーブル更新方式において、前記ルータ装置は、前記ルーティングテーブル更新情報が前記回線部に正しく配布されなかった場合に正しく配布されなかった回線部に対して前記ルーティングテーブル更新情報の再送を行う再送手段を有することを特徴としている。
【００１９】
更に、上記の第１または第２のルーティングテーブル更新方式において、前記ルーティングテーブル更新情報は、前記回線部に対応するルーティングテーブルの全情報であることを特徴としている。
【００２０】
更に、上記の第１または第２のルーティングテーブル更新方式において、前記ルーティングテーブル更新情報は、前記回線部に対応するルーティングテーブル内の変更部分を示す情報であることを特徴としている。
【００２１】
また、本発明の第３のルーティングテーブル更新方式は、パケットをセル化してスイッチングするルータ装置が第１のルーティングテーブルを有するルーティング処理部と前記第１のルーティングテーブルを基に作成された第２のルーティングテーブルを有する複数の回線部とを備え、ルーティングプロトコルパケットにより前記第１および第２のルーティングテーブルの更新を行うルーティングテーブル更新方式において、前記第１のルーティングテーブルを参照用として確保した第１の参照先領域と更新用として確保された第１の更新先領域とを有する第１の領域確保手段と、前記回線部毎に前記第２のルーティングテーブルを参照用として確保した第２の参照先領域と更新用として確保した第２の更新先領域とを有する第２の領域確保手段とを備え、前記ルーティング処理部は、前記ルーティングプロトコルパケットにより前記第１の更新先領域の前記第１のルーティングテーブルの更新を行うと、前記第１の更新先領域の前記第１のルーティングテーブルを基に各回線部に対応するルーティングテーブル情報を作成して前記回線部に送信する送信手段と、前記第１の更新先領域の前記第１のルーティングテーブルの更新を行うと、前記第１の更新先領域を新しい第１の参照先領域にし前記第１の参照先領域を新しい第１の更新先領域にする第１の切替手段と、前記回線部から前記ルーティングテーブル更新情報の正常受信の通知を受けると前記回線部に前記第２の参照先領域と前記第２の更新先領域との切替指示を行う切替指示手段とを有し、前記回線部は、前記ルーティング情報を正常に受信した場合に前記第２の更新先領域に格納する格納手段と、前記格納し終わると前記ルーティング処理部に前記正常受信の通知を行う通知手段と、前記切替指示を受信すると第２の更新先領域を新しい第２の参照先領域にし前記第２の参照先領域を新しい第２の更新先領域にする第２の切替手段とを有することを特徴としている。
【００２２】
また、本発明の第４のルーティングテーブル更新方式は、パケットをセル化してスイッチングするルータ装置が第１のルーティングテーブルを有するルーティング処理部と前記第１のルーティングテーブルを基に作成された第２のルーティングテーブルを有する複数の回線部とを備え、ルーティングプロトコルパケットにより前記第１および第２のルーティングテーブルの更新を行うルーティングテーブル更新方式において、前記第１のルーティングテーブルを参照用として確保した第１の参照先領域と更新用として確保された第１の更新先領域とを有する第１の領域確保手段と、前記回線部毎に前記第２のルーティングテーブルを参照用として確保した第２の参照先領域と更新用として確保した第２の更新先領域とを有する第２の領域確保手段とを備え、前記ルーティング処理部は、前記ルーティングプロトコルパケットにより前記第１の更新先領域の前記第１のルーティングテーブルの更新を行うと、前記第１の更新先領域の前記第１のルーティングテーブルを基に各回線部に対応するルーティングテーブル情報を作成して前記回線部毎に保存する保存手段と、前記回線部毎に保存したルーティング更新情報を前記回線別毎に送信する送信手段と、前記第１の更新先領域の前記第１のルーティングテーブルの更新を行うと、前記第１の更新先領域を新しい第１の参照先領域にし前記第１の参照先領域を新しい第１の更新先領域にする第１の切替手段と、前記回線部から前記ルーティングテーブル更新情報の正常受信の通知を受けると前記回線部に前記第２の参照先領域と前記第２の更新先領域との切替指示を行う切替指示手段とを有し、前記回線部は、前記ルーティング情報を正常に受信した場合に前記第２の更新先領域に格納する格納手段と、前記格納し終わると前記ルーティング処理部に前記正常受信の通知を行う通知手段と、前記切替指示を受信すると第２の更新先領域を新しい第２の参照先領域にし前記第２の参照先領域を新しい第２の更新先領域にする第２の切替手段とを有することを特徴としている。
【００２３】
更に、上記の第３または第４のルーティングテーブル更新方式において、前記第２の切替手段は、前記切替指示を受信した場合に受信したパケットをセル化してスイッチング先の回線部に送信中の場合にはそのパケット送信終了後に切り替えることを特徴としている。
【００２４】
更に、上記の第３または第４のルーティングテーブル更新方式において、前記第２の領域確保手段は、前記各回線部内の同一メモリに第２の参照先領域と第２の更新先領域とを割り付けていることを特徴としている。
【００２５】
更に、上記の第３または第４のルーティングテーブル更新方式において、前記第２の領域確保手段は、前記各回線部内の第１のメモリに第１の参照先領域と前記各回線部内の第２のメモリに第２の更新先領域とを割り付けていることを特徴としている。
【００２６】
更に、上記の第３または第４のルーティングテーブル更新方式において、前記回線部は、前記ルーティングテーブル更新情報を正常に受信しない場合に再送要求を行う再送要求手段とを有し、前記ルーティング処理部は、前記再送要求を受信した場合に前記再送要求のあった回線部に前記ルーティングテーブル更新情報の再送を行う再送手段とを有することを特徴としている。
【００２７】
更に、上記の第３または第４のルーティングテーブル更新方式において、前記ルーティングテーブル更新情報は、前記回線部に対応するルーティングテーブルの全情報であることを特徴としている。
【００２８】
更に、上記の第３または第４のルーティングテーブル更新方式において、前記ルーティングテーブル更新情報は、前記回線部に対応するルーティングテーブル内の変更部分を示す情報であることを特徴としている。
【００３０】
また、本発明の第１のルーティングテーブル更新方法は、パケットをセル化してスイッチングするルータ装置が第１のルーティングテーブルを有するルーティング処理部と前記第１のルーティングテーブルを基に作成された第２のルーティングテーブルを有する複数の回線部とを備え、ルーティングプロトコルパケットにより前記第１および第２のルーティングテーブルの更新を行うルーティングテーブル更新方法であって、前記ルータ装置内に前記第１のルーティングテーブルを参照用として確保した第１の参照先領域と更新用として確保された第１の更新先領域とを準備し、前記回線部内に前記第２のルーティングテーブルを参照用として確保した第２の参照先領域と更新用として確保した第２の更新先領域とを準備し、前記ルーティング処理部が、前記ルーティングプロトコルパケットにより前記第１の更新先領域の前記第１のルーティングテーブルの更新を行うと前記第１の更新先領域の前記第１のルーティングテーブルを基に各回線部に対応するルーティングテーブル更新情報を作成して前記回線部に送信し、前記回線部が、前記ルーティングテーブル更新情報を正常に受信した場合に前記第２の更新先領域に前記ルーティングテーブル更新情報を格納し、格納し終わると前記ルーティング処理部に前記正常受信の通知を行い、前記ルーティング処理部が、前記回線部から前記ルーティングテーブル更新情報の正常受信の通知を受けると前記回線部に前記第２の参照先領域と前記第２の更新先領域との切替指示を行い、前記回線部が、前記切替指示を受信すると第２の更新先領域を新しい第２の参照先領域にし前記第２の参照先領域を新しい第２の更新先領域にすることを特徴としている。
【００３１】
更に、上記の第１のルーティングテーブル更新方法において、前記ルーティング処理部が前記ルーティングテーブル更新情報を前記回線部に送る場合に、誤り訂正符号を付加して送信することを特徴としている。
【００３２】
更に、上記の第１のルーティングテーブル更新方法において、前記回線部が前記ルーティングテーブル更新情報を受信した場合に、誤り訂正のチェックを行い、誤りを検出すると、前記ルーティング処理部に前記ルーティングテーブル更新情報の再送要求を行うことを特徴としている。
【００３３】
更に、上記の第１のルーティングテーブル更新方法において、前記ルーティング処理部が、前記回線部から前記ルーティングテーブル更新情報の正常受信の通知を受けると前記第１の更新先領域を新しい第１の参照先領域にし前記第１の参照先領域を新しい第１の更新先領域にすることを特徴としている。
【００３４】
更に、上記の第１のルーティングテーブル更新方法において、前記回線部が、前記切替指示を受信すると他装置から受信したパケットをセル化してスイッチング先の回線部に送信中の場合にはそのパケット送信終了後に切り替えることを特徴としている。
【００３５】
【発明の実施の形態】
次に、本発明の第１の実施の形態例について図面を参照して説明する。
図１を参照すると、本発明の第１の実施の形態の構成例におけるパケットをセル化してスイッチングするルータ装置であって、そのルータ装置であるルータ１は、ルーティング処理部１１と、メモリ１２と、スイッチ部１３と、回線部１４と、回線部１４から他のルータとの通信のやり取りを行うための回線である回線１００とから構成される。
【００３６】
ルータ１は、専用のプロトコルを使って経路情報の変更に関する情報を調べている。これらの経路情報の変更を通知するプロトコルは、ルーティングプロトコルと呼ばれ、パケットの中継を行う機器同士が、隣接するネットワークの第３層アドレス情報を交換するために使う。代表的なものとしては、ＲＦＣ（Ｒｅｑｕｅｓｔ  Ｆｏｒ  Ｃｏｍｍｅｎｔｓ）１０５８に記述されているＲＩＰ（Ｒｏｕｔｉｎｇ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）や、ＲＦＣ１５８３のＯＳＰＦ（Ｏｐｅｎ  Ｓｈｏｒｔｅｓｔ  Ｐａｔｈ  Ｆｉｒｓｔ）、ＲＦＣ１７７１のＢＧＰ−４（Ｂｏｒｄｅｒ  Ｇａｔｅｗａｙ  Ｐｒｏｔｏｃｏｌ  ４）といったものがある。なお、ＲＦＣは、インターネットの研究開発機関、ＩＥＴＦ（Ｉｎｔｅｒｎｅｔ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｔａｓｋ  Ｆｏｒｃｅ）によりインターネット上のサーバにおいて公開されている文書で、内容毎に番号が付加されているものである。
【００３７】
ルーティング処理部１１は、図示していないプロセッサによりプログラム制御で動作し、時間を監視する図示していないタイマー２つ（この場合の２つのタイマーをタイマー１１１とタイマー１１２とする）を有している。
【００３８】
また、ルーティング処理部１１は、近隣のルータから回線１００経由で受信したルーティングプロトコルパケットをもとに経路情報であるルーティングテーブルの作成を行い、メモリ１２のルーティングテーブル更新用領域に更新されたルーティングテーブルを書き込む。ルーティング処理部１１は、同時に、各回線部１４に対して、ルーティングテーブル更新情報を送信する。ルーティング処理部１１は、各回線部１４にルーティングテーブル更新情報を送信する際、ＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ）などの誤り訂正符号を付加して送信することにより、情報の保護を行う。
【００３９】
ルーティング処理部１１からルーティングテーブル更新情報を受信した各回線部１４は、ルーティングテーブル更新情報に付加されている誤り訂正符号を用いて、付加されていたＣＲＣと受信したルーティングテーブル更新情報から計算したＣＲＣの結果との間に誤りがないかどうか確認する。誤りがなかった場合には、各回線部１４内のルーティングテーブル更新用領域に更新されたルーティングテーブルを書き込む。その後、各回線部１４は、ルーティング処理部１１に対して正常受信通知信号を通知する。誤りがあることが判明した場合には、各回線部１４は、再送要求をルーティング処理部１１に通知する。ルーティング処理部１１は回線部１４から再送要求があった場合、再度ルーティングテーブル更新情報を該当する回線部１４に対して送信する。
【００４０】
各回線部１４からルーティングテーブル更新情報の正常受信通知信号を受け取ったルーティング処理部１１は、各回線部１４に対してルーティングテーブルの参照先を更新された物に切り替えるよう指示を出すとともに、同時に自身のルーティングテーブルの参照先も更新されたものに切り替える。切替が行われた後、パケットのルーティングを再開する。
【００４１】
図２を参照すると、図１の各回線部１４の詳細なブロック図を示しており、回線部１４は、パケット処理部１４１と、バッファ１４２と、メモリ１４３と、振り分け部１４４と、テーブル制御部１４５と、パケット送信部１４６とから構成される。
【００４２】
なお、経路変更を伴わないパケットを受信したルータ１は、以下のように流れる。
すなわち、回線部１４においてバッファ１４２を介してパケットを受信したパケット処理部１４１が受信パケットから送信先を決定するためにメモリ１４３内にあるルーティングテーブルを検索することにより経路を決定し、受信したパケットをセルに分割（本例では、パケットをセルに分割することを多重化したパケットと称す）してスイッチ部１３へ送信する。送信されたセルは、スイッチ部３３において送信元の回線部１４からの経路情報にしたがい、出力先（経路先）の回線部１４へと出力される。更に、回線部１４の振り分け部１４４を介してセル（多重化したパケットから獲得）を受信したパケット送信部１４６が、セルを再度パケットに組み立てられた後、回線１００へと送信する。
【００４３】
次に、図１〜図５を用いて、更に詳しく本発明の第１の実施の形態例の動作を説明する。
【００４４】
回線部１４は、隣接するルータから回線１００経由でパケットを受信した際に、ルーティングプロトコルパケットと認識されたパケットをルーティング処理部１１に転送する。ルーティング処理部１１は、受信したルーティングプロトコルパケットを基に経路情報を作成し、ルーティングテーブルの更新部分を計算する。更新されたルーティングテーブルをメモリ１２のルーティングテーブル更新用領域に書き込む。スイッチ部１３が接続を決定するルーティングテーブルの参照先は、各回線部１４のルーティングテーブルを切り替えるのと同時に更新されたものに変更する。つまりメモリ１２は、ルーティングテーブルを２つ格納するのに十分な容量を持ち、その領域をそれぞれメモリバンク＃０、＃１とする。ルーティングテーブルの更新が行われるまではルーティングテーブルの参照先をメモリ１２のバンク＃０とし、各回線部１４への切替通知とともに参照先をメモリ１２のバンク＃１とする。ルーティングテーブルの参照先の切替が行われた後は、今度はメモリバンク＃０をルーティングテーブル更新用領域とし、ルーティング処理部１１はルーティングテーブル更新の度にこの動作を繰り返す。
【００４５】
次にルーティング処理部１１は、各回線部１４に対して配布するルーティングテーブル更新情報を作成する。このルーティングテーブル更新情報には、ＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ）といった誤り訂正符号を付加することにより、情報の信頼性を高める。やがて、ルーティング処理部１１は、各回線部１４に設けられたルーティングテーブル変更用のルーティングテーブル更新情報を作成すると、各回線部１４に対してルーティングテーブル更新情報を送信する。
【００４６】
この場合のルーティングテーブル更新情報送信時のルーティング処理部１１の動作を、図３のフローチャートを用いて説明する。
ルーティングテーブル更新情報を作成した後、ルーティング処理部１１は、各回線部１４に対してルーティングテーブル更新情報を送信する（ステップＳ１）。次に、ルーティング処理部１１は、各回線部１４に対してルーティングテーブル更新情報を送信した回数が１回目か、それ以降かを確認する（ステップＳ２）。送信回数が１回目である場合には、ルーティング処理部１１は、タイマー１１１をスタートさせ（ステップＳ３）、各回線部１４からの再送要求信号を待ち受ける（ステップＳ４）。ルーティング処理部１１は、時間Ｔ１になるようにセットしたタイマー１１１により再送要求信号の待ち受け時間を計測し、あらかじめ設定してあった待ち受け時間Ｔ１内に、再送要求信号を受信しなかった場合には、正常受信通知信号を各回線部１４から受信したか確認する（ステップＳ５）。待ち受け時間Ｔ１内に再送要求信号を受信した場合には、ルーティング処理部１１は、再度ルーティングテーブル更新情報を該当する回線部１４に対して送信する（ステップＳ１）。一方、ステップＳ５において、ルーティング処理部１１は、各回線部１４からの正常受信通知信号を受信した場合には、切替処理へと移行し（ステップＳ６）、受信できなかった場合には、再度ルーティングテーブル更新情報を該当する回線部１４に送信する（ステップＳ１）。
【００４７】
１回の送信で、正常受信通知信号を受信できない回線部１４が存在する場合、ルーティング処理部１１は、該当する回線部１４に対して、再度ルーティングテーブル更新情報を送信する（ステップＳ１）。次に、ルーティング処理部１１は、各回線部１４に対するルーティングテーブル更新情報の送信回数が１回目であるか否かを確認する（ステップＳ２）。２回目以降であった場合、ルーティング処理部１１は、時間Ｔ２になるようにセットしたタイマー１１２をスタートさせる（ステップＳ７）。ルーティング処理部１１は、タイマー１１２の計測時間があらかじめ設定してあった待ち受け時間Ｔ２を超えないうちに、該当する各回線部１４から再送要求信号を受信するか確認する（ステップＳ８）。待ち受け時間Ｔ２内に再送要求信号を受信した場合、ルーティング処理部１１は、ルーティングテーブル更新情報を再送した回数が、あらかじめ設定されていた再送回数Ｎ以下であるか確認し（ステップＳ１０）、再送回数Ｎ（Ｎは、正の整数を示す）以下である場合にはタイマー１１２をリセットし（ステップＳ１２）、ルーティングテーブル更新情報を再送する（ステップＳ１）。
【００４８】
タイマー１１２の計測時間があらかじめ設定してあった待ち受け時間Ｔ２を超えても再送要求信号を受信しなかった場合、ルーティング処理部１１は、各回線部１４からの正常受信通知信号を確認する（ステップＳ９）。正常受信通知信号を受信できた場合には、ルーティング処理部１１は、切替処理に移行する（ステップＳ６）。受信できなかった場合、ルーティング処理部１１は、あらかじめ設定しておいたタイマー１１１の待ち受け時間Ｔ１もしくはあらかじめ設定しておいた再送回数Ｎを超えたか確認する（ステップＳ１０）。これらタイマーの２つの設定値のうち、どちらか一つもしくは二つを超えた場合には、ルーティング処理部１１は、該当する回線部１４が故障と判断し（ステップＳ１１）、正常にルーティングテーブル更新情報が受信された回線部１４のみ切替対象として切替動作に移る。
【００４９】
次に、ルーティングテーブル切替時の各回線部１４の動作を、図２を参照して説明する。
回線２００からの受信方向としては、回線部１４は、回線２００から受信したパケットを一時的に保持することが可能なバッファ１４２と、パケット経路の決定、およびパケットのＴＴＬ（Ｔｉｍｅ  ｔｏ  Ｌｉｖｅ）値の減算、チェックサムの計算などルーティング時に必要な処理を行いスイッチ部１３へ送信するパケット処理部１４１とを備え、受信したパケットの転送処理を行う。回線への送信方向としては、回線部１４は、スイッチ部１３から多重して送信されてくるパケットとルーティングテーブル更新情報とを振り分ける振り分け部１４４と、回線にパケットを送信するための処理を行うパケット送信部１４６と、ルーティングテーブル更新のためのメモリ１４３を制御するテーブル制御部１４５とからなる。
【００５０】
ルーティング処理部１１により作成されたルーティングテーブル更新情報は、スイッチ部１３を経由して各回線部１４の振り分け部１４４に送信される。この場合、ルーティング処理部１１は、ルーティングテーブルの更新情報に誤り訂正符号（例えば、ＣＲＣ）を付加して各回線部１４に送信する。回線部１４の振り分け部１４４にて、ルーティングテーブル更新情報と認識されたデータは、テーブル制御部１４５に送信される。それ以外のパケットは、パケット送信部１４６送られ、パケット送信部１４６は、必要に応じてメモリ１４３のルーティングテーブルを参照して、必要な処理を行った後、回線に送信する。
【００５１】
この場合のパケット処理部１４１およびパケット送信部１４６は、ルーティング処理部１１からの切替信号により参照するルーティングテーブルを決定（今までの更新用ルーティングテーブルを参照先ルーティングテーブルとする）し、また、テーブル制御部１４５は、メモリ１４３のルーティングテーブル更新用領域に更新されたルーティングテーブルの書き込みを行う。更に、テーブル制御部１４５は、ルーティング処理部１１に対してルーティングテーブル更新情報の正常受信通知信号、再送要求信号を通知する機能を持つ。
【００５２】
各回線部１４におけるルーティングテーブル更新情報受信時の動作について、図４のフローチャートを用いて説明する。
テーブル制御部１４５は、配布されたルーティングテーブル更新情報情報に誤りが生じていないかをルーティングテーブル更新情報に付加されていたＣＲＣによりチェックし（ステップＳ２１）、配布された情報に誤りがない場合には、メモリ１４３内のルーティングテーブル更新用領域に更新されたルーティングテーブルを書き込む（ステップＳ２２）。次に、切替時にパケットが途中で分断されることを防ぐために、テーブル制御部１４５は、バッファからのパケット読み出しの停止処理を行う。まず、テーブル制御部１４５は、パケット処理部１４１に対して、バッファ停止命令を発行する（ステップＳ２３）。バッファ停止の命令を受信したパケット処理部１４１は、後述するバッファ停止処理を行い（ステップＳ２４）、バッファ１４２を停止させた後、テーブル制御部１１に対してバッファ停止を通知する。パケット処理部１４１からのバッファ停止を受信したことを確認し（ステップＳ２５）、テーブル制御部１４５は、ルーティング処理部１１に対して正常受信通知信号を用いて、ルーティングテーブル更新情報が正しく受信されたことを通知する（ステップＳ２６）。最後に、テーブル制御部１４５は、ルーティングテーブル切替処理に入る（ステップＳ２７）。ステップＳ２１において受信したルーティングテーブル更新情報に誤りがあることが判明した場合には、テーブル制御部１４５は、再送要求信号を用いて、ルーティングテーブルの再送要求をルーティング処理部１１に通知する（ステップＳ２８）。
【００５３】
次に、ルーティングテーブルを格納するメモリ１４３に関する動作について説明する。
メモリ１４３は、ルーティングテーブルを２つ格納するのに十分な容量を持ち、各回線部１４のパケット処理部１４１、パケット送信部１４６は、ルーティング処理部１１からの切替通知信号によりパケットをスイッチに転送する際のルーティングテーブル参照先を変更する。つまり、メモリ１４３内を２つの領域とみなし、それぞれの領域をメモリバンク＃０、＃１とする。パケット処理部１４１、テーブル制御部１４５、パケット送信部１４６がルーティング処理部１１から切替通知を受信するまでは、メモリバンク＃０を受信パケット転送時のルーティングテーブル参照先とし、メモリバンク＃１は更新されたルーティングテーブルの格納先、ルーティングテーブル更新用領域として予約しておく。ルーティングテーブル更新情報を受け取ったテーブル制御部１４５は、更新されたルーティングテーブルをメモリバンク＃１（ルーティングテーブル更新用領域）へ格納する。
【００５４】
ルーティング処理部１１からの切替信号を受信した後は、受信パケット転送時のルーティングテーブル参照先を今度は新しいルーティングテーブルが格納されたメモリバンク＃１とし、メモリバンク＃０を更新されたルーティングテーブルの格納先、ルーティングテーブル更新用領域とする。テーブル制御部１４５は、ルーティングテーブルの更新のたびにこの動作を繰り返すことになる。
【００５５】
次に、バッファ停止時のパケット処理部１４１とバッファ１４２の動作を説明する。バッファ１４２は、送信するパケットが途中で分断されることを防ぐため、以下のような動作をする。バッファ１４２と、パケット処理部１４１間のパケット送信タイミング例を図５に示す。
【００５６】
図５を参照すると、バッファ１４２は、パケットをパケット処理部１４１に送信する際にパケットの先頭を送信すると同時に、パケット先頭信号を発生する。バッファ１４２は、バッファ１４２内のバッファからパケットを読み出し、パケット処理部１４１に送信している間（期間Ａ０〜Ａ１）はパケット送信信号を発生し、パケットの最後尾を送信すると同時にパケット送信信号の発生を終了する。また、バッファ１４２は、パケットの最後尾を送信すると同時にパケット最後尾信号を発生する。更に、図５を参照すると、図中の期間Ａ０〜Ａ１においては、バッファ１４２からパケット送信部１４１にパケットが送信されているので、ルーティングテーブルの参照先を切り替えることが出来ない。従って、バッファ１４２は、テーブル制御部１４５からのバッファ読み出し停止信号を期間Ａ０〜Ａ１で受信した場合には、パケットの最後尾まで送信した後にバッファ１４２内のバッファからのパケット読み出しを停止する。期間Ａ１〜Ａ２において、テーブル制御部１４５からのバッファ読み出し停止信号を受信した場合には、バッファ１４２は、自内のバッファからの読み出しを行わず、ルーティングテーブルの参照先を切り替えるまでバッファ１４２内にパケットを保持し、次のパケットの読み出しを停止しておく。
【００５７】
パケット処理部１４１は、バッファからのパケット読み出しを以上のとおり停止した後、テーブル制御部１４５にバッファ停止信号を通知する。バッファ停止信号を受信したテーブル制御部１４５は、正常受信通知信号をルーティング処理部１１に通知する。その後、ルーティング処理部１１は、ルーティングテーブルの切替信号を各回線部１４に対して通知し、各回線部１４は、前述のメモリの動作により参照先のルーティングテーブルの切替を行う。
【００５８】
すなわち、回線部１４は、ルーティング処理部１１から切替信号を受信した場合に、回線１００から受信したパケットをセル化してスイッチ部１３経由でスイッチング先（この場合のスイッチ先は、メモリ１４３の参照先領域のルーティングテーブルで検索し、経路を決定した相手先のこと）の回線部に送信中の場合にはそのパケット送信終了後にルーティングテーブルの切替を行うことになる。
【００５９】
ルーティングテーブルの参照先の切替が行われた後、パケット処理部１４１は、バッファ１４２からのパケットの読み出しを解除し、ルーティングを再開する。
【００６０】
次に、本発明の第２の実施の形態例について図面を参照して説明する。
本発明の第２の実施の形態は、第１の実施の形態例で用いた図１の構成と同じで、図１の各回線部１４内の構成点が第１の実施の形態と相違している。
【００６１】
図６を参照すると、回線部１４は、パケット処理部１４１と、バッファ１４２と、振り分け部１４４と、テーブル制御部１４５と、パケット送信部１４６と、メモリ１４７，１４８とから構成される。すなわち、第２の実施の形態は、回線部１４内のメモリ１４３がメモリ１４７，１４８に置き換わっている点で第１の実施の形態と相違している。
【００６２】
この場合の第２の実施の形態は、高価な高速大容量のメモリを使うよりも、容量の小さなメモリを２つ用いた方がシステムのコストを下げられる場合に有効な方法である。メモリを２つ搭載することで、片方のメモリをルーティングテーブルの参照に用い、片方のメモリに切替の為のルーティングテーブルを書き込むことが出来る。
【００６３】
次に、このメモリを２つ用いた本発明の第２の実施の形態例におけるメモリ１４７，１４８の切り替え動作を説明する。
【００６４】
テーブル制御部１４３が切替信号を受信するまではメモリ１４７をルーティングテーブルの参照先としておき、メモリ１４８をルーティングテーブル更新用領域とする。切替信号を受信した後、今度はルーティングテーブル参照先をメモリ１４８とし、メモリ１４７をルーティングテーブル更新用領域とし、この動作を、切替信号を受信する度に繰り返す。すなわち、第２の実施の形態における動作は、第１の実施の形態におけるメモリ１４３内のバンク＃０をメモリ１４７に、バンク＃１をメモリ１４８にそれぞれ置き換えれば良い。なお、その他の動作については、第１の実施の形態と同じなので説明を省略する。
【００６５】
上記で説明した第１および第２の実施の形態において、図１を参照すると、スイッチ部１３がパケットのマルチキャストもしくはブロードキャスト機能を持つ場合、ルーティング処理部１１が各回線部１４に送信するルーティングテーブル更新情報をこのマルチキャストもしくはブロードキャスト機能を使用することでルーティングテーブル更新情報配布時のルーティング処理部１１の負荷を低減することができる。つまり、ルータ１に収容される各回線部１４の数が増大するにつれ、ルーティング処理部１１が送信するルーティングテーブル更新情報の数も増えるため、送信時の処理が増え、その処理にともなう負荷も増加するためである。
【００６６】
次に、本発明の第３の実施の形態例について図面を参照して説明する。
図１のスイッチ部１３がマルチキャストもしくはブロードキャスト機能をもたない装置においては、図７のような構成をとることでルーティング処理部１１の処理を低減することができる。第３の実施の形態は、図１のルータ１内に、コピー部１５を追加した点で相違している。
【００６７】
すなわち、図７を参照すると、コピー部１５は、ルーティング処理部１１が各回線部１４に送信するルーティングテーブル更新情報を回線部１４の数だけコピーし、送信するようなハードウェアである。このとき、ルーティング処理部１１は、各回線部１４にルーティングテーブル更新情報を送信する際一度だけ送信処理を行えばよく、送信処理の負荷を低減することが可能である。ルーティング処理部１１から各回線部１４に対するルーティングテーブル更新情報を受信したコピー部１５は、スイッチ部１３に接続されている回線部１４の数だけルーティングテーブル更新情報をコピーし、各回線部１４に送信する。以上のような動作でマルチキャストもしくはブロードキャスト機能を持たないようなスイッチ構成でもルーティング処理部１１の負荷の低減が可能である。
【００６８】
次に、本発明の第４の実施の形態例について図面を参照して説明する。
図９を参照すると、ルータ１は、図示していないプロセッサによりプログラム制御で動作するルーティング処理部１６と、スイッチ部１３と、メモリ１２と、複数の回線部１４と、回線１００とから構成される。
【００６９】
図８を参照すると、回線部１４は、パケット処理部１４１と、バッファ１４２と、振り分け部１４４と、テーブル制御部１４９と、パケット送信部１４６と、メモリ１４３とから構成される。
【００７０】
本発明の第４の実施の形態は、図９のルーティング処理部１６および図８のテーブル制御部１４９が第１の実施の形態例の図１のルーティング処理部１１および図２のテーブル制御部１４５の構成点と相違している。すなわち、ルーティング処理部１６は、メモリ１２内のルーティングテーブルの更新の仕方およびルーティングテーブルの変更部分だけを回線部１４に送信する点で第１の実施の形態と相違し、テーブル制御部１４９は、パケット処理部１４１、パケット送信部１４６により参照されているルーティングテーブルの内容を、メモリ１４３のルーティングテーブル更新用領域にコピーし、更新前に内容を同期させている点で第１の実施の形態と相違している。
【００７１】
次に、図を参照して、本発明の第４の実施の形態の動作について第１の実施の形態の動作と食い違うところだけを説明する。
【００７２】
ルーティング処理部１６が送信するルーティングテーブル更新情報は、ルーティングテーブルの変更部分のみの配布とする。ルーティングテーブル更新情報受信時、各回線部１４内のテーブル制御部１４９は、図４のフローチャートにしたがい、ルーティングテーブルの変更部分のみをメモリ１４３のルーティングテーブル更新用領域に書きこむ。このとき、この更新用領域にはすでにルーティングテーブルの内容がコピーされているので、ルーティングテーブルの変更部分のみを書きこむだけで更新処理を終了することができる。前述のとおり、ルーティング処理部１６からの切替信号を受信した後、パケット処理部１４１、パケット送信部１４６はルーティングテーブルの参照先を新しいルーティングテーブルが格納された領域へと変更する。次の切替までの間、テーブル制御部１４９は、更新されたルーティングテーブルの内容を、メモリ１４３内の更新用領域に対してコピーし、内容を同期させておく。
【００７３】
図９におけるルーティング処理部１６の動作にも変更を加える。前述のテーブル制御部１４９と同じく、ルーティング処理部１６は、ルーティングテーブルの内容をメモリ１２内のルーティングテーブル更新用領域にコピーしておく。近隣のルータからルーティングプロトコルパケットを受信し、ルーティングテーブルを更新する際には、変更のあった部分のみをメモリ１２のルーティングテーブル更新用領域に書きこむ。このときすでにルーティングテーブルのコピーが行われているので、変更のあった部分のみを書きこむことで更新処理は終了する。前述の図８のテーブル制御部１４９の動作でも示したとおり、ルーティング処理部１６が参照先のルーティングテーブルを更新されたものに切り替えた後、次の切替までの間にルーティング処理部１６は更新されたルーティングテーブルの内容をメモリ１２のルーティングテーブル更新用領域にコピーし、参照されているルーティングテーブルの内容と更新用領域の内容を同期させておく。
【００７４】
以上のような図８および９で示す構成に変更することにより、本発明の第４の実施の形態は、ルーティングテーブル更新情報として、ルーティングテーブルの変更部分のみを各回線部１４に対して配布することが可能になる。これにより、更新されたルーティングテーブル全体を送信するのに比べ、送信するデータ量が減少するので、更新情報配布時におけるルーティング処理部１６の送信処理の低減が可能になり、またルーティングテーブル更新時のルーティング処理部１６、テーブル制御部１４９の書きこみ処理の負荷が減るといった利点が生じる。
【００７５】
【発明の効果】
以上、説明したように、本発明は、前記回線部毎にルーティングテーブルとして参照用ルーティングテーブルおよび更新用ルーティングテーブルを準備し、回線部が経路情報の変更を通知するルーティングプロトコルパケットを受信した場合に、ルーティングプロトコルパケットを基に作成したルーティングテーブル更新情報から各回線部の更新用ルーティングテーブルの内容を更新し、その更新した更新用ルーティングテーブルを新しい参照先ルーティングテーブルとしてルーティングテーブルの参照先を各回線部同時に切り替えるようにしているため、各回線部に設けられたルーティングテーブルを同時に更新することができ、装置内でパケットが失われることを防ぐことが出来るという効果がある。
【００７６】
また、本発明は、ルーティングテーブル更新情報にＣＲＣなどの誤り訂正符号を付加して各回線部に送信することにより、ルーティングテーブル更新情報が各回線部に正しく配布されたか否か確認でき、誤りが発見された場合に再送制御を行うことにより信頼性の高い配布が可能になるという効果がある。
【図面の簡単な説明】
【図１】本発明の第１または第２の実施の形態による構成を示すブロック図である。
【図２】第１の実施の形態における図１の各回線部の詳細な構成を示すブロック図である。
【図３】第１または第２の実施の形態における図１のルーティング処理部のルーティングテーブル更新情報送信時の動作を示すフローチャートである。
【図４】第１または第２の実施の形態における図１の各回線部のルーティングテーブル更新情報受信時の動作を示すフローチャートである。
【図５】図１のバッファにおけるバッファ読み出し停止指示の動作を示すタイムチャートである。
【図６】第２の実施の形態における図１の各回線部の詳細な構成を示すブロック図である。
【図７】本発明の第３の実施の形態による構成を示すブロック図である。
【図８】図９の各回線部の詳細な構成を示すブロック図である。
【図９】本発明の第４の実施の形態による構成を示すブロック図である。
【図１０】従来のルータの構成を示すブロック図である。
【図１１】従来の高速ルータの構成を示すブロック図である。
【図１２】パケットをセル化して送信する場合のルータ内のデータの流れを示す概略図である。
【符号の説明】
１，２，３    ルータ
１１，１６，３１    ルーティング処理部
１２，１４３，１４７，１４８    メモリ
１３，３３    スイッチ部
１４，２４，３４    回線部
１５    コピー部
２１    プロセッサ
２２，３２，３４２    ルーティングテーブル
２３    バッファメモリ
２５    共有バス
１００    回線
１４１，３４１    パケット処理部
１４２    バッファ
１４４    振り分け部
１４５，１４９    テーブル制御部
１４６    パケット送信部
【図１】
0003654176.tif 000002
【図２】
0003654176.tif 000003
【図３】
0003654176.tif 000004
【図４】
0003654176.tif 000005
【図５】
0003654176.tif 000006
【図６】
0003654176.tif 000007
【図７】
0003654176.tif 000008
【図８】
0003654176.tif 000009
【図９】
0003654176.tif 000010
【図１０】
0003654176.tif 000011
【図１１】
0003654176.tif 000012
【図１２】
0003654176.tif 000013