(57)【要約】      （修正有）【課題】通信に影響を及ぼさずにネットワーク経路にＮＡＴ装置が存在するか否かを確認することができるようにする装置及び方法を提供する。【解決手段】本発明はＮＡＴ装置を探知するための方法において、ホストから遠隔ホストに転送されるＩＰパケットが検出されると、ＮＡＴ探知装置が、ＩＰパケットにＳＹＮフラグがあるか否かを確認する段階と、ＩＰパケットにＳＹＮフラグがある場合、ＮＡＴ探知装置が、ＩＰパケットに対応するＴＴＬ値が設定されたプローブパケットを生成してホストに転送する段階と、を有する。ＮＡＴ探知装置が、ＩＣＭＰパケットの検出可否及びＩＣＭＰパケットが検出された場合、検出されたＩＣＭＰパケットの分析結果を参照し、ＮＡＴ探知装置とホスト間のネットワーク経路上にＮＡＴ装置が存在するかを判断する。【選択図】図４
2018110392.tif 000002
【特許請求の範囲】
【請求項１】
ＮＡＴ（Ｎｅｔｗｏｒｋ  Ａｄｄｒｅｓｓ  Ｔｒａｎｓｌａｔｉｏｎ）装置を探知するための方法において、
（ａ）ホストから遠隔ホストに転送されるＩＰパケットが検出されると、ＮＡＴ探知装置が、前記ＩＰパケットにＳＹＮフラグがあるか否かを確認する段階と、
（ｂ）前記ＩＰパケットに前記ＳＹＮフラグがある場合、前記ＮＡＴ探知装置が、前記ＩＰパケットに対応するＴＴＬ値が設定されたプローブパケットを生成して前記ホストに転送する段階と、
（ｃ）前記ＮＡＴ探知装置が、（ｉ）ＩＣＭＰパケットの検出可否及び（ｉｉ）前記ＩＣＭＰパケットが検出された場合、前記検出されたＩＣＭＰパケットの分析結果を参照し、前記ＮＡＴ探知装置と前記ホスト間のネットワーク経路上に前記ＮＡＴ装置が存在するかを判断する段階と、
を含むことを特徴とする方法。
【請求項２】
前記（ｂ）段階で、
前記ＮＡＴ探知装置は、
前記プローブパケットのソースアドレスを前記ＩＰパケットの目的地アドレスとして設定し、前記プローブパケットの目的地アドレスを前記ＩＰパケットのソースアドレスとして設定し、前記プローブパケットのＩＤフィールドに任意の第１クッキー値を記録することで、前記プローブパケットを生成することを特徴とする、請求項１に記載の方法。
【請求項３】
前記（ｃ）段階で、
前記ＮＡＴ探知装置は、
前記ＩＣＭＰパケットが検出されると、前記ＩＣＭＰパケットを分析して前記ＩＣＭＰパケットにカプセル化されたＩＰパケットのＩＤフィールドに保存された第２クッキー値を確認し、前記確認された第２クッキー値と前記プローブパケットのＩＤフィールドに保存した前記第１クッキー値とが一致する場合、前記ホストとのネットワーク経路上に前記ＮＡＴ装置が存在すると判断することを特徴とする、請求項２に記載の方法。
【請求項４】
前記ＮＡＴ探知装置は、
前記ＩＣＭＰパケットにカプセル化されたＩＰパケットのＩＤフィールドに保存された前記第２クッキー値と前記プローブパケットのＩＤフィールドに保存した前記第１クッキー値が一致しない場合、前記ホストとのネットワーク経路上に前記ＮＡＴ装置が存在しないと判断し、
前記ＩＣＭＰパケットが検出されなければ、前記ホストとのネットワーク経路上に前記ＮＡＴ装置が存在しないと判断することを特徴とする請求項３に記載の方法。
【請求項５】
前記ＮＡＴ探知装置は、
前記プローブパケットのＴＴＬ値を、前記ホストとのネットワーク経路上のホップ数を参照して設定することを特徴とする請求項１に記載の方法。
【請求項６】
前記ＮＡＴ探知装置は、
前記ホストにホップ数確認のためのテストパケットを転送するが、前記テストパケットのＴＴＬ値を、１から順次に増加させて転送し、これに対応されるＩＣＭＰパケットが最初に受信された時の前記テストパケットのＴＴＬ値を参照して前記ホストとのネットワーク経路上のホップ数を確認することを特徴とする請求項５に記載の方法。
【請求項７】
ＮＡＴ（Ｎｅｔｗｏｒｋ  Ａｄｄｒｅｓｓ  Ｔｒａｎｓｌａｔｉｏｎ）装置を探知するためのＮＡＴ探知装置において、
ホストから遠隔ホストに転送されるＩＰパケットを検出するＩＰパケット検出部と、
前記ＩＰパケットにＳＹＮフラグがあるか否かを確認して、前記ＩＰパケットに前記ＳＹＮフラグがある場合、前記ＩＰパケットに対応するＴＴＬ値が設定されたプローブパケットを生成して前記ホストに転送するプローブパケット生成部と、
（ｉ）ＩＣＭＰパケットの検出可否及び（ｉｉ）前記ＩＣＭＰパケットが検出された場合、前記検出されたＩＣＭＰパケットの分析結果を参照し、前記ＮＡＴ探知装置と前記ホスト間のネットワーク経路上に前記ＮＡＴ装置が存在するかを判断するＮＡＴ装置確認部と、
を含むことを特徴とするＮＡＴ探知装置。
【請求項８】
前記プローブパケット生成部は、
前記プローブパケットのソースアドレスを前記ＩＰパケットの目的地アドレスとして設定し、前記プローブパケットの目的地アドレスを前記ＩＰパケットのソースアドレスとして設定し、前記プローブパケットのＩＤフィールドに任意の第１クッキー値を記録することで、前記プローブパケットを生成することを特徴とする請求項７に記載のＮＡＴ探知装置。
【請求項９】
前記ＮＡＴ装置確認部は、
前記ＩＣＭＰパケットが検出されると、前記ＩＣＭＰパケットを分析して前記ＩＣＭＰパケットにカプセル化されたＩＰパケットのＩＤフィールドに保存された第２クッキー値を確認し、前記確認された第２クッキー値と前記プローブパケットのＩＤフィールドに保存した前記第１クッキー値が一致する場合、前記ホストとのネットワーク経路上に前記ＮＡＴ装置が存在すると判断することを特徴とする請求項８に記載のＮＡＴ探知装置。
【請求項１０】
前記ＮＡＴ装置確認部は、
前記ＩＣＭＰパケットにカプセル化されたＩＰパケットのＩＤフィールドに保存された前記第２クッキー値と前記プローブパケットのＩＤフィールドに保存した前記第１クッキー値が一致しない場合、前記ホストとのネットワーク経路上に前記ＮＡＴ装置が存在しないと判断し、
前記ＩＣＭＰパケットが検出されなければ、前記ホストとのネットワーク経路上に前記ＮＡＴ装置が存在しないと判断することを特徴とする請求項９に記載のＮＡＴ探知装置。
【請求項１１】
前記プローブパケット生成部は、
前記プローブパケットのＴＴＬ値を、前記ホストとのネットワーク経路上のホップ数を参照して設定することを特徴とする請求項７に記載のＮＡＴ探知装置。
【請求項１２】
前記プローブパケット生成部は、
前記ホストにホップ数確認のためのテストパケットを転送するが、前記テストパケットのＴＴＬ値を、１から順次に増加させて転送し、これに対応されるＩＣＭＰパケットが最初に受信された時の前記テストパケットのＴＴＬ値を参照して前記ホストとのネットワーク経路上のホップ数を確認することを特徴とする請求項１１に記載のＮＡＴ探知装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＮＡＴ（Ｎｅｔｗｏｒｋ  Ａｄｄｒｅｓｓ  Ｔｒａｎｓｌａｔｉｏｎ）装置を探知するための方法及び装置に関し、より詳細には、ホストから遠隔ホストに転送されるＩＰパケットにＳＹＮフラグがある場合、ＩＰパケットに対応するＴＴＬ値が設定されたプローブパケットを生成してホストに転送し、それに対応するＩＣＭＰパケットを分析してＮＡＴ探知装置とホスト間のネットワーク経路上にＮＡＴ装置が存在するかを判断するＮＡＴ装置を探知するための方法及び装置に関する。
【背景技術】
【０００２】
ＮＡＴ装置は、ネットワークアドレス変換装置としてＩＰパケット（すなわち、データグラム）のヘッダー内のＩＰアドレスを変更することができる装置であり、一般的にプライベート網に存在する多数のプライベートＩＰアドレスを一つのパブリック網ＩＰアドレスに変換するのに活用されている。特に、ＮＡＴ装置によってプライベート網に存在する多数のホストのそれぞれのプライベートＩＰアドレスを一つのパブリックＩＰアドレスにマッピングさせることができるため、限定されたＩＰアドレスリソースを節約することができ、ＮＡＴ以前のプライベート網に存在する多数のホストのプライベートＩＰアドレスに関する情報をＮＡＴ越えのパブリック網に公開しないことでパブリック網からの保安脅威を遮断することができるという長所がある。
【０００３】
しかし、ＮＡＴ装置を使用するようになると、ホスト内のプロセスを指すべきポートがＩＰアドレスによって指されるべきホストを指すようになる奇形的な状況が発生するようになり、ＮＡＴを実行するためにネットワーク層（ｎｅｔｗｏｒｋ  ｌａｙｅｒ、Ｌ３）よりも高い上位層のデータまで処理する過程でネットワーク性能を低下させ得るという短所も存在する。
【０００４】
従って、通信網上に存在するＮＡＴ装置を探知する技術が必要となり、これによってＮＡＴ装置を探知するための多様な従来技術が紹介されている。
【０００５】
一例として、所定の通信網経路を通過したパケットのＴＴＬ値が非正常的に減少したかを分析し、その分析結果によって当該パケットが通過した通信網経路上にＮＡＴ装備が存在するか否かを判断する従来技術が紹介されている。しかし、パケットのＴＴＬ値が減少する現象はＮＡＴ装備だけでなく、パケット再送（ｒｅｔｒａｎｓｍｉｓｓｉｏｎ）などの別の原因によっても発生し得るため、上記のような従来技術によるとＮＡＴ装置を正確に探知することができなくなる問題点が存在する。
【０００６】
他の例として、ホストのＴＣＰポート使用パターンを分析し、その分析結果によって当該ホストまでの通信網経路上にＮＡＴ装備が存在するか否かを判断する従来技術が紹介されている。しかし、ホストごとにポートを使用するアルゴリズムがそれぞれ異なり得るため、上記のような従来技術によると通信網に存在する幾多のホストがいかなるアルゴリズムによってポートを使用するかに関する情報をすべて有していない限り、ＮＡＴ装置を正確に探知し難いという限界がある。
【０００７】
また、ホストに転送される応答パケットを変調してＮＡＴ装置におけるＴＴＬ（Ｔｉｍｅ  Ｔｏ  Ｌｉｖｅ）減少によるＩＣＭＰ（Ｉｎｔｅｒｎｅｔ  Ｃｏｎｔｒｏｌ  Ｍｅｓｓａｇｅ  Ｐｒｏｔｏｃｏｌ）パケットを用いてＮＡＴ装置が存在するか否かを判断する従来技術が紹介されている。しかし、ＮＡＴ装置がある場合、応答パケットがホストまで伝達されないので、通信が途絶えるだけでなく、パケットを変調するためのプロキシのような技術が必要とされる短所がある。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本発明は、上述した問題点をすべて解決することを目的とする。
【０００９】
また、本発明は、通信に影響を及ぼさずにネットワーク経路にＮＡＴ装置が存在するか否かを確認することができるようにする装置及び方法を提供することを別の目的とする。
【００１０】
また、本発明は、プロキシのような技術によってパケットを変調するなどの動作なしに簡単な構成によってネットワーク経路上にＮＡＴ装置が存在するか否かを確認することができるようにする装置及び方法を提供することをまた別の目的とする。
【課題を解決するための手段】
【００１１】
上記のような本発明の目的を達成し、後述する本発明の特徴的な効果を実現するための、本発明の特徴的な構成は下記のとおりである。
【００１２】
本発明の一実施例によると、ＮＡＴ（Ｎｅｔｗｏｒｋ  Ａｄｄｒｅｓｓ  Ｔｒａｎｓｌａｔｉｏｎ）装置を探知するための方法において、（ａ）ホストから遠隔ホストに転送されるＩＰパケットが検出されると、ＮＡＴ探知装置が、前記ＩＰパケットにＳＹＮフラグがあるか否かを確認する段階と、（ｂ）前記ＩＰパケットに前記ＳＹＮフラグがある場合、前記ＮＡＴ探知装置が、前記ＩＰパケットに対応するＴＴＬ値が設定されたプローブパケットを生成して前記ホストに転送する段階と、（ｃ）前記ＮＡＴ探知装置が、（ｉ）ＩＣＭＰパケットの検出可否及び（ｉｉ）前記ＩＣＭＰパケットが検出された場合、前記検出されたＩＣＭＰパケットの分析結果を参照し、前記ＮＡＴ探知装置と前記ホスト間のネットワーク経路上に前記ＮＡＴ装置が存在するかを判断する段階と、を含む方法が提供される。
【００１３】
また、本発明の一実施例によると、ＮＡＴ（Ｎｅｔｗｏｒｋ  Ａｄｄｒｅｓｓ  Ｔｒａｎｓｌａｔｉｏｎ）装置を探知するためのＮＡＴ探知装置において、ホストから遠隔ホストに転送されるＩＰパケットを検出するＩＰパケット検出部と、前記ＩＰパケットにＳＹＮフラグがあるか否かを確認して前記ＩＰパケットに前記ＳＹＮフラグがある場合、前記ＩＰパケットに対応するＴＴＬ値が設定されたプローブパケットを生成して前記ホストに転送するプローブパケット生成部と、及び（ｉ）ＩＣＭＰパケットの検出可否及び（ｉｉ）前記ＩＣＭＰパケットが検出された場合、前記検出されたＩＣＭＰパケットの分析結果を参照し、前記ＮＡＴ探知装置と前記ホスト間のネットワーク経路上に前記ＮＡＴ装置が存在するかを判断するＮＡＴ装置確認部と、を含むＮＡＴ探知装置が提供される。
【００１４】
それ以外にも、本発明の方法を実行するためのコンピュータープログラムを記録するためのコンピューターで読取可能な記録媒体がさらに提供される。
【発明の効果】
【００１５】
本発明は、プローブパケットを用いてネットワーク経路上のＮＡＴ装置を探知するので、ホストと遠隔ホスト間の通信に影響を及ぼさなくなり、それによって安定した通信状態を維持しながらネットワーク経路上のＮＡＴ装置を探知することができる。
【００１６】
また、本発明は、プローブパケットを用いてネットワーク経路上のＮＡＴ装置を探知するので、プロキシのような技術によってパケットを変調するなどの動作なしに簡単な構成によってＮＡＴ探知システムを実現することができる。
【図面の簡単な説明】
【００１７】
【図１】図１は、本発明の一実施例によるＮＡＴ探知装置を適用したネットワークシステムを概略的に示したものである。
【図２】図２は、本発明の一実施例によるＮＡＴ探知装置を概略的に示したブロック構成図である。
【図３】図３は、本発明の一実施例によるＮＡＴ探知装置を用いてＮＡＴ装置を探知する方法を概略的に示したものである。
【図４】図４は、本発明の一実施例によるＮＡＴ探知装置を用いてＮＡＴ装置を探知する方法を概略的に示したものである。
【図５】図５は、本発明の一実施例によるＮＡＴ探知装置で生成されたプローブパケット及びこれに応答したＩＣＭＰパケットの一例を概略的に示したものであり、図５の（ａ）はプローブパケット、図５の（ｂ）はＩＣＭＰパケットを概略的に示したものである。
【発明を実施するための形態】
【００１８】
後述する本発明に対する詳細な説明は、本発明が実施され得る特定の実施例を例示として示す添付図面を参照する。これらの実施例は、当業者が本発明を実施することができるように充分詳細に説明される。本発明の多様な実施例は互いに異なるが、相互排他的である必要はないことを理解されなければならない。例えば、ここに記載されている特定の形状、構造及び特性は一実施例に関連して本発明の精神及び範囲を逸脱せずに他の実施例で実現され得る。また、それぞれの開示された実施例内の個別構成要素の位置または配置は、本発明の精神及び範囲を逸脱せずに変更され得ることを理解されなければならない。従って、後述する詳細な説明は、限定的な意味にとろうとするものではなく、本発明の範囲は、適切に説明される場合、その請求項が主張するものと均等なすべての範囲とともに添付の請求項によってのみ限定される。図面で類似する参照符号はいくつかの側面にわたり同一あるいは類似する機能を指す。
【００１９】
以下、本発明が属する技術分野で通常の知識を有する者が本発明を容易に実施することができるようにするために、本発明の好ましい実施例に関して添付の図面を参照して詳細に説明することにする。
【００２０】
図１は本発明の一実施例によるＮＡＴ探知装置を適用したネットワークシステムを概略的に示したものであり、図１を参照すると、システムはＮＡＴ探知装置（１００）、ホスト（２００）、及び遠隔ホスト（３００）が含まれ得る。
【００２１】
まず、本発明の一実施例によると、通信網は有線及び無線のような通信様態を問わず構成され得、インターネット（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ）、公知のＷＬＡＮ（Ｗｉｒｅｌｅｓｓ  ＬＡＮ）、ＣＤＭＡ（Ｃｏｄｅ  Ｄｉｖｉｓｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ａｃｃｅｓｓ）、ＷＣＤＭＡ（登録商標）（Ｗｉｄｅｂａｎｄ  Ｃｏｄｅ  Ｄｉｖｉｓｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ａｃｃｅｓｓ）またはＧＳＭ（登録商標）（Ｇｌｏｂａｌ  Ｓｙｓｔｅｍ  ｆｏｒ  Ｍｏｂｉｌｅ  ｃｏｍｍｕｎｉｃａｔｉｏｎｓ）通信網などをすべて含む概念であることを理解されなければならない。参考として、本発明の一実施例による通信網はＮＡＴ装置（２３０）を基準にしてＮＡＴ装置（２３０）以前の通信網を指すプライベート網と、ＮＡＴ装置（２３０）超えの通信網を指すパブリック網に分けられ得る。
【００２２】
次に、ホスト（２００）は、通信網に接続して互いに通信することができる機能を有する機器であって、パソコン（例えば、デスクトップコンピューター、ノートパソコンなど）、ワークステーション、サーバー、ＰＤＡ、タブレットコンピューター、スマートフォン、携帯電話、ＩＰＴＶ受信機などのようにメモリー手段を備え、マイクロプロセッサーを搭載して演算能力を備えた機器であればいずれも本発明によるホスト（２００）になり得る。一方、本発明の一実施例によると、ホスト（２００）はパケットを受ける主体か、あるいはパケットを送る主体かによって目的地ホストとソースホストのうちいずれにもなり得る。例えば、後述するように、ＮＡＴ探知装置（１００）を経て伝達される応答パケットを基準とする時、応答パケットを送るホストはソースホストとなり、応答パケットを受けるホストは目的地ホストとなり得る。
【００２３】
一方、本発明の一実施例によると、通信網上にはＮＡＴ装置（２３０）と連結されず転送または受信するパケットに対してＮＡＴが実行されない第１ホスト（２１０）と、ＮＡＴ装置（２３０）のプライベート網に連結されて転送または受信するパケットに対してＮＡＴが実行される第２ホスト（２２０）が存在し得る。
【００２４】
次に、ＮＡＴ装置（２３０）はプライベート網から伝達されたパケットのヘッダー情報に含まれている第２ホスト（２２０）のプライベートＩＰアドレスをパブリックＩＰアドレスに変換する機能（すなわち、ＳＮＡＴ（Ｓｏｕｒｃｅ  Ｎｅｔｗｏｒｋ  Ａｄｄｒｅｓｓ  Ｔｒａｎｓｌａｔｉｏｎ））を実行し得、パブリック網から伝達されたパケットのヘッダー情報に含まれている第２ホスト（２２０）のパブリックＩＰアドレスをプライベートＩＰアドレスに変換する機能（すなわち、ＤＮＡＴ（Ｄｅｓｔｉｎａｔｉｏｎ  Ｎｅｔｗｏｒｋ  Ａｄｄｒｅｓｓ  Ｔｒａｎｓｌａｔｉｏｎ））を実行し得る。特に、本発明の一実施例によると、ＮＡＴ装置（２３０）がパブリック網から伝達されたパケットに対してＤＮＡＴを実行し、このようにＤＮＡＴ処理されたパケットをＮＡＴ装置（２３０）と連結されている第２ホスト（２２０）にフォワーディングする過程で当該パケットのヘッダー情報に含まれたＴＴＬ値が１以上減少し得る。
【００２５】
次に、ＮＡＴ探知装置（１００）は、ホスト（２００）によって遠隔ホスト（３００）に転送されるＩＰパケットが検出されると、ＩＰパケットにＳＹＮフラグがあるか否かを確認し、ＩＰパケットにＳＹＮフラグがある場合、ＩＰパケットに対応するＴＴＬ値が設定されたプローブパケットを生成してホスト（２００）に転送し、これに対応するＩＣＭＰパケットを分析してＮＡＴ探知装置（１００）とホスト（２００）間のネットワーク経路上にＮＡＴ装置（２３０）が存在するかを判断する機能を実行し得る。
【００２６】
次に、遠隔ホスト（３００）は、通信網に接続して互いに通信することができる機能を有する機器であって、パソコン（例えば、デスクトップコンピューター、ノートパソコンなど）、ワークステーション、サーバー、ＰＤＡ、タブレットコンピューター、スマートフォン、携帯電話、ＩＰＴＶ受信機などのようにメモリー手段を備え、マイクロプロセッサーを搭載して演算能力を備えた機器であればいずれも本発明による遠隔ホスト（３００）になり得る。
【００２７】
図２は、本発明の一実施例によるＮＡＴ探知装置を概略的に示したブロック構成図であり、図２を参照すると、ＮＡＴ探知装置は、パケット検出部（１１０）、プローブパケット生成部（１２０）、及びＮＡＴ装置確認部（１３０）が含まれ得る。
【００２８】
まず、パケット検出部（１１０）は、ホスト（２００）から遠隔ホスト（３００）に転送されるＩＰパケットを検出し得る。
【００２９】
次に、プローブパケット生成部（１２０）は、パケット検出部（１１０）で検出されたＩＰパケットにＳＹＮフラグがあるか否かを確認してＩＰパケットにＳＹＮフラグがある場合、ＩＰパケットに対応するＴＴＬ値が設定されたプローブパケットを生成してホスト（２００）に転送する。
【００３０】
この時、プローブパケット生成部（１２０）は、ＩＰパケットのソースアドレスと目的地アドレスをスワップしたプローブパケットを生成し得る。すなわち、プローブパケット生成部（１２０）は、プローブパケットのソースアドレスをＩＰパケットの目的地アドレスとして設定し、プローブパケットの目的地アドレスをＩＰパケットのソースアドレスとして設定し得る。また、プローブパケット生成部（１２０）はプローブパケットのＩＤフィールドに任意の第１クッキー値を記録して保存し得る。
【００３１】
そして、プローブパケット生成部（１２０）は、プローブパケットのＴＴＬ値を、ホスト（２００）とのネットワーク経路上のホップ数を参照して設定し得る。また、プローブパケット生成部（１２０）は、ホスト（２００）にホップ数確認のためのテストパケットを転送するが、テストパケットのＴＴＬ値を、１から順次増加させて転送し、これに対応するＩＣＭＰパケットが最初に受信された時のテストパケットのＴＴＬ値を参照してホストとのネットワーク経路上のホップ数を確認し得る。
【００３２】
次に、ＮＡＴ装置確認部（１３０）は、ＩＣＭＰパケットの検出可否を参照してＮＡＴ探知装置（１００）とホスト（２００）間のネットワーク経路上にＮＡＴ装置（２３０）が存在するかを判断し得る。また、ＮＡＴ装置確認部（１３０）はＩＣＭＰパケットが検出された場合、検出されたＩＣＭＰパケットの分析結果を参照し、ＮＡＴ探知装置（１００）とホスト（２００）間のネットワーク経路上にＮＡＴ装置（２３０）が存在するかを判断し得る。この時、ＮＡＴ装置確認部（１３０）はＩＣＭＰパケットが検出されるとＩＣＭＰパケットを分析してＩＣＭＰパケットにカプセル化されたＩＰパケットのＩＤフィールドに保存された第２クッキー値を確認し、確認された第２クッキー値とプローブパケットのＩＤフィールドに保存した第１クッキー値が一致する場合、ホスト（２００）とのネットワーク経路上にＮＡＴ装置（２３０）が存在すると判断し得る。
【００３３】
このように構成された本発明の一実施例によるＮＡＴ探知装置（１００）を用いて図１のように形成されたネットワークシステムでＮＡＴ装置を探知する方法を図３ないし図５を参照して説明すると次のとおりである。
【００３４】
まず、図３を参照すると、第１ホスト（２１０）がＴＣＰにＳＹＮフラッグを有するＩＰパケットを生成してホストに転送する。この時、ＩＰパケットは、ソースアドレスとして第１ホスト（２１０）のＩＰアドレスを有し、目的地アドレスとして遠隔ホスト（３００）のＩＰアドレスを有するようになる。また、ＩＰパケットはソースアドレスとして第１ホスト（２１０）のＭＡＣアドレスを有し、目的地アドレスとして遠隔ホスト（３００）のＭＡＣアドレスを有し得る。
【００３５】
そうすると、ＮＡＴ探知装置（１００）は、第１ホスト（２１０）から受信されるＩＰパケットを目的地アドレスに対応される遠隔ホスト（３００）に転送する。この時、ＮＡＴ探知装置（１００）は、ＩＰパケットヘッドのＴＴＬを１だけ増加して遠隔ホスト（３００）に転送することができ、これによってＮＡＴ探知装置（１００）における減少したＴＴＬを補償することができる。また、ＮＡＴ探知装置（１００）は、ＩＰパケットに対応して遠隔ホスト（３００）から転送される応答パケットを第１ホスト（２１０）に転送し得る。
【００３６】
そして、ＮＡＴ探知装置（１００）は、検出されたＩＰパケットのソースアドレスと目的地アドレスをスワップした図５の（ａ）でのようなＩＰパケットに対応するＴＴＬ値が設定されたプローブパケットを生成し、生成されたプローブパケットを転送する。すなわち、ＮＡＴ探知装置（１００）のプローブパケット生成部（１２０）は、パケット検出部（１１０）を通じて検出されたＩＰパケットのソースＩＰアドレスとソースＭＡＣアドレス、目的地ＩＰアドレスと目的地ＭＡＣアドレスをスワップしてＩＰパケットのソースアドレスを目的地アドレスとして有し、ＩＰパケットの目的地アドレスをソースアドレスとして有するプローブパケットを生成する。そして、プローブパケット生成部（１２０）は、プローブパケットのＴＴＬを１に設定し、ＴＣＰパケットのＳＴＮ／ＡＣＫはスワップせずｓｅｑ／ａｃｋナンバーをそのままにしてプローブパケットを生成する。これによって生成されたプローブパケットは、遠隔ホスト（３００）から第１ホスト（２１０）に転送するパケットに対応するようになる。しかし、ＴＣＰパケットは、ｓｅｑ／ａｃｋナンバーをそのままにした状態なので、第１ホスト（２１０）でセッションを設定するのに使用された初期シーケンス番号を維持するようになる。また、プローブパケット生成部（１２０）はＩＰヘッダーのＩＤフィールドに任意の第１クッキー値を記録して保存する。
【００３７】
これによって生成されたプローブパケットは、目的地アドレスに対応して第１ホスト（２１０）に転送される。そうすると、第１ホスト（２１０）は、プローブパケットを受信するようになるが、ＴＣＰのＳＹＮ／ＡＣＫナンバーが自身の生成した初期シーケンスナンバーなので、ソースアドレスである遠隔ホスト（３００）に応答パケットを発生しなくなり、それによってＮＡＴ探知装置（１００）では転送したプローブパケットに対応した応答パケットが検出されないので、第１ホスト（２１０）とのネットワーク経路上にＮＡＴ装置が存在しないと判断する。
【００３８】
上記でＮＡＴ探知装置（１００）のプローブパケット生成部（１２０）は、プローブパケットのＴＴＬを１に設定したが、これに限定されるものではなく、第１ホスト（２１０）とのネットワーク経路上のホップ数を参照にＴＴＬ値を設定することができる。また、ＮＡＴ探知装置（１００）は、プローブパケットのＴＴＬ設定のための第１ホスト（２１０）間のホップ数を確認するために、テストパケットを転送するが、テストパケットのＴＴＬ値を、１から順次に増加させて転送し、これに対応されるＩＣＭＰパケットが最初に受信された時のテストパケットのＴＴＬ値を参照して第１ホスト（２１０）とのネットワーク経路上のホップ数を確認することができる。
【００３９】
図３はネットワーク経路上にＮＡＴ装置がない場合を想定したものであるが、ネットワーク経路上にＮＡＴ装置がある場合のＮＡＴ装置を探知する方法を図４を参照して説明すると次のとおりである。
【００４０】
まず、図４を参照すると、第２ホスト（２２０）がＴＣＰにＳＹＮフラッグを有するＩＰパケットを生成してホストに転送する。この時、ＩＰパケットは、ソースアドレスとして第２ホスト（２２０）のＩＰアドレスを有し、目的地アドレスとして遠隔ホスト（３００）のＩＰアドレスを有するようになる。また、ＩＰパケットは、ソースアドレスとして第２ホスト（２２０）のＭＡＣアドレスを有し、目的地アドレスとして遠隔ホスト（３００）のＭＡＣアドレスを有し得る。
【００４１】
この時、ＮＡＴ装置（２３０）は、第２ホスト（２２０）から受信されるＩＰパケットの情報をＮＡＴセッションに保存し、ＩＰパケットのソースＩＰアドレスをパブリックＩＰアドレスに変換して遠隔ホスト（３００）に転送する。
【００４２】
そうすると、ＮＡＴ探知装置（１００）は、ＮＡＴ装置（２３０）から受信されるＩＰパケットを目的地アドレスに対応される遠隔ホスト（３００）に転送する。この時、ＮＡＴ探知装置（１００）は、ＩＰパケットヘッドのＴＴＬを１だけ増加して遠隔ホスト（３００）に転送し得、これによってＮＡＴ探知装置（１００）における減少したＴＴＬを補償し得る。また、ＮＡＴ探知装置（１００）は、ＩＰパケットに対応して遠隔ホスト（３００）から転送される応答パケットをＮＡＴ装置（２３０）に転送し得、ＮＡＴ装置（２３０）は応答パケットの目的地ＩＰアドレスを第２ホスト（２２０）のＩＰアドレスに変換した応答パケットを第２ホスト（２２０）に転送する。
【００４３】
そして、ＮＡＴ探知装置（１００）は、検出されたＩＰパケットのソースアドレスと目的地アドレスをスワップした図５の（ａ）でのようなＩＰパケットに対応するＴＴＬ値が設定されたプローブパケットを生成し、生成されたプローブパケットを転送する。すなわち、ＮＡＴ探知装置（１００）のプローブパケット生成部（１２０）は、パケット検出部（１１０）を通じて検出されたＩＰパケットのソースＩＰアドレスとソースＭＡＣアドレス、目的地ＩＰアドレスと目的地ＭＡＣアドレスをスワップしてＩＰパケットのソースアドレスを目的地アドレスとして有し、ＩＰパケットの目的地アドレスをソースアドレスとして有するプローブパケットを生成する。そして、プローブパケット生成部（１２０）はプローブパケットのＴＴＬを１に設定し、ＴＣＰパケットのＳＴＮ／ＡＣＫはスワップせずｓｅｑ／ａｃｋナンバーをそのままにしてプローブパケットを生成する。これによって生成されたプローブパケットは、遠隔ホスト（３００）からＮＡＴ装置（２３０）に転送するパケットに対応するようになる。しかし、ＴＣＰパケットは、ｓｅｑ／ａｃｋナンバーをそのままにした状態なので、第２ホスト（２２０）でセッションを設定するのに使用された初期シーケンス番号を維持するようになる。また、プローブパケット生成部（１２０）は、ＩＰヘッダーのＩＤフィールドに任意の第１クッキー値を記録して保存する。
【００４４】
これによって生成されたプローブパケットは、目的地アドレスに対応してＮＡＴ装置（２３０）に転送される。
【００４５】
そうすると、ＮＡＴ装置（２３０）は、受信されたプローブパケットに対応するＮＡＴを進行する。すなわち、受信されたプローブパケットに対応するパケット情報をＮＡＴセッションに記録された情報から確認し、一致するパケット情報がある場合に目的地ＩＰアドレスであるパブリックアドレスを第２ホスト（２２０）に該当するプライベートＩＰアドレスに変更するＮＡＴを実行するようになる。それによってプローブパケットのＴＴＬ値が減少するようになり“０”となってｔｉｍｅ  ｅｘｃｅｅｄを発生するようになり、図５の（ｂ）のようなＩＣＭＰパケットをプローブパケットのソースアドレスに該当する遠隔ホスト（３００）に転送するようになる。
【００４６】
そして、ＮＡＴ探知装置（１００）は、ＮＡＴ装置（２３０）から遠隔ホスト（３００）に転送されるＩＣＭＰパケットを検出し、検出されたＩＣＭＰパケットを分析する。すなわち、ＮＡＴ探知装置（１００）は、検出されたＩＣＭＰパケットにカプセル化されたＩＰパケットのＩＤフィールドに保存されたクッキー値である第２クッキー値を確認した後、確認された第２クッキー値がプローブパケットのＩＤフィールドに保存したクッキー値である第１クッキー値と一致するかを確認する。この時、ＮＡＴ探知装置（１００）は、第１クッキー値と第２クッキー値が一致する場合、第２ホスト（２２０）間でのネットワーク経路上にＮＡＴ装置（２３０）が存在すると判断する。しかし、ＮＡＴ探知装置（１００）は、第１クッキー値と第２クッキー値とが一致しない場合にはＩＣＭＰパケットがプローブパケットに対応するものではないと判断して、第２ホスト（２２０）間でのネットワーク経路上にＮＡＴ装置（２３０）が存在しないと判断するようになる。
【００４７】
また、以上で説明した本発明による実施例は、多様なコンピューターの構成要素を通じて実行され得るプログラムコマンドの形態で実現されてコンピューターで読取可能な記録媒体に記録され得る。前記コンピューターで読取可能な記録媒体は、プログラムコマンド、データファイル、データ構造などを単独または組み合わせて含まれ得る。前記コンピューターで読取可能な記録媒体に記録されるプログラムコマンドは、本発明のために特別に設計されて構成されたものや、コンピューターソフトウェア分野の当業者にとって公知かつ使用可能なものでもあり得る。コンピューターで読取可能な記録媒体の例には、ハードディスク、フロッピーディスク及び磁気テープのような磁気媒体、ＣＤ−ＲＯＭ、ＤＶＤのような光記録媒体、フロプティカルディスク（ｆｌｏｐｔｉｃａｌ  ｄｉｓｋ）のような磁気−光媒体（ｍａｇｎｅｔｏ−ｏｐｔｉｃａｌ  ｍｅｄｉａ）、及びＲＯＭ、ＲＡＭ、フラッシュメモリーなどのようなプログラムコマンドを保存して実行するように特別に構成されたハードウェア装置が含まれる。プログラムコマンドの例には、コンパイラーによって作られるもののような機械語コードだけでなく、インタプリターなどを使用してコンピューターによって実行され得る高級言語コードも含まれる。前記ハードウェア装置は、本発明による処理を実行するために、一つ以上のソフトウェアモジュールとして作動するように構成されることができ、その逆も同様である。
【００４８】
以上で、本発明が具体的な構成要素などのような特定事項と限定された実施例及び図面によって説明されたが、これは、本発明のより全般的な理解を助けるために提供されたものに過ぎず、本発明が前記実施例に限定されるものではなく、本発明が属する技術分野で通常の知識を有する者であれば、かかる記載から多様な修正及び変形を図ることができる。
【００４９】
従って、本発明の思想は、上記説明された実施例に限定されてはならず、後述する特許請求の範囲だけでなく、本特許請求の範囲と均等または等価的に変形されたすべてのものは本発明の思想の範疇に属すると言える。
【符号の説明】
【００５０】
１００    ＮＡＴ探知装置
１１０    パケット検出部
１２０    プローブパケット生成部
１３０    ＮＡＴ装置確認部
２００    ホスト
２１０    第１ホスト
２２０    第２ホスト
２３０    ＮＡＴ装置
３００    遠隔ホスト
【図１】
2018110392.tif 000003
【図２】
2018110392.tif 000004
【図３】
2018110392.tif 000005
【図４】
2018110392.tif 000006
【図５】
2018110392.tif 000007