JP4970565B2 - Network routing method - Google Patents
Network routing method Download PDFInfo
- Publication number
- JP4970565B2 JP4970565B2 JP2010084016A JP2010084016A JP4970565B2 JP 4970565 B2 JP4970565 B2 JP 4970565B2 JP 2010084016 A JP2010084016 A JP 2010084016A JP 2010084016 A JP2010084016 A JP 2010084016A JP 4970565 B2 JP4970565 B2 JP 4970565B2
- Authority
- JP
- Japan
- Prior art keywords
- server
- throughput
- client
- vpn
- measurement
- 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.)
- Active
Links
Images
Description
本発明は、複数の拠点に存在するサーバ機器が相互に接続されるネットワークにおいてクライアント機器がVPN(Virtual Private Network)を通じて所定のサーバ機器に接続する際の経路を選定するネットワーク経路選定方法に関する。 The present invention relates to a network route selection method for selecting a route when a client device connects to a predetermined server device through a VPN (Virtual Private Network) in a network in which server devices existing at a plurality of bases are connected to each other.
近年、クラウドコンピューティング技術に関する研究開発が進められている。クラウドを構成するサーバ環境の技術については日々進展している状態にあるが、クラウドから提供されるサービスを利用する利用者のクライアント環境やネットワーク環境などに関しては、まだ課題が多く、改善すべき問題が残されている。 In recent years, research and development on cloud computing technology has been promoted. The technology of the server environment that constitutes the cloud is advancing day by day, but there are still many issues to be solved regarding the client environment and network environment of the users who use the services provided by the cloud. Is left.
例えば、全国各地に支社や営業所などをもつ企業では遠隔地にある複数のデータセンターにサーバを所有していることがある。このような、企業ネットワークで、支社や営業所からデータセンターのサーバにアクセスするリモートアクセス方法として、支社や営業所とデータセンター間を専用線やインターネットVPNなどのネットワーク回線、またこれらを複合した回線を使用してアクセスし、通信を行う。専用線は特定の2地点間を結ぶ回線であり、通信事業者によって回線が管理されているため、通信品質やセキュリティなどの点で非常に優れている。 For example, a company having branch offices or sales offices all over the country may have servers in a plurality of data centers in remote locations. As a remote access method for accessing a data center server from a branch office or sales office in such a corporate network, a network line such as a dedicated line or Internet VPN between the branch office or sales office and the data center, or a combination of these lines. Use to access and communicate. A dedicated line is a line connecting two specific points, and the line is managed by a telecommunications carrier, so it is very excellent in terms of communication quality and security.
これに対しインターネットVPNはインターネット網を使用するため、専用線にくらべ低コストで通信をおこなうことができる。しかし、インターネット網は帯域保障が無く、セキュリティ確保のためのカプセル化や暗号化等の処理で通信速度が低下するという問題がある。 On the other hand, since the Internet VPN uses an Internet network, it can communicate at a lower cost than a dedicated line . However, the Internet network has no bandwidth guarantee, and there is a problem that the communication speed is lowered by processing such as encapsulation and encryption for ensuring security.
例えば、九州のデータセンターがあった場合、ユーザが東京から九州にインターネットVPNを使用しアクセスをする場合や、複数のユーザが一斉に1つの拠点に対しインターネットVPNでアクセスをすると、回線の遅延が発生する。 For example, if there is a data center in Kyushu, if users use Internet VPN from Tokyo to Kyushu, or if multiple users access the same site via Internet VPN at the same time, line delay will occur. appear.
このような問題を解決するために、ルータ同士で帯域や負荷状況の情報を報告し合い、回線の状況に合わせて送信パケット量を制御することで、通信回線をできるだけ安定させて使用する事ができるダイナミックVPNサービスを導入することが考えられる。また、通信速度の低下を解決するための技術として、特許文献1が挙げられる。
In order to solve such problems, it is possible to make the communication line as stable as possible by reporting information on the bandwidth and load status between routers and controlling the amount of transmitted packets according to the line condition. It is possible to introduce a dynamic VPN service that can be used.
しかしながら、ダイナミックVPNのサービスにおいては、導入するためにネットワークの再構築をする必要があり、設計構築に期間を要すことや、期間にともない費用も多く発生する。また、特許文献1の技術は、複数のプロバイダを通じて複数のVPNトンネルを形成してIPパケットを同報通信する環境であれば活用できるかもしれないが、そうでない場合には活用することができない。
However, in the dynamic VPN service, it is necessary to reconstruct the network in order to introduce it, so that it takes a period of time for design and construction, and a lot of costs are associated with the period. The technique of
本発明は上記実情に鑑みてなされたものであり、複数の拠点に存在するサーバ機器が相互に接続されるネットワークにおいて、クライアント機器がインターネットVPN接続でする際、回線の混雑状況や回線の障害に対応した通信経路を選択することによって、安定的な通信経路でのアクセスが可能となり、さらに既存のネットワーク環境から機器の追加やネットワーク環境の再構築を必要がなく、経済的に実現することができる、ネットワーク経路選定方法を提供することを目的とする。 The present invention has been made in view of the above circumstances, and in a network in which server devices existing at a plurality of bases are connected to each other, when the client device is connected to the Internet VPN, it is possible to deal with a line congestion situation or a line failure. By selecting a compatible communication path, access via a stable communication path is possible, and there is no need to add equipment or rebuild the network environment from the existing network environment, which can be realized economically. An object of the present invention is to provide a network routing method.
本発明の一態様によるネットワーク経路選定方法は、複数の拠点にそれぞれ存在するサーバ機器が相互に専用線で接続されるネットワークにおいてクライアント機器がVPNにより所定のサーバ機器にVPNサーバ機器経由で接続する際の経路を選定するネットワーク経路選定方法であって、前記クライアント機器が、スループット測定手段により、前記クライアント機器がVPN接続をしていないときに、前記複数の拠点にそれぞれ存在するサーバ機器にVPNサーバ機器経由で接続し、前記クライアント機器とそれぞれのサーバ機器との間のスループット値を測定、もしくはクライアントがSSHにて測定サーバにリモート接続を行い、測定サーバからクライアントへのスループットを測定するコマンドを実行し、測定結果を取得するとともに、クライアントはSSHを用いて各拠点のサーバ機器間のスループット値を取得し、測定もしくは取得したそれぞれのスループット値を記憶媒体の所定の領域に保存し、保存後に接続中のVPN接続を切断し、前記クライアント機器が、経路選択手段により、前記記憶媒体の所定の領域に保存されたそれぞれのスループット値に基づき、前記クライアント機器が所定のサーバ機器に接続することが可能な経路のうち、最もスループットが高い経路を選択し、選択した経路に位置するVPNサーバのアドレスを前記クライアント機器のhostsファイルに設定することを特徴とする。 In the network route selection method according to an aspect of the present invention, a client device connects to a predetermined server device via a VPN server device via a VPN in a network in which server devices respectively present at a plurality of bases are connected to each other through a dedicated line. A network path selection method for selecting a path of a server, wherein when the client device is not connected to the VPN by a throughput measuring means, a VPN server device is connected to a server device existing at each of the plurality of bases. And connect the client device to measure the throughput value between the client device and each server device, or the client remotely connects to the measurement server via SSH and executes a command to measure the throughput from the measurement server to the client. And get the measurement result In addition, the client acquires the throughput value between the server devices at each site using SSH, saves the measured or acquired throughput value in a predetermined area of the storage medium, and disconnects the connected VPN connection after saving. The client device is based on the respective throughput values stored in the predetermined area of the storage medium by the route selection means, and is the most possible route that the client device can connect to the predetermined server device. A route having a high throughput is selected, and the address of the VPN server located in the selected route is set in the hosts file of the client device.
本発明の他の態様によるネットワーク経路選定方法は、請求項1に記載のネットワーク経路選定方法において、前記複数の拠点にそれぞれ存在するサーバ機器が、スループット測定手段により、サーバ機器間のスループット値を測定し、測定したサーバ機器間のスループット値を記憶媒体の所定の領域に保存することを特徴とする。
The network route selection method according to another aspect of the present invention is the network route selection method according to
本発明の他の態様によるネットワーク経路選定用プログラムは、複数の拠点にそれぞれ存在するサーバ機器が相互に専用線で接続されるネットワークにおいてクライアント機器がVPNにより所定のサーバ機器にVPNサーバ機器経由で接続する際の経路を選定するネットワーク経路選定用プログラムであって、前記クライアント機器がVPN接続をしていないときに、前記複数の拠点にそれぞれ存在するサーバ機器にVPNサーバ機器経由で接続し、前記クライアント機器とそれぞれのサーバ機器との間のスループット値を測定、もしくはクライアントがSSHにて測定サーバにリモート接続を行い、測定サーバからクライアントへのスループットを測定するコマンドを実行し、測定結果を取得するとともに、クライントはSSHを用いて各拠点のサーバ機器間のスループット値を取得し、測定もしくは取得したそれぞれのスループット値を記憶媒体の所定の領域に保存し、保存後に接続中のVPN接続を切断するスループット測定機能と、前記記憶媒体の所定の領域に保存されたそれぞれのスループット値に基づき、前記クライアント機器が所定のサーバ機器に接続することが可能な経路のうち、最もスループットが高い経路を選択し、選択した経路に位置するVPNサーバのアドレスを前記クライアント機器のhostsファイルに設定する経路選択機能とをコンピュータに実現させることを特徴とする。 According to another aspect of the present invention, there is provided a network route selection program in which a client device is connected to a predetermined server device via a VPN server device via a VPN in a network in which server devices respectively existing at a plurality of bases are connected to each other through a dedicated line. A network route selection program for selecting a route when the client device is connected to a server device existing at each of the plurality of bases via a VPN server device when the client device is not connected to the VPN. Measure the throughput value between the device and each server device, or the client remotely connects to the measurement server via SSH, executes the command to measure the throughput from the measurement server to the client, and acquires the measurement result , The client uses SSH A throughput measurement function for acquiring a throughput value between server devices at bases, storing each measured or acquired throughput value in a predetermined area of the storage medium, and disconnecting a connected VPN connection after the storage; Based on the respective throughput values stored in the predetermined area, the VPN server that selects the path with the highest throughput among the paths that the client apparatus can connect to the predetermined server apparatus and is located on the selected path And a path selection function for setting the address in the hosts file of the client device.
本発明の他の態様によるクライアント機器は、複数の拠点にそれぞれ存在するサーバ機器が相互に専用線で接続されるネットワークにおいてVPNにより所定のサーバ機器にVPNサーバ機器経由で接続する際の経路を選定することが可能なクライアント機器であって、前記クライアント機器がVPN接続をしていないときに、前記複数の拠点にそれぞれ存在するサーバ機器にVPNサーバ機器経由で接続し、前記クライアント機器とそれぞれのサーバ機器との間のスループット値を測定、もしくはクライアントがSSHにて測定サーバにリモート接続を行い、測定サーバからクライアントへのスループットを測定するコマンドを実行し、測定結果を取得するとともに、クライアントはSSHを用いて各拠点のサーバ機器間のスループット値を取得し、測定もしくは取得したそれぞれのスループット値を記憶媒体の所定の領域に保存し、保存後に接続中のVPN接続を切断するスループット測定手段と、前記記憶媒体の所定の領域に保存されたそれぞれのスループット値に基づき、前記クライアント機器が所定のサーバ機器に接続することが可能な経路のうち、最もスループットが高い経路を選択し、選択した経路に位置するVPNサーバのアドレスを前記クライアント機器のhostsファイルに設定する経路選択手段とを具備することを特徴とする。 A client device according to another aspect of the present invention selects a path for connecting to a predetermined server device via a VPN server device via VPN in a network in which server devices existing at a plurality of bases are connected to each other by a dedicated line. When the client device is not VPN-connected, the client device is connected to a server device existing at each of the plurality of bases via a VPN server device, and the client device and each server Measure the throughput value with the device, or the client remotely connects to the measurement server with SSH, executes the command to measure the throughput from the measurement server to the client, acquires the measurement result, and the client uses the SSH Throughput value between server devices at each site The obtained throughput value is stored in a predetermined area of the storage medium, the throughput measurement means for disconnecting the connected VPN connection after the storage, and each of the throughput values stored in the predetermined area of the storage medium Based on the throughput value, the route with the highest throughput is selected from the routes that the client device can connect to the predetermined server device, and the address of the VPN server located in the selected route is the hosts file of the client device. And a route selection means for setting to (1).
本発明によれば、複数の拠点に存在するサーバ機器が相互に接続されるネットワークにおいて、クライアント機器がインターネットVPN接続でする際、回線の混雑状況や回線の障害に対応した通信経路を選択することによって、安定的な通信経路でのアクセスが可能となり、さらに既存のネットワーク環境から機器の追加やネットワーク環境の再構築を必要がなく、経済的に実現することができる、ネットワーク経路選定方法を提供することができる。 According to the present invention, in a network in which server devices existing at a plurality of bases are connected to each other, when a client device is connected to the Internet VPN, a communication path corresponding to a line congestion state or a line failure is selected. Provides a network route selection method that enables access via a stable communication route and that can be realized economically without the need to add devices or reconstruct the network environment from the existing network environment. be able to.
以下、図面を参照して、本発明の実施の形態について説明する。 Embodiments of the present invention will be described below with reference to the drawings.
図1は、本発明の一実施形態に係るネットワーク経路選定方法が適用されるネットワークシステムの第1の通信形態を模式的に示す図である。また、図2は、同ネットワークシステムの第2の通信形態を模式的に示す図である。 FIG. 1 is a diagram schematically showing a first communication form of a network system to which a network route selection method according to an embodiment of the present invention is applied. FIG. 2 is a diagram schematically showing a second communication form of the network system.
なお、本実施形態では、便宜上、サーバ機器を「サーバ」と呼び、クライアント装置を「クライアント」と呼ぶことにする。 In this embodiment, for convenience, the server device is referred to as a “server” and the client device is referred to as a “client”.
図1および図2に示されるように、例えばデータセンター100,200,…を単位とする複数の拠点のそれぞれには、1または複数のサーバが存在している。データセンター間は専用線で相互に接続される。専用線は、ある特定の2地点間を結ぶデータ通信専用の回線であり、本実施形態においては各拠点のVPNサーバ(ルータ)同士がこの回線で接続される。VPNサーバは、VPN通信を行うためのカプセル化、暗号化を行うサーバ・ルータ機能を有する。VPN接続を開始する際、クライアントはVPNサーバのホスト名を指定するようになっている。
As shown in FIGS. 1 and 2, for example, one or a plurality of servers exist in each of a plurality of bases in units of
図1および図2に示されるサーバ群は全体としてクラウド環境を構成し、インターネットVPNを通じて個々のクライアントに各種のサービスを提供することができる。 The server group shown in FIGS. 1 and 2 constitutes a cloud environment as a whole, and can provide various services to individual clients through the Internet VPN.
図1および図2の例では、データセンター100に、VPNサーバ(ルータ)1、このVPNサーバ(ルータ)1に接続されるサーバ11およびサーバ12が備えられる。サーバ11およびサーバ12のうちの少なくとも1つ、例えばサーバ11には、後述する設定ファイルの情報を用いて動作するアプリケーション10が常駐している。また、データセンター200には、VPNサーバ(ルータ)2、このVPNサーバ(ルータ)2に接続されるサーバ21およびサーバ22が備えられる。サーバ21およびサーバ22のうちの少なくとも1つ、例えばサーバ21には、上記アプリケーション10と同じものが常駐している。VPNサーバ(ルータ)1とVPNサーバ(ルータ)2とは専用線で接続され、データセンター100内の個々のサーバとデータセンター200内の個々のサーバとが当該専用線を介して通信を行える。
In the example of FIGS. 1 and 2, the
クライアント3は、ユーザが使用する端末である。このクライアント3は、インターネットVPNにより各拠点の所定のサーバに接続して通信を行うことができる。インターネットVPNは、インターネットを経由して構築される仮想的なプライベートネットワークである。インターネットVPNを経由することによって、機密を保持したまま遠隔地のネットワーク同士をLANで接続しているのと同じように運用することができる。また、このクライアント3には、後述する設定ファイルの情報を用いて動作するアプリケーション30が備えられる。さらに、このクライアント3には、ホスト名名前解決のネットワークシステムファイルである「hostsファイル」が備えられており、入力装置や表示装置を通じて接続先のホスト名とIPアドレスの設定が可能である。
The
ここで、図1に示される第1の通信形態が形成される一般的な手順について説明する。 Here, a general procedure for forming the first communication form shown in FIG. 1 will be described.
例えばクライアント3は表示装置を通して、VPN接続画面から、ユーザが入力した任意の文字列であるVPN接続先のホスト名を通信部が受け取る。当該ホスト名がhostsファイルに設定される場合を考える。ここでは、VPN接続先のホスト名がデータセンター100を指しているものとする。クライアント3は、通信部を介し、当該ホスト名に対応するIPアドレスに対し、インターネットVPN接続を開始する。ここでは、当該ホスト名に対応するIPアドレスは、VPNサーバ1のIPアドレスであるものとする。これにより、クライアント3とデータセンター100(VPNサーバ1)とのVPN接続が確立される。次に、接続画面を通じて、ユーザが入力した接続すべきサーバのIPアドレスを通信部で受け取る。ここでは、当該IPアドレスはサーバ11のIPアドレスであるものとする。これにより、VPNサーバ1は、指定されたIPアドレスの接続情報を確認し、クライアント3とサーバ11との通信を開始する。
For example, the communication unit receives the host name of the VPN connection destination which is an arbitrary character string input by the user from the VPN connection screen through the display device. Consider the case where the host name is set in the hosts file. Here, it is assumed that the host name of the VPN connection destination points to the
次に、図2に示される第2の通信形態が形成される一般的な手順について説明する。 Next, a general procedure for forming the second communication form shown in FIG. 2 will be described.
ここでも、クライアント3の接続画面を通じてユーザが入力した、VPN接続先のホスト名を通信部が受けとると、当該ホスト名がhostsファイルに設定される場合を考える。ここでは、VPN接続先のホスト名がデータセンター200を指しているものとする。クライアント3は、当該ホスト名に対応するIPアドレスに対し、通信部を介して、インターネットVPN接続を開始する。ここでは、当該ホスト名に対応するIPアドレスは、VPNサーバ2のIPアドレスであるものとする。これにより、クライアント3とデータセンター200(VPNサーバ2)とのVPN接続が確立される。次に、クライアント3の接続画面を通じて、ユーザが入力した接続すべきサーバのIPアドレスを通信部で受け取る、ここでは、当該IPアドレスはサーバ11のIPアドレスであるものとする。これにより、VPNサーバ2は、指定されたIPアドレスの接続情報を確認し、クライアント3とサーバ11との通信を開始する。
Again, when the communication unit receives the host name of the VPN connection destination input by the user through the connection screen of the
以下では、図1および図2を参照しつつ、図3および図4を参照し、クライアント3およびサーバ11,21のそれぞれの機能構成について説明する。
Hereinafter, the functional configurations of the
図3は、図1および図2中に示されるクライアント3の機能構成の一例を示すブロック図である。
FIG. 3 is a block diagram illustrating an example of a functional configuration of the
クライアント3は、オペレーティングシステム(OS)の下で常駐するアプリケーション30を備える。このアプリケーション30は、外部機器との通信のために通信部40を使用すると共に、各種のファイルやリストなどの情報を記憶したり読み出したりするために記憶部(記憶媒体または記憶装置)41〜44を使用する。図3の例では、記憶部41〜44が別々の領域に配置されているが、勿論、これらの全てもしくはいくつかを1つの記憶部にまとめて配置するようにしてもよい。アプリケーション30は、機能モジュールとして、スループット測定部52および経路選択部51を備える。
The
経路選択部51は、記憶部41に記憶される設定ファイルの内容に基づき、スループット測定部52に対して後述する測定サーバIPアドレス等を伝えてスループット測定を指示する機能を有する。
The
スループット測定部52は、経路選択部51からの要求を受けて、経路測定部51がクライアント3はサービス利用のVPN接続をしていないことを確認すると、記憶部41に記憶されている設定ファイルの記載されているIPアドレスに基づいて、通信部40を通じて複数の各拠点に存在する測定サーバにVPNサーバ経由でVPN接続し、クライアント3とそれぞれの測定サーバとの間の上りのスループット値を測定する。さらに、クライアントがSSHにて測定サーバにリモート接続を行い、測定サーバからクライアントへのスループットを測定するコマンドを実行し、測定結果を取得する。このスループット情報はクラアント、サーバ間の下りのスループット値である。ここでいうスループット測定は測定したいサーバのIPアドレスに対して一定量のデータの送信を行い、送信にかかった時間を測定し、単位時間当たりの送信量の測定であり、一般的に使用されているスループット測定機であれば測定できる。
When the
そして、クライントはSSHを用いて、各拠点の測定サーバ間のスループット値を取得し、(具体的には、各拠点にある測定サーバのスループット測定結果ログファイルから最新の一行のスループット測定値を取得し、)測定もしくは取得したそれぞれのスループット値をスループット測定結果ログファイル(以下、「測定結果ファイル」と呼ぶ場合がある。)として記憶部42に保存し、保存後に接続中のVPN接続を切断する機能である。SSHは、暗号や認証の技術を利用して、例えば遠隔地の機器からコマンドを実行したり、他の機器へファイルを移動したりするためのプログラムである。
The client then uses SSH to obtain the throughput value between the measurement servers at each site (specifically, obtain the latest one-line throughput measurement value from the throughput measurement result log file of the measurement server at each site) And) each measured or acquired throughput value is stored in the
また、経路選択部51は、記憶部42に保存された測定結果ファイルの中のそれぞれのスループット値に基づき、記憶部43上に経路リストを作成し、また必要に応じて計算用リストも作成し、当該リストを用いて、クライアント3が所定のサーバに接続することが可能な経路のうち、最もスループットが高い経路を選択し、選択した経路に位置するVPNサーバのアドレスをクライアント3の記憶部44に記憶されているhostsファイルに設定する機能を有する。
Further, the
また、クライアントのサービス利用のVPN接続有無を監視する。 In addition, the presence / absence of VPN connection for client service use is monitored.
以下では、図3に示される各種の要素について、より詳細に説明する。 Hereinafter, the various elements shown in FIG. 3 will be described in more detail.
記憶部41に記憶される設定ファイルは、スループット測定部52がそれぞれの各データセンターにあるサーバとの間のスループット値を測定もしくは取得するとともにサーバ間のスループット値を取得するために必要な情報を有する。設定ファイルは、図5に示されるように、(1)動作間隔時間、(2)優先測定値、(3)ホスト名、(4)VPNサーバIPアドレス(接続拠点)、(5)測定サーバIPアドレス(接続拠点)、(6)VPNサーバIPアドレス(経由拠点)、(7)測定サーバIPアドレス(経由拠点)、といった情報を有する。
The setting file stored in the
なお、「接続拠点」とは、接続サーバがある拠点を指す。ここで、「接続サーバ」とは、クラアントが接続する目的のサーバを指す。一方、「経由拠点」とは、接続拠点に接続する際に経由する拠点を指す。 The “connection site” refers to a site where the connection server is located. Here, “connection server” refers to a server to which a client connects. On the other hand, the “route base” refers to a base through which a connection base is connected.
(1)動作間隔時間は、スループット測定を実施する間隔時間である。具体的には、各サーバとの接続から、スループット測定、hostsファイルの書換えまでの一連の動作を行う間隔時間である。例えば、動作間隔時間を5分とした場合、サーバA、サーバBと2つの測定サーバがあるとすると、AM10:00にサーバAを測定し全ての測定動作が例えば1分かかるとするとAM10:01にサーバBを測定する、その後AM10:05にサーバAの測定が開始されAM10:06にサーバBが測定される。 (1) The operation interval time is an interval time for performing the throughput measurement. Specifically, it is an interval time for performing a series of operations from connection with each server to throughput measurement and rewriting of the hosts file. For example, assuming that the operation interval time is 5 minutes and there are two measurement servers, server A and server B, if server A is measured at AM 10:00 and all measurement operations take, for example, 1 minute, AM 10:01 Server B is measured, and then measurement of server A is started at AM 10:05 and server B is measured at AM 10:06.
(2)優先測定値は、経路選択の際に、選択された経路のスループット値の上り・下り、または両方の平均のどの情報を使用するかを指定する。本実施形態では、上りを優先することを「1」で表し、下りを優先することを「2」で示し、上りと下りの平均を優先することを「3」で表す。 (2) The priority measurement value specifies which information of the average of the uplink and downlink of the throughput value of the selected route or the average of both is used at the time of route selection. In this embodiment, “1” indicates that priority is given to uplink, “2” indicates that priority is given to downlink, and “3” indicates that priority is given to the average of uplink and downlink.
(3)ホスト名は、接続サーバが存在する拠点のホスト名であり、選択した経路を書き換える対象のホスト名である。このホスト名は、VPN接続を行う際に使用される。 (3) The host name is the host name of the base where the connection server exists, and is the target host name for which the selected route is to be rewritten. This host name is used when making a VPN connection.
(4)VPNサーバIPアドレス(接続拠点)は、接続サーバが存在する拠点のVPNサーバのIPアドレスである。 (4) The VPN server IP address (connection base) is the IP address of the VPN server at the base where the connection server exists.
(5)測定サーバIPアドレス(接続拠点)は、接続サーバが存在する拠点のスループット測定に使用するサーバのIPアドレスである。 (5) The measurement server IP address (connection base) is the IP address of the server used for the throughput measurement of the base where the connection server exists.
(6)VPNサーバIPアドレス(経由拠点)は、経由拠点に存在するVPNサーバのIPアドレスである。 (6) VPN server IP address (route base) is the IP address of the VPN server existing at the route base.
(7)測定サーバIPアドレス(経由拠点)は、経由拠点に存在するスループット測定に使用するサーバのIPアドレスである。 (7) The measurement server IP address (route base) is an IP address of a server used for throughput measurement at the route base.
記憶部42に記憶されるスループット測定結果ログファイル(測定結果ファイル)は、スループット測定部52が測定もしくは取得したそれぞれのサーバ間のスループット値を有する。この測定結果ファイルは、図6に示されるように、(1)測定開始時刻、(2)スループット測定値、といった情報を有する。
The throughput measurement result log file (measurement result file) stored in the
(1)測定開始時刻は、測定を開始した時刻である。 (1) The measurement start time is the time when the measurement is started.
(2)スループット測定値は、測定したスループット値(Mbps)である。 (2) The measured throughput value is a measured throughput value (Mbps).
記憶部43に記憶される経路リストおよび計算リストは、経路選択部51が経路を選択するために必要な情報を有する。経路リストには、接続サーバに接続可能な、全ての経路のVPNサーバIPアドレスとスループット測定値とを対応付けたリストが記載される。計算リストには、各経路の上りのスループット測定値と下りのスループット測定値と各接続サーバに接続可能な経路の上り下りのスループット値の平均値が記載される。
The route list and the calculation list stored in the
記憶部44に記憶されるhostsファイルは、ホスト名のほか、ホスト名に対応した、VPN接続すべきVPNサーバのアドレスを有する。このhostsファイルには、経路選択部51が選択した経路に位置するVPNサーバのアドレスが設定される。
The hosts file stored in the
図4は、図1および図2中に示されるサーバ11,21の機能構成の一例を示すブロック図である。
FIG. 4 is a block diagram illustrating an example of a functional configuration of the
サーバ11,21は、それぞれ、オペレーティングシステム(OS)の下で常駐するアプリケーション10を備える。このアプリケーション10は、外部機器との通信のために通信部60を使用すると共に、各種のファイルを記憶したり読み出したりするために記憶部(記憶媒体、記憶装置)61,62を使用する。図4の例では、記憶部61,62が別々の領域に配置されているが、勿論、これらの全てもしくはいくつかを1つの記憶部にまとめて配置するようにしてもよい。アプリケーション10は、機能モジュールとして、測定制御部63およびスループット測定部64を備える。
Each of the
測定制御部63は、記憶部61に記憶される設定ファイルの内容に基づき、スループット測定部64に対して測定サーバIPアドレス等を送りスループット測定を要求する機能を有する。スループット測定部64は、測定制御部63からの要求に従って、設定ファイルに記載された各拠点のサーバとの間のスループット値を測定し、測定したスループット値を記憶部62に測定結果ファイルとして保存する。
The measurement control unit 63 has a function of sending a measurement server IP address or the like to the
以下では、図4に示される各種の要素について、より詳細に説明する。 Hereinafter, the various elements shown in FIG. 4 will be described in more detail.
記憶部61に記憶される設定ファイルは、スループット測定部64が他拠点のサーバとの間のスループット値を測定するために必要な情報を有する。設定ファイルは、図7に示されるように、(1)動作間隔時間、(2)測定サーバIPアドレス、といった情報を有する。
The setting file stored in the
(1)動作間隔時間は、スループット測定を実施する間隔時間であり、動作はクラアントアプリケーションと同様である。 (1) The operation interval time is an interval time for performing the throughput measurement, and the operation is the same as that of the client application.
(2)測定サーバIPアドレスは、他拠点のスループット測定に使用するサーバのIPアドレスである。 (2) The measurement server IP address is an IP address of a server used for throughput measurement at another base.
記憶部62に記憶されるスループット測定結果ログファイル(測定結果ファイル)は、スループット測定部64が測定したスループット値を有する。ファイル名は、「測定元IPアドレス」、「測定先サーバIPアドレス」、および「YYYYMMDD(本日日付)」の組合せで特定される。この測定結果ファイルは、図6に示されるように、(1)測定開始時刻、(2)スループット測定値、といった情報を有する。
The throughput measurement result log file (measurement result file) stored in the
(1)測定開始時刻は、測定を開始した時刻である。 (1) The measurement start time is the time when the measurement is started.
(2)スループット測定値は、測定したスループット値(Mbps)である。 (2) The measured throughput value is a measured throughput value (Mbps).
(クライアント3側のアプリケーション30の動作の概要)
以下に、クライアント3側のアプリケーション30の動作の概要を示す。
(Outline of operation of
The outline of the operation of the
1)開始時の処理
・クライアント3のOSの起動時にアプリケーション30が起動する。
1) Processing at start-up-The
・起動後、経路選択部52が設定ファイルの読込みを行う。
-After activation, the
・経路選択部52は、クライアント3がサービス利用のVPN接続を行っているかの有無を確認する。
The
・スループット測定部52は、サービス利用のVPN非接続時、通信部60を介し、設定ファイルから読込んだ各拠点の測定サーバにVPN接続をおこない、VPNスループット測定等の処理を開始する。
The
・クライアントがサービス利用のVPN接続中の場合は、処理を行わず終了する。 • If the client is connected to the service using VPN, the process ends without performing any processing.
2)スループット測定処理、情報収集蓄積処理
・設定ファイルに記載された各拠点のVPNサーバと通信部40によりVPN接続を確立し、上り・下りのスループットを測定し、上り・下りのスループット測定値を記憶部42のスループット測定結果ログファイル(測定元IPアドレス_測定先サーバIPアドレス_YYYYMMDD(本日日付).log)に追記または、新規に保存する。
2) Throughput measurement processing, information collection / accumulation processing-Establish VPN connection with the VPN server at each site described in the configuration file and the
・上りのスループット測定については、クライアント3から測定サーバへのスループットを測定する。
For uplink throughput measurement, the throughput from the
・下りのスループット測定については、クライアント3がSSHにて測定サーバにリモート接続を行い、測定サーバからクライアント3へのスループットを測定するコマンドを実行し、測定結果を取得する。
For downlink throughput measurement, the
・クライアント3はSSHを使用して、各拠点の測定サーバにある、サーバ間のスループット測定結果ログファイルの最新の1行のみを取得する。
The
VPN接続を切断する。 Disconnect the VPN connection.
・上記の処理を、設定ファイルにて設定されている、各拠点のサーバIPアドレス数分、繰り返す。 The above processing is repeated for the number of server IP addresses of each base set in the setting file.
3)経路作成処理、経路設定処理
・経路選択部51は、設定ファイルの優先測定値を参照し、経路の選択処理を行う。
3) Route creation processing, route setting processing-The
・また、経路選択を行う前に、全ての経路のVPNサーバIPアドレスとスループット測定値を格納するための経路リスト、および、各経路の上り・下りのスループット測定値と各接続サーバに接続可能な経路の上り下りのスループット値の平均値を格納するための計算用リストを、メモリ上の記憶部43に生成する。
・ Also, before selecting a route, it is possible to connect to the VPN server IP address and throughput measurement value of all routes, and the uplink and downlink throughput measurement values of each route and each connection server. A calculation list for storing the average value of the throughput values of the uplink and downlink of the route is generated in the
・各経路選択の方法は以下の通りである。 ・ The route selection method is as follows.
3−1)上りのスループット測定値が優先される場合
・クライアント3のスループット測定結果ログファイルより、クライアント3から測定サーバ(接続拠点)への上りスループット測定値を読込み、設定ファイルのVPNサーバIPアドレス(接続拠点)の内容と合わせて、メモリ上の記憶部43の経路リストに格納する。
3-1) When the uplink throughput measurement value is prioritized-From the throughput measurement result log file of the
・設定ファイルから測定サーバ(経由拠点)のIPアドレスのリストを読込み、次の処理を実施する。 ・ Read the IP address list of the measurement server (route base) from the configuration file and perform the following process.
・クライアント3のスループット測定結果ログファイルより、クライアント3から測定サーバ(経由拠点)への上りスループット測定値と、測定サーバ(経由拠点)から測定サーバ(接続拠点)への上りスループット測定値を読込み、クライアント3から測定サーバ(経由拠点)と測定サーバ(経由拠点)から測定サーバ(接続拠点)とのスループット測定値を比較し、スループット測定値の低い方の上りスループット測定値と測定サーバ(経由拠点)と同一拠点のVPNサーバIPアドレス(経由拠点)をメモリ上の記憶部43の経路リストに格納する。
-From the throughput measurement result log file of
・経路リストに格納された中で最もスループット測定値が高い経路を選択する。 Select the route with the highest throughput measurement value stored in the route list.
3−2)下りのスループット測定値が優先される場合
・クライアント3のスループット測定結果ログファイルより、クライアント3から接続拠点への下りスループット測定値を読込み、設定ファイルのVPNサーバIPアドレス(接続拠点)の内容と合わせて、メモリ上の記憶部43の経路リストに格納する。
3-2) When the downlink throughput measurement value is prioritized • The downstream throughput measurement value from the
・設定ファイルから測定サーバIPアドレスのリストを読込み、測定サーバごとに次の処理を実施する。 Read the list of measurement server IP addresses from the configuration file, and perform the following processing for each measurement server.
・クライアント3のスループット測定結果ログファイルより、クライアント3から測定サーバ(経由拠点)への下りスループット測定値と、測定サーバ(経由拠点)から測定サーバ(接続拠点)への下りスループット測定値を読込み、クライアント3から測定サーバ(経由拠点)と測定サーバ(経由拠点)から測定サーバ(接続拠点)とのスループット測定値を比較し、スループット測定値の低い方の下りスループット測定値と測定サーバと(経由拠点)同一拠点のVPNサーバIPアドレス(経由拠点)をメモリ上の記憶部43の経路リストに格納する。
-From the throughput measurement result log file of
・経路リストに格納された中で最もスループット測定値が高い経路を選択する。 Select the route with the highest throughput measurement value stored in the route list.
3−3)上り・下りの平均が優先される場合
・クライアント3のスループット測定結果ログファイルより、クライアント3から接続拠点への上り・下りのスループット測定値を読込み、設定ファイルのVPNサーバIPアドレス(接続拠点)の内容と合わせて、メモリ上の記憶部43の計算用リストに格納する。
3-3) When the uplink and downlink averages are prioritized-From the
・設定ファイルから測定サーバIPアドレスのリストを読込み、測定サーバごとに次の処理を実施する。 Read the list of measurement server IP addresses from the configuration file, and perform the following processing for each measurement server.
・クライアント3の測定結果よりクライアント3から測定サーバ(経由拠点)への上り・下りのスループット測定値と、測定サーバ(経由拠点)から測定サーバ(接続拠点)への上り・下りのスループット測定値を読込み、それらを上り・下り別々に比較し低い方のスループット測定値を上り・下りのスループット測定値として、メモリ上の記憶部43の計算用リストに格納する。
-Based on the measurement results of
・計算用リストから上り・下りのすべてのスループット測定値の平均値を算出する。 Calculate the average value of all uplink and downlink throughput measurements from the calculation list.
・上り・下り別々に平均値に対するスループット測定値の割合を経路ごとに算出し、経路リストにスループット測定値の割合を算出し、それらを掛け合わせた値とVPNサーバIPアドレスとを経路リストに格納する。 Calculate the ratio of the throughput measurement value to the average value for each uplink and downlink separately for each route, calculate the ratio of the throughput measurement value to the route list, and store the multiplied value and the VPN server IP address in the route list To do.
・経路リストに格納された中で最もスループット割合が最も高い経路を選択する。 -Select the route with the highest throughput ratio stored in the route list.
4)経路情報更新処理
・クライアントのhostsファイル内のホスト名に対応するIPアドレスが、上記で選択された経路のクライアント、VPNサーバ間のVPNサーバのIPアドレスと異なる場合、IPアドレスを変更する。
4) Route information update processing When the IP address corresponding to the host name in the host file of the client is different from the IP address of the VPN server between the client and VPN server of the route selected above, the IP address is changed.
同一であった場合は、何もしない。 If they are the same, do nothing.
5)終了時の処理
・クラアント3がサービス利用のVPN接続を開始すると、クライント3のアプリケーション30で行われる一連の処理は終了する。
5) Processing at the end ・ When the
・クライアント3サービス利用のVPN接続を終了すると、1度だけ、アプリケーション30による一連の処理を実施する。
When the VPN connection using the
(サーバ11,21側のアプリケーション10の動作の概要)
以下に、サーバ11,21側のアプリケーション10の動作の概要を示す。
(Outline of operation of
The outline of the operation of the
1)開始時の処理
・サーバのOSの起動時にアプリケーション10が起動する。
1) Processing at start-up-The
2)スループット測定処理、情報収集蓄積処理
・設定ファイルで指定された測定サーバに対し、通信部60により接続を開始し、スループット測定部64により、スループット測定を実行する。このときサーバは測定先のサーバとの、上りのスループットを測定し、スループット測定値を記憶部62の測定情報記憶部のスループット測定結果ログファイル(測定元IPアドレス_測定先サーバIPアドレス_YYYYMMDD(本日日付).log)に追記または、新規に保存する。
2) Throughput measurement processing and information collection / accumulation processing-Connection to the measurement server specified in the setting file is started by the
3)終了時の処理
・上記の処理を、設定ファイルにて設定されている、各拠点のサーバIPアドレス数分、繰り返す。
3) Processing at the end ・ Repeat the above processing for the number of server IP addresses of each base set in the setting file.
(クライアント3側のアプリケーション30の動作フロー)
次に、図8〜図12のフローチャートを参照して、クライアント3側のアプリケーション30の動作について説明する。
(Operation flow of the
Next, the operation of the
説明上、クライアント3と測定サーバ(接続拠点)の経路を回線Aとし、クライアント3と測定サーバ(経由拠点)の経路を回線Bとし、測定サーバ(経由拠点)と測定サーバ(接続拠点)の経路を回線Cとする。
For the sake of explanation, the path between the
クライアント3のOSの起動時には、アプリケーション30が起動される。起動後のアプリケーション30は、OSに常駐し、以下に示すような一連の処理を設定ファイルに設定された一定の間隔で繰り返す。
When the OS of the
アプリケーション30は、クライアント3が通信部40を通じてサービス利用のVPN接続を行っているか否かを判定する(図8のステップS11)。サービス利用のVPN接続中であれば、何も行わず、処理を終了する。一方、サービス利用のVPN接続中でなければ、スループットの測定等のための処理を開始する。
The
次に、アプリケーション30は、経路選択部51は、記憶部41の設定ファイルから各拠点の測定サーバのIPアドレスと、各拠点のVPNサーバのIPアドレスを読込む(ステップS12)、スループット測定部52は通信部40を介して、クライアント3からそれぞれのVPNサーバに対するインターネットVPN接続を要求し、接続を開始する(ステップS13)。
Next, in the
次に、アプリケーション30は、経路選択部51は、設定ファイルから優先測定値の情報を読み込み(ステップS14)、優先測定値が「1」(上り)または「3」(上り・下りの平均)であるか否かを判定する(ステップS15)。該当しなければ、ステップS20へと進む。一方、該当すれば、アプリケーション30は、スループット測定部52により、クライアント3から各拠点に存在する、全ての測定サーバへのスループットを測定する(ステップS16)。
Next, in the
なお、クライアント3のスループット測定中にエラーが発生した場合や、サーバ間のスループット測定時に、測定サーバに接続する事が出来ないなど、エラーが発生した経路の測定結果については、0にする。
Note that the measurement result of the path in which the error has occurred is set to 0 when an error occurs during the throughput measurement of the
次に、アプリケーション30は、クライアント3の記憶部42に同名(測定元IPアドレス_測定先サーバIPアドレス_YYYYMMDD(本日日付).log)のスループット測定結果ログファイルが存在するか否かを判定する(ステップS17)。存在しなければ、新たなスループット測定結果ログファイルを新規作成し、スループット測定結果を記憶部42に保存する(ステップS18)。一方、存在すれば、クライアント3の記憶部42にあるスループット測定結果ログファイルに、スループット測定結果を追記し、上書き保存する(ステップS19)。
Next, the
次に、優先測定値が「2」(下り)または「3」(上り・下りの平均)であるか否かを判定する(ステップS20)。該当しなければ、ステップS25へと進む。一方、該当すれば、アプリケーション30は、SSHにて測定サーバにリモート接続を行い、測定サーバからクライアント3へのスループットを測定するコマンドを実行し、測定結果を取得する(ステップS21)。
Next, it is determined whether or not the priority measurement value is “2” ( downlink ) or “3” (uplink / downlink average) (step S20). If not, the process proceeds to step S25. On the other hand, if applicable, the
次に、アプリケーション30は、クライアント3の記憶部42に同名のスループット測定結果ログファイルが存在するか否かを判定する(ステップS22)。存在しなければ、新たなスループット測定結果ログファイルを新規作成し、スループット測定結果を保存する(ステップS23)。一方、存在すれば、クライアント3の記憶部42にあるスループット測定結果ログファイルに、スループット測定結果を追記し、上書き保存する(ステップS24)。
Next, the
次に、アプリケーション30は、SSHにてクライアント3から測定サーバにリモート接続し、測定サーバが保持するサーバ間のスループット測定結果ログファイルから最新のスループット測定値のみ(1行のみ)を取得し(ステップS25)、VPN接続を切断し(ステップS26)、測定していない測定サーバ(経由拠点)があるか否かを判定する(ステップS27)。測定していない測定サーバ(経由拠点)があれば、ステップS13へ戻る。一方、測定していない測定サーバ(経由拠点)がなければ、図9のステップS30へと進む。
Next, the
アプリケーション30は、経路選択部51により、設定ファイルから優先測定値の情報を読み込み(図9のステップS30)、優先測定値が「1」(上り)であるか否かを判定する(ステップS30)。該当しなければ、ステップS31へと進む。一方、該当すれば、アプリケーション30は、経路選択部51により、クライアント3のスループット測定結果から回線Aの上りのスループット測定値を読込み(ステップS32)、スループット測定値とVPNサーバIPアドレス(接続拠点)をメモリ上の記憶部43の経路リストに格納する(ステップS33)。
The
次に、アプリケーション30は、経路選択部51により、設定ファイルから測定サーバIPアドレス(経由拠点)を1つ読み込み(ステップS34)、クライアント3のスループット測定結果から回線Bの上りスループット測定値を読み込み(ステップS35)、測定サーバ(経由拠点)の測定結果から回線Cの上りスループット測定値を読み込み(ステップS36)、回線Bの上りスループット測定値が、回線Cの上りスループット測定値より低いか否かを判定する(ステップS37)。回線Bのスループット測定値が低い場合、回線Bの上りスループット測定値とVPNサーバのIPアドレス(経由拠点)をメモリ上の記憶部43の経路リストに格納する(ステップS38)。一方、回線Bのスループット測定値が低くない場合、回線Cの上りスループット測定値とVPNサーバのIPアドレス(経由拠点)をメモリ上の記憶部43の経路リストに格納する(ステップS39)。
Next, the
次に、アプリケーション30は、経路選択部51により、設定ファイルから未読込の測定サーバ(経由拠点)のIPアドレスが存在するか否かを判定する(ステップS40)。存在すれば、ステップS34へ戻る。一方、存在しなければ、メモリ上の記憶部43の経路リストからスループット測定値が最大である、経路のVPNサーバIPアドレスを読込み(ステップS41)、当該スループット測定値が最大となる経路のVPNサーバIPアドレスと、メモリ上の記憶部44のhostsファイルのIPアドレスとが等しいか否かを判定する(ステップS42)。等しければ、何もせず、一連の処理を終了する。一方、等しくなければ、hostsファイルのIPアドレスを書き換え(ステップS43)、一連の処理を終了する。
Next, the
一方、ステップS31において、優先測定値が「2」である場合は、アプリケーション30は、経路選択部51により、クライアント3のスループット測定結果から回線Aの下りのスループット測定値を読込み(図10のステップS51)、スループット測定値とVPNサーバIPアドレス(接続拠点)をメモリ上の記憶部43の経路リストに格納する(ステップS52)。
On the other hand, if the priority measurement value is “2” in step S31, the
次に、アプリケーション30は、経路選択部51により、設定ファイルから測定サーバIPアドレス(経由拠点)を1つ読み込み(ステップS53)、クライアント3のスループット測定結果から回線Bの下りスループット測定値を読み込み(ステップS54)、経由拠点の測定結果から回線Cの下りスループット測定値を読み込み(ステップS55)、回線Bの下りスループット測定値が、回線Cの下りスループット測定値より低いか否かを判定する(ステップS56)。回線Bのスループット測定値が低い場合、回線Bの下りスループット測定値とVPNサーバのIPアドレス(経由拠点)をメモリ上の記憶部43の経路リストに格納する(ステップS57)。一方、回線Bのスループット測定値が低くない場合、回線Cの下りスループット測定値とVPNサーバのIPアドレス(経由拠点)をメモリ上の記憶部43の経路リストに格納する(ステップS58)。
Next, the
次に、アプリケーション30は、経路選択部51により、設定ファイルから未読込の測定サーバIPアドレスが存在するか否かを判定する(ステップS59)。存在すれば、ステップS53へ戻る。一方、存在しなければ、図9のステップS41へと進む。
Next, the
一方、図9のステップS31において、優先測定値が「2」でなく、「3」である場合は、アプリケーション30は、経路選択部51により、クライアント3のスループット測定結果から回線Aの上下のスループット測定値を読込み(図11のステップS61)、上下のスループット測定値とVPNサーバIPアドレス(接続拠点)をメモリ上の記憶部43の計算用リストに格納する(ステップS62)。
On the other hand, when the priority measurement value is “3” instead of “2” in step S31 of FIG. 9, the
次に、アプリケーション30は、経路選択部51により、設定ファイルから測定サーバIPアドレス(経由拠点)を1つ読み込み(ステップS63)、クライアント3のスループット測定結果から回線Bの上りスループット測定値を読み込み(ステップS64)、回線Cの上りスループット測定値を読み込み(ステップS65)、回線Bの上りスループット測定値が、回線Cの上りスループット測定値より低いか否かを判定する(ステップS66)。回線Bのスループット測定値が低い場合、回線Bの上りスループット測定値とVPNサーバのIPアドレス(経由拠点)をメモリ上の記憶部43の計算用リストに格納する(ステップS67)。一方、回線Bのスループット測定値が低くない場合、回線Cの上りスループット測定値とVPNサーバのIPアドレス(経由拠点)をメモリ上の記憶部43の計算用リストに格納する(ステップS68)。
Next, the
次に、アプリケーション30は、経路選択部51により、クライアント3のスループット測定結果から回線Bの下りスループット測定値を読み込み(ステップS69)、回線Cの下りスループット測定値を読み込み(ステップS70)、回線Bの下りスループット測定値が、回線Cの下りスループット測定値より低いか否かを判定する(ステップS71)。回線Bのスループット測定値が低い場合、回線Bの下りスループット測定値とVPNサーバのIPアドレス(経由拠点)をメモリ上の記憶部43の計算用リストに格納する(ステップS72)。一方、回線Bのスループット測定値が低くない場合、回線Cの下りスループット測定値とVPNサーバのIPアドレス(経由拠点)をメモリ上の記憶部43の計算用リストに格納する(ステップS73)。
Next, the
次に、アプリケーション30は、経路選択部51により、設定ファイルから読込んだ測定サーバIPアドレスに未選択のサーバIPアドレスが存在するか否かを判定する(ステップS74)。存在しなければ、ステップS63へ戻る。一方、存在すれば、図12のステップS76へと進む。
Next, the
次に、アプリケーション30は、経路選択部51により、メモリ上の記憶部43の計算用リストから全ての上りスループット測定値と全ての下りスループット測定値の平均を算出し(ステップS76)、上り下りの平均スループット測定値に対する回線Aへの上りと下りのスループット測定値の割合を算出し(ステップS77)、それぞれ算出した上りの割合と下りの割合を掛け合わせ(ステップS78)掛け合わせた結果とVPNサーバIPアドレス(接続拠点)をメモリ上の記憶部43の経路リストに格納する(ステップS79)。
Next, the
次に、アプリケーション30は、経路選択部51により、設定ファイルから測定サーバIPアドレス(経由拠点)を1つ読み込み(ステップS80)、クライアント3のスループット測定結果から回線Bの上りと下りのスループット測定値を読み込み(ステップS81)、測定サーバ(経由拠点)の測定結果から回線Cの上りと下りのスループット測定値を読み込む(ステップS82)。
Next, the
次に、アプリケーション30は、経路選択部51により、回線Bの上りスループット測定値が、回線Cの上りスループット測定値より低いか否かを判定する(ステップS83)。回線Bのスループット測定値が低い場合、平均の上りスループット測定値に対する回線Bの上りスループット測定値の割合を算出する(ステップS84)。一方、回線Bのスループット低くない場合、平均の上りスループット測定値に対する回線Cの上りスループット測定値の割合を算出する(ステップS85)。
Next, the
次に、アプリケーション30は、経路選択部51により、算出した上りスループット割合を、メモリ上の記憶領域43の計算用リストに、上りスループット測定値割合として格納する(ステップS86)。
Next, the
次に、アプリケーション30は、経路選択部51により、回線Bの下りスループット測定値が、回線Cの下りスループット測定値より低いか否かを判定する(ステップS87)。回線Bのスループット低い場合、平均の下りスループット測定値に対する回線Bの下りスループット測定値の割合を算出する(ステップS88)。一方、回線Bのスループット低くない場合、平均の下りスループット測定値に対する回線Cの下りスループット測定値の割合を算出する(ステップS90)。
Next, the
次に、アプリケーション30は、経路選択部51により、算出した下りスループット割合を、メモリ上の記憶領域43の計算用リストに、下りスループット測定値割合として格納する(ステップS91)。
Next, the
次に、アプリケーション30は、経路選択部51により、上りスループット測定値割合と下りスループット測定値割合を掛け合わせ(ステップS91)、掛け合わせたスループット測定値割合とS81で読込んだ測定サーバ(経由拠点)と同じ拠点にある、VPNサーバIPアドレス(経由拠点)をメモリ上の記憶部43の経路リストに格納する(ステップS92)。
Next, the
次に、アプリケーション30は、経路選択部51により、設定ファイルから未読込の測定サーバIPアドレスが存在するか否かを判定する(ステップS93)。存在すれば、ステップS53へ戻る。一方、存在しなければ、図9のステップS41へと進む。
Next, the
(サーバ11,21側のアプリケーション10の動作フロー)
次に、図13のフローチャートを参照して、サーバ11,21側のアプリケーション10の動作について説明する。
(Operation flow of the
Next, the operation of the
サーバ11,21のOSの起動時には、アプリケーション10が起動される。起動後のアプリケーション10は、OSに常駐し、以下に示すような一連の処理を設定ファイルで設定された一定の間隔で繰り返す。
When the OS of the
アプリケーション10は、経路選択部63により、所定の記憶媒体または、記憶装置から設定ファイルを読込み、(ステップS101)、スループット測定部64により、測定サーバ間のスループットを測定する(ステップS102)。
The
なお、測定先サーバからエラーが返ってきた場合、測定結果は0とし、以降の処理を続けるようにする。 When an error is returned from the measurement destination server, the measurement result is set to 0, and the subsequent processing is continued.
次に、アプリケーション10は、測定元サーバの記憶部62に同名(測定元IPアドレス_測定先サーバIPアドレス_YYYYMMDD(本日日付).log)のスループット測定結果ログファイルが存在するか否かを判定する(ステップS103)。存在しなければ、新たなスループット測定結果ログファイルを新規作成し、スループット測定結果を保存する(ステップS104)。一方、存在すれば、測定元サーバの記憶部62にあるスループット測定結果ログファイルに、スループット測定結果を追記し、上書き保存する(ステップS105)。
Next, the
次に、アプリケーション10は、測定していない拠点のサーバがあるか否かを判定する(ステップS106)。測定していない拠点のサーバがあれば、ステップS102へ戻る。一方、測定していない拠点のサーバがなければ、一連の処理を終了する。
Next, the
以上詳述したように本実施形態によれば、各拠点のデータセンターが専用線などの高品質な回線で少なくとも2つ以上の拠点と相互に接続され、クライントと拠点間がインターネットVPNで接続される環境において、クラアントはアクセス可能なサーバのIPアドレスを所有し、サーバ間のスループットを測定し、サーバは相互に接続されるサーバのスループットを測定し保持する。クライアントは、サーバが保持している、スループット情報を収集し、最もスループットの高い経路を選択し、自身のhostsファイル内のアドレスを選択したアドレスに更新することで、ユーザが目的のサーバにインターネットVPNで接続を試みる際、相互接続される最もスループットの高い回線の拠点を介して目的のサーバにアクセスすることにより、従来のVPN接続より最適なアクセス、または通信を可能にするプログラムを提供することができる。 As described in detail above, according to the present embodiment, the data center of each base is connected to at least two bases by a high-quality line such as a dedicated line, and the client and the base are connected by the Internet VPN. In such an environment, the client owns the IP address of an accessible server and measures the throughput between servers, and the server measures and maintains the throughput of servers connected to each other. The client collects throughput information held by the server, selects the route with the highest throughput, and updates the address in its own hosts file to the selected address, so that the user can connect to the target server via the Internet VPN. To provide a program that enables optimal access or communication over the conventional VPN connection by accessing the target server through the base of the line with the highest throughput that is interconnected when attempting connection with it can.
また、プログラムはクライント端末、サーバ機にインストールするのみであり、ネットワークの再構築や機器の追加を行うことなく、少なくとも通信の劣化の問題を解消することが可能であり、最適経路でのアクセス可能なことから、回線障害時の障害回避も可能になる。 In addition, the program can only be installed on the client terminal or server machine, and at least the problem of communication degradation can be solved without restructuring the network or adding equipment, and can be accessed via the optimum route. Therefore, it is possible to avoid a failure at the time of a line failure.
上記実施形態で述べた各種の機能や処理手順は、コンピュータプログラムとして、コンピュータにより読み取り可能な記憶媒体または、記憶装置(例えば半導体メモリ,光ディスク,磁気ディスク)に記憶させておき、必要に応じてそれをプロセッサにより読み出して実行するようにしてもよい。また、このようなコンピュータプログラムは、通信媒体を介してあるコンピュータから他のコンピュータに伝送することにより配布することも可能である。 The various functions and processing procedures described in the above embodiments are stored as a computer program in a computer-readable storage medium or storage device (for example, a semiconductor memory, an optical disk, or a magnetic disk), and are stored as necessary. May be read and executed by a processor. Such a computer program can also be distributed by transmitting from one computer to another computer via a communication medium.
本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。 The present invention is not limited to the above-described embodiments as they are, and can be embodied by modifying the constituent elements without departing from the scope of the invention in the implementation stage. In addition, various inventions can be formed by appropriately combining a plurality of components disclosed in the embodiment. For example, some components may be deleted from all the components shown in the embodiment. Furthermore, constituent elements over different embodiments may be appropriately combined.
1,2…VPNサーバ、3…クライアント、10,30…アプリケーション、11,12,21,22…サーバ、100,200…データセンター、40,60…通信部、41〜44…記憶部、51…経路選択部、52…スループット測定部、61,62…記憶部、63…測定制御部、64…スループット測定部。 1, 2 ... VPN server, 3 ... client, 10, 30 ... application, 11, 12, 21, 22 ... server, 100, 200 ... data center, 40, 60 ... communication unit, 41-44 ... storage unit, 51 ... Route selection unit, 52... Throughput measurement unit, 61, 62... Storage unit, 63... Measurement control unit, 64.
Claims (4)
前記クライアント機器が、スループット測定手段により、前記クライアント機器がVPN接続をしていないときに、前記複数の拠点にそれぞれ存在するサーバ機器にVPNサーバ機器経由で接続し、前記クライアント機器とそれぞれのサーバ機器との間のスループット値を測定、もしくはクライアントがSSHにて測定サーバにリモート接続を行い、測定サーバからクライアントへのスループットを測定するコマンドを実行し、測定結果を取得するとともに、クライアントはSSHを用いて各拠点のサーバ機器間のスループット値を取得し、測定もしくは取得したそれぞれのスループット値を記憶媒体の所定の領域に保存し、保存後に接続中のVPN接続を切断し、
前記クライアント機器が、経路選択手段により、前記記憶媒体の所定の領域に保存されたそれぞれのスループット値に基づき、前記クライアント機器が所定のサーバ機器に接続することが可能な経路のうち、最もスループットが高い経路を選択し、選択した経路に位置するVPNサーバのアドレスを前記クライアント機器のhostsファイルに設定する ことを特徴とするネットワーク経路選定方法。 A network route selection method for selecting a route when a client device is connected to a predetermined server device via a VPN server via a VPN in a network in which server devices respectively existing at a plurality of bases are connected to each other through a dedicated line. ,
When the client device is not VPN-connected by the throughput measuring means, the client device is connected to a server device existing at each of the plurality of bases via a VPN server device, and the client device and each server device Measure the throughput value between the server and the client remotely connect to the measurement server via SSH, execute the command to measure the throughput from the measurement server to the client, acquire the measurement result, and the client uses SSH To obtain the throughput value between the server devices at each base, store the measured or acquired throughput values in a predetermined area of the storage medium, and disconnect the VPN connection being connected after saving,
Based on the respective throughput values stored in the predetermined area of the storage medium by the path selection unit, the client apparatus has the highest throughput among the paths that the client apparatus can connect to the predetermined server apparatus. A network route selection method comprising: selecting a high route and setting an address of a VPN server located on the selected route in a hosts file of the client device.
前記複数の拠点にそれぞれ存在するサーバ機器が、スループット測定手段により、サーバ機器間のスループット値を測定し、測定したサーバ機器間のスループット値を記憶媒体の所定の領域に保存する
ことを特徴とするネットワーク経路選定方法。 The network routing method according to claim 1, wherein
The server devices existing at each of the plurality of bases measure throughput values between server devices by using a throughput measuring unit, and store the measured throughput values between server devices in a predetermined area of a storage medium. Network routing method.
前記クライアント機器がVPN接続をしていないときに、前記複数の拠点にそれぞれ存在するサーバ機器にVPNサーバ機器経由で接続し、前記クライアント機器とそれぞれのサーバ機器との間のスループット値を測定、もしくはクライアントがSSHにて測定サーバにリモート接続を行い、測定サーバからクライアントへのスループットを測定するコマンドを実行し、測定結果を取得するとともに、クライントはSSHを用いて各拠点のサーバ機器間のスループット値を取得し、測定もしくは取得したそれぞれのスループット値を記憶媒体の所定の領域に保存し、保存後に接続中のVPN接続を切断するスループット測定機能と、
前記記憶媒体の所定の領域に保存されたそれぞれのスループット値に基づき、前記クライアント機器が所定のサーバ機器に接続することが可能な経路のうち、最もスループットが高い経路を選択し、選択した経路に位置するVPNサーバのアドレスを前記クライアント機器のhostsファイルに設定する経路選択機能と
をコンピュータに実現させることを特徴とするネットワーク経路選定用プログラム。 A network path selection program for selecting a path when a client apparatus connects to a predetermined server apparatus via a VPN server via a VPN in a network in which server apparatuses existing at a plurality of bases are connected to each other by a dedicated line. And
When the client device is not VPN-connected, connect to the server device existing at each of the plurality of bases via the VPN server device, and measure the throughput value between the client device and each server device, or The client remotely connects to the measurement server via SSH, executes a command to measure the throughput from the measurement server to the client, acquires the measurement result, and the client uses SSH to determine the throughput value between the server devices at each site. A throughput measurement function for storing each measured or acquired throughput value in a predetermined area of the storage medium, and disconnecting the connected VPN connection after saving,
Based on the respective throughput values stored in the predetermined area of the storage medium, the route with the highest throughput is selected from the routes that the client device can connect to the predetermined server device. A network routing program for causing a computer to realize a routing function for setting an address of a located VPN server in a hosts file of the client device.
前記クライアント機器がVPN接続をしていないときに、前記複数の拠点にそれぞれ存在するサーバ機器にVPNサーバ機器経由で接続し、前記クライアント機器とそれぞれのサーバ機器との間のスループット値を測定、もしくはクライアントがSSHにて測定サーバにリモート接続を行い、測定サーバからクライアントへのスループットを測定するコマンドを実行し、測定結果を取得するとともに、クライアントはSSHを用いて各拠点のサーバ機器間のスループット値を取得し、測定もしくは取得したそれぞれのスループット値を記憶媒体の所定の領域に保存し、保存後に接続中のVPN接続を切断するスループット測定手段と、
前記記憶媒体の所定の領域に保存されたそれぞれのスループット値に基づき、前記クライアント機器が所定のサーバ機器に接続することが可能な経路のうち、最もスループットが高い経路を選択し、選択した経路に位置するVPNサーバのアドレスを前記クライアント機器のhostsファイルに設定する経路選択手段と
を具備することを特徴とするクライアント機器。 A client device capable of selecting a path for connecting to a predetermined server device via a VPN server device via a VPN in a network in which server devices respectively present at a plurality of bases are connected to each other by a dedicated line,
When the client device is not VPN-connected, connect to the server device existing at each of the plurality of bases via the VPN server device, and measure the throughput value between the client device and each server device, or The client remotely connects to the measurement server via SSH, executes a command for measuring the throughput from the measurement server to the client, acquires the measurement result, and the client uses the SSH to determine the throughput value between the server devices at each site. A throughput measuring means for storing the measured or acquired respective throughput values in a predetermined area of the storage medium, and disconnecting the connected VPN connection after the storage;
Based on the respective throughput values stored in the predetermined area of the storage medium, the route with the highest throughput is selected from the routes that the client device can connect to the predetermined server device. A client device comprising: path selection means for setting an address of a located VPN server in a hosts file of the client device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010084016A JP4970565B2 (en) | 2010-03-31 | 2010-03-31 | Network routing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010084016A JP4970565B2 (en) | 2010-03-31 | 2010-03-31 | Network routing method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011217158A JP2011217158A (en) | 2011-10-27 |
JP4970565B2 true JP4970565B2 (en) | 2012-07-11 |
Family
ID=44946439
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010084016A Active JP4970565B2 (en) | 2010-03-31 | 2010-03-31 | Network routing method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4970565B2 (en) |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005269460A (en) * | 2004-03-19 | 2005-09-29 | Intec Netcore Inc | System and method for measuring communication quality, and presentation server unit |
-
2010
- 2010-03-31 JP JP2010084016A patent/JP4970565B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2011217158A (en) | 2011-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11595270B2 (en) | Methods and apparatus for providing adaptive private network centralized management system discovery processes | |
US11108595B2 (en) | Systems and methods for providing a global virtual network (GVN) | |
US11606286B2 (en) | High performance software-defined core network | |
CN112087312B (en) | Method, device and equipment for providing edge service | |
US10476765B2 (en) | Methods and apparatus for providing adaptive private network centralized management system discovery processes | |
US10893031B2 (en) | Dynamically serving digital certificates based on secure session properties | |
US20200106696A1 (en) | High performance software-defined core network | |
US20200296026A1 (en) | High performance software-defined core network | |
US20190280962A1 (en) | High performance software-defined core network | |
US20190238450A1 (en) | High performance software-defined core network | |
US8261339B2 (en) | Dynamic network tunnel endpoint selection | |
EP2701363B1 (en) | Content processing method, device and system | |
US20150319081A1 (en) | Method and apparatus for optimized network and service processing | |
US20140355441A1 (en) | Method and apparatus of delivering assured services over unreliable internet infrastructure by using virtual overlay network architecture over a public cloud backbone | |
US8341285B2 (en) | Method and system for transferring files | |
CN104539531A (en) | Data transmission method and device | |
CN111741508B (en) | Method, controller, forwarding device, device and medium for establishing communication connection | |
US20130159547A1 (en) | Data transfer system | |
JP4970565B2 (en) | Network routing method | |
JP2007207013A (en) | Information processor and information sharing program | |
CN107395416A (en) | A kind of data transmission method for uplink and server cluster | |
US10951688B2 (en) | Delegated services platform system and method | |
JP5997226B2 (en) | Upload system | |
CN116260886A (en) | Communication method, system, device and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111220 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120208 |
|
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: 20120306 |
|
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: 20120404 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150413 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4970565 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |