従来、企業内に構築されたネットワークと外部ネットワークとの相互間の通信を実現するためにパケット転送装置としてのゲートウェイ装置が用いられている。ゲートウェイ装置は、例えば、プロトコル体系の異なるネットワーク間を相互接続するためのプロトコル変換機器として用いられる。ゲートウェイ装置の構成としては、例えば、外部ネットワークとの間のプロトコルとしてIPoE(Internet Protocol over Ethernet(R))のみに対応可能なもの、又は、外部ネットワークとの間のプロトコルとしてIPoE及びPPPoEの双方に対応可能なものがある。
図9は、IPoEにのみ対応可能なゲートウェイ装置の構成を示す図である。図10は、このようなIPoEにのみ対応可能なゲートウェイ装置が接続されるネットワークの構成例を示す図である。
ゲートウェイ装置10の一方のインタフェース部には、図10に示すように、プロトコルとしてIPoEを使用したネットワーク21〜24が接続されている。ゲートウェイ装置10は、ネットワーク21〜24上にそれぞれ配置されたゲートウェイ装置25〜28と通信を行う。また、他方のインタフェース部には、プロトコルとしてIPoEを使用するパーソナルコンピュータ(以下、「PC」という)などの端末装置29〜31が接続されている。
図9に示すゲートウェイ装置10において、フレーム送受信部11、12は、Ethernet(R) I/Fとの間でフレームの送受を行う。IPoEフレーム組立分解部13、14は、IPoEフレームの組立及び分解を行うと共に、そのIPoEフレームの構造を認識する。
フォワーディング制御部15は、入力されたIPoEフレームのIPパケットのヘッダ情報に含まれる宛先IPアドレスに基づいてIPoEフレームの出力を制御する。フォワーディング制御部15は、IPoEフレームの出力を制御する際、IPoEフォワーディングテーブル16及びARP(Address Resolution Protocol)テーブル17を用いる。
IPoEフォワーディングテーブル16は、図11に示すように、ネットワークアドレス、出力インタフェース部番号(出力IF番号)、ルーティングの種別(直接ルーティング又は間接ルーティング)及び間接ルーティングの場合の宛先IPアドレス(ネクストホップIPアドレス)が対応づけられている。
ARPテーブル17は、図12に示すように、宛先IPアドレス、送信元MACアドレス及び宛先MACアドレスが対応づけられている。なお、通常、送信元MACアドレスにはゲートウェイ装置10のMACアドレスが用いられるため、全てのエントリで同一の値となる。したがって、ARPテーブル17に送信元MACアドレスのエリアを設けず、ゲートウェイ装置10のMACアドレスとして別レジスタとしてもよい。
以下、上記構成を有するIPoEにのみ対応可能なゲートウェイ装置10の動作について説明する。ここでは、フレーム送受信部11にIPoEフレームが入力された場合について説明する。
フレーム送受信部11にIPoEフレームが入力されると、IPoEフレーム組立分解部13においてそのIPoEフレームの構造が認識される。認識されたそのIPoEフレームの構造はフォワーディング制御部15に渡される。
フォワーディング制御部15は、IPoEフレーム上のIPパケットのヘッダ情報に含まれる宛先IPアドレスと、IPoEフォワーディングテーブル16に登録されたネットワークアドレスとの比較を行う。
フォワーディング制御部15は、宛先IPアドレスと同一のネットワークアドレスがあった場合には、そのネットワークアドレスにIPoEフォワーディングテーブル16上で対応づけられた出力IF番号及びルーティング種別の情報(直接ルーティングであるか間接ルーティングであるかの情報)を取得する。フォワーディング制御部15は、取得したルーティング種別情報が間接ルーティングである場合には、宛先IPアドレス(ネクストホップIPアドレス)も取得する。なお、フォワーディング制御部15は、取得したルーティング種別情報が直接ルーティングである場合には、IPパケットのIPヘッダの宛先IPアドレスを取得する。
続いて、フォワーディング制御部15は、取得した宛先IPアドレスを用いてARPテーブル17を検索して、当該IPoEフレームの送信元MACアドレス及び宛先MACアドレスを取得する。取得された送信元MACアドレス及び宛先MACアドレスは、IPoEフレーム組立分解部14に渡される。
IPoEフレーム組立分解部14は、この送信元MACアドレス及び宛先MACアドレスを用いてIPoEフレームを組み直す。組み直されたIPoEフレームは、フレーム送受信部12に渡され、フレーム送受信部12から出力される。このようにして、IPoEにのみ対応可能なゲートウェイ装置10において、IPoEフレームが転送される。
図13は、PPPoEに対応可能なゲートウェイ装置の構成を示す図である。なお、図13において図9のゲートウェイ装置と同じ構成要素については、同じ符号が付され説明が省略される。図14は、このようなPPPoEに対応可能なゲートウェイ装置50が接続されるネットワーク構成例を示す図である。
ゲートウェイ装置50の一方のインタフェース部には、図14に示すように、プロトコルとしてIPoEを使用したネットワーク61やプロトコルとしてPPPoEを使用したネットワーク62〜64が接続されている。ゲートウェイ装置50は、ネットワーク61上に配置されたゲートウェイ装置65並びにネットワーク62〜64上にそれぞれ配置されたPPPoEサーバ66〜68と通信を行う。また、他方のインタフェース部には、プロトコルとしてIPoEを使用するPCなどの端末装置69〜71が接続されている。
図13に示すゲートウェイ装置50において、IPoE/PPPoEフレーム組立分解部51、52は、IPoEフレーム及びPPPoEフレームの組立及び分解を行うと共に、そのIPoEフレーム及びPPPoEフレームの構造を認識する。
フォワーディング制御部53は、入力されたIPoEフレームのIPパケットのヘッダ情報に含まれる送信元IPアドレス又は宛先IPアドレスに基づいてIPoEフレーム又はPPPoEフレームの出力を制御する。また、フォワーディング制御部53は、入力されたPPPoEフレームのPPPoEヘッダ情報に基づいてPPPoEフレームの出力を制御する。フォワーディング制御部53は、IPoEフレーム又はPPPoEフレームの出力を制御する際、IPoEフォワーディングテーブル16及びARPテーブル17に加え、PPPoEフォワーディングテーブル54及びPPPoEセッションテーブル55を用いる。
PPPoEフォワーディングテーブル54は、図15に示すように、送信元IPアドレス、出力IF番号及びPPPoEセッションの検索インデックス(以下、「PPPoEセッションインデックス」という)が対応づけられている。
PPPoEセッションテーブル55は、図16に示すように、PPPoEセッションインデックス、クライアントMACアドレス、サーバMACアドレス及びPPPoEセッションIDが対応づけられている。
以下、上記構成を有するPPPoEに対応可能なゲートウェイ装置50の動作について説明する。ここでは、フレーム送受信部11にIPoEフレームが入力された場合と、PPPoEフレームが入力された場合とに分けて説明する。
フレーム送受信部11にIPoEフレーム及びPPPoEフレームのいずれかのフレームが入力されると、IPoE/PPPoEフレーム組立分解部51においてそのフレームの構造が認識される。認識されたそのフレームの構造はフォワーディング制御部53に渡される。
フォワーディング制御部53は、入力されたフレームがIPoEフレームの場合には、IPoEフレーム上のIPパケットのヘッダ情報に含まれる送信元IPアドレスと、PPPoEフォワーディングテーブル54に登録された送信元IPアドレスとの比較を行う。
フォワーディング制御部53は、IPoEフレームのIPパケットのヘッダ情報に含まれる送信元IPアドレスと同一の送信元IPアドレスがあった場合には、その送信元IPアドレスにPPPoEフォワーディングテーブル54で対応づけられた出力IF番号及びPPPoEセッションインデックスを取得する。
続いて、フォワーディング制御部53は、取得したPPPoEセッションインデックスを用いてPPPoEセッションテーブル55を検索し、送信元MACアドレス、宛先MACアドレス及びPPPoEセッションIDなどのPPPoEフレームを生成するための情報を取得する。取得されたPPPoEフレームを生成するための情報は、IPoE/PPPoEフレーム組立分解部52に渡される。
なお、PPPoEセッションテーブル55は、送信元MACアドレス及び宛先MACアドレスの情報を持っていない。しかし、フォワーディング制御部53は、クライアントMACアドレスを送信元MACアドレスとして取得し、サーバMACアドレスを宛先MACアドレスとして取得する。
IPoE/PPPoEフレーム組立分解部52は、このPPPoEフレームを生成するための情報に基づいて、入力されたIPoEフレームをPPPoEフレームに組み直す。組み直されたPPPoEフレームは、フレーム送受信部12に渡され、フレーム送受信部12から出力される。
フォワーディング制御部53は、IPoEフレームのIPパケットのヘッダ情報に含まれる送信元IPアドレスと同一の送信元IPアドレスがPPPoEフォワーディングテーブル54に登録されていなかった場合には、IPパケットのヘッダ情報に含まれる宛先IPアドレスと、IPoEフォワーディングテーブル16に登録されたネットワークアドレスとの比較を行う。
フォワーディング制御部53は、宛先IPアドレスと同一のネットワークアドレスがあった場合には、そのネットワークアドレスにIPoEフォワーディングテーブル16上で対応づけられた出力IF番号及びルーティング種別の情報(直接ルーティングであるか間接ルーティングであるかの情報)を取得する。フォワーディング制御部53は、取得したルーティング種別の情報が間接ルーティングである場合には、宛先IPアドレス(ネクストホップIPアドレス)も取得する。なお、フォワーディング制御部53は、取得したルーティング種別の情報が直接ルーティングである場合には、IPパケットのIPヘッダの宛先IPアドレスが取得される。
続いて、フォワーディング制御部53は、取得した宛先IPアドレスを用いてARPテーブル17を検索し、当該IPoEフレームの送信元MACアドレス及び宛先MACアドレスを取得する。取得された送信元MACアドレス及び宛先MACアドレスは、IPoE/PPPoEフレーム組立分解部52に渡される。
IPoE/PPPoEフレーム組立分解部52は、この送信元MACアドレス及び宛先MACアドレスを用いてIPoEフレームを組み直す。組み直されたIPoEフレームは、フレーム送受信部12に渡され、フレーム送受信部12から出力される。
一方、フォワーディング制御部53は、入力されたフレームがPPPoEフレームの場合には、PPPoEフレームのPPPoEヘッダ情報とPPPoEセッションテーブル55のエントリを比較する。
フォワーディング制御部53は、PPPoEセッションテーブル55に登録されたエントリがPPPoEフレームのPPPoEヘッダ情報と一致した場合には、PPPoEフレームのIPパケットのヘッダ情報に含まれる宛先IPアドレスと、IPoEフォワーディングテーブル16に登録されたネットワークアドレスとの比較を行う。
フォワーディング制御部53は、宛先IPアドレスと同一のネットワークアドレスがあった場合には、そのネットワークアドレスに対応づけられた出力IF番号及びルーティング種別の情報(直接ルーティングであるか間接ルーティングであるかの情報)を取得する。フォワーディング制御部53は、取得したルーティング種別の情報が間接ルーティングである場合には、宛先IPアドレス(ネクストホップIPアドレス)も取得する。なお、フォワーディング制御部53は、取得したルーティング種別の情報が直接ルーティングである場合には、IPパケットのIPヘッダの宛先IPアドレスが取得される。
続いてフォワーディング制御部53は、取得した宛先IPアドレスを用いてARPテーブル17を検索し、送信元MACアドレス及び宛先MACアドレスを取得する。取得された送信元MACアドレス及び宛先MACアドレスは、IPoE/PPPoEフレーム組立分解部52に渡される。
IPoE/PPPoEフレーム組立分解部52は、この送信元MACアドレス及び宛先MACアドレスを用いてPPPoEフレームをIPoEフレームに組み直す。組み直されたIPoEフレームは、フレーム送受信部12に渡され、フレーム送受信部12から出力される。
このようにPPPoEに対応可能なゲートウェイ装置50は、IPoEフレームをIPoEフレームのIPパケットのヘッダ情報に含まれる宛先IPアドレスに対応するネットワークアドレスに応じてIPoEフレームとして転送する。また、PPPoEに対応可能なゲートウェイ装置50は、IPoEフレームのIPパケットのヘッダ情報に含まれる送信元IPアドレスに応じてPPPoEセッションを選択してPPPoEフレームとして出力する。
なお、複数の端末装置が同時に異なるネットワークに接続して、データフレームの送受信を行うことができるフレーム転送方法を実現する技術が提案されている(例えば、特許文献1参照)。
特開2001−237898号公報
しかしながら、上記IPoEにのみ対応可能なゲートウェイ装置10では、IPoEフレームしか転送することしかできないという第1の問題がある。また、上記PPPoEに対応可能なゲートウェイ装置50は、PPPoEフォワーディングテーブル54を用いて、入力されたIPoEフレームのIPパケットのヘッダ情報に含まれる送信元IPアドレスに応じてPPPoEセッションを選択している。したがって、各端末装置(69〜71)は、同時に複数のPPPoEセッションを選択することができないため、複数のPPPoEサーバにアクセスすることができないという第2の問題がある。さらに、送信元IPアドレスが一致した場合には、IPoEフレームが自動的にPPPoEフレームとして出力されるため、IPoEを使用したネットワークにアクセスすることができないという第3の問題がある。
上記第1から第3の問題を解決するために、宛先IPアドレスによってIPoE及び複数のPPPoEを選択して使い分けることは有効な方法である。しかしながら、この方法であっても宛先IPアドレスによって選択される論理コネクションは固定的であるため、論理コネクションを確立できない時であっても確立可能な他の論理コネクションに切り換えることができない問題がある。
また、論理コネクションをゲートウェイ装置及び複数のPPPoEサーバと確立できたとしてもインターネット上の目的のサーバに到達するまでの通信経路上に障害がある場合があるため、動的ルーティングではルーティングプロトコルによって障害のある通信経路をさけてルーティングされる。しかし、ルーティングプロトコルによっては、通信経路のトラフィックを考慮してある程度の間隔をおいてルータ間等で情報のやり取りをするため、障害検出から経路切換まで3分から30分程度かかることが問題である。
本発明は、かかる点に鑑みてなされたものであり、IPoE及び複数のPPPoEセッションの接続を同時に確立できるパケット転送装置及びその制御方法を提供することを目的とする。また、本発明は、通信経路の状況に応じて即座にIPoE又はPPPoEセッションを切り換えるパケット転送装置及びその制御方法を提供することを目的とする。
請求項1に係る発明のパケット転送装置は、複数のサーバ手段との論理コネクションを選択する選択手段と、選択された前記論理コネクションを同時にかつ直接的に確立するコネクション確立手段と、を具備する構成を採る。
この構成によれば、目的別(例えばISPの種類など)により、接続するサーバ手段を使い分けることができるため、柔軟なネットワーク環境を構築することができる。
請求項2に係る発明のパケット転送装置は、請求項1に係る発明のパケット転送装置において、前記コネクション確立手段は、ルーティングテーブル、PPPoEセッションテーブル及びARPテーブルを検索し、入力されたフレームのIPパケットのヘッダ情報に含まれる宛先IPアドレスと一致するルーティングテーブル上のネットワークアドレスに応じてプロトコル種別を選択し、選択された前記プロトコル種別がIPoEの場合には前記ネットワークアドレスに対応する宛先IPアドレスと前記ARPテーブル上で対応づけられた宛先MACアドレスに基づいてIPoEフレームの出力を制御し、かつ、選択された前記プロトコル種別がPPPoEの場合には前記ネットワークアドレスに対応する検索インデックスにPPPoEセッションテーブル上で対応づけられた宛先MACアドレス及びPPPoEセッションIDに基づいてPPPoEフレームの出力を制御する構成を採る。
この構成によれば、請求項1に係る発明の効果に加えて、PPPoEフレーム及びIPoEフレームのいずれが入力された場合であっても、宛先のネットワークアドレスに応じて出力時に使用するプロトコル(IPoE又はPPPoE)の種別を選択することができ、かつ、そのプロトコル種別がPPPoEの場合にはセッションも選択することができる。
請求項3に係る発明のパケット転送装置は、請求項1又は請求項2に係る発明のパケット転送装置において、一の前記論理コネクションを確立できない時に他の前記論理コネクションに切り換える接続切換制御手段を具備する構成を採る。
この構成によれば、請求項1又は請求項2に係る発明の効果に加えて、一の論理コネクションの接続を確立する際の情報を基に直ちに他の論理コネクションに切り換えることができるため、より柔軟なネットワークへの接続環境を実現することができる。
請求項4に係る発明のパケット転送装置は、請求項3に係る発明のパケット転送装置において、前記接続切換制御手段は、前記論理コネクションと関係づけられたルーティングテーブルに含まれる情報を書き換えて、書き換えられた前記情報に基づいて前記他の論理コネクションに切り換える構成を採る。
この構成によれば、請求項3に係る発明の効果に加えて、一の論理コネクションの接続を確立する際の情報を基に直ちに他の論理コネクションに切り換えることができるため、より柔軟なネットワークへの接続環境を実現することができる。
請求項5に係る発明のパケット転送装置は、請求項1から請求項4のいずれかに係る発明のパケット転送装置において、一の前記論理コネクションを経由する通信経路を確立できない時に他の前記論理コネクションに切り換える他の接続切換制御手段を具備する構成を採る。
この構成によれば、請求項1から請求項4のいずれかに係る発明の効果に加えて、一の論理コネクション経由する通信経路を確立する際の情報を基に直ちに他の論理コネクションに切り換えることができるため、より柔軟なネットワークへの接続環境を実現することができる。
請求項6に係る発明のパケット転送装置は、請求項5に係る発明のパケット転送装置において、前記他の接続切換制御手段は、前記論理コネクションと関係づけられたルーティングテーブルに含まれる情報を書き換えて、書き換えられた前記情報に基づいて前記他の論理コネクションに切り換える構成を採る。
この構成によれば、請求項5に係る発明の効果と同様に、一の論理コネクション経由する通信経路を確立する際の情報を基に直ちに他の論理コネクションに切り換えることができるため、より柔軟なネットワークへの接続環境を実現することができる。
請求項7に係る発明のパケット転送装置は、請求項1から請求項6のいずれかに係る発明のパケット転送装置において、前記論理コネクション毎に通信経路の状況を監視する状況監視手段と、前記通信経路の状況に応じて前記論理コネクションを切り換える他の接続切換制御手段と、を具備する構成を採る。
この構成によれば、請求項1から請求項6のいずれかに係る発明の効果に加えて、論理コネクション毎の通信経路の状況に応じて論理コネクションを切り換えることができるため、さらに柔軟なネットワークへの接続環境を実現することができる。
請求項8に係る発明のパケット転送装置は、請求項7に係る発明のパケット転送装置において、前記状況監視手段は、通信の相手となる複数の通信装置とパケットの送受信を行って前記通信経路の状況を監視する構成を採る。
この構成によれば、請求項7に係る発明の効果と同様に、論理コネクション毎の通信経路の状況に応じて論理コネクションを切り換えることができるため、さらに柔軟なネットワークへの接続環境を実現することができる。
請求項9に係る発明のパケット転送装置は、請求項8に係る発明のパケット転送装置において、前記状況監視手段は、前記通信経路の状況を前記通信相手となる複数の通信装置から返信されるパケットの有無により、又は、前記通信相手となる複数の通信装置からパケットが返信される時間の長短により判断する構成を採る。
この構成によれば、請求項8に係る発明の効果に加えて、論理コネクション毎の通信経路の状況に応じて論理コネクションを切り換えることができるため、さらに柔軟なネットワークへの接続環境を実現することができる。
請求項10に係る発明のパケット転送装置の制御方法は、複数のサーバ手段との論理コネクションを選択するステップと、選択された前記論理コネクションを同時にかつ直接的に確立するコネクション確立ステップと、を具備するようにした。
この方法によれば、目的別(例えばISPの種類など)により、接続するサーバ手段を使い分けることができるため、柔軟なネットワーク環境を構築することができる。
請求項11に係る発明のパケット転送装置の制御方法は、請求項10に係る発明のパケット転送装置の制御方法において、前記コネクション確立ステップは、ルーティングテーブル、PPPoEセッションテーブル及びARPテーブルを検索するステップと、入力されたフレームのIPパケットのヘッダ情報に含まれる宛先IPアドレスと一致するルーティングテーブル上のネットワークアドレスに応じてプロトコル種別を選択するステップと、選択された前記プロトコル種別がIPoEの場合には前記ネットワークアドレスに対応する宛先IPアドレスと前記ARPテーブル上で対応づけられた宛先MACアドレスに基づいてIPoEフレームの出力を制御するステップと、選択された前記プロトコル種別がPPPoEの場合には前記ネットワークアドレスに対応する検索インデックスにPPPoEセッションテーブル上で対応づけられた宛先MACアドレス及びPPPoEセッションIDに基づいてPPPoEフレームの出力を制御するステップと、を具備するようにした。
この方法によれば、請求項10に係る発明の効果に加えて、PPPoEフレーム及びIPoEフレームのいずれが入力された場合であっても、宛先のネットワークアドレスに応じて出力時に使用するプロトコル(IPoE又はPPPoE)の種別を選択することができ、そのプロトコル種別がPPPoEの場合にはセッションも選択することができる。
請求項12に係る発明のパケット転送装置の制御方法は、請求項10又は請求項11に係る発明のパケット転送装置の制御方法において、一の前記論理コネクションを確立できない時に他の前記論理コネクションに切り換える接続切換制御ステップを具備するようにした。
この方法によれば、請求項10又は請求項11に係る発明の効果に加えて、一の論理コネクションの接続を確立する際の情報を基に直ちに他の論理コネクションに切り換えることができるため、より柔軟なネットワークへの接続環境を実現することができる。
請求項13に係る発明のパケット転送装置の制御方法は、請求項12に係る発明のパケット転送装置の制御方法において、前記接続切換制御ステップは、前記論理コネクションと関係づけられたルーティングテーブルに含まれる情報を書き換えるステップと、書き換えられた前記情報に基づいて前記他の論理コネクションに切り換えるステップと、を具備するようにした。
この方法によれば、請求項12に係る発明の効果に加えて、一の論理コネクションの接続を確立する際の情報を基に直ちに他の論理コネクションに切り換えることができるため、より柔軟なネットワークへの接続環境を実現することができる。
請求項14に係る発明のパケット転送装置の制御方法は、請求項10から請求項13のいずれかに係る発明のパケット転送装置の制御方法において、一の前記論理コネクションを経由する通信経路を確立できない時に他の前記論理コネクションに切り換える他の接続切換制御ステップを具備するようにした。
この方法によれば、請求項10から請求項13のいずれかに係る発明の効果に加えて、一の論理コネクション経由する通信経路を確立する際の情報を基に直ちに他の論理コネクションに切り換えることができるため、より柔軟なネットワークへの接続環境を実現することができる。
請求項15に係る発明のパケット転送装置の制御方法は、請求項14に係る発明のパケット転送装置の制御方法において、前記他の接続切換制御ステップは、前記論理コネクションと関係づけられたルーティングテーブルに含まれる情報を書き換えるステップと、書き換えられた前記情報に基づいて前記他の論理コネクションに切り換えるステップと、を具備するようにした。
この方法によれば、請求項14に係る発明の効果と同様に、一の論理コネクション経由する通信経路を確立する際の情報を基に直ちに他の論理コネクションに切り換えることができるため、より柔軟なネットワークへの接続環境を実現することができる。
請求項16に係る発明のパケット転送装置の制御方法は、請求項10から請求項15のいずれかに係る発明のパケット転送装置の制御方法において、前記論理コネクション毎に通信経路の状況を監視するステップと、前記通信経路の状況に応じて前記論理コネクションを切り換える他の接続切換制御ステップと、を具備するようにした。
この方法によれば、請求項10から請求項15のいずれかに係る発明の効果に加えて、論理コネクション毎の通信経路の状況に応じて論理コネクションを切り換えることができるため、さらに柔軟なネットワークへの接続環境を実現することができる。
請求項17に係る発明のパケット転送装置の制御方法は、請求項16に係る発明のパケット転送装置の制御方法において、前記状況監視ステップは、通信の相手となる複数の通信装置とパケットの送受信を行って前記通信経路の状況を監視するようにした。
この方法によれば、請求項16に係る発明の効果と同様に、論理コネクション毎の通信経路の状況に応じて論理コネクションを切り換えることができるため、さらに柔軟なネットワークへの接続環境を実現することができる。
請求項18に係る発明のパケット転送装置の制御方法は、請求項17に係る発明のパケット転送装置の制御方法において、前記状況監視ステップは、前記通信経路の状況を前記通信相手となる複数の通信装置から返信されるパケットの有無により、又は、前記通信相手となる複数の通信装置からパケットが返信される時間の長短により判断するようにした。
この方法によれば、請求項17に係る発明の効果と同様に、論理コネクション毎の通信経路の状況に応じて論理コネクションを切り換えることができるため、さらに柔軟なネットワークへの接続環境を実現することができる。
請求項19に係る発明のパケット転送装置の制御プログラムは、請求項10から請求項18のいずれかに記載のパケット転送装置の制御方法を実行する構成を採る。
この構成によれば、請求項10から請求項18に係る発明の効果を有するパケット転送装置の制御プログラムを提供することができる。
以上説明したように、本発明によれば、複数の論理コネクション(例えばPPPoE)を同時に接続することができ、かつ、論理コネクションの接続を確立する際の情報を基に直ちにルーティングテーブルを書き換えることにより他の論理コネクションに切り替えることができる。また、本発明によれば、通信経路の状況を定期的に監視することにより、通信経路の状況に応じて論理コネクションを切り換えることができる。
本発明の骨子は、複数の論理コネクションを経由する通信経路を同時に確立することである。
以下、本発明の実施の形態について、図面を参照して詳細に説明する。
(実施の形態1)
図1は、本発明の実施の形態1に係るパケット転送装置としてのゲートウェイ装置の構成を示す図である。図2は、実施の形態1に係るゲートウェイ装置が接続されるネットワーク構成例を示す図である。
本ゲートウェイ装置100の一方のインタフェース部には、図2に示すように、プロトコルとしてIPoEを使用したネットワーク201やプロトコルとしてPPPoEを使用したネットワーク202〜204が接続されている。ゲートウェイ装置100は、ネットワーク201上に配置されたゲートウェイ装置205及びネットワーク202〜204上にそれぞれ配置されたPPPoEサーバ206〜208と通信を行う。また、ゲートウェイ装置100の他方のインタフェース部には、プロトコルとしてIPoEを使用するPCなどの端末装置209〜211が接続されている。
図1に示す本ゲートウェイ装置100において、フレーム送受信部101、102は、Ethernet(R) I/Fとの間でフレームの送受信を行う。IPoE/PPPoEフレーム組立分解部103、104は、IPoEフレーム及びPPPoEフレームの組立及び分解を行うと共に、そのIPoEフレーム及びPPPoEフレームの構造を認識する。
コネクション確立部105は、入力されたIPoEフレームのIPパケットのヘッダ情報に含まれる送信元IPアドレス又は宛先IPアドレスに基づいてIPoEフレーム又はPPPoEフレームの出力を制御する。また、コネクション確立部105は、入力されたPPPoEフレームのPPPoEヘッダ情報に基づいてIPoEフレーム又はPPPoEフレームの出力を制御する。コネクション確立部105は、IPoEフレーム又はPPPoEフレームの出力を制御する際、ルーティングテーブル106、デフォルトルートテーブル107、ARPテーブル108及びPPPoEセッションテーブル109を用いる。
ルーティングテーブル106は、従来のIPoEフォワーディングテーブル(図11参照)に含まれる情報と、PPPoEフォワーディングテーブル(図15参照)に含まれる情報とが登録されると共に、出力時に使用されるプロトコル(LAYER2プロトコル)が登録されている。
具体的には、図3に示すように、ネットワークアドレス、出力IF番号、プロトコル種別としてIPoEが選択された場合におけるルーティング種別(直接及び間接ルーティング)、IPoEでルーティング種別として間接ルーティングが選択された場合における宛先IPアドレス(ネクストホップIPアドレス)、出力時に使用するプロトコル種別(LAYER2プロトコル)及びプロトコル種別としてPPPoEが選択された場合におけるPPPoEセッションインデックスが対応づけられている。
デフォルトルートテーブル107に登録された情報は、ルーティングテーブル106におけるネットワークアドレスが、送信元IPアドレスに置換されている点でルーティングテーブル106と相違する。
具体的には、図4に示すように、送信元IPアドレス、出力IF番号、プロトコル種別としてIPoEが選択された場合におけるルーティング種別(直接ルーティング又は間接ルーティング)、IPoEでルーティング種別として間接ルーティングが選択された場合における宛先IPアドレス(ネクストホップIPアドレス)、出力時に使用するプロトコル種別(LAYER2プロトコル)及びプロトコル種別としてPPPoEが選択された場合におけるPPPoEセッションインデックスが対応づけられている。
なお、ARPテーブル108及びPPPoEセッションテーブル109は、それぞれ上述した図12及び図16で説明したものと同様の情報を含むものであるため、その説明を省略する。なお、通常、ARPテーブル108における送信元MACアドレスは、ゲートウェイ装置100のMACアドレスが用いられるため、全てのエントリで同一となる。したがって、送信元MACアドレスは、ARPテーブル108とは別のレジスタに記憶してもよい。
以下、上記構成を有する本ゲートウェイ装置100の動作について説明する。ここでは、フレーム送受信部101にIPoEフレームが入力された場合と、PPPoEフレームが入力された場合とに分けて説明する。
フレーム送受信部101にIPoEフレーム及びPPPoEフレームのいずれかのフレームが入力されると、IPoE/PPPoEフレーム組立分解部103においてそのフレームの構造が認識される。認識されたそのフレームの構造はコネクション確立部105に渡される。
コネクション確立部105は、入力されたフレームがIPoEフレームの場合には、IPoEフレームのIPパケットのヘッダ情報に含まれる宛先IPアドレスと、ルーティングテーブル106に登録されたネットワークアドレスとの比較を行う。
コネクション確立部105は、宛先IPアドレスと同一のネットワークアドレスがあった場合には、そのネットワークアドレスに対応づけられた出力IF番号及び出力時に使用するプロトコル種別(PPPoE又はIPoE)を取得する。コネクション確立部105は、取得したプロトコル種別がIPoEの場合には、ルーティング種別(間接ルーティング又は直接ルーティング)を取得する。コネクション確立部105は、取得したルーティング種別が間接ルーティングである場合には、宛先IPアドレス(ネクストホップIPアドレス)も取得する。なお、コネクション確立部105は、取得したルーティング種別が直接ルーティングである場合には、IPパケットのヘッダ情報に含まれる宛先IPアドレスを取得する。また、コネクション確立部105は、取得したプロトコル種別がPPPoEの場合には、PPPoEセッションインデックスを取得する。
コネクション確立部105は、取得したプロトコル種別がIPoEである場合には、取得した宛先IPアドレスを用いてARPテーブル108を検索し、宛先MACアドレスを取得する。取得された宛先MACアドレスは、IPoE/PPPoEフレーム組立分解部104に渡される。
IPoE/PPPoEフレーム組立分解部104は、この宛先MACアドレスを用いてIPoEフレームを組み直す。組み直されたIPoEフレームは、フレーム送受信部102に渡され、フレーム送受信部102から出力される。
一方、コネクション確立部105は、取得したプロトコル種別がPPPoEである場合には、PPPoEセッションインデックスを用いてPPPoEセッションテーブル109を検索し、送信元MACアドレス、宛先MACアドレス及びPPPoEセッションIDなどのPPPoEフレームを生成するための情報を取得する。この検索して取得された情報は、IPoE/PPPoEフレーム組立分解部104に渡される。
IPoE/PPPoEフレーム組立分解部104は、この検索結果に基づいてIPoEフレームをPPPoEフレームに組み直す。組み直されたPPPoEフレームは、フレーム送受信部102に渡され、フレーム送受信部102から出力される。
一方、コネクション確立部105は、入力されたフレームがPPPoEフレームの場合には、PPPoEフレームのPPPoEヘッダ情報とPPPoEセッションテーブル109のエントリを比較する。
コネクション確立部105は、PPPoEセッションテーブル109に登録されたエントリがPPPoEフレームのPPPoEヘッダ情報と一致した場合には、PPPoEフレーム上のIPパケットのヘッダ情報に含まれる宛先IPアドレスと、ルーティングテーブル106に登録されたネットワークアドレスとの比較を行う。
コネクション確立部105は、ヘッダ情報に含まれる宛先IPアドレスと同一のネットワークアドレスがあった場合には、そのネットワークアドレスに対応づけられた出力IF番号及び出力時に使用するプロトコル種別(PPPoE又はIPoE)を取得する。コネクション確立部105は、取得したプロトコル種別がIPoEの場合には、ルーティング種別(間接ルーティング又は直接ルーティング)を取得する。コネクション確立部105は、取得したルーティング種別が間接ルーティングの場合には、宛先IPアドレス(ネクストホップIPアドレス)も取得する。なお、コネクション確立部105は、取得したルーティング種別が直接ルーティングである場合には、IPパケットのヘッダ情報に含まれる宛先IPアドレスを取得する。一方、コネクション確立部105は、取得したプロトコル種別がPPPoEの場合には、PPPoEセッションインデックスを取得する。
コネクション確立部105は、取得したプロトコル種別がIPoEである場合には、取得した宛先IPアドレスを用いてARPテーブル108を検索し、宛先MACアドレスを取得する。取得された宛先MACアドレスは、IPoE/PPPoEフレーム組立分解部104に渡される。
IPoE/PPPoEフレーム組立分解部104は、この宛先MACアドレスを用いてPPPoEフレームをIPoEフレームに組み直す。組み直されたIPoEフレームは、フレーム送受信部102に渡され、フレーム送受信部102から出力される。
一方、コネクション確立部105は、取得したプロトコル種別がPPPoEである場合には、PPPoEセッションインデックスを用いてPPPoEセッションテーブル109を検索し、送信元MACアドレス、宛先MACアドレス及びPPPoEセッションIDなどのPPPoEフレームを生成するための情報を検索する。この検索結果は、IPoE/PPPoEフレーム組立分解部104に渡される。
IPoE/PPPoEフレーム組立分解部104は、この検索結果に基づいてPPPoEフレームを組み直す。組み直されたPPPoEフレームは、フレーム送受信部102に渡され、フレーム送受信部102から出力される。
このように実施の形態1のパケット転送装置としてのゲートウェイ装置100によれば、コネクション確立部105が入力されたフレームのヘッダ情報に含まれる宛先IPアドレスに対応するネットワークアドレスに応じて出力時に使用するプロトコル(IPoE又はPPoE)の種別を選択する。コネクション確立部105は、そのプロトコルの種別がPPPoEの場合には、そのPPPoEセッションも選択する。したがって、パケット転送装置としてのゲートウェイ装置100によれば、入力されたフレームの宛先のネットワークに応じてIPoEとPPPoEとの間でプロトコルを使い分けることができると共に、プロトコルがPPPoEの場合にはPPPoEセッションを使い分けることができる。
なお、コネクション確立部105は、ルーティングテーブル106の検索の際、入力されたフレームの宛先のネットワークアドレスが特に指定されたネットワークアドレス以外のネットワークアドレス、言い換えると、デフォルトルートのエントリと一致した場合には、IPパケットの送信元IPアドレスを用いてデフォルトルートテーブル107を検索する。
コネクション確立部105は、同一の送信元IPアドレスが登録されている場合には、デフォルトルートテーブル107の検索結果をルーティングテーブル106の検索結果に置き換えて使用する。
すなわち、コネクション確立部105は、送信元IPアドレスに応じて、出力時に使用するプロトコル(IPoE又はPPPoE)の種別を選択する。コネクション確立部105は、そのプロトコル種別がPPPoEの場合には、そのPPPoEセッションも選択する。したがって、コネクション確立部105は、通常のネットワークアドレスが検索されない場合であっても、送信元IPアドレスに応じて端末装置を識別し、さらに端末装置毎に使用すべきプロトコル(IPoE又はPPPoE)の種別を選択する。コネクション確立部105は、そのプロトコル種別がPPPoEの場合にはPPPoEセッションも選択できる。このため、端末装置の使用者が希望するISP(Internet Service Provider)の情報を事前に登録しておくことにより、通常のネットワークアドレスが検索されない場合であっても、端末装置毎にISPを使い分けることができる。
(実施の形態2)
次に、本発明の実施の形態2について、図面を参照して説明する。本発明の実施の形態2においては、本発明の実施の形態1に係るゲートウェイ装置と同じ構成要素については、同じ符号が付され、その説明が省略される。
本発明の実施の形態2に係るパケット転送装置としてのゲートウェイ装置の構成を示す図を図5に示す。本発明の実施の形態2に係るゲートウェイ装置が接続されるネットワーク構成図を示す図を図6に示す。
図5に示すように、ゲートウェイ装置500は、フレーム送受信部101、フレーム送受信部102、IPoE/PPPoEフレーム組立分解部103、IPoE/PPPoEフレーム組立分解部104、コネクション確立部105、デフォルトルートテーブル107、ARPテーブル108、PPPoEセッションテーブル109、接続切換制御部501及びルーティングテーブル502を備える。
本ゲートウェイ装置500の一方のインタフェース部には、図6に示すように、プロトコルとしてIPoEを使用したネットワーク201やプロトコルとしてPPPoEを使用したネットワーク202〜204が接続されている。また、ゲートウェイ装置500の他方のインタフェース部には、プロトコルとしてIPoEを使用してPCなどの端末装置209〜211が接続されている。
ゲートウェイ装置500は、ネットワーク201上に配置されたゲートウェイ装置205及びネットワーク202〜204上にそれぞれ配置されたPPPoEサーバ206〜208と通信を行う。
図5に示す本ゲートウェイ装置500において、接続切換制御部501は、ここではPPPoEセッションの接続切換を制御する。接続切換制御部501は、常時接続モードにおいては最初のセッション確立時にPPPoEサーバとセッション確立の手順を取り交わし、オンデマンド接続モードにおいてはPPPoEセッション切断後で再接続する際にPPPoEサーバとセッション確立の手順を取り交わす。接続切換制御部501は、すべてのPPPoEのセッションの確立状態を記憶している。
以下、上記構成を有する本ゲートウェイ装置500の動作について説明する。ここでは、フレーム送受信部101にIPoEフレームが入力された場合について説明する。
フレーム送受信部101にIPoEフレーム及びPPPoEフレームのいずれかのIPフレームが入力されると、IPoE/PPPoEフレーム組立分解部103においてそのフレームの構造(IPoE又はPPPoE)が認識される。認識されたフレームの構造に関する情報は、コネクション確立部105に渡される。
コネクション確立部105は、入力されたフレームがIPoEフレームの場合には、IPoEフレーム上のIPパケットのIPヘッダの宛先IPアドレスとルーティングテーブル502に登録されたネットワークアドレスとの比較を行う。
コネクション確立部105は、宛先IPアドレスと同一のネットワークアドレスがあった場合には、そのネットワークアドレスに対応付けられた宛先ポート及び出力時に使用するプロトコル種別(IPoE又はPPPoE)を取得する。
コネクション確立部105は、取得したプロトコル種別がPPPoEの場合には、ルーティングテーブル502に登録されているPPPoEセッションを示すインデックス番号(PPPoEセッションインデックス)を取得する。コネクション確立部105は、PPPoEセッションインデックスを用いてPPPoEセッションテーブル109を検索して、送信元MACアドレス、宛先MACアドレス及びPPPoEセッションIDなどのPPPoEフレームを生成するための情報を取得する。この検索して取得された情報は接続切換制御部501に渡される。
IPoE/PPPoEフレーム組立分解部104は、PPPoEセッションが確立されている場合には、PPPoEセッションテーブル109の検索結果に基づいてIPoEフレーム又はPPPoEフレームに組みなおしてフレーム送受信部102に渡し、IPoEフレーム又はPPPoEフレームがフレーム送受信部102から出力される。
PPPoEセッションが確立されていない場合(PPPoEオンデマンド接続時は一定時間パケットが流れないとPPPoEセッションは切断されるため、その状態を含む。)には、PPPoEディスカバリステージにおいて、接続切換制御部501は、PPPoEサーバとセッションを確立するためのフレームをPPPoEサーバへ送信する。そして、接続切換制御部501は、PPPoEセッションを確立することができない時には、PPPoEセッション使用不能と判断し直ちにルーティングテーブル502の宛先ポート(PPPoEセッションインデックス)を他のセッションが確立しているPPPoEセッションインデックスに書き換える。
このように実施の形態2のゲートウェイ装置500によれば、接続切換制御部501がセッションの確立ができないPPPoEセッションインデックスを他のセッションが確立されているPPPoEセッションインデックスに書き換えることにより、PPPoEセッションの接続を確立する際に接続確立の成否をルーティングテーブル502にフィードバックすることができるため、柔軟なネットワーク環境を構築することができる。
なお、実施の形態2においてはPPPoEセッション間の切換を行う場合について説明したが、PPPoEセッションの接続を確立できない時に接続切換制御部501がルーティングテーブル502のLAYER2プロトコル及び宛先IPアドレスを書き換えることにより、PPPoEからIPoEに切り換える構成としてもよい。また、実施の形態2においては、IPoEによる接続を確立できない時に接続切換制御部501がルーティングテーブル502のLAYER2プロトコル及びPPPoEセッションの検索インデックスを書き換えることにより、IPoEからPPPoEに切り換える構成としてもよい。
(実施の形態3)
次に、本発明の実施の形態3について、図面を参照して説明する。本発明の実施の形態3においては、本発明の実施の形態1及び実施の形態2に係るゲートウェイ装置と同じ構成要素については、同じ符号が付され、その説明が省略される。
本発明の実施の形態3に係るパケット転送装置としてのゲートウェイ装置の構成を示す図を図7に示す。本発明の実施の形態3に係るゲートウェイ装置が接続されるネットワークの構成を示す図を図8に示す。
図7に示すように、ゲートウェイ装置700は、フレーム送受信部101、フレーム送受信部102、IPoE/PPPoEフレーム組立分解部103、IPoE/PPPoEフレーム組立分解部104、コネクション確立部105、デフォルトルートテーブル107、ARPテーブル108、PPPoEセッションテーブル109ルーティングテーブル502、接続切換制御部701及び通信経路状況監視部702を備える。
本ゲートウェイ装置700の一方のインタフェース部には、図8に示すように、プロトコルとしてIPoEを使用したネットワーク801やプロトコルとしてPPPoEを使用したネットワーク802〜804が接続されている。ゲートウェイ装置700の他方のインタフェース部には、プロトコルとしてIPoEを使用してPCなどの端末装置809、810、及びプロトコルとしてPPPoEを使用してPCなどの端末装置811が接続されている。
ゲートウェイ装置700は、ネットワーク801上に配置されたゲートウェイ装置805及びネットワーク802〜804上に配置されたPPPoEサーバ806〜808と通信を行う。また、ゲートウェイ装置700は、各種のサービスを受けるためにネットワーク802〜804上のPPPoEサーバの先に配置された通信装置812〜814と通信を行うほかに、論理コネクションの通信路状態を監視するためにネットワーク802〜804上のPPPoEサーバの先に配置された通信装置812〜814と定期的に通信を行う。
図5に示す本ゲートウェイ装置700において、通信経路状況監視部702は、PPPoEセッション毎に接続先のネットワーク上に存在する所定の通信装置に対してPingなどのパケットを送出し、その応答の有無、応答時間の長短を監視している。
以下、上記構成を有する本ゲートウェイ装置700の動作について説明する。ここでは、フレーム送受信部101にIPoEフレームが入力された場合について説明する。
フレーム送受信部101にIPフレームが入力されると、IPoE/PPPoEフレーム組立分解部103においてそのフレームの構造(IPoE又はPPPoE)が認識される。認識されたそのフレームの構造はコネクション確立部105に渡される。
コネクション確立部105は、入力されたフレームがIPoEフレームの場合、IPoEフレーム上のIPパケットのIPヘッダの宛先IPアドレスと、ルーティングテーブル502に登録されたネットワークアドレスとの比較を行う。
コネクション確立部105は、宛先IPアドレスと同一のネットワークアドレスがあった場合には、そのネットワークアドレスに対応付けられた宛先ポート及び出力時に使用するプロトコル種別(IPoE又はPPPoE)を取得する。コネクション確立部105は、取得したプロトコル種別がPPPoEの場合には、PPPoEセッションインデックスを取得する。コネクション確立部105は、PPPoEセッションインデックスを用いてPPPoEセッションテーブル109を検索して、送信元MACアドレス、宛先MACアドレス及びPPPoEセッションIDなどのPPPoEフレームを生成するための情報を取得する。この検索して取得した情報は接続切換制御部701に渡される。
PPPoEセッションが確立されている場合には、IPoE/PPPoEフレーム組立分解部104は、接続切換制御部701から渡されるPPPoEセッションテーブル109の検索結果に基づいてIPoEフレーム又はPPPoEフレームに組みなおしてフレーム送受信部102に渡し、フレーム送受信部102から出力される。
PPPoEセッションが確立されていない場合(PPPoEオンデマンド接続時は一定時間パケットが流れないとPPPoEセッションは切断されるため、この状況も含む。)には、PPPoEディスカバリステージにおいて、接続切換制御部701はPPPoEサーバとセッションを確立するためのフレームをPPPoEサーバに送信する。このとき、PPPoEセッションを確立することができなければ、接続切換制御部701はPPPoEセッション使用不能と判断し、直ちにルーティングテーブル502の宛先ポート(PPPoEセッションインデックス)を他のセッションが確立しているPPPoEセッションインデックスに書き換える。
また、PPPoEサーバとの間でPPPoEセッションが確立されている場合であっても、ネットワーク802〜804上のPPPoEサーバの先に配置された通信装置812〜814との通信経路上に障害があり通信経路を確立できない時には、接続切換制御部701はルーティングテーブル502の宛先ポートを他のセッションに書き換える。
通信経路状況監視部702は、定期的に各PPPoEセッションの通信経路の状況を監視している。例えば、通信経路状況監視部702は、接続切換制御部701を介して接続先のネットワーク上に存在する所定の通信装置に対してPingパケットを送出する。そして、通信経路状況監視部702は、PPPoEセッション毎にPing応答の有無、Ping応答時間の長短を記憶する。接続切換制御部701は、通信経路状況監視部702に記憶されている情報とコネクション確立部105より渡されるPPPoEセッションの情報とを比較する。接続切換制御部701は、Ping応答の無いPPPoEセッションを選択していた場合には、直ちにルーティングテーブル502の宛先ポート(PPPoEセッションインデックス)をPing応答の有るPPPoEセッションインデックスに書き換える。
また、接続切換制御部701は、応答時間の長いPPPoEセッションを選択していた場合には、直ちにルーティングテーブル502の宛先ポート(PPPoEセッションインデックス)を応答時間のより短いPPPoEセッションインデックスに書き換える。
このように、実施の形態3のゲートウェイ装置700によれば、接続切換制御部701が、通信経路が確立できないPPPoEセッション又は通信経路が混雑しているPPPoEセッションのルーティングテーブル502におけるPPPoEインデックスを他のPPPoEセッションインデックスに書き換えることにより、通信経路状況監視部702と連携してPPPoEセッションの通信経路の状況をルーティングテーブル502にフィードバックすることができるため、柔軟なネットワーク環境を構築することができる。
なお、実施の形態3においては、PPPoEセッション間の切換を行う場合について説明したが、PPPoEセッションを経由した通信経路を確立できない時に接続切換制御部701がルーティングテーブル502のLAYER2プロトコル及び宛先IPアドレスを書き換えることにより、PPPoEからIPoEに切り換える構成としてもよい。また、IPoEによる通信経路を確立できない時に接続切換制御部701がルーティングテーブル502のLAYER2プロトコル及びPPPoEセッションの検索インデックスを書き換えることにより、IPoEからPPPoEに切り換える構成としてもよい。
また、実施の形態3においては、接続切換制御部701が応答時間の長いPPPoEセッションを選択していた場合には、接続切換制御部701は直ちにルーティングテーブル502のLAYER2プロトコル及び宛先IPアドレスを書き換えることにより、応答時間のより短いIPoEの経路に切り換える構成でもよい。また、逆に、応答時間の長いIPoEを選択していた場合には、接続切換制御部701は直ちにルーティングテーブル502のLAYER2プロトコル及びPPPoEセッションの検索インデックスを書き換えることにより、応答時間のより短いPPPoEのセッションに切り換える構成でもよい。
なお、本発明の論理コネクションはPPPoEの他にL2TP(LAYER2 Tunneling Protocol)、PPTP(Point to Point Tunneling Protocol)などにも適用できる。
本発明は、上記実施の形態に記載した技術をつかってプログラムされた一般的な市販のデジタルコンピュータおよびマイクロプロセッサを使って実施することができる。また、本発明は、上記実施の形態に記載した技術に基づいて作成されるコンピュータプログラムを包含する。
また、本発明は、本発明を実施するコンピュータをプログラムするために使用できる命令を含む記憶媒体も含む。この記憶媒体は、フロッピー(R)ディスク、CDROMやDVDなどの光ディスク、磁気ディスク、ROM、RAM、EPROM、EEPROM、磁気光カード及びメモリカード等であるが、特にこれらに限定されるものではない。