JP2006339726A - 中継装置およびデータ中継方法 - Google Patents

中継装置およびデータ中継方法 Download PDF

Info

Publication number
JP2006339726A
JP2006339726A JP2005158627A JP2005158627A JP2006339726A JP 2006339726 A JP2006339726 A JP 2006339726A JP 2005158627 A JP2005158627 A JP 2005158627A JP 2005158627 A JP2005158627 A JP 2005158627A JP 2006339726 A JP2006339726 A JP 2006339726A
Authority
JP
Japan
Prior art keywords
data
correction
value
received
received data
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
JP2005158627A
Other languages
English (en)
Other versions
JP4334505B2 (ja
Inventor
Akira Kanamaru
朗 金丸
Yoshinori Takada
佳典 高田
Tokuji Akamine
徳治 赤嶺
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.)
Mitsubishi Electric Corp
Nippon Telegraph and Telephone Corp
Original Assignee
Mitsubishi Electric Corp
Nippon Telegraph and Telephone 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 Mitsubishi Electric Corp, Nippon Telegraph and Telephone Corp filed Critical Mitsubishi Electric Corp
Priority to JP2005158627A priority Critical patent/JP4334505B2/ja
Publication of JP2006339726A publication Critical patent/JP2006339726A/ja
Application granted granted Critical
Publication of JP4334505B2 publication Critical patent/JP4334505B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Small-Scale Networks (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】 中継装置においてデータ書き換えを行う場合に、データが連続的に送信されネットワーク内でデータの紛失が発生した場合にも、中継装置においてシーケンス番号、アクノレッジ番号を正しく補正し続ける。
【解決手段】 通信呼に対して複数の補正値の履歴を管理することで、連続的に送信されたデータが一部廃棄された場合にも、データ量の増減があったデータ毎の補正値を管理して、シーケンス番号とアクノレッジ番号の補正を行う際に、この履歴で管理されている補正値の情報に基づき、各パケットに対して正しい補正値を選択して補正を実施することが可能になる。
【選択図】 図1

Description

本発明は、IP(Internet Protocol)ネットワークに適用され、異なるネットワーク間のデータ転送を中継する中継装置に利用する。特に、データ中継を行う際に、データの書き換えを伴うデータ中継方法に関する。
IPを使用したネットワークにおいては、IPアドレスの枯渇に対する対策と柔軟なネットワーク構成を実現するために、NAT(Network Address Translation)やNAPT(Network Address Port Translation)と呼ばれる機能が使用されている。
NATはプライベートネットワーク用に設定されたIPアドレスを、Internetに接続可能な正式に割り当てられたIPアドレスに変換する機能であり、この機能は異なるアドレス体系を持つ2つのネットワークを接続するために使用されている。NAPTはIPアドレスだけでなくトランスポート層の情報であるTCP(Transmission Control Protocol)やUDP(User Datagram Protocol)のポート番号も変換を行う。以降ではNAT、NAPTを合わせてNATと呼ぶこととする。
しかし、NATを使用したネットワーク環境下においては、特定の通信アプリケーションの接続に障害が発生することがある。特定のアプリケーションでは、ユーザデータのフィールドを使用してIPアドレス、ポート番号情報をやり取りすることにより、他のコネクションに対する制御を行うものがあり、NATはIPパケットのフレームフォーマットで規定されたIPアドレス領域およびトランスポートプロトコルポート番号領域のみを変換対象としているが、このようなユーザデータフィールドに記載されたIPアドレス情報の変換には対応できない。
これを解決するためにALG(Application Level Gateway)と呼ばれる機能では、特定アプリケーションのユーザデータフィールドの構造を解析し記載されているIPアドレス情報をNAT機能と同様にアドレス変換を行うことで、NAT環境下での通信を実現している。ALG機能は特定のアプリケーション毎にそれぞれのALGが必要になる。
ALGにおいてこのようなアドレス書き換えを実施する処理では、文字列変換が必要となることから、IPアドレスの桁の違いによりデータサイズの変更が発生する可能性があり、前述したデータ書き換えを行う中継装置においては各通信呼に対応するデータサイズ変更量を管理する必要があった。
RFC1631 The IP Network Address Translatorhttp://www.ietf.org/rfc/rfc1631.txt?number=1631K.Egevang,Cray Communications P.Francis,NTT May 19942005.4.22 検索
現在のデータ書き換えを行う中継装置においては、各通信呼に対してデータサイズの変更にかかわる累積補正値を管理する機能を有するが、累積補正値を使用している関係からデータが連続的に送信される場合には、途中のデータがネットワーク上で廃棄されてしまった場合などに補正を行うことができない。
以下に現状のデータ補正方式と、それにより問題が発生する場合の例について図に基づいて説明する。図11は本発明に関わる装置の構成を示した図である。このシステムはデータの送受信を行う端末1、2と、その端末を収容するそれぞれのネットワーク4、5と、その2つのネットワークを接続する中継装置3により構成される。
図12は既存技術に基づく補正値管理機能を持つデータ書き換え方式にしたがったデータ送信シーケンスである。データ6A〜データ9BはそれぞれTCPのデータであり、データ6A、7B、8A、9Bは送信端末から中継装置に転送され、中継装置により受信データの書き換えを行った後、それぞれデータ6B、7A、8B、9Aとしてネットワークに転送され、受信端末に到着する。
図13は図12に示したデータ送信シーケンスについて、データの書き換え実施によるサイズの変更と補正の累積値の変化状況について示している。図12および図13を用いてこのシーケンスの動作について説明する。まず端末1はデータ6Aを端末2に向けて送信する。6Aはペイロードサイズが10であったが、中継装置3により書き換えを行った後のデータ6Bはペイロードサイズが20となり、データ量が10増加した。データ6Aに対してシーケンス番号とアクノレッジ番号の補正は必要ない。
次に、端末2はデータ7Bを用いて端末1に対し、送信されたデータ6Bが正常に受信できたことを通知する。端末2はデータ6Bによりシーケンス番号に記載された1からデータサイズ分の1〜20のデータを受信しているため、次に送信してもらう必要のあるデータは21である。これにより端末2は7Bのデータのアクノレッジ番号を21として端末1宛に送信する。
中継装置ではこのデータ7Bを受信した際に該パケットのアクノレッジ番号を、受信したパケットと逆方向のそれまでの補正値の10の累積を使用し補正を行う。受信したアクノレッジ番号21から補正値10を減算して、新しいアクノレッジ番号を11として書き換え、新しいデータ7Aとする。
データ7Aを受信した端末1では、前回送信したデータ6Aが対向装置により正しく受信されたことを認識し、次のデータ8Aを送信する。データ8Aはシーケンス番号11とアクノレッジ番号1をもっている。
中継装置ではこのデータ8Aを受信した際にはこのパケットのシーケンス番号を、受信したパケットと順方向の累積補正値である10を使用し補正を行う。受信したシーケンス番号11から補正値10を加算して、新しいアクノレッジ番号を21として書き換え、新しいデータ8Bとする。
このデータを受信する端末2においては、6Aで受信したデータ以降の正しいデータを受信することが可能になる。
上記に示したとおり、この通信呼の送受信方向に応じてデータ書き換えの補正値を管理することで、中継装置によりデータの書き換えを行った場合にも正常に通信が可能となる。
図14は連続的にデータを送信する場合のシーケンスを示しており、図15は図14に示したデータ送信シーケンスについて、データの書き換え実施によるサイズの変更と補正の累積値の変化状況について示している。
図14に示すように連続的にデータを送信する状況において、途中のデータ11Bが中継装置から受信側端末2の間で廃棄された場合に、以降の受信データについて中継装置3におけるデータサイズの正常な補正処理ができない。
データパケット11Bの廃棄を検出した端末2はこのパケットの再送を要求するために、パケット13Bを送信するが、この補正にはパケット12Aからパケット12Bへの変換を実施した後の累積補正値のデータを使用してしまうため、データパケット13Aへのアクノレッジ番号の補正の値をデータパケット12Bでの分だけ誤った補正を行ってしまう。これにより端末1でシーケンス番号4からのデータを再送してしまうことになる。
この後シーケンス番号4からデータを端末1が再送した場合、そのシーケンス番号の補正はパケット12Bまでの補正値を基に補正を行ってしまうことで、端末Bが必要とするパケットが受信できなくなるため、トランスポートレイヤのコネクションを正常に継続できなくなり、TCPのコネクションが異常終了することがある。
本発明は、このような背景の下に行われたものであって、中継装置においてデータ書き換えを行う場合に、データが連続的に送信されネットワーク内でデータの紛失が発生した場合にも、中継装置においてシーケンス番号、アクノレッジ番号を正しく補正し続けることが可能になり、コネクションが異常状態に陥ることを防ぐことができる中継装置およびデータ書き換え方法を提供することを目的とする。
以上で説明したような誤補正によるTCPの異常終了を防ぐために、本発明では、通信呼に対して複数の補正値の履歴を管理することで、連続的に送信されたデータが一部廃棄された場合にも、データ量の増減があったデータ毎の補正値を管理して、シーケンス番号とアクノレッジ番号の補正を行う際に、この履歴で管理されている補正値の情報に基づき、各パケットに対して正しい補正値を選択して補正を実施することが可能になる。
本発明の第一の観点は、複数の端末間で送受信されるデータを当該端末に適合するデータ様式に書き換えながら中継する中継装置であって、本発明の特徴とするところは、通信呼を識別する通信呼識別手段と、この通信呼識別手段により識別された通信呼毎に、データ書き換えを実施した際のデータ量の増減値を、書き換えを行ったデータを識別するための情報と共に受信データ毎に管理する補正履歴管理手段と、この補正履歴管理手段により管理される通信呼について、呼開設から現在までのデータ量増減値に基づき、受信データのシーケンス番号とアクノレッジ番号とを補正する番号補正手段とを備えたところにある。
このように、データ量増減値を記録しておき、データ再送を行う場合には、この記録を参照し、受信データのシーケンス番号とアクノレッジ番号とを補正することにより、正しいデータ再送を行うことができる。
また、前記補正履歴管理手段は、前記データ量の増減値として受信データ毎の補正値を格納する手段を備え、前記番号補正手段は、受信データに対しシーケンス番号およびアクノレッジ番号の補正処理を施す際に、前記補正値の合計値を計算して補正を実施する手段を備えることができる。
これによれば、データ再送の要求が発生した時点で、補正値の合計値を計算して補正を実施するので、平常時に、補正履歴として記録するのは受信データ毎の補正値のみでよいため、補正履歴の記録処理を簡単化できると共に、履歴を記録するためのメモリ資源を有効利用することができる。
あるいは、前記補正履歴管理手段は、前記データ量の増減値として受信データ毎の通信呼開始から現在までの補正値の累積値を格納する手段を備え、前記番号補正手段は、受信データに対しシーケンス番号およびアクノレッジ番号の補正処理を施す際に、前記累積値を用いて補正を実施する手段を備えることができる。
これによれば、データ再送の要求が発生した時点で、既に補正値の累積値が算出されているので、前者のように、補正値の合計値を計算する必要がなく、データ再送の要求が発生してから実際にデータ再送を行うまでの時間を前者よりも短縮することができる。ただし、補正履歴の記録処理は前者と比較して複雑化する。また、履歴を記録するためのメモリ資源も前者と比較してより多く必要とする。
また、前記補正履歴管理手段は、受信データ毎の全ての補正履歴を蓄積して管理する手段を備えることができるが、データ書き換えによりデータ量の増減が発生した受信データに限り、その補正履歴を蓄積して管理する手段を備えることもできる。データ量の増減が発生した受信データに限り、その補正履歴を蓄積して管理することにより、履歴を記録するためのメモリ資源を有効利用することができる。
本発明の第二の観点は、複数の端末間で送受信されるデータを、中継装置を用いて当該端末に適合するデータ様式に書き換えながら中継するデータ中継方法であって、本発明の特徴とするところは、通信呼を識別し、識別された通信呼毎に、データ書き換えを実施した際のデータ量の増減値を、書き換えを行ったデータを識別するための情報と共に受信データ毎に管理し、管理される通信呼について、呼開設から現在までのデータ量増減値に基づき、受信データのシーケンス番号とアクノレッジ番号とを補正するところにある。
また、前記データ量の増減値として受信データ毎の補正値を格納しておき、受信データに対しシーケンス番号およびアクノレッジ番号の補正処理を施す際に、前記補正値の合計値を計算して補正を実施することができる。
あるいは、前記データ量の増減値として受信データ毎の通信呼開始から現在までの補正値の累積値を格納しておき、受信データに対しシーケンス番号およびアクノレッジ番号の補正処理を施す際に、前記累積値を用いて補正を実施することができる。
また、受信データ毎の全ての補正履歴を蓄積して管理することができるが、データ書き換えによりデータ量の増減が発生した受信データに限り、その補正履歴を蓄積して管理することもできる。
本発明の第三の観点は、情報処理装置にインストールすることにより、その情報処理装置に、複数の端末間で送受信されるデータを当該端末に適合するデータ様式に書き換えながら中継する中継装置に相応する機能を実現させるプログラムであって、本発明の特徴とするところは、通信呼を識別する通信呼識別機能と、この通信呼識別機能により識別された通信呼毎に、データ書き換えを実施した際のデータ量の増減値を、書き換えを行ったデータを識別するための情報と共に受信データ毎に管理する補正履歴管理機能と、この補正履歴管理機能により管理される通信呼について、呼開設から現在までのデータ量増減値に基づき、受信データのシーケンス番号とアクノレッジ番号とを補正する番号補正機能とを実現させるところにある。
また、前記補正履歴管理機能として、前記データ量の増減値として受信データ毎の補正値を格納する機能を実現させ、前記番号補正機能として、受信データに対しシーケンス番号およびアクノレッジ番号の補正処理を施す際に、前記補正値の合計値を計算して補正を実施する機能を実現させることができる。
あるいは、前記補正履歴管理機能として、前記データ量の増減値として受信データ毎の通信呼開始から現在までの補正値の累積値を格納する機能を実現させ、前記番号補正機能として、受信データに対しシーケンス番号およびアクノレッジ番号の補正処理を施す際に、前記累積値を用いて補正を実施する機能を実現させることができる。
また、前記補正履歴管理機能として、受信データ毎の全ての補正履歴を蓄積して管理する機能を実現させることができるが、前記補正履歴管理機能として、データ書き換えによりデータ量の増減が発生した受信データに限り、その補正履歴を蓄積して管理する機能を実現させることもできる。
本発明のプログラムは記録媒体に記録されることにより、前記情報処理装置は、この記録媒体を用いて本発明のプログラムをインストールすることができる。あるいは、本発明のプログラムを保持するサーバからネットワークを介して直接前記情報処理装置に本発明のプログラムをインストールすることもできる。
これにより、汎用の情報処理装置を用いて、本発明の中継装置を実現し、本発明のデータ中継方法を実施させることができる。
以上説明したように、本発明によれば中継装置においてデータ書き換えを行う場合に、データが連続的に送信されネットワーク内でデータの紛失が発生した場合にも、中継装置においてシーケンス番号、アクノレッジ番号を正しく補正し続けることが可能になり、コネクションが異常状態に陥ることを防ぐことが可能になる。
本発明実施例の中継装置およびデータ中継方法の概要を図1ないし図3を参照して説明する。図1は本実施例の中継装置のブロック構成図である。図2は本実施例のデータ中継方法の動作手順を示すフローチャートである。図3は補正履歴記録手順の詳細を示すフローチャートである。
本実施例は、図1に示すように、複数の端末間で送受信されるデータを当該端末に適合するデータ様式に書き換えながら中継する中継装置であって、本実施例の特徴とするところは、通信呼を識別する通信呼識別部23と、この通信呼識別部23により識別された通信呼毎に、データ書き換えを実施した際のデータ量の増減値を、書き換えを行ったデータを識別するための情報と共に受信データ毎に管理する補正履歴管理部26と、この補正履歴管理部26により管理される通信呼について、呼開設から現在までのデータ量増減値に基づき、受信データのシーケンス番号とアクノレッジ番号とを補正するSEQ/ACK番号補正部25とを備えたところにある。
また、補正履歴管理部26は、前記データ量の増減値として受信データ毎の補正値を格納する手段を備え、SEQ/ACK番号補正部25は、受信データに対しシーケンス番号およびアクノレッジ番号の補正処理を施す際に、前記補正値の合計値を計算して補正を実施する手段を備える。
他の実施例として、補正履歴管理部26は、前記データ量の増減値として受信データ毎の通信呼開始から現在までの補正値の累積値を格納する手段を備え、SEQ/ACK番号補正部25は、受信データに対しシーケンス番号およびアクノレッジ番号の補正処理を施す際に、前記累積値を用いて補正を実施する手段を備える。
また、補正履歴管理部26は、受信データ毎の全ての補正履歴を蓄積して管理する手段を備えることもできるし、あるいは、データ書き換えによりデータ量の増減が発生した受信データに限り、その補正履歴を蓄積して管理する手段を備えることもできる。
次に、本実施例のデータ中継方法を図2および図3を参照して説明する。本実施例は、複数の端末間で送受信されるデータを、中継装置を用いて当該端末に適合するデータ様式に書き換えながら中継するデータ中継方法であって、本実施例の特徴とするところは、通信呼識別部23により通信呼を識別し、補正履歴管理部26により識別された通信呼毎に、データ処理部24によりデータ書き換えを実施した際のデータ量の増減値を、書き換えを行ったデータを識別するための情報と共に受信データ毎に管理し、管理される通信呼について、SEQ/AKC番号補正部25により呼開設から現在までのデータ量増減値に基づき、受信データのシーケンス番号とアクノレッジ番号とを補正するところにある。
すなわち、図2に示すように、中継装置のインタフェース部21にデータが到着すると(S1)、通信呼識別部23により通信呼の識別が行われ(S2)、通信呼が識別されると、当該データは、データ処理部24に渡される。データ処理部24では、渡されたデータに対してデータ書き換え等の所定の処理を施した後、当該データをSEQ/ACK番号補正部25に渡す。データを渡されたSEQ/ACK番号補正部25は、補正履歴管理部26に記録されている当該通信呼の補正履歴を参照する(S3)。補正履歴があれば(S4)、補正値の合計を計算する(S5)。計算された補正値の合計に基づきシーケンス番号およびアクノレッジ番号に対して補正を実施する(S6)。補正履歴管理部26は、この補正履歴を記録する(S7)。補正履歴が記録されたデータは、インタフェース部22から送出される(S8)。
なお、ステップS1としてインタフェース部22にデータが到着し、上記ステップS2〜S7の処理を経て、ステップS8としてインタフェース部21からデータが送出される例もあるが、ここでは、説明をわかりやすくするため、データの流れは一方向について説明する。
また、ステップS5では、データ量の増減値として受信データ毎の通信呼開始から現在までの補正値の累積値を格納しておくこともできる。この場合には、SEQ/ACK番号補正部25は、単に、該当する受信データの累積値を補正履歴管理部26から抽出するだけでよく、計算処理を行う必要はない。このとき、SEQ/ACK番号補正部25は、受信データに対しシーケンス番号およびアクノレッジ番号の補正処理を施す際に、前記累積値を用いて補正を実施する。
また、ステップS7では、受信データ毎の全ての補正履歴を蓄積して管理することもできるが、図3に示すように、データ書き換えによりデータ量の増減が発生した受信データに限り(S7−1)、その補正履歴を蓄積して管理する(S7−2)こともできる。
また、本実施例は、汎用の情報処理装置にインストールすることにより、その情報処理装置に本実施例の中継装置に相応する機能を実現させるプログラムとして実現することができる。このプログラムは、記録媒体に記録されて情報処理装置にインストールされ、あるいは通信回線を介して情報処理装置にインストールされることにより当該情報処理装置に、インタフェース部21、22、通信呼識別部23、データ処理部24、SEQ/AKC番号補正部25、補正履歴管理部26にそれぞれ相応する機能を実現させることができる。
以下では、本実施例の中継装置およびデータ中継方法をさらに詳細に説明する。
図1の3は中継装置全体を示し、21、22は中継装置が外部のネットワークと接続するためのインタフェース機能を示す。23は受信したデータの情報から通信呼を識別するための通信呼識別部、24は中継装置によりデータの書き換え等を実施するデータ処理部、25はSEQ/ACK番号補正部、26はデータ書き換え量の履歴を管理する補正履歴管理部である。
図4は本実施例の動作に関わるデータ転送のシーケンスを示しており、図5は図4のシーケンスにより更新された本実施例にかかる補正履歴管理部26に実装される履歴データベースを示している。40は履歴データベース全体を示しており、41は受信データとの関連を示すエントリ情報、42、43はそれぞれ端末1から端末2方向と端末2から端末1方向のデータサイズ累積補正値、44、45はそれぞれ端末1から端末2方向と端末2から端末1方向の期待ACK番号を示している。
期待ACK番号は受信パケットに対し正常なアクノレッジが返る際の、アクノレッジ番号でありこれに基づき相互の端末がどこまでパケットを正常受信したかを確認できるものである。46、47は端末1から端末2方向と端末2から端末1方向のそれぞれにおける、エントリ情報41で示されたデータ処理時点におけるシーケンス番号情報を示す受信SEQ番号であり、48、49は端末1から端末2方向と端末2から端末1方向のそれぞれにおける、エントリ情報41で示されたデータ処理前のデータサイズを示す受信データサイズである。
図6は本実施例の動作に関わるデータ紛失があった場合の転送シーケンスを示しており、図7はそれに基づく補正履歴機能に実装される履歴データベース40を示している。
(第一実施例)
第一実施例に係る中継装置の動作について、パケット紛失が無い場合のシーケンスの動作を図4のシーケンスを基に示す。図4において端末1と端末2は中継装置3を介して通信を行っている。以下ではデータ33A以降のデータ転送を例にして、端末1と中継装置3の間、また中継装置3と端末2の間のデータ転送と、中継装置3における書き換え方式について説明する。
端末1は端末2に宛て、データ33Aを送信する。データ33Aを受信した中継装置においては、インタフェース部21、通信呼識別部23を経てデータ処理部24にこのデータが転送される。データ処理部24においては中継装置に実装されている様々なアプリケーションに応じてデータが処理され、データサイズの増減が発生する。データ33Aから33Bへの書き換えにおいて発生するデータサイズの増減は9−10=「−1」である。このデータ増減値「−1」と共にデータ処理部24はSEQ/ACK番号補正部25に対し、データ33の情報を転送する。
SEQ/ACK番号補正部25では、データ33についてシーケンス番号およびアクノレッジ番号を補正するため、履歴データベース40から必要な情報の検索を実施する。端末2→端末1方向の期待ACK番号45の、データ33以前の履歴情報を基に、転送されたデータ33に設定されているアクノレッジ番号「52」と一致する項目を検索し、一致する履歴のうち最新の履歴情報を検索して、データ32の履歴情報に期待ACK番号45が「52」として設定されていることを検出する。
これによりデータ33に対するアクノレッジ番号の補正について直前の履歴であるデータ32の端末2→端末1方向のデータサイズ累積補正値43の「+1」を使用してデータ33のアクノレッジ番号に対する補正を実施することを決定する。
次に、データ33に対するシーケンス番号の補正に使用するデータを検索するために、端末1→端末2方向の受信SEQ番号の補正に使用するデータを検索する。このために、端末1→端末2方向の受信SEQ番号46の格納値と、端末1→端末2方向の受信データサイズ48の格納値を加算した値とが、データ33に格納されたシーケンス番号の値と一致する履歴のうち最新の履歴情報を検索する。これにより、データ32の履歴情報が検索される。
これによりデータ33に対するシーケンス番号の補正値としてデータ32の履歴情報の端末1→2補正のデータサイズ累積補正値42の「+16」を使用してデータ33のシーケンス番号に対する補正を実施することを決定する。
以上の動作によりデータ33に対するシーケンス番号の補正量と、アクノレッジ番号の補正量が決定する。
SEQ/ACK番号補正部25では、受信したデータ33のシーケンス番号フィールドをデータ32の履歴情報の端末1→2方向のデータサイズ累積補正値42の「+16」を加算することで、データ33Bのシーケンス番号は「171+16=187」となる。
また、受信したデータ33Bのアクノレッジ番号のフィールドを、データ32の端末2→端末1方向のデータサイズ累積補正値43の「+1」を使用して補正することから、データ33Aのアクノレッジ番号「52」から「+1」を減算することで、データ33Bのアクノレッジ番号は「52(+1)=51」となる。
これによりデータ33Aのシーケンス番号およびアクノレッジ番号の書き換えを完了し、書換え後のデータがデータ33Bとなる。
SEQ/ACK番号補正部25は、このデータ33Bの情報と、データ処理部24におけるデータ増減値「−1」と、データ32の端末2→端末1方向のデータサイズ累積補正値43の「+1」を使用してデータ33のアクノレッジ番号に対する補正を実施した情報と、データ32の履歴情報の端末1→2方向のデータサイズ累積補正値42の「+16」を使用してデータ33のシーケンス番号に対する補正を実施した情報を全て補正履歴管理部26に対して転送する。
補正履歴管理部26では、受信したデータ33に該当する補正履歴情報を履歴データベース40に登録する。登録する内容については以下に示す。
端末1→2方向のデータサイズ累積補正値42については補正による補正量「−1」を加算して、16+(+1)=15として格納する。
端末2→1方向のデータサイズ累積補正値43はアクノレッジ番号の補正に使用したデータ32の端末1→2方向のデータサイズ累積補正値42の値「+1」をそのまま格納する。
端末1→2方向の期待ACK番号44はデータ33のシーケンス番号にデータサイズの値を加算したものであり、ここでは187+9=196を格納する。
端末2→1方向の期待ACK番号45は、データ33の期待ACK番号44の検索において検索条件に一致したデータ32の端末2→1方向のデータサイズ累積補正値43の情報である「52」をそのまま格納する。
端末1→2方向の受信シーケンス番号46は受信したパケット33Aのシーケンス番号をデータ33Bのシーケンス番号と、データ33に対するシーケンス番号補正値から計算し、187−16=171として格納する。
端末2→1方向の受信SEQ番号47は、データ33の期待ACK番号44の検索において検索条件に一致したデータ32の受信SEQ番号47の値「1」をそのまま格納する。
端末1→2方向の受信データサイズ48は受信したパケット33Aのデータサイズをデータ33Bのデータサイズと、データ33に対するデータサイズ補正値から計算し、9−(−1)=10として格納する。
端末2→1方向の受信データサイズ49は、データ33の期待ACK番号44の検索において検索条件に一致したデータ32の受信データサイズ49の値「50」をそのまま格納する。
上記処理により求めた情報をデータ33の履歴情報として履歴データベース40に登録し、補正履歴管理部26はネットワークへの転送のためデータ33Bをインタフェース部22に転送する。
データ33Bを受信したインタフェース部22はネットワークに対してデータを転送する。
以上の動作を各データ入力時の処理として繰り返すことにより、中継装置においてデータの書き換えを行った場合に、書き換えデータサイズを管理することで、シーケンス番号およびアクノレッジ番号を補正しながら、正常な通信の継続が可能となる。
次に、連続送信されているデータの途中のパケットが、ネットワークにおいて廃棄されてしまった場合の補正処理の流れについて、図6および図7に基づいて説明する。データ31A〜データ35Bまでのデータ書き換え、補正、転送については、前述したデータ33のデータ書き換え処理に従う。
ここでデータ34Bとデータ35Bが中継装置3と端末2の間で紛失し、端末2に到着しなかった場合のデータ51Bの処理の流れについて下記に示す。
データ34B、35Bがそれぞれネットワーク内にて紛失しているため、データ651Bに設定されているアクノレッジ番号は「196」となりデータ34Bの再送を促しているものである。
データ51Bは端末2から送信され中継装置3で受信される。中継装置3では最初にインタフェース部22によりデータ51Bを受信し、通信呼識別部23、データ処理部24での処理を実施し、SEQ/ACK番号補正部25に対してデータ51と、データ51のデータ処理部24による処理により発生したデータ増減値「+9」が通知される。
SEQ/ACK番号補正部25では、データ51に該当する履歴データベース40から、シーケンス番号およびアクノレッジ番号の補正に使用する履歴情報を、データ51の情報を基に検索する。
データ51のアクノレッジ番号の補正に必要なデータの検索方法はデータ33に対する補正実施時と同様の動作を行う。
端末2→端末1方向の期待ACK番号45の、データ51以前の履歴情報を基に、転送されたデータ51に設定されているアクノレッジ番号「196」と一致する項目を検索し、一致する履歴のうち最新の履歴情報を検索して、データ33の履歴情報に端末1→2方向の期待ACK番号44が「196」として設定されていることを検出する。
これによりデータ51に対するアクノレッジ番号の補正について、データ33の端末1→端末2方向のデータサイズ累積補正値42の「+15」を使用してデータ51のアクノレッジ番号に対する補正を実施することを決定する。
次に、データ51に対するシーケンス番号の補正に使用するデータを検索するために、端末2→端末1方向の受信SEQ番号47の格納値と、端末2→端末1方向の受信データサイズ49の格納値を加算した値が、データ51に格納されたシーケンス番号の値と一致する履歴のうち最新の履歴情報を検索することで、データ32の履歴情報を検出する。
これによりデータ51に対するシーケンス番号の補正値としてデータ35の履歴情報の端末2→1方向のデータサイズ累積補正値42の「+1」を使用してデータ51のシーケンス番号に対する補正を実施することを決定する。
以上の動作によりデータ51に対するシーケンス番号の補正量と、アクノレッジ番号の補正量が決定する。
SEQ/ACK番号補正部25では、受信したデータ51のシーケンス番号フィールドをデータ35の履歴情報の端末2→1方向のデータサイズ累積補正値42の「+1」を使用して補正することから、データ51Bのシーケンス番号「51」に「+1」を加算することで、データ51Aのシーケンス番号は「51+1=52」となる。
また、受信したデータ51のアクノレッジ番号のフィールドを、データ33の端末1→端末2方向のデータサイズ累積補正値43の「+15」を使用して補正することから、データ51Bのアクノレッジ番号「196」から「+15」を減算することで、データ51Aのアクノレッジ番号は「196−(+15)=181」となる。
これによりデータ51Bのシーケンス番号およびアクノレッジ番号の書き換えを完了し、書き換え後のデータがデータ51Aとなる。
以上のとおり、シーケンス番号およびアクノレッジ番号の補正を行うことで、図6に示すように連続送信中にデータの紛失が発生した場合のデータ送信シーケンスの場合にも正しいデータ補正が可能になり、TCPのコネクション状態が異常になることなく通信を継続することが可能になる。
(第二実施例)
第二実施例に係る中継装置においては、履歴データベース40の構成方法が、第一実施例と異なり、図8で示すようにデータサイズ累積補正値42、43の項目の代わりに、データサイズ個別補正値61、62を管理することを特徴とする。
実際の補正を施す際には補正値の管理開始から該当データまでの履歴情報の合計値を計算し、補正値を決定することで第一実施例と同様の効果を実現可能である。
第二実施例によれば、平常時に、補正履歴として記録するのは受信データ毎の補正値のみでよいため、補正履歴の記録処理を簡単化できると共に、履歴を記録するためのメモリ資源を有効利用することができる。
(第三実施例)
第三実施例に係る中継装置においては、履歴データベース40への履歴情報と登録の動作において、第一実施例と異なり、図9、10にて示すように補正の発生したデータのみ履歴情報登録を実施する方法である。第三実施例の処理手順は図3のフローチャートに示した。
図9においてデータ72、73はデータサイズに変更がないために、図10に示す履歴データベース40への登録を行わない。
このように、全てのデータに対する履歴が保持されているわけではないので、該当する検索条件となる期待ACK番号44、45もしくは受信SEQ番号46、47と受信データサイズ48、4の条件に最も近い、新しい履歴を用いて補正を行うことを特徴とする。
これにより履歴データベース40の実装において、データベースサイズを小さくして実装することが可能になる。
以上説明したように、本発明によれば中継装置においてデータ書き換えを行う場合に、データが連続的に送信されネットワーク内でデータの紛失が発生した場合にも、中継装置においてシーケンス番号、アクノレッジ番号を正しく補正し続けることが可能になり、コネクションが異常状態に陥ることを防ぐことが可能になる。これにより、ネットワークユーザに対するサービス品質を向上させることができる。
本実施例の中継装置のブロック構成図。 本実施例のデータ中継方法の動作手順を示すフローチャート。 補正履歴記録ステップの詳細を示すフローチャート。 第一実施例を説明するための廃棄のないデータシーケンスを示す図。 図4に対応する履歴データベースの状態を示す図。 第一実施例を説明するための連続送信中に廃棄が発生するデータシーケンスを示す図。 図6に対応する履歴データベースの状態を示す図。 第二実施例に係るパケット毎のデータサイズ個別補正値として管理する履歴データベースの構成を示す図。 第三実施例を説明するためのデータシーケンスを示す図。 図9に対応する履歴データベースの状態を示す図。 中継装置を使用したネットワーク構成を示す図。 従来例における通常に補正されるデータシーケンスを示す図。 図12に対応するシーケンス番号、アクノレッジ番号補正管理テーブルを示す図。 従来例における補正に失敗するデータシーケンスを示す図。 図14に対応するシーケンス番号、アクノレッジ番号補正管理テーブルを示す図。
符号の説明
1、2 端末
3 中継装置
4、5 ネットワーク
6A〜13A、31A〜36A、51A、71A〜74A、6B〜13B、31B〜36B、51B、71B〜74B データ
21、22 インタフェース部
23 通信呼識別部
24 データ処理部
25 SEQ/ACK番号補正部
26 補正履歴管理部
40 履歴データベース
41 エントリ情報
42、43 データサイズ累積補正値
44、45 期待ACK番号
46、47 受信SEQ番号
48、49 受信データサイズ
61、62 データサイズ個別補正値

Claims (15)

  1. 複数の端末間で送受信されるデータを当該端末に適合するデータ様式に書き換えながら中継する中継装置において、
    通信呼を識別する通信呼識別手段と、
    この通信呼識別手段により識別された通信呼毎に、データ書き換えを実施した際のデータ量の増減値を、書き換えを行ったデータを識別するための情報と共に受信データ毎に管理する補正履歴管理手段と、
    この補正履歴管理手段により管理される通信呼について、呼開設から現在までのデータ量増減値に基づき、受信データのシーケンス番号とアクノレッジ番号とを補正する番号補正手段と
    を備えたことを特徴とする中継装置。
  2. 前記補正履歴管理手段は、前記データ量の増減値として受信データ毎の補正値を格納する手段を備え、
    前記番号補正手段は、受信データに対しシーケンス番号およびアクノレッジ番号の補正処理を施す際に、前記補正値の合計値を計算して補正を実施する手段を備えた
    請求項1記載の中継装置。
  3. 前記補正履歴管理手段は、前記データ量の増減値として受信データ毎の通信呼開始から現在までの補正値の累積値を格納する手段を備え、
    前記番号補正手段は、受信データに対しシーケンス番号およびアクノレッジ番号の補正処理を施す際に、前記累積値を用いて補正を実施する手段を備えた
    請求項1記載の中継装置。
  4. 前記補正履歴管理手段は、受信データ毎の全ての補正履歴を蓄積して管理する手段を備えた請求項2または3記載の中継装置。
  5. 前記補正履歴管理手段は、データ書き換えによりデータ量の増減が発生した受信データに限り、その補正履歴を蓄積して管理する手段を備えた請求項2または3記載の中継装置。
  6. 複数の端末間で送受信されるデータを、中継装置を用いて当該端末に適合するデータ様式に書き換えながら中継するデータ中継方法において、
    通信呼を識別し、識別された通信呼毎に、データ書き換えを実施した際のデータ量の増減値を、書き換えを行ったデータを識別するための情報と共に受信データ毎に管理し、管理される通信呼について、呼開設から現在までのデータ量増減値に基づき、受信データのシーケンス番号とアクノレッジ番号とを補正する
    ことを特徴とするデータ中継方法。
  7. 前記データ量の増減値として受信データ毎の補正値を格納しておき、受信データに対しシーケンス番号およびアクノレッジ番号の補正処理を施す際に、前記補正値の合計値を計算して補正を実施する請求項6記載のデータ中継方法。
  8. 前記データ量の増減値として受信データ毎の通信呼開始から現在までの補正値の累積値を格納しておき、受信データに対しシーケンス番号およびアクノレッジ番号の補正処理を施す際に、前記累積値を用いて補正を実施する請求項6記載のデータ中継方法。
  9. 受信データ毎の全ての補正履歴を蓄積して管理する請求項7または8記載のデータ中継方法。
  10. データ書き換えによりデータ量の増減が発生した受信データに限り、その補正履歴を蓄積して管理する請求項7または8記載のデータ中継方法。
  11. 情報処理装置にインストールすることにより、その情報処理装置に、
    複数の端末間で送受信されるデータを当該端末に適合するデータ様式に書き換えながら中継する中継装置に相応する機能を実現させるプログラムにおいて、
    通信呼を識別する通信呼識別機能と、
    この通信呼識別機能により識別された通信呼毎に、データ書き換えを実施した際のデータ量の増減値を、書き換えを行ったデータを識別するための情報と共に受信データ毎に管理する補正履歴管理機能と、
    この補正履歴管理機能により管理される通信呼について、呼開設から現在までのデータ量増減値に基づき、受信データのシーケンス番号とアクノレッジ番号とを補正する番号補正機能と
    を実現させることを特徴とするプログラム。
  12. 前記補正履歴管理機能として、前記データ量の増減値として受信データ毎の補正値を格納する機能を実現させ、
    前記番号補正機能として、受信データに対しシーケンス番号およびアクノレッジ番号の補正処理を施す際に、前記補正値の合計値を計算して補正を実施する機能を実現させる
    請求項11記載のプログラム。
  13. 前記補正履歴管理機能として、前記データ量の増減値として受信データ毎の通信呼開始から現在までの補正値の累積値を格納する機能を実現させ、
    前記番号補正機能として、受信データに対しシーケンス番号およびアクノレッジ番号の補正処理を施す際に、前記累積値を用いて補正を実施する機能を実現させる
    請求項11記載のプログラム。
  14. 前記補正履歴管理機能として、受信データ毎の全ての補正履歴を蓄積して管理する機能を実現させる請求項11または12記載のプログラム。
  15. 前記補正履歴管理機能として、データ書き換えによりデータ量の増減が発生した受信データに限り、その補正履歴を蓄積して管理する機能を実現させる請求項11または12記載のプログラム。
JP2005158627A 2005-05-31 2005-05-31 中継装置およびデータ中継方法 Active JP4334505B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005158627A JP4334505B2 (ja) 2005-05-31 2005-05-31 中継装置およびデータ中継方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005158627A JP4334505B2 (ja) 2005-05-31 2005-05-31 中継装置およびデータ中継方法

Publications (2)

Publication Number Publication Date
JP2006339726A true JP2006339726A (ja) 2006-12-14
JP4334505B2 JP4334505B2 (ja) 2009-09-30

Family

ID=37559935

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005158627A Active JP4334505B2 (ja) 2005-05-31 2005-05-31 中継装置およびデータ中継方法

Country Status (1)

Country Link
JP (1) JP4334505B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007282009A (ja) * 2006-04-10 2007-10-25 Matsushita Electric Ind Co Ltd Ack番号書き換えによる帯域制御方式
JP2011103566A (ja) * 2009-11-11 2011-05-26 Hitachi Ltd ゲートウェイ装置およびポート番号割当て方法
WO2013128483A1 (ja) * 2012-02-28 2013-09-06 アラクサラネットワークス株式会社 中継装置、中継装置の制御方法、及び、ネットワークシステム
US9262453B2 (en) 2012-03-27 2016-02-16 Hitachi, Ltd. Information processing system and processing method for use therewith
JP2017538335A (ja) * 2014-10-30 2017-12-21 中国科学院声学研究所Institute Of Acoustics, Chinese Academy Of Sciences プロトコルスタックがないモードにおけるtcpの中間者処理方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007282009A (ja) * 2006-04-10 2007-10-25 Matsushita Electric Ind Co Ltd Ack番号書き換えによる帯域制御方式
JP4702151B2 (ja) * 2006-04-10 2011-06-15 パナソニック株式会社 ネットワーク中継装置およびネットワーク通信システム
JP2011103566A (ja) * 2009-11-11 2011-05-26 Hitachi Ltd ゲートウェイ装置およびポート番号割当て方法
WO2013128483A1 (ja) * 2012-02-28 2013-09-06 アラクサラネットワークス株式会社 中継装置、中継装置の制御方法、及び、ネットワークシステム
JP5363658B1 (ja) * 2012-02-28 2013-12-11 アラクサラネットワークス株式会社 中継装置、中継装置の制御方法、及び、ネットワークシステム
US9262453B2 (en) 2012-03-27 2016-02-16 Hitachi, Ltd. Information processing system and processing method for use therewith
JP2017538335A (ja) * 2014-10-30 2017-12-21 中国科学院声学研究所Institute Of Acoustics, Chinese Academy Of Sciences プロトコルスタックがないモードにおけるtcpの中間者処理方法

Also Published As

Publication number Publication date
JP4334505B2 (ja) 2009-09-30

Similar Documents

Publication Publication Date Title
US8462800B2 (en) Gateway device and port number assignment method
US7969976B2 (en) Gateway apparatus, packet forwarding method, and program
KR100770101B1 (ko) 정보 처리 장치, 버블 패킷 송신 방법 및 프로그램
US6993595B1 (en) Address translation change identification
US9137271B2 (en) System for switching between communication devices, switching method, and switching program
KR20140009931A (ko) 컨텐츠 이름 기반의 컨텐츠 중심 네트워크에서 컨텐츠 및 실시간 스트리밍 컨텐츠 제공을 위한 컨텐츠 요청자 및 컨텐츠 제공자의 통신 방법
US20060015647A1 (en) System and method for communication between heterogeneous networks
JP2018528679A (ja) 負荷平衡システムにおいて接続を確立するデバイス及び方法
US9009353B1 (en) Split network address translation
JP4334505B2 (ja) 中継装置およびデータ中継方法
JP2008098813A (ja) 情報通信装置、情報通信方法、及びプログラム
JP2006277570A (ja) 負荷分散システム、負荷分散装置、実サーバ及び負荷分散方法
CN103581361A (zh) 一种域名解析代理方法、设备及系统
Simpson TCP cookie transactions (TCPCT)
US20160380964A1 (en) Network transmission method and network transmission system for a multi-layer network address translator structure
JP2017538335A (ja) プロトコルスタックがないモードにおけるtcpの中間者処理方法
JP4608371B2 (ja) Sipサービス変換装置、およびその方法
CN102598637B (zh) 通信系统
JP2006203575A (ja) 通信方法
CN103095608A (zh) 一种dns数据包的代理转发方法
US20090225775A1 (en) Serial Buffer To Support Reliable Connection Between Rapid I/O End-Point And FPGA Lite-Weight Protocols
US7535916B2 (en) Method for sharing a transport connection across a multi-processor platform with limited inter-processor communications
CN107659436B (zh) 一种防止业务中断的方法及装置
US8762449B2 (en) Method of downloading large size data to a large number of networked client machines from a single server
US20150215277A1 (en) Network address translation apparatus with cookie proxy function and method for nat supporting cookie proxy function

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061113

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090105

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090317

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090518

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090623

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120703

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4334505

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130703

Year of fee payment: 4

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250