(58)【調査した分野】(Int.Cl.,DB名)
前記複数のLANが、複数のグループに分割され、前記複数のグループの各々は、前記アドレス情報記憶部を備える、請求項1又は請求項2に記載の広域LAN構成方法。
【背景技術】
【0002】
広域LANとは、地理的に離れたLAN間などをインターフェースで接続するサービスである。広域LANには、広域イーサネットが含まれる。ここでは、広域イーサネットの一例について説明する。
図9は、広域イーサネットの一例を示す図である。
図9に示される例では、広域イーサネットは、バックボーンネットワーク100を含む。プロバイダエッジ(Provider Edge: PE)ルータ30−1は、バックボーンネットワーク100とLAN20−1との境界に位置し、LAN20−1からの接続を受け付ける。PEルータ30−2は、バックボーンネットワーク100とLAN20−2との境界に位置し、LAN20−2からの接続を受け付ける。PEルータ30−3は、バックボーンネットワーク100とLAN20−3との境界に位置し、LAN20−3からの接続を受け付ける。PEルータ30−4は、バックボーンネットワーク100とLAN20−4との境界に位置し、LAN20−4からの接続を受け付ける。
図9に示される例では、LAN20−1に端末50−1が接続され、LAN20−3に端末50−2が接続されている。
【0003】
端末50−1と端末50−2との間で通信するためには、IPパケットに、下位のレイヤでL2ヘッダが付加されて伝送されることから、MACアドレスの情報が必要となる。MACアドレスは、機器の物理アドレスである。しかし、端末50−1は、IPアドレスとMACアドレスとを関連付けて記憶していないため、端末50−1は、IPアドレスから、MACアドレスの情報を得る必要がある。IPアドレスからMACアドレスの情報を得るプロトコルとして、ARP(Address Resolution Protocol)が知られている(例えば、非特許文献1参照)。
【0004】
ARPを使用して、端末50−1が端末50−2のMACアドレスの情報を得る処理について説明する。
端末50−1は、端末50−1のIPアドレスの情報を含むARPリクエストをブロードキャストする。端末50−1がブロードキャストしたARPリクエストは、PEルータ30−1から、PEルータ30−2、PEルータ30−3、及びPEルータ30−4へ送信される。
PEルータ30−2は、ARPリクエストを受信し、受信したARPリクエストをLAN20−2へブロードキャストする。LAN20−2には、ARPリクエストに含まれるIPアドレスを有する端末は存在しないため、PEルータ30−2は、ARPリクエストに対する応答であるARPリプライを受信しない。
PEルータ30−4は、ARPリクエストを受信し、受信したARPリクエストをLAN20−4へブロードキャストする。LAN20−4には、ARPリクエストに含まれるIPアドレスを有する端末は存在しないため、PEルータ30−4は、ARPリクエストに対する応答であるARPリプライを受信しない。
【0005】
PEルータ30−3は、ARPリクエストを受信し、受信したARPリクエストをLAN20−3へブロードキャストする。LAN20−3には、ARPリクエストに含まれるIPアドレスを有する端末50−2が存在する。端末50−2は、ARPリクエストを受信し、受信したARPリクエストに含まれるIPアドレスが、自端末50−2のIPアドレスと一致するか否かを確認する。端末50−2は、一致することを確認すると、自端末50−2のMACアドレスを含み、端末50−1を宛先とするARPリプライを作成し、作成したARPリプライを送信する。
【0006】
端末50−2が送信したARPリプライは、PEルータ30−3に受信される。PEルータ30−3は、受信したARPリプライをPEルータ30−1へ送信するとともに、端末50−2のIPアドレスとMACアドレスとを関連付けてキャッシュする。PEルータ30−3が送信したARPリプライは、PEルータ30−1に受信され、PEルータ30−1は、受信したARPリプライを端末50−1へ送信するとともに、端末50−2のIPアドレスとMACアドレスとを関連付けてキャッシュする(例えば、非特許文献2参照)。
【発明を実施するための形態】
【0018】
(第一実施形態)
図1は、第一実施形態に係る広域LANの構成を示す図である。広域LAN10の一例は、広域イーサネットであり、広域イーサネットは、バックボーンネットワーク1を含む。バックボーンネットワーク1は、LAN2−1、LAN2−2、LAN2−3、LAN2−4などのLAN間をイーサネット(登録商標)で接続する。
PEルータ3−1はバックボーンネットワーク1とLAN2−1との境界に位置し、PEルータ3−2はバックボーンネットワーク1とLAN2−2との境界に位置し、PEルータ3−3はバックボーンネットワーク1とLAN2−3との境界に位置し、PEルータ3−4はバックボーンネットワーク1とLAN2−4との境界に位置する。
図1に示される例では、LAN2−1に端末(端末装置)5−1が接続され、LAN2−2に端末(端末装置)5−2が接続され、LAN2−3に端末(端末装置)5−3が接続され、LAN2−4に端末(端末装置)5−4が接続されている。
【0019】
PEルータ3−1から見て、PEルータ3−2が一番近い距離に位置し、PEルータ3−3がPEルータ3−2の次に近い距離に位置し、PEルータ3−4が一番遠い距離に位置していると仮定する。換言すれば、PEルータ3−1から見て、PEルータ3−2、PEルータ3−2、及びPEルータ3−2の順に、相対距離が大きくなると仮定する。例えば、PEルータ3−1は東京に位置し、PEルータ3−2は名古屋に位置し、PEルータ3−3は中国に位置し、PEルータ3−4は米国に位置すると仮定する。
以下、LAN2−1、LAN2−2、LAN2−3、及びLAN2−4のうち、任意のLANをLAN2と記載する。また、PEルータ3−1、PEルータ3−2、PEルータ3−3、及びPEルータ3−4のうち、任意のPEルータをPEルータ3と記載する。PEルータ3が備える各構成についても同様である。また、端末5−1、端末5−2、端末5−3、端末5−4のうち、任意の端末を端末5と記載する。
【0020】
PEルータ3は、複数のVPN(Virtual Private Network)を収容する。PEルータ3は、データを目的地まで送信するために、複数のVPNの各々について、バックボーンネットワーク上のデータ配送経路が記載されたルーティングテーブルを記憶する。
PEルータ3は、LAN2に接続された端末5からの接続を受け付け、MPLS(Multi-Protocol Label Switching)などで利用する宛先ラベルの付加や除去などを行う。PEルータ3は、端末5が送信したパケットを受信し、受信したパケットに含まれる経路情報にラベルを付加して、次のPEルータへ転送する。次のPEルータは、受信したパケットに付加されているラベルに基づいて、転送するPEルータを判断し、適切な転送先にパケットを送信する。
また、PEルータ3は、端末5が送信したARPリクエストを受信し、且つ該ARPリクエストに対する応答であるARPリプライを受信した場合に、ARPリクエストに含まれるIPアドレスとARPリプライに含まれるMACアドレスとを関連付けてキャッシュする。
【0021】
(PEルータ)
図2は、第一実施形態に係るプロバイダエッジルータの機能構成の一例を示す図である。PEルータ3は、バスで接続されたCPU(Central Processing Unit)やメモリや補助記憶装置などを備え、プロバイダエッジルータプログラムを実行する。PEルータ3は、プロバイダエッジルータプログラムの実行によってアドレス情報記憶部31、第1通信部32、第2通信部33、フレーム転送部34、及び処理部35を備える装置として機能する。なお、PEルータ3の各機能の全て又は一部は、ASIC(Application Specific Integrated Circuit)やPLD(Programmable Logic Device)やFPGA(Field Programmable Gate Array)等のハードウェアを用いて実現されてもよい。プロバイダエッジルータプログラムは、コンピュータ読み取り可能な記録媒体に記録されてもよい。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。プロバイダエッジルータプログラムは、電気通信回線を介して送信されてもよい。
【0022】
アドレス情報記憶部31は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。アドレス情報記憶部31は、PEルータ3がARPリクエストを送信し、且つ該ARPリクエストに対する応答であるARPリプライを受信した場合に、ARPリクエストに含まれるIPアドレスと、ARPリプライに含まれるMACアドレスとを関連付けて記憶する。
第1通信部32は、自PEルータ3をバックボーンネットワーク1に接続する通信インターフェースである。第1通信部32は、バックボーンネットワーク1から出力されるパケットを、フレーム転送部34へ出力する。また、第1通信部32は、フレーム転送部34が出力するパケットをバックボーンネットワーク1へ出力する。
第2通信部33は、自PEルータ3をLAN2に接続する通信インターフェースである。第2通信部33は、LAN2から出力されるパケットを、フレーム転送部34へ出力する。また、第2通信部33は、フレーム転送部34が出力するパケットをLAN2へ出力する。
【0023】
フレーム転送部34は、ルーティングテーブルを記憶し、ルーティングテーブルに記載されたバックボーンネットワーク1上のデータ配送経路に基づいて受信フレームの転送処理を行う。フレーム転送部34が行う転送処理には、第1の転送処理と第2の転送処理とが含まれる。
第1の転送処理は、自PEルータ3に収容されるLAN2へフレームを転送する処理である。第2の転送処理は、バックボーンネットワーク1へフレームを転送する処理である。フレーム転送部34は、LAN2側からバックボーンネットワーク1側にフレームを転送する場合、転送するフレームにMACヘッダを付加する。一方、フレーム転送部34は、バックボーンネットワーク1側からLAN2側にフレームを転送する場合、フレームに付加されたMACヘッダを削除する。
【0024】
処理部35は、第1通信部32がフレーム転送部34へ出力したパケットを取得する。処理部35は、取得したパケットがARPリクエストである場合、該ARPリクエストに含まれるIPアドレスに関連付けられるMACアドレスが、アドレス情報記憶部31に記憶されているか否かを判定する。
処理部35は、該MACアドレスが、アドレス情報記憶部31に記憶されている場合、その記憶されているMACアドレスを含むARPリプライを作成する。そして、処理部35は、作成したARPリプライを、フレーム転送部34へ出力する。フレーム転送部34は、処理部35が出力したARPリプライを、第1通信部32へ出力する。第1通信部32は、処理部35が出力したARPリプライを、バックボーンネットワーク1へ送信する。
一方、処理部35は、該MACアドレスが、アドレス情報記憶部31に記憶されていない場合、該ARPリクエストを、フレーム転送部34へ出力する。フレーム転送部34は、処理部35が出力したARPリクエストを、第2通信部33へ出力する。第2通信部33は、処理部35が出力したARPリクエストを、LAN2へブロードキャストする。
【0025】
第2通信部33がブロードキャストしたARPリクエストは、LAN2に接続している端末5に受信される。端末5は、ARPリクエストを受信すると、受信したARPリクエストに含まれるIPアドレスと自端末5のIPアドレスとが一致するか否かを判定する。端末5は、ARPリクエストに含まれるIPアドレスと自端末5のIPアドレスとが一致する場合、自端末5のMACアドレスを含むARPリプライを作成し、PEルータ3へ送信する。
PEルータ3の第2通信部33は、端末5が送信したARPリプライを受信し、受信したARPリプライを、フレーム転送部34へ出力する。フレーム転送部34は、第2通信部33が出力したARPリプライを取得し、取得したARPリプライを第1通信部32へ出力するとともに、処理部35へ出力する。第1通信部32は、フレーム転送部34が出力したARPリプライを取得し、取得したARPリプライを、バックボーンネットワーク1へ送信する。処理部35は、フレーム転送部34が出力したARPリプライを取得し、取得したARPリプライに含まれるMACアドレスとARPリクエストに含まれるIPアドレスとを関連付けて、アドレス情報記憶部31へ記憶する。
【0026】
また、PEルータ3の第1通信部32は、バックボーンネットワーク1からのARPリプライを受信し、受信したARPリプライを、フレーム転送部34へ出力する。フレーム転送部34は、第1通信部32が出力したARPリプライを取得し、取得したARPリプライを第2通信部33へ出力するとともに、処理部35へ出力する。第2通信部33は、フレーム転送部34が出力したARPリプライを取得し、取得したARPリプライを、LAN2へ送信する。処理部35は、フレーム転送部34が出力したARPリプライを取得し、取得したARPリプライに含まれるMACアドレスとARPリクエストに含まれるIPアドレスとを関連付けて、アドレス情報記憶部31へ記憶する。
実施形態に係る広域LANでは、PEルータ3−1、PEルータ3−2、PEルータ3−3、及びPEルータ3−4の各々が備えるアドレス情報記憶部31にキャッシュできるデータ量が異なる。具体的には、PEルータ3−2、PEルータ3−3、及びPEルータ3−3の順に、アドレス情報記憶部31にキャッシュできるデータ量が多くなる。
【0027】
(アドレス情報記憶部)
図3は、第一実施形態に係るプロバイダエッジルータが備えるアドレス情報記憶部の一例を示す図である。
図3には、PEルータ3−2が備えるアドレス情報記憶部31−2と、PEルータ3−3が備えるアドレス情報記憶部31−3と、PEルータ3−4が備えるアドレス情報記憶部31−4とが示される。アドレス情報記憶部31−2、アドレス情報記憶部31−3、及びアドレス情報記憶部31−4の各々は、LRU方式で、キャッシュするデータを、管理する。LRU方式では、次のデータが入力された場合には、該次のデータが上に入力され、記憶していたデータを下にシフトさせ、さらに、キャッシュしているデータが参照された場合には、該データは再度上に入力されることによって、入出力を行う。L1はアドレス情報記憶部31−1にキャッシュできるデータ量を示し、L2はアドレス情報記憶部31−2にキャッシュできるデータ量を示し、L3はアドレス情報記憶部31−3にキャッシュできるデータ量を示す。
図3によれば、L1<L2<L3であり、PEルータ3−1からの相対距離が大きくなるにしたがって、アドレス情報記憶部31にキャッシュできるデータ量も増加する。PEルータ3−1からの相対距離が大きくなるにしたがって、キャッシュデータ量が増加することによって、キャッシュできるIPアドレスとMACアドレスとを関連付けた情報の数も増加する。
【0028】
(広域LANの動作)
図4は、第一実施形態に係る広域LANの動作の一例を示すシーケンスチャートである。
図4に示される例では、端末5−1が、端末5−4のMACアドレスの情報を取得する処理について説明する。
(ステップS101)端末5−1は、端末5−4のIPアドレスを含むARPリクエストを作成し、作成したARPリクエストを送信する。
(ステップS102)端末5−1が送信したARPリクエストは、PEルータ3−1によって受信される。PEルータ3−1の第2通信部33−1は、ARPリクエストを受信し、受信したARPリクエストを、フレーム転送部34−1へ出力する。フレーム転送部34−1は、第2通信部33−1が出力したARPリクエストを取得し、取得したARPリクエストを、処理部35−1へ出力する。処理部35−1は、フレーム転送部34−1が出力したARPリクエストを取得し、アドレス情報記憶部31−1に記憶されているIPアドレスを検索することによって、取得したARPリクエストに含まれるIPアドレスに関連付けて、MACアドレスが記憶されているか否かを判定する。記憶されている場合、処理部35−1は、該MACアドレスを、アドレス情報記憶部31−1から取得し、取得したMACアドレスを含むARPリプライを作成する。そして、処理部35−1は、作成したARPリプライをフレーム転送部34−1へ出力する。フレーム転送部34−1は、処理部35−1が出力したARPリプライを、第2通信部33−1へ出力する。第2通信部33−1は、フレーム転送部34−1が出力したARPリプライを、端末5−1へ送信する。
ここでは、記憶されていない場合について説明を続ける。処理部35−1は、ARPリクエストを、フレーム転送部34−1へ出力する。フレーム転送部34−1は、処理部35−1が出力したARPリクエストを、第1通信部32−1へ出力する。第1通信部32−1は、フレーム転送部34−1が出力したARPリクエストを、バックボーンネットワーク1へブロードキャストする。
【0029】
(ステップS103)PEルータ3−2は、PEルータ3−1がブロードキャストしたARPリクエストを受信する。PEルータ3−2において、第1通信部32−2は、ARPリクエストを受信し、受信したARPリクエストを、フレーム転送部34−2へ出力する。フレーム転送部34−2は、第1通信部32−2が出力したARPリクエストを取得し、取得したARPリクエストを、処理部35−2へ出力する。処理部35−2は、フレーム転送部34−2が出力したARPリクエストを取得し、アドレス情報記憶部31−2に記憶されているIPアドレスを検索することによって、取得したARPリクエストに含まれるIPアドレスに関連付けて、MACアドレスが記憶されているか否かを判定する。記憶されている場合の処理については、ステップS102を適用できる。ここでは、記憶されていない場合について説明を続ける。処理部35−2は、ARPリクエストを、フレーム転送部34−2へ出力する。フレーム転送部34−2は、処理部35−2が出力したARPリクエストを、第2通信部33−2へ出力する。第2通信部33−2は、フレーム転送部34−2が出力したARPリクエストを、LAN2−2へブロードキャストする。PEルータ3−2がブロードキャストしたARPリクエストは、端末5−2によって受信される。端末5−2は、受信したARPリクエストに含まれるIPアドレスが、自端末5−2のIPアドレスと一致するか否かを判定する。ARPリクエストに含まれるIPアドレスは端末5−4のIPアドレスであり、端末5−2のIPアドレスとは異なるため、端末5−2は、受信したARPリクエストに対して、ARPリプライを返信しない。
【0030】
(ステップS104)PEルータ3−3は、PEルータ3−1がブロードキャストしたARPリクエストを受信する。PEルータ3−3において、第1通信部32−3は、ARPリクエストを受信し、受信したARPリクエストを、フレーム転送部34−3へ出力する。フレーム転送部34−3は、第1通信部32−3が出力したARPリクエストを取得し、取得したARPリクエストを、処理部35−3へ出力する。処理部35−3は、フレーム転送部34−3が出力したARPリクエストを取得し、アドレス情報記憶部31−3に記憶されているIPアドレスを検索することによって、取得したARPリクエストに含まれるIPアドレスに関連付けて、MACアドレスが記憶されているか否かを判定する。記憶されている場合の処理については、ステップS102を適用できる。ここでは、記憶されていない場合について説明を続ける。処理部35−3は、ARPリクエストを、フレーム転送部34−3へ出力する。フレーム転送部34−3は、処理部35−3が出力したARPリクエストを、第2通信部33−3へ出力する。第2通信部33−3は、フレーム転送部34−3が出力したARPリクエストを、LAN2−3へブロードキャストする。PEルータ3−3がブロードキャストしたARPリクエストは、端末5−3によって受信される。端末5−3は、受信したARPリクエストに含まれるIPアドレスが、自端末5−3のIPアドレスと一致するか否かを判定する。ARPリクエストに含まれるIPアドレスは端末5−4のIPアドレスであり、端末5−3のIPアドレスとは異なるため、端末5−3は、受信したARPリクエストに対して、ARPリプライを返信しない。
【0031】
(ステップS105)PEルータ3−4は、PEルータ3−1がブロードキャストしたARPリクエストを受信する。PEルータ3−4において、第1通信部32−4は、ARPリクエストを受信し、受信したARPリクエストを、フレーム転送部34−4へ出力する。フレーム転送部34−4は、第1通信部32−4が出力したARPリクエストを取得し、取得したARPリクエストを、処理部35−4へ出力する。処理部35−4は、フレーム転送部34−4が出力したARPリクエストを取得し、アドレス情報記憶部31−4に記憶されているIPアドレスを検索することによって、取得したARPリクエストに含まれるIPアドレスに関連付けて、MACアドレスが記憶されているか否かを判定する。記憶されている場合の処理については、ステップS102を適用できる。ここでは、記憶されていない場合について説明を続ける。処理部35−4は、ARPリクエストを、フレーム転送部34−4へ出力する。フレーム転送部34−4は、処理部35−4が出力したARPリクエストを、第2通信部33−4へ出力する。
(ステップS106)PEルータ3−4の第2通信部33−4は、フレーム転送部34−4が出力したARPリクエストを、LAN2−4へブロードキャストする。PEルータ3−4がブロードキャストしたARPリクエストは、端末5−4によって受信される。
(ステップS107)端末5−4は、ARPリクエストを受信し、受信したARPリクエストに含まれるIPアドレスが、自端末5−4のIPアドレスと一致するか否かを判定する。ARPリクエストに含まれるIPアドレスは端末5−4のIPアドレスであり、端末5−4のIPアドレスと一致するため、端末5−4は、受信したARPリクエストに対して、自端末5−4のMACアドレスを含むARPリプライを作成する。
【0032】
(ステップS108)端末5−4は、作成したARPリプライを、PEルータ3−4へ送信する。
(ステップS109)PEルータ3−4は、端末5−4が送信したARPリプライを受信する。PEルータ3−4において、第2通信部33−4は、ARPリプライを受信し、受信したARPリプライを、フレーム転送部34−4へ出力する。フレーム転送部34−4は、第2通信部33−4が出力したARPリプライを取得し、取得したARPリプライを、第1通信部32−4へ出力するとともに、処理部35−4へ出力する。処理部35−4は、フレーム転送部34−4が出力したARPリプライを取得し、取得したARPリプライに含まれるMACアドレスとARPリクエストに含まれるIPアドレスとを関連付けて、アドレス情報記憶部31−4へ記憶することによって学習する。
(ステップS110)PEルータ3−4の第1通信部32−4は、フレーム転送部34−4が出力したARPリプライを取得し、取得したARPリプライを、PEルータ3−1へ送信する。
【0033】
(ステップS111)PEルータ3−1の第1通信部32−1は、PEルータ3−4が転送したARPリプライを受信する。PEルータ3−1において、第1通信部32−1は、受信したARPリプライを、フレーム転送部34−1へ出力する。フレーム転送部34−1は、第1通信部32−1が出力したARPリプライを取得し、取得したARPリプライを、第2通信部33−1へ出力するとともに、処理部35−1へ出力する。処理部35−1は、フレーム転送部34−1が出力したARPリプライを取得し、取得したARPリプライに含まれるMACアドレスとARPリクエストに含まれるIPアドレスとを関連付けて、アドレス情報記憶部31−1へ記憶することによって学習する。
(ステップS112)PEルータ3−1の第2通信部33−1は、フレーム転送部34−1が出力したARPリプライを取得し、取得したARPリプライを、端末5−1へ送信する。
(ステップS113)端末5−1は、PEルータ3−1が転送したARPリプライを取得し、取得したARPリプライに含まれるMACアドレスとARPリクエストに含まれるIPアドレスとを関連付けて記憶することによって学習する。
【0034】
ここでは、端末5−1が、端末5−4のMACアドレスの情報を取得する処理について説明したが、端末5−1が、端末5−2のMACアドレスの情報を取得する処理、及び端末5−1が、端末5−3のMACアドレスの情報を取得する処理についても、
図4のシーケンスチャートを適用できる。
キャッシュできるデータ量は、PEルータ3−2のアドレス情報記憶部31−2、PEルータ3−3のアドレス情報記憶部31−3、PEルータ3−4のアドレス情報記憶部31−4の順に大きくなるため、アドレス情報記憶部31にキャッシュされるIPアドレスとMACアドレスとが関連付けられた情報の保持時間(キャッシュデータの寿命)は、アドレス情報記憶部31−2、アドレス情報記憶部31−3、アドレス情報記憶部31−4の順に長くなると想定される。つまり、アドレス情報記憶部31−2、アドレス情報記憶部31−3、アドレス情報記憶部31−4の順に、IPアドレスとMACアドレスとを関連付けた情報がキャッシュされてから、廃棄されるまでの時間を長くできる。このため、アドレス情報記憶部31−2、アドレス情報記憶部31−3、アドレス情報記憶部31−4の順に、端末5がMACアドレスを要求する場合に、該要求するMACアドレスのエントリが、アドレス情報記憶部31に存在する確率を高くできる。このように構成することによって、PEルータ3が端末5からMACアドレスを要求された場合に、該MACアドレスを取得するために、LAN2へARPリクエストをブロードキャストする回数を減少させることができる。
前述した実施形態では、広域LANが、四台のPEルータを備える場合について説明したが、この例に限られない。例えば、広域LANが、二台から三台のPEルータを備えてもよいし、五台以上のPEルータを備えてもよい。
【0035】
実施形態に係る広域LANによれば、バックボーンネットワークに接続されるLAN同士の距離に応じて、相対距離が大きくなるにしたがって、寿命が長くなるように、キャッシュするMACアドレスの寿命を設定する。このように構成することによって、LAN間の距離が長くなった場合に、キャッシュしたMACアドレスが参照される確率(ヒット確率)を向上させることができるため、要求されたMACアドレスを再取得するために、ARPリクエストがLANに再送信される回数を減少させることができる。このため、アドレス解決のために消費される電力の増大を抑えることができるとともに、アドレス解決に要する時間を短縮できる。
【0036】
(変形例)
変形例に係る広域LANの構成は、
図1を適用できる。変形例に係るPEルータ3は、前述した実施形態に係るPEルータと、アドレス情報記憶部の構成が異なる。
図5は、変形例に係るプロバイダエッジルータが備えるアドレス情報記憶部の一例を示す図である。
図5に示されるように、PEルータ3−2が備えるアドレス情報記憶部31−2、PEルータ3−3が備えるアドレス情報記憶部31−3、及びPEルータ3−4が備えるアドレス情報記憶部31−4は、キャッシュできるデータ量は同じである。ただし、LAN2−1からの距離に応じて、アドレス情報記憶部31へ入力されるデータの位置が異なる。具体的には、PEルータ3−1からの距離が一番近いPEルータ3−2では、アドレス情報記憶部31−2の(3)からデータが入力され、PEルータ3−1からの距離が二番目に近いPEルータ3−3では、アドレス情報記憶部31−3の(2)からデータが入力され、PEルータ3−1からの距離が一番遠いPEルータ3−4では、アドレス情報記憶部31−4の(1)からデータが入力される。データが入力される位置が、(3)、(2)、及び(1)となるにしたがって、キャッシュされるデータの寿命が長くなる。
【0037】
変形例に係る広域LANによれば、バックボーンネットワークに接続されるLAN同士の距離に応じて、距離が長くなるにしたがって、寿命が長くなるように、アドレス情報記憶部31におけるキャッシュデータが入力される位置を設定する。このように構成することによって、LAN間の距離が長くなった場合に、キャッシュしたMACアドレスが参照される確率(ヒット確率)を向上させることができる。このため、要求されたMACアドレスを再取得するために、ARPリクエストがLANに再送信される回数を減少させることができるため、アドレス解決のために消費される電力の増大を抑えることができるとともに、アドレス解決に要する時間を短縮できる。
【0038】
(第二の実施形態)
図6は、第二実施形態に係る広域LANの構成を示す図である。広域LAN10aの一例は、広域イーサネットであり、広域イーサネットは、バックボーンネットワーク1を含む。バックボーンネットワーク1は、LAN2−1、LAN2−2、LAN2−3、LAN2−4などのLAN間をイーサネット(登録商標)で接続する。
PEルータ3a−1はバックボーンネットワーク1とLAN2−1との境界に位置し、PEルータ3a−2はバックボーンネットワーク1とLAN2−2との境界に位置し、PEルータ3a−3はバックボーンネットワーク1とLAN2−3との境界に位置し、PEルータ3a−4はバックボーンネットワーク1とLAN2−4との境界に位置する。
図6に示される例では、LAN2−1に端末5−1が接続され、LAN2−2に端末5−2が接続され、LAN2−3に端末5−3が接続され、LAN2−4に端末5−4が接続されている。
PEルータ3a−1はPEルータ3a−2の近傍に位置し、PEルータ3a−3はPEルータ3a−4の近傍に位置していると仮定する。換言すれば、PEルータ3a−1とPEルータ3a−2とは同じエリアに位置し、PEルータ3a−3とPEルータ3a−4とは同じエリアに位置すると仮定する。
さらに、本実施形態に係る広域LAN10aでは、LAN2−1とLAN2−2とがグループ6−1を構成し、LAN2−3とLAN2−4とがグループ6−2を形成する。グループ6−1に含まれるLAN2−1と接続するPEルータ3a−1とLAN2−2と接続するPEルータ3a−2のうち、PEルータ3a−1を代表ルータとする。代表ルータは、グループ6−1に含まれる複数のLANの各々と接続されるPEルータの全てにキャッシュされるIPアドレスとMACアドレスとを関連付けた情報を記憶する。
【0039】
LAN2−2に接続している端末5−2は、LAN2−4に接続している端末5−4のMACアドレスの情報を取得するために、端末5−4のIPアドレスを含むARPリクエストを作成し、作成したARPリクエストを、LAN2−2へ送信する。PEルータ3a−2は、端末5−2が送信したARPリクエストを受信し、受信したARPリクエストに含まれる端末5−4のIPアドレスに関連付けて端末5−4のMACアドレスをキャッシュしているか否かを判定する。PEルータ3a−2は、該端末5−4のMACアドレスをキャッシュしている場合には、キャッシュしている端末5−4のMACアドレスを含むARPリプライを作成し、作成したARPリプライを、端末5−2へ送信する。一方、PEルータ3−2は、キャッシュしていない場合には、端末5−4のMACアドレスを問い合わせるために、MACアドレス問合せを作成し、作成したMACアドレス問合せを、PEルータ3a−1へ送信する。MACアドレス問合せには、端末5−4のIPアドレスが含まれる。PEルータ3a−1は、PEルータ3a−2が送信したMACアドレス問合せを受信し、受信したMACアドレス問合せに含まれる端末5−4のIPアドレスに関連付けて端末5−4のMACアドレスを記憶しているか否かを判定する。PEルータ3a−1は、該端末5−4のMACアドレスを記憶している場合、該端末5−4のMACアドレスを含むMACアドレス応答を作成し、作成したMACアドレス応答を、PEルータ3a−2へ送信する。PEルータ3a−2は、PEルータ3a−1が送信したMAC応答を受信し、受信したMACアドレス応答に含まれる端末5−4のMACアドレスを含むARPリプライを作成し、作成したARPリプライを、端末5−2へ送信する。
【0040】
一方、PEルータ3a−1は、端末5−4のMACアドレスを記憶していない場合、該端末5−4のMACアドレスを記憶していないことを示す情報を含むMACアドレス応答を作成し、作成したMACアドレス応答を、PEルータ3a−2へ送信する。PEルータ3a−2は、PEルータ3a−1が送信したMACアドレス応答を受信し、受信したMACアドレス応答に含まれるMACアドレスを記憶していないことを示す情報を確認した場合、バックボーンネットワーク1へ、ARPリクエストを、ブロードキャストする。その後、PEルータ3a−2は、PEルータ3a−4が送信したARPリプライを受信し、受信したARPリプライに含まれる端末5−4のMACアドレスを取得し、取得した端末5−4のMACアドレスと端末5−4のIPアドレスとを関連付けて記憶するとともに、端末5−2へ、ARPリプライを転送する。さらに、PEルータ3a−2は、取得した端末5−4のMACアドレスと端末5−4のIPアドレスとを関連付けた情報を含むキャッシュ要求を、PEルータ3a−1へ送信する。PEルータ3a−1は、PEルータ3a−2が送信したキャッシュ要求を受信し、受信したキャッシュ要求に含まれる端末5−4のMACアドレスと端末5−4のIPアドレスとを関連付けた情報をキャッシュする。
【0041】
(PEルータ)
PEルータ3aは、
図2を適用できる。ただし、PEルータ3aが代表ルータである場合、処理部35aは、第1通信部32aがフレーム転送部34aへ出力したパケットがMACアドレス問合せである場合、該MACアドレス問合せに含まれるIPアドレスに関連付けられるMACアドレスが、アドレス情報記憶部31aに記憶されているか否かを判定する。処理部35aは、MACアドレス問合せに含まれるIPアドレスに関連付けられるMACアドレスが、アドレス情報記憶部31aに記憶されている場合、そのMACアドレスを含み、MACアドレス問合せを送信したPEルータを宛先とするMACアドレス応答を作成する。そして、処理部35aは、作成したMACアドレス応答を、フレーム転送部34aへ出力する。フレーム転送部34aは、処理部35aが出力したMACアドレス応答を、第1通信部32aへ出力する。第1通信部32aは、処理部35aが出力したMACアドレス応答を、バックボーンネットワーク1へ送信する。さらに、処理部35aは、第1通信部32aがフレーム転送部34aへ出力したパケットがキャッシュ要求である場合、該キャッシュ要求に含まれるIPアドレスとMACアドレスとを関連付けて、アドレス情報記憶部31aに記憶する。
【0042】
PEルータ3aが代表ルータ以外のルータである場合には、処理部35aは、取得したパケットがARPリクエストであり、且つ該ARPリクエストに含まれるIPアドレスに関連付けられるMACアドレスが、アドレス情報記憶部31aに記憶されていない場合、ARPリクエストに含まれるIPアドレスを含み、代表ルータを宛先とするMACアドレス問合せを作成し、作成したMACアドレス問合せを、フレーム転送部34aへ出力する。フレーム転送部34aは、処理部35aが出力したMACアドレス問合せを、第1通信部32aへ出力する。第1通信部32aは、処理部35aが出力したMACアドレス問合せを、バックボーンネットワーク1へ送信する。
処理部35aは、第1通信部32aがフレーム転送部34aへ出力したパケットがMACアドレス応答であり、且つ該MACアドレス応答にMACアドレスが含まれる場合、該MACアドレスを含み、ARPリクエストを送信した端末を宛先とするARPリプライを作成し、作成したARPリプライをフレーム転送部34aへ出力する。フレーム転送部34aは、処理部35aが出力したMACアドレス問合せを、第2通信部33aへ出力する。第2通信部33aは、処理部35aが出力したARPリプライを、LAN2へ送信する。
一方、処理部35aは、第1通信部32aがフレーム転送部34aへ出力したパケットがMACアドレス応答であり、且つ該MACアドレス応答にMACアドレスが含まれないことを示す情報が含まれる場合、ARPリクエストをフレーム転送部34aへ出力する。フレーム転送部34aは、処理部35aが出力したARPリクエストを、第2通信部33aへ出力する。第1通信部32aは、処理部35aが出力したARPリクエストを、バックボーンネットワーク1へ送信する。
【0043】
(広域LANの動作)
図7は、第二実施形態に係る広域LANの動作の一例を示すシーケンスチャートである。
図7に示される例では、端末5−2が、端末5−4のMACアドレスの情報を取得する処理について説明する。
(ステップS201)端末5−2は、端末5−4のIPアドレスを含むARPリクエストを作成し、作成したARPリクエストを送信する。
(ステップS202)端末5−2が送信したARPリクエストは、PEルータ3a−2によって受信される。PEルータ3a−2の第2通信部33a−2は、ARPリクエストを受信し、受信したARPリクエストを、フレーム転送部34a−2へ出力する。フレーム転送部34a−2は、第2通信部33a−2が出力したARPリクエストを取得し、取得したARPリクエストを、処理部35a−2へ出力する。処理部35a−1は、フレーム転送部34a−1が出力したARPリクエストを取得し、アドレス情報記憶部31a−1に記憶されているIPアドレスを検索することによって、取得したARPリクエストに含まれるIPアドレスに関連付けて、MACアドレスが記憶されているか否かを判定する。記憶されている場合、処理部35a−1は、IPアドレスに関連付けて記憶されているMACアドレスを、アドレス情報記憶部31a−1から取得し、取得したMACアドレスを含むARPリプライを作成する。そして、処理部35a−1は、作成したARPリプライをフレーム転送部34a−1へ出力する。フレーム転送部34a−1は、処理部35a−1が出力したARPリプライを、第2通信部33a−1へ出力する。第2通信部33a−1は、フレーム転送部34a−1が出力したARPリプライを、端末5−1へ送信する。ここでは、ARPリクエストに含まれるIPアドレスに関連付けて、MACアドレスが記憶されていない場合について説明を続ける。
【0044】
(ステップS203)PEルータ3a−2の処理部35a−1は、ARPリクエストに含まれるIPアドレスを含み、PEルータ3a−1を宛先とするMACアドレス問合せを作成し、作成したMACアドレス問合せを、フレーム転送部34a−1へ出力する。フレーム転送部34a−1は、処理部35a−1が出力したMACアドレス問合せを、第1通信部32a−1へ出力する。第1通信部32a−1は、フレーム転送部34a−1が出力したMACアドレス問合せを、バックボーンネットワーク1へ送信する。
(ステップS204)PEルータ3a−2が送信したMACアドレス問合せは、PEルータ3a−1の第1通信部32a−1によって受信される。PEルータ3a−1の第1通信部32a−1は、受信したMACアドレス問合せを、フレーム転送部34a−1へ出力する。フレーム転送部34a−1は、第1通信部32a−1が出力したMACアドレス問合せを取得し、取得したMACアドレス問合せを、処理部35a−1へ出力する。処理部35a−1は、フレーム転送部34a−1が出力したMACアドレス問合せを取得し、アドレス情報記憶部31a−1に記憶されているIPアドレスを検索することによって、取得したMACアドレス問合せに含まれるIPアドレスに関連付けて、MACアドレスが記憶されているか否かを判定する。記憶されている場合、処理部35a−1は、該MACアドレスを、アドレス情報記憶部31a−1から取得し、取得したMACアドレスを含み、PEルータ3a−2を宛先とするMACアドレス応答を作成する。そして、処理部35a−1は、作成したMACアドレス応答をフレーム転送部34a−1へ出力する。フレーム転送部34a−1は、処理部35a−1が出力したMACアドレス応答を、第1通信部32a−1へ出力する。第1通信部32a−1は、フレーム転送部34a−1が出力したMACアドレス応答を、バックボーンネットワーク1へ送信する。
ここでは、MACアドレス問合せに含まれるIPアドレスに関連付けて、MACアドレスが記憶されていない場合について説明を続ける。
【0045】
(ステップS205)処理部35a−1は、MACアドレスが記憶されていないことを示す情報を含み、PEルータ3a−2を宛先とするMACアドレス応答を作成する。そして、処理部35a−1は、作成したMACアドレス応答をフレーム転送部34a−1へ出力する。フレーム転送部34a−1は、処理部35a−1が出力したMACアドレス応答を、第1通信部32a−1へ出力する。第1通信部32a−1は、フレーム転送部34a−1が出力したMACアドレス応答を、バックボーンネットワーク1へ送信する。
(ステップS206)PEルータ3a−1が送信したMACアドレス応答は、PEルータ3a−2によって受信される。PEルータ3a−2の第1通信部32a−2は、受信したMACアドレス応答を、フレーム転送部34a−2へ出力する。フレーム転送部34a−2は、第1通信部32a−2が出力したMACアドレス応答を取得し、取得したMACアドレス応答を、処理部35a−2へ出力する。処理部35a−2は、フレーム転送部34a−2が出力したMACアドレス応答を取得し、取得したMACアドレス応答に含まれるMACアドレスを記憶していないことを示す情報を確認する。処理部35a−2は、ARPリクエストを、フレーム転送部34a−2へ出力する。フレーム転送部34a−2は、処理部35a−2が出力したARPリクエストを、第1通信部32a−2へ出力する。第1通信部32a−2は、フレーム転送部34a−2が出力したARPリクエストを、バックボーンネットワーク1へブロードキャストする。
ステップS207−ステップS211の処理は、
図4のステップS105−S109を適用できる。
【0046】
(ステップS212)PEルータ3a−4の第1通信部32−4は、フレーム転送部34−4が出力したARPリプライを取得し、取得したARPリプライを、PEルータ3a−2へ送信する。
(ステップS213)PEルータ3a−2の第1通信部32−1は、PEルータ3a−4が転送したARPリプライを受信する。PEルータ3a−2において、第1通信部32−1は、受信したARPリプライを、フレーム転送部34a−2へ出力する。フレーム転送部34a−2は、第1通信部32a−2が出力したARPリプライを取得し、取得したARPリプライを、第2通信部33a−2へ出力するとともに、処理部35a−2へ出力する。処理部35a−2は、フレーム転送部34a−2が出力したARPリプライを取得し、取得したARPリプライに含まれるMACアドレスとARPリクエストに含まれるIPアドレスとを関連付けて、アドレス情報記憶部31a−2へ記憶することによって学習する。
(ステップS214)PEルータ3a−2の第2通信部33a−2は、フレーム転送部34a−2が出力したARPリプライを取得し、取得したARPリプライを、端末5−2へ送信する。
(ステップS215)端末5−2は、PEルータ3a−2が転送したARPリプライを取得し、取得したARPリプライに含まれるMACアドレスとARPリクエストに含まれるIPアドレスとを関連付けて記憶することによって学習する。
【0047】
(ステップS216)PEルータ3a−2において、処理部35a−2は、ARPリクエストに含まれるIPアドレスとARPリプライに含まれるMACアドレスとを含み、PEルータ3a−1を宛先とするキャッシュ要求を作成し、作成したキャッシュ要求を、フレーム転送部34a−2へ出力する。フレーム転送部34a−2は、処理部35a−2が出力したキャッシュ要求を、第1通信部32a−2へ出力する。第1通信部32a−2は、フレーム転送部34a−2が出力したキャッシュ要求を、バックボーンネットワーク1へ送信する。
(ステップS217)PEルータ3a−1の第1通信部32a−1は、PEルータ3a−2が送信したキャッシュ要求を受信する。PEルータ3a−1において、第1通信部32a−1は、受信したキャッシュ要求を、フレーム転送部34a−1へ出力する。フレーム転送部34a−1は、第1通信部32a−1が出力したキャッシュ要求を取得し、取得したキャッシュ要求を、処理部35a−1へ出力する。処理部35a−1は、フレーム転送部34a−1が出力したキャッシュ要求を取得し、取得したキャッシュ要求に含まれるIPアドレスとMACアドレスとを関連付けて、アドレス情報記憶部31a−1へ記憶する。
【0048】
前述した実施形態では、複数のPEルータが二つのグループに分割される場合について説明したがこの場合に限られない。例えば、複数のPEルータが三つ以上のグループに分割されてもよい。
前述した実施形態では、グループに含まれる複数のLANの各々と接続するPEルータから、代表ルータが予め設定される場合について説明したがこの例に限られない。例えば、グループに含まれる複数のLANの各々と接続するPEルータとは別に、代表ルータを備えるようにしてもよい。また、グループに含まれる複数のLANの各々と接続するPEルータ間で、ハッシュテーブルを分散して管理するようにしてもよい。ここで、ハッシュテーブルは、キーと、IPアドレスとMACアドレスとを関連付けた情報とを管理するデータ構造である。
【0049】
実施形態に係る広域LANによれば、バックボーンネットワークに接続されるLAN同士の距離に応じて、距離が長くなるにしたがって、寿命が長くなるように、キャッシュするMACアドレスの寿命を設定する。このように構成することによって、LAN間の距離が長くなった場合に、キャッシュしたMACアドレスが参照される確率(ヒット確率)を向上させることができる。このため、要求されたMACアドレスを再取得するために、ARPリクエストがLANに再送信される回数を減少させることができるため、アドレス解決のために消費される電力の増大を抑えることができるとともに、アドレス解決に要する時間を短縮できる。さらに、複数のPEルータのうち、近傍に位置するPEルータをグループ化し、各グループに含まれるPEルータのうち、一つのPEルータを代表ルータに設定する。各グループに含まれる代表ルータ以外のPEルータは、該PEルータが接続するLANに接続する端末が送信したARPリクエストに含まれるIPアドレスに関連付けてMACアドレスを記憶していない場合に、該MACアドレスを、代表PEルータへ問い合わせる。このように構成することによって、距離が離れているPEルータへ、MACアドレスを問い合わせる回数を減少させることができるため、アドレス解決のために消費される電力の増大を抑えることができるとともに、アドレス解決に要する時間を短縮できる。
【0050】
(第三の実施形態)
図8は、第三実施形態に係る広域LANの構成を示す図である。広域LAN10bの一例は、広域イーサネットである。広域イーサネットは、バックボーンネットワーク1を含む。バックボーンネットワーク1は、LAN2−1、LAN2−2、LAN2−3、LAN2−4、LAN2−5、LAN2−6、LAN2−7、LAN2−8、LAN2−9などのLAN間をイーサネット(登録商標)で接続する。
LAN2−1とLAN2−2とLAN2−3は互いに近傍のエリアに位置し、LAN2−4とLAN2−5とLAN2−6は互いに近傍のエリアに位置し、LAN2−7とLAN2−8とLAN2−9は互いに近傍のエリアに位置する。LAN2−1とLAN2−2とLAN2−3とがグループ6−1を構成し、LAN2−4とLAN2−5とLAN2−6とがグループ6−2を構成し、LAN2−7とLAN2−8とLAN2−9とがグループ6−3を構成する。
ソフトウェア・デファインド・ネットワーキング(Software Defined Networking: SDN)コントローラ7−1は、グループ6−1に含まれるLAN2−1とLAN2−2とLAN2−3の制御や管理の中心となるソフトウェアである。また、SDNコントローラ7−2は、グループ6−2に含まれるLAN2−4とLAN2−5とLAN2−6の制御や管理の中心となるソフトウェアである。また、SDNコントローラ7−3は、グループ6−3に含まれるLAN2−7とLAN2−8とLAN2−9の制御や管理の中心となるソフトウェアである。
【0051】
SDNコントローラ7−1は、グループ6−1に含まれるLAN2−1、LAN2−2、及びLAN2−3の各々に接続される全ての端末のIPアドレスを記憶する。SDNコントローラ7−2は、グループ6−2に含まれるLAN2−4、LAN2−5、及びLAN2−6の各々に接続される全ての端末のIPアドレスを記憶する。SDNコントローラ7−3は、グループ6−3に含まれるLAN2−7、LAN2−8、及びLAN2−9の各々に接続される全ての端末のIPアドレスを記憶する。SDNコントローラ7−1とSDNコントローラ7−2とSDNコントローラ7−3とは、バックボーンネットワーク1を介して、互いに通信を行う。SDNコントローラ7−1、SDNコントローラ7−2、及びSDNコントローラ7−3のうち、任意のSDNコントローラをSDNコントローラ7と記載する。
SDNコントローラ7が実行する処理は、前述したPEルータ3又はPEルータ3aを適用できる。SDNコントローラ7は、宛先の端末のMACアドレスを記憶していない場合に、他のSDNコントローラへ問い合わせる。
【0052】
本実施形態では、SDNコントローラ7が、三個のLANの各々を制御する場合について説明したが、この例に限られない。例えば、SDNコントローラ7が一個から二個のLANを制御するようにしてもよいし、四個以上のLANを制御するようにしてもよい。
実施形態に係る広域LANによれば、各エリアに、ソフトウェアでの集中制御によりネットワークの柔軟な制御を実現するSDNコントローラを備え、SDNコントローラは、他のSDNコントローラを経由して、該SDNコントローラが接続するLANを制御する。このため、前述した実施形態及び変形例と同様の効果を奏する。
【0053】
上述した実施形態及び変形例係るPEルータをコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、FPGA(Field Programmable Gate Array)等のプログラマブルロジックデバイスを用いて実現されるものであってもよい。
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。