(57)【要約】【課題】大規模ネットワーク接続装置で、飛躍的に経路情報が増大し、それにともない経路情報を格納するメモリを大量消費し、処理性能も足りなくなってきている。【解決手段】レイヤ２とレイヤ３のそれぞれの経路情報に必要であった出力ポートを格納するメモリを、レイヤ２とレイヤ３で共通とし、出力ポートをＬ２Ｌ３共通出力ポートテーブル１５０Ａに格納し、メモリの削減を行う。【選択図】図７
2010011129.tif 000002
【特許請求の範囲】
【請求項１】
受信パケットを第１のヘッダとペイロードとに分割するパケット分割部と、前記第１のヘッダを第２のヘッダに変換し送信ポートを指定する経路処理部と、前記第２のヘッダと前記ペイロードとを連結して送信パケットを生成するパケット連結部と、指定された前記送信ポートから前記送信パケットを送信するネットワーク接続装置において、
前記経路処理部は、レイヤ２処理部とレイヤ３処理部とを含み、
前記送信ポートは、前記レイヤ２処理部と前記レイヤ３処理部とで共通な第１のメモリを参照して選択されていることを特徴とするネットワーク接続装置。
【請求項２】
請求項１に記載のネットワーク接続装置であって、
前記レイヤ２処理部は、レイヤ選択部と、レイヤ２検索部と、このレイヤ２検索部が検索するレイヤ２ＣＡＭとから構成され、
前記レイヤ３処理部は、レイヤ３検索部と、このレイヤ３検索部が検索するレイヤ３ＣＡＭと、このレイヤ３ＣＡＭのエントリと宛先ＭＡＣアドレスの対応を記憶する第２のメモリとから構成されるネットワーク接続装置。
【請求項３】
請求項２に記載のネットワーク接続装置であって、
前記レイヤ３処理部は、さらに前記エントリと前記第１のメモリのアドレスとを対応付ける第３のメモリを含んで構成されることを特徴とするネットワーク接続装置。
【請求項４】
請求項２に記載のネットワーク接続装置であって、
前記レイヤ３処理部は、さらに前記エントリと前記第２のメモリのアドレスとを対応付ける第４のメモリを含んで構成されることを特徴とするネットワーク接続装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク接続装置に係り、特にルータとＬＡＮスイッチの機能を備え、しかもメモリ規模を押えたネットワーク接続装置に関する。
【背景技術】
【０００２】
非特許文献１に記載されているように、Ｌ２（Layer 2）およびＬ３のレイヤ構造を持つ通信プロトコルを処理するネットワーク接続装置において、各レイヤのプロトコル処理は、それぞれ別に行われている。すなわち、Ｌ２のプロトコル処理では、Ｌ２の経路情報で宛先経路を決め、Ｌ３のプロトコル処理では、Ｌ３の経路情報で宛先経路が決める。すなわち、それぞれのレイヤに保存された経路情報により、プロトコル処理が行われている。
【０００３】
また、特許文献１は、Ｌ２処理部とＬ３処理部とが干渉しないパイプライン処理（並列処理）を開示している。さらに、特許文献２は、複数のレイヤの並列処理を開示している。
【０００４】
図１を参照して、従来のネットワーク接続装置の経路処理部を説明する。ここで、図１は従来の経路処理部のブロック図である。図１において、経路処理部４６０は、Ｌ２Ｌ３ヘッダ４３を入力されると、Ｌ２Ｌ３ヘッダ４６と、ポートセレクト信号４５を出力する。経路処理部４６０は、Ｌ２宛先取り出し部２００、経路設定部２１０、コード記憶部２１１、Ｌ２処理部２２０、Ｌ３宛先取り出し部２３０、Ｌ３処理部２４０、ポートセレクト２５０、ヘッダ作成部２６０で構成される。また、Ｌ２処理部２２０は、レイヤ選択部２２１、Ｌ２検索部２２２、Ｌ２ＣＡＭ（Content Addressable Memory）２２３、Ｌ２出力ポートテーブル２２４で構成される。さらに、Ｌ３処理部２４０は、Ｌ３検索部２４１、Ｌ３ＣＡＭ２４２、宛先ＭＡＣアドレステーブル２４３、Ｌ３出力ポートテーブル２４４で構成される。
【０００５】
Ｌ２宛先取り出し部２００は、入力されたＬ２Ｌ３ヘッダ４３からＬ２の宛先ＭＡＣアドレスを取り出す。Ｌ２宛先取り出し部２００は、Ｌ２Ｌ３ヘッダ４３をＬ３宛先取り出し部２３０に送信する。コード記憶部２１１は、経路設定する処理フローを格納する。経路設定部２１０は、経路情報を格納するメモリに経路情報を設定する。Ｌ２処理部２２０は、Ｌ２中継またはＬ３中継のレイヤ選択およびＬ２出力ポートを決める。Ｌ３宛先取り出し部２３０は、Ｌ３中継の場合にＬ３の宛先ＩＰアドレスを取り出す。Ｌ３処理部２４０は、Ｌ２ヘッダを書き換えるための宛先ＭＡＣアドレスとＬ３出力ポートを決める。ポートセレクト２５０は、Ｌ２出力ポートとＬ３出力ポートからポートセレクト信号４５を出力する。ヘッダ作成部２６０は、レイヤ情報２０と宛先ＭＡＣアドレスからＬ２Ｌ３ヘッダ４６を出力する。
【０００６】
Ｌ２処理部２２０において、レイヤ選択部２２１は、処理レイヤを選択する。Ｌ２検索部２２２は、Ｌ２宛先取り出し部２００で取り出した宛先ＭＡＣアドレスを用いてＬ２ＣＡＭ２２２を検索する。検索機能付きメモリであるＬ２ＣＡＭ２２３は、宛先ＭＡＣアドレス情報を格納する。Ｌ２出力ポートテーブル２２４は、Ｌ２中継のときに使うＬ２出力ポートを格納する。
【０００７】
Ｌ３処理部２４０において、Ｌ３検索部２４１は、Ｌ３宛先取り出し部２３０で取り出した宛先ＩＰアドレスを用いてＬ３ＣＡＭ２４２を検索する。検索機能付きメモリであるＬ３ＣＡＭ２４２は、宛先ＩＰアドレスを格納する。宛先ＭＡＣアドレステーブル２４３は、宛先ＭＡＣアドレスを格納する。Ｌ３出力ポートテーブル２４４は、Ｌ３中継のときに使うＬ３出力ポートを格納する。
【０００８】
大規模ネットワークで宛先が激増した場合、Ｌ３ＣＡＭ２４２と宛先ＭＡＣアドレステーブル２４３とＬ３出力ポートテーブル２４４のメモリ容量が特に不足する。これは、ネットワーク接続装置が実装するポートは、最大１００ポート程度なのに対して、サーチするＩＰアドレスは１０＾６のオーダに達するからである。
【０００９】
経路処理部４６０の中継動作として、メモリを使用してどのようにネットワーク中継パケットのもとになるＬ２Ｌ３ヘッダ４６を作成するかを以下説明する。Ｌ２宛先取り出し部２００は、Ｌ２ヘッダ４１２から宛先ＭＡＣアドレスを取り出し、取り出した宛先ＭＡＣアドレスをＬ２検索部２２２とレイヤ選択部２２１に送信する。Ｌ２検索部２２２は、Ｌ２ＣＡＭ２２３について、Ｌ２検索部２２２が取り出した宛先ＭＡＣアドレスで検索し、検索結果から対象のエントリ番号を得る。Ｌ２検索部２２２は、エントリ番号からＬ２出力ポートテーブル２２４内の対象のＬ２出力ポートを得る。
【００１０】
また、レイヤ選択部２２１は、取り出された宛先ＭＡＣアドレスが自装置の宛先ＭＡＣアドレスか、他装置の宛先ＭＡＣアドレスかを判断する。レイヤ選択部２２１は、自装置の宛先ＭＡＣアドレスの場合はＬ３中継、他装置の宛先ＭＡＣアドレスの場合はＬ２中継となるレイヤ情報２０を作成する。レイヤ選択部２２１は、レイヤ情報２０を、Ｌ３宛先取り出し部２３０、ポートセレクト２５０、ヘッダ作成部２６０に送信する。ポートセレクト２５０は、レイヤ情報２０がＬ２中継の場合、先ほど求めたＬ２出力ポートを選択する。ポートセレクト２５０は、ポートセレクト信号４５として、Ｌ２検索部２２２が求めたＬ２出力ポートを設定する。
【００１１】
Ｌ３宛先取り出し部２３０は、レイヤ情報２０がＬ２中継とき、ヘッダ作成部２６０にＬ２Ｌ３ヘッダ４３を送信する。Ｌ３中継の場合、Ｌ３宛先取り出し部２３０は、Ｌ２宛先取り出し部２００より渡されたＬ２Ｌ３ヘッダ４３のＬ３ヘッダ４１３の一部である宛先ＩＰアドレスを取り出す。Ｌ３宛先取り出し部２３０は、取り出した宛先ＩＰアドレスをＬ３処理部２４０のＬ３検索部２４１に送信する。Ｌ３検索部２４１は、Ｌ３ＣＡＭ２４２について、Ｌ３宛先取り出し部２３０が取り出した宛先ＩＰアドレスで検索し、検索結果から対象のエントリ番号を得る。Ｌ３検索部２４１は、エントリ番号から宛先ＭＡＣアドレステーブル２４３内の対象の宛先ＭＡＣアドレスとＬ３出力ポートテーブル２４４内の対象のＬ３出力ポートを得る。Ｌ３検索部２４１は、ポートセレクト２５０にＬ３出力ポートを送信する。これらの結果、ポートセレクト２５０は、ポートセレクト信号４５にＬ３検索部２４１が求めたＬ３出力ポートが設定する。
【００１２】
さらに、ヘッダ作成部２６０は、レイヤ情報２０がＬ２中継とき、Ｌ３宛先取り出し部２３０からのＬ２Ｌ３ヘッダ４３の内容を変えずにそのままＬ２Ｌ３ヘッダ４６を作成する。ヘッダ作成部２６０は、レイヤ情報２０がＬ３中継とき、宛先ＭＡＣテーブル２４３内の対象の宛先ＭＡＣアドレスでＬ２ヘッダを更新し、Ｌ３ヘッダのＴＴＬとチェックサムを計算しなおし、Ｌ２Ｌ３ヘッダ４６を生成する。
【００１３】
経路処理部４６０による経路設定は、コード記憶部２１１の処理フローに従って設定する。具体的には、経路設定部２１０が、Ｌ２ＣＡＭ２２２とＬ２出力ポートテーブル２２４およびＬ３ＣＡＭ２４２と宛先ＭＡＣアドレステーブル２４３とＬ３出力ポートテーブル２４４に経路情報を設定する。
【００１４】
図２を参照して、従来のネットワーク接続装置におけるメモリへのＬ３経路情報の追加を説明する。ここで、図２は経路処理部におけるメモリへのＬ３経路情報の追加を説明する図である。また、図２（ａ）はＩＰアドレスの追加前、図２（ｂ）はＩＰアドレスの追加後を示す。図２において、メモリは、Ｌ２ＣＡＭ２２３、Ｌ２出力ポートテーブル２２４、Ｌ３ＣＡＭ２４２、宛先ＭＡＣアドレステーブル２４３、Ｌ３出力ポートテーブル２４４で構成される。図２（ａ）と図２（ｂ）との対比から明らかなように、ＩＰアドレスであるＩＰ６が追加されると、宛先ＭＡＣアドレス（ＭＡＣ３）と出力ポート（Ｐ３３）の組が既存と同一となるような場合でも、Ｌ３ＣＡＭ２４２だけでなく宛先ＭＡＣアドレステーブル２４３と、Ｌ３出力ポートテーブル２４４に、レコードの登録が必要である。
【００１５】
図３を参照して、このレコードの登録を説明する。ここで、図３はＬ３処理部の新規宛先追加処理のフローチャートである。図３において、Ｌ３処理部２４０は、新規宛先を追加するとき、まずＬ３ＣＡＭ２４２に宛先ＭＡＣアドレスと追加する（Ｓ６１）。Ｌ３処理部２４０は、Ｌ３ＣＡＭ２４２のエントリに対応付けて宛先ＭＡＣアドレステーブル２４３に宛先ＭＡＣアドレスを登録する（Ｓ６２）。Ｌ３処理部２４０は、Ｌ３ＣＡＭ２４２のエントリに対応付けてＬ３出力ポートテーブル２４４に出力ポートを登録して（Ｓ６３）、終了する。
【００１６】
図４を参照して、宛先変更を説明する。ここで、図４はＬ２処理部とＬ３処理部の宛先変更処理のフローチャートである。図４において、Ｌ２処理部２２０は、宛先を変更するとき、まずＬ２ＣＡＭ２２３の該当エントリを検索する（Ｓ６６）。Ｌ２処理部２２０は、検索したＬ２ＣＡＭ２２３のエントリに対応付けられたＬ２出力ポートテーブル２２４を更新する（Ｓ６７）。一方、Ｌ３処理部２４０は、宛先ＭＡＣアドレステーブル２４３の全てのエントリについて、以下の処理を実施して（Ｓ６８）、終了する。ステップ６８において、Ｌ３処理部２４０は、対象の宛先ＭＡＣアドレスか判定する（Ｓ６８１）。該当する（ＨＩＴ）なら、Ｌ３処理部２４０は、該当するエントリのＬ３出力ポートテーブル２４４を更新する（Ｓ６８２）。ステップ６８１で非該当（ＮＯ ＨＩＴ）なら、Ｌ３処理部２４０は、ステップ６８２をジャンプする。
【００１７】
【特許文献１】特開２０００−１１５２３４号公報
【特許文献２】特開平０６−０７８０２２号公報
【非特許文献１】日経ｎｅｔｗｏｒｋ編、日経ＢＰムック ネットワーク基礎シリーズ（１１）、「絶対わかる！ルーター＆スイッチ超入門」、日経ＢＰ社、２００６年７月２５日発行、１４７〜１５０ページ
【発明の開示】
【発明が解決しようとする課題】
【００１８】
階層化された通信プロトコルを処理するネットワーク接続装置では、Ｌ２とＬ３のそれぞれの階層で経路情報を持つ構造となる。このため、必然的に、Ｌ２とＬ３の経路情報の共有化は、行われず、Ｌ２用とＬ３用のメモリがそれぞれ必要であった。
【００１９】
ネットワーク経路が変わり、宛先の出力ポートに変更が必要な場合、Ｌ２経路情報から決まる出力ポートとＬ３経路情報から決まる出力ポートの二箇所の変更が必要であった。
【００２０】
Ｌ３経路の出力ポートに同一ポートが複数あるようなネットワーク構成で、ネットワーク経路が変わり、宛先の出力ポートの変更が必要な場合、複数ある同一出力ポートを全て変更する必要があった。
【００２１】
また、近年のネットワーク装置で必要な経路情報の宛先は、数１００万個に届く勢いで増加しているが、ネットワーク装置に実装されるポートは数１０個程度であり、ポートセレクト信号４５で選択される出力ポートは、宛先情報に比べて少なく、異なる宛先に対して共通の出力ポートであることが多い。そこに本発明では、出力ポートを格納するメモリを共通化し、メモリの削減を図る。
【課題を解決するための手段】
【００２２】
上述した課題は、受信パケットを第１のヘッダとペイロードとに分割するパケット分割部と、第１のヘッダを第２のヘッダに変換し送信ポートを指定する経路処理部と、第２のヘッダとペイロードとを連結して送信パケットを生成するパケット連結部と、指定された送信ポートから送信パケットを送信し、経路処理部は、レイヤ２処理部とレイヤ３処理部とを含み、送信ポートは、レイヤ２処理部とレイヤ３処理部とで共通な第１のメモリを参照して選択するネットワーク接続装置により、達成できる。
【発明の効果】
【００２３】
大規模ネットワーク接続装置において、経路数が膨大で、同一のＬ３経路情報の出力ポートがあるようなネットワーク構成に適用するとき、メモリ削減効果が大きい。
【発明を実施するための最良の形態】
【００２４】
以下本発明の実施の形態について、実施例を用い図面を参照しながら説明する。なお、実質同一部位には同じ参照番号を振り、説明は繰り返さない。
【実施例１】
【００２５】
実施例１について、図５ないし図８を参照して説明する。ここで、図５はネットワークの構成を説明するブロック図である。図６はネットワーク接続装置のブロック図である。図７は経路処理部のブロック図である。図８は経路処理部におけるメモリへのＬ３経路情報の追加を説明する図である。また、図８（ａ）はＩＰアドレスの追加前、図８（ｂ）はＩＰアドレスの追加後を示す。
【００２６】
図５において、ネットワーク１０００は、ＬＡＮ１１００と、ＷＡＮ（インターネット）１２００と、ＬＡＮ１３００で構成されている。ＬＡＮ１１００は、端末３８と、ネットワーク接続装置（Ｌ３ＳＷ）３００と、ネットワークスイッチ（ＳＷ）３１０と、ルータ（Ｒ）３２０で構成される。また、ＬＡＮ１３００は、３台のルータ（Ｒ）３３０〜３５０で構成される。
【００２７】
ネットワーク１０００において、端末３８は、ネットワーク接続装置３００に、Ｌ２中継パケットを送出する。ネットワーク接続装置３００は、Ｌ２中継パケットをポート３１で受信し、ポート３２からネットワークスイッチ３１０宛てに送出する。一方、端末３８は、ネットワーク接続装置３００に、Ｌ３中継パケットを送出する。ネットワーク接続装置３００は、Ｌ３中継パケットをポート３１で受信し、ポート３３からルータ３２０を中継し、ルータ３３０またはルータ３４０宛てに送出する。ここで、Ｌ２中継パケットは、宛先が同一ＬＡＮ１１００の中の宛先のパケットである。一方、Ｌ３中継パケットは、宛先がネットワーク接続装置３００配下とは別のＬＡＮ１３００宛てのパケットである。
【００２８】
なお、ＬＡＮ１１００およびＬＡＮ１３００において、ブロック内に記載したＩＰｎおよびＭＡＣｎ（ここで、ｎ＝１〜５）は、それぞれの機器のＩＰアドレスおよびＭＡＣアドレスである。
【００２９】
図６を参照して、ネットワーク接続装置の構成を説明する。図６において、ネットワーク接続装置３００は、受信処理部４００、パケット分割部４１０、経路処理部４２０、ヘッダ連結部４３０、共有メモリ４４０、送信処理部４５０、ポート３１〜３４で構成される。
【００３０】
受信処理部４００は、ネットワーク中継パケット４１をポート３１で受信する。パケット分割部４１０は、受信パケット４１をヘッダ４３とペイロード４１４に分割する。経路処理部４２０は、分割されたネットワーク中継パケットのＬ２ヘッダ４１２とＬ３ヘッダ４１３を更新し、ポートセレクト信号４５を生成する。ヘッダ連結部４３０は、更新されたＬ２Ｌ３ヘッダ４６とペイロード４１４を連結する。共有メモリ４４０は、ヘッダ連結部４３０で作成されたネットワーク中継パケット４７を格納する。送信処理部４５０は、ポートセレクト信号４５で選択されたポートからネットワーク中継パケット４７を送信する。
【００３１】
経路処理部４２０の生成するＬ２Ｌ３ヘッダ４６は、Ｌ２中継パケットとＬ３中継パケットの違いにより、更新内容が異なる。Ｌ２中継パケットの場合、経路処理部４２０は、受信したＬ２ヘッダ４１２とＬ３ヘッダ４１３の内容のままとする。Ｌ３中継パケットの場合、経路処理部４２０は、Ｌ２ヘッダ４１２の宛先ＭＡＣアドレスを次の中継先の宛先ＭＡＣアドレスに変更する。また、経路処理部４２０は、Ｌ３ヘッダ４１３のＴＴＬ（time to live）の値をデクリメントし、チェックサムの値を決められた計算式から更新する。
【００３２】
図７を参照して、経路処理部を説明する。図７において、経路処理部４２０は、Ｌ２Ｌ３並列処理でＬ２出力ポートとＬ３出力ポートの格納メモリを共通化した経路処理部である。図１の経路処理部４６０との違いは、各レイヤの中継処理を順次処理から並列処理にすることによる高速化と、出力ポートテーブルの共通化によるメモリ削減である。すなわち、経路処理部４６０では、各レイヤの中継処理は、シリアルに行われていた。また、経路処理部４６０は、Ｌ２処理部２２０とＬ３処理部２４０の出力ポート情報を別に持っていた。これに対して、経路処理部４２０は、Ｌ２Ｌ３共通出力ポートテーブル１５０Ａを保持し、Ｌ２処理部２２０とＬ３理部２４０のそれぞれで必要であった出力ポートテーブル２２４、２４４を共通化し、メモリを削減している。
【００３３】
図７において、経路処理部４２０は、Ｌ２ヘッダ４１２とＬ３ヘッダ４１３とからなるＬ２Ｌ３ヘッダ４３を入力とし、Ｌ２Ｌ３ヘッダ４６とポートセレクト信号４５を出力する。経路処理部４２０は、宛先取り出し部１００、経路設定部１１０、コード記憶部１１１、Ｌ２処理部１２０、Ｌ３処理部１３０、ポートセレクト１４０、Ｌ２Ｌ３共通出力ポートテーブル１５０Ａ、ヘッダ作成部１６０で構成される。また、Ｌ２処理部１２０は、レイヤ選択部１２１、Ｌ２検索部１２２、Ｌ２ＣＡＭ１２３で構成される。Ｌ３処理部１３０は、Ｌ３検索部１３１、Ｌ３ＣＡＭ１３２、宛先ＭＡＣアドレステーブル１３３で構成される。
【００３４】
宛先取り出し部１００は、受信したＬ２ヘッダ４１２とＬ３ヘッダ４１３から、Ｌ２処理部１２０で必要な宛先ＭＡＣアドレスと、Ｌ３理部１３０で必要な宛先ＩＰアドレスのそれぞれを取り出す。宛先取り出し部１００は、受信したＬ２ヘッダ４１２とＬ３ヘッダ４１３を、そのままヘッダ作成部１６０に送信する。宛先取り出し部１００は、取り出した宛先ＭＡＣアドレスを、レイヤ選択部１２１とＬ２検索部１２２に送信する。宛先取り出し部１００は、取り出した宛先ＩＰアドレスをＬ３検索部１３１に送信する。コード記憶部１１１は、経路設定する処理フローを格納する。経路設定部１１０は、経路情報を格納するメモリに経路情報を設定する。Ｌ２処理部１２０とＬ３処理部１３０は、中継に必要な経路情報の決定する処理を並列実行する。
【００３５】
Ｌ２処理部１２０において、Ｌ２検索部１２２は、Ｌ２ＣＡＭ１２３について、受信した宛先ＭＡＣアドレスで検索し、検索結果から対象のエントリ番号を得る。このエントリ番号は、ポートセレクト１４０に送信される。レイヤ選択部１２１は、受信した宛先ＭＡＣアドレスについて、自装置の宛先ＭＡＣアドレスか、他装置の宛先ＭＡＣアドレスかを判断する。レイヤ選択部１２１は、自装置の宛先ＭＡＣアドレスの場合はＬ３中継、他装置の宛先ＭＡＣアドレスの場合はＬ２中継となるレイヤ情報２０を作成する。レイヤ選択部１２１は、レイヤ情報２０をポートセレクト１４０とヘッダ生成部１６０に送信する。ポートセレクト１４０は、レイヤ情報２０がＬ２中継の場合、Ｌ２検索部１２２からのエントリ番号でＬ２Ｌ３共通出力テーブル１５０Ａを参照し、得たＬ２出力ポートをポートセレクト信号４５に設定する。
【００３６】
Ｌ３処理部１３０において、Ｌ３検索部１３１は、Ｌ３ＣＡＭ１３２について、受信した宛先ＩＰアドレスで検索し、検索結果から対象のエントリ番号を得る。Ｌ３検索部１３１は、エントリ番号から宛先ＭＡＣアドレステーブル１３３内の対象の宛先ＭＡＣアドレスアドレスを得る。Ｌ３検索部１３１は、ポートセレクト１４０にエントリ番号を送信する。また、Ｌ３検索部１３１は、ヘッダ作成部１６０に宛先ＭＡＣアドレスを送信する。ポートセレクト１４０は、レイヤ情報２０がＬ３中継の場合、Ｌ３検索部１３１からのエントリ番号でＬ２Ｌ３共通出力テーブル１５０Ａを参照し、得たＬ３出力ポートをポートセレクト信号４５に設定する。
【００３７】
また、ヘッダ作成部１６０は、レイヤ情報２０がＬ２中継ときはＬ３宛先取り出し部１００からのＬ２ヘッダ４１２とＬ３ヘッダ４１３の内容を変えずに、そのままＬ２Ｌ３ヘッダ４６を作成する。ヘッダ作成部１６０は、Ｌ３中継のとき、宛先ＭＡＣアドレステーブル１３３内の対象の宛先ＭＡＣアドレスでＬ２ヘッダを更新し、Ｌ３ヘッダのＴＴＬをデクリメントし、チェックサムを計算し直し、Ｌ２Ｌ３ヘッダ４６を生成する。
【００３８】
図８（ａ）はＩＰアドレスの追加前、図８（ｂ）はＩＰアドレスの追加後を示す。図８において、経路処理部に必要なメモリは、Ｌ２ＣＡＭ１２３、Ｌ２Ｌ３共通出力ポートテーブル１５０Ａ、Ｌ３ＣＡＭ１３２、宛先ＭＡＣアドレステーブル１３３で構成される。図８（ａ）と図８（ｂ）との対比から明らかなように、ＩＰアドレスであるＩＰ６が追加されると、Ｌ３ＣＡＭ１３２、宛先ＭＡＣアドレステーブル１３３、Ｌ２Ｌ３共通出力ポートテーブル１５０Ａに、レコードの登録が必要である。
【００３９】
実施例１によれば、出力ポートを格納するためのＬ２出力ポートテーブルとＬ３出力ポートテーブルで２つ必要であったＲＡＭ（Random Access Memory）が１つで済む効果がある。
【実施例２】
【００４０】
実施例２について、図９および図１０を参照して説明する。ここで、図９は他の経路処理部のブロック図である。図１０は他の経路処理部におけるメモリへのＬ３経路情報の追加を説明する図である。まず、図９を参照して、Ｌ２Ｌ３並列処理でＬ２出力ポートとＬ３出力ポートを集約した経路処理部を説明する。
【００４１】
図９において、実施例２の経路処理部４２０Ａは、実施例１の経路処理部４２０の構成に加えて、Ｌ３処理部１３０ＡにＬ３ＣＡＭ１３２のエントリ番号に１対１に対応しているポインタテーブル５００Ａを新たに設けている。ポインタテーブル５００Ａは、Ｌ３ＣＡＭ１３２のエントリ番号に対応づけて、Ｌ２Ｌ３共通出力ポートテーブル１５０Ｂ内の対象の格納位置であるポインタを格納する。Ｌ２中継に必要な出力ポートとＬ３中継に必要な出力ポートが同一である場合、ポインタテーブル５００Ａは、対象のポインタについて、Ｌ２ＣＡＭ１２３のエントリ番号の値と同一とする。出力ポートは、実施例１と同様にＬ２Ｌ３共通出力ポートテーブル５００ＡでＬ２とＬ３で集約して管理する。
【００４２】
これにより、Ｌ２Ｌ３共通出力ポートテーブル１５０Ｂは、Ｌ２とＬ３とでポートごとに一つのレコードに集約できる。この結果、実施例１のＬ２Ｌ３共通出力ポートテーブル１５０Ａに比べ、実施例２のＬ２Ｌ３共通出力ポートテーブル１５０Ｂは、メモリ容量を削減することができる。
【００４３】
これを、図１０を参照して説明する。図１０（ａ）はＩＰアドレスの追加前、図１０（ｂ）はＩＰアドレスの追加後を示す。図１０において、経路処理部に必要なメモリは、Ｌ２ＣＡＭ１２３、Ｌ２Ｌ３共通出力ポートテーブル１５０Ｂ、Ｌ３ＣＡＭ１３２、宛先ＭＡＣアドレステーブル１３３、ポート変換テーブル５００Ａで構成される。図１０（ａ）と図１０（ｂ）との対比から明らかなように、ＩＰアドレスであるＩＰ６が追加されると、Ｌ３ＣＡＭ１３２と、宛先ＭＡＣアドレステーブル１３３と、ポート変換テーブル５００Ａに、レコードの登録が必要である。しかし、Ｌ２Ｌ３共通出力ポートテーブル１５０Ｂは、レイヤ２およびレイヤ３に共通なポート数にのみに依存する数のレコードで済ませることができる。したがって、規模の小さなメモリで構わない。
【実施例３】
【００４４】
実施例３について、図１１ないし図１４を参照して説明する。ここで、図１１は他の経路処理部のブロック図である。図１２は他の経路処理部におけるメモリへのＬ３経路情報の追加を説明する図である。図１３は経路処理部の新規宛先追加処理のフローチャートである。図１４は経路処理部の宛先変更処理のフローチャートである。
【００４５】
実施例２のＬ３処理部１３０Ａで、宛先ＭＡＣアドレステーブル１３３とポート変換テーブル５００は、Ｌ３ＣＡＭ１３２に対して、対等かつ互いに並列に配置されている。図１１において、実施例３の経路処理部４２０Ｂは、Ｌ３処理部１３０ＢのＬ３ＣＡＭ１３２と宛先ＭＡＣアドレステーブル１３３との間にポートＭＡＣ変換テーブル６００を配置している。これにより、Ｌ３ＣＡＭ１３２のエントリ番号と宛先情報の格納されている宛先ＭＡＣアドレステーブルをＮ対１で繋ぐことができる。また、実施例２と同様、Ｌ２ＣＡＭ１２３のエントリ番号とも、Ｌ２Ｌ３共通出力ポートテーブル１５０Ｂで、出力ポートを連携している。具体的なメモリ削減効果および処理性能の高速化効果は、後述する。
【００４６】
図１２（ａ）はＩＰアドレスの追加前、図１２（ｂ）はＩＰアドレスの追加後を示す。図１２において、経路処理部に必要なメモリは、Ｌ２ＣＡＭ１２３、Ｌ２Ｌ３共通出力ポートテーブル１５０Ｂ、Ｌ３ＣＡＭ１３２、ポート／ＭＡＣ変換テーブル６００、宛先ＭＡＣアドレステーブル１３３で構成される。図１２（ａ）と図１２（ｂ）との対比から明らかなように、ＩＰアドレスであるＩＰ６が追加されると、Ｌ３ＣＡＭ１３２と、ポート／ＭＡＣ変換テーブル６００のみに、レコードの登録が必要である。Ｌ２Ｌ３共通出力ポートテーブル１５０Ｂとポート／ＭＡＣ変換テーブル６００は、レイヤ２およびレイヤ３に共通なポート数にのみに依存する数のレコードで済ませることができる。
【００４７】
図１２と図２を比較すれば明らかなように、図１２においてポート／ＭＡＣ変換テーブル６００が必要であるが、宛先ＭＡＣアドレステーブル１３３とＬ２Ｌ３共通出力ポートテーブル１５０Ｂの容量は、ポインタテーブル６００Ａで集約する数に比例して削減できる。
【００４８】
図１３および図１４を参照して、実施例３における性能の高速化を説明する。図１３において、新規にＬ３宛先を登録するとき、経路処理部４２０Ｂは、宛先ＭＡＣアドレステーブル１３３に新規ＭＡＣアドレスが登録されているか判定する（Ｓ７１）。登録されているとき（ＨＩＴ）、集約宛先登録済みなので、経路処理部４２０Ｂは、Ｌ３ＣＡＭ１３２に新規宛先ＩＰアドレスを登録する（Ｓ７２）。次に、経路処理部４２０Ｂは、ポート／ＭＡＣ変換テーブル６００にポインタを登録して（Ｓ７３）、終了する。
【００４９】
ステップ７１で登録されていないとき（ＮＯ ＨＩＴ）、経路処理部４２０Ｂは、Ｌ３ＣＡＭに宛先ＩＰアドレスを登録する（Ｓ７４）。経路処理部４２０Ｂは、ポート／ＭＡＣ変換テーブル６００にポインタを登録する（Ｓ７６）。経路処理部４２０Ｂは、宛先ＭＡＡＶアドレステーブル１３３に宛先ＭＡＣアドレスを登録する（Ｓ７７）。最後に、経路処理部４２０Ｂは、Ｌ２Ｌ３共通出力ポートテーブル１５０Ｂに出力ポートを登録して（Ｓ７８）、終了する。図１３から明らかなように、集約宛先として、登録されていると、経路処理部４２０Ｂの処理は、短時間で済む。
【００５０】
図１４において、緊急性の高い宛先変更があったとき、経路処理部４２０Ｂは、Ｌ２ＣＡＭ１２３の該当エントリを探す（Ｓ８１）。経路処理部４２０Ｂは、該当エントリに対応するＬ２Ｌ３共通出力テーブル１５０Ｂの出力ポートを更新して（Ｓ８２）、終了する。図１４における宛先変更は、ループが必要な図４の宛先変更に比べて、極めて短時間で処理できることが、明確である。
【００５１】
実施例３に拠れば、Ｌ２Ｌ３共通出力ポートテーブル１５０Ｂおよびポート／ＭＡＣ変換テーブルは、レイヤ２およびレイヤ３に共通なポート数にのみに依存する数のレコードで済ませることができる。したがって、規模の小さなメモリで構わない。また、緊急性の高い宛先変更が高速かつ短時間で実行できる。
【実施例４】
【００５２】
実施例４について、図１５を参照して説明する。ここで、図１５は他の経路処理部のブロック図である。図１５は、Ｌ２Ｌ３順次処理を採用し、しかも実施例２および実施例３で説明したＬ２Ｌ３共通出力ポートテーブル１５０Ｂ、ポート／ＭＡＣ変換テーブル６００を設けた構成である。実施例４の経路処理部４６０Ａの構成と動作は、背景技術および上述した実施例１ないし実施例３から自明なので省略する。実施例４についても、実施例３と同様の効果を得ることができる。
【図面の簡単な説明】
【００５３】
【図１】従来の経路処理部のブロック図である。
【図２】従来の経路処理部におけるメモリへのＬ３経路情報の追加を説明する図である。
【図３】Ｌ３処理部の新規宛先追加処理のフローチャートである。
【図４】Ｌ２処理部とＬ３処理部の宛先変更処理のフローチャートである。
【図５】ネットワークの構成を説明するブロック図である。
【図６】ネットワーク接続装置のブロック図である。
【図７】経路処理部のブロック図である。
【図８】経路処理部におけるメモリへのＬ３経路情報の追加を説明する図である。
【図９】他の経路処理部のブロック図である。
【図１０】他の経路処理部におけるメモリへのＬ３経路情報の追加を説明する図である。
【図１１】他の経路処理部のブロック図である。
【図１２】他の経路処理部におけるメモリへのＬ３経路情報の追加を説明する図である。
【図１３】経路処理部の新規宛先追加処理のフローチャートである。
【図１４】経路処理部の宛先変更処理のフローチャートである。
【図１５】他の経路処理部のブロック図である。
【符号の説明】
【００５４】
３８…端末、４３…受信したネットワーク中継パケットのＬ２Ｌ３ヘッダ、４５…ポートセレクト信号、１００…宛先取り出し部、１１０…経路設定部、１１１…コード記憶部、１２０…Ｌ２処理部、１２１…レイヤ選択部、１２２…Ｌ２検索部、１２３…Ｌ２ＣＡＭ、１３０…Ｌ３処理部、１３１…Ｌ３検索部、１３２…Ｌ３ＣＡＭ、１３３…宛先ＭＡＣアドレステーブル、１４０…出力ポート選択部、１５０…Ｌ２Ｌ３共通出力ポートテーブル、１６０…ヘッダ作成部、３００…ネットワーク接続装置、３１０…ネットワークスイッチ、３２０〜３５０…ルータ、４２０…経路処理部、４４０…共有メモリ、６００…ポート／ＭＡＣ変換テーブル、１０００…ネットワーク、１１００…ＬＡＮ、１２００…ＷＡＮ、１３００…ＬＡＮ。
【図１】
2010011129.tif 000003
【図２】
2010011129.tif 000004
【図３】
2010011129.tif 000005
【図４】
2010011129.tif 000006
【図５】
2010011129.tif 000007
【図６】
2010011129.tif 000008
【図７】
2010011129.tif 000009
【図８】
2010011129.tif 000010
【図９】
2010011129.tif 000011
【図１０】
2010011129.tif 000012
【図１１】
2010011129.tif 000013
【図１２】
2010011129.tif 000014
【図１３】
2010011129.tif 000015
【図１４】
2010011129.tif 000016
【図１５】
2010011129.tif 000017