JP4610910B2 - 通信処理装置及びその方法 - Google Patents

通信処理装置及びその方法 Download PDF

Info

Publication number
JP4610910B2
JP4610910B2 JP2004055368A JP2004055368A JP4610910B2 JP 4610910 B2 JP4610910 B2 JP 4610910B2 JP 2004055368 A JP2004055368 A JP 2004055368A JP 2004055368 A JP2004055368 A JP 2004055368A JP 4610910 B2 JP4610910 B2 JP 4610910B2
Authority
JP
Japan
Prior art keywords
data
upper layer
communication
layer
packet
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.)
Expired - Fee Related
Application number
JP2004055368A
Other languages
English (en)
Other versions
JP2005244895A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2004055368A priority Critical patent/JP4610910B2/ja
Priority to US10/944,494 priority patent/US8170057B2/en
Priority to EP04022482A priority patent/EP1569408B1/en
Publication of JP2005244895A publication Critical patent/JP2005244895A/ja
Application granted granted Critical
Publication of JP4610910B2 publication Critical patent/JP4610910B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/1887Scheduling and prioritising arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • 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/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • 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/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/325Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the network layer [OSI layer 3], e.g. X.25
    • 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/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/326Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the transport layer [OSI layer 4]
    • 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]
    • 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/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level

Description

本発明は、通信処理装置及びその方法に関する。
通信において、通信者間で伝達するデータを、抜けや重複無く、データの順序を保存して通信する機能は必須である。以下の説明において、「信頼性のある通信」は、以上のような通信を指すものとする。
信頼性のある通信を実現するためには、原理的に受信側がデータを確かに受け取ったことを送信側に受信通知(Acknowledgement省略してackと呼ぶ)し、送信側は、この受信通知によってデータの再送を行う必要がある。これを再送制御と呼ぶ。
図12は、再送制御の概念を説明する図である。
送信者がdata Kを受信者に送り、受信者によって正常に受信されると、受信者は、data K+1を送信者が送信するように促す受信通知ack K+1を送信者に送信する。送信者がack K+1を受け取ると、送信者はdata K+1を受信者に送信する。ここで、data K+1が通信路の途中で喪失したとする。すると、受信者は、いつまでたってもdata K+1を受信しないので、ackを返送できない。送信者では、受信者からackが帰ってこないので、data K+1の送出直後から計数していた時間がタイムアウトを向かえる。送信者は、タイムアウトになったと判断すると、data K+1が喪失したと判断して、data K+1を再送する。再送されたdata K+1が正常に受信者に受信されると、受信者からack K+2が返送される。
従来、「信頼性のある暗号通信」を実現する代表的な手段としては、以下の二方式が代表的である。
A)TCP及びIPSecを同時に利用する
B)TLS(Transport Layer Security、SSLとも呼ばれている)を利用する
TCP及びIPSecを同時に利用する方式(A)では、TCPが「信頼性のある通信」を実現するので、パケットを喪失した場合、喪失パケットを再送する制御「再送制御」を実現するのはTCPが担当する。通常再送制御を行うためには送信側TCPがデータを送信し、受信側TCPがデータを受信する毎にackパケットを送信側TCPへ返送する。送信側TCPではackパケットを受信することで受信側TCPが受信したデータを認識し、もしデータが欠落していた場合は欠落データを再送する。
図13は、TCP及びIPSecを同時に行う通信を説明する図である。
方式(A)では、再送パケットをTCPが送信すると、IPSecは以前同じデータを暗号化したにもかかわらず、再度再送パケットの暗号化処理を行い、ネットワークに送信せざるを得ない。これはプロトコルの階層構造により、上位層であるTCPと下位層であるIPSecは全く連携をせずに動作するように定義されているためである。一般に暗号化処理や認証処理などIPSecで行う処理は複雑な演算を必要とするため何度も同じデータを処理するとその負荷や処理時間が余計に増大するという問題がある。
図14は、TLS方式の通信を説明する図である。
一方、TLS方式(B)は、TCPの上位層で暗号化処理を行う方式である。この場合TCP層では上位層からのデータを暗号化された状態で受け取るため、仮にTCPで再送が行われたとしても暗号処理を再度行う必要は無い。
以上をまとめると再送を伴う暗号通信においては再送時の再暗号処理を節約するという観点からTCP+IPSecよりもTLC方式が優れている。しかしながら、IPSecはTCPだけでなく全ての通信を暗号通信化できる利点があり、実際の運用上は頻繁に使用されている。
図15は、TCP+IPSec方式とTLS方式を比較した表である。
この表から分かるように、適用分野は、TLS方式が機密httpなど一部のみであるのに対し、TCP+IPSecの方式は、VPNなどの幅広い分野で利用可能であることが分かる。その反面、TCP+IPSec方式では、再送パケットの再暗号処理が必要であり、負荷、処理時間の増大がある。一方、TLS方式の場合、再送パケットの再暗号処理は、不要であり、負荷、処理時間の増大は無く、高速な通信には適している。従って、TCP+IPSecの適用範囲の広さを確保し、且つ、高速な通信を行うには、再送パケットの再暗号処理の問題を解決すればよいことがわかる。
従来、特許文献1には、レイヤ3が有する制御メッセージの再送機能によって、レイヤ2レベルでの障害のエラー回復を行う技術が開示されている。特許文献2にも、レイヤ3において、レイヤ2の障害のエラー回復を行う技術が開示されている。特許文献3には、マルチキャスト転送において、送信局が受信局のポーリングを行う技術が開示されている。特許文献4においては、マルチキャストにおいて冗長性を排した再送制御を行うことが記載されている。特許文献5においては、仮の送達確認応答を行うシステムが開示されている。
特開平5−183644号公報 特開平5−122278号公報 特開平11−196041号公報 特開2001−237883号公報 特開2002−247132号公報
すなわち、従来方式においては、より適用分野の広いIPSecを使用してTCPなど「信頼性のある通信」を行う場合に再送パケットの再暗号処理によって負荷と処理時間の増大を招くという問題があった。
本発明においては、TCP+IPSecの例に見られるように上位層で信頼性のある通信を処理し、下位層で暗号通信を処理する場合に全体の処理量を削減することで、負荷を低減するとともに処理性能の向上を実現する。
また、暗号通信を使わずに単に「信頼性のある通信」を行う場合においても再送処理をより下位層(例えばIP層)で行うことができればデータを上位層(例えばTCP層)まで伝達する必要がなくなる。したがって、本発明は、上位層と下位層の間のデータ伝達の手間を削減する。
本発明の課題は、上位層の処理の一部を下位層で代行することにより、通信処理を効率化する技術を提供することである。
本発明の通信処理装置は、上位層で行われる再送制御を含む通信を下位層を介して行う通信処理装置であって、該下位層において、ネットワークを介して受信されたデータの中から、上位層で終端されるデータの通信に関する情報を、上位層における終端に対応する処理をすることなく取得する上位層データ取得手段と、該下位層において、該得られた情報に基づいて、再送データを送出する再送手段とを備えることを特徴とする。
本発明の通信処理方法は、上位層で行われる再送制御を含む通信を下位層を介して行う通信処理方法であって、該下位層において、ネットワークを介して受信されたデータの中から、上位層で終端されるデータの通信に関する情報を、上位層における終端に対応する処理をすることなく取得する上位層データ取得ステップと、該下位層において、該得られた情報に基づいて、再送データを送出する再送ステップとを備えることを特徴とする。
本発明においては、上位層のデータで通信に関する情報、特には、再送要求などのデータを、上位層での終端を行わず、下位層でその情報だけを抜き出して解釈する。そして、再送要求であった場合には、下位層から直接データを送出するようにしている。
本発明によれば、下位層が上位層の処理を代行することにより、通信処理速度を効率化し、高速の通信を実現することができる。
本発明の実施形態は、複数のプロトコル階層を持った通信システムにおいて、上位層がやり取りしている通信パケットを下位層の処理装置が代行処理することによって処理量の軽減や通信性能の向上を実現しようとするものである。
本発明の実施形態の装置の利用分野は非常に広範であるが、一つの具体的な利用分野は「信頼性のある通信」と「暗号通信」を同時に必要とする分野である。更に別の具体的な利用分野は「信頼性のある通信」を行う一般の通信分野である。
ここで、上位層、下位層とは一般にOSIの7階層モデルと呼ばれるようなプロトコル階層において相対的に上に位置する階層を上位層、下に位置する階層を下位層と呼ぶ。また、実際の通信プロトコル実装において、データの流れを見たときによりアプリケーションプログラムに近い方を上位層、遠い方を下位層と定義する。
図1は、OSIの7階層モデルの各階層を示した図である。
一番上の7階層はアプリケーション層であり、6階層がプレゼンテーション層であり、5階層がセッション層である。4階層がトランスポート層であり、TCPやTLSのプロトコルが実装される部分である。3階層はネットワーク層であり、IPやIPSecのプロトコルが実装される部分である。2階層がリンク層であり、IEEEの803シリーズのプロトコルを実装する部分である。一番下の1階層が物理層である。
本明細書では、「信頼性のある暗号通信」、「信頼性のある通信」に適用する場合を例示するが、本発明の適用はこれらにとどまらない。
まず、本発明の効果がわかりやすい例として、上位層が「信頼性のある通信」を実現し、それよりも下位層が「暗号通信」を担当している場合に、「信頼性のある暗号通信」を効率的に実現する手段を例示する。次に、「信頼性のある通信」を効率的に実現する手段を例示する。本明細書では、説明を具体的にするためにインターネットのプロトコルを用いて記述するが、本発明はインターネットに限定して適用するものではない。また、パケット通信技術を題材として記述するが、本発明は非パケット通信にも適用可能である。
なお、通信において通信者間で伝達するデータを抜け、重複無くデータの順序を保存して通信する通信を「信頼性のある通信」と呼ぶ。この機能は、必須の機能である。インターネットで用いられるTCP(Transmission Control Protocol)はトランスポート層において「信頼性のある通信」を実現する代表的な通信方式である。
また、通信者同士がやり取りするデータを第三者が盗聴、改ざんすることを防ぐ「暗号通信」も重要な機能である。インターネットで用いられるIPSec(IP Security)はネットワーク層において「暗号通信」を実現する代表的な通信方式である。
本発明の実施形態では、下位層においてパケットの内容を調べ、一定の条件が成立したら上位層に代わって本来上位層が行う処理を代行するものである。
図2は、本発明の第1の実施形態を説明する図である。
送信者側と受信者側は、TCPプロトコルを実行する部分とIPSecを実行する部分からなる。TCPプロトコルを実行する部分とIPSecを実行する部分は、1つのコンピュータ内に実装されていても良いし、別々のコンピュータに実装されていてもよい。
最初、送信者のTCP部からdata Kが送信される。これは、IPSec部において暗号化され、受信者側に送信される。data Kは、受信者のIPSec部において受信され、復号され、受信者のTCP部において受信される。受信者のTCP部でdata Kが受信されると、ack K+1が送信者側に送信される。ack K+1は、受信者のIPSec部において暗号化され、送信者に送られる。送信者のIPSec部では、受信したack K+1を復号し、送信者のTCP部に渡す。送信者のTCP部からdata K+1が送出され、IPSec部で暗号化され、伝送路に送出されたが、これが送出した場合には、受信者のTCP部は、何時までたってもdata K+1が送られてこないので、再び、ack K+1を送信者に送る。このとき、ack K+1は、data K+1の再送を促すものである。このackは、送信者のIPSec部において、復号されると共に、IPSec部においてTCP層のdata K+1の再送を要求するメッセージを見る。このackがdata K+1の再送要求であることが分かると、IPSec部は、バッファに格納しておいたdata K+1を暗号化したパケットを受信者に送信する。この送信者のIPSec部が再送したdata K+1を暗号化したものが受信者のTCP部に受信されると、受信者のTCP部からack K+2が送出される。
以下の実施形態は、TCP及びIPSecにおける本発明の一実施形態である。本実施形態ではIPSec層に特定の機能を適用している。上位層はTCP、下位層はイーサネット(登録商標)などのリンク層である。
図3は、TCPパケットヘッダを示す図である。
本実施形態においては、図3のパケットヘッダのフォーマットにおけるSEQUENCE NUMBER, ACKNOWLEDGEMENT NUMBER, FLAGS, TCP CHECKSUMを使用する。
また、FLAGSにおいては、ACK>Acknowledgement Numberが有効か無効かを示す情報を使用する。
図4は、本発明の第1の実施形態の全体構成を示す図である。
本発明の実施形態の装置は、上位層と下位層の間に位置し、それぞれに対して送信データ(TX)、受信データ(RX)をやり取りする。本発明の実施形態では、TX、RXのそれぞれにあるTX識別処理部10、RX識別処理部16、TX代行処理部11、RX代行処理部17を備えている。セッションテーブル15は、識別処理において処理対象とすべきセッション情報および処理対象としているセッションの情報(最新のシーケンス番号、アクノレッジメント番号)を格納する。バッファ13は送信パケットを再送に備えて保存するために用いる。
TCPを上位層とし、IPSec処理に本発明の実施形態を適用し、イーサネット(登録商標)を下位層とした場合の処理の基本的流れを述べる。
まず、TCP層からの送信パケット(TX)をTX識別処理部10によって識別し、処理対象とするTCPセッションを認識する。パケットがデータ送信パケットである場合、シーケンス番号を該当セッション情報として記録し、暗号化部12で暗号化した後、セレクタ14を介してイーサネット(登録商標)に送信すると共にバッファ13に格納する。
イーサネット(登録商標)からの受信パケット(RX)についてはまず復号化部18で復号化を行い、平文のパケットをRX識別処理部17で解析する。この解析によってアクノレッジメント番号を検査し、再送を必要とする場合はバッファ13に格納された該当セッションのパケットをセレクタ14を介して再送する。再送の契機となったRXパケットはアクノレッジパケット(データを持たないTCPパケット)の場合破棄し(代行処理)、上位層へは転送しない。これは本来上位層で処理すべき再送処理を代行したからである。RXパケットがデータを持つアクノレッジパケットの場合は、TCPヘッダのFLAGSに含まれるACKビットを落として(ビットを0に設定して:代行処理)上位層に転送する。
また、アクノレッジメント番号で示されるより古いパケットがバッファ13に格納されている場合は、バッファ13からそのパケットを削除する。これはそのパケットを受信側が受信しているため再送の必要が無いからである。
再送方法の変形例として、RXパケットを変更することなしに上位層に転送し、TCPからの再送パケットが転送された場合は、このパケットと同一のパケットを過去に送信したことがあるかどうかシーケンス番号によって検査し、もし過去に送信していれば上位層から転送されたTXパケットを削除し、バッファ13に格納された該当パケットを再送する方法も可能である。この場合、暗号化の手間を節約できる。
識別処理は、一定の識別基準に従って、パケットの内容を解析し、解析結果に従って該当するパケット(該当パケット)に対する一つあるいは複数の代行処理を直列的あるいは並列的に起動する、または、該当パケットでない場合は代行処理を適用しないなどを行う。
識別処理は、送信パケットを識別するTX識別処理部10と受信パケットを識別するRX識別処理部16の動作からなる。これらは、パケットの内容を解析し、代行処理対象パケットを選別することにある。TCPにおいては、処理対象とするTCPセッションに属するパケットは代行処理対象となる。
識別基準として予め設定されたプロトコルの種類(プロトコル番号)、パケットのアドレス、ポート番号などパケットヘッダの情報の一つあるいは複数の組み合わせを用いる手段を設ける。
TCPにおいてはIPアドレスペア(IPヘッダのSource IP AddressとDestination IP Address)及びポート番号(TCPヘッダのSource PortとDestination Port)及びIPヘッダのプロトコルを検査することで、特定のTCPセッションを識別可能である。
識別基準としてパケットとは別に、あるいは、パケット本来のデータに識別基準を示すデータを付加する形で上位層から与えられた識別情報を用いることも可能である。
これは、予め定められた方法、例えば、上位層からデータを転送するときに本来の通信データのほかに付加データを付け加え、この付加データを解析する等の方法で識別する場合である。識別基準として下位層の通信状況を用いることも可能である。
ここで、通信状況とは、例えば、下位層ないし通信相手へのデータ転送状況であって、もしデータロスなどが発生していないならば、本発明の実施形態の機構を抑止することで識別処理、代行処理の処理負荷、処理時間を節約することを目的とする。
また、代行処理として、該当パケットをバッファリングするバッファ13を設ける。この場合、全ての該当パケットを全順序化してバッファリングする。
該当パケットをTCPセッションなど同種のパケットに分類し、分類したパケット毎に全順序化してバッファリングする。TCPにおいてはシーケンス番号によってパケットの順序を決定できる。また、パケット長とシーケンス番号を用いてパケットに欠落がないかどうかを識別可能である。これらの情報をもとにして該当パケットを順序化し、バッファリングする。
更に代行処理として、該当パケットを一部変更する、すなわち、再送制御を代行することを目的として該当パケットの一部を適切に変更する。
図5は、パケットにどのように変更を加えるかを示す表である。
例えば、TCPパケットを受信した場合、TCPのアクノレッジメント番号を検査することにより、受信側が要求している送信データのシーケンス番号を知ることができる。このデータがバッファに格納されている場合は、TCP層に代わってバッファから該当パケットを送信する。このとき、受信パケットをそのままTCP層に転送するとTCP層でも再送制御を行うことになるため、TCP層に転送する受信パケットのアクノレッジメント番号をTCP層が送信した最新のシーケンス番号に対応するものに変更する必要がある。
その他の代行処理としては、該当パケットを削除し、該当パケットを中継しない(破棄する)処理がある。更に、該当パケットに関連するバッファリングされたパケットを送信し、再送時にバッファリングされているパケットを送信する。
また、該当パケットに関連するバッファリングされたパケットを削除する。すなわち、受信側からACKが戻ったパケットは再送の必要がないので削除する。
該当パケットに関連する新しいパケットを生成して送信する処理も行う。例えば、TCPのACKパケットを生成して上位層の代わりに送信する。
また、バッファをあふれさせないための処理が必要となる。バッファがいっぱいになったときは、送信側に対してパケットの送信を抑制するよう通知して、バッファがあふれないようにする。送信側に通知する手段としては、例えば以下のものがある。TCP層ではACKパケットの返信を抑制することで、送信側に対してパケットの送信の抑制を通知できる。送信側がサポートしていればECNで通知できる。IP層ではICMP Source Quenchで送信側に通知できる。Ether層ではPAUSEフレームで通知できる。
図6及び図7は、全体構成のフローチャートである。
図6は、送信側の処理である。ステップS10において、TX上位層から入力を受けると、ステップS11において、TX識別処理において代行処理するセッションか否かを判断する。ステップS11の判断がNoのときは,ステップS12において、パケットを暗号化して、ステップS16に進む。ステップS11の判断がYesの場合には、ステップS13において、TX代行処理を行い、ステップS14においてパケット暗号化を行い、ステップS15において、バッファへパケットを蓄積して、ステップS16において出力データセレクトを行う。そして、ステップS17において、ネットワークへデータを出力する。
図7は、受信側の処理である。
ステップS20において、ネットワークがデータを受信する。ステップS21において、パケットを復号化する。ステップS22において、RX識別処理で代行処理すべきセッションか否かを判断する。ステップS22において、判断がNoの場合には、ステップS25に進む。ステップS22の判断がYesの場合には、ステップS23において、バッファ管理を行い、ステップS24において、RX代行処理を行い、ステップS25に進む。ステップS25では、TCP層へデータの出力を行う。
図8及び図9は、パケット処理の流れを示すフローチャートである。
図8は、送信側の処理である。
ステップS30において、TCP層から入力を受けると、ステップS31において、代行処理の対象セッションか否かを判断する。ステップS31の判断がNoの時には、ステップS32において、パケットの暗号化を行い、ステップS36に進む。ステップS31の判断がYesの場合には、ステップS33において、シーケンス番号を記録し、ステップS34において、パケットを暗号化し、ステップS35において、バッファへパケットを蓄積し、ステップS36において、イーサネット(登録商標)へ出力する。
図9は、受信側の処理である。
ステップS40において、イーサネット(登録商標)からデータを受信すると、ステップS41において、パケットを復号化し、ステップS42において、代行処理の対象セッションか否かを判断する。ステップS42の判断がNoのときはステップS49に進む。ステップS42の判断がYesの場合には、ステップS43において、Ack検査を行い、再送処理が必要か否かを判断する。ステップS43の判断がNoの場合には、ステップS45に進む。ステップS43の判断がYesの場合には、ステップS44において、パケットの再送を行い、ステップS45において、バッファ管理を行い、ステップS46において、パケットはデータを含むか否かを判断する。ステップS46の判断がNoの場合には、ステップS47においてパケットを破棄し、処理を終了する。ステップS46の判断がYesの場合には、ステップS48において、ヘッダのAckビットを除去(0に設定)して、ステップS49において、TCP層へパケットを出力する。
図10は、再送処理の変形例を説明するフローチャートである。
ステップS50において、TCP層からの再送パケットを受信すると、ステップS51において、同一のパケットを過去に送信したことがあるか否かを判断する。ステップS51の判断がNoの場合には、ステップS52において、パケットを暗号化し、ステップS55に進む。ステップS51の判断がYesの場合には、ステップS53において、上位層から転送されたTXパケットを削除し、ステップS54において、バッファ内の該当パケットの送信処理を行い、ステップS55において、イーサネット(登録商標)へパケットを出力する。
図11は、本発明の第2の実施形態を説明する図である。
上記第1の実施形態においては、IPSecの場合の暗号処理をすることを前提として説明したが、本第1の実施形態の機構は暗号処理を行わない場合(例えばIP処理)に対しても応用可能である。本実施形態においては、IP層からACKパケットを上位層にあげる処理、上位層がACKパケットを解析し、再送パケットを再度生成して下位層に送信する処理を有するが、暗号化処理は存在しない。暗号処理を考慮しない場合であっても上位層の再送処理及び下位層と上位層の間のパケットのやりとりを省略できれば負荷及び処理時間の低減を期待できる。
また、本実施形態の機構はパケットが通過する経路の複数の場所に配置することができる。具体的には、そのような場所は、送信側、受信側、経路途中の複数のネットワーク装置である。このようにすると、経路途中のネットワーク装置であって受信側にあるものが、ACKパケットを解析し、再送の必要を知ったときに自己のバッファ内に再送すべきパケット(これは暗号通信パケットであっても、通常通信パケットであってもよい)があるかどうかを検索し、あれば、そのパケットを再送することができる。このような方式をとれば、受信者からみて送信者よりも近い場所から再送パケットが送信されてくることになり、本来の送信者が再送パケットを送信する場合に比べて短時間に再送パケットを得ることが可能になる。
すなわち、図11の上にあるのが通常の再送機構であり、送信者からデータを送ると、受信者からackが返送され、これが再送を要求するackである場合には、データが送信者から再送される。再送データが受信者に正常に受け取られば、受信者はackを送って次のデータを要求する。一方、図11の下にあるように、送信者と受信者の間のネットワークに本発明の実施形態の装置を配置しておき、再送可能性のあるデータをバッファに格納しておくようにすると、受信者が再送要求であるack-1を送信者宛てに送ると、これをネットワークに配置された本発明の実施形態の装置が受け取り、バッファに格納していたデータを受信者に再送することになる。従って、受信者は短時間で再送データを得ることが出来、高速な通信が可能になる。
そして、例えば、ネットワークに配置された本発明の実施形態の装置は、IP層での動作を行うとし、再送制御は、送受信者のTCP層で行われるとすると、本実施形態は、ネットワークに配置された装置がIP層での動作をしているにもかかわらず、TCP層の情報を、パケットを終端することなく取得して、TCP層の動作を代行処理していることになる。
本発明の実施形態によれば、信頼性のある暗号通信を行う際に、再送パケットの再暗号化処理を省略できる。また、暗号通信しない場合であっても、再送パケットをネットワーク経路の途中で再送できるため信頼性のある通信を効率化可能である。

(付記1)
上位層で行われる再送制御を含む通信を下位層を介して行う通信処理装置であって、
該下位層において、ネットワークを介して受信されたデータの中から、上位層で終端されるデータの通信に関する情報を、上位層における終端に対応する処理をすることなく取得する上位層データ取得手段と、
該下位層において、該得られた情報に基づいて、再送データを送出する再送手段と、
を備えることを特徴とする通信処理装置。
(付記2)
前記再送手段は、
送信者から受信者へ送出されたデータを格納するバッファ手段を更に備え、
該バッファ手段に格納されたデータを送出することによって再送データの送出を行うことを特徴とする付記1に記載の通信処理装置。
(付記3)
更に、上位層から送られてくるデータを暗号化する暗号化手段を前記下位層に備え、
前記バッファ手段に暗号化されたデータを格納することを特徴とする付記2に記載の通信処理装置。
(付記4)
前記下位層は、IPSecをプロトコルとして通信することを特徴とする付記3に記載の通信処理装置。
(付記5)
前記下位層は、IPをプロトコルとして通信することを特徴とする付記1に記載の通信処理装置。
(付記6)
前記上位層は、TCPをプロトコルとして通信することを特徴とする付記1に記載の通信処理装置。
(付記7)
前記上位層データ取得手段は、前記上位層のデータから情報を得た後に、必要に応じてデータの上位層データ使用される情報を書き換えることを特徴とする付記1に記載の通信処理装置。
(付記8)
前記通信は、パケット通信であることを特徴とする付記1に記載の通信処理装置。
(付記9)
上位層で行われる再送制御を含む通信を下位層を介して行う通信処理方法であって、
該下位層において、ネットワークを介して受信されたデータの中から、上位層で終端されるデータの通信に関する情報を、上位層における終端に対応する処理をすることなく取得する上位層データ取得ステップと、
該下位層において、該得られた情報に基づいて、再送データを送出する再送ステップと、
を備えることを特徴とする通信処理方法。
(付記10)
前記再送ステップは、
送信者から受信者に送出されたデータを格納するバッファステップを更に備え、
該バッファステップで格納されたデータを送出することによって再送データの送出を行うことを特徴とする付記9に記載の通信処理方法。
(付記11)
更に、上位層から送られてくるデータを暗号化する暗号化ステップを前記下位層に備え、
前記バッファステップにおいて暗号化されたデータを格納することを特徴とする付記10に記載の通信処理方法。
(付記12)
前記下位層は、IPSecをプロトコルとして通信することを特徴とする付記11に記載の通信処理方法。
(付記13)
前記下位層は、IPをプロトコルとして通信することを特徴とする付記9に記載の通信処理方法。
(付記14)
前記上位層は、TCPをプロトコルとして通信することを特徴とする付記9に記載の通信処理方法。
(付記15)
前記上位層データ取得ステップは、前記上位層のデータから情報を得た後に、必要に応じてデータの上位層データ使用される情報を書き換えることを特徴とする付記9に記載の通信処理方法。
(付記16)
前記通信は、パケット通信であることを特徴とする付記9に記載の通信処理方法。
(付記17)
上位層で行われる再送制御を含む通信を下位層を介して行う通信処理方法であって、
該下位層において、ネットワークを介して受信されたデータの中から、上位層で終端されるデータの通信に関する情報を、上位層における終端に対応する処理をすることなく取得する上位層データ取得ステップと、
該下位層において、該得られた情報に基づいて、再送データを送出する再送ステップと、
を備えることを特徴とする通信処理方法をコンピュータに実現させるプログラム。
(付記18)
前記再送ステップは、
送信者から受信者へ送出されたデータを格納するバッファステップを更に備え、
該バッファステップにおいて格納されたデータを送出することによって再送データの送出を行うことを特徴とする付記17に記載のプログラム。
(付記19)
更に、上位層から送られてくるデータを暗号化する暗号化ステップを前記下位層に備え、
前記バッファステップにおいて暗号化されたデータを格納することを特徴とする付記18に記載のプログラム。
(付記20)
前記下位層は、IPSecをプロトコルとして通信することを特徴とする付記19に記載のプログラム。
(付記21)
前記下位層は、IPをプロトコルとして通信することを特徴とする付記17に記載のプログラム。
(付記22)
前記上位層は、TCPをプロトコルとして通信することを特徴とする付記17に記載のプログラム。
(付記23)
前記上位層データ取得ステップは、前記上位層のデータから情報を得た後に、必要に応じてデータの上位層データ使用される情報を書き換えることを特徴とする付記17に記載のプログラム。
(付記24)
前記通信は、パケット通信であることを特徴とする付記17に記載のプログラム。
OSIの7階層モデルの各階層を示した図である。 本発明の第1の実施形態を説明する図である。 TCPパケットヘッダを示す図である。 本発明の第1の実施形態の全体構成を示す図である。 パケットにどのように変更を加えるかを示す表である。 全体構成のフローチャート(その1)である。 全体構成のフローチャート(その2)である。 パケット処理の流れを示すフローチャート(その1)である。 パケット処理の流れを示すフローチャート(その2)である。 再送処理の変形例を説明するフローチャートである。 本発明の第2の実施形態を説明する図である。 再送制御の概念を説明する図である。 TCP及びIPSecを同時に行う通信を説明する図である。 TLS方式の通信を説明する図である。 TCP+IPSec方式とTLS方式を比較した表である。
符号の説明
10 TX識別処理
11 TX代行処理
12 暗号化部
13 バッファ
14 セレクタ
15 セッションテーブル
16 RX識別処理
17 RX代行処理
18 復号化部

Claims (10)

  1. 上位層で行われる再送制御を含む通信を下位層を介して行う通信処理装置であって、
    該下位層において、ネットワークを介して受信されたデータの中から、上位層のデータに含まれる上位層で終端される通信に関する情報を、上位層における終端に対応する処理をすることなく取得する上位層データ取得手段と、
    該下位層において、該得られた情報に基づいて、再送データを送出する再送手段と、
    を備えることを特徴とする通信処理装置。
  2. 前記再送手段は、
    送信者から受信者へ送出されたデータを格納するバッファ手段を更に備え、
    該バッファ手段に格納されたデータを送出することによって再送データの送出を行うことを特徴とする請求項1に記載の通信処理装置。
  3. 更に、上位層から送られてくるデータを暗号化する暗号化手段を前記下位層に備え、
    前記バッファ手段に暗号化されたデータを格納することを特徴とする請求項2に記載の通信処理装置。
  4. 前記下位層は、IPSecをプロトコルとして通信することを特徴とする請求項3に記載の通信処理装置。
  5. 前記下位層は、IPをプロトコルとして通信することを特徴とする請求項1に記載の通信処理装置。
  6. 前記上位層は、TCPをプロトコルとして通信することを特徴とする請求項1に記載の通信処理装置。
  7. 前記上位層データ取得手段は、前記上位層のデータから情報を得た後に、必要に応じてデータの上位層データ使用される情報を書き換えることを特徴とする請求項1に記載の通信処理装置。
  8. 前記通信は、パケット通信であることを特徴とする請求項1に記載の通信処理装置。
  9. 上位層で行われる再送制御を含む通信を下位層を介して行う通信処理方法であって、
    該下位層において、ネットワークを介して受信されたデータの中から、上位層のデータに含まれる上位層で終端される通信に関する情報を、上位層における終端に対応する処理をすることなく取得する上位層データ取得ステップと、
    該下位層において、該得られた情報に基づいて、再送データを送出する再送ステップと、
    を備えることを特徴とする通信処理方法。
  10. 上位層で行われる再送制御を含む通信を下位層を介して行う通信処理方法であって、
    該下位層において、ネットワークを介して受信されたデータの中から、上位層のデータに含まれる上位層で終端される通信に関する情報を、上位層における終端に対応する処理をすることなく取得する上位層データ取得ステップと、
    該下位層において、該得られた情報に基づいて、再送データを送出する再送ステップと、
    を備えることを特徴とする通信処理方法をコンピュータに実現させるプログラム。
JP2004055368A 2004-02-27 2004-02-27 通信処理装置及びその方法 Expired - Fee Related JP4610910B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2004055368A JP4610910B2 (ja) 2004-02-27 2004-02-27 通信処理装置及びその方法
US10/944,494 US8170057B2 (en) 2004-02-27 2004-09-17 Communication-processing apparatus and its method
EP04022482A EP1569408B1 (en) 2004-02-27 2004-09-22 Communication-processing apparatus and its method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004055368A JP4610910B2 (ja) 2004-02-27 2004-02-27 通信処理装置及びその方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2010180148A Division JP4973770B2 (ja) 2010-08-11 2010-08-11 通信処理装置及びその方法

Publications (2)

Publication Number Publication Date
JP2005244895A JP2005244895A (ja) 2005-09-08
JP4610910B2 true JP4610910B2 (ja) 2011-01-12

Family

ID=34747589

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004055368A Expired - Fee Related JP4610910B2 (ja) 2004-02-27 2004-02-27 通信処理装置及びその方法

Country Status (3)

Country Link
US (1) US8170057B2 (ja)
EP (1) EP1569408B1 (ja)
JP (1) JP4610910B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010259113A (ja) * 2010-08-11 2010-11-11 Fujitsu Ltd 通信処理装置及びその方法

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10102323A1 (de) * 2001-01-19 2002-07-25 Philips Corp Intellectual Pty Verfahren und Vorrichtung zur zuverlässigen Übertragung von Datenpaketen
US8130633B2 (en) * 2004-10-22 2012-03-06 Research In Motion Limited Method for transferring data in a wireless network
WO2006081454A2 (en) 2005-01-26 2006-08-03 Internet Broadcasting Corporation Layered multicast and fair bandwidth allocation and packet prioritization
KR101234114B1 (ko) 2005-12-22 2013-02-20 인터디지탈 테크날러지 코포레이션 무선 통신 시스템에서 데이터 보안 및 자동 반복 요청실시를 위한 방법 및 장치
JP5275107B2 (ja) * 2009-03-26 2013-08-28 京セラ株式会社 通信機器
JP5517875B2 (ja) * 2010-10-07 2014-06-11 パナソニック株式会社 無線通信システム、データ送信装置、データ無線受信装置、及び、無線通信方法
JP5659367B2 (ja) * 2011-08-05 2015-01-28 サイレックス・テクノロジー株式会社 再送リクエスト送信機構を備えるネットワーク受信装置
CN103188043B (zh) * 2011-12-31 2016-03-30 中国科学院微电子研究所 基于使能信号线反馈实现检错重发的系统及方法
US11050857B2 (en) 2014-07-17 2021-06-29 Texas Instruments Incorporated Transmission control protocol (TCP) acknowledgement (ACK) packet suppression

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05122278A (ja) * 1991-10-30 1993-05-18 Nec Corp 交換機の端末制御方式
JPH05183644A (ja) * 1991-12-28 1993-07-23 Nec Corp 局間制御方式
JP2001077881A (ja) * 1999-09-02 2001-03-23 Matsushita Electric Ind Co Ltd パケット通信ネットワークシステム
JP2002077150A (ja) * 2000-09-04 2002-03-15 Yaskawa Electric Corp 暗号通信時の暗号化パケットの作成方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2270821A (en) 1992-09-19 1994-03-23 Ibm Message transmission in a computer network
JPH08307410A (ja) 1995-05-09 1996-11-22 Nippon Telegr & Teleph Corp <Ntt> 秘匿方法
JP3305247B2 (ja) 1998-01-06 2002-07-22 日本電信電話株式会社 無線マルチキャストデータ転送方法及び無線通信システム
JP3388575B2 (ja) 1998-02-03 2003-03-24 日本電信電話株式会社 無線通信装置およびプログラム記録媒体
JP2001237883A (ja) 2000-02-23 2001-08-31 Sony Corp マルチキャスト通信システム及び方法、並びに、データ通信装置及びデータ通信方法
US7058723B2 (en) * 2000-03-14 2006-06-06 Adaptec, Inc. Congestion control for internet protocol storage
JP3604615B2 (ja) 2000-04-21 2004-12-22 株式会社東芝 通信装置、中継装置および通信制御方法
JP2001333096A (ja) 2000-05-23 2001-11-30 Canon Inc 通信装置
US20030014624A1 (en) * 2000-07-31 2003-01-16 Andes Networks, Inc. Non-proxy internet communication
JP3782308B2 (ja) 2001-02-15 2006-06-07 三菱電機株式会社 データ配信管理装置、これを用いたデータ配信管理システムおよびデータ配信管理方法ならびにその方法をコンピュータに実行させるプログラム
US8233392B2 (en) * 2003-07-29 2012-07-31 Citrix Systems, Inc. Transaction boundary detection for reduction in timeout penalties
US7177272B2 (en) * 2003-06-25 2007-02-13 Nokia Corporation System and method for optimizing link throughput in response to non-congestion-related packet loss
US8090857B2 (en) * 2003-11-24 2012-01-03 Qualcomm Atheros, Inc. Medium access control layer that encapsulates data from a plurality of received data units into a plurality of independently transmittable blocks

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05122278A (ja) * 1991-10-30 1993-05-18 Nec Corp 交換機の端末制御方式
JPH05183644A (ja) * 1991-12-28 1993-07-23 Nec Corp 局間制御方式
JP2001077881A (ja) * 1999-09-02 2001-03-23 Matsushita Electric Ind Co Ltd パケット通信ネットワークシステム
JP2002077150A (ja) * 2000-09-04 2002-03-15 Yaskawa Electric Corp 暗号通信時の暗号化パケットの作成方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010259113A (ja) * 2010-08-11 2010-11-11 Fujitsu Ltd 通信処理装置及びその方法

Also Published As

Publication number Publication date
JP2005244895A (ja) 2005-09-08
US20050190693A1 (en) 2005-09-01
EP1569408A2 (en) 2005-08-31
US8170057B2 (en) 2012-05-01
EP1569408B1 (en) 2011-11-09
EP1569408A3 (en) 2006-02-01

Similar Documents

Publication Publication Date Title
US10419406B2 (en) Efficient forwarding of encrypted TCP retransmissions
JP6236933B2 (ja) 中継装置
US6934257B2 (en) Transferring transmission control protocol packets
KR100684307B1 (ko) 자동 재전송 요청 블록을 수신하는 방법 및 그 프로그램이 저장된 기록 매체
US6621799B1 (en) Semi-reliable data transport
US8024788B2 (en) Method and apparatus for reliable, high speed data transfers in a high assurance multiple level secure environment
US20010047474A1 (en) Communication control scheme using proxy device and security protocol in combination
US20070025374A1 (en) TCP normalization engine
US20090319850A1 (en) Local drop control for a transmit buffer in a repeat transmission protocol device
JP2006506000A (ja) 単一のコンテナにおけるデータパケット伝送
US20170250886A1 (en) Network traffic capture analysis
JP4610910B2 (ja) 通信処理装置及びその方法
US8812926B2 (en) Wireless communication apparatus, wireless communication control apparatus, wireless communication method, wireless communication program storage medium, wireless communication control method, and wireless communication control program storage medium
CN116418590A (zh) 用于安全套接字层代理的自适应控制的方法、网络设备以及非瞬态计算机可读介质
CN116074401B (zh) 一种在可编程交换机上的传输层协议实现方法
JP4973770B2 (ja) 通信処理装置及びその方法
JP2006148727A (ja) アプリケーションモニタ装置
JP5626317B2 (ja) 無線通信装置および無線通信方法
AU2013200946B2 (en) Wireless communication apparatus, wireless communication control apparatus, wireless communication method, wireless communication program, wireless communication control method, and wireless communication control program
Dreibholz et al. Network Working Group P. Amer Internet-Draft University of Delaware Intended status: Experimental M. Becke Expires: November 30, 2015 University of Duisburg-Essen
KR20020038376A (ko) 전송속도 향상된 슬라이딩 윈도우 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070216

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090729

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090804

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100511

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100811

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20100818

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

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

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

Free format text: PAYMENT UNTIL: 20131022

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4610910

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees