JP2011239277A - Vpn apparatus, vpn networking method, program, and storage medium - Google Patents

Vpn apparatus, vpn networking method, program, and storage medium Download PDF

Info

Publication number
JP2011239277A
JP2011239277A JP2010110179A JP2010110179A JP2011239277A JP 2011239277 A JP2011239277 A JP 2011239277A JP 2010110179 A JP2010110179 A JP 2010110179A JP 2010110179 A JP2010110179 A JP 2010110179A JP 2011239277 A JP2011239277 A JP 2011239277A
Authority
JP
Japan
Prior art keywords
vpn
data
communication data
communication
protocol
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.)
Withdrawn
Application number
JP2010110179A
Other languages
Japanese (ja)
Inventor
Akira Miyajima
晃 宮嶋
Koichi Hayata
弘一 早田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Original Assignee
Panasonic Corp
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 Panasonic Corp filed Critical Panasonic Corp
Priority to JP2010110179A priority Critical patent/JP2011239277A/en
Publication of JP2011239277A publication Critical patent/JP2011239277A/en
Withdrawn legal-status Critical Current

Links

Images

Abstract

PROBLEM TO BE SOLVED: To provide a VPN apparatus that can minimize communication delay and/or communication failure with respect to bursty packet generation at the establishment of VPN communication path between a plurality of VPN apparatuses.SOLUTION: There is provided a VPN apparatus such as a VPN apparatus 101. The VPN apparatus 101 communicates with another VPN apparatus 301 over a VPN established between the two apparatuses and between a network 100 and a network 300, and starts transmitting communication data to the VPN 301 through a call control server 202 before the VPN is established. The VPN apparatus 101 specifies, for a priority mode, a TCP mode in which TCP data transmission is made priority or a UDP mode in which UDP data transmission is made priority. The VPN apparatus 101 determines whether a protocol type of communication data to be transmitted is UDP or TCP, and transmits the communication data or restricts the transmission of the communication data depending on whether or not the determined protocol type of the communication data is a protocol type specified for the priority mode.

Description

本発明は、ネットワーク通信において通信相手の固定された専用通信回線(専用線)の代わりに、多数の加入者で帯域を共用する通信網を利用してネットワーク間などを接続するVPN(Virtual Private Network:仮想プライベートネットワーク)技術におけるVPN装置、VPNネットワーキング方法、プログラム、及び記憶媒体に関するものである。   The present invention provides a VPN (Virtual Private Network) for connecting between networks using a communication network in which a large number of subscribers share a band instead of a dedicated communication line (dedicated line) to which a communication partner is fixed in network communication. : Virtual private network) VPN device, VPN networking method, program, and storage medium.

仮想プライベートネットワーク(以下、VPNと記載する)は、たとえば、企業内等の2以上の拠点のローカルエリアネットワーク(LAN)相互間などのような、一般に、異なるネットワークセグメントを、広域ネットワーク(WAN)などを介して互いに接続する。そして、通信の秘匿性を担保することで、仮想的に全体が1つのプライベートネットワーク(専用線)であるように構成する。これにより、専用線を利用する場合と同様の通信サービスを可能にする。   A virtual private network (hereinafter referred to as a VPN) is generally a network segment of a different network segment, such as a local area network (LAN) between two or more bases in a company or the like. Connect to each other via And it is comprised so that the whole may be one private network (private line) virtually by ensuring the secrecy of communication. This enables a communication service similar to that used when a dedicated line is used.

このようなVPNは、インターネット等のWANや公衆回線網を利用して構築するいわゆるインターネットVPNと、通信事業者閉域網などのインターネット等とは異なる通信網を使用して構築するIP−VPNと、に大別される。特に、インターネットVPNは、昨今のネットワークインフラのブロードバンド化と、インターネットを利用することで安価にVPNを構築可能であるために、利用者が増加している。   Such a VPN includes a so-called Internet VPN constructed using a WAN such as the Internet or a public line network, and an IP-VPN constructed using a communication network different from the Internet such as a carrier closed network, It is divided roughly into. In particular, the number of users of the Internet VPN is increasing because it is possible to construct a VPN at a low cost by using a broadband network infrastructure and using the Internet.

VPNを構築するにあたり、例えば異なる拠点間で通信を行う場合に、通信経路の途中にインターネット等の共用の通信網が介在するので、通信の漏洩、盗聴、改竄などの危険性がある。そこで、VPN技術においては、通信の秘匿性を担保するために、ネットワークのいずれかの階層において、データを暗号化しカプセリングすることを基本的な技術思想としている。ここで、ある通信プロトコルを他の通信プロトコルのパケットで包んで送ることを「カプセル化(カプセリング)」という。   In constructing a VPN, for example, when communication is performed between different bases, there is a risk of communication leakage, wiretapping, tampering and the like because a shared communication network such as the Internet is interposed in the middle of the communication path. Therefore, in the VPN technology, in order to ensure the confidentiality of communication, the basic technical idea is to encrypt and encapsulate data in any layer of the network. Here, wrapping a communication protocol in packets of another communication protocol and sending it is called “encapsulation”.

VPN技術で用いられる暗号化プロトコルの具体例としては、IP(Internet Protocol)層で暗号化を施すIPsec(Security Architecture for Internet Protocol)や、TCP(Transmission Control Protocol)層(特にHTTP:Hyper Text Transfer Protocolで使用)で暗号化を施すSSL(Secure Sockets Layer)などが知られている。また、他のVPN技術の例として、SSH、TLS、SoftEther、PPTP、L2TP、L2F、MPLSなどが知られている。ソフトウェアによってVPNを構築するソフトウェアVPNでは、上記のIPsecやSSLを使用したトンネリング技術を使用する。ここで、ある通信プロトコルを、同じまたはより上位の階層のプロトコルのデータとして通信することを「トンネリング」という。VPNを構築する場合は、ネットワークの中継装置または通信を行う端末等(以降、これらを「ピア」とも称する)に設けたVPN装置によって、パケットを暗号化及びカプセル化して仮想トンネルを構築する。これにより、ピア間を結ぶ閉じられた通信経路を確立する。   Specific examples of encryption protocols used in the VPN technology include IPsec (Security Architecture for Internet Protocol) that performs encryption in the IP (Internet Protocol) layer, TCP (Transmission Control Protocol) layer (particularly HTTP: Hyper Text Transfer Protocol). SSL (Secure Sockets Layer), etc., which performs encryption in a known manner. In addition, as examples of other VPN technologies, SSH, TLS, SoftEther, PPTP, L2TP, L2F, MPLS, and the like are known. The software VPN that constructs the VPN by software uses the tunneling technology using the above-described IPsec or SSL. Here, communicating a certain communication protocol as data of the same or higher layer protocol is referred to as “tunneling”. When constructing a VPN, a virtual tunnel is constructed by encrypting and encapsulating a packet by a VPN device provided in a network relay device or a communication terminal or the like (hereinafter also referred to as “peer”). This establishes a closed communication path connecting the peers.

例えば、ネットワーク間を相互接続する技術として、リバーストンネル技術を用いて通信路を構築し、通信路を維持するために通信路維持データを送信し、さらに、通信漏洩等を防止するために電子署名や暗号化を施すものが提案されている(例えば、特許文献1参照)。この特許文献1では、外部ネットワーク内の外部ホストがファイアウォールを越えて内部ネットワーク内の内部ホストとの間でトンネルを構築して通信を行うために、トンネルを維持するのに必要なタイミングに応じて前記トンネルを維持するための通信路維持データを送信する送信手段と、通信路維持データの中に電子署名を施す電子署名手段とを設けている。   For example, as a technology for interconnecting networks, a reverse tunnel technology is used to construct a communication path, transmission of the communication path maintenance data to maintain the communication path, and electronic signatures to prevent communication leakage, etc. And those that perform encryption have been proposed (see, for example, Patent Document 1). In this patent document 1, in order for an external host in an external network to establish a tunnel and communicate with an internal host in an internal network across a firewall, according to the timing required to maintain the tunnel. Transmission means for transmitting communication path maintenance data for maintaining the tunnel and electronic signature means for applying an electronic signature to the communication path maintenance data are provided.

特開2008−160497号公報JP 2008-160497 A

ところで、複数のVPN装置を用いてVPNの通信経路を確立する際には、いずれかのVPN装置が希望する通信先のVPN装置へ接続要求を送信する。接続要求を受信したVPN装置は、この接続要求に対する接続応答を送信元のVPN装置へ送信する。そして、互いのVPN装置間でVPN通信が可能であればVPN通信経路が確立され、以降、VPNによる通信データの送受信が可能になる。   By the way, when establishing a VPN communication path using a plurality of VPN devices, one of the VPN devices transmits a connection request to the desired VPN device. The VPN device that has received the connection request transmits a connection response to the connection request to the source VPN device. If VPN communication is possible between the VPN devices, a VPN communication path is established, and thereafter, communication data can be transmitted and received by VPN.

ここで、VPN装置が行うVPN通信の通信形式としては、TCP(Transmission Control Protocol)プロトコルによる通信(以下、TCP通信という)及びUDP(User Datagram Protocol)プロトコルによる通信(以下、UDP通信という)がある。TCP通信は、コネクション型の通信形式であり、信頼性が高く、データ通信が保障されているが、リアルタイム性をあまり必要としない通信形態である。一方、UDP通信は、コネクションレス型の通信形式であり、リアルタイム性が高い通信に用いられるが、データ通信が保障されておらず、信頼性の低い通信形態である。   Here, as a communication format of VPN communication performed by the VPN apparatus, there are communication using a TCP (Transmission Control Protocol) protocol (hereinafter referred to as TCP communication) and communication using a UDP (User Datagram Protocol) protocol (hereinafter referred to as UDP communication). . TCP communication is a connection-type communication format, which is highly reliable and ensures data communication, but does not require real-time characteristics. On the other hand, UDP communication is a connectionless communication format and is used for communication with high real-time properties, but data communication is not guaranteed and is a communication mode with low reliability.

また、TCP通信ではTCPパケット(TCPデータ)が送受信され、UDP通信ではUDPパケット(UDPデータ)が送受信される。TCPデータは、主にデータ通信用のデータ、制御用のデータ等の高い信頼性が必要とされるデータに用いられ、UDPデータは、主に画像通信用のデータ、音声通信用のデータ等のリアルタイム性が必要とされるデータに用いられる。これらのデータは、同時に送受信されることもある。一般的に何らかのデータを送信しようとするときに、これらのデータがバースト的に送受信されると、VPN装置、VPNシステムの負荷が一時的に増大し、通信遅延、通信障害などが発生することがある。したがって、このような障害の発生をなるべく回避するために、これらのデータがバースト的に送信される処理形態では、送受信すべきデータの種別を考慮して送受信すべきデータの優先順位を決定することが好ましい。   In TCP communication, a TCP packet (TCP data) is transmitted and received, and in UDP communication, a UDP packet (UDP data) is transmitted and received. TCP data is mainly used for data that requires high reliability, such as data for data communication and control data, and UDP data is mainly used for data for image communication, data for voice communication, etc. Used for data that requires real-time performance. These data may be transmitted and received at the same time. In general, when data is transmitted and received in bursts when trying to transmit some data, the load on the VPN device or VPN system temporarily increases, resulting in communication delay, communication failure, etc. is there. Therefore, in order to avoid such a failure as much as possible, in the processing mode in which these data are transmitted in bursts, the priority order of the data to be transmitted / received is determined in consideration of the type of data to be transmitted / received. Is preferred.

さらに、TCP通信では多くの場合はリアルタイム性を要しないが、例えば動画のストリーミングを行う場合には、大容量のTCPデータをリアルタイム性を確保した上で受信する必要があると考えられる。このような場合には、一義的にデータ種別のみに応じて送受信すべきデータの優先順位を決定しないことが好ましい。   Furthermore, in many cases, the TCP communication does not require real-time property. However, for example, when streaming a moving image, it is considered necessary to receive a large amount of TCP data while ensuring the real-time property. In such a case, it is preferable not to determine the priority order of data to be transmitted / received according to only the data type.

本発明は、上記事情に鑑みてなされたものであって、複数のVPN装置間でVPN通信経路を確立する際に発生するバースト的なパケットに対して、通信遅延、通信障害の発生を最小限に留めることが可能なVPN装置、VPNネットワーキング方法、プログラム、及び記憶媒体を提供することを目的とする。   The present invention has been made in view of the above circumstances, and minimizes the occurrence of communication delay and communication failure for bursty packets generated when establishing a VPN communication path between a plurality of VPN devices. An object of the present invention is to provide a VPN device, a VPN networking method, a program, and a storage medium.

本発明のVPN装置は、ネットワーク上で、他のVPN装置との間で仮想プライベートネットワークを構築してVPN通信を行うVPN装置であって、前記仮想プライベートネットワークが構築される前に、当該VPN装置と前記他のVPN装置との間で呼制御処理を行う呼制御サーバを経由して、通信データを前記他のVPN装置へ送信する通信データ送信部と、前記通信データ送信部により送信される通信データのプロトコル種別が、リアルタイム性を必要とする第1プロトコル、再送制御を行う第2プロトコルのいずれであるかを判定するデータ種別判定部と、前記第1プロトコルの通信データの送信を優先する第1優先モードと、前記第2プロトコルの通信データの送信を優先する第2優先モードと、のいずれかを優先モードとして設定する優先モード設定部と、前記データ種別判定部により判定されたプロトコル種別及び前記優先モード設定部により設定された優先モードで優先されるプロトコル種別が、一致した場合には前記通信データを送信し、一致しない場合には前記通信データの送信を制限するよう、前記通信データ送信部を制御する送信制御部と、を備える。   The VPN apparatus according to the present invention is a VPN apparatus that constructs a virtual private network with another VPN apparatus on the network and performs VPN communication, and before the virtual private network is constructed, the VPN apparatus And a communication data transmission unit that transmits communication data to the other VPN device via a call control server that performs call control processing between the communication data transmission unit and the other VPN device, and a communication that is transmitted by the communication data transmission unit A data type determination unit that determines whether the protocol type of data is a first protocol that requires real-time property or a second protocol that performs retransmission control, and a priority is given to transmission of communication data of the first protocol. One of the first priority mode and the second priority mode that prioritizes transmission of communication data of the second protocol is set as the priority mode. If the protocol type determined by the data type determination unit matches the protocol type prioritized in the priority mode set by the priority mode setting unit, the communication data is transmitted. A transmission control unit that controls the communication data transmission unit so as to limit transmission of the communication data if they do not match.

この構成により、優先的に送信を行うプロトコル種別、実際の通信データのプロトコル種別に応じて、送信を行うか送信制限するかを決定するため、VPN通信経路を確立する際にバースト的に送信要求が発生した場合であっても、優先される通信データについて、呼制御サーバを介して早期に送信を開始することができる。また、優先されない通信データについては送信が制限されるため、呼制御サーバの負荷軽減も実現できる。   With this configuration, in order to determine whether to perform transmission or to restrict transmission according to the protocol type to be preferentially transmitted and the protocol type of actual communication data, a transmission request is transmitted in bursts when establishing a VPN communication path. Even if this occurs, transmission of the priority communication data can be started early via the call control server. Further, since transmission of non-prioritized communication data is restricted, it is possible to reduce the load on the call control server.

また、本発明のVPN装置は、前記データ種別判定部により前記通信データのプロトコルが前記第1プロトコルと判定され、前記優先モード設定部により前記第2優先モードに設定されている場合、前記通信データ送信部により送信される通信データのデータ量を制限するデータ量制限部を備える。   In the VPN apparatus according to the present invention, when the protocol of the communication data is determined as the first protocol by the data type determination unit and the second priority mode is set by the priority mode setting unit, the communication data A data amount restriction unit for restricting the data amount of communication data transmitted by the transmission unit is provided.

この構成により、リアルタイム性を要する第1プロトコルの送信が優先されない第2優先モードであっても、第1プロトコルの通信データを送信する際には、データ量は制限されるがVPN通信経路の確立前に送信を開始することができるため、第1プロトコルの通信データの通信遅延は最小限に抑えることが可能である。   With this configuration, even in the second priority mode in which transmission of the first protocol requiring real time is not prioritized, the amount of data is limited when the communication data of the first protocol is transmitted, but a VPN communication path is established. Since transmission can be started before, communication delay of communication data of the first protocol can be minimized.

また、本発明のVPN装置は、前記データ種別判定部により前記通信データのプロトコルが前記第2プロトコルと判定され、前記優先モード設定部により前記第1優先モードに設定されている場合、前記通信データ送信部により通信データが送信される送信タイミングを制限する送信タイミング制限部を備える。   In the VPN apparatus of the present invention, when the data type determination unit determines that the protocol of the communication data is the second protocol, and the priority mode setting unit sets the first priority mode, the communication data A transmission timing limiting unit that limits a transmission timing at which communication data is transmitted by the transmission unit is provided.

この構成により、再送制御を行う第2プロトコルの送信が優先されない第1優先モードであっても、第2プロトコルの通信データを送信する際には、送信タイミングは制限されるがVPN通信経路の確立前に送信を開始することができるため、第2プロトコルの通信データの通信遅延は最小限に抑えることができる。   With this configuration, even in the first priority mode in which the transmission of the second protocol for performing retransmission control is not prioritized, the transmission timing is limited when the communication data of the second protocol is transmitted, but the VPN communication path is established. Since transmission can be started before, communication delay of communication data of the second protocol can be minimized.

また、本発明のVPN装置は、前記通信データ送信部により送信される通信データを記憶する通信データ記憶部と、前記通信データ記憶部の空き容量を検出する空き容量検出部と、前記データ種別判定部により前記通信データのプロトコルが前記第2プロトコルと判定され、前記優先モード設定部により前記第1優先モードに設定されている場合、かつ、前記空き容量検出部により検出された前記通信データ記憶部の空き容量が所定容量以上である場合、前記通信データを前記通信データ記憶部へ記憶するよう制御する通信データ記憶制御部と、を備える。   The VPN apparatus of the present invention includes a communication data storage unit that stores communication data transmitted by the communication data transmission unit, a free capacity detection unit that detects a free capacity of the communication data storage unit, and the data type determination The communication data storage unit detected by the free capacity detection unit when the protocol of the communication data is determined to be the second protocol by the unit and the first priority mode setting unit sets the first priority mode. A communication data storage control unit that controls to store the communication data in the communication data storage unit when the free space is equal to or greater than a predetermined capacity.

この構成により、第2プロトコルの通信データの送信タイミングが制限された場合であっても、通信データを記憶する所定のバッファに空きがある場合には、通信データを記憶する。したがって、第2プロトコルの通信データの大部分は定期送信又はバッファに記憶しておくことができる。さらに、バッファに記憶されなかった場合であっても、第2プロトコルの再送制御機能により、通信データが欠落することを回避することができる。   With this configuration, even when the transmission timing of the communication data of the second protocol is limited, the communication data is stored when there is an empty space in the predetermined buffer for storing the communication data. Therefore, most of the communication data of the second protocol can be periodically transmitted or stored in a buffer. Furthermore, even if it is not stored in the buffer, it is possible to avoid the loss of communication data by the retransmission control function of the second protocol.

また、本発明のVPNネットワーキング方法は、ネットワーク上で、他のVPN装置との間で仮想プライベートネットワークを構築してVPN通信を行うVPN装置のVPNネットワーキング方法であって、前記仮想プライベートネットワークが構築される前に、当該VPN装置と前記他のVPN装置との間で呼制御処理を行う呼制御サーバを経由して、通信データを前記他のVPN装置へ送信するステップと、送信される通信データのプロトコル種別が、リアルタイム性を必要とする第1プロトコル、再送制御を行う第2プロトコルのいずれであるかを判定するステップと、前記第1プロトコルの通信データの送信を優先する第1優先モードと、前記第2プロトコルの通信データの送信を優先する第2優先モードと、のいずれかを優先モードとして設定するステップと、判定された通信データのプロトコル種別及び設定された優先モードで優先されるプロトコル種別が、一致した場合には前記通信データを送信し、一致しない場合には前記通信データの送信を制限するよう制御するステップと、を有する。   The VPN networking method of the present invention is a VPN networking method for a VPN device that constructs a virtual private network with other VPN devices and performs VPN communication on the network, and the virtual private network is constructed. Before transmitting communication data to the other VPN device via a call control server that performs call control processing between the VPN device and the other VPN device, and Determining whether the protocol type is a first protocol that requires real-time property or a second protocol that performs retransmission control; a first priority mode that prioritizes transmission of communication data of the first protocol; Either of the second priority mode that prioritizes transmission of communication data of the second protocol is set to the priority mode. If the protocol type of the determined communication data and the protocol type prioritized in the set priority mode match, the communication data is transmitted, and if not, the communication data is transmitted. Controlling to limit.

また、本発明のプログラムは、上記VPNネットワーキング方法の各ステップを実行させるためのプログラムである。   The program of the present invention is a program for executing each step of the VPN networking method.

また、本発明の記憶媒体は、上記VPNネットワーキング方法の各ステップを実行させるためのプログラムを記録したコンピュータ読み取り可能な記憶媒体である。   The storage medium of the present invention is a computer-readable storage medium storing a program for executing each step of the VPN networking method.

このような方法、プログラム、記憶媒体により、優先的に送信を行うプロトコル種別、実際の通信データのプロトコル種別に応じて、送信を行うか送信制限するかを決定するため、VPN通信経路を確立する際にバースト的に送信要求が発生した場合であっても、優先される通信データについて、呼制御サーバを介して早期に送信を開始することができる。また、優先されない通信データについては送信が制限されるため、呼制御サーバの負荷軽減も実現できる。   A VPN communication path is established by such a method, program, and storage medium in order to determine whether to perform transmission or restrict transmission according to the protocol type to be preferentially transmitted and the protocol type of the actual communication data. Even when a transmission request is generated in bursts, transmission of priority communication data can be started early via the call control server. Further, since transmission of non-prioritized communication data is restricted, it is possible to reduce the load on the call control server.

本発明によれば、複数のVPN装置間でVPN通信経路を確立する際に発生するバースト的なパケットに対して、通信遅延、通信障害の発生を最小限に留めることが可能である。   According to the present invention, it is possible to minimize the occurrence of communication delay and communication failure with respect to bursty packets that occur when establishing a VPN communication path between a plurality of VPN devices.

本発明の実施形態に係るVPNシステムの構成例を示す図The figure which shows the structural example of the VPN system which concerns on embodiment of this invention 本発明の実施形態のVPN装置のハードウェア構成の構成例を示すブロック図1 is a block diagram showing a configuration example of a hardware configuration of a VPN apparatus according to an embodiment of this invention 本発明の実施形態のVPN装置の機能的な構成例を示すブロック図The block diagram which shows the functional structural example of the VPN apparatus of embodiment of this invention 本発明の実施形態のVPNシステムにおける通信データの種別及び優先モードの判定時の処理手順の一例を示すフローチャートThe flowchart which shows an example of the process sequence at the time of determination of the classification of communication data and priority mode in the VPN system of embodiment of this invention 本発明の実施形態のVPN装置におけるTCP優先モードでのTCPデータ送信処理(第1送信処理)の一例を示すフローチャートThe flowchart which shows an example of the TCP data transmission process (1st transmission process) in TCP priority mode in the VPN apparatus of embodiment of this invention 本発明の実施形態のVPN装置におけるTCP優先モードでのUDPデータ送信処理(第2送信処理)の一例を示すフローチャートThe flowchart which shows an example of UDP data transmission process (2nd transmission process) in TCP priority mode in the VPN apparatus of embodiment of this invention 本発明の実施形態のVPN装置におけるTCP優先モードでのUDPデータの流量制限処理の一例を示すフローチャートThe flowchart which shows an example of the flow volume restriction | limiting process of UDP data in TCP priority mode in the VPN apparatus of embodiment of this invention 本発明の実施形態のVPN装置におけるUDP優先モードでのTCPデータ送信処理(第3送信処理)の一例を示すフローチャートThe flowchart which shows an example of the TCP data transmission process (3rd transmission process) in UDP priority mode in the VPN apparatus of embodiment of this invention 本発明の実施形態のVPN装置におけるUDP優先モードでの定期的なTCPデータの送信イメージ図Image of periodic transmission of TCP data in the UDP priority mode in the VPN apparatus according to the embodiment of the present invention 本発明の実施形態のVPN装置におけるUDP優先モードでのTCPデータの定期送信処理及びバッファリング処理の一例を示すフローチャートThe flowchart which shows an example of the periodic transmission process and buffering process of TCP data in UDP priority mode in the VPN apparatus of embodiment of this invention 本発明の実施形態のVPN装置におけるUDP優先モードでのTCPデータのバッファリング制御処理の一例を示すフローチャートThe flowchart which shows an example of the buffering control process of TCP data in UDP priority mode in the VPN apparatus of embodiment of this invention 本発明の実施形態のVPN装置におけるUDP優先モードでのTCPデータのバッファサイズと送受信タイミングの一例を示す図The figure which shows an example of the buffer size and transmission / reception timing of TCP data in UDP priority mode in the VPN apparatus of embodiment of this invention 本発明の実施形態のVPN装置におけるUDP優先モードでのUDPデータ送信処理(第4送信処理)の一例を示すフローチャートThe flowchart which shows an example of the UDP data transmission process (4th transmission process) in UDP priority mode in the VPN apparatus of embodiment of this invention 本発明の実施形態に係るVPNシステムの構成の変形例を示す図The figure which shows the modification of a structure of the VPN system which concerns on embodiment of this invention.

以下に、本発明に係るVPN装置、VPNネットワーキング方法、プログラム、及び記憶媒体の一例としての実施形態を説明する。ここでは、広域ネットワーク(WAN、グローバルネットワーク)を介して2つのローカルエリアネットワークの経路(LAN、ローカルネットワーク)を経路接続して仮想プライベートネットワーク(VPN)システムを構築する場合の構成例を示す。LANとしては、有線LANまたは無線LANなどが用いられる。WANとしては、インターネット等が用いられる。   Hereinafter, a VPN apparatus, a VPN networking method, a program, and an embodiment as an example of a storage medium according to the present invention will be described. Here, a configuration example in the case where a virtual private network (VPN) system is constructed by connecting paths (LAN, local network) of two local area networks via a wide area network (WAN, global network) is shown. A wired LAN or a wireless LAN is used as the LAN. The WAN is used as the WAN.

図1は本発明の実施形態に係るVPNシステムの構成例を示す図である。本実施形態のVPNシステムは、一つの拠点に設けられたLAN100と、他の拠点に設けられたLAN300とを、インターネット等のWAN200を介して通信経路を接続する。そして、LAN100の配下に接続された端末103とLAN300の配下に接続された端末303との間で、VPNによる秘匿性を担保した通信(「VPN通信」とも称する)を可能にしている。具体的なVPN通信の用途(アプリケーションプログラム等)としては、IP電話(音声通話)、ネットミーティング(動画&音声通信)、ネットワークカメラ(ビデオ伝送)、などが想定される。   FIG. 1 is a diagram showing a configuration example of a VPN system according to an embodiment of the present invention. The VPN system of this embodiment connects a communication path between the LAN 100 provided at one site and the LAN 300 provided at another site via a WAN 200 such as the Internet. Communication between the terminal 103 connected under the LAN 100 and the terminal 303 connected under the LAN 300 ensures communication with VPN (also referred to as “VPN communication”). As specific uses (application programs, etc.) of VPN communication, IP phone (voice call), net meeting (moving image & voice communication), network camera (video transmission), etc. are assumed.

LAN100とWAN200との境界にはルータ102が配設され、WAN200とLAN300との境界にはルータ302が配設されている。また、本実施形態では、VPNの構築を可能にするために、LAN100にはVPN装置101が接続され、LAN300にはVPN装置301が接続されている。そして、VPN装置101には配下の端末103が接続され、VPN装置301には配下の端末303が接続されている。   A router 102 is disposed at the boundary between the LAN 100 and the WAN 200, and a router 302 is disposed at the boundary between the WAN 200 and the LAN 300. In this embodiment, in order to enable the construction of a VPN, the VPN apparatus 101 is connected to the LAN 100 and the VPN apparatus 301 is connected to the LAN 300. A subordinate terminal 103 is connected to the VPN apparatus 101, and a subordinate terminal 303 is connected to the VPN apparatus 301.

また、WAN200上には、VPN装置101とVPN装置301との間のVPNによる接続(以下、「VPN接続」と称する)を可能にするために、STUNサーバ201と呼制御サーバ202とが接続されている。STUNサーバ201は、STUN(Simple Traversal of User Datagram Protocol (UDP) through Network Address Translators (NATs))プロトコルを実行するために用いられるサーバである。呼制御サーバ202は、VPN装置や端末等のピア間の発呼、被呼のために用いられるサーバである。   In addition, on the WAN 200, a STUN server 201 and a call control server 202 are connected to enable a VPN connection (hereinafter referred to as “VPN connection”) between the VPN apparatus 101 and the VPN apparatus 301. ing. The STUN server 201 is a server used to execute a STUN (Simple Traversal of User Datagram Protocol (UDP) through Network Address Translators (NATs)) protocol. The call control server 202 is a server used for making and receiving calls between peers such as VPN devices and terminals.

図1において、破線は外部アドレス(グローバルIPアドレス)とポートの情報を含む外部アドレス・ポート情報の流れを示している。また、一点鎖線は発呼及び着呼の制御に関する呼制御信号の流れを示している。また、実線はピア間で伝送される通信データに関するピア間通信(P2P通信)の流れを示している。さらに、P2P通信のためにVPN接続された通信経路を仮想トンネルとして、図中に表す。なお、ここではVPN接続された通信経路として、ピア間で直接通信を行う場合を示しているが、中継サーバ203を介してVPN接続を行ってもよい。   In FIG. 1, a broken line indicates a flow of external address / port information including external address (global IP address) and port information. A one-dot chain line indicates a flow of a call control signal related to control of outgoing and incoming calls. A solid line indicates a flow of communication between peers (P2P communication) regarding communication data transmitted between peers. Further, a communication path connected by VPN for P2P communication is represented in the figure as a virtual tunnel. Although a case where direct communication is performed between peers is shown here as a VPN-connected communication path, VPN connection may be performed via the relay server 203.

各機器がWAN200を介して通信する場合、WAN200上では、伝送するパケットの送信元や送信先を特定するためのアドレス情報として、WANにおいて特定可能なグローバルなアドレス情報が用いられる。一般にはIPネットワークが用いられるため、グローバルIPアドレス及びポート番号が用いられる。しかし、各LAN100、300内の通信においては、送信元や送信先を特定するためのアドレス情報として、LAN内のみで特定可能なローカルなアドレス情報が用いられる。一般にはIPネットワークが用いられるため、ローカルIPアドレス及びポート番号が用いられる。したがって、各LAN100、300とWAN200との間の通信を可能にするために、ローカルなアドレス情報とグローバルなアドレス情報との相互変換を行うNAT(Network Address Translation)機能が各ルータ102、302に搭載されている。なお、IPネットワーク以外の場合には、グローバルIPアドレス以外のグローバルなアドレス情報であってもよい。   When each device communicates via the WAN 200, global address information that can be specified in the WAN is used on the WAN 200 as address information for specifying the source and destination of a packet to be transmitted. Since an IP network is generally used, a global IP address and a port number are used. However, in communication within each LAN 100, 300, local address information that can be specified only within the LAN is used as address information for specifying a transmission source and a transmission destination. Since an IP network is generally used, a local IP address and a port number are used. Therefore, in order to enable communication between the LANs 100 and 300 and the WAN 200, each router 102 and 302 has a NAT (Network Address Translation) function for performing mutual conversion between local address information and global address information. Has been. In the case of other than the IP network, global address information other than the global IP address may be used.

ただし、LAN100、300の配下の各端末においては、外部からアクセス可能なグローバルIPアドレス情報を自身で持っていない。また、特別な設定を行わない限り、LAN100配下の端末103が他のLAN300配下の端末303と直接通信することはできない。また、各ルータ102、302のNAT機能のため、普通の状態ではWAN200側から各LAN100、300内の各端末にアクセスすることもできない。   However, each terminal under the LAN 100, 300 does not have global IP address information accessible from the outside. In addition, unless special settings are made, the terminal 103 under the LAN 100 cannot directly communicate with the terminal 303 under the other LAN 300. Further, because of the NAT function of each router 102, 302, it is impossible to access each terminal in each LAN 100, 300 from the WAN 200 side in a normal state.

このような状況であっても、本実施形態では、各拠点のLANにVPN装置101、301を設けることにより、図1において実線で示すP2P通信の経路のように、LAN間をVPN接続して端末103と端末303との間で仮想的な閉じられた通信経路を通じて直接通信することが可能になる。本実施形態のVPN装置の構成、機能、及び動作について以下に順を追って説明する。   Even in such a situation, in this embodiment, VPN devices 101 and 301 are provided in the LANs at the respective bases, so that the LANs are VPN-connected as in the P2P communication path indicated by the solid line in FIG. It becomes possible to communicate directly between the terminal 103 and the terminal 303 through a virtual closed communication path. The configuration, function, and operation of the VPN apparatus according to the present embodiment will be described in order below.

STUNサーバ201は、STUNプロトコルの実行に関するサービスを行うもので、いわゆるNAT越えの通信を行うために必要な情報を提供するアドレス情報サーバである。STUNは、音声、映像、文章などの双方向リアルタイムIP通信を行うアプリケーションにおいて、NAT通過の方法の1つとして使われる標準化されたクライアントサーバ型のインターネットプロトコルである。STUNサーバ201は、アクセス元からの要求に応じて、外部からアクセス可能な当該アクセス元のグローバルなアドレス情報として、外部ネットワークから見えるグローバルIPアドレス、ポートの情報の少なくとも一方を含む外部アドレス・ポート情報を返信する。外部アドレス・ポート情報としては、IPネットワークにおいてはIPネットワーク層のグローバルIPアドレス及びトランスポート層のポート番号が用いられる。   The STUN server 201 performs a service related to the execution of the STUN protocol, and is an address information server that provides information necessary for performing so-called NAT traversal communication. STUN is a standardized client-server Internet protocol used as one of NAT passing methods in applications that perform bidirectional real-time IP communication such as voice, video, and text. The STUN server 201 includes external address / port information including at least one of global IP address and port information visible from the external network as global address information of the access source accessible from the outside in response to a request from the access source. Reply. As the external address / port information, in the IP network, a global IP address of the IP network layer and a port number of the transport layer are used.

各VPN装置101、301は、STUNサーバ201との間で所定のテスト手順の通信を実行し、STUNサーバ201から自装置のグローバルIPアドレス及びポート番号が含まれる応答パケットを受信する。これにより、各VPN装置101、301は自装置のグローバルIPアドレス及びポート番号を取得することができる。また、自装置の位置するLANとWANとの間にルータが複数存在する場合等であっても、これらのルータ等がUPnP(Universal Plug and Play)の機能を有していない場合であっても、確実にグローバルIPアドレス及びポート番号を取得できるという効果もある。   Each of the VPN apparatuses 101 and 301 executes communication of a predetermined test procedure with the STUN server 201, and receives a response packet including the global IP address and port number of the own apparatus from the STUN server 201. Thereby, each VPN apparatus 101 and 301 can acquire the global IP address and port number of an own apparatus. Further, even when there are a plurality of routers between the LAN where the device is located and the WAN, even when these routers do not have UPnP (Universal Plug and Play) functions. There is also an effect that the global IP address and the port number can be acquired with certainty.

呼制御サーバ202は、特定の相手先を呼び出して通信経路を確立するための通信装置間の呼制御に関するサービス(呼制御処理)を行う呼管理サーバである。呼制御サーバ202は、登録されたVPN装置または端末の識別情報を保持しており、例えばIP電話の機能を有する通信システムの場合には、接続相手の電話番号に基づいて特定の相手先を呼び出すことも考えられる。また、呼制御サーバ202は、信号やデータを中継する機能を有しており、発信側の装置から送出されたパケットを着信側の装置に転送したり、着信側の装置から送出されたパケットを発信側の装置に転送したりすることも可能である。ただし、呼制御サーバ202は、主に呼制御に関するデータの送受信を行うことを想定しており、例えば動画データ等の多くの容量を必要とするデータの送受信は考慮していないことが多い。   The call control server 202 is a call management server that performs a service (call control process) related to call control between communication apparatuses for calling a specific destination and establishing a communication path. The call control server 202 holds the identification information of the registered VPN apparatus or terminal. For example, in the case of a communication system having an IP telephone function, a specific destination is called based on the telephone number of the connection partner. It is also possible. In addition, the call control server 202 has a function of relaying signals and data, and forwards packets sent from the caller device to the callee device, or sends packets sent from the callee device. It is also possible to forward to the originating device. However, it is assumed that the call control server 202 mainly performs transmission / reception of data related to call control, and for example, transmission / reception of data that requires a large capacity such as moving image data is often not considered.

なお、STUNサーバ201及び呼制御サーバ202は、ここでは別個のサーバによる構成例を示しているが、1つのサーバにこれらのアドレス情報サーバと中継サーバの2つのサーバの機能を搭載して構成してもよいし、WAN上の他のいずれかのサーバに同様の機能を搭載して構成することも可能である。   Note that the STUN server 201 and the call control server 202 are shown here as configuration examples using separate servers. However, the functions of the two servers, the address information server and the relay server, are mounted on one server. Alternatively, the same function may be mounted on any other server on the WAN.

中継サーバ203は、VPN装置101とVPN装置301との通信を中継する。特に、呼制御サーバ202が呼制御処理を行った後に、動画データ等の多くの容量を必要とするデータの送受信を行うことに適している。また、ルータ102、302の種類によっては、P2P通信によるVPN接続を行うことができない場合もあるので、この場合に通信データの中継を行うことができる。なお、本実施形態では、中継サーバを1台のみ示したが、2台以上であってもよい。   The relay server 203 relays communication between the VPN device 101 and the VPN device 301. In particular, after the call control server 202 performs a call control process, it is suitable for transmitting / receiving data requiring a large capacity such as moving image data. Further, depending on the type of the routers 102 and 302, there is a case where VPN connection by P2P communication cannot be performed. In this case, communication data can be relayed. In the present embodiment, only one relay server is shown, but two or more relay servers may be used.

次に、本実施形態のVPN装置の構成及び機能について説明する。なお、VPN装置101とVPN装置301の構成及び機能は同様であり、ここではVPN装置101によって説明する。図2は本実施形態のVPN装置のハードウェア構成の構成例を示すブロック図である。   Next, the configuration and function of the VPN apparatus of this embodiment will be described. The configurations and functions of the VPN apparatus 101 and the VPN apparatus 301 are the same, and will be described here using the VPN apparatus 101. FIG. 2 is a block diagram showing a configuration example of the hardware configuration of the VPN apparatus according to the present embodiment.

VPN装置101は、中央演算処理装置(CPU)111、フラッシュRAM等による不揮発性メモリ112、SD RAM等によるメモリ113、ネットワークインタフェース114、ネットワークインタフェース115、LAN側ネットワーク制御部116、WAN側ネットワーク制御部117、通信中継部118、表示制御部119、表示部120を有して構成される。   The VPN apparatus 101 includes a central processing unit (CPU) 111, a nonvolatile memory 112 such as a flash RAM, a memory 113 such as an SD RAM, a network interface 114, a network interface 115, a LAN side network control unit 116, and a WAN side network control unit. 117, a communication relay unit 118, a display control unit 119, and a display unit 120.

CPU111は、所定のプログラムを実行することによりVPN装置101全体の制御を実施する。不揮発性メモリ112は、CPU111が実行するプログラムを保持している。このプログラムの中には、VPN装置101が外部アドレス・ポート情報を取得するための外部アドレス・ポート取得プログラムも含まれている。   The CPU 111 controls the entire VPN apparatus 101 by executing a predetermined program. The non-volatile memory 112 holds a program executed by the CPU 111. This program includes an external address / port acquisition program for the VPN apparatus 101 to acquire external address / port information.

なお、CPU111が実行するプログラムについては、任意の通信経路を経由してオンラインで外部のサーバから取得することもできるし、例えばメモリカードやCD−ROMのような記録媒体から読み込んで取得することもできる。換言すれば、汎用のコンピュータにVPN装置の機能を実現するプログラムを記録媒体から読み込むことによってVPN装置、およびVPNネットワーキング方法を実現することができる。
なお、CPU111がプログラムを実行する時には、不揮発性メモリ112上のプログラムの一部がメモリ113上に展開され、メモリ113上のプログラムが実行される場合もある。
The program executed by the CPU 111 can be acquired from an external server online via an arbitrary communication path, or can be acquired by reading from a recording medium such as a memory card or a CD-ROM. it can. In other words, the VPN apparatus and the VPN networking method can be realized by reading a program for realizing the function of the VPN apparatus from a recording medium into a general-purpose computer.
Note that when the CPU 111 executes the program, a part of the program on the nonvolatile memory 112 may be expanded on the memory 113 and the program on the memory 113 may be executed.

メモリ113は、VPN装置101の運用中のデータ管理や、各種設定情報などを一時的に記憶するためのものである。設定情報としては、自端末の外部アドレス・ポート取得要求の応答に含まれる外部アドレス・ポート情報等、通信に必要なあて先アドレス情報などが含まれる。   The memory 113 is for temporarily storing data management during operation of the VPN apparatus 101 and various setting information. The setting information includes destination address information necessary for communication, such as external address / port information included in a response to the external address / port acquisition request of the terminal itself.

ネットワークインタフェース114は、VPN装置101と自装置が管理する配下の端末103とを通信可能な状態で接続するためのインタフェースである。ネットワークインタフェース115は、VPN装置101とLAN100とを通信可能な状態で接続するためのインタフェースである。LAN側ネットワーク制御部116は、LAN側のネットワークインタフェース114に関する通信制御を行うものである。WAN側ネットワーク制御部117は、WAN側のネットワークインタフェース115に関する通信制御を行うものである。   The network interface 114 is an interface for connecting the VPN apparatus 101 and the subordinate terminal 103 managed by the own apparatus in a communicable state. The network interface 115 is an interface for connecting the VPN apparatus 101 and the LAN 100 in a communicable state. The LAN-side network control unit 116 performs communication control related to the LAN-side network interface 114. The WAN-side network control unit 117 performs communication control related to the WAN-side network interface 115.

通信中継部118は、LAN側に接続された配下の端末103から外部のVPN接続先(VPN装置301配下の端末303)へ送出するパケットデータと、反対に、外部のVPN接続先(VPN装置301配下の端末303)から配下の端末103宛に到着したパケットデータをそれぞれ中継する。   The communication relay unit 118, on the contrary, transmits packet data sent from the subordinate terminal 103 connected to the LAN side to the external VPN connection destination (the terminal 303 subordinate to the VPN device 301), and external VPN connection destination (the VPN device 301). The packet data arriving from the subordinate terminal 303) to the subordinate terminal 103 is relayed.

表示部120は、VPN装置101としての動作状態の表示等を行う表示器により構成され、各種状態をユーザあるいは管理者に通知する。表示部120は、複数の発光ダイオード(LED)や液晶表示器(LCD)等により構成される。表示制御部119は、表示部120の表示制御を行うもので、CPU111からの表示信号に従って表示部120に表示する内容等を制御する。   The display unit 120 is configured by a display that displays the operation state of the VPN apparatus 101 and notifies the user or administrator of various states. The display unit 120 includes a plurality of light emitting diodes (LEDs), a liquid crystal display (LCD), and the like. The display control unit 119 performs display control of the display unit 120, and controls contents to be displayed on the display unit 120 according to a display signal from the CPU 111.

図3は本実施形態のVPN装置の機能的な構成例を示すブロック図である。   FIG. 3 is a block diagram showing a functional configuration example of the VPN apparatus according to the present embodiment.

VPN装置101は、機能構成として、システム制御部130、配下端末管理部131、メモリ部132、データ中継部133、設定用インタフェース部134、通信制御部140を有して構成される。メモリ部132は、外部アドレス・ポート情報記憶部135、バッファ136を有する。通信制御部140は、外部アドレス・ポート取得部141、VPN機能部142、呼制御機能部143、優先制御部144、TCPバッファリング制御部145、UDP流量制御部146を有する。VPN機能部142は、暗号処理部147を有する。これらの各機能は、図2に示した各ブロックのハードウェアの動作、またはCPU111が所定のプログラムを実行することにより実現する。   The VPN apparatus 101 includes a system control unit 130, a subordinate terminal management unit 131, a memory unit 132, a data relay unit 133, a setting interface unit 134, and a communication control unit 140 as functional configurations. The memory unit 132 includes an external address / port information storage unit 135 and a buffer 136. The communication control unit 140 includes an external address / port acquisition unit 141, a VPN function unit 142, a call control function unit 143, a priority control unit 144, a TCP buffering control unit 145, and a UDP flow rate control unit 146. The VPN function unit 142 includes an encryption processing unit 147. Each of these functions is realized by the hardware operation of each block shown in FIG. 2 or when the CPU 111 executes a predetermined program.

なお、VPN装置101のLAN側のネットワークインタフェース114は、配下の端末103と接続され、WAN側のネットワークインタフェース115は、LAN100及びルータ102を経由してWAN200と接続される。   The network interface 114 on the LAN side of the VPN apparatus 101 is connected to the subordinate terminal 103, and the network interface 115 on the WAN side is connected to the WAN 200 via the LAN 100 and the router 102.

システム制御部130は、VPN装置101の全体の制御を行う。配下端末管理部131は、VPN装置101配下の端末103の管理を行う。メモリ部132は、外部アドレス・ポート情報記憶部135において、外部アドレス(WAN200上でのグローバルIPアドレス)とポート(IPネットワークのポート番号)の情報を含む外部アドレス・ポート情報を記憶する。外部アドレス・ポート情報としては、接続元である配下の端末103に割り当てられたグローバルIPアドレス及びポート番号の情報や、接続先の端末303に割り当てられたグローバルIPアドレス及びポート番号の情報などを記憶する。また、メモリ部132は、必要に応じてTCPデータを一時的に記憶するバッファ136を有する。   The system control unit 130 performs overall control of the VPN apparatus 101. The subordinate terminal management unit 131 manages the terminals 103 subordinate to the VPN apparatus 101. In the external address / port information storage unit 135, the memory unit 132 stores external address / port information including information on an external address (global IP address on the WAN 200) and a port (port number of the IP network). As the external address / port information, information on the global IP address and port number assigned to the subordinate terminal 103 that is the connection source, information on the global IP address and port number assigned to the terminal 303 of the connection destination, and the like are stored. To do. In addition, the memory unit 132 includes a buffer 136 that temporarily stores TCP data as necessary.

データ中継部133は、接続元の端末103から接続先の端末303に向かって転送されるパケットや、逆に接続先の端末303から接続元の端末103に向かって転送されるパケットをそれぞれ中継(受信/送信)する。すなわち、データ中継部133は、配下端末又はVPN装置301からの通信データを受信したり、配下端末又はVPN装置301へ通信データを送信したりする。設定用インタフェース部134は、ユーザあるいは管理者がVPN装置101に対する設定操作等の各種操作を行うためのユーザインタフェースである。このユーザインタフェースの具体例として、端末上で動作するブラウザによって表示するWebページなどが用いられる。   The data relay unit 133 relays a packet transferred from the connection source terminal 103 to the connection destination terminal 303, and conversely, a packet transferred from the connection destination terminal 303 to the connection source terminal 103, respectively ( Receive / send). That is, the data relay unit 133 receives communication data from the subordinate terminal or the VPN device 301 or transmits the communication data to the subordinate terminal or the VPN device 301. The setting interface unit 134 is a user interface for the user or administrator to perform various operations such as a setting operation on the VPN apparatus 101. As a specific example of this user interface, a Web page displayed by a browser operating on a terminal is used.

通信制御部140の外部アドレス・ポート取得部141は、VPN装置101の配下の端末103に割り当てられた外部アドレス・ポート情報をSTUNサーバ201から取得する。また、接続先の端末303の外部アドレス・ポート情報を含むパケットを呼制御サーバ202を経由して受信し、接続先の端末303に割り当てられた外部アドレス・ポート情報を取得する。外部アドレス・ポート取得部141が取得した情報は、メモリ部132の外部アドレス・ポート情報記憶部135に保持される。   The external address / port acquisition unit 141 of the communication control unit 140 acquires the external address / port information assigned to the terminal 103 under the control of the VPN apparatus 101 from the STUN server 201. In addition, a packet including the external address / port information of the connection destination terminal 303 is received via the call control server 202, and the external address / port information assigned to the connection destination terminal 303 is acquired. The information acquired by the external address / port acquisition unit 141 is held in the external address / port information storage unit 135 of the memory unit 132.

通信制御部140のVPN機能部142は、暗号処理部147において、VPN通信のために必要な暗号処理を行う。すなわち、暗号処理部147は、送信するパケットをカプセリングして暗号化したり、受信したパケットをアンカプセリングして復号化して元のパケットを抽出したりする。なお、VPN通信は、図1に示したようなP2P通信ではなく、WAN200上に設けられる中継サーバ203でパケットの中継を行い、クライアント/サーバ方式でVPN通信を行うことも可能である。この場合には、サーバ側で暗号処理を行うようにしてもよい。また、VPN機能部142は、いずれかの方法でVPN通信が可能な状態であるか否かを判定する。また、カプセリングされたパケット中には、発呼側の端末103を特定するための情報や、被呼側の端末303を特定するための情報が含まれる。この特定情報に基づいて、VPN装置及びVPN装置配下の端末間でデータ中継部133により通信データが中継される。   The VPN function unit 142 of the communication control unit 140 performs encryption processing necessary for VPN communication in the encryption processing unit 147. That is, the encryption processing unit 147 encapsulates and encrypts a packet to be transmitted, or unencapsulates and decrypts a received packet to extract an original packet. Note that the VPN communication is not the P2P communication as shown in FIG. 1, but the relay server 203 provided on the WAN 200 relays the packet, and the VPN communication can be performed by the client / server method. In this case, encryption processing may be performed on the server side. Further, the VPN function unit 142 determines whether VPN communication is possible by any method. The encapsulated packet includes information for specifying the calling terminal 103 and information for specifying the called terminal 303. Based on this specific information, communication data is relayed by the data relay unit 133 between the VPN device and the terminals under the VPN device.

通信制御部140の呼制御機能部143は、目的の接続先に接続するための接続要求を呼制御サーバ202に送信したり、接続先からの接続応答を呼制御サーバ202を経由して受信するための処理を実施したりするなど、呼制御に関する処理(呼制御処理)を行う。   The call control function unit 143 of the communication control unit 140 transmits a connection request for connecting to a target connection destination to the call control server 202, and receives a connection response from the connection destination via the call control server 202. For example, a process related to call control (call control process) is performed.

通信制御部140の優先制御部144は、データ中継部133によりVPN装置301へ送信すべき通信データの種別を判定する。具体的には、送信する通信データが、第1プロトコルとしてのUDPプロトコルの通信データ(UDPデータ)であるか、第2プロトコルとしてのTCPプロトコルの通信データ(TCPデータ)であるかを識別する。つまり、通信データのプロトコル種別を識別する。   The priority control unit 144 of the communication control unit 140 determines the type of communication data to be transmitted to the VPN apparatus 301 by the data relay unit 133. Specifically, it is identified whether the communication data to be transmitted is communication data (UDP data) of the UDP protocol as the first protocol or communication data (TCP data) of the TCP protocol as the second protocol. That is, the protocol type of communication data is identified.

また、優先制御部144は、優先モードの設定を行う。優先モードとは、データ中継部133により優先的に送信する特定の通信データを示すものである。優先モードとしては、UDPデータの送信を優先する第1優先モードとしてのUDP優先モード、TCPデータの送信を優先する第2優先モードとしてのTCP優先モードが含まれる。なお、優先制御部144により優先モードを設定する際には、VPN装置101に付随するハード的なスイッチ、設定用インタフェース部134を介したソフトウェアの設定画面、VPNシステムにより定義される定義情報、のいずれを用いても設定してもよい。   The priority control unit 144 sets a priority mode. The priority mode indicates specific communication data that is preferentially transmitted by the data relay unit 133. The priority mode includes a UDP priority mode as a first priority mode that prioritizes transmission of UDP data and a TCP priority mode as a second priority mode that prioritizes transmission of TCP data. Note that when the priority mode is set by the priority control unit 144, a hardware switch associated with the VPN apparatus 101, a software setting screen via the setting interface unit 134, definition information defined by the VPN system, Either may be used.

また、優先制御部144は、送信すべき通信データのプロトコル種別と優先モードとに基づいて、通信データを送信する際の送信処理方式(後述する第1送信処理〜第4送信処理のいずれか)を決定する。具体的には、優先制御部144により判定された通信データのプロトコル種別と設定された優先モードとが、一致する場合には通信データの送信を許可し、不一致の場合には通信データの送信を制限するように、データ中継部133を制御する。通信データの送信制限としては、例えば送信データ量の制限、送信タイミングの制限などがある。これにより、なるべく早期に優先度の高い通信データの送信を開始することができ、かつ、呼制御サーバ202の処理負荷を軽減することができる。   The priority control unit 144 also transmits a communication data based on the protocol type and priority mode of the communication data to be transmitted (any one of a first transmission process to a fourth transmission process to be described later). To decide. Specifically, if the protocol type of the communication data determined by the priority control unit 144 matches the set priority mode, transmission of the communication data is permitted, and if they do not match, transmission of the communication data is permitted. The data relay unit 133 is controlled so as to be limited. Examples of transmission data transmission restrictions include a transmission data amount restriction and a transmission timing restriction. Thereby, transmission of communication data with high priority can be started as early as possible, and the processing load on the call control server 202 can be reduced.

なお、UDPプロトコルは、リアルタイム性を必要とするものであるが、信頼性が低く、再送制御を行わないプロトコルである。また、TCPプロトコルは、リアルタイム性を必要としないことが多いが、信頼性が高く、再送制御を行うプロトコルである。   Note that the UDP protocol is a protocol that requires real-time performance, but has low reliability and does not perform retransmission control. The TCP protocol often does not require real-time performance, but is highly reliable and performs retransmission control.

通信制御部140のTCPバッファリング制御部145は、必要に応じてTCPデータをメモリ部132に記憶するよう制御する。特に、VPN通信が可能か否かを判定する前、つまりVPN通信経路が確立される前に、UDP優先モードかつ通信データがTCPデータであるときに、所定容量以上の空き容量がメモリ部132に存在する場合に、TCPデータをメモリ部132のバッファ136に記憶するよう制御する。   The TCP buffering control unit 145 of the communication control unit 140 controls to store the TCP data in the memory unit 132 as necessary. In particular, before determining whether or not VPN communication is possible, that is, before the VPN communication path is established, when the UDP priority mode and the communication data are TCP data, a free capacity of a predetermined capacity or more is stored in the memory unit 132. If it exists, control is performed so that the TCP data is stored in the buffer 136 of the memory unit 132.

また、TCPバッファリング制御部145は、必要に応じてTCPデータを送信するタイミングを制御する。特に、VPN通信経路が確立される前に、UDP優先モードかつ通信データがTCPデータであるときに、TCPデータを所定間隔空けて定期的に送信するなど、TCPデータの送信タイミングを制御する。   Further, the TCP buffering control unit 145 controls the timing for transmitting TCP data as necessary. In particular, before the VPN communication path is established, when the UDP priority mode and the communication data are TCP data, TCP data transmission timing is controlled such that TCP data is periodically transmitted at a predetermined interval.

通信制御部140のUDP流量制御部146は、必要に応じてUDPデータを送信するときのデータ量(流量)を制御する。特に、VPN通信経路が確立される前に、TCP優先モードかつ通信データがUDPデータであるときに、UDPデータのデータ量を制御する。   The UDP flow rate control unit 146 of the communication control unit 140 controls the data amount (flow rate) when transmitting UDP data as necessary. In particular, the amount of UDP data is controlled when the TCP priority mode and the communication data are UDP data before the VPN communication path is established.

次に、本実施形態のVPN装置101によるVPN構築時の動作について説明する。
図4は、本実施形態のVPNシステムにおける通信データの種別及び優先モードの判定時の処理手順の一例を示すフローチャートである。なお、図4の処理が開始される前に、UDP優先モードかTCP優先モードかは、優先制御部144によりあらかじめ設定されているものとする。
Next, the operation at the time of VPN construction by the VPN apparatus 101 of this embodiment will be described.
FIG. 4 is a flowchart illustrating an example of a processing procedure when determining the type of communication data and the priority mode in the VPN system of the present embodiment. It is assumed that the priority control unit 144 sets in advance whether the UDP priority mode or the TCP priority mode before the processing of FIG. 4 is started.

まず、優先制御部144は、VPN装置101配下の端末103からの通信データ(通信パケット)の受信を検出すると(ステップS101)、設定されている優先モードがTCP優先モードかUDP優先モードかを判定する(ステップS102)。また、優先制御部144は、検出された通信データがUDPデータであるかTCPデータであるかを判定する(ステップS103、S104)。   First, when the priority control unit 144 detects reception of communication data (communication packet) from the terminal 103 under the VPN apparatus 101 (step S101), the priority control unit 144 determines whether the set priority mode is a TCP priority mode or a UDP priority mode. (Step S102). Further, the priority control unit 144 determines whether the detected communication data is UDP data or TCP data (steps S103 and S104).

ステップS102〜S104の判定の結果、設定された優先モードがTCP優先モード、かつ、検出された通信データがTCPデータの場合には、優先制御部144は、VPN装置101が第1送信処理を行うよう制御する(ステップS105)。また、設定された優先モードがTCP優先モード、かつ、検出された通信データがUDPデータの場合には、優先制御部144は、VPN装置101が第2送信処理を行うよう制御する(ステップS106)。また、設定された優先モードがUDP優先モード、かつ、検出された通信データがTCPデータの場合には、優先制御部144は、VPN装置101が第3送信処理を行うよう制御する(ステップS107)。また、設定された優先モードがUDP優先モード、かつ、検出された通信データがUDPデータの場合には、優先制御部144は、VPN装置101が第4送信処理を行うよう制御する(ステップS108)。なお、第1送信処理の詳細は図5に、第2送信処理の詳細は図6に、第3送信処理の詳細は図8に、第4送信処理の詳細は図13に、示されている。   As a result of the determination in steps S102 to S104, when the set priority mode is the TCP priority mode and the detected communication data is TCP data, the priority control unit 144 causes the VPN apparatus 101 to perform the first transmission process. Control is performed (step S105). Also, when the set priority mode is the TCP priority mode and the detected communication data is UDP data, the priority control unit 144 controls the VPN apparatus 101 to perform the second transmission process (step S106). . In addition, when the set priority mode is the UDP priority mode and the detected communication data is TCP data, the priority control unit 144 controls the VPN apparatus 101 to perform the third transmission process (step S107). . If the set priority mode is the UDP priority mode and the detected communication data is UDP data, the priority control unit 144 controls the VPN apparatus 101 to perform the fourth transmission process (step S108). . Details of the first transmission process are shown in FIG. 5, details of the second transmission process are shown in FIG. 6, details of the third transmission process are shown in FIG. 8, and details of the fourth transmission process are shown in FIG. .

このような図4の処理によれば、複数のVPN装置101、301間でVPN通信経路を確立する際に発生するバースト的なパケットに対して、通信遅延、通信障害の発生を最小限に留めることが可能である。すなわち、優先モード(TCP優先モードもしくはUDP優先モード)と送信すべき通信データの種別(TCPデータもしくはUDPデータ)に応じて、複数の送信処理の中から好適な送信処理方式を決定することができる。これにより、データの通信遅延時間を最小限に抑えつつ、優先すべき通信データを早期に送信可能であり、さらに本来は呼制御処理以外のデータ通信(特にデータ量の大きなデータ通信)を行うことを想定されていない呼制御サーバ202の負荷を軽減することが可能である。   According to the processing of FIG. 4 as described above, communication delays and communication failures are minimized with respect to burst packets generated when a VPN communication path is established between a plurality of VPN apparatuses 101 and 301. It is possible. That is, a suitable transmission processing method can be determined from a plurality of transmission processes according to the priority mode (TCP priority mode or UDP priority mode) and the type of communication data to be transmitted (TCP data or UDP data). . As a result, communication data to be prioritized can be transmitted early while minimizing the data communication delay time, and data communication other than call control processing (especially data communication with a large amount of data) should be performed. It is possible to reduce the load on the call control server 202 that is not assumed to be.

以下、第1送信処理〜第4送信処理の詳細について説明する。   Hereinafter, details of the first transmission process to the fourth transmission process will be described.

(第1送信処理)
次に、優先モードがTCP優先モードかつ通信データがTCPデータの場合の送信処理(第1送信処理)の一例について、図5を参照しながら説明する。
この図5では、図1に示したVPNシステムにおいて、VPN装置101の配下の端末103からWAN200を経由して他のVPN装置301の配下の端末303に接続しようとする場合の処理を示している。
(First transmission process)
Next, an example of transmission processing (first transmission processing) when the priority mode is the TCP priority mode and the communication data is TCP data will be described with reference to FIG.
FIG. 5 shows processing when the VPN system shown in FIG. 1 tries to connect from the terminal 103 under the VPN apparatus 101 to the terminal 303 under the other VPN apparatus 301 via the WAN 200. .

まず、図5に示す処理に先立ち、VPN装置101は呼制御サーバ202にログインしてユーザ認証を受けるようにする。VPN装置101がユーザ認証に成功した場合、呼制御サーバ202において、VPN装置101の識別情報(MACアドレス、ユーザID、電話番号など)やネットワーク上の位置情報(グローバルIPアドレス)等の登録、設定が行われる。以降、VPN装置101と呼制御サーバ202との間で通信可能となる。なお、VPN装置101は発呼側であるが、被呼側であるVPN装置301についても同様に、呼制御サーバ202にログインしてユーザ認証を受け、呼制御サーバ202においてVPN装置301の識別情報等の登録、設定が行われる。   First, prior to the processing shown in FIG. 5, the VPN apparatus 101 logs in to the call control server 202 to receive user authentication. When the VPN apparatus 101 succeeds in user authentication, the call control server 202 registers and sets identification information (MAC address, user ID, telephone number, etc.) of the VPN apparatus 101, location information on the network (global IP address), etc. Is done. Thereafter, communication between the VPN apparatus 101 and the call control server 202 becomes possible. Although the VPN apparatus 101 is the calling party, the VPN apparatus 301 that is the called party also logs in to the call control server 202 and receives user authentication, and the call control server 202 identifies the identification information of the VPN apparatus 301. Etc. are registered and set.

配下の端末103からのVPN接続の接続要求を受けると、VPN装置101は、呼制御サーバ202に対して、接続先の端末303を配下に持つVPN装置301へのVPN通信経路を構築するための接続要求を行う(ステップS201)。この接続要求には、発呼側(VPN装置101)の識別情報、被呼側(VPN装置301)の識別情報も含まれる。呼制御サーバ202は、この接続要求を中継してVPN接続の接続先となるVPN装置301へ送信する。この接続要求により、呼制御サーバ202は、VPN装置101がVPN装置301へVPN通信経路構築のためのVPN接続をしたいという要求を接続先となる被呼側に通知する。   Upon receiving a VPN connection request from the subordinate terminal 103, the VPN apparatus 101 establishes a VPN communication path to the call control server 202 to the VPN apparatus 301 subordinate to the connection destination terminal 303. A connection request is made (step S201). This connection request includes identification information of the calling party (VPN device 101) and identification information of the called party (VPN device 301). The call control server 202 relays this connection request and transmits it to the VPN apparatus 301 that is the connection destination of the VPN connection. In response to this connection request, the call control server 202 notifies the callee, which is the connection destination, of a request that the VPN apparatus 101 wants to establish a VPN connection for establishing a VPN communication path to the VPN apparatus 301.

また、VPN装置101は、外部アドレス・ポート取得部141の機能により、STUNサーバ201との間で外部アドレス・ポート取得手順を行う(ステップS202)。このとき、VPN装置101は、自装置に割り当てられた外部アドレス・ポート情報(WAN200側からみたグローバルIPアドレス及びポート番号)を取得するため、STUNサーバ201に対して、外部アドレス・ポート取得要求としてバインディングリクエスト(Binding Request、RFC3489参照;以下同じ)パケットを送出する。一方、STUNサーバ201は、外部アドレス・ポート取得要求に対して応答し、VPN装置101に外部アドレス・ポート情報返信として外部アドレス・ポート情報を含むバインディングレスポンス(Binding Response、RFC3489参照;以下同じ)パケットを返送する。そして、VPN装置101は、外部アドレス・ポート情報返信により得られた外部アドレス・ポート情報を記憶する。   Further, the VPN apparatus 101 performs an external address / port acquisition procedure with the STUN server 201 by the function of the external address / port acquisition unit 141 (step S202). At this time, the VPN apparatus 101 acquires external address / port information (global IP address and port number as seen from the WAN 200 side) assigned to the self apparatus, so that the STUN server 201 receives an external address / port acquisition request. A binding request (Binding Request, refer to RFC3489; the same applies hereinafter) packet is transmitted. On the other hand, the STUN server 201 responds to the external address / port acquisition request, and includes a binding response (Binding Response, refer to RFC3489; the same applies hereinafter) packet including the external address / port information as a reply to the external address / port information to the VPN apparatus 101. Will be returned. The VPN apparatus 101 stores the external address / port information obtained by returning the external address / port information.

被呼側のVPN装置301は、呼制御サーバ202からの接続要求を受ける(ステップS203)と、呼制御サーバ202に対して、接続要求に対する接続応答を行う(ステップS204)。この接続応答には、発呼側(VPN装置101)の識別情報、被呼側(VPN装置301)の識別情報も含まれる。呼制御サーバ202は、この接続応答を中継してVPN接続の接続要求元となるVPN装置101へ送信する。この接続応答により、呼制御サーバ202は、接続要求に対するVPN装置301からVPN装置101への応答を接続要求元となる発呼側に通知する。そして、被呼側のVPN装置301は、呼制御サーバ202を介して、通信データの送信を開始する(ステップS205)。   Upon receiving the connection request from the call control server 202 (step S203), the called-side VPN device 301 sends a connection response to the connection request to the call control server 202 (step S204). This connection response includes identification information of the calling party (VPN device 101) and identification information of the called party (VPN device 301). The call control server 202 relays this connection response and transmits it to the VPN apparatus 101 that is the connection request source of the VPN connection. With this connection response, the call control server 202 notifies the caller serving as the connection request source of a response from the VPN apparatus 301 to the VPN apparatus 101 in response to the connection request. Then, the called-side VPN apparatus 301 starts transmission of communication data via the call control server 202 (step S205).

また、VPN装置301は、STUNサーバ201との間で外部アドレス・ポート取得手順を行う(ステップS206)。このとき、VPN装置301は、発呼側のVPN装置101と同様、自装置に割り当てられた外部アドレス・ポート情報(WAN200側からみたグローバルIPアドレス及びポート番号)を取得するため、STUNサーバ201に対して、外部アドレス・ポート取得要求としてバインディングリクエストパケットを送出する。一方、STUNサーバ201は、外部アドレス・ポート取得要求に対して応答し、VPN装置301に外部アドレス・ポート情報返信として外部アドレス・ポート情報を含むバインディングレスポンスパケットを返送する。そして、VPN装置301は、外部アドレス・ポート情報返信により得られた外部アドレス・ポート情報を記憶する。   The VPN apparatus 301 performs an external address / port acquisition procedure with the STUN server 201 (step S206). At this time, the VPN apparatus 301 acquires the external address / port information (global IP address and port number as seen from the WAN 200 side) assigned to the own apparatus in the STUN server 201 in the same manner as the calling VPN apparatus 101. On the other hand, a binding request packet is transmitted as an external address / port acquisition request. On the other hand, the STUN server 201 responds to the external address / port acquisition request, and returns a binding response packet including the external address / port information to the VPN apparatus 301 as a reply to the external address / port information. The VPN device 301 stores the external address / port information obtained by returning the external address / port information.

VPN装置101は、外部アドレス・ポート情報を取得した後は、VPN装置301からの接続要求に対する接続応答を受信するために待機しており、所定のタイミングで接続応答を受信したか否かを確認する(ステップS207)。VPN装置101は、ステップS207においてVPN装置301からの接続応答を受信した後、VPN装置301は、ステップS206において外部アドレス・ポート情報を取得した後に、呼制御サーバ202を介して、相互に通信データの送受信を開始する(ステップS208、S209)。   After acquiring the external address / port information, the VPN apparatus 101 waits to receive a connection response to the connection request from the VPN apparatus 301, and confirms whether the connection response has been received at a predetermined timing. (Step S207). After the VPN apparatus 101 receives the connection response from the VPN apparatus 301 in step S207, the VPN apparatus 301 acquires the external address / port information in step S206 and then communicates with each other via the call control server 202. Transmission / reception is started (steps S208 and S209).

つまり、VPN装置101、301は、VPN通信経路を確立する前に、呼制御サーバ202を介して、通信データの通信を早期に開始することが可能である。   That is, the VPN apparatuses 101 and 301 can start communication data communication via the call control server 202 at an early stage before establishing the VPN communication path.

呼制御サーバ202経由でのデータ通信を開始した後、VPN装置101は、呼制御サーバ202を介して、STUNサーバ201から取得したVPN装置101の外部アドレス・ポート情報をVPN装置301へ送信する(ステップ210)。そして、VPN装置301は、このVPN装置101の外部アドレス・ポート情報を発呼側アドレス・ポート情報として受信し、記憶する(ステップS211)。同様に、VPN装置301は、呼制御サーバ202を介して、STUNサーバ201から取得したVPN装置301の外部アドレス・ポート情報をVPN装置101へ送信する(ステップ212)。そして、VPN装置101は、このVPN装置301の外部アドレス・ポート情報を被呼側アドレス・ポート情報として受信し、記憶する(ステップS213)。   After starting data communication via the call control server 202, the VPN apparatus 101 transmits the external address / port information of the VPN apparatus 101 acquired from the STUN server 201 to the VPN apparatus 301 via the call control server 202 ( Step 210). The VPN apparatus 301 receives and stores the external address / port information of the VPN apparatus 101 as the calling side address / port information (step S211). Similarly, the VPN apparatus 301 transmits the external address / port information of the VPN apparatus 301 acquired from the STUN server 201 to the VPN apparatus 101 via the call control server 202 (step 212). The VPN apparatus 101 receives and stores the external address / port information of the VPN apparatus 301 as called address / port information (step S213).

この段階で、発呼側のVPN装置101と被呼側のVPN装置301とは、お互いに相手の外部アドレス・ポート情報を取得している。したがって、VPN装置101及びVPN装置301は、互いに相手の外部アドレス・ポート情報(グローバルIPアドレス及びポート番号)を送信先に設定してWAN200を経由してパケットを送信し、VPN機能部142により、VPN通信が可能な状態であるか否かを確認する(ステップS214)。例えば、VPN装置101がVPN装置301へ任意のデータを送信し、この送信から所定期間内にVPN装置301から当該データを受信したことを示す応答を受信した場合には、VPN通信が可能な状態であると判定する。   At this stage, the calling-side VPN device 101 and the called-side VPN device 301 acquire the external address / port information of the other party. Therefore, the VPN apparatus 101 and the VPN apparatus 301 set the other party's external address / port information (global IP address and port number) as the transmission destination and transmit the packet via the WAN 200, and the VPN function unit 142 It is confirmed whether or not VPN communication is possible (step S214). For example, when the VPN apparatus 101 transmits arbitrary data to the VPN apparatus 301 and receives a response indicating that the data has been received from the VPN apparatus 301 within a predetermined period from this transmission, the VPN communication is possible. It is determined that

VPN通信が可能な状態である場合には、VPN装置101及びVPN装置301は、VPN通信経路を介した通信データの送受信を開始する。具体的には、VPN装置101は、VPN通信経路で、VPN装置301の外部アドレス・ポート情報(被呼側アドレス・ポート情報)を用いて、VPN装置301へ通信データの送信を行う(ステップS215)。そして、VPN装置301は、VPN装置101からの通信データを受信する(ステップS216)。同様に、VPN装置301は、VPN通信経路で、VPN装置101の外部アドレス・ポート情報(発呼側アドレス・ポート情報)を用いて、VPN装置101へ通信データの送信を行う(ステップS217)。そして、VPN装置101は、VPN装置301からの通信データを受信する(ステップS218)。   When the VPN communication is possible, the VPN apparatus 101 and the VPN apparatus 301 start transmission / reception of communication data via the VPN communication path. Specifically, the VPN apparatus 101 transmits communication data to the VPN apparatus 301 using the external address / port information (called party address / port information) of the VPN apparatus 301 through the VPN communication path (step S215). ). Then, the VPN device 301 receives the communication data from the VPN device 101 (step S216). Similarly, the VPN apparatus 301 transmits communication data to the VPN apparatus 101 using the external address / port information (calling side address / port information) of the VPN apparatus 101 through the VPN communication path (step S217). The VPN apparatus 101 receives communication data from the VPN apparatus 301 (step S218).

このような第1送信処理によれば、VPN装置101、301がTCPデータを優先的に送信することができるので、TCPデータの送信要求が発生したときには、VPN通信経路の確立前に、呼制御サーバ202を介してTCPデータを早い段階で送信することが可能である。したがって、例えばストリーミングデータなど、TCPデータであってもリアルタイム性を要求される通信データを送信する場合に、データ遅延を最小限に抑えてデータ通信を行うことができる。同様に、TV会議などの映像通信では、データロスが大きく映像に影響が出るため、通信品質、通信速度が重視されるが、このような通信も好適に行うことができる。同様に、TCPの一種であるRTSP(Real Time Streaming Protocol)による通信(例えばストリーミングによる映像配信)とUDP通信(例えばIP電話の音声のみの通信)を併用して使用する場合には、音声通信のデータはある程度ロスしても音質にさほどの影響が出ないため、UDP通信の通信品質は重視せず、RTSP通信のための通信品質、通信速度が重視されるが、このような通信も好適に行うことができる。   According to such a first transmission process, the VPN devices 101 and 301 can preferentially transmit TCP data. Therefore, when a TCP data transmission request is generated, call control is performed before the VPN communication path is established. TCP data can be transmitted at an early stage via the server 202. Therefore, for example, when transmitting communication data that requires real-time characteristics, such as streaming data, such as streaming data, data communication can be performed while minimizing data delay. Similarly, in video communication such as a TV conference, data loss is large and the video is affected. Therefore, communication quality and communication speed are emphasized, but such communication can be suitably performed. Similarly, when communication using RTSP (Real Time Streaming Protocol), which is a kind of TCP (for example, video distribution by streaming), and UDP communication (for example, communication only for IP phone audio) are used in combination, Even if data is lost to some extent, the sound quality is not affected so much, so communication quality of UDP communication is not important, communication quality and communication speed for RTSP communication are important, but such communication is also suitable It can be carried out.

(第2送信処理)
次に、優先モードがTCP優先モードかつ通信データがUDPデータの場合の送信処理(第2送信処理)の一例について、図6を参照しながら説明する。
この図6では、図1に示したVPNシステムにおいて、VPN装置101の配下の端末103からWAN200を経由して他のVPN装置301の配下の端末303に接続しようとする場合の処理を示している。ここでは、VPN装置101とVPN装置301の機能は同じであるので、VPN装置101にて説明する。
(Second transmission process)
Next, an example of a transmission process (second transmission process) when the priority mode is the TCP priority mode and the communication data is UDP data will be described with reference to FIG.
FIG. 6 shows processing when the VPN system shown in FIG. 1 tries to connect from the terminal 103 under the VPN apparatus 101 to the terminal 303 under the other VPN apparatus 301 via the WAN 200. . Here, since the functions of the VPN apparatus 101 and the VPN apparatus 301 are the same, the VPN apparatus 101 will be described.

第2送信処理は、先に説明した第1送信処理と比較すると、基本的には同様の処理であるが、VPN通信経路の確立前に、呼制御サーバ202を介して行われるデータ通信において、通信データであるUDPデータを送信することが許可されるデータ量が制限される点が異なる。つまり、VPN装置101は、UDP流量制御部146により、ステップS205B、208B、209Bにおいて、呼制御サーバ202経由での通信データ送信時のデータ量を制限する。また、VPN通信経路が確立した後には、UDP流量制御部146はデータ量の制限を解除する(ステップS215B、S217B)。したがって、VPN通信経路が確立した後には、VPN装置101は、データ量の制限なく通信データの送受信を行うことができる。   The second transmission process is basically similar to the first transmission process described above, but in the data communication performed via the call control server 202 before the establishment of the VPN communication path, The difference is that the amount of data permitted to transmit UDP data, which is communication data, is limited. In other words, the VPN apparatus 101 uses the UDP flow rate control unit 146 to limit the amount of data when communication data is transmitted via the call control server 202 in steps S205B, 208B, and 209B. In addition, after the VPN communication path is established, the UDP flow rate control unit 146 releases the restriction on the data amount (steps S215B and S217B). Therefore, after the VPN communication path is established, the VPN apparatus 101 can transmit and receive communication data without limitation on the data amount.

図7は、UDP流量制御部146によるUDPデータの流量制限処理の一例を示すフローチャートである。図7の処理は、ステップS205B、208B、209Bにおいて通信データの送信を開始した後、ステップS214においてVPN通信経路の確立が確認されるまで、定期的に行われる。   FIG. 7 is a flowchart illustrating an example of a UDP data flow rate limiting process performed by the UDP flow rate control unit 146. The process of FIG. 7 is periodically performed until the establishment of the VPN communication path is confirmed in step S214 after the transmission of communication data is started in steps S205B, 208B, and 209B.

まず、UDP流量制御部146は、VPN装置101配下の端末103からの通信データ(通信パケット)の受信を検出すると(ステップS301)、UDPデータの送信回数が規定回数(例えば9回)よりも大きいか否かを判定する(ステップS302)。   First, when the UDP flow control unit 146 detects reception of communication data (communication packet) from the terminal 103 under the VPN apparatus 101 (step S301), the UDP data transmission count is larger than a specified number (for example, 9 times). Whether or not (step S302).

UDPデータの送信回数(例えば10回)が規定回数よりも大きい場合、UDP流量制御部146は、受信した(つまり被呼側のVPN装置301へ送信すべき)UDPデータを破棄する(ステップS303)。そして、UDP流量制御部146は、UDPデータの送信回数を初期化する(ステップS304)。   If the number of UDP data transmissions (for example, 10 times) is greater than the specified number, the UDP flow rate control unit 146 discards the received UDP data (that is, to be transmitted to the called VPN device 301) (step S303). . Then, the UDP flow rate control unit 146 initializes the number of UDP data transmissions (step S304).

一方、UDPデータの送信回数(例えば8回)が規定回数よりも小さい場合、UDP流量制御部146は、受信したUDPデータを被呼側のVPN装置301へ送信する(ステップS305)。そして、UDP流量制御部146は、現在のUDPデータの送信回数を1カウントアップする(ステップS306)。   On the other hand, when the number of UDP data transmissions (for example, 8 times) is smaller than the prescribed number, the UDP flow rate control unit 146 transmits the received UDP data to the VPN device 301 on the called side (step S305). Then, the UDP flow rate control unit 146 increments the current number of UDP data transmissions by one (step S306).

例えば、UDPデータの送信回数と比較される規定回数を「9」とした場合、UDPデータの送信連続回数10回につき1回はUDPデータが破棄されることとなる。この場合、UDPデータを10%間引きすることができる。これにより、UDPデータを中継する呼制御サーバ202の負荷を軽減し、代わりにTCPデータをより多く送信することが可能となる。なお、例えば使用するアプリケーションがIP電話であり、UDPデータとして音声データを送信する場合には、40%程度のUDPデータを破棄しても問題は生じない。さらに、規定回数を「0」にすることで、VPN通信経路が確定するまではUDPデータの送信は中止するようにすることもできる。   For example, if the specified number of comparisons with the number of UDP data transmissions is “9”, the UDP data is discarded once for every 10 consecutive UDP data transmissions. In this case, UDP data can be thinned out by 10%. As a result, the load on the call control server 202 that relays UDP data can be reduced, and more TCP data can be transmitted instead. For example, when the application to be used is an IP phone and voice data is transmitted as UDP data, there is no problem even if about 40% of UDP data is discarded. Further, by setting the specified number of times to “0”, it is possible to stop the transmission of UDP data until the VPN communication path is determined.

また、上記規定回数は、先の説明のように固定値であってもよいし、TCPデータのデータ量と呼制御サーバ202の処理能力に基づいて、TCP優先モードでUDPデータを処理できる能力を計算し、その能力内で通信を行うように動的に規定回数を変化させ、設定するようにしてもよい。   In addition, the specified number of times may be a fixed value as described above, or based on the amount of TCP data and the processing capacity of the call control server 202, the ability to process UDP data in the TCP priority mode. It may be calculated and set by dynamically changing the specified number of times so as to perform communication within the capacity.

このような第2送信処理によれば、優先モードにより優先されないUDPデータを送信する場合であっても、UDPデータのデータ送信量を制限することで、リアルタイム性を要するUDPデータを早期に送信することが可能であるとともに、VPN通信経路の確立までの呼制御サーバ202にかかる負荷を軽減することができる。   According to such a second transmission process, even when UDP data that is not prioritized in the priority mode is transmitted, UDP data that requires real-time characteristics is transmitted at an early stage by limiting the data transmission amount of the UDP data. It is possible to reduce the load on the call control server 202 until the establishment of the VPN communication path.

(第3送信処理)
次に、優先モードがUDP優先モードかつ通信データがTCPデータの場合の送信処理(第3送信処理)の一例について、図8を参照しながら説明する。
この図8では、図1に示したVPNシステムにおいて、VPN装置101の配下の端末103からWAN200を経由して他のVPN装置301の配下の端末303に接続しようとする場合の処理を示している。ここでは、VPN装置101とVPN装置301の機能は同じであるので、VPN装置101にて説明する。
(Third transmission process)
Next, an example of a transmission process (third transmission process) when the priority mode is the UDP priority mode and the communication data is TCP data will be described with reference to FIG.
FIG. 8 shows processing when the VPN system shown in FIG. 1 tries to connect from the terminal 103 under the VPN apparatus 101 to the terminal 303 under the other VPN apparatus 301 via the WAN 200. . Here, since the functions of the VPN apparatus 101 and the VPN apparatus 301 are the same, the VPN apparatus 101 will be described.

第3送信処理は、先に説明した第1送信処理と比較すると、基本的には同様の処理であるが、VPN通信経路の確立前に、呼制御サーバ202を介して行われるデータ通信において、通信データであるTCPデータを送信するタイミングを制限する点が異なる。つまり、VPN装置101は、TCPバッファリング制御部145により、ステップS205C、208C、209Cにおいて、データ中継部133が呼制御サーバ202経由で通信データを例えば定期送信するよう制御する。また、第3送信処理では、UDP優先モードが設定されているため、VPN通信経路が確立されるまでは、優先モードにより優先されないTCPデータは、所定の送信タイミングを除きメモリ部132のバッファ136に一時的に記憶されるか、もしくは破棄される。VPN通信経路が確立した後には、TCPバッファリング制御部145は送信タイミングの制限を解除し、送信要求が発生したときに送信を行う。送信タイミングの制限が解除されると、VPN装置101は、VPN通信経路で、VPN通信経路の確立前にバッファ136に蓄積された全てのTCPデータを送信する(ステップS215C、S217C)。   The third transmission process is basically similar to the first transmission process described above, but in the data communication performed via the call control server 202 before the establishment of the VPN communication path, The difference is that the timing for transmitting TCP data, which is communication data, is limited. That is, the VPN apparatus 101 controls the TCP buffering control unit 145 so that the data relay unit 133 periodically transmits communication data via the call control server 202 in steps S205C, 208C, and 209C, for example. In the third transmission process, since the UDP priority mode is set, TCP data not prioritized by the priority mode is stored in the buffer 136 of the memory unit 132 except for a predetermined transmission timing until the VPN communication path is established. It is temporarily stored or discarded. After the VPN communication path is established, the TCP buffering control unit 145 releases the restriction on the transmission timing and performs transmission when a transmission request is generated. When the restriction on the transmission timing is released, the VPN apparatus 101 transmits all the TCP data stored in the buffer 136 before establishing the VPN communication path on the VPN communication path (steps S215C and S217C).

図9は、TCPデータの定期的な送信のイメージ図である。定期的な送信とは、送信タイミングの制限の一例である。TCPバッファリング制御部145は、内部にタイマを有しており、このタイマは、初期時点又はリセット時点から所定時間(タイムアウト時間)までを計時する。図9に示すように、t1〜t4の各時点は、タイマによる計時がタイムアウトするタイミングを示している。このタイマは、初期状態又はタイムアウトした時点でリセットされ、計時を開始する。t1〜t4の時点のみTCPデータの送信が許容され、これ以外のタイミングではTCPデータの送信は制限されてUDPデータの送信のみが許容される。   FIG. 9 is an image diagram of periodic transmission of TCP data. Periodic transmission is an example of a limitation on transmission timing. The TCP buffering control unit 145 has a timer inside, and this timer measures a predetermined time (timeout time) from the initial time point or the reset time point. As shown in FIG. 9, each time point from t1 to t4 indicates a timing at which the time measurement by the timer times out. This timer is reset in the initial state or when timed out, and starts counting time. Transmission of TCP data is permitted only at times t1 to t4, and transmission of TCP data is restricted at other timings and only transmission of UDP data is permitted.

図10は、VPN装置101がTCPデータを定期送信するときの動作の一例を示すフローチャートである。図10の処理は、ステップS205C、208C、209Cにおいて通信データの送信を開始した後、ステップS214においてVPN通信経路の確立が確認されるまでに、定期タイマがタイムアウトしたときに行われる。   FIG. 10 is a flowchart illustrating an example of an operation when the VPN apparatus 101 periodically transmits TCP data. The processing in FIG. 10 is performed when the periodic timer times out after the transmission of communication data is started in steps S205C, 208C, and 209C until the establishment of the VPN communication path is confirmed in step S214.

タイマがタイムアウトしたときは、TCPデータを送信すべきタイミングである。この場合、TCPバッファリング制御部145は、タイムアウトした時点でバッファ136に記憶されたTCPデータが存在するか否かを判定する(ステップS401)。TCPデータがバッファ136に記憶されている場合、TCPバッファリング制御部145は、データ中継部133にTCPデータの送信指令を行い、データ中継部133が、バッファ136に記憶されている所定のデータ量のTCPデータを送信する(ステップS402)。   When the timer times out, it is time to send TCP data. In this case, the TCP buffering control unit 145 determines whether there is TCP data stored in the buffer 136 at the time of timeout (step S401). When the TCP data is stored in the buffer 136, the TCP buffering control unit 145 instructs the data relay unit 133 to transmit the TCP data, and the data relay unit 133 has a predetermined data amount stored in the buffer 136. The TCP data is transmitted (step S402).

ここで、所定のデータ量だけ送信するのは、バッファリングされている全てのTCPデータを送信した場合には、バースト的に送信が発生し、瞬間的に呼制御サーバ202の負荷が増大させてしまうためである。そのため、UDP通信を優先させるために呼制御サーバ202へ負荷がかからない程度のTCPデータを送信する。TCPバッファリング制御部145は、負荷が予測できる場合には、上記の負荷がかからない程度として呼制御サーバ202の動作に支障をきたさないデータ量を予め計算してもよい。TCPバッファリング制御部145は、当該データ量を、固定値として求めてもよいし、UDPデータを含むデータ量と呼制御サーバ202の処理能力とに基づいて動的に求めてもよい。   Here, a predetermined amount of data is transmitted because when all buffered TCP data is transmitted, transmission occurs in bursts, and the load on the call control server 202 increases instantaneously. It is because it ends. Therefore, TCP data is transmitted to the call control server 202 so as not to be loaded in order to prioritize UDP communication. If the load can be predicted, the TCP buffering control unit 145 may calculate in advance a data amount that does not hinder the operation of the call control server 202 as the above-described load is not applied. The TCP buffering control unit 145 may obtain the data amount as a fixed value, or may dynamically obtain the data amount based on the data amount including UDP data and the processing capability of the call control server 202.

このような図10の処理によれば、バッファ136に所定容量以上の空きがあれば、TCPデータを破棄するのではなく、VPN装置101内で一旦バッファリングする。このように、バッファ136の空き容量を考慮することで、有限の容量であるバッファ136を効率よく使用することができる。   According to the processing of FIG. 10 described above, if there is a space exceeding the predetermined capacity in the buffer 136, the TCP data is not discarded but temporarily buffered in the VPN apparatus 101. Thus, by considering the free capacity of the buffer 136, the buffer 136 having a finite capacity can be used efficiently.

図11は、VPN装置101がTCPデータをバッファリングするときの動作の一例を示すフローチャートである。図11の処理は、ステップS205C、208C、209Cにおいて通信データの送信を開始した後、ステップS214においてVPN通信経路の確立が確認されるまでに、受信した通信データがTCPデータの場合に行われる。   FIG. 11 is a flowchart showing an example of an operation when the VPN apparatus 101 buffers TCP data. The processing in FIG. 11 is performed when the received communication data is TCP data until the establishment of the VPN communication path is confirmed in step S214 after transmission of communication data is started in steps S205C, 208C, and 209C.

まず、TCPバッファリング制御部145は、TCPデータの受信を検出する(ステップS501)と、メモリ部132のバッファ136の空き容量が規定値以上であるか否かを判定する(ステップS502)。バッファ136の空き容量の規定値に関しては、受信した送信すべきTCPデータをバッファリングしても問題ない程度(例えば、バッファリングするメモリ容量の20%以上の空き容量)のサイズが規定され、あらかじめ設定される。   First, when the TCP buffering control unit 145 detects reception of TCP data (step S501), the TCP buffering control unit 145 determines whether or not the free capacity of the buffer 136 of the memory unit 132 is equal to or greater than a specified value (step S502). With respect to the prescribed value of the free capacity of the buffer 136, the size is specified so that there is no problem even if the received TCP data to be transmitted is buffered (for example, the free capacity of 20% or more of the memory capacity to be buffered). Is set.

バッファ136の空き容量が規定値以上である場合には、TCPバッファリング制御部145は、受信した送信すべきTCPデータをバッファ136に記憶させる(ステップS503)。一方、バッファ136の空き容量が規定値未満である場合には、TCPバッファリング制御部145は、受信した送信すべきTCPデータを破棄する(ステップS504)。   If the free capacity of the buffer 136 is greater than or equal to the specified value, the TCP buffering control unit 145 stores the received TCP data to be transmitted in the buffer 136 (step S503). On the other hand, if the free capacity of the buffer 136 is less than the specified value, the TCP buffering control unit 145 discards the received TCP data to be transmitted (step S504).

このような図11の処理によれば、定期的に送信を行うことで、UDP優先モードでは非優先データとなるTCPデータの通信開始時期も早めることができる。さらに、VPN通信開始後のTCPデータの送信データ量を減少させることができるため、TCPプロトコルによる再送制御による送信データ量を減らすことができ、VPN装置101の負荷及びVPNシステム内のネットワーク負荷を軽減することができる。   According to such processing in FIG. 11, by periodically transmitting, it is possible to advance the communication start timing of TCP data that is non-priority data in the UDP priority mode. Furthermore, since the amount of TCP data transmitted after the start of VPN communication can be reduced, the amount of data transmitted by retransmission control using the TCP protocol can be reduced, reducing the load on the VPN apparatus 101 and the network load in the VPN system. can do.

図12は、バッファ136に記憶されたTCPデータのバッファサイズと送受信タイミングの一例を示す図である。図12に示すようにバッファ136から定期的にTCPデータが送信され、このタイミングではバッファ136に記憶されたTCPデータのデータ量(バッファサイズ)は減少する(時刻t1〜t4)。このとき、バッファ136の空き容量は増大する。また、バッファサイズが規定値(バッファサイズ規定値)未満であり、つまりバッファ136に他のTCPデータを記憶できる余裕があるとき、受信した送信すべきTCPデータはバッファ136に記憶される(時刻t11、t21、t41)。しかし、バッファ136の容量にも限りがあるため、バッファサイズが規定値を越えた場合(例えば、バッファ可能容量の80%を越えた場合、つまりバッファ空き容量が20%未満となった場合)には、バッファ136に記憶せずにTCPデータを破棄する(時刻t22、t23)。また、VPN通信経路が確立されると、バッファ136に記憶されているTCPデータは全て送信される。   FIG. 12 is a diagram illustrating an example of the buffer size and transmission / reception timing of the TCP data stored in the buffer 136. As shown in FIG. 12, TCP data is periodically transmitted from the buffer 136. At this timing, the data amount (buffer size) of the TCP data stored in the buffer 136 decreases (time t1 to t4). At this time, the free capacity of the buffer 136 increases. Further, when the buffer size is less than the specified value (buffer size specified value), that is, when there is room for storing other TCP data in the buffer 136, the received TCP data to be transmitted is stored in the buffer 136 (time t11). , T21, t41). However, since the capacity of the buffer 136 is also limited, when the buffer size exceeds a specified value (for example, when the buffer capacity exceeds 80%, that is, when the buffer free capacity becomes less than 20%). Discards the TCP data without storing it in the buffer 136 (time t22, t23). When the VPN communication path is established, all the TCP data stored in the buffer 136 is transmitted.

このような第3送信処理によれば、UDPデータを優先的に送信するUDP優先モードであっても、TCPデータを定期的に送信することができるため、なるべく早期にTCPデータを送信することができる。これは、TCPデータであってもリアルタイム性を要する通信データ(例えばストリーミングデータ)を送信する場合に好適である。   According to such third transmission processing, TCP data can be periodically transmitted even in the UDP priority mode in which UDP data is preferentially transmitted. Therefore, TCP data can be transmitted as early as possible. it can. This is suitable for transmitting communication data (for example, streaming data) that requires real-time characteristics even for TCP data.

また、VPN装置101がTCPデータのバッファリング制御及び定期送信を行うことで、TCPプロトコルによる再送処理を極力減らし、VPN通信経路の確立までにVPNシステム内の各装置(特に呼制御サーバ202)及びネットワークにかかる負荷が軽減することが可能である。   In addition, the VPN apparatus 101 performs TCP data buffering control and periodic transmission, thereby reducing retransmission processing by the TCP protocol as much as possible, and establishing each apparatus (particularly the call control server 202) in the VPN system until the establishment of the VPN communication path. The load on the network can be reduced.

さらに、TCPデータが破棄された場合であっても、TCPプロトコルの再送制御機能により、破棄されたTCPパケットの再送要求を定期的に発生し、VPN通信経路の確立後に、破棄されたTCPデータと同一内容のデータをVPN装置301へ自動的に送信することができる。したがって、TCPパケットが欠落することもない。このように、UDP優先モードであっても、複数のVPN装置101、301間でのTCP通信は保障される。   Further, even when the TCP data is discarded, the TCP protocol retransmission control function periodically generates a retransmission request for the discarded TCP packet, and after establishing the VPN communication path, Data having the same content can be automatically transmitted to the VPN apparatus 301. Therefore, no TCP packet is lost. Thus, even in the UDP priority mode, TCP communication between the plurality of VPN apparatuses 101 and 301 is guaranteed.

(第4送信処理)
次に、優先モードがUDP優先モードかつ通信データがUDPデータの場合の送信処理(第4送信処理)の一例について、図13を参照しながら説明する。
この図13では、図1に示したVPNシステムにおいて、VPN装置101の配下の端末103からWAN200を経由して他のVPN装置301の配下の端末303に接続しようとする場合の処理を示している。また、各ステップ内の詳細な動作については、先に説明したものと同様であるため、説明を省略する。
(4th transmission process)
Next, an example of a transmission process (fourth transmission process) when the priority mode is the UDP priority mode and the communication data is UDP data will be described with reference to FIG.
FIG. 13 shows processing when the VPN system shown in FIG. 1 tries to connect from the terminal 103 under the VPN apparatus 101 to the terminal 303 under the other VPN apparatus 301 via the WAN 200. . The detailed operation in each step is the same as that described above, and thus the description thereof is omitted.

発呼側のVPN装置101は、発呼側の外部アドレス・ポート情報の取得(ステップS202)を行った後、接続要求を行い(ステップS201)、被呼側のVPN装置301との間で呼制御サーバ202経由での通信データの送信を開始する(ステップS601)。   The calling-side VPN device 101 obtains the calling-side external address / port information (step S202), then issues a connection request (step S201), and makes a call with the called-side VPN device 301. Transmission of communication data via the control server 202 is started (step S601).

一方、被呼側のVPN装置301は、VPN装置101からの接続要求を受信すると(ステップS203)、発呼側のVPN装置101との間で呼制御サーバ202経由での通信データの送受信を開始する(ステップS602)。   On the other hand, when receiving the connection request from the VPN apparatus 101 (step S203), the called-side VPN apparatus 301 starts transmission / reception of communication data via the call control server 202 with the calling-side VPN apparatus 101. (Step S602).

VPN装置301は、呼制御サーバ202経由での通信データの送信を開始した後に、被呼側の外部アドレス・ポート情報の取得を行い(ステップS206)、接続応答を行う(ステップS204)。また、VPN装置101は、VPN装置301からの接続応答を受信すると、引き続き呼制御サーバ202経由での通信データの送信を行う(ステップS603)。   After starting transmission of communication data via the call control server 202, the VPN apparatus 301 acquires the external address / port information of the called party (step S206) and makes a connection response (step S204). When the VPN apparatus 101 receives the connection response from the VPN apparatus 301, the VPN apparatus 101 continues to transmit communication data via the call control server 202 (step S603).

VPN装置101、301は、ステップS603、S204の処理後は、第1送信処理と同様に、ステップS210〜S218の処理を行う。   The VPN apparatuses 101 and 301 perform the processes of steps S210 to S218 in the same manner as the first transmission process after the processes of steps S603 and S204.

このような第4送信処理によれば、VPN装置101、301がUDPデータを優先的に送信することができるので、リアルタイム性を要するUDPデータの送信要求が発生したときには、VPN通信経路の確立前に、呼制御サーバ202を介してUDPデータを早い段階で送信することが可能である。したがって、データ遅延を最小限に抑えてデータ通信を行うことができる。特に、図13に示したように、VPN装置101が接続要求とともにUDPデータを送信することができるため、データ通信をより高速化することが可能である。   According to such a fourth transmission process, the VPN apparatuses 101 and 301 can preferentially transmit UDP data. Therefore, when a UDP data transmission request requiring real-time performance occurs, before the VPN communication path is established. In addition, UDP data can be transmitted at an early stage via the call control server 202. Therefore, data communication can be performed while minimizing data delay. In particular, as shown in FIG. 13, since the VPN apparatus 101 can transmit UDP data together with a connection request, data communication can be further speeded up.

(変形例)
先の説明ではVPN機能を有するVPN装置が独立した装置として配置され、その配下に端末が配置されることを示したが、図14に示すように、VPN装置104(VPN機能を有する端末)のみが配置されるようにしてもよい。
(Modification)
In the above description, the VPN device having the VPN function is arranged as an independent device, and the terminal is arranged under the VPN device. However, as shown in FIG. 14, only the VPN device 104 (terminal having the VPN function) is provided. May be arranged.

本発明は、複数のVPN装置間でVPN通信経路を確立する際に発生するバースト的なパケットに対して、通信遅延、通信障害の発生を最小限に留めることが可能なVPN装置、VPNネットワーキング方法、プログラム、及び記憶媒体に有用である。   The present invention relates to a VPN apparatus and a VPN networking method capable of minimizing the occurrence of communication delay and communication failure with respect to bursty packets generated when a VPN communication path is established between a plurality of VPN apparatuses. , Programs, and storage media.

100、300 LAN
101、301 VPN装置
102、302 ルータ
103、303 端末
104、304 VPN装置(端末)
111 マイクロコンピュータ(CPU)
112 不揮発性メモリ
113 メモリ
114、115 ネットワークインタフェース
116 LAN側ネットワーク制御部
117 WAN側ネットワーク制御部
118 通信中継部
119 表示制御部
120 表示部
130 システム制御部
131 配下端末管理部
132 メモリ部
133 データ中継部
134 設定用インタフェース部
135 外部アドレス・ポート情報記憶部
136 バッファ
140 通信制御部
141 外部アドレス・ポート取得部
142 VPN機能部
143 呼制御機能部
144 優先制御部
145 TCPバッファリング制御部
146 UDP流量制御部
147 暗号処理部
200 WAN
201 STUNサーバ
202 呼制御サーバ
203 中継サーバ
100, 300 LAN
101, 301 VPN device 102, 302 Router 103, 303 Terminal 104, 304 VPN device (terminal)
111 Microcomputer (CPU)
112 Non-volatile memory 113 Memory 114, 115 Network interface 116 LAN side network control unit 117 WAN side network control unit 118 Communication relay unit 119 Display control unit 120 Display unit 130 System control unit 131 Subordinate terminal management unit 132 Memory unit 133 Data relay unit 134 Setting interface unit 135 External address / port information storage unit 136 Buffer 140 Communication control unit 141 External address / port acquisition unit 142 VPN function unit 143 Call control function unit 144 Priority control unit 145 TCP buffering control unit 146 UDP flow rate control unit 147 Cryptographic processing unit 200 WAN
201 STUN server 202 Call control server 203 Relay server

Claims (7)

ネットワーク上で、他のVPN装置との間で仮想プライベートネットワークを構築してVPN通信を行うVPN装置であって、
前記仮想プライベートネットワークが構築される前に、当該VPN装置と前記他のVPN装置との間で呼制御処理を行う呼制御サーバを経由して、通信データを前記他のVPN装置へ送信する通信データ送信部と、
前記通信データ送信部により送信される前記通信データのプロトコル種別が、リアルタイム性を必要とする第1プロトコル、再送制御を行う第2プロトコルのいずれであるかを判定するデータ種別判定部と、
前記第1プロトコルの通信データの送信を優先する第1優先モード、前記第2プロトコルの通信データの送信を優先する第2優先モード、のいずれかを優先モードとして設定する優先モード設定部と、
前記データ種別判定部により判定された前記通信データのプロトコル種別及び前記優先モード設定部により設定された優先モードで優先されるプロトコル種別が、一致した場合には前記通信データを送信し、一致しない場合には前記通信データの送信を制限するよう、前記通信データ送信部を制御する送信制御部と、
を備えるVPN装置。
A VPN device that constructs a virtual private network with other VPN devices on the network and performs VPN communication,
Communication data for transmitting communication data to the other VPN device via a call control server that performs call control processing between the VPN device and the other VPN device before the virtual private network is constructed A transmission unit;
A data type determination unit that determines whether the protocol type of the communication data transmitted by the communication data transmission unit is a first protocol that requires real-time property or a second protocol that performs retransmission control;
A priority mode setting unit that sets, as a priority mode, either a first priority mode that prioritizes transmission of communication data of the first protocol or a second priority mode that prioritizes transmission of communication data of the second protocol;
When the protocol type of the communication data determined by the data type determination unit and the protocol type prioritized in the priority mode set by the priority mode setting unit match, the communication data is transmitted. A transmission control unit for controlling the communication data transmission unit to limit transmission of the communication data;
VPN device comprising:
請求項1に記載のVPN装置であって、更に、
前記データ種別判定部により前記通信データのプロトコルが前記第1プロトコルと判定され、前記優先モード設定部により前記第2優先モードに設定されている場合、前記通信データ送信部により送信される通信データのデータ量を制限するデータ量制限部を備えるVPN装置。
The VPN device according to claim 1, further comprising:
When the data type determination unit determines that the protocol of the communication data is the first protocol, and the priority mode setting unit sets the second priority mode, the communication data transmitted by the communication data transmission unit A VPN apparatus including a data amount limiting unit that limits the data amount.
請求項1に記載のVPN装置であって、更に、
前記データ種別判定部により前記通信データのプロトコルが前記第2プロトコルと判定され、前記優先モード設定部により前記第1優先モードに設定されている場合、前記通信データ送信部により通信データが送信される送信タイミングを制限する送信タイミング制限部を備えるVPN装置。
The VPN device according to claim 1, further comprising:
When the data type determination unit determines that the protocol of the communication data is the second protocol and the priority mode setting unit sets the first priority mode, the communication data transmission unit transmits the communication data. A VPN apparatus including a transmission timing limiting unit that limits transmission timing.
請求項1または3に記載のVPN装置であって、更に、
前記通信データ送信部により送信される通信データを記憶する通信データ記憶部と、
前記通信データ記憶部の空き容量を検出する空き容量検出部と、
前記データ種別判定部により前記通信データのプロトコルが前記第2プロトコルと判定され、前記優先モード設定部により前記第1優先モードに設定されている場合、かつ、前記空き容量検出部により検出された前記通信データ記憶部の空き容量が所定容量以上である場合、前記通信データを前記通信データ記憶部へ記憶するよう制御する通信データ記憶制御部と、
を備えるVPN装置。
The VPN device according to claim 1 or 3, further comprising:
A communication data storage unit for storing communication data transmitted by the communication data transmission unit;
A free capacity detection unit for detecting a free capacity of the communication data storage unit;
When the protocol of the communication data is determined as the second protocol by the data type determination unit and the first priority mode is set by the priority mode setting unit, and the free capacity detection unit detects the A communication data storage control unit for controlling the communication data to be stored in the communication data storage unit when a free capacity of the communication data storage unit is equal to or greater than a predetermined capacity;
VPN device comprising:
ネットワーク上で、他のVPN装置との間で仮想プライベートネットワークを構築してVPN通信を行うVPN装置のVPNネットワーキング方法であって、
前記仮想プライベートネットワークが構築される前に、当該VPN装置と前記他のVPN装置との間で呼制御処理を行う呼制御サーバを経由して、通信データを前記他のVPN装置へ送信するステップと、
送信される前記通信データのプロトコル種別が、リアルタイム性を必要とする第1プロトコル、再送制御を行う第2プロトコルのいずれであるかを判定するステップと、
前記第1プロトコルの通信データの送信を優先する第1優先モードと、前記第2プロトコルの通信データの送信を優先する第2優先モードと、のいずれかを優先モードとして設定するステップと、
判定された前記通信データのプロトコル種別及び設定された優先モードで優先されるプロトコル種別が、一致した場合には前記通信データを送信し、一致しない場合には前記通信データの送信を制限するよう制御するステップと、
を有するVPNネットワーキング方法。
A VPN networking method for a VPN device that establishes a virtual private network with another VPN device on the network and performs VPN communication,
Transmitting communication data to the other VPN device via a call control server that performs call control processing between the VPN device and the other VPN device before the virtual private network is constructed; ,
Determining whether the protocol type of the communication data to be transmitted is a first protocol that requires real-time property or a second protocol that performs retransmission control;
Setting one of a first priority mode that prioritizes transmission of communication data of the first protocol and a second priority mode that prioritizes transmission of communication data of the second protocol as a priority mode;
Control is performed to transmit the communication data when the determined protocol type of the communication data and the protocol type prioritized in the set priority mode match, and to limit the transmission of the communication data when they do not match And steps to
VPN networking method comprising:
請求項5に記載のVPNネットワーキング方法の各ステップを実行させるためのプログラム。   The program for performing each step of the VPN networking method of Claim 5. 請求項5に記載のVPNネットワーキング方法の各ステップを実行させるためのプログラムを記録したコンピュータ読み取り可能な記憶媒体。   A computer-readable storage medium having recorded thereon a program for executing each step of the VPN networking method according to claim 5.
JP2010110179A 2010-05-12 2010-05-12 Vpn apparatus, vpn networking method, program, and storage medium Withdrawn JP2011239277A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010110179A JP2011239277A (en) 2010-05-12 2010-05-12 Vpn apparatus, vpn networking method, program, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010110179A JP2011239277A (en) 2010-05-12 2010-05-12 Vpn apparatus, vpn networking method, program, and storage medium

Publications (1)

Publication Number Publication Date
JP2011239277A true JP2011239277A (en) 2011-11-24

Family

ID=45326749

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010110179A Withdrawn JP2011239277A (en) 2010-05-12 2010-05-12 Vpn apparatus, vpn networking method, program, and storage medium

Country Status (1)

Country Link
JP (1) JP2011239277A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014143624A (en) * 2013-01-25 2014-08-07 Nippon Telegr & Teleph Corp <Ntt> Data signal transmission server and data signal transmission program
JP2015510621A (en) * 2011-12-21 2015-04-09 ソニー株式会社 System for presenting remote device application graphics using TV through VPN
US10554558B2 (en) 2014-10-30 2020-02-04 Mitsubishi Electric Corporation Data diode device

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015510621A (en) * 2011-12-21 2015-04-09 ソニー株式会社 System for presenting remote device application graphics using TV through VPN
US9288524B2 (en) 2011-12-21 2016-03-15 Sony Corporation Using TV over VPN to present remote device application graphics
JP2014143624A (en) * 2013-01-25 2014-08-07 Nippon Telegr & Teleph Corp <Ntt> Data signal transmission server and data signal transmission program
US10554558B2 (en) 2014-10-30 2020-02-04 Mitsubishi Electric Corporation Data diode device

Similar Documents

Publication Publication Date Title
Walsh et al. Challenges in securing voice over IP
JP2011124770A (en) Vpn device, vpn networking method, program, and storage medium
CN112805977B (en) Application transport control protocol tunnel over public internet
KR101263783B1 (en) System and method for data transmission using relay server
JP6518771B2 (en) Security system, communication control method
CA2792634C (en) System and method for providing a virtual peer-to-peer environment
US9319439B2 (en) Secured wireless session initiate framework
US8521812B2 (en) Accessing local network resources in a multi-interface system
US8811397B2 (en) System and method for data communication between a user terminal and a gateway via a network node
CA2793924C (en) System and method for peer-to-peer media routing using a third party instant messaging system for signaling
US8843639B2 (en) System and method for creating a transparent data tunnel
US20120113977A1 (en) Vpn device and vpn networking method
JP5216018B2 (en) Streaming media services for mobile phones
JP2011188358A (en) Vpn device and ip communication apparatus
US9088542B2 (en) Firewall traversal driven by proximity
CN114500176A (en) Multi-stream load balancing method, device and system for VPN and storage medium
JP2011211490A (en) Vpn device, ip communication apparatus, and server device
JP2011239277A (en) Vpn apparatus, vpn networking method, program, and storage medium
JP4679393B2 (en) SIP communication system, SIP gateway apparatus, and SIP communication control method used therefor
JP2010283762A (en) Communication route setting device, communication route setting method, program, and storage medium
JP4074851B2 (en) Communication relay method and relay device
JP2008288763A (en) Edge router device and session establishment method
JP2012019455A (en) Vpn device, vpn networking method, vpn program, and recording medium
JP2010283761A (en) Vpn device, vpn networking method, program, and storage medium
JP2010252261A (en) Vpn device, vpn networking method and storage medium

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20130806