実施の形態1.
図1は、本発明の実施の形態1に係るパケット中継システムの概略構成図である。
図1において、IP(Internet Protocol)ネットワークを構築するバックボーンネットワーク101とサブネット102間は、パケット中継装置200とパケット中継装置220とで冗長に接続され、パケット中継装置200とパケット中継装置220とを介して通信する。なお、本実施の形態1では、説明の便宜上、バックボーンネットワーク101に一つのサブネット102が接続されているが、これに限らずサブネット102が複数接続されていてもよい。
バックボーンネットワーク101内には、ルータ111と、ルータ111に接続されるルータ112およびルータ111に接続される端末装置113が存在する。ルータ111、ルータ112および端末装置113は、それぞれ回線126を介して接続される。バックボーンネットワーク101内で、パケット中継装置200は、ルータ111に回線126を介して接続され、またパケット中継装置220は、ルータ112に回線126を介して接続される。
ルータは、ネットワークの中継機器の一つで、OSI(Open Systems Interconnection)参照モデルのネットワーク層である第三層のデータでパケットの宛先を判断して転送を行う機器である。なお、ルータの代わりに例えばレイヤ3スイッチを用いても良い。
サブネット102内にはレイヤ2スイッチ121と、レイヤ2スイッチ121に接続されるレイヤ2スイッチ122と、レイヤ2スイッチ122に接続されるレイヤ2スイッチ123と、レイヤ2スイッチ121に接続される端末装置124およびレイヤ2スイッチ123に接続される端末装置125が存在する。レイヤ2スイッチ121、122、123および端末装置124、125は、それぞれ回線126を介して接続される。また、サブネット102内でパケット中継装置200は、レイヤ2スイッチ121に回線126を介して接続され、またパケット中継装置220は、回線126を介してレイヤ2スイッチ123に接続される。
レイヤ2スイッチは、ネットワークの中継機器の一つで、OSI参照モデルのデータリンク層である第二層のデータでパケットの宛先を判断して転送を行う機器である。
ここで、パケット中継装置200とパケット中継装置220とは、例えばRFC2338で定義されるVRRP(Virtual Router Redusancy Protocol)のプロトコルを使用して冗長化させている。パケット中継装置200がVRRPの現用ルータであり、パケット中継装置220がVRRPの待機ルータであるとする。すなわち、サブネット102が分断していない状態では、例えば端末装置113から端末装置124および端末装置125宛てのパケットはパケット中継装置200を経由して中継される。
また、パケット中継装置200と、パケット中継装置220と、ルータ111およびルータ112は、ルーティングプロトコルとしてRFC(Request for Comments)2328で規定されるOSPF(Open Shortest Path First)を設定し、最短経路を算出済みであるとする。また、サブネット102のルート広告はパケット中継装置200が行うものとする。なお、OSPFの代わりにRIP(Routing Information Protocol)またはEIGRP(Enhanced Interior Gateway Routing Protocol)等でもよい。
図2は、本発明の実施の形態1に係るパケット中継装置200の機能ブロック図である。なお、パケット中継装置200とパケット中継装置220とは、同様の機能ブロック図である。
パケット中継装置200は、バックボーンネットワーク101とパケットを送受信するパケット送受信部210と、サブネット102とパケットを送受信するサブネット送受信部211と、サブネット102内でパケット中継装置220との通信の分断を検知する検知部212と、サブネット102内でパケット中継装置200と通信可能な端末装置のアドレス情報を探索する探索部213と、探索部213で探索した通信可能な端末装置のアドレス情報を保存するテーブル214と、受信したパケットに基づき処理を行うパケット中継制御装置300とを備える。
検知部212は、例えば、ICMP(Internet Control Message Protocol)を使用し、サブネット102内でパケット中継装置220との通信の分断を検知する。検知部212は、Echo Requestパケットをサブネット102経由でパケット中継装置220へ例えば1秒おきに定期的に送信し続けており、パケット中継装置220からEcho Replyパケットを応答として受信する。この応答が受信できなくなった場合、サブネット102が分断したものとして判断する。検知部212は、サブネット102の状態が分断あるいは未分断どちらであるかの判断結果を保存する。なお、例えば1秒おきに定期的に送信としたが、0.1秒おき、1分おきあるいはパケット中継制御装置300の後述する受信パケット処理部302aから分断の有無の問い合わせをトリガーとして検知等してもよい。
また、ICMPの代わりに、ARP(Address Resolution Protocol)のプロトコル機構の問い合わせおよび応答で判断してもよい。また、OSPF Helloパケット、VRRP Helloパケットにおいて、定期的に送信されるパケットを受信したかどうかで判断してもよい。あるいは、TCP(Transmission Control Protocol)、UDP(User Datagram Protocol)を用いた独自のプロトコル機構で問い合わせおよび応答のパケットを作成して判断する、あるいは定期的に送信されるパケットを作成し、作成した定期的に送信されるパケットを受信したかどうかで判断してもよい。
探索部213は、例えば、ARP Requestパケットを使用し、サブネット102内でパケット中継装置200と通信可能な端末装置のアドレス情報を探索する。探索部213は、サブネット102内のIPアドレス情報空間上に存在しうるすべての宛先IPアドレス情報に対しARP Requestパケットを送信する。探索部213は、ARP Replyパケットを受信した場合、ARP Requestパケットの宛先とした端末装置はサブネット102内でパケット中継装置200と通信可能な端末装置と判断し、ARP Replyパケットに格納されているIPアドレス情報とMAC(Media Access Control)アドレス情報とをARPテーブルとしてテーブル214に保存する。
探索部213は、例えばサブネット102の分断をトリガーとしてARP Requestパケットを送信し、図3に示すようにテーブル214のARPテーブルを更新する。なお、例えばサブネット102の分断をトリガーとしてARP Requestパケットを送信するとしたが、1分おき、10分おき等定期的に送信してもよい。その場合、サブネット102が分断しているかの情報あるいは時間情報を紐づけてテーブル214に保存する。
図3は、本発明の実施の形態1に係るテーブル214に保存されているARPテーブルの一例を示した図であり、(a)は、サブネット102分断前のARPテーブル401を示した図、(b)は、サブネット102分断後のARPテーブル402を示した図である。ARPテーブル401およびARPテーブル402は、図3に示すように、IPアドレス情報およびIPアドレス情報に対応したMACアドレス情報を保存したテーブルである。例えば、パケット中継装置200において、サブネット102が分断していない場合、パケット中継装置200は端末装置124および端末装置125と通信可能なため、テーブル214は図3(a)に示すように端末装置124および端末装置125のIPアドレス情報およびMACアドレス情報を保存している。ここで、端末装置124のIPアドレス情報を124a、MACアドレス情報を124A、端末装置125のIPアドレス情報を125a、MACアドレス情報を125Aとする。
次に、パケット中継装置200において、レイヤ2スイッチ122の故障により、サブネット102が分断している場合、パケット中継装置200は端末装置124と通信可能なため、テーブル214は図3(b)に示すように端末装置124のIPアドレス情報およびMACアドレス情報を保存している。パケット中継装置200は端末装置125と通信不可能なため、端末装置125からARP Replyパケットを受信できず、端末装置125のIPアドレス情報およびMACアドレス情報は登録できない。
パケット中継制御装置300は、パケット送受信部210で受信したパケットを処理する受信パケット処理部302aと、ホストルートを広告するホストルート広告部301とを備える。
受信パケット処理部302aは、受信したパケットに基づきバックボーンネットワーク101内に存在する例えば端末装置113からサブネット102内に存在する例えば端末装置124あるいは端末装置125へ送信するパケットである伝達パケットの中継の判断、ホストルートの広告の通知の判断、パケット中継装置220に送信するホストルートの広告を指示するパケットである指示パケット403aを生成し送信する判断を行う。
図4は、本発明の実施の形態1に係る指示パケット403aのIPデータグラムの一例を示した図である。指示パケット403aのIPデータグラムは、図4に示すように、IPヘッダ501およびデータ部502から構成される。IPヘッダはRFC791の規格に則ったヘッダであり、送信元IPアドレス情報503および宛先IPアドレス情報504等が格納される。データ部502は、宛先の端末装置のIPアドレス情報505a等の送信したいデータが格納される。なお、図中「〜」については、送受信に関するデータや送受信したいデータ等が格納されてもよい。ここで、例えば、サブネット102内のレイヤ2スイッチ122の故障により、サブネット102が分断している場合で、バックボーンネットワーク101内に存在する端末装置113からサブネット102内に存在する端末装置125に対して伝達パケットが送信され、パケット中継装置200からパケット中継装置220に指示パケット403aを送信する場合を考える。パケット中継装置200の受信パケット処理部302aにより生成される指示パケット403aは、図4の送信元IPアドレス情報503にパケット中継装置200のパケット送信部210にあたる入出力ポートに付与されたIPアドレス情報200a、宛先IPアドレス情報504にパケット中継装置220のパケット送信部210にあたる入出力ポートに付与されたIPアドレス情報220aがそれぞれ格納される。また、宛先の端末装置のIPアドレス情報505aに端末装置125のIPアドレス情報125aが格納される。指示パケット403aは、例えばパケット中継装置200のパケット送受信部210にあたる入出力ポートから、バックボーンネットワーク101を介しパケット中継装置220のパケット送受信部210にあたる入出力ポートへ送信される。なお、指示パケット403aの宛先IPアドレス情報504に格納するIPアドレス情報220aは予め設定しておく。
ホストルート広告部301は、ホストルートを広告するパケットである図5に示すようなホストルート広告パケット404を生成し、ホストルート広告パケット404をパケット送受信部210を介してバックボーンネットワーク101へ送信することでホストルートを広告する。ここで、ホストルート広告パケット404は、バックボーンネットワーク101のホストルート構築に使用しているルーティングプロトコルのフォーマットに依存したパケットとなる。実施の形態1の例では、ルーティングプロトコルOSPFを使用しているため、RFC2328に準拠したLSA(Link State Advertisement)パケットによりホストルートを広告する。
図5は、本発明の実施の形態1に係るホストルート広告パケットのIPデータグラムの一例を示した図である。図5は、パケット中継装置220のホストルート広告部301からルータ112へ送信されるホストルート広告パケット404のIPデータグラムの一例を示す図である。ホストルート広告パケット404のIPデータグラムは、図5に示すように、IPヘッダ501およびデータ部502から構成される。図中「〜」については、送受信に関するデータや送受信したいデータ等が格納されてもよい。ここで、例えば、サブネット102内のレイヤ2スイッチ122の故障により、サブネット102が分断している場合で、バックボーンネットワーク101内に存在する端末装置113からサブネット102内に存在する端末装置125に対して伝達パケットが送信され、パケット中継装置200からパケット中継装置220に指示パケット403aが送信され、パケット中継装置220がホストルート広告パケット404でバックボーンネットワーク101内に存在するOSPFが動作するルータ111、ルータ112およびパケット中継装置200に端末装置125のホストルートを広告する場合を考える。まず、パケット中継装置220のホストルート広告部301により生成されるホストルート広告パケット404は、図5の送信元IPアドレス情報503にパケット中継装置220のパケット送信部210にあたる入出力ポートに付与されたIPアドレス情報220a、宛先IPアドレス情報504にRFC2328で予め定められたOSPFのマルチキャストアドレス情報、データ部502にルーティングプロトコルの情報505bが格納される。また、ルーティングプロトコルの情報505bに端末装置125のホストルートを算出するための情報が格納される。このようにして、ホストルート広告パケット404を作成し、パケット中継装置220からルータ112にホストルート広告パケット404を送信する。
ここで、ルータ112は受信したホストルート広告パケット404をもとに、隣接するOSPF動作ルータであるルータ111へホストルート広告パケットを生成して端末125のホストルートを算出するための情報を送信する。同様にして、ルータ111は、ホストルート広告パケット404をパケット中継装置200へ送信する。そしてルータ111、ルータ112およびパケット中継装置200は隣接するルータから得た情報をもとに、端末125のホストルートを算出する。
図6は、本発明の実施の形態1に係るパケット中継装置200のハードウェア構成図である。なお、パケット中継装置200とパケット中継装置220とは、同様のハードウェア構成図である。
図6において、パケット中継装置200はコンピュータで構成される。パケット中継装置200を構成するコンピュータは、バス205、ARPテーブルを記憶する主記憶装置204、プログラムを記憶する外部記憶装置202、主記憶装置204にロードした外部記憶装置202のプログラムを読み込み実行するプロセッサ201、伝達パケット、指示パケット403aおよびホストルート広告パケット404を送受信する通信インターフェース203、といったハードウェアを備える。
バス205は、各装置間を電気的に接続し、情報のやり取りを行う信号経路である。
主記憶装置204は、外部記憶装置202に記憶したプログラムをロードするワークエリアとして機能する。主記憶装置204は、例えば、RAM(Random Access Memory)である。また、主記憶装置204は、ARPテーブルに格納されるIPアドレス情報およびMACアドレス情報を記憶する。テーブル214は、主記憶装置204によって実現する。
外部記憶装置202は、探索や分断検知等のプログラムを記憶する。外部記憶装置202は、例えば、ROM(Read Only Memory)、フラッシュメモリ、又は、HDD(Hard Disk Drive)である。外部記憶装置202は、OS(Operating System)も記憶する。
プロセッサ201は、バス205を介して他の装置と接続し、これら他の装置を制御する。プロセッサ201は、主記憶装置204にロードした外部記憶装置202のプログラムを読み込み、実行する。プロセッサ201は、外部記憶装置202に記憶したOSの少なくとも一部を主記憶装置204にロードし、OSを実行しながら、プログラムを実行する。プロセッサ201は、プロセッシングを行うIC(Integrated Circuit)である。プロセッサ201は、例えば、CPU(Central Processing Unit)である。検知部212、探索部213、ホストルート広告部301および受信パケット処理部302aは、プロセッサ201が主記憶装置204にロードした外部記憶装置202のプログラムを読み込み、実行することにより実現する。
パケット送受信部210およびサブネット送受信部211は、通信インターフェース203によって実現する。
なお、各装置の結果を示す情報、データ、信号値、変数値等を、主記憶装置204、外部記憶装置202、又は、プロセッサ201内のレジスタ又はキャッシュメモリに記憶する。
また、プログラムを、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、DVD(Digital Versatile Disc)といった可搬記録媒体に記憶してもよい。
次に、本発明の実施の形態1に係るパケット中継装置200の動作について説明する。
図7は本発明の実施の形態1に係る受信パケット処理部302aの動作を示すフローチャートである。図7を用いて、受信パケット処理部302aの動作を以下に説明する。
ステップS101において、受信パケット処理部302aは、パケット送受信部210がバックボーンネットワーク101から受信したパケットを受信する。受信パケット処理部302aは、パケットの宛先IPアドレス情報に基づき受信したパケットが伝達パケットか指示パケット403aかを判断する。
具体的には、例えば、バックボーンネットワーク101内の端末装置113からサブネット102内の端末装置124あるいは端末装置125に伝達パケットを送信した場合、受信したパケットの宛先IPアドレス情報は端末装置124あるいは端末装置125のIPアドレス情報が格納されている。一方、パケット中継装置220からパケット中継装置200に図4に示す指示パケット403aを送信した場合、受信したパケットの宛先IPアドレス情報504はパケット中継装置200のパケット送信部210にあたる入出力ポートに付与されたIPアドレス情報200aが格納されている。受信パケット処理部302aは、受信したパケットの宛先IPアドレス情報504がパケット中継装置200のIPアドレス情報200aの場合、指示パケット403aと判断し、ステップS101:Yesとなる。受信パケット処理部302aは、受信したパケットの宛先IPアドレス情報がパケット中継装置200のIPアドレス情報200a以外の場合、伝達パケットと判断し、ステップS101:Noとなる。
なお、受信パケット処理部302aは、パケットの宛先IPアドレス情報に基づき受信したパケットが伝達パケットか指示パケット403aかを判断したが、データ部に格納した情報から判断してもよい。
ステップS102において、受信パケット処理部302aは、ホストルート広告部301に受信した指示パケット403aを送信し、バックボーンネットワーク101にホストルートを広告することを通知する。ホストルート広告部301の処理については、後述する。
一方、ステップS103において、受信パケット処理部302aは、検知部212からサブネット102内でパケット中継装置220との通信の分断の有無の情報を取得する。検知部212が、サブネット102内でパケット中継装置220との通信の分断を検知する処理については、後述する。受信パケット処理部302aは、検知部212からサブネット102内でパケット中継装置220との通信が分断しているという情報を取得した場合、ステップS103:Yesとなる。受信パケット処理部302aは、検知部212からサブネット102内でパケット中継装置220との通信が分断していないという情報を取得した場合、伝達パケットの宛先IPアドレス情報をもつ端末装置と通信可能と判断し、ステップS103:Noとなる。
ステップS104において、受信パケット処理部302aは、受信した伝達パケットをサブネット送受信部211を介してサブネット102に送信する。なお、サブネット102へ送信する場合、伝達パケットの宛先MACアドレス情報として指定する伝達パケットの宛先IPアドレス情報をもつ端末装置のMACアドレス情報は図3(a)に示すARPテーブル401により取得するものとする。
ここで、ステップS104になる場合とは、例えば、図1において、サブネット102が分断していない場合で、端末装置113が端末装置124あるいは端末装置125に対して伝達パケットを送信する場合である。端末装置113が送信した端末装置124宛あるいは端末装置125宛の伝達パケットは、ルータ111が受信する。ルータ111には、パケット中継装置200から広告されたサブネット102宛の経路が格納されているため、ルータ111は受信した伝達パケットをパケット中継装置200へ中継する。パケット中継装置200は、パケット送受信部210にて伝達パケットを受信し、パケット送受信部210は伝達パケットを受信パケット処理部302aへ送る。受信パケット処理部302aは、サブネット102が分断していない状態であるため、受信した伝達パケットをサブネット送受信部211を介してサブネット102へ送信し、伝達パケットを宛先の端末装置124あるいは端末装置125に送信する。なお、サブネット102へ送信する場合、伝達パケットの宛先MACアドレス情報として指定する端末装置124あるいは端末装置125のMACアドレス情報は図3(a)に示すARPテーブル401により取得するものとする。
一方、ステップS105において、受信パケット処理部302aは、テーブル214からサブネット102内でパケット中継装置200と通信可能な端末装置のアドレス情報を取得し、伝達パケットの宛先IPアドレス情報をもつ端末装置と通信可能か否かを判断する。
具体的には、受信パケット処理部302aは、テーブル214からサブネット102内でパケット中継装置200と通信可能な端末装置のアドレス情報の図3(b)に示すようなARPテーブル402を取得し、その中に伝達パケットの宛先IPアドレス情報と一致するIPアドレス情報が存在するか判断する。受信パケット処理部302aは、伝達パケットの宛先IPアドレス情報と一致するIPアドレス情報が存在する場合、伝達パケットの宛先IPアドレス情報をもつ端末装置と通信可能と判断し、ステップS105:Yesとなる。受信パケット処理部302aは、伝達パケットの宛先IPアドレス情報と一致するIPアドレス情報が存在しない場合、伝達パケットの宛先IPアドレス情報をもつ端末装置と通信不可能と判断し、ステップS105:Noとなる。探索部213が、サブネット102内でパケット中継装置200と通信可能な端末装置のアドレス情報を探索する処理については、後述する。
ステップS106において、受信パケット処理部302aは、ステップS104と同様に、受信した伝達パケットをサブネット送受信部211を介してサブネット102に送信する。なお、サブネット102へ送信する場合、伝達パケットの宛先MACアドレス情報として指定する伝達パケットの宛先IPアドレス情報をもつ端末装置のMACアドレス情報は図3(b)に示すARPテーブル402により取得するものとする。
ここで、ステップS106になる場合とは、例えば、図1において、レイヤ2スイッチ122の故障により、サブネット102が分断している場合で、端末装置113が端末装置124に対して伝達パケットを送信する場合である。端末装置113が送信した端末装置124宛の伝達パケットは、ステップS104のサブネット102が分断していない場合と同様に、パケット中継装置200のパケット送受信部210で受信され、パケット送受信部210は伝達パケットを受信パケット処理部302aへ送る。検知部212は、サブネット102の分断をパケット中継装置200および220それぞれで検知し、探索部213へ通知する。探索部213は、検知部212の分断の通知をトリガーとしてサブネット102内でパケット中継装置200と通信可能な端末装置のアドレス情報を探索し、テーブル214に保存する。受信パケット処理部302aは、テーブル214から保存されている通信可能な端末装置のアドレス情報の図3(b)に示すようなARPテーブル402を取得し、その中に伝達パケットの宛先IPアドレス情報と一致するIPアドレス情報が存在すると判断する。受信パケット処理部302aは、受信した伝達パケットをサブネット送受信部211を介してサブネット102へ送信し、伝達パケットを宛先の端末装置124に送信する。
一方、ステップS107において、受信パケット処理部302aは、図4に示すようなパケット中継装置220にホストルートを広告するように指示するための指示パケット403aを生成する。
ステップS108において、受信パケット処理部302aは、生成した指示パケット403aをパケット送受信部210に送信し、バックボーンネットワーク101を介してパケット中継装置220に指示パケット403aを送信する。パケット中継装置220は、指示パケット403aを受信した場合、ステップS102を実行する。
ここで、ステップS108になる場合とは、例えば、図1において、レイヤ2スイッチ122の故障により、サブネット102が分断している場合で、端末装置113が端末装置125に対して伝達パケットを送信する場合である。端末装置113が送信した端末装置125宛の伝達パケットは、ステップS104のサブネット102が分断していない場合と同様に、パケット中継装置200のパケット送受信部210で受信され、パケット送受信部210は伝達パケットを受信パケット処理部302aへ送る。検知部212と探索部213とは、ステップS106と同様に分断の検知および通信可能な端末装置のアドレス情報を探索し、探索結果をテーブル214に保存する。受信パケット処理部302aは、テーブル214から保存されている通信可能な端末装置のアドレス情報の図3(b)に示すようなARPテーブル402を取得し、その中に伝達パケットの宛先IPアドレス情報と一致するIPアドレス情報が存在しないと判断する。受信パケット処理部302aは、パケット中継装置220にホストルートを広告してもらうため図4に示すような指示パケット403aを生成し、パケット送受信部210とバックボーンネットワーク101とを介してパケット中継装置220に指示パケット403aを送信する。パケット中継装置220は、ステップS102を実行し、バックボーンネットワーク101にホストルートを広告する。
図8は、本発明の実施の形態1に係る検知部212の動作を示すフローチャートである。図8を用いて、検知部212の動作を以下に説明する。
ステップS201において、検知部212は、ICMPを使用し、1秒おきにEcho Requestパケットをサブネット送受信部211を介して、サブネット102経由でパケット中継装置220に送信する。
ステップS202において、検知部212は、例えば1秒以内にパケット中継装置220からEcho Replyパケットを応答としてサブネット送受信部211を介して受信したかを確認する。検知部212は、1秒以内にパケット中継装置220からEcho Replyパケットを応答として受信した場合、ステップS202:Yesとなる。検知部212は、1秒以内にパケット中継装置220からEcho Replyパケットを応答として受信しなかった場合、ステップS202:Noとなる。なお、例えば1秒以内に応答を受信したかどうかとしたが、一定時間であれば、0.1秒、1分等でもよい。
ステップS203において、検知部212は、1秒以内にパケット中継装置220からEcho Replyパケットを応答として受信した場合、パケット中継装置220と分断していないと判断し、判断結果を保存する。
ステップS204において、検知部212は、1秒以内にパケット中継装置220からEcho Replyパケットを応答として受信しなかった場合、パケット中継装置220と分断していると判断し、判断結果を保存する。
ステップS205において、検知部212は、分断しているとの判断結果を探索部213に送信して、通知する。
図9は、本発明の実施の形態1に係る探索部213の動作を示すフローチャートである。図9を用いて、探索部213の動作を以下に説明する。
ステップS301において、探索部213は、検知部212から分断しているとの判断結果を受信した場合、サブネット送受信部211を介して、サブネット102内のIPアドレス情報空間上に存在しうるすべての宛先IPアドレス情報に対しARP Requestパケットを送信する。
ステップS302において、探索部213は、例えば1秒以内にARP Replyパケットを応答としてサブネット送受信部211を介して受信したかを確認する。探索部213は、1秒以内にARP Replyパケットを応答として受信した場合、ステップS302:Yesとなる。探索部213は、1秒以内にARP Replyパケットを応答として受信しなかった場合、パケット中継装置200と通信可能な端末装置はないと判断し、ステップS302:Noとなり、フローチャートを終了する。なお、例えば1秒以内に応答を受信したかどうかとしたが、一定時間であれば、0.1秒、1分等でもよい。
ステップS303において、探索部213は、ARP Requestパケットの宛先とした端末装置はサブネット102内でパケット中継装置200と通信可能な端末装置と判断し、ARP Replyパケットに格納されているIPアドレス情報とMACアドレス情報とをARPテーブル402としてテーブル214に保存する。
図10は、本発明の実施の形態1に係るホストルート広告部301の動作を示すフローチャートである。図10を用いて、ホストルート広告部301の動作を以下に説明する。
ステップS401において、ホストルート広告部301は、受信パケット処理部302aから指示パケット403aを受信すると、テーブル214からサブネット102内でパケット中継装置220と通信可能な端末装置のアドレス情報のARPテーブル402を取得し、指示パケット403aに格納されてある宛先IPアドレス情報504をもつ端末装置と通信可能か否かを判断する。具体的な方法は、ステップS105と同様である。ホストルート広告部301は、指示パケット403aに格納されてある宛先IPアドレス情報504と一致するIPアドレス情報がARPテーブル402に存在する場合、指示パケット403aに格納されてある宛先IPアドレス情報504をもつ端末装置と通信可能と判断し、ステップS401:Yesとなる。ホストルート広告部301は、指示パケット403aに格納されてある宛先IPアドレス情報504と一致するIPアドレス情報がARPテーブル402に存在しない場合、指示パケット403aに格納されてある宛先IPアドレス情報504をもつ端末装置と通信不可能と判断し、ステップS401:Noとなり、フローチャートを終了する。
ステップS402において、ホストルート広告部301は、図5のような指示パケット403aに格納されてある宛先IPアドレス情報504に対応したホストルート広告パケット404を生成する。
ステップS403において、ホストルート広告部301は、生成したホストルート広告パケット404をパケット送受信部210を介して、バックボーンネットワーク101に送信する。
パケット中継装置220が伝達パケットの宛先IPアドレス情報をもつ端末装置125のホストルートを広告することで、図11に示すようにルータ111、ルータ112、パケット中継装置200およびパケット中継装置220はルーティングテーブルを更新する。これにより、すでに送信された伝達パケットの宛先IPアドレス情報をもつ端末装置は以降において最短経路で中継される。
図11は、本発明の実施の形態1に係るルーティングテーブルの一例を示した図であり、(a)は、ルータ111のホストルート広告前のルーティングテーブル406を示した図、(b)は、ルータ111のホストルート広告後のルーティングテーブル407を示した図である。ルーティングテーブル406およびルーティングテーブル407は、図11に示すように、宛先ネットワーク情報および転送先の情報を保存したテーブルである。宛先ネットワーク情報は、IPアドレス情報およびサブネットマスクの組を格納したものである。例えば、ルーティングテーブル406の宛先ネットワーク情報に格納されたサブネット102は、サブネット102のIPアドレス情報およびサブネットマスクの組を示す。ルータ111は、サブネット102の分断がなく、ホストルートの広告前の場合、サブネット102内に存在する端末装置のIPアドレス情報に対応した転送先のパケット中継装置200のIPアドレス情報200aを図11(a)に示すルーティングテーブル406に登録している。このためルータ111は、サブネット102が分断していない場合、サブネット102内に存在する端末装置宛の伝達パケットをすべてパケット中継装置200へ送信するようになっている。
ここで、例えば、サブネット102内のレイヤ2スイッチ122の故障により、サブネット102が分断し、端末装置113から伝達パケットが端末装置125に対して送信され、パケット中継装置220から送信されるホストルート広告パケット404をルータ112を介してルータ111で受信した場合を考える。ホストルートが広告された後において、ルータ111は、パケット中継装置220からルータ112を介して受信したホストルート広告パケット404の内のルーティングプロトコルの情報505bを元にホストルートを算出し、宛先ネットワーク情報に端末装置125のIPアドレス情報とサブネットマスクとの組125aおよび転送先にルータ112のIPアドレス情報112aを図11(b)に示すルーティングテーブル407に格納する。ここで、宛先ネットワーク情報125aと転送先112aとの組で示される経路は、特定の端末装置125宛ての経路を示すホストルートである。端末装置125の宛先ネットワーク情報125aは、特定の端末装置125のIPアドレス情報と32bitのサブネットマスクとの組で格納される。ルータ112、パケット中継装置200およびパケット中継装置220も同様の方法でルーティングテーブル内の情報を格納する。ルーティングテーブルでは、ある宛先に該当する経路が複数登録されている場合、サブネットマスクが長い経路が優先される。具体的には、例えば、ホストルート広告後で端末装置113から端末装置125宛に伝達パケットが送信され、伝達パケットをルータ111が受信した場合を考える。ここで、端末装置125はサブネット102内に存在する端末装置であるため、ルーティングテーブル407では、宛先ネットワーク情報のサブネット102と転送先の200aとの組で示される経路と、宛先ネットワーク情報の125aと転送先の112aとの組で示される経路の両方が宛先に該当する。ここで、ホストルート広告後のルーティングテーブル407の宛先ネットワーク情報のサブネット102のサブネットマスクが24bit、125aのサブネットマスクが32bitの場合、サブネットマスクが長い経路が優先されるので、端末装置125宛の伝達パケットはサブネットマスクが32bitのルータ112のIPアドレス情報112aの転送先が優先される。
電源をOFFにすることあるいは終了操作がなされる等の処理の終了のトリガーがあるまで上記のような処理を繰り返すことによって、サブネットが分断した場合、ルーティングテーブルに保存するデータ量の増大を抑制できる。なお、上記のような処理を繰り返すとしたが、繰り返さず一回行うだけでもよい。
以上述べたように、本実施の形態1のパケット中継装置200およびパケット中継装置220においては、サブネット102の分断検知後にパケット中継装置220からホストルートを広告する場合、受信した伝達パケットのアドレス情報に対応する指示パケット403aをパケット中継装置220に送信するようにし、バックボーンネットワーク101からサブネット102内の端末装置宛の通信の発生を契機に、ホストルートを広告してバックボーンネットワーク101のルータおよびパケット中継装置のルーティングテーブルを更新するようにしたので、バックボーンネットワーク101からサブネット102への通信を可能とするとともにルータおよびパケット中継装置のOPSF処理負荷増加とルーティングテーブルサイズの増大を抑制することが可能となる。それにより、安定したネットワークの運用が可能となる。
また、本実施の形態1のパケット中継装置200およびパケット中継装置220においては、指示パケット403aの宛先IPアドレス情報504に対してのみのホストルートを広告するようにしたので、伝達パケットを送信する必要が出てくるまで、それぞれの端末装置すべてを一度に登録しなくてもよい。そのため、バックボーンネットワーク101からサブネット102への通信を可能とするとともにルータおよびパケット中継装置のOPSF処理負荷増加とルーティングテーブルサイズの増大を抑制することが可能となる。それにより、安定したネットワークの運用が可能となる。
なお、上記した本実施の形態1のパケット中継装置200およびパケット中継装置220では、パケット中継装置が2つある場合を説明したが、パケット中継装置の数は2つ以上でもよい。
実施の形態2.
実施の形態1では、受信パケット処理部302aは、バックボーンネットワーク101からサブネット102内の端末装置宛の通信の発生を契機に、指示パケット403aを生成し、指示パケット403aを送信した。実施の形態2では、図12〜図13に示すように、受信パケット処理部302bは、伝達パケットを含んだ指示パケット403bを生成する。このため、例えばパケット中継装置200からパケット中継装置220に指示パケット403bを送信する際、伝達パケットも合わせてパケット中継装置220に送信され、伝達パケットは宛先の端末装置に送信される。それ以外は、実施の形態1と同様である。
実施の形態2では、実施の形態1の図2の受信パケット処理部302aの代わりに受信パケット処理部302bが機能ブロック図の構成として加わる。
受信パケット処理部302bは、実施の形態1の受信パケット処理部302aの機能に加えて、伝達パケットをデータ部502に格納したIPパケットを生成するカプセル化を行って、図12に示すような伝達パケットを含んだカプセルパケットである指示パケット403bを生成する。
図12は、本発明の実施の形態2に係る指示パケット403bのIPデータグラムの一例を示した図である。指示パケット403bのIPデータグラムは、図12に示すように、IPヘッダ501およびデータ部502から構成されるIPパケットである。図中「〜」については、送受信に関するデータや送受信したいデータ等が格納されてもよい。データ部502は、伝達パケットが格納され、それ以外は実施の形態1の指示パケット403aと同様である。ここで、実施の形態1と同様に、例えば、サブネット102内のレイヤ2スイッチ122の故障により、サブネット102が分断している場合で、バックボーンネットワーク101内に存在する端末装置113からサブネット102内に存在する端末装置125に対して伝達パケットが送信され、パケット中継装置200からパケット中継装置220に指示パケット403bを送信する場合を考える。パケット中継装置200の受信パケット処理部302bにより生成される指示パケット403bは、送信元IPアドレス情報503にパケット中継装置220のパケット送受信部210にあたる入出力ポートに付与されたIPアドレス情報220a、宛先IPアドレス情報504にパケット中継装置200のパケット送受信部210にあたる入出力ポートに付与されたIPアドレス情報200aおよびデータ部502に伝達パケットがそれぞれ格納されたカプセルパケットである。
また、受信パケット処理部302bは、パケット送受信部210を介してカプセルパケットを受信した場合、カプセルパケットに含まれる伝達パケットをサブネット送受信部211を介してサブネット102に送信し、伝達パケットを宛先の端末装置に送信する。それ以外は実施の形態1と同様である。
本発明の実施の形態2に係るパケット中継装置200のハードウェア構成図は、実施の形態1の図6と同様である。受信パケット処理部302bのハードウェア構成は受信パケット処理部302aと同様である。
図13は本発明の実施の形態2に係る受信パケット処理部302bの動作を示すフローチャートである。図13を用いて、受信パケット処理部302bの動作の動作について説明する。以下の説明において既に説明した構成および動作については同一符号を付して、重複する説明を省略する。
ステップS501において、受信パケット処理部302bは、実施の形態1のステップS101と同様に、パケットを受信する。受信パケット処理部302bは、受信したパケットがカプセルパケットか否かを判断する。受信パケット処理部302bは、受信したパケットがカプセルパケットである場合、指示パケット403bと判断し、ステップS501:Yesとなる。受信パケット処理部302bは、受信したパケットがカプセルパケットでない場合、伝達パケットと判断し、ステップS501:Noとなる。
ステップS502は、実施の形態1のステップS102と同様である。
ステップS503において、受信パケット処理部302bは、実施の形態1のステップS105と同様に、テーブル214からサブネット102内で通信可能な端末装置のアドレス情報を取得し、カプセルパケットに含まれる伝達パケットの宛先IPアドレス情報をもつ端末装置と通信可能か否かを判断する。受信パケット処理部302bは、カプセルパケットに含まれる伝達パケットの宛先IPアドレス情報と一致するIPアドレス情報がテーブル214から取得したARPテーブル402に存在する場合、カプセルパケットに含まれる伝達パケットの宛先IPアドレス情報をもつ端末装置と通信可能と判断し、ステップS503:Yesとなる。受信パケット処理部302bは、カプセルパケットに含まれる伝達パケットの宛先IPアドレス情報と一致するIPアドレス情報がテーブル214から取得したARPテーブル402に存在しない場合、カプセルパケットに含まれる伝達パケットの宛先IPアドレス情報をもつ端末装置と通信不可能と判断し、ステップS503:Noとなり、フローチャートを終了する。
ステップS504において、受信パケット処理部302bは、実施の形態1のステップS106と同様に、カプセルパケットに含まれる伝達パケットをサブネット送受信部211を介してサブネット102に送信する。
ステップS505、ステップS506、ステップS507、ステップS508は実施の形態1のステップS103、ステップS104、ステップS105、ステップS106と同様である。
ステップS509において、受信パケット処理部302bは、パケット中継装置220にホストルートを広告するように指示するための指示パケット403bを生成する。受信パケット処理部302bは、図12に示すように、伝達パケットをカプセル化し、伝達パケットを含んだカプセルパケットである指示パケット403bを生成する。
ステップS510において、受信パケット処理部302bは、生成したカプセルパケットの指示パケット403bをパケット送受信部210に送信し、バックボーンネットワーク101を介してパケット中継装置220に指示パケット403bを送信する。パケット中継装置220は、指示パケット403bを受信した場合、ステップS502〜S504を実行する。
電源をOFFにすることあるいは終了操作がなされる等の処理の終了のトリガーがあるまで上記のような処理を繰り返すことによって、サブネットが分断した場合、ルーティングテーブルに保存するデータ量の増大を抑制できる。なお、上記のような処理を繰り返すとしたが、繰り返さず一回行うだけでもよい。
以上述べたように、本実施の形態2のパケット中継装置200およびパケット中継装置220においては、サブネット102の分断検知後にパケット中継装置220からホストルートを広告する場合、受信した伝達パケットのアドレス情報に対応する指示パケット403bをパケット中継装置220に送信するようにし、バックボーンネットワーク101からサブネット102内の端末装置宛の通信の発生を契機に、ホストルートを広告してバックボーンネットワーク101のルーティングテーブルを更新するようにしたので、バックボーンネットワーク101からサブネット102への通信を可能とするとともにルータおよびパケット中継装置のOPSF処理負荷増加とルーティングテーブルサイズの増大を抑制することが可能となる。それにより、安定したネットワークの運用が可能となる。
また、本実施の形態2のパケット中継装置200およびパケット中継装置220においては、指示パケット403bに格納した伝達パケットのアドレス情報に対してのみのホストルートを広告するようにしたので、伝達パケットを送信する必要が出てくるまで、それぞれの端末装置すべてを一度に登録しなくてもよい。そのため、バックボーンネットワーク101からサブネット102への通信を可能とするとともにルータおよびパケット中継装置のOPSF処理負荷増加とルーティングテーブルサイズの増大を抑制することが可能となる。それにより、安定したネットワークの運用が可能となる。
さらに、本実施の形態2のパケット中継装置200およびパケット中継装置220においては、受信パケット処理部302bは、伝達パケットを含んだ指示パケット403bを生成する。このため、例えばパケット中継装置200からパケット中継装置220に指示パケット403bを送信する際、伝達パケットも合わせてパケット中継装置220に送信され、伝達パケットを宛先の端末装置に送信することができる。
実施の形態3.
実施の形態1では、パケット中継装置200とパケット中継装置220との指示パケット403aの送受信は、バックボーンネットワーク101を介して行った。実施の形態3では、図14〜図15に示すように、パケット中継装置200とパケット中継装置220と間に専用回線127を設け、指示パケット403aを中継する。このため、バックボーンネットワーク101の通信の処理負荷増大を抑制することができる。それ以外は、実施の形態1と同様である。
図14は本発明の実施の形態3に係るパケット中継システムの概略構成図である。以下の説明において既に説明した構成および動作については同一符号を付して、重複する説明を省略する。
専用回線127は、バックボーンネットワーク101およびサブネット102とは異なるIPネットワークであり、パケット中継装置200とパケット中継装置220とを接続する。
図15は本発明の実施の形態3に係るパケット中継装置200の機能ブロック図である。なお、パケット中継装置200とパケット中継装置220とは、同様の機能ブロック図である。
パケット中継制御装置300は、実施の形態1の構成に加えて、専用送受信部303を備える。専用送受信部303は、パケット中継装置220と指示パケット403aを送受信する。専用送受信部303は、入出力ポートである。
本発明の実施の形態3に係るパケット中継装置200のハードウェア構成図は、実施の形態1の図6と同様である。専用送受信部303のハードウェア構成は通信インターフェース203によって実現される。
実施の形態3の動作は、実施の形態1の図7〜図10の動作と同様である。ただし、ステップS101において、受信パケット処理部302aは、パケット送受信部210がバックボーンネットワーク101から受信した伝達パケットおよび指示パケット403aを受信するのではなく、指示パケット403aは専用送受信部303から受信する。なお、伝達パケットの送受信の方法は、実施の形態1と同様である。また、ステップS108において、受信パケット処理部302aは、生成した指示パケット403aをパケット送受信部210に送信し、バックボーンネットワーク101を介してパケット中継装置220に指示パケット403aを送信するのではなく、生成した指示パケット403aを専用送受信部303を介してパケット中継装置220に指示パケット403aを送信する。
以上述べたように、本実施の形態3のパケット中継装置200およびパケット中継装置220においては、サブネット102の分断検知後にパケット中継装置220からホストルートを広告する場合、受信した伝達パケットのアドレス情報に対応する指示パケット403aをパケット中継装置220に送信するようにし、バックボーンネットワーク101からサブネット102内の端末装置宛の通信の発生を契機に、ホストルートを広告してバックボーンネットワーク101のルーティングテーブルを更新するようにしたので、バックボーンネットワーク101からサブネット102への通信を可能とするとともにルータおよびパケット中継装置のOPSF処理負荷増加とルーティングテーブルサイズの増大を抑制することが可能となる。それにより、安定したネットワークの運用が可能となる。
また、本実施の形態3のパケット中継装置200およびパケット中継装置220においては、指示パケット403aの宛先IPアドレス情報504に対してのみのホストルートを広告するようにしたので、伝達パケットを送信する必要が出てくるまで、それぞれの端末装置すべてを一度に登録しなくてもよい。そのため、バックボーンネットワーク101からサブネット102への通信を可能とするとともにルータおよびパケット中継装置のOPSF処理負荷増加とルーティングテーブルサイズの増大を抑制することが可能となる。それにより、安定したネットワークの運用が可能となる。
さらに、本実施の形態3のパケット中継装置200およびパケット中継装置220においては、パケット中継装置200とパケット中継装置220と間に専用回線127を設け、指示パケット403aを中継する。このため、バックボーンネットワーク101の通信の処理負荷増加を抑制することができる。
ところで、上記した実施の形態に示したパケット中継装置、パケット中継制御装置、パケット中継システムおよびパケット中継方法は一例に過ぎず、適宜、組み合わせて構成することが出来るものであって、実施の形態単独の構成に限られるものではない。