(57)【特許請求の範囲】
【請求項１】
ネットワーク装置のインタフェースポートに任意の端末が直接接続された状態で、当該端末と前記ネットワーク装置との間の通信を可能とするためのネットワーク装置におけるアドレス変換方法であって、
前記端末が接続された前記インタフェースポートと当該インタフェースポートを介してデータの送受信が可能な実インタフェースとの間に仮想インタフェースを設定するステップと、
前記仮想インタフェースの前記インタフェースポート側に、前記端末から認識可能な第１のネットワークアドレスを仮想インタフェースアドレスとして割り当てるステップと、
前記仮想インタフェースの前記実インタフェース側に、前記仮想インタフェースを介して前記端末宛てにデータを送信するための仮想宛先アドレスとして用いられる前記実インタフェースから認識可能な第２のネットワークアドレスを割り当てるステップと、
前記端末から前記ネットワーク装置の前記インタフェースポートに前記第１のネットワークアドレスを宛先アドレスとして含む第１の送信データが送出された場合、当該第１の送信データを前記仮想インタフェース宛てとして受信して、当該第１の送信データ中の宛先アドレス及び送信元アドレスを、前記実インタフェースから認識可能なアドレスに変換する第１のアドレス変換ステップと、
前記変換後の第１の送信データを前記実インタフェースに送出するステップと、
前記実インタフェースから前記仮想インタフェースに前記第２のネットワークアドレスを宛先アドレスとして含む第２の送信データが送出された場合、当該第２の送信データを前記仮想インタフェースにて受信して、当該第２の送信データ中の宛先アドレス及び送信元アドレスを、前記端末から認識可能なアドレスに変換する第２のアドレス変換ステップと、
前記変換後の第２の送信データを前記仮想インタフェースから前記インタフェースポートを介して送出するステップと
を具備することを特徴とするアドレス変換方法。
【請求項２】
前記第１のアドレス変換ステップは、前記第１の送信データ中の宛先アドレスを前記実インタフェースのネットワークアドレスに変換するステップと、当該第１の送信データ中の送信元アドレスを前記第２のネットワークアドレスに変換するステップとを含むことを特徴とする請求項１記載のアドレス変換方法。
【請求項３】
前記第２のアドレス変換ステップは、前記第２の送信データ中の宛先アドレスを前記端末のネットワークアドレスに変換するステップと、当該第２の送信データ中の送信元アドレスを前記第１のネットワークアドレスに変換するステップとを含むことを特徴とする請求項１記載のアドレス変換方法。
【請求項４】
前記仮想インタフェースの前記インタフェースポート側に割り当てられる前記第１のネットワークアドレスに、前記端末から前記ネットワーク装置の前記インタフェースポートに送出される送信データに含まれる、当該端末から前記ネットワーク装置のネットワークアドレスとして認識される任意の宛先アドレスが用いられることを特徴とする請求項１記載のアドレス変換方法。
【請求項５】
前記仮想インタフェースの前記実インタフェース側にネットワークアドレスを割り当てる前記ステップは、少なくとも前記実インタフェースのネットワークアドレスをもとに、前記第２のネットワークアドレスを生成するステップを含むことを特徴とする請求項１記載のアドレス変換方法。
【請求項６】
前記第２のネットワークアドレスを生成するステップでは、前記実インタフェースのネットワークアドレスと前記端末から前記ネットワーク装置の前記インタフェースポートに送出される送信データに含まれる前記端末のネットワークアドレスを示す送信元アドレスとをもとに、前記第２のネットワークアドレスを生成することを特徴とする請求項５記載のアドレス変換方法。
【請求項７】
インタフェースポートを介してデータの送受信が可能な実インタフェースを備えたネットワーク装置において、
前記インタフェースポートに任意の端末が直接接続された状態で、当該インタフェースポートと前記実インタフェースとの間に仮想インタフェースを設定する手段と、
前記仮想インタフェースの前記インタフェースポート側に、前記端末から認識可能な第１のネットワークアドレスを仮想インタフェースアドレスとして割り当てる手段と、
前記仮想インタフェースの前記実インタフェース側に、前記仮想インタフェースを介して前記端末宛てにデータを送信するための仮想宛先アドレスとして用いられる前記実インタフェースから認識可能な第２のネットワークアドレスを割り当てる手段と
を具備し、
前記仮想インタフェースは、前記端末から前記ネットワーク装置の前記インタフェースポートに前記第１のネットワークアドレスを宛先アドレスとして含む第１の送信データが送出された場合、当該第１の送信データを受信して、当該第１の送信データ中の宛先アドレス及び送信元アドレスを、前記実インタフェースから認識可能なアドレスに変換し、その変換後の第１の送信データを前記実インタフェースに送出する第１のアドレス変換手段と、前記実インタフェースから前記仮想インタフェースに前記第２のネットワークアドレスを宛先アドレスとして含む第２の送信データが送出された場合、当該第２の送信データを受信して、当該第２の送信データ中の宛先アドレス及び送信元アドレスを、前記端末から認識可能なアドレスに変換し、その変換後の第２の送信データを前記インタフェースポートを介して送出する第２のアドレス変換手段とを含む
ことを特徴とするネットワーク装置。
【請求項８】
インタフェースポートを介してデータの送受信が可能な実インタフェースを備えたネットワーク装置において、
前記インタフェースポートに任意の端末が直接接続された状態で、前記ネットワーク装置のモードを通常モードからサービスモードに切り替え設定する手段と、
前記インタフェースポートと前記実インタフェースとの間に配置され、前記サービスモードで起動されて、前記インタフェースポートとの間と前記実インタフェースとの間とでそれぞれデータ送受信を行う仮想インタフェースと、
前記仮想インタフェースの前記インタフェースポート側に、前記端末から認識可能な第１のネットワークアドレスを仮想インタフェースアドレスとして割り当てる手段と、
前記仮想インタフェースの前記実インタフェース側に、前記仮想インタフェースを介して前記端末宛てにデータを送信するための仮想宛先アドレスとして用いられる前記実インタフェースから認識可能な第２のネットワークアドレスを割り当てる手段と
を具備し、
前記実インタフェースは、前記通常モードでは前記インタフェースポート側を選択して当該インタフェースポートとの間でデータの送受信を行い、前記サービスモードでは前記仮想インタフェース側を選択して当該仮想インタフェースとの間でデータの送受信を行い、
前記仮想インタフェースは、前記サービスモードにおいて前記端末から前記ネットワーク装置の前記インタフェースポートに前記第１のネットワークアドレスを宛先アドレスとして含む第１の送信データが送出された場合、当該第１の送信データを受信して、当該第１の送信データ中の宛先アドレス及び送信元アドレスを、前記実インタフェースから認識可能なアドレスに変換し、その変換後の第１の送信データを前記実インタフェースに送出する第１のアドレス変換手段と、前記サービスモードにおいて前記実インタフェースから前記仮想インタフェースに前記第２のネットワークアドレスを宛先アドレスとして含む第２の送信データが送出された場合、当該第２の送信データを受信して、当該第２の送信データ中の宛先アドレス及び送信元アドレスを、前記端末から認識可能なアドレスに変換し、その変換後の第２の送信データを前記インタフェースポートを介して送出する第２のアドレス変換手段とを含む
ことを特徴とするネットワーク装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ルータに代表されるネットワーク装置に係り、特に当該ネットワーク装置における各種の設定、プログラムの変更または通信動作の確認のための処理を当該ネットワーク装置に直接接続された端末から実行可能とするのに必要な、ネットワーク装置におけるアドレス変換方法、及びネットワーク装置に関する。
【０００２】
【従来の技術】
従来、ルーティング機能を有するネットワーク装置における、アドレス設定を含む各種の設定、プログラムの変更、または通信動作の確認のための処理は、当該ネットワーク装置と当該ネットワーク装置を含むネットワークシステムとの関係をもとに、当該ネットワーク装置が以下に示す第１乃至第３の場合のいずれに該当するかに応じて、実施されるのが一般的である。
【０００３】
（１）第１は、対象となるネットワーク装置がネットワークシステムに現在組み込まれている場合、つまりネットワーク装置が運用中の場合である。運用中のネットワーク装置には、当該ネットワーク装置が組み込まれているネットワークシステムに合わせて、ネットワークアドレス、ルーティング及びスイッチングなどの設定がなされている。
【０００４】
この第１の場合には、ネットワーク上のパーソナルコンピュータ（ＰＣ）などの端末をｔｅｌｎｅｔ、ＨＴＴＰ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）またはＳＮＭＰ（Ｓｉｍｐｌｅ  Ｎｅｔｗｏｒｋ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ）などによりネットワーク装置にリモート接続する接続形態（以下、第１の接続形態と称する）、或いはＰＣなどの端末をネットワーク装置が有する管理用のシリアルインタフェースに直接接続する接続形態（以下、第２の接続形態と称する）が適用される。上記第１の接続形態をとる端末は仮想端末と呼ばれ、上記第２の接続形態をとる端末はコンソールと呼ばれる。
【０００５】
第１の場合、仮想端末またはコンソール、或いはその両方を用いて、ネットワーク装置における各種の設定操作、プログラム変更操作、或いは通信動作の確認が実施される。この通信動作の確認は、仮想端末またはコンソールから、例えばｐｉｎｇ（ｐａｃｋｅｔ  ｉｎｔｅｒｎｅｔ  ｇｒｏｐｅｒ）コマンドを実行することにより実現される。
【０００６】
（２）第２は、対象となるネットワーク装置が、工場出荷などで初期設定状態にあるネットワーク装置の場合である。第２の場合にも、上記第１の場合と同様に、仮想端末またはコンソール、或いはその両方を用いて、ネットワーク装置における各種の設定操作、プログラム変更操作、或いは通信動作の確認が実施される。
【０００７】
（３）第３は、対象となるネットワーク装置には、ネットワークアドレス、ルーティング、及びスイッチングなどの設定がなされているものの、当該ネットワーク装置がネットワークシステムから切り離されている場合、つまりネットワーク装置が運用中でない場合である。第３の場合にも、上記第１または第２の場合と同様に、仮想端末またはコンソール、或いはその両方を用いて、ネットワーク装置における各種の設定操作、プログラム変更操作、或いは通信動作の確認が実施される。
【０００８】
上記第１、第２または第３のいずれの場合にも、仮想端末またはコンソールからネットワーク装置への設定ファイルまたはプログラムの転送には、ＦＴＰ（Ｆｉｌｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）やＴＦＴＰ（Ｔｒｉｖｉａｌ  Ｆｉｌｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）などのファイル転送プロトコルが用いられる。
【０００９】
ネットワーク装置における各種の設定操作、プログラム変更操作、或いは通信動作の確認のための処理を上述のように実施するには、上記第１乃至第３のいずれの場合にも、当該ネットワーク装置の設定に合わせるために、当該ネットワーク装置に直接接続されたＰＣ等の端末（仮想端末またはサーバ端末）が使用可能なネットワークアドレス、及び当該ネットワーク装置のネットワークアドレスを事前に知る必要がある。また、ネットワーク装置のインタフェースポート毎にネットワークアドレスの設定変更をする必要がある。
【００１０】
また、特許文献１には、アドレスの変更（変換）を行う擬似試験装置が開示されている。この擬似試験装置は、伝送路を監視する監視装置から検証データを受け取り、当該伝送路に接続される実際の装置もしくは実際の装置を擬似的に表す擬似装置に検証データを送信する。また、擬似試験装置は、検証データの実際の装置に宛てられた宛先アドレスＡを擬似装置のアドレスに変換し、アドレス変換する前の宛先アドレスは検証データに内包させて擬似装置（擬似端末装置）に送信する。また、擬似試験装置は、擬似装置からの送信データの発信元アドレスを変換前の宛先アドレスＡに変換する。
【００１１】
【特許文献１】
特開平１１−２２０４８７号公報（請求項１、段落０００８〜００１５、図１）
【００１２】
【発明が解決しようとする課題】
上記したように従来技術においては、ネットワーク装置に直接接続された端末（仮想端末またはサーバ端末）から当該ネットワーク装置における各種の設定操作、プログラム変更操作、或いは通信動作の確認のための処理を実施可能とするには、つまりネットワーク装置に直接接続された端末と当該ネットワーク装置との間の通信を可能とするには、当該ネットワーク装置の設定に合わせるために、当該端末が使用可能なネットワークアドレス、及び当該ネットワーク装置のネットワークアドレスを事前に知っていなければならない。また、ネットワーク装置のインタフェースポート毎にネットワークアドレスの設定変更をしなければならないことから、そのための手間と時間を要し、加えてネットワークアドレスの設定ミスを犯す危険が大きい。
【００１３】
本発明は上記事情を考慮してなされたものでその目的は、ネットワーク装置のインタフェースポートに任意の端末が直接接続された状態で、当該端末とネットワーク装置との間の通信が簡単に且つ確実に行える、ネットワーク装置におけるアドレス変換方法、及びネットワーク装置を提供することにある。
【００１４】
【課題を解決するための手段】
本発明の１つの観点によれば、ネットワーク装置のインタフェースポートに任意の端末が直接接続された状態で、当該端末と上記ネットワーク装置との間の通信を可能とするためのネットワーク装置におけるアドレス変換方法が提供される。この方法は、上記端末が接続されたインタフェースポートと当該インタフェースポートを介してデータの送受信が可能な実インタフェースとの間に仮想インタフェースを設定するステップと、上記仮想インタフェースの上記インタフェースポート側に、上記端末から認識可能な第１のネットワークアドレスを仮想インタフェースアドレスとして割り当てるステップと、上記仮想インタフェースの上記実インタフェース側に、上記仮想インタフェースを介して上記端末宛てにデータを送信するための仮想宛先アドレスとして用いられる上記実インタフェースから認識可能な第２のネットワークアドレスを割り当てるステップと、上記端末から上記ネットワーク装置の上記インタフェースポートに上記第１のネットワークアドレスを宛先アドレスとして含む第１の送信データが送出された場合、当該第１の送信データを上記仮想インタフェース宛てとして受信して、当該第１の送信データ中の宛先アドレス及び送信元アドレスを、上記実インタフェースから認識可能なアドレスに変換する第１のアドレス変換ステップと、上記変換後の第１の送信データを上記実インタフェースに送出するステップと、上記実インタフェースから上記仮想インタフェースに上記第２のネットワークアドレスを宛先アドレスとして含む第２の送信データが送出された場合、当該第２の送信データを上記仮想インタフェースにて受信して、当該第２の送信データ中の宛先アドレス及び送信元アドレスを、上記端末から認識可能なアドレスに変換する第２のアドレス変換ステップと、上記変換後の第２の送信データを上記仮想インタフェースから上記インタフェースポートを介して送出するステップとから構成されることを特徴とする。ここで、上記端末の概念には、上記ネットワーク装置のインタフェースポートに直接接続されている別のネットワーク装置を端末（仮想端末、或いはサーバ端末）として用いる場合も含む。
【００１５】
このように、上記の構成においては、端末が直接接続されたネットワーク装置のインタフェースポートと実インタフェースとの間に仮想インタフェースが設定される。この仮想インタフェースには、第１及び第２のインタフェースアドレスが割り当てられる。第１のインタフェースアドレスは、上記端末が接続されたインタフェースポート側のネットワークアドレス（ポートＰ０のネットワークアドレス）である。第１のネットワークアドレスには、上記端末から認識可能なネットワークアドレスが用いられる。この第１のネットワークアドレスには、例えば、上記端末から上記ネットワーク装置の上記インタフェースポートに送出される送信データ（ｐｉｎｇなど）中の宛先アドレス、つまり当該端末から上記ネットワーク装置のネットワークアドレスとして認識される宛先アドレスを適用するとよい。一方、第２のネットワークアドレスを、少なくとも上記実インタフェースのネットワークアドレスをもとに生成する構成とするならば、当該実インタフェースから認識可能な第２のネットワークアドレスを簡単に設定できる。特に、上記実インタフェースのネットワークアドレスに加えて上記送信データ中の上記端末のネットワークアドレスを示す送信元アドレスをも利用して第２のネットワークアドレスを生成するならば、当該実インタフェースから認識可能な第２のネットワークアドレスを極めて簡単に設定できる。ここでは、実インタフェースのネットワークアドレスの上位ビットと送信元アドレスの下位ビットとを組み合わせるとよい。また、送信元アドレスの下位ビットに代えて固定値を用いることも可能である。
【００１６】
上述の仮想インタフェースに対する第１及び第２のネットワークアドレスの割り当てにより、上記ネットワーク装置のインタフェースポートに任意のネットワークアドレスの端末が直接接続されても、その端末と仮想インタフェースとの間で通信を行うことが可能となる。また、仮想インタフェースと実インタフェースとの間でも通信（データの送受信）を行うことが可能となる。つまり、上記端末と当該端末が直接接続されたネットワーク装置のインタフェースポートとは、本来異なるネットワークに接続して用いられるものであっても、当該端末は、当該ネットワーク装置内の実インタフェースのネットワークアドレスを全く意識することなく、自身が認識可能な仮想インタフェースを介して実インタフェースと通信可能となる。同様に、ネットワーク装置の内部、つまり実インタフェース側では、外部の端末の存在を全く意識することなく、単に仮想インタフェースと通信するだけで、結果的に当該端末と通信できる。
【００１７】
この通信のために、上記の構成においては、上記第１のネットワークアドレスを宛先アドレスとする送信データ（第１の送信データ）が上記端末からネットワーク装置のインタフェースポートに送出された場合、当該送信データは、仮想インタフェース宛てとして当該仮想インタフェースで受信される。この仮想インタフェースで受信された端末からの送信データは、実際には実インタフェース宛ての送信データであるとして、当該送信データ中の宛先アドレス及び送信元アドレスが、実インタフェースから認識可能なアドレスに変換され、その変換後の送信データが実インタフェースに送出（中継）される。これにより実インタフェースは、この仮想インタフェースにより中継された送信データ（第１の送信データ）を自身宛てとして受信できる。ここで、送信データ中の宛先アドレス及び送信元アドレスを実インタフェースから認識可能なアドレスとするには、宛先アドレスについては、（仮想インタフェースのポートＰ０宛てのアドレスである第１のネットワークアドレスから）実インタフェース宛てのアドレス、つまり実インタフェースのネットワークアドレスに変換し、送信元アドレスについては、（端末のアドレスから）仮想インタフェースのポートＰ１のアドレスである第２のネットワークアドレスに変換するとよい。
【００１８】
また上記通信のために、上記の構成においては、上記第２のネットワークアドレスを宛先アドレスとして含む送信データ（第２の送信データ）、つまり仮想インタフェース宛ての送信データが実インタフェースから仮想インタフェースに送出された場合、当該送信データは、一旦仮想インタフェースで受信される。この仮想インタフェースで受信された実インタフェースからの送信データは、実際には上記インタフェースポートに直接接続された端末宛ての送信データであるとして、当該送信データ中の宛先アドレス及び送信元アドレスが端末から認識可能なアドレスに変換され、その変換後の送信データが仮想インタフェースから上記インタフェースポートを介して送出される。これにより当該インタフェースポートに直接接続された端末は、この仮想インタフェースにより中継された送信データ（第２の送信データ）を自身宛てとして受信できる。ここで、送信データ中の宛先アドレス及び送信元アドレスを端末から認識可能なアドレスとするには、宛先アドレスについては、（仮想インタフェースのポートＰ１宛てのアドレスである第２のネットワークアドレスから）端末宛てのアドレス、つまり端末のネットワークアドレスに変換し、送信元アドレスについては、（実インタフェースのアドレスから）仮想インタフェースのポートＰ０のアドレスである第１のネットワークアドレスに変換するとよい。
【００１９】
以上により、端末と当該端末が直接接続されたネットワーク装置のインタフェースポートとは、本来異なるネットワークに接続して用いられるものであっても、当該端末とネットワーク装置との間の通信が、当該端末に専用の機能を持たせることなく、またネットワーク装置のインタフェースポート毎にネットワークアドレスの設定変更を行うことなく行うことができる。しかも、端末とネットワーク装置との間の通信を可能とするために、ネットワーク装置における既設定のインタフェース情報及びルーティング情報が変更されるのを抑制できる。よって、端末とネットワーク装置との間の通信により、当該端末からネットワーク装置に対する各種の設定、ネットワーク装置に搭載されているプログラムの変更、或いはネットワーク装置の通信動作の確認のための処理が、簡単に且つ確実に実施できる。
【００２０】
なお、以上のネットワーク装置におけるアドレス変換方法に係る本発明は、当該ネットワーク装置に当該方法に相当する手順を実行させるためのプログラムに係る発明としても成立する。また、上記アドレス変換方法に係る本発明は、当該方法を適用するネットワーク装置に係る発明としても成立する。
【００２１】
【発明の実施の形態】
以下、本発明のネットワーク装置をルータに適用した実施の形態につき図面を参照して説明する。
【００２２】
図１は本発明の一実施形態に係るルータを含むネットワークシステムのシステム構成を示すブロック図である。
図１において、ルータ１０は、ネットワークインタフェース（ネットワークインタフェースポート）Ｅ１００，Ｅ１０１，Ｅ１０２及びＥ１０３を含むネットワーク装置である。インタフェースＥ１００，Ｅ１０１，Ｅ１０２及びＥ１０３には、通信階層モデルのレイヤ３（ネットワーク層）のアドレス、つまりネットワークアドレスとして、それぞれ１０．０．０．０，１０．１．０．０，１０．２．０．０及び１０．３．０．０のＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレス（３２ビット）が割り当てられている。インタフェースＥ１００，Ｅ１０１，Ｅ１０２及びＥ１０３にはまた、通信階層モデルのレイヤ２（データリンク層）のアドレス、つまりハードウェアアドレスとして、それぞれ０１００．００００．００００，０１００．００００．０００１，０１００．００００．０００２及び０１００．００００．０００３のＭＡＣ（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ）アドレスが割り当てられている。
【００２３】
ルータ１０は、インタフェースＥ１００からネットワーク２０を介して、端末としてのＰＣ（パーソナルコンピュータ）３０と接続されると共に、インタフェースＥ１０１からネットワーク２１を介してルータ１１と接続されている。ルータ１０はまた、インタフェースＥ１０２からネットワーク２２を介してＰＣ３１と接続されると共に、インタフェースＥ１０３からネットワーク２３を介してルータ１２とも接続されている。
【００２４】
またルータ１０は、当該ルータ１０内の各部を制御するＣＰＵ１０１と、記憶ユニット１０２とを含む。記憶ユニット１０２には、ルータ１０の機能を実現するための、ＣＰＵ１０１によって実行されるプログラム１０３と、テーブル（ルーティングテーブル）１０４とが格納される。なお、ＣＰＵ１０１及び記憶ユニット１０２等を相互接続する内部バスは省略されている。
【００２５】
ルータ１１は、ネットワークインタフェース（ネットワークインタフェースポート）Ｅ１１０及びＥ１１１を含む。インタフェースＥ１１０及びＥ１１１には、ネットワークアドレスとして、それぞれ１０．１．０．２及び１０．１．１．１のＩＰアドレスが割り当てられると共に、ハードウェアアドレスとして、それぞれ０１０１．００００．００００及び０１０１．００００．０００１のＭＡＣアドレスが割り当てられている。
【００２６】
ルータ１２は、ネットワークインタフェース（ネットワークインタフェースポート）Ｅ１２０及びＥ１２１を含む。インタフェースＥ１２０及びＥ１２１には、ネットワークアドレスとして、それぞれ１０．３．０．２及び１０．３．１．１のＩＰアドレスが割り当てられると共に、ハードウェアアドレスとして、それぞれ０１０２．００００．００００及び０１０２．００００．０００１のＭＡＣアドレスが割り当てられている。
【００２７】
ネットワーク２０は、ＰＣ３０のインタフェースＥ３００とルータ１０のインタフェースＥ１００とが属するネットワークセグメント（サブネットワーク）である。ネットワーク２０のアドレスは１０．０．０．０（但し、サブネットマスク２８ビット）である。
【００２８】
ネットワーク２１は、ルータ１０のインタフェースＥ１０１とルータ１１のインタフェースＥ１１０とが属するネットワークセグメント（サブネットワーク）である。ネットワーク２１のアドレスは１０．１．０．０（但し、サブネットマスク２８ビット）である。
【００２９】
ネットワーク２２は、ＰＣ３１のインタフェースＥ３１０とルータ１０のインタフェースＥ１０２とが属するネットワークセグメント（サブネットワーク）である。ネットワーク２１２アドレスは１０．２．０．０（但し、サブネットマスク２８ビット）である。
【００３０】
ネットワーク２３は、ルータ１０のインタフェースＥ１０３とルータ１２のインタフェースＥ１２０とが属するネットワークセグメント（サブネットワーク）である。ネットワーク２３のアドレスは１０．３．０．０（但し、サブネットマスク２８ビット）である。
【００３１】
ネットワーク２４は、ルータ１１のインタフェースＥ１１１が属するネットワークセグメント（サブネットワーク）である。ネットワーク２４のアドレスは１０．１．１．０（但し、サブネットマスク２８ビット）である。
【００３２】
ネットワーク２５は、ルータ１２のインタフェースＥ１２１が属するネットワークセグメント（サブネットワーク）である。ネットワーク２５のアドレスは１０．３．１．０（但し、サブネットマスク２８ビット）である。
【００３３】
ＰＣ３０はネットワークインタフェース（ネットワークインタフェースポート）Ｅ３００を含む。インタフェースＥ３００には、ネットワークアドレスとして１０．０．０．１０のＩＰアドレスが割り当てられると共に、ハードウェアアドレスとして０１３０．００００．００００のＭＡＣアドレスが割り当てられている。
【００３４】
ＰＣ３１はネットワークインタフェース（ネットワークインタフェースポート）Ｅ３１０を含む。インタフェースＥ３１０には、ネットワークアドレスとして１０．２．０．１０のＩＰアドレスが割り当てられると共に、ハードウェアアドレスとして０１３１．００００．００００のＭＡＣアドレスが割り当てられている。
【００３５】
図２は図１中のルータ１０が有するテーブル１０４のデータ構造例を示す。テーブル１０４の各エントリは、エントリ番号を示すフィールド（Ｅｎｔｒｙ  Ｎｏ．）２０１と、宛先装置（ルータ１０によるルーティングの対象となる装置）のＭＡＣアドレスを示すフィールド（Ｄ−ＭＡＣ）２０２とを含む。ここでは、フィールド（Ｄ−ＭＡＣ）２０２には、ルータ１０とポイント対ポイント接続される宛先装置のＭＡＣアドレスが設定される。テーブル１０４の各エントリはまた、宛先装置のＩＰアドレスまたはサブネットワークのアドレス（サブネットアドレス）を示すフィールド（Ｄ−ＩＰ  ｏｒ  Ｓｕｂｎｅｔ）２０３と、宛先装置のＩＰアドレスまたはサブネットワークのアドレス（サブネットアドレス）が属するルータ上のネットワークインタフェースのインタフェース番号を示すフィールド（Ｉ／Ｆ  Ｎｏ．）２０４とを含む。テーブル１０４の各エントリは更に、フィールド（Ｉ／Ｆ  Ｎｏ．）２０４で示されるネットワークインタフェースのＭＡＣアドレスを示すフィールド（Ｉ／Ｆ  ＭＡＣ）２０５と、フィールド（Ｉ／Ｆ  Ｎｏ．）２０４で示されるネットワークインタフェースのＩＰアドレスを示すフィールド（Ｉ／Ｆ  ＩＰ）２０６とを含む。
【００３６】
図２の状態では、後述する仮想インタフェース機能はルータ１０上で動作していない。仮想インタフェース機能がルータ１０上で動作している状態では、テーブル１０４には、仮想インタフェースに関する情報の設定フィールドが追加される（図６のフィールド３０１〜３０３参照）。
【００３７】
図２の例では、テーブル１０４内の、フィールド（Ｅｎｔｒｙ  Ｎｏ．）２０１で指定されるエントリ番号が１〜４のエントリには、ルータ１０内のネットワークインタフェースＥ１００，Ｅ１０１，Ｅ１０２及びＥ１０３に関する情報（インタフェース情報）が設定されている。インタフェース情報は、当該情報の設定時点で決まるアドレス情報である。ここでは、インタフェースＥ１００，Ｅ１０１，Ｅ１０２及びＥ１０３に関するインタフェース情報として、それぞれ当該インタフェースＥ１００，Ｅ１０１，Ｅ１０２及びＥ１０３のアドレス（ＩＰアドレス及びＭＡＣアドレス）と当該インタフェースＥ１００，Ｅ１０１，Ｅ１０２及びＥ１０３が接続されているネットワーク２０，２１，２２及び２３のアドレス（サブネットアドレス）とを含む情報が設定されている。
【００３８】
また、テーブル１０４内の、フィールド２０１で指定されるエントリ番号が５及び６のエントリには、ルータ１０内のネットワークインタフェースからネットワーク及び別のルータを介して接続されている別のネットワーク（ネットワークセグメント）のアドレス（サブネットアドレス）を含む静的なルーティング情報が設定されている。図２の例では、静的なルーティング情報は、ルータ１０内のネットワークインタフェースＥ１０１及びＥ１０３から、それぞれネットワーク２１及び２３を介してルータ１１及び１２と接続されているネットワーク（ネットワークセグメント）２４及び２５のアドレス１０．１．１．０及び１０．３．１．０（但し、サブネットマスク２８ビット）を含む。
【００３９】
また、テーブル１０４内の、フィールド２０１で指定されるエントリ番号が７乃至１０のエントリには、動的なルーティング情報が設定される。動的なルーティング情報は動的に設定変更される。図２の例では、動的なルーティング情報として、インタフェースＥ１００及びＥ１０２と、それぞれネットワーク２０及び２２を介して接続されているＰＣ３０及び３１のアドレス（ＩＰアドレス及びＭＡＣアドレス）がインタフェースＥ１００及びＥ１０２のアドレス（ＩＰアドレス及びＭＡＣアドレス）と組をなして設定されると共に、インタフェースＥ１０１及びＥ１０３と、それぞれネットワーク２１及び２３を介して接続されているルータ１１及び１２のインタフェースＥ１１０及びＥ１２０のアドレス（ＩＰアドレス及びＭＡＣアドレス）がインタフェースＥ１０１及びＥ１０３のアドレス（ＩＰアドレス及びＭＡＣアドレス）と組をなして設定されている。
【００４０】
次に、本実施形態の動作について、図１中のルータ１０をネットワークシステムから切り離した状態で、当該ルータ１０に搭載されているプログラム１０３の変更（ソフトウェアのアップデート）及び通信動作確認を可能とするための処理を実施する場合を例に、図３乃至図５を参照して説明する。なお、図３はルータ１０上で仮想インタフェース機能を動作させる場合と、当該仮想インタフェース機能が動作している場合とを説明するための図、図４はｐｉｎｇコマンドの一例を示す図、図５は動作を説明するためのシーケンスチャートである。
【００４１】
まずオペレータ（ユーザ）は、ネットワークシステムから切り離されているルータ１０に、図３（ａ）に示すように、例えばコンソール３００を接続する。ここでは、コンソール３００は、ルータ１０の管理用のシリアルインタフェース（図示せず）に接続される。なお、コンソール３００が常時ルータ１０に接続されている構成であっても構わない。
【００４２】
次にオペレータは、コンソール３００を用いて、ルータ１０を当該コンソールのソフトウェア処理によりサービスモードに設定するための操作を行う。ルータ１０内のＣＰＵ１０１は、コンソール３００からサービスモードが指定されると、当該ルータ１０をサービスモードに設定する（ステップＳ１，Ｓ２）。なお、ルータ１０に専用のモード切り替えスイッチを設け、当該スイッチを操作することで、ハードウェア的にルータ１０をサービスモードに設定することも可能である。
【００４３】
次にオペレータは、図３（ａ）に示すように、ルータ１０内の任意のインタフェース、例えばインタフェースＥ１００に、ＰＣ４０を接続する。ＰＣ４０は、変更（ダウンロード）するプログラムを搭載した例えばＴＦＴＰサーバ機能を持つパーソナルコンピュータであり、ネットワークインタフェース（ネットワークインタフェースポート）Ｅ４００を含む。インタフェースＥ４００には、ネットワークアドレスとして２０．０．０．１０のＩＰアドレスが割り当てられると共に、ハードウェアアドレスとして０３０１．００００．００００のＭＡＣアドレスが割り当てられている。なお、図３（ｂ）では、コンソール３００は省略されている。
【００４４】
次にオペレータはＰＣ４０を用いて特別の操作を実行する、するとＰＣ４０は、ルータ１０のＩＰアドレスとして設定を希望する（ルータ１０のＩＰアドレスとしてＰＣ４０から認識可能な）例えば２０．０．０．１を宛先ＩＰアドレス（デスティネーションアドレス）にしたｐｉｎｇコマンドを実行する（ステップＳ３）。これにより、ＰＣ４０のインタフェースＥ４００からルータ１０のインタフェースＥ１００に対し、ｐｉｎｇ（に従うＩＰパケット）が送出される。ｐｉｎｇは、図４に示すように、送信元アドレス（ＩＰアドレス）Ｓ−ＩＰとしてＰＣ４０のインタフェースＥ４００のＩＰアドレスである２０．０．０．１０を、宛先アドレス（ＩＰアドレス）Ｄ−ＩＰとして上記２０．０．０．１を含む。周知のように、ｐｉｎｇは、ネットワークの接続確認等に用いられるコマンドであり、ＩＣＭＰ（Ｉｎｔｅｒｎｅｔ  Ｃｏｎｔｒｏｌ  Ｍｅｓｓａｇｅ  Ｐｒｏｔｏｃｏｌ）のエコーコマンドを使って実行される。
【００４５】
さて、上述の例のように、ＰＣ４０及びルータ１０が属するネットワーク（サブネットワーク）のアドレス（サブネットアドレス）が異なる場合、一般にはＰＣ４０とルータ１０との間で通信できない。そこで本実施形態では、サービスモードが設定されている状態で、ルータ１０のインタフェースＥ１００で、当該インタフェースＥ１００のネットワークアドレスと異なるネットワークアドレス（サブネットアドレス）を宛先とする送信データ（ＩＰパケット）が受信された場合、当該パケットが破棄されるのを禁止すると共に、ＣＰＵ１０１の制御により、図３（ｂ）に示すように仮想インタフェースＶ０が起動（設定）される（ステップＳ４）構成を適用している。この仮想インタフェースＶ０は、ＰＣ４０とルータ１０との間の通信を可能とするために起動されるインタフェースであり、ＰＣ４０からのｐｉｎｇ中の宛先アドレス（ＩＰアドレス）Ｄ−ＩＰまたはサブネットワークのアドレス（サブネットアドレス）が属するルータ１０上のインタフェースである。仮想インタフェースＶ０はソフトウェアにより実現され、論理的には、図３（ｂ）に示すように、インタフェースＥ１００の前段、即ちＰＣ４０のインタフェースＥ４００とルータ１０のインタフェースＥ１００との間に位置する。仮想インタフェースＶ０は、ＰＣ４０のインタフェースＥ４００側のポート、つまりＰＣ４０のインタフェースＥ４００が直接接続されたルータ１０のインタフェースポートに一致するポート（インタフェースポート）Ｐ０と、インタフェースＥ１００側のポートＰ１とを含む。以下の説明では、インタフェースＥ１００など、ルータ１０内に予め設定されているインタフェースを、仮想インタフェースＶ０と区別するために実インタフェースと呼ぶこともある。
【００４６】
ＣＰＵ１０１は、仮想インタフェースＶ０を起動すると（ステップＳ４）、その前にインタフェースＥ１００で受信されたｐｉｎｇに含まれている宛先アドレスＤ−ＩＰ＝２０．０．０．１を、仮想インタフェースＶ０のポートＰ０に仮想インタフェースアドレスとして割り当てる（ステップＳ５）。このＰ０に割り当てられたアドレス（仮想インタフェースアドレス）は、ＰＣ４０からは、ルータ１０のアドレスとして認識可能である。
【００４７】
またＣＰＵ１０１は、仮想インタフェースＶ０のポートＰ１にネットワークアドレスを割り当てる（ステップＳ６）。このステップＳ６で、ポートＰ１に割り当てられるネットワークアドレスは、少なくとも、インタフェースＥ１００に割り当てられているネットワークアドレス（インタフェースアドレス、ＩＰアドレス）＝１０．０．０．１をもとに決定され、その詳細は次の通りである。
【００４８】
まずＣＰＵ１０１は、インタフェースＥ１００に割り当てられている３２ビットのネットワークアドレス１０．０．０．１のうちの例えば上位２４ビット（＝１０．０．０）を抽出する（ステップＳ６ａ）。またＣＰＵ１０１は、上記ｐｉｎｇに含まれている送信元アドレスＳ−ＩＰ＝２０．０．０．１０のうちの下位８ビット（＝１０）を抽出する（ステップＳ６ｂ）。そしてＣＰＵ１０１は、インタフェースＥ１００のネットワークアドレスの上位２４ビット（＝１０．０．０）と上記ｐｉｎｇに含まれている送信元アドレスＳ−ＩＰの下位８ビット（＝１０）とを組み合わせた（連結した）３２ビットのネットワークアドレス１０．０．０．１０を、仮想インタフェースＶ０のポートＰ１に割り当てる（ステップＳ６ｃ）。このポートＰ１に割り当てられたネットワークアドレスは、ルータ１０内部から仮想インタフェースＶ０を介してルータ１０の対向装置（ここではＰＣ４０）宛てにデータを送信するのに必要な、ルータ１０内部から認識可能な対向装置（つまり、ＰＣ４０に代わる仮想インタフェースＶ０）を示すアドレス（仮想宛先アドレス）として用いられる。ここで、上記ｐｉｎｇに含まれている送信元アドレスＳ−ＩＰの上位２４ビット、即ちＰＣ４０のインタフェースＥ４００に割り当てられているネットワークアドレス（ＩＰアドレス）２０．０．０．１０の上位２４ビット（＝２０．０．０）は、仮想インタフェースＶ０に保持される。
【００４９】
以上に述べた仮想インタフェースＶ０のポートＰ０及びＰ１へのネットワークアドレス割り当てにより、仮想インタフェースＶ０は、ＰＣ４０（のインタフェースＥ４００）及びルータ１０（のインタフェースＥ１００）のいずれの側からも特定される。
【００５０】
ＣＰＵ１０１は、ステップＳ６を実行すると、仮想インタフェースＶ０に関する情報をテーブル１０４に追加設定する（ステップＳ７）。この時点のテーブル１０４のデータ構造例を図６に示す。この図６の例では、テーブル１０４の各エントリに、フィールド（Ｖｉｒｔｕａｌ  Ｉ／Ｆ  Ｎｏ．）３０１と、フィールド（Ｖｉｒｔｕａｌ  Ｉ／Ｆ  ＩＰ）３０２と、フィールド（Ｄ−ＩＰ  ｖｉａ  Ｖｉｒｔｕａｌ  Ｉ／Ｆ）３０３とが追加される。
【００５１】
フィールド３０１は、ルータ１０上で起動されている仮想インタフェースのネットワーク側のポート（Ｐ０）のインタフェース番号を示す。フィールド３０２は、上記仮想インタフェースのネットワーク側のポート（Ｐ０）のネットワークアドレス（インタフェースアドレス、ＩＰアドレス）を示す。このフィールド３０２に設定されるネットワークアドレスには、上記ステップＳ５で上記仮想インタフェースのネットワーク側のポート（Ｐ０）に割り当てられるアドレス、即ち上記ｐｉｎｇに含まれている宛先アドレス（ＩＰアドレス）Ｄ−ＩＰが用いられる。ルータ１０に接続されるＰＣ（４０）からは、フィールド３０２に設定されるアドレスしか、ルータ１０のネットワークアドレスとして認識できない。
【００５２】
（動的ルーティング情報が設定されるエントリの）フィールド３０３は、ルータ１０と接続されたＰＣ（仮想端末またはサーバ端末）のネットワークインタフェースのネットワークアドレス（ＩＰアドレス）を示す。このフィールド３０３に設定されるネットワークアドレスには、上記ｐｉｎｇに含まれている送信元アドレス（ＩＰアドレス）Ｓ−ＩＰが用いられる。ルータ１０内の仮想インタフェースからは、フィールド３０３に設定されるアドレスにより、当該ルータ１０に直接接続されるＰＣ（４０）が認識できる。図６に示すテーブル１０４の各エントリのうち、フィールド３０１に「Ｎｏｎｅ」が設定されているエントリは、ルータ１０内の該当するインタフェース側に仮想インタフェースが起動されていない（存在しない）ことを示す。
【００５３】
なお、フィールド３０１〜３０３が予め用意されたテーブル１０４とすることも可能である。また、テーブル１０４に対する仮想インタフェースＶ０に関する情報の設定動作を、ステップＳ５及びＳ７の実行の都度行うことも可能である。
【００５４】
本実施形態において、図１のネットワークシステムから切り離されたルータ１０に直接接続されたＰＣ４０のインタフェースＥ４００から当該ルータ１０に対して実行されたｐｉｎｇに含まれている宛先アドレス（ＩＰアドレス）Ｄ−ＩＰ及び送信元アドレス（ＩＰアドレス）Ｓ−ＩＰは、それぞれ２０．０．０．１及び２０．０．０．１０である。この場合、ルータ１０上に起動された仮想インタフェースＶ０のポートＰ０には、ＩＰアドレス（ネットワークアドレス）２０．０．０．１が仮想インタフェースアドレスとして割り当てられる。また、仮想インタフェースＶ０のポートＰ１には、ＩＰアドレス（ネットワークアドレス）１０．０．０．１０が割り当てられる。よって、テーブル１０４のエントリ１のフィールド３０１には、仮想インタフェースＶ０のインタフェース番号が、当該エントリ１のフィールド３０２には、当該仮想インタフェースＶ０のポートＰ０に割り当てられた（ＰＣ４０からのｐｉｎｇ中の宛先アドレスＤ−ＩＰである）ＩＰアドレス２０．０．０．１が、それぞれ設定される。また、テーブル１０４のエントリ７のフィールド２０２の内容が、ＰＣ３０のインタフェースＥ３００のＭＡＣアドレス０１３０．００００．００００から、ＰＣ４０のインタフェースＥ４００のＭＡＣアドレス０３０１．００００．００００に更新される。また、テーブル１０４のエントリ７のフィールド３０１及び３０２には、テーブル１０４のエントリ１のフィールド３０１及び３０２と同一内容が設定される。また、テーブル１０４のエントリ７のフィールド３０３には、ＰＣ４０からルータ１００に対して発行されたｐｉｎｇ中の送信元アドレスＳ−ＩＤ＝２０．０．０．１０、即ちＰＣ４０のインタフェースＥ４００のＩＰアドレスが設定される。
【００５５】
このように、ルータ１０では、当該ルータ１０に直接接続されたＰＣ４０によるｐｉｎｇの実行により、図２に示したテーブル１０４のルーティング情報が、ＰＣ４０が接続されたポートの、ＭＡＣアドレスと仮想インタフェースの情報とを除いて保持された状態で、図６に示したように変更される。
【００５６】
このテーブル１０４の変更は、ルータ１０が工場出荷などで初期設定状態にあり、従ってアドレスの設定もなされていない状態で、当該ルータ１０にＰＣ４０を直接接続して、このＰＣ４０からプログラム変更及び通信動作確認のための処理を実施する場合も同様に行われる。但し、ここでは、ＰＣ４０からルータ１０のインタフェースＥ１００に、２０．０．０．１を宛先アドレスＤ−ＩＰとし、２０．０．０．１０を送信元アドレスＳ−ＩＰとするｐｉｎｇが送られた際に、インタフェースＥ１００のネットワークアドレスとして、例えば当該ｐｉｎｇの宛先アドレス２０．０．０．１が設定される。この他に、仮想インタフェースＶ０の起動時に、インタフェースＥ１００のネットワークアドレスとして、予め定められているデフォルトのアドレス、例えば０．０．０．１を設定する構成としてもよい。
【００５７】
次に、上述のようにしてネットワークアドレスが設定された仮想インタフェースＶ０でのアドレス変換について、図７のシーケンスチャート及び図８の動作説明図を参照して説明する。
【００５８】
まず、ルータ１０に接続されたＰＣ４０は、図８に示すように、ルータ１０宛てのｐｉｎｇ７１を実施する（ステップＳ１１）。このｐｉｎｇ７１には、宛先アドレスＤ−ＩＰとして、先に設定された（ＰＣ４０から認識可能な）ルータ１０のＩＰアドレス、即ち仮想インタフェースＶ０のポートＰ０に割り当てられたＩＰアドレス（仮想インタフェースアドレス）２０．０．０．１が、送信元アドレスＳ−ＩＰとして、ＰＣ４０のインタフェースＥ４００のＩＰアドレス２０．０．０．１０が、それぞれ含まれているものとする。
【００５９】
ＰＣ４０からのルータ１０宛てのｐｉｎｇ７１は、当該ルータ１０上で起動されている仮想インタフェースＶ０により、当該仮想インタフェースＶ０宛てとして受信される。仮想インタフェースＶ０は、ＰＣ４０からのルータ１０（仮想インタフェースＶ０）宛てのｐｉｎｇ７１を受信すると、当該ｐｉｎｇ７１中の宛先アドレスＤ−ＩＰ及び送信元アドレスＳ−ＩＰを、ルータ１０内部から認識可能アドレス（ＩＰアドレス）に変換する（ステップＳ１２）。このステップＳ１２の詳細は次の通りである。
【００６０】
まず仮想インタフェースＶ０は、受信ｐｉｎｇ７１中の宛先アドレスＤ−ＩＰを、ＰＣ４０から認識可能なルータ１０のＩＰアドレス、即ち仮想インタフェースＶ０のポートＰ０に割り当てられたＩＰアドレスである２０．０．０．１から、ルータ１０内部（インタフェースＥ１００）で認識可能（でＰＣ４０からは認識不可能）な当該ルータ１０のＩＰアドレス、即ちインタフェースＥ１００に割り当てられているＩＰアドレス１０．０．０．１０に変換する（ステップＳ１２ａ）。また仮想インタフェースＶ０は、受信ｐｉｎｇ７１中の送信元アドレスＳ−ＩＰを、ＰＣ４０のインタフェースＥ４００のＩＰアドレスである２０．０．０．１０から、当該仮想インタフェースＶ０のポートＰ１に割り当てられたＩＰアドレス１０．０．０．１０に変換する（ステップＳ１２ｂ）。ここで、ステップＳ１２ｂがステップＳ１２ａより先に実行されても構わない。
【００６１】
仮想インタフェースＶ０は、上記のようにしてｐｉｎｇ７１の宛先アドレスＤ−ＩＰ及び送信元アドレスＳ−ＩＰが変換された新たなｐｉｎｇ７２を、当該ｐｉｎｇ７２に含まれている宛先アドレスＤ−ＩＰ＝１０．０．０．１で指定されるインタフェースＥ１００に引き渡す（ステップＳ１３）。インタフェースＥ１００は、このｐｉｎｇ７２中の宛先アドレスＤ−ＩＰが２０．０．０．１から当該インタフェースＥ１００のＩＰアドレス１０．０．０．１に変換されているため、当該ｐｉｎｇを自身宛てとして受信できる。
【００６２】
インタフェースＥ１００は、ｐｉｎｇ７２に対する応答として、当該ｐｉｎｇ７２中の送信元アドレスＳ−ＩＰ＝１０．０．０．１０及び宛先アドレスＤ−ＩＰ＝１０．０．０．１が入れ替えられた、それぞれ宛先アドレスＤ−ＩＰ＝１０．０．０．１０及び送信元アドレスＳ−ＩＰ＝１０．０．０．１とする返信７３を生成する（ステップＳ１４）。そしてインタフェースＥ１００は、この返信７３を仮想インタフェースＶ０に引き渡す（ステップＳ１５）。仮想インタフェースＶ０は、この返信７３中の宛先アドレスＤ−ＩＰが自身のポートＰ１のＩＰアドレス１０．０．０．１０に一致するため、当該返信７３を自身宛てとして受信できる。
【００６３】
仮想インタフェースＶ０は、インタフェースＥ１００からの返信７３を受信すると、当該返信７３中の宛先アドレスＤ−ＩＰ及び送信元アドレスＳ−ＩＰを、ＰＣ４０から認識可能なアドレス（ＩＰアドレス）に変換する（ステップＳ１６）。このステップＳ１６の詳細は次の通りである。
【００６４】
まず仮想インタフェースＶ０は、返信７３中の宛先アドレスＤ−ＩＰを、（仮想インタフェースＶ０のポートＰ１のＩＰアドレスである）１０．０．０．１０から、ＰＣ４０（内のインタフェースＥ４００）のＩＰアドレスである２０．０．０．１０に変換する（ステップＳ１６ａ）。この変換は、前記した仮想インタフェースＶ０のポートＰ１に割り当てるＩＰアドレスを生成する手順から明らかなように、宛先アドレスＤ−ＩＰ＝１０．０．０．１０の上位２４ビット１０．０．０のみを、仮想インタフェースＶ０に保持されている２０．０．０、即ち仮想インタフェースＶ０及びＰＣ４０から認識可能なネットワークアドレスの上位２４ビット２０．０．０に置き換えることにより実現される。次に仮想インタフェースＶ０は、返信７３中の送信元アドレスＳ−ＩＰを、（インタフェースＥ１００のＩＰアドレスである）１０．０．０．１から、（ＰＣ４０からルータ１０のネットワークアドレスとして認識可能な）自身のポートＰ０のＩＰアドレス２０．０．０．１に変換する（ステップＳ１６ｂ）。
【００６５】
仮想インタフェースＶ０は、上記のようにして返信７３の宛先アドレスＤ−ＩＰ及び送信元アドレスＳ−ＩＰが変換された新たな返信７４をポートＰ０からＰＣ４０側に送出する（ステップＳ１７）。ＰＣ４０のインタフェースＥ４００は、この返信７４中の宛先アドレスＤ−ＩＰが１０．０．０．１０から自身のＩＰアドレス２０．０．０．１０に変換されているため、この返信を自身宛てとして受信できる。
【００６６】
以上の状態で、ＰＣ４０からルータ１０に例えばｔｅｌｎｅｔ接続し、当該ＰＣ４０を仮想端末として操作することよって、ルータ１０に対するネットワークアドレス（インタフェースアドレス）等の種々の設定、及びルータ１０での通信動作の確認が可能となる。またルータ１０では、ＰＣ４０からｔｅｌｎｅｔ接続された状態で、インタフェースＥ１００に設定されているネットワークアドレスもしくはルーティング情報を得て、ＰＣ４０をサーバ（サーバ端末）に指定した例えばＴＦＴＰを実行することにより、当該ＰＣ４０に搭載されている変更（ダウンロード）するプログラムをルータ１０に転送できる。即ち本実施形態においては、ルータ１０を図１のネットワークシステムから切り離した状態で、ルータ１０に直接接続されたＰＣ４０から当該ルータ１０に、プログラムをダウンロードすることで、ルータ１０内のプログラム１０３の更新が実現できる。
【００６７】
ＰＣ４０からルータ１０へのｔｅｌｎｅｔ接続のためのコマンド例と、ＴＦＴＰによるプログラム転送のためのコマンド例とを以下に示す。
ＰＣ４０＞ｔｅｌｎｅｔ  ２０．０．０．１
Ｒｏｕｔｅｒ１０＞ｔｆｔｐ  １０．０．０．１０  ｆｉｌｅ
ここで、「２０．０．０．１」はＰＣ４０から認識可能なルータ１０のアドレス（仮想インタフェースＶ０のポートＰ０のアドレス）であり、「１０．０．０．１」はルータ１０内部（インタフェースＥ１００）から認識可能な、対向装置（ＰＣ４０）の仮想的な宛先アドレス（仮想宛先アドレス）、つまり仮想インタフェースＶ０のポートＰ１のアドレスである。
【００６８】
以上に述べたように、本実施形態においては、ルータ１０にＰＣ４０が直接接続された当該ルータ１０のポートを除いて、各ポートのルーティング情報が保持される。このため、ネットワークシステムに組み込まれて運用中のルータに対しても、一部のポートに直接ＰＣを接続することにより、他のポートのルーティング情報が保持された状態で、当該ＰＣを用いてルータとの通信、具体的にはルータに対する上記実施形態と同様の各種設定、プログラムの変更、或いは通信動作の確認のための通信を行うことができる。なお、この通信を、上記したｔｅｌｎｅｔ或いはｐｉｎｇだけでなく、ＨＴＴＰ或いはＳＮＭＰなどの通信機能で実施することも可能である。
【００６９】
上記実施形態では、仮想インタフェースＶ０のポートＰ１に割り当てるネットワークアドレスを、インタフェースＥ１００に割り当てられているネットワークアドレスの上位２４ビットと、ＰＣ４０からのｐｉｎｇに含まれている送信元アドレスＳ−ＩＰの下位８ビットとから生成している。しかし、これ以外のビット数であっても構わない。例えば、インタフェースＥ１００に割り当てられているネットワークアドレスの上位２８ビットと、ＰＣ４０からのｐｉｎｇに含まれている送信元アドレスＳ−ＩＰの下位４ビットとを組み合わせて、仮想インタフェースＶ０のポートＰ１に割り当てるネットワークアドレスを決定するようにしてもよい。但し、使用が禁止されているネットワークアドレスとならないようにする必要がある。また、仮想インタフェースＶ０のポートＰ１に割り当てるネットワークアドレスの下位ビットに、予め定められた固定値（例えば、０，１，２５５以外の固定値）を用いることも可能である。この場合、インタフェースＥ１００に割り当てられているネットワークアドレスの上位ビットに影響されることなく、使用が禁止されているネットワークアドレスが生成されるのを簡単に防止できる。
【００７０】
上記実施形態においては、仮想インタフェースＶ０がソフトウェアにより実現されるものとして説明した。しかし、仮想インタフェースＶ０をハードウェアにより実現することも可能である。この仮想インタフェースＶ０がハードウェアにより実現されるルータの例について、簡単に説明する。
【００７１】
図９は図１中のルータ１０に相当するルータ１１０の構成を示すブロック図である。なお、図３と同様の部分には同一参照符号（参照番号または参照記号）を付してある。
【００７２】
図９において、ルータ１１０は、インタフェース（第１のインタフェース）Ｅ１００と、仮想インタフェース（第２のインタフェース）Ｖ０と、ＣＰＵ１０１と、記憶ユニット１０２とに加えて、ＭＡＣ１１１と、コントローラ１１２と、内部バス１１３とを備えている。なお、図１中のインタフェースＥ１０１〜Ｅ１０３は省略されている。
【００７３】
コントローラ１１２は、ＣＰＵ１０１により内部バス１１３を介して指定されるモード（通常モードまたはサービスモード）に応じて、ＭＡＣ１１１、インタフェースＥ１００及び仮想インタフェースＶ０を制御する。
【００７４】
ＭＡＣ１１１は通信階層モデルのレイヤ２のデータ送受信を行う。このＭＡＣ１１１は、図１中のルータ１０では省略されているが、当該ルータ１０にも設けられている。ＭＡＣ１１１は、ネットワーク側のポートＰ１０と、インタフェースＥ１００のポートＰ１００と接続されるポートＰ１１と、仮想インタフェースＶ０のポートＰ０と接続されるポートＰ１２とを有している。ＭＡＣ１１１は、コントローラ１１２の制御のもとで、通常モードではポートＰ１１及びＰ１２のうちのポートＰ１１を選択し、サービスモードではポートＰ１２を選択する。ＭＡＣ１１１はポートＰ１０を介してネットワーク側との間で通信階層モデルのレイヤ２のデータ送受信を行うと共に、ポートＰ１１またはポートＰ１２を介して、インタフェースＥ１００または仮想インタフェースＶ０との間で通信階層モデルのレイヤ３のデータ送受信を行う。
【００７５】
インタフェースＥ１００は、ＭＡＣ１１１のポートＰ１１と接続されるポート１００と、仮想インタフェースＶ０のポートＰ１と接続されるポートＰ１０１と、内部バス１１３と接続されるポートＰ１０２とを有している。インタフェースＥ１００は、コントローラ１１２の制御のもとで、通常モードではポートＰ１００及びＰ１０１のうちのＭＡＣ１１１側のポートＰ１００を選択し、サービスモードでは仮想インタフェースＶ０側のポートＰ１０１を選択する。インタフェースＥ１００は、ポート１００またはポート１０１を介して、ＭＡＣ１１１または仮想インタフェースＶ０との間で通信階層モデルのレイヤ３のデータ送受信を行うと共に、ポート１０２を介して内部バス１１３との間で通信階層モデルのレイヤ３のデータ送受信を行う。
【００７６】
したがって、図９のルータ１１０では、通常モードでは、ネットワーク−ＭＡＣ１１１−インタフェースＥ１００−内部バス１１３の経路（通信階層モデルのレイヤ３のレベルでは、ネットワーク−インタフェースＥ１００−内部バス１１３の経路）でデータが送受信される。これに対し、サービスモードでは、ネットワーク−ＭＡＣ１１１−仮想インタフェースＶ０−インタフェースＥ１００−内部バス１１３の経路（通信階層モデルのレイヤ３のレベルでは、ネットワーク−−仮想インタフェースＶ０−インタフェースＥ１００−内部バス１１３の経路）でデータが送受信される。
【００７７】
以上、本発明をルータに適用した実施形態について説明した。しかし本発明は、ルータに限らず、コンピュータ、家電機器、情報機器、映像機器など、ネットワーク装置を応用した装置全般に利用できる。また本発明は、ネットワーク装置（ルータ）のインタフェースポートに直接接続された当該ネットワーク装置とは別のネットワーク装置を端末として使用する場合、つまり端末の代わりとする場合にも適用できる。
【００７８】
なお、本発明は、上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。更に、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件から幾つかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【００７９】
【発明の効果】
以上詳述したように本発明によれば、ネットワーク装置のインタフェースポートに任意の端末が直接接続された状態で、当該端末からネットワーク装置における各種の設定操作、プログラム変更操作、或いは通信動作の確認のために必要な、当該端末とネットワーク装置との間の通信が、ポート毎のアドレス変更操作等を必要とせずに簡単に且つ確実に行える。
【図面の簡単な説明】
【図１】本発明の一実施形態に係るルータを含むネットワークシステムのシステム構成を示すブロック図。
【図２】図１中のルータ１０が有するテーブル（ルーティングテーブル）１０４のデータ構造例を示す図。
【図３】同実施形態において、ルータ１０上で仮想インタフェース機能を動作させる場合と、当該仮想インタフェース機能が動作している場合とを説明するための図。
【図４】同実施形態においてＰＣ４０からルータ１０に送出されるｐｉｎｇの一例を示す図。
【図５】同実施形態において、ルータ１０をネットワークシステムから切り離した状態で、当該ルータ１０のプログラム変更及び通信動作確認を可能とする処理を実施する場合の動作を説明するためのシーケンスチャート。
【図６】ルータ１０上で仮想インタフェース機能が動作した結果、仮想インタフェースに関する情報が追加設定されたテーブル１０４の内容例を示す図。
【図７】仮想インタフェースＶ０でのアドレス変換を説明するためのシーケンスチャート。
【図８】仮想インタフェースＶ０でのアドレス変換例を説明するための図。
【図９】仮想インタフェースＶ０がハードウェアにより実現されるルータの構成を示すブロック図。
【符号の説明】
１０〜１２，１１０…ルータ（ネットワーク装置）
２１〜２５…ネットワーク
３０，３１…ＰＣ（パーソナルコンピュータ）
４０…ＰＣ（パーソナルコンピュータ、端末）
１０１…ＣＰＵ
１０２…記憶ユニット
１０３…プログラム
１０４…テーブル（ルーティングテーブル）
１１２…コントローラ
１１３…内部バス
３００…コンソール
Ｅ１００〜Ｅ１０３，Ｅ１１０，Ｅ１１１，Ｅ１２０，Ｅ１２１，Ｅ３００，Ｅ４００…インタフェース（実インタフェース）
Ｖ０…仮想インタフェース
【図１】
0003612316.tif 000002
【図２】
0003612316.tif 000003
【図３】
0003612316.tif 000004
【図４】
0003612316.tif 000005
【図５】
0003612316.tif 000006
【図６】
0003612316.tif 000007
【図７】
0003612316.tif 000008
【図８】
0003612316.tif 000009
【図９】
0003612316.tif 000010