JP5605728B2 - Information processing apparatus, communication method, and communication program - Google Patents

Information processing apparatus, communication method, and communication program Download PDF

Info

Publication number
JP5605728B2
JP5605728B2 JP2010237675A JP2010237675A JP5605728B2 JP 5605728 B2 JP5605728 B2 JP 5605728B2 JP 2010237675 A JP2010237675 A JP 2010237675A JP 2010237675 A JP2010237675 A JP 2010237675A JP 5605728 B2 JP5605728 B2 JP 5605728B2
Authority
JP
Japan
Prior art keywords
vpn
connection
line
physical
information processing
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
Application number
JP2010237675A
Other languages
Japanese (ja)
Other versions
JP2012090241A (en
Inventor
直樹 山田
Original Assignee
株式会社エヴリカ
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社エヴリカ filed Critical 株式会社エヴリカ
Priority to JP2010237675A priority Critical patent/JP5605728B2/en
Publication of JP2012090241A publication Critical patent/JP2012090241A/en
Application granted granted Critical
Publication of JP5605728B2 publication Critical patent/JP5605728B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、情報処理装置、通信方法および通信用プログラムに関する。   The present invention relates to an information processing apparatus, a communication method, and a communication program.

従来、1つの拠点に設けられた顧客端末を主系と従系の2つで冗長化構成されたエッジノードに夫々収容し、通常時は主系のエッジノードが使用されるエッジノード冗長システムがある(特許文献1を参照)。   Conventionally, there is an edge node redundant system in which customer terminals provided at one site are accommodated in edge nodes configured redundantly with two main systems and secondary systems, and the primary edge nodes are normally used. Yes (see Patent Document 1).

また、リンクアグリゲーションによって回線の冗長化を行う技術があり(特許文献2を参照)、冗長構成をとった現用パスに2重障害が発生し、パケットを予備パスに迂回させる場合に、第1のラベルスイッチドパスを流れるべきパケットと、第2のラベルスイッチドパスを流れるべきパケットとに異なるラベルを付与して予備パスに転送する技術がある(特許文献3を参照)。   In addition, there is a technique for performing line redundancy by link aggregation (see Patent Document 2). When a double failure occurs in a working path having a redundant configuration and a packet is detoured to a protection path, There is a technique of assigning different labels to a packet that should flow through a label switched path and a packet that should flow through a second label switched path and transferring them to a backup path (see Patent Document 3).

国際公開第2008/120267号International Publication No. 2008/120267 特開2007−221526号公報JP 2007-221526 A 特開2003−78553号公報JP 2003-78553 A

従来、ネットワークの可用性(Availability)を高めるために、複数の回線を用いてVPNを冗長化することや、バックアップ用のVPNを設定することが行われている。しかし、従来のネットワークシステムでは、物理的に回線が切断された場合、仮に回線の冗長化が行われていたとしても、論理コネクションが切れ、再接続しなければならなかった。   Conventionally, in order to increase network availability, VPNs are made redundant by using a plurality of lines and backup VPNs are set. However, in the conventional network system, when the line is physically disconnected, even if the line is made redundant, the logical connection is disconnected and must be reconnected.

本発明は、上記した問題に鑑み、回線の切断によっても通信が維持されるネットワークシステムを提供することを課題とする。   In view of the above problems, an object of the present invention is to provide a network system in which communication is maintained even when a line is disconnected.

本発明では、上記課題を解決するために、以下の手段を採用した。即ち、本発明は、第一の物理回線および第二の物理回線を介してネットワークに接続される情報処理装置であって、前記第一の物理回線を介して、他の情報処理装置が前記ネットワークに対して有する複数の物理回線の夫々との間で複数の論理コネクションを確立し、更に、前記第二の物理回線を介して、前記他の情報処理装置が有する前記複数の物理回線の夫々との間で複数の論理コネクションを確立する、コネクション確立手段と、前記コネクション確立手段によって確立された複数の論理コネクションを介して、前記他の情報処理装置に対してデータを送信するデータ送信手段と、を備える情報処理装置である。   The present invention employs the following means in order to solve the above-described problems. That is, the present invention is an information processing apparatus connected to a network via a first physical line and a second physical line, and another information processing apparatus is connected to the network via the first physical line. Establishing a plurality of logical connections with each of the plurality of physical lines possessed by, and further, via the second physical line, with each of the plurality of physical lines possessed by the other information processing apparatus Establishing a plurality of logical connections between, a connection establishment means, a data transmission means for transmitting data to the other information processing apparatus via a plurality of logical connections established by the connection establishment means, Is an information processing apparatus.

ここで、論理コネクションとは、通信を行う装置間で確立される、情報の送受信をするための論理的な通信路である。論理コネクションの例としては、VPNコネクション、TCPコネクション、等がある。本発明に係る情報処理装置は、1の物理回線から、通信の相手方である他の情報処理装置の複数の物理回線の夫々に対して、複数の論理コネクションを張り、このような複数の論理コネクションを確立した物理回線を複数用意する。このようにすることで、相手方の情報処理装置との間に、物理回線の数よりも多い、互いに異
なる経路(パス)の論理コネクションを確立することが出来る。
Here, the logical connection is a logical communication path for transmitting and receiving information, which is established between apparatuses that perform communication. Examples of logical connections include VPN connections and TCP connections. The information processing apparatus according to the present invention establishes a plurality of logical connections from one physical line to each of a plurality of physical lines of another information processing apparatus that is a communication partner, and a plurality of such logical connections. Prepare multiple physical lines that have been established. In this way, logical connections of different paths (paths) that are larger than the number of physical lines can be established with the other information processing apparatus.

本発明によれば、相手方の情報処理装置との間に、物理回線の数よりも多い、互いに異なる経路の複数の論理コネクションを持つことで、物理的に回線が切断されても、影響を受けない経路における論理コネクションを維持することが出来、通信を途切れさせることなく維持することが可能となる。また、本発明において、確立される複数の論理コネクションは、情報処理装置と他の情報処理装置との間の単一の通信路(トンネル)として、束ねて利用することが可能である。このため、本発明によれば、通信速度を犠牲にすることなく、ネットワークシステムの可用性を高めることが可能である。   According to the present invention, a plurality of logical connections with different paths, which are larger than the number of physical lines, are connected to the other information processing apparatus, so that even if the line is physically disconnected, it is affected. It is possible to maintain a logical connection in a non-path, and to maintain without interrupting communication. In the present invention, a plurality of established logical connections can be bundled and used as a single communication path (tunnel) between an information processing apparatus and another information processing apparatus. Therefore, according to the present invention, it is possible to increase the availability of the network system without sacrificing the communication speed.

また、本発明に係る情報処理装置は、前記複数の論理コネクションの夫々に対して優先度を設定する優先度設定手段を更に備え、前記データ送信手段は、前記論理コネクションを、前記優先度に応じて用いて、前記他の情報処理装置に対してデータを送信してもよい。   The information processing apparatus according to the present invention further includes priority setting means for setting a priority for each of the plurality of logical connections, and the data transmission means determines the logical connection according to the priority. May be used to transmit data to the other information processing apparatus.

本発明によれば、優先度に従って、データ送信に用いる論理コネクションを決定することで、複数の論理コネクションを全体として用いた場合の、データ送信の信頼性を向上させることが出来る。   According to the present invention, the reliability of data transmission when a plurality of logical connections are used as a whole can be improved by determining the logical connection used for data transmission according to the priority.

また、本発明に係る情報処理装置は、前記複数の論理コネクションの夫々について通信速度を計測する通信速度計測手段を更に備え、前記優先度設定手段は、前記通信速度に基づいて、前記複数の論理コネクションの夫々に対して優先度を設定してもよい。   In addition, the information processing apparatus according to the present invention further includes a communication speed measuring unit that measures a communication speed for each of the plurality of logical connections, and the priority setting unit includes the plurality of logical connections based on the communication speed. Priorities may be set for each of the connections.

例えば、優先度設定手段は、速度がより速い論理コネクションにより高い優先度が設定されるようにすることが出来る。このようにして、通信速度に基づく優先度設定をすることで、本発明によれば、トラフィックをより効率よく論理コネクションに割り振ることが可能となり、データ送信の速度を高めることが可能となる。   For example, the priority setting means can set a higher priority for a logical connection having a higher speed. By setting the priority based on the communication speed in this way, according to the present invention, traffic can be more efficiently allocated to the logical connection, and the data transmission speed can be increased.

また、本発明に係る情報処理装置は、前記論理コネクションの、前記データ送信手段によるデータ送信における利用適否を判断する利用適否判断手段を更に備え、前記優先度設定手段は、前記複数の論理コネクションのうち、前記利用適否判断手段によって利用に適さないと判断された論理コネクションを除く論理コネクションの夫々に対して優先度を設定してもよい。   The information processing apparatus according to the present invention further includes a usage suitability determination unit that determines whether the logical connection is used in data transmission by the data transmission unit, and the priority setting unit includes the plurality of logical connections. Among them, the priority may be set for each of the logical connections excluding the logical connection determined to be unsuitable for use by the use suitability determining unit.

本発明によれば、利用に適さない論理コネクションを発見して利用対象から除外することで、通信の品質を保つことが出来る。また、除外された論理コネクションについては、除外後にも論理コネクションの再確立が試行されてよい。   According to the present invention, communication quality can be maintained by finding a logical connection that is not suitable for use and excluding it from the use target. For the excluded logical connection, re-establishment of the logical connection may be attempted after the exclusion.

また、本発明に係る情報処理装置は、前記データ送信手段によって送信されるデータにシーケンスを付加するシーケンス付加手段と、前記シーケンスと前記他の情報処理装置におけるデータ到着順序との不整合が所定の条件に合致した場合に前記他の情報処理装置から送信される通知を受信する通知受信手段と、を更に備え、前記優先度設定手段は、前記通知が受信されたことを受けて、前記優先度を設定してもよい。   The information processing apparatus according to the present invention includes a sequence adding unit that adds a sequence to data transmitted by the data transmitting unit, and a mismatch between the sequence and the data arrival order in the other information processing device is predetermined. Notification receiving means for receiving a notification transmitted from the other information processing apparatus when the condition is met, and the priority setting means receives the notification and receives the priority. May be set.

本発明によれば、シーケンスの付加によってデータの到着順序を判定可能とし、また、相手方装置において不整合が発生していることの通知を相手方の情報処理装置から受けて優先度を設定可能としたことによって、複数の論理コネクションを束ねて使用する際に発生し得る、データ到着順序の不整合を抑制することが可能となる。   According to the present invention, it is possible to determine the arrival order of data by adding a sequence, and it is possible to set a priority by receiving a notification from the other information processing apparatus that a mismatch has occurred in the other apparatus. This makes it possible to suppress inconsistencies in the data arrival order that may occur when a plurality of logical connections are bundled and used.

また、本発明に係る情報処理装置は、該情報処理装置および前記他の情報処理装置が有
する物理回線の回線情報を取得する回線情報取得手段と、前記回線情報に基づいて、前記論理コネクションの確立に用いることが可能な経路として、前記第一の物理回線を介した、他の情報処理装置が有する前記複数の物理回線の夫々との間の複数の経路、および前記第二の物理回線を介した、前記他の情報処理装置が有する前記複数の物理回線の夫々との間の複数の経路と、を特定する経路特定手段と、を更に備え、前記コネクション確立手段は、前記経路特定手段によって特定された経路において、前記論理コネクションを確立してもよい。
The information processing apparatus according to the present invention includes line information acquisition means for acquiring line information of a physical line included in the information processing apparatus and the other information processing apparatus, and establishment of the logical connection based on the line information. As a path that can be used for the above, a plurality of paths between each of the plurality of physical lines included in another information processing apparatus via the first physical line, and the second physical line Route specifying means for specifying a plurality of paths between each of the plurality of physical lines of the other information processing apparatus, and the connection establishing means is specified by the path specifying means. In this route, the logical connection may be established.

本発明によれば、論理コネクションの確立に用いてよい回線情報を設定しておき、この回線情報に基づいて経路を特定することで、確立すべき論理コネクションを予め全て指定しておくことなく、システムの可用性を高めるための複数の論理コネクションを確立することが出来る。   According to the present invention, line information that can be used for establishing a logical connection is set, and by specifying a route based on this line information, all the logical connections to be established are designated in advance, Multiple logical connections can be established to increase system availability.

また、本発明に係る情報処理装置は、前記コネクション確立手段によって少なくとも1つの論理コネクションが確立された後、確立された論理コネクションを介して該情報処理装置および前記他の情報処理装置が有する物理回線の回線情報を交換する回線情報交換手段を更に備え、前記経路特定手段は、前記回線情報取得手段によって取得された回線情報および前記回線情報交換手段によって交換された回線情報に基づいて前記経路を特定してもよい。   The information processing apparatus according to the present invention includes a physical line that the information processing apparatus and the other information processing apparatus have via the established logical connection after at least one logical connection is established by the connection establishing means. Line information exchanging means for exchanging the line information of the circuit, and the route specifying means specifies the route based on the line information acquired by the line information acquiring means and the line information exchanged by the line information exchanging means. May be.

また、本発明において、前記情報処理装置は、管理下のネットワークと、他のゲートウェイ装置の管理下のネットワークとの間の通信を仲介するゲートウェイ装置であり、本発明に係る情報処理装置は、前記管理下のネットワークに属する送信元端末から送信されたパケットを受信する受信手段と、前記受信手段によって受信されたパケットに、前記他のゲートウェイ装置へパケットを転送するための情報を付加することでカプセル化するカプセル化手段と、を更に備え、前記データ送信手段は、前記カプセル化手段によってカプセル化されたパケットを、前記他のゲートウェイ装置に送信してもよい。   In the present invention, the information processing apparatus is a gateway apparatus that mediates communication between a managed network and a network managed by another gateway apparatus, and the information processing apparatus according to the present invention includes A receiving unit that receives a packet transmitted from a transmission source terminal that belongs to a managed network, and a packet that is added to the packet received by the receiving unit by adding information for transferring the packet to the other gateway device And the data transmitting means may transmit the packet encapsulated by the encapsulating means to the other gateway device.

ここで、管理下のネットワークとは、ゲートウェイ装置によって外部ネットワークとの通信が仲介される、拠点ネットワーク等のネットワークである。本発明に係るゲートウェイ装置は、インターネット等の外部ネットワークを介して他のゲートウェイ装置と通信可能となっており、管理下のネットワークからの通信を他のゲートウェイ装置へ転送等することで、複数のゲートウェイ装置の管理下にある複数の拠点ネットワーク間での通信を可能とする。複数のゲートウェイ装置によって管理下ネットワーク間の通信が仲介されることで、仮想的なプライベートネットワークが構築される。   Here, the managed network is a network such as a base network in which communication with an external network is mediated by a gateway device. The gateway device according to the present invention can communicate with other gateway devices via an external network such as the Internet, and transfers a plurality of gateways by transferring communication from the managed network to other gateway devices. Enables communication between a plurality of base networks under device management. A virtual private network is constructed by mediating communication between managed networks by a plurality of gateway devices.

更に、本発明は、コンピュータによって実行される方法、又はコンピュータによって実行されるプログラムとしても把握することが可能である。また、本発明は、そのようなプログラムをコンピュータその他の装置、機械等が読み取り可能な記録媒体に記録したものでもよい。ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等から読み取ることができる記録媒体をいう。   Furthermore, the present invention can be grasped as a method executed by a computer or a program executed by the computer. Further, the present invention may be a program in which such a program is recorded on a recording medium readable by a computer, other devices, machines, or the like. Here, a computer-readable recording medium is a recording medium that stores information such as data and programs by electrical, magnetic, optical, mechanical, or chemical action and can be read from a computer or the like. Say.

本発明によれば、回線の切断によっても通信が維持されるネットワークシステムを提供することが可能となる。   According to the present invention, it is possible to provide a network system in which communication is maintained even when a line is disconnected.

実施形態に係るVPNシステムの構成の概略を示す図である。It is a figure which shows the outline of a structure of the VPN system which concerns on embodiment. 実施形態に係るVPNゲートウェイのハードウェア構成の概略を示す図である。It is a figure which shows the outline of the hardware constitutions of the VPN gateway which concerns on embodiment. 実施形態に係るVPNゲートウェイの機能構成の概略を示す図である。It is a figure which shows the outline of a function structure of the VPN gateway which concerns on embodiment. 実施形態に係るVPNトンネル構成テーブルの構成を示す図である。It is a figure which shows the structure of the VPN tunnel structure table which concerns on embodiment. 実施形態におけるコネクション確立処理の流れを示すフローチャートである。It is a flowchart which shows the flow of the connection establishment process in embodiment. 実施形態において確立されるコネクションの概要を示す図である。It is a figure which shows the outline | summary of the connection established in embodiment. 実施形態におけるデータ送信処理の流れを示すフローチャートである。It is a flowchart which shows the flow of the data transmission process in embodiment. 実施形態におけるデータ送受信の流れを示すシーケンス図である。It is a sequence diagram which shows the flow of the data transmission / reception in embodiment.

<システムの構成>
以下、本発明に係るVPNシステムの実施の形態について、図面に基づいて説明する。なお、以下に説明する実施の形態は、本発明を実施する一例を示すものであって、本発明を以下に説明する具体的構成に限定するものではない。本発明を実施するにあたっては、実施の形態に応じた具体的構成が適宜採用されることが好ましい。
<System configuration>
Hereinafter, embodiments of a VPN system according to the present invention will be described with reference to the drawings. The embodiment described below shows an example for carrying out the present invention, and the present invention is not limited to the specific configuration described below. In practicing the present invention, it is preferable to adopt a specific configuration according to the embodiment as appropriate.

本発明に係る情報処理装置は、複数の物理回線を介してネットワークに接続可能なものであればよく、本発明に係る情報処理装置を備えるシステムも、複数の情報処理装置(コンピュータ)が、複数の物理回線を介して通信を行うことが可能なシステムであれば適用可能である。例えば、本実施形態に係るVPNシステムは、通常のVPN、基幹業務でのVPN、クラウド等のデータセンター間でのデータ通信用ネットワーク、等の様々なネットワークに用いることが出来る。   The information processing apparatus according to the present invention only needs to be connectable to a network via a plurality of physical lines, and a system including the information processing apparatus according to the present invention includes a plurality of information processing apparatuses (computers). Any system can be used as long as it is capable of communicating via a physical line. For example, the VPN system according to the present embodiment can be used for various networks such as a normal VPN, a VPN in a core business, and a data communication network between data centers such as a cloud.

図1は、本実施形態に係るVPNシステムの構成の概略を示す図である。本実施形態に係るVPNシステムは、複数のVPNゲートウェイ1a、1bがインターネット等のネットワーク9を介して通信可能に接続されたシステムである。VPNゲートウェイ1a、1bのWAN(Wide Area Network)側ネットワークインターフェースには、ネットワーク9への複数の物理回線が収容されている。本実施形態では、VPNゲートウェイ1aのWAN1(WANポート1)が第一の物理回線100に接続され、VPNゲートウェイ1aのWAN2(WANポート2)が第二の物理回線200に接続され、VPNゲートウェイ1bのWAN1(WANポート1)が物理回線300に接続され、VPNゲートウェイ1bのWAN2(WANポート2)が物理回線400に接続されている。なお、VPNゲートウェイ1a、1bにおいて、WAN1に接続される物理回線と、WAN2に接続される物理回線とは、性質の異なる回線とすることが好ましい。例えば、一方が光ブロードバンド回線である場合には他方をCATV回線や電力系回線等とすることで、VPNシステムの信頼性を高めることが出来る。   FIG. 1 is a diagram showing an outline of the configuration of a VPN system according to the present embodiment. The VPN system according to the present embodiment is a system in which a plurality of VPN gateways 1a and 1b are communicably connected via a network 9 such as the Internet. A plurality of physical lines to the network 9 are accommodated in the WAN (Wide Area Network) side network interface of the VPN gateways 1a and 1b. In this embodiment, WAN 1 (WAN port 1) of the VPN gateway 1a is connected to the first physical line 100, WAN 2 (WAN port 2) of the VPN gateway 1a is connected to the second physical line 200, and the VPN gateway 1b. WAN 1 (WAN port 1) is connected to the physical line 300, and WAN 2 (WAN port 2) of the VPN gateway 1b is connected to the physical line 400. In the VPN gateways 1a and 1b, the physical line connected to the WAN 1 and the physical line connected to the WAN 2 are preferably different lines. For example, when one is an optical broadband line, the other is a CATV line, a power line, or the like, thereby improving the reliability of the VPN system.

また、VPNゲートウェイのLAN(Local Area Network)ポートには、1または複数のプライベートネットワーク(LAN)が接続されている。これらのプライベートネットワークのデフォルトゲートウェイはVPNゲートウェイ1aまたは1bであり、プライベートネットワークに接続された端末2a、2bは、VPNゲートウェイ1aまたは1bを介して、VPNゲートウェイ1aまたは1bのWAN側ネットワークインターフェースに接続された外部ネットワークと通信可能となっている。なお、上記各装置間の接続形態は有線接続であるか無線接続であるかを問わない。また、本実施形態では、IPネットワークが用いられるが、装置間の通信に用いられる通信方式やプロトコルは、各装置間で必要な情報を送受信可能なものであればよく、IPに限定されない。VPNの方式に関しても、本発明は、SSH、TLS、SSL等、様々な方式のVPNにおいて採用することが可能である。   In addition, one or a plurality of private networks (LAN) are connected to a LAN (Local Area Network) port of the VPN gateway. The default gateway of these private networks is the VPN gateway 1a or 1b, and the terminals 2a and 2b connected to the private network are connected to the WAN side network interface of the VPN gateway 1a or 1b via the VPN gateway 1a or 1b. Communication with external network is possible. In addition, it does not ask | require whether the connection form between each said apparatus is a wired connection or a wireless connection. In this embodiment, an IP network is used. However, a communication method or protocol used for communication between devices is not limited to IP as long as necessary information can be transmitted and received between the devices. Regarding the VPN system, the present invention can be adopted in various types of VPN such as SSH, TLS, SSL, and the like.

VPNゲートウェイ1a、1bは、管理下のネットワークと、他のVPNゲートウェイ
(本実施形態では、VPNゲートウェイ1a、1bの何れか)の管理下のネットワークとの間の通信を仲介するVPNゲートウェイ装置である。VPNゲートウェイ1a、1bは、自己のLAN側ネットワークインターフェースに接続されたプライベートネットワークから送信された、他のVPNゲートウェイ1a、1bのLAN側ネットワークインターフェースに接続されたプライベートネットワーク宛のパケットを暗号化し、ヘッダや認証データ等を付す等してカプセリングすることで、複数のプライベートネットワーク間の通信を秘匿化し、仮想的なトンネルを構築する。このようにして複数のプライベートネットワーク間の通信がトンネリングされることで、VPNが構築される。
The VPN gateways 1a and 1b are VPN gateway devices that mediate communication between a managed network and a network managed by another VPN gateway (in this embodiment, one of the VPN gateways 1a and 1b). . The VPN gateways 1a and 1b encrypt packets destined for the private network connected to the LAN side network interface of the other VPN gateways 1a and 1b and transmitted from the private network connected to the own LAN side network interface. By encapsulating data with authentication data, etc., the communication between multiple private networks is concealed and a virtual tunnel is constructed. A VPN is constructed by tunneling communication between a plurality of private networks in this way.

図2は、本実施形態に係るVPNゲートウェイのハードウェア構成の概略を示す図である。本実施形態に係るVPNゲートウェイ1a、1bは、何れも、CPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)、ネットワークインターフェースおよび記憶装置(ストレージ)を備える、情報処理装置(コンピュータ)である。ここで、VPNゲートウェイ1a、1bは、ネットワークインターフェースとして、プライベートネットワークが接続されるLAN側ネットワークインターフェース(LANポート)と、ネットワーク9側へ接続されるWAN側ネットワークインターフェース(WAN1およびWAN2)と、を備える。   FIG. 2 is a diagram showing an outline of the hardware configuration of the VPN gateway according to the present embodiment. Each of the VPN gateways 1a and 1b according to the present embodiment includes an information processing apparatus including a CPU (Central Processing Unit), a RAM (Random Access Memory), a ROM (Read Only Memory), a network interface, and a storage device (storage). (Computer). Here, the VPN gateways 1a and 1b include, as network interfaces, a LAN side network interface (LAN port) to which a private network is connected and a WAN side network interface (WAN1 and WAN2) connected to the network 9 side. .

また、端末2a、2bは、VPNゲートウェイ1a、1bと同様、CPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)、ネットワークインターフェースおよび記憶装置(ストレージ)を備える、情報処理装置(コンピュータ)である。なお、VPNゲートウェイ1a、1bおよび端末2a、2b等が備える記憶装置としては、例えば、EEPROM(Electrically Erasable Programmable ROM)やHDD(Hard Disk Drive)、SSD(Solid State Drive)等を用いることが出来る。   Similarly to the VPN gateways 1a and 1b, the terminals 2a and 2b include a CPU (Central Processing Unit), a RAM (Random Access Memory), a ROM (Read Only Memory), a network interface, and a storage device (storage). A device (computer). As the storage devices included in the VPN gateways 1a and 1b and the terminals 2a and 2b, for example, an EEPROM (Electrically Erasable Programmable ROM), an HDD (Hard Disk Drive), an SSD (Solid State Drive), or the like can be used.

VPNゲートウェイ1a、1bに設定されているデフォルトゲートウェイは、一般にはインターネットへの接続を提供するISP(Internet Service Provider)のルータである。即ち、VPNゲートウェイ1a、1bは、LAN側ネットワークインターフェースで受信したパケットのうち、VPNに送出されるパケット以外のパケットについては、原則としてISPのルータへ送信する。   The default gateway set in the VPN gateways 1a and 1b is generally an ISP (Internet Service Provider) router that provides connection to the Internet. That is, the VPN gateways 1a and 1b transmit packets other than those sent to the VPN among packets received by the LAN side network interface to the ISP router in principle.

図3は、本実施形態に係るVPNゲートウェイの機能構成の概略を示す図である。VPNゲートウェイ1a、1bは、夫々、RAMまたはROMに展開された通信用プログラムをCPUが実行して、RAM、ROM、ネットワークインターフェースおよび記憶装置等の各構成を制御することで、送受信部11、VPN処理部12、情報取得部13、コネクション確立部14、情報交換部15、経路特定部16、通信速度計測部17、利用適否判断部18、優先度設定部19およびシーケンス付加部20を備えるVPNゲートウェイ1a、1bとして機能する。本実施形態に係るVPNシステムでは、単一のソフトウェア(通信用プログラム)によって複数のVPNコネクションが管理され、後述するコネクション確立処理およびデータ送信処理が行われることで、迅速な制御を実現する。   FIG. 3 is a diagram showing an outline of a functional configuration of the VPN gateway according to the present embodiment. Each of the VPN gateways 1a and 1b is configured such that the CPU executes a communication program expanded in the RAM or ROM, and controls each configuration of the RAM, ROM, network interface, storage device, and the like, thereby transmitting and receiving unit 11, VPN A VPN gateway comprising a processing unit 12, an information acquisition unit 13, a connection establishment unit 14, an information exchange unit 15, a path identification unit 16, a communication speed measurement unit 17, a use suitability determination unit 18, a priority setting unit 19, and a sequence addition unit 20. Functions as 1a and 1b. In the VPN system according to the present embodiment, a plurality of VPN connections are managed by a single software (communication program), and a connection establishment process and a data transmission process, which will be described later, are performed, thereby realizing quick control.

送受信部11は、VPNゲートウェイ1a、1bの管理下のプライベートネットワーク、換言すれば、VPNゲートウェイ1a、1bのLAN側ネットワークインターフェースに接続されたネットワークに属する端末2a、2bとの間でパケットを送受信し、また、ネットワーク9を介して接続された他のVPNゲートウェイ1a、1bとの間で、VPN処理部12によってカプセル化処理されたVPNパケット(ユーザデータ)およびコントロールデータを送受信する。   The transmission / reception unit 11 transmits / receives packets to / from the private networks managed by the VPN gateways 1a and 1b, in other words, the terminals 2a and 2b belonging to the network connected to the LAN side network interface of the VPN gateways 1a and 1b. In addition, the VPN packet (user data) and control data encapsulated by the VPN processing unit 12 are transmitted / received to / from other VPN gateways 1 a and 1 b connected via the network 9.

VPN処理部12は、管理下のプライベートネットワークから受信されたパケットに、他のVPNゲートウェイ1a、1bへパケットを転送するための情報を付加することでカプセル化するカプセル化処理と、VPNコネクションの接続相手側のVPNゲートウェイ1b、1aから受信されたVPNパケット(カプセル化パケット)から、転送のための情報が付加される前(カプセル化前)のパケットを取り出すパケット取出処理と、を実行する。   The VPN processing unit 12 encapsulates the packet received from the managed private network by adding information for transferring the packet to the other VPN gateways 1a and 1b, and connection of the VPN connection. A packet extraction process for extracting a packet before adding information for transfer (before encapsulation) from the VPN packet (encapsulated packet) received from the VPN gateways 1b and 1a on the other side is executed.

図4は、本実施形態に係るVPNトンネル構成テーブルの構成を示す図である。VPNトンネル構成テーブルは、本実施形態において複数確立されるVPNコネクションを束ねて用いるために参照される情報を保持するテーブルであり、各VPNコネクションとパスとの組み合わせに関連付けて、VPNコネクションの通信速度、および重みが保持されている。本実施形態において、「重み」とは、VPNコネクションを束ねて1つのVPNトンネルとして使用する際に、各パケットの送信に用いるVPNコネクションを決定するために参照される優先度を示す情報である。   FIG. 4 is a diagram showing a configuration of a VPN tunnel configuration table according to the present embodiment. The VPN tunnel configuration table is a table that holds information that is referred to for bundling and using a plurality of established VPN connections in the present embodiment. The VPN connection communication speed is associated with each VPN connection and path combination. , And weights are retained. In the present embodiment, “weight” is information indicating a priority that is referred to in order to determine a VPN connection used for transmission of each packet when the VPN connections are bundled and used as one VPN tunnel.

<処理の流れ>
次に、本実施形態に係るコネクション確立処理、データ送信処理、およびデータ送受信の流れについて説明する。なお、以下に説明する処理の流れでは、VPNゲートウェイ1aからVPNコネクションを確立する場合のコネクション確立処理、VPNゲートウェイ1aからデータ送信する場合のデータ送信処理、およびVPNゲートウェイ1aがデータ送信側である場合のデータ送受信の流れ、について説明する。但し、VPNゲートウェイ1bからVPNコネクションを確立する場合のコネクション確立処理、VPNゲートウェイ1bからデータ送信する場合のデータ送信処理、およびVPNゲートウェイ1bがデータ送信側である場合のデータ送受信の流れ、についても、処理の主体が異なるのみであり、処理の内容は概略同様である。
<Process flow>
Next, a flow of connection establishment processing, data transmission processing, and data transmission / reception according to the present embodiment will be described. In the processing flow described below, a connection establishment process when establishing a VPN connection from the VPN gateway 1a, a data transmission process when transmitting data from the VPN gateway 1a, and a case where the VPN gateway 1a is the data transmission side The flow of data transmission / reception will be described. However, a connection establishment process when establishing a VPN connection from the VPN gateway 1b, a data transmission process when transmitting data from the VPN gateway 1b, and a data transmission / reception flow when the VPN gateway 1b is on the data transmission side, Only the processing subject is different, and the content of the processing is substantially the same.

図5は、本実施形態におけるコネクション確立処理の流れを示すフローチャートである。本フローチャートに示された処理は、VPNゲートウェイ1aの起動が完了したことを契機として実行される。但し、本フローチャートに示された処理は、VPNゲートウェイ1aがVPNゲートウェイ1a配下のプライベートネットワークからVPNゲートウェイ1b配下のプライベートネットワーク宛のパケットを受信したことや、設定された所定の時刻が到来したこと、VPNコネクション確立を指示する入力を受け付けたこと等、その他のイベントに応じて実行開始されてもよい。なお、本フローチャートに示された処理の具体的な内容および順序等は、本発明を実施する上での一例である。具体的な処理内容および順序等は、実施の形態に応じて適宜選択されることが好ましい。   FIG. 5 is a flowchart showing a flow of connection establishment processing in the present embodiment. The process shown in this flowchart is executed when the activation of the VPN gateway 1a is completed. However, the processing shown in this flowchart is based on the fact that the VPN gateway 1a has received a packet addressed to the private network under the VPN gateway 1b from the private network under the VPN gateway 1a, or that the set predetermined time has arrived. Execution may be started in response to other events such as reception of an instruction instructing establishment of a VPN connection. It should be noted that the specific contents and order of the processing shown in this flowchart are examples for carrying out the present invention. It is preferable that specific processing contents and order are appropriately selected according to the embodiment.

ステップS101では、予め設定された回線情報が取得される。VPNゲートウェイ1aの情報取得部13は、本フローチャートの処理が実行されるのに先立って設定された、VPNに用いられる物理回線の指定(回線情報)を、VPNゲートウェイ1a記憶装置から取得する。ここで取得される回線情報には、VPNゲートウェイ1aが有する物理回線の回線情報(例えば、VPNゲートウェイ1aのWAN1およびWAN2)の他、VPNコネクションの確立相手方となるVPNゲートウェイ1bが有する物理回線の回線情報(例えば、VPNゲートウェイ1bのWAN1およびWAN2)が含まれる。   In step S101, preset line information is acquired. The information acquisition unit 13 of the VPN gateway 1a acquires, from the VPN gateway 1a storage device, the designation of the physical line (line information) used for the VPN, which is set before the processing of this flowchart is executed. The line information acquired here includes the line information of the physical line of the VPN gateway 1a (for example, WAN1 and WAN2 of the VPN gateway 1a), as well as the line of the physical line of the VPN gateway 1b that is the establishment partner of the VPN connection. Information (eg, WAN 1 and WAN 2 of VPN gateway 1b) is included.

なお、VPNに用いられる回線情報は、VPNゲートウェイ1aの記憶装置以外の場所に保持されていてもよい。例えば、VPNゲートウェイ1aの情報取得部13は、管理サーバ(図示は省略する)に予め設定された回線情報を、ネットワーク9等を介して取得してもよい。管理サーバからは、接続相手となる情報処理装置(本実施形態では、VPNゲートウェイ1b)のIPアドレスも取得されてよい。VPNゲートウェイ1a、1bは、
管理サーバに自装置のIPアドレスをアップロードしておき、相手方のVPNゲートウェイに取得させることで、管理サーバを介してIPアドレスを取得することが出来る。
The line information used for the VPN may be held in a place other than the storage device of the VPN gateway 1a. For example, the information acquisition unit 13 of the VPN gateway 1a may acquire line information preset in a management server (not shown) via the network 9 or the like. From the management server, the IP address of the information processing apparatus (in this embodiment, the VPN gateway 1b) as a connection partner may be acquired. VPN gateways 1a and 1b
By uploading the IP address of the own device to the management server and causing the other party's VPN gateway to acquire it, the IP address can be acquired via the management server.

また、回線情報のうち、自装置(VPNゲートウェイ1a)に係る物理回線の情報は、予め設定されていなくともよい。VPNゲートウェイ1aの情報取得部13は、自装置のRAMを参照することで、VPNゲートウェイ1aにおいて現在アクティブな物理回線の全てをVPNに用いる回線情報として取得してもよいし、現在アクティブな物理回線のうち所定の条件を満たす回線をVPNに用いる回線情報として取得してもよい。ここで、所定の条件としては、例えば、物理回線が所定以上の通信速度や帯域を有していること、等が用いられてよい。その後、処理はステップS102へ進む。   Of the line information, information on the physical line related to the own device (VPN gateway 1a) may not be set in advance. The information acquisition unit 13 of the VPN gateway 1a may acquire all the currently active physical lines as line information used for the VPN in the VPN gateway 1a by referring to the RAM of the own device, or the currently active physical line Of these, a line satisfying a predetermined condition may be acquired as line information used for VPN. Here, as the predetermined condition, for example, a physical line having a communication speed or a band greater than a predetermined value may be used. Thereafter, the process proceeds to step S102.

ステップS102では、一つ目のVPNコネクションが確立される。VPNゲートウェイ1aのコネクション確立部14は、ステップS101において取得された回線情報において指定された物理回線のうちの、VPNゲートウェイ1a側の何れか1つの物理回線と、VPNゲートウェイ1b側の何れか1つの物理回線と、の間に、VPNコネクションを確立する。例えば、本実施形態では、VPNゲートウェイ1a側の第一の物理回線100と、VPNゲートウェイ1b側の物理回線300との間に、VPNコネクションが確立される。   In step S102, the first VPN connection is established. The connection establishment unit 14 of the VPN gateway 1a selects any one physical line on the VPN gateway 1a side and any one on the VPN gateway 1b side among the physical lines specified in the line information acquired in step S101. A VPN connection is established with the physical line. For example, in this embodiment, a VPN connection is established between the first physical line 100 on the VPN gateway 1a side and the physical line 300 on the VPN gateway 1b side.

VPNコネクションは、VPNゲートウェイ1aまたはVPNゲートウェイ1bの何れかから、相手方のVPNゲートウェイに対してVPNコネクションの確立要求が送信され、これを受けてVPNコネクション確立に必要な処理(認証、VPNコネクションの識別子の決定、等)が実行されて確立されるのが一般的である。但し、VPNコネクションの確立処理の具体的な内容は、採用されるVPN用プロトコルによって様々であり、VPNコネクションの確立には従来のVPN技術を採用することが可能であるため、詳細な説明は省略する。以下、VPNゲートウェイ1a側の第一の物理回線100とVPNゲートウェイ1b側の物理回線300とを用いた通信経路を「パス1」と称し、パス1において確立されたVPNコネクションを「VPNコネクション1」と称する。その後、処理はステップS103へ進む。   As for the VPN connection, a VPN connection establishment request is transmitted from either the VPN gateway 1a or the VPN gateway 1b to the other VPN gateway, and processing required for establishing the VPN connection (authentication, VPN connection identifier) is received. Are generally established by execution. However, the specific content of the VPN connection establishment process varies depending on the VPN protocol adopted, and the conventional VPN technology can be adopted for establishing the VPN connection, and thus detailed description is omitted. To do. Hereinafter, a communication path using the first physical line 100 on the VPN gateway 1a side and the physical line 300 on the VPN gateway 1b side is referred to as “path 1”, and the VPN connection established in the path 1 is referred to as “VPN connection 1”. Called. Thereafter, the process proceeds to step S103.

ステップS103では、VPNゲートウェイ間での情報交換が行われる。VPNゲートウェイ1aおよびVPNゲートウェイ1bの情報交換部15は、ステップS102において確立されたVPNコネクション1を介して、以降の処理において必要な情報を交換する。ここで交換される情報には、例えば、ステップS101において取得された物理回線以外にVPN用途に利用できる回線があるか否か、および利用できる回線がある場合にはその回線の回線情報、等が含まれる。より具体的には、VPNゲートウェイ1aおよびVPNゲートウェイ1bは、VPNコネクション1においてVPN用途に利用できる回線の有無の問い合わせ、および問合せに対する応答、等をコントロールデータとして送受信することで、情報交換を行う。なお、コントロールデータとは、VPNコネクションの制御に用いられるデータであり、認証用のデータ、鍵交換用のデータ、VPNコネクションの回線状況の確認用のデータ、等を含む。パケットの送受信処理の遅延を防止するため、VPNゲートウェイ1aのCPUは、コントロールデータを扱う処理を、ユーザデータを扱う処理とは異なるスレッドで実行することが好ましい。本実施形態では、コントロールデータとして、VPNの冗長化および高速化のために用いられる情報が、VPNゲートウェイ1a、1b間で交換される。その後、処理はステップS104へ進む。   In step S103, information is exchanged between VPN gateways. The information exchange unit 15 of the VPN gateway 1a and the VPN gateway 1b exchanges information necessary for the subsequent processing via the VPN connection 1 established in step S102. The information exchanged here includes, for example, whether there is a line that can be used for VPN use other than the physical line acquired in step S101, and if there is a usable line, the line information of the line, etc. included. More specifically, the VPN gateway 1a and the VPN gateway 1b exchange information by transmitting and receiving, as control data, an inquiry about the presence or absence of a line that can be used for VPN use in the VPN connection 1 and a response to the inquiry. The control data is data used for controlling the VPN connection, and includes authentication data, key exchange data, data for confirming the line status of the VPN connection, and the like. In order to prevent a delay in packet transmission / reception processing, the CPU of the VPN gateway 1a preferably executes processing for handling control data in a thread different from processing for handling user data. In the present embodiment, information used for VPN redundancy and speed-up is exchanged between the VPN gateways 1a and 1b as control data. Thereafter, the process proceeds to step S104.

ステップS104では、利用可能なパス数が算出される。VPNゲートウェイ1aの経路特定部16は、ステップS101およびステップS103において取得された回線情報に基づいて、VPNゲートウェイ1bに対してVPNコネクションを確立可能なパスの数を算出する。VPNゲートウェイ1aからVPNゲートウェイ1bに対してVPNコネク
ションを確立可能なパスの数は、以下の式を用いて算出される。
In step S104, the number of available paths is calculated. The route specifying unit 16 of the VPN gateway 1a calculates the number of paths that can establish a VPN connection to the VPN gateway 1b based on the line information acquired in steps S101 and S103. The number of paths that can establish a VPN connection from the VPN gateway 1a to the VPN gateway 1b is calculated using the following equation.

利用可能なパス数 = (VPNゲートウェイ1aが有するVPN利用可能な物理回線の数) * (VPNゲートウェイ1bが有するVPN利用可能な物理回線の数)   Number of paths that can be used = (Number of physical lines that can be used by VPN of VPN gateway 1a) * (Number of physical lines that can be used by VPN of VPN gateway 1b)

図6は、本実施形態において確立されるコネクションの概要を示す図である。図6に示された例では、VPNゲートウェイ1aはVPN利用可能な2つの物理回線100、200を有しており、VPNゲートウェイ1bはVPN利用可能な2つの物理回線300、400を有している。このため、VPNゲートウェイ1aとVPNゲートウェイ1bとの間の利用可能パス数は、4(=2*2)である。即ち、図1に示された例では、ステップS102においてVPNコネクションが確立されたパス1の他に、VPNゲートウェイ1a側の第一の物理回線100とVPNゲートウェイ1b側の物理回線400とを用いたパス2、VPNゲートウェイ1a側の第二の物理回線200とVPNゲートウェイ1b側の物理回線300とを用いたパス3、VPNゲートウェイ1a側の第二の物理回線200とVPNゲートウェイ1b側の物理回線400とを用いたパス4、が存在する。経路特定部16は、情報取得部13によって取得された回線情報および情報交換部15によって交換された回線情報に基づいて、VPNコネクションの確立に用いることが可能なパスとして、上記パス1、パス2、パス3およびパス4を特定する。その後、処理はステップS105へ進む。   FIG. 6 is a diagram showing an outline of a connection established in the present embodiment. In the example shown in FIG. 6, the VPN gateway 1a has two physical lines 100 and 200 that can use VPN, and the VPN gateway 1b has two physical lines 300 and 400 that can use VPN. . Therefore, the number of available paths between the VPN gateway 1a and the VPN gateway 1b is 4 (= 2 * 2). That is, in the example shown in FIG. 1, the first physical line 100 on the VPN gateway 1a side and the physical line 400 on the VPN gateway 1b side are used in addition to the path 1 in which the VPN connection is established in step S102. Path 2, path 3 using the second physical line 200 on the VPN gateway 1a side and the physical line 300 on the VPN gateway 1b side, the second physical line 200 on the VPN gateway 1a side, and the physical line 400 on the VPN gateway 1b side There is a path 4 using Based on the line information acquired by the information acquisition unit 13 and the line information exchanged by the information exchange unit 15, the route specifying unit 16 uses the above path 1, path 2 as paths that can be used for establishing a VPN connection. , Path 3 and path 4 are identified. Thereafter, the process proceeds to step S105.

ステップS105では、夫々の利用可能パスにおいて、個別にVPNコネクションが確立される。VPNゲートウェイ1aのコネクション確立部14は、ステップS104において特定されたパスのうち、既にVPNコネクション1が確立されているパス1を除くパス(パス2、パス3およびパス4)の夫々において、VPNコネクション2、VPNコネクション3およびVPNコネクション4を確立する。VPNコネクションの具体的な確立方法は、VPNコネクションが確立される物理回線が異なることを除いて、ステップS102において説明したVPNコネクションの確立と同様である。なお、パケットの送受信処理の遅延を防止するため、VPNゲートウェイ1aのCPUは、接続されていないVPNコネクションの確立や再確立を、他のVPNコネクションを扱う処理とは異なるスレッドで実行することが好ましい。   In step S105, a VPN connection is individually established in each available path. The connection establishment unit 14 of the VPN gateway 1a performs the VPN connection in each of the paths (path 2, path 3, and path 4) excluding the path 1 in which the VPN connection 1 has already been established among the paths specified in step S104. 2. Establish VPN connection 3 and VPN connection 4. The specific establishment method of the VPN connection is the same as the establishment of the VPN connection described in step S102 except that the physical line on which the VPN connection is established is different. In order to prevent a delay in packet transmission / reception processing, it is preferable that the CPU of the VPN gateway 1a executes establishment or re-establishment of an unconnected VPN connection using a thread different from processing for handling other VPN connections. .

図6に示した例では、VPNゲートウェイ1aのWAN1に収容された第一の物理回線100とVPNゲートウェイ1bのWAN1に収容された物理回線300とを用いたパス1においてVPNコネクション1が確立され、第一の物理回線100とVPNゲートウェイ1bのWAN2に収容された物理回線400とを用いたパス2においてVPNコネクション2が確立されている。また、VPNゲートウェイ1aのWAN2に収容された第二の物理回線200とVPNゲートウェイ1bの物理回線300とを用いたパス3においてVPNコネクション3が確立され、VPNゲートウェイ1aの第二の物理回線200とVPNゲートウェイ1bの物理回線400とを用いたパス4においてVPNコネクション4が確立されている。利用可能なパスについてVPNコネクションが確立されると、本フローチャートに示された処理は終了し、処理はデータ送信処理へ進む。   In the example shown in FIG. 6, the VPN connection 1 is established in the path 1 using the first physical line 100 accommodated in the WAN 1 of the VPN gateway 1a and the physical line 300 accommodated in the WAN 1 of the VPN gateway 1b. The VPN connection 2 is established in the path 2 using the first physical line 100 and the physical line 400 accommodated in the WAN 2 of the VPN gateway 1b. Further, the VPN connection 3 is established in the path 3 using the second physical line 200 accommodated in the WAN 2 of the VPN gateway 1a and the physical line 300 of the VPN gateway 1b, and the second physical line 200 of the VPN gateway 1a The VPN connection 4 is established in the path 4 using the physical line 400 of the VPN gateway 1b. When a VPN connection is established for an available path, the processing shown in this flowchart ends, and the processing proceeds to data transmission processing.

本実施形態に係るVPNシステムによれば、このような複数のVPNコネクションが確立されることによって、物理回線(下位レイヤ)に障害が発生した場合にも、影響を受けないパスにおけるVPNコネクションによって通信を途切れさせることなく維持することが出来る。即ち、本実施形態に係るVPNシステムによれば、再接続処理やバックアップ回線への切替処理等が不要である。   According to the VPN system according to the present embodiment, even when a failure occurs in a physical line (lower layer) by establishing such a plurality of VPN connections, communication is performed using a VPN connection in an unaffected path. Can be maintained without interruption. That is, according to the VPN system according to the present embodiment, reconnection processing, switching processing to a backup line, and the like are unnecessary.

より具体的には、本実施形態に係るVPNシステムにおいては、物理回線が1つ不通となった場合でも、2つのVPNコネクションがそのまま継続利用可能である。また、本実
施形態に係るVPNシステムでは、VPNゲートウェイ1a側で1つ、VPNゲートウェイ1b側で1つの物理回線が生きていれば、何れかのVPNコネクションが途切れずにそのまま確立維持された状態となっており、通信の瞬断も発生しない。従来の回線冗長化方式では、一方のゲートウェイ側で1つ、他方のゲートウェイ側で1つの物理回線が生きていても、コネクションの切断が発生する。また、バックアップ用のコネクションが設定されているネットワークであっても、従来は通信の切断が検知されてからコネクションが張り直されていたため、通信の途切れが発生する。
More specifically, in the VPN system according to the present embodiment, even when one physical line is disconnected, two VPN connections can be continuously used as they are. In the VPN system according to the present embodiment, if one physical line is alive on the VPN gateway 1a side and one physical line is alive on the VPN gateway 1b side, one of the VPN connections is established and maintained without interruption. And no interruption of communication occurs. In the conventional line redundancy method, even if one physical line is alive on one gateway side and one physical line is alive on the other gateway side, the connection is disconnected. Further, even in a network in which a backup connection is set, conventionally, the connection is reestablished after the disconnection of the communication is detected, so that the communication is interrupted.

図7は、本実施形態におけるデータ送信処理の流れを示すフローチャートである。本フローチャートに示された処理は、図5を用いて説明したコネクション確立処理が終了したことを契機として実行される。なお、本フローチャートに示された処理の具体的な内容および順序等は、本発明を実施する上での一例である。具体的な処理内容および順序等は、実施の形態に応じて適宜選択されることが好ましい。   FIG. 7 is a flowchart showing the flow of data transmission processing in the present embodiment. The process shown in this flowchart is executed when the connection establishment process described with reference to FIG. 5 is completed. It should be noted that the specific contents and order of the processing shown in this flowchart are examples for carrying out the present invention. It is preferable that specific processing contents and order are appropriately selected according to the embodiment.

ステップS201では、回線状況の悪いVPNコネクション、またはVPNコネクションが切断されているパスについて、VPNコネクションの再確立が試行される。但し、ステップS201に示された処理は、ステップS207において後述するトンネルの再構成が行われた場合に実行される処理である。このため、ステップS201の処理の詳細は、ステップS207とともに後述する。   In step S201, re-establishment of a VPN connection is attempted for a VPN connection with a poor line condition or a path where the VPN connection is disconnected. However, the process shown in step S201 is a process executed when a tunnel reconfiguration described later in step S207 is performed. For this reason, details of the processing in step S201 will be described later together with step S207.

ステップS202では、各VPNコネクションの速度が双方向で計測される。VPNゲートウェイ1aの通信速度計測部17は、上記説明したVPNコネクション確立処理において確立されたVPNコネクションの夫々において、所定のサイズのデータを交換し、応答にかかった時間を計測することで、各VPNコネクションの通信速度を取得する。より具体的には、通信速度計測部17は、各VPNコネクションにおいて、VPNゲートウェイ1aからVPNゲートウェイ1bに対して要求パケットを送信し、要求の送信からVPNゲートウェイ1aがVPNゲートウェイ1bからの応答パケットを受信するまでにかかった時間を計測することで、各VPNコネクションの速度を取得する。取得された通信速度は、VPNトンネル構成テーブルに保存される。また、通信速度計測部17は、各VPNコネクションにおいてパケットがVPNゲートウェイ1aから送信されてからVPNゲートウェイ1bに到達するまでに要した時間(以下、「到達時間」と称する)を、VPNゲートウェイ1aにおける送信時刻とVPNゲートウェイ1bにおける受信時刻とを用いて算出することで取得する。なお、到達時間の算出に必要な情報は、VPNゲートウェイ1bから取得される。また、本実施形態では、速度計測のために交換されるデータは、各VPNコネクションにおけるコントロールデータとして交換される。但し、ユーザデータのトラフィックが所定の閾値以上である場合には、コントロールデータで負荷をかけないよう、速度計測を行わないか、速度計測を次回以降の速度計測タイミングまで延期することとしてもよい。その後、処理はステップS203へ進む。   In step S202, the speed of each VPN connection is measured bidirectionally. The communication speed measurement unit 17 of the VPN gateway 1a exchanges data of a predetermined size in each of the VPN connections established in the VPN connection establishment process described above, and measures the time taken for the response, thereby measuring each VPN. Get the communication speed of the connection. More specifically, the communication speed measuring unit 17 transmits a request packet from the VPN gateway 1a to the VPN gateway 1b in each VPN connection, and the VPN gateway 1a transmits a response packet from the VPN gateway 1b from the transmission of the request. By measuring the time taken to receive, the speed of each VPN connection is acquired. The acquired communication speed is stored in the VPN tunnel configuration table. In addition, the communication speed measuring unit 17 determines the time (hereinafter referred to as “arrival time”) required for the VPN connection to reach the VPN gateway 1b after the packet is transmitted from the VPN gateway 1a in each VPN connection. It is obtained by calculating using the transmission time and the reception time at the VPN gateway 1b. Information necessary for calculating the arrival time is acquired from the VPN gateway 1b. In the present embodiment, data exchanged for speed measurement is exchanged as control data in each VPN connection. However, when the traffic of user data is equal to or greater than a predetermined threshold, speed measurement may not be performed or the speed measurement may be postponed until the next or later speed measurement timing so as not to apply a load with the control data. Thereafter, the process proceeds to step S203.

なお、VPNコネクションの速度は、コントロールデータのデータ交換速度を計測する方式に代えて、ユーザデータのトラフィックを監視する方式を用いて計測されてもよい。VPNゲートウェイ1a、1bは、トラフィックを監視することで得られたユーザデータのトラフィック情報(ユーザデータのサイズおよびデータ転送にかかった時間等を含む)を、相手方のVPNゲートウェイとの間でコントロールデータとして交換し、得られたトラフィック情報(ユーザデータのサイズおよびデータ転送にかかった時間等)に基づいて速度を算出することが出来る。   Note that the speed of the VPN connection may be measured using a method of monitoring traffic of user data instead of a method of measuring the data exchange rate of control data. The VPN gateways 1a and 1b use the user data traffic information (including the user data size and the time taken for data transfer) obtained by monitoring the traffic as control data with the other party's VPN gateway. The speed can be calculated based on the traffic information (the size of the user data and the time taken for data transfer, etc.) obtained by the exchange.

ステップS203では、回線状況の悪いVPNコネクションの有無(VPNコネクションの利用適否)が判定される。ステップS202において速度計測のために送受信されるパケットは、各VPNコネクションの回線状況の確認用パケット(所謂KeepAliv
e)としても利用される。但し、KeepAliveは、速度計測のためのパケットとは別に送信されることとしてもよい。VPNゲートウェイ1aの利用適否判断部18は、VPNコネクションの、送受信部11によるデータ送信における利用適否を判断する。より具体的には、利用適否判断部18は、KeepAliveパケットを送信したVPNコネクションにおいて、VPNゲートウェイ1bからの応答がタイムアウトした場合、当該VPNコネクション(パス)の回線状況が悪い、換言すれば、利用に適さないVPNコネクションであると判断する。回線状況の悪いVPNコネクション(回線状況の確認に失敗したVPNコネクション)が有る場合、処理はステップS207へ進む。これに対して、回線状況の悪いVPNコネクションが発見されなかった場合、処理はステップS204へ進む。
In step S203, it is determined whether or not there is a VPN connection with poor line status (appropriate use of VPN connection). The packet transmitted and received for speed measurement in step S202 is a packet for confirming the line status of each VPN connection (so-called KeepAlive).
Also used as e). However, KeepAlive may be transmitted separately from the packet for speed measurement. The use appropriateness determination unit 18 of the VPN gateway 1a determines the use appropriateness of the VPN connection in data transmission by the transmission / reception unit 11. More specifically, when the response from the VPN gateway 1b times out in the VPN connection that transmitted the KeepAlive packet, the usage suitability determination unit 18 has a poor line status of the VPN connection (path). It is determined that the VPN connection is not suitable for the connection. If there is a VPN connection with a poor line status (a VPN connection for which the confirmation of the line status has failed), the process proceeds to step S207. On the other hand, if a VPN connection with poor line status is not found, the process proceeds to step S204.

ステップS204では、各VPNコネクションの重み付けが行われる。VPNゲートウェイ1aの優先度設定部19は、ステップS202において計測された各VPNコネクションの速度に基づいて、重み付けラウンドロビンによって用いられる各VPNコネクションの重み付け(優先度設定)を行う。図4に示された例では、各VPNコネクションの速度が、各VPNコネクションにおいて、データ要求の送信から応答の受信までにかかった時間で示されている。例えば、VPNコネクション1の速度は20msecであり、VPNコネクション2の速度は40msecであり、VPNコネクション3の速度は80msecであり、VPNコネクション4の速度は20msecである。本実施形態では、優先度設定部19は、VPNトンネル構成テーブルを参照し、最も遅いVPNコネクション(ここでは、VPNコネクション3)を基準として、各VPNコネクションが基準となるVPNコネクションの何倍の速さであるかを算出することで、重み付けを行う。具体的には、図4に示された例では、VPNトンネル構成テーブルに、重み(weight)として、VPNコネクション1に値「4」が、VPNコネクション2に値「2」が、VPNコネクション3に値「1」が、VPNコネクション4に値「4」が設定される。各VPNコネクションの重み付けが完了すると、処理はステップS205へ進む。   In step S204, each VPN connection is weighted. The priority setting unit 19 of the VPN gateway 1a performs weighting (priority setting) of each VPN connection used by the weighted round robin based on the speed of each VPN connection measured in step S202. In the example shown in FIG. 4, the speed of each VPN connection is indicated by the time taken from the transmission of the data request to the reception of the response in each VPN connection. For example, the speed of the VPN connection 1 is 20 msec, the speed of the VPN connection 2 is 40 msec, the speed of the VPN connection 3 is 80 msec, and the speed of the VPN connection 4 is 20 msec. In this embodiment, the priority setting unit 19 refers to the VPN tunnel configuration table and uses the slowest VPN connection (in this case, the VPN connection 3) as a reference and how many times the VPN connection is the reference VPN connection. Weighting is performed by calculating whether it is the same. Specifically, in the example shown in FIG. 4, a value “4” is assigned to the VPN connection 1, a value “2” is assigned to the VPN connection 2, and a value “2” is assigned to the VPN connection 3 in the VPN tunnel configuration table. The value “1” is set, and the value “4” is set in the VPN connection 4. When the weighting of each VPN connection is completed, the process proceeds to step S205.

なお、通信速度が使用に適さない速度を示す閾値よりも遅いVPNコネクションがある場合は、当該VPNコネクションをVPNトンネルから除外し、重み付けを行わないこととしてもよい。なお、VPNコネクションの除外は、該当するコネクションが除外されることを示すフラグやリスト等を用いて行われてもよいし、VPNトンネル構成テーブルにおいて該当するVPNコネクションの重みを0(ゼロ)に設定することで行われてもよい。   When there is a VPN connection whose communication speed is slower than a threshold indicating a speed that is not suitable for use, the VPN connection may be excluded from the VPN tunnel and weighting may not be performed. The VPN connection may be excluded using a flag or a list indicating that the corresponding connection is excluded, or the weight of the corresponding VPN connection is set to 0 (zero) in the VPN tunnel configuration table. It may be done by doing.

ステップS205では、ユーザデータが送信される。VPNゲートウェイ1aのVPN処理部12は、VPNゲートウェイ1a配下のプライベートネットワークからVPNゲートウェイ1b配下のプライベートネットワーク宛のパケットを受信すると、受信したパケットにVPNゲートウェイ1bへパケットを転送するための情報を付加して、受信したパケットをカプセル化することで、VPNパケット(カプセル化パケット)を作成する。VPNパケットが作成されると、VPNゲートウェイ1aの送受信部11は、作成されたVPNパケットを、コネクション確立部14によって確立された複数のVPNコネクションを介して、VPNゲートウェイ1bへ送信する。送信されたVPNパケットを受信したVPNゲートウェイ1bは、受信されたVPNパケットから、転送のための情報が付加される前のパケットを取り出し、取り出されたパケットをVPNゲートウェイ1b配下のプライベートネットワークに転送する。   In step S205, user data is transmitted. When the VPN processing unit 12 of the VPN gateway 1a receives a packet addressed to the private network under the VPN gateway 1b from the private network under the VPN gateway 1a, the VPN processing unit 12 adds information for transferring the packet to the VPN gateway 1b to the received packet. Thus, a VPN packet (encapsulated packet) is created by encapsulating the received packet. When the VPN packet is created, the transmission / reception unit 11 of the VPN gateway 1a transmits the created VPN packet to the VPN gateway 1b via the plurality of VPN connections established by the connection establishment unit 14. The VPN gateway 1b that has received the transmitted VPN packet extracts the packet before the transfer information is added from the received VPN packet, and transfers the extracted packet to the private network under the VPN gateway 1b. .

本実施形態に係るデータ送信処理において、VPNゲートウェイ1a、1bは、確立された複数のVPNコネクション1〜4を、全体として1つのVPNトンネルとして用いる。この際、送受信部11は、VPNコネクションを、優先度に応じて用いて、相手方のVPNゲートウェイに対してデータを送信する。本実施形態において、VPNゲートウェイ
1aがVPNゲートウェイ1bに対してVPNパケットを送信するために用いるVPNコネクションは、重み付けラウンドロビン(Weighted Round−robin、加重ラウンドロビン)で決定される。
In the data transmission processing according to the present embodiment, the VPN gateways 1a and 1b use the plurality of established VPN connections 1 to 4 as a single VPN tunnel as a whole. At this time, the transmission / reception unit 11 transmits data to the other party's VPN gateway using the VPN connection according to the priority. In the present embodiment, the VPN connection used for the VPN gateway 1a to transmit a VPN packet to the VPN gateway 1b is determined by weighted round robin (weighted round robin).

重み付けラウンドロビンでは、各VPNコネクションに予め重み付け(優先度設定)がなされ、重み(優先度)の大きいVPNコネクションがより多く利用されるようにスケジューリングされる。具体的には、本実施形態では、重み付けラウンドロビンにおいて、ステップS204でVPNトンネル構成テーブルに設定された重みが参照され、利用される。送受信部11は、一回のラウンドロビンにおいて、重み4が設定されたVPNコネクション1およびVPNコネクション4が4回(4スロット)、重み2が設定されたVPNコネクション2が2回(2スロット)、重み1が設定されたVPNコネクション3が1回(1スロット)利用されるようにスケジューリングし、各スロットにおいてVPNゲートウェイ1b宛のVPNパケットを送信する。   In the weighted round robin, each VPN connection is weighted (priority setting) in advance, and scheduling is performed so that more VPN connections having a higher weight (priority) are used. Specifically, in this embodiment, in the weighted round robin, the weight set in the VPN tunnel configuration table in step S204 is referred to and used. The transmission / reception unit 11 performs VPN connection 1 and VPN connection 4 for which weight 4 is set 4 times (4 slots), and VPN connection 2 for which weight 2 is set 2 times (2 slots) in one round robin. Scheduling is performed so that the VPN connection 3 with the weight 1 set is used once (one slot), and a VPN packet addressed to the VPN gateway 1b is transmitted in each slot.

例えば、データ送信に用いられるスロットは、以下のような順序で各VPNコネクションに割り当てられてよい。
(1)コネクション1→コネクション2→コネクション3→コネクション4→
(2)コネクション1→コネクション2→コネクション4→
(3)コネクション1→コネクション4→
(4)コネクション1→コネクション4→(1)へ戻る
For example, slots used for data transmission may be allocated to each VPN connection in the following order.
(1) Connection 1 → Connection 2 → Connection 3 → Connection 4 →
(2) Connection 1 → Connection 2 → Connection 4 →
(3) Connection 1 → Connection 4 →
(4) Return to connection 1 → connection 4 → (1)

ステップS206では、所定の更新時間が経過したか否かが判定される。VPNゲートウェイ1aは、ステップS202におけるVPNコネクションの速度計測および回線状況の確認から所定の更新時間が経過しているか否かを判定する。VPNコネクションの速度計測および回線状況の確認から更新時間が経過していないと判定された場合、処理はステップS205へ戻る。VPNコネクションの速度計測および回線状況の確認から更新時間が経過していると判定された場合、処理はステップS201へ戻る。即ち、本フローチャートに示された処理では、更新時間毎にVPNコネクションの速度計測および回線状況の確認が行われることで、VPNにおいて用いるVPNコネクションの状況が更新され(ステップS202)、ユーザデータの送信に用いられるVPNコネクションの重み付けが更新される(ステップS204)。このようにすることで、本実施形態に係るVPNシステムによれば、常に最新の回線状況に基づいて、効率のよいユーザデータの送信を行うことが出来る。   In step S206, it is determined whether a predetermined update time has elapsed. The VPN gateway 1a determines whether or not a predetermined update time has elapsed from the measurement of the speed of the VPN connection and the confirmation of the line status in step S202. If it is determined that the update time has not elapsed from the speed measurement of the VPN connection and the confirmation of the line status, the process returns to step S205. If it is determined that the update time has elapsed from the speed measurement of the VPN connection and the confirmation of the line status, the process returns to step S201. That is, in the processing shown in this flowchart, the speed of the VPN connection and the confirmation of the line status are performed at each update time, whereby the status of the VPN connection used in the VPN is updated (step S202), and the user data is transmitted. The weight of the VPN connection used for the update is updated (step S204). By doing in this way, according to the VPN system according to the present embodiment, it is possible to efficiently transmit user data based on the latest line status.

次に、回線状況の悪いVPNコネクション(回線状況の確認に失敗したVPNコネクション)が発見された場合の処理について説明する。ステップS203においてKeepAliveパケットへの応答がタイムアウトした場合、利用適否判断部18は、タイムアウトが発生したVPNコネクションの回線状況が悪いと判断する。この場合、処理はステップS207へ進む。   Next, processing when a VPN connection with a poor line status (a VPN connection for which confirmation of the line status has failed) is found will be described. If the response to the KeepAlive packet times out in step S203, the usage suitability determination unit 18 determines that the line status of the VPN connection in which the timeout has occurred is bad. In this case, the process proceeds to step S207.

ステップS207では、トンネルが再構成される。VPNゲートウェイ1aの優先度設定部19は、ステップS203において利用適否判断部18によって回線状況が悪く利用に適さないと判断されたVPNコネクションを使用しない(利用対象から除外する)設定を行うことで、VPNトンネルの再構成を行う。例えば、VPNコネクション3においてKeepAliveがタイムアウトした場合、優先度設定部19は、VPNコネクション3をVPNゲートウェイ1bとの間のVPN通信に用いる対象VPNコネクションから除外する設定を行う。   In step S207, the tunnel is reconfigured. The priority setting unit 19 of the VPN gateway 1a performs a setting not to use (exclude from the use target) the VPN connection determined in step S203 by the use suitability judging unit 18 as the line condition is bad and unsuitable for use. Reconfigure the VPN tunnel. For example, when KeepAlive times out in the VPN connection 3, the priority setting unit 19 performs setting to exclude the VPN connection 3 from the target VPN connection used for VPN communication with the VPN gateway 1 b.

更に、優先度設定部19は、除外されたVPNコネクション以外の各VPNコネクションについての重み付けを更新する。例えば、VPNコネクション3が除外された場合、残
るVPNコネクション1の速度は20msecであり、VPNコネクション2の速度は40msecであり、VPNコネクション4の速度は20msecであるため、最も遅いVPNコネクション2を基準に、重みとして、VPNコネクション1に値「2」が、VPNコネクション2に値「1」が、VPNコネクション4に値「2」が設定される。なお、送信側トンネル構成から除外されたVPNコネクション(パス)は、バックアップ回線に指定される等して冗長化に利用されてもよい。トンネルの再構成の結果はVPNトンネル構成テーブルに保存され、処理はステップS201へ進む。
Furthermore, the priority setting unit 19 updates the weighting for each VPN connection other than the excluded VPN connection. For example, when the VPN connection 3 is excluded, the speed of the remaining VPN connection 1 is 20 msec, the speed of the VPN connection 2 is 40 msec, and the speed of the VPN connection 4 is 20 msec. As a weight, a value “2” is set for the VPN connection 1, a value “1” is set for the VPN connection 2, and a value “2” is set for the VPN connection 4. The VPN connection (path) excluded from the transmission side tunnel configuration may be used for redundancy by being designated as a backup line. The result of tunnel reconfiguration is stored in the VPN tunnel configuration table, and the process proceeds to step S201.

ステップS201では、回線状況の悪いVPNコネクション、またはVPNコネクションが切断されているパスについて、VPNコネクションの再確立が試行される。VPNゲートウェイ1aのコネクション確立部14は、ステップS207において除外されたVPNコネクション、および他の原因でVPNコネクションが切断されているパスについて、VPNコネクションの確立を試行する。VPNコネクションの具体的な確立方法は、VPNコネクションが確立される物理回線が異なることを除いて、ステップS102において説明したVPNコネクションの確立と同様である。   In step S201, re-establishment of a VPN connection is attempted for a VPN connection with a poor line condition or a path where the VPN connection is disconnected. The connection establishment unit 14 of the VPN gateway 1a attempts to establish a VPN connection for the VPN connection excluded in step S207 and the path where the VPN connection is disconnected for other reasons. The specific establishment method of the VPN connection is the same as the establishment of the VPN connection described in step S102 except that the physical line on which the VPN connection is established is different.

即ち、本フローチャートに示されたデータ送信処理によれば、回線状況の悪いVPNコネクションを定期的に発見して利用対象から除外することで通信の品質を保ちつつ、除外されたVPNコネクションについて定期的にVPNコネクションの再確立を試行することが出来る。   In other words, according to the data transmission process shown in this flowchart, a VPN connection with a bad line condition is periodically found and excluded from the use target, so that the communication quality is maintained and the excluded VPN connection is periodically You can try to re-establish the VPN connection.

本実施形態に係るVPNシステムによれば、速度がより速いVPNコネクションに、より高い優先度を設定して、重み付けラウンドロビンを用いることにより、トラフィックをより効率よくVPNコネクションに割り振り、データ送信の速度を高めることが出来る。ここで、VPNコネクションの速度が互いに同等であった場合、ラウンドロビンによるパスの多重化によってより大きな高速化が期待できる。   According to the VPN system according to the present embodiment, by setting a higher priority to a VPN connection with a higher speed and using weighted round robin, traffic is more efficiently allocated to the VPN connection, and the data transmission speed is increased. Can be increased. Here, when the speeds of the VPN connections are equal to each other, a higher speed can be expected by multiplexing the paths by round robin.

なお、送信に用いるVPNコネクションを決定するためのアルゴリズムには、重み付けラウンドロビン以外の方法が採用されてもよい。例えば、通信速度が所定値以上乖離した複数のVPNコネクションが確立されている場合、ユーザデータの送信に、より高速なVPNコネクションとより低速なVPNコネクションとの何れを使用するかを、プロトコルや送信元等の定義に基づいて決定するオプションを用意し、必要に応じて、待機しているVPNコネクションを利用する事としてもよい。また、その他のVPNコネクションを決定方式として、重み付けを行わないラウンドロビンが採用されてもよい。   Note that a method other than weighted round robin may be employed as an algorithm for determining the VPN connection used for transmission. For example, when a plurality of VPN connections whose communication speeds deviate by a predetermined value or more have been established, it is determined whether a higher-speed VPN connection or a lower-speed VPN connection is used for user data transmission. An option to be determined based on the original definition may be prepared, and a waiting VPN connection may be used as necessary. In addition, round robin that does not perform weighting may be adopted using other VPN connections as a determination method.

なお、本実施形態のように、複数のVPNコネクションを束ねて1つのVPNトンネルとして利用した場合、パケットの到着がデータ転送に用いたVPNコネクションの転送速度によって前後する可能性がある。即ち、エンド−エンド間、図1に示す例では端末2aから順次送信されたパケットが、送信順序と異なる到着順序で端末2bによって受信される可能性がある。このようなデータ到着順序の不整合の問題は、例えば、UDPのようなシーケンス制御を行わないプロトコルを用いた場合や、TCPの送信側において再送処理を行った場合、TCPにおいて受信側高速再送処理や選択的肯定応答を用いた場合等に発生し得る。   Note that, when a plurality of VPN connections are bundled and used as one VPN tunnel as in the present embodiment, the arrival of packets may be influenced by the transfer speed of the VPN connection used for data transfer. That is, in the example shown in FIG. 1, packets that are sequentially transmitted from the terminal 2 a may be received by the terminal 2 b in an arrival order different from the transmission order. Such a problem of inconsistency in the data arrival order is, for example, when a protocol that does not perform sequence control such as UDP is used, or when a retransmission process is performed on the TCP transmission side, or when a high-speed retransmission process on the reception side in TCP Or when a selective acknowledgment is used.

本実施形態では、重み付けラウンドロビンによってVPNトンネルの構成アルゴリズムが決定される。このため、このようなデータ到着順序の不整合の発生は抑制されるが、それでも不整合が発生する場合には、不整合に対する対処が行われることが好ましい。ここで、データ到着順序の不整合に対しては、データを利用する端末の上位プロトコルにおいて対応することも考えられる。しかし、必ずしも上位プロトコルがデータ到着順序の不整合に対応する機能を有しているとは限らない。そこで、本実施形態では、VPNコネクシ
ョンを介して送受信されるユーザデータをカプセル化する際に、データの先頭にシーケンスを付加することで、データ到着順序の不整合に対応することとした。以下、本実施形態におけるデータ到着順序の不整合への対応方法を、図8を用いて説明する。
In this embodiment, a VPN tunnel configuration algorithm is determined by weighted round robin. For this reason, the occurrence of such inconsistency in the data arrival order is suppressed, but when the inconsistency still occurs, it is preferable to deal with the inconsistency. Here, it is conceivable that the inconsistency in the data arrival order is dealt with in the host protocol of the terminal using data. However, the upper level protocol does not necessarily have a function corresponding to the inconsistency in the data arrival order. Therefore, in this embodiment, when encapsulating user data transmitted / received via a VPN connection, a sequence is added to the head of the data to cope with inconsistency in the data arrival order. Hereinafter, a method for dealing with inconsistencies in the data arrival order in this embodiment will be described with reference to FIG.

図8は、本実施形態におけるデータ送受信の流れを示すシーケンス図である。本シーケンス図に示された処理は、VPNゲートウェイ1aが、データ送信処理(図7を参照)のステップS205に示されたユーザデータの送信を開始したことを契機として実行される。なお、本シーケンス図に示された処理の具体的な内容および順序等は、本発明を実施する上での一例である。具体的な処理内容および順序等は、実施の形態に応じて適宜選択されることが好ましい。   FIG. 8 is a sequence diagram showing the flow of data transmission / reception in the present embodiment. The process shown in this sequence diagram is executed when the VPN gateway 1a starts transmission of user data shown in step S205 of the data transmission process (see FIG. 7). The specific contents and order of the processing shown in the sequence diagram are examples for carrying out the present invention. It is preferable that specific processing contents and order are appropriately selected according to the embodiment.

ステップS301およびステップS302では、パケットにシーケンスが付加され、VPNパケットが送信される。VPNゲートウェイ1aのVPN処理部12は、VPNゲートウェイ1a配下のプライベートネットワークからVPNゲートウェイ1b配下のプライベートネットワーク宛のパケットを受信すると、受信したパケットにVPNゲートウェイ1bへパケットを転送するための情報を付加して、受信したパケットをカプセル化することで、VPNパケット(カプセル化パケット)を作成する。ここで、VPNゲートウェイ1aのシーケンス付加部20は、ユーザデータをカプセル化する際に、データの先頭に、パケットの順序を示すシーケンスを付加する(ステップS301)。VPNパケットが作成されると、VPNゲートウェイ1aの送受信部11は、作成されたVPNパケットを、コネクション確立部14によって確立された複数のVPNコネクションを介して、VPNゲートウェイ1bへ送信する(ステップS302)。なお、この際、送受信部11は、VPNコネクションを、優先度に応じて用いて、相手方のVPNゲートウェイに対してデータを送信する(ステップS205の重み付けラウンドロビンの説明を参照)。   In step S301 and step S302, a sequence is added to the packet, and a VPN packet is transmitted. When the VPN processing unit 12 of the VPN gateway 1a receives a packet addressed to the private network under the VPN gateway 1b from the private network under the VPN gateway 1a, the VPN processing unit 12 adds information for transferring the packet to the VPN gateway 1b to the received packet. Thus, a VPN packet (encapsulated packet) is created by encapsulating the received packet. Here, when the user data is encapsulated, the sequence adding unit 20 of the VPN gateway 1a adds a sequence indicating the order of the packets to the head of the data (step S301). When the VPN packet is created, the transmission / reception unit 11 of the VPN gateway 1a transmits the created VPN packet to the VPN gateway 1b via the plurality of VPN connections established by the connection establishment unit 14 (step S302). . At this time, the transmission / reception unit 11 transmits data to the other party's VPN gateway using the VPN connection according to the priority (see the description of the weighted round robin in step S205).

ステップS303からステップS306では、データ受信側のVPNゲートウェイ1bにおいて、VPNパケットの受信、カプセル化解除、シーケンス整合、およびパケットの転送が行われる。VPNパケットを受信したVPNゲートウェイ1bは、受信されたVPNパケットから、カプセル化される前のパケットを取り出す(ステップS303およびステップS304)。ここで、VPNゲートウェイ1bは、所定のバッファ時間シーケンスを整える(ステップS305)。即ち、VPNゲートウェイ1bは、受信したユーザデータのシーケンスが実際の受信順序と一致している場合にはそのまま処理するが、シーケンスが飛んでいる場合には、受信パケットを転送せずに、シーケンスが飛んで受信されたパケットの受信時間から所定のバッファ時間(例えば、20ミリ秒)保留し、その時間内にシーケンスが一致するデータが到着すれば、シーケンスを整えて、シーケンスに示された順に転送する。   In steps S303 to S306, the VPN gateway 1b on the data receiving side receives the VPN packet, decapsulates, sequence matching, and transfers the packet. The VPN gateway 1b that has received the VPN packet extracts the packet before being encapsulated from the received VPN packet (steps S303 and S304). Here, the VPN gateway 1b arranges a predetermined buffer time sequence (step S305). In other words, the VPN gateway 1b processes the received user data sequence as it is when it matches the actual reception order, but if the sequence is skipped, the sequence is not transferred without transferring the received packet. Holds a predetermined buffer time (for example, 20 milliseconds) from the reception time of a packet received by flying, and if data that matches the sequence arrives within that time, arranges the sequence and transfers it in the order indicated in the sequence To do.

ここで、所定のバッファ時間には、エンド−エンド間におけるパケットの送受信で許容できる程度の遅延のみを与える時間が設定される。エンド−エンド間におけるパケットの送受信で許容できる遅延の程度は、パケットに含まれるデータを用いる上位プロトコルやアプリケーションによっても異なるため、この所定のバッファ時間は、上位プロトコルやアプリケーションに応じて設定されてもよい。本実施形態では、ここで設定されるバッファ時間は、ステップS202において速度と併せて計測された到達時間(各VPNコネクションにおいてパケットがVPNゲートウェイ1aから送信されてからVPNゲートウェイ1bに到達するまでに要した時間)、または到達時間の平均値を用いて算出される。本実施形態では、バッファ時間として、到達時間(またはその平均値)に2を乗算した値が設定される。例えば、到達時間が10ミリ秒である場合、バッファ時間は20ミリ秒(=10ミリ秒*2)となる。但し、バッファ時間の算出方法は前記した例に限られない。バッファ時間の算出には、到達時間に所定の時間を積算して算出する方法等、実施の形態に応じて適した方法が採用されることが好ましい。また、バッファ時間には、各VPNコネ
クションにおいてパケットがVPNゲートウェイ1aから送信されてからこのパケットに対するVPNゲートウェイ1bからの応答パケットがVPNゲートウェイ1aによって受信されるまでに要した時間(または、その平均値)等、その他の方法で算出された時間が設定されてもよいし、管理者によって任意の値が設定されてもよい。
Here, the predetermined buffer time is set to a time that gives only a delay that is acceptable for transmission / reception of packets between end-to-end. The degree of delay that can be tolerated for transmission / reception of packets between end-to-end differs depending on the upper level protocol or application that uses the data contained in the packet. Therefore, the predetermined buffer time may be set according to the upper level protocol or application. Good. In the present embodiment, the buffer time set here is the arrival time measured together with the speed in step S202 (it is necessary until the packet reaches the VPN gateway 1b after the packet is transmitted from the VPN gateway 1a in each VPN connection. Time) or an average value of arrival times. In the present embodiment, a value obtained by multiplying the arrival time (or its average value) by 2 is set as the buffer time. For example, when the arrival time is 10 milliseconds, the buffer time is 20 milliseconds (= 10 milliseconds * 2). However, the buffer time calculation method is not limited to the above-described example. For the calculation of the buffer time, it is preferable to employ a method suitable for the embodiment, such as a method of calculating by adding a predetermined time to the arrival time. In addition, the buffer time is the time (or the average value) required from when the packet is transmitted from the VPN gateway 1a in each VPN connection until the response packet from the VPN gateway 1b to the packet is received by the VPN gateway 1a. ) Etc. may be set by other methods, or an arbitrary value may be set by the administrator.

なお、送信順序において先に使用されるVPNコネクションの到達時間が、後に使用されるVPNコネクションの到達時間によりも長い場合、これらのVPNコネクション間で、パケットの受信順序が送信順序と、ほぼ毎回入れ替わる可能性がある。このような場合には、未到着のパケットの送受信に用いられるVPNコネクションの到達時間を基に算出された未到着のパケットの到達予定時刻まで待てば、未到着のパケットが受信されると考えられる。このため、このような場合には、所定のバッファ時間として、未到着のパケットの送受信に用いられるVPNコネクションの到達時間と到着済みパケットの送受信に用いられるVPNコネクションの到達時間との差分が設定されてもよい。   If the arrival time of the VPN connection used earlier in the transmission order is longer than the arrival time of the VPN connection used later, the packet reception order is switched between the VPN connections and the transmission order almost every time. there is a possibility. In such a case, it is considered that an unarrived packet is received by waiting until the arrival time of the unarrived packet calculated based on the arrival time of the VPN connection used for transmission / reception of the unarrived packet. . Therefore, in such a case, the difference between the arrival time of the VPN connection used for transmission / reception of the unarrived packet and the arrival time of the VPN connection used for transmission / reception of the arrived packet is set as the predetermined buffer time. May be.

シーケンスが整えられると、VPNゲートウェイ1bは、取り出されたパケットをVPNゲートウェイ1b配下のプライベートネットワークに転送する(ステップS306)。   When the sequence is prepared, the VPN gateway 1b transfers the extracted packet to the private network under the VPN gateway 1b (step S306).

ステップS307では、必要に応じて、送信アルゴリズムの変更指示が送信される。ゲートウェイ1bの送受信部11は、シーケンスとデータ到着順序との不整合が所定の条件に合致した場合に、VPNゲートウェイ1aに対して送信アルゴリズムの変更指示(通知)を送信する(ステップS307)。本実施形態では、受信側であるVPNゲートウェイ1bにおいて所定の監視時間以内にシーケンスの順序が保てない場合、換言すると、所定の監視時間において所定の基準(閾値)以上のシーケンスの不整合が発生している場合、VPNゲートウェイ1bは、送信側であるVPNゲートウェイ1aの送信アルゴリズムに変更を加えるように指示する通知を、VPNゲートウェイ1a宛に送信する。   In step S307, a transmission algorithm change instruction is transmitted as necessary. The transmission / reception unit 11 of the gateway 1b transmits a transmission algorithm change instruction (notification) to the VPN gateway 1a when the mismatch between the sequence and the data arrival order matches a predetermined condition (step S307). In the present embodiment, when the sequence order cannot be maintained within a predetermined monitoring time in the VPN gateway 1b on the receiving side, in other words, a sequence mismatch exceeding a predetermined reference (threshold value) occurs in the predetermined monitoring time. If so, the VPN gateway 1b transmits to the VPN gateway 1a a notification instructing to change the transmission algorithm of the VPN gateway 1a on the transmission side.

本実施形態では、所定の監視時間(例えば、1分)において発生したパケットの再送要求が、所定の基準(例えば、5)以上であるか否かが判定される。所定の基準には、「1」が設定されてもよい。VPNでは、VPNを流れるパケットを全てカプセル化するため、パケットの内容を参照して、特定のパケットを検知することが出来る。検知対象となるパケットの種類を特定のパケットに限定することで、パケットの検知処理に伴うパケット転送の遅延(レイテンシ)を抑制することが出来る。本実施形態では、受信されたパケットから再送要求パケットを検知し、所定の監視時間内に検知された再送要求の数が所定の基準以上である場合に、送信アルゴリズムの変更指示を送信する。但し、検知されるパケットは、遅延が発生した際に送信されるパケットであればよく、再送要求パケットに限定されない。なお、監視時間は、TCPのsackや高速再送処理が見られる場合には、自動的に短くなるよう設定されてもよい。   In the present embodiment, it is determined whether or not a packet retransmission request generated during a predetermined monitoring time (for example, 1 minute) is equal to or greater than a predetermined reference (for example, 5). “1” may be set as the predetermined reference. In VPN, since all packets flowing through VPN are encapsulated, a specific packet can be detected by referring to the contents of the packet. By limiting the types of packets to be detected to specific packets, packet transfer delay (latency) associated with packet detection processing can be suppressed. In this embodiment, a retransmission request packet is detected from a received packet, and a transmission algorithm change instruction is transmitted when the number of retransmission requests detected within a predetermined monitoring time is equal to or greater than a predetermined reference. However, the detected packet may be a packet transmitted when a delay occurs, and is not limited to a retransmission request packet. Note that the monitoring time may be set to be automatically shortened when TCP suck or high-speed retransmission processing is observed.

ステップS308およびステップS309では、アルゴリズムの変更指示が受信され、送信アルゴリズムが変更される。VPNゲートウェイ1aの送受信部11は、VPNゲートウェイ1bによって送信されたアルゴリズムの変更指示を受信する(ステップS308)。VPNゲートウェイ1aの優先度設定部19は、変更指示が受信されたことを受けて、VPNパケットの送信アルゴリズムを、データ到着順序の不整合がより発生しにくいアルゴリズムへ変更する(ステップS309)。   In step S308 and step S309, an instruction to change the algorithm is received, and the transmission algorithm is changed. The transmission / reception unit 11 of the VPN gateway 1a receives the algorithm change instruction transmitted by the VPN gateway 1b (step S308). Upon receiving the change instruction, the priority setting unit 19 of the VPN gateway 1a changes the VPN packet transmission algorithm to an algorithm in which data arrival order mismatch is less likely to occur (step S309).

例えば、VPNゲートウェイ1aの優先度設定部19は、上記説明した重み付けラウンドロビンにおいて参照されるVPNトンネル構成テーブルを変更することで、VPNパケットの送信アルゴリズムを、データ到着順序の不整合がより発生しにくいアルゴリズムへ変更することが出来る。VPNトンネル構成テーブルを変更する方法としては、例えば、最も遅いコネクションまたは所定の閾値よりも遅いコネクションを除外して、重み付けを
再構成する方法等がある。コネクションの除外および重み付けの再構成については、ステップS207において説明した処理と同様であるため、説明を省略する。また、通知を受信したVPNゲートウェイ1aは、VPNパケットの送信アルゴリズムの変更として、MSS(Maximum Segment Size)またはMTU(Maximum Transmission Unit)の変更を行うこととしてもよい。
For example, the priority setting unit 19 of the VPN gateway 1a changes the VPN tunnel configuration table referred to in the above-described weighted round robin, thereby causing the VPN packet transmission algorithm to be more inconsistent in the data arrival order. It can be changed to a difficult algorithm. As a method for changing the VPN tunnel configuration table, there is, for example, a method of excluding the slowest connection or a connection slower than a predetermined threshold and reconfiguring the weight. Since connection exclusion and weight reconfiguration are the same as the processing described in step S207, description thereof is omitted. The VPN gateway 1a that has received the notification may change MSS (Maximum Segment Size) or MTU (Maximum Transmission Unit) as a change in the VPN packet transmission algorithm.

<システム構成のバリエーション>
なお、本実施形態では、VPNコネクションがVPNゲートウェイ間で確立され、VPNゲートウェイ配下のネットワーク間の通信がVPNを介して行われるVPNシステムについて説明した。但し、本発明は、端末間でVPNコネクションが確立されて端末間の通信がVPNを介して行われるVPNシステムや、端末とVPNゲートウェイとの間でVPNコネクションが確立されて端末とVPNゲートウェイ配下のネットワークとの間の通信がVPNを介して行われるVPNシステムに適用されてもよい。
<System configuration variations>
In the present embodiment, the VPN system has been described in which a VPN connection is established between VPN gateways and communication between networks under the VPN gateway is performed via the VPN. However, according to the present invention, a VPN connection is established between terminals and communication between the terminals is performed via the VPN, or a VPN connection is established between the terminal and the VPN gateway so that the terminal and the VPN gateway are under control. The present invention may be applied to a VPN system in which communication with a network is performed via VPN.

VPNコネクションの一旦が端末である場合、端末の送受信部は、ネットワークを介して接続されたVPNコネクションの相手側装置(VPNゲートウェイまたは端末)との間で、カプセル化処理されたVPNパケットを送受信する。また、端末のVPN処理部は、自装置から送信されるパケットをカプセル化するカプセル化処理と、VPNコネクションの相手側装置から受信されたVPNパケット(カプセル化パケット)から、カプセル化処理前のパケットを取り出すパケット取出処理と、を実行する。   When the VPN connection is once a terminal, the transmission / reception unit of the terminal transmits / receives the encapsulated VPN packet to / from a partner apparatus (VPN gateway or terminal) of the VPN connection connected via the network. . Further, the VPN processing unit of the terminal encapsulates the packet transmitted from the own device, and the packet before the encapsulation processing from the VPN packet (encapsulated packet) received from the partner device of the VPN connection. And a packet extraction process for extracting.

1a、1b VPNゲートウェイ
11 送受信部
12 VPN処理部
13 情報取得部
14 コネクション確立部
15 情報交換部
16 経路特定部
17 通信速度計測部
18 利用適否判断部
19 優先度設定部
20 シーケンス付加部
DESCRIPTION OF SYMBOLS 1a, 1b VPN gateway 11 Transmission / reception part 12 VPN process part 13 Information acquisition part 14 Connection establishment part 15 Information exchange part 16 Path | route identification part 17 Communication speed measurement part 18 Use appropriateness judgment part 19 Priority setting part 20 Sequence addition part

Claims (10)

第一の物理回線および第二の物理回線を介してネットワークに接続される情報処理装置であって、
前記第一の物理回線を介して、他の情報処理装置が前記ネットワークに対して有する複数の物理回線の夫々との間で複数の論理コネクションを確立し、更に、前記第二の物理回線を介して、前記他の情報処理装置が有する前記複数の物理回線の夫々との間で複数の論理コネクションを確立する、コネクション確立手段と、
前記コネクション確立手段によって確立された複数の論理コネクションの夫々に対して優先度を設定する優先度設定手段と、
前記複数の論理コネクションを、前記優先度の高い論理コネクションがより多く利用されるような順序で用いて、前記他の情報処理装置に対してデータを送信するデータ送信手段と、
前記データ送信手段によって送信されるデータにシーケンスを付加するシーケンス付加手段と、
前記シーケンスと前記他の情報処理装置におけるデータ到着順序との不整合が所定の条件に合致した場合に前記他の情報処理装置から送信される通知を受信する通知受信手段と、を備え、
前記優先度設定手段は、前記通知が受信されたことを受けて、前記優先度を再設定する、
報処理装置。
An information processing apparatus connected to a network via a first physical line and a second physical line,
Via the first physical line, establish a plurality of logical connections with each of a plurality of physical lines that other information processing apparatuses have to the network, and further via the second physical line. A connection establishment means for establishing a plurality of logical connections with each of the plurality of physical lines of the other information processing apparatus;
Priority setting means for setting a priority for each of a plurality of logical connections established by the connection establishing means ;
Data transmitting means for transmitting the data to the other information processing apparatus by using the plurality of logical connections in an order such that the higher priority logical connections are used more frequently ;
Sequence adding means for adding a sequence to data transmitted by the data transmitting means;
A notification receiving means for receiving a notification transmitted from the other information processing apparatus when a mismatch between the sequence and the data arrival order in the other information processing apparatus meets a predetermined condition;
The priority setting means resets the priority in response to receiving the notification;
Information processing apparatus.
前記複数の論理コネクションの夫々について通信速度を計測する通信速度計測手段を更に備え、
前記優先度設定手段は、前記通信速度に基づいて、前記複数の論理コネクションの夫々に対して優先度を設定する、
請求項1に記載の情報処理装置。
A communication speed measuring means for measuring a communication speed for each of the plurality of logical connections;
The priority setting means sets a priority for each of the plurality of logical connections based on the communication speed;
The information processing apparatus according to claim 1 .
前記論理コネクションの、前記データ送信手段によるデータ送信における利用適否を判断する利用適否判断手段を更に備え、
前記優先度設定手段は、前記複数の論理コネクションのうち、前記利用適否判断手段によって利用に適さないと判断された論理コネクションを除く論理コネクションの夫々に対して優先度を設定する、
請求項1または2に記載の情報処理装置。
The logical connection further comprises use propriety judging means for judging suitability for use in data transmission by the data sending means,
The priority setting means sets a priority for each of the plurality of logical connections excluding the logical connection determined to be unsuitable for use by the use suitability determining means;
The information processing apparatus according to claim 1 or 2 .
該情報処理装置および前記他の情報処理装置が有する物理回線の回線情報を取得する回線情報取得手段と、
前記回線情報に基づいて、前記論理コネクションの確立に用いることが可能な経路として、前記第一の物理回線を介した、他の情報処理装置が有する前記複数の物理回線の夫々との間の複数の経路、および前記第二の物理回線を介した、前記他の情報処理装置が有する前記複数の物理回線の夫々との間の複数の経路と、を特定する経路特定手段と、を更に備え、
前記コネクション確立手段は、前記経路特定手段によって特定された経路において、前記論理コネクションを確立する、
請求項1から3の何れか一項に記載の情報処理装置。
Line information acquisition means for acquiring line information of physical lines of the information processing apparatus and the other information processing apparatus;
Based on the line information, as a path that can be used for establishing the logical connection, a plurality of paths between each of the plurality of physical lines that the other information processing apparatus has via the first physical line And a plurality of paths between each of the plurality of physical lines possessed by the other information processing apparatus via the second physical line, and a path specifying means for specifying the path,
The connection establishing means establishes the logical connection in the route specified by the route specifying means;
The information processing apparatus according to any one of claims 1 to 3 .
前記コネクション確立手段によって少なくとも1つの論理コネクションが確立された後、確立された論理コネクションを介して該情報処理装置および前記他の情報処理装置が有する物理回線の回線情報を交換する回線情報交換手段を更に備え、
前記経路特定手段は、前記回線情報取得手段によって取得された回線情報および前記回線情報交換手段によって交換された回線情報に基づいて前記経路を特定する、
請求項4に記載の情報処理装置。
Line information exchanging means for exchanging line information of physical lines of the information processing apparatus and the other information processing apparatus via the established logical connection after at least one logical connection is established by the connection establishing means; In addition,
The route specifying means specifies the route based on the line information acquired by the line information acquisition means and the line information exchanged by the line information exchange means;
The information processing apparatus according to claim 4 .
前記情報処理装置は、管理下のネットワークと、他のゲートウェイ装置の管理下のネットワークとの間の通信を仲介するゲートウェイ装置であり、
前記管理下のネットワークに属する送信元端末から送信されたパケットを受信する受信手段と、
前記受信手段によって受信されたパケットに、前記他のゲートウェイ装置へパケットを転送するための情報を付加することでカプセル化するカプセル化手段と、
を更に備え、
前記データ送信手段は、前記カプセル化手段によってカプセル化されたパケットを、前記他のゲートウェイ装置に送信する、
請求項1から5の何れか一項に記載の情報処理装置。
The information processing device is a gateway device that mediates communication between a managed network and a network managed by another gateway device,
Receiving means for receiving a packet transmitted from a transmission source terminal belonging to the managed network;
Encapsulating means for encapsulating the packet received by the receiving means by adding information for transferring the packet to the other gateway device;
Further comprising
The data transmission means transmits the packet encapsulated by the encapsulation means to the other gateway device.
The information processing apparatus according to any one of claims 1 to 5 .
第一の物理回線および第二の物理回線を介してネットワークに接続されるコンピュータが、
前記第一の物理回線を介して、他のコンピュータが前記ネットワークに対して有する複数の物理回線の夫々との間で複数の論理コネクションを確立し、更に、前記第二の物理回線を介して、前記他のコンピュータが有する前記複数の物理回線の夫々との間で複数の論理コネクションを確立する、コネクション確立ステップと、
前記コネクション確立ステップにおいて確立された複数の論理コネクションの夫々に対して優先度を設定する優先度設定ステップと、
前記複数の論理コネクションを、前記優先度の高い論理コネクションがより多く利用されるような順序で用いて、前記他のコンピュータに対してデータを送信するデータ送信ステップと、
前記データ送信ステップで送信されるデータにシーケンスを付加するシーケンス付加ステップと、
前記シーケンスと前記他のコンピュータにおけるデータ到着順序との不整合が所定の条件に合致した場合に前記他のコンピュータから送信される通知を受信する通知受信ステップと、を実行し、
前記優先度設定ステップでは、前記通知が受信されたことを受けて、前記優先度が再設定される、
信方法。
A computer connected to the network via the first physical line and the second physical line,
Through the first physical line, establish a plurality of logical connections with each of a plurality of physical lines that other computers have to the network, and further, via the second physical line, Establishing a plurality of logical connections with each of the plurality of physical lines of the other computer; and
A priority setting step for setting a priority for each of the plurality of logical connections established in the connection establishing step ;
A data transmission step of transmitting data to the other computer using the plurality of logical connections in an order such that the higher priority logical connections are used more frequently ;
A sequence addition step of adding a sequence to the data transmitted in the data transmission step;
A notification receiving step of receiving a notification transmitted from the other computer when a mismatch between the sequence and the data arrival order in the other computer matches a predetermined condition;
In the priority setting step, upon receiving the notification, the priority is reset.
Communication method.
前記コンピュータが、  The computer is
該コンピュータおよび前記他のコンピュータが有する物理回線の回線情報を取得する回線情報取得ステップと、  A line information acquisition step of acquiring line information of physical lines of the computer and the other computer;
前記回線情報に基づいて、前記論理コネクションの確立に用いることが可能な経路として、前記第一の物理回線を介した、他のコンピュータが有する前記複数の物理回線の夫々との間の複数の経路、および前記第二の物理回線を介した、前記他のコンピュータが有する前記複数の物理回線の夫々との間の複数の経路と、を特定する経路特定ステップと、を更に実行し、  A plurality of paths between each of the plurality of physical lines possessed by another computer via the first physical line as paths that can be used for establishing the logical connection based on the line information. And a path specifying step for specifying a plurality of paths between each of the plurality of physical lines of the other computer via the second physical line, and
前記コネクション確立ステップでは、前記経路特定ステップで特定された経路において、前記論理コネクションが確立される、  In the connection establishing step, the logical connection is established in the route specified in the route specifying step.
請求項7に記載の通信方法。  The communication method according to claim 7.
第一の物理回線および第二の物理回線を介してネットワークに接続されるコンピュータに、
前記第一の物理回線を介して、他のコンピュータが前記ネットワークに対して有する複数の物理回線の夫々との間で複数の論理コネクションを確立し、更に、前記第二の物理回線を介して、前記他のコンピュータが有する前記複数の物理回線の夫々との間で複数の論理コネクションを確立する、コネクション確立ステップと、
前記コネクション確立ステップにおいて確立された複数の論理コネクションの夫々に対して優先度を設定する優先度設定ステップと、
前記複数の論理コネクションを、前記優先度の高い論理コネクションがより多く利用されるような順序で用いて、前記他のコンピュータに対してデータを送信するデータ送信ステップと、
前記データ送信ステップで送信されるデータにシーケンスを付加するシーケンス付加ステップと、
前記シーケンスと前記他のコンピュータにおけるデータ到着順序との不整合が所定の条件に合致した場合に前記他のコンピュータから送信される通知を受信する通知受信ステップと、を実行させ、
前記優先度設定ステップでは、前記通知が受信されたことを受けて、前記優先度が再設定される、
信用プログラム。
To a computer connected to the network via the first physical line and the second physical line,
Through the first physical line, establish a plurality of logical connections with each of a plurality of physical lines that other computers have to the network, and further, via the second physical line, Establishing a plurality of logical connections with each of the plurality of physical lines of the other computer; and
A priority setting step for setting a priority for each of the plurality of logical connections established in the connection establishing step ;
A data transmission step of transmitting data to the other computer using the plurality of logical connections in an order such that the higher priority logical connections are used more frequently ;
A sequence addition step of adding a sequence to the data transmitted in the data transmission step;
A notification receiving step of receiving a notification transmitted from the other computer when an inconsistency between the sequence and the data arrival order in the other computer meets a predetermined condition;
In the priority setting step, upon receiving the notification, the priority is reset.
Through credit program.
前記コンピュータに、  In the computer,
該コンピュータおよび前記他のコンピュータが有する物理回線の回線情報を取得する回線情報取得ステップと、  A line information acquisition step of acquiring line information of physical lines of the computer and the other computer;
前記回線情報に基づいて、前記論理コネクションの確立に用いることが可能な経路として、前記第一の物理回線を介した、他のコンピュータが有する前記複数の物理回線の夫々との間の複数の経路、および前記第二の物理回線を介した、前記他のコンピュータが有する前記複数の物理回線の夫々との間の複数の経路と、を特定する経路特定ステップと、を更に実行させ、  A plurality of paths between each of the plurality of physical lines possessed by another computer via the first physical line as paths that can be used for establishing the logical connection based on the line information. And a path specifying step for specifying a plurality of paths between each of the plurality of physical lines of the other computer via the second physical line, and
前記コネクション確立ステップでは、前記経路特定ステップで特定された経路において、前記論理コネクションが確立される、  In the connection establishing step, the logical connection is established in the route specified in the route specifying step.
請求項9に記載の通信用プログラム。  The program for communication according to claim 9.
JP2010237675A 2010-10-22 2010-10-22 Information processing apparatus, communication method, and communication program Active JP5605728B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010237675A JP5605728B2 (en) 2010-10-22 2010-10-22 Information processing apparatus, communication method, and communication program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010237675A JP5605728B2 (en) 2010-10-22 2010-10-22 Information processing apparatus, communication method, and communication program

Publications (2)

Publication Number Publication Date
JP2012090241A JP2012090241A (en) 2012-05-10
JP5605728B2 true JP5605728B2 (en) 2014-10-15

Family

ID=46261339

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010237675A Active JP5605728B2 (en) 2010-10-22 2010-10-22 Information processing apparatus, communication method, and communication program

Country Status (1)

Country Link
JP (1) JP5605728B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210130231A (en) * 2019-03-12 2021-10-29 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. Transmitter and Receiver, Serializer and Deserializer and Transmit and Receive, Serialization and Deserialization Method

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001223744A (en) * 2000-02-09 2001-08-17 Nec Corp System and method for designing route
JP4305091B2 (en) * 2003-08-05 2009-07-29 日本電気株式会社 Multihoming load balancing method and apparatus
JP2006067040A (en) * 2004-08-25 2006-03-09 Hitachi Communication Technologies Ltd Interface converting device and protection system
JP4839428B2 (en) * 2006-02-03 2011-12-21 株式会社インテック Multi-home connection method and apparatus
JP4765892B2 (en) * 2006-10-25 2011-09-07 株式会社日立製作所 Data transmission method, data transmission apparatus, and data transmission system for performing multilink bundle control

Also Published As

Publication number Publication date
JP2012090241A (en) 2012-05-10

Similar Documents

Publication Publication Date Title
US10728094B2 (en) Control traffic in software defined networks
CN111886833B (en) Method for redirecting control channel messages and device for implementing the method
JP6452181B2 (en) Load balancing internet protocol security tunnel
EP3154227B1 (en) Packet transmission method, node, path management server and storage medium
RU2526719C2 (en) Network system and network redundancy method
JP6473688B2 (en) Data stream splitting to increase data transfer rate
US20140068045A1 (en) Network system and virtual node migration method
JP2017537547A (en) Stateful load balancing in stateless networks
CN104539531A (en) Data transmission method and device
JP2017529713A (en) Computer network packet flow controller
JP6350839B2 (en) Network relay device, gateway redundancy system, program, and redundancy method
CN104052684A (en) Dynamic maximum transmission unit size adaption
WO2016081171A1 (en) Systems and methods for dynamic connection paths for devices connected to computer networks
US10581669B2 (en) Restoring control-plane connectivity with a network management entity
CN107770027B (en) Implementation method for providing GRE tunnel service based on OpenStack architecture
CN112910704B (en) Local area network system, method and device supporting dynamic self-adaptive network configuration
KR20150033681A (en) Method and system to enable re-routing for home networks upon connectivity failure
US9560174B2 (en) Network routing overlay
WO2015151442A1 (en) Communication system, communication method, and control device
CN102946350A (en) Priority-based data transmission method and device
JP5605728B2 (en) Information processing apparatus, communication method, and communication program
JP2009055418A (en) Communicating system, relay device, terminal, relay processing method, and its program
JP2008072521A (en) Equipment, method and program for communication
JP2016162324A (en) Information processing system, control program and control method
Seggelmann Sctp: Strategies to secure end-to-end communication

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20130821

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20130821

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131003

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140411

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140422

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140620

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: 20140730

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140815

R150 Certificate of patent or registration of utility model

Ref document number: 5605728

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250