(57)【要約】  本発明は、プロトコルスタックがないモードにおけるTCPの中間者処理方法に関し、送信側が受信側に送信したTCPデータパケットをインターセプトして、該TCPデータパケットをTCP/IP再編成し、次に、該TCPデータパケットのペイロード長を修正し、シリアル番号、及び確認番号を少なくとも含むTCPデータパケットのTCPヘッダー情報を修正して、最終的にTCPデータパケットをキャッシュするとともに受信側に転送するステップを含む。【選択図】図３
2017538335.tif 000002
【特許請求の範囲】
【請求項１】
プロトコルスタックがないモードにおけるTCPの中間者処理方法であって、
送信側が受信側に送信したTCPデータパケットをインターセプトし、前記TCPデータパケットをTCP/IP再編成し、次に、前記TCPデータパケットのペイロード長を修正し、シリアル番号と確認番号とを少なくとも含む前記TCPデータパケットのTCPヘッダー情報を修正して、最終的に前記TCPデータパケットをキャッシュするとともに受信側に転送するステップを含む、プロトコルスタックがないモードにおけるTCPの中間者処理方法。
【請求項２】
以下のステップS101〜S111を更に含むことを特徴とする請求項１に記載のプロトコルスタックがないモードにおけるTCPの中間者処理方法。
ステップS101：１つのTCPデータパケットを受信する。
ステップS102：前記TCPデータパケットをTCP/IP再編成する。
ステップS103：TCP再編成した情報によって前記TCPデータパケットが再送パケットであるか否かを判断し、再送パケットである場合、再送パケット処理フローであるステップS108に進み、再送パケットではない場合、正常パケット処理フローであるステップS104に進む。
ステップS104：必要に応じて前記データパケットのペイロード長を修正して、ペイロード長の変更値をオフセットとし、ステップS105に進む。
ステップS105：前記TCPデータパケットが確認番号を含むか含む場合、ステップS106へ進み、含まない場合、ステップS107に進む。
ステップS106：前記TCPデータパケットのクィンテットを抽出して、逆引きハッシュ検索を行い、逆引きのTCPフローを確認して、逆引きキャッシュキューにおいて確認されたTCPデータパケットを削除して、TCPヘッダーの確認番号を修正し、ステップS107に進む。
ステップS107：TCPデータパケットのクィンテットでフォワードハッシュ検索を行い、TCPヘッダーのシリアル番号を修正し、該パケットをフォワードキャッシュキューの末尾に挿入して、前方に転送し、ステップS111に進む。
ステップS108：前記TCPデータパケットが再送パケットであると判定し、該再送パケットがTCP中間者処理モジュールによって確認されたか否かを判断し、確認された場合、ステップS109に進み、確認されない場合、ステップS110に進む。
ステップS109：前記TCPデータパケットのクィンテットで逆引きハッシュ検索を行い、逆引きキャッシュキューにおける対応するTCPデータパケットを検出し、キャッシュキューにおける対応するTCPデータパケットを後方に転送して、元のTCPデータパケットを廃棄し、ステップS111に進む。
ステップS110：前記TCPデータパケットのクィンテットでフォワードハッシュ検索を行い、フォワードキャッシュキューにおける対応するTCPデータパケットを検出し、キャッシュキューにおける対応したTCPデータパケットを前方に転送して、元のTCPデータパケットを廃棄し、ステップS111に進む。
ステップS111：TCPデータパケット処理を終了する。
【請求項３】
前記逆引きハッシュ検索は、TCPデータパケットの宛先アドレス、宛先ポート、送信元アドレス、送信元ポート、及びプロトコルタイプを値としてハッシュマッチし、前記フォワードハッシュ検索は、TCPデータパケットの送信元アドレス、送信元ポート、宛先アドレス、宛先ポート、及びプロトコルタイプを値としてハッシュマッチする、ことを特徴とする請求項２に記載のプロトコルスタックがないモードにおけるTCPの中間者処理方法。
【請求項４】
前記ステップS107において、前記TCPヘッダーのシリアル番号を修正することは、下記の計算式によって行い、
修正後のシリアル番号＝修正前のシリアル番号+累積的なオフセット、
ここで、前記累積的なオフセット＝末尾TCPパケットの累積的なオフセット+該TCPデータパケットのオフセット、である
ことを特徴とする請求項２に記載のプロトコルスタックがないモードにおけるTCPの中間者処理方法。
【請求項５】
前記ステップS106において、TCPヘッダーの確認番号を修正することは、以下の計算式によって行い、
修正後の確認番号＝所望の確認番号-累積的なオフセット、
ここで、前記所望の確認番号＝修正後のシリアル番号+修正後のTCPペイロード長、である
ことを特徴とする請求項４に記載のプロトコルスタックがないモードにおけるTCPの中間者処理方法。
【請求項６】
前記ステップS108において、TCPデータパケットのシリアル番号が、TCP/IP再編成過程に出力した最大のシリアル番号値より大きい場合、該TCPパケットが再送パケットではないと判断し、そうでない場合、該TCPパケットは再送パケットであると判断する、ことを特徴とする請求項２に記載のプロトコルスタックがないモードにおけるTCPの中間者処理方法。
【請求項７】
前記フォワード転送は、転送する方向がソースTCPデータパケットを送信する方向と同じである転送であり、前記後方転送は、転送する方向がソースTCPデータパケットを送信する方向と逆である転送である、ことを特徴とする請求項２に記載のプロトコルスタックがないモードにおけるTCPの中間者処理方法。 
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はネットワーク通信分野に関し、特にプロトコルスタックがないモードにおけるTCPの中間者（man-in-the-middle）処理方法に関する。
【背景技術】
【０００２】
インターネットの発展に伴って、ネットワーク伝送媒体は日々に多様化し、ネットワークのセキュリティー問題も次第に重視されつつある。ネットワーク攻撃の１種として、中間者攻撃は強い隠蔽性を有し、脅威が深刻である。攻撃者は、情報送信者と受信者の間に位置し、両者が交換する情報を処理する。しかし、ある特定の場合には、中間者技術は利点もある。例えば、中間者技術はある程度でネットワーク犯罪を監視することができ、ネットワークにおける不法な、暴力的な、或いは、ポルノ的な情報を遮蔽できる。
【０００３】
従来のTCP中間者処理方法は、いずれも通常のTCP/IPプロトコルスタックモードにおいて作動し、中間者は、送信側と受信側にそれぞれに接続を確立する方法を採用して、送信側と受信側の交換パケットを監視する。このような方法の利点は実現が容易であることである。この方法は通常のTCP/IPプロトコルスタックモードにおいて作動するため、データパケットを受信する際に、データパケットを順次ネットワーク層(IPプロトコルスタック)、トランスポート層(TCPプロトコルスタック)、アプリケーション層に渡して処理し、その後、再びアプリケーション層、トランスポート層(TCP)、ネットワーク層(IP)によってパッケージし、最終的にデータパケットを転送する。従って、従来のTCP中間者処理方法は、リアルタイム性が悪く、ネットワークスループットに影響を与える。また、この方法は、送信側と受信側の正常な通信に影響を与える。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明は、従来技術におけるTCP中間者処理方法がリアルタイム性が悪く、クライアントとサーバーとの正常な通信に影響を与えるという欠陥を克服して、リアルタイム性が高く、送信側及び受信側に透明であるTCP中間者処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記の目的を実現するために、本発明はプロトコルスタックがないモードにおけるTCPの中間者処理方法を提供し、この方法は、
送信側が受信側に送信したTCPデータパケットをインターセプトし、TCPデータパケットをTCP/IP再編成し、次に、前記TCPデータパケットのペイロード長を修正し、シリアル番号、確認番号を少なくとも含むTCPデータパケットのTCPヘッダー情報を修正して、最終的にTCPデータパケットをキャッシュするとともに、受信側に転送するステップを含む。
【０００６】
上記の技術的解決手段において、前記中間者処理方法は、ステップS101〜S111を更に含む。
ステップS101：１つのTCPデータパケットを受信する。
ステップS102：前記TCPデータパケットをTCP/IP再編成する。
ステップS103：TCP再編成した情報によって該TCPデータパケットが再送パケットであるか否かを判断し、再送パケットである（YES）場合、再送パケット処理フローであるステップS108に進み、再送パケットでない（NO）場合、正常パケット処理フローであるステップS104に進む。
ステップS104：必要に応じて前記データパケットのペイロード長を修正し、ペイロード長の変更値をオフセットとして、ステップS105に進む。
ステップS105：前記TCPデータパケットが確認番号を含むか否かを検査し、含む（YES）場合、ステップS106に進み、含まない（NO）場合、ステップS107に進む。
ステップS106：前記TCPデータパケットのクィンテットを抽出して、逆引きハッシュ検索を行い、逆引きのTCP流を確認して、逆引きキャッシュキューにおいて確認されたTCPデータパケットを削除して、且つTCPヘッダーの確認番号を修正し、ステップS107に進む。
ステップS107：TCPデータパケットのクィンテットでフォワードハッシュ検索を行い、TCPヘッダーのシリアル番号を修正し、該パケットをフォワードキャッシュ末尾に挿入して、前方に転送し、ステップS111に進む。
ステップS108：前記TCPデータパケットが再送パケットであると判定（determine）し、該再送パケットがTCP中間者処理モジュールによって確認（acknowledge）されたか否かを判断し、確認された（YES）場合、ステップS109に進み、確認されない（NO）場合、ステップS110に進む。
ステップS109：前記TCPデータパケットのクィンテットで逆引きハッシュ検索を行い、逆引きキャッシュキューにおける対応するTCPデータパケットを検出し、キャッシュキューにおける対応するTCPデータパケットを後方に転送して、元のTCPデータパケットを廃棄し、ステップS111に進む。
ステップS110：前記TCPデータパケットのクィンテットでフォワードハッシュ検索を行い、フォワードキャッシュキューにおける対応するTCPデータパケットを検出し、キャッシュキューにおける対応したTCPデータパケットを前方に転送して、元のTCPデータパケットを廃棄し、ステップS111に進む。
ステップS111：前記TCPデータパケット処理を終了する。
【０００７】
上記の技術的解決手段において、前記逆引きハッシュ検索は、TCPデータパケットの宛先アドレス、宛先ポート、送信元アドレス、送信元ポート及びプロトコルタイプを値（value）としてハッシュマッチして、前記フォワードハッシュ検索は、TCPデータパケットの送信元アドレス、送信元ポート、宛先アドレス、宛先ポート及びプロトコルタイプを値（value）としてハッシュマッチする。
【０００８】
上記の技術的解決手段において、ステップS107では、前記TCPヘッダーのシリアル番号を修正することは、下記の計算式によって行い、修正後のシリアル番号＝修正前のシリアル番号＋累積的なオフセット、ここで、累積的なオフセット＝末尾TCPパケットの累積的なオフセット＋該TCPデータパケットのオフセットである。
【０００９】
上記の技術的解決手段において、ステップS106では、TCPヘッダーの確認番号を修正することは、以下の計算式によって行い、修正後の確認番号＝所望の確認番号-累積的なオフセット、ここで、前記所望の確認番号＝修正後のシリアル番号+修正後のTCPペイロード長である。
【００１０】
上記の技術的解決手段において、ステップS108では、以下のような方法を採用してTCPデータパケットが再送パケットであるか否かを判断する。即ち該TCPデータパケットのシリアル番号がTCP/IP再編成過程に出力した最大のシリアル番号値より大きい場合、該TCPパケットが再送パケットではないと判断し、そうでない場合、該TCPパケットは再送パケットであると判断する。
【００１１】
上記の技術的解決手段において、前記フォワード転送は、転送する方向がソースTCPデータパケットを送信する方向と同じである転送であり、前記後方転送は、転送する方向がソースTCPデータパケットを送信する方向と逆である転送である。
【発明の効果】
【００１２】
本発明の利点は以下の通りであり、
１、本発明のプロトコルスタックがないモードにおけるTCPの中間者処理方法は、プロトコルスタックがないモードにおいて作動し、TCPデータパケットの修正は送信側及び受信側に対して透明であり、且つ送信側と受信側との正常な通信に影響を与えることがなく、
２、本発明のプロトコルスタックがないモードにおけるTCPの中間者処理方法は、キャッシュメカニズムによって、再送パケットの処理の一定の高速化を実現し、
３、本発明のプロトコルスタックがないモードにおけるTCPの中間者処理方法は、その他のTCPプロトコルに基づく中間者手段に下層技術サポートを提供することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明のプロトコルスタックがないモードにおけるTCPの中間者処理方法の基本的なフローチャートである。
【図２】本発明のプロトコルスタックがないモードにおけるTCPの中間者処理方法に使用されるキャッシュハッシュ表の構造模式図である。
【図３】本発明のプロトコルスタックがないモードにおけるTCPの中間者処理方法の詳細フローチャートである。
【図４】本発明のプロトコルスタックがないモードにおけるTCPの中間者処理方法における、シリアル番号及び確認番号を修正するシーケンスの一例を示す図である。
【図５】送信側と受信側の間でのTCPデータパケットのやり取りを示す模式図である。
【発明を実施するための形態】
【００１４】
以下、図面を参照して本発明を更に説明する。
【００１５】
本発明の中間者処理方法はTCP/IPプロトコルスタックを採用せず、直接ネットワーク層においてトランスポート層(TCP)とアプリケーション層(様々なプロトコル)のデータメッセージを処理する。本発明において、通信ネットワークにある２つのネットワークノードの間に位置する、本発明の方法を採用したTCP中間者をTCP中間者モジュールと呼ぶ。２つのネットワークノード間で通信する際に、前記TCP中間者モジュールは、流れているTCPデータパケットを受信し、再編成し、修正及び転送処理をするとともに、正常なTCP接続を保持する。この過程において、TCPデータパケット処理前後の長さの変更値に応じて、TCPヘッダーのシリアル番号及び確認番号の値を修正する必要がある、且つ送信側及び受信側の正常な通信に影響を与えない。
【００１６】
図１に示すように、本発明の方法は、以下のステップS1〜S6を含む。
ステップS1では、TCP中間者処理モジュールは初期化を行い、
ステップS2では、送信側が受信側にTCPデータパケットを送信し、
ステップS3では、TCP中間者処理モジュールがTCPデータパケットをインターセプトして、TCPデータパケットをTCP/IP（処理プログラムで）再編成し、受信したTCPパケットの秩序性を確保し、
ステップS4では、TCP中間者処理モジュールがTCPデータパケットのペイロード長を修正し、
ステップS5では、TCP中間者処理モジュールが、データパケットのシリアル番号、確認番号、チェックサム等のフィールドを含むTCPヘッダー情報を修正し、
ステップS6では、TCP中間者処理モジュールが、TCPデータパケットをキャッシュして、且つ受信側に転送する。
【００１７】
図３に示すように、本発明の方法は、以下のステップS101〜S111に更に細分することができる。
【００１８】
ステップS101では、TCP中間者処理モジュールが、１つのTCPデータパケットを受信し、
ステップS102では、TCP中間者処理モジュールが、該TCPデータパケットをTCP/IP再編成する。
【００１９】
正常プロトコルスタックは、TCP/IP再編成の機能を提供するが、本発明の方法は、プロトコルスタックを採用しないため、本ステップではTCPデータパケットをTCP/IP（処理プログラムで）再編成する必要がある。
【００２０】
ステップS103では、TCP再編成した情報によって該TCPデータパケットが再送パケットであるか否かを判断し、再送パケットである（YES）場合、再送パケット処理フローであるステップS108に進み、再送パケットでない（NO）場合、正常パケット処理フローであるステップS104に進み、
ステップS104では、TCP中間者処理モジュールは、必要に応じて前記データパケットのペイロード長を修正し、ペイロード長の変更値をオフセットとし、ステップS105に進む。
【００２１】
本発明の方法は、主に以下の状況、例えばネットワーク層データパケットを受信した後に、具体的な必要性(例えば問題のある言葉を削除する)に応じてTCPペイロードから対応するデータを検出して修正する必要がある場合に適用する。このため、本ステップでは必要に応じてデータパケットのペイロード長を修正する。
【００２２】
ステップS105では、前記TCPデータパケットに確認番号 (ACK) を含むか否かを検査し、含む（YES）場合、ステップS106に進み、含まない（NO）場合、ステップS107に進む。
【００２３】
１つのTCPデータパケットは２つの方向のデータフローに属する可能性があり、１つは送信側->受信側方向であり、もう１つは受信側->送信側方向である。それぞれの方向におけるTCPデータパケットの確認番号は、逆方向のTCPデータパケットの確認であり、即ち、送信側->受信側方向においてTCPデータパケットに確認番号を有すると、該確認番号は受信側->送信側方向におけるその前のあるTCPデータパケットの確認であり、逆も同様である。
【００２４】
ステップS106では、前記TCPデータパケットのクィンテットを抽出して、逆引きハッシュ検索を行い、逆引きのTCPフローを確認して、逆引きキャッシュキューにおいて確認されたTCPデータパケットを削除して、TCPヘッダーの確認番号を修正し、ステップS107に進む。
【００２５】
TCPデータパケットのクィンテットは、送信元アドレス、送信元ポート、宛先アドレス、宛先ポート及びプロトコルタイプを含む。前記逆引きハッシュ検索とは、TCPデータパケットの宛先アドレス、宛先ポート、送信元アドレス、送信元ポート及びプロトコルタイプを値（value）としてハッシュマッチする。本ステップにおいて言及した逆引きキャッシュキューとは、逆引きハッシュ検索によって検索されたキューを指す。図２における先頭ポインタ及び末尾ポインタが指したTCPデータパケットは、１つのキューのヘッド及びテールである。
【００２６】
前のステップS104で言及したように、TCP中間者処理モジュールは、TCPデータパケットのペイロード長を修正することがあるので、TCPデータパケットのシリアル番号及び確認番号の整合性を維持するために、TCPデータパケットのシリアル番号及び確認番号を修正する必要がある。後のステップS107ではTCPデータパケットシリアル番号の修正を完了して、シリアル番号が修正されたTCPデータパケットを受信側に送信し、受信側は確認番号が含まれるTCPデータパケットを返送し、更に本ステップではTCPヘッダーの確認番号の修正を行う。
【００２７】
TCPデータパケットの確認は、該TCPパケットの確認番号と逆引きキャッシュキューにおける各データパケットの「所望の確認番号」とを比較することによって実施することができ、該TCPパケットの確認番号が、逆引きキャッシュキューにおけるあるデータパケットP1の「所望の確認番号」と同じであると、該TCPデータパケットが該データパケットP1の確認であることを表す。データパケットを確認した後に、TCPパケットの確認番号を修正し、その計算式は、修正後の確認番号＝修正前の所望の確認番号-累積的なオフセット、である。
【００２８】
ステップS107では、TCPデータパケットのクィンテットでフォワードハッシュ検索を行い、TCPヘッダーのシリアル番号を修正し、該パケットをフォワードキャッシュキューの末尾に挿入して、前方に転送し、ステップS111に進む。
【００２９】
前記フォワードハッシュ検索とは、TCPデータパケットの送信元アドレス、送信元ポート、宛先アドレス、宛先ポート、及びプロトコルタイプを値（value）としてハッシュマッチすることを指す。本ステップで言及したフォワードキャッシュキューとは、フォワードハッシュ検索によって検索されたキューを指す。
【００３０】
本出願で言及したフォワード転送は、転送の方向がソースTCPデータパケットを送信していく方向と同じである転送である。
【００３１】
本ステップでは、TCPヘッダーのシリアル番号を修正するのは、以下の計算式に従って計算される。即ち、修正後のシリアル番号＝修正前のシリアル番号+累積的なオフセット、累積的なオフセット＝末尾TCPパケットの累積的なオフセット+該TCPデータパケットのオフセットである。TCPヘッダーのシリアル番号を修正した後に、修正後のシリアル番号についての「所望の確認番号」を計算する必要もあり、所望の確認番号＝修正後のシリアル番号+修正後のTCPペイロード長となる。修正後のTCPパケット、累積的なオフセット、及び所望の確認番号は、いずれもキャッシュキューに記憶される。
【００３２】
ステップS108では、前記TCPデータパケットが再送パケットであると判定（determine）し、該再送パケットがTCP中間者処理モジュールによって確認（acknowledge）されたか否かを判断し、確認された（YES）場合、ステップS109に進み、確認されない（NO）場合、ステップS110に進む。
【００３３】
本ステップでは、以下のような方法を採用してTCPデータパケットが再送パケットであるか否かを判断する。すなわち、該TCPデータパケットのシリアル番号がTCP/IP再編成過程に出力した最大のシリアル番号値より大きい場合、該TCPパケットが再送パケットではないと判断し、そうでない場合、該TCPパケットは再送パケットであると判断する。
【００３４】
ステップS109では、前記TCPデータパケットのクィンテットで逆引きハッシュ検索を行い、逆引きキャッシュキューにおける対応するTCPデータパケットを検出し、キャッシュキューにおける対応するTCPデータパケットを後方に転送して、元のTCPデータパケットを廃棄し、ステップS111に進む。
【００３５】
本出願における後方転送は、転送の方向がソースTCPデータパケットを送信していく方向と逆である転送である。
【００３６】
ステップS110では、前記TCPデータパケットのクィンテットでフォワードハッシュ検索を行い、フォワードキャッシュキューにおける対応するTCPデータパケットを検出し、キャッシュキューにおける対応したTCPデータパケットを前方に転送して、元のTCPデータパケットを廃棄し、ステップS111に進む。
【００３７】
ステップS111では、TCPデータパケット処理を終了する。
【００３８】
理解しやすくするために、以下、図４を参照して、本発明の方法を更に説明する。
【００３９】
図４に示すように、クライアントは、まずTCPデータパケットを送信する。このTCPデータパケットのシリアル番号Seqはc1であり、データパケットの長さlenがl1であり、TCP中間者モジュールは該TCPデータパケットを受信した後に、このTCPデータパケットをTCP/IP再編成し、且つデータパケット長さを修正する。仮にデータパケット長さがΔ1増加すると、修正後のデータパケット長さがl1+Δ1であり、TCPデータパケットシリアル番号の整合性を維持するために、TCP中間者モジュールは、該TCPデータパケットを転送する前に、該TCPデータパケットのシリアル番号にΔ1を加算する必要があり、修正後のデータパケットシリアル番号はc1+Δ1である。TCP中間者モジュールは、このTCPデータパケットを修正した後に、サーバーに送信する。
【００４０】
サーバーは、前記のTCPデータパケットを受信した後に、確認番号付きのTCPデータパケットを返し、該確認番号はc1+Δ1+l1で示される。TCPデータパケット確認番号の整合性を維持するために、確認番号値からΔ1を差引く必要があり、新しい確認番号はc1+l1である。TCP中間者モジュールは、この確認番号のTCPデータパケットをクライアントに返す。
【００４１】
TCP中間者モジュールは、クライアントからその後に送信されるTCPデータパケットに対して同様な処理を行う。即ち、クライアントから送信されたTCPデータパケットを受信した後に、該データパケットの長さにΔiを加算し、次に、TCPデータパケットシリアル番号の整合性を維持するために、転送する前に、TCPデータパケットシリアル番号に
2017538335.tif 000003
を加算する。受信側から返った確認番号パケットを受信する際には、TCPデータパケット確認番号値から
2017538335.tif 000004
を差引き、再び確認番号付きのパケットを送信側に送信する。
【００４２】
図５は送信側と受信側の間でのTCPデータパケットのやりとりを示す完全なフローであり、この図を参照して、その前に説明した本発明の方法におけるステップS108〜ステップS110を捕捉説明する。
【００４３】
図５において、パケット1は、送信側が受信側に送信したパケットPacket1を示し、パケット2は、Packet1がTCP中間者モジュールにより処理された後のパケットPacket2を示し、パケット3は、受信側がPacket2を受信した後に、送信側に返送された確認パケットPacket3を示し、パケット4は、Packet3が中間者により処理された後のパケットPacket4を示す。
【００４４】
Packet3が紛失した場合、送信側は再送パケットPacket1を送信するが、中間者がPacket3を受信していないため、再送パケットPacket1がTCP中間者処理モジュールによって確認されないことになり、この時、ステップS110の説明のように、フォワードキャッシュキューからPacket1に対応するPacket2を検出し、Packet2をフォワード転送する。
【００４５】
中間者がPacket3を受信した後Packet4が紛失した場合、送信側は１つの再送パケットPacket1を送信するが、中間者はPacket3を受信したため、再送パケットPacket1がTCP中間者処理モジュールによって確認されることになり、この時、ステップS109の説明のように、逆引きキャッシュキューからPacket1の確認パケットPacket4を検出し、Packet4を後方転送する。
【００４６】
最後に、以上の実施例は本発明の技術的解決手段を説明するためのものだけであり、制限するためのものではない。実施例を参照して本発明を詳細的に説明したが、当業者は、本発明の技術的解決手段に対する修正や均等な置換えは、本発明の技術的解決手段の精神及び範囲を逸脱するものではなく、本発明の請求項の範囲に含まれることを理解すべきである。
【図１】
2017538335.tif 000005
【図２】
2017538335.tif 000006
【図３】
2017538335.tif 000007
【図４】
2017538335.tif 000008
【図５】
2017538335.tif 000009
【国際調査報告】
2017538335.tif 000010
2017538335.tif 000011
2017538335.tif 000012
2017538335.tif 000013