JP5605728B2 - Information processing apparatus, communication method, and communication program - Google Patents
Information processing apparatus, communication method, and communication program Download PDFInfo
- 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
Links
- 238000004891 communication Methods 0.000 title claims description 55
- 230000010365 information processing Effects 0.000 title claims description 55
- 238000000034 method Methods 0.000 title claims description 50
- 230000005540 biological transmission Effects 0.000 claims description 75
- 230000004044 response Effects 0.000 claims description 9
- 238000005538 encapsulation Methods 0.000 claims description 3
- 238000012545 processing Methods 0.000 description 45
- 230000008569 process Effects 0.000 description 29
- 241001522296 Erithacus rubecula Species 0.000 description 13
- 238000005259 measurement Methods 0.000 description 12
- 238000012546 transfer Methods 0.000 description 12
- 230000008859 change Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 9
- 238000012544 monitoring process Methods 0.000 description 7
- 238000012790 confirmation Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000007717 exclusion Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000001404 mediated effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 230000005641 tunneling Effects 0.000 description 1
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).
従来、ネットワークの可用性(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システムの実施の形態について、図面に基づいて説明する。なお、以下に説明する実施の形態は、本発明を実施する一例を示すものであって、本発明を以下に説明する具体的構成に限定するものではない。本発明を実施するにあたっては、実施の形態に応じた具体的構成が適宜採用されることが好ましい。
<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ゲートウェイの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ゲートウェイ1a、1bは、管理下のネットワークと、他のVPNゲートウェイ
(本実施形態では、VPNゲートウェイ1a、1bの何れか)の管理下のネットワークとの間の通信を仲介するVPNゲートウェイ装置である。VPNゲートウェイ1a、1bは、自己のLAN側ネットワークインターフェースに接続されたプライベートネットワークから送信された、他のVPNゲートウェイ1a、1bのLAN側ネットワークインターフェースに接続されたプライベートネットワーク宛のパケットを暗号化し、ヘッダや認証データ等を付す等してカプセリングすることで、複数のプライベートネットワーク間の通信を秘匿化し、仮想的なトンネルを構築する。このようにして複数のプライベートネットワーク間の通信がトンネリングされることで、VPNが構築される。
The
図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
また、端末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ゲートウェイ1a、1bに設定されているデフォルトゲートウェイは、一般にはインターネットへの接続を提供するISP(Internet Service Provider)のルータである。即ち、VPNゲートウェイ1a、1bは、LAN側ネットワークインターフェースで受信したパケットのうち、VPNに送出されるパケット以外のパケットについては、原則としてISPのルータへ送信する。
The default gateway set in the
図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
送受信部11は、VPNゲートウェイ1a、1bの管理下のプライベートネットワーク、換言すれば、VPNゲートウェイ1a、1bのLAN側ネットワークインターフェースに接続されたネットワークに属する端末2a、2bとの間でパケットを送受信し、また、ネットワーク9を介して接続された他のVPNゲートウェイ1a、1bとの間で、VPN処理部12によってカプセル化処理されたVPNパケット(ユーザデータ)およびコントロールデータを送受信する。
The transmission /
VPN処理部12は、管理下のプライベートネットワークから受信されたパケットに、他のVPNゲートウェイ1a、1bへパケットを転送するための情報を付加することでカプセル化するカプセル化処理と、VPNコネクションの接続相手側のVPNゲートウェイ1b、1aから受信されたVPNパケット(カプセル化パケット)から、転送のための情報が付加される前(カプセル化前)のパケットを取り出すパケット取出処理と、を実行する。
The
図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
図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
ステップ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
なお、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
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 (
ステップ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
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
ステップ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
ステップ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
利用可能なパス数 = (VPNゲートウェイ1aが有するVPN利用可能な物理回線の数) * (VPNゲートウェイ1bが有するVPN利用可能な物理回線の数)
Number of paths that can be used = (Number of physical lines that can be used by VPN of
図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
ステップ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
図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システムによれば、このような複数の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
図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
なお、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
ステップ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
ステップ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
なお、通信速度が使用に適さない速度を示す閾値よりも遅い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ゲートウェイ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コネクションに予め重み付け(優先度設定)がなされ、重み(優先度)の大きい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 /
例えば、データ送信に用いられるスロットは、以下のような順序で各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)
(2)
(3)
(4) Return to
ステップ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コネクション(回線状況の確認に失敗した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
ステップ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
更に、優先度設定部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
ステップ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
即ち、本フローチャートに示されたデータ送信処理によれば、回線状況の悪い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
ステップ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
ステップS303からステップS306では、データ受信側のVPNゲートウェイ1bにおいて、VPNパケットの受信、カプセル化解除、シーケンス整合、およびパケットの転送が行われる。VPNパケットを受信したVPNゲートウェイ1bは、受信されたVPNパケットから、カプセル化される前のパケットを取り出す(ステップS303およびステップS304)。ここで、VPNゲートウェイ1bは、所定のバッファ時間シーケンスを整える(ステップS305)。即ち、VPNゲートウェイ1bは、受信したユーザデータのシーケンスが実際の受信順序と一致している場合にはそのまま処理するが、シーケンスが飛んでいる場合には、受信パケットを転送せずに、シーケンスが飛んで受信されたパケットの受信時間から所定のバッファ時間(例えば、20ミリ秒)保留し、その時間内にシーケンスが一致するデータが到着すれば、シーケンスを整えて、シーケンスに示された順に転送する。
In steps S303 to S306, the
ここで、所定のバッファ時間には、エンド−エンド間におけるパケットの送受信で許容できる程度の遅延のみを与える時間が設定される。エンド−エンド間におけるパケットの送受信で許容できる遅延の程度は、パケットに含まれるデータを用いる上位プロトコルやアプリケーションによっても異なるため、この所定のバッファ時間は、上位プロトコルやアプリケーションに応じて設定されてもよい。本実施形態では、ここで設定されるバッファ時間は、ステップ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コネクションの到達時間が、後に使用される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
ステップ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 /
本実施形態では、所定の監視時間(例えば、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 /
例えば、VPNゲートウェイ1aの優先度設定部19は、上記説明した重み付けラウンドロビンにおいて参照されるVPNトンネル構成テーブルを変更することで、VPNパケットの送信アルゴリズムを、データ到着順序の不整合がより発生しにくいアルゴリズムへ変更することが出来る。VPNトンネル構成テーブルを変更する方法としては、例えば、最も遅いコネクションまたは所定の閾値よりも遅いコネクションを除外して、重み付けを
再構成する方法等がある。コネクションの除外および重み付けの再構成については、ステップS207において説明した処理と同様であるため、説明を省略する。また、通知を受信したVPNゲートウェイ1aは、VPNパケットの送信アルゴリズムの変更として、MSS(Maximum Segment Size)またはMTU(Maximum Transmission Unit)の変更を行うこととしてもよい。
For example, the
<システム構成のバリエーション>
なお、本実施形態では、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
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 .
前記経路特定手段は、前記回線情報取得手段によって取得された回線情報および前記回線情報交換手段によって交換された回線情報に基づいて前記経路を特定する、
請求項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.
該コンピュータおよび前記他のコンピュータが有する物理回線の回線情報を取得する回線情報取得ステップと、 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.
該コンピュータおよび前記他のコンピュータが有する物理回線の回線情報を取得する回線情報取得ステップと、 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.
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)
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)
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 |
-
2010
- 2010-10-22 JP JP2010237675A patent/JP5605728B2/en active Active
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 |