JP5923376B2 - Tcp中継装置 - Google Patents

Tcp中継装置 Download PDF

Info

Publication number
JP5923376B2
JP5923376B2 JP2012102038A JP2012102038A JP5923376B2 JP 5923376 B2 JP5923376 B2 JP 5923376B2 JP 2012102038 A JP2012102038 A JP 2012102038A JP 2012102038 A JP2012102038 A JP 2012102038A JP 5923376 B2 JP5923376 B2 JP 5923376B2
Authority
JP
Japan
Prior art keywords
tcp
socket
custom
network
processing unit
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
JP2012102038A
Other languages
English (en)
Other versions
JP2013229834A (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.)
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)

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 (8)

  1. クライアント装置が接続する第1のネットワークと、サーバ装置が接続する第2のネットワークとに接続し、前記クライアント装置と前記サーバ装置との間で行われるTCP通信を中継するTCP中継装置であって
    前記第1のネットワークにおいて、前記クライアント装置と第1のTCP接続を行い、前記第2のネットワークにおいて、前記サーバ装置と第2のTCP接続を行い、前記第1のTCP接続と前記第2のTCP接続との間でTCP通信を終端して中継する、TCP中継処理部と、
    TCPの接続およびデータの送受信制御を行い、並びに、前記第1のTCP接続に係る第1のTCP制御情報と前記第2のTCP接続に係る第2のTCP制御情報とを、それぞれ、TCP情報管理領域を用いて保持するTCP処理部と、
    ネットワークに対してデータの送受信を行うネットワークインタフェースデバイスを制御するネットワークインタフェース処理部と、
    IP層の処理と、内部に出力キューを備え、前記ネットワークインタフェース処理部に対してIPパケットを送信する際に、送信が完了するまでIPパケットのキューイングを行うIP処理部と、を備え、
    前記TCP情報管理領域は、
    前記第1と第2のネットワークにおけるTCP接続デフォルト設定情報を記憶するデフォルトTCP設定と、
    カスタム対象のTCP接続のネットワーク種別と当該ネットワーク種別に対する設定情報であるカスタム情報とを対応付けて記憶するカスタムTCP設定と、
    前記デフォルトTCP設定と前記カスタムTCP設定とに基づく、TCP通信ごとの前記第1のTCP制御情報と前記第2のTCP制御情報とをソケット設定情報として、前記TCP通信を識別するソケット記述子に対応付けて記憶するソケットパラメータ管理表と、を備え、
    前記TCP中継処理部は、
    前記クライアント装置と第1のTCP接続を行う際に、当該第1のTCP接続がカスタム対象であるかを判定するステップと、
    当該第1のTCP接続がカスタム対象である場合に、前記第1のネットワークの種別を示す情報を検索キーとして前記カスタムTCP設定を検索するステップと、
    前記ソケットパラメータ管理表の当該第1のTCP接続に係る前記ソケット設定情報として、ネットワーク種別、および前記カスタムTCP設定の前記検索においてマッチした前記カスタム情報を登録するステップと、
    前記サーバ装置と第2のTCP接続を行う際に、当該第2のTCP接続がカスタム対象であるかを判定するステップと、
    当該第2のTCP接続がカスタム対象である場合に、前記第2のネットワークの種別を示す情報を検索キーとして前記カスタムTCP設定を検索するステップと、
    前記ソケットパラメータ管理表の当該第2のTCP接続に係る前記ソケット設定情報として、ネットワーク種別、および前記カスタムTCP設定の前記検索においてマッチした前記カスタム情報を登録するステップと、を実行する
    ことを特徴とするTCP中継装置。
  2. 請求項1に記載のTCP中継装置であって、
    前記TCP中継処理部に対して、コネクション確立および/またはデータを送受信するためのアプリケーションプログラミングインタフェース(API)を提供するソケットAPI処理部と、を備え、
    前記ソケットAPI処理部は、OS上で動作するアプリケーションが指示する、前記クライアント装置および/またはサーバ装置が接続するネットワーク種別に応じた第1および/または第2のTCP制御情報の設定を、TCP中継処理部から受け付け、前記ソケットパラメータ管理表に登録す
    ことを特徴とするTCP中継装置。
  3. 請求項に記載のTCP中継装置であって、
    前記ソケットAPI処理部は、前記カスタムTCP設定に対して登録や参照、変更、削除を行うための、前記クライアント装置および前記サーバ装置のそれぞれが接続するネットワーク種別に応じたTCP制御情報の設定を受け付けるカスタム設定APIを備え、
    前記TCP中継処理部は、
    待ち受けポートで前記クライアント装置からのTCP接続を受け付ける際に、当該TCP接続がカスタム対象であった場合に、前記カスタム設定APIを呼び出し、前記ソケット記述子とネットワークの種別を示す情報とをAPIの引数として渡すステップと、
    前記サーバ装置にTCP接続を行う際に、当該TCP接続がカスタム対象であった場合に、前記カスタム設定APIを呼び出し、前記ソケット記述子とネットワークの種別を示す情報をAPIの引数として渡すステップと、を実行する
    ことを特徴とするTCP中継装置。
  4. 請求項1に記載のTCP中継装置であって、
    前記カスタム情報は、TCP再送タイムアウト時間の最小値を含み、
    前記TCP処理部は、前記送受信制御において、ネットワーク輻輳によるパケット廃棄の場合は、前記ソケットパラメータ管理表が記憶する前記TCP再送タイムアウト時間の最小値を、前記IP処理部によるパケット廃棄の場合は、前記デフォルトTCP設定に記憶されたTCP再送タイムアウト時間の最小値を、用いる
    ことを特徴とするTCP中継装置。
  5. 請求項に記載のTCP中継装置であって、
    前記TCP処理部は、
    前記送受信制御における再送タイマの登録理由をチェックするステップと、
    再送タイマの登録理由がIP処理部中の出力キューでのパケット廃棄であれば、前記デフォルトTCP設定を参照し、デフォルトの再送タイムアウト時間最小値を取得するステップと、
    当該TCPのRTT(ラウンドトリップタイム)から算出された再送タイムアウト時間値が、前記デフォルトの再送タイムアウト時間最小値以下であるか、否かをチェックするステップと、
    YESであれば、前記デフォルトの再送タイムアウト時間最小値を再送タイムアウト時間値として再送タイマに登録するステップと、
    NOであれば、処理を終了するステップと、
    再送タイマの登録理由がネットワークでのパケット廃棄であれば、前記ソケット記述子を検索キーとし、前記ソケットパラメータ管理表から前記ソケット設定情報を参照するステップと、
    当該TCPのRTTから算出された再送タイムアウト時間値が、当該ソケット設定情報から得られた再送タイムアウト時間最小値以下であるか、否かをチェックするステップと、
    YESであれば、当該ソケット設定情報から得られた再送タイムアウト時間最小値を再送タイムアウト時間値として再送タイマに登録するステップと、
    NOであれば、処理を終了するステップと、を実行する
    ことを特徴とするTCP中継装置。
  6. 請求項1に記載のTCP中継装置であって、
    前記カスタム情報は、再送タイムアウト時間の最大値を含み、
    前記TCP処理部は、前記送受信制御において、ネットワーク輻輳によるパケット廃棄の場合は、前記ソケットパラメータ管理表が記憶する前記TCP再送タイムアウト時間の最大値を、前記IP処理部によるパケット廃棄の場合は、前記デフォルトTCP設定に記憶されたTCP再送タイムアウト時間の最大値を、用い
    ことを特徴とするTCP中継装置。
  7. 請求項に記載のTCP中継装置であって、
    前記TCP処理部は、
    前記送受信制御における再送タイマの登録理由をチェックするステップと、
    前記再送タイマの登録理由が前記IP処理部によるパケット廃棄であれば、前記デフォルトTCP設定を参照し、デフォルトの再送タイムアウト時間最大値を取得するステップと、
    当該TCPのRTT(ラウンドトリップタイム)から算出された再送タイムアウト時間値が、前記デフォルトの再送タイムアウト時間最大値以上であるか、否かをチェックするステップと、
    YESであれば、前記デフォルトの再送タイムアウト時間最大値を再送タイムアウト時間値として再送タイマに登録するステップと、
    NOであれば、処理を終了するステップと、
    前記再送タイマの登録理由がネットワーク輻輳によるパケット廃棄であれば、前記ソケット記述子を検索キーとし、前記ソケットパラメータ管理表から前記ソケット設定情報を参照するステップと、
    当該TCPのRTTから算出された再送タイムアウト時間値が、前記ソケット設定情報から得られた再送タイムアウト時間最大値以上であるか、否かをチェックするステップと、
    YESであれば、前記ソケット設定情報から得られた再送タイムアウト時間最大値を再送タイムアウト時間値として再送タイマに登録するステップと、
    NOであれば、処理を終了するステップと、を実行する
    ことを特徴とするTCP中継装置。
  8. 請求項に記載のTCP中継装置であって、
    前記TCP中継処理部は、
    前記第1のTCP接続がカスタム対象であるかを判定するステップにおいて、当該第1のTCP接続が、前記クライアント装置から前記TCP中継装置での特定の待ち受けポート番号への接続か否かで、前記クライアント装置が接続するネットワーク種別を判定するステップを実行し
    前記第2のTCP接続がカスタム対象であるかを判定するステップにおいて、当該第2の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 JP2013229834A (ja) 2013-11-07
JP5923376B2 true 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)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105763474B (zh) 2014-12-19 2019-10-25 华为技术有限公司 数据传输方法和装置
US10129220B2 (en) 2015-06-13 2018-11-13 Avocado Systems Inc. Application and data protection tag
US10193889B2 (en) * 2015-06-14 2019-01-29 Avocado Systems Inc. Data socket descriptor attributes for application discovery in data centers
US10270810B2 (en) * 2015-06-14 2019-04-23 Avocado Systems Inc. Data socket descriptor based policies for application and data behavior and security
US10397277B2 (en) 2015-06-14 2019-08-27 Avocado Systems Inc. Dynamic data socket descriptor mirroring mechanism and use for security analytics
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

Family Cites Families (5)

* 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
JP2002330168A (ja) * 2001-05-07 2002-11-15 Nec Corp 通信システムにおける再転送タイムアウト時間の設定方法
JP3904435B2 (ja) * 2001-11-28 2007-04-11 株式会社日立製作所 Webサービス向け輻輳制御装置及び方法
JP5014281B2 (ja) 2008-07-30 2012-08-29 パナソニック株式会社 Tcp送信制御装置及びtcp送信制御方法

Also Published As

Publication number Publication date
US9001650B2 (en) 2015-04-07
US20140036662A1 (en) 2014-02-06
JP2013229834A (ja) 2013-11-07

Similar Documents

Publication Publication Date Title
JP5923376B2 (ja) Tcp中継装置
US11277313B2 (en) Data transmission method and corresponding device
JP6324038B2 (ja) マルチパス接続を確立するための方法およびマルチホーム機器
JP5882353B2 (ja) ファイルシステムセッションにおけるマルチコネクションのための方法及びシステム
US20150237525A1 (en) Traffic Shaping and Steering for a Multipath Transmission Control Protocol Connection
US9516114B2 (en) Data packet transmission method and related device and system
CN112205036B (zh) 动态信道绑定的系统和方法
WO2018113373A1 (zh) 一种数据传输方法及装置
WO2017097023A1 (zh) 无感知认证方法系统,基于该方法系统的控制方法、系统
WO2014119715A1 (ja) 通信端末、通信方法、プログラム、通信システムおよび情報処理装置
JP6118122B2 (ja) 通信装置及びその制御方法、プログラム
US20170027016A1 (en) Communication device, wireless communication device, and communication method
JP2014528227A (ja) 電力低減ワイヤレス通信のためのシステムおよび方法
US10901720B1 (en) Simultaneous operation of a networked device using multiple disparate networks
CN105262836A (zh) 服务器推送信息的方法及客户端接收推送信息的方法
WO2018053894A1 (zh) 物联网基于传输速率的接入点切换方法及装置
CN106471847B (zh) 用于在无线电接入网络之间传送数据通信会话的方法和设备
JP2010263576A (ja) 接続管理装置及び接続管理方法
WO2014047951A1 (zh) 一种网络存储的方法、交换设备和控制器
US10601709B2 (en) Method and device for hosting application by access node
WO2013146770A1 (ja) 通信装置、制御装置、通信システム、通信方法、通信装置の制御方法及びプログラム
WO2022222753A1 (zh) 一种网络拥塞的处理方法、装置、终端、存储介质
JP6976199B2 (ja) 情報処理サーバおよび情報処理方法
JP2008311695A (ja) アクセス制御装置、及びアクセス制御方法
US11956328B1 (en) Avoiding stuck subscriber sessions on a disaggregated broadband network gateway

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