JP2008172636A - 通信制御プログラム - Google Patents

通信制御プログラム Download PDF

Info

Publication number
JP2008172636A
JP2008172636A JP2007005179A JP2007005179A JP2008172636A JP 2008172636 A JP2008172636 A JP 2008172636A JP 2007005179 A JP2007005179 A JP 2007005179A JP 2007005179 A JP2007005179 A JP 2007005179A JP 2008172636 A JP2008172636 A JP 2008172636A
Authority
JP
Japan
Prior art keywords
network
router
detour
communication control
packet
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.)
Granted
Application number
JP2007005179A
Other languages
English (en)
Other versions
JP4773981B2 (ja
Inventor
Toru Enoki
徹 榎
Yasuo Inoue
康生 井上
Shinichi Hayashi
伸一 林
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 JP2007005179A priority Critical patent/JP4773981B2/ja
Priority to US11/970,973 priority patent/US7864666B2/en
Publication of JP2008172636A publication Critical patent/JP2008172636A/ja
Application granted granted Critical
Publication of JP4773981B2 publication Critical patent/JP4773981B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/03Topology update or discovery by updating link state protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/28Routing or path finding of packets in data switching networks using route fault recovery

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】迂回路を確保するためのコストを削減すること、ルーティングテーブルのリソースの消費を防止すること、短時間でネットワークを安定させることを課題とする。
【解決手段】ルータを含むシステムは、ルータ#a〜#dが相互に通信可能に接続されてネットワークを構成している。そして、ルータ#aとルータ#bとの間は、サーバが接続されるL2スイッチ#aと、クライアント#aが接続されるL2スイッチ#cと、L2スイッチ#aとL2スイッチ#cとを接続するL2スイッチ#bとが接続されており、このシステムのネットワークにおけるサブネットワークを構成している。このような構成において、ルータ#bは、サブネットワーク内で発生した障害を検出し、検出した障害によって分断されたサブネットワークに接続される装置と他のネットワークとの間の通信を確保するための迂回路を決定して、仮想的な直結通信回路であるトンネリングを確立する。
【選択図】 図2

Description

この発明は、複数の装置およびデータ中継装置から構成されるネットワークと同様に構成される他のネットワークとを通信可能に接続する方法をコンピュータに実行させる通信制御プログラムに関する。
従来より、ネットワーク内に組み込まれ、各ノードが、外部ネットワークのノードに通信パケットを送信する場合の冗長性を確保する手法として、ネットワーク内の各ノードに対して、2台のルータを接続した網構成の通信システムが開示されている。
このような通信システムでは、接続される冗長化した2台のルータを効率的に運用させるために、VRRPプロトコル(Virtual Router Redundancy Protocol)が一般的に用いられている。ところが、このようにVRRPプロトコルを用いた通信システムにおいて、冗長化されたルータが接続されるローカルネットワークで回線切断が発生した場合、当該ネットワーク内に到達できないノードが存在するという事象が発生していた。
そこで、このようにローカルネットワークで回線切断が発生した場合でも、全てのノードが確実に通信することができるようにする様々な技術が開示されている。
一般的には、障害が発生したネットワークにおいて、L2スイッチを増設して迂回路を確保していた。例えば、図9のようにネットワークが構成される場合に、L2スイッチ#bが装置障害によりダウンしたときに、L2スイッチを通過する通信(パケット)、つまり、クライアント#aとサーバとの相互通信、クライアント#bからサーバへの通信や、サーバからクライアント#bへの通信などが不可能となる。そこで、図10に示すように、L2スイッチを増設して迂回路を確保していた。
また、特許文献1(特開2004−357194号公報)では、ネットワーク内に接続されるいずれかのルータなどの中継装置において回線障害や装置障害が発生して通信が不可能となった中継装置が発生した場合に、迂回ルート(迂回路)をネットワーク内の全中継装置(全ルータ)に広報することにより、迂回ルートを確保する技術が開示されている。
特開2004−357194号公報
しかしながら、上記した従来の技術では、導入コストが高くなるという課題があった。具体的には、単にL2スイッチを増設するだけでは、ネットワークループが発生し、同一ネットワークに配置される全てのL2スイッチにおいてスパニングツリープロトコル(STP)を動作させる必要がある。その結果、STPを動作させることができる高価なL2スイッチを用意する必要があるので、導入コストが高くなっていた。
また、上記した従来の技術である特許文献1では、ルーティングテーブルのリソースを大量に消費するとともに、ネットワークの安定までに時間を要するという課題があった。具体的には、障害となったサブネットワークに接続される中継装置(ルータ)だけでなく全中継装置にホストルートが広報されるため、複数のサブネットワークで同時に障害が発生すると、大量のデータ(ホストルート)が広報される。その結果、ルーティングテーブルのリソースを大量に消費するとともに、ネットワークの安定までに時間を要していた。例えば、サブネットマスク長が24のサブネットワークで障害が発生した場合、2の8乗=256個のホストルートが広報されることとなる。
そこで、この発明は、上述した従来技術の課題を解決するためになされたものであり、迂回路を確保するためのコストを削減すること、ルーティングテーブルのリソースの消費を防止すること、短時間でネットワークを安定させることを可能である通信制御プログラムを提供することを目的とする。
上述した課題を解決し、目的を達成するため、請求項1に係る発明は、複数の装置およびデータ中継装置から構成されるネットワークと同様に構成される他のネットワークとを通信可能に接続する方法をコンピュータに実行させる通信制御プログラムであって、前記ネットワーク内で発生した障害を検出する障害検出手順と、前記障害検出手順により検出された障害によって分断されたネットワークに接続される装置と前記他のネットワークとの間の通信を確保するための迂回路を決定する迂回路決定手順と、前記迂回路決定手順により決定された迂回路に対して、仮想的な直結通信回路であるトンネリングを確立するトンネリング確立手順と、をコンピュータに実行させることを特徴とする。
また、請求項2に係る発明は、上記の発明において、前記障害検出手順は、前記ネットワークと前記他のネットワークとを接続する通信制御装置に対してOSPFパケットまたはICMPパケットを送信し、前記OSPFパケットおよびICMPパケットに対する応答を前記通信制御装置から受信しなかった場合に、前記ネットワークに障害が発生したと検出することを特徴とする。
また、請求項3に係る発明は、上記の発明において、前記迂回路決定手順は、前記障害検出手順により検出された障害によって分断されたネットワークに接続される装置と前記他のネットワークとの間の通信を確保するための迂回路を、OSPFプロトコルにおけるSPFツリーによって計算されるルーティングテーブルから決定することを特徴とする。
また、請求項4に係る発明は、上記の発明において、前記データ中継装置は、他の装置と接続するポート番号と当該接続する他の装置のMACアドレスとを対応付けて記憶するMAC学習テーブルを備えるMAC学習型のデータ中継装置であって、
前記分断されたネットワークの全アドレスに対してARP要求パケットを送信して受信した前記ARP要求パケットに対する応答から、自装置が通信可能である装置のMACアドレスとIPアドレスとから構成される通信可能リストを生成して、前記分断されたネットワークと前記他のネットワークとを接続する通信制御装置に対して送信するとともに、前記通信制御装置により生成された通信可能リストを受信する通信可能リスト生成手順をさらにコンピュータに実行させ、前記迂回路決定手順は、前記通信可能リスト生成手順により受信された前記通信可能リストのMACアドレスを送信元アドレス、IPアドレスを送信元IPアドレスとしたARP要求パケットを前記データ中継装置に送信して前記MAC学習テーブルを書き換えることで、前記迂回路を決定することを特徴とする。
また、請求項5に係る発明は、上記の発明において、前記トンネリング確立手順は、仮想的な直結通信回路として、データリンク層であるレイヤ2またはネットワーク層であるレイヤ3に対応するトンネリングを確立することを特徴とする。
請求項1の発明によれば、ネットワーク内で発生した障害を検出し、検出された障害によって分断されたネットワークに接続される装置と他のネットワークとの間の通信を確保するための迂回路を決定し、決定された迂回路に対して、仮想的な直結通信回路であるトンネリングを確立するので、迂回路を確保するためのコストを削減すること、ルーティングテーブルのリソースの消費を防止すること、短時間でネットワークを安定させることが可能である。
例えば、サブネットワークを構成するL2スイッチで障害が起きて、通信が遮断された場合に、スパニングツリープロトコルを動作させることができない安価なL2スイッチであっても、迂回路を確保して、通信を確立することができる結果、迂回路を確保するためのコストを削減することが可能である。また、障害が発生したネットワークに接続されるL3スイッチやルータに対してのみ、迂回路を決定してトンネリングを構築するので、ルーティングテーブルのリソースの消費を防止することが可能である。また、障害が発生したネットワークに接続されるL3スイッチやルータに対してのみ、トンネリングを構築するので、影響のないルータなどに対してはいずれの処理も必要としない結果、短時間でネットワークを安定させることが可能である。
また、請求項2の発明によれば、ネットワークと他のネットワークとを接続する通信制御装置に対してOSPFパケットまたはICMPパケットを送信し、OSPFパケットおよびICMPパケットに対する応答を通信制御装置から受信しなかった場合に、ネットワークに障害が発生したと検出するので、確実に障害を検出することが可能である。
例えば、ネットワークを構成するルータに対して、OSPF Helloパケットを送信して応答を受信しなかった場合に、障害が発生したと検出する結果、ネットワークまたはスイッチングハブなどに障害が発生したか否かを確実に検出することが可能である。
また、OSPF Helloパケットではなく、ICMPパケットを用いることで、OSPFプロトコルの動作に依存せず、ネットワークの監視時間や応答受信タイムアウト時間などを柔軟に変更することが可能である。また、OSPFに対応しないルータに対してもICMPを用いることで、障害を検出することが可能である。
また、請求項3の発明によれば、検出された障害によって分断されたネットワークに接続される装置と他のネットワークとの間の通信を確保するための迂回路を、OSPFプロトコルにおけるSPFツリーによって計算されるルーティングテーブルから決定するので、正確に迂回路を決定することが可能である。
例えば、OSPFプロトコルを用いることで、ルータ間のルーティング情報をリアルタイムに相互交換することができる結果、他のプロトコルを用いて迂回路を決定するのに比べて、正確に迂回路を決定することが可能である。
また、請求項4の発明によれば、分断されたネットワークの全アドレスに対してARP要求パケットを送信して受信した前記ARP要求パケットに対する応答から、自装置が通信可能である装置のMACアドレスとIPアドレスとから構成される通信可能リストを生成して、分断されたネットワークと他のネットワークとを接続する通信制御装置に対して送信するとともに、通信制御装置により生成された通信可能リストを受信し、受信された通信可能リストのMACアドレスを送信元アドレス、IPアドレスを送信元IPアドレスとしたARP要求パケットをデータ中継装置に送信してMAC学習テーブルを書き換えることで、迂回路を決定するので、正確に迂回路を確保することが可能である。
例えば、障害が発生して遮断されたネットワークに学習型のL2スイッチが存在する場合に、通常ならば、ネットワークを接続するルータ間の迂回路を決定しても、学習型L2スイッチに接続される装置に対して通信ができなくなるが、学習型L2スイッチの学習テーブルを書き換えることで、学習型L2スイッチに接続される装置に対して正確に迂回路を確保することが可能である。
また、請求項5の発明によれば、仮想的な直結通信回路として、データリンク層であるレイヤ2またはネットワーク層であるレイヤ3に対応するトンネリングを確立するので、迂回路を用いて確実に通信を確保することが可能である。
例えば、L2トンネルを確立することで、分断されたネットワークに接続される全ての装置に対するパケットを正確に迂回させることが可能である。また、L3トンネルを確立することで、ルータ間におけるパケットを正確に迂回させることが可能である。
以下に添付図面を参照して、この発明に係る通信制御装置の実施例を詳細に説明する。なお、以下の実施例で用いる主要な用語、実施例1に係る通信制御装置の概要および特徴、実施例1に係る通信制御装置の構成および処理の手順、実施例1の効果を順に説明し、続いて、他の実施例について説明する。
[用語の説明]
まず最初に、本実施例で用いる主要な用語を説明する。本実施例で用いる「ルータ(特許請求の範囲に記載の「通信制御装置」に対応する。)」とは、ネットワーク上に流れるデータを他のネットワークに中継する装置のことであり、具体的には、受信したIPアドレス(Internet Protocol)を見て、どの経路で転送すべきかを判断する経路選択機能(ルーティング機能)と、複数のポート(LANインタフェース:Local Area Network Interface)とを備え、異なるネットワーク間におけるデータの中継や異なるネットワーク同士を接続する。また、ルータは、任意のホスト(装置)から生じるブロードキャストパケットを受信した場合に、その送信元のIPアドレスとMACアドレスと受信ポートとを対応付けてARPテーブル(Address Resolution Protocol)を作成する。このようにデータを中継する場合、ルータは、このARPテーブルを参照して、受信したデータの宛先のMACアドレス(Media Access Control Address)を次のルータまたはホスト(装置)のものに書換え、送信元のMACアドレスを自己のMACアドレスに書き換えて、当該データを中継する。
また、本実施例で用いる「L2スイッチ(特許請求の範囲に記載の「データ中継装置」に対応する。)」とは、ネットワーク中継装置の一つであり、パケットの行き先を判断して転送を行うスイッチングハブなどの装置である。ネットワーク上には、IPアドレスやTCP(Transmission Control Protocol)など様々なプロトコルが利用されるが、このようなプロトコルの違いを意識することなく利用することができる。そして、パケットを受信した場合に、その送信元のIPアドレスとMACアドレスと受信ポートとを対応付けてMAC学習テーブルとして記憶しておくことで、ネットワーク上の通信経路を確保するL2スイッチをMAC学習型L2スイッチと呼ぶ。
また、「トンネリング」とは、インターネットなどのネットワーク上において、任意の装置間を結ぶ閉じられた仮想的な直結通信回線を確立する技術のことである。本実施例で用いるL2トンネル、L3トンネルの両方とも、任意の装置間を結ぶ閉じられた仮想的な直結通信回線を確立する技術であるが、L2トンネルは、プロトコルの違いを意識することなく利用することができ、任意の装置における全てのパケットを中継することができる。
[通信制御装置(ルータ)の概要および特徴]
次に、図1と図2を用いて、実施例1に係る通信制御装置(ルータ)の概要および特徴を説明する。図1と図2は、実施例1に係る通信制御装置(ルータ)を含むシステムの全体構成を説明するための図である。
図1に示すように、このシステムは、ルータ#a〜#dが相互に通信可能に接続されてネットワークを構成している。そして、ルータ#aとルータ#bとの間は、サーバが接続されるL2スイッチ#aと、クライアント#aが接続されるL2スイッチ#cと、L2スイッチ#aとL2スイッチ#cとを接続するL2スイッチ#bとが接続されており、このシステムのネットワークにおけるサブネットワークを構成している。また、ルータ#bとルータ#dとの間には、クライアント#bが接続されるL2スイッチ#dが接続されている。
そして、ルータ#aとルータ#bとは、OSPFプロトコル(Open Shortest Path First Protocol)を動作させており、相互にOSPFパケットを送信している。それぞれのルータ#aとルータ#bとは、対向ルータからのOSPF Helloパケットを周期的に受信することで、対向ルータとの間のサブネットワークが正常に通信可能な状態であることを判断している。
このような構成のもと、実施例1に係るルータは、上記したように、複数の装置(サーバ、クライアント#a)およびL2スイッチから構成されるネットワークと同様に構成される他のネットワークとを通信可能に接続することを概要とするものであり、特に、迂回路を確保するためのコストを削減すること、ルーティングテーブルのリソースの消費を防止すること、短時間でネットワークを安定させることが可能である点に主たる特徴がある。
この主たる特徴を具体的に説明すると、ルータ#bは、サブネットワークと他のネットワークとを接続するルータ#aに対してOSPFパケットを送信し、OSPFパケットに対する応答をルータ#aから受信しなかった場合に、サブネットワークに障害が発生したと検出する(図1の(1)と(2)参照)。
具体的に説明すると、L2スイッチ#bにおいて、ハードウエア故障やポート接続不良により障害が発生したとすると、ルータ#bは、ルータ#aに対して周期的に送信しているOSPF Helloパケットに対する応答をルータ#aから受信できない。そして、受信できなくなった場合に、ルータ#bは、ルータ#aとの間のサブネットワークに障害が発生したと検出する。この障害により、クライアント#bとサーバ、クライアント#aとの間の通信が確立できなくなる。
そして、ルータ#bは、検出された障害によって分断されたネットワークに接続される装置と他のネットワークとの間の通信を確保するための迂回路を、OSPFプロトコルにおけるSPFツリーによって計算されるルーティングテーブルから決定する(図1の(3)参照)。
具体的に例を挙げると、通常、ルータ#bは、クライアント#bからサーバに送信されたパケットを受信すると、L2スイッチ#c〜#aを経由させて、サーバに転送する。ところが、L2スイッチ#bの障害により、L2スイッチ#c〜#a間が通信不可能であるため、ルータ#bは、トポロジテーブルの情報から生成されるSPFツリー(Shortest Path First)により、クライアント#bとサーバとの間で通信可能なルートである「ルータ#d、ルータ#c、ルータ#aを経由させるルート」を迂回路として決定する。
そして、ルータ#bは、決定された迂回路に対して、仮想的な直結通信回路として、データリンク層であるレイヤ2またはネットワーク層であるレイヤ3に対応するトンネリングを確立する(図2の(1)参照)。上記した例で具体的に説明すると、ルータ#bは、サーバ宛のパケットを受信すると、当該パケットに対して新しいIPヘッダを付加して、決定された迂回路である「ルータ#d〜ルータ#c〜ルータ#a」間を転送させるように、データリンク層であるレイヤ2またはネットワーク層であるレイヤ3に対応するVPN(Virtual Private Network)などのトンネリングを確立する。
このように、実施例1に係るルータ#bは、障害が発生したサブネットワークを迂回させて、サブネットワークに接続される装置と他のネットワークとの通信を確保することができる結果、上記した主たる特徴のごとく、迂回路を確保するためのコストを削減すること、ルーティングテーブルのリソースの消費を防止すること、短時間でネットワークを安定させることが可能である。
[通信制御装置(ルータ)の構成]
次に、図3を用いて、図1と図2に示したシステムにおけるルータ#bの構成を説明する。図3は、実施例1に係る通信制御装置(ルータ#b)の構成を示すブロック図である。なお、ルータ#a〜#dは、同様の機能を有するので、ここではルータ#bについて説明する。
図3に示すように、このルータ#b10は、通信制御I/F部11と、記憶部12と、制御部15とから構成される。通信制御I/F部11は、他の装置との間でやり取りする各種情報に関する通信を制御する。具体的には、通信制御I/F部は、ルータ#a、ルータ#cとの間でOSPF Helloパケットを送受信したり、クライアント#bからパケットを受信したり、クライアント#bにパケットを送信したりする。
記憶部12は、制御部15による各種処理に必要なデータおよびプログラムを格納するとともに、特に本発明に密接に関連するものとしては、ルーティングテーブル13を備える。ルーティングテーブル13は、ルータ#bにおける経路情報を記憶する。具体的に例を挙げると、ルーティングテーブル13は、ポート1にはルータ#aが接続され、ポート2にはルータ#dが接続され、クライアント#cやサーバ宛のパケットを受信した場合には当該パケットをポート1から出力(転送)するなどを記憶する。
制御部15は、OS(Operating System)などの制御プログラム、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有するとともに、特に本発明に密接に関連するものとしては、ルーティング実行部16と、障害検出部17と、迂回路決定部18と、トンネリング確立部19とを備え、これらによって種々の処理を実行する処理部である。
ルーティング実行部16は、ルーティングテーブル13に記憶する経路情報に基づいてパケットを転送する。具体的に例を挙げれば、サーバまたはクライアント#a宛のパケットを受信した場合に、当該パケットをルーティングテーブル13に基づいて、ポート1より出力(転送)したり、クライアント#b宛のパケットを受信した場合に、当該パケットをルーティングテーブル13に基づいて、ポート2より出力(転送)するなど、ルーティングテーブル13に記憶する経路情報に基づいてパケットを転送する。
障害検出部17は、サブネットワークと他のネットワークとを接続するルータ#aに対してOSPFパケットを送信し、OSPFパケットに対する応答をルータ#aから受信しなかった場合に、サブネットワークに障害が発生したと検出する。具体的に例を挙げれば、ルータ#aとルータ#bとは、OSPFプロトコル(Open Shortest Path First Protocol)を動作させており、相互にOSPFパケットを送信している。そして、ルータ#bは、ハードウエア故障やポート接続不良によりL2スイッチ#bで障害が発生したとすると、ルータ#aに対して周期的に送信しているOSPF Helloパケットに対する応答をルータ#aから受信できない。そして、受信できなくなった場合に、ルータ#bは、ルータ#aとの間のサブネットワークに障害が発生したと検出する。なお、障害検出部17は、特許請求の範囲に記載の「障害検出手順」に対応する。
迂回路決定部18は、検出された障害によって分断されたネットワークに接続される装置と他のネットワークとの間の通信を確保するための迂回路を、OSPFプロトコルにおけるSPFツリーによって計算されるルーティングテーブルから決定する。上記した例で具体的に説明すると、通常、ルータ#bは、クライアント#bからサーバに送信されたパケットを受信すると、L2スイッチ#c〜#aを経由させて、サーバに転送する。ところが、L2スイッチ#bの障害により、L2スイッチ#c〜#a間が通信不可能であるため、ルータ#bは、トポロジテーブルの情報から生成されるSPFツリー(Shortest Path First)により、クライアント#bとサーバとの間で通信可能なルートである「ルータ#d、ルータ#c、ルータ#aを経由させるルート」を迂回路として決定する。
このSPFツリーとは、図1に示したようなネットワークを構成する各装置間の接続を、記憶するルーティングツリーやOSPFパケットの送受信情報から自動的に生成することであり、ルータ#bは、このように自動的に生成された構成図(例えば、トポロジーなど)から迂回路を決定する。なお、迂回路決定部18は、特許請求の範囲に記載の「迂回路決定手順」に対応する。
トンネリング確立部19は、決定された迂回路に対して、仮想的な直結通信回路として、データリンク層であるレイヤ2またはネットワーク層であるレイヤ3に対応するトンネリングを確立する。上記した例で具体的に説明すると、ルータ#bは、サーバ宛のパケットを受信すると、当該パケットに対して新しいIPヘッダを付加して、決定された迂回路である「ルータ#d〜ルータ#c〜ルータ#a」間を転送させるように、データリンク層であるレイヤ2またはネットワーク層であるレイヤ3に対応するVPN(Virtual Private Network)などのトンネリングを確立する。なお、トンネリング確立部19は、特許請求の範囲に記載の「トンネリング確立手順」に対応する。
[通信制御装置(ルータ)による処理]
次に、図4を用いて、ルータ#bによる処理を説明する。図4は、実施例1に係る通信制御装置(ルータ#b)における迂回路確立処理の流れを示すフローチャートである。
図4に示すように、サブネットワークと他のネットワークとを接続するルータ#aに対してOSPFパケットを送信し、OSPFパケットに対する応答をルータ#aから受信しなかった場合に(ステップS401肯定)、ルータ#bは、サブネットワークに障害が発生したと検出する(ステップS402)。
そして、ルータ#bは、検出された障害によって分断されたネットワークに接続される装置と他のネットワークとの間の通信を確保するための迂回路を、OSPFプロトコルにおけるSPFツリーを取得し(ステップS403)、取得したSPFツリーによって計算されるルーティングテーブルから決定する(ステップS404)。
続いて、ルータ#bは、決定された迂回路に対して、仮想的な直結通信回路として、データリンク層であるレイヤ2またはネットワーク層であるレイヤ3に対応するトンネリングを確立する(ステップS405)。
[通信制御装置(ルータ#b)による処理]
このように、実施例1によれば、ネットワーク内で発生した障害を検出し、検出された障害によって分断されたネットワークに接続される装置と他のネットワークとの間の通信を確保するための迂回路を決定し、決定された迂回路に対して、仮想的な直結通信回路であるトンネリングを確立するので、迂回路を確保するためのコストを削減すること、ルーティングテーブルのリソースの消費を防止すること、短時間でネットワークを安定させることが可能である。
例えば、サブネットワークを構成するL2スイッチで障害が起きて、通信が遮断された場合に、スパニングツリープロトコルを動作させることができない安価なL2スイッチであっても、迂回路を確保して、通信を確立することができる結果、迂回路を確保するためのコストを削減することが可能である。また、障害が発生したネットワークに接続されるL3スイッチやルータに対してのみ、迂回路を決定してトンネリングを構築するので、ルーティングテーブルのリソースの消費を防止することが可能である。また、障害が発生したネットワークに接続されるL3スイッチやルータに対してのみ、トンネリングを構築するので、影響のないルータなどに対してはいずれの処理も必要としない結果、短時間でネットワークを安定させることが可能である。
また、実施例1によれば、サブネットワークと他のネットワークとを接続するルータ#aに対してOSPFパケットを送信し、OSPFパケットに対する応答をルータ#aから受信しなかった場合に、サブネットワークに障害が発生したと検出するので、確実に障害を検出することが可能である。
例えば、ネットワークを構成するルータに対して、OSPF Helloパケットを送信して応答を受信しなかった場合に、障害が発生したと検出する結果、ネットワークまたはスイッチングハブ(L2スイッチ)などに障害が発生したか否かを確実に検出することが可能である。
また、実施例1によれば、仮想的な直結通信回路として、データリンク層であるレイヤ2またはネットワーク層であるレイヤ3に対応するトンネリングを確立するので、迂回路を用いて確実に通信を確保することが可能である。
例えば、L2トンネルを確立することで、分断されたネットワークに接続される全ての装置に対するパケットを正確に迂回させることが可能である。また、L3トンネルを確立することで、ルータ間におけるパケットを正確に迂回させることが可能である。
ところで、実施例1では、ルータ#bは、送信したOSPF Helloパケットに対する応答を受信しなかったときに、サブネットワークに障害が発生したと検出する場合について説明したが、本発明はこれに限定されるものではなく、ルータ#bは、ICMPパケットを送信し、ICMPパケットに対する応答を受信しなかったときに、サブネットワークに障害が発生したと検出するようにしてもよい。
そこで、実施例2では、ルータ#bは、ルータ#aに対してICMPパケットを送信し、ICMPパケットに対する応答を受信しなかったときに、サブネットワークに障害が発生したと検出する場合について説明する。なお、以下では、実施例1に係る通信制御装置(ルータ#b)における処理の手順、実施例2の効果を順に説明する。
[通信制御装置(ルータ#b)による処理(実施例2)]
図5を用いて、通信制御装置(ルータ)による処理を説明する。図5は、実施例2に係る通信制御装置(ルータ)における障害検出処理の流れを示すシーケンス図である。
図5に示すように、ルータ#aとルータ#bとは、ICMPプロトコル(Internet Control Message Protocol)を動作させており、相互にICMPパケットを送信している(ステップS501〜ステップS504)。
具体的には、ルータ#aは、ICMP Echo要求パケットをL2スイッチ#a〜#cを経由してルータ#bに送信する。ICMP Echo要求パケットを受信したルータ#bは、当該要求パケットに対する応答として、ICMP Echo応答パケットをL2スイッチ#c〜#aを経由してルータ#aに送信する。そして、同様に、ルータ#bは、ICMP Echo要求パケットをルータ#aに送信し、ルータ#aは、当該要求パケットに対する応答として、ICMP Echo応答パケットをルータ#bに送信する。なお、ここでは、ルータ#aがルータ#bにICMP Echo要求パケットを送信した後に、ルータ#bがルータ#aにICMP Echo要求パケットを送信するように説明しているが、本発明はこれに限定されるものではなく、ルータ#aとルータ#bとが、同時に双方にICMP Echo要求パケットを送信してもよい。
その後、L2スイッチ#bで障害が発生した場合、ルータ#aは、ルータ#bに対して周期的に送信しているICMP Echo要求パケットに対する応答をルータ#bから受信できなくなり(ステップS505)、同様に、ルータ#bは、ルータ#aに対して周期的に送信しているICMP Echo要求パケットに対する応答をルータ#aから受信できなくなる(ステップS506)。そして、このように送信したICMP Echo要求パケットに対するICMP Echo応答パケットを受信できなくなった場合に、ルータ#aとルータ#bは、サブネットワークに障害が発生したと検出する(ステップS507とステップS508)。
[実施例2による効果]
このように、実施例2によれば、サブネットワークと他のネットワークとを接続するルータ#aまたはルータ#bに対してICMP Echo要求パケットを送信し、ICMP Echoパケットに対する応答を送信先のルータから受信しなかった場合に、サブネットワークに障害が発生したと検出するので、確実に障害を検出することが可能である。
例えば、OSPF Helloパケットではなく、ICMPパケットを用いることで、OSPFプロトコルの動作に依存せず、ネットワークの監視時間や応答受信タイムアウト時間などを柔軟に変更することが可能である。また、OSPFに対応しないルータに対してもICMPを用いることで、障害を検出することが可能である。
ところで、実施例1と実施例2では、ルータ#aとルータ#bとサブネットワークを構成するL2スイッチ#a〜#cは、通常のL2スイッチである場合について説明したが、本発明はこれに限定されるものではなく、MAC学習型L2スイッチであってもよい。
そこで、実施例3では、ルータ#aとルータ#bとサブネットワークを構成するL2スイッチ#a〜#cが、MAC学習型L2スイッチである場合について説明する。なお、以下では、実施例3に係る通信制御装置(ルータ#b)を含むシステムの全体構成、通信制御装置(ルータ#b)における処理の手順、実施例3の効果を順に説明する。
[通信制御装置(ルータ)の全体構成(実施例3)]
図6を用いて、実施例3に係る通信制御装置(ルータ)の全体構成を説明する。図6は、実施例3に係る通信制御装置(ルータ)の全体構成を示す図である。
図6に示すように、実施例1と同様、ルータ#a〜ルータ#dが相互に通信可能に接続されネットワークを構成している。また、ルータ#aとルータ#bとの間は、ポート2にサーバが接続されるL2スイッチ#aと、ポート2にクライアント#aが接続されるL2スイッチ#cと、L2スイッチ#aとL2スイッチ#cとを接続するL2スイッチ#bとが接続されており、サブネットワークを構成している。
また、ルータ#aとルータ#bとは、OSPFプロトコル(Open Shortest Path First Protocol)を動作させており、相互にOSPFパケットを送信している。それぞれのルータ#aとルータ#bとは、対向ルータからのOSPF Helloパケットを周期的に受信することで、対向ルータとの間のサブネットワークが正常に通信可能な状態であることを判断している。
そして、実施例1と異なる点は、L2スイッチ#a〜#cがMAC学習型のL2スイッチである点である。具体的に例を挙げて説明すると、L2スイッチ#aは他の装置と接続するポート番号と当該接続する他の装置のMACアドレスとを対応付けて記憶するMAC学習テーブルを備える点である。例えば、L2スイッチ#aは、MAC学習テーブルとして『MACアドレスを示す「MAC」、接続されるポートを示す「ポート」』として「ルータ#aのMACアドレス、#1」「サーバのMACアドレス、#2」「クライアント#aのMACアドレス、#3」などを記憶する。
このような構成において、ルータ#aは、サブネットワークと他のネットワークとを接続するルータ#bに対してOSPFパケットを送信し、OSPFパケットに対する応答をルータ#bから受信しなかった場合に、サブネットワークに障害が発生したと検出する(図6の(1)と(2)参照)。
そして、ルータ#aは、分断されたサブネットワークの全アドレスに対してARP要求パケットを送信して(図6の(3)参照)、受信したARPパケットに対する応答から、自装置が通信可能である装置のMACアドレスとIPアドレスとから構成される通信可能リストを生成して(図6の(4)参照)、分断されたサブネットワークと他のネットワークとを接続するルータ#bに対して送信するとともに、ルータ#bにより生成された通信可能リストを受信する(図6の(5)参照)。
具体的に説明すると、障害を検出したルータ#aは、障害により分断されたサブネットワークの全ホストアドレス(例えば、192.168.0.0/24のサブネットワークの場合、192.168.0.1〜192.168.0.254)にARP要求パケットを送信する。そして、ARP要求パケットに対するARP応答パケットを受信すると、ルータ#aは、当該ARP応答パケットを基に、MACアドレスおよびIPアドレスから構成される通信可能リストを生成する。そして、ルータ#aは、生成した通信可能リストをルータ#bに送信する。また、ルータ#bでは、ルータ#aと同様の手法で通信可能リストを生成してルータ#aに送信する。そして、それぞれのルータは、受信した通信可能リストを自装置における通信不可能リストとして記憶する。
続いて、ルータ#aは、受信した通信可能リストのMACアドレスを送信元アドレス、IPアドレスを送信元IPアドレスとしたARP要求パケットをL2スイッチ#aに送信して(図6の(6)参照)、MAC学習テーブルを書き換えることで(図6の(7)参照)、迂回路を決定する(図6の(8)参照)。
具体的に説明すると、ルータ#aは、受信した通信可能リスト(生成した通信不可能リスト)のMACアドレスを送信元アドレス、IPアドレスを送信元IPアドレスとしたARP要求パケットをL2スイッチ#aに送信する。つまり、ルータ#aでは、クライアント#aが通信不可能リストに含まれていることになり、クライアント#aのMACアドレスとIPアドレスを使用したARP要求パケットをL2スイッチ#aに送信することとなる。
そして、当該ARP要求パケットを受信したL2スイッチ#aは、「クライアント#aのMACアドレス、#1」「サーバのMACアドレス、#2」「―、#3」などのように、クライアント#aに関するMAC学習テーブルが更新される。つまり、クライアント#aのMACアドレス宛のパケットがポート#1から送信されるようになる。その結果、ルータ#aは、サーバからクライアント#a宛のパケットを受信することができるようになり、当該パケットをルータ#c〜#bを経由して転送することができる。
そして、ルータ#aは、このようにして決定された迂回路に対して、トンネリングを確立する。なお、ルータ#bにおいても、上記した手法と同様に行うことで、L2スイッチ#cのMAC学習テーブルを書換え、クライアント#aからサーバ宛のパケットを受信することができるようになる。
[通信制御装置(ルータ#a)による処理(実施例3)]
図7を用いて、通信制御装置(ルータ#a)による処理を説明する。図7は、実施例3に係る通信制御装置(ルータ#a)におけるMAC学習テーブル更新処理の流れを示すフローチャートである。
サブネットワークに障害が発生したと検出した場合(ステップS701肯定)、ルータ#aは、障害により分断されたサブネットワークの全ホストアドレスに対してARP要求パケットを送信する(ステップS702)。
そして、送信したARP要求パケットに対するARP応答パケットを受信すると(ステップS703肯定)、ルータ#aは、当該ARP応答パケットから通信可能リストを生成してルータ#bに対して送信する(ステップS704)。
その後、ルータ#bから通信可能リストを受信すると(ステップS705肯定)、ルータ#aは、受信した通信可能リストを通信不可能リストとする(ステップS706)。
そして、ルータ#aは、生成した通信不可能リストのMACアドレスを送信元アドレス、IPアドレスを送信元IPアドレスとしたARP要求パケットをL2スイッチ#aに送信することで、L2スイッチ#aのMAC学習テーブルを更新して迂回路を決定する(ステップS707)。その後、ルータ#aは、決定された迂回路に対してトンネリングを確立する。
[実施例3による効果]
このように、実施例3によれば、障害により分断されたネットワークの全アドレスに対してARP要求パケットを送信して受信したARPパケットに対する応答から、自装置が通信可能である装置のMACアドレスとIPアドレスとから構成される通信可能リストを生成して、分断されたネットワークと他のネットワークとを接続するルータに対して送信するとともに、ルータにより生成された通信可能リストを受信し、受信された通信可能リストのMACアドレスを送信元アドレス、IPアドレスを送信元IPアドレスとしたARP要求パケットをL2スイッチに送信してMAC学習テーブルを書き換えることで、迂回路を決定するので、L2スイッチは、他の装置と接続するポート番号と当該接続する他の装置のMACアドレスとを対応付けて記憶するMAC学習テーブルを備えるMAC学習型のL2スイッチであった場合、正確に迂回路を確保することが可能である。
例えば、障害が発生して遮断されたネットワークに学習型のL2スイッチが存在する場合に、通常ならば、ネットワークを接続するルータ間の迂回路を決定しても、学習型L2スイッチに接続される装置に対して通信ができなくなるが、学習型L2スイッチの学習テーブルを書き換えることで、学習型L2スイッチに接続される装置に対して正確に迂回路を確保することが可能である。
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下に示すように、(1)障害検出手法、(2)トンネリング、(3)事前に迂回路を決定、(4)事前にトンネルリング確立、(5)システム構成等、(6)プログラム、にそれぞれ区分けして異なる実施例を説明する。
(1)障害検出手法
例えば、実施例1〜3では、OSPF HelloパケットまたはICMP Echoパケットにより障害を検出する場合について説明したが、本発明はこれに限定されるものではなく、様々なプロトコルや利用者による目視などで検出してもよい。例えば、RIP(Routing Information Protocol)を用いたり、独自のパケットを送信したりして検出するようにしてもよい。
(2)トンネリング
また、実施例1と2では、決定した迂回路にL2トンネルやL3トンネルを確立する場合を説明したが、本発明はこれに限定されるものではなく、IPsec(Security Architecture for Internet Protocol)などに暗号化通信を行うようにしてもよい。
(3)事前に迂回路を決定
また、実施例1〜3では、障害を検出した際に迂回路を決定する場合を説明したが、本発明はこれに限定されるものではなく、事前に迂回路を決定しておいてもよい。具体的には、障害が検出される前から、あらかじめ記憶する迂回路を、障害によって分断されたネットワークに接続される装置と他のネットワークとの間の通信を確保するための迂回路として決定しておく。このようにすることで、迅速に迂回路を決定し、遮断されたネットワークへの通信を確保することが可能である。
例えば、あらかじめ定めた迂回路を記憶しておき、ネットワークに障害が発生した場合に、当該記憶する迂回路を用いてトンネリングを確立する結果、障害が発生した後に、迂回路を決定するのに比べて、迅速に迂回路を決定し、遮断されたネットワークへの通信を確保することが可能である。
(4)事前にトンネルリング確立
また、実施例1と2では、迂回路を決定した後にトンネリングを確立する場合について説明したが、本発明はこれに限定されるものではなく、事前にトンネルリング確立しておいてもよい。具体的には、サブネットワークに接続される装置と他のネットワークとの間の通信を確保するための迂回路を決定しておき、利用者からの指示によって、決定された迂回路に対して、仮想的な直結通信回路であるトンネリングを事前に確立する。このようにすることで、ネットワークに障害が発生した際に、より迅速に迂回路を確保して通信を確立することが可能である。
例えば、利用者の指示によって、あらかじめ迂回路を決定してトンネリングを確立しておくことで、ネットワーク障害が発生した場合に、通常の通信経路からあらかじめ確立しておいた迂回路に切り替えるだけで、通信を確保することができる結果、より迅速に迂回路を確保して通信を確立することが可能である。
(5)システム構成等
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合(例えば、迂回路決定部とトンネリング確立部とを統合するなど)して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理(例えば、ルーティング処理やパケットに対する応答処理など)の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理(例えば、目視による障害検出)の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報(例えば、ルーティングテーブルやMAC学習テーブルなど)については、特記する場合を除いて任意に変更することができる。
(6)プログラム
ところで、上記の実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することができる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するコンピュータシステムを他の実施例として説明する。
図8は、通信制御プログラムを実行するコンピュータシステムの例を示す図である。図8に示すように、コンピュータシステム80は、RAM81と、HDD82と、ROM83と、CPU84とから構成される。ここで、ROM83には、上記の実施例と同様の機能を発揮するプログラム、つまり、図8に示すように、ルーティング実行プログラム83aと、障害検出プログラム83bと、迂回路決定プログラム83cと、トンネリング確立プログラム83dとがあらかじめ記憶されている。
そして、CPU84には、これらのプログラム83a〜83dを読み出して実行することで、図8に示すように、ルーティング実行プロセス84aと、障害検出プロセス84bと、迂回路決定プロセス84cと、トンネリング確立プロセス84dとなる。なお、ルーティング実行プロセス84aは、図3に示した、ルーティング実行部16に対応し、同様に、障害検出プロセス84bは、障害検出部17に対応し、迂回路決定プロセス84cは、迂回路決定部18に対応し、トンネリング確立プロセス84dは、トンネリング確立部19に対応する。
また、HDD82には、ルータにおける経路情報を記憶するルーティングテーブル82aが設けられる。なお、ルーティングテーブル82aは、図3に示した、ルーティングテーブル13に対応する。
ところで、上記したプログラム83aは、必ずしもROM83に記憶させておく必要はなく、例えば、コンピュータシステム80に挿入されるフレキシブルディスク(FD)、CD−ROM、MOディスク、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」の他に、コンピュータシステム80の内外に備えられるハードディスクドライブ(HDD)などの「固定用の物理媒体」、さらに、公衆回線、インターネット、LAN、WANなどを介してコンピュータシステム80に接続される「他のコンピュータシステム」に記憶させておき、コンピュータシステム80がこれらからプログラムを読み出して実行するようにしてもよい。
(付記1)複数の装置およびデータ中継装置から構成されるネットワークと同様に構成される他のネットワークとを通信可能に接続する方法をコンピュータに実行させる通信制御プログラムであって、
前記ネットワーク内で発生した障害を検出する障害検出手順と、
前記障害検出手順により検出された障害によって分断されたネットワークに接続される装置と前記他のネットワークとの間の通信を確保するための迂回路を決定する迂回路決定手順と、
前記迂回路決定手順により決定された迂回路に対して、仮想的な直結通信回路であるトンネリングを確立するトンネリング確立手順と、
をコンピュータに実行させることを特徴とする通信制御プログラム。
(付記2)前記障害検出手順は、前記ネットワークと前記他のネットワークとを接続する通信制御装置に対してOSPFパケットまたはICMPパケットを送信し、前記OSPFパケットおよびICMPパケットに対する応答を前記通信制御装置から受信しなかった場合に、前記ネットワークに障害が発生したと検出することを特徴とする付記1に記載の通信制御プログラム。
(付記3)前記迂回路決定手順は、前記障害検出手順により検出された障害によって分断されたネットワークに接続される装置と前記他のネットワークとの間の通信を確保するための迂回路を、OSPFプロトコルにおけるSPFツリーによって計算されるルーティングテーブルから決定することを特徴とする付記1または2に記載の通信制御プログラム。
(付記4)前記データ中継装置は、他の装置と接続するポート番号と当該接続する他の装置のMACアドレスとを対応付けて記憶するMAC学習テーブルを備えるMAC学習型のデータ中継装置であって、
前記分断されたネットワークの全アドレスに対してARP要求パケットを送信して受信した前記ARP要求パケットに対する応答から、自装置が通信可能である装置のMACアドレスとIPアドレスとから構成される通信可能リストを生成して、前記分断されたネットワークと前記他のネットワークとを接続する通信制御装置に対して送信するとともに、前記通信制御装置により生成された通信可能リストを受信する通信可能リスト生成手順をさらにコンピュータに実行させ、
前記迂回路決定手順は、前記通信可能リスト生成手順により受信された前記通信可能リストのMACアドレスを送信元アドレス、IPアドレスを送信元IPアドレスとしたARP要求パケットを前記データ中継装置に送信して前記MAC学習テーブルを書き換えることで、前記迂回路を決定することを特徴とする付記1または2に記載の通信制御プログラム。
(付記5)前記迂回路決定手順は、障害が検出される前から、あらかじめ記憶する迂回路を、前記障害によって分断されたネットワークに接続される装置と前記他のネットワークとの間の通信を確保するための迂回路として決定することを特徴とする付記1または2に記載の通信制御プログラム。
(付記6)前記迂回路決定手順は、前記ネットワークに接続される装置と前記他のネットワークとの間の通信を確保するための迂回路を決定しておくものであって、
前記トンネリング確立手順は、利用者からの指示によって、前記迂回路決定手順により決定された迂回路に対して、仮想的な直結通信回路であるトンネリングを事前に確立することを特徴とする付記1または2に記載の通信制御プログラム。
(付記7)前記トンネリング確立手順は、仮想的な直結通信回路として、データリンク層であるレイヤ2またはネットワーク層であるレイヤ3に対応するトンネリングを確立することを特徴とする付記1〜6のいずれか一つに記載の通信制御プログラム。
(付記8)複数の装置およびデータ中継装置から構成されるネットワークと同様に構成される他のネットワークとを通信可能に接続する通信制御装置であって、
前記ネットワーク内で発生した障害を検出する障害検出手段と、
前記障害検出手段により検出された障害によって分断されたネットワークに接続される装置と前記他のネットワークとの間の通信を確保するための迂回路を決定する迂回路決定手段と、
前記迂回路決定手段により決定された迂回路に対して、仮想的な直結通信回路であるトンネリングを確立するトンネリング確立手段と、
を備えたことを特徴とする通信制御装置。
(付記9)複数の装置およびデータ中継装置から構成されるネットワークと同様に構成される他のネットワークとを通信可能に接続することに適した通信制御方法であって、
前記ネットワーク内で発生した障害を検出する障害検出工程と、
前記障害検出工程により検出された障害によって分断されたネットワークに接続される装置と前記他のネットワークとの間の通信を確保するための迂回路を決定する迂回路決定工程と、
前記迂回路決定工程により決定された迂回路に対して、仮想的な直結通信回路であるトンネリングを確立するトンネリング確立工程と、
を含んだことを特徴とする通信制御方法。
以上のように、本発明に係る通信制御プログラムは、複数の装置およびデータ中継装置から構成されるネットワークと同様に構成される他のネットワークとを通信可能に接続することに有用であり、特に、迂回路を確保するためのコストを削減すること、ルーティングテーブルのリソースの消費を防止すること、短時間でネットワークを安定させることに適する。
実施例1に係る通信制御装置(ルータ)を含むシステムの全体構成を説明するための図である。 実施例1に係る通信制御装置(ルータ)を含むシステムの全体構成を説明するための図である。 実施例1に係る通信制御装置(ルータ#b)の構成を示すブロック図である。 実施例1に係る通信制御装置(ルータ#b)における迂回路確立処理の流れを示すフローチャートである。 実施例2に係る通信制御装置(ルータ)における障害検出処理の流れを示すシーケンス図である。 実施例3に係る通信制御装置(ルータ)の全体構成を示す図である。 実施例3に係る通信制御装置(ルータ#a)におけるMAC学習テーブル更新処理の流れを示すフローチャートである。 通信制御プログラムを実行するコンピュータシステムの例を示す図である。 従来技術を説明するための図である。 従来技術を説明するための図である。
符号の説明
10 ルータ#b
11 通信制御I/F部
12 記憶部
13 ルーティングテーブル
15 制御部
16 ルーティング実行部
17 障害検出部
18 迂回路決定部
19 トンネリング確立部
80 コンピュータシステム
81 RAM
82 HDD
83 ROM
83a ルーティング実行プログラム
83b 障害検出プログラム
83c 迂回路決定プログラム
83d トンネリング確立プログラム
84 CPU
84a ルーティング実行プロセス
84b 障害検出プロセス
84c 迂回路決定プロセス
84d トンネリング確立プロセス

Claims (5)

  1. 複数の装置およびデータ中継装置から構成されるネットワークと同様に構成される他のネットワークとを通信可能に接続する方法をコンピュータに実行させる通信制御プログラムであって、
    前記ネットワーク内で発生した障害を検出する障害検出手順と、
    前記障害検出手順により検出された障害によって分断されたネットワークに接続される装置と前記他のネットワークとの間の通信を確保するための迂回路を決定する迂回路決定手順と、
    前記迂回路決定手順により決定された迂回路に対して、仮想的な直結通信回路であるトンネリングを確立するトンネリング確立手順と、
    をコンピュータに実行させることを特徴とする通信制御プログラム。
  2. 前記障害検出手順は、前記ネットワークと前記他のネットワークとを接続する通信制御装置に対してOSPFパケットまたはICMPパケットを送信し、前記OSPFパケットおよびICMPパケットに対する応答を前記通信制御装置から受信しなかった場合に、前記ネットワークに障害が発生したと検出することを特徴とする請求項1に記載の通信制御プログラム。
  3. 前記迂回路決定手順は、前記障害検出手順により検出された障害によって分断されたネットワークに接続される装置と前記他のネットワークとの間の通信を確保するための迂回路を、OSPFプロトコルにおけるSPFツリーによって計算されるルーティングテーブルから決定することを特徴とする請求項1または2に記載の通信制御プログラム。
  4. 前記データ中継装置は、他の装置と接続するポート番号と当該接続する他の装置のMACアドレスとを対応付けて記憶するMAC学習テーブルを備えるMAC学習型のデータ中継装置であって、
    前記分断されたネットワークの全アドレスに対してARP要求パケットを送信して受信した前記ARP要求パケットに対する応答から、自装置が通信可能である装置のMACアドレスとIPアドレスとから構成される通信可能リストを生成して、前記分断されたネットワークと前記他のネットワークとを接続する通信制御装置に対して送信するとともに、前記通信制御装置により生成された通信可能リストを受信する通信可能リスト生成手順をさらにコンピュータに実行させ、
    前記迂回路決定手順は、前記通信可能リスト生成手順により受信された前記通信可能リストのMACアドレスを送信元アドレス、IPアドレスを送信元IPアドレスとしたARP要求パケットを前記データ中継装置に送信して前記MAC学習テーブルを書き換えることで、前記迂回路を決定することを特徴とする請求項1または2に記載の通信制御プログラム。
  5. 前記トンネリング確立手順は、仮想的な直結通信回路として、データリンク層であるレイヤ2またはネットワーク層であるレイヤ3に対応するトンネリングを確立することを特徴とする請求項1〜4のいずれか一つに記載の通信制御プログラム。
JP2007005179A 2007-01-12 2007-01-12 通信制御プログラム Expired - Fee Related JP4773981B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007005179A JP4773981B2 (ja) 2007-01-12 2007-01-12 通信制御プログラム
US11/970,973 US7864666B2 (en) 2007-01-12 2008-01-08 Communication control apparatus, method and program thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007005179A JP4773981B2 (ja) 2007-01-12 2007-01-12 通信制御プログラム

Publications (2)

Publication Number Publication Date
JP2008172636A true JP2008172636A (ja) 2008-07-24
JP4773981B2 JP4773981B2 (ja) 2011-09-14

Family

ID=39617676

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007005179A Expired - Fee Related JP4773981B2 (ja) 2007-01-12 2007-01-12 通信制御プログラム

Country Status (2)

Country Link
US (1) US7864666B2 (ja)
JP (1) JP4773981B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011259322A (ja) * 2010-06-10 2011-12-22 Fujitsu Ltd 通信システム、通信方法およびスイッチ
JP2014107652A (ja) * 2012-11-27 2014-06-09 Mitsubishi Electric Corp パケット中継装置および広域公衆回線迂回装置
JP2017034365A (ja) * 2015-07-30 2017-02-09 日本電信電話株式会社 ネットワークシステムおよびパケット転送方法
US9806996B2 (en) 2014-04-28 2017-10-31 Fujitsu Limited Information processing system and control method for information processing system

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8432913B2 (en) * 2008-04-22 2013-04-30 Nec Corporation Relay device, network system, route switching method, and recording medium
JP2010177752A (ja) * 2009-01-27 2010-08-12 Hitachi Ltd ネットワーク通信装置
CN102984062B (zh) * 2012-11-29 2016-06-15 中兴通讯股份有限公司 一种子网路由的处理方法及报文转发设备
CN104168193B (zh) * 2014-08-12 2017-12-15 华为技术有限公司 一种虚拟路由器冗余协议故障检测的方法及路由设备
US10630543B1 (en) * 2017-03-17 2020-04-21 Amazon Technologies, Inc. Wireless mesh network implementation for IOT devices
CN108040219A (zh) * 2017-11-03 2018-05-15 江西高创保安服务技术有限公司 一种基于子网检测的视频监控流媒体传输方法
JP7046756B2 (ja) * 2018-08-01 2022-04-04 株式会社日立製作所 ネットワーク中継装置、ネットワーク中継方法、及びネットワーク中継プログラム
CN112770338B (zh) * 2019-10-21 2022-11-04 华为技术有限公司 通信方法和通信装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007150972A (ja) * 2005-11-30 2007-06-14 Mitsubishi Electric Corp パケット中継装置およびパケット中継システム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5963540A (en) * 1997-12-19 1999-10-05 Holontech Corporation Router pooling in a network flowswitch
US6535481B1 (en) * 1999-08-20 2003-03-18 Nortel Networks Limited Network data routing protection cycles for automatic protection switching
US7292535B2 (en) * 2002-05-23 2007-11-06 Chiaro Networks Ltd Highly-available OSPF routing protocol
US7230913B1 (en) * 2002-06-11 2007-06-12 Cisco Technology, Inc. MPLS fast reroute without full mesh traffic engineering
JP3773918B2 (ja) 2003-05-30 2006-05-10 アンリツ株式会社 ネットワーク間接続装置及びネットワーク間接続方法
JP4434867B2 (ja) * 2004-07-15 2010-03-17 富士通株式会社 Mplsネットワークシステム及びノード

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007150972A (ja) * 2005-11-30 2007-06-14 Mitsubishi Electric Corp パケット中継装置およびパケット中継システム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011259322A (ja) * 2010-06-10 2011-12-22 Fujitsu Ltd 通信システム、通信方法およびスイッチ
JP2014107652A (ja) * 2012-11-27 2014-06-09 Mitsubishi Electric Corp パケット中継装置および広域公衆回線迂回装置
US9806996B2 (en) 2014-04-28 2017-10-31 Fujitsu Limited Information processing system and control method for information processing system
JP2017034365A (ja) * 2015-07-30 2017-02-09 日本電信電話株式会社 ネットワークシステムおよびパケット転送方法

Also Published As

Publication number Publication date
JP4773981B2 (ja) 2011-09-14
US20080170494A1 (en) 2008-07-17
US7864666B2 (en) 2011-01-04

Similar Documents

Publication Publication Date Title
JP4773981B2 (ja) 通信制御プログラム
CN113765829B (zh) 软件定义联网分布式系统中的活性检测和路由收敛
CN113765782B (zh) 使用前缀独立收敛对底层故障的局部修复
US11431554B2 (en) Mechanism for control message redirection for SDN control channel failures
US11032197B2 (en) Reroute detection in segment routing data plane
US8437272B2 (en) Distinguishing between connectivity verification availability and forwarding protocol functionality in a computer network
WO2018054156A1 (zh) 一种vxlan报文的转发方法、设备及系统
JP5416596B2 (ja) ネットワーク中継装置、ネットワークシステム、それらの制御方法
US10397044B2 (en) Network function virtualization (“NFV”) based communications network resilience
EP3641241A1 (en) Node protection for bum traffic for multi-homed node failure
KR20090003225A (ko) Mac 브리지를 이용하여 멀티홉 메시 네트워크를 연결하기 위한 컴퓨터 구현 방법, 컴퓨터 판독가능 매체, 및 메시 네트워크 연결 장치
CN111064659B (zh) 多宿主节点故障的bum流量的节点保护
BR102021020879A2 (pt) Método para o controle de encaminhamento de tráfego, dispositivo, e sistema
EP1964330B1 (en) Method for reducing fault detection time in a telecommunication network
JP2018007093A (ja) 中継装置の冗長化構成における物理的および論理的非対称ルーティング防止メカニズム
EP3588877B1 (en) Performance monitoring support for cfm over evpn
JP7273125B2 (ja) BIERv6パケットを送信するための方法および第1のネットワークデバイス
JP2007312091A (ja) ルーチング装置および障害復旧方法
US9647924B2 (en) Propagating LDP MAC flush as TCN
JP4215581B2 (ja) ネットワーク中継装置におけるネットワーク障害監視方法及びこれを適用した中継装置
US20200036580A1 (en) Outside router fault detection
JP2009253874A (ja) 冗長プロトコル共存システム及び転送装置
JP2005354424A (ja) Vpls装置、管理装置およびvplsシステム
JP2007096561A (ja) 固定的な通信を行う2系統の基幹ネットワークに接続されたサーバ〜端末間の通信経路切替システム
Atadjanova et al. NETWORK ROUTING AND COMMUNICATION ALGORITHM

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091014

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110405

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110601

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110621

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110624

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140701

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees