JP2013229834A - Tcp中継装置 - Google Patents

Tcp中継装置 Download PDF

Info

Publication number
JP2013229834A
JP2013229834A JP2012102038A JP2012102038A JP2013229834A JP 2013229834 A JP2013229834 A JP 2013229834A JP 2012102038 A JP2012102038 A JP 2012102038A JP 2012102038 A JP2012102038 A JP 2012102038A JP 2013229834 A JP2013229834 A JP 2013229834A
Authority
JP
Japan
Prior art keywords
tcp
retransmission timeout
setting
socket
custom
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
JP2012102038A
Other languages
English (en)
Other versions
JP5923376B2 (ja
Inventor
Yoshiaki Takeshima
由晃 竹島
Nobu Kawabe
展 河部
Masahiko Nakahara
雅彦 中原
Masaaki Iwasaki
正明 岩嵜
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2012102038A priority Critical patent/JP5923376B2/ja
Priority to US13/746,794 priority patent/US9001650B2/en
Publication of JP2013229834A publication Critical patent/JP2013229834A/ja
Application granted granted Critical
Publication of JP5923376B2 publication Critical patent/JP5923376B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/50Overload detection or protection within a single switching element
    • H04L49/505Corrective measures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/27Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/163In-band adaptation of TCP data exchange; In-band control procedures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】
携帯電話とサーバ間でTCPを終端および中継する中継装置であって、サーバとはデフォルトのTCP送信制御を、携帯電話とは無線に適したTCP送信制御を行う際に、TCP接続単位で細かく制御する、通信先端末の属するネットワークの種別判定の設定が容易、というTCP中継装置を提供する。
【解決手段】
通信先装置が接続するネットワークの特性に応じたTCP制御情報を、TCP接続単位で設定できる手段と、通信先装置が接続するネットワーク種別に応じたTCP制御情報の設定をアプリケーション側から指示できる手段と、通信先装置が接続するネットワーク種別を待ち受けポートへのパッシブ接続かサーバ装置へのTCP接続かで判断する手段と、を備えるTCP中継装置が開示される。
【選択図】 図1

Description

本明細書で開示される主題は、異なる特性を持つ複数のネットワークのそれぞれに接続している通信装置間で行われるTCP通信を中継する、TCP中継装置に関する。
近年、LTE(Long Term Evolution)等の高速無線技術の発展やスマートフォンの台頭、SNS(Social Networking Service)等の人気サービスの登場といった要因により、移動体通信システムに流れるインターネット向けトラフィックが年々急増している。移動体通信システムにおいて、無線網を利用した通信特性は、有線網とは異なり広帯域である反面伝送遅延が大きく、また基地局間のハンドオーバによる通信の瞬断が発生することが挙げられる。このような特性のネットワークでは、デフォルトのTCP(Transmission Control Protocol)/IP(Internet Protocol)を利用した各種アプリケーションが十分なスループットを得られないなど性能低下を生じることが明らかになっている。
このようなネットワーク環境下でTCPを快適に利用するための性能改善手法として、携帯電話とサーバ間にTCPを終端および中継する中継装置を設置して、中継装置とサーバとの間はデフォルトのTCP送信制御を、中継装置と携帯電話との間は無線に適したTCP送信制御を行うという方法がある。
特許文献1には、受信側端末との間で確立するTCPコネクションで用いられるTCP送信制御情報を、受信側端末の属するネットワークに応じて設定する手段を備える、TCP送信制御装置が記載されている。特許文献1に記載のTCP送信制御装置は、通信のサービス種別や、受信端末のIPアドレスのルーティング情報を基に、TCP送信制御情報を設定する。
これにより、送信側装置が、通信相手端末が属するパケット網に応じて適切なTCP送信制御情報を設定することで、効率的なTCP通信を行うことができ、パケットロスト時の再送時間を大幅に改善することが可能となる。また、TCPスタック・プロトコルに変更を加えることなく、既存の仕組みでTCPコネクション毎に適切なTCPパラメータを設定することが可能となる。TCP中継装置に、特許文献1に記載のTCP送信制御方法を備えることで、携帯電話とサーバ間のTCP通信の効率化を図ることができる。
米国特許出願公開第2011/0125915号明細書
特許文献1が開示する技術は、TCP送信制御情報の設定は、サービス毎に一意に決まることとしている。しかしながら、TCP接続単位などで細かく制御する技術については開示されていない。
また、受信側端末の属するネットワークの判定には、受信側端末のIPアドレスのルーティング情報を基にしている。しかし、一般的な移動体通信システムでは、受信側端末の取り得るIPアドレス領域が多岐に渡る。そのため、送信側端末に大量のIPアドレスを設定することとなり、運用面において不便な点が生じる。
さらに、TCP送信制御情報の一つとして、TCPの再送タイムアウト時間の最小値が開示されている。しかし、TCPの再送の原因であるパケットロストは、必ずしもネットワークの輻輳が原因で発生するとは限らない。例えば、OS(Operating System)のIP層にある出力キューにパケットを投入する際に、キュー溢れのためパケットを廃棄する場合がある。このとき、再送タイムアウト時間の最小値を大きく設定した場合は、TCP層からの再送間隔が長くなる。そのため、ネットワークが輻輳していないにも関わらず、パケットがなかなか再送されず、TCP接続が滞留してしまうという問題が発生する。
本明細書では、上記課題を解決するために、通信先装置が接続するネットワークの特性に応じたTCP制御情報を、TCP接続単位で設定できる手段を備えることを、第一の特徴とするTCP中継装置が開示される。
さらに、開示されるTCP中継装置は、通信先装置が接続するネットワーク種別に応じたTCP制御情報の設定を、OSの判断ではなく、OS上で動作するアプリケーション側から指示できる手段を備えることを、第二の特徴とする。
さらに、開示されるTCP中継装置は、通信先装置が接続するネットワーク種別を、待ち受けポートへのパッシブ接続かサーバ装置へのTCP接続かで判断する手段を備えることを、第三の特徴とする。
さらに、開示されるTCP中継装置は、ネットワーク輻輳によるパケット廃棄と、OS内部の送信キュー溢れによるパケット廃棄とを区別し、前者の場合はネットワーク種別に応じたTCP再送タイムアウトの最小値を、後者の場合はデフォルトのTCP再送タイムアウトの最小値を設定する手段を備えることを、第四の特徴とする。
上記特徴によれば、携帯電話とサーバ間にTCPを終端および中継する中継装置を設置して、サーバとはデフォルトのTCP送信制御を、携帯電話とは無線に適したTCP送信制御を行う際に、TCP接続単位などで細かく制御することができる、という効果を有する。
また、受信側端末の属するネットワークの判定が容易になる、という効果を有する。
さらに、TCP再送タイムアウトの最小値を大きく設定した場合に、ネットワークが輻輳していない場合でも、パケットがなかなか再送されず、TCP接続が滞留してしまうという現象を抑制できる。
開示によれば、接続するネットワーク種類によらず、高い通信品質を確保可能になる。
実施の形態1のTCP中継装置の構成例を示す図である。 実施の形態1のTCP中継装置のソケットパラメータ管理票の構成例を示す図である。 実施の形態1のカスタムTCP設定の構成例を示す図である。 実施の形態1のTCP中継装置のTCP中継処理を例示するフローチャートである。 実施の形態1のTCP中継装置のカスタム設定API処理を例示するフローチャートである。 実施の形態1のTCP中継装置のカスタムTCP制御処理を例示するフローチャートである。 実施の形態2のTCP中継装置のTCP中継処理を例示するシーケンス図である。 各装置のハードウェア構成例を示す図である。
以下、実施の形態について、図面を用いて説明する。
(実施の形態1)
図1は、TCP中継装置20の構成例を示すブロック図である。
TCP中継装置20は、異なる特性を持つ複数のネットワークがあり、それぞれのネットワークに接続している通信装置間で行われるTCP通信を中継する装置である。
TCP中継装置20は、LAN(Local Area Network)40及び無線網A50を経由して、クライアント装置10と通信が可能な状態にある。
クライアント装置10は、HTTP(HyperText Transfer Protocol)などのTCP/IP上のプロトコルを用いてサーバ装置30に接続し、サービス要求を行う装置である。
また、TCP中継装置20は、LAN40及び有線網A60を経由して、サーバ装置30と通信が可能な状態にある。
サーバ装置30は、クライアント装置10に対し、Webサービス等を提供するサーバプロセスが稼働する装置である。
クライアント装置10、TCP中継装置20、サーバ装置30などの各サーバ装置のハードウェア構成の例を図8に示す。
これらの装置は、CPU1001、主記憶装置1002、HDD等の外部記憶装置1005、CD-ROMやDVD-ROM等の可搬性を有する記憶媒体1008から情報を読み出す読取装置1003、ディスプレイ、キーボードやマウスなどの入出力装置1006、ネットワーク1010に接続するためのNIC(Network Interface Card)等の通信装置1004、及びそれらの装置間を接続するバスなどの内部通信線1007を備えた一般的なコンピュータ1000により実現できる。
例えば、後述のTCP情報管理領域27は、主記憶装置1002の一部の領域を用いて実現する。また、各装置は、それぞれの外部記憶装置1005に記憶されている各種プログラムを主記憶装置1002にロードしてCPU1001で実行し、通信装置1004を用いてネットワーク1010に接続してクライアント装置10やサーバ装置30とのネットワーク通信を行うことで、本実施例における各種処理部と、それらによる各種処理を実現する。
TCP中継装置20は、TCP中継処理部21と、その他の通信処理部22と、ソケットAPI処理部23と、TCP処理部24と、IP処理部25と、ネットワークインタフェース処理部26と、TCP情報管理領域27と、を備える。
TCP中継処理部21は、クライアント装置10及びサーバ装置30との間のTCP通信の終端及び中継のメイン処理を行う。その他の通信処理部22は、TCP中継以外の処理、例えばTCP中継装置20の稼働状態監視などのミドルウェア処理を行う。また、その他の通信処理部22は、クライアント装置10及びサーバ装置30とは直接通信を行わない。
ソケットAPI処理部23は、TCP中継処理部21及びその他の通信処理部22に対して、TCP通信を抽象化した概念である「ソケット」における、コネクションの確立やデータを送受信するためのアプリケーションプログラミングインタフェース(API)を提供する。
また、ソケットAPI処理部23は、カスタム設定API231を備える。カスタム設定API231は、後述のカスタムTCP設定272の登録や参照、変更、削除を行う。 TCP中継処理部21は、ソケットAPI処理部23のAPIを呼び出すことで、クライアント装置10及びサーバ装置30との通信(データの送受信)を行う。
TCP処理部24は、TCPの接続やデータの送受信制御を行う。IP処理部25は、IP層の処理を行う処理部である。
IP処理部25は内部に出力キュー251を備え、後述するネットワークインタフェース処理部26に対してIPパケットを送信する際に、送信が完了するまでIPパケットのキューイングを行う。
ネットワークインタフェース処理部26は、LAN40に対してデータの送受信を行うネットワークインタフェースデバイスを制御するための処理部である。
TCP情報管理領域27は、TCPの管理や制御に用いる情報を記憶するための領域であり、内部にTCPのデフォルト設定情報を記憶するデフォルトTCP設定273を備える。
TCP情報管理領域27は、ソケットパラメータ管理表271と、カスタムTCP設定272と、を備える。
ここで、図2を用いて、ソケットパラメータ管理表271の詳細について説明する。
ソケットパラメータ管理表271は、ソケット設定情報として、ソケット記述子フィールド2711と、種別フィールド2712と、RTO最小値フィールド2713と、RTO最大値フィールド2714と、初期ウィンドウサイズフィールド2715と、を備える。
ソケット記述子フィールド2711は、TCP中継処理部21が作成したソケットの識別子を記憶する領域である。
種別フィールド2712は、「無線網」や「有線網」といったネットワーク種別を記憶する領域である。
RTO最小値フィールド2713は、再送タイムアウト(RTO)時間の最小値(下限値と同義)を記憶する領域である。
RTO最大値フィールド2714は、RTO時間の最大値(上限値と同義)を記憶する領域である。
初期ウィンドウサイズフィールド2715は、初期ウィンドウサイズの値を記憶する領域である。
ソケットパラメータ管理表271の情報については、ソケットAPI処理部23及びTCP処理部24により、登録や参照、変更、削除を行う。
次に、図3を用いて、カスタムTCP設定272の詳細について説明する。
カスタムTCP設定272は、種別フィールド2721と、RTO最小値フィールド2722と、RTO最大値フィールド2723と、初期ウィンドウサイズフィールド2724と、を備える。
種別フィールド2721は、「無線網」や「有線網」といったネットワーク種別を記憶する領域である。
RTO最小値フィールド2722は、再送タイムアウト(RTO)時間の最小値(下限値と同義)を記憶する領域である。
RTO最大値フィールド2723は、RTO時間の最大値(上限値と同義)を記憶する領域である。
初期ウィンドウサイズフィールド2724は、初期ウィンドウサイズの値を記憶する領域である。
カスタムTCP設定272については、カスタム設定API231、及びカスタムTCP制御部241により、登録や参照、変更、削除を行う。
以下、図4から図7を用いて、実施の形態1でのTCP中継装置20におけるTCP中継方法について説明する。
図4は、TCP中継処理部21で行うTCP中継処理を例示するフローチャートである。
TCP中継処理部21は、まず、待ち受けポートでクライアント装置10からのTCP接続を待つ(ステップS101)。
TCP接続があったならば、当該TCP接続を受け付ける(ステップS102)。
当該TCP接続がカスタム対象であるかを判定し(ステップS103)、YESであれば、カスタム設定API231を呼び出し、ソケット記述子と種別情報を渡す(ステップS104)。
カスタム対象であるかの判定方法は、例えば、クライアント装置10からTCP中継装置20での特定の待ち受けポート番号への接続か、もしくは、TCP中継装置20からサーバ装置30への特定のポート番号への接続か、で判定する。具体的な例としては、システム管理者が、TCP中継装置20の設定ファイルに予め「TCP待ち受けポートの8080番は無線網A、および8081番は有線網A」という設定を記述しておくことで、TCP中継装置20は、起動時に当該設定ファイルを読み込み、「待ち受けポートの8080番へのTCP接続は無線網A」、「待ち受けポートの8081番へのTCP接続は有線網A」という判定条件として動作する。
NOであれば、ステップS105に進み、クライアント装置10からデータを受信する(ステップS105)。
受信したデータの内容に従い、サーバ装置30にTCP接続を行う(ステップS106)。
当該TCP接続がカスタム対象であるかを判定し(ステップS107)、YESであれば、カスタム設定API231を呼び出し、ソケット記述子と種別情報を渡す(ステップS108)。カスタム対象の判定方法は、ステップS104と同様である。
NOであれば、ステップS109に進み、クライアント装置10及びサーバ装置30とのTCPデータを中継する(ステップS109)。
中継が終了すると、クライアント装置10及びサーバ装置30とのTCP接続を切断し(ステップS110)、TCP中継処理を終了する。
図5は、カスタム設定API231で行うカスタム設定API処理を例示するフローチャートである。
カスタム設定API231はTCP中継処理部21から呼び出されると、まず、渡されたソケット記述子が有効なソケット記述子かを確認する(ステップS201)。
YESであれば、種別を検索キーとして、カスタムTCP設定272を検索し、検索されたエントリよりRTO最小値2722の情報を取得する(ステップS202)。
更に、ソケットパラメータ管理表271の該当ソケット記述子のエントリに、種別情報およびRTO最小値2722の値を登録する。
NOであれば、そのまま処理を終了する。
なお、別の実施形態の例として、ステップS202において、種別を検索キーとして、カスタムTCP設定272を検索し、検索されたエントリよりRTO最大値2723の情報を取得し、ソケットパラメータ管理表271の該当ソケット記述子のエントリに、種別情報およびRTO最大値2723の値を登録する、としても良い。
また、別の実施形態の例として、ステップS202において、種別を検索キーとして、カスタムTCP設定272を検索し、検索されたエントリより初期ウィンドウサイズ2724の情報を取得し、ソケットパラメータ管理表271の該当ソケット記述子のエントリに、種別情報および初期ウィンドウサイズ2724の値を登録する、としても良い。
また、別の実施形態の例として、ステップS202において、カスタムTCP設定272から取得する情報、および、ソケットパラメータ管理表271の該当ソケット記述子のエントリに登録する情報は、RTO最小値2722と、RTO最大値2723と、初期ウィンドウサイズ2724の、組み合わせ、もしくは全て、としても良い。
図6は、カスタムTCP制御部241で行うカスタムTCP制御処理のうち、再送タイマ登録処理を例示するフローチャートである。
カスタムTCP制御部241は、まず再送タイマの登録理由をチェックする(ステップS301)。
登録理由がIP処理部25中の出力キューでのパケット廃棄であれば、従来通りの処理として、まずデフォルトTCP設定273を参照し、デフォルトのRTO最小値を取得する(ステップS302)。
当該TCPのRTT(ラウンドトリップタイム)から算出されたRTO値が、デフォルトのRTO最小値と同じもしくは小さいか、否かをチェックする(ステップS303)。なお、RFC(Request for Comments)2988では、RTTからRTO値の算出方法の一例が示されている。
YESであれば、デフォルトのRTO最小値をRTO値として再送タイマに登録し(ステップS304)、NOであれば、そのまま処理を終了する。
S301で、ネットワークでのパケット廃棄であれば、当該ソケット記述子を検索キーとし、ソケットパラメータ管理表271よりソケット設定情報を参照する(ステップS305)。
当該TCPのRTT(ラウンドトリップタイム)から算出されたRTO値が、ソケット設定情報より得られたRTO最小値と同じもしくは小さいか、否かをチェックする(ステップS306)。
YESであれば、ソケット設定情報のRTO最小値をRTO値として再送タイマに登録し(ステップS307)、NOであれば、そのまま処理を終了する。
なお、別の実施形態の例として、ステップS302ないしS304、及びS306ないしS307において、RTO最小値ではなくRTO最大値を用いても良い。もしくは、RTO最小値およびRTO最大値の両方を用いても良い。
例えば、RTO最大値を用いる場合は、ステップS302では、デフォルトTCP設定273を参照し、デフォルトのRTO最大値を取得しても良い。
また、ステップS303では、当該TCPのRTTから算出されたRTO値が、デフォルトのRTO最大値と同じもしくは大きいか、否かをチェックし、YESであれば、デフォルトのRTO最大値をRTO値として再送タイマに登録し(ステップS304)、NOであれば、そのまま処理を終了する、としても良い。
また、ステップS306では、当該TCPのRTTから算出されたRTO値が、ソケット設定情報より得られたRTO最大値と同じもしくは大きいか、否かをチェックし、YESであれば、ソケット設定情報のRTO最大値をRTO値として再送タイマに登録し(ステップS307)、NOであれば、そのまま処理を終了する、としても良い。
図7は、TCP中継処理の一例を例示するシーケンス図である。ここでは、S103の処理において、待ち受けポートへのTCP接続はカスタム対象であるとした場合のシーケンスとしている。ステップS101〜S102は図4と同じである。
待ち受けポートへのTCP接続はカスタム対象としたため、カスタム設定API呼び出しを行う(ステップS401)。
クライアント装置10からデータを受信する(ステップS105)。
受信したデータの内容に従い、サーバ装置30にTCP接続を行う(ステップS106)。
クライアント装置10及びサーバ装置30とのTCPデータを中継する(ステップS109)。
中継が終了すると、クライアント装置10及びサーバ装置30とのTCP接続を切断し(ステップS110)、TCP中継処理を終了する。
以上のように、本実施の形態では、携帯電話とサーバ間にTCPを終端および中継する中継装置を設置して、サーバとはデフォルトのTCP送信制御を、携帯電話とは無線に適したTCP送信制御を行う際に、TCP接続単位などで細かく制御することができる、という効果を有する。また、受信側端末の属するネットワークの判定が容易になる、という効果を有する。さらに、TCP再送タイムアウトの最小値を大きく設定した場合に、ネットワークが輻輳していない場合でも、パケットがなかなか再送されず、TCP接続が滞留してしまうという現象を抑制できる。
なお、上記実施形態は一例であり、開示に限定されず、種々の変形や応用が可能である。
10:クライアント端末、20:TCP中継装置、21:TCP中継処理部、22:その他の通信処理部、23:ソケットAPI処理部、24:TCP処理部、25:IP処理部、26:ネットワークインタフェース処理部、27:TCP情報管理領域、30:サーバ装置、40:ローカルエリアネットワーク(LAN)、50:無線網A、60:有線網A、231:カスタム設定API、241:カスタムTCP制御部、251:出力キュー、271:ソケットパラメータ管理表、272:カスタムTCP設定、273:デフォルトTCP設定、1000:コンピュータ、1001:CPU、1002:主記憶装置、1003:読取装置、1004:通信装置、1005:外部記憶装置、1006:入出力装置、1007:内部バス、1008:可搬記憶媒体、1010:ローカルエリアネットワーク(LAN)

Claims (10)

  1. それぞれが異なる特性を持つネットワークに接続しているクライアント装置とサーバ装置との間で行われるTCP通信を中継するTCP中継装置であり、
    TCPの接続やデータの送受信制御を行うTCP処理部と、
    ネットワークに対してデータの送受信を行うネットワークインタフェースデバイスを制御するネットワークインタフェース処理部と、
    IP層の処理と、内部に出力キューを備え、前記ネットワークインタフェース処理部に対してIPパケットを送信する際に、送信が完了するまでIPパケットのキューイングを行うIP処理部と、
    前記クライアント装置及び前記サーバ装置との間のTCP通信の終端及び中継処理を行うTCP中継処理部と、
    前記TCP中継処理部に対して、コネクション確立および/またはデータを送受信するためのアプリケーションプログラミングインタフェース(API)を提供するソケットAPI処理部と、
    TCPの管理や制御に用いる情報を記憶するための領域であり、内部にTCPのデフォルト設定情報を記憶するデフォルトTCP設定を含むTCP情報管理領域と、を備え、
    前記TCP情報管理領域は、ソケットパラメータ管理表と、カスタムTCP設定と、を備え、
    前記ソケットパラメータ管理表は、ソケット設定情報として、ソケット記述子フィールドAと、種別フィールドAと、再送タイムアウト時間最小値フィールドAと、再送タイムアウト時間最大値フィールドAと、初期ウィンドウサイズフィールドAと、を含み、
    前記ソケット記述子フィールドAは、TCP中継処理部が作成したソケットの識別子を記憶する領域であり、
    前記種別フィールドAは、ネットワーク種別を記憶する領域であり、
    前記再送タイムアウト時間最小値フィールドAは、再送タイムアウト時間の最小値(下限値)を記憶する領域であり、
    前記再送タイムアウト時間最大値フィールドAは、再送タイムアウト時間の最大値(上限値)を記憶する領域であり、
    前記初期ウィンドウサイズフィールドAは、初期ウィンドウサイズの値を記憶する領域であり、
    前記カスタムTCP設定は、種別フィールドBと、再送タイムアウト時間最小値フィールドBと、再送タイムアウト時間最大値フィールドBと、初期ウィンドウサイズフィールドBと、を含み、
    前記種別フィールドBは、ネットワーク種別を記憶する領域であり、
    前記再送タイムアウト時間最小値フィールドBは、再送タイムアウト時間の最小値を記憶する領域であり、
    前記再送タイムアウト時間最大値フィールドBは、再送タイムアウト時間の最大値を記憶する領域であり、
    前記初期ウィンドウサイズフィールドBは、初期ウィンドウサイズの値を記憶する領域であり、
    前記クライアント装置および前記サーバ装置のそれぞれが接続するネットワークの特性に応じたTCP制御情報を、TCP接続単位で設定する手段と、を備える
    ことを特徴とするTCP中継装置。
  2. 請求項1に記載のTCP中継装置であって、
    前記TCP中継処理部は、
    待ち受けポートで前記クライアント装置からのTCP接続を受け付ける際に、当該TCP接続がカスタム対象であるかを判定するステップと、
    当該TCP接続がカスタム対象である場合に、TCP接続先の前記クライアント装置が所属するネットワーク種別を検索キーとして前記カスタムTCP設定を検索し、検索でマッチしたエントリより前記カスタムTCP設定の情報を取得するステップと、
    前記サーバ装置にTCP接続を行う際に、当該TCP接続がカスタム対象であるかを判定するステップと、
    当該TCP接続がカスタム対象である場合に、TCP接続先の前記サーバ装置が所属するネットワーク種別を検索キーとしてカスタムTCP設定を検索し、検索でマッチしたエントリより前記カスタムTCP設定の情報を取得するステップと、
    ソケットパラメータ管理表の当該TCP接続を示すエントリに、ネットワーク種別情報、および前記カスタムTCP設定の情報を登録するステップと、を実行する
    ことを特徴とするTCP中継装置。
  3. 請求項1または2に記載のTCP中継装置であって、
    前記ソケットAPI処理部は、OS上で動作するアプリケーションが指示する、前記クライアント装置および/またはサーバ装置が接続するネットワーク種別に応じたTCP制御情報の設定を受け付ける
    ことを特徴とするTCP中継装置。
  4. 請求項3に記載のTCP中継装置であって、
    前記ソケットAPI処理部は、前記カスタムTCP設定に対して登録や参照、変更、削除を行うための、前記クライアント装置およびサーバ装置のそれぞれが接続するネットワーク種別に応じたTCP制御情報の設定を受け付けるカスタム設定APIを備え、
    前記TCP中継処理部は、待ち受けポートで前記クライアント装置からのTCP接続を受け付ける際に、当該TCP接続がカスタム対象であった場合に、前記カスタム設定APIを呼び出し、ソケット記述子と種別情報をAPIの引数として渡すステップと、
    前記サーバ装置にTCP接続を行う際に、当該TCP接続がカスタム対象であった場合に、前記カスタム設定APIを呼び出し、ソケット記述子と種別情報をAPIの引数として渡すステップと、を実行する
    ことを特徴とするTCP中継装置。
  5. 請求項1から4のいずれか一に記載のTCP中継装置であって、
    ネットワーク輻輳によるパケット廃棄と、OS内部の送信キュー溢れによるパケット廃棄とを区別し、前者の場合はネットワーク種別に応じたTCP再送タイムアウトの最小値を、後者の場合はデフォルトのTCP再送タイムアウトの最小値を設定する手段を備える
    ことを特徴とするTCP中継装置。
  6. 請求項5に記載のTCP中継装置であって、
    前記TCP処理部は、再送タイマの登録理由をチェックするステップと、
    再送タイマの登録理由がIP処理部中の出力キューでのパケット廃棄であれば、前記デフォルトTCP設定を参照し、デフォルトの再送タイムアウト時間最小値を取得するステップと、
    当該TCPのRTT(ラウンドトリップタイム)から算出された再送タイムアウト時間値が、前記デフォルトの再送タイムアウト時間最小値以下であるか、否かをチェックするステップと、
    YESであれば、前記デフォルトの再送タイムアウト時間最小値を再送タイムアウト時間値として再送タイマに登録するステップと、
    NOであれば、処理を終了するステップと、
    再送タイマの登録理由がネットワークでのパケット廃棄であれば、当該ソケット記述子を検索キーとし、前記ソケットパラメータ管理表より前記ソケット設定情報を参照するステップと、
    当該TCPのRTTから算出された再送タイムアウト時間値が、前記ソケット設定情報より得られた再送タイムアウト時間最小値以下であるか、否かをチェックするステップと、
    YESであれば、前記ソケット設定情報より得られた再送タイムアウト時間最小値を再送タイムアウト時間値として再送タイマに登録するステップと、
    NOであれば、処理を終了するステップと、を実行するカスタムTCP制御部を備える
    ことを特徴とするTCP中継装置。
  7. 請求項1から4のいずれか一に記載のTCP中継装置であって、
    ネットワーク輻輳によるパケット廃棄と、OS内部の送信キュー溢れによるパケット廃棄とを区別し、前者の場合はネットワーク種別に応じたTCP再送タイムアウトの最大値を、後者の場合はデフォルトのTCP再送タイムアウトの最大値を設定する手段を備える
    ことを特徴とするTCP中継装置。
  8. 請求項7に記載のTCP中継装置であって、
    前記TCP処理部は、
    再送タイマの登録理由をチェックするステップと、
    再送タイマの登録理由がIP処理部中の出力キューでのパケット廃棄であれば、前記デフォルトTCP設定を参照し、デフォルトの再送タイムアウト時間最大値を取得するステップと、
    当該TCPのRTT(ラウンドトリップタイム)から算出された再送タイムアウト時間値が、前記デフォルトの再送タイムアウト時間最大値以上であるか、否かをチェックするステップと、
    YESであれば、前記デフォルトの再送タイムアウト時間最大値を再送タイムアウト時間値として再送タイマに登録するステップと、
    NOであれば、処理を終了するステップと、
    再送タイマの登録理由がネットワークでのパケット廃棄であれば、前記ソケット記述子を検索キーとし、前記ソケットパラメータ管理表より前記ソケット設定情報を参照するステップと、
    当該TCPのRTTから算出された再送タイムアウト時間値が、前記ソケット設定情報より得られた再送タイムアウト時間最大値以上であるか、否かをチェックするステップと、
    YESであれば、前記ソケット設定情報より得られた再送タイムアウト時間最大値を再送タイムアウト時間値として再送タイマに登録するステップと、
    NOであれば、処理を終了するステップと、を実行するカスタムTCP制御部を備える
    ことを特徴とするTCP中継装置。
  9. 請求項2に記載のTCP中継装置であって、
    待ち受けポートで前記クライアント装置からのTCP接続を受け付ける際に、当該TCP接続がカスタム対象であるかを判定するステップは、当該TCP接続が、前記クライアント装置から前記TCP中継装置での特定の待ち受けポート番号への接続か否かで、前記クライアント装置が接続するネットワーク種別を判定するステップを備え、
    前記サーバ装置にTCP接続を行う際に、当該TCP接続がカスタム対象であるかを判定するステップは、当該TCP接続が、前記TCP中継装置から前記サーバ装置への特定のポート番号への接続か否かで、前記サーバ装置が接続するネットワーク種別を判定するステップを備える
    ことを特徴とするTCP中継装置。
  10. 請求項2または9に記載のTCP中継装置であって、
    前記カスタムTCP設定の情報とは、再送タイムアウト時間最小値、再送タイムアウト時間最大値、初期ウィンドウサイズ、のいずれか一つ以上の任意の組み合わせである
    ことを特徴とするTCP中継装置。
JP2012102038A 2012-04-27 2012-04-27 Tcp中継装置 Active JP5923376B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012102038A JP5923376B2 (ja) 2012-04-27 2012-04-27 Tcp中継装置
US13/746,794 US9001650B2 (en) 2012-04-27 2013-01-22 TCP relay apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012102038A JP5923376B2 (ja) 2012-04-27 2012-04-27 Tcp中継装置

Publications (2)

Publication Number Publication Date
JP2013229834A true JP2013229834A (ja) 2013-11-07
JP5923376B2 JP5923376B2 (ja) 2016-05-24

Family

ID=49677042

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012102038A Active JP5923376B2 (ja) 2012-04-27 2012-04-27 Tcp中継装置

Country Status (2)

Country Link
US (1) US9001650B2 (ja)
JP (1) JP5923376B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018500827A (ja) * 2014-12-19 2018-01-11 華為技術有限公司Huawei Technologies Co.,Ltd. データ伝送方法及び装置

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10129220B2 (en) 2015-06-13 2018-11-13 Avocado Systems Inc. Application and data protection tag
US10397277B2 (en) 2015-06-14 2019-08-27 Avocado Systems Inc. Dynamic data socket descriptor mirroring mechanism and use for security analytics
US10270810B2 (en) * 2015-06-14 2019-04-23 Avocado Systems Inc. Data socket descriptor based policies for application and data behavior and security
US10193889B2 (en) * 2015-06-14 2019-01-29 Avocado Systems Inc. Data socket descriptor attributes for application discovery in data centers
US10148697B2 (en) 2015-06-16 2018-12-04 Avocado Systems Inc. Unified host based security exchange between heterogeneous end point security agents
US10193930B2 (en) 2015-06-29 2019-01-29 Avocado Systems Inc. Application security capability exchange via the application and data protection layer
US10356068B2 (en) 2015-07-14 2019-07-16 Avocado Systems Inc. Security key generator module for security sensitive applications
US10354070B2 (en) 2015-08-22 2019-07-16 Avocado Systems Inc. Thread level access control to socket descriptors and end-to-end thread level policies for thread protection

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002330168A (ja) * 2001-05-07 2002-11-15 Nec Corp 通信システムにおける再転送タイムアウト時間の設定方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6273622B1 (en) * 1997-04-15 2001-08-14 Flash Networks, Ltd. Data communication protocol for maximizing the performance of IP communication links
US7099273B2 (en) * 2001-04-12 2006-08-29 Bytemobile, Inc. Data transport acceleration and management within a network communication system
JP3904435B2 (ja) * 2001-11-28 2007-04-11 株式会社日立製作所 Webサービス向け輻輳制御装置及び方法
JP5014281B2 (ja) 2008-07-30 2012-08-29 パナソニック株式会社 Tcp送信制御装置及びtcp送信制御方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002330168A (ja) * 2001-05-07 2002-11-15 Nec Corp 通信システムにおける再転送タイムアウト時間の設定方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JPN6015033435; 高橋 修 他: '第3世代移動通信網を介した高速インターネットアクセスのためのステルス型ゲートウェイの提案と実装評価' 情報処理学会論文誌 第44巻,第3号, 20030315, p.637〜646 *
JPN6015033439; 原 政博 他: '携帯電話網でのWireless Enhanced TCPの実装' マルチメディア,分散,協調とモバイル(DICOMO)シンポジウム論文集 1997年〜2006年版 V 第2001巻,第7号, 20010627, p.229〜234 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018500827A (ja) * 2014-12-19 2018-01-11 華為技術有限公司Huawei Technologies Co.,Ltd. データ伝送方法及び装置
KR102061772B1 (ko) * 2014-12-19 2020-01-02 후아웨이 테크놀러지 컴퍼니 리미티드 데이터 전송 방법 및 장치
US10560382B2 (en) 2014-12-19 2020-02-11 Huawei Technologies Co., Ltd. Data transmission method and apparatus

Also Published As

Publication number Publication date
US9001650B2 (en) 2015-04-07
US20140036662A1 (en) 2014-02-06
JP5923376B2 (ja) 2016-05-24

Similar Documents

Publication Publication Date Title
JP5923376B2 (ja) Tcp中継装置
US11277313B2 (en) Data transmission method and corresponding device
US9516114B2 (en) Data packet transmission method and related device and system
US20150237525A1 (en) Traffic Shaping and Steering for a Multipath Transmission Control Protocol Connection
EP2393323A1 (en) Wireless router, wireless routing method, and wireless routing system
CN112205036B (zh) 动态信道绑定的系统和方法
US20130254264A1 (en) Tethering method, computing devices, system and software
WO2017097023A1 (zh) 无感知认证方法系统,基于该方法系统的控制方法、系统
WO2018113373A1 (zh) 一种数据传输方法及装置
US20170027016A1 (en) Communication device, wireless communication device, and communication method
WO2014119715A1 (ja) 通信端末、通信方法、プログラム、通信システムおよび情報処理装置
JP6118122B2 (ja) 通信装置及びその制御方法、プログラム
US11800587B2 (en) Method for establishing subflow of multipath connection, apparatus, and system
CN106471847B (zh) 用于在无线电接入网络之间传送数据通信会话的方法和设备
US11102116B2 (en) Method and device for hosting application by access node
WO2017008701A1 (zh) 数据传输方法、装置及用户设备
CN105262836A (zh) 服务器推送信息的方法及客户端接收推送信息的方法
JP2021524204A (ja) サービス品質監視方法、及びシステム、並びに装置
JP5292172B2 (ja) 接続管理装置及び接続管理方法
JP6976199B2 (ja) 情報処理サーバおよび情報処理方法
JP2008311695A (ja) アクセス制御装置、及びアクセス制御方法
CN113950099A (zh) 一种网络拥塞控制方法及设备
WO2019047706A1 (zh) 一种用户终端切换的方法、装置及系统
US11956328B1 (en) Avoiding stuck subscriber sessions on a disaggregated broadband network gateway
EP3787259B1 (en) Message processing method, apparatus and system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140930

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150708

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150825

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151026

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160418

R151 Written notification of patent or utility model registration

Ref document number: 5923376

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151