(57)【要約】【課題】上位層の処理の一部を下位層で代行することにより、通信処理を効率化する技術を提供することである。【解決手段】送信者と受信者には、ＴＣＰ層で再送処理を行う装置と、ＩＰＳｅｃで暗号化通信を行う装置が設けられる。ＩＰＳｅｃで動作する装置は、バッファを備えており、送信者から送信されたデータを暗号化したものをバッファに格納し、受信者から再送要求がきたときは、ＩＰ層で動作しているにもかかわらず、ＴＣＰ層での情報を取得して、バッファ内の暗号化されたデータで対応するデータを受信者に返送する。【選択図】図２
2010259113.tif 000002
【特許請求の範囲】
【請求項１】
再送制御機能を備える上位層として機能する装置と連携し、下位層として機能する通信処理装置であって、
前記上位層から受け取ったデータを暗号化する暗号化手段と、
前記暗号化されたデータを格納するバッファ手段と、
前記暗号化されたデータをネットワークを介して送信する送信手段と、
ネットワークを介して受信したデータから前記上位層の制御データを前記上位層の終端に対応する処理をすることなく取得するとともに、該上位層の制御データに基づいて前記送信手段が送信したデータの再送の要否を判断する上位層データ取得手段と、
前記上位層データ取得手段が再送が必要と判断した場合、前記暗号化されたデータを前記バッファ手段から読み出して再送する再送手段と、
を備える通信処理装置。
【請求項２】
前記ネットワークを介して受信したデータが、アクノレッジパケットである場合には、該データを破棄することを特徴とする請求項１に記載の通信処理装置。
【請求項３】
再送制御機能を備える上位層として機能する装置と連携し、下位層として機能する通信処理装置の制御方法であって、
前記上位層から受け取ったデータを暗号化し、
前記暗号化されたデータを格納し、
前記暗号化されたデータをネットワークを介して送信し、
ネットワークを介して受信したデータから前記上位層の制御データを前記上位層の終端に対応する処理をすることなく取得するとともに、該上位層の制御データに基づいて前記送信ステップで送信したデータの再送の要否を判断し、
再送が必要と判断された場合、前記格納ステップで格納された、前記暗号化されたデータを読み出して再送する、
ことを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信処理装置及びその方法に関する。
【背景技術】
【０００２】
通信において、通信者間で伝達するデータを、抜けや重複無く、データの順序を保存して通信する機能は必須である。以下の説明において、「信頼性のある通信」は、以上のような通信を指すものとする。
【０００３】
信頼性のある通信を実現するためには、原理的に受信側がデータを確かに受け取ったことを送信側に受信通知（Acknowledgement省略してackと呼ぶ）し、送信側は、この受信通知によってデータの再送を行う必要がある。これを再送制御と呼ぶ。
【０００４】
図１２は、再送制御の概念を説明する図である。
送信者が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が返送される。
【０００５】
従来、「信頼性のある暗号通信」を実現する代表的な手段としては、以下の二方式が代表的である。
Ａ）ＴＣＰ及びＩＰＳｅｃを同時に利用する
Ｂ）ＴＬＳ（Transport Layer Security、ＳＳＬとも呼ばれている）を利用する
ＴＣＰ及びＩＰＳｅｃを同時に利用する方式（Ａ）では、ＴＣＰが「信頼性のある通信」を実現するので、パケットを喪失した場合、喪失パケットを再送する制御「再送制御」を実現するのはＴＣＰが担当する。通常再送制御を行うためには送信側ＴＣＰがデータを送信し、受信側ＴＣＰがデータを受信する毎にackパケットを送信側ＴＣＰへ返送する。送信側ＴＣＰではackパケットを受信することで受信側ＴＣＰが受信したデータを認識し、もしデータが欠落していた場合は欠落データを再送する。
【０００６】
図１３は、ＴＣＰ及びＩＰＳｅｃを同時に行う通信を説明する図である。
方式（Ａ）では、再送パケットをＴＣＰが送信すると、ＩＰＳｅｃは以前同じデータを暗号化したにもかかわらず、再度再送パケットの暗号化処理を行い、ネットワークに送信せざるを得ない。これはプロトコルの階層構造により、上位層であるＴＣＰと下位層であるＩＰＳｅｃは全く連携をせずに動作するように定義されているためである。一般に暗号化処理や認証処理などＩＰＳｅｃで行う処理は複雑な演算を必要とするため何度も同じデータを処理するとその負荷や処理時間が余計に増大するという問題がある。
【０００７】
図１４は、ＴＬＳ方式の通信を説明する図である。
一方、ＴＬＳ方式（Ｂ）は、ＴＣＰの上位層で暗号化処理を行う方式である。この場合ＴＣＰ層では上位層からのデータを暗号化された状態で受け取るため、仮にＴＣＰで再送が行われたとしても暗号処理を再度行う必要は無い。
【０００８】
以上をまとめると再送を伴う暗号通信においては再送時の再暗号処理を節約するという観点からＴＣＰ＋ＩＰＳｅｃよりもＴＬＣ方式が優れている。しかしながら、ＩＰＳｅｃはＴＣＰだけでなく全ての通信を暗号通信化できる利点があり、実際の運用上は頻繁に使用されている。
【０００９】
図１５は、ＴＣＰ＋ＩＰＳｅｃ方式とＴＬＳ方式を比較した表である。
この表から分かるように、適用分野は、ＴＬＳ方式が機密ｈｔｔｐなど一部のみであるのに対し、ＴＣＰ＋ＩＰＳｅｃの方式は、ＶＰＮなどの幅広い分野で利用可能であることが分かる。その反面、ＴＣＰ＋ＩＰＳｅｃ方式では、再送パケットの再暗号処理が必要であり、負荷、処理時間の増大がある。一方、ＴＬＳ方式の場合、再送パケットの再暗号処理は、不要であり、負荷、処理時間の増大は無く、高速な通信には適している。従って、ＴＣＰ＋ＩＰＳｅｃの適用範囲の広さを確保し、且つ、高速な通信を行うには、再送パケットの再暗号処理の問題を解決すればよいことがわかる。
【００１０】
従来、特許文献１には、レイヤ３が有する制御メッセージの再送機能によって、レイヤ２レベルでの障害のエラー回復を行う技術が開示されている。特許文献２にも、レイヤ３において、レイヤ２の障害のエラー回復を行う技術が開示されている。特許文献３には、マルチキャスト転送において、送信局が受信局のポーリングを行う技術が開示されている。特許文献４においては、マルチキャストにおいて冗長性を排した再送制御を行うことが記載されている。特許文献５においては、仮の送達確認応答を行うシステムが開示されている。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開平５−１８３６４４号公報
【特許文献２】特開平５−１２２２７８号公報
【特許文献３】特開平１１−１９６０４１号公報
【特許文献４】特開２００１−２３７８８３号公報
【特許文献５】特開２００２−２４７１３２号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
すなわち、従来方式においては、より適用分野の広いＩＰＳｅｃを使用してＴＣＰなど「信頼性のある通信」を行う場合に再送パケットの再暗号処理によって負荷と処理時間の増大を招くという問題があった。
【００１３】
本発明においては、ＴＣＰ＋ＩＰＳｅｃの例に見られるように上位層で信頼性のある通信を処理し、下位層で暗号通信を処理する場合に全体の処理量を削減することで、負荷を低減するとともに処理性能の向上を実現する。
【００１４】
また、暗号通信を使わずに単に「信頼性のある通信」を行う場合においても再送処理をより下位層（例えばＩＰ層）で行うことができればデータを上位層（例えばＴＣＰ層）まで伝達する必要がなくなる。したがって、本発明は、上位層と下位層の間のデータ伝達の手間を削減する。
【００１５】
本発明の課題は、上位層の処理の一部を下位層で代行することにより、通信処理を効率化する技術を提供することである。
【課題を解決するための手段】
【００１６】
本発明の通信処理装置は、上位層で行われる再送制御を含む通信を下位層を介して行う通信処理装置であって、該下位層において、ネットワークを介して受信されたデータの中から、上位層で終端されるデータの通信に関する情報を、上位層における終端に対応する処理をすることなく取得する上位層データ取得手段と、該下位層において、該得られた情報に基づいて、再送データを送出する再送手段とを備えることを特徴とする。
【００１７】
本発明の通信処理方法は、上位層で行われる再送制御を含む通信を下位層を介して行う通信処理方法であって、該下位層において、ネットワークを介して受信されたデータの中から、上位層で終端されるデータの通信に関する情報を、上位層における終端に対応する処理をすることなく取得する上位層データ取得ステップと、該下位層において、該得られた情報に基づいて、再送データを送出する再送ステップとを備えることを特徴とする。
【００１８】
本発明においては、上位層のデータで通信に関する情報、特には、再送要求などのデータを、上位層での終端を行わず、下位層でその情報だけを抜き出して解釈する。そして、再送要求であった場合には、下位層から直接データを送出するようにしている。
【発明の効果】
【００１９】
本発明によれば、下位層が上位層の処理を代行することにより、通信処理速度を効率化し、高速の通信を実現することができる。
【図面の簡単な説明】
【００２０】
【図１】ＯＳＩの7階層モデルの各階層を示した図である。
【図２】本発明の第１の実施形態を説明する図である。
【図３】ＴＣＰパケットヘッダを示す図である。
【図４】本発明の第１の実施形態の全体構成を示す図である。
【図５】パケットにどのように変更を加えるかを示す表である。
【図６】全体構成のフローチャート（その１）である。
【図７】全体構成のフローチャート（その２）である。
【図８】パケット処理の流れを示すフローチャート（その１）である。
【図９】パケット処理の流れを示すフローチャート（その２）である。
【図１０】再送処理の変形例を説明するフローチャートである。
【図１１】本発明の第２の実施形態を説明する図である。
【図１２】再送制御の概念を説明する図である。
【図１３】ＴＣＰ及びＩＰＳｅｃを同時に行う通信を説明する図である。
【図１４】ＴＬＳ方式の通信を説明する図である。
【図１５】ＴＣＰ＋ＩＰＳｅｃ方式とＴＬＳ方式を比較した表である。
【発明を実施するための形態】
【００２１】
本発明の実施形態は、複数のプロトコル階層を持った通信システムにおいて、上位層がやり取りしている通信パケットを下位層の処理装置が代行処理することによって処理量の軽減や通信性能の向上を実現しようとするものである。
【００２２】
本発明の実施形態の装置の利用分野は非常に広範であるが、一つの具体的な利用分野は「信頼性のある通信」と「暗号通信」を同時に必要とする分野である。更に別の具体的な利用分野は「信頼性のある通信」を行う一般の通信分野である。
【００２３】
ここで、上位層、下位層とは一般にＯＳＩの7階層モデルと呼ばれるようなプロトコル階層において相対的に上に位置する階層を上位層、下に位置する階層を下位層と呼ぶ。また、実際の通信プロトコル実装において、データの流れを見たときによりアプリケーションプログラムに近い方を上位層、遠い方を下位層と定義する。
【００２４】
図１は、ＯＳＩの7階層モデルの各階層を示した図である。
一番上の7階層はアプリケーション層であり、6階層がプレゼンテーション層であり、5階層がセッション層である。４階層がトランスポート層であり、ＴＣＰやＴＬＳのプロトコルが実装される部分である。3階層はネットワーク層であり、ＩＰやＩＰＳｅｃのプロトコルが実装される部分である。2階層がリンク層であり、ＩＥＥＥの８０３シリーズのプロトコルを実装する部分である。一番下の１階層が物理層である。
【００２５】
本明細書では、「信頼性のある暗号通信」、「信頼性のある通信」に適用する場合を例示するが、本発明の適用はこれらにとどまらない。
まず、本発明の効果がわかりやすい例として、上位層が「信頼性のある通信」を実現し、それよりも下位層が「暗号通信」を担当している場合に、「信頼性のある暗号通信」を効率的に実現する手段を例示する。次に、「信頼性のある通信」を効率的に実現する手段を例示する。本明細書では、説明を具体的にするためにインターネットのプロトコルを用いて記述するが、本発明はインターネットに限定して適用するものではない。また、パケット通信技術を題材として記述するが、本発明は非パケット通信にも適用可能である。
【００２６】
なお、通信において通信者間で伝達するデータを抜け、重複無くデータの順序を保存して通信する通信を「信頼性のある通信」と呼ぶ。この機能は、必須の機能である。インターネットで用いられるＴＣＰ（Transmission Control Protocol）はトランスポート層において「信頼性のある通信」を実現する代表的な通信方式である。
【００２７】
また、通信者同士がやり取りするデータを第三者が盗聴、改ざんすることを防ぐ「暗号通信」も重要な機能である。インターネットで用いられるＩＰＳｅｃ（IP Security）はネットワーク層において「暗号通信」を実現する代表的な通信方式である。
【００２８】
本発明の実施形態では、下位層においてパケットの内容を調べ、一定の条件が成立したら上位層に代わって本来上位層が行う処理を代行するものである。
図２は、本発明の第１の実施形態を説明する図である。
【００２９】
送信者側と受信者側は、ＴＣＰプロトコルを実行する部分とＩＰＳｅｃを実行する部分からなる。ＴＣＰプロトコルを実行する部分とＩＰＳｅｃを実行する部分は、１つのコンピュータ内に実装されていても良いし、別々のコンピュータに実装されていてもよい。
【００３０】
最初、送信者のＴＣＰ部からdata Kが送信される。これは、ＩＰＳｅｃ部において暗号化され、受信者側に送信される。data Kは、受信者のＩＰＳｅｃ部において受信され、復号され、受信者のＴＣＰ部において受信される。受信者のＴＣＰ部でdata Kが受信されると、ack K+1が送信者側に送信される。ack K+1は、受信者のＩＰＳｅｃ部において暗号化され、送信者に送られる。送信者のＩＰＳｅｃ部では、受信したack K+1を復号し、送信者のＴＣＰ部に渡す。送信者のＴＣＰ部からdata K+1が送出され、ＩＰＳｅｃ部で暗号化され、伝送路に送出されたが、これが送出した場合には、受信者のＴＣＰ部は、何時までたってもdata K+1が送られてこないので、再び、ack K+1を送信者に送る。このとき、ack K+1は、data K+1の再送を促すものである。このackは、送信者のＩＰＳｅｃ部において、復号されると共に、ＩＰＳｅｃ部においてＴＣＰ層のdata K+1の再送を要求するメッセージを見る。このackがdata K+1の再送要求であることが分かると、ＩＰＳｅｃ部は、バッファに格納しておいたdata K+1を暗号化したパケットを受信者に送信する。この送信者のＩＰＳｅｃ部が再送したdata K+1を暗号化したものが受信者のＴＣＰ部に受信されると、受信者のＴＣＰ部からack K+2が送出される。
【００３１】
以下の実施形態は、ＴＣＰ及びＩＰＳｅｃにおける本発明の一実施形態である。本実施形態ではＩＰＳｅｃ層に特定の機能を適用している。上位層はＴＣＰ、下位層はイーサネット（登録商標）などのリンク層である。
【００３２】
図３は、ＴＣＰパケットヘッダを示す図である。
本実施形態においては、図３のパケットヘッダのフォーマットにおけるSEQUENCE NUMBER, ACKNOWLEDGEMENT NUMBER, FLAGS, TCP CHECKSUMを使用する。
また、ＦＬＡＧＳにおいては、ACK＞Acknowledgement Numberが有効か無効かを示す情報を使用する。
【００３３】
図４は、本発明の第１の実施形態の全体構成を示す図である。
本発明の実施形態の装置は、上位層と下位層の間に位置し、それぞれに対して送信データ（ＴＸ）、受信データ（ＲＸ）をやり取りする。本発明の実施形態では、ＴＸ、ＲＸのそれぞれにあるＴＸ識別処理部１０、ＲＸ識別処理部１６、ＴＸ代行処理部１１、ＲＸ代行処理部１７を備えている。セッションテーブル１５は、識別処理において処理対象とすべきセッション情報および処理対象としているセッションの情報（最新のシーケンス番号、アクノレッジメント番号）を格納する。バッファ１３は送信パケットを再送に備えて保存するために用いる。
【００３４】
ＴＣＰを上位層とし、ＩＰＳｅｃ処理に本発明の実施形態を適用し、イーサネットを下位層とした場合の処理の基本的流れを述べる。
まず、ＴＣＰ層からの送信パケット（ＴＸ）をＴＸ識別処理部１０によって識別し、処理対象とするＴＣＰセッションを認識する。パケットがデータ送信パケットである場合、シーケンス番号を該当セッション情報として記録し、暗号化部１２で暗号化した後、セレクタ１４を介してイーサネットに送信すると共にバッファ１３に格納する。
【００３５】
イーサネットからの受信パケット（ＲＸ）についてはまず復号化部１８で復号化を行い、平文のパケットをＲＸ識別処理部１７で解析する。この解析によってアクノレッジメント番号を検査し、再送を必要とする場合はバッファ１３に格納された該当セッションのパケットをセレクタ１４を介して再送する。再送の契機となったＲＸパケットはアクノレッジパケット（データを持たないＴＣＰパケット）の場合破棄し（代行処理）、上位層へは転送しない。これは本来上位層で処理すべき再送処理を代行したからである。ＲＸパケットがデータを持つアクノレッジパケットの場合は、ＴＣＰヘッダのＦＬＡＧＳに含まれるＡＣＫビットを落として（ビットを０に設定して：代行処理）上位層に転送する。
【００３６】
また、アクノレッジメント番号で示されるより古いパケットがバッファ１３に格納されている場合は、バッファ１３からそのパケットを削除する。これはそのパケットを受信側が受信しているため再送の必要が無いからである。
【００３７】
再送方法の変形例として、ＲＸパケットを変更することなしに上位層に転送し、ＴＣＰからの再送パケットが転送された場合は、このパケットと同一のパケットを過去に送信したことがあるかどうかシーケンス番号によって検査し、もし過去に送信していれば上位層から転送されたＴＸパケットを削除し、バッファ１３に格納された該当パケットを再送する方法も可能である。この場合、暗号化の手間を節約できる。
【００３８】
識別処理は、一定の識別基準に従って、パケットの内容を解析し、解析結果に従って該当するパケット（該当パケット）に対する一つあるいは複数の代行処理を直列的あるいは並列的に起動する、または、該当パケットでない場合は代行処理を適用しないなどを行う。
【００３９】
識別処理は、送信パケットを識別するＴＸ識別処理部１０と受信パケットを識別するＲＸ識別処理部１６の動作からなる。これらは、パケットの内容を解析し、代行処理対象パケットを選別することにある。ＴＣＰにおいては、処理対象とするＴＣＰセッションに属するパケットは代行処理対象となる。
【００４０】
識別基準として予め設定されたプロトコルの種類（プロトコル番号）、パケットのアドレス、ポート番号などパケットヘッダの情報の一つあるいは複数の組み合わせを用いる手段を設ける。
【００４１】
ＴＣＰにおいてはＩＰアドレスペア（ＩＰヘッダのSource IP AddressとDestination IP Address）及びポート番号（ＴＣＰヘッダのSource PortとDestination Port）及びＩＰヘッダのプロトコルを検査することで、特定のＴＣＰセッションを識別可能である。
【００４２】
識別基準としてパケットとは別に、あるいは、パケット本来のデータに識別基準を示すデータを付加する形で上位層から与えられた識別情報を用いることも可能である。
これは、予め定められた方法、例えば、上位層からデータを転送するときに本来の通信データのほかに付加データを付け加え、この付加データを解析する等の方法で識別する場合である。識別基準として下位層の通信状況を用いることも可能である。
【００４３】
ここで、通信状況とは、例えば、下位層ないし通信相手へのデータ転送状況であって、もしデータロスなどが発生していないならば、本発明の実施形態の機構を抑止することで識別処理、代行処理の処理負荷、処理時間を節約することを目的とする。
【００４４】
また、代行処理として、該当パケットをバッファリングするバッファ１３を設ける。この場合、全ての該当パケットを全順序化してバッファリングする。
該当パケットをＴＣＰセッションなど同種のパケットに分類し、分類したパケット毎に全順序化してバッファリングする。ＴＣＰにおいてはシーケンス番号によってパケットの順序を決定できる。また、パケット長とシーケンス番号を用いてパケットに欠落がないかどうかを識別可能である。これらの情報をもとにして該当パケットを順序化し、バッファリングする。
【００４５】
更に代行処理として、該当パケットを一部変更する、すなわち、再送制御を代行することを目的として該当パケットの一部を適切に変更する。
図５は、パケットにどのように変更を加えるかを示す表である。
【００４６】
例えば、ＴＣＰパケットを受信した場合、ＴＣＰのアクノレッジメント番号を検査することにより、受信側が要求している送信データのシーケンス番号を知ることができる。このデータがバッファに格納されている場合は、ＴＣＰ層に代わってバッファから該当パケットを送信する。このとき、受信パケットをそのままＴＣＰ層に転送するとＴＣＰ層でも再送制御を行うことになるため、ＴＣＰ層に転送する受信パケットのアクノレッジメント番号をＴＣＰ層が送信した最新のシーケンス番号に対応するものに変更する必要がある。
【００４７】
その他の代行処理としては、該当パケットを削除し、該当パケットを中継しない（破棄する）処理がある。更に、該当パケットに関連するバッファリングされたパケットを送信し、再送時にバッファリングされているパケットを送信する。
【００４８】
また、該当パケットに関連するバッファリングされたパケットを削除する。すなわち、受信側からＡＣＫが戻ったパケットは再送の必要がないので削除する。
該当パケットに関連する新しいパケットを生成して送信する処理も行う。例えば、ＴＣＰのＡＣＫパケットを生成して上位層の代わりに送信する。
【００４９】
また、バッファをあふれさせないための処理が必要となる。バッファがいっぱいになったときは、送信側に対してパケットの送信を抑制するよう通知して、バッファがあふれないようにする。送信側に通知する手段としては、例えば以下のものがある。ＴＣＰ層ではＡＣＫパケットの返信を抑制することで、送信側に対してパケットの送信の抑制を通知できる。送信側がサポートしていればＥＣＮで通知できる。ＩＰ層ではICMP Source Quenchで送信側に通知できる。Ether層ではPAUSEフレームで通知できる。
【００５０】
図６及び図７は、全体構成のフローチャートである。
図６は、送信側の処理である。ステップＳ１０において、ＴＸ上位層から入力を受けると、ステップＳ１１において、ＴＸ識別処理において代行処理するセッションか否かを判断する。ステップＳ１１の判断がＮｏのときは，ステップＳ１２において、パケットを暗号化して、ステップＳ１6に進む。ステップＳ１１の判断がＹｅｓの場合には、ステップＳ１３において、ＴＸ代行処理を行い、ステップＳ１４においてパケット暗号化を行い、ステップＳ１５において、バッファへパケットを蓄積して、ステップＳ１６において出力データセレクトを行う。そして、ステップＳ１７において、ネットワークへデータを出力する。
【００５１】
図７は、受信側の処理である。
ステップＳ２０において、ネットワークがデータを受信する。ステップＳ２１において、パケットを復号化する。ステップＳ２２において、ＲＸ識別処理で代行処理すべきセッションか否かを判断する。ステップＳ２２において、判断がＮｏの場合には、ステップＳ２５に進む。ステップＳ２２の判断がＹｅｓの場合には、ステップＳ２３において、バッファ管理を行い、ステップＳ２４において、ＲＸ代行処理を行い、ステップＳ２５に進む。ステップＳ２５では、ＴＣＰ層へデータの出力を行う。
【００５２】
図８及び図９は、パケット処理の流れを示すフローチャートである。
図８は、送信側の処理である。
ステップＳ３０において、ＴＣＰ層から入力を受けると、ステップＳ３１において、代行処理の対象セッションか否かを判断する。ステップＳ３１の判断がＮｏの時には、ステップＳ３２において、パケットの暗号化を行い、ステップＳ３６に進む。ステップＳ３１の判断がＹｅｓの場合には、ステップＳ３３において、シーケンス番号を記録し、ステップＳ３４において、パケットを暗号化し、ステップＳ３５において、バッファへパケットを蓄積し、ステップＳ３６において、イーサネットへ出力する。
【００５３】
図９は、受信側の処理である。
ステップＳ４０において、イーサネットからデータを受信すると、ステップＳ４１において、パケットを復号化し、ステップＳ４2において、代行処理の対象セッションか否かを判断する。ステップＳ４２の判断がＮｏのときはステップＳ４９に進む。ステップＳ４２の判断がＹｅｓの場合には、ステップＳ４３において、Ack検査を行い、再送処理が必要か否かを判断する。ステップＳ４３の判断がＮｏの場合には、ステップＳ４５に進む。ステップＳ４３の判断がＹｅｓの場合には、ステップＳ４４において、パケットの再送を行い、ステップＳ４５において、バッファ管理を行い、ステップＳ４６において、パケットはデータを含むか否かを判断する。ステップＳ４6の判断がＮｏの場合には、ステップＳ４７においてパケットを破棄し、処理を終了する。ステップＳ４６の判断がＹｅｓの場合には、ステップＳ４８において、ヘッダのAckビットを除去（０に設定）して、ステップＳ４９において、ＴＣＰ層へパケットを出力する。
【００５４】
図１０は、再送処理の変形例を説明するフローチャートである。
ステップＳ５０において、ＴＣＰ層からの再送パケットを受信すると、ステップＳ５１において、同一のパケットを過去に送信したことがあるか否かを判断する。ステップＳ５１の判断がＮｏの場合には、ステップＳ５２において、パケットを暗号化し、ステップＳ５５に進む。ステップＳ５１の判断がＹｅｓの場合には、ステップＳ５３において、上位層から転送されたＴＸパケットを削除し、ステップＳ５４において、バッファ内の該当パケットの送信処理を行い、ステップＳ５５において、イーサネットへパケットを出力する。
【００５５】
図１１は、本発明の第２の実施形態を説明する図である。
上記第１の実施形態においては、ＩＰＳｅｃの場合の暗号処理をすることを前提として説明したが、本第１の実施形態の機構は暗号処理を行わない場合（例えばＩＰ処理）に対しても応用可能である。本実施形態においては、ＩＰ層からＡＣＫパケットを上位層にあげる処理、上位層がＡＣＫパケットを解析し、再送パケットを再度生成して下位層に送信する処理を有するが、暗号化処理は存在しない。暗号処理を考慮しない場合であっても上位層の再送処理及び下位層と上位層の間のパケットのやりとりを省略できれば負荷及び処理時間の低減を期待できる。
【００５６】
また、本実施形態の機構はパケットが通過する経路の複数の場所に配置することができる。具体的には、そのような場所は、送信側、受信側、経路途中の複数のネットワーク装置である。このようにすると、経路途中のネットワーク装置であって受信側にあるものが、ＡＣＫパケットを解析し、再送の必要を知ったときに自己のバッファ内に再送すべきパケット（これは暗号通信パケットであっても、通常通信パケットであってもよい）があるかどうかを検索し、あれば、そのパケットを再送することができる。このような方式をとれば、受信者からみて送信者よりも近い場所から再送パケットが送信されてくることになり、本来の送信者が再送パケットを送信する場合に比べて短時間に再送パケットを得ることが可能になる。
【００５７】
すなわち、図１１の上にあるのが通常の再送機構であり、送信者からデータを送ると、受信者からackが返送され、これが再送を要求するackである場合には、データが送信者から再送される。再送データが受信者に正常に受け取られば、受信者はackを送って次のデータを要求する。一方、図１１の下にあるように、送信者と受信者の間のネットワークに本発明の実施形態の装置を配置しておき、再送可能性のあるデータをバッファに格納しておくようにすると、受信者が再送要求であるack-1を送信者宛てに送ると、これをネットワークに配置された本発明の実施形態の装置が受け取り、バッファに格納していたデータを受信者に再送することになる。従って、受信者は短時間で再送データを得ることが出来、高速な通信が可能になる。
【００５８】
そして、例えば、ネットワークに配置された本発明の実施形態の装置は、ＩＰ層での動作を行うとし、再送制御は、送受信者のＴＣＰ層で行われるとすると、本実施形態は、ネットワークに配置された装置がＩＰ層での動作をしているにもかかわらず、ＴＣＰ層の情報を、パケットを終端することなく取得して、ＴＣＰ層の動作を代行処理していることになる。
【００５９】
本発明の実施形態によれば、信頼性のある暗号通信を行う際に、再送パケットの再暗号化処理を省略できる。また、暗号通信しない場合であっても、再送パケットをネットワーク経路の途中で再送できるため信頼性のある通信を効率化可能である。
【００６０】
上記実施形態に関し、更に以下の付記を開示する。
（付記１）
上位層で行われる再送制御を含む通信を下位層を介して行う通信処理装置であって、
該下位層において、ネットワークを介して受信されたデータの中から、上位層で終端されるデータの通信に関する情報を、上位層における終端に対応する処理をすることなく取得する上位層データ取得手段と、
該下位層において、該得られた情報に基づいて、再送データを送出する再送手段と、
を備えることを特徴とする通信処理装置。
（付記２）
前記再送手段は、
送信者から受信者へ送出されたデータを格納するバッファ手段を更に備え、
該バッファ手段に格納されたデータを送出することによって再送データの送出を行うことを特徴とする付記１に記載の通信処理装置。
（付記３）
更に、上位層から送られてくるデータを暗号化する暗号化手段を前記下位層に備え、
前記バッファ手段に暗号化されたデータを格納することを特徴とする付記２に記載の通信処理装置。
（付記４）
前記下位層は、ＩＰＳｅｃをプロトコルとして通信することを特徴とする付記３に記載の通信処理装置。
（付記５）
前記下位層は、ＩＰをプロトコルとして通信することを特徴とする付記１に記載の通信処理装置。
（付記６）
前記上位層は、ＴＣＰをプロトコルとして通信することを特徴とする付記１に記載の通信処理装置。
（付記７）
前記上位層データ取得手段は、前記上位層のデータから情報を得た後に、必要に応じてデータの上位層データ使用される情報を書き換えることを特徴とする付記１に記載の通信処理装置。
（付記８）
前記通信は、パケット通信であることを特徴とする付記１に記載の通信処理装置。
（付記９）
上位層で行われる再送制御を含む通信を下位層を介して行う通信処理方法であって、
該下位層において、ネットワークを介して受信されたデータの中から、上位層で終端されるデータの通信に関する情報を、上位層における終端に対応する処理をすることなく取得する上位層データ取得ステップと、
該下位層において、該得られた情報に基づいて、再送データを送出する再送ステップと、
を備えることを特徴とする通信処理方法。
（付記１０）
前記再送ステップは、
送信者から受信者に送出されたデータを格納するバッファステップを更に備え、
該バッファステップで格納されたデータを送出することによって再送データの送出を行うことを特徴とする付記９に記載の通信処理方法。
（付記１１）
更に、上位層から送られてくるデータを暗号化する暗号化ステップを前記下位層に備え、
前記バッファステップにおいて暗号化されたデータを格納することを特徴とする付記１０に記載の通信処理方法。
（付記１２）
前記下位層は、ＩＰＳｅｃをプロトコルとして通信することを特徴とする付記１１に記載の通信処理方法。
（付記１３）
前記下位層は、ＩＰをプロトコルとして通信することを特徴とする付記９に記載の通信処理方法。
（付記１４）
前記上位層は、ＴＣＰをプロトコルとして通信することを特徴とする付記９に記載の通信処理方法。
（付記１５）
前記上位層データ取得ステップは、前記上位層のデータから情報を得た後に、必要に応じてデータの上位層データ使用される情報を書き換えることを特徴とする付記９に記載の通信処理方法。
（付記１６）
前記通信は、パケット通信であることを特徴とする付記９に記載の通信処理方法。
（付記１７）
上位層で行われる再送制御を含む通信を下位層を介して行う通信処理方法であって、
該下位層において、ネットワークを介して受信されたデータの中から、上位層で終端されるデータの通信に関する情報を、上位層における終端に対応する処理をすることなく取得する上位層データ取得ステップと、
該下位層において、該得られた情報に基づいて、再送データを送出する再送ステップと、
を備えることを特徴とする通信処理方法をコンピュータに実現させるプログラム。
（付記１８）
前記再送ステップは、
送信者から受信者へ送出されたデータを格納するバッファステップを更に備え、
該バッファステップにおいて格納されたデータを送出することによって再送データの送出を行うことを特徴とする付記１７に記載のプログラム。
（付記１９）
更に、上位層から送られてくるデータを暗号化する暗号化ステップを前記下位層に備え、
前記バッファステップにおいて暗号化されたデータを格納することを特徴とする付記１８に記載のプログラム。
（付記２０）
前記下位層は、ＩＰＳｅｃをプロトコルとして通信することを特徴とする付記１９に記載のプログラム。
（付記２１）
前記下位層は、ＩＰをプロトコルとして通信することを特徴とする付記１７に記載のプログラム。
（付記２２）
前記上位層は、ＴＣＰをプロトコルとして通信することを特徴とする付記１７に記載のプログラム。
（付記２３）
前記上位層データ取得ステップは、前記上位層のデータから情報を得た後に、必要に応じてデータの上位層データ使用される情報を書き換えることを特徴とする付記１７に記載のプログラム。
（付記２４）
前記通信は、パケット通信であることを特徴とする付記１７に記載のプログラム。
【符号の説明】
【００６１】
１０      ＴＸ識別処理
１１      ＴＸ代行処理
１２      暗号化部
１３      バッファ
１４      セレクタ
１５      セッションテーブル
１６      ＲＸ識別処理
１７      ＲＸ代行処理
１８      復号化部
【図１】
2010259113.tif 000003
【図２】
2010259113.tif 000004
【図３】
2010259113.tif 000005
【図４】
2010259113.tif 000006
【図５】
2010259113.tif 000007
【図６】
2010259113.tif 000008
【図７】
2010259113.tif 000009
【図８】
2010259113.tif 000010
【図９】
2010259113.tif 000011
【図１０】
2010259113.tif 000012
【図１１】
2010259113.tif 000013
【図１２】
2010259113.tif 000014
【図１３】
2010259113.tif 000015
【図１４】
2010259113.tif 000016
【図１５】
2010259113.tif 000017