JP2020077979A - 中継装置、通信システム、中継方法、及び中継プログラム - Google Patents

中継装置、通信システム、中継方法、及び中継プログラム Download PDF

Info

Publication number
JP2020077979A
JP2020077979A JP2018210177A JP2018210177A JP2020077979A JP 2020077979 A JP2020077979 A JP 2020077979A JP 2018210177 A JP2018210177 A JP 2018210177A JP 2018210177 A JP2018210177 A JP 2018210177A JP 2020077979 A JP2020077979 A JP 2020077979A
Authority
JP
Japan
Prior art keywords
address
communication
relay
communication device
relay device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2018210177A
Other languages
English (en)
Inventor
雅幸 大野
Masayuki Ono
雅幸 大野
弘平 市村
Kohei Ichimura
弘平 市村
幹夫 小曽根
Mikio Kosone
幹夫 小曽根
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2018210177A priority Critical patent/JP2020077979A/ja
Publication of JP2020077979A publication Critical patent/JP2020077979A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】固定IPアドレスを有する通信装置の可動性を向上させる。【解決手段】通信装置間で第1種アドレスと第2種アドレスを用いて通信を行う通信システムにおける中継装置であって、記憶するルーティングテーブルに従いパケットを中継する中継部と、第1の通信装置から第1種アドレスを使用して送信された、第2の通信装置の第2種アドレスを問い合わせるアドレス要求を受信する受信部と、第2の通信装置の第1種アドレスが、自装置配下のネットワークのアドレスでない場合、自装置の第2種アドレスと第2の通信装置の第1種アドレスとを送信元とするアドレス要求に対する応答であるアドレス応答を返送し、第1の通信装置が自装置配下のネットワークに存在することをルーティングテーブルに記憶する制御部と、第1の通信装置が自装置配下のネットワークに存在することを、接続する他の中継装置に通知する広告部と、を有する。【選択図】図4

Description

本発明は、中継装置、通信システム、中継方法、及び中継プログラムに関する。
通信装置が通信を行うとき、パケットを中継する中継装置を介して通信を行う場合がある。中継装置は、例えば、スイッチングハブやL3スイッチである。これらの中継装置は、通信装置からパケットを受信すると、受信したパケットの宛先アドレスを確認し、宛先アドレスに該当する通信装置やネットワークが存在する通信ポートに対して、受信したパケットを送信する。
アドレスは、例えば、IP(Internet Protocol)アドレスが使用される。通信機器は、例えば、DHCP(Dynamic Host Configuration Protocol)サーバにIPアドレスを動的に割り振られる。しかし、この場合、接続先が変わればIPアドレスも変わってしまうため、例えば、監視対象デバイスをIPアドレスで指定する監視システムにおける通信装置では、固定IPアドレスが用いられる。
これらの中継装置に関する技術としては、以下の特許文献1,2に記載されている。
特開2005−6264号公報 特開2007−158512号公報
しかし、固定IPアドレスを有する通信装置は、異なるサブネットを有するネットワークに移設される場合、移設先のネットワークに適応するIPアドレスに書き換えられる必要がある。IPアドレスの書換作業は、例えば、システム管理者によって行われる。
通信装置の移設に伴い、システム管理者の作業が発生するため、システム管理者以外のユーザは、システム管理者の許可を得なければ通信装置を移設させることはできない。
また、IoT(Internet of Things)の発展により、固定IPアドレスを有する通信装置が増大すると、書換作業も増大する。システム管理者の書換作業の増大に伴い、IPアドレスの書換作業の人為的な誤りが発生する可能性が高くなる。また、システム管理者の書換作業の増大に伴い、作業工数増大によるシステム運用コストの増大が発生する。
このように、固定IPアドレスを有する通信装置は、他のネットワークへの移設による問題が発生する場合があり、可動性が低い。
そこで、一開示は、固定IPアドレスを有する通信装置の可動性を向上させる、中継装置、通信システム、中継方法、及び中継プログラムを提供する。
一開示は、通信装置間で第1種アドレスと第2種アドレスを用いて通信を行う通信システムにおける、前記通信で送受信されるパケットを中継する中継装置であって、記憶するルーティングテーブルに従い前記パケットを中継する中継部と、第1の通信装置から第1種アドレスを使用して送信された、第2の通信装置の第2種アドレスを問い合わせるアドレス要求を受信する受信部と、前記第2の通信装置の第1種アドレスが、自装置配下のネットワークのアドレスでない場合、自装置の第2種アドレスと前記第2の通信装置の第1種アドレスとを送信元とする前記アドレス要求に対する応答であるアドレス応答を、前記第1の通信装置に送信し、前記第1の通信装置が自装置配下のネットワークに存在することを前記ルーティングテーブルに記憶する制御部と、前記制御部が前記アドレス応答を送信する場合、前記第1の通信装置が自装置配下のネットワークに存在することを、接続する他の中継装置に通知する広告部と、を有する。
一開示は、固定IPアドレスを有する通信装置の可動性を向上させることができる。
図1は、通信システム10の構成例を示す図である。 通信装置100−1〜6及び中継装置200−1のIPアドレス及びMACアドレスと、ネットワークNW1〜3のIPアドレスの例を示す図である。 中継装置200が有するルーティングテーブルの例を示す図である。 図4は、中継装置200の構成例を表す図である。 図5は、通信装置100の移動後の通信システム10の例を示す図である。 図6は、通信装置100−3を移設した場合のシーケンスの例を示す図である。 図7は、ARP要求及びARP応答の例を示す図である。 図8は、ARP要求受信処理S102の処理フローチャートの例を示す図である。 図9は、アドレス重複確認処理S103の処理フローチャートの例を示す図である。 図10は、ARP代理応答処理S106の処理フローチャートの例を示す図である。 図11は、ARPテーブルの例を示す図である。 図12は、エンドポイントテーブルの例を示す図である。 図13は、アドレス広告処理S108の処理フローチャートの例を示す図である。 図14は、中継装置200の更新されたルーティングテーブルの例を示す図である。 図15は、通信装置100−3の移設時のメッセージの流れの例を示す図である。 図16は、通信装置100−3がネットワークNW1から切断された場合のシーケンスの例を示す図である。 図17は、接続確認処理S301の処理フローチャートの例を示す図である。 図18は、切断通知処理S303の処理フローチャートの例を示す図である。 図19は、更新後のARPテーブルの例を示す図である。 図20は、通信システム10の構成例を示す図である。
[第1の実施の形態]
以下、本発明を実施するための形態について説明する。
<通信システムの構成例>
図1は、通信システム10の構成例を表す図である。通信システム10は、通信装置100−1〜6(以下、通信装置100と呼ぶ場合がある)、ネットワークNW1〜3、及び中継装置200−1〜3(以下、中継装置200と呼ぶ場合がある)を有する。通信システム10は、例えば、通信装置100−1〜6が通信において、通信装置間を送受信されるパケットを中継する通信システムである。通信システム10におけるパケットは、例えば、IPアドレス(第1種アドレス)やMAC(Media Access Control:第2種アドレス)アドレスを用いて送受信される。
通信装置100は、通信相手装置のMACアドレスが不明であるとき、又は定期的あるいは不定期に、ARP(Address Resolution Protocol)を用いてMACアドレスを取得する。通信装置100は、ARP要求をブロードキャストで送信する。ARP要求には、送信先IPアドレスが含まれる。ARP要求を受信した中継装置200や通信装置100は、送信先IPアドレスが自装置である場合、自装置のMACアドレスを含むARP応答を、ARP要求の送信元の通信装置に返信する。これにより、通信装置100は、通信相手装置のMACアドレスを取得することができる。
図2(A)は、通信装置100−1〜6及び中継装置200−1のIPアドレス及びMACアドレスの例を示す図である。図2(A)に示すように、それぞれの装置は、異なるIPアドレス及びMACアドレスを有する。なお、各装置が有するIPアドレスは、固定IPアドレスである。
図2(B)は、ネットワークNW1〜3のIPアドレスの例を示す図である。IPアドレスにおける「/24」は、IPアドレスを2進数で示した場合の上位24桁までがIPアドレスとして割当られているサブネットマスクであることを示す。例えば、ネットワークNW1は、IPアドレスが「192.168.10.0/24」であり、2進数の上位24桁である「192.168.10.xxx」(xxxは0〜255の整数)がIPアドレスとして割当られていることを示す。なお、「192.168.10.0」はネットワークアドレス、「192.168.10.255」はブロードキャストアドレスであり、装置に割当可能なIPアドレスは、例えば、「192.168.10.1」から「192.168.10.254」となる。
図1に戻り、中継装置200−1〜3は、それぞれ通信ポートA1〜A3、通信ポートB1〜B3、通信ポートC1〜C3を有する。
例えば、中継装置200−1の通信ポートA1は、ネットワークNW1に接続する。そして、ネットワークNW1は、通信装置100−1及び通信装置100−2が接続されている。通信装置100−1、100−2のIPアドレスは、それぞれ192.168.10.10、192.168.10.11であるため、接続するネットワークNW1に割当されているIPアドレスの範囲内であるため、通信装置100−1,2は、それぞれネットワークNW1に属する通信装置である。
中継装置200−1におけるネットワークNW1は、中継装置200−1における自装置配下のネットワークである。中継装置200−2におけるネットワークNW2、中継装置200−3におけるネットワークNW3も、同様に中継装置200−2及び中継装置200−3それぞれにおける自装置配下のネットワークである。
中継装置200−1〜3は、それぞれルーティングテーブルを有する。図3(A)は、中継装置200−1の有するルーティングテーブルの例を示す図である。ルーティングテーブルは、「宛先ルート」(宛先IPアドレス)及び「I/F」を記憶する。「宛先ルート」は、受信したパケットの送信先IPアドレスである。「I/F」は、宛先ルートに該当するパケットを受信した場合の、送信先を示し、例えば、送信先ポート番号を記憶する。
中継装置200−1は、例えば、宛先IPアドレスが「192.168.10.0/24」、すなわち192.168.10.0〜255であるパケットを受信すると、送信先ポート番号に記載された通信ポートA1に、受信したパケットを送信する。これにより、通信装置100−1,2の両方または一方に、受信したパケットを送信することができる。
なお、図3(B)は、中継装置200−2のルーティングテーブルの例を示す図であり、図3(C)は、中継装置200−3のルーティングテーブルの例を示す図である。
上述したように、中継装置200は、それぞれ配下のネットワークに接続する通信装置100が、ネットワークと同じサブネットのIPアドレスを有する場合、図3(A)〜Cに示すルーティングテーブルに従い、パケットを中継することができる。
しかし、中継装置200は、通信装置100の移設により、配下のネットワークに接続する通信装置100が、ネットワークと異なるサブネットを有すると、図3(A)〜Cに示すルーティングテーブルに従っても、パケットを中継できない場合がある。
そこで、第1の実施の形態において、中継装置200は、配下のネットワークに、異なるサブネットを有する通信装置100が接続していることが認識可能となるように、ルーティングテーブルを更新する。中継装置200は、通信装置100が移設後に送信するメッセージ(例えば、ARP関連のメッセージ)を使用し、ルーティングテーブルを更新する。
<中継装置の構成例>
図4は、中継装置200の構成例を表す図である。中継装置200は、通信装置100が行う通信において送受信するパケットを中継する装置であって、例えば、L2スイッチやL3スイッチである。
中継装置200は、CPU(Central Processing Unit)210、ストレージ220、メモリ230、NIC(Network Interface Card)240−1〜nを有する。
ストレージ220は、プログラムやデータを記憶する、フラッシュメモリ、HDD(Hard Disk Drive)、又はSSD(Solid State Drive)などの補助記憶装置である。ストレージ220は、パケット中継プログラム221、ARPプログラム222、及びARP要求受信プログラム223を記憶する。
メモリ230は、ストレージ220に記憶されているプログラムをロードする領域である。また、メモリ230、プログラムがデータを記憶する領域としても使用される。
NIC240−1〜n(以下、NIC240と呼ぶ場合がある)は、他の装置(通信装置100やネットワーク)と通信を行う装置である。NIC240−1〜nのそれぞれは、中継装置の通信ポートと呼ばれ、それぞれポート番号で管理される。「n」は、中継装置200が有するポート数を示す。
CPU210は、ストレージ220に記憶されているプログラムを、メモリ230にロードし、ロードしたプログラムを実行し、各処理を実現するプロセッサである。
CPU210は、パケット中継プログラム221を実行することで、中継部を構築し、パケット中継処理を行う。パケット中継処理は、ルーティングテーブルの内容に従い、受信したパケットを、適切な通信ポートを介して送信先に送信する処理である。
CPU210は、ARPプログラム222を実行することで、ARP処理部を構築し、ARP処理を行う。ARP処理は、自装置配下のネットワークに対してブロードキャストで送信されたARP要求を受信したときに実行される処理である。中継装置200は、受信したARP要求を、自装置配下のネットワークに接続する通信装置100に送信する。そして、中継装置200は、ARP要求の送信先IPアドレスを有する通信装置からMACアドレスを含むARP応答を、ARP要求の送信元の通信装置に中継する。
CPU210は、ARP要求受信プログラム223を実行することで、受信部及び制御部を構築し、ARP要求受信処理を行う。ARP要求受信処理は、ARP要求受信時の処理である。中継装置200は、ARP要求を受信すると、自装置配下のネットワーク以外に対して送信されたARP要求である場合、ARP要求を転送せず、ARP応答を代理で送信する。代理で送信するARP応答は、自装置のMACアドレスを含む。
また、CPU210は、アドレス重複確認モジュール2231を実行することで、制御部を構築し、アドレス重複確認処理を行う。アドレス重複確認処理は、ARP要求受信処理において実行される処理である。中継装置200は、ARP要求受信処理において、ARP応答を代理で送信する前に、当該ARP応答の送信先IPアドレスが重複して存在しないか否かを確認する。
また、CPU210は、ARP代理応答モジュール2232を実行することで、制御部を構築し、ARP代理応答処理を行う。ARP代理応答処理は、ARP要求受信処理において実行される処理である。中継装置200は、ARP要求受信処理において、ARP応答を代理で送信する。
また、CPU210は、アドレス広告モジュール2233を実行することで、制御部を構築し、アドレス広告処理を行う。アドレス広告処理は、ARP要求受信処理において実行される処理である。中継装置200は、ARP要求受信処理において、ARP応答を代理で送信したとき、自装置配下のネットワークに他装置配下のネットワークのIPアドレスを有する通信装置100が存在(接続)していることを、他の中継装置200に通知する。
<通信装置移設時の処理>
以下、他のネットワークのIPアドレスを有する通信装置100が、自装置配下のネットワークに移設された場合の、中継装置200の処理について説明する。
図5は、通信装置100の移動後の通信システム10の例を示す図である。通信装置100−3は、ネットワークNW2の配下から、ネットワークNW1の配下に移設される(矢印DR1)。通信装置100−3は、ネットワークNW2の固定IPアドレスを有するものとする。
図6は、通信装置100−3を移設した場合のシーケンスの例を示す図である。通信装置100−3は、ネットワークNW1の配下に移設後、例えば、通電されたタイミングで、ネットワーク接続に伴う処理を行う(S100)。通信装置100−3は、ネットワーク接続において、例えば、ARP要求を送信する(S101)。
図7(A)は、ARP要求の例を示す図である。ARP要求は、送信先IPアドレスに対応するMACアドレスの取得を要求するメッセージである。通信装置100−3は、自装置のIPアドレスを送信元アドレスに、自装置のMACアドレスを送信元MACアドレスに含め、ARP要求を生成する。また、通信装置100−3は、送信先IPアドレスに、例えば、デフォルトゲートウェイのIPアドレス(この場合は、移設前のネットワークNW2が属する中継装置200−2のIPアドレス)を含め、ARP要求を生成する。また、ARP要求は、例えば、ブロードキャストで送信される。
図6のシーケンスに戻り、中継装置200−1は、ブロードキャストで送信されたARP要求を受信すると、ARP要求受信処理を行う(S102)。
図8は、ARP要求受信処理S102の処理フローチャートの例を示す図である。中継装置200は、ARP要求を受信するのを待ち受ける(S102−1のNo)。中継装置200は、ARP要求に含まれる送信先IPアドレスが、自装置配下以外のネットワークのIPアドレスであるか否かを判定する(S102−2)。自装置配下以外のネットワークとは、例えば、中継装置200−1の場合、ネットワークNW1以外のネットワークNW2やネットワークNW3を示す。なお、自装置配下のネットワークとは、例えば、中継装置200の通信ポートと、他の中継装置200を介さずに接続するネットワークである。また、ARP要求は、自装置配下のネットワークから受信するものとし、例えば、中継装置200−1は、中継装置200−2及び3(通信ポートA2及び3)からはARP要求を受信しないものとする。中継装置200は、自装置配下のネットワーク以外からARP要求を受信する場合、「自装置配下以外のネットワークのIPアドレスである否か」の判定は、「自装置配下のネットワークから受信し、かつ、自装置配下以外のネットワークのIPアドレスである否か」の判断を行う。
中継装置200は、送信先IPアドレスが自装置配下以外のネットワークのIPアドレスであると判定すると(S102−2のYes)、アドレス重複確認処理を行う(S103)。
図9は、アドレス重複確認処理S103の処理フローチャートの例を示す図である。アドレス重複確認処理S103は、ARP要求の送信元IPアドレスが、重複して存在しないことを確認する処理である。ARP要求の送信元IPアドレスの重複を確認するのは、なりすましなどの不正な通信装置の接続を除外するためである。
中継装置200は、ARP要求の送信元IPアドレスに存在確認のメッセージを送信する(S103−1)。このとき、中継装置200は、送信元の通信ポートを以外の通信ポートに対して存在確認のメッセージを送信する。送信元の通信ポートを以外に送信するのは、送信元の通信ポートにはARP要求の送信元の通信装置が存在していることが認識できるため、存在確認をする必要がないためである。なお、存在確認メッセージは、例えば、PINGにおけるエコーリクエスト(echo request)である。
中継装置200は、存在確認に対する応答である存在確認応答を待つ存在確認待ちタイマを起動する(S103−2)。存在確認応答は、例えば、PINGにおけるエコーリプライ(echo reply)である。
中継装置200は、存在確認応答を、存在確認待ちタイマが満了するまで待ち受ける(S103−3のNo、S103−4のNo)。中継装置200は、存在確認待ちタイマが満了すると(S103−4のYes)、IPアドレスの重複はないと判定し(S103−5)、処理を終了する。
一方、中継装置200は、存在確認応答を受信すると(S103−3のYes)、IPアドレスの重複があると判定し(S103−6)、処理を終了する。
図8の処理フローチャートに戻り、中継装置200は、アドレス重複確認処理S103において、IPアドレスが重複していると判定した場合(S102−3のYes)、受信したARP要求を破棄し(S102−4)、ARP要求受信待ちに戻る(S102−1)。
一方、中継装置200は、アドレス重複確認処理S103において、IPアドレスが重複していないと判定した場合(S102−3のNo)、ARP代理応答処理を行う(S106)。
図10は、ARP代理応答処理S106の処理フローチャートの例を示す図である。ARP代理応答処理S106は、ARP応答を送信する通信装置に代替し、中継装置200はARP応答を送信する処理である。
中継装置200は、受信したARP要求の送信元情報をARPテーブルに登録する(S106−1)。送信元情報とは、送信元IPアドレス、送信元MACアドレス、及びARP要求を受信した通信ポート番号である。
図11は、ARPテーブルの例を示す図である。ARPテーブルは、例えば、IPアドレス、I/F、MACアドレス、状態を管理するテーブルである。ARPテーブルは、ARP要求やARP応答の受信時に更新される。また、ARPテーブルは、タイマにより管理されており、所定時間の間、当該通信装置の通信がなければ、当該通信装置はARPテーブルから削除される。なお、ARPテーブルから当該通信装置が削除される場合、後述するエンドポイントテーブルに登録されている当該通信装置も連動して削除される。
図10の処理フローチャートに戻り、中継装置200は、受信したARP要求の送信元情報をエンドポイントテーブルに登録する(S106−2)。
図12は、エンドポイントテーブルの例を示す図である。エンドポイントテーブルは、自装置配下のネットワークに接続している、他のネットワークの通信装置を管理するテーブルである。エンドポイントテーブルは、IPアドレス、I/F、MACアドレス、及び前回確認時間を記憶する。前回確認時間は、例えば、当該通信装置が自装置配下のネットワークに接続していることを最後に確認した時刻である。当該通信装置が自装置配下のネットワークに接続していることの確認は、例えば、自装置配下のネットワークが接続する通信ポートから当該通信装置が送信するパケットを受信することで存在を確認する。また、定期的にPINGを行うなど、中継装置200からメッセージを送信し、接続していることを確認してもよい。中継装置200は、所定時間の間、当該通信装置の存在を確認できない場合、エンドポイントテーブルから当該通信装置を削除する。
図10の処理フローチャートに戻り、受信したARP要求の送信元を送信先、自装置を送信元とするARP応答を生成する(S106−3)。
図7(B)は、ARP応答の例を示す図である。ARP応答は、自装置あてのARP応答を受信した通信装置が、自装置のMACアドレスを付与して、ARP要求の送信元に返信するメッセージであり、ARP代理応答処理S106においては、中継装置200が代理で送信する。代理で送信するARP応答の送信先IPアドレス及び送信元MACアドレスは、ARP要求の送信先IPアドレス及び送信元MACアドレスを掲載する。そして、代理で送信するARP応答の送信元IPアドレスは、ARP要求の送信先IPアドレスを掲載する。さらに、代理で送信するARP応答の送信元MACアドレスは、中継装置200のMACアドレスを掲載する。ARP要求を送信した通信装置100は、代理で送信されたARP応答を受信し、以降の送信先IPアドレスに対応するMACアドレスとして、中継装置200のMACアドレスを記憶する。
図10の処理フローチャートに戻り、中継装置200は生成したARP応答を、ARP要求の送信元の通信装置に送信する(S106−4)。そして、中継装置200は、ARP要求の送信元情報を、ルーティングテーブルに登録し(S106−5)、処理を終了する。
図8の処理フローチャートに戻り、中継装置200は、ARP代理応答処理S106の終了後、アドレス広告処理を行う(S108)。
図13は、アドレス広告処理S108の処理フローチャートの例を示す図である。アドレス広告処理S108は、自装置配下のネットワークに、自装置配下以外のネットワークに属する通信装置100が接続されたことを、他の中継装置200に通知する処理である。
中継装置200は、ARP要求の送信元IPアドレスの通信装置100が、自装置配下のネットワークに接続していることを示すアドレス広告を生成する(S108−1)。アドレス広告は、例えば、Open/Rなどのルーティングプロトコルで使用されるメッセージである。中継装置200は、生成したアドレス広告を、接続する他の中継装置200に送信し(S108−2)、処理を終了する。
図8の処理フローチャートに戻り、中継装置200は、アドレス広告処理S108を終了すると、ARP要求受信待ちに戻る(S102−1)。
一方、中継装置200は、送信先IPアドレスが自装置配下以外のネットワークのIPアドレスでないと判定すると(S102−2のNo)、ARP処理を行い(S200)、ARP要求受信待ちに戻る(S102−2)。ARP処理S200は、例えば、従来のARP要求受信時に実行される処理であり、自装置配下のネットワークに対してブロードキャストで送信されたARP要求を中継し、ARP要求の送信先IPアドレスを有する通信装置からMACアドレスを含むARP応答を、ARP要求の送信元の通信装置に中継する処理である。中継装置200は、例えば、ARP応答やARP要求の受信に伴い、ARPテーブルを更新する。
図6のシーケンスに戻り、中継装置200−1は、ARP要求受信処理S102において、送信先IPアドレスが自装置配下以外のネットワークのIPアドレスか否かを確認する(図8のS102−1)。中継装置200−1は、通信装置100−3のIPアドレスは、自装置配下以外のネットワークNW2に属するIPアドレスであると判定し(図8のS102−2のYes)、アドレス重複確認処理S103を行う。
中継装置200−1は、アドレス重複確認処理S103において、中継装置200−2及び3に、存在確認を送信する(S104、S105、図9のS103−1)。中継装置200−1は、所定時間(存在確認待ちタイマのタイマ値)の間、存在確認応答を受信しないことを確認し(図9のS103−4のYes)、IPアドレスの重複なしと判定する(図9のS103−5)。
中継装置200−1は、ARP要求受信処理S102において、IPアドレスの重複がないことを確認し(図8のS102のNo)、ARP代理応答処理S106を行う。
中継装置200−1は、ARP代理応答処理S106において、生成したARP応答を通信装置100−3に送信し(S107、図10のS106−4)、自装置の有するルーティングテーブルを更新する(図10のS106−5)。
図14(A)は、中継装置200−1の更新されたルーティングテーブルの例を示す図である。中継装置200−1は、ARP要求の送信元である通信装置100−3のIPアドレス「192.168.1.10」と、ARP要求を受信した通信ポートである通信ポートA1とを対応づけて、ルーティングテーブルに記憶する。なお、「192.168.1.10」は、「192.168.1.10/32」と同義である。これにより、中継装置200−1は、宛先が通信装置100−3のIPアドレスであるパケットを受信すると、ルーティングテーブルに従い、受信したパケットを通信装置100−3が接続されている通信ポートA1に送信することができる。
なお、ルーティングテーブルの宛先ルート「192.168.1.0/24」も通信装置100−3のIPアドレスと一致するが、一致する桁数が2進数で24桁であり、32桁一致する「192.168.1.10」のI/Fが優先される。
図6のシーケンスに戻り、通信装置100−3は、ARP応答S107を受信し、中継装置200−1のMACアドレスを、IPアドレス「192.168.1.1」対応するMACアドレスとして記憶する。
中継装置200−1は、ARP要求受信処理S102において、アドレス広告処理S108を行う。中継装置200−1は、アドレス広告処理S108において、アドレス広告を中継装置200−2及び3に送信する(S109、S111、図13のS108−2)。
中継装置200−2,3は、アドレス広告を受信すると、アドレス広告受信処理を行う(S110)。アドレス広告受信処理は、アドレス広告に含まれるIPアドレスの通信装置が、アドレス広告の送信元の中継装置200の配下のネットワークに存在することを、自装置のルーティングテーブルに登録する処理である。
図14(B)は、中継装置200−2の更新されたルーティングテーブルの例を示す図である。中継装置200−2は、アドレス広告に含まれるIPアドレス「192.168.1.10」と、アドレス広告を受信した通信ポートである通信ポートB3とを対応づけて、ルーティングテーブルに記憶する。
図14(C)は、中継装置200−3の更新されたルーティングテーブルの例を示す図である。中継装置200−3は、アドレス広告に含まれるIPアドレス「192.168.1.10」と、アドレス広告を受信した通信ポートである通信ポートC2とを対応づけて、ルーティングテーブルに記憶する。これにより、中継装置200−2及び3は、ルーティングテーブルに従い、通信装置100−3が宛先であるパケットを、中継装置200−1に送信することができる。
図15は、通信装置100−3の移設時のメッセージの流れの例を示す図である。通信装置100−3は、移設されたネットワークNW1に接続されたとき、デフォルトゲートウェイである中継装置200−2宛てにARP要求を送信する(S1000)。中継装置200−1は、ARP要求を受信し、自装置のMACアドレスを含むARP応答を代理で送信する(S1001)。そして、中継装置200−1は、中継装置200−2,3に対して、自装置配下のネットワークNW1に通信装置100−3が存在することをアドレス広告で通知する(S1003、S1004)。これにより、固定IPアドレスの通信装置100−3は、移動後もIPアドレスを変更することなく、通信が可能となる。
<通信装置切断時の処理>
他ネットワークから移設された通信装置が、中継装置200の配下のネットワークから切断される場合の処理について説明する。
図16は、通信装置100−3がネットワークNW1から切断された場合のシーケンスの例を示す図である。通信装置100−3は、例えば、通信装置100−3のユーザにより、ネットワークNW1から切断される(S300)。
中継装置200−1は、通信装置100−3が自装置配下のネットワークNW1に接続されているか否かを確認する接続確認処理を行う(S301)。
図17は、接続確認処理S301の処理フローチャートの例を示す図である。接続確認処理S301は、例えば、エンドポイントテーブルに登録されている通信装置100が、接続中であるか否かを確認する処理である。また、接続確認処理S301は、エンドポインテーブルに登録されている通信装置100(又はIPアドレス)ごとに実行される。
中継装置200は、接続確認定期タイマが満了するのを待ち受ける(S301−1のNo)。接続確認定期タイマは、例えば、エンドポイントテーブルに登録されている通信装置100ごとに発行される。
中継装置200は、接続確認定期タイマが満了すると(S301−1のYes)、エンドポイントテーブルに登録されている、接続確認の対象となるIPアドレスに、接続確認を送信する(S301−2)。接続確認メッセージは、例えば、PINGにおけるエコーリクエスト(echo request)である。
中継装置200は、接続確認に対する応答である接続確認応答を待つ接続確認待ちタイマを起動する(S301−3)。接続確認応答は、例えば、PINGにおけるエコーリプライ(echo reply)である。
中継装置200は、接続確認応答を、接続確認待ちタイマが満了するまで待ち受ける(S301−4のNo、S301−5のNo)。中継装置200は、接続確認待ちタイマが満了すると(S301−5のYes)、切断通知処理を行い(S303)、処理を終了する。
図18は、切断通知処理S303の処理フローチャートの例を示す図である。切断通知処理S303は、自装置配下のネットワークに、自装置配下のネットワークに接続していた他のネットワークに属する通信装置100が、切断されたことを、他の中継装置200に通知する処理である。
中継装置200は、接続確認で切断されたことを確認した通信装置100(当該通信装置)のIPアドレスを含む切断通知を生成する(S303−1)。切断通知は、例えば、Open/Rなどのルーティングプロトコルで使用されるメッセージである。中継装置200は、生成した切断通知を、接続する他の中継装置200に送信する(S303−2)。
中継装置200は、ARPテーブルの当該通信装置の状態を通信失敗に更新する(S303−3)。そして、中継装置200は、当該通信装置を、エンドポイントテーブルから削除し(S303−4)、さらに、ルーティングテーブルから削除し(S303−5)、処理を終了する。
図19は、更新後のARPテーブルの例を示す図である。中継装置200−1は、接続確認において切断されたことを確認した通信装置100−3のIPアドレスに対応する状態を、通信失敗に更新する。
図17の処理フローチャートに戻り、中継装置200は、接続確認応答を受信すると(S301−4のYes)、接続確認定期タイマを起動し(S301−6)、接続確認定期タイマの満了待ちに戻る(S301−1)。このように、中継装置200は、切断されたことを確認するまで、通信装置100の接続状態を定期的に監視する。なお、接続確認定期タイマは、例えば、パケットの受信などによる当該通信装置の通信を確認したときに、停止、起動が行われてもよい。
図16のシーケンスに戻り、中継装置200−1は、接続確認処理S301において、通信装置100−3に接続確認を送信する(S302、図16のS301−2)。通信装置100−3は、ネットワークから切断されているため、接続応答を返すことはない。
中継装置200−1は、接続確認待ちタイマが満了すると(図16のS301−5)、切断通知処理を行う(S303)。
中継装置200−1は、切断通知処理S303において、中継装置200−2及び3に、通信装置100−3が自装置配下のネットワークNW1から切断されたことを通知する切断通知を送信する(S304、S305、図17のS303−2)。そして、中継装置200−1は、エンドポイントテーブル及びルーティングテーブルから、通信装置100−3に対応するIPアドレスを削除する(図17のS303−4及びS303−5)。中継装置200−1のルーティングテーブルは、例えば、図3(A)に示す状態となる。
中継装置200−2及び3は、切断通知を受信すると、切断通知受信処理を行う(S306)。中継装置200−2及び3は、切断された通信装置100−3に対応するIPアドレスを、ルーティングテーブルから削除する。中継装置200−2及び3のルーティングテーブルは、例えば、図3(B)及び図3(C)に示す状態となる。
これにより、中継装置200は、自装置配下のネットワークに接続された他のネットワークに属する通信装置100の接続を監視し、切断を検出するとルーティングテーブルから削除することで、ルーティングテーブルを最新の状態に更新することができる。
[その他実施の形態]
中継装置200は、冗長構成で複数の中継装置200で構成されてもよい。図20は、通信システム10の構成例を示す図である。図20の通信システム10は、さらに、中継装置200−11を有する。中継装置200−11は、中継装置200−1(マスター装置)が故障などにより適切に動作しなくなったとき代替で使用される予備装置(スタンバイ装置)である。中継装置200−11は、通信ポートA11、A12、A13を有する。中継装置200−1と中継装置200−11は、VIP(Virtual IP)で接続される(CN1)。
通信ポートA11〜A13は、それぞれ通信ポートA1〜A3と同じIPアドレス(仮想IPアドレス)を有する。これは、VIPにより中継装置200−1と中継装置200−11が接続されているためである。
通信ポートA11では、例えば、中継装置200−1の通信ポートA1が受信するパケットと、同様のパケットを受信する。ポイントSW1から通信ポートA1に送信されるパケットは、例えば、ポイントSW1で複製され、通信ポートA11に送信される。
通信ポートA11が通信ポートA1と同様のパケットを受信しない場合(ポイントSW1でパケットが複製されない場合)、中継装置200−1が中継装置200−11に対して、通信ポートA1で受信したパケットに関する情報を通知してもよい。
上記複製処理又は通知処理のいずれを全ての通信ポートに対して行うことで、中継装置200−11は、中継装置200−1で受信したパケットの内容を認識することができる。
また、中継装置200−1は、テーブルの更新内容を、中継装置200−11に通知してもよい。
中継装置200−11は、中継装置200−1と同等のテーブル(ルーティングテーブル、ARPテーブル、エンドポイントテーブル)を生成し、保有する。これにより、中継装置200−11は、中継装置200−1の故障時に、中継装置200−1に代替し、パケットの中継処理を行うことができる。
以上の実施の形態を含む実施形態に関し、更に以下の付記を開示する。
(付記1)
通信装置間で第1種アドレスと第2種アドレスを用いて通信を行う通信システムにおける、前記通信で送受信されるパケットを中継する中継装置であって、
記憶するルーティングテーブルに従い前記パケットを中継する中継部と、
第1の通信装置から第1種アドレスを使用して送信された、第2の通信装置の第2種アドレスを問い合わせるアドレス要求を受信する受信部と、
前記第2の通信装置の第1種アドレスが、自装置配下のネットワークのアドレスでない場合、自装置の第2種アドレスと前記第2の通信装置の第1種アドレスとを送信元とする前記アドレス要求に対する応答であるアドレス応答を、前記第1の通信装置に送信し、前記第1の通信装置が自装置配下のネットワークに存在することを前記ルーティングテーブルに記憶する制御部と、
前記制御部が前記アドレス応答を送信する場合、前記第1の通信装置が自装置配下のネットワークに存在することを、接続する他の中継装置に通知する広告部と、
を有する中継装置。
(付記2)
前記制御部は、前記第1の通信装置の第1種アドレスが、他に存在するか否かを確認するアドレス重複確認を行い、前記アドレス重複確認において、前記第1の通信装置の第1種アドレスが他に存在しないと判定した場合、前記アドレス応答を送信する
付記1記載の中継装置。
(付記3)
前記制御部は、前記第1の通信装置が自装置配下のネットワークに存在しないことを検出した場合、前記ルーティングテーブルから前記第1の通信装置に関する情報を削除する
付記1記載の中継装置。
(付記4)
前記制御部は、前記第1の通信装置が自装置配下のネットワークに存在するか否かの存在確認を、定期的に行う
付記3記載の中継装置。
(付記5)
前記広告部は、前記制御部が前記第1の通信装置が自装置配下のネットワークに存在しないことを検出した場合、前記第1の通信装置が自装置配下のネットワークに存在しないことを、前記他の中継装置に通知する
付記3記載の中継装置。
(付記6)
前記第1種アドレスは、IP(Internet Protocol)アドレスを含み、前記第2種アドレスは、MAC(Media Access Control)アドレスを含む
付記1記載の中継装置。
(付記7)
前記アドレス要求は、ARP(Address Resolution Protocol)におけるARPリクエストを含み、前記アドレス応答は、前記ARPにおけるARPリプライを含む
付記6記載の中継装置。
(付記8)
通信装置間で第1種アドレスと第2種アドレスを用いて通信を行う通信システムであって、前記通信を行う第1の通信装置と第2の通信装置と、前記通信で送受信されるパケットを中継する中継装置とを有し、
前記第1の通信装置は、前記第2の通信装置の第2種アドレスを問い合わせるアドレス要求を、前記中継装置に送信し、
前記中継装置は、前記アドレス要求を受信し、前記第2の通信装置の第1種アドレスが、前記中継装置配下のネットワークのアドレスでない場合、前記中継装置の第2種アドレスと前記第2の通信装置の第1種アドレスとを送信元とする前記アドレス要求に対する応答であるアドレス応答を、前記第1の通信装置に送信し、前記第1の通信装置が前記中継装置配下のネットワークに存在することをルーティングテーブルに記憶し、前記第1の通信装置が前記中継装置配下のネットワークに存在することを、接続する他の中継装置に通知し、
前記第1の通信装置は、前記アドレス応答を受信し、前記アドレス応答の送信元に含まれる前記中継装置の第2種アドレスを、前記第2の通信装置の第2種アドレスとして記憶し、
前記他の中継装置は、前記通知を受信し、前記第1の通信装置が前記中継装置配下のネットワークに存在することを、前記他の中継装置が有するルーティングテーブルに記憶し、
前記中継装置及び前記他の中継装置は、自装置が有するルーティングテーブルに従い、前記パケットを中継する
通信システム。
(付記9)
通信装置間で第1種アドレスと第2種アドレスを用いて通信を行う通信システムにおける、前記通信で送受信されるパケットを中継する中継装置における中継方法であって、
第1の通信装置から第1種アドレスを使用して送信された、第2の通信装置の第2種アドレスを問い合わせるアドレス要求を受信し、
前記第2の通信装置の第1種アドレスが、自装置配下のネットワークのアドレスでない場合、自装置の第2種アドレスと前記第2の通信装置の第1種アドレスとを送信元とする前記アドレス要求に対する応答であるアドレス応答を、前記第1の通信装置に送信し、前記第1の通信装置が自装置配下のネットワークに存在することをルーティングテーブルに記憶し、前記第1の通信装置が自装置配下のネットワークに存在することを、接続する他の中継装置に通知し、
前記ルーティングテーブルに従い、前記パケットの中継を行う
中継方法。
(付記10)
通信装置間で第1種アドレスと第2種アドレスを用いて通信を行う通信システムにおける、前記通信で送受信されるパケットを中継する中継装置における中継プログラムであって、
第1の通信装置から第1種アドレスを使用して送信された、第2の通信装置の第2種アドレスを問い合わせるアドレス要求を受信し、
前記受信したアドレス要求に含まれる前記第2の通信装置の第1種アドレスが、自装置配下のネットワークのアドレスでない場合、自装置の第2種アドレスと前記第2の通信装置の第1種アドレスとを送信元とする前記アドレス要求に対する応答であるアドレス応答を、前記第1の通信装置に送信し、前記第1の通信装置が自装置配下のネットワークに存在することを、ルーティングテーブルに記憶し、前記第1の通信装置が自装置配下のネットワークに存在することを、接続する他の中継装置に通知し、
前記ルーティングテーブルに従い、前記パケットの中継を行う、
処理をコンピュータに実行させる中継プログラム。
10 :通信システム
100 :通信装置
200 :中継装置
210 :CPU
220 :ストレージ
221 :パケット中継プログラム
222 :ARPプログラム
223 :ARP要求受信プログラム
230 :メモリ
2231 :アドレス重複確認モジュール
2232 :ARP代理応答モジュール
2233 :アドレス広告モジュール
A1 :通信ポート
A2 :通信ポート
A3 :通信ポート
B1 :通信ポート
B2 :通信ポート
B3 :通信ポート
C1 :通信ポート
C2 :通信ポート
C3 :通信ポート
A11 :通信ポート
A12 :通信ポート
A13 :通信ポート
NW1 :ネットワーク
NW2 :ネットワーク
NW3 :ネットワーク

Claims (9)

  1. 通信装置間で第1種アドレスと第2種アドレスを用いて通信を行う通信システムにおける、前記通信で送受信されるパケットを中継する中継装置であって、
    記憶するルーティングテーブルに従い前記パケットを中継する中継部と、
    第1の通信装置から第1種アドレスを使用して送信された、第2の通信装置の第2種アドレスを問い合わせるアドレス要求を受信する受信部と、
    前記第2の通信装置の第1種アドレスが、自装置配下のネットワークのアドレスでない場合、自装置の第2種アドレスと前記第2の通信装置の第1種アドレスとを送信元とする前記アドレス要求に対する応答であるアドレス応答を、前記第1の通信装置に送信し、前記第1の通信装置が自装置配下のネットワークに存在することを前記ルーティングテーブルに記憶する制御部と、
    前記制御部が前記アドレス応答を送信する場合、前記第1の通信装置が自装置配下のネットワークに存在することを、接続する他の中継装置に通知する広告部と、
    を有する中継装置。
  2. 前記制御部は、前記第1の通信装置の第1種アドレスが、他に存在するか否かを確認するアドレス重複確認を行い、前記アドレス重複確認において、前記第1の通信装置の第1種アドレスが他に存在しないと判定した場合、前記アドレス応答を送信する
    請求項1記載の中継装置。
  3. 前記制御部は、前記第1の通信装置が自装置配下のネットワークに存在しないことを検出した場合、前記ルーティングテーブルから前記第1の通信装置に関する情報を削除する
    請求項1記載の中継装置。
  4. 前記制御部は、前記第1の通信装置が自装置配下のネットワークに存在するか否かの存在確認を、定期的に行う
    請求項3記載の中継装置。
  5. 前記広告部は、前記制御部が前記第1の通信装置が自装置配下のネットワークに存在しないことを検出した場合、前記第1の通信装置が自装置配下のネットワークに存在しないことを、前記他の中継装置に通知する
    請求項3記載の中継装置。
  6. 前記第1種アドレスは、IP(Internet Protocol)アドレスを含み、前記第2種アドレスは、MAC(Media Access Control)アドレスを含む
    請求項1記載の中継装置。
  7. 通信装置間で第1種アドレスと第2種アドレスを用いて通信を行う通信システムであって、前記通信を行う第1の通信装置と第2の通信装置と、前記通信で送受信されるパケットを中継する中継装置とを有し、
    前記第1の通信装置は、前記第2の通信装置の第2種アドレスを問い合わせるアドレス要求を、前記中継装置に送信し、
    前記中継装置は、前記アドレス要求を受信し、前記第2の通信装置の第1種アドレスが、前記中継装置配下のネットワークのアドレスでない場合、前記中継装置の第2種アドレスと前記第2の通信装置の第1種アドレスとを送信元とする前記アドレス要求に対する応答であるアドレス応答を、前記第1の通信装置に送信し、前記第1の通信装置が前記中継装置配下のネットワークに存在することをルーティングテーブルに記憶し、前記第1の通信装置が前記中継装置配下のネットワークに存在することを、接続する他の中継装置に通知し、
    前記第1の通信装置は、前記アドレス応答を受信し、前記アドレス応答の送信元に含まれる前記中継装置の第2種アドレスを、前記第2の通信装置の第2種アドレスとして記憶し、
    前記他の中継装置は、前記通知を受信し、前記第1の通信装置が前記中継装置配下のネットワークに存在することを、前記他の中継装置が有するルーティングテーブルに記憶し、
    前記中継装置及び前記他の中継装置は、自装置が有するルーティングテーブルに従い、前記パケットを中継する
    通信システム。
  8. 通信装置間で第1種アドレスと第2種アドレスを用いて通信を行う通信システムにおける、前記通信で送受信されるパケットを中継する中継装置における中継方法であって、
    第1の通信装置から第1種アドレスを使用して送信された、第2の通信装置の第2種アドレスを問い合わせるアドレス要求を受信し、
    前記第2の通信装置の第1種アドレスが、自装置配下のネットワークのアドレスでない場合、自装置の第2種アドレスと前記第2の通信装置の第1種アドレスとを送信元とする前記アドレス要求に対する応答であるアドレス応答を、前記第1の通信装置に送信し、前記第1の通信装置が自装置配下のネットワークに存在することをルーティングテーブルに記憶し、前記第1の通信装置が自装置配下のネットワークに存在することを、接続する他の中継装置に通知し、
    前記ルーティングテーブルに従い、前記パケットの中継を行う
    中継方法。
  9. 通信装置間で第1種アドレスと第2種アドレスを用いて通信を行う通信システムにおける、前記通信で送受信されるパケットを中継する中継装置における中継プログラムであって、
    第1の通信装置から第1種アドレスを使用して送信された、第2の通信装置の第2種アドレスを問い合わせるアドレス要求を受信し、
    前記受信したアドレス要求に含まれる前記第2の通信装置の第1種アドレスが、自装置配下のネットワークのアドレスでない場合、自装置の第2種アドレスと前記第2の通信装置の第1種アドレスとを送信元とする前記アドレス要求に対する応答であるアドレス応答を、前記第1の通信装置に送信し、前記第1の通信装置が自装置配下のネットワークに存在することを、ルーティングテーブルに記憶し、前記第1の通信装置が自装置配下のネットワークに存在することを、接続する他の中継装置に通知し、
    前記ルーティングテーブルに従い、前記パケットの中継を行う、
    処理をコンピュータに実行させる中継プログラム。
JP2018210177A 2018-11-08 2018-11-08 中継装置、通信システム、中継方法、及び中継プログラム Pending JP2020077979A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018210177A JP2020077979A (ja) 2018-11-08 2018-11-08 中継装置、通信システム、中継方法、及び中継プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018210177A JP2020077979A (ja) 2018-11-08 2018-11-08 中継装置、通信システム、中継方法、及び中継プログラム

Publications (1)

Publication Number Publication Date
JP2020077979A true JP2020077979A (ja) 2020-05-21

Family

ID=70725181

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018210177A Pending JP2020077979A (ja) 2018-11-08 2018-11-08 中継装置、通信システム、中継方法、及び中継プログラム

Country Status (1)

Country Link
JP (1) JP2020077979A (ja)

Similar Documents

Publication Publication Date Title
US7486670B2 (en) Method for packet communication and computer program stored on computer readable medium
US7526569B2 (en) Router and address identification information management server
KR100568229B1 (ko) 애드혹 네트워크상에서 동적으로 arp 캐시 테이블을갱신하는 방법 및 시스템
US7328009B2 (en) Method and apparatus for mobile communication utilizing load balancing
CA2419114C (en) Enabling seamless user mobility in a short-range wireless networking environment
JP3185762B2 (ja) ネットワークアドレス設定方式
US7979582B2 (en) Communication device provided with ARP function
KR100703488B1 (ko) 라우터 이중화 시스템에서 백업 라우터의 상태 천이 방법및 장치
KR100538223B1 (ko) 모바일 노드와 대응 노드간 접속 시 터널링 제거 시스템및 방법
JP2005072685A (ja) ルータ装置及びその装置における経路情報の配布方法並びに通信システム
JP2006033541A (ja) 移動端末装置、サーバ、および通信システム
WO2006068747A2 (en) Distributed domain name service
US20050185625A1 (en) Address dynamic assignment system, relay apparatus, address management apparatus, location manager and address dynamic assignment method
WO2017159645A1 (ja) ネットワークアドレス変換装置、設定要求装置、通信システム、通信方法およびプログラムが記憶された記憶媒体
JP5039975B2 (ja) ゲートウェイ装置
US7362742B1 (en) Methods and apparatus for synchronizing subnet mapping tables
JP2020077979A (ja) 中継装置、通信システム、中継方法、及び中継プログラム
US20110182298A1 (en) Communication apparatus, medium and communication method
JP2001117899A (ja) マルチサーバシステム
JP2018061148A (ja) 通信装置、中継装置、通信システム、及び通信方法
JP2003309596A (ja) モバイル通信網システム、外部エージェントルータ、アドレスサーバ及びそれらに用いるパケット配送方法
KR101997559B1 (ko) 네트워크 개체 불능에 대비한 부분 분산 이동성 제어 구조의 안정적 서비스 제공 방법
US20070008970A1 (en) Packet data router apparatus and method
US6671264B1 (en) Method for detecting invalid packets by assigning super-transaction identifiers
JP3928443B2 (ja) 移動体通信システム