JP2013175938A - Communication apparatus, communication method and program - Google Patents

Communication apparatus, communication method and program Download PDF

Info

Publication number
JP2013175938A
JP2013175938A JP2012039250A JP2012039250A JP2013175938A JP 2013175938 A JP2013175938 A JP 2013175938A JP 2012039250 A JP2012039250 A JP 2012039250A JP 2012039250 A JP2012039250 A JP 2012039250A JP 2013175938 A JP2013175938 A JP 2013175938A
Authority
JP
Japan
Prior art keywords
server device
protocol stack
user terminal
communication
session
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.)
Granted
Application number
JP2012039250A
Other languages
Japanese (ja)
Other versions
JP5723808B2 (en
Inventor
Ikuhei Yamagata
育平 山形
Shin Miyakawa
晋 宮川
Hirokazu Takahashi
宏和 高橋
Tatsuro Kimura
達郎 木村
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.)
NTT Communications Corp
Original Assignee
NTT Communications 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 NTT Communications Corp filed Critical NTT Communications Corp
Priority to JP2012039250A priority Critical patent/JP5723808B2/en
Publication of JP2013175938A publication Critical patent/JP2013175938A/en
Application granted granted Critical
Publication of JP5723808B2 publication Critical patent/JP5723808B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To provide communication service without allowing a user to feel influence by an obstacle even if there is the obstacle in communication by a prescribed IP protocol stack in a communication environment that can use the plurality of IP protocol stacks.SOLUTION: A communication apparatus for relaying communication between a user terminal and a server device includes: connection request transmission means for transmitting a connection request to the server device by using a plurality of types of IP protocol stacks when a service request to the server device is received from the user terminal; session establishment means for establishing a session with the server device by using the IP protocol stack used for a response received from the server device as a response to the connection request; and relay means for transmitting the service request to the server device by using the session, receiving the response to the service request from the server device and transmitting the response to the user terminal.

Description

本発明は、IPv4とIPv6等の複数IPプロトコルスタックを使用可能な通信環境における通信技術に関するものである。   The present invention relates to a communication technology in a communication environment in which a plurality of IP protocol stacks such as IPv4 and IPv6 can be used.

IPv4とIPv6のデュアルスタック環境では、IPv6を優先してセッションの確立を試み、タイムアウト等の支障があった場合にIPv4で再度試す方式が一般的に行われてきた。しかし、IPv6に支障があった場合に、セッションの確立までに時間がかかり、ユーザの利便性が損なわれるという問題があった。それを解決するために、IPv4とIPv6の通信確立を同時に試み、先に応答のあったプロトコルスタックでセッションを確立する手法が知られている(非特許文献1参照)。   In a dual stack environment of IPv4 and IPv6, a method has been generally used in which IPv6 is prioritized and session establishment is attempted, and when there is a problem such as a timeout, it is retried with IPv4. However, when there is a problem with IPv6, there is a problem that it takes time to establish a session and the convenience of the user is impaired. In order to solve this problem, a method is known in which IPv4 and IPv6 communication establishment is attempted at the same time, and a session is established using a protocol stack that has previously responded (see Non-Patent Document 1).

Happy Eyeballs, http://tools.ietf.org/html/draft-wing-v6ops-happy-eyeballs-ipv6-01(2012年2月17日検索)Happy Eyeballs, http://tools.ietf.org/html/draft-wing-v6ops-happy-eyeballs-ipv6-01 (searched on February 17, 2012)

しかしながら、前述のHappy Eyeballsは、エンド端末での実装を前提としており、実装していない端末やアプリケーションの場合は、IPv6のタイムアウト後にIPv4へ切り替えとなるため、依然としてユーザの利便性は悪いという問題がある。   However, the above-mentioned Happy Eyeballs are premised on implementation on end terminals, and in the case of terminals and applications that are not installed, there is a problem that user convenience is still bad because it switches to IPv4 after IPv6 timeout. is there.

本発明は上記の点に鑑みてなされたものであり、IPv4とIPv6等の複数IPプロトコルスタックを使用し得る通信環境において、あるIPプロトコルスタックによる通信に支障がある場合であっても、支障による影響をユーザに感じさせることなく通信サービスを提供するための技術を実現することを目的とする。   The present invention has been made in view of the above points, and in a communication environment in which a plurality of IP protocol stacks such as IPv4 and IPv6 can be used, even if there is a problem in communication with a certain IP protocol stack, The purpose is to realize a technology for providing a communication service without making the user feel the influence.

上記の課題を解決するために、本発明は、ユーザ端末とサーバ装置との間で通信の中継を行う通信装置であって、
前記サーバ装置に対するサービス要求を前記ユーザ端末から受信した場合に、前記サーバ装置に対する接続要求を、複数種類のIPプロトコルスタックのそれぞれを用いて送信する接続要求送信手段と、
前記接続要求に対する応答として前記サーバ装置から受信した応答に用いられたIPプロトコルスタックを用いて、前記サーバ装置との間のセッションを確立するセッション確立手段と、
前記セッションを用いて前記サービス要求を前記サーバ装置に送信し、当該サーバ装置から当該サービス要求に対する応答を受信し、当該応答を前記ユーザ端末に送信する中継手段と
を備えたことを特徴とする通信装置として構成される。
In order to solve the above problem, the present invention is a communication device that relays communication between a user terminal and a server device,
A connection request transmitting means for transmitting a connection request for the server device using each of a plurality of types of IP protocol stacks when a service request for the server device is received from the user terminal;
Session establishment means for establishing a session with the server device using the IP protocol stack used for the response received from the server device as a response to the connection request;
Relay means for transmitting the service request to the server device using the session, receiving a response to the service request from the server device, and transmitting the response to the user terminal. Configured as a device.

また、本発明は、上記通信装置が実行する通信方法、及び、通信機能を備えるコンピュータを、上記通信装置の各手段として機能させるためのプログラムとして構成することもできる。   The present invention can also be configured as a program for causing a communication method executed by the communication device and a computer having a communication function to function as each unit of the communication device.

本発明によれば、IPv4とIPv6等の複数IPプロトコルスタックを使用し得る通信環境において、あるIPプロトコルスタックによる通信に支障がある場合であっても、支障による影響をユーザに感じさせることなく通信サービスを提供するための技術が実現される。   According to the present invention, even in a communication environment in which a plurality of IP protocol stacks such as IPv4 and IPv6 can be used, even if communication by a certain IP protocol stack is hindered, communication can be performed without making the user feel the influence of the trouble Technology for providing services is realized.

本発明の実施の形態に係るシステム構成図である。It is a system configuration figure concerning an embodiment of the invention. プロキシ装置10の機能構成図である。2 is a functional configuration diagram of a proxy device 10. FIG. 動作例1を説明するためのシーケンス図である。FIG. 6 is a sequence diagram for explaining an operation example 1; 動作例2を説明するためのシーケンス図である。FIG. 10 is a sequence diagram for explaining an operation example 2; 動作例3を説明するためのシーケンス図である。FIG. 10 is a sequence diagram for explaining an operation example 3;

以下、図面を参照して本発明の実施の形態を説明する。なお、以下で説明する実施の形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。例えば、本実施の形態では、プロトコルスタックとしてIPv4とIPv6を用いる例を示しているが、プロトコルスタックがIPv4とIPv6以外の場合でも本発明を適用することが可能である。また、通信においてTCPを用いる場合を示しているが、これも一例に過ぎず、本発明はTCP以外のプロトコルを用いた通信においても適用可能である。   Embodiments of the present invention will be described below with reference to the drawings. The embodiment described below is only an example, and the embodiment to which the present invention is applied is not limited to the following embodiment. For example, in this embodiment, an example is shown in which IPv4 and IPv6 are used as the protocol stack, but the present invention can be applied even when the protocol stack is other than IPv4 and IPv6. Although the case of using TCP in communication is shown, this is only an example, and the present invention can be applied to communication using a protocol other than TCP.

(システム構成)
図1に、本発明の実施の形態に係るシステム構成図を示す。図1に示すように、本実施の形態のシステムは、プロキシ装置10、サーバ装置20、及びユーザ端末30が図示のようにネットワークを介して接続された構成を有する。本実施の形態では、プロキシ装置10とサーバ装置20間はインターネットにより接続されている。
(System configuration)
FIG. 1 shows a system configuration diagram according to an embodiment of the present invention. As shown in FIG. 1, the system according to the present embodiment has a configuration in which a proxy device 10, a server device 20, and a user terminal 30 are connected via a network as illustrated. In the present embodiment, the proxy device 10 and the server device 20 are connected via the Internet.

本実施の形態において、ユーザ端末30は、ブラウザを備えるPCやスマートフォン等の一般的な端末である。サーバ装置20は、Webサーバ機能を備え、サービス要求(本例ではデータ要求)に応じて、要求されたデータを提供する機能を有する。なお、本実施の形態では、サーバ装置20が提供するサービスとしてWebサービスを想定しているが、これは一例に過ぎず、本発明の適用にあたり、サーバ装置20が提供するサービスは特定のサービスに限定されるわけではない。   In the present embodiment, the user terminal 30 is a general terminal such as a PC or a smartphone provided with a browser. The server device 20 has a Web server function and a function of providing requested data in response to a service request (data request in this example). In the present embodiment, a Web service is assumed as a service provided by the server device 20, but this is only an example, and the service provided by the server device 20 is a specific service when the present invention is applied. It is not limited.

プロキシ装置10は、ユーザ端末30からのデータ要求を、ユーザ端末30の代理として、要求先のサーバ装置20に送信し、サーバ装置20から受信したデータを、ユーザ端末10に送信する中継機能を備えた装置である。また、本実施の形態のプロキシ装置10は、ユーザ端末30からのデータ要求の送信に用いられたプロトコルスタックや、サーバ装置20からの応答の通信に用いられたプロトコルスタック等に応じて、セッション接続に用いるプロトコルスタックを決定し、当該プロトコルスタックを用いてセッション接続を行う機能等も有する。   The proxy device 10 includes a relay function that transmits a data request from the user terminal 30 to the requesting server device 20 as a proxy of the user terminal 30 and transmits the data received from the server device 20 to the user terminal 10. Device. In addition, the proxy device 10 according to the present embodiment is connected to the session according to the protocol stack used for transmitting the data request from the user terminal 30 or the protocol stack used for communication of the response from the server device 20. A function of determining a protocol stack to be used for the session and performing session connection using the protocol stack is also provided.

図2に、本実施の形態に係るプロキシ装置10の機能構成図を示す。図2に示すように、本実施の形態に係るプロキシ装置10は、通信処理部11、セッション管理部12、プロトコルスタック決定部13を備える。なお、図2に示す構成は、本実施の形態に関わる機能部を主に示すものであり、プロキシとしての処理を行うための図示しない既存の機能を含むことは言うまでもない。   FIG. 2 shows a functional configuration diagram of the proxy apparatus 10 according to the present embodiment. As shown in FIG. 2, the proxy device 10 according to the present embodiment includes a communication processing unit 11, a session management unit 12, and a protocol stack determination unit 13. The configuration shown in FIG. 2 mainly shows functional units related to the present embodiment, and it goes without saying that it includes an existing function (not shown) for performing processing as a proxy.

通信処理部11は、ユーザ端末30との間、及びサーバ装置20との間のそれぞれの通信(本実施形態ではIPパケット通信)を行うための機能部である。通信処理部11は、IPv6機能部111とIPv4機能部112の両方を備えており、ユーザ端末30との間、及びサーバ装置20との間のいずれにおいてもIPv6とIPv4の通信を行うことが可能である。本実施の形態では、ユーザ端末30との間は、ユーザ端末30からの接続要求(TCP syn)に用いられたプロトコルスタックを用いて接続を行い、サーバ装置20との間は、プロトコルスタック決定部13により決定されたプロトコルスタックで接続を行う。   The communication processing unit 11 is a functional unit for performing respective communication (IP packet communication in the present embodiment) with the user terminal 30 and with the server device 20. The communication processing unit 11 includes both the IPv6 function unit 111 and the IPv4 function unit 112, and can perform IPv6 and IPv4 communication both with the user terminal 30 and with the server device 20. It is. In the present embodiment, connection with the user terminal 30 is performed using the protocol stack used in the connection request (TCP syn) from the user terminal 30, and the protocol stack determining unit is connected with the server device 20. The connection is made with the protocol stack determined by 13.

セッション管理部12は、プロキシ装置10とユーザ端末30との間のTCPセッション(以下、単に"セッション"と呼ぶ)、及びプロキシ装置10とサーバ装置20との間のセッションを管理する機能部である。セッション管理部12は、例えば、セッション生成、消滅の管理(記憶)、プロキシ装置10とユーザ端末30との間のセッションとプロキシ装置10とサーバ装置20との間のセッションの対応付け等を行う。   The session management unit 12 is a functional unit that manages a TCP session between the proxy device 10 and the user terminal 30 (hereinafter simply referred to as “session”) and a session between the proxy device 10 and the server device 20. . The session management unit 12 performs, for example, session generation and extinction management (storage), associating a session between the proxy device 10 and the user terminal 30, and a session between the proxy device 10 and the server device 20, and the like.

プロトコルスタック決定部13は、ユーザ端末30から受信するパケットやサーバ装置20から受信するパケットから得られる使用プロトコルスタックの情報を通信処理部11から取得して、予め定めた条件に基づいて、サーバ装置20とプロキシ装置10間の接続に使用するプロトコルスタックを決定し、決定したプロトコルスタックを通信処理部11に通知する機能を有する。上記予め定めた条件は、例えば、プロキシ装置10のメモリ等の記憶手段に予め格納される。具体的なプロトコルスタックの決定方法については、後の動作例のところで説明する。   The protocol stack determination unit 13 obtains information on the used protocol stack obtained from the packet received from the user terminal 30 or the packet received from the server device 20 from the communication processing unit 11, and based on a predetermined condition, the server device 20 has a function of determining a protocol stack to be used for connection between the proxy device 10 and the proxy device 10 and notifying the communication processing unit 11 of the determined protocol stack. The predetermined condition is stored in advance in a storage unit such as a memory of the proxy device 10, for example. A specific protocol stack determination method will be described later in the operation example.

プロキシ装置10は、後述する動作を実現できる通信装置であり、当該通信装置は以下のように構成することもできる。   The proxy device 10 is a communication device that can realize the operation described later, and the communication device can also be configured as follows.

上記通信装置は、ユーザ端末とサーバ装置との間で通信の中継を行う通信装置であって、
前記サーバ装置に対するサービス要求を前記ユーザ端末から受信した場合に、前記サーバ装置に対する接続要求を、複数種類のIPプロトコルスタックのそれぞれを用いて送信する接続要求送信手段と、前記接続要求に対する応答として前記サーバ装置から受信した応答に用いられたIPプロトコルスタックを用いて、前記サーバ装置との間のセッションを確立するセッション確立手段と、前記セッションを用いて前記サービス要求を前記サーバ装置に送信し、当該サーバ装置から当該サービス要求に対する応答を受信し、当該応答を前記ユーザ端末に送信する中継手段とを備える。
The communication device is a communication device that relays communication between a user terminal and a server device,
When a service request for the server device is received from the user terminal, a connection request transmission means for transmitting a connection request for the server device using each of a plurality of types of IP protocol stacks, and as a response to the connection request, Session establishment means for establishing a session with the server device using the IP protocol stack used for the response received from the server device, and sending the service request to the server device using the session, Relay means for receiving a response to the service request from the server device and transmitting the response to the user terminal.

なお、接続要求送信手段とセッション確立手段は、主に前述したプロトコルスタック決定部13と通信処理部11に対応し、中継手段は主に通信処理部11とセッション管理部12に対応する。   The connection request transmission unit and the session establishment unit mainly correspond to the above-described protocol stack determination unit 13 and the communication processing unit 11, and the relay unit mainly corresponds to the communication processing unit 11 and the session management unit 12.

前記接続要求送信手段は、前記ユーザ端末から受信するサービス要求の送信に用いられたIPプロトコルスタックの種類を判別し、当該種類に応じて、前記複数種類のIPプロトコルスタックにより複数回送信する前記接続要求の送信順を決定し、決定した送信順で各IPプロトコルスタックにより前記接続要求を順次前記サーバ装置に送信する。   The connection request transmitting means determines the type of IP protocol stack used for transmitting the service request received from the user terminal, and transmits the connection a plurality of times using the plurality of types of IP protocol stacks according to the type. A request transmission order is determined, and the connection requests are sequentially transmitted to the server apparatus by each IP protocol stack in the determined transmission order.

また、例えば、前記接続要求送信手段は、前記ユーザ端末から受信するサービス要求の送信に用いられたIPプロトコルスタックと同じIPプロトコルスタックを用いて最初の接続要求を前記サーバ装置に送信する。また、例えば、前記セッション確立手段は、前記サーバ装置から最初に受信した応答に用いられたIPプロトコルスタックを用いて、前記サーバ装置との間のセッションを確立する。   Further, for example, the connection request transmitting means transmits an initial connection request to the server device using the same IP protocol stack as that used for transmitting the service request received from the user terminal. Further, for example, the session establishing means establishes a session with the server device using the IP protocol stack used for the response received first from the server device.

前記セッション確立手段は、前記ユーザ端末から受信するサービス要求の送信に用いられたIPプロトコルスタックとは異なるIPプロトコルスタックにより前記接続要求に対する応答を前記サーバ装置から最初に受信した場合、当該応答を受信後、予め定めた時間以内に、前記ユーザ端末から受信するサービス要求の送信に用いられたIPプロトコルスタックと同じIPプロトコルスタックによる応答を受信した場合に、当該IPプロトコルスタックを用いて前記サーバ装置との間のセッションを確立するように構成してもよい。   The session establishing means receives the response when the response to the connection request is first received from the server device by an IP protocol stack different from the IP protocol stack used for transmitting the service request received from the user terminal. Thereafter, when a response by the same IP protocol stack as the IP protocol stack used for transmission of the service request received from the user terminal is received within a predetermined time, the server apparatus May be configured to establish a session between.

また、前記接続要求送信手段は、第1IPプロトコルスタックにより前記接続要求を前記サーバ装置に送信した後、所定時間が経過した時点で、第2IPプロトコルスタックにより前記接続要求を前記サーバ装置に送信するように構成してもよい。   Further, the connection request transmitting means transmits the connection request to the server apparatus by a second IP protocol stack when a predetermined time has elapsed after transmitting the connection request to the server apparatus by the first IP protocol stack. You may comprise.

本実施の形態に係るプロキシ装置10は、通信機能を有するコンピュータ(サーバ等)、もしくはコンピュータの機能を含む通信装置(ルータ等、通信機能を備えるコンピュータの一種である)に、本実施の形態で説明する処理に対応するプログラムを実行させることにより実現可能である。当該プログラムは、可搬メモリ等の記憶媒体に格納して配布し、上記装置にインストールして用いてもよいし、ネットワーク上のサーバからダウンロードして上記装置にインストールしてもよい。また、本実施の形態で説明する処理をハードウェア回路として実現し、当該ハードウェア回路を備える装置としてプロキシ装置10を実現してもよい。   The proxy device 10 according to the present embodiment is used in a computer having a communication function (such as a server) or a communication device including a computer function (such as a router, which is a kind of computer having a communication function). This can be realized by executing a program corresponding to the processing to be described. The program may be stored in a storage medium such as a portable memory, distributed, installed in the device, or downloaded from a server on the network and installed in the device. Further, the processing described in the present embodiment may be realized as a hardware circuit, and the proxy device 10 may be realized as a device including the hardware circuit.

(システムの動作)
以下、本実施の形態に係るシステムの動作例を図3〜図5のシーケンス図を参照して説明する。以下の各動作例において、ユーザ端末30のブラウザには、インターネット接続の際にプロキシ装置10に接続するようにプロキシ設定がなされているものとする。
(System operation)
Hereinafter, an operation example of the system according to the present embodiment will be described with reference to the sequence diagrams of FIGS. In each of the following operation examples, it is assumed that proxy settings are made in the browser of the user terminal 30 so as to connect to the proxy device 10 when connecting to the Internet.

<動作例1>
まず、動作例1について図3のシーケンス図を参照して説明する。動作例1は、プロキシ装置10がユーザ端末30からIPv6による接続要求を受けて、ユーザ端末30との間にIPv6によるセッションを確立し、サービス要求に応じてIPv6とIPv4の双方でサーバ装置20に対して接続要求を送るが、サーバ装置20からIPv6による応答を先に受信した場合の例である。
<Operation example 1>
First, the operation example 1 will be described with reference to the sequence diagram of FIG. In the operation example 1, the proxy device 10 receives an IPv6 connection request from the user terminal 30, establishes an IPv6 session with the user terminal 30, and sends the request to the server device 20 in both IPv6 and IPv4 according to the service request. In this example, a connection request is sent to the server device 20, but an IPv6 response is received first from the server device 20.

本例では、IPv6とIPv4の双方のプロトコルスタックでTCP synパケットをサーバ装置20に送り、先に受信した応答のプロトコルスタックでサーバ装置20とのセッションを確立する旨の条件が予め定められ、記憶手段に格納されており、プロトコルスタック決定部13がこの条件を参照することで使用プロトコルスタックを決定している。   In this example, a condition for sending a TCP syn packet to the server apparatus 20 using both the IPv6 and IPv4 protocol stacks and establishing a session with the server apparatus 20 using the protocol stack of the response received in advance is determined and stored. The protocol stack determination unit 13 determines the protocol stack to be used by referring to this condition.

ステップ11)ユーザがWebブラウザでインターネットにアクセスする操作を行うと、ユーザ端末30はIPv6を用いてTCP synパケットをプロキシ装置10に送信し、プロキシ装置10からのTCP syn+ackパケットの応答、ユーザ端末30からのTCP ackパケットの送信を経て、ユーザ端末30とプロキシ装置10との間でIPv6を用いた3 hand shakeによるセッションの確立が行われる。   Step 11) When the user performs an operation of accessing the Internet with a Web browser, the user terminal 30 transmits a TCP syn packet to the proxy device 10 using IPv6, and a response of the TCP syn + ack packet from the proxy device 10 is displayed. Through transmission of a TCP ack packet from the terminal 30, a session is established between the user terminal 30 and the proxy device 10 by 3 hand shake using IPv6.

ステップ12)その後、ユーザ端末30から、サーバ装置20のデータを要求するget requestパケットがプロキシ装置10に送信される。   Step 12) Thereafter, a get request packet for requesting data of the server device 20 is transmitted from the user terminal 30 to the proxy device 10.

ステップ13)ユーザ端末30からget requestパケット(サービス要求)を受信したプロキシ装置10は、サーバ装置20との間にセッションを確立するために、IPv6を用いたTCP synパケットとIPv4を用いたTCP synパケットの双方をサーバ装置20に送信する。なお、このとき、get requestの宛先のIPv4アドレス及びIPv6アドレスをDNSサーバに問い合わせ、DNSサーバから取得したIPv4アドレス及びIPv6アドレスを用いてTCP synパケットの送信を行っている。本実施の形態の他の例でも同様にDNSサーバから使用するIPアドレスを取得している。DNSサーバからIPアドレスを取得する動作は、一般的な動作であり、以降の説明ではこの動作の記述を省略する。   Step 13) Upon receiving the get request packet (service request) from the user terminal 30, the proxy device 10 establishes a session with the server device 20 using a TCP syn packet using IPv6 and a TCP syn using IPv4. Both of the packets are transmitted to the server device 20. At this time, the IPv4 address and IPv6 address of the destination of the get request are inquired of the DNS server, and the TCP syn packet is transmitted using the IPv4 address and IPv6 address acquired from the DNS server. In another example of the present embodiment, the IP address to be used is acquired from the DNS server in the same manner. The operation of acquiring the IP address from the DNS server is a general operation, and the description of this operation is omitted in the following description.

ステップ13では、IPv6を用いたTCP synパケットとIPv4を用いたTCP synパケットをほぼ同時に送信するが、実際には、どちらかが先、どちらかが後になる。そのため、例えば、ユーザ端末30との間でのセッション確立に用いたプロトコルスタックと同じプロトコルスタックであるIPv6を用いたTCP synパケットを先に送信し、その後(非常に短い時間の後)に、IPv4を用いたTCP synパケットを送るようにしてもよいし、ユーザ端末30との間でのセッション確立に用いたプロトコルスタックに関わらず、予め定めた順番でIPv6とIPv4の双方のTCP synパケットを送信するようにしてもよい。   In step 13, the TCP syn packet using IPv6 and the TCP syn packet using IPv4 are transmitted almost simultaneously, but in actuality, one is first and the other is later. Therefore, for example, a TCP syn packet using IPv6 which is the same protocol stack as that used for establishing a session with the user terminal 30 is transmitted first, and then (after a very short time), IPv4 is transmitted. TCP syn packets may be sent, and both IPv6 and IPv4 TCP syn packets will be sent in a predetermined order regardless of the protocol stack used to establish a session with the user terminal 30. You may make it do.

ステップ14)IPv6及びIPv4の双方でTCP synパケットを受信したサーバ装置20は、応答可能なプロトコルスタックでTCP syn+ackパケットをプロキシ装置10に送信する。本例では、サーバ装置20は、IPv6及びIPv4の双方の機能を有するため、サーバ装置20は、IPv6及びIPv4の双方でTCP syn+ackパケットをプロキシ装置10に送信する。また、本例では、IPv6を用いたTCP syn+ackパケットが先にプロキシ装置10に到達し、IPv4を用いたTCP syn+ackパケットがIPv6のTCP syn+ackパケットの後にプロキシ装置10に到達するものとする。   Step 14) Upon receiving the TCP syn packet in both IPv6 and IPv4, the server device 20 transmits a TCP syn + ack packet to the proxy device 10 using a protocol stack that can respond. In this example, since the server device 20 has both IPv6 and IPv4 functions, the server device 20 transmits a TCP syn + ack packet to the proxy device 10 in both IPv6 and IPv4. In this example, the TCP syn + ack packet using IPv6 reaches the proxy device 10 first, and the TCP syn + ack packet using IPv4 reaches the proxy device 10 after the TCP syn + ack packet of IPv6. Shall.

ステップ15)IPv6及びIPv4の双方でTCP syn+ackパケットを受信したプロキシ装置10は、先に受信したプロトコルスタックであるIPv6を用いてTCP ackパケットをサーバ装置20に返す。これにより、プロキシ装置10とサーバ装置20間でIPv6によるセッションが確立される。その後、プロキシ装置10は、サーバ装置20に対してIPv6でget requestパケットを送信する。   Step 15) The proxy device 10 that has received the TCP syn + ack packet in both IPv6 and IPv4 returns the TCP ack packet to the server device 20 using IPv6 which is the protocol stack received earlier. As a result, an IPv6 session is established between the proxy device 10 and the server device 20. Thereafter, the proxy device 10 transmits a get request packet to the server device 20 using IPv6.

なお、仮に、1つプロトコルスタックのみのTCP syn+ackパケットを受信した場合は、その受信したパケットに用いられていたプロトコルスタックを用いてTCP ackパケットをサーバ装置20に返し、そのプロトコルスタックでのセッションが確立される。   If a TCP syn + ack packet for only one protocol stack is received, the TCP ack packet is returned to the server device 20 using the protocol stack used for the received packet, A session is established.

ステップ16)サーバ装置20はget requestの応答としてのデータをプロキシ装置10に送信し、プロキシ装置10は、サーバ装置20から受信したデータをユーザ端末30に転送する。以降、サーバ装置20とプロキシ装置10間、及びプロキシ装置10とユーザ端末30間の両方でIPv6による通信が行われる。   Step 16) The server device 20 transmits data as a response to the get request to the proxy device 10, and the proxy device 10 transfers the data received from the server device 20 to the user terminal 30. Thereafter, communication by IPv6 is performed both between the server device 20 and the proxy device 10 and between the proxy device 10 and the user terminal 30.

上記の例は、プロキシ装置10がサーバ装置20から先にIPv6によるTCP syn+ackパケットを受信した例であるが、プロキシ装置10がサーバ装置20から先にIPv4によるTCP syn+ackパケットを受信した場合は、プロキシ装置10とサーバ装置20間では、IPv4によるセッションが確立され、プロキシ装置10とサーバ装置20間では、IPv4によるデータ通信が行われることになる。   The above example is an example in which the proxy device 10 receives the TCP syn + ack packet based on IPv6 first from the server device 20, but the proxy device 10 receives the TCP syn + ack packet based on IPv4 first from the server device 20. In this case, an IPv4 session is established between the proxy device 10 and the server device 20, and data communication by IPv4 is performed between the proxy device 10 and the server device 20.

<動作例2>
次に、図4を参照して動作例2を説明する。動作例2は、プロキシ装置10がユーザ端末30から受信する接続要求に用いられていたプロトコルスタックに応じて、サーバ装置20に送出するプロトコルスタックの送信順を決定する例である。本例(動作例3も同様)では、どのプロトコルスタックでユーザ端末30からデータ要求(もしくは接続要求)を受信したときにどのプロトコルスタックでサーバ装置20に対して接続要求を送るか、サーバ装置20からどのプロトコルスタックで応答を受信した場合に、どのプロトコルスタックで接続を行うか、送信を待つための所定時間、などの条件が予め定められ、記憶手段に格納されており、プロトコルスタック決定部13がこの条件を参照することで以下の動作を実現している。また、条件を含むプログラムを実行させて、動作を実現することとしてもよい。また、プロトコルスタック決定部13は、所定時間待ちを行うためのタイマー機能を備えている。
<Operation example 2>
Next, an operation example 2 will be described with reference to FIG. The operation example 2 is an example in which the transmission order of the protocol stacks to be sent to the server device 20 is determined according to the protocol stack used for the connection request received by the proxy device 10 from the user terminal 30. In this example (the same applies to the operation example 3), which protocol stack receives a data request (or connection request) from the user terminal 30, which protocol stack sends a connection request to the server device 20, or the server device 20 When a response is received from which protocol stack, conditions such as which protocol stack to connect to and a predetermined time for waiting for transmission are determined in advance and stored in the storage means. Has realized the following operations by referring to this condition. The operation may be realized by executing a program including a condition. Further, the protocol stack determination unit 13 has a timer function for waiting for a predetermined time.

ステップ21)ユーザがWebブラウザでインターネットにアクセスする操作を行うと、ユーザ端末30はIPv6を用いてTCP synパケットをプロキシ装置10に送信し、プロキシ装置10からのTCP syn+ackパケットの応答、ユーザ端末30からのTCP ackパケットの送信を経て、ユーザ端末30とプロキシ装置10との間でIPv6を用いた3 hand shakeによるセッションの確立が行われる。   Step 21) When the user performs an operation of accessing the Internet with a Web browser, the user terminal 30 transmits a TCP syn packet to the proxy device 10 using IPv6, and a response of the TCP syn + ack packet from the proxy device 10 is displayed. Through transmission of a TCP ack packet from the terminal 30, a session is established between the user terminal 30 and the proxy device 10 by 3 hand shake using IPv6.

ステップ22)その後、ユーザ端末30から、サーバ装置20のデータを要求するget requestパケットがプロキシ装置10に送信される。   Step 22) Thereafter, a get request packet for requesting data of the server device 20 is transmitted from the user terminal 30 to the proxy device 10.

ステップ23)ユーザ端末30からget requestパケットを受信したプロキシ装置10は、プロトコルスタック決定部13において、ユーザ端末30から受信したデータ要求のプロトコルスタックがIPv6であることを判別し、予め定めた条件に基づいて、まず、IPv6を用いてTCP synパケットをサーバ装置20へ送信する。   Step 23) Upon receiving the get request packet from the user terminal 30, the proxy device 10 determines in the protocol stack determination unit 13 that the protocol stack of the data request received from the user terminal 30 is IPv6, and satisfies the predetermined condition. First, a TCP syn packet is transmitted to the server device 20 using IPv6.

本動作例での上記条件は、最初に、ユーザ端末30から受信するデータ要求のプロトコルスタックと同じプロトコルスタックでTCP synパケットをサーバ装置20へ送信し、当該TCP synパケットを送信後、所定時間経過した時点(一例として、250msec後)に、別のプロトコルスタックでTCP synパケットをサーバ装置20へ送信するというものである。従って、本例では、ユーザ端末30から受信するデータ要求のプロトコルスタックがIPv6であるため、まず、IPv6を用いてTCP synパケットをサーバ装置20へ送信している。   The above conditions in this operation example are as follows. First, a TCP syn packet is transmitted to the server device 20 using the same protocol stack as that of the data request received from the user terminal 30, and a predetermined time elapses after transmitting the TCP syn packet. At this time (for example, after 250 msec), a TCP syn packet is transmitted to the server device 20 by another protocol stack. Therefore, in this example, since the protocol stack of the data request received from the user terminal 30 is IPv6, first, a TCP syn packet is transmitted to the server device 20 using IPv6.

ステップ24)続いてプロキシ装置10は、IPv6によるTCP synパケットを送信してから250msec後に、IPv4によりTCP synパケットをサーバ装置20に送信する。なお、250msecとするのは一例に過ぎないが、最初に送信したほうのIPv6の応答が250msec程度待っても来ない場合は、障害発生の可能性が高いため、250msec程度の間隔とすることで、IPv6に障害があったとしても、従来のようにIPv4のセッション確立に時間がかからず、ユーザにストレスを感じさせることなく迅速に通信を開始できる。   Step 24) Subsequently, the proxy apparatus 10 transmits the TCP syn packet to the server apparatus 20 by IPv4 250 msec after transmitting the TCP syn packet by IPv6. Although 250msec is only an example, if the first IPv6 response sent does not come after waiting for about 250msec, there is a high possibility of failure, so the interval should be about 250msec. Even if there is a failure in IPv6, it takes less time to establish an IPv4 session than in the past, and communication can be started quickly without causing the user to feel stressed.

ステップ25)TCP synパケットを受信したサーバ装置20は、応答可能なプロトコルスタックでTCP syn+ackパケットをプロキシ装置10に送信する。本例では、サーバ装置20は、IPv6及びIPv4の双方の機能を有するため、サーバ装置20は、IPv6及びIPv4の双方でTCP syn+ackパケットをプロキシ装置10に送信する。また、本例では、IPv6を用いたTCP syn+ackパケットが先にプロキシ装置10に到達し、IPv4を用いたTCP syn+ackパケットがIPv6のTCP syn+ackパケットの後にプロキシ装置10に到達する。   Step 25) Upon receiving the TCP syn packet, the server device 20 transmits a TCP syn + ack packet to the proxy device 10 using a protocol stack that can respond. In this example, since the server device 20 has both IPv6 and IPv4 functions, the server device 20 transmits a TCP syn + ack packet to the proxy device 10 in both IPv6 and IPv4. In this example, the TCP syn + ack packet using IPv6 reaches the proxy device 10 first, and the TCP syn + ack packet using IPv4 reaches the proxy device 10 after the TCP syn + ack packet of IPv6. .

ステップ26)IPv6及びIPv4の双方でTCP syn+ackパケットを受信したプロキシ装置は、予め定めた条件に基づき、先に受信したプロトコルスタック(本例ではIPv6)を用いてTCP ackパケットをサーバ装置20に返す。これにより、プロキシ装置10とサーバ装置20間でIPv6によるセッションが確立され、プロキシ装置10は、サーバ装置20に対してIPv6でget requestパケットを送信する。   Step 26) The proxy device that has received the TCP syn + ack packet in both IPv6 and IPv4 uses the previously received protocol stack (IPv6 in this example) to send the TCP ack packet to the server device 20 based on a predetermined condition. Return to. As a result, an IPv6 session is established between the proxy device 10 and the server device 20, and the proxy device 10 transmits a get request packet to the server device 20 using IPv6.

なお、仮に、1つプロトコルスタックのみのTCP syn+ackパケットを受信した場合は、その受信したパケットに用いられていたプロトコルスタックを用いてTCP ackパケットをサーバ装置20に返し、そのプロトコルスタックでのTCPセッションが確立されることになる。   If a TCP syn + ack packet for only one protocol stack is received, the TCP ack packet is returned to the server device 20 using the protocol stack used for the received packet, A TCP session will be established.

また、一方のプロトコルスタックでのTCP syn+ackパケットを先に受信した場合に、他のプロトコルスタックでのTCP syn+ackパケットの受信を待たずに、先に受信したほうのプロトコルスタックでTCP ackパケットを送信してもよい。例えば、IPv6でのTCP syn+ackパケットを先に受信した場合に、IPv4でのTCP syn+ackパケットを受信したしないに関わらず、IPv6でのTCP ackパケットを送信してよい。また、例えば、IPv6でのTCP syn+ackパケットを、IPv4でのTCP synパケットの送信タイミングが来る前に受信した場合には、IPv4でのTCP synパケットの送信をキャンセルして、IPv6でのTCP ackパケットを送信することとしてもよい。   Also, when a TCP syn + ack packet in one protocol stack is received first, the TCP ack is received in the protocol stack that received first without waiting for the reception of the TCP syn + ack packet in the other protocol stack. A packet may be transmitted. For example, when a TCP syn + ack packet in IPv6 is received first, a TCP ack packet in IPv6 may be transmitted regardless of whether the TCP syn + ack packet in IPv4 is received. Also, for example, if a TCP syn + ack packet in IPv6 is received before the TCP syn packet transmission timing arrives in IPv4, the TCP syn packet transmission in IPv4 is canceled and TCP in IPv6 An ack packet may be transmitted.

ステップ27)サーバ装置20はget requestの応答としてのデータをプロキシ装置10に送信し、プロキシ装置10は、サーバ装置20から受信したデータをユーザ端末30に転送する。以降、サーバ装置20とプロキシ装置10間、及びプロキシ装置10とユーザ端末30間の両方でIPv6による通信が行われる。   Step 27) The server device 20 transmits data as a response to the get request to the proxy device 10, and the proxy device 10 transfers the data received from the server device 20 to the user terminal 30. Thereafter, communication by IPv6 is performed both between the server device 20 and the proxy device 10 and between the proxy device 10 and the user terminal 30.

上記の2例は、ユーザ端末30からIPv6での接続要求が送信される場合の例であるが、ユーザ端末30からIPv4での接続要求が送信される場合には、プロキシ装置10はIPv4のみの接続要求をサーバ装置20に送信することとしてもよいし、IPv4とIPv6の双方で接続要求を送信することとしてもよい。IPv4とIPv6の双方で接続要求を送信する際には、IPv4での接続要求を先に送信することとしてよい。もしくは、ユーザ端末30との間のプロトコルスイートに関わらず、IPv6での接続要求を先にサーバ装置20に送信し、所定時間後にIPv4での接続要求をサーバ装置20に送信することとしてもよい。   The above two examples are examples in the case where a connection request in IPv6 is transmitted from the user terminal 30, but when a connection request in IPv4 is transmitted from the user terminal 30, the proxy device 10 can only use IPv4. A connection request may be transmitted to the server device 20, or a connection request may be transmitted by both IPv4 and IPv6. When sending a connection request in both IPv4 and IPv6, the connection request in IPv4 may be sent first. Alternatively, regardless of the protocol suite with the user terminal 30, an IPv6 connection request may be transmitted to the server device 20 first, and an IPv4 connection request may be transmitted to the server device 20 after a predetermined time.

<動作例3>
上記の2例では、プロキシ装置10がサーバ装置20から先に受信したTCP syn+ackパケットのプロトコルスタックにてサーバ装置20とプロキシ装置10間のセッションを確立することとしたが、どちらかのプロトコルスタックでのセッション確立を優先させるために、サーバ装置20から片方のプロトコルスタックによるTCP syn+ackパケットを先に受信したとしても、もう一方を所定時間(例:250msec)だけ待ち、所定時間以内に当該もう一方のプロトコルスタックによるTCP syn+ackパケットを受信した場合は、このプロトコルスタックによるTCP ackパケットを送信し、所定時間以内に当該もう一方のプロトコルスタックによるTCP syn+ackパケットを受信しなかった場合に、最初に受信したTCP syn+ackパケットと同じプロトコルスタックによるTCP ackパケットを送信することとしてよい。
<Operation example 3>
In the above two examples, the proxy device 10 establishes a session between the server device 20 and the proxy device 10 using the protocol stack of the TCP syn + ack packet received from the server device 20 first. In order to prioritize the session establishment in the stack, even if the TCP syn + ack packet by one protocol stack is received from the server device 20 first, the other waits for a predetermined time (eg, 250 msec), and within the predetermined time When a TCP syn + ack packet by the other protocol stack is received, a TCP ack packet by this protocol stack is transmitted, and a TCP syn + ack packet by the other protocol stack is not received within a predetermined time. TCP ack packet with the same protocol stack as the first received TCP syn + ack packet May be transmitted.

例えば、プロキシ装置10とユーザ端末30との間のプロトコルスタックがIPv6の場合にIPv6を優先することとし、仮にサーバ装置20からIPv4のTCP syn+ackパケットを先に受信したとしても、受信後所定時間(例:250msec)の間はIPv6でのTCP syn+ackパケットを待ち、250msec以内にIPv6のTCP syn+ackパケットを受信した場合には、プロキシ装置10とサーバ装置20間のセッションはIPv6を用いて確立することとする。これにより、ユーザ端末30とプロキシ装置10間、及びプロキシ装置10とサーバ装置20間のプロトコルスタックを揃えることが可能になるため、予期せぬエラー等を防ぐことが可能となる。   For example, when the protocol stack between the proxy device 10 and the user terminal 30 is IPv6, priority is given to IPv6, and even if an IPv4 TCP syn + ack packet is received first from the server device 20, it is predetermined after reception. Wait for IPv6 TCP syn + ack packet for a time (example: 250msec), and if the IPv6 TCP syn + ack packet is received within 250msec, the session between proxy device 10 and server device 20 will use IPv6. To establish it. Thereby, the protocol stacks between the user terminal 30 and the proxy device 10 and between the proxy device 10 and the server device 20 can be aligned, so that an unexpected error or the like can be prevented.

図5は、IPv6を優先する場合のプロキシ装置10とサーバ装置20間の動作を示す図である。   FIG. 5 is a diagram illustrating an operation between the proxy device 10 and the server device 20 when priority is given to IPv6.

ステップ31)プロキシ装置10は、動作例1、2と同様にIPv6とIPv4の双方でTCP ackパケットをサーバ装置20に送信する。   Step 31) The proxy device 10 transmits a TCP ack packet to both the IPv6 and IPv4 to the server device 20 in the same manner as in the operation examples 1 and 2.

ステップ32)プロキシ装置10は、IPv4でのTCP syn+ackパケットを先に受信するが、すぐにIPv4でのTCP ackパケットを返さずに、IPv6でのTCP syn+ackパケットを所定時間が経過するまで待つ。   Step 32) The proxy device 10 receives the TCP syn + ack packet in IPv4 first, but does not return the TCP ack packet in IPv4 immediately, but the TCP syn + ack packet in IPv6 passes for a predetermined time. Wait until.

ステップ33)プロキシ装置10は、IPv4でのTCP syn+ackパケットを受信してから所定時間以内に、IPv6でのTCP syn+ackパケットを受信する。   Step 33) The proxy device 10 receives the TCP syn + ack packet in IPv6 within a predetermined time after receiving the TCP syn + ack packet in IPv4.

ステップ34)プロキシ装置10は、所定時間以内にIPv6でのTCP syn+ackパケットを受信したので、IPv6でのTCP ackパケットをサーバ装置20に送信し、get requestを送信する。   Step 34) Since the proxy device 10 receives the TCP syn + ack packet in IPv6 within a predetermined time, the proxy device 10 transmits the TCP ack packet in IPv6 to the server device 20 and transmits a get request.

ステップ35)サーバ装置20は、要求されたデータをIPv6を用いてプロキシ装置10に送信する。   Step 35) The server device 20 transmits the requested data to the proxy device 10 using IPv6.

(その他の例)
これまでに説明した例では、プロキシ装置10とサーバ装置20間で一旦あるプロトコルスタックでセッションが確立した後は、そのセッションを用いて通信を行うこととしているが、先にあるプロトコルスタックでセッションが確立した後に、他のプロトコルスタックによるセッションに切り替えることとしてもよい。例えば、プロキシ装置10とサーバ装置20間で先にIPv4でセッションが確立した場合でも、その後に、IPv6での応答(TCP syn+ack)をプロキシ装置10が受信した場合には、ユーザ端末30とサーバ装置20間でのデータ通信に支障のないタイミングで、プロキシ装置10とサーバ装置20間のセッションをIPv6によるセッションに切り替えてもよい。
(Other examples)
In the example described so far, once a session is established with a certain protocol stack between the proxy device 10 and the server device 20, communication is performed using the session. After the establishment, the session may be switched to another protocol stack. For example, even if a session is established with IPv4 between the proxy device 10 and the server device 20 first, if the proxy device 10 subsequently receives a response (TCP syn + ack) with IPv6, the user terminal 30 The session between the proxy device 10 and the server device 20 may be switched to a session using IPv6 at a timing that does not hinder data communication between the server devices 20.

また、これまでに説明した例では、基本的に、ユーザ端末30とプロキシ装置10間のプロトコルスタックと同じプロトコルスタックでプロキシ装置10とサーバ装置20間でのセッションを確立させるようにしているが、ユーザ端末30とプロキシ装置10間のプロトコルスタックに関わらず、いずれかのプロトコルスタックを優先して使用してプロキシ装置10とサーバ装置20間でのセッションを確立させるようにしてもよい。   In the examples described so far, basically, the session between the proxy device 10 and the server device 20 is established with the same protocol stack as the protocol stack between the user terminal 30 and the proxy device 10. Regardless of the protocol stack between the user terminal 30 and the proxy device 10, one of the protocol stacks may be preferentially used to establish a session between the proxy device 10 and the server device 20.

また、本実施の形態は、ユーザ端末30がプロキシ装置10を介してWebアクセスを行う例を説明しているが、本発明のプロキシ装置10は、SIPプロキシサーバ、DNSリゾルバ、その他のリレー系アプリケーションに適用することも可能である。また、プロキシ装置10の機能を、CPE(ブロードバンドルータ等)に実装することとしてもよい。   In addition, although the present embodiment describes an example in which the user terminal 30 performs Web access via the proxy device 10, the proxy device 10 of the present invention is a SIP proxy server, DNS resolver, or other relay system application. It is also possible to apply to. Further, the function of the proxy device 10 may be implemented in a CPE (broadband router or the like).

(実施の形態の効果)
上記のように、本実施の形態で説明した技術によれば、プロキシ装置10においてIPv6とIPv4の切り替えを制御することで、ユーザ端末30で使用するプロトコルスタックやサービス提供側で使用するプロトコルスタックに関わらす、ユーザにストレスのない通信環境を提供することができる。
(Effect of embodiment)
As described above, according to the technology described in the present embodiment, the proxy device 10 controls switching between IPv6 and IPv4, so that the protocol stack used in the user terminal 30 or the protocol stack used on the service providing side can be changed. It is possible to provide a user-free communication environment.

本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。   The present invention is not limited to the above-described embodiments, and various modifications and applications are possible within the scope of the claims.

10 プロキシ装置
11 通信処理部
111 IPv6機能部
112 IPv4機能部
12 セッション管理部
13 プロトコルスタック決定部
20 サーバ装置
30 ユーザ端末
DESCRIPTION OF SYMBOLS 10 Proxy apparatus 11 Communication processing part 111 IPv6 function part 112 IPv4 function part 12 Session management part 13 Protocol stack determination part 20 Server apparatus 30 User terminal

Claims (9)

ユーザ端末とサーバ装置との間で通信の中継を行う通信装置であって、
前記サーバ装置に対するサービス要求を前記ユーザ端末から受信した場合に、前記サーバ装置に対する接続要求を、複数種類のIPプロトコルスタックのそれぞれを用いて送信する接続要求送信手段と、
前記接続要求に対する応答として前記サーバ装置から受信した応答に用いられたIPプロトコルスタックを用いて、前記サーバ装置との間のセッションを確立するセッション確立手段と、
前記セッションを用いて前記サービス要求を前記サーバ装置に送信し、当該サーバ装置から当該サービス要求に対する応答を受信し、当該応答を前記ユーザ端末に送信する中継手段と
を備えたことを特徴とする通信装置。
A communication device that relays communication between a user terminal and a server device,
A connection request transmitting means for transmitting a connection request for the server device using each of a plurality of types of IP protocol stacks when a service request for the server device is received from the user terminal;
Session establishment means for establishing a session with the server device using the IP protocol stack used for the response received from the server device as a response to the connection request;
Relay means for transmitting the service request to the server device using the session, receiving a response to the service request from the server device, and transmitting the response to the user terminal. apparatus.
前記接続要求送信手段は、前記ユーザ端末から受信するサービス要求の送信に用いられたIPプロトコルスタックの種類を判別し、当該種類に応じて、前記複数種類のIPプロトコルスタックにより複数回送信する前記接続要求の送信順を決定し、決定した送信順で各IPプロトコルスタックにより前記接続要求を順次前記サーバ装置に送信する
ことを特徴とする請求項1に記載の通信装置。
The connection request transmitting means determines the type of IP protocol stack used for transmitting the service request received from the user terminal, and transmits the connection a plurality of times using the plurality of types of IP protocol stacks according to the type. The communication apparatus according to claim 1, wherein a transmission order of requests is determined, and the connection requests are sequentially transmitted to the server apparatus by each IP protocol stack in the determined transmission order.
前記接続要求送信手段は、前記ユーザ端末から受信するサービス要求の送信に用いられたIPプロトコルスタックと同じIPプロトコルスタックを用いて最初の接続要求を前記サーバ装置に送信する
ことを特徴とする請求項2に記載の通信装置。
The connection request transmitting means transmits an initial connection request to the server device using the same IP protocol stack used for transmitting a service request received from the user terminal. 2. The communication device according to 2.
前記セッション確立手段は、前記サーバ装置から最初に受信した応答に用いられたIPプロトコルスタックを用いて、前記サーバ装置との間のセッションを確立する
ことを特徴とする請求項1ないし3のうちいずれか1項に記載の通信装置。
The session establishment means establishes a session with the server device using an IP protocol stack used for a response received first from the server device. The communication apparatus according to claim 1.
前記セッション確立手段は、前記ユーザ端末から受信するサービス要求の送信に用いられたIPプロトコルスタックとは異なるIPプロトコルスタックにより前記接続要求に対する応答を前記サーバ装置から最初に受信した場合、当該応答を受信後、予め定めた時間以内に、前記ユーザ端末から受信するサービス要求の送信に用いられたIPプロトコルスタックと同じIPプロトコルスタックによる応答を受信した場合に、当該IPプロトコルスタックを用いて前記サーバ装置との間のセッションを確立する
ことを特徴とする請求項1ないし3のうちいずれか1項に記載の通信装置。
The session establishing means receives the response when the response to the connection request is first received from the server device by an IP protocol stack different from the IP protocol stack used for transmitting the service request received from the user terminal. Thereafter, when a response by the same IP protocol stack as the IP protocol stack used for transmission of the service request received from the user terminal is received within a predetermined time, the server apparatus The communication device according to claim 1, wherein a session between the communication devices is established.
前記複数種類のIPプロトコルスタックは、第1IPプロトコルスタックと第2IPプロトコルスタックを有し、
前記接続要求送信手段は、前記第1IPプロトコルスタックにより前記接続要求を前記サーバ装置に送信した後、所定時間が経過した時点で、前記第2IPプロトコルスタックにより前記接続要求を前記サーバ装置に送信する
ことを特徴とする請求項1ないし5のうちいずれか1項に記載の通信装置。
The plurality of types of IP protocol stacks include a first IP protocol stack and a second IP protocol stack,
The connection request transmitting means transmits the connection request to the server apparatus by the second IP protocol stack when a predetermined time has elapsed after transmitting the connection request to the server apparatus by the first IP protocol stack. The communication device according to claim 1, wherein:
前記複数種類のIPプロトコルスタックは、IPv4とIPv6の2種類のIPプロトコルスタックを有する
ことを特徴とする請求項1ないし6のうちいずれか1項に記載の通信装置。
The communication device according to any one of claims 1 to 6, wherein the plurality of types of IP protocol stacks include two types of IP protocol stacks of IPv4 and IPv6.
ユーザ端末とサーバ装置との間で通信の中継を行う通信装置が実行する通信方法であって、
前記サーバ装置に対するサービス要求を前記ユーザ端末から受信した場合に、前記サーバ装置に対する接続要求を、複数種類のIPプロトコルスタックのそれぞれを用いて送信する接続要求送信ステップと、
前記接続要求に対する応答として前記サーバ装置から受信した応答に用いられたIPプロトコルスタックを用いて、前記サーバ装置との間のセッションを確立するセッション確立ステップと、
前記セッションを用いて前記サービス要求を前記サーバ装置に送信し、当該サーバ装置から当該サービス要求に対する応答を受信し、当該応答を前記ユーザ端末に送信する中継ステップと
を備えたことを特徴とする通信方法。
A communication method executed by a communication device that relays communication between a user terminal and a server device,
A connection request transmission step of transmitting a connection request for the server device using each of a plurality of types of IP protocol stacks when a service request for the server device is received from the user terminal;
A session establishment step of establishing a session with the server device using an IP protocol stack used for a response received from the server device as a response to the connection request;
A relay step of transmitting the service request to the server device using the session, receiving a response to the service request from the server device, and transmitting the response to the user terminal. Method.
通信機能を備えるコンピュータを、請求項1ないし7のうちいずれか1項に記載の通信装置の各手段として機能させるためのプログラム。   The program for functioning a computer provided with a communication function as each means of the communication apparatus of any one of Claims 1 thru | or 7.
JP2012039250A 2012-02-24 2012-02-24 COMMUNICATION DEVICE, COMMUNICATION METHOD, AND PROGRAM Active JP5723808B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012039250A JP5723808B2 (en) 2012-02-24 2012-02-24 COMMUNICATION DEVICE, COMMUNICATION METHOD, AND PROGRAM

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012039250A JP5723808B2 (en) 2012-02-24 2012-02-24 COMMUNICATION DEVICE, COMMUNICATION METHOD, AND PROGRAM

Publications (2)

Publication Number Publication Date
JP2013175938A true JP2013175938A (en) 2013-09-05
JP5723808B2 JP5723808B2 (en) 2015-05-27

Family

ID=49268472

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012039250A Active JP5723808B2 (en) 2012-02-24 2012-02-24 COMMUNICATION DEVICE, COMMUNICATION METHOD, AND PROGRAM

Country Status (1)

Country Link
JP (1) JP5723808B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014049995A (en) * 2012-08-31 2014-03-17 Toshiba Corp Communication device, system and program
JP2016184793A (en) * 2015-03-25 2016-10-20 パナソニックIpマネジメント株式会社 Management device, communication control method and communication control program

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090037595A1 (en) * 2007-07-31 2009-02-05 Sprint Communications Company L.P. Selecting and applying a communication version
JP2010062757A (en) * 2008-09-02 2010-03-18 Panasonic Corp Dns proxy apparatus and dns relay method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090037595A1 (en) * 2007-07-31 2009-02-05 Sprint Communications Company L.P. Selecting and applying a communication version
JP2010062757A (en) * 2008-09-02 2010-03-18 Panasonic Corp Dns proxy apparatus and dns relay method

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JPN6014053831; D. Wing, A. Yourtchenko: 'Happy Eyeballs: Trending Towards Success with Dual-Stack Hosts' Internet-Draft , 20101025 *
JPN6014053832; Fabian Hugelshofer: 'Squid hangs waiting for AAAA record lookups that time-out' インターネット , 20110411 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014049995A (en) * 2012-08-31 2014-03-17 Toshiba Corp Communication device, system and program
JP2016184793A (en) * 2015-03-25 2016-10-20 パナソニックIpマネジメント株式会社 Management device, communication control method and communication control program

Also Published As

Publication number Publication date
JP5723808B2 (en) 2015-05-27

Similar Documents

Publication Publication Date Title
US20070233844A1 (en) Relay device and communication system
US9680948B2 (en) System and method for device failure notification
JP4961368B2 (en) Terminal device, NAT traversal method, and program
US11388138B2 (en) Communication system, address notification apparatus, communication control apparatus, terminal, communication method, and program
WO2011137809A1 (en) Method, apparatus and system for realizing hypertext transfer protocol redirection in content delivery network
US10666769B2 (en) Network system and method for establishing data link by using relay node
US9929942B2 (en) Remote access to a residential multipath entity
US7564848B2 (en) Method for the establishing of connections in a communication system
JP5797591B2 (en) Relay device
JP5723808B2 (en) COMMUNICATION DEVICE, COMMUNICATION METHOD, AND PROGRAM
CN107483593B (en) Bidirectional transparent proxy method and system
JP2015118478A (en) Communication adapter device, communication system, tunnel communication method and program
KR101049549B1 (en) GPD hole punching method using SIP, terminal management system and terminal management method using same
US20110235641A1 (en) Communication apparatus, method of controlling the communication apparatus,and program
JP5437518B2 (en) Virtual network system, configuration change method, tunnel termination device, tunnel connection device, and program
CN100393039C (en) Network administration method for no-IP address device
WO2015167375A1 (en) Method and tcp proxy for supporting communication between a client device and a server node
Mondal et al. A reliable, multi-path, connection oriented and independent transport protocol for iot networks
Cisco Timer and Retry Enhancements for L2TP and L2F
CN105407184A (en) Initial configuration method and device in equipment
JP2019103118A (en) Communication relay device, communication relay program, and communication relay method
JP7370066B2 (en) Communication method
JP5084716B2 (en) VPN connection apparatus, DNS packet control method, and program
JP6930585B2 (en) Relay device, network system and network control method
JP2007166116A (en) Home server apparatus and application server apparatus

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140304

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141212

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141224

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150223

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150317

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150330

R150 Certificate of patent or registration of utility model

Ref document number: 5723808

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250