(57)【要約】      （修正有）【課題】ＡＲＰ（アドレス解決プロトコル）テーブルの更新時間を短縮する通信装置、中継装置、通信システム及び通信方法を提供する。【解決手段】通信システムは、中継装置と、データリンク層の識別子を含むパケットを送受信する第１ネットワークを介して前記中継装置と接続する通信装置と、ネットワーク層の識別子を含むパケットを送受信する第２ネットワークを介して前記中継装置と接続する通信先装置とを有する。通信装置は、複数のネットワーク層の識別子を割り当てられ、通信に使用するネットワークインターフェースを、異なるネットワークインターフェースに切り替えを行うとき、切り替え前及び切り替え後のネットワークインターフェースそれぞれのデータリンク層の識別子に関する情報を含み、中継装置にＡＲＰテーブルに含まれる切り替え前のデータリンク層の識別子を切り替え後のデータリンク層の識別子に更新させる切替通知を、中継装置に送信する。【選択図】図１１
2018061148.tif 000002
【特許請求の範囲】
【請求項１】
通信システムに含まれる通信装置であって、
前記通信システムは、中継装置と、データリンク層の識別子を含むパケットを送受信する第１ネットワークを介して前記中継装置と接続する前記通信装置と、ネットワーク層の識別子を含むパケットを送受信する第２ネットワークを介して前記中継装置と接続する通信先装置とを有し、
前記中継装置は、前記通信装置と前記通信先装置との間を送受信するパケットを中継し、前記通信装置が通信に使用するデータリンク層の識別子と前記通信装置に割り当てられたネットワーク層の識別子との対応関係を示すテーブルを有し、前記通信先装置から前記通信装置に割り当てられたネットワーク層の識別子が宛先のパケットを受信したとき、前記テーブルに基づき、前記受信したパケットのネットワーク層の識別子に対応するデータリンク層の識別子を宛先としたパケットを、前記通信に使用するネットワークインターフェースに送信し、
前記通信装置は、複数のネットワーク層の識別子を割り当てられると共に、
それぞれ異なるデータリンク層の識別子を有する複数のネットワークインターフェースと、
前記複数のネットワークインターフェースのうちいずれかのネットワークインターフェースを使用して前記通信先装置と通信する通信部と、
前記通信に使用するネットワークインターフェースを、異なるネットワークインターフェースに切り替えるインターフェース切替部と、
前記切り替えを行うとき、前記切り替え前及び切り替え後のネットワークインターフェースそれぞれのデータリンク層の識別子に関する情報を含み、前記中継装置に前記テーブルに含まれる前記切り替え前のデータリンク層の識別子を前記切り替え後のデータリンク層の識別子に更新させる切替通知を、前記中継装置に送信する切替通知部を有する
通信装置。
【請求項２】
前記切替通知部は、切り替え前のデータリンク層の識別子に関する情報を含むパケットを生成し、前記生成したパケットの送信元を切り替え後のデータリンク層の識別子とし、前記中継装置に送信する
請求項１記載の通信装置。
【請求項３】
さらに、前記通信に使用するネットワークインターフェースのデータリンク層の識別子と、前記複数のネットワーク層の識別子のうち１つのネットワーク層の識別子に関する情報を含み、前記中継装置に前記識別子通知に含まれるネットワーク層の識別子とデータリンク層の識別子を対応づけて前記テーブルに記憶させる識別子通知を、前記中継装置に送信する識別子通知部を有する
請求項１記載の通信装置。
【請求項４】
通信システムに含まれる中継装置であって、
前記通信システムは、
データリンク層の識別子を含むパケットを送受信する第１ネットワークを介して前記中継装置と接続する通信装置と、
ネットワーク層の識別子を含むパケットを送受信する第２ネットワークを介して前記中継装置と接続する通信先装置と、
前記通信装置が通信に使用するネットワークインターフェースのデータリンク層の識別子と、前記通信装置に割り当てられた複数のネットワーク層の識別子との対応関係を示すテーブルを有し、前記通信先装置から前記通信装置に割り当てられたネットワーク層の識別子が宛先のパケットを受信したとき、前記テーブルに基づき、前記受信したパケットのネットワーク層の識別子に対応するデータリンク層の識別子を宛先としたパケットを、前記通信に使用するネットワークインターフェースに送信する、前記通信装置と前記通信先装置との間を送受信するパケットを中継する前記中継装置とを有し、
前記通信装置は、複数のネットワーク層の識別子を割り当てられると共に、それぞれ異なるデータリンク層の識別子を有する複数のネットワークインターフェースを有し、前記複数のネットワークインターフェースのうち１つのネットワークインターフェースを使用して前記通信先装置と通信し、
前記中継装置は、さらに、
前記通信装置が通信に使用するネットワークインターフェースを異なるネットワークインターフェースに切り替えるとき、前記通信装置によって送信される、前記切り替え前及び切り替え後のネットワークインターフェースそれぞれのデータリンク層の識別子に関する情報を含む切替通知を受信する受信部と、
前記受信に応答し、前記テーブルに含まれる前記切り替え前のデータリンク層の識別子を前記切り替え後のデータリンク層の識別子に更新するテーブル更新部とを有する
中継装置。
【請求項５】
前記テーブル更新部は、前記切り替え後のデータリンク層の識別子が通信できることを確認した後、前記更新を行う
請求項４記載の中継装置。
【請求項６】
前記テーブル更新部は、前記複数のネットワーク層の識別子のいずれかを含むデータリンク層の識別子を問い合わせるパケットを、前記第１ネットワーク内の通信装置に対してブロードキャストで送信し、前記切り替え後のデータリンク層の識別子が送信元の前記問い合わせに対する応答パケットを受信することで、前記確認を行う
請求項５記載の中継装置。
【請求項７】
データリンク層の識別子を含むパケットを送受信する第１ネットワークを介して中継装置と接続する第１通信装置と、
ネットワーク層の識別子を含むパケットを送受信する第２ネットワークを介して前記中継装置と接続する第２通信装置と、
前記第１通信装置と前記第２通信装置との間を送受信するパケットを中継する前記中継装置とを有する通信システムであって、
前記第１通信装置は、それぞれ異なるデータリンク層の識別子を有する複数のネットワークインターフェースを有し、前記複数のネットワークインターフェースのうち１つのネットワークインターフェースを使用して前記第２通信装置と通信し、
前記中継装置は、前記通信に使用するネットワークインターフェースのデータリンク層の識別子と前記第１通信装置に割り当てられた複数のネットワーク層の識別子との対応関係を示すテーブルを有し、前記第２通信装置から前記複数のネットワーク層の識別子が宛先のパケットを受信したとき、前記テーブルに基づき、前記受信したパケットのネットワーク層の識別子に対応するデータリンク層の識別子を宛先としたパケットを前記通信に使用するネットワークインターフェースに送信し、
前記第１通信装置は、前記通信に使用するネットワークインターフェースを異なるネットワークインターフェースに切り替えるとき、前記切り替え前及び切り替え後のネットワークインターフェースそれぞれのデータリンク層の識別子に関する情報を含む切替通知を、前記中継装置に送信し、
前記中継装置は、前記切替通知の受信に応答し、前記テーブルに含まれる前記切り替え前のデータリンク層の識別子を前記切り替え後のデータリンク層の識別子に更新する
通信システム。
【請求項８】
通信システムに含まれる通信装置における通信方法であって、
前記通信システムは、中継装置と、データリンク層の識別子を含むパケットを送受信する第１ネットワークを介して前記中継装置と接続する前記通信装置と、ネットワーク層の識別子を含むパケットを送受信する第２ネットワークを介して前記中継装置と接続する通信先装置とを有し、
前記中継装置は、前記通信装置と前記通信先装置との間を送受信するパケットを中継し、前記通信装置が通信に使用するデータリンク層の識別子と前記通信装置に割り当てられたネットワーク層の識別子との対応関係を示すテーブルを有し、前記通信先装置から前記通信装置に割り当てられたネットワーク層の識別子が宛先のパケットを受信したとき、前記テーブルに基づき、前記受信したパケットのネットワーク層の識別子に対応するデータリンク層の識別子を宛先としたパケットを、前記通信に使用するネットワークインターフェースに送信し、
前記通信装置は、複数のネットワーク層の識別子を割り当てられると共に、それぞれ異なるデータリンク層の識別子を有する複数のネットワークインターフェースを有し、
前記複数のネットワークインターフェースのうちいずれかのネットワークインターフェースを使用して前記通信先装置と通信し、
前記通信に使用するネットワークインターフェースを、異なるネットワークインターフェースに切り替え、
前記切り替えを行うとき、前記切り替え前及び切り替え後のネットワークインターフェースそれぞれのデータリンク層の識別子に関する情報を含み、前記中継装置に前記テーブルに含まれる前記切り替え前のデータリンク層の識別子を前記切り替え後のデータリンク層の識別子に更新させる切替通知を、前記中継装置に送信する  
通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置、中継装置、通信システム、及び通信方法に関する。
【背景技術】
【０００２】
ネットワーク内の通信装置間で通信を行うため、通信装置は、アドレスと呼ばれる識別子を有する。通信装置は、通信相手のアドレスを指定してパケットを送信することで、ネットワーク内での通信を可能とする。アドレスは、例えば、インターネットで使用するＩＰ（Internet Protocol：インタネットプロトコル）アドレスや、イーサネット（登録商標）で使用するＭＡＣ（Media Access Control：メディアアクセスコントロール）アドレスがある。
【０００３】
例えば、インターネットに接続する通信装置とイーサネットに接続する通信装置が互いに通信を行う場合、それぞれの異なるアドレス体系を解決するゲートウェイなどの中継装置が必要である。また、イーサネットに接続する通信装置は、ＭＡＣアドレスに加え、インターネットに接続する通信装置と通信を行うためのＩＰアドレスも有する。中継装置は、イーサネットに接続する通信装置のＭＡＣアドレスと対応するＩＰアドレスを記憶したテーブル（以降、ＡＲＰ（Address Resolution Protocol：アドレス解決プロトコル）テーブルと呼ぶ）を有する。そして、中継装置は、インターネットに接続する通信装置から、イーサネットに接続する通信装置のＩＰアドレスを宛先としたパケットを受信すると、ＡＲＰテーブルを参照し、受信したパケットとそのＩＰアドレスに対応するＭＡＣアドレスを宛先とするパケットに入れて、イーサネットに接続する通信装置に送信する。
【０００４】
中継装置は、ＡＲＰに基づき、各装置からＩＰアドレス又はＭＡＣアドレスを収集し、ＡＲＰテーブルを適宜更新する。中継装置は、例えば、イーサネットに接続する通信装置から、ＭＡＣアドレスとＩＰアドレスを含む、ＡＲＰテーブルの更新を要求するリクエストメッセージを受信すると、受信したリクエストメッセージに含まれるＭＡＣアドレスとＩＰアドレスをＡＲＰテーブルに記憶する。
【０００５】
ＡＲＰに関する技術は、以下の特許文献１，２に記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特表２０１１−５０７４２６号公報
【特許文献１】特開２００６−３３３０７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、通信装置は、１つのＭＡＣアドレスに対して、複数のＩＰアドレスを有する場合がある。複数のＩＰアドレスを有することで、ＩＰアドレス毎に用途を異ならせ、ＩＰアドレス毎に送信の優先順位を設定するなど、多様な通信が可能となる。
【０００８】
また、通信装置は、ＮＩＣ（Network Interface Card）などの通信部を複数有する場合がある。これは、例えば、通信中のＮＩＣが故障した場合、他のＮＩＣに切り替え、通信を継続するためである。ＮＩＣは、それぞれ異なる装置であり、異なるＭＡＣアドレスを有する。
【０００９】
上述したような複数のＮＩＣかつ複数のＩＰアドレスを有する通信装置は、通信用のＮＩＣを切り替える場合、切り替え先のＮＩＣのＭＡＣアドレスと１つのＩＰアドレスを含むリクエストメッセージを、所有するＩＰアドレスの数だけ中継装置に送信する。したがって、通信装置が有するＩＰアドレスが多い程、リクエストメッセージの送信数が増加し、中継装置でのＡＲＰテーブルの更新が完了するまでの時間が長くなる。
【００１０】
そのため、中継装置がＡＲＰテーブルの更新中にパケット受信し、ＡＲＰテーブルのＭＡＣアドレスが切り替え前のＭＡＣアドレスである場合、受信したパケットが切り替え前のＭＡＣアドレスで送信され、正しいＭＡＣアドレスにパケットが送信されないことがある。
【００１１】
そこで、ＡＲＰテーブルの更新時間を短縮する通信装置、中継装置、通信システム、及び通信方法を提供する。
【課題を解決するための手段】
【００１２】
１つの側面では、通信システムに含まれる通信装置であって、前記通信システムは、中継装置と、データリンク層の識別子を含むパケットを送受信する第１ネットワークを介して前記中継装置と接続する通信装置と、ネットワーク層の識別子を含むパケットを送受信する第２ネットワークを介して前記中継装置と接続する通信先装置とを有し、前記中継装置は、前記通信装置と前記通信先装置との間を送受信するパケットを中継し、前記通信装置が通信に使用するデータリンク層の識別子と前記通信装置に割り当てられたネットワーク層の識別子との対応関係を示すテーブルを有し、前記通信先装置から前記通信装置に割り当てられたネットワーク層の識別子が宛先のパケットを受信したとき、前記テーブルに基づき、前記受信したパケットのネットワーク層の識別子に対応するデータリンク層の識別子を宛先としたパケットを、前記通信に使用するネットワークインターフェースに送信し、前記通信装置は、複数のネットワーク層の識別子を割り当てられると共に、それぞれ異なるデータリンク層の識別子を有する複数のネットワークインターフェースと、前記複数のネットワークインターフェースのうちいずれかのネットワークインターフェースを使用して前記通信先装置と通信する通信部と、前記通信に使用するネットワークインターフェースを、異なるネットワークインターフェースに切り替えるインターフェース切替部と、前記切り替えを行うとき、前記切り替え前及び切り替え後のネットワークインターフェースそれぞれのデータリンク層の識別子に関する情報を含み、前記中継装置に前記ＡＲＰテーブルに含まれる前記切り替え前のデータリンク層の識別子を前記切り替え後のデータリンク層の識別子に更新させる切替通知を、前記中継装置に送信する切替通知部を有する。
【発明の効果】
【００１３】
一開示は、ＡＲＰテーブルの更新時間を短縮することができる。
【図面の簡単な説明】
【００１４】
【図１】図１は、通信システム１０の構成例を示す図である。
【図２】図２は、通信システム１０において送受信されるパケットの例を示す図である。
【図３】図３は、通信装置１００の構成例を示す図である。
【図４】図４は、中継装置２００の構成例を示す図である。
【図５】図５は、ＡＲＰテーブル２２３の例を示す図である。
【図６】図６は、ＡＲＰリクエストを中継装置２００に送信するシーケンスの例を示す図である。
【図７】図７は、図６のシーケンスにおいて送受信されるパケットの例を示す図である。
【図８】図８は、ＡＲＰテーブル更新処理（ＩＰアドレス毎）処理の処理フローチャートの例を示す図である。
【図９】図９は、図６のシーケンスのタイミングＴ０、Ｔ１、Ｔ２におけるＡＲＰテーブル２２３の例を示す図である。
【図１０】図１０は、中継装置２００の中継処理Ｓ２００の処理フローチャートの例を示す図である。
【図１１】図１１は、通信装置１００−１が通信に使用するＮＩＣ１４０を切り替えたとき、ＡＲＰリプレイスリクエストを中継装置２００に送信するシーケンスの例を示す図である。
【図１２】図１２は、図１１のシーケンスにおいて送受信されるパケットの例を示す図である。
【図１３】図１３は、ＡＲＰテーブル更新（ＭＡＣアドレス置換）処理の処理フローチャートの例を示す図である。
【図１４】図１４は、図１１のシーケンスのタイミングＴ０及びＴ３におけるＡＲＰテーブル２２３の例を示す図である。
【図１５】図１５は、通知メッセージ選択処理の処理フローチャートの例を示す図である。
【図１６】図１６は、ＡＲＰテーブル更新処理のシーケンスの例を示す図である。
【発明を実施するための形態】
【００１５】
［第１の実施の形態］
第１の実施の形態について説明する。第１の実施の形態では、例えば、通信装置が、通信に使用するネットワークインターフェースを切り替えたとき、切り替え前のネットワークインターフェースのＭＡＣアドレス、及び切り替え後のネットワークインターフェースのＭＡＣアドレスを含むＡＲＰリプレイスリクエスト（切替通知）を中継装置に送信する。中継装置は、切替通知の受信に応答し、ＡＲＰテーブル内の切り替え前ＭＡＣアドレスを、切り替え後ＭＡＣアドレスに更新する。
【００１６】
＜通信システムの構成例＞
図１は、通信システム１０の構成例を示す図である。通信システム１０は、通信装置１００−１（以降、通信装置１００と呼ぶ場合がある）、イーサネット（Ethernet）３００、中継装置２００、インターネット（Internet）４００、及び通信装置１００−２を有する。通信装置１００−１は、イーサネット３００を介して中継装置２００と接続する。また、通信装置１００−２は、インターネット４００を介して、中継装置２００と接続する。通信システム１０では、通信装置１００−１と通信装置１００−２がパケットを送受信することで、通信を行う。
【００１７】
イーサネット３００は、パケットの送信先（宛先）をＭＡＣアドレスで指定することで、パケットを送受信するネットワークである。ＭＡＣアドレスは、通信装置を一意に示す識別子であり、データリンク層の識別子である。
【００１８】
インターネット４００は、パケットの送信先をＩＰアドレスで指定することで、パケットを送受信するネットワークである。ＩＰアドレスは、インターネット４００内で通信装置を識別する識別子であり、ネットワーク層の識別子である。なお、ネットワーク層はデータリンク層より上位レイヤである。
【００１９】
図２は、通信システム１０において送受信されるパケットの例を示す図である。以下、図２を用いて、通信システム１０において送受信されるバケットの例について説明する。
【００２０】
通信装置１００−１から通信装置１００−２にパケットを送信する場合について説明する。通信装置１００−１は、イーサネット３００を介して、中継装置２００にパケットＰ１を送信する。パケットＰ１の構成は、送信先ＭＡＣアドレス、送信元ＭＡＣアドレス、データ種別、及びデータを含む。データ種別は、パケットに含まれるデータの種別を示す値であり、例えば、通信装置１００間で送受信するユーザデータを示す通信用データや、後述するＡＲＰ関連のデータなどを示す。また、パケットＰ１のデータには、送信先ＩＰアドレス及び送信元ＩＰアドレスが含まれる。
【００２１】
パケットＰ１の送信元ＭＡＣアドレスは、通信装置１００−１のＭＡＣアドレス（ＭＡＣ１００−１）であり、データ種別０は、当該パケットが通信用データを送信するためのパケットであることを示す。また、データ部には、送信するユーザデータＤ１に加え、送信先ＩＰアドレスに通信装置１００−２のＩＰアドレス（ＩＰ１００−２）、及び送信元ＩＰアドレスに通信装置１００−１のＩＰアドレス（ＩＰ１００−１）を含む。
【００２２】
なお、パケットＰ１の送信先ＭＡＣアドレスは、中継装置２００のＭＡＣアドレス（ＭＡＣ２００）である。通信装置１００−１は、中継装置２００を介して異なるネットワークにパケットを送信するとき、中継装置２００を送信先としてパケットを送信する。
【００２３】
パケットＰ１を受信した中継装置２００は、パケットＰ２を通信装置１００−２に送信する。パケットＰ２の構成は、送信先ＩＰアドレス、送信元ＩＰアドレス、及びデータが含まれる。通信装置１００−２が接続するインターネット４００は、ＩＰアドレスでパケットの送受信を行うため、パケットＰ１に含まれるＭＡＣアドレスに関する情報は送信しない。パケットＰ２の送信先ＩＰアドレスは、通信装置１００−２のＩＰアドレス（ＩＰ１００−２）であり、送信元ＩＰアドレスは、通信装置１００−１のＩＰアドレス（ＩＰ１００−１）である。また、中継装置２００は、パケットＰ１で受信したユーザデータＤ１を、パケットＰ２のデータに含める。これにより、通信装置１００−１がパケットＰ１で送信したユーザデータＤ１が、中継装置２００を介し、パケットＰ２で通信装置１００−２に送信される。
【００２４】
次に、通信装置１００−２から通信装置１００−１にパケットを送信する場合について説明する。通信装置１００−２は、インターネット４００を介して、中継装置２００にパケットＰ３を送信する。パケットＰ３の構成は、上述したパケットＰ２の構成と同様である。
【００２５】
パケットＰ３の送信先ＩＰアドレスは、通信装置１００−１のＩＰアドレス（ＩＰ１００−１）であり、送信元ＩＰアドレスは、通信装置１００−２のＩＰアドレス（ＩＰ１００−２）である。パケットＰ３のデータは、通信装置１００−２が送信するユーザデータＤ２が含まれる。
【００２６】
パケットＰ３を受信した中継装置２００は、パケットＰ４を通信装置１００−１に送信する。パケットＰ４の構成は、上述したパケットＰ１の構成と同様である。
【００２７】
パケットＰ４の送信先ＭＡＣアドレスは、通信装置１００−１のＭＡＣアドレス（ＭＡＣ１００−１）である。中継装置２００は、受信したパケットＰ３の送信元ＩＰアドレスと対応するＭＡＣアドレスを、中継装置２００が有するＡＲＰテーブルから検索する。ＡＲＰテーブルは、例えば、通信装置１００−１に割り当てられたＩＰアドレスと、通信装置１００−１のＭＡＣアドレスとの対応関係を記憶するテーブルである。中継装置２００は、ＡＲＰテーブルに基づき、送信先ＩＰアドレスに対応するＭＡＣアドレスを宛先としたパケットを、通信装置１００−１に送信することができる。
【００２８】
なお、パケットＰ４の送信元ＭＡＣアドレスは中継装置２００のＭＡＣアドレス（ＭＡＣ２００）であり、データ種別は通信用データを示す値である。また、パケットＰ４のデータは、パケットＰ３で受信した送信元ＩＰアドレス、送信先ＩＰアドレス、及びユーザデータＤ２を含む。これにより、通信装置１００−２がパケットＰ３で送信したユーザデータＤ２が、中継装置２００を介し、パケットＰ４で通信装置１００−１に送信される。
【００２９】
中継装置２００は、例えば、定期的にＡＲＰテーブルを更新する。また、中継装置２００は、例えば、受信したパケットＰ３の送信先ＩＰアドレスが、ＡＲＰテーブルに存在しない場合、ＡＲＰテーブルを更新する。
【００３０】
中継装置２００は、例えば、ＩＰアドレスを含む問い合わせパケットをブロードキャストでイーサネット３００に接続する全装置に送信してもよい。そして、当該ＩＰアドレスを割り当てられている装置は、自装置のＭＡＣアドレスを送信元としたパケットを中継装置２００に返信する。中継装置２００は、この返信を受信し、当該ＩＰアドレスと送信元ＭＡＣアドレスを対応づけ、ＡＲＰテーブルに記憶する。
【００３１】
また、第１の実施の形態においては、通信装置１００−１のＭＡＣアドレスが変更された場合、通信装置１００−１が変更前のＭＡＣアドレスと変更後のＭＡＣアドレスを含むパケットを中継装置２００に送信する。中継装置２００は、当該パケットを受信し、ＡＲＰテーブルの変更前のＭＡＣアドレスを変更後のＭＡＣアドレスに更新する。
【００３２】
なお、通信装置１００−１のＭＡＣアドレスは、例えば、通信装置１００−１が通信に使用するネットワークインターフェースの有するＭＡＣアドレスである。よって、通信装置１００−１のネットワークインターフェースの変更及び切り替えに伴い、通信装置１００−１のＭＡＣアドレスも変更される。
【００３３】
＜通信装置の構成例＞
図３は、通信装置１００の構成例を示す図である。通信装置１００は、ＣＰＵ（Central Processing Unit）１１０、ストレージ１２０、ＤＲＡＭ（Dynamic Random Access Memory）などのメモリ１３０、ＮＩＣ（Network Interface Card）１４０−１，２を有する。通信装置１００は、例えば、コンピュータである。
【００３４】
ストレージ１２０は、プログラムやデータを記憶する、フラッシュメモリ、ＨＤＤ（Hard Disk Drive）、又はＳＳＤ（Solid State Drive）などの補助記憶装置である。ストレージ１２０は、通信プログラム１２１、ＮＩＣ切替プログラム１２２、ＭＡＣアドレス通知プログラム１２３、ＩＰアドレス情報１２４、及びＭＡＣアドレス情報１２５を記憶する。
【００３５】
ＩＰアドレス情報１２４は、通信装置１００に割り当てられたＩＰアドレスを記憶する。通信装置１００は、例えば、複数のＩＰアドレスを割り当てられ、アプリケーションやサービスごとに決まったＩＰアドレスを使用するなど、用途によってＩＰアドレスを使い分ける。
【００３６】
ＭＡＣアドレス情報１２５は、通信に使用しているＮＩＣ１４０−１または２のＭＡＣアドレスを記憶する。ＮＩＣ１４０−１，２は、それぞれ異なる装置であり、異なるＭＡＣアドレスを有する。
【００３７】
メモリ１３０は、ストレージ１２０に記憶されているプログラムをロードする領域である。また、メモリ１３０は、プログラムがデータを記憶する領域としても使用される。
【００３８】
ＮＩＣ１４０−１，２（以降、ＮＩＣ１４０と呼ぶ場合がある）は、イーサネット３００などと接続し、通信先の通信装置と通信を行うネットワークインターフェースである。ＮＩＣ１４０が複数存在するのは、例えば、通信に使用するＮＩＣ１４０−１が故障した場合、代替えとしてＮＩＣ１４０−２を通信に使用し、通信装置１００−１が通信を行えなくなることを回避するためである。ＮＩＣ１４０はそれぞれ異なるＭＡＣアドレスを有するので、例えば、ＮＩＣ１４０−１が通信に使用するネットワークインターフェースである場合、ＮＩＣ１４０−１のＭＡＣアドレスをパケットの送信先ＭＡＣアドレスとすることで、通信装置１００にパケットが送信される。
【００３９】
ＣＰＵ１１０は、通信プログラム１２１を実行することで、通信部を構築し、通信処理を行う。通信処理は、通信装置１００の１つのＮＩＣ１４０を使用して通信先の通信装置と通信を行い、パケットの送受信を行う処理である。
【００４０】
また、ＣＰＵ１１０は、ＮＩＣ切替プログラム１２２を実行することで、インターフェース切替部を構築し、ＮＩＣ切替処理を行う。ＮＩＣ切替処理は、例えば、通信に使用しているＮＩＣ１４０の故障検知や、通信装置１００のユーザの操作によって、通信に使用しているＮＩＣ１４０を異なるＮＩＣ１４０に切り替える処理である。
【００４１】
また、ＣＰＵ１１０は、ＭＡＣアドレス通知プログラム１２３を実行することで、ＭＡＣアドレス通知処理を実行する。ＭＡＣアドレス通知処理は、ＩＰアドレスに対応するＭＡＣアドレスを中継装置２００に通知し、中継装置２００にＡＲＰテーブルを更新させる処理である。ＣＰＵ１１０は、ＡＲＰリクエスト送信モジュール１２３１を実行することで、識別子通知部を構築し、ＡＲＰリクエストを中継装置２００に送信する。ＡＲＰリクエストは、例えば、通信装置１００の初期起動時や、通信装置１００に新たなＩＰアドレスが割り当てられたときに送信するパケットで、１つのＩＰアドレスと対応するＭＡＣアドレスを含む。ＡＲＰリクエストを受信した中継装置２００は、当該パケットに含まれるＩＰアドレスと対応するＭＡＣアドレスを、ＡＲＰテーブルに記憶する。さらに、ＣＰＵ１１０は、ＡＲＰリプレイスリクエスト送信モジュール１２３２を実行することで、切替通知部を構築し、ＡＲＰリプレイスリクエストを中継装置２００に送信する。ＡＲＰリプレイスリクエストは、例えば、通信に使用するＮＩＣ１４０を切り替えたときに送信するパケットで、切り替え前のＭＡＣアドレスと切り替え後のＭＡＣアドレスを含む。ＡＲＰリプレイスリクエストを受信した中継装置２００は、ＡＲＰテーブルの切り替え前のＭＡＣアドレスを、切り替え後のＭＡＣアドレスに更新する。
【００４２】
＜中継装置の構成例＞
図４は、中継装置２００の構成例を示す図である。中継装置２００は、ＣＰＵ２１０、ストレージ２２０、ＤＲＡＭなどのメモリ２３０、ＮＩＣ２４０−１〜Ｘを有する。中継装置２００は、例えば、ゲートウェイやルータである。
【００４３】
ストレージ２２０は、プログラムやデータを記憶するフラッシュメモリ、ＨＤＤ、又はＳＳＤなどの補助記憶装置である。ストレージ２２０は、中継プログラム２２１、ＡＲＰテーブル更新プログラム２２２、及びＡＲＰテーブル２２３を記憶する。
【００４４】
ＡＲＰテーブル２２３は、ＩＰアドレスと対応するＭＡＣアドレスを記憶するテーブルである。図５は、ＡＲＰテーブル２２３の例を示す図である。ＡＲＰテーブルに記憶する情報は、ＩＰアドレスとＭＡＣアドレスである。例えば、通信装置１００は、複数のＩＰアドレスが割り当てられ、１つのＮＩＣ１４０を使用して通信を行っている。通信装置１００に割り当てられているＩＰアドレスは、「１９２．１６８．１．１〜ｎ」のｎ個のＩＰアドレスであり、通信に使用しているＮＩＣ１４０のＭＡＣアドレスは「１１：２２：３３：４４：５５：０１」である。この場合、図５に示すように、中継装置２００は、「１９２．１６８．１．１〜ｎ」のＩＰアドレス及び、それぞれのＩＰアドレスに対応するＭＡＣアドレスである「１１：２２：３３：４４：５５：０１」を記憶する。
【００４５】
メモリ２３０は、ストレージ２２０に記憶されているプログラムをロードする領域である。また、メモリ２３０は、プログラムがデータを記憶する領域としても使用される。
【００４６】
ＮＩＣ２４０−１〜ｘ（以降、ＮＩＣ２４０と呼ぶ場合がある）は、イーサネット３００及びインターネット４００などと接続し、通信を行うネットワークインターフェースである。中継装置２００は、それぞれのＮＩＣ１４０を介して、パケットの送受信を行う。
【００４７】
ＣＰＵ２１０は、中継プログラム２２１を実行することで、パケット中継部を構築し、中継処理を行う。中継処理は、通信装置１００−１と通信装置１００−２の通信おいて送受信されるパケットを、送信先の通信装置１００に中継する処理である。
【００４８】
また、ＣＰＵ２１０は、ＡＲＰテーブル更新プログラム２２２を実行することで、テーブル更新部を構築し、ＡＲＰテーブル更新処理を行う。ＡＲＰテーブル更新処理は、例えば、通信装置１００−１からのＡＲＰリクエスト又はＡＲＰリプレイスリクエストに応答し、ＡＲＰテーブルを更新する処理である。
【００４９】
ＣＰＵ２１０は、ＡＲＰリクエスト受信モジュール２２２１を実行することで、受信部を構築し、ＡＲＰリクエスト受信処理を行う。ＡＲＰリクエスト受信処理は、中継装置２００が通信装置１００−１から、ＡＲＰリクエストを受信する処理である。中継装置２００は、ＡＲＰリクエストを受信すると、ＡＲＰテーブル更新（ＩＰアドレス毎）処理を行う。
【００５０】
ＣＰＵ２１０は、ＡＲＰテーブル更新（ＩＰアドレス毎）モジュール２２２２を実行することで、テーブル更新部を構築し、ＡＲＰテーブル更新（ＩＰアドレス毎）処理を行う。ＡＲＰテーブル更新（ＩＰアドレス毎）処理は、ＡＲＰリクエストに含まれる、ＩＰアドレスと対応するＭＡＣアドレスを、ＡＲＰテーブル２２３に記憶する処理である。ＡＲＰリクエストに含まれるＩＰアドレスが、既にＡＲＰテーブル２２３に記憶されている場合、中継装置２００は、記憶されているＩＰアドレスに対応するＭＡＣアドレスを上書きし、ＡＲＰテーブル２２３を更新する。
【００５１】
ＣＰＵ２１０は、ＡＲＰリプレイスリクエスト受信モジュール２２２３を実行することで、受信部を構築し、ＡＲＰリプレイスリクエスト受信処理を行う。ＡＲＰリプレイスリクエスト受信処理は、中継装置２００が通信装置１００−１から、ＡＲＰリプレイスリクエストを受信する処理である。中継装置２００は、ＡＲＰリプレイスリクエストを受信すると、ＡＲＰテーブル更新（ＭＡＣアドレス置換）処理を行う。
【００５２】
ＣＰＵ２１０は、ＡＲＰテーブル更新（ＭＡＣアドレス置換）モジュール２２２４を実行することで、テーブル更新部を構築し、ＡＲＰテーブル更新（ＭＡＣアドレス置換）処理を行う。ＡＲＰテーブル更新（ＭＡＣアドレス置換）処理は、ＡＲＰテーブル２２３に記憶している、ＡＲＰリプレイスリクエストに含まれる切り替え前のＭＡＣアドレスを切り替え後のＭＡＣアドレスに更新する処理である。
【００５３】
＜ＡＲＰテーブル更新処理＞
ＡＲＰテーブル更新処理について以下に説明する。通信装置１００−１は、中継装置２００のＡＲＰテーブル２２３に通信装置１００−１のＩＰアドレス及びＭＡＣアドレスが記憶されていない初期接続時は、ＡＲＰリクエストによってＡＲＰテーブルの更新を行う。一方、通信装置１００−１は、中継装置２００のＡＲＰテーブル２２３に通信装置１００−１のＩＰアドレス及びＭＡＣアドレスが記憶されている運用中に、通信に使用するＮＩＣ１４０を切り替える場合は、ＡＲＰリプレイスリクエストによって、ＡＲＰテーブルの更新を行う。
【００５４】
＜１．ＡＲＰリクエストによるＡＲＰテーブル更新処理＞
図６は、ＡＲＰリクエストを中継装置２００に送信するシーケンスの例を示す図である。以下、通信装置１００−１がＡＲＰリクエストを送信し、中継装置２００にＡＲＰテーブル２２３を更新させる処理について説明する。なお、ＡＲＰリクエストによるＡＲＰテーブル更新処理は、例えば、中継装置２００のＡＲＰテーブル２２３に通信装置１００−１に割り当てられたＩＰアドレスが記憶されていない場合や、通信装置１００−１に新たなＩＰアドレスを割り当てられた場合に実行される。ＡＲＰリクエスト（識別子通知）は、通信に使用するネットワークインターフェースのＭＡＣアドレスと、１つのＩＰアドレスに関する情報を含む、中継装置２００にＡＲＰテーブルを更新させるメッセージである。
【００５５】
通信装置１００−１は、ＩＰアドレスをｎ個割り当てられており、それぞれのＩＰアドレスをＩＰ１、ＩＰ２・・・ＩＰｎと表現する。また、ＮＩＣ１４０−１、２のＭＡＣアドレスを、それぞれＭＡＣ１、ＭＡＣ２と表現する。
【００５６】
通信装置１００−１は、最初に中継装置２００と接続したとき、通信装置１００−１に割り当てられたＩＰアドレスと、通信に使用するＮＩＣ１４０のＭＡＣアドレスを中継装置２００に通知する。図６においては、使用するＮＩＣ１４０は、ＮＩＣ１４０−２である。
【００５７】
通信装置１００−１は、割り当てられている複数のＩＰアドレスのうち、１つのＩＰアドレス（例えばＩＰ１）と、通信に使用するＮＩＣ１４０−２のＭＡＣアドレス（ＭＡＣ２）をＡＲＰリクエストに含め、中継装置２００に送信する（Ｓ１０２）。
【００５８】
図７は、図６のシーケンスにおいて送受信されるパケットの例を示す図である。ＡＲＰリクエストＳ１０２のパケットのデータ種別は、ＡＲＰリクエストであることを示す値（０）である。また、ＡＲＰリクエストＳ１０２の送信先ＭＡＣアドレスは中継装置２００のＭＡＣアドレス（ＭＡＣ２００）であり、送信元ＭＡＣアドレスはＮＩＣ１０４−２のＭＡＣアドレス（ＭＡＣ２）である。そして、ＡＲＰリクエストＳ１０２は、データに、送信元ＭＡＣアドレスに対応するＩＰアドレス（以降、対応ＩＰアドレスと呼ぶ）であるＩＰ１を含む。なお、ＡＲＰリクエストは、ＡＲＰテーブル２２３を有する中継装置２００に送信するためのパケットであるが、中継装置２００が複数存在する場合や、不明なＩＰアドレスに対応するＭＡＣアドレスを問い合わせるために使用することもあるため、送信先ＭＡＣアドレスを、ブロードキャスト送信を示すアドレスとしてもよい。
【００５９】
図６に戻り、中継装置２００は、ＡＰＲリクエストを受信すると、ＡＲＰテーブル更新（ＩＰアドレス毎）処理を実行する（Ｓ１０３）。
【００６０】
図８は、ＡＲＰテーブル更新処理（ＩＰアドレス毎）処理の処理フローチャートの例を示す図である。中継装置２００は、ＡＲＰリクエストを受信するのを待ち受ける（Ｓ１０３１のＮｏ）。
【００６１】
中継装置２００は、ＡＲＰリクエストを受信すると（Ｓ１０３１のＹｅｓ）、ＡＲＰリクエストに含まれる対応ＩＰアドレスがＡＲＰテーブル２２３に存在するかどうか確認する（Ｓ１０３２）。
【００６２】
中継装置２００は、ＡＲＰテーブル２２３にＡＲＰリクエストに含まれる対応ＩＰアドレスが存在する場合（Ｓ１０３２のＹｅｓ）、ＡＲＰリクエストに含まれる送信元ＭＡＣアドレスを抽出し、対応ＩＰアドレスに対応するＭＡＣアドレスとして、ＡＲＰテーブルを更新する（Ｓ１０３３）。
【００６３】
一方、中継装置２００は、ＡＲＰテーブル２２３にＡＲＰリクエストに含まれる対応ＩＰアドレスが存在しない場合（Ｓ１０３２のＮｏ）、ＡＲＰリクエストに含まれる対応ＩＰアドレスとＡＲＰリクエストに含まれる送元ＭＡＣアドレスを対応づけ、ＡＲＰテーブル２２３に新規追加する（Ｓ１０３４）。
【００６４】
なお、図６のシーケンスにおいては、初期起動時であるため、通信装置１００−１のＩＰアドレスはＡＲＰテーブルに記憶されていない（Ｓ１０３２のＮｏ）。しかし、例えば、以前に中継装置２００に接続していた通信装置が使用していた古いＩＰアドレスがＡＲＰテーブルに残っている場合がある。この場合、初期起動時であっても、通信装置１００−１のＩＰアドレスがＡＲＰテーブルに記憶されている場合がある（Ｓ１０３２のＹｅｓ）。更新処理Ｓ１０３３及び新規追加処理Ｓ１０３４のどちらの処理を行っても、通信装置１００−１のＩＰアドレスと対応するＭＡＣアドレスは、ＡＲＰテーブル２２３内に記憶される。
【００６５】
そして、中継装置２００は、ＡＲＰテーブル２２３の更新が完了したことを通知するため、通信装置１００−１にＡＲＰリプライを送信する（Ｓ１０３５）。
【００６６】
図６に戻り、中継装置２００は、ＡＲＰリプライを通信装置１００−１に送信する（Ｓ１０４）。ＡＲＰリプライＳ１０４のパケットのデータ種別は、図７に示すように、ＡＲＰリプライを示す値（２）である。また、ＡＲＰリプライＳ１０４の送信先は、ＮＩＣ１０４−２のＭＡＣアドレス（ＭＡＣ２）であり、送信元ＭＡＣアドレスは、中継装置２００のＭＡＣアドレス（ＭＡＣ２００）である。さらに、ＡＲＰリプライＳ１０４は、ＩＰ１に対応するＭＡＣアドレスの更新が完了したことを示すため、データとして対応ＩＰアドレスであるＩＰ１を含む。
【００６７】
図９は、図６のシーケンスのタイミングＴ０、Ｔ１、Ｔ２におけるＡＲＰテーブル２２３の例を示す図である。タイミングＴ０はＮＩＣ切り替え前、タイミングＴ１はＡＲＰテーブル更新中（ＩＰ１に対応するＭＡＣアドレスのみ変更済）、タイミングＴ２はＡＲＰテーブル更新完了（ＩＰ１〜ｎまでの全てのＩＰアドレスに対応するＭＡＣアドレスが変更済）である。
【００６８】
タイミングＴ０においては、ＡＲＰテーブル２２３は、ＩＰ１〜ｎに対応するＭＡＣアドレスがＮＩＣ１０４−１のＭＡＣアドレス（ＭＡＣ１）である。そして、ＡＲＰリクエストＳ１０２を受信し、ＡＲＰテーブル更新（ＩＰアドレス毎）処理Ｓ１０３を実行した後のタイミングＴ１においては、ＡＲＰテーブル２２３は、ＩＰ１に対応するＭＡＣアドレスがＭＡＣ２に変更されているが、その他のＩＰ２〜ｎに対応するＭＡＣアドレスはＭＡＣ１のままである。
【００６９】
図６に戻り、タイミングＴ１において、中継装置２００は、通信装置１００−２からＩＰｎが送信先ＩＰアドレスである通信用パケットを受信し（Ｓ１０５）、中継処理を行う（Ｓ２００）。
【００７０】
図１０は、中継装置２００の中継処理Ｓ２００の処理フローチャートの例を示す図である。中継装置２００は、通信装置１００−２からパケット受信すると（Ｓ２０１のＹｅｓ）、ＡＲＰテーブル内の送信先ＩＰアドレスを検索する（Ｓ２０２）。中継装置２００は、送信先ＩＰアドレスを見つけた場合（Ｓ２０３のＹｅｓ）、対応するＭＡＣアドレスをＡＲＰテーブル２２３から抽出し、当該ＭＡＣアドレスを宛先としたパケットを送信する（Ｓ２０４）。中継装置２００は、送信先ＩＰアドレスを見つけられない場合（Ｓ２０３のＮｏ）、例えば、当該パケットを破棄するか、又は、当該ＩＰアドレスに対応するＭＡＣアドレスを問い合わせるパケットを、イーサネット３００内の通信装置すべてに対してブロードキャストで送信してもよい。一方、通信装置１００−２からのパケット受信ではない（通信装置１００−１からの受信である）場合（Ｓ２０１のＮｏ）、送信先をＩＰアドレスに変更し、パケットを送信する（Ｓ２０５）。
【００７１】
図６において、通信用パケットＳ１０５を受信したとき、ＡＲＰテーブル２２３のＩＰｎに対応するＭＡＣアドレスはＭＡＣ１であるため、中継装置２００は、ＭＡＣ１を送信先ＭＡＣアドレスとし、通信用パケットをＮＩＣ１４０−１に送信する（Ｓ１０６）。通信装置１００−１は、通信に使用するＮＩＣ１４０をＮＩＣ１４０−１からＮＩＣ１４０−２に切り替えているため、通信装置１００−１は、ＮＩＣ１４０−１に送信した通信用パケットＳ１０６を受信することができない。
【００７２】
以降、中継装置２００は、ＩＰ２〜ＩＰｎのＡＲＰリクエストを受信し（Ｓ１０７）、ＡＲＰテーブル更新（ＩＰアドレス毎）処理Ｓ１０３を実行し、ＡＲＰリプライを送信する（Ｓ１０８）。ＩＰｎのＡＲＰリクエストＳ１０７及びＡＲＰリプライＳ１０８は、図７に示すように、対応するＩＰアドレスがＩＰｎである。
【００７３】
そして、中継装置２００は、ＡＲＰテーブル２２３の更新が完了し（タイミングＴ２）、図９に示すように、ＡＲＰテーブル２２３のＩＰ１〜ｎの全てのＭＡＣアドレスがＭＡＣ２となる。
【００７４】
ＡＲＰリクエストによるＡＲＰテーブル更新処理は、通信装置１００−１のＩＰアドレス及びＭＡＣアドレスがＡＲＰテーブルに記憶されていない場合に実行される処理である。通信装置１００−１は、ＮＩＣ１４０を切り替えたとき、例えば、ＡＲＰリクエストによるＡＲＰテーブル更新処理を実行すると、通信装置１００−１に割り当てられたＩＰアドレスの数のＡＲＰリクエストを中継装置２００に送信する。中継装置２００は、全ＩＰアドレスの数のＡＲＰリクエストを受信し終えるまでＡＲＰテーブル２２３の更新が完了せず、更新を完了するまでに時間がかかる。この場合、上述したように、通信用データが通信装置１００−１に到達しない場合がある。そこで、第１の実施の形態における通信装置１００−１は、ＮＩＣ１４０を切り替えるとき、ＡＲＰリプレイスリクエストによるＡＲＰテーブル更新処理を実行する。
【００７５】
＜２．ＡＲＰリプレイスリクエストによるＡＲＰテーブル更新処理＞
図１１は、通信装置１００−１が通信に使用するＮＩＣ１４０を切り替えたとき、ＡＲＰリプレイスリクエストを中継装置２００に送信するシーケンスの例を示す図である。以下、通信装置１００−１がＡＲＰリプレイスリクエストを送信することで中継装置２００のＡＲＰテーブル２２３を更新させる処理について説明する。
【００７６】
通信装置１００−１は、通信に使用するＮＩＣ１４０をＮＩＣ１４０−１からＮＩＣ１４０−２に切り替える（Ｓ３０１）。そして、切り替え前のＮＩＣ１４０−１のＭＡＣアドレス（ＭＡＣ１）と、切り替え後のＮＩＣ１４０−２のＭＡＣアドレス（ＭＡＣ２）をＡＲＰリプレイスリクエストに含め、中継装置２００に送信する（Ｓ３０２）。
【００７７】
図１２は、図１１のシーケンスにおいて送受信されるパケットの例を示す図である。  ＡＲＰリプレイスリクエストＳ３０２のパケットのデータ種別は、ＡＲＰリプレイスリクエストであることを示す値（３）である。また、ＡＲＰリプレイスリクエストＳ３０２の送信先ＭＡＣアドレスは中継装置２００のＭＡＣアドレス（ＭＡＣ２００）であり、送信元ＭＡＣアドレスはＮＩＣ１０４−２のＭＡＣアドレス（ＭＡＣ２）である。そして、ＡＲＰリプレイスリクエストＳ３０２は、データとして、切り替え前のＭＡＣアドレスであるＭＡＣ１を含む。ＡＲＰリプレイスリクエストＳ３０２においては、送信元ＭＡＣアドレスが、切り替え後のＭＡＣアドレスとなる。
【００７８】
図１１に戻り、中継装置２００は、ＡＲＰリプレイスリクエストを受信すると、ＡＲＰテーブル更新（ＭＡＣアドレス置換）処理を行う（Ｓ３０３）。
【００７９】
図１３は、ＡＲＰテーブル更新（ＭＡＣアドレス置換）処理の処理フローチャートの例を示す図である。中継装置２００は、ＡＲＰリプレイスリクエストの受信を待ちける（Ｓ３０３１のＮｏ）。そして、中継装置２００は、ＡＲＰリプレイスリクエストを受信すると（Ｓ３０３１のＹｅｓ）、ＡＲＰテーブル内のＡＲＰリプレイスリクエストに含まれる切り替え前ＭＡＣアドレスを検索する（Ｓ３０３２）。中継装置２００は、切り替え前のＭＡＣアドレスを検出すると（Ｓ３０３３のＹｅｓ）、ＡＲＰテーブル内で検出した切り替え前のＭＡＣアドレスを、切り替え後のＭＡＣアドレスに更新する（Ｓ３０３４）。中継装置２００は、ＡＲＰリプレイスリクエストに含まれる送信元ＭＡＣアドレスを、切り替え後のＭＡＣアドレスとしてＡＲＰテーブル２２３を更新する。
【００８０】
中継装置２００は、切り替え前のＭＡＣアドレスがＡＲＰテーブルに存在しない状態になるまで、検索処理Ｓ３０３２を繰り返す。そして、中継装置２００は、切り替え前のＭＡＣアドレスがＡＲＰテーブルから検出できない場合（Ｓ３０３３のＮｏ）、ＡＲＰリプレイスリプライを通信装置１００−１に送信し（Ｓ３０３５）、ＡＲＰリプレイスリクエストの受信待ちとなる。
【００８１】
ＡＲＰリプレイスリプライは、ＡＲＰテーブルの更新が完了したことを通知するメッセージであり、図１２に示すように、データ種別は、ＡＲＰリプライリクエストを示す値（４）である。
【００８２】
図１１に戻り、中継装置２００は、ＡＲＰリクエストリプライを通信装置１００−１に送信する（Ｓ３０４）。そして、通信装置１００−２から、送信先ＩＰアドレスがＩＰｎである通信用パケットを受信する（Ｓ３０５）。
【００８３】
図１４は、図１１のシーケンスのタイミングＴ０及びＴ３におけるＡＲＰテーブル２２３の例を示す図である。タイミングＴ０はＮＩＣ切り替え前、タイミングＴ３はＡＲＰテーブル更新完了後である。タイミングＴ０において、全てのＩＰアドレスに対応するＭＡＣアドレスは、切り替え前のＭＡＣアドレスであるＭＡＣ１であったが、タイミングＴ３においては、切り替え後のＭＡＣアドレスであるＭＡＣ２に更新される。
【００８４】
図１１に戻り、中継装置２００は、図１０に示す中継処理を行い、送信先ＭＡＣアドレスをＩＰｎに対応するＭＡＣ２とした通信用パケットを、切り替え後のＮＩＣ１４０−２に送信する（Ｓ３０６）。
【００８５】
第１の実施の形態では、通信装置１００−１が通信に使用するＮＩＣ１４０を切り替えるとき、ＩＰアドレスごとにメッセージを送信するＡＲＰリクエストではなく、切り替え前及び切り替え後のＭＡＣアドレスを含むＡＲＰリプレイスリクエストを中継装置２００に送信する。これに応答し、中継装置２００は、ＡＲＰテーブル内の切替前のＭＡＣアドレスを全て切替後のＭＡＣアドレスに置換（リプレイス）する。
【００８６】
これにより、中継装置２００は、全ＩＰアドレス分のＡＲＰリクエストではなく、ＡＲＰリプレイスリクエストを受信することで、通信装置１００−１の全ＩＰアドレスのＭＡＣアドレスを、切り替え後のＭＡＣアドレスに更新することができる。よって、中継装置２００は、ＡＲＰリクエストによるＡＲＰテーブル更新に比べ、短時間でＡＲＰテーブルを更新することができる。また、ＡＲＰリクエストよりもＡＲＰリプレイスリクエストのほうが、少ないメッセージ送信数でのＡＲＰテーブル更新が可能であり、通信システム１０のメッセージ送受信によるトラフィック量を軽減することができる。
【００８７】
＜変形例＞
通信装置１００−１は、ＩＰアドレス及び対応するＭＡＣアドレスを中継装置２００に通知するとき、ＡＲＰリクエストとＡＲＰリプレイスリクエストのどちらを使用するかを選択する通知メッセージ選択処理を設けてもよい。
【００８８】
図１５は、通知メッセージ選択処理の処理フローチャートの例を示す図である。通信装置１００−１は、ＩＰアドレス及び対応するＭＡＣアドレスを中継装置２００に通知する契機が発生すると、通知メッセージ選択処理Ｓ４００を実行する。
【００８９】
通信装置１００−１は、中継装置２００に通知するＩＰアドレス及び対応するＭＡＣアドレスを、中継装置２００に通知済かどうかを判定する（Ｓ４０１）。通信装置１００−１は、既に中継装置２００に当該ＩＰアドレス及び対応するＭＡＣアドレスを通知している場合（Ｓ４０１のＹｅｓ）、切り替え前ＭＡＣアドレス及び切り替え後ＭＡＣアドレスを掲載したＡＲＰリプレイスリクエストを中継装置２００に送信する（Ｓ４０２）。中継装置２００に通知するＩＰアドレスは、通知済であるため、中継装置２００のＡＲＰテーブルに記憶されている。そのため、中継装置２００は、ＡＲＰリプレイスリクエストにより、ＡＲＰテーブル内の通知済みＩＰアドレスに対応するＭＡＣアドレスを更新することができる。ＡＲＰリプレイスリクエストでＡＲＰテーブルを更新する場合、中継装置２００は、変更するＩＰアドレスが多い程、ＡＲＰテーブルを更新する時間を短縮することができる。
【００９０】
一方、通信装置１００−１は、中継装置２００に当該ＩＰアドレス及び対応するＭＡＣアドレスを通知済みでない場合（Ｓ４０１のＮｏ）、当該ＩＰアドレス及び対応するＭＡＣアドレスを掲載したＡＲＰリクエストを中継装置２００に送信する（Ｓ４０３）。
【００９１】
このように、変形例では、ＡＲＰリプレイスリクエストでＡＲＰテーブル更新が可能な場合、ＡＲＰリプレイスリクエストを送信する。一方、ＡＲＰテーブルに記憶されていないＩＰアドレスに対する通知である場合、ＡＲＰリプレイスリクエストは使用できないため、ＡＲＰリクエストを使用する。これにより、できるだけＡＲＰリプレイスリクエストを使用することができ、ＡＲＰテーブル更新の時間短縮が可能となる。
【００９２】
［第２の実施の形態］
次に、第２の実施の形態について説明する。ＡＲＰリプレイスリクエストによるＡＲＰテーブルの更新は、全ての切替前のＭＡＣアドレスを切替後のＭＡＣアドレスに変更する。そのため、切替後のＭＡＣアドレスが何らかの要因で使用できない場合、多くのＩＰアドレスが通信に使用できないため、通信に対する影響が大きい。そこで、第２の実施の形態では、中継装置２００は、ＡＲＰリプレイスリクエストを受信したとき、切り替え後のＭＡＣアドレスが通信できることを確認した後、ＡＲＰテーブルの更新を行う。これにより、切り替え後のＭＡＣアドレスが通信に使用できることを確認してから、ＡＲＰテーブルを更新することができる。
【００９３】
＜ＡＲＰテーブル更新処理＞
図１６は、ＡＲＰテーブル更新処理のシーケンスの例を示す図である。ＮＩＣ切り替え処理Ｓ３０１からＡＲＰリプレイスリクエスト送信処理Ｓ３０２までは、図１１のシーケンスと同様である。
【００９４】
中継装置２００は、ＡＲＰリプレイスリクエストを受信（Ｓ３０２）、ＡＲＰリクエストをブロードキャストで送信する（Ｓ５０１）。ブロードキャストで送信するＡＲＰリクエストは、ＡＲＰリプレイスリクエストで切替対象であるＭＡＣアドレスに対応するＩＰアドレスが含まれる。通信装置１００−１は、ＩＰ１〜ｎまでのＩＰアドレスを有するが、中継装置２００は、１つのＩＰアドレスを抽出し、ＡＲＰリクエストに含める。図１７においては、中継装置２００は、ＩＰ１を抽出する。ブロードキャストで送信するＡＲＰリクエストは、ＡＲＰリクエストに含まれるＩＰアドレスを持つ通信装置が、自装置のＭＡＣアドレスを含めたＡＲＰリプライを返信することで、当該ＩＰアドレスに対応するＭＡＣアドレスを取得するためのメッセージである。
【００９５】
ＮＩＣ１４０−１は、通信に使用されていないため、ＡＲＰリクエストを受信できないが、ＮＩＣ１４０−２は、通信に使用されており、ＡＲＰリクエストを受信する（Ｓ５０１）。そして、ＮＩＣ１４０−２は、ＡＲＰリクエストに含まれるＩＰ１は自装置に対応づけられているＩＰアドレスであるため、ＮＩＣ１４０−２のＭＡＣアドレス（ＭＡＣ２）を含めた、ＡＲＰリプライを中継装置２００に送信する（Ｓ５０２）。
【００９６】
そして、中継装置２００は、ＭＡＣ２を含むＡＲＰリプライを受信することで、ＭＡＣ２が通信に使用されているＭＡＣアドレスであることを確認し、ＡＲＰテーブル更新（ＭＡＣアドレス置換）処理を行う（Ｓ３０３）。以降、ＡＲＰテーブル更新（ＭＡＣアドレス置換）処理Ｓ３０３及びＡＲＰリプレイスリクエスト送信処理Ｓ３０４は、図１１に示すシーケンスと同様である。
【００９７】
第２の実施の形態では、中継装置２００は、ＡＲＰリプレイスリクエストを受信したとき、切り替え後のＮＩＣ１４０が通信できることを確認した後、ＡＲＰテーブルを更新する。これにより、中継装置２００は、通信できないＮＩＣ１４０を誤って記憶することがなく、通信できないＭＡＣアドレスに対してパケットを送信しない。よって、通信システム１０は、不要なパケットの送受信が減少することでシステム全体の負荷が減少し、通信に使用していないネットワークインターフェースへパケットを送信してしまうというリスクが減少する。
【００９８】
以上の第１及び第２の実施の形態を含む実施形態に関し、更に以下の付記を開示する。
【００９９】
（付記１）
通信システムに含まれる通信装置であって、
前記通信システムは、中継装置と、データリンク層の識別子を含むパケットを送受信する第１ネットワークを介して前記中継装置と接続する前記通信装置と、ネットワーク層の識別子を含むパケットを送受信する第２ネットワークを介して前記中継装置と接続する通信先装置とを有し、
前記中継装置は、前記通信装置と前記通信先装置との間を送受信するパケットを中継し、前記通信装置が通信に使用するデータリンク層の識別子と前記通信装置に割り当てられたネットワーク層の識別子との対応関係を示すテーブルを有し、前記通信先装置から前記通信装置に割り当てられたネットワーク層の識別子が宛先のパケットを受信したとき、前記テーブルに基づき、前記受信したパケットのネットワーク層の識別子に対応するデータリンク層の識別子を宛先としたパケットを、前記通信に使用するネットワークインターフェースに送信し、
前記通信装置は、複数のネットワーク層の識別子を割り当てられると共に、
それぞれ異なるデータリンク層の識別子を有する複数のネットワークインターフェースと、
前記複数のネットワークインターフェースのうちいずれかのネットワークインターフェースを使用して前記通信先装置と通信する通信部と、
前記通信に使用するネットワークインターフェースを、異なるネットワークインターフェースに切り替えるインターフェース切替部と、
前記切り替えを行うとき、前記切り替え前及び切り替え後のネットワークインターフェースそれぞれのデータリンク層の識別子に関する情報を含み、前記中継装置に前記テーブルに含まれる前記切り替え前のデータリンク層の識別子を前記切り替え後のデータリンク層の識別子に更新させる切替通知を、前記中継装置に送信する切替通知部を有する
通信装置。
【０１００】
（付記２）
前記切替通知部は、切り替え前のデータリンク層の識別子に関する情報を含むパケットを生成し、前記生成したパケットの送信元を切り替え後のデータリンク層の識別子とし、前記中継装置に送信する
付記１記載の通信装置。
【０１０１】
（付記３）
さらに、前記通信に使用するネットワークインターフェースのデータリンク層の識別子と、前記複数のネットワーク層の識別子のうち１つのネットワーク層の識別子に関する情報を含み、前記中継装置に前記識別子通知に含まれるネットワーク層の識別子とデータリンク層の識別子を対応づけて前記テーブルに記憶させる識別子通知を、前記中継装置に送信する識別子通知部を有する
付記１記載の通信装置。
【０１０２】
（付記４）
前記データリンク層の識別子は、前記通信装置を一意に示す識別子であり、
前記ネットワーク層の識別子は、前記第２ネットワーク内で前記通信装置を識別する識別子であり、
前記データリンク層は前記ネットワーク層より下位レイヤである
付記１記載の通信装置。
【０１０３】
（付記５）
前記データリンク層の識別子は、メディアアクセスコントロールアドレスであり、
前記ネットワーク層の識別子は、インタネットプロトコルアドレスである
付記４記載の通信装置。
【０１０４】
（付記６）
通信システムに含まれる中継装置であって、
前記通信システムは、
データリンク層の識別子を含むパケットを送受信する第１ネットワークを介して前記中継装置と接続する通信装置と、
ネットワーク層の識別子を含むパケットを送受信する第２ネットワークを介して前記中継装置と接続する通信先装置と、
前記通信装置が通信に使用するネットワークインターフェースのデータリンク層の識別子と、前記通信装置に割り当てられた複数のネットワーク層の識別子との対応関係を示すテーブルを有し、前記通信先装置から前記通信装置に割り当てられたネットワーク層の識別子が宛先のパケットを受信したとき、前記テーブルに基づき、前記受信したパケットのネットワーク層の識別子に対応するデータリンク層の識別子を宛先としたパケットを、前記通信に使用するネットワークインターフェースに送信する、前記通信装置と前記通信先装置との間を送受信するパケットを中継する前記中継装置とを有し、
前記通信装置は、複数のネットワーク層の識別子を割り当てられると共に、それぞれ異なるデータリンク層の識別子を有する複数のネットワークインターフェースを有し、前記複数のネットワークインターフェースのうち１つのネットワークインターフェースを使用して前記通信先装置と通信し、
前記中継装置は、さらに、
前記通信装置が通信に使用するネットワークインターフェースを異なるネットワークインターフェースに切り替えるとき、前記通信装置によって送信される、前記切り替え前及び切り替え後のネットワークインターフェースそれぞれのデータリンク層の識別子に関する情報を含む切替通知を受信する受信部と、
前記受信に応答し、前記テーブルに含まれる前記切り替え前のデータリンク層の識別子を前記切り替え後のデータリンク層の識別子に更新するテーブル更新部とを有する
中継装置。
【０１０５】
（付記７）
前記テーブル更新部は、前記切り替え後のデータリンク層の識別子が通信できることを確認した後、前記更新を行う
付記６記載の中継装置。
【０１０６】
（付記８）
前記テーブル更新部は、前記複数のネットワーク層の識別子のいずれかを含むデータリンク層の識別子を問い合わせるパケットを、前記第１ネットワーク内の通信装置に対してブロードキャストで送信し、前記切り替え後のデータリンク層の識別子が送信元の前記問い合わせに対する応答パケットを受信することで、前記確認を行う
付記７記載の中継装置。
【０１０７】
（付記９）      
データリンク層の識別子を含むパケットを送受信する第１ネットワークを介して中継装置と接続する第１通信装置と、
ネットワーク層の識別子を含むパケットを送受信する第２ネットワークを介して前記中継装置と接続する第２通信装置と、
前記第１通信装置と前記第２通信装置との間を送受信するパケットを中継する前記中継装置とを有する通信システムであって、
前記第１通信装置は、それぞれ異なるデータリンク層の識別子を有する複数のネットワークインターフェースを有し、前記複数のネットワークインターフェースのうち１つのネットワークインターフェースを使用して前記第２通信装置と通信し、
前記中継装置は、前記通信に使用するネットワークインターフェースのデータリンク層の識別子と前記第１通信装置に割り当てられた複数のネットワーク層の識別子との対応関係を示すテーブルを有し、前記第２通信装置から前記複数のネットワーク層の識別子が宛先のパケットを受信したとき、前記テーブルに基づき、前記受信したパケットのネットワーク層の識別子に対応するデータリンク層の識別子を宛先としたパケットを前記通信に使用するネットワークインターフェースに送信し、
前記第１通信装置は、前記通信に使用するネットワークインターフェースを異なるネットワークインターフェースに切り替えるとき、前記切り替え前及び切り替え後のネットワークインターフェースそれぞれのデータリンク層の識別子に関する情報を含む切替通知を、前記中継装置に送信し、
前記中継装置は、前記切替通知の受信に応答し、前記テーブルに含まれる前記切り替え前のデータリンク層の識別子を前記切り替え後のデータリンク層の識別子に更新する
通信システム。
【０１０８】
（付記１０）
通信システムに含まれる通信装置における通信方法であって、
前記通信システムは、中継装置と、データリンク層の識別子を含むパケットを送受信する第１ネットワークを介して前記中継装置と接続する前記通信装置と、ネットワーク層の識別子を含むパケットを送受信する第２ネットワークを介して前記中継装置と接続する通信先装置とを有し、
前記中継装置は、前記通信装置と前記通信先装置との間を送受信するパケットを中継し、前記通信装置が通信に使用するデータリンク層の識別子と前記通信装置に割り当てられたネットワーク層の識別子との対応関係を示すテーブルを有し、前記通信先装置から前記通信装置に割り当てられたネットワーク層の識別子が宛先のパケットを受信したとき、前記テーブルに基づき、前記受信したパケットのネットワーク層の識別子に対応するデータリンク層の識別子を宛先としたパケットを、前記通信に使用するネットワークインターフェースに送信し、
前記通信装置は、複数のネットワーク層の識別子を割り当てられると共に、それぞれ異なるデータリンク層の識別子を有する複数のネットワークインターフェースを有し、
前記複数のネットワークインターフェースのうちいずれかのネットワークインターフェースを使用して前記通信先装置と通信し、
前記通信に使用するネットワークインターフェースを、異なるネットワークインターフェースに切り替え、
前記切り替えを行うとき、前記切り替え前及び切り替え後のネットワークインターフェースそれぞれのデータリンク層の識別子に関する情報を含み、前記中継装置に前記テーブルに含まれる前記切り替え前のデータリンク層の識別子を前記切り替え後のデータリンク層の識別子に更新させる切替通知を、前記中継装置に送信する  
通信方法。
【符号の説明】
【０１０９】
１０…通信システム                     １００…通信装置
１０４…ＮＩＣ                         １１０…ＣＰＵ
１２０…ストレージ                     １２１…通信プログラム
１２２…ＮＩＣ切替プログラム           １２３…ＭＡＣアドレス通知プログラム
１２３１…ＡＲＰリクエスト送信モジュール
１２３２…ＡＲＰリプレイスリクエスト送信モジュール
１２４…ＩＰアドレス情報               １２５…ＭＡＣアドレス情報
１３０…メモリ                         １４０…ＮＩＣ
２００…中継装置                       ２１０…ＣＰＵ
２２０…ＡＲＰテーブル更新処理         ２２０…ストレージ
２２１…中継プログラム                 ２２２…ＡＲＰテーブル更新プログラム
２２２１…ＡＲＰリクエスト受信モジュール
２２２２…ＡＲＰテーブル更新（ＩＰアドレス毎）モジュール
２２２３…ＡＲＰリプレイスリクエスト受信モジュール
２２２４…ＡＲＰテーブル更新（ＭＡＣアドレス置換）モジュール
２２３…ＡＲＰテーブル                 ２３０…メモリ
２４０…ＮＩＣ                         ３００…イーサネット
４００…インターネット
【図１】
2018061148.tif 000003
【図２】
2018061148.tif 000004
【図３】
2018061148.tif 000005
【図４】
2018061148.tif 000006
【図５】
2018061148.tif 000007
【図６】
2018061148.tif 000008
【図７】
2018061148.tif 000009
【図８】
2018061148.tif 000010
【図９】
2018061148.tif 000011
【図１０】
2018061148.tif 000012
【図１１】
2018061148.tif 000013
【図１２】
2018061148.tif 000014
【図１３】
2018061148.tif 000015
【図１４】
2018061148.tif 000016
【図１５】
2018061148.tif 000017
【図１６】
2018061148.tif 000018