JP5723808B2 - 通信装置、通信方法、及びプログラム - Google Patents

通信装置、通信方法、及びプログラム Download PDF

Info

Publication number
JP5723808B2
JP5723808B2 JP2012039250A JP2012039250A JP5723808B2 JP 5723808 B2 JP5723808 B2 JP 5723808B2 JP 2012039250 A JP2012039250 A JP 2012039250A JP 2012039250 A JP2012039250 A JP 2012039250A JP 5723808 B2 JP5723808 B2 JP 5723808B2
Authority
JP
Japan
Prior art keywords
server device
protocol stack
user terminal
response
transmitting
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2012039250A
Other languages
English (en)
Other versions
JP2013175938A (ja
Inventor
育平 山形
育平 山形
晋 宮川
晋 宮川
高橋 宏和
宏和 高橋
木村 達郎
達郎 木村
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/ja
Publication of JP2013175938A publication Critical patent/JP2013175938A/ja
Application granted granted Critical
Publication of JP5723808B2 publication Critical patent/JP5723808B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、IPv4とIPv6等の複数IPプロトコルスタックを使用可能な通信環境における通信技術に関するものである。
IPv4とIPv6のデュアルスタック環境では、IPv6を優先してセッションの確立を試み、タイムアウト等の支障があった場合にIPv4で再度試す方式が一般的に行われてきた。しかし、IPv6に支障があった場合に、セッションの確立までに時間がかかり、ユーザの利便性が損なわれるという問題があった。それを解決するために、IPv4とIPv6の通信確立を同時に試み、先に応答のあったプロトコルスタックでセッションを確立する手法が知られている(非特許文献1参照)。
Happy Eyeballs, http://tools.ietf.org/html/draft-wing-v6ops-happy-eyeballs-ipv6-01(2012年2月17日検索)
しかしながら、前述のHappy Eyeballsは、エンド端末での実装を前提としており、実装していない端末やアプリケーションの場合は、IPv6のタイムアウト後にIPv4へ切り替えとなるため、依然としてユーザの利便性は悪いという問題がある。
本発明は上記の点に鑑みてなされたものであり、IPv4とIPv6等の複数IPプロトコルスタックを使用し得る通信環境において、あるIPプロトコルスタックによる通信に支障がある場合であっても、支障による影響をユーザに感じさせることなく通信サービスを提供するための技術を実現することを目的とする。
上記の課題を解決するために、本発明は、ユーザ端末とサーバ装置との間で通信の中継を行う通信装置であって、
前記サーバ装置に対するサービス要求を前記ユーザ端末から受信した場合に、前記サーバ装置に対する接続要求を、複数種類のIPプロトコルスタックのそれぞれを用いて送信する接続要求送信手段と、
前記接続要求に対する応答として前記サーバ装置から受信した応答に用いられたIPプロトコルスタックを用いて、前記サーバ装置との間のセッションを確立するセッション確立手段と、
前記セッションを用いて前記サービス要求を前記サーバ装置に送信し、当該サーバ装置から当該サービス要求に対する応答を受信し、当該応答を前記ユーザ端末に送信する中継手段と
を備えたことを特徴とする通信装置として構成される。
また、本発明は、上記通信装置が実行する通信方法、及び、通信機能を備えるコンピュータを、上記通信装置の各手段として機能させるためのプログラムとして構成することもできる。
本発明によれば、IPv4とIPv6等の複数IPプロトコルスタックを使用し得る通信環境において、あるIPプロトコルスタックによる通信に支障がある場合であっても、支障による影響をユーザに感じさせることなく通信サービスを提供するための技術が実現される。
本発明の実施の形態に係るシステム構成図である。 プロキシ装置10の機能構成図である。 動作例1を説明するためのシーケンス図である。 動作例2を説明するためのシーケンス図である。 動作例3を説明するためのシーケンス図である。
以下、図面を参照して本発明の実施の形態を説明する。なお、以下で説明する実施の形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。例えば、本実施の形態では、プロトコルスタックとしてIPv4とIPv6を用いる例を示しているが、プロトコルスタックがIPv4とIPv6以外の場合でも本発明を適用することが可能である。また、通信においてTCPを用いる場合を示しているが、これも一例に過ぎず、本発明はTCP以外のプロトコルを用いた通信においても適用可能である。
(システム構成)
図1に、本発明の実施の形態に係るシステム構成図を示す。図1に示すように、本実施の形態のシステムは、プロキシ装置10、サーバ装置20、及びユーザ端末30が図示のようにネットワークを介して接続された構成を有する。本実施の形態では、プロキシ装置10とサーバ装置20間はインターネットにより接続されている。
本実施の形態において、ユーザ端末30は、ブラウザを備えるPCやスマートフォン等の一般的な端末である。サーバ装置20は、Webサーバ機能を備え、サービス要求(本例ではデータ要求)に応じて、要求されたデータを提供する機能を有する。なお、本実施の形態では、サーバ装置20が提供するサービスとしてWebサービスを想定しているが、これは一例に過ぎず、本発明の適用にあたり、サーバ装置20が提供するサービスは特定のサービスに限定されるわけではない。
プロキシ装置10は、ユーザ端末30からのデータ要求を、ユーザ端末30の代理として、要求先のサーバ装置20に送信し、サーバ装置20から受信したデータを、ユーザ端末10に送信する中継機能を備えた装置である。また、本実施の形態のプロキシ装置10は、ユーザ端末30からのデータ要求の送信に用いられたプロトコルスタックや、サーバ装置20からの応答の通信に用いられたプロトコルスタック等に応じて、セッション接続に用いるプロトコルスタックを決定し、当該プロトコルスタックを用いてセッション接続を行う機能等も有する。
図2に、本実施の形態に係るプロキシ装置10の機能構成図を示す。図2に示すように、本実施の形態に係るプロキシ装置10は、通信処理部11、セッション管理部12、プロトコルスタック決定部13を備える。なお、図2に示す構成は、本実施の形態に関わる機能部を主に示すものであり、プロキシとしての処理を行うための図示しない既存の機能を含むことは言うまでもない。
通信処理部11は、ユーザ端末30との間、及びサーバ装置20との間のそれぞれの通信(本実施形態ではIPパケット通信)を行うための機能部である。通信処理部11は、IPv6機能部111とIPv4機能部112の両方を備えており、ユーザ端末30との間、及びサーバ装置20との間のいずれにおいてもIPv6とIPv4の通信を行うことが可能である。本実施の形態では、ユーザ端末30との間は、ユーザ端末30からの接続要求(TCP syn)に用いられたプロトコルスタックを用いて接続を行い、サーバ装置20との間は、プロトコルスタック決定部13により決定されたプロトコルスタックで接続を行う。
セッション管理部12は、プロキシ装置10とユーザ端末30との間のTCPセッション(以下、単に"セッション"と呼ぶ)、及びプロキシ装置10とサーバ装置20との間のセッションを管理する機能部である。セッション管理部12は、例えば、セッション生成、消滅の管理(記憶)、プロキシ装置10とユーザ端末30との間のセッションとプロキシ装置10とサーバ装置20との間のセッションの対応付け等を行う。
プロトコルスタック決定部13は、ユーザ端末30から受信するパケットやサーバ装置20から受信するパケットから得られる使用プロトコルスタックの情報を通信処理部11から取得して、予め定めた条件に基づいて、サーバ装置20とプロキシ装置10間の接続に使用するプロトコルスタックを決定し、決定したプロトコルスタックを通信処理部11に通知する機能を有する。上記予め定めた条件は、例えば、プロキシ装置10のメモリ等の記憶手段に予め格納される。具体的なプロトコルスタックの決定方法については、後の動作例のところで説明する。
プロキシ装置10は、後述する動作を実現できる通信装置であり、当該通信装置は以下のように構成することもできる。
上記通信装置は、ユーザ端末とサーバ装置との間で通信の中継を行う通信装置であって、
前記サーバ装置に対するサービス要求を前記ユーザ端末から受信した場合に、前記サーバ装置に対する接続要求を、複数種類のIPプロトコルスタックのそれぞれを用いて送信する接続要求送信手段と、前記接続要求に対する応答として前記サーバ装置から受信した応答に用いられたIPプロトコルスタックを用いて、前記サーバ装置との間のセッションを確立するセッション確立手段と、前記セッションを用いて前記サービス要求を前記サーバ装置に送信し、当該サーバ装置から当該サービス要求に対する応答を受信し、当該応答を前記ユーザ端末に送信する中継手段とを備える。
なお、接続要求送信手段とセッション確立手段は、主に前述したプロトコルスタック決定部13と通信処理部11に対応し、中継手段は主に通信処理部11とセッション管理部12に対応する。
前記接続要求送信手段は、前記ユーザ端末から受信するサービス要求の送信に用いられたIPプロトコルスタックの種類を判別し、当該種類に応じて、前記複数種類のIPプロトコルスタックにより複数回送信する前記接続要求の送信順を決定し、決定した送信順で各IPプロトコルスタックにより前記接続要求を順次前記サーバ装置に送信する。
また、例えば、前記接続要求送信手段は、前記ユーザ端末から受信するサービス要求の送信に用いられたIPプロトコルスタックと同じIPプロトコルスタックを用いて最初の接続要求を前記サーバ装置に送信する。また、例えば、前記セッション確立手段は、前記サーバ装置から最初に受信した応答に用いられたIPプロトコルスタックを用いて、前記サーバ装置との間のセッションを確立する。
前記セッション確立手段は、前記ユーザ端末から受信するサービス要求の送信に用いられたIPプロトコルスタックとは異なるIPプロトコルスタックにより前記接続要求に対する応答を前記サーバ装置から最初に受信した場合、当該応答を受信後、予め定めた時間以内に、前記ユーザ端末から受信するサービス要求の送信に用いられたIPプロトコルスタックと同じIPプロトコルスタックによる応答を受信した場合に、当該IPプロトコルスタックを用いて前記サーバ装置との間のセッションを確立するように構成してもよい。
また、前記接続要求送信手段は、第1IPプロトコルスタックにより前記接続要求を前記サーバ装置に送信した後、所定時間が経過した時点で、第2IPプロトコルスタックにより前記接続要求を前記サーバ装置に送信するように構成してもよい。
本実施の形態に係るプロキシ装置10は、通信機能を有するコンピュータ(サーバ等)、もしくはコンピュータの機能を含む通信装置(ルータ等、通信機能を備えるコンピュータの一種である)に、本実施の形態で説明する処理に対応するプログラムを実行させることにより実現可能である。当該プログラムは、可搬メモリ等の記憶媒体に格納して配布し、上記装置にインストールして用いてもよいし、ネットワーク上のサーバからダウンロードして上記装置にインストールしてもよい。また、本実施の形態で説明する処理をハードウェア回路として実現し、当該ハードウェア回路を備える装置としてプロキシ装置10を実現してもよい。
(システムの動作)
以下、本実施の形態に係るシステムの動作例を図3〜図5のシーケンス図を参照して説明する。以下の各動作例において、ユーザ端末30のブラウザには、インターネット接続の際にプロキシ装置10に接続するようにプロキシ設定がなされているものとする。
<動作例1>
まず、動作例1について図3のシーケンス図を参照して説明する。動作例1は、プロキシ装置10がユーザ端末30からIPv6による接続要求を受けて、ユーザ端末30との間にIPv6によるセッションを確立し、サービス要求に応じてIPv6とIPv4の双方でサーバ装置20に対して接続要求を送るが、サーバ装置20からIPv6による応答を先に受信した場合の例である。
本例では、IPv6とIPv4の双方のプロトコルスタックでTCP synパケットをサーバ装置20に送り、先に受信した応答のプロトコルスタックでサーバ装置20とのセッションを確立する旨の条件が予め定められ、記憶手段に格納されており、プロトコルスタック決定部13がこの条件を参照することで使用プロトコルスタックを決定している。
ステップ11)ユーザがWebブラウザでインターネットにアクセスする操作を行うと、ユーザ端末30はIPv6を用いてTCP synパケットをプロキシ装置10に送信し、プロキシ装置10からのTCP syn+ackパケットの応答、ユーザ端末30からのTCP ackパケットの送信を経て、ユーザ端末30とプロキシ装置10との間でIPv6を用いた3 hand shakeによるセッションの確立が行われる。
ステップ12)その後、ユーザ端末30から、サーバ装置20のデータを要求するget requestパケットがプロキシ装置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アドレスを取得する動作は、一般的な動作であり、以降の説明ではこの動作の記述を省略する。
ステップ13では、IPv6を用いたTCP synパケットとIPv4を用いたTCP synパケットをほぼ同時に送信するが、実際には、どちらかが先、どちらかが後になる。そのため、例えば、ユーザ端末30との間でのセッション確立に用いたプロトコルスタックと同じプロトコルスタックであるIPv6を用いたTCP synパケットを先に送信し、その後(非常に短い時間の後)に、IPv4を用いたTCP synパケットを送るようにしてもよいし、ユーザ端末30との間でのセッション確立に用いたプロトコルスタックに関わらず、予め定めた順番でIPv6とIPv4の双方のTCP synパケットを送信するようにしてもよい。
ステップ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に到達するものとする。
ステップ15)IPv6及びIPv4の双方でTCP syn+ackパケットを受信したプロキシ装置10は、先に受信したプロトコルスタックであるIPv6を用いてTCP ackパケットをサーバ装置20に返す。これにより、プロキシ装置10とサーバ装置20間でIPv6によるセッションが確立される。その後、プロキシ装置10は、サーバ装置20に対してIPv6でget requestパケットを送信する。
なお、仮に、1つプロトコルスタックのみのTCP syn+ackパケットを受信した場合は、その受信したパケットに用いられていたプロトコルスタックを用いてTCP ackパケットをサーバ装置20に返し、そのプロトコルスタックでのセッションが確立される。
ステップ16)サーバ装置20はget requestの応答としてのデータをプロキシ装置10に送信し、プロキシ装置10は、サーバ装置20から受信したデータをユーザ端末30に転送する。以降、サーバ装置20とプロキシ装置10間、及びプロキシ装置10とユーザ端末30間の両方でIPv6による通信が行われる。
上記の例は、プロキシ装置10がサーバ装置20から先にIPv6によるTCP syn+ackパケットを受信した例であるが、プロキシ装置10がサーバ装置20から先にIPv4によるTCP syn+ackパケットを受信した場合は、プロキシ装置10とサーバ装置20間では、IPv4によるセッションが確立され、プロキシ装置10とサーバ装置20間では、IPv4によるデータ通信が行われることになる。
<動作例2>
次に、図4を参照して動作例2を説明する。動作例2は、プロキシ装置10がユーザ端末30から受信する接続要求に用いられていたプロトコルスタックに応じて、サーバ装置20に送出するプロトコルスタックの送信順を決定する例である。本例(動作例3も同様)では、どのプロトコルスタックでユーザ端末30からデータ要求(もしくは接続要求)を受信したときにどのプロトコルスタックでサーバ装置20に対して接続要求を送るか、サーバ装置20からどのプロトコルスタックで応答を受信した場合に、どのプロトコルスタックで接続を行うか、送信を待つための所定時間、などの条件が予め定められ、記憶手段に格納されており、プロトコルスタック決定部13がこの条件を参照することで以下の動作を実現している。また、条件を含むプログラムを実行させて、動作を実現することとしてもよい。また、プロトコルスタック決定部13は、所定時間待ちを行うためのタイマー機能を備えている。
ステップ21)ユーザがWebブラウザでインターネットにアクセスする操作を行うと、ユーザ端末30はIPv6を用いてTCP synパケットをプロキシ装置10に送信し、プロキシ装置10からのTCP syn+ackパケットの応答、ユーザ端末30からのTCP ackパケットの送信を経て、ユーザ端末30とプロキシ装置10との間でIPv6を用いた3 hand shakeによるセッションの確立が行われる。
ステップ22)その後、ユーザ端末30から、サーバ装置20のデータを要求するget requestパケットがプロキシ装置10に送信される。
ステップ23)ユーザ端末30からget requestパケットを受信したプロキシ装置10は、プロトコルスタック決定部13において、ユーザ端末30から受信したデータ要求のプロトコルスタックがIPv6であることを判別し、予め定めた条件に基づいて、まず、IPv6を用いてTCP synパケットをサーバ装置20へ送信する。
本動作例での上記条件は、最初に、ユーザ端末30から受信するデータ要求のプロトコルスタックと同じプロトコルスタックでTCP synパケットをサーバ装置20へ送信し、当該TCP synパケットを送信後、所定時間経過した時点(一例として、250msec後)に、別のプロトコルスタックでTCP synパケットをサーバ装置20へ送信するというものである。従って、本例では、ユーザ端末30から受信するデータ要求のプロトコルスタックがIPv6であるため、まず、IPv6を用いてTCP synパケットをサーバ装置20へ送信している。
ステップ24)続いてプロキシ装置10は、IPv6によるTCP synパケットを送信してから250msec後に、IPv4によりTCP synパケットをサーバ装置20に送信する。なお、250msecとするのは一例に過ぎないが、最初に送信したほうのIPv6の応答が250msec程度待っても来ない場合は、障害発生の可能性が高いため、250msec程度の間隔とすることで、IPv6に障害があったとしても、従来のようにIPv4のセッション確立に時間がかからず、ユーザにストレスを感じさせることなく迅速に通信を開始できる。
ステップ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に到達する。
ステップ26)IPv6及びIPv4の双方でTCP syn+ackパケットを受信したプロキシ装置は、予め定めた条件に基づき、先に受信したプロトコルスタック(本例ではIPv6)を用いてTCP ackパケットをサーバ装置20に返す。これにより、プロキシ装置10とサーバ装置20間でIPv6によるセッションが確立され、プロキシ装置10は、サーバ装置20に対してIPv6でget requestパケットを送信する。
なお、仮に、1つプロトコルスタックのみのTCP syn+ackパケットを受信した場合は、その受信したパケットに用いられていたプロトコルスタックを用いてTCP ackパケットをサーバ装置20に返し、そのプロトコルスタックでのTCPセッションが確立されることになる。
また、一方のプロトコルスタックでの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パケットを送信することとしてもよい。
ステップ27)サーバ装置20はget requestの応答としてのデータをプロキシ装置10に送信し、プロキシ装置10は、サーバ装置20から受信したデータをユーザ端末30に転送する。以降、サーバ装置20とプロキシ装置10間、及びプロキシ装置10とユーザ端末30間の両方でIPv6による通信が行われる。
上記の2例は、ユーザ端末30からIPv6での接続要求が送信される場合の例であるが、ユーザ端末30からIPv4での接続要求が送信される場合には、プロキシ装置10はIPv4のみの接続要求をサーバ装置20に送信することとしてもよいし、IPv4とIPv6の双方で接続要求を送信することとしてもよい。IPv4とIPv6の双方で接続要求を送信する際には、IPv4での接続要求を先に送信することとしてよい。もしくは、ユーザ端末30との間のプロトコルスイートに関わらず、IPv6での接続要求を先にサーバ装置20に送信し、所定時間後にIPv4での接続要求をサーバ装置20に送信することとしてもよい。
<動作例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パケットを送信することとしてよい。
例えば、プロキシ装置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間のプロトコルスタックを揃えることが可能になるため、予期せぬエラー等を防ぐことが可能となる。
図5は、IPv6を優先する場合のプロキシ装置10とサーバ装置20間の動作を示す図である。
ステップ31)プロキシ装置10は、動作例1、2と同様にIPv6とIPv4の双方でTCP ackパケットをサーバ装置20に送信する。
ステップ32)プロキシ装置10は、IPv4でのTCP syn+ackパケットを先に受信するが、すぐにIPv4でのTCP ackパケットを返さずに、IPv6でのTCP syn+ackパケットを所定時間が経過するまで待つ。
ステップ33)プロキシ装置10は、IPv4でのTCP syn+ackパケットを受信してから所定時間以内に、IPv6でのTCP syn+ackパケットを受信する。
ステップ34)プロキシ装置10は、所定時間以内にIPv6でのTCP syn+ackパケットを受信したので、IPv6でのTCP ackパケットをサーバ装置20に送信し、get requestを送信する。
ステップ35)サーバ装置20は、要求されたデータをIPv6を用いてプロキシ装置10に送信する。
(その他の例)
これまでに説明した例では、プロキシ装置10とサーバ装置20間で一旦あるプロトコルスタックでセッションが確立した後は、そのセッションを用いて通信を行うこととしているが、先にあるプロトコルスタックでセッションが確立した後に、他のプロトコルスタックによるセッションに切り替えることとしてもよい。例えば、プロキシ装置10とサーバ装置20間で先にIPv4でセッションが確立した場合でも、その後に、IPv6での応答(TCP syn+ack)をプロキシ装置10が受信した場合には、ユーザ端末30とサーバ装置20間でのデータ通信に支障のないタイミングで、プロキシ装置10とサーバ装置20間のセッションをIPv6によるセッションに切り替えてもよい。
また、これまでに説明した例では、基本的に、ユーザ端末30とプロキシ装置10間のプロトコルスタックと同じプロトコルスタックでプロキシ装置10とサーバ装置20間でのセッションを確立させるようにしているが、ユーザ端末30とプロキシ装置10間のプロトコルスタックに関わらず、いずれかのプロトコルスタックを優先して使用してプロキシ装置10とサーバ装置20間でのセッションを確立させるようにしてもよい。
また、本実施の形態は、ユーザ端末30がプロキシ装置10を介してWebアクセスを行う例を説明しているが、本発明のプロキシ装置10は、SIPプロキシサーバ、DNSリゾルバ、その他のリレー系アプリケーションに適用することも可能である。また、プロキシ装置10の機能を、CPE(ブロードバンドルータ等)に実装することとしてもよい。
(実施の形態の効果)
上記のように、本実施の形態で説明した技術によれば、プロキシ装置10においてIPv6とIPv4の切り替えを制御することで、ユーザ端末30で使用するプロトコルスタックやサービス提供側で使用するプロトコルスタックに関わらす、ユーザにストレスのない通信環境を提供することができる。
本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。
10 プロキシ装置
11 通信処理部
111 IPv6機能部
112 IPv4機能部
12 セッション管理部
13 プロトコルスタック決定部
20 サーバ装置
30 ユーザ端末

Claims (9)

  1. ユーザ端末とサーバ装置との間で通信の中継を行う通信装置であって、
    前記サーバ装置に対するサービス要求を前記ユーザ端末から受信した場合に、前記サーバ装置に対する接続要求を、複数種類のIPプロトコルスタックのそれぞれを用いて送信する接続要求送信手段と、
    前記接続要求に対する応答として前記サーバ装置から受信した応答に用いられたIPプロトコルスタックを用いて、前記サーバ装置との間のセッションを確立するセッション確立手段と、
    前記セッションを用いて前記サービス要求を前記サーバ装置に送信し、当該サーバ装置から当該サービス要求に対する応答を受信し、当該応答を前記ユーザ端末に送信する中継手段とを備え
    前記接続要求送信手段は、前記ユーザ端末から受信するサービス要求の送信に用いられたIPプロトコルスタックの種類を判別し、当該種類に応じて、前記複数種類のIPプロトコルスタックにより送信する前記接続要求の送信順を決定し、決定した送信順で各IPプロトコルスタックにより前記接続要求を順次前記サーバ装置に送信する
    ことを特徴とする通信装置。
  2. 前記接続要求送信手段は、前記ユーザ端末から受信するサービス要求の送信に用いられたIPプロトコルスタックと同じIPプロトコルスタックを用いて最初の接続要求を前記サーバ装置に送信する
    ことを特徴とする請求項に記載の通信装置。
  3. 前記セッション確立手段は、前記サーバ装置から最初に受信した応答に用いられたIPプロトコルスタックを用いて、前記サーバ装置との間のセッションを確立する
    ことを特徴とする請求項1又は2に記載の通信装置。
  4. ユーザ端末とサーバ装置との間で通信の中継を行う通信装置であって、
    前記サーバ装置に対するサービス要求を前記ユーザ端末から受信した場合に、前記サーバ装置に対する接続要求を、複数種類のIPプロトコルスタックのそれぞれを用いて送信する接続要求送信手段と、
    前記接続要求に対する応答として前記サーバ装置から受信した応答に用いられたIPプロトコルスタックを用いて、前記サーバ装置との間のセッションを確立するセッション確立手段と、
    前記セッションを用いて前記サービス要求を前記サーバ装置に送信し、当該サーバ装置から当該サービス要求に対する応答を受信し、当該応答を前記ユーザ端末に送信する中継手段とを備え、
    前記セッション確立手段は、前記ユーザ端末から受信するサービス要求の送信に用いられたIPプロトコルスタックとは異なるIPプロトコルスタックにより前記接続要求に対する応答を前記サーバ装置から最初に受信した場合、当該応答を受信後、予め定めた時間以内に、前記ユーザ端末から受信するサービス要求の送信に用いられたIPプロトコルスタックと同じIPプロトコルスタックによる応答を受信した場合に、当該IPプロトコルスタックを用いて前記サーバ装置との間のセッションを確立する
    ことを特徴とする通信装置。
  5. 前記複数種類のIPプロトコルスタックは、第1IPプロトコルスタックと第2IPプロトコルスタックを有し、
    前記接続要求送信手段は、前記第1IPプロトコルスタックにより前記接続要求を前記サーバ装置に送信した後、所定時間が経過した時点で、前記第2IPプロトコルスタックにより前記接続要求を前記サーバ装置に送信する
    ことを特徴とする請求項1ないしのうちいずれか1項に記載の通信装置。
  6. 前記複数種類のIPプロトコルスタックは、IPv4とIPv6の2種類のIPプロトコルスタックを有する
    ことを特徴とする請求項1ないしのうちいずれか1項に記載の通信装置。
  7. ユーザ端末とサーバ装置との間で通信の中継を行う通信装置が実行する通信方法であって、
    前記サーバ装置に対するサービス要求を前記ユーザ端末から受信した場合に、前記サーバ装置に対する接続要求を、複数種類のIPプロトコルスタックのそれぞれを用いて送信する接続要求送信ステップと、
    前記接続要求に対する応答として前記サーバ装置から受信した応答に用いられたIPプロトコルスタックを用いて、前記サーバ装置との間のセッションを確立するセッション確立ステップと、
    前記セッションを用いて前記サービス要求を前記サーバ装置に送信し、当該サーバ装置から当該サービス要求に対する応答を受信し、当該応答を前記ユーザ端末に送信する中継ステップとを備え、
    前記接続要求送信ステップにおいて、前記通信装置は、前記ユーザ端末から受信するサービス要求の送信に用いられたIPプロトコルスタックの種類を判別し、当該種類に応じて、前記複数種類のIPプロトコルスタックにより送信する前記接続要求の送信順を決定し、決定した送信順で各IPプロトコルスタックにより前記接続要求を順次前記サーバ装置に送信する
    ことを特徴とする通信方法。
  8. ユーザ端末とサーバ装置との間で通信の中継を行う通信装置が実行する通信方法であって、
    前記サーバ装置に対するサービス要求を前記ユーザ端末から受信した場合に、前記サーバ装置に対する接続要求を、複数種類のIPプロトコルスタックのそれぞれを用いて送信する接続要求送信ステップと、
    前記接続要求に対する応答として前記サーバ装置から受信した応答に用いられたIPプロトコルスタックを用いて、前記サーバ装置との間のセッションを確立するセッション確立ステップと、
    前記セッションを用いて前記サービス要求を前記サーバ装置に送信し、当該サーバ装置から当該サービス要求に対する応答を受信し、当該応答を前記ユーザ端末に送信する中継ステップとを備え、
    前記セッション確立ステップにおいて、前記通信装置は、前記ユーザ端末から受信するサービス要求の送信に用いられたIPプロトコルスタックとは異なるIPプロトコルスタックにより前記接続要求に対する応答を前記サーバ装置から最初に受信した場合、当該応答を受信後、予め定めた時間以内に、前記ユーザ端末から受信するサービス要求の送信に用いられたIPプロトコルスタックと同じIPプロトコルスタックによる応答を受信した場合に、当該IPプロトコルスタックを用いて前記サーバ装置との間のセッションを確立する
    ことを特徴とする通信方法。
  9. 通信機能を備えるコンピュータを、請求項1ないしのうちいずれか1項に記載の通信装置の各手段として機能させるためのプログラム。
JP2012039250A 2012-02-24 2012-02-24 通信装置、通信方法、及びプログラム Active JP5723808B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012039250A JP5723808B2 (ja) 2012-02-24 2012-02-24 通信装置、通信方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012039250A JP5723808B2 (ja) 2012-02-24 2012-02-24 通信装置、通信方法、及びプログラム

Publications (2)

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

Family

ID=49268472

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012039250A Active JP5723808B2 (ja) 2012-02-24 2012-02-24 通信装置、通信方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP5723808B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5771169B2 (ja) * 2012-08-31 2015-08-26 株式会社東芝 システム
JP6436393B2 (ja) * 2015-03-25 2018-12-12 パナソニックIpマネジメント株式会社 管理装置、通信制御方法、及び通信制御プログラム

Family Cites Families (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 (ja) * 2008-09-02 2010-03-18 Panasonic Corp Dnsプロキシ装置及びdns中継方法

Also Published As

Publication number Publication date
JP2013175938A (ja) 2013-09-05

Similar Documents

Publication Publication Date Title
JP4965559B2 (ja) リソースアドレスリクエスト管理方法及び関連するゲートウェイ装置
US11388138B2 (en) Communication system, address notification apparatus, communication control apparatus, terminal, communication method, and program
JP4961368B2 (ja) 端末装置、nat越え方法、及びプログラム
US9680948B2 (en) System and method for device failure notification
WO2011137809A1 (zh) 一种内容分发网络中实现超文本传输协议重定向的方法、装置及系统
JP2006086800A (ja) ソースアドレスを選択する通信装置
WO2009061876A1 (en) Selective routing of data transmission between clients
US9929942B2 (en) Remote access to a residential multipath entity
US7564848B2 (en) Method for the establishing of connections in a communication system
JP5797591B2 (ja) 中継装置
JP2011015095A (ja) 通信装置、アドレス設定方法およびアドレス設定プログラム
JP5723808B2 (ja) 通信装置、通信方法、及びプログラム
CN107483593B (zh) 双向透明代理方法及系统
US20110235641A1 (en) Communication apparatus, method of controlling the communication apparatus,and program
KR101049549B1 (ko) Sip를 이용한 udp 홀 펀칭 방법 및 이를 이용한 단말관리 시스템 및 단말 관리 방법
CN100393039C (zh) 无ip地址设备网管方法
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
CN105407184A (zh) 设备中进行初始配置的方法及装置
JP2019103118A (ja) 通信中継装置、通信中継プログラム、および通信中継方法
WO2013035311A1 (ja) エージェント装置及び通信中継方法
JP6930585B2 (ja) 中継装置、ネットワークシステムおよびネットワーク制御方法
JP5084716B2 (ja) Vpn接続装置、dnsパケット制御方法、及びプログラム
JP4480559B2 (ja) ブロードバンドルータおよびそのポートマッピング情報更新方法
JP2011082868A (ja) 呼救済システム、呼救済サーバ、呼救済サーバの呼救済プログラム

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