(58)【調査した分野】(Int.Cl.,DB名)
LANをバックボーンネットワークに接続するゲートウェイスイッチ装置と、前記バックボーンネットワークに接続されたコントローラ装置と、を備える通信システムであって、
前記ゲートウェイスイッチ装置は、
自装置が収容するLANに所属する端末の通信に応じて、宛先の端末のネットワーク上の位置情報を学習するとともに、学習した前記位置情報を前記コントローラ装置に学習させる第1学習部と、
自装置以外のゲートウェイスイッチ装置に収容されるLANに所属する端末の位置情報を、前記コントローラ装置から取得する位置情報リクエスト部と、
を備え、
前記コントローラ装置は、
前記ゲートウェイスイッチ装置から送信された学習情報に基づいて各LANに所属する端末の位置情報を学習する第2学習部と、
前記ゲートウェイスイッチ装置の要求に応じて、前記要求に応じた位置情報を前記ゲートウェイスイッチ装置に提供する位置情報提供部と、
前記第2学習部が前記ゲートウェイスイッチ装置によって学習させられた位置情報を、当該ゲートウェイスイッチ装置と同じグループに所属する他のゲートウェイスイッチ装置と共有する位置情報共有部と、
を備え、
前記位置情報共有部は、前記学習情報の受信を契機に前記位置情報を送信する、
通信システム。
LANをバックボーンネットワークに接続するゲートウェイスイッチ装置と、前記バックボーンネットワークに接続されたコントローラ装置と、を備える通信システムにおける、前記LANに所属する端末の位置を学習する端末位置学習方法であって、
前記ゲートウェイスイッチ装置が、
自装置が収容するLANに所属する端末の通信に応じて、宛先の端末のネットワーク上の位置情報を学習するとともに、学習した前記位置情報を前記コントローラ装置に学習させる第1学習ステップと、
自装置以外のゲートウェイスイッチ装置に収容されるLANに所属する端末の位置情報を、前記コントローラ装置から取得する位置情報取得ステップと、
前記コントローラ装置が、
前記ゲートウェイスイッチ装置から送信された学習情報に基づいて各LANに所属する端末の位置情報を学習する第2学習ステップと、
前記ゲートウェイスイッチ装置の要求に応じて、前記要求に応じた位置情報を前記ゲートウェイスイッチ装置に提供する位置情報提供ステップと、
前記第2学習ステップで前記ゲートウェイスイッチ装置によって学習させられた位置情報を、当該ゲートウェイスイッチ装置と同じグループに所属する他のゲートウェイスイッチ装置と共有する位置情報共有ステップと、
を有し、
前記位置情報共有ステップでは、前記学習情報の受信を契機に前記位置情報を送信する、
端末位置学習方法。
【発明を実施するための形態】
【0022】
<第1実施形態>
図1は第1実施形態の通信システム100の概略を示す図である。通信システム100は、1つのバックボーンネットワーク1と、4つのLAN2(LAN2−1〜2−4)と、4つのゲートウェイスイッチ装置3(ゲートウェイスイッチ装置3−1〜3−4)と、を備え、各LAN2をレイヤ2プロトコルで接続する広域イーサネットを実現する。バックボーンネットワーク1は一以上のレイヤ2スイッチ(図示せず)によって構成されるPBB方式のネットワークである。具体的には、各レイヤ2スイッチは受信フレームのB−MACヘッダに基づいてフレームを宛先のレイヤ2スイッチに転送する。ゲートウェイスイッチ装置3は、バックボーンネットワーク1のエッジに位置するレイヤ2スイッチであり、自装置が収容するLAN2との間でフレームを転送することにより、LAN2をバックボーンネットワーク1に接続する。具体的には、ゲートウェイスイッチ装置3は、LAN2側からバックボーンネットワーク1側に転送するフレームに対してB−MACヘッダを付加し、バックボーンネットワーク1側からLAN2側に転送するフレームからB−MACヘッダを削除する。
【0023】
このような、広域イーサネットをPBB方式で実現する通信システム100において、各ゲートウェイスイッチ装置3は各LAN2に所属する端末の通信に応じて、通信の宛先となる端末のネットワーク上の位置情報を取得する。具体的には、位置情報には、端末と、端末が所属するLAN2を収容するゲートウェイスイッチ装置3との対応を示す情報が少なくとも含まれる。各ゲートウェイスイッチ装置3は、それぞれ位置情報記憶部31を備え、取得した位置情報を位置情報記憶部31に記憶させることで、端末の位置情報を学習する。
【0024】
図2は、位置情報の具体例を示す図である。以下、
図1及び
図2を参照して、ゲートウェイスイッチ装置3による位置情報の学習の概略について説明する。
【0025】
例えば、LAN2−1に所属する端末5−1がLAN2−2に所属する端末5−2のMACアドレスを取得するために、端末5−2のIPアドレスを宛先とするARP(Address Resolution Protocol)フレームを送出した場合を考える。なお、簡単のため、ここでは、いずれのゲートウェイスイッチ装置3も、端末5−1及び端末5−2の位置情報を学習していないものと仮定する。この場合、まず、ARPフレームはゲートウェイスイッチ装置3−1によって受信される。ゲートウェイスイッチ装置3−1は、受信したARPフレームにB−MACヘッダを付加してバックボーンネットワーク1側にブロードキャストする。ここで付加されるB−MACヘッダには、ARPフレームの転送元であるゲートウェイスイッチ装置3−1のMACアドレスが含まれる。
【0026】
ゲートウェイスイッチ装置3−1からブロードキャストされたARPフレームは、バックボーンネットワーク1を構成する全てのレイヤ2スイッチ(ゲートウェイスイッチ装置3を含む)によって受信される。ARPフレームを受信した各ゲートウェイスイッチ装置3は、受信したARPフレームのB−MACヘッダ及びMACヘッダを参照し、ARPフレームを送信した端末5−1と、ARPフレームの転送元であるゲートウェイスイッチ装置3−1との対応関係を端末5−1の位置情報として学習する。具体的には、ゲートウェイスイッチ装置3−2〜3−4は、
図2(A)のような対応関係を示す位置情報を学習する。そして、各ゲートウェイスイッチ装置3は、B−MACヘッダを削除したARPフレームを、それぞれが収容するLAN2側にブロードキャストする。その結果、ARPフレームの宛先である端末5−2のみがARPフレームを受信する。
【0027】
端末5−2は、端末5−1に対して自装置のMACアドレスを応答するためのARP応答フレームを生成してゲートウェイスイッチ装置3−2に返信する。ゲートウェイスイッチ装置3−2は、端末5−2から返信されたARP応答フレームにB−MACヘッダを付加してバックボーンネットワーク1側に送出することにより、ARP応答フレームをゲートウェイスイッチ装置3−1に転送する。なお、この時点においてゲートウェイスイッチ装置3−2は端末5−1の位置情報を学習済みであり、B−MACヘッダにおいてARP応答フレームの転送先を指定することができる。そのため、ARP応答フレームの送信時においてARP応答フレームがブロードキャストされることはない。その結果、ゲートウェイスイッチ装置3−1のみがARP応答フレームを受信する。
【0028】
ゲートウェイスイッチ装置3−1は、受信したARP応答フレームのB−MACヘッダ及びMACヘッダを参照し、ARP応答フレームを送信した端末5−2と、ARP応答フレームの転送元であるゲートウェイスイッチ装置3−2との対応関係を端末5−2の位置情報として学習する。具体的には、ゲートウェイスイッチ装置3−1は、
図2(B)のような対応関係を示す位置情報を学習する。そして、ゲートウェイスイッチ装置3−1は、B−MACヘッダを削除したARP応答フレームを、ARP応答フレームの宛先である端末5−1を収容するLAN2側に転送する。その結果、ARP応答フレームは端末5−1によって受信され、端末5−1は受信したARP応答フレームから端末5−2のMACアドレスを取得する。
【0029】
以上、PBB方式におけるMACアドレスの学習方法の概略を説明したが、上記方法の学習のみでは、各ゲートウェイスイッチ装置3は、自装置のLAN側に収容された端末(以下、「収容端末」という。)については、通信先となる端末の位置情報を学習することができるが、他のゲートウェイスイッチ装置3の収容端末の通信先となる端末の位置情報を学習することはできない。そのため、各ゲートウェイスイッチ装置3は、収容端末から位置情報が学習されていない端末への通信が発生する度にARPフレームをブロードキャストすることとなってしまい、バックボーンネットワーク1の通信帯域を圧迫してしまう可能性がある。
【0030】
そこで、第1実施形態のゲートウェイスイッチ装置3は、従来の学習手段を補完する新たな学習手段をさらに備えることによって上述の課題を解決する。以下、第1実施形態のゲートウェイスイッチ装置3の詳細について説明する。
【0031】
図3は、第1実施形態のゲートウェイスイッチ装置3の機能構成の具体例を示す図である。ゲートウェイスイッチ装置3は、バスで接続されたCPU(Central Processing Unit)やメモリや補助記憶装置などを備え、ゲートウェイスイッチ装置プログラムを実行する。ゲートウェイスイッチ装置3は、ゲートウェイスイッチ装置プログラムの実行によって位置情報記憶部31、第1通信部32、第2通信部33、フレーム転送部34、位置情報学習部35及び位置情報リクエスト部36を備える装置として機能する。なお、ゲートウェイスイッチ装置3の各機能の全て又は一部は、ASIC(Application Specific Integrated Circuit)やPLD(Programmable Logic Device)やFPGA(Field Programmable Gate Array)等のハードウェアを用いて実現されてもよい。ゲートウェイスイッチ装置プログラムは、コンピュータ読み取り可能な記録媒体に記録されてもよい。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。ゲートウェイスイッチ装置プログラムは、電気通信回線を介して送信されてもよい。
【0032】
位置情報記憶部31は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。位置情報記憶部31は端末5の位置情報を記憶する。位置情報は、位置情報学習部35によって取得される。
【0033】
第1通信部32は、自装置をバックボーンネットワーク1に接続する通信インターフェースである。
第2通信部33は、自装置をLAN2に接続する通信インターフェースである。
【0034】
フレーム転送部34は、学習済みの位置情報に基づいて受信フレームの転送処理を行う。フレーム転送部34が行う転送処理には、第1の転送処理と第2の転送処理とがある。第1の転送処理は、自装置に収容されるLAN2の間でフレームを転送する場合の転送処理である。第2の転送処理は、自装置に収容されるLAN2とバックボーンネットワーク1との間でフレームを転送する場合の転送処理である。フレーム転送部34は、LAN2側からバックボーンネットワーク1側にフレームを転送する場合、フレーム転送部34はフレームにB−MACヘッダを付加してバックボーンネットワーク1側に送出する。一方、バックボーンネットワーク1側からLAN2側にフレームを転送する場合、フレーム転送部34は、フレームに付加されたB−MACヘッダを削除してLAN2側に送出する。
【0035】
位置情報学習部35(第1学習部)は、異なるLAN2に収容される端末間の通信に応じて、各端末の位置情報を学習する。具体的には、位置情報学習部35は従来方法で端末の位置情報を学習する機能に加え、学習した位置情報を当該端末に応じた他のゲートウェイスイッチ装置3に学習させる機能を有する。
【0036】
位置情報リクエスト部36は、学習済みでない端末の位置情報を、当該端末に応じた他のゲートウェイスイッチ装置3から取得する機能を有する。また、位置情報リクエスト部36は、他のゲートウェイスイッチ装置3の要求に応じて、自装置に記憶されている位置情報を要求元のゲートウェイスイッチ装置3に送信する機能を有する。
【0037】
図4は、第1実施形態の通信システム100における位置情報の学習の流れを示すシーケンス図である。なお以下の説明では、ARPフレームの送信元である端末を送信元端末と称し、ARPフレームの宛先となる端末を宛先端末と称する。また以下の説明では、送信元端末が所属するLAN2を収容するゲートウェイスイッチ装置3を「転送元」のゲートウェイスイッチ装置3と称し、宛先端末が所属するLAN2を収容するゲートウェイスイッチ装置3を「転送先」のゲートウェイスイッチ装置3と称する。
【0038】
この場合、まず送信元端末が転送元のゲートウェイスイッチ装置3に対してARPフレームを送信する(ステップS201)。転送元のゲートウェイスイッチ装置3は、送信元端末から送信されたARPフレームを受信すると、学習済みの位置情報を検索し(ステップS202)、宛先端末の位置情報が学習済みであるか否かを判定する。ここで、宛先端末の位置情報が学習済みでない場合、転送元のゲートウェイスイッチ装置3は、宛先端末に応じた他のゲートウェイスイッチ装置3に対して宛先端末の位置情報を要求する(ステップS203)。
【0039】
例えば、ゲートウェイスイッチ装置3は、宛先端末のIPアドレスを所定の識別器に入力することによって、位置情報の要求先となる他のゲートウェイスイッチ装置3の識別情報を取得する。この識別器は、IPアドレスの入力に対して、いずれかの他のゲートウェイスイッチ装置3の識別情報を出力する機能を有すればどのような手段で実現されてもよい。ここでは簡単のため、上記識別器は、IPアドレスの入力に対して、他のいずれかのゲートウェイスイッチ装置3のMACアドレスを出力する関数であると仮定する。位置情報リクエスト部36は、識別器から出力されたMACアドレスが示すゲートウェイスイッチ装置3を、位置情報の要求先のゲートウェイスイッチ装置3として選択する。要求先のゲートウェイスイッチ装置3は、宛先端末の位置情報を学習済みである場合には宛先端末の位置情報を要求元(転送元)のゲートウェイスイッチ装置3に応答し、宛先端末の位置情報を学習していない場合には宛先端末の位置情報を保持していないことを要求元(転送元)のゲートウェイスイッチ装置3に応答する。
【0040】
続いて、転送元のゲートウェイスイッチ装置3はARPフレームにB−MACヘッダを付加する(ステップS204)。このとき転送元のゲートウェイスイッチ装置3は、宛先端末の位置情報が自装置又は要求先のゲートウェイスイッチ装置3から取得可能である場合には、位置情報が示すゲートウェイスイッチ装置3をARPフレームの転送先とするB−MACヘッダを付加する。一方、宛先端末の位置情報が自装置及び要求先のゲートウェイスイッチ装置3のいずれからも取得できない場合には、ブロードキャストアドレスを転送先とするB−MACヘッダを付加する。ゲートウェイスイッチ装置3は、B−MACヘッダが付加されたARPフレームをバックボーンネットワーク1側に送出する(ステップS205)。これにより、ARPフレームは、宛先端末の位置情報が取得可能である場合には転送先のゲートウェイスイッチ装置3にユニキャストされ、宛先端末の位置情報が取得できない場合にはゲートウェイスイッチ装置3を含む全てのレイヤ2スイッチにブロードキャストされる。
【0041】
続いて、転送先のゲートウェイスイッチ装置3は、受信したARPフレームのB−MACヘッダ及びMACヘッダに基づいて送信元端末の位置情報を学習する(ステップS206)とともに、学習した位置情報(以下、「学習情報」という。)を他のゲートウェイスイッチ装置3に送信する(ステップS207及びS208)。ここで学習情報の送信先となる他のゲートウェイスイッチ装置3には、ステップS203と同様に宛先端末に応じたゲートウェイスイッチ装置3が選択される。学習情報を受信したゲートウェイスイッチ装置3は、学習情報を自装置の位置情報記憶部31に記憶することで宛先端末の位置情報を学習する。
【0042】
続いて、転送先のゲートウェイスイッチ装置3は、受信したARPフレームからB−MACヘッダを削除する(ステップS208)。転送先のゲートウェイスイッチ装置3は、B−MACヘッダが削除されたARPフレームを自装置が収容するLAN2側に転送する(ステップS209)。ここで、転送先のゲートウェイスイッチ装置3は、自装置が収容する全てのLAN2にARPフレームをブロードキャストしてもよいし、宛先端末の位置情報が学習済みであればARPフレームを宛先端末のみにユニキャストしてもよい。
【0043】
続いて、宛先端末は、ARPフレームを受信すると、送信元端末に自装置のMACアドレスを応答するためのARP応答フレームを生成する(ステップS210)。宛先端末は、生成したARP応答フレームを送信端末宛てに送信する(ステップS211)。宛先端末から送信されたARP応答フレームは、まず転送先のゲートウェイスイッチ装置3によって受信される。転送先のゲートウェイスイッチ装置3は、ステップS206において学習した位置情報に基づいて、転送元のゲートウェイスイッチ装置3を転送先とするB−MACヘッダをARP応答フレームに付加する(ステップS212)。転送先のゲートウェイスイッチ装置3は、B−MACヘッダを付加したARP応答フレームをバックボーンネットワーク1側に送出する(ステップS213)。これにより、ARP応答フレームが転送元のゲートウェイスイッチ装置3にユニキャストされる。
【0044】
続いて、転送元のゲートウェイスイッチ装置3は、受信したARP応答フレームのB−MACヘッダ及びMACヘッダに基づいて宛先端末の位置情報を学習する(ステップS214)とともに、学習した位置情報(学習情報)を他のゲートウェイスイッチ装置3に送信する(ステップS215)。ここで学習情報の送信先となる他のゲートウェイスイッチ装置3には、ARP応答フレームの宛先である送信元端末に応じたゲートウェイスイッチ装置3が選択される。学習情報を受信したゲートウェイスイッチ装置3は、学習情報を自装置の位置情報記憶部31に記憶することで送信元端末の位置情報を学習する。
【0045】
続いて、転送元のゲートウェイスイッチ装置3は、受信したARP応答フレームからB−MACヘッダを削除する(ステップS216)。転送元のゲートウェイスイッチ装置3は、B−MACヘッダが削除されたARP応答フレームを自装置が収容するLAN2側に転送する(ステップS217)。
【0046】
以上説明した学習方法によれば、ゲートウェイスイッチ装置3は、宛先端末に関する位置情報が自装置に存在しない場合には他のゲートウェイスイッチ装置3に位置情報を問い合わせ、新たな位置情報を学習した場合には学習した位置情報を他のゲートウェイスイッチ装置3に学習させることができる。このような学習機能を備えることにより、ゲートウェイスイッチ装置3は、バックボーンネットワーク1に対してARPフレームがブロードキャストされる頻度をより低減することができる。
【0047】
具体的には、上述の学習方法では、あるゲートウェイスイッチ装置3によって学習された位置情報は、宛先端末のIPアドレスに応じて決定されるいずれかのゲートウェイスイッチ装置3にも学習される。その一方で、ゲートウェイスイッチ装置3は、宛先端末に関する位置情報が自装置に存在しない場合、宛先端末のIPアドレスに応じて決定されるゲートウェイスイッチ装置3に位置情報を問い合わせる。これはすなわち、ある端末の位置情報がいずれかのゲートウェイスイッチ装置3によって一旦学習されてしまえば、他のゲートウェイスイッチ装置3は、当該端末の位置情報を、当該端末のIPアドレスに応じて決定されるゲートウェイスイッチ装置3に問い合わせることで確実に取得することができるということである。そのため、バックボーンネットワーク1に対してARPフレームがブロードキャストされる頻度をより低減することが可能となる。
【0048】
図5は、第1実施形態の通信システム100のシステム構成の具体例を示す図である。
図5の具体例に示される通信システム100は、バックボーンネットワーク1を構成するイーサネットスイッチ4−1〜4−5と、バックボーンネットワーク1と各LAN2−11−1〜2−61−2とを接続するゲートウェイスイッチ装置3(ゲートウェイスイッチ装置3−11〜3−70)と、を備える。各イーサネットスイッチ4は他の複数のイーサネットスイッチ4に接続されマルチパス構成のバックボーンネットワーク1を形成する。このようなマルチパス構成のネットワークにおける通信経路(転送経路)は、SPB(Shortest Path Bridging)やTRILL(Transparent Interconnection of Lots of Links)等の技術によって動的に制御される。また、各LAN2とバックボーンネットワーク1との間では、各ゲートウェイスイッチ装置3がPBB方式に基づいてフレームを転送する。このような構成により、ゲートウェイスイッチ装置3を含むバックボーンネットワーク1内では、B−MACヘッダに基づいてフレームが転送される。
【0049】
イーサネットスイッチ4−1にはゲートウェイスイッチ装置3−11〜3−30が、イーサネットスイッチ4−2にはゲートウェイスイッチ装置3−31〜3−50が、イーサネットスイッチ4−3にはゲートウェイスイッチ装置3−51〜3−70が、それぞれ接続される。また、ゲートウェイスイッチ装置3−k(1≦k≦10)のそれぞれには、LAN2−k−1〜2−k−n
k(n
kは1以上の整数)が接続される。同様に、ゲートウェイスイッチ装置3−61には、LAN2−61−1及び2−61−2が接続される。
図5の例ではn
k=2であるが、各ゲートウェイスイッチ装置3が収容するLAN2の数は任意である。さらに、LAN2−11−1には端末5−11が接続され、LAN2−61−2には端末5−12が接続される。各ゲートウェイスイッチ装置3は、自装置が収容するLAN2とバックボーンネットワーク1との間で転送されるフレームに対してB−MACヘッダを付加又は削除することにより、バックボーンネットワーク1内におけるPBB方式でのフレームの転送を実現する。
【0050】
なお、
図5はあくまで通信システム100の構成の一具体例を示すものであり、通信システム100におけるイーサネットスイッチ4の数や各イーサネットスイッチ4に接続されるゲートウェイスイッチ装置3の数、各ゲートウェイスイッチ装置3に接続されるLAN2の数、各LAN2に接続される端末5の数などは任意である。また、紙面の都合により図示していないが、イーサネットスイッチ4−4及び4−5には、イーサネットスイッチ4−1〜4−3と同様に任意の数のゲートウェイスイッチ装置3がそれぞれ接続されてもよい。また、ゲートウェイスイッチ装置3−21〜3−60やゲートウェイスイッチ装置3−62〜3−70についても、ゲートウェイスイッチ装置3−11〜3−20やゲートウェイスイッチ装置3−61と同様に任意の数のLANがそれぞれ接続されてもよい。
【0051】
以下、
図5に示された通信システム100の具体例を参照し、
図4に示したフローチャートの各ステップにおける具体的な処理の内容について説明する。なお、以下の説明では、必要に応じてARPフレームの送信元であるゲートウェイスイッチ装置3−11を送信側ゲートウェイスイッチ装置と記載し、ARPフレームの宛先であるゲートウェイスイッチ装置3−61を宛先側ゲートウェイスイッチ装置と記載する。
【0052】
(ステップS201)
まず、端末5−11(送信元端末)が端末5−12(宛先端末)のMACアドレスを取得するためのARPフレームを送信側ゲートウェイスイッチ装置3−11に送信する。
【0053】
(ステップS202)
ARPフレームを受信した送信側ゲートウェイスイッチ装置3−11において、フレーム転送部34は、ARPフレームの宛先である端末5−12の位置情報を取得するため、学習済みの位置情報を検索する。例えば、送信側ゲートウェイスイッチ装置3−11は、各端末の位置情報を、端末のIPアドレスをキーとするハッシュテーブルに記憶している。フレーム転送部34は、端末5−12のIPアドレスを検索キーとしてハッシュテーブルを検索する。検索キーがハッシュテーブルに登録されている場合、フレーム転送部34は、検索キーに対応づけられた位置情報をハッシュテーブルから取得する。一方、検索キーがハッシュテーブルに登録されていない場合、フレーム転送部34は、受信されたARPフレームを位置情報リクエスト部36に出力する。
【0054】
(ステップS203)
位置情報リクエスト部36は、フレーム転送部34から出力されたARPフレームから端末5−12のIPアドレスを取得し、取得したIPアドレスに基づいて位置情報の要求先となるゲートウェイスイッチ装置3を識別する。具体的には、位置情報リクエスト部36は、上述の識別器に端末5−12のIPアドレスを入力することによって要求先のゲートウェイスイッチ装置3のMACアドレスを取得する。位置情報リクエスト部36は、取得されたMACアドレスを持つゲートウェイスイッチ装置3に端末5−12のIPアドレスを通知し、端末5−12の位置情報を要求する。
【0055】
要求先のゲートウェイスイッチ装置3では、位置情報リクエスト部36が位置情報の取得要求を受け付ける。位置情報リクエスト部36は、送信側ゲートウェイスイッチ装置3−11から通知された宛先IPアドレスを検索キーとして自装置のハッシュテーブルを検索する。位置情報リクエスト部36は、検索キーがハッシュテーブルに登録されている場合、検索キーに対応づけられた端末5−12の位置情報をハッシュテーブルから取得し、取得した位置情報を送信側ゲートウェイスイッチ装置3−11に応答する。一方、検索キーがハッシュテーブルに登録されていない場合、位置情報リクエスト部36は、端末5−12の位置情報を保持していないことを送信側ゲートウェイスイッチ装置3−11に応答する。
【0056】
(ステップS204及びS205)
送信側ゲートウェイスイッチ装置3−11において、フレーム転送部34は位置情報の取得結果に応じたB−MACヘッダをARPフレームに付加する。具体的には、フレーム転送部34は自装置での検索又は他のゲートウェイスイッチ装置3への問い合わせによって位置情報が取得できた場合、取得された位置情報が示すゲートウェイスイッチ装置3−61のMACアドレスを転送先とするB−MACヘッダを付加する。また、位置情報が取得できなかった場合、フレーム転送部34はブロードキャストアドレスを転送先とするB−MACヘッダを付加する。フレーム転送部34は、B−MACヘッダが付加されたARPフレームをバックボーンネットワーク1側に送出する。これにより、ARPフレームがユニキャスト又はブロードキャストによって宛先側ゲートウェイスイッチ装置3−61に転送される。
【0057】
(ステップS206)
宛先側ゲートウェイスイッチ装置3−61の位置情報学習部35は、送信側ゲートウェイスイッチ装置3−11から転送されたARPフレームのB−MACヘッダ及びIPヘッダに基づいて送信元端末である端末5−11の位置情報を学習する。具体的には、位置情報学習部35は、B−MACヘッダから転送元の送信側ゲートウェイスイッチ装置3−11のMACアドレスを取得するとともにIPヘッダから端末5−11のIPアドレスを取得する。位置情報学習部35は、端末5−11のIPアドレスをキーとしてゲートウェイスイッチ装置3−11のMACアドレスをハッシュテーブルに登録することにより、端末5−11の位置情報を学習する。
【0058】
(ステップS207)
宛先側ゲートウェイスイッチ装置3−61の位置情報学習部35は、端末5−11のIPアドレスに基づいて学習情報の送信先となるゲートウェイスイッチ装置3を識別する。具体的には、位置情報学習部35は、上述の識別器に端末5−11のIPアドレスを入力することによって送信先のゲートウェイスイッチ装置3のMACアドレスを取得する。位置情報学習部35は、取得されたMACアドレスを持つゲートウェイスイッチ装置3に端末5−11に関する学習情報を送信する。送信先のゲートウェイスイッチ装置3は、宛先側ゲートウェイスイッチ装置3−61から送信された学習情報を受信すると、受信した学習情報を自装置のハッシュテーブルに登録する。これにより、送信先のゲートウェイスイッチ装置3は、端末5−11の位置情報を宛先側ゲートウェイスイッチ装置3−61の学習に応じて学習する。
【0059】
(ステップS208及びS209)
宛先側ゲートウェイスイッチ装置3−61のフレーム転送部34は、受信されたARPフレームからB−MACヘッダを削除する。フレーム転送部34は、B−MACヘッダが削除されたARPフレームをLAN2−61−2に転送する。ここで、転送先のゲートウェイスイッチ装置3は、端末5−12がLAN2−61−2に所属することを学習済みでない場合には自装置が収容する全てのLAN2にARPフレームをブロードキャストしてもよい。
【0060】
(ステップS210及びS211)
端末5−12は、ARPフレームの受信に応じて、自装置のMACアドレスを端末5−11に通知するためのARP応答フレームを生成する。端末5−12は、生成したARP応答フレームを送信元端末である端末5−11を宛先として送信する。端末5−12から送信されたARP応答フレームは宛先側ゲートウェイスイッチ装置3−61によって受信される。
【0061】
(ステップS212及びS213)
送信側ゲートウェイスイッチ装置3−11のフレーム転送部34は、ステップS206で学習済みの位置情報に基づいて転送元の送信側ゲートウェイスイッチ装置3−11を転送先とするB−MACヘッダをARP応答フレームに付加する。具体的には、フレーム転送部34は、ARP応答フレームのIPヘッダから送信元端末である端末5−11のIPアドレスを取得する。フレーム転送部34は、端末5−11のIPアドレスをキーとしてハッシュテーブルを検索することにより送信側ゲートウェイスイッチ装置3−11のMACアドレスを取得する。フレーム転送部34は、取得した送信側ゲートウェイスイッチ装置3−11のMACアドレスを転送先とするB−MACヘッダをARP応答フレームに付加する。フレーム転送部34は、B−MACヘッダが付加されたARP応答フレームをLAN2−11−1側に転送する。
【0062】
(ステップS214)
送信側ゲートウェイスイッチ装置3−11のフレーム転送部34は、ステップS206で学習済みの位置情報に基づいて宛先端末である端末5−12の位置情報を学習する。具体的には、位置情報学習部35は、B−MACヘッダから転送先のゲートウェイスイッチ装置3−61のMACアドレスを取得するとともにIPヘッダから端末5−12のIPアドレスを取得する。位置情報学習部35は、端末5−12のIPアドレスをキーとしてゲートウェイスイッチ装置3−61のMACアドレスをハッシュテーブルに登録することにより、端末5−12の位置情報を学習する。
【0063】
(ステップS215)
送信側ゲートウェイスイッチ装置3−11の位置情報学習部35は、端末5−12のIPアドレスに基づいて学習情報の送信先となるゲートウェイスイッチ装置3を識別する。具体的には、位置情報学習部35は、上述の識別器に端末5−12のIPアドレスを入力することによって送信先のゲートウェイスイッチ装置3のMACアドレスを取得する。位置情報学習部35は、取得されたMACアドレスを持つゲートウェイスイッチ装置3に端末5−12に関する学習情報を送信する。送信先のゲートウェイスイッチ装置3は、送信側ゲートウェイスイッチ装置3−11から送信された学習情報を受信すると、受信した学習情報を自装置のハッシュテーブルに登録する。これにより、送信先のゲートウェイスイッチ装置3は、端末5−12の位置情報をゲートウェイスイッチ装置3−11の学習に応じて学習する。
【0064】
(ステップS216及びS217)
ゲートウェイスイッチ装置3−11のフレーム転送部34は、受信されたARP応答フレームからB−MACヘッダを削除する。フレーム転送部34は、B−MACヘッダが削除されたARP応答フレームをLAN2−11−1に転送する。
【0065】
このように構成された第1実施形態の通信システム100では、ゲートウェイスイッチ装置3は、他のゲートウェイスイッチ装置3によって学習された位置情報を、他のゲートウェイスイッチ装置3の学習に応じて学習することができる。具体的には、
図5の具体例の通信システム100では、端末5−11から端末5−12に対するARPフレームの送信に応じて、端末5−12に応じて決定されるゲートウェイスイッチ装置3がゲートウェイスイッチ装置3−12の学習に応じて端末5−11の位置情報を学習し、端末5−11に応じて決定されるゲートウェイスイッチ装置3がゲートウェイスイッチ装置3−11の学習に応じて端末5−61の位置情報を学習することができる。このような学習方法によれば、あるゲートウェイスイッチ装置3によって学習された位置情報が他のゲートウェイスイッチ装置3に分散して保持される可能性が高くなるため、ARPフレームがバックボーンネットワーク1にブロードキャストされる頻度を低減することができる。
【0066】
<第2実施形態>
図6は、第2実施形態の通信システム100aの概略を示す図である。通信システム100aは、ゲートウェイスイッチ装置3に代えてゲートウェイスイッチ装置3aを備える点、コントローラ装置6をさらに備える点で第1実施形態の通信システム100と異なる。ゲートウェイスイッチ装置3aは、位置情報学習部35に代えて位置情報学習部35aを備える点、位置情報リクエスト部36に代えて位置情報リクエスト部36a(図示せず)を備える点で第1実施形態のゲートウェイスイッチ装置3と異なる。位置情報学習部35aは、他のゲートウェイスイッチ装置3aではなくコントローラ装置6に対して学習情報を送信する点で位置情報学習部35と異なる。また、位置情報リクエスト部36aは、他のゲートウェイスイッチ装置3aではなくコントローラ装置6に対して位置情報を要求する点で位置情報リクエスト部36と異なる。
【0067】
コントローラ装置6は、ゲートウェイスイッチ装置3aとの通信により、各ゲートウェイスイッチ装置3aの収容端末に関する位置情報を学習するとともに、各ゲートウェイスイッチ装置3aの要求に応じて、自装置に記憶された位置情報を要求元のゲートウェイスイッチ装置3aに提供する。
【0068】
図7は、第2実施形態のコントローラ装置6の機能構成の具体例を示すブロック図である。コントローラ装置6は、バスで接続されたCPU(Central Processing Unit)やメモリや補助記憶装置などを備え、コントローラ装置プログラムを実行する。コントローラ装置6は、コントローラ装置プログラムの実行によって位置情報記憶部61、位置情報学習部62、位置情報提供部63及び通信部64を備える装置として機能する。なお、コントローラ装置6の各機能の全て又は一部は、ASIC(Application Specific Integrated Circuit)やPLD(Programmable Logic Device)やFPGA(Field Programmable Gate Array)等のハードウェアを用いて実現されてもよい。コントローラ装置プログラムは、コンピュータ読み取り可能な記録媒体に記録されてもよい。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。コントローラ装置プログラムは、電気通信回線を介して送信されてもよい。
【0069】
位置情報記憶部61は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。位置情報記憶部61は、各LAN2に所属する端末5の位置情報を記憶する。具体的には、位置情報記憶部61は各端末5の位置情報を、各端末5に応じた複数のハッシュテーブルに分散して記憶する。
図7は、位置情報が4つのハッシュテーブルに分散して記憶される場合の例である。
【0070】
位置情報学習部62(第2学習部)は、各ゲートウェイスイッチ装置3aから収容端末の位置情報を取得する。具体的には、位置情報学習部62は、各収容端末のIPアドレス及びMACアドレスと、その収容端末が所属するLAN2を収容するゲートウェイスイッチ装置3aのMACアドレスと、その収容端末が所属するLAN2の識別情報(以下、「LAN−ID」という。)と、を位置情報として取得する。位置情報学習部62は、各ゲートウェイスイッチ装置3aから取得される位置情報を、収容端末に応じたハッシュテーブルに記憶させることで、各端末5の位置情報をそれぞれ異なる領域に分散して学習する。
【0071】
位置情報提供部63は、各ゲートウェイスイッチ装置3aの要求に応じて、自装置に記憶された位置情報を要求元のゲートウェイスイッチ装置3aに提供する。また、位置情報提供部63は、要求された位置情報が自装置において学習されていない場合、位置情報の提供を要求された収容端末に対するARPフレームを送信することによって当該収容端末の位置情報を取得する。位置情報提供部63は、取得された位置情報を学習するとともに、要求元のゲートウェイスイッチ装置3aに送信する。
【0072】
通信部64は、コントローラ装置6をバックボーンネットワーク1に接続するための通信インターフェースである。コントローラ装置6は、通信部64を介して各ゲートウェイスイッチ装置3aと通信する。
【0073】
図8は、第2実施形態の通信システム100aにおける位置情報の学習の流れを示すシーケンス図である。ここでは
図8に示す処理のうち、
図4と同様の処理については
図4と同じ符号を付すことにより説明を省略する。
【0074】
ステップS202において、宛先端末の位置情報が学習済みでない場合、転送元のゲートウェイスイッチ装置3aは、コントローラ装置6に対して宛先端末の位置情報を要求する(ステップS301)。このとき、転送元のゲートウェイスイッチ装置3aは、ARPフレームをコントローラ装置6に送信する。コントローラ装置6は、宛先端末の位置情報を学習済みである場合には宛先端末の位置情報を要求元(転送元)のゲートウェイスイッチ装置3aに応答する。一方、転送元のゲートウェイスイッチ装置3aは、宛先端末の位置情報を学習していない場合にはARPフレームをバックボーンネットワーク1にブロードキャストすることにより宛先端末の位置情報を学習する。
【0075】
また、転送先のゲートウェイスイッチ装置3aは、ステップS206において送信元端末の位置情報を学習すると、学習情報をコントローラ装置6に送信する(ステップS302)。同様に、転送元のゲートウェイスイッチ装置3aは、ステップS214において宛先端末の位置情報を学習すると、学習情報をコントローラ装置6に送信する(ステップS303)。学習情報を受信したゲートウェイスイッチ装置3aは、取得した学習情報を学習対象の端末5に応じた領域(ハッシュテーブル)に記憶させることによって送信元端末及び宛先端末の位置情報を学習する。
【0076】
図9は、第2実施形態の通信システム100aのシステム構成の具体例を示す図である。
図9の具体例に示される通信システム100aは、ゲートウェイスイッチ装置3−11〜ゲートウェイスイッチ装置3−70に代えてゲートウェイスイッチ装置3a−11〜ゲートウェイスイッチ装置3a−70を備える点、ゲートウェイスイッチ装置3a−11〜ゲートウェイスイッチ装置3a−70と通信可能なコントローラ装置6をさらに備える点で
図5の具体例と異なる。以下、
図9に示された通信システム100aの具体例を参照し、
図8に示したフローチャートの各ステップにおける具体的な処理の内容について説明する。なおここでは、
図4と同様の処理についての説明は省略する。
【0077】
(ステップS301)
位置情報リクエスト部36aは、ステップS202において自装置が端末5−11の位置情報を学習していない場合、端末5−11の位置情報をコントローラ装置6に要求する。コントローラ装置6の位置情報提供部63は、端末5−11に応じたハッシュテーブルを検索し、端末5−11の位置情報が学習済みであるか否かを判定する。具体的には、位置情報の要求時において、位置情報リクエスト部36aは受信されたARPフレームをコントローラ装置6に送信する。コントローラ装置6の位置情報提供部63は、受信したARPフレームから端末5−12のIPアドレスを取得し、取得したIPアドレスを所定の識別器に入力することによって検索対象のハッシュテーブルを識別する。
【0078】
この識別器は、IPアドレスの入力に対してハッシュテーブルの識別情報(以下、「テーブルID」という。)を出力する機能を有すればどのような手段で実現されてもよい。位置情報提供部63は、識別器から出力されたテーブルIDが示すハッシュテーブルを端末5−11のIPアドレスを検索キーとして検索する。位置情報提供部63は、検索キーが当該ハッシュテーブルに登録されている場合、検索キーに対応づけられた端末5−12の位置情報をハッシュテーブルから取得し、取得した位置情報をゲートウェイスイッチ装置3−11に応答する。一方、検索キーが当該ハッシュテーブルに登録されていない場合、位置情報提供部63は、位置情報学習部62に端末5−12の位置情報の学習を指示する。
【0079】
位置情報学習部62は、受信されたARPフレームをバックボーンネットワーク1にブロードキャストすることにより、端末5−12の位置情報を取得する。位置情報学習部62は、取得された位置情報を端末5−12に応じたハッシュテーブルに記憶して学習するとともに、取得された位置情報をゲートウェイスイッチ装置3−11に応答する。
【0080】
(ステップS302及びS303)
ゲートウェイスイッチ装置3a−61の位置情報学習部35aは、ステップS206における学習情報をコントローラ装置6に送信する。同様に、ゲートウェイスイッチ装置3a−11は、ステップS214における学習情報をコントローラ装置6に送信する。コントローラ装置6は、ゲートウェイスイッチ装置3a−61から送信された学習情報を端末5−11に応じたハッシュテーブルに記憶し、ゲートウェイスイッチ装置3a−11から送信された学習情報を端末5−12に応じたハッシュテーブルに記憶する。
【0081】
このように構成された第2実施形態の通信システム100では、ゲートウェイスイッチ装置3aは自装置で学習されていない位置情報をコントローラ装置6から確実に取得することができる。そのため、各ゲートウェイスイッチ装置3aは、収容端末から送信されたARPフレームをバックボーンネットワーク1側にブロードキャストする必要がなくなる。そのため、ARPフレームがバックボーンネットワーク1にブロードキャストされる頻度を低減することができる。また、コントローラ装置6は、各ゲートウェイスイッチ装置3aの収容端末の位置情報を、収容端末に応じたハッシュテーブルに分散して記憶する。そのため、コントローラ装置6は、各ゲートウェイスイッチ装置3aから位置情報を要求された場合に、宛先端末に応じたハッシュテーブルのみを検索すればよい。そのため、コントローラ装置6において位置情報の検索に要する時間を短縮することができる。
【0082】
<第3実施形態>
図10は、第3実施形態の通信システム100bの概略を示す図である。通信システム100bは、コントローラ装置6aに代えてコントローラ装置6bを備える点で第2実施形態の通信システム100aと異なる。
図10の例では、通信システム100bは、ゲートウェイスイッチ装置3a−A1〜A4、ゲートウェイスイッチ装置3a−B1〜B4、ゲートウェイスイッチ装置3a−C1〜C4、ゲートウェイスイッチ装置3a−D1〜D4を備える。各ゲートウェイスイッチ装置3aは1つ以上のLAN2を収容しバックボーンネットワーク1に接続する。
図10の例では、ゲートウェイスイッチ装置3a−A4がLAN2−A4を収容し、ゲートウェイスイッチ装置3a−C1がLAN2−C1を収容する。
【0083】
なお、第3実施形態の通信システム100bにおいて、各ゲートウェイスイッチ装置3aは複数のグループ(以下、「ゲートウェイグループ」という。)に分割される。コントローラ装置6bは、各ゲートウェイスイッチ装置3aから取得された学習情報を、取得元のゲートウェイスイッチ装置3aと同じグループに所属する他のゲートウェイスイッチ装置3aに共有させる機能を有する。
【0084】
例えば
図10の例は、同じイーサネットスイッチ4に接続されるゲートウェイスイッチ装置3a同士でゲートウェイグループを構成した例である。この場合、ゲートウェイスイッチ装置3a−A1〜3a−A4は同じイーサネットスイッチ4A(図示せず)に接続され、ゲートウェイグループAを構成する。同様に、ゲートウェイスイッチ装置3a−B1〜3a−B4はゲートウェイグループBを、ゲートウェイスイッチ装置3a−C1〜3a−C4はゲートウェイグループCを、ゲートウェイスイッチ装置3a−D1〜3a−D4はゲートウェイグループDを、それぞれ構成する。
【0085】
図11は、ゲートウェイグループの態様の他の具体例を示す図である。
図11の例は、各ゲートウェイスイッチ装置3aを、バックボーンネットワーク1上で同じ論理ネットワークを形成するゲートウェイスイッチ装置3a同士でゲートウェイグループを構成した例である。例えば、論理ネットワークは、バックボーンネットワーク1におけるVLAN(Virtual LAN)である。
図11において各ゲートウェイスイッチ装置3aを結ぶ線は論理ネットワークの接続構成を示している。この場合、同じ論理ネットワークを構成するゲートウェイスイッチ装置3a−A1、3a−B1、3a−C1及び3a−D1がゲートウェイグループAを構成する。同様に、ゲートウェイスイッチ装置3a−A2、3a−B2、3a−C2及び3a−D2がゲートウェイグループBを、ゲートウェイスイッチ装置3a−A3、3a−B3、3a−C3及び3a−D3がゲートウェイグループCを、ゲートウェイスイッチ装置3a−A4、3a−B4、3a−C4及び3a−D4がゲートウェイグループDを、それぞれ構成する。
【0086】
図12は、第3実施形態のコントローラ装置6bの機能構成の具体例を示すブロック図である。コントローラ装置6bは、位置情報共有部65をさらに備える点で第2実施形態のコントローラ装置6aと異なる。位置情報共有部65は、あるゲートウェイスイッチ装置3aが学習した情報を、同じゲートウェイグループに所属する他のゲートウェイスイッチ装置3aに送信する。例えば、位置情報共有部65は、各ゲートウェイスイッチ装置3aから送信された学習情報の受信を契機に位置情報を送信する。
【0087】
図13は、第3実施形態の通信システム100bのシステム構成の具体例を示す図である。
図13において、符号200−1〜200−6及び符号300−1〜300−3はゲートウェイグループを表す。ゲートウェイグループ200−1〜200−6は、
図10の例のように各イーサネットスイッチ4に閉じた範囲で構成されるゲートウェイグループである。一方、ゲートウェイグループ300−1〜300−3は、各イーサネットスイッチ4を跨いで構成されるゲートウェイグループである。
図11の例は、ゲートウェイグループ300をバックボーンネットワーク1におけるVLANに対応づけた例である。以上、説明したゲートウェイグループの態様は一例であり、ゲートウェイグループは他のどのような観点で構成されてもよい。
【0088】
このように構成された第3実施形態の通信システム100bは、各ゲートウェイスイッチ装置3aの位置情報の学習に応じて、位置情報を学習したゲートウェイスイッチ装置3aと同じゲートウェイグループに所属するゲートウェイスイッチ装置3aに学習情報を共有させるコントローラ装置6bを備える。このような構成を備えることにより、そのため、ARPフレームがバックボーンネットワーク1にブロードキャストされる頻度をより低減させることができる。
【0089】
<変形例>
上述した学習情報の共有手段は、各ゲートウェイスイッチ装置3aによって実現されてもよい。この場合、例えばゲートウェイスイッチ装置3aは、学習した位置情報を、同じゲートウェイグループ内の他のゲートウェイスイッチ装置3aと共有する位置情報共有部(図示せず)を備える。この場合、仮にイーサネットスイッチ4のそれぞれが1つのAS(Autonomous System)を構成すると仮定すれば、ゲートウェイグループ300に所属するゲートウェイスイッチ装置3同士がBGP(Border Gateway Protocol)による各AS間の通信を介して位置情報を共有することができる。
【0090】
上述した実施形態におけるゲートウェイスイッチ装置又はコントローラ装置をコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、FPGA(Field Programmable Gate Array)等のプログラマブルロジックデバイスを用いて実現されるものであってもよい。
【0091】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。