(57)【特許請求の範囲】
【請求項１】
複数の外部ネットワークを相互に接続するネットワーク中継装置であって、
前記複数の外部ネットワークの間でやり取りされるデータフレームを中継する内部ネットワークを構築する複数の中継部と、
前記内部ネットワークから前記外部ネットワークに対して前記データフレームを転送すべき経路を示す複数の経路情報であって、前記経路情報は、前記データフレームの宛先ＩＰアドレスの割り当て範囲を示すＩＰアドレス範囲に、前記内部ネットワークから前記外部ネットワークに対する転送先を対応付けた情報である、複数の経路情報を学習する経路学習部と、
前記複数の中継部の各々に対応する複数の割当経路テーブルであって、前記経路学習部によって学習された複数の経路情報を前記経路情報単位で割り当てた複数の割当経路テーブルを生成する経路割当部と、
前記複数の割当経路テーブルの各々に割り当てられた経路情報間における前記ＩＰアドレス範囲同士のＩＰアドレス空間上の対応関係を示すアドレス空間情報を生成する空間情報生成部と、
前記アドレス空間情報と共に前記複数の割当経路テーブルの各々を前記複数の中継部に登録する経路登録部と
を備え、
前記複数の中継部の各々は、前記経路登録部によって自身に登録された割当経路テーブルおよびアドレス空間情報に基づいて、前記データフレームを転送し、
前記空間情報生成部は、前記複数の割当経路テーブルに割り当てられた経路情報の各々に関連付けられ、よりプレフィックス長の長い共通のＩＰアドレス空間に属するＩＰアドレス範囲の経路情報が、前記複数の割当経路テーブルにおける他の割当経路テーブルに割り当てられているか否かを示す情報を、前記アドレス空間情報として生成する、ネットワーク中継装置。
【請求項２】
請求項１に記載のネットワーク中継装置であって、
前記複数の中継部の各々は、
前記データフレームを受信する受信部と、
前記受信部によって受信されたデータフレームの宛先ＩＰアドレスに対応する経路情報を、前記経路登録部によって自身に登録された割当経路テーブルから検索する経路検索部と、
前記経路検索部によって検索された経路情報に関連付けられたアドレス空間情報が、よりプレフィックス長の長い経路情報の存在を否定する場合、前記経路検索部によって検索された経路情報に基づいて、前記受信部によって受信されたデータフレームにおけるデータリンク層の宛先アドレスを設定し、該データフレームを転送する第１転送部と、
前記経路検索部によって検索された経路情報に関連付けられたアドレス空間情報が、よりプレフィックス長の長い経路情報の存在を示す場合、前記複数の中継部のうち前記データフレームが経由していない中継部に、前記受信部によって受信されたデータフレームを転送する第２転送部と
を含む、ネットワーク中継装置。
【請求項３】
複数の外部ネットワークを相互に接続するネットワーク中継装置であって、
前記複数の外部ネットワークの間でやり取りされるデータフレームを中継する内部ネットワークを構築する複数の中継部と、
前記内部ネットワークから前記外部ネットワークに対して前記データフレームを転送すべき経路を示す複数の経路情報であって、前記経路情報は、前記データフレームの宛先ＩＰアドレスの割り当て範囲を示すＩＰアドレス範囲に、前記内部ネットワークから前記外部ネットワークに対する転送先を対応付けた情報である、複数の経路情報を学習する経路学習部と、
前記複数の中継部の各々に対応する複数の割当経路テーブルであって、前記経路学習部によって学習された複数の経路情報を前記経路情報単位で割り当てた複数の割当経路テーブルを生成する経路割当部と、
前記複数の割当経路テーブルの各々に割り当てられた経路情報間における前記ＩＰアドレス範囲同士のＩＰアドレス空間上の対応関係を示すアドレス空間情報を生成する空間情報生成部と、
前記アドレス空間情報と共に前記複数の割当経路テーブルの各々を前記複数の中継部に登録する経路登録部と
を備え、
前記複数の中継部の各々は、前記経路登録部によって自身に登録された割当経路テーブルおよびアドレス空間情報に基づいて、前記データフレームを転送し、
前記空間情報生成部は、
前記経路学習部によって学習された複数の経路情報における各ＩＰアドレス範囲のプレフィックス長を短くし集約した複数の集約アドレス範囲を生成する第１生成部と、
前記複数の集約アドレス範囲を前記複数の中継部の各々に割り当てたＩＰ空間割当テーブルを、前記アドレス空間情報として生成する第２生成部と
を含み、
前記経路割当部は、前記経路学習部によって学習された複数の経路情報を前記ＩＰ空間割当テーブルに基づいて前記経路情報単位で割り当てることによって、前記複数の割当経路テーブルを生成する、ネットワーク中継装置。
【請求項４】
請求項３に記載のネットワーク中継装置であって、
前記複数の中継部の各々は、
前記データフレームを受信する受信部と、
前記受信部によって受信されたデータフレームの宛先ＩＰアドレスに対応する経路情報が、前記経路登録部によって自身に登録された割当経路テーブルに存在する場合、前記経路登録部によって自身に登録された割当経路テーブルに基づいて、前記受信部によって受信されたデータフレームにおけるデータリンク層の宛先アドレスを設定し、該データフレームを転送する第１転送部と、
前記受信部によって受信されたデータフレームの宛先ＩＰアドレスに対応する経路情報が、前記経路登録部によって自身に登録された割当経路テーブルに存在しない場合、前記経路登録部によって自身に登録されたアドレス空間情報に基づいて、前記受信部によって受信されたデータフレームの宛先ＩＰアドレスに対応する経路情報が登録された中継部に、該データフレームを転送する第２転送部と
を含む、ネットワーク中継装置。
【請求項５】
請求項１ないし請求項４のいずれか一項に記載のネットワーク中継装置であって、
前記複数の中継部の各々は、前記複数の中継部における他の中継部に前記データフレームを転送する場合、前記他の中継部に通知する通知情報を前記データフレームに付加する指示付加部を含み、
前記通知情報は、
前記内部ネットワークにおける前記他の中継部を特定する第１情報と、
前記他の中継部に要求する処理を示す第２情報と、
前記外部ネットワークに対して前記データフレームを転送すべき経路の候補を示す第３情報と、
前記複数の中継部のうち前記データフレームが経由した中継部を示す第４情報と
の少なくとも一つを含み、
前記ネットワーク中継装置は、更に、
前記複数の経路情報における前記ＩＰアドレス範囲に前記転送先として対応付けられた転送先ＩＰアドレスの各々に、データリンク層の宛先アドレスを対応付けた複数のアドレス解決プロトコル（ＡＲＰ）情報を学習するＡＲＰ学習部と、
前記複数の割当経路テーブルへの前記複数の経路情報の割り当てに応じて、前記ＡＲＰ学習部によって学習された複数のＡＲＰ情報を前記ＡＲＰ情報単位で割り当てた複数のＡＲＰテーブルを生成するＡＲＰ割当部と、
前記複数のＡＲＰテーブルの各々を前記複数の中継部に登録するＡＲＰ登録部と
を備えるネットワーク中継装置。
【請求項６】
請求項５に記載のネットワーク中継装置であって、更に、
前記複数のＡＲＰ情報における前記宛先アドレスの各々に、データリンク層の送信元アドレスを対応付けた複数の送信元アドレス情報を学習する送信元アドレス学習部と、
前記複数のＡＲＰテーブルへの前記複数のＡＲＰ情報の割り当てに応じて、前記送信元アドレス学習部によって学習された複数の送信元アドレス情報を前記送信元アドレス情報単位で割り当てた複数の送信元アドレステーブルを生成する送信元アドレス割当部と、
前記複数の送信元アドレステーブルの各々を前記複数の中継部に登録する送信元アドレス登録部と
を備えるネットワーク中継装置。
【請求項７】
前記経路割当部は、少なくとも二つの前記割当経路テーブルに重複して同じ前記経路情報が割り当てられるように、前記複数の割当経路テーブルを生成する請求項１ないし請求項６のいずれか一項に記載のネットワーク中継装置。
【請求項８】
請求項１ないし請求項７のいずれか一項に記載のネットワーク中継装置であって、
前記複数の中継部の各々は、前記経路学習部、前記経路割当部、前記空間情報生成部および前記経路登録部として並行して動作可能であり、
前記複数の中継部は、前記複数の中継部の中から、前記経路学習部、前記経路割当部、前記空間情報生成部および前記経路登録部として並行して動作すべき中継部を決定する、ネットワーク中継装置。
【請求項９】
前記中継部は、前記複数の外部ネットワークのうち自身にリンクアグリゲーションで接続された外部ネットワークに対して、前記経路登録部によって自身に登録された割当経路テーブルのＩＰアドレス範囲を通知する経路通知部を含む、請求項１ないし請求項８のいずれか一項に記載のネットワーク中継装置。
【請求項１０】
前記複数の経路情報はバーチャルプライベートネットワーク（ＶＰＮ）を構成する情報である請求項１ないし請求項９のいずれか一項に記載のネットワーク中継装置。
【請求項１１】
前記複数の中継部の各々を個別に独立したネットワーク中継装置として備え、複数のネットワーク中継装置が協働することによって仮想的な単一のネットワーク中継装置として機能する請求項１ないし請求項１０のいずれか一項に記載のネットワーク中継装置。
【請求項１２】
複数の外部ネットワークを相互に接続するネットワーク中継方法であって、
複数のネットワーク中継装置を相互に接続することによって、前記複数の外部ネットワークの間でやり取りされるデータフレームを中継する内部ネットワークを構築し、
前記内部ネットワークから前記外部ネットワークに対して前記データフレームを転送すべき経路を示す複数の経路情報であって、前記経路情報は、前記データフレームの宛先ＩＰアドレスの割り当て範囲を表すＩＰアドレス範囲に、前記内部ネットワークから前記外部ネットワークに対する転送先を対応付けた情報である、複数の経路情報を学習し、
前記複数のネットワーク中継装置の各々に対応する複数の割当経路テーブルであって、前記複数の経路情報を前記経路情報単位で割り当てた複数の割当経路テーブルを生成し、
前記複数の割当経路テーブルの各々に割り当てられた経路情報間における前記ＩＰアドレス範囲同士のＩＰアドレス空間上の対応関係を示すアドレス空間情報を生成し、
前記アドレス空間情報と共に前記複数の割当経路テーブルの各々を前記複数のネットワーク中継装置に登録し、
前記複数のネットワーク中継装置の各々が、自身に登録された割当経路テーブルおよびアドレス空間情報に基づいて、前記データフレームを転送し、
前記複数の割当経路テーブルに割り当てられた経路情報の各々に関連付けられ、よりプレフィックス長の長い共通のＩＰアドレス空間に属するＩＰアドレス範囲の経路情報が、前記複数の割当経路テーブルにおける他の割当経路テーブルに割り当てられているか否かを示す情報を、前記アドレス空間情報として生成する、ネットワーク中継方法。
【請求項１３】
複数の外部ネットワークを相互に接続するネットワーク中継方法であって、
複数のネットワーク中継装置を相互に接続することによって、前記複数の外部ネットワークの間でやり取りされるデータフレームを中継する内部ネットワークを構築し、
前記内部ネットワークから前記外部ネットワークに対して前記データフレームを転送すべき経路を示す複数の経路情報であって、前記経路情報は、前記データフレームの宛先ＩＰアドレスの割り当て範囲を表すＩＰアドレス範囲に、前記内部ネットワークから前記外部ネットワークに対する転送先を対応付けた情報である、複数の経路情報を学習し、
前記複数のネットワーク中継装置の各々に対応する複数の割当経路テーブルであって、前記複数の経路情報を前記経路情報単位で割り当てた複数の割当経路テーブルを生成し、
前記複数の割当経路テーブルの各々に割り当てられた経路情報間における前記ＩＰアドレス範囲同士のＩＰアドレス空間上の対応関係を示すアドレス空間情報を生成し、
前記アドレス空間情報と共に前記複数の割当経路テーブルの各々を前記複数のネットワーク中継装置に登録し、
前記複数のネットワーク中継装置の各々が、自身に登録された割当経路テーブルおよびアドレス空間情報に基づいて、前記データフレームを転送し、
前記複数の経路情報における各ＩＰアドレス範囲のプレフィックス長を短くし集約した複数の集約アドレス範囲を生成し、
前記複数の集約アドレス範囲を前記複数の中継部の各々に割り当てたＩＰ空間割当テーブルを、前記アドレス空間情報として生成し、
前記複数の経路情報を前記ＩＰ空間割当テーブルに基づいて前記経路情報単位で割り当てることによって、前記複数の割当経路テーブルを生成する、ネットワーク中継方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータネットワークにおいてルーティング（routing、経路選択）によりデータフレームを中継する技術に関する。
【背景技術】
【０００２】
従来、コンピュータネットワークにおけるルーティング処理を複数のリソースに効果的に分担させるために、ルーティングの経路を示す複数の経路情報を複数のネットワーク中継装置に経路情報単位で分散して登録し、各ネットワーク中継装置が各自に登録された経路情報に該当するデータフレームについてルーティングを実行する技術が提案されていた（例えば、特許文献１を参照）。
【０００３】
なお、ルーティングに用いられる経路情報は、データフレームの宛先ＩＰアドレスの割り当て範囲を示すＩＰアドレス範囲に、そのＩＰアドレス範囲に該当するデータフレームを転送すべき転送先を対応付けた情報である。ＩＰアドレス範囲は、ＣＩＤＲ（Classless Inter-Domain Routing）ブロックとも呼ばれ、ＩＰアドレスおよびプレフィックス長で表現される（例えば、「１０．０．０．０／８」、「１０．０．０．０／１６」）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−１４７７１０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来、複数のネットワーク中継装置に経路情報を分散したルーティングでは、ルーティングの規則であるロンゲストマッチ（Longest Match）について十分な考慮がなされていなかった。例えば、「１０．０．０．０／８」の経路情報、および「１０．０．０．０／１６」の経路情報が存在する場合、宛先ＩＰアドレス「１０．１．１．１」のデータフレームについては、ロンゲストマッチの規則に基づいて、該当する経路情報のうち最もプレフィックス長が長い「１０．０．０．０／１６」の経路情報に従って転送しなければならない。しかしながら、これら二つの経路情報が別々のネットワーク中継装置に分散されてしまうと、ロンゲストマッチの規則に基づいたルーティングを保証できないという問題があった。
【０００６】
本発明は、上記した課題を踏まえ、コンピュータネットワークにおけるルーティング処理を複数のリソースに効果的に分担させることができる技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の形態または適用例として実現することが可能である。
【０００８】
［適用例１］  適用例１のネットワーク中継装置は、複数の外部ネットワークを相互に接続するネットワーク中継装置であって、前記複数の外部ネットワークの間でやり取りされるデータフレームを中継する内部ネットワークを構築する複数の中継部と、前記内部ネットワークから前記外部ネットワークに対して前記データフレームを転送すべき経路を示す複数の経路情報であって、前記経路情報は、前記データフレームの宛先ＩＰアドレスの割り当て範囲を示すＩＰアドレス範囲に、前記内部ネットワークから前記外部ネットワークに対する転送先を対応付けた情報である、複数の経路情報を学習する経路学習部と、前記複数の中継部の各々に対応する複数の割当経路テーブルであって、前記経路学習部によって学習された複数の経路情報を前記経路情報単位で割り当てた複数の割当経路テーブルを生成する経路割当部と、前記複数の割当経路テーブルの各々に割り当てられた経路情報間における前記ＩＰアドレス範囲同士のＩＰアドレス空間上の対応関係を示すアドレス空間情報を生成する空間情報生成部と、前記アドレス空間情報と共に前記複数の割当経路テーブルの各々を前記複数の中継部に登録する経路登録部とを備え、前記複数の中継部の各々は、前記経路登録部によって自身に登録された割当経路テーブルおよびアドレス空間情報に基づいて、前記データフレームを転送することを特徴とする。適用例１のネットワーク中継装置によれば、複数の中継部の各々において、アドレス空間情報に基づいて、ロンゲストマッチの規則を考慮したルーティング処理を実行することができる。したがって、ロンゲストマッチの規則に従いつつ、コンピュータネットワークにおけるルーティング処理を複数の中継部に効果的に分担させることができる。
【０００９】
［適用例２］  適用例１のネットワーク中継装置であって、前記空間情報生成部は、前記複数の割当経路テーブルに割り当てられた経路情報の各々に関連付けられ、よりプレフィックス長の長い共通のＩＰアドレス空間に属するＩＰアドレス範囲の経路情報が、前記複数の割当経路テーブルにおける他の割当経路テーブルに割り当てられているか否かを示す情報を、前記アドレス空間情報として生成しても良い。適用例２のネットワーク中継装置によれば、複数の中継部の各々において、中継部自身に登録されている経路情報と、他の中継部に登録されている経路情報との間でロンゲストマッチの関係を判断して、ロンゲストマッチの規則に従ったルーティング処理を実現することができる。
【００１０】
［適用例３］  適用例２のネットワーク中継装置であって、前記複数の中継部の各々は、前記データフレームを受信する受信部と、前記受信部によって受信されたデータフレームの宛先ＩＰアドレスに対応する経路情報を、前記経路登録部によって自身に登録された割当経路テーブルから検索する経路検索部と、前記経路検索部によって検索された経路情報に関連付けられたアドレス空間情報が、よりプレフィックス長の長い経路情報の存在を否定する場合、前記経路検索部によって検索された経路情報に基づいて、前記受信部によって受信されたデータフレームにおけるデータリンク層の宛先アドレスを設定し、該データフレームを転送する第１転送部と、前記経路検索部によって検索された経路情報に関連付けられたアドレス空間情報が、よりプレフィックス長の長い経路情報の存在を示す場合、前記複数の中継部において検索される経路情報のうち、よりプレフィックス長の長い経路情報に基づいて前記データフレームにおける前記データリンク層の宛先アドレスが設定されるように、前記受信部によって受信されたデータフレームを転送する第２転送部とを含むとしても良い。適用例３のネットワーク中継装置によれば、ロンゲストマッチの候補の有無を示すアドレス空間情報に基づいて、ロンゲストマッチの規則に従ったルーティング処理を実現することができる。
【００１１】
［適用例４］  適用例１に記載のネットワーク中継装置であって、前記空間情報生成部は、前記経路学習部によって学習された複数の経路情報における各ＩＰアドレス範囲のプレフィックス長を短くし集約した複数の集約アドレス範囲を生成する第１生成部と、前記複数の集約アドレス範囲を前記複数の中継部の各々に割り当てたＩＰ空間割当テーブルを、前記アドレス空間情報として生成する第２生成部とを含み、前記経路割当部は、前記経路学習部によって学習された複数の経路情報を前記ＩＰ空間割当テーブルに基づいて前記経路情報単位で割り当てることによって、前記複数の割当経路テーブルを生成するとしても良い。適用例４のネットワーク中継装置によれば、複数の中継部の各々において、他の中継部に登録されている経路情報とのロンゲストマッチの関係を判断することなくルーティング処理を実現することができる。
【００１２】
［適用例５］  適用例４に記載のネットワーク中継装置であって、前記複数の中継部の各々は、前記データフレームを受信する受信部と、前記受信部によって受信されたデータフレームの宛先ＩＰアドレスに対応する経路情報が、前記経路登録部によって自身に登録された割当経路テーブルに存在する場合、前記経路登録部によって自身に登録された割当経路テーブルに基づいて、前記受信部によって受信されたデータフレームにおけるデータリンク層の宛先アドレスを設定し、該データフレームを転送する第１転送部と、前記受信部によって受信されたデータフレームの宛先ＩＰアドレスに対応する経路情報が、前記経路登録部によって自身に登録された割当経路テーブルに存在しない場合、前記経路登録部によって自身に登録されたアドレス空間情報に基づいて、前記受信部によって受信されたデータフレームの宛先ＩＰアドレスに対応する経路情報が登録された中継部に、該データフレームを転送する第２転送部とを含むとしても良い。適用例５のネットワーク中継装置によれば、集約アドレス範囲によるアドレス空間情報に基づいて、ロンゲストマッチの規則に従ったルーティング処理を実現することができる。
【００１３】
［適用例６］  適用例１ないし適用例５のいずれかのネットワーク中継装置であって、前記複数の中継部の各々は、前記複数の中継部における他の中継部に前記データフレームを転送する場合、前記他の中継部に通知する通知情報を前記データフレームに付加する指示付加部を含み、前記通知情報は、前記内部ネットワークにおける前記他の中継部を特定する第１情報と、前記他の中継部に要求する処理を示す第２情報と、前記外部ネットワークに対して前記データフレームを転送すべき経路の候補を示す第３情報と、前記複数の中継部のうち前記データフレームが経由した中継部を示す第４情報との少なくとも一つを含み、前記ネットワーク中継装置は、更に、前記複数の経路情報における前記ＩＰアドレス範囲に前記転送先として対応付けられた転送先ＩＰアドレスの各々に、データリンク層の宛先アドレスを対応付けた複数のアドレス解決プロトコル（ＡＲＰ）情報を学習するＡＲＰ学習部と、前記複数の割当経路テーブルへの前記複数の経路情報の割り当てに応じて、前記ＡＲＰ学習部によって学習された複数のＡＲＰ情報を前記ＡＲＰ情報単位で割り当てた複数のＡＲＰテーブルを生成するＡＲＰ割当部と、前記複数のＡＲＰテーブルの各々を前記複数の中継部に登録するＡＲＰ登録部とを備えても良い。適用例６のネットワーク中継装置によれば、各中継部に分散される経路情報に応じて必要なＡＲＰ情報を各中継部に分散して登録しながら、通知情報に基づいてデータフレームを適切に転送することができる。
【００１４】
［適用例７］  適用例６のいずれかのネットワーク中継装置は、更に、前記複数のＡＲＰ情報における前記宛先アドレスの各々に、データリンク層の送信元アドレスを対応付けた複数の送信元アドレス情報を学習する送信元アドレス学習部と、前記複数のＡＲＰテーブルへの前記複数のＡＲＰ情報の割り当てに応じて、前記送信元アドレス学習部によって学習された複数の送信元アドレス情報を前記送信元アドレス情報単位で割り当てた複数の送信元アドレステーブルを生成する送信元アドレス割当部と、前記複数の送信元アドレステーブルの各々を前記複数の中継部に登録する送信元アドレス登録部とを備えても良い。適用例７のネットワーク中継装置によれば、各中継部に分散されるＡＲＰ情報に応じて必要な送信元アドレス情報を各中継部に登録することができる。
【００１５】
［適用例８］  適用例１ないし適用例７のいずれかのネットワーク中継装置であって、前記経路割当部は、少なくとも二つの前記割当経路テーブルに重複して同じ前記経路情報が割り当てられるように、前記複数の割当経路テーブルを生成しても良い。適用例８のネットワーク中継装置によれば、複数の中継部の一つに障害が発生した場合であっても、残余の中継部に登録されている経路情報に基づいてルーティング処理を継続することができる。
【００１６】
［適用例９］  適用例１ないし適用例８のいずれかのネットワーク中継装置であって、前記複数の中継部の各々は、前記経路学習部、前記経路割当部、前記空間情報生成部および前記経路登録部として並行して動作可能であり、前記複数の中継部は、前記複数の中継部の中から、前記経路学習部、前記経路割当部、前記空間情報生成部および前記経路登録部として並行して動作すべき中継部を決定するとしても良い。適用例９のネットワーク中継装置によれば、経路情報の学習から登録までの処理を中継部に実行させつつ、複数の中継部の一部に障害が発生した場合であっても、残余の中継部によってルーティング処理を再開することができる。
【００１７】
［適用例１０］  適用例１ないし適用例９のいずれかのネットワーク中継装置であって、前記中継部は、前記複数の外部ネットワークのうち自身にリンクアグリゲーションで接続された外部ネットワークに対して、前記経路登録部によって自身に登録された割当経路テーブルのＩＰアドレス範囲を通知する経路通知部を含むとしても良い。適用例１０のネットワーク中継装置によれば、各中継部において、リンクアグリゲーションで接続された外部ネットワークから、自身に割り当てられたＩＰアドレス範囲に対応するデータフレームを積極的に受信することによって、内部ネットワークにおけるデータフレームの転送速度を向上させることができる。
【００１８】
［適用例１１］  適用例１ないし適用例１０のいずれかのネットワーク中継装置であって、前記複数の経路情報はバーチャルプライベートネットワーク（ＶＰＮ）を構成する情報であっても良い。適用例１１のネットワーク中継装置によれば、ロンゲストマッチの規則に従いつつ、ＶＰＮにおけるルーティング処理を複数の中継部に効果的に分担させることができる。
【００１９】
［適用例１２］  適用例１ないし適用例１１のいずれかのネットワーク中継装置は、前記複数の中継部の各々を個別に独立したネットワーク中継装置として備え、複数のネットワーク中継装置が協働することによって仮想的な単一のネットワーク中継装置として機能しても良い。適用例１２のネットワーク中継装置によれば、仮想的な単一のネットワーク中継装置において、ロンゲストマッチの規則に従いつつ、個別に独立したネットワーク中継装置である複数の中継部にルーティング処理を効果的に分担させることができる。
【００２０】
［適用例１３］  適用例１３のネットワーク中継システムは、複数の外部ネットワークを相互に接続するネットワーク中継システムであって、前記複数の外部ネットワークの間でやり取りされるデータフレームを中継する内部ネットワークを構築する複数のネットワーク中継装置と、前記内部ネットワークから前記外部ネットワークに対して前記データフレームを転送すべき経路を示す複数の経路情報であって、前記経路情報は、前記データフレームの宛先ＩＰアドレスの割り当て範囲を表すＩＰアドレス範囲に、前記内部ネットワークから前記外部ネットワークに対する転送先を対応付けた情報である、複数の経路情報を学習する経路学習部と、前記複数のネットワーク中継装置の各々に対応する複数の割当経路テーブルであって、前記経路学習部によって学習された複数の経路情報を前記経路情報単位で割り当てた複数の割当経路テーブルを生成する経路割当部と、前記複数の割当経路テーブルの各々に割り当てられた経路情報間における前記ＩＰアドレス範囲同士のＩＰアドレス空間上の対応関係を示すアドレス空間情報を生成する空間情報生成部と、前記アドレス空間情報と共に前記複数の割当経路テーブルの各々を前記複数のネットワーク中継装置に登録する経路登録部とを備え、前記複数のネットワーク中継装置の各々は、前記経路登録部によって自身に登録された割当経路テーブルおよびアドレス空間情報に基づいて、前記データフレームを転送することを特徴とする。適用例１３のネットワーク中継システムによれば、複数のネットワーク中継装置の各々において、アドレス空間情報に基づいて、ネットワーク中継装置自身に登録されている経路情報と、他の中継部に登録されている経路情報との間で、ロンゲストマッチの関係を判断することができる。したがって、ロンゲストマッチの規則に従いつつ、コンピュータネットワークにおけるルーティング処理を複数のネットワーク中継装置に効果的に分担させることができる。
【００２１】
［適用例１４］  適用例１４のネットワーク中継方法は、複数の外部ネットワークを相互に接続するネットワーク中継方法であって、複数のネットワーク中継装置を相互に接続することによって、前記複数の外部ネットワークの間でやり取りされるデータフレームを中継する内部ネットワークを構築し、前記内部ネットワークから前記外部ネットワークに対して前記データフレームを転送すべき経路を示す複数の経路情報であって、前記経路情報は、前記データフレームの宛先ＩＰアドレスの割り当て範囲を表すＩＰアドレス範囲に、前記内部ネットワークから前記外部ネットワークに対する転送先を対応付けた情報である、複数の経路情報を学習し、前記複数のネットワーク中継装置の各々に対応する複数の割当経路テーブルであって、前記経路学習部によって学習された複数の経路情報を前記経路情報単位で割り当てた複数の割当経路テーブルを生成し、前記複数の割当経路テーブルの各々に割り当てられた経路情報間における前記ＩＰアドレス範囲同士のＩＰアドレス空間上の対応関係を示すアドレス空間情報を生成し、前記アドレス空間情報と共に前記複数の割当経路テーブルの各々を前記複数のネットワーク中継装置に登録し、前記複数のネットワーク中継装置の各々が、自身に登録された割当経路テーブルおよびアドレス空間情報に基づいて、前記データフレームを転送することを特徴とする。適用例１４のネットワーク中継方法によれば、複数のネットワーク中継装置の各々において、アドレス空間情報に基づいて、ネットワーク中継装置自身に登録されている経路情報と、他の中継部に登録されている経路情報との間で、ロンゲストマッチの関係を判断することができる。したがって、ロンゲストマッチの規則に従いつつ、コンピュータネットワークにおけるルーティング処理を複数のネットワーク中継装置に効果的に分担させることができる。
【００２２】
［適用例１５］  適用例１５のネットワーク中継装置は、データフレームを中継するネットワーク中継装置であって、リンクアグリゲーションによって単一の仮想インタフェースを構成する複数のインタフェースと、前記複数のインタフェースの各々に接続された接続先から、各接続先がルーティングを担当する前記データフレームの宛先ＩＰアドレスの割り当て範囲を示すＩＰアドレス範囲を、各接続先に応じた前記インタフェースに対応付けて学習する割当学習部と、前記仮想インタフェースから送信すべきデータフレームの宛先ＩＰアドレスが前記学習部によって学習されたＩＰアドレス範囲に属する場合、前記複数のインタフェースのうち前記割当学習部によって該ＩＰアドレス範囲に対応付けられたインタフェースから、該データフレームを転送する転送部とを備えることを特徴とする。適用例１５のネットワーク中継装置によれば、リンクアグリゲーションによって接続された接続先が所属するコンピュータネットワークにおけるデータフレームの転送速度を向上させることができる。
【００２３】
本発明の形態は、ネットワーク中継装置、ネットワーク中継システムおよびネットワーク中継方法に限るものではなく、例えば、ネットワーク中継装置の一部を構成する部品、ネットワーク中継装置の機能をコンピュータに実現させるためのプログラムなどの他の形態に適用することもできる。また、本発明は、前述の形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内において様々な形態で実施し得ることは勿論である。
【図面の簡単な説明】
【００２４】
【図１】コンピュータネットワークの構成を示す説明図である。
【図２】コンピュータネットワークにおける各ネットワークインタフェースに設定されているＩＰアドレスを示す説明図である。
【図３】内部ネットワーク中継装置の構成を示す説明図である。
【図４】内部ネットワーク中継装置における制御部の詳細構成を示す説明図である。
【図５】内部ネットワーク中継装置における転送部の詳細構成を示す説明図である。
【図６】複数の内部ネットワーク中継装置の間で転送されるデータフレームのフレーム構造を模式的に示す説明図である。
【図７】内部ネットワーク中継装置の制御部が実行するプロトコル処理装置決定処理を示すフローチャートである。
【図８】内部経路テーブルを示す説明図である。
【図９】内部ネットワーク中継装置の制御部が実行する転送準備処理を示すフローチャートである。
【図１０】学習経路情報を示す説明図である。
【図１１】学習ＡＲＰ情報を示す説明図である。
【図１２】学習送信元アドレス情報を示す説明図である。
【図１３】割当経路テーブルを示す説明図である。
【図１４】ＡＲＰテーブルを示す説明図である。
【図１５】送信元アドレステーブルを示す説明図である。
【図１６】内部ネットワーク中継装置の転送部が実行する転送処理を示すフローチャートである。
【図１７】内部ネットワーク中継装置の転送部が実行する転送処理を示すフローチャートである。
【図１８】内部ネットワーク中継装置の転送部が実行する転送処理を示すフローチャートである。
【図１９】第１実施例におけるデータフレーム転送の一例を示す説明図である。
【図２０】再設定された割当経路テーブルを示す説明図である。
【図２１】障害復旧のため再割当された割当経路テーブルを示す説明図である。
【図２２】第１実施例の変形例１における割当経路テーブルを示す説明図である。
【図２３】第２実施例における内部ネットワーク中継装置の転送部の詳細構成を示す説明図である。
【図２４】第２実施例における転送準備処理を示すフローチャートである。
【図２５】集約アドレス範囲を生成する様子を示す説明図である。
【図２６】ＩＰ空間割当テーブルを示す説明図である。
【図２７】第２実施例における割当経路テーブルを示す説明図である。
【図２８】第２実施例におけるＡＲＰテーブルを示す説明図である。
【図２９】送信元アドレステーブルを示す説明図である。
【図３０】第２実施例における内部ネットワーク中継装置の転送部が実行する転送処理を示すフローチャートである。
【図３１】第２実施例における内部ネットワーク中継装置の転送部が実行する転送処理を示すフローチャートである。
【図３２】第２実施例におけるデータフレーム転送の一例を示す説明図である。
【図３３】再設定された集約アドレス範囲を生成する様子を示す説明図である。
【図３４】再設定されたＩＰ空間割当テーブルを示す説明図である。
【図３５】再設定された割当経路テーブルを示す説明図である。
【図３６】障害復旧のため再設定されたＩＰ空間割当テーブルを示す説明図である。
【図３７】第２実施例の変形例におけるＩＰ空間割当テーブルを示す説明図である。
【図３８】第３実施例における内部ネットワーク中継装置の構成を示す説明図である。
【図３９】第３実施例における外部ネットワーク中継装置の構成を示す説明図である。
【図４０】リンク割当テーブルを示す説明図である。
【図４１】第３実施例におけるデータフレーム転送の一例を示す説明図である。
【発明を実施するための形態】
【００２５】
以上説明した本発明の構成および作用を一層明らかにするために、以下本発明を適用したコンピュータネットワークについて説明する。
【００２６】
Ａ．第１実施例：
Ａ１．コンピュータネットワークの構成：
図１は、コンピュータネットワーク１０の構成を示す説明図である。コンピュータネットワーク１０は、複数の外部ネットワーク２０と、ネットワーク中継システム３０とを備え、ネットワーク中継システム３０は、複数の外部ネットワーク２０を相互に接続する。
【００２７】
本実施例では、複数の外部ネットワーク２０は、ネットワーク中継システム３０を介して、イーサネット（登録商標）に準拠したデータフレームをやり取りする。ネットワーク中継システム３０を通じて相互に接続された複数の外部ネットワーク２０は、ローカルエリアネットワーク（Local Area Network、以下「ＬＡＮ」と呼ぶ）を協働して構築する。複数の外部ネットワーク２０は、単一のＬＡＮを構築しても良いし、更に、そのＬＡＮにおいて物理的な接続構成とは独立した論理的なネットワークグループを設定したバーチャルＬＡＮ（Virtual LAN、以下「ＶＬＡＮ」と呼ぶ）を構築しても良い。
【００２８】
本実施例では、ネットワーク中継システム３０によって相互に接続される外部ネットワーク２０の数は、三つであるが、他の実施形態において、二つであっても良いし、四つ以上であっても良い。本実施例の説明では、外部ネットワークを一般的に示す場合には、「２０」の符号を用い、特定の外部ネットワークを示す場合には、「２０」の後に英文字を付した符号を用いる。図１では、三つの外部ネットワークを例示し、それぞれに「２０ａ」、「２０ｂ」および「２０ｃ」の符号を用いる。
【００２９】
複数の外部ネットワーク２０の各々は、ネットワーク中継システム３０に対してデータフレームを中継する外部ネットワーク中継装置２００を備える。本実施例では、外部ネットワーク中継装置２００は、ＯＳＩ(Open System Interconnection)参照モデルにおけるネットワーク層のプロトコルであるＩＰ(Internet Protocol)、およびＯＳＩ参照モデルにおけるデータリンク層のプロトコルであるイーサネットに準拠した転送方式を実現するレイヤ３スイッチやルータとも呼ばれるネットワーク中継装置である。
【００３０】
本実施例の説明では、外部ネットワーク中継装置を一般的に示す場合には、「２００」の符号を用い、特定の外部ネットワーク中継装置を示す場合には、「２００」の後に、その外部ネットワーク中継装置が所属する外部ネットワークと同じ英文字を付した符号を用いる。図１の例では、外部ネットワーク２０ａは、外部ネットワーク中継装置２００ａを備え、外部ネットワーク２０ｂは、外部ネットワーク中継装置２００ｂを備え、外部ネットワーク２０ｃは、外部ネットワーク中継装置２００ｃを備える。
【００３１】
外部ネットワーク中継装置２００は、ＩＰおよびイーサネットに準拠してデータフレームをやり取りするネットワークインタフェースを備える。図１の例では、外部ネットワーク中継装置２００ａは、二つのネットワークインタフェース２１ａ，２２ａを備え、外部ネットワーク中継装置２００ｂは、二つのネットワークインタフェース２１ｂ，２２ｂを備え、外部ネットワーク中継装置２００ｃは、二つのネットワークインタフェース２１ｃ，２２ｃを備える。
【００３２】
外部ネットワーク２０は、種々の演算処理を実行する端末装置６１０を備える。本実施例の説明では、外部ネットワーク２０に所属する端末装置を一般的に示す場合には、「６１０」の符号を用い、特定の外部ネットワーク２０に所属する端末装置を示す場合には、その外部ネットワーク２０の符号に付された英文字を「６１０」の後に付した符号を用いる。例えば、外部ネットワーク２０ａに所属する端末装置には、「６１０ａ」の符号を用い、外部ネットワーク２０ｂに所属する端末装置には、「６１０ｂ」の符号を用いる。
【００３３】
ネットワーク中継システム３０は、複数の外部ネットワーク２０の間でやり取りされるデータフレームを中継する内部ネットワークを構築する複数の中継部として複数の内部ネットワーク中継装置３００を備える。本実施例では、内部ネットワーク中継装置３００は、ＩＰおよびイーサネットに準拠した転送方式を実現するレイヤ３スイッチやルータとも呼ばれるネットワーク中継装置である。
【００３４】
本実施例では、複数の内部ネットワーク中継装置３００の各々は、個別に独立したネットワーク中継装置であり、ネットワーク中継システム３０は、複数の内部ネットワーク中継装置３００が協働することによって仮想的な単一のネットワーク中継装置として機能する。他の実施形態において、複数の内部ネットワーク中継装置３００の各々を部品として一つの筐体に納めた単一のネットワーク中継装置としてネットワーク中継システム３０を構成しても良い。本実施例の説明では、内部ネットワーク中継装置を一般的に示す場合には、「３００」の符号を用い、特定の内部ネットワーク中継装置を示す場合には、「３００」の後に英文字を付した符号を用いる。図１では、三つの内部ネットワーク中継装置を例示し、それぞれに「３００ａ」、「３００ｂ」および「３００ｃ」の符号を用いる。
【００３５】
内部ネットワーク中継装置３００は、ＩＰおよびイーサネットに準拠してデータフレームをやり取りするネットワークインタフェースを備える。図１の例では、内部ネットワーク中継装置３００ａは、三つのネットワークインタフェース３１ａ，３２ａ，３３ａを備え、内部ネットワーク中継装置３００ｂは、四つのネットワークインタフェース３１ｂ，３２ｂ，３３ｂ，３４ｂを備え、内部ネットワーク中継装置３００ｃは、三つのネットワークインタフェース３１ｃ，３２ｃ，３３ｃを備える。本実施例の説明では、内部ネットワーク中継装置３００の複数のネットワークインタフェースを一般的に示す場合には、順に「３１」，「３２」，「３３」，「３４」の符号を用い、特定のネットワークインタフェースを示す場合には、その内部ネットワーク中継装置３００の符号に付された英文字を数字の後に付した符号を用いる。
【００３６】
内部ネットワーク中継装置３００ａと内部ネットワーク中継装置３００ｂとは、ネットワークインタフェース３３ａおよびネットワークインタフェース３３ｂによって接続されている。内部ネットワーク中継装置３００ｂと内部ネットワーク中継装置３００ｃとは、ネットワークインタフェース３４ｂおよびネットワークインタフェース３３ｃによって接続されている。
【００３７】
外部ネットワーク中継装置２００ａと内部ネットワーク中継装置３００ａとは、ネットワークインタフェース２１ａ，３１ａによって接続されている。外部ネットワーク中継装置２００ａと内部ネットワーク中継装置３００ｃとは、ネットワークインタフェース２２ａ，３１ｃによって接続されている。ネットワークインタフェース２１ａ，３１ａ、およびネットワークインタフェース２２ａ，３１ｃによる二つの接続回線は、仮想的な単一のネットワークインタフェースとしてリンクアグリゲーション５０ａを構成する。
【００３８】
外部ネットワーク中継装置２００ｂと内部ネットワーク中継装置３００ａとは、ネットワークインタフェース２１ｂ，３２ａによって接続されている。外部ネットワーク中継装置２００ｂと内部ネットワーク中継装置３００ｂとは、ネットワークインタフェース２２ｂ，３１ｂによって接続されている。ネットワークインタフェース２１ｂ，３２ａ、およびネットワークインタフェース２２ｂ，３１ｂによる二つの接続回線は、仮想的な単一のネットワークインタフェースとしてリンクアグリゲーション５０ｂを構成する。
【００３９】
外部ネットワーク中継装置２００ｃと内部ネットワーク中継装置３００ｂとは、ネットワークインタフェース２１ｃ，３２ｂによって接続されている。外部ネットワーク中継装置２００ｃと内部ネットワーク中継装置３００ｃとは、ネットワークインタフェース２２ｃ，３２ｃによって接続されている。ネットワークインタフェース２１ｃ，３２ｂ、およびネットワークインタフェース２２ｃ，３２ｃによる二つの接続回線は、仮想的な単一のネットワークインタフェースとしてリンクアグリゲーション５０ｃを構成する。
【００４０】
図２は、コンピュータネットワーク１０における各ネットワークインタフェースに設定されているＩＰアドレスを示す説明図である。図２の第４列には、「ネットワークインタフェース」としてネットワークインタフェースを特定する符号を示した。図２の第３列には、第４列のネットワークインタフェースを備える「ネットワーク中継装置」として外部ネットワーク中継装置または内部ネットワーク中継装置を特定する符号を示した。図２の第２列には、第４列のネットワークインタフェースに設定されているＩＰアドレスを示した。図２の第１列には、接続回線毎に第２列のＩＰアドレスが属するＩＰアドレス範囲を示した。
【００４１】
図２の第１列に示すＩＰアドレス範囲のうち、「１０．１．１２．０／２８」および「１０．１．２３．０／２８」は、ネットワーク中継システム３０において内部ネットワーク中継装置３００ａ，３００ｂ，３００ｃの間でデータフレームを送受信するための内部経路であり、外部ネットワーク中継装置２００には通知されない経路情報である。
【００４２】
図３は、内部ネットワーク中継装置３００の構成を示す説明図である。内部ネットワーク中継装置３００は、制御部３１０と、転送部３３０と、インタフェース部３８０とを備える。内部ネットワーク中継装置３００の制御部３１０は、転送部３３０およびインタフェース部３８０の動作を制御する。内部ネットワーク中継装置３００の転送部３３０は、インタフェース部３８０で受信されたデータフレームを他のネットワーク中継装置に転送するための処理を実施する。内部ネットワーク中継装置３００のインタフェース部３８０は、複数のネットワークインタフェースとして、本実施例では、イーサネットに準拠したツイストペアケーブルや光ファイバなどのネットワークインタフェースを備える。外部ネットワーク中継装置２００の構成は、図３に示す内部ネットワーク中継装置３００に準じた構成である。
【００４３】
図４は、内部ネットワーク中継装置３００における制御部３１０の詳細構成を示す説明図である。図５は、内部ネットワーク中継装置３００における転送部３３０の詳細構成を示す説明図である。制御部３１０は、ＣＰＵ（Central Processing Unit）３１１と、記憶部３１２とを備え、転送部３３０は、検索部３４０と、記憶部３５０と、内部ヘッダ処理部３６０とを備える。
【００４４】
制御部３１０のＣＰＵ３１１は、記憶部３１２に記憶されている制御プログラム３２０に基づいて種々の処理を実行する。本実施例では、ＣＰＵ３１１は、ＯＳＰＦ(Open Shortest Path First)やＢＧＰ(Border Gateway Protocol)などのルーティングプロトコルに基づく処理を実行する。制御部３１０の記憶部３１２には、制御プログラム３２０の他、転送部３３０およびインタフェース部３８０を管理するための種々の情報である管理情報３２８や、ネットワーク中継システム３０の管理者によって設定される種々の情報である設定情報３２９が記憶されている。
【００４５】
転送部３３０の検索部３４０は、データフレームを転送するための情報を、そのデータフレームに含まれる情報に基づいて、記憶部３５０に記憶されている情報から検索する。検索部３４０は、ネットワーク層検索部３４１と、データリンク層検索部３４２と、内部経路検索部３４３とを備える。検索部３４０のネットワーク層検索部３４１は、データフレームに付与されたＩＰヘッダに格納された宛先ＩＰアドレスに基づいて、そのデータフレームを転送すべきネットワーク層の転送先を特定する転送先ＩＰアドレスを検索する。検索部３４０のデータリンク層検索部３４２は、ネットワーク層検索部３４１によって検索された転送先ＩＰアドレスに基づいて、そのデータフレームを送信すべきデータリンク層の宛先を特定する宛先ＭＡＣアドレスを検索すると共に、その検察された宛先ＭＡＣアドレスに基づいて、そのデータフレームを送出すべきネットワークインタフェースを検索する。検索部３４０の内部経路検索部３４３は、データフレームに付与されたＩＰヘッダに格納された宛先ＩＰアドレスに基づいて、ネットワーク中継システム３０における複数の内部ネットワーク中継装置３００の間でデータフレームを送受信するための内部経路を検索する。
【００４６】
転送部３３０の記憶部３５０は、データフレームの転送に用いられる情報を記憶する。記憶部３５０には、割当経路テーブル３５２と、内部経路テーブル３５３と、ＡＲＰテーブル３５５と、送信元アドレステーブル３５６とが記憶されている。記憶部３５０に記憶されている各テーブルの詳細については後述する。
【００４７】
転送部３３０の内部ヘッダ処理部３６０は、ネットワーク中継システム３０における複数の内部ネットワーク中継装置３００の間で転送されるデータフレームのヘッダを処理する。
【００４８】
図６は、複数の内部ネットワーク中継装置３００の間で転送されるデータフレームのフレーム構造７００を模式的に示す説明図である。フレーム構造７００は、その先頭側から順に、内部転送ヘッダ７８０と、イーサネットヘッダ７１０と、ＩＰヘッダ７２０と、ペイロードフィールド７３０と、ＦＣＳ(Frame Check Sequence)フィールド７４０とを備える。フレーム構造７００のイーサネットヘッダ７１０は、宛先ＭＡＣアドレスを格納するフィールド７１２と、送信元ＭＡＣアドレスを格納するフィールド７１４とを含む。フレーム構造７００のＩＰヘッダ７２０は、宛先ＩＰアドレスを格納するフィールド７２２と、送信元ＩＰアドレスを格納するフィールド７２４とを含む。
【００４９】
フレーム構造７００の内部転送ヘッダ７８０は、データフレームを複数の内部ネットワーク中継装置３００の間で転送する場合に、内部ヘッダ処理部３６０によってデータフレームに付与されるヘッダである。内部転送ヘッダ７８０は、第１ヘッダ情報７８１と、第２ヘッダ情報７８２と、第３ヘッダ情報７８３と、第４ヘッダ情報７８４とを含む。
【００５０】
内部転送ヘッダ７８０の第１ヘッダ情報７８１は、データフレームの転送先となる他の内部ネットワーク中継装置３００である内部転送先を示す。第１ヘッダ情報７８１は、他の内部ネットワーク中継装置３００が受信可能な形式であればよく、本実施例では、イーサネットヘッダおよびＩＰヘッダであるが、独自のヘッダ形式であっても良い。内部転送ヘッダ７８０の第２ヘッダ情報７８２は、データフレームの転送先である他の内部ネットワーク中継装置３００に要求する要求処理を示す。内部転送ヘッダ７８０の第３ヘッダ情報７８３は、外部ネットワーク２０に対してデータフレームを転送すべき経路情報の候補である経路候補を示す。内部転送ヘッダ７８０の第４ヘッダ情報７８４は、複数の内部ネットワーク中継装置３００のうちデータフレームが経由した内部ネットワーク中継装置３００を特定する経由履歴を示す。
【００５１】
図４に示すように、制御部３１０は、制御プログラム３２０に基づいてＣＰＵ３１１が動作することによって実現される機能として、情報学習部３２１と、情報割当部３２２と、空間情報生成部３２３と、情報登録部３２４とを備える。本実施例では、ネットワーク中継システム３０における複数の内部ネットワーク中継装置３００の一つが、データフレームを中継する中継部としての機能と並行して、情報学習部３２１、情報割当部３２２、空間情報生成部３２３、情報登録部３２４の各機能を有効にして動作するプロトコル処理装置として決定される。プロトコル処理装置として決定された内部ネットワーク中継装置３００は、外部ネットワーク２０との間で各種のプロトコル処理を実施する。
【００５２】
制御部３１０の情報学習部３２１は、経路学習部として機能し、ネットワーク中継システム３０から外部ネットワーク２０に対するデータフレームの転送先ＩＰアドレスを示す複数の経路情報を学習する。情報学習部３２１によって学習される経路情報は、データフレームの宛先ＩＰアドレスの割り当て範囲を示すＩＰアドレス範囲に、ネットワーク中継システム３０から外部ネットワーク２０に対する転送先を対応付けた情報である。
【００５３】
本実施例では、情報学習部３２１は、経路学習部に加え、ＡＲＰ学習部および送信元アドレス学習部としても機能する。ＡＲＰ学習部として機能する情報学習部３２１は、複数の経路情報におけるＩＰアドレス範囲に転送先として対応付けられた転送先ＩＰアドレスの各々に、データリンク層の宛先アドレスである宛先ＭＡＣ(Media Access Control)アドレスを対応付けた複数のアドレス解決プロトコル（Address Resolution Protocol, ＡＲＰ）情報を学習する。送信元アドレス学習部として機能する情報学習部３２１は、内部ネットワーク中継装置３００において受信されたデータフレームの送信元ＭＡＣアドレスと、そのデータフレームを受信したネットワークインタフェースとを、転送対象のデータフレームの宛先ＭＡＣアドレスと、そのデータフレームを出力すべきネットワークインタフェースである出力ネットワークインタフェースとして対応付けた複数の送信元アドレス情報を学習する。複数の送信元アドレス情報は、ＡＲＰ情報における宛先ＭＡＣアドレスから出力ネットワークインタフェースを検索する際に用いられる。本実施例では、複数の送信元アドレス情報は、出力ネットワークインタフェースのＭＡＣアドレスを送信元ＭＡＣアドレスとして含む。
【００５４】
制御部３１０の情報割当部３２２は、経路割当部として機能し、ネットワーク中継システム３０における複数の内部ネットワーク中継装置３００の各々に対応する複数の割当経路テーブル３５２を生成する。情報割当部３２２によって生成される複数の割当経路テーブル３５２には、情報学習部３２１によって学習された複数の経路情報が経路情報単位で割り当てられる。
【００５５】
本実施例では、情報割当部３２２は、経路割当部に加え、ＡＲＰ割当部および送信元アドレス割当部としても機能する。ＡＲＰ割当部として機能する情報割当部３２２は、複数の割当経路テーブル３５２への複数の経路情報の割り当てに応じて、ＡＲＰ学習部によって学習された複数のＡＲＰ情報をＡＲＰ情報単位で割り当てた複数のＡＲＰテーブル３５５を生成する。送信元アドレス割当部として機能する情報割当部３２２は、複数のＡＲＰテーブル３５５への複数のＡＲＰ情報の割り当てに応じて、送信元アドレス学習部によって学習された複数の送信元アドレス情報を送信元アドレス情報単位で割り当てた複数の送信元アドレステーブル３５６を生成する。
【００５６】
制御部３１０の空間情報生成部３２３は、複数の割当経路テーブル３５２の各々に割り当てられた経路情報間におけるＩＰアドレス範囲同士のＩＰアドレス空間上の対応関係を示すアドレス空間情報を生成する。本実施例では、空間情報生成部３２３によって生成されるアドレス空間情報は、複数の割当経路テーブル３５２に割り当てられた経路情報の各々に関連付けられ、よりプレフィックス長の長い共通のＩＰアドレス空間に属するＩＰアドレス範囲の経路情報が、複数の割当経路テーブル３５２における他の割当経路テーブル３５２に割り当てられているか否かを示す情報である。
【００５７】
制御部３１０の情報登録部３２４は、経路登録部として機能し、アドレス空間情報と共に複数の割当経路テーブル３５２の各々を複数の内部ネットワーク中継装置３００に登録する。情報登録部３２４によって割当経路テーブル３５２が登録された複数の内部ネットワーク中継装置３００の各々は、情報登録部３２４によって自身に登録された割当経路テーブル３５２およびアドレス空間情報に基づいて、データフレームを転送する。
【００５８】
本実施例では、情報登録部３２４は、経路登録部に加え、ＡＲＰ登録部および送信元アドレス登録部としても機能する。ＡＲＰ登録部として機能する情報登録部３２４は、複数のＡＲＰテーブル３５５の各々を複数の内部ネットワーク中継装置３００に登録する。送信元アドレス登録部として機能する情報登録部３２４は、複数の送信元アドレステーブル３５６の各々を複数の内部ネットワーク中継装置３００に登録する。
【００５９】
Ａ２．コンピュータネットワークの動作：
Ａ２−１．プロトコル処理装置決定処理：
図７は、内部ネットワーク中継装置３００の制御部３１０が実行するプロトコル処理装置決定処理（ステップＳ１００）を示すフローチャートである。プロトコル処理装置決定処理（ステップＳ１００）は、ネットワーク中継システム３０における複数の内部ネットワーク中継装置３００の中からプロトコル処理装置として動作すべき内部ネットワーク中継装置３００を決定する処理である。本実施例では、プロトコル処理装置決定処理（ステップＳ１００）は、制御部３１０のＣＰＵ３１１が制御プログラム３２０に基づいて動作することによって実現される。本実施例では、ネットワーク中継システム３０において内部ネットワーク中継装置３００の増減があった場合、複数の内部ネットワーク中継装置３００の各々における制御部３１０は、プロトコル処理装置決定処理（ステップＳ１００）を開始する。
【００６０】
内部ネットワーク中継装置３００の制御部３１０は、プロトコル処理装置決定処理（ステップＳ１００）を開始すると、記憶部３１２に記憶されている設定情報３２９に基づいて、他の内部ネットワーク中継装置３００の存在を認識する（ステップＳ１１０）。その後、制御部３１０は、他の内部ネットワーク中継装置３００との通信に用いる内部経路情報を学習する（ステップＳ１２０）。本実施例では、制御部３１０は、記憶部３１２に記憶されている設定情報３２９に基づいて内部経路情報を静的に学習するが、他の実施形態において、ルーティングプロトコルに従って動的に学習しても良い。内部経路情報を学習した後（ステップＳ１２０）、制御部３１０は、学習によって得た内部経路情報に基づいて、記憶部３５０に記憶されている内部経路テーブル３５３を更新する（ステップＳ１２５）。
【００６１】
図８は、内部経路テーブル３５３を示す説明図である。内部経路テーブル３５３は、内部ネットワーク中継装置３００同士の通信に用いるＩＰ経路であるＩＰアドレス範囲と、そのＩＰアドレス範囲にデータフレームを転送する際の転送先ＩＰアドレス（ネクストホップ）とを示す。
【００６２】
本実施例の説明では、内部経路テーブルを一般的に示す場合には、「３５３」の符号を用い、特定の内部経路テーブルを示す場合には、「３５３」の後に、その内部経路テーブルを備える内部ネットワーク中継装置３００と同じ英文字を付した符号を用いる。図８の例では、内部ネットワーク中継装置３００ａは、内部経路テーブル３５３ａを備え、内部ネットワーク中継装置３００ｂは、内部経路テーブル３５３ｂを備え、内部ネットワーク中継装置３００ｃは、内部経路テーブル３５３ｃを備える。
【００６３】
図７の説明に戻り、内部経路テーブル３５３を更新した後（ステップＳ１２５）、制御部３１０は、内部経路テーブル３５３に基づいて、自装置の優先度を他の内部ネットワーク中継装置３００に通知する（ステップＳ１３０）。本実施例では、複数の内部ネットワーク中継装置３００の各優先度は、設定情報３２９として予め設定されている。本実施例では、内部ネットワーク中継装置３００ａ，３００ｂ，３００ｃの順に高い優先度が設定されている。
【００６４】
自装置の優先度を他の内部ネットワーク中継装置３００に通知した後（ステップＳ１３０）、制御部３１０は、他装置の優先度を確認する（ステップＳ１４０）。その後、制御部３１０は、複数の内部ネットワーク中継装置３００の各優先度に応じてプロトコル処理装置となるべき内部ネットワーク中継装置３００を決定する（ステップＳ１５０）。本実施例では、単独の内部ネットワーク中継装置３００がプロトコル処理装置として決定され、その内部ネットワーク中継装置３００が外部ネットワーク２０との間で各種のプロトコル処理を実施するが、他の実施形態において、プロトコル処理毎に異なる内部ネットワーク中継装置３００をプロトコル処理装置として決定しても良い。
【００６５】
Ａ２−２．転送準備処理：
図９は、内部ネットワーク中継装置３００の制御部３１０が実行する転送準備処理（ステップＳ２００）を示すフローチャートである。転送準備処理（ステップＳ２００）は、複数の内部ネットワーク中継装置３００の各々に割当経路テーブル３５２、ＡＲＰテーブル３５５および送信元アドレステーブル３５６を準備する処理である。本実施例では、転送準備処理（ステップＳ２００）は、制御部３１０のＣＰＵ３１１が制御プログラム３２０に基づいて動作することによって実現される。本実施例では、プロトコル処理装置決定処理（ステップＳ１００）によってプロトコル処理装置として決定された内部ネットワーク中継装置３００の制御部３１０は、通信プロトコルに関する制御情報であるプロトコル制御情報が外部ネットワーク２０から通知されると、転送準備処理（ステップＳ２００）を開始する。
【００６６】
内部ネットワーク中継装置３００の制御部３１０は、転送準備処理（ステップＳ２００）を開始すると、外部ネットワーク２０の外部ネットワーク中継装置２００から通知されるプロトコル制御情報を受信する（ステップＳ２１０）。本実施例では、プロトコル処理装置とは異なる内部ネットワーク中継装置３００は、外部ネットワーク中継装置２００からプロトコル制御情報を受信すると、そのプロトコル制御情報を、プロトコル処理装置として動作する内部ネットワーク中継装置３００に転送する。プロトコル処理装置として動作する内部ネットワーク中継装置３００の制御部３１０は、プロトコル制御情報を受信した後（ステップＳ２１０）、情報学習部３２１として動作することによって、プロトコル制御情報および既知の情報に基づいて、経路情報、ＡＲＰ情報、送信元アドレス情報を学習する（ステップＳ２２０）。
【００６７】
図１０は、学習経路情報３９１を示す説明図である。制御部３１０は、プロトコル制御情報に基づいて経路情報を学習することによって学習経路情報３９１を生成する。学習経路情報３９１は、ネットワーク中継システム３０から外部ネットワーク２０に対してデータフレームを転送すべき経路情報として、ネットワーク中継システム３０から外部ネットワーク２０へのＩＰ経路を示すＩＰアドレス範囲と、そのＩＰアドレス範囲にデータフレームを転送する際の転送先ＩＰアドレス（ネクストホップ）とを示す。図１０の第３列には、各経路情報の学習元となった外部ネットワーク中継装置２００のネットワークインタフェースを特定する符号を示した。
【００６８】
図１１は、学習ＡＲＰ情報３９２を示す説明図である。制御部３１０は、プロトコル制御情報に基づいてＡＲＰ情報を学習することによって学習ＡＲＰ情報３９２を生成する。学習ＡＲＰ情報３９２は、学習経路情報３９１および内部経路テーブル３５３における転送先ＩＰアドレスと、その転送先ＩＰアドレスに対応付けた宛先ＭＡＣアドレスとを示す。
【００６９】
本実施例の説明では、ＭＡＣアドレスとして、そのＭＡＣアドレスで特定されるネットワークインタフェースの符号を用いる。例えば、ネットワークインタフェース３３ａのＭＡＣアドレスには符号「３３ａ」を用い、ネットワークインタフェース３４ｂのＭＡＣアドレスには符号「３４ｂ」を用いる。また、リンクアグリゲーション５０ａにおける外部ネットワーク中継装置２００ａ側に構成されるネットワークインタフェースには符号「５０ａ−２００ａ」を用い、リンクアグリゲーション５０ａにおけるネットワーク中継システム３０側に構成されるネットワークインタフェースには符号「５０ａ−３０」を用いる。
【００７０】
図１２は、学習送信元アドレス情報３９３を示す説明図である。制御部３１０は、プロトコル制御情報に基づいて送信元アドレス情報を学習することによって学習送信元アドレス情報３９３を生成する。学習送信元アドレス情報３９３は、学習ＡＲＰ情報３９２における宛先ＭＡＣアドレスと、その宛先ＭＡＣアドレスに対応付けた出力ネットワークインタフェースとを示す。本実施例では、学習送信元アドレス情報３９３は、出力ネットワークインタフェースを特定する情報として、出力ネットワークインタフェースのＭＡＣアドレスと共に、その出力ネットワークインタフェースを備えるリンクアグリゲーション５０および内部ネットワーク中継装置３００を示す情報を含む。
【００７１】
図９の説明に戻り、学習経路情報３９１、学習ＡＲＰ情報３９２および学習送信元アドレス情報３９３を生成した後（ステップＳ２２０）、制御部３１０は、情報割当部３２２として動作することによって、複数の割当経路テーブル３５２、複数のＡＲＰテーブル３５５および複数の送信元アドレステーブル３５６を、複数の内部ネットワーク中継装置３００の各々に対応付けて生成する（ステップＳ２３０）。その後、制御部３１０は、空間情報生成部３２３として動作することによって、アドレス空間情報を生成し、複数の割当経路テーブル３５２に関連付ける（ステップＳ２４０）。アドレス空間情報は、複数の割当経路テーブル３５２の各々に割り当てられた経路情報間におけるＩＰアドレス範囲同士のＩＰアドレス空間上の対応関係を示し、本実施例では、よりプレフィックス長の長い共通のＩＰアドレス空間に属するＩＰアドレス範囲の経路情報が、複数の割当経路テーブル３５２における他の割当経路テーブル３５２に割り当てられているか否かを示す。アドレス空間情報を割当経路テーブル３５２に関連付けた後（ステップＳ２４０）、制御部３１０は、情報登録部３２４として動作することによって、複数の割当経路テーブル３５２、複数のＡＲＰテーブル３５５および複数の送信元アドレステーブル３５６を、複数の内部ネットワーク中継装置３００の各々に登録する（ステップＳ２７０）。
【００７２】
図１３は、割当経路テーブル３５２を示す説明図である。割当経路テーブル３５２には、学習経路情報３９１における複数の経路情報が経路情報単位で割り当てられ、これらの経路情報にはアドレス空間情報が関連付けられている。本実施例では、学習経路情報３９１における複数の経路情報は、各々の割当経路テーブル３５２における経路情報の数が同程度になるように割り当てられる。
【００７３】
本実施例の説明では、割当経路テーブルを一般的に示す場合には、「３５２」の符号を用い、特定の割当経路テーブルを示す場合には、「３５２」の後に、その割当経路テーブルに対応する内部ネットワーク中継装置３００と同じ英文字を付した符号を用いる。図１３の例では、割当経路テーブル３５２ａは、内部ネットワーク中継装置３００ａに対応し、割当経路テーブル３５２ｂは、内部ネットワーク中継装置３００ｂに対応し、割当経路テーブル３５２ｃは、内部ネットワーク中継装置３００ｃに対応する。
【００７４】
本実施例では、ＩＰアドレス範囲「０．０．０．０／０」の経路情報は、複数の割当経路テーブル３５２の各々に共通して割り当てられる共有経路情報として設定されている。ＩＰアドレス範囲「０．０．０．０／０」の経路情報には、よりプレフィックス長の長い共通のＩＰアドレス空間に属するＩＰアドレス範囲の経路情報が他の割当経路テーブル３５２に存在するため、「有」を示すアドレス空間情報が関連付けられている。
【００７５】
割当経路テーブル３５２ｂに割り当てられたＩＰアドレス範囲「１００．０．０．０／８」の経路情報には、割当経路テーブル３５２ｃにＩＰアドレス範囲「１００．１．１．０／２４」、「１００．２．０．０／１６」および「１００．２．１．０／２６」の各経路情報が存在するため、「有」を示すアドレス空間情報が関連付けられている。
【００７６】
ＩＰアドレス範囲「０．０．０．０／０」および「１００．０．０．０／８」以外の経路情報には、よりプレフィックス長の長い共通のＩＰアドレス空間に属するＩＰアドレス範囲の経路情報が他の割当経路テーブル３５２に存在しないため、「無」を示すアドレス空間情報が関連付けられている。なお、割当経路テーブル３５２ａに割り当てられたＩＰアドレス範囲「７０．１．０．０／１６」の経路情報には、よりプレフィックス長の長い共通のＩＰアドレス空間に属するＩＰアドレス範囲「７０．１．１．０／２４」の経路情報が存在するが、同じ割当経路テーブル３５２ａに割り当てられているため、「無」を示すアドレス空間情報が関連付けられている。
【００７７】
図１４は、ＡＲＰテーブル３５５を示す説明図である。ＡＲＰテーブル３５５には、学習ＡＲＰ情報３９２における複数のＡＲＰ情報が割当経路テーブル３５２に応じて割り当てられている。本実施例の説明では、ＡＲＰテーブルを一般的に示す場合には、「３５５」の符号を用い、特定のＡＲＰテーブルを示す場合には、「３５５」の後に、そのＡＲＰテーブルに対応する内部ネットワーク中継装置３００と同じ英文字を付した符号を用いる。図１４の例では、ＡＲＰテーブル３５５ａは、内部ネットワーク中継装置３００ａに対応し、ＡＲＰテーブル３５５ｂは、内部ネットワーク中継装置３００ｂに対応し、ＡＲＰテーブル３５５ｃは、内部ネットワーク中継装置３００ｃに対応する。
【００７８】
図１５は、送信元アドレステーブル３５６を示す説明図である。送信元アドレステーブル３５６には、学習送信元アドレス情報３９３における複数の送信元アドレス情報がＡＲＰテーブル３５５に応じて割り当てられている。本実施例の説明では、送信元アドレステーブルを一般的に示す場合には、「３５６」の符号を用い、特定の送信元アドレステーブルを示す場合には、「３５６」の後に、その送信元アドレステーブルに対応する内部ネットワーク中継装置３００と同じ英文字を付した符号を用いる。図１５の例では、送信元アドレステーブル３５６ａは、内部ネットワーク中継装置３００ａに対応し、送信元アドレステーブル３５６ｂは、内部ネットワーク中継装置３００ｂに対応し、送信元アドレステーブル３５６ｃは、内部ネットワーク中継装置３００ｃに対応する。
【００７９】
Ａ２−３．中継処理：
図１６、図１７および図１８は、内部ネットワーク中継装置３００の転送部３３０が実行する転送処理（ステップＳ３００）を示すフローチャートである。転送処理（ステップＳ３００）は、データフレームを中継する処理である。本実施例では、転送処理（ステップＳ３００）は、転送部３３０の検索部３４０および内部ヘッダ処理部３６０が各々の電気回路構成に基づいて動作することによって実現されるが、他の実施形態において、少なくとも一部の機能をＣＰＵがプログラムに基づいて動作することによって実現しても良い。本実施例では、転送部３３０は、インタフェース部３８０がデータフレームを受信すると、転送処理（ステップＳ３００）を開始する。
【００８０】
図１６に示すように、内部ネットワーク中継装置３００の転送部３３０は、転送処理（ステップＳ３００）を開始すると、フレーム受信処理（ステップＳ３１２）を実行する。フレーム受信処理（ステップＳ３１２）において、転送部３３０は、インタフェース部３８０からデータフレームを受け取り、データフレームに付与されているヘッダ情報を解析する。
【００８１】
フレーム受信処理（ステップＳ３１２）の後、転送部３３０は、データフレームに内部転送ヘッダ７８０が付与されているか否かを判断する（ステップＳ３１３）。本実施例では、内部ネットワーク中継装置３００が外部ネットワーク中継装置２００からデータフレームを受信した場合、そのデータフレームには内部転送ヘッダ７８０は付与されていないが、他の内部ネットワーク中継装置３００からデータフレームを受信した場合、そのデータフレームには内部転送ヘッダ７８０が付与されている。
【００８２】
データフレームに内部転送ヘッダ７８０が付与されていない場合、すなわち、外部ネットワーク中継装置２００からデータフレームを受信した場合（ステップＳ３１３：「ＮＯ」）、転送部３３０は、経路検索部として動作することによって経路検索処理（ステップＳ３２２）を実行する。経路検索処理（ステップＳ３２２）において、転送部３３０は、データフレームに対応する経路情報を、自装置の記憶部３５０に記憶されている割当経路テーブル３５２から検索する。具体的には、転送部３３０は、データフレームに付与されているＩＰヘッダ７２０の宛先ＩＰアドレスを確認し、その宛先ＩＰアドレスに対応するＩＰアドレス範囲の経路情報を、自装置の記憶部３５０に登録されている割当経路テーブル３５２から検索する。
【００８３】
経路検索処理（ステップＳ３２２）において経路情報を検出できなかった場合（ステップＳ３２４：「ＮＯ」）、転送部３３０は、フレーム受信処理（ステップＳ３１２）で受信したデータフレームが経由していない内部ネットワーク中継装置３００が存在するか否かを判断する（ステップＳ３２６）。本実施例では、転送部３３０は、データフレームに内部転送ヘッダ７８０が付与されていない場合に未経由の内部ネットワーク中継装置３００が存在すると判断すると共に、内部転送ヘッダ７８０付きのデータフレームの場合には、内部転送ヘッダ７８０の第４ヘッダ情報７８４に基づいて未経由の内部ネットワーク中継装置３００の存在を判断する。
【００８４】
未経由の内部ネットワーク中継装置３００が存在しない場合、すなわち、いずれの内部ネットワーク中継装置３００にも経路情報が存在しない場合（ステップＳ３２６：「ＮＯ」）、転送部３３０は、経路なし処理（ステップＳ３２８）を実行する。本実施例では、経路なし処理（ステップＳ３２８）において、転送部３３０は、データフレームを中継できなかった旨をデータフレームの送信元に通知する。
【００８５】
未経由の内部ネットワーク中継装置３００が存在する場合（ステップＳ３２６：「ＹＥＳ」）、転送部３３０は、未経由の内部ネットワーク中継装置３００の一つを転送先として選定する（ステップＳ３３２）。本実施例では、未経由の内部ネットワーク中継装置３００から転送先を選定する基準は、予め設定されている優先度であるが、他の実施形態において、装置番号であっても良いし、ランダムに選定しても良い。
【００８６】
転送先の他の内部ネットワーク中継装置３００を選定した後（ステップＳ３３２）、転送部３３０は、指示付加部として動作することによって、検索要求を含む内部転送ヘッダ７８０をデータフレームに付与する（ステップＳ３３６）。この場合、転送部３３０は、内部転送ヘッダ７８０の第１ヘッダ情報７８１として、転送先の他の内部ネットワーク中継装置３００を特定する識別子を格納し、第２ヘッダ情報７８２として、転送先の他の内部ネットワーク中継装置３００に経路検索を要求する検索要求を示す識別子を格納する。第１ヘッダ情報７８１および第２ヘッダ情報７８２に続いて、転送部３３０は、第３ヘッダ情報７８３として、経路情報の候補がない旨を示す識別子を格納し、第４ヘッダ情報７８４として、自装置を含むデータフレームが経由した全ての内部ネットワーク中継装置３００を示す識別子を格納する。
【００８７】
内部転送ヘッダ７８０をデータフレームに付与した後（ステップＳ３３６）、転送部３３０は、内部転送ヘッダ７８０を付与したデータフレームを、自装置の記憶部３５０に記憶されている内部経路テーブル３５３に基づいて、転送先の他の内部ネットワーク中継装置３００に転送する（ステップＳ３３８）。
【００８８】
経路検索処理（ステップＳ３２２）において経路情報を検出した場合（ステップＳ３２４：「ＹＥＳ」）、図１７に示すように、転送部３３０は、検出された自装置の経路情報に対応する出力ネットワークインタフェースを検索する（ステップＳ３４２）。具体的には、転送部３３０は、自装置の割当経路テーブル３５２から検出した経路情報の転送先ＩＰアドレス（ネクストホップ）に対応する宛先ＭＡＣアドレスを、自装置のＡＲＰテーブル３５５から検索する。その後、転送部３３０は、自装置のＡＲＰテーブル３５５から検出した宛先ＭＡＣアドレスに対応する出力ネットワークインタフェースを、自装置の送信元アドレステーブル３５６から検索する。
【００８９】
出力インタフェースを検索した後（ステップＳ３４２）、転送部３３０は、自装置の割当経路テーブルを参照して、経路検索処理（ステップＳ３２２）で検出した経路情報に関連付けられたアドレス空間情報を確認する（ステップＳ３４４）。これによって、転送部３３０は、よりプレフィックス長の長い共通のＩＰアドレス空間に属するＩＰアドレス範囲の経路情報が、他の内部ネットワーク中継装置３００に割り当てられているか否かを確認する。アドレス空間情報が「有」の場合、転送部３３０は、経路検索処理（ステップＳ３２２）で検出した経路情報との関係でロンゲストマッチを検討すべき経路情報の候補であるロンゲストマッチ候補が、他の内部ネットワーク中継装置３００に存在すると判断する。アドレス空間情報が「無」の場合、転送部３３０は、ロンゲストマッチ候補が存在しないと判断する。
【００９０】
ロンゲストマッチ候補が存在しない場合（ステップＳ３４５：「ＮＯ」）、転送部３３０は、データフレームに付与されたイーサネットヘッダ７１０の宛先ＭＡＣアドレスを、経路検索処理（ステップＳ３２２）で検出した自装置の経路情報に対応するＡＲＰ情報の宛先ＭＡＣアドレスに書き換える（ステップＳ３５２）。その後、転送部３３０は、経路検索処理（ステップＳ３２２）で検出した自装置の経路情報に対応する出力ネットワークインタフェースが自装置に存在するか否かを判断する（ステップＳ３５４）。
【００９１】
出力ネットワークインタフェースが自装置に存在する場合（ステップＳ３５４：「ＹＥＳ」）、転送部３３０は、データフレームに付与されたイーサネットヘッダ７１０の送信元ＭＡＣアドレスを、出力ネットワークインタフェースのＭＡＣアドレスに書き換え、自装置の出力ネットワークインタフェースからデータフレームを外部ネットワーク中継装置２００に転送する（ステップＳ３５８）。
【００９２】
出力ネットワークインタフェースが自装置に存在しない場合（ステップＳ３５４：「ＮＯ」）、転送部３３０は、指示付加部として動作することによって、転送要求を含む内部転送ヘッダ７８０をデータフレームに付与する（ステップＳ３６６）。この場合、転送部３３０は、内部転送ヘッダ７８０の第１ヘッダ情報７８１として、出力ネットワークインタフェースを保有する他の内部ネットワーク中継装置３００を特定する識別子を格納し、第２ヘッダ情報７８２として、出力ネットワークインタフェースを保有する他の内部ネットワーク中継装置３００にデータフレームの転送を要求する転送要求を示す識別子を格納する。第１ヘッダ情報７８１および第２ヘッダ情報７８２に続いて、転送部３３０は、第３ヘッダ情報７８３として、出力ネットワークインタフェースを示す識別子を格納し、第４ヘッダ情報７８４として、自装置を含むデータフレームが経由した全ての内部ネットワーク中継装置３００を示す識別子を格納する。
【００９３】
内部転送ヘッダ７８０をデータフレームに付与した後（ステップＳ３６６）、転送部３３０は、内部転送ヘッダ７８０を付与したデータフレームを、自装置の記憶部３５０に記憶されている内部経路テーブル３５３に基づいて、出力ネットワークインタフェースを保有する他の内部ネットワーク中継装置３００に転送する（ステップＳ３６８）。
【００９４】
ロンゲストマッチ候補が存在する場合（ステップＳ３４５：「ＹＥＳ」）、転送部３３０は、複数の内部ネットワーク中継装置３００で検出された経路情報のうち、よりプレフィックス長の長い経路情報を優先経路として選定する（ステップＳ３４６）。転送部３３０は、他の内部ネットワーク中継装置３００から受信したデータフレームに付与されている内部転送ヘッダ７８０の第３ヘッダ情報７８３に基づいて、他の内部ネットワーク中継装置３００で検出された経路情報を確認する。他の内部ネットワーク中継装置３００で検出された経路情報の存在を確認できない場合、転送部３３０は、自装置で検出された経路情報を優先経路として選定する。
【００９５】
優先経路を選定した後（ステップＳ３４６）、転送部３３０は、フレーム受信処理（ステップＳ３１２）で受信したデータフレームが経由していない内部ネットワーク中継装置３００が存在するか否かを判断する（ステップＳ３４８）。本実施例では、転送部３３０は、データフレームに内部転送ヘッダ７８０が付与されていない場合に、データフレームが経由した内部ネットワーク中継装置３００は存在しないと判断すると共に、内部転送ヘッダ７８０付きのデータフレームの場合には、内部転送ヘッダ７８０の第４ヘッダ情報７８４に基づいて未経由の内部ネットワーク中継装置３００の存在を判断する。
【００９６】
未経由の内部ネットワーク中継装置３００が存在しない場合（ステップＳ３４８：「ＮＯ」）、転送部３３０は、優先経路として選定された経路情報を用いて、データフレームにおける宛先ＭＡＣアドレスの書き換え（ステップＳ３５２）以降の処理を実行する。
【００９７】
未経由の内部ネットワーク中継装置３００が存在する場合（ステップＳ３４８：「ＹＥＳ」）、転送部３３０は、未経由の内部ネットワーク中継装置３００の一つを転送先として選定する（ステップＳ３７１）。本実施例では、未経由の内部ネットワーク中継装置３００から転送先を選定する基準は、予め設定されている優先度であるが、他の実施形態において、装置番号であっても良いし、ランダムに選定しても良い。
【００９８】
転送先の他の内部ネットワーク中継装置３００を選定した後（ステップＳ３７１）、転送部３３０は、データフレームに付与されたイーサネットヘッダ７１０の宛先ＭＡＣアドレスを、優先経路として選定された経路情報に対応するＡＲＰ情報の宛先ＭＡＣアドレスに書き換える（ステップＳ３７２）。
【００９９】
データフレームの宛先ＭＡＣアドレスを書き換えた後（ステップＳ３７２）、転送部３３０は、指示付加部として動作することによって、継続要求を含む内部転送ヘッダ７８０をデータフレームに付与する（ステップＳ３７６）。この場合、転送部３３０は、内部転送ヘッダ７８０の第１ヘッダ情報７８１として、転送先の他の内部ネットワーク中継装置３００を特定する識別子を格納し、第２ヘッダ情報７８２として、転送先の他の内部ネットワーク中継装置３００に継続的に経路検索を要求する継続要求を示す識別子を格納する。第１ヘッダ情報７８１および第２ヘッダ情報７８２に続いて、転送部３３０は、第３ヘッダ情報７８３として、優先経路として選定された経路情報、ＡＲＰ情報、および出力ネットワークインタフェースを示す識別子を格納し、第４ヘッダ情報７８４として、自装置を含むデータフレームが経由した全ての内部ネットワーク中継装置３００を示す識別子を格納する。
【０１００】
内部転送ヘッダ７８０をデータフレームに付与した後（ステップＳ３７６）、転送部３３０は、内部転送ヘッダ７８０を付与したデータフレームを、自装置の記憶部３５０に記憶されている内部経路テーブル３５３に基づいて、転送先の他の内部ネットワーク中継装置３００に転送する（ステップＳ３７８）。
【０１０１】
図１６の説明に戻り、データフレームに内部転送ヘッダ７８０が付与されている場合、すなわち、内部ネットワーク中継装置３００からデータフレームを受信した場合（ステップＳ３１３：「ＹＥＳ」）、転送部３３０は、フレーム受信処理（ステップＳ３１２）で受信したデータフレームから内部転送ヘッダ７８０を除去する（ステップＳ３１４）。その後、転送部３３０は、データフレームから除去した内部転送ヘッダ７８０の第２ヘッダ情報７８２として格納されている識別子を判定する（ステップＳ３１６）。
【０１０２】
内部転送ヘッダ７８０の第２ヘッダ情報７８２が検索要求を示す場合（ステップＳ３１６：「ａ」）、転送部３３０は、内部転送ヘッダ７８０を除去したデータフレームについて、経路検索処理（ステップＳ３２２）以降の処理を実行する。
【０１０３】
内部転送ヘッダ７８０の第２ヘッダ情報７８２が転送要求を示す場合（ステップＳ３１６：「ｂ」）、転送部３３０は、データフレームから除去した内部転送ヘッダ７８０の第３ヘッダ情報に基づいて、自装置の出力ネットワークインタフェースからデータフレームを外部ネットワーク中継装置２００に転送する（ステップＳ３１８）。
【０１０４】
内部転送ヘッダ７８０の第２ヘッダ情報７８２が継続要求を示す場合（ステップＳ３１６：「ｃ」）、転送部３３０は、図１８に示すように、経路検索部として動作することによって経路検索処理（ステップＳ３８２）を実行する。経路検索処理（ステップＳ３８２）の詳細は、前述した経路検索処理（ステップＳ３２２）と同様である。
【０１０５】
経路検索処理（ステップＳ３８２）において経路情報を検出した場合（ステップＳ３８４：「ＹＥＳ」）、転送部３３０は、検出された自装置の経路情報に対応する出力ネットワークインタフェースの検索（ステップＳ３４２）以降の処理を実行する。
【０１０６】
経路検索処理（ステップＳ３８２）において経路情報を検出できなかった場合（ステップＳ３８４：「ＮＯ」）、転送部３３０は、フレーム受信処理（ステップＳ３１２）で受信したデータフレームが経由していない内部ネットワーク中継装置３００が存在するか否かを判断する（ステップＳ３８６）。
【０１０７】
未経由の内部ネットワーク中継装置３００が存在しない場合（ステップＳ３８６：「ＮＯ」）、転送部３３０は、データフレームから除去した内部転送ヘッダ７８０の第３ヘッダ情報に格納された経路情報を取得し（ステップＳ３８８）、その経路情報を用いて、データフレームにおける宛先ＭＡＣアドレスの書き換え（ステップＳ３５２）以降の処理を実行する。
【０１０８】
未経由の内部ネットワーク中継装置３００が存在する場合（ステップＳ３８６：「ＹＥＳ」）、転送部３３０は、未経由の内部ネットワーク中継装置３００の一つを転送先として選定する（ステップＳ３９２）。本実施例では、未経由の内部ネットワーク中継装置３００から転送先を選定する基準は、予め設定されている優先度であるが、他の実施形態において、装置番号であっても良いし、ランダムに選定しても良い。
【０１０９】
転送先の他の内部ネットワーク中継装置３００を選定した後（ステップＳ３９２）、転送部３３０は、指示付加部として動作することによって、継続要求を含む内部転送ヘッダ７８０をデータフレームに付与する（ステップＳ３９６）。この場合、転送部３３０は、内部転送ヘッダ７８０の第１ヘッダ情報７８１として、転送先の他の内部ネットワーク中継装置３００を特定する識別子を格納し、第２ヘッダ情報７８２として、転送先の他の内部ネットワーク中継装置３００に継続的に経路検索を要求する継続要求を示す識別子を格納する。第１ヘッダ情報７８１および第２ヘッダ情報７８２に続いて、転送部３３０は、第３ヘッダ情報７８３として、除去された内部転送ヘッダ７８０と同じ経路情報を格納し、第４ヘッダ情報７８４として、自装置を含むデータフレームが経由した全ての内部ネットワーク中継装置３００を示す識別子を格納する。
【０１１０】
内部転送ヘッダ７８０をデータフレームに付与した後（ステップＳ３９６）、転送部３３０は、内部転送ヘッダ７８０を付与したデータフレームを、自装置の記憶部３５０に記憶されている内部経路テーブル３５３に基づいて、転送先の他の内部ネットワーク中継装置３００に転送する（ステップＳ３９８）。
【０１１１】
Ａ２−４．データフレーム転送の一例：
図１９は、第１実施例におけるデータフレーム転送の一例を示す説明図である。図１９では、外部ネットワーク２０ｂに接続された端末装置６１０ｂから、外部ネットワーク２０ａに接続された端末装置６１０ａにデータフレームを転送する例を示す。端末装置６１０ｂには、ＩＰアドレス「７０．１．１．１」が設定され、端末装置６１０ａには、ＩＰアドレス「１００．１．１．１」が設定されている。
【０１１２】
＜転送Ｔ１１０＞：端末装置６１０ｂから送信されるデータフレームのＩＰヘッダ７２０には、端末装置６１０ａのＩＰアドレス「１００．１．１．１」が宛先ＩＰアドレスとして設定され、端末装置６１０ｂのＩＰアドレス「７０．１．１．１」が送信元ＩＰアドレスとして設定される。図１９の例では、端末装置６１０ｂのデータフレームがリンクアグリゲーション５０ｂを経由して内部ネットワーク中継装置３００ａに転送される。外部ネットワーク中継装置２００ｂのネットワークインタフェース２１ｂを通過するデータフレームのイーサネットヘッダ７１０には、ＭＡＣアドレス「５０ｂ−３０」が宛先ＭＡＣアドレスとして設定され、ＭＡＣアドレス「５０ｂ−２００ｂ」が送信元ＭＡＣアドレスとして設定される。
【０１１３】
＜転送Ｔ１２０＞：内部ネットワーク中継装置３００ａは、ネットワークインタフェース３２ａでデータフレームを受信すると、データフレームの宛先ＩＰアドレス「１００．１．１．１」への経路情報を、自装置の割当経路テーブル３５２ａから検索するが、自装置の割当経路テーブル３５２ａから該当する経路情報が検出されない。そこで、内部ネットワーク中継装置３００ａは、データフレームが経由していない内部ネットワーク中継装置３００として内部ネットワーク中継装置３００ｂを選定し、内部転送ヘッダ７８０を付与したデータフレームを内部ネットワーク中継装置３００ｂに転送する。
【０１１４】
内部ネットワーク中継装置３００ａによって付与される内部転送ヘッダ７８０の第１ヘッダ情報７８１は、イーサネットヘッダおよびＩＰヘッダで構成される。第１ヘッダ情報７８１のイーサネットヘッダには、ＭＡＣアドレス「３３ｂ」が宛先ＭＡＣアドレスとして設定され、ＭＡＣアドレス「３３ａ」が送信元ＭＡＣアドレスとして設定される。第１ヘッダ情報７８１のＩＰヘッダには、ＩＰアドレス「１０．１．１２．２」が宛先ＩＰアドレスとして設定され、ＩＰアドレス「１０．１．１２．１」が送信元ＩＰアドレスとして設定される。
【０１１５】
内部ネットワーク中継装置３００ａによる内部転送ヘッダ７８０の第２ヘッダ情報７８２には、検索要求を示す識別子が格納され、第３ヘッダ情報７８３には、経路情報の候補がない旨を示す識別子が格納される。第４ヘッダ情報７８４は、複数の内部ネットワーク中継装置３００の数と同じビット数で構成されるビットマップである。図１９の例では、第４ヘッダ情報７８４は３ビットで構成され、内部ネットワーク中継装置３００ａは１ビット目、内部ネットワーク中継装置３００ｂは２ビット目、内部ネットワーク中継装置３００ｃは３ビット目に対応する。内部ネットワーク中継装置３００ａは、第４ヘッダ情報７８４の１ビット目を有効にすることによって、データフレームが内部ネットワーク中継装置３００ａを経由した旨を記録する。
【０１１６】
＜転送Ｔ１３０＞：内部ネットワーク中継装置３００ｂは、ネットワークインタフェース３３ｂでデータフレームを受信すると、そのデータフレームに付与されている内部転送ヘッダ７８０を除去し、その内部転送ヘッダ７８０の第２ヘッダ情報７８２を確認する。内部転送ヘッダ７８０の第２ヘッダ情報７８２には検索要求を示す識別子が格納されていることから、内部ネットワーク中継装置３００ｂは、データフレームの宛先ＩＰアドレス「１００．１．１．１」への経路情報を、自装置の割当経路テーブル３５２ｂから検索する。
【０１１７】
内部ネットワーク中継装置３００ｂは、データフレームの宛先ＩＰアドレス「１００．１．１．１」への経路情報として、自装置の割当経路テーブル３５２ｂからＩＰアドレス範囲「１００．０．０．０／８」の経路情報を検出する。内部ネットワーク中継装置３００ｂは、ＩＰアドレス範囲「１００．０．０．０／８」の経路情報に対応付けられている宛先ＩＰアドレス「４０．１．１．４」を確認する。その後、内部ネットワーク中継装置３００ｂは、経路情報の宛先ＩＰアドレス「４０．１．１．４」に対応する宛先ＭＡＣアドレスおよび出力ネットワークインタフェースを、自装置のＡＲＰテーブル３５５ｂおよび送信元アドレステーブル３５６ｂから検索する。内部ネットワーク中継装置３００ｂは、ＡＲＰテーブル３５５ｂから宛先ＭＡＣアドレス「５０ａ−２００ａ」を検出し、送信元アドレステーブル３５６ｂから、出力ネットワークインタフェースとして、内部ネットワーク中継装置３００ａのネットワークインタフェース３１ａと、内部ネットワーク中継装置３００ｃのネットワークインタフェース３１ｃとを検出する。
【０１１８】
割当経路テーブル３５２ｂにおけるＩＰアドレス範囲「１００．０．０．０／８」の経路情報に関連付けられているアドレス空間情報は、よりプレフィックス長の長い経路情報が他の内部ネットワーク中継装置３００に存在することを示す。そこで、内部ネットワーク中継装置３００ｂは、データフレームが経由していない内部ネットワーク中継装置３００として内部ネットワーク中継装置３００ｃに、内部転送ヘッダ７８０を付与したデータフレームを転送する。
【０１１９】
内部ネットワーク中継装置３００ｂによって付与される内部転送ヘッダ７８０の第１ヘッダ情報７８１のイーサネットヘッダには、ＭＡＣアドレス「３３ｃ」が宛先ＭＡＣアドレスとして設定され、ＭＡＣアドレス「３４ｂ」が送信元ＭＡＣアドレスとして設定される。第１ヘッダ情報７８１のＩＰヘッダには、ＩＰアドレス「１０．１．２３．２」が宛先ＩＰアドレスとして設定され、ＩＰアドレス「１０．１．２３．１」が送信元ＩＰアドレスとして設定される。
【０１２０】
内部ネットワーク中継装置３００ｂによる内部転送ヘッダ７８０の第２ヘッダ情報７８２には、継続要求を示す識別子が格納される。第３ヘッダ情報７８３には、ＩＰアドレス範囲「１００．０．０．０／８」の経路情報に対応する出力ネットワークインタフェースを示す識別子、および経路情報のプレフィックス長である「８」を示す情報が格納される。第４ヘッダ情報７８４には、３ビットのうち、１ビット目および２ビット目が有効になったビットマップが格納される。
【０１２１】
＜転送Ｔ１４０＞：内部ネットワーク中継装置３００ｃは、ネットワークインタフェース３３ｃでデータフレームを受信すると、そのデータフレームに付与されている内部転送ヘッダ７８０を除去し、その内部転送ヘッダ７８０の第２ヘッダ情報７８２を確認する。内部転送ヘッダ７８０の第２ヘッダ情報７８２には継続要求を示す識別子が格納されていることから、内部ネットワーク中継装置３００ｃは、データフレームの宛先ＩＰアドレス「１００．１．１．１」への経路情報を、自装置の割当経路テーブル３５２ｃから検索する。
【０１２２】
内部ネットワーク中継装置３００ｃは、データフレームの宛先ＩＰアドレス「１００．１．１．１」への経路情報として、自装置の割当経路テーブル３５２ｃからＩＰアドレス範囲「１００．１．１．０／２４」の経路情報を検出する。内部ネットワーク中継装置３００ｃは、ＩＰアドレス範囲「１００．１．１．０／２４」の経路情報に対応付けられている宛先ＩＰアドレス「４０．１．１．４」を確認する。その後、内部ネットワーク中継装置３００ｃは、経路情報の宛先ＩＰアドレス「４０．１．１．４」に対応する宛先ＭＡＣアドレスおよび出力ネットワークインタフェースを、自装置のＡＲＰテーブル３５５ｃおよび送信元アドレステーブル３５６ｃから検索する。内部ネットワーク中継装置３００ｃは、ＡＲＰテーブル３５５ｃから宛先ＭＡＣアドレス「５０ａ−２００ａ」を検出し、送信元アドレステーブル３５６ｃから、出力ネットワークインタフェースとして、内部ネットワーク中継装置３００ａのネットワークインタフェース３１ａと、内部ネットワーク中継装置３００ｃのネットワークインタフェース３１ｃとを検出する。
【０１２３】
割当経路テーブル３５２ｃにおけるＩＰアドレス範囲「１００．１．１．０／２４」の経路情報に関連付けられているアドレス空間情報は、よりプレフィックス長の長い経路情報が他の内部ネットワーク中継装置３００に存在しないことを示す。そこで、内部ネットワーク中継装置３００ｃは、データフレームのイーサネットヘッダ７１０の宛先ＭＡＣアドレスを、ＩＰアドレス範囲「１００．１．１．０／２４」の経路情報に対応付けられている宛先ＩＰアドレス「４０．１．１．４」に書き換える。その後、内部ネットワーク中継装置３００ｃは、自装置のネットワークインタフェース３１ｃから外部ネットワーク中継装置２００ａにデータフレームを転送する。これによって、外部ネットワーク２０ｂの端末装置６１０ｂから送信されたデータフレームは、外部ネットワーク２０ａの端末装置６１０ａに転送される。
【０１２４】
Ａ２−５．経路情報の再設定：
図２０は、再設定された割当経路テーブル３５２を示す説明図である。図２０の割当経路テーブル３５２は、ＩＰアドレス範囲「７０．２．１．０／２４」の経路が外部ネットワーク２０ａに新たに追加されたために、図１３の状態から再設定されたものである。図２０には、図１３の状態から変化した部分にハッチングを施した。本実施例では、複数の割当経路テーブル３５２に割り当てられる経路情報の数が同程度になるように、新たに追加された経路情報は、割当経路テーブル３５２ｃに割り当てられる。
【０１２５】
ＩＰアドレス範囲「７０．２．１．０／２４」の経路情報が割当経路テーブル３５２ｃに新たに割り当てられたことにより、割当経路テーブル３５２ａに割り当てられているＩＰアドレス範囲「７０．２．０．０／１６」の経路情報は、よりプレフィックス長の長い共通のＩＰアドレス空間に属するＩＰアドレス範囲の経路情報が他の割当経路テーブル３５２に存在することになる。そのため、ＩＰアドレス範囲「７０．２．０．０／１６」の経路情報には、「有」を示すアドレス空間情報が関連付けられる。ＩＰアドレス範囲「７０．２．１．０／２４」の経路情報には、よりプレフィックス長の長い共通のＩＰアドレス空間に属するＩＰアドレス範囲の経路情報が他の割当経路テーブル３５２に存在しないため、「無」を示すアドレス空間情報が関連付けられる。
【０１２６】
Ａ２−６．障害発生時の復旧：
図２１は、障害復旧のため再割当された割当経路テーブル３５２を示す説明図である。図２１の割当経路テーブル３５２は、内部ネットワーク中継装置３００ａにおける障害発生への対策として、図２０の状態から経路情報を再割当したものである。図２１には、図２０の状態から変化した部分にハッチングを施した。本実施例では、内部ネットワーク中継装置３００ａの障害発生後、内部ネットワーク中継装置３００ｂは、内部ネットワーク中継装置３００ａに代わってプロトコル処理装置として動作する。
【０１２７】
図２１の例では、内部ネットワーク中継装置３００ａの割当経路テーブル３５２ａに割り当てられていた経路情報が、正常な内部ネットワーク中継装置３００ｂ，３００ｃの割当経路テーブル３５２ｂ，３５２ｃに振り分けられ、これに伴って、各経路情報に関連付けられたアドレス空間情報が修正される。再割り当て前には、ＩＰアドレス範囲「７０．２．０．０／１６」の経路情報には、「有」を示すアドレス空間情報が関連付けられていたが、ＩＰアドレス範囲「７０．２．１．０／２４」の経路情報と同じ割当経路テーブル３５２ｃに割り当てられたことにより、「無」を示すアドレス空間情報が関連付けられる。
【０１２８】
Ａ３．第１実施例の効果：
以上説明したネットワーク中継システム３０によれば、複数の内部ネットワーク中継装置３００の各々において、割当経路テーブル３５２に関連づけられたアドレス空間情報に基づいて、ロンゲストマッチの規則を考慮したルーティング処理を実行することができる。したがって、ロンゲストマッチの規則に従いつつ、ネットワーク中継システム３０におけるルーティング処理を複数の内部ネットワーク中継装置３００に効果的に分担させることができる。
【０１２９】
また、アドレス空間情報は、よりプレフィックス長の長い共通のＩＰアドレス空間に属するＩＰアドレス範囲の経路情報が他の内部ネットワーク中継装置３００に存在するか否かを示す情報であるため、複数の内部ネットワーク中継装置３００の各々において、アドレス空間情報に基づいて、自装置に登録されている経路情報と、他の内部ネットワーク中継装置３００に登録されている経路情報との間でロンゲストマッチの関係を判断して、ロンゲストマッチの規則に従ったルーティング処理を実現することができる。
【０１３０】
また、内部転送ヘッダ７８０をデータフレームに付与するため、複数の内部ネットワーク中継装置３００の間でデータフレームを円滑に転送することができる。
【０１３１】
Ａ４．第１実施例の変形例：
図２２は、第１実施例の変形例１における割当経路テーブル３５２を示す説明図である。第１実施例の変形例１では、複数の割当経路テーブル３５２には、少なくとも二つの割当経路テーブル３５２に重複して同じ経路情報が割り当てられる。図２２には、図１３の状態に対して重複して割り当てられた部分にハッチングを施した。第１実施例の変形例１によれば、複数の内部ネットワーク中継装置３００の一つに障害が発生した場合であっても、残余の内部ネットワーク中継装置３００に登録されている経路情報に基づいてルーティング処理を継続することができる。
【０１３２】
第１実施例の変形例２では、割当経路テーブル３５２の各経路情報にアドレス空間情報を関連付けなくても良い。変形例２の中継処理（ステップＳ３００）では、全ての経路情報に「有」のアドレス空間情報が関連付けられている態様で各処理を実施し、全ての内部ネットワーク中継装置３００で経路検索処理が実行される。第１実施例の変形例２によれば、複数の割当経路テーブル３５２を生成する処理を簡素化することができる。
【０１３３】
Ｂ．第２実施例：
Ｂ１．コンピュータネットワークの構成：
第２実施例におけるコンピュータネットワーク１０の構成は、内部ネットワーク中継装置３００の構成を除き、第１実施例と同様である。図２３は、第２実施例における内部ネットワーク中継装置３００の転送部３３０の詳細構成を示す説明図である。第２実施例における内部ネットワーク中継装置３００の構成は、転送部３３０の記憶部３５０にアドレス空間情報としてＩＰ空間割当テーブル３５７が更に記憶されている点を除き、第１実施例と同様である。ＩＰ空間割当テーブル３５７の詳細については後述する。
【０１３４】
Ｂ２．コンピュータネットワークの動作：
第２実施例におけるコンピュータネットワーク１０の動作は、内部ネットワーク中継装置３００の動作を除き、第１実施例と同様である。第２実施例における内部ネットワーク中継装置３００の動作は、転送準備処理および中継処理を除き、第１実施例と同様である。
【０１３５】
Ｂ２−１．転送準備処理：
図２４は、第２実施例における転送準備処理（ステップＳ５００）を示すフローチャートである。転送準備処理（ステップＳ５００）は、複数の内部ネットワーク中継装置３００の各々に割当経路テーブル３５２、ＡＲＰテーブル３５５、送信元アドレステーブル３５６およびＩＰ空間割当テーブル３５７を準備する処理である。本実施例では、転送準備処理（ステップＳ５００）は、制御部３１０のＣＰＵ３１１が制御プログラム３２０に基づいて動作することによって実現される。本実施例では、プロトコル処理装置決定処理（ステップＳ１００）によってプロトコル処理装置として決定された内部ネットワーク中継装置３００の制御部３１０は、通信プロトコルに関する制御情報であるプロトコル制御情報が外部ネットワーク２０から通知されると、転送準備処理（ステップＳ５００）を開始する。
【０１３６】
内部ネットワーク中継装置３００の制御部３１０は、転送準備処理（ステップＳ５００）を開始すると、第１実施例と同様に、外部ネットワーク２０の外部ネットワーク中継装置２００から通知されるプロトコル制御情報を受信する（ステップＳ５１０）。プロトコル制御情報を受信した後（ステップＳ５１０）、制御部３１０は、第１実施例と同様に、情報学習部３２１として動作することによって、プロトコル制御情報および既知の情報に基づいて、経路情報、ＡＲＰ情報、送信元アドレス情報を学習し、学習経路情報３９１、学習ＡＲＰ情報３９２および学習送信元アドレス情報３９３を生成する（ステップＳ５２０）。
【０１３７】
学習経路情報３９１、学習ＡＲＰ情報３９２および学習送信元アドレス情報３９３を生成した後（ステップＳ５２０）、制御部３１０は、空間情報生成部３２３の第１生成部として動作することによって、学習経路情報３９１から複数の集約アドレス範囲を生成する（ステップＳ５３０）。集約アドレス範囲は、学習経路情報３９１における各経路情報のＩＰアドレス範囲のプレフィックス長を短くし集約したＩＰアドレス範囲である。本実施例では、学習経路情報３９１における複数の経路情報のうち、複数の内部ネットワーク中継装置３００への割当対象となる経路情報である割当対象経路情報、すなわち、共有経路情報として設定されているＩＰアドレス範囲「０．０．０．０／０」の経路情報を除いた経路情報について、集約アドレス範囲が生成される。
【０１３８】
図２５は、集約アドレス範囲３９７を生成する様子を示す説明図である。図２５には、割当ＩＰアドレス範囲３９５に続いて、編成アドレス範囲３９６および集約アドレス範囲３９７を図示した。割当ＩＰアドレス範囲３９５は、複数の内部ネットワーク中継装置３００への割当対象となる割当対象経路情報のＩＰアドレス範囲である。編成アドレス範囲３９６は、割当ＩＰアドレス範囲３９５のうち同じＩＰアドレス空間に属する最も短いプレフィックス長のＩＰ経路に対して、そのプレフィックス長を短くしたＩＰアドレス範囲である。集約アドレス範囲３９７は、編成アドレス範囲３９６のＩＰアドレス空間を集約したＩＰアドレス範囲である。
【０１３９】
本実施例では、割当ＩＰアドレス範囲３９５のプレフィックス長を２ビット分短くして編成アドレス範囲３９６を生成するが、他の実施形態において、１ビットであっても良いし、３ビット以上であっても良い。本実施例では、割当ＩＰアドレス範囲３９５から編成アドレス範囲３９６へと短縮されるプレフィックス長は、０ビットになるまで短くせずに、最短でも１ビットまでの短縮に止める。例えば、割当ＩＰアドレス範囲３９５にＩＰアドレス範囲「１２８．０．０．０／１」が含まれる場合、このＩＰアドレス範囲のプレフィックス長は短縮されずにそのまま集約アドレス範囲３９７に組み込まれる。
【０１４０】
図２４の説明に戻り、複数の集約アドレス範囲３９７を生成した後（ステップＳ５３０）、制御部３１０は、空間情報生成部３２３の第２生成部として動作することによって、集約アドレス範囲３９７に基づいて、アドレス空間情報としてＩＰ空間割当テーブル３５７を生成する（ステップＳ５４０）。ＩＰ空間割当テーブル３５７は、複数の集約アドレス範囲３９７を複数の内部ネットワーク中継装置３００の各々に割り当てた情報である。
【０１４１】
図２６は、ＩＰ空間割当テーブル３５７を示す説明図である。ＩＰ空間割当テーブル３５７は、複数の集約アドレス範囲３９７の各々を示すＩＰアドレス範囲と、そのＩＰアドレス範囲に割り当てられた内部ネットワーク中継装置３００とを示す。本実施例では、ＩＰ空間割当テーブル３５７における複数の集約アドレス範囲３９７は、複数の内部ネットワーク中継装置３００の各々に割り当てられた集約アドレス範囲３９７に属する割当ＩＰアドレス範囲３９５の数が同程度になるように割り当てられる。
【０１４２】
図２４の説明に戻り、ＩＰ空間割当テーブル３５７を生成した後（ステップＳ５４０）、制御部３１０は、情報割当部３２２として動作することによって、ＩＰ空間割当テーブル３５７に基づいて、複数の割当経路テーブル３５２、複数のＡＲＰテーブル３５５および複数の送信元アドレステーブル３５６を、複数の内部ネットワーク中継装置３００の各々に対応付けて生成する（ステップＳ５５０）。その後、制御部３１０は、情報登録部３２４として動作することによって、複数の割当経路テーブル３５２、複数のＡＲＰテーブル３５５、複数の送信元アドレステーブル３５６およびＩＰ空間割当テーブル３５７を、複数の内部ネットワーク中継装置３００の各々に登録する（ステップＳ５７０）。複数の内部ネットワーク中継装置３００の各々に登録されるＩＰ空間割当テーブル３５７は、同一の情報であり、ＩＰ空間割当テーブル３５７以外のテーブルは、複数の内部ネットワーク中継装置３００の各々に対応する情報である。
【０１４３】
図２７は、第２実施例における割当経路テーブル３５２を示す説明図である。割当経路テーブル３５２には、ＩＰ空間割当テーブル３５７に基づいて、学習経路情報３９１における複数の経路情報が経路情報単位で割り当てられている。本実施例では、学習経路情報３９１における複数の経路情報は、各々の割当経路テーブル３５２における経路情報の数が同程度になるように割り当てられる。本実施例では、ＩＰアドレス範囲「０．０．０．０／０」の経路情報は、複数の割当経路テーブル３５２の各々に共通して割り当てられる共有経路情報として設定されている。
【０１４４】
図２８は、第２実施例におけるＡＲＰテーブル３５５を示す説明図である。ＡＲＰテーブル３５５には、学習ＡＲＰ情報３９２における複数のＡＲＰ情報が割当経路テーブル３５２に応じて割り当てられている。
【０１４５】
図２９は、送信元アドレステーブル３５６を示す説明図である。送信元アドレステーブル３５６には、学習送信元アドレス情報３９３における複数の送信元アドレス情報がＡＲＰテーブル３５５に応じて割り当てられている。
【０１４６】
Ｂ２−２．中継処理：
図３０および図３１は、第２実施例における内部ネットワーク中継装置３００の転送部３３０が実行する転送処理（ステップＳ４００）を示すフローチャートである。転送処理（ステップＳ４００）は、データフレームを中継する処理である。本実施例では、転送処理（ステップＳ４００）は、転送部３３０の検索部３４０および内部ヘッダ処理部３６０が各々の電気回路構成に基づいて動作することによって実現されるが、他の実施形態において、少なくとも一部の機能をＣＰＵがプログラムに基づいて動作することによって実現しても良い。本実施例では、転送部３３０は、インタフェース部３８０がデータフレームを受信すると、転送処理（ステップＳ４００）を開始する。
【０１４７】
図３０に示すように、内部ネットワーク中継装置３００の転送部３３０は、転送処理（ステップＳ４００）を開始すると、フレーム受信処理（ステップＳ４１２）を実行する。フレーム受信処理（ステップＳ４１２）において、転送部３３０は、インタフェース部３８０からデータフレームを受け取り、データフレームに付与されているヘッダ情報を解析する。
【０１４８】
フレーム受信処理（ステップＳ４１２）の後、転送部３３０は、データフレームに内部転送ヘッダ７８０が付与されているか否かを判断する（ステップＳ４１３）。本実施例では、内部ネットワーク中継装置３００が外部ネットワーク中継装置２００からデータフレームを受信した場合、そのデータフレームには内部転送ヘッダ７８０は付与されていないが、他の内部ネットワーク中継装置３００からデータフレームを受信した場合、そのデータフレームには内部転送ヘッダ７８０が付与されている。
【０１４９】
データフレームに内部転送ヘッダ７８０が付与されていない場合、すなわち、外部ネットワーク中継装置２００からデータフレームを受信した場合（ステップＳ４１３：「ＮＯ」）、転送部３３０は、ＩＰ空間割当テーブル３５７に基づいて、他の内部ネットワーク中継装置３００に経路情報が割り当てられているか否かを判断する（ステップＳ４２４）。具体的には、転送部３３０は、データフレームに付与されているＩＰヘッダ７２０の宛先ＩＰアドレスを確認し、その宛先ＩＰアドレスに対応するＩＰアドレス範囲に割り当てられている内部ネットワーク中継装置３００を、自装置の記憶部３５０に登録されているＩＰ空間割当テーブル３５７から検索する。
【０１５０】
他の内部ネットワーク中継装置３００に経路情報が割り当てられていない場合（ステップＳ４２４：「ＮＯ」）、図３１に示すように、転送部３３０は、経路検索部として動作することによって経路検索処理（ステップＳ４４２）を実行する。経路検索処理（ステップＳ４４２）において、転送部３３０は、データフレームに対応する経路情報を、自装置の記憶部３５０に記憶されている割当経路テーブル３５２から検索する。具体的には、転送部３３０は、データフレームに付与されているＩＰヘッダ７２０の宛先ＩＰアドレスを確認し、その宛先ＩＰアドレスに対応するＩＰアドレス範囲の経路情報を、自装置の記憶部３５０に登録されている割当経路テーブル３５２から検索する。
【０１５１】
経路検索処理（ステップＳ４４２）において経路情報を検出した場合（ステップＳ４４４：「ＹＥＳ」）、転送部３３０は、検出された自装置の経路情報に対応する出力ネットワークインタフェースを検索する（ステップＳ４４６）。具体的には、転送部３３０は、自装置の割当経路テーブル３５２から検出した経路情報の転送先ＩＰアドレス（ネクストホップ）に対応する宛先ＭＡＣアドレスを、自装置のＡＲＰテーブル３５５から検索する。その後、転送部３３０は、自装置のＡＲＰテーブル３５５から検出した宛先ＭＡＣアドレスに対応する出力ネットワークインタフェースを、自装置の送信元アドレステーブル３５６から検索する。
【０１５２】
出力インタフェースを検索した後（ステップＳ４４６）、転送部３３０は、データフレームに付与されたイーサネットヘッダ７１０の宛先ＭＡＣアドレスを、経路検索処理（ステップＳ４４２）で検出した自装置の経路情報に対応するＡＲＰ情報の宛先ＭＡＣアドレスに書き換える（ステップＳ４５２）。その後、転送部３３０は、経路検索処理（ステップＳ４４２）で検出した自装置の経路情報に対応する出力ネットワークインタフェースが自装置に存在するか否かを判断する（ステップＳ４５４）。
【０１５３】
出力ネットワークインタフェースが自装置に存在する場合（ステップＳ４５４：「ＹＥＳ」）、転送部３３０は、データフレームに付与されたイーサネットヘッダ７１０の送信元ＭＡＣアドレスを、出力ネットワークインタフェースのＭＡＣアドレスに書き換え、自装置の出力ネットワークインタフェースからデータフレームを外部ネットワーク中継装置２００に転送する（ステップＳ４５８）。
【０１５４】
出力ネットワークインタフェースが自装置に存在しない場合（ステップＳ４５４：「ＮＯ」）、転送部３３０は、指示付加部として動作することによって、転送要求を含む内部転送ヘッダ７８０をデータフレームに付与する（ステップＳ４６６）。この場合、転送部３３０は、内部転送ヘッダ７８０の第１ヘッダ情報７８１として、出力ネットワークインタフェースを保有する他の内部ネットワーク中継装置３００を特定する識別子を格納し、第２ヘッダ情報７８２として、出力ネットワークインタフェースを保有する他の内部ネットワーク中継装置３００にデータフレームの転送を要求する転送要求を示す識別子を格納する。第１ヘッダ情報７８１および第２ヘッダ情報７８２に続いて、転送部３３０は、第３ヘッダ情報７８３として、出力ネットワークインタフェースを示す識別子を格納する。第２実施例では、第４ヘッダ情報７８４は使用されない。
【０１５５】
内部転送ヘッダ７８０をデータフレームに付与した後（ステップＳ４６６）、転送部３３０は、内部転送ヘッダ７８０を付与したデータフレームを、自装置の記憶部３５０に記憶されている内部経路テーブル３５３に基づいて、出力ネットワークインタフェースを保有する他の内部ネットワーク中継装置３００に転送する（ステップＳ４６８）。
【０１５６】
経路検索処理（ステップＳ４４２）において経路情報を検出できない場合（ステップＳ４４４：「ＮＯ」）、転送部３３０は、経路なし処理（ステップＳ４４８）を実行する。本実施例では、経路なし処理（ステップＳ４４８）において、転送部３３０は、データフレームを中継できなかった旨をデータフレームの送信元に通知する。
【０１５７】
図３０の説明に戻り、他の内部ネットワーク中継装置３００に経路情報が割り当てられている場合（ステップＳ４２４：「ＹＥＳ」）、転送部３３０は、指示付加部として動作することによって、検索要求を含む内部転送ヘッダ７８０をデータフレームに付与する（ステップＳ４３６）。この場合、転送部３３０は、内部転送ヘッダ７８０の第１ヘッダ情報７８１として、経路情報が割り当てられている他の内部ネットワーク中継装置３００を特定する識別子を格納し、第２ヘッダ情報７８２として、経路情報が割り当てられている他の内部ネットワーク中継装置３００に経路検索を要求する検索要求を示す識別子を格納する。第１ヘッダ情報７８１および第２ヘッダ情報７８２に続いて、転送部３３０は、第３ヘッダ情報７８３として、経路情報の候補がない旨を示す識別子を格納する。前述したように、第２実施例では、第４ヘッダ情報７８４は使用されない。
【０１５８】
内部転送ヘッダ７８０をデータフレームに付与した後（ステップＳ４３６）、転送部３３０は、内部転送ヘッダ７８０を付与したデータフレームを、自装置の記憶部３５０に記憶されている内部経路テーブル３５３に基づいて、経路情報が割り当てられている他の内部ネットワーク中継装置３００に転送する（ステップＳ４３８）。
【０１５９】
データフレームに内部転送ヘッダ７８０が付与されている場合、すなわち、内部ネットワーク中継装置３００からデータフレームを受信した場合（ステップＳ４１３：「ＹＥＳ」）、転送部３３０は、フレーム受信処理（ステップＳ４１２）で受信したデータフレームから内部転送ヘッダ７８０を除去する（ステップＳ４１４）。その後、転送部３３０は、データフレームから除去した内部転送ヘッダ７８０の第２ヘッダ情報７８２として格納されている識別子を判定する（ステップＳ４１６）。
【０１６０】
内部転送ヘッダ７８０の第２ヘッダ情報７８２が検索要求を示す場合（ステップＳ４１６：「ａ」）、転送部３３０は、内部転送ヘッダ７８０を除去したデータフレームについて、図３１を用いて説明した経路検索処理（ステップＳ４４２）以降の処理を実行する。
【０１６１】
内部転送ヘッダ７８０の第２ヘッダ情報７８２が転送要求を示す場合（ステップＳ４１６：「ｂ」）、転送部３３０は、データフレームから除去した内部転送ヘッダ７８０の第３ヘッダ情報に基づいて、自装置の出力ネットワークインタフェースからデータフレームを外部ネットワーク中継装置２００に転送する（ステップＳ４１８）。
【０１６２】
Ｂ２−３．データフレーム転送の一例：
図３２は、第２実施例におけるデータフレーム転送の一例を示す説明図である。図３２では、外部ネットワーク２０ｂに接続された端末装置６１０ｂから、外部ネットワーク２０ａに接続された端末装置６１０ａにデータフレームを転送する例を示す。端末装置６１０ｂには、ＩＰアドレス「７０．１．１．１」が設定され、端末装置６１０ａには、ＩＰアドレス「２００．１．１．１」が設定されている。
【０１６３】
＜転送Ｔ２１０＞：端末装置６１０ｂから送信されるデータフレームのＩＰヘッダ７２０には、端末装置６１０ａのＩＰアドレス「２００．１．１．１」が宛先ＩＰアドレスとして設定され、端末装置６１０ｂのＩＰアドレス「７０．１．１．１」が送信元ＩＰアドレスとして設定される。図３２の例では、端末装置６１０ｂのデータフレームがリンクアグリゲーション５０ｂを経由して内部ネットワーク中継装置３００ａに転送される。外部ネットワーク中継装置２００ｂのネットワークインタフェース２１ｂを通過するデータフレームのイーサネットヘッダ７１０には、ＭＡＣアドレス「５０ｂ−３００ａ」が宛先ＭＡＣアドレスとして設定され、ＭＡＣアドレス「５０ｂ−２００ｂ」が送信元ＭＡＣアドレスとして設定される。
【０１６４】
＜転送Ｔ２２０＞：内部ネットワーク中継装置３００ａは、ネットワークインタフェース３２ａでデータフレームを受信すると、自装置のＩＰ空間割当テーブル３５７に基づいて、データフレームの宛先ＩＰアドレス「２００．１．１．１」への経路情報が複数の内部ネットワーク中継装置３００のいずれに割り当てられているかを検索する。図２６のＩＰ空間割当テーブル３５７の場合、宛先ＩＰアドレス「２００．１．１．１」は、ＩＰアドレス空間「２００．０．０．０／１４」に属し、その経路情報は、内部ネットワーク中継装置３００ｂに割り当てられている。そこで、内部ネットワーク中継装置３００ａは、内部転送ヘッダ７８０を付与したデータフレームを内部ネットワーク中継装置３００ｂに転送する。
【０１６５】
内部ネットワーク中継装置３００ａによって付与される内部転送ヘッダ７８０の第１ヘッダ情報７８１は、イーサネットヘッダおよびＩＰヘッダで構成される。第１ヘッダ情報７８１のイーサネットヘッダには、ＭＡＣアドレス「３３ｂ」が宛先ＭＡＣアドレスとして設定され、ＭＡＣアドレス「３３ａ」が送信元ＭＡＣアドレスとして設定される。第１ヘッダ情報７８１のＩＰヘッダには、ＩＰアドレス「１０．１．１２．２」が宛先ＩＰアドレスとして設定され、ＩＰアドレス「１０．１．１２．１」が送信元ＩＰアドレスとして設定される。内部ネットワーク中継装置３００ａによる内部転送ヘッダ７８０の第２ヘッダ情報７８２には、検索要求を示す識別子が格納され、第３ヘッダ情報７８３には、経路情報の候補がない旨を示す識別子が格納される。
【０１６６】
＜転送Ｔ２３０＞：内部ネットワーク中継装置３００ｂは、ネットワークインタフェース３３ｂでデータフレームを受信すると、そのデータフレームに付与されている内部転送ヘッダ７８０を除去し、その内部転送ヘッダ７８０の第２ヘッダ情報７８２を確認する。内部転送ヘッダ７８０の第２ヘッダ情報７８２には検索要求を示す識別子が格納されていることから、内部ネットワーク中継装置３００ｂは、データフレームの宛先ＩＰアドレス「２００．１．１．１」への経路情報を、自装置の割当経路テーブル３５２ｂから検索する。
【０１６７】
内部ネットワーク中継装置３００ｂは、データフレームの宛先ＩＰアドレス「２００．１．１．１」への経路情報として、自装置の割当経路テーブル３５２ｂからＩＰアドレス範囲「２００．１．０．０／１６」の経路情報を検出する。内部ネットワーク中継装置３００ｂは、ＩＰアドレス範囲「２００．１．０．０／１６」の経路情報に対応付けられている宛先ＩＰアドレス「４０．１．１．４」を確認する。その後、内部ネットワーク中継装置３００ｂは、経路情報の宛先ＩＰアドレス「４０．１．１．４」に対応する宛先ＭＡＣアドレスおよび出力ネットワークインタフェースを、自装置のＡＲＰテーブル３５５ｂおよび送信元アドレステーブル３５６ｂから検索する。内部ネットワーク中継装置３００ｂは、ＡＲＰテーブル３５５ｂから宛先ＭＡＣアドレス「５０ａ−２００ａ」を検出し、送信元アドレステーブル３５６ｂから、出力ネットワークインタフェースとして、内部ネットワーク中継装置３００ａのネットワークインタフェース３１ａと、内部ネットワーク中継装置３００ｃのネットワークインタフェース３１ｃとを検出する。
【０１６８】
そこで、内部ネットワーク中継装置３００ｂは、データフレームのイーサネットヘッダ７１０の宛先ＭＡＣアドレスを、ＩＰアドレス範囲「２００．１．０．０／１６」の経路情報に対応付けられている宛先ＩＰアドレス「４０．１．１．４」のＭＡＣアドレス「２２ｂ」に書き換える。その後、本実施例では、内部ネットワーク中継装置３００ｂは、内部ネットワーク中継装置３００ａ，３００ｃのうち内部ネットワーク中継装置３００ｃに、内部転送ヘッダ７８０を付与したデータフレームを転送するが、他の実施形態において、内部ネットワーク中継装置３００ａにデータフレームを転送しても良い。
【０１６９】
内部ネットワーク中継装置３００ｂによって付与される内部転送ヘッダ７８０の第１ヘッダ情報７８１のイーサネットヘッダには、ＭＡＣアドレス「３３ｃ」が宛先ＭＡＣアドレスとして設定され、ＭＡＣアドレス「３４ｂ」が送信元ＭＡＣアドレスとして設定される。第１ヘッダ情報７８１のＩＰヘッダには、ＩＰアドレス「１０．１．２３．２」が宛先ＩＰアドレスとして設定され、ＩＰアドレス「１０．１．２３．１」が送信元ＩＰアドレスとして設定される。内部ネットワーク中継装置３００ｂによる内部転送ヘッダ７８０の第２ヘッダ情報７８２には、転送要求を示す識別子が格納される。第３ヘッダ情報７８３には、内部ネットワーク中継装置３００ｃの出力ネットワークインタフェースであるネットワークインタフェース３１ｃを示す識別子が格納される。
【０１７０】
＜転送Ｔ２４０＞：内部ネットワーク中継装置３００ｃは、ネットワークインタフェース３３ｃでデータフレームを受信すると、そのデータフレームに付与されている内部転送ヘッダ７８０を除去し、その内部転送ヘッダ７８０の第２ヘッダ情報７８２を確認する。内部転送ヘッダ７８０の第２ヘッダ情報７８２には転送要求を示す識別子が格納されていることから、内部ネットワーク中継装置３００ｃは、除去した内部転送ヘッダ７８０の第３ヘッダ情報７８３が示す出力ネットワークインタフェースであるネットワークインタフェース３１ｃから、外部ネットワーク中継装置２００ａにデータフレームを転送する。これによって、外部ネットワーク２０ｂの端末装置６１０ｂから送信されたデータフレームは、外部ネットワーク２０ａの端末装置６１０ａに転送される。
【０１７１】
Ｂ２−４．経路情報の再設定：
図３３は、再設定された集約アドレス範囲３９７を生成する様子を示す説明図である。図３３には、図２５と同様に、割当ＩＰアドレス範囲３９５に続いて、編成アドレス範囲３９６および集約アドレス範囲３９７を図示した。図３３の例では、図２５の状態から、割当ＩＰアドレス範囲３９５に、ＩＰアドレス範囲「２００．０．０．０／８」が追加された状態を示す。図３３には、図２５の状態から変化した部分にハッチングを施した。
【０１７２】
再設定前の図２５の例では、割当ＩＰアドレス範囲３９５におけるＩＰアドレス範囲「２００．１．０．０／１６」およびＩＰアドレス範囲「２０１．１．０．０／２２」は、集約アドレス範囲３９７においてＩＰアドレス範囲「２００．０．０．０／１４」およびＩＰアドレス範囲「２０１．０．０．０／２０」として集約されていた。これに対して、図３３の例では、割当ＩＰアドレス範囲３９５にＩＰアドレス範囲「２００．０．０．０／８」が追加されたことによって、割当ＩＰアドレス範囲３９５におけるＩＰアドレス範囲「２００．１．０．０／１６」およびＩＰアドレス範囲「２０１．１．０．０／２２」は、ＩＰアドレス範囲「２００．０．０．０／８」と共に、集約アドレス範囲３９７においてＩＰアドレス範囲「２００．０．０．０／６」に集約される。
【０１７３】
図３４は、再設定されたＩＰ空間割当テーブル３５７を示す説明図である。図３４に示す例では、新たに集約されたＩＰアドレス範囲「２００．０．０．０／６」に内部ネットワーク中継装置３００ｂが割り当てられる。図３４には、図２６の状態から変化した部分にハッチングを施した。本実施例では、ＩＰ空間割当テーブル３５７における複数の集約アドレス範囲３９７は、複数の内部ネットワーク中継装置３００の各々に割り当てられた集約アドレス範囲３９７に属する割当ＩＰアドレス範囲３９５の数が同程度になるように再割り当てされる。
【０１７４】
図３５は、再設定された割当経路テーブル３５２を示す説明図である。図３５に示す例では、図３４のＩＰ空間割当テーブル３５７で新たに集約されたＩＰアドレス範囲「２００．０．０．０／６」に応じて、新たに追加されたＩＰアドレス範囲「２００．０．０．０／８」の経路情報は、割当経路テーブル３５２ｂに追加され、再設定前に割当経路テーブル３５２ｃに割り当てられていたＩＰアドレス範囲「２０１．１．０．０／２２」の経路情報は、割当経路テーブル３５２ｂに再割り当てされる。図３５には、図２７の状態から変化した部分にハッチングを施した。再設定された割当経路テーブル３５２に応じて、ＡＲＰテーブル３５５および送信元アドレステーブル３５６についても再設定される。
【０１７５】
Ｂ２−５．障害発生時の復旧：
図３６は、障害復旧のため再設定されたＩＰ空間割当テーブル３５７を示す説明図である。図３６のＩＰ空間割当テーブル３５７は、内部ネットワーク中継装置３００ａにおける障害発生への対策として、図３４の状態で内部ネットワーク中継装置３００ａに割り当てられていたＩＰアドレス範囲が、内部ネットワーク中継装置３００ｂ、３００ｃに再割り当てされる。図３６には、図３４の状態から変化した部分にハッチングを施した。本実施例では、ＩＰ空間割当テーブル３５７における複数の集約アドレス範囲３９７は、複数の内部ネットワーク中継装置３００の各々に割り当てられた集約アドレス範囲３９７に属する割当ＩＰアドレス範囲３９５の数が同程度になるように再割り当てされる。再割り当てされたＩＰ空間割当テーブル３５７に応じて、割当経路テーブル３５２、ＡＲＰテーブル３５５および送信元アドレステーブル３５６についても再設定される。
【０１７６】
Ｂ３．第２実施例の効果：
以上説明したネットワーク中継システム３０によれば、複数の内部ネットワーク中継装置３００の各々において、ＩＰ空間割当テーブル３５７として複数の内部ネットワーク中継装置３００の各々に登録されるアドレス空間情報に基づいて、ロンゲストマッチの規則を考慮したルーティング処理を実行することができる。したがって、ロンゲストマッチの規則に従いつつ、ネットワーク中継システム３０におけるルーティング処理を複数の内部ネットワーク中継装置３００に効果的に分担させることができる。
【０１７７】
また、アドレス空間情報であるＩＰ空間割当テーブル３５７は、集約アドレス範囲３９７を複数の内部ネットワーク中継装置３００の各々に割り当てた状態であり、複数の割当経路テーブル３５２は、ＩＰ空間割当テーブル３５７に基づいて生成されるため、複数の内部ネットワーク中継装置３００の各々において、他の内部ネットワーク中継装置３００に登録されている経路情報とのロンゲストマッチの関係を判断することなくルーティング処理を実現することができる。
【０１７８】
また、内部転送ヘッダ７８０をデータフレームに付与するため、複数の内部ネットワーク中継装置３００の間でデータフレームを円滑に転送することができる。
【０１７９】
Ｂ４．第２実施例の変形例：
図３７は、第２実施例の変形例におけるＩＰ空間割当テーブル３５７を示す説明図である。第２実施例の変形例では、ＩＰ空間割当テーブル３５７には、一つの集約アドレス範囲３９７に少なくとも二つの内部ネットワーク中継装置３００が割り当てられ、複数の割当経路テーブル３５２には、ＩＰ空間割当テーブル３５７に応じて、少なくとも二つの割当経路テーブル３５２に重複して同じ経路情報が割り当てられる。第２実施例の変形例では、自装置および他の内部ネットワーク中継装置３００の両方に経路情報が存在する場合、自装置に経路情報が存在するとして中継処理（ステップＳ４００）を実行する。第２実施例の変形例では、自装置とは異なる二つ以上の他の内部ネットワーク中継装置３００に経路情報が存在する場合、優先度、処理頻度、障害有無などの基準に基づいて、他の内部ネットワーク中継装置３００の一つに経路情報が存在するとして中継処理（ステップＳ４００）を実行する。第２実施例の変形例によれば、複数の内部ネットワーク中継装置３００の一つに障害が発生した場合であっても、残余の内部ネットワーク中継装置３００に登録されている経路情報に基づいてルーティング処理を継続することができる。
【０１８０】
Ｃ．第３実施例：
第３実施例におけるコンピュータネットワーク１０の構成は、外部ネットワーク中継装置２００および内部ネットワーク中継装置３００の構成を除き、第２実施例と同様である。
【０１８１】
図３８は、第３実施例における内部ネットワーク中継装置３００の構成を示す説明図である。第３実施例における内部ネットワーク中継装置３００の構成は、経路通知部３２５を更に備える点を除き、第２実施例と同様である。本実施例では、経路通知部３２５は、制御部３１０のＣＰＵ３１１が制御プログラム３２０に基づいて動作することによって実現される。
【０１８２】
内部ネットワーク中継装置３００の経路通知部３２５は、複数の外部ネットワーク２０のうち自身にリンクアグリゲーションで接続された外部ネットワーク２０に対して、自装置の割当経路テーブル３５２に割り当てられているＩＰアドレス範囲を通知する。本実施例では、経路通知部３２５は、外部ネットワーク２０の外部ネットワーク中継装置２００からの要求に応じて、自装置の割当経路テーブル３５２に割り当てられているＩＰアドレス範囲を通知する。本実施例では、経路通知部３２５は、自装置の割当経路テーブル３５２に割り当てられているＩＰアドレス範囲に対応する集約アドレス範囲３９７を外部ネットワーク中継装置２００に通知する。
【０１８３】
図３９は、第３実施例における外部ネットワーク中継装置２００の構成を示す説明図である。第３実施例における外部ネットワーク中継装置２００は、制御部２１０と、転送部２３０と、インタフェース部２８０とを備える。外部ネットワーク中継装置２００の制御部２１０は、転送部２３０およびインタフェース部２８０の動作を制御する。外部ネットワーク中継装置２００の転送部２３０は、インタフェース部２８０で受信されたデータフレームを他のネットワーク中継装置に転送するための処理を実施する。外部ネットワーク中継装置２００のインタフェース部２８０は、複数のネットワークインタフェース２１，２２として、本実施例では、イーサネットに準拠したツイストペアケーブルや光ファイバなどのネットワークインタフェースを備える。
【０１８４】
外部ネットワーク中継装置２００の制御部２１０は、割当学習部２２６を備える。本実施例では、割当学習部２２６は、制御部２１０においてＣＰＵがプログラムに基づいて動作することによって実現される。割当学習部２２６は、リンクアグリゲーション５０を構成する複数のネットワークインタフェース２１，２２の各々に接続された接続先から、各接続先がルーティングを担当するデータフレームの宛先ＩＰアドレスの割り当て範囲を示すＩＰアドレス範囲を、各接続先に応じたネットワークインタフェース２１，２２に対応付けて学習する。割当学習部２２６は、学習したＩＰアドレス範囲を示すリンク割当テーブル２４６を生成し、そのリンク割当テーブル２４６を転送部２３０に登録する。
【０１８５】
外部ネットワーク中継装置２００の転送部２３０は、リンクアグリゲーション５０から送信すべきデータフレームの宛先ＩＰアドレスがリンク割当テーブル２４６のＩＰアドレス範囲に属する場合、そのＩＰアドレス範囲に対応付けられているネットワークインタフェースからデータフレームを転送する。本実施例では、宛先ＩＰアドレスが属するＩＰアドレス範囲がリンク割当テーブル２４６に存在しない場合、転送部２３０は、優先度、使用頻度、障害状況など予め設定された基準に基づいてデータフレームを転送する。
【０１８６】
図４０は、リンク割当テーブル２４６を示す説明図である。リンク割当テーブル２４６は、リンクアグリゲーション５０の接続先である内部ネットワーク中継装置３００から通知されたＩＰアドレス範囲と、そのＩＰアドレス範囲に対応付けられた自装置のネットワークインタフェース２１，２２とを示す。図４０の例では、図２６のＩＰ空間割当テーブル３５７が各内部ネットワーク中継装置３００に登録されている場合に、外部ネットワーク中継装置２００ｂにおいて生成されるリンク割当テーブル２４６を示す。
【０１８７】
図４１は、第３実施例におけるデータフレーム転送の一例を示す説明図である。図４１では、第２実施例と同様に、外部ネットワーク２０ｂに接続された端末装置６１０ｂから、外部ネットワーク２０ａに接続された端末装置６１０ａにデータフレームを転送する例を示す。
【０１８８】
＜転送Ｔ３１０＞：端末装置６１０ｂから送信されるデータフレームのＩＰヘッダ７２０には、端末装置６１０ａのＩＰアドレス「２００．１．１．１」が宛先ＩＰアドレスとして設定され、端末装置６１０ｂのＩＰアドレス「７０．１．１．１」が送信元ＩＰアドレスとして設定される。第３実施例では、外部ネットワーク中継装置２００は、端末装置６１０ｂからのデータフレームを受信すると、その宛先ＩＰアドレスに対応付けられた自装置のネットワークインタフェースをリンク割当テーブル２４６から検索する。
【０１８９】
図４０のリンク割当テーブル２４６の例では、宛先ＩＰアドレス「２００．１．１．１」は、ＩＰアドレス空間「２００．０．０．０／１４」に属し、ネットワークインタフェース２２ｂに対応付けられている。そのため、外部ネットワーク中継装置２００は、リンクアグリゲーション５０ｂを構成するネットワークインタフェース２２ｂからデータフレームを転送する。これによって、端末装置６１０ｂから送信されたデータフレームは、外部ネットワーク中継装置２００を経由して内部ネットワーク中継装置３００ｂに転送される。
【０１９０】
＜転送Ｔ３２０＞：内部ネットワーク中継装置３００ｂは、ネットワークインタフェース３１ｂでデータフレームを受信すると、自装置のＩＰ空間割当テーブル３５７に基づいて、データフレームの宛先ＩＰアドレス「２００．１．１．１」への経路情報が複数の内部ネットワーク中継装置３００のいずれに割り当てられているかを検索する。図２６のＩＰ空間割当テーブル３５７の場合、宛先ＩＰアドレス「２００．１．１．１」は、ＩＰアドレス空間「２００．０．０．０／１４」に属し、その経路情報は、自装置である内部ネットワーク中継装置３００ｂに割り当てられている。そこで、内部ネットワーク中継装置３００ｂは、データフレームの宛先ＩＰアドレス「２００．１．１．１」への経路情報を、自装置の割当経路テーブル３５２ｂから検索する。内部ネットワーク中継装置３００ｂにおける経路検索以降の処理は、図３２の説明と同様である。
【０１９１】
以上説明した第３実施例のネットワーク中継システム３０によれば、各内部ネットワーク中継装置３００において、リンクアグリゲーション５０で接続された外部ネットワーク２０から、自装置に割り当てられたＩＰアドレス範囲に対応するデータフレームを積極的に受信することによって、ネットワーク中継システム３０におけるデータフレームの転送速度を向上させることができる。
【０１９２】
また、第３実施例の外部ネットワーク中継装置２００によれば、リンクアグリゲーション５０によって接続された内部ネットワーク中継装置３００が所属するネットワーク中継システム３０におけるデータフレームの転送速度を向上させることができる。
【０１９３】
第３実施例の変形例として、第２実施例の変形例や、第１実施例、および第１実施例の各変形例に、第３実施例を適用しても良い。第３実施例の変形例では、リンク割当テーブル２４６において一つのＩＰアドレス範囲に複数のネットワークインタフェースが対応付けられる場合、優先度、使用頻度、障害状況など予め設定された基準に基づいて、データフレームを転送するネットワークインタフェースが選定される。
【０１９４】
Ｄ．その他の実施形態：
以上、本発明の実施の形態について説明したが、本発明はこうした実施の形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内において様々な形態で実施し得ることは勿論である。
【０１９５】
例えば、バーチャルプライベートネットワーク（Virtual Private Network, ＶＰＮ）を構成する経路情報に、前述の各実施例を適用しても良い。この場合、割当経路テーブル３５２を始めとする各種テーブルをＶＰＮ毎に準備してネットワーク中継システム３０によってＶＰＮを構築する。これによって、ロンゲストマッチの規則に従いつつ、ＶＰＮにおけるルーティング処理を複数の内部ネットワーク中継装置３００に効果的に分担させることができる。
【０１９６】
また、前述の各実施例では、ネットワーク中継システム３０における複数の内部ネットワーク中継装置３００を個別に独立した装置として構成し、ネットワーク中継システム３０を仮想的な単一のネットワーク中継装置として機能させたが、他の実施形態において、複数の内部ネットワーク中継装置３００を単一の筐体に収納することによって、ネットワーク中継システム３０を物理的に単一のネットワーク中継装置として構成しても良い。
【０１９７】
また、本実施例では、複数の内部ネットワーク中継装置３００のうちプロトコル処理装置として選定された内部ネットワーク中継装置３００が転送準備処理（ステップＳ２００，Ｓ５００）を実行するが、他の実施形態において、内部ネットワーク中継装置３００とは異なる管理装置によって転送準備処理（ステップＳ２００，Ｓ５００）を実行しても良い。
【符号の説明】
【０１９８】
１０…コンピュータネットワーク
２０，２０ａ，２０ｂ，２０ｃ…外部ネットワーク
２１ａ，２１ｂ，２１ｃ…ネットワークインタフェース
２２ａ，２２ｂ，２２ｃ…ネットワークインタフェース
３０…ネットワーク中継システム
３１ａ，３１ｂ，３１ｃ…ネットワークインタフェース
３２ａ，３２ｂ，３２ｃ…ネットワークインタフェース
３３ａ，３３ｂ，３３ｃ…ネットワークインタフェース
３４ｂ…ネットワークインタフェース
５０，５０ａ，５０ｂ，５０ｃ…リンクアグリゲーション
２００，２００ａ，２００ｂ，２００ｃ…外部ネットワーク中継装置
２１０…制御部
２２６…割当学習部
２３０…転送部
２４６…リンク割当テーブル
２８０…インタフェース部
３００，３００ａ，３００ｂ，３００ｃ…内部ネットワーク中継装置
３１０…制御部
３１１…ＣＰＵ
３１２…記憶部
３２０…制御プログラム
３２１…情報学習部
３２２…情報割当部
３２３…空間情報生成部
３２４…情報登録部
３２５…経路通知部
３２８…管理情報
３２９…設定情報
３３０…転送部
３４０…検索部
３４１…ネットワーク層検索部
３４２…データリンク層検索部
３４３…内部経路検索部
３５０…記憶部
３５２，３５２ａ，３５２ｂ，３５２ｃ…割当経路テーブル
３５３，３５３ａ，３５３ｂ，３５３ｃ…内部経路テーブル
３５６，３５６ａ，３５６ｂ，３５６ｃ…送信元アドレステーブル
３６０…内部ヘッダ処理部
３８０…インタフェース部
３９１…学習経路情報
３９２…学習ＡＲＰ情報
３９３…学習送信元アドレス情報
３９５…割当ＩＰアドレス範囲
３９６…編成アドレス範囲
３９７…集約アドレス範囲
６１０，６１０ａ，６１０ｂ…端末装置
７００…フレーム構造
７１０…イーサネットヘッダ
７１２…フィールド
７１４…フィールド
７２０…ＩＰヘッダ
７２２…フィールド
７２４…フィールド
７３０…ペイロードフィールド
７４０…ＦＣＳフィールド
７８０…内部転送ヘッダ
７８１…第１ヘッダ情報
７８２…第２ヘッダ情報
７８３…第３ヘッダ情報
７８４…第４ヘッダ情報
【図１】
0005393622.tif 000002
【図２】
0005393622.tif 000003
【図３】
0005393622.tif 000004
【図４】
0005393622.tif 000005
【図５】
0005393622.tif 000006
【図６】
0005393622.tif 000007
【図７】
0005393622.tif 000008
【図８】
0005393622.tif 000009
【図９】
0005393622.tif 000010
【図１０】
0005393622.tif 000011
【図１１】
0005393622.tif 000012
【図１２】
0005393622.tif 000013
【図１３】
0005393622.tif 000014
【図１４】
0005393622.tif 000015
【図１５】
0005393622.tif 000016
【図１６】
0005393622.tif 000017
【図１７】
0005393622.tif 000018
【図１８】
0005393622.tif 000019
【図１９】
0005393622.tif 000020
【図２０】
0005393622.tif 000021
【図２１】
0005393622.tif 000022
【図２２】
0005393622.tif 000023
【図２３】
0005393622.tif 000024
【図２４】
0005393622.tif 000025
【図２５】
0005393622.tif 000026
【図２６】
0005393622.tif 000027
【図２７】
0005393622.tif 000028
【図２８】
0005393622.tif 000029
【図２９】
0005393622.tif 000030
【図３０】
0005393622.tif 000031
【図３１】
0005393622.tif 000032
【図３２】
0005393622.tif 000033
【図３３】
0005393622.tif 000034
【図３４】
0005393622.tif 000035
【図３５】
0005393622.tif 000036
【図３６】
0005393622.tif 000037
【図３７】
0005393622.tif 000038
【図３８】
0005393622.tif 000039
【図３９】
0005393622.tif 000040
【図４０】
0005393622.tif 000041
【図４１】
0005393622.tif 000042