JP5454399B2 - ラージスケールnat検出装置、アプリケーション切替装置、ラージスケールnat検出方法およびアプリケーション切替方法 - Google Patents

ラージスケールnat検出装置、アプリケーション切替装置、ラージスケールnat検出方法およびアプリケーション切替方法 Download PDF

Info

Publication number
JP5454399B2
JP5454399B2 JP2010160375A JP2010160375A JP5454399B2 JP 5454399 B2 JP5454399 B2 JP 5454399B2 JP 2010160375 A JP2010160375 A JP 2010160375A JP 2010160375 A JP2010160375 A JP 2010160375A JP 5454399 B2 JP5454399 B2 JP 5454399B2
Authority
JP
Japan
Prior art keywords
lsn
application
packet
network
relay node
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.)
Active
Application number
JP2010160375A
Other languages
English (en)
Other versions
JP2012023591A (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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co 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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2010160375A priority Critical patent/JP5454399B2/ja
Priority to PCT/JP2011/002822 priority patent/WO2012008078A1/ja
Publication of JP2012023591A publication Critical patent/JP2012023591A/ja
Application granted granted Critical
Publication of JP5454399B2 publication Critical patent/JP5454399B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses

Description

本発明は、IPv4アドレス枯渇時に適応されるラージスケールNAT(以下LSNと呼ぶ)、別名、キャリアグレードNAT(以下CGNと呼ぶ)がネットワークに接続されているとき、そのネットワークに接続された端末が、ネットワーク経路上にLSNが存在することを発見するための手法および装置に関する。
2010年4月現在、IPv4アドレスが次第に枯渇してきており、IPv4ネットワークの延命策が検討されている。また、インターネットプロバイダなどの通信キャリアにおいてプライベートネットワークを構築し複数のユーザでIPアドレスを共有する装置であるラージスケールNATの導入が検討されている。ラージスケールNATは、アドレス変換(NAT:Network Address Translation)機能を備え、大規模なトラフィックに耐えうるように作られたNATである。ラージスケールNATのユーザ側ネットワークは、通常、プライベートIPアドレス(以下、プライベートアドレスという)によって構築される。
ラージスケールNAT(以下LSN)は、IPv4アドレスの使用数を抑制することができる一方で、さまざまな弊害をもたらすことがわかっている。例えば、LSNは複数のユーザによってひとつのグローバルIPアドレスが共有される結果、1ユーザあたりのポート数を制限せざるを得ず、その結果としてユーザアプリケーションの一部には通信ができなかったり、不具合を生じさせたりといった問題点が指摘されている。
こういった不具合は一般のユーザにとっては、不具合を発生させている問題点の切り分け、すなわち、ネットワークの問題なのか、機器の問題なのかの判断が難しいために、ユーザが、機器の故障ではないにもかかわらず、ネットワークの問題とは判断できずに機器の故障と判断してしまうというケースも想定できる。
このため機器が自分が接続されたネットワーク上にLSNが存在しているかどうかを知り、例えば、不具合を起こさないように動作をスイッチしたり、あるいは、メッセージとしてLSNがネットワーク上にあり正しく動作しない旨を何らかの形で機器がユーザにメッセージを送るといった方法が考えられる。また、アプリケーションが必要とするポートの数が使えるのかどうかあらかじめテストしておきたい、といったこともある。
このようにネットワークに接続された端末が自身のネットワーク上にLSNがあるかどうかを調べることは重要なことである。
一般的にNATを発見する技術は開示されている。例えば非特許文献1で開示されているIETFにて標準化されたSTUNなどを用いればNATの存在や型を調べることができるが、そのNATがLSNであるかどうかは判定できない。
また、特許文献1、2では、パケットの送信方法を工夫することでNATの種類を判定する(Full Cone NAT、Restricted Cone NAT、Port Restricted Cone NAT、Adress Sensitive Symmetric NATのどれであるかを判定する)技術は開示されているが、NATがLSNであるかどうかは判定できない。
特開2006−295909号公報 特開2008−289109号公報 特開2005−323033号公報 特開2006−287478号公報
「RFC3489 STUN Simple Traversal of UDP though NATs」[online]、2010年4月5日、インターネット <URL:http://www.ietf.org/rfc/rfc3489.txt> 「Common Functions of Large Scale Nat(LSN)」[online]、2010年4月5日、インターネット <URL:http://tools.ietf.org/html/draft-nishitani-cgn-02>
上記したようにNATを発見する手法についてはいくつかの技術が存在している。ただ、LSNはNATではあるがポートに対するユーザ制限などがある特殊なNATであり、従来の技術を用いてもLSNであるかどうかを判定することは不可能である。また、NATの種類を判定する技術も存在しているが、LSNであるかどうかを判定することはできない。
このため、ネットワークに接続された端末が自身が通信する通信経路上にLSNが存在していることを発見するための方法が必要となる。
本発明のLSN検出装置は、ネットワークを経由して接続されたサーバにパケットを送るラージスケールNAT検出装置であって、前記パケットの送信元ポート番号を変更しながら前記ネットワークにパケットを送信するパケット送信制御部と、前記ネットワークからICMP13−Administratively Prohibitedを受信した場合に前記ネットワーク上にラージスケールNATが存在すると判断するLSN検出部とからなる構成を有している。
この構成により、LSN検出装置はネットワーク上にラージスケールNATがあることを知ることが出来る。
また、本発明のLSN検出装置は、前記パケット送信制御部は、所定の時間内に送信元ポート番号を変更しながらあらかじめ決められたポート総数N回になるまで、前記ネットワークにパケットを送信し、前記LSN検出部は、ICMP13−Administratively Prohibitedを受信した場合に前記ネットワーク上にN個のポートが使用可能でないラージスケールNATが存在すると判断する、構成を有している。
この構成により、LSN検出装置は、ネットワーク上にN個のポートが使用可能でないラージスケールNATが存在することを知ることが出来る。
さらに、本発明のアプリケーション切替装置は、前記記載のラージスケールNAT検出装置に加え、所定のポート数で動作する通常アプリケーションと前記所定のポート数より少ないポート数で動作するLSN用アプリケーションとを保持するアプリ保持部と、アプリケーション動作時に前記LSN検出部が検出したラージスケールNATの有無に応じて、前記アプリ保持部で保持しているアプリケーションを切り替えるアプリスイッチ部と、からなる構成を有している。
この構成により、ラージスケールNATが使用可能なポート数に応じてアプリケーショ
ンを切り替えることが出来る。
さらに、本発明のアプリケーション切替装置は、前記通常アプリケーションは分割された小分割地図画像を、前記小分割地図画像毎に異なるポートで受信して、受信した前記小分割地図画像を合成して地図を表示するアプリケーションであり、前記LSN用アプリケーションは、前記分割された小分割地図画像に比べて大きい画像サイズで分割された大分割地図画像を、前記大分割地図画像毎に異なるポートで受信して、受信した前記大分割地図画像を合成して地図を表示する、構成を有している。
この構成により、利用可能なポート数が多い場合に実行される通常アプリケーションのときは、分割する画像サイズを小さくして、分割された画像をそれぞれ異なる多くのポートで受け取ることにより、地図を高速にスクロールして表示可能であり、利用可能なポート数が少ない場合に実行されるLSN用アプリケーションのときは、分割する画像サイズを大きくして、少ないポートでそれぞれの分割された画像を受け取って、地図をスクロールして表示することが可能である。
さらに、本発明のLSN検出装置は、中継ノードを経由してネットワークに接続された中継ノードに向けて、近くの前記中継ノードから順にトレースルートを実行したとき、所定のメッセージを送ることにより前記中継ノードの中でプライベートアドレスを有する中継ノードから最初にグローバルアドレスを有する中継ノードに変わる中継ノードを発見し、記中継ノードの中で、前記グローバルアドレスを有する中継ノードを最初に送信した中継ノードの一つ手前の中継ノードをLSN候補中継ノードとしてを発見し、前記LSN候補中継ノードに推定ルータパケットをユニキャストで送信したとき、前記LSN候補中継ノードがUPnPに基づいて応答を返してきたとき、前記LSN候補中継ノードをLSNでないと判断し、前記LSN候補中継ノードが所定の時間内に応答を返してこないとき、前記LSN候補中継ノードをLSNと判断する、構成を有している。
この構成により、LSNにはセキュリティ上の観点よりUPnP−IGDによるルータ制御の仕組みは搭載されていないため、UPnPによるルータ制御よるUPnPに基づいた応答を返してこないため、LSN候補中継ノードがLSNであると判断することが可能である。
本発明によれば、LSNに備えられた送受信部により、端末がチェックパケットを送信することにより、LSN識別子を端末が受け取ることができ、LSNの存在を短時間に確実に確認することができる。
また、本発明によればパケットを送信してNATを検査することにより、当該NATがLSNであるかどうかを判別することができる。
また、本発明によれば、端末が必要とするポート数Nについて、ネットワーク上で確保
が可能かどうかをあらかじめ確認することができる。
また、本発明によれば、端末がLSNを発見したときに適切な動作にスイッチを行うことでトラブルを回避することが可能になる。
第1の実施形態に係る装置の構成を示すブロック図 第1の実施形態におけるLSN識別子を示す図 第2の実施形態に係る装置の構成を示すネットワーク図 第2の実施の形態におけるパケットの内容を示す説明図 第2の実施の形態における装置の構成を示すブロック図 第2の実施の形態の処理の流れを示すフロー図 第3の実施形態に係る装置の構成を示すネットワーク図 第3の実施形態に係る装置の構成を示すブロック図 第3の実施の形態の処理の流れを示すフロー図 第4の実施形態に係る装置の構成を示すブロック図 第4の実施の形態の動作を示す説明図 第5の実施形態に係る装置の構成を示すブロック図 第6の実施形態に係る装置の構成を示すブロック図 第7の実施形態に係る装置の構成を示すネットワーク図 第7の実施形態に係る装置のトレースルート結果を示す図 第7の実施形態に係る装置のUPnPメッセージを示す図
(第1の実施形態)
以下、本発明の第1の実施形態について、図面を参照しながら説明する。図1は、本発明の第1の実施形態に係るLSN検出装置の一例を示す図である。
図1において1はLSN,2は端末、11はLSN1に実装された送受信部、12はLSN識別子、21は端末に実装された送受信部であり、LSN1と端末2はネットワーク4によって接続されている。
LSN識別子12には、図2に示すように、LSNの名称(LSN名)、WAN(インターネット)側のIPアドレス(WANアドレス)およびLSNに設定されたユーザごとの制限ポート数が含まれている。図2は、LSN名がlsn1.lsn.com、WANアドレスが、11.22.33.44、制限ポート数が2000の場合を示している。
端末2は送受信部21よりLSN1に向かって、LSN識別子リクエストを送信し、このリクエストをLSN1は送受信部11で受信する。LSN1はLSN識別子リクエストを受信すると、LSN識別子レスポンスとしてLSN識別子12を返送する。端末2はLSN識別子21を受け取ることにより、経路上にLSN1があり、ポート制限があることを検知することができる。
(第2の実施形態)
以下、本発明の第2の実施形態について、図面を参照しながら説明する。図3は、本発明の第2の実施形態に係るLSN検出装置の一例を示す図である。図3において、LSN1と端末2はネットワークによって接続されており、また、LSN1とサーバ3もネットワークにより接続されている。LSN1とサーバ3の間をWAN側4と呼ぶ。
図3において、端末2はサーバ3に対してUDPパケット(1)を送信する。このとき、端末2から送信されたUDPパケット(1)はLSN1を経由してUDPパケット(4)
としてサーバ3に届くことになる。LSN1ではUDPパケットが通過するたびに、アドレス変換テーブルを作成して、WAN側4のポートとの割り当てを確立する。このWAN側4に割り当てられたポート番号を用いてサーバへの通信を実行することになる。
LSN1では、WAN側4のポート数がユーザ毎に制限をされており、ユーザ毎のポート数の制限値を保持している。ユーザの通信において、ポート数の制限値を越える通信が行われたとき、LSN1から端末2に対し、ICMP 13−Administratively Prohibited(以下ICMP13と呼ぶ。ICMP13については非特許文献2を参照)が返送される。すなわち、ICMP13を端末が受信すると、通信経路上にLSN1が存在するということを判定できることになる。
なお、ICMP13はLSN1が端末2に対してポート使用制限数を越えた際に送出するエラーメッセージである。LSN1を経由してインターネットにアクセスしている端末2がポートをLSN1の制限数以上に消費した場合にICMP13を受け取るので、アプリケーションが実行時にポートを消費することにより端末2はLSN1を経由してサーバ3に接続していること知ることはあるが、常に知ることができるわけではない。また、端末2がICMP13を受け取ったとき、端末はポート数の制限を越えたことは分かるが、そのポート数の制限数がいくつなのかについては知ることができない。
本実施の実施形態では、あらかじめLSN1を経由しているかどうかを知ることができかつその際ポート数がいくつ確保できるかについて知ることができる検出装置を提供する。
このLSN1におけるユーザあたりの使用可能なポート数の制限値はプロバイダなどLSN運用者の運用ポリシーにより異なることが予想される。ここでは例えばポート数の制限値が200個であったとする。本実施例では端末2がUDPパケットを送信する構成であるので、端末2はサーバに向けて複数のUDPパケットを送信する。この複数のUDPパケットの送出の際には、端末2からネットワークに送る際の、送信元ポート番号が前回のポート番号とは異なるように次々と送信していく。
LSN1は、端末2から制限値を超えるポート番号の異なるUDPパケットを受け取ると、ICMP13メッセージを端末2に返す。ポート数の制限値が200個になっているので、ネットワーク上にLSN1があると端末2がポート番号の異なる200個のUDPパケットを送出すると、端末2はLSN1からICMP13のメッセージを受け取ることになる。
なお、端末2からネットワークに向けて、UDPパケットを送信する際の送信元ポート番号については、逐次的にひとつずつ増やしてもよいし、減らしてもよいし、また、ランダムに選択してもよい。
第2の実施の形態の端末2の構成を、図5を用いて、さらに詳しく説明する。図5において31は送信ポートの制御を行う送信ポート制御部、32はパケット送信部、33はパケット受信部、34はネットワーク制御部、35は受信したパケットの内容を検査するパケット検査部である。
図5において、パケット送信部32は複数のパケットを送信する。ただし、パケットのポート番号の数には限界があり、その数はUDP/IPの送信においては論理的な限界である65536個である。
送信ポート制御部31は、パケット送信部32から送出されたUDPパケットを受け取り、送信元ポート番号の重複利用が発生しないように制御しながらネットワーク制御部34に受け渡し、ネットワーク制御部34がUDPのパケットを送出する。
ネットワーク制御部34はネットワークインタフェースを制御し、パケットの送信および受信を行う。パケット受信部33はネットワークインタフェースに入力されたパケットをネットワーク制御部34を経由して受け取り、受信パケットのうち自分宛のパケットを受信する。
パケット検査部35は自分宛に送られたパケットの中に、ICMP13が含まれるか否かを調査する。もしICMP13が含まれていると経路上にLSN1が存在すると判定する。
本実施例の検査装置は、端末の電源投入時、ユーザの指示、またはタイマーなどのタイミングで検査を開始する。端末2の本体のアプリケーションが動作中には実行しないことが望ましいが、必要に応じて動作させることも可能である。
動作の具体例について、さらに詳しく説明する。本実施例の検査が始まると、パケット送信部32よりパケットの送信を開始する。パケットは時系列的に送出することになる。パケット形式はUDP/IPが選択される。パケットのペイロードの内容はとくに何でもよいが、本実施例ではパケット送出の際のポート番号をつめておく。ポート番号の理論上の最大値は65,536個であるが、本実施例ではウェルノウンポートを考慮して、使用するポート番号の個数は最大値から1024を減じた64512個とする。
検査が始まり、パケット送出が始まると、送信ポート制御部31が送信元ポート番号を変更しながら連続してパケットを送信し始める。送信元ポート番号の初期値はとくに何を選択してもよいが、ウェルノウンポートである1023以下は用いないことが望ましい。本実施例では、初期値は1024とし、ここから連続してポート番号を増加させていくようになっている。
IPアドレスやポート番号について、図3および図4を用いて説明する。図3において、端末2から送出される送信パケットの宛先はサーバ3である。サーバ3のIPアドレスは11.22.33.44であり、端末2のIPアドレスは192.168.1.10とする。また、LSN1のWAN側4のアドレスは11.22.33.55とする。
端末2からは、サーバの宛先ポートを80とすると、IPアドレス11.22.33.44のポート番号80に向けてパケットが送信される。そして、初期送信元ポート番号が1024なので、UDPパケットとしては、図4の(1)となる。このパケットはLSN1を通過する際に書き換えが実施され、UDPパケット(4)となる。この際、LSN1の送信元ポート番号が2000だとすると、LSN1からサーバ3には、図4の(4)のようなUDPパケットが送出される。
続けて端末2からLSN1に向けて、送信元ポート番号1025のUDPパケット(2)が送信される。このパケットはLSN1を通過する際に書き換えが実施され、LSN1により、新たにポートが割り当てられ、例えば、送信元ポート番号が2001になり、サーバ3に向けて新たなパケットが送出される。
この動作を次々繰り返すと、端末2からLSN1に送られる201個目のパケットの送信元ポート番号は、1224となる(図4の(3))。このとき、ポート数の制限値を200としているため、UDPパケット(3)がLSN1を通過しようとした際にポート番号の上限の制限に引っかかり、LSN1より、端末2に向けて、ICMP13を含むICMPパケット(5)が送られることになる。端末2に送られたICMP13のメッセージを含むICMPパケット(5)は端末2に送信され、ネットワーク制御部34、パケット受信部33へと送られる。パケット受信部からさらにパケット検査部35に送られて、パ
ケットの検査を受けることになる。
パケット検査部35においてICMP13が検知されると、検査の判断としてLSN1が経路上に存在する、と判定され、処理が終了する。
図6を用いて本願の第2の実施の形態の処理の流れについてさらに説明する。ポート番号の理論上の上限値までパケットを送るためのカウンターをiとして初期値として1024をセットする(S61)。次に、パケット送信部32は、ペイロードにiを記入したUDPパケットを作成する(S62)。送信ポート制御部31は、過去に使用していない送信元ポート番号(例えば1024)を使用してネットワーク制御部34を経由してパケットをネットワークに送信する(S63)。次に、パケット受信部33は、ネットワーク制御部34を経由してパケットを受信し(S64)、このとき、パケット検査部35によって、パケットの中にICMP13のメッセージが入っているどうかを判定する(S65)。
ここで検査結果が、ICMP13のメッセージがパケットに入っていない場合は(S65のNo)iの値に1を加え(S66)、iがパケット数の理論上の上限値である65535を超えているか否かを調べる(S67)。iが65535に到達した場合、LSN1がネットワーク上にないと判断し(S69)、iが65535を超えていない場合は、パケット送信部32はペイロードに新たに更新されたiを用いてを記入した新たなUDPパケットを作成する(再びS62からの動作を繰り返す)。
S65の検査結果が、ICMP13のメッセージがパケットに入っていることが発見された場合(S65のYes)は、ネットワークの途中にLSN1があると判定する(S68)。また、このときのiをみると、端末2が使用できるポートの上限値(i−1023)を知ることができる。
(第3の実施形態)
以下、本発明の第3の実施形態について、図面を参照しながら説明する。図7は、本発明の第3の実施形態に係るLSN検出装置の一例を示す図であるが、端末2、LSN1、サーバ3の間を流れるUDPパケットの関係は実施の形態1と同じである。
図8は、本発明の第3の実施の形態のブロック構成図を示している。実施の形態3の構成は、実施の形態2とほぼ同じであるが、パケット数保持部36を有している点が実施の形態2と異なる。
第3の実施の形態では、パケット数保持部36にユーザが必要なポート数Nを保持しており、LSN1が端末2に割り当てているパケットのポート数がN以上であるか否かを検出することを目的としている。これにより、ユーザが必要なポート数が確保できるか否かを判断することができるようになる。
図8において、パケット送信部32は複数のパケットを送信するが、実施の形態3では、ポート番号を変えたパケットの送信数の最大数はパケット数保持部36が保持している数Nである。
図8において、実施の形態2と同じように、パケット検査部35は自分宛に送られたパケットの中に、ICMP13が含まれるか否かを調査する。もしICMP13が含まれていると経路上にLSN1が存在すると判定する。
ネットワーク上にLSN1が存在し、LSN1が端末2に割り当てているアドレスを変えたポート番号の数が200とすると、Nの値が201以上であればICMP13がLSN1より発行され、Nが200以下であれば、ICMP13は発行されないこととなる。
端末2からネットワークに向けて、ポート番号を変えたUDPパケットをN個送信する間に、ICMP13のパケットを端末2が受け取り、パケットの検査結果がICMP13であることを判別したときには、検査結果はNG(ユーザの必要なポート数が確保できない)であり、ICMP13が検出されなかった場合はOK(ユーザの必要なポート数が確保できる)となる。
パケット検査部35においてICMP13番が検知されると、検査装置の判断としてLSNが経路上に存在し、アプリケーションが必要とするポート数Nを確保できないことが判定され、処理が終了する。
図9は本発明の第3の実施の形態の動作を示している。実施の形態2とほぼ同じで、ICMP13を含むパケットが受信されたとき(S65)、必要なポート数が確保できないと判断する(S92)。一方、iがN−1を超えたとき(S91)、必要なポート数が確保できると判断する(S93)。
なお、一般的にNATではNAT機能を使用する際のIPアドレス/ポート番号の動的変換テーブルの有効保持時間が定められており、有効保持時間を過ぎたIPアドレス/ポート番号は開放されて再度利用されることになる。本実施の形態で送信元ポート番号を変えてパケットを送ることでNAT機能でのポート番号を消費をしているが、パケットの送出間隔が長いとNAT側でポート番号が開放されてしまう場合がある(一般的にUDPでは5分程度の場合が多い)。そのため、パケット送信部32は全てのパケット送信を有効保持期間内に行うようにすると確実にLSNのポートを消費しているため検査の精度を向上させることができる。
また、端末上で検査処理以外にポートを利用するアプリケーションが動作しているとポート制限数を正確に検知することができない。そのため、他のアプリケーションで利用しているポート数を把握するか、端末起動時など他のアプリケーションが動作していな状態で検査装置を実行することでより精度の高い検査を行うことができる。
(第4の実施形態)
以下、本発明の第4の実施形態について、図面を参照しながら説明する。図10は、本発明の第4の実施形態に係るアプリケーション切替装置40の一例を示す図である。図10において、41はLSN発見部であり、内部は実施の形態2または3の端末2と同じである。42はプログラム切替部、43はポート制限型アプリケーション(LSN用アプリケーション)、44は通常のアプリケーションである。
LSN発見部41はアプリケーション切替装置40がLSNの下にいるかどうかを判定する。例えば実施形態の2または3で示したパケット検査部35において、LSNを発見するとプログラム切替部42にLSNの有り無しを伝えることができる。プログラム切替部42は、通常は通常アプリケーション44を起動するが、LSNを発見したときにはポート制限型アプリケーション43を起動する。
すなわち、本発明のアプリケーション切替装置40では、例えば装置の電源が投入されたとき、LSN発見部41により通信経路上のLSNの存在をチェックする。もしもLSNが発見されなかったときには、通常アプリケーション44を起動し通常の動作を行うが、LSNが発見されたときには、ポート制限型アプリケーション43を起動する。ポート制限型アプリケーションは通常アプリケーションに比べて機能上の制限あるいは動作速度などに制限を生じるが、LSNによって使用可能なポート数が制限されることにより動作を停止してしまうことが無いように作られている。
このようにプログラム切替え装置を構成することにより、LSNの存在如何にかかわらず装置は動作を実行することができるように構成可能である。
ポート制限型アプリケーションとしては、インターネット上の地図アプリケーションが考えられる。例えばGoogle Map(登録商標)のような地図アプリにおいては、ユーザがマウスなどで自由に地図をスクロールできるようになっているが、これは地図を一定の大きさの小さな画像に分割して端末に送ることで実現されている。つまり、1つの地図のように見えても、実際は複数の画像の組み合わせで構成されており、各画像ごとにポートを消費している。
ここで、ポート数の制限があった場合、地図画像を通常よりも粗い単位で区切り一つあたりの画像サイズを大きくすることで使用するポート数を減らすことができる。ただし、画像サイズが大きくなるため表示までに時間がかかったり、表示されない領域の画像も読み込むことになるなど効率が下がる可能性がある。例えば、図11のように送信する画像を通常アプリの縦横ともに2倍のサイズにすることでポートの数を4分の1に減らすことができる。なお、LSN発見部が検知した使用可能なポート数に応じて動的にアプリの動作を変えても良い。例えば地図アプリであれば1つの画像サイズをポート数に合わせて動的に変えることで最適な動作となる。さらにポートを消費する別アプリが起動したら、別アプリの使用するポート数も考慮して動作を決めてもよい。
(第5の実施形態)
以下、本発明の第5の実施形態について、図面を参照しながら説明する。図12は、本発明の第5の実施形態に係るLSN検出装置の一例を示す図である。図12において、41はLSN発見部、45はメッセージ表示部、46はディスプレイである。
LSN発見部41の内部は、実施の形態2または3の端末2と同じである。すなわち、LSN発見部41内部のパケット検査部35がLSNを発見するとメッセージ表示部45にLSNの有り無しを伝えることができる。メッセージ表示部45は、通信経路上にLSNが存在する旨のメッセージを構成し、ディスプレイ46上に表示する。
すなわち、本検出装置が起動されると、LSN発見部41によりネットワークをチェックする。LSN発見部41がLSNを発見すると、メッセージ表示部45にLSNの存在を通知する。メッセージ表示部は、“本装置はLSNを介在するネットワークに接続されました”なるメッセージを構成する。
このように構成することで、このLSNメッセージをディスプレイ46上に表示することにより、ユーザはネットワーク上にLSNが存在することを認知する。
(第6の実施形態)
以下、本発明の第6の実施形態について、図面を参照しながら説明する。図13は、本発明の第5の実施形態に係るLSN検出装置の一例を示す図である。図13において、41はLSN発見部、47は結果構成部、48は結果送信部、49は、結果を集積する結果集積サーバである。
LSN発見部41の内部は、実施の形態2または3の端末2と同じである。すなわち、LSN発見部41内部のパケット検査部35がLSNを発見すると、結果構成部47にLSNの有り無しを伝えることができる。結果構成部47は、通信経路上にLSNが存在する旨のメッセージを構成し、結果送信部48に伝送する。結果送信部48は、結果をネットワークを通じて結果集積サーバ49に伝送する。
すなわち、本検出装置が起動されると、LSN発見部41によりネットワークをチェッ
クする。LSN発見部41がLSNを発見すると、結果構成部47にLSNの存在を通知する。結果構成部47は、“本装置はLSNを介在するネットワークに接続されました”ことを意味するメッセージを構成し、結果送信部48に伝送する。結果送信部48は結果をネットワークを通じて49結果集積サーバに伝送する。
このように構成することにより、端末がLSNネットワークに接続されたことをサーバに蓄積し、このことにより、端末管理者あるいは、サービスプロバイダがLSNの存在を宅外より認知することが可能になる。
(第7の実施形態)
以下、本発明の第7の実施形態について、図面を参照しながら説明する。図14は、本発明の第4から6の実施形態に係るLSN検出装置の別の実現方法の一例を示す図である。図14において、101は通信端末、102、103,105はルータ、104はLSN,106はサーバである。
UPnPにより試験を行うべきNATを発見するためには、まず、トレースルート等により経路上のルータ(中継ノード)を探索(特許文献3または4にも方法が開示されている)し、経路上のルータをすべて発見する。
発見したルータのうち、プライベートIPアドレスから、グローバルIPアドレスへの変換点に該当、すなわち、端末から見て初めてグローバルアドレスになるルータが検査すべき該当ルータとなる。
通信端末101は、まず、サーバ106に向けてトレースルートを実行する。トレースルートとは、ICMPやUDPのパケットにおいてTTL値(TIME TO LIVE)を1,2,3、、、、Nと順番に増やしながらパケットをサーバに向かって複数送信し、ルータをひとつ超えるたびにTTLが一つ減ぜられることにより、ルータ一段超えるごとに、TTL値がゼロになっていくことで、ICMP(Internet Control Message Protocol) TIME EXCEEDED MESSAGEが返送されてくることを観測することにより、送信先に至るルータの個数、アドレスを検査するものである。ICMP TIME EXCEEDED MESSAGEとは、中継するパケットの生存時間(TTL:Time To Live)の超過によるパケットの破棄を、送信元に報告するメッセージである。
図15は、図14における端末101において、サーバ106に向けてトレースルートを実行した結果である。図15において、項目3と項目4のところでグローバルアドレスとプライベートアドレスとの切替が起こることがわかる。この切替が起こる点が、ネットワーク上にLSNが存在するとした際には、LSNの位置を示すことになる。つまり、端末101から見て、最初にグローバルアドレスに切替が起こった点より、一つ手前、すなわち、一段端末に近いところのプライベートアドレスのルータがLSNの候補ということになる。
このときのトレースルートの結果を見ると、プライベートのIPアドレスが得られる。このIPアドレスは、ルータが、ユニバーサル・プラグ・アンド・プレイ(UPnP)の対応であれば、UPnP―IGDにおけるコントロールポイントである。UPnP IGD(Internet Gateway Device)の詳細な仕様については、非特許文献2及び非特許文献3に詳しく記載されている。
このアドレスに対し、端末は、UPnPのディスカバリメッセージである “M−Search”を用いたルータディスカバリ用パケット(以下、推定ルータパケットという)
を作成して、ユニキャストで送信する。このときのパケットを図16に示す。
この“M−Search”に対して、ユニバーサル・プラグ・アンド・プレイ(UPnP)に基づいて応答を返してくるルータはこれはLSNではなく、一定時間内に応答を返してこない、ルータはLSNであると判定をする。一定時間とはネットワークデバイスとしての十分な応答時間を考慮して設定するとよい。例えば30秒などを選択することが可能である。
本発明に係るラージスケールNAT検出方法および装置は、端末とネットワーク上のサーバ間にLSNが存在する場合、LSNが実際に存在するか否か、を判断するのに有用であり、また、LSNが存在した場合、LSNに対応したアプリケーションに動作をスイッチさせたり、または、ユーザにLSNの存在を知らせたりすることでアプリケーションの動作を保障し、安定化させることでユーザへの不要な混乱をさけることができ、産業上非常に有用である。
1−LSN
2−端末
3−サーバ
4−ネットワーク
11−送受信部
12−LSN識別子
21−送受信部
31―送信ポート制御部
32−パケット送信部
33−パケット受信部
34−ネットワーク制御部
35−パケット検査部
36−パケット数保持部
40−アプリケーション切替装置
41―LSN発見部
42―プログラム切替部
43―ポート制限型アプリケーション
44―通常アプリケーション
45―メッセージ表示部
46―ディスプレイ
47―結果構成部
48―結果送信部
49―結果集積サーバ
101−通信端末
102−ルータ
103−ルータ
104−LSN
105−ルータ
106−サーバ

Claims (7)

  1. ネットワークを経由して接続されたサーバにパケットを送るラージスケールNAT検出装置であって、
    前記パケットの送信元ポート番号を変更しながら前記ネットワークにパケットを送信するパケット送信制御部と、
    前記ネットワークからICMP13−Administratively Prohibitedを受信した場合に前記ネットワーク上にラージスケールNATが存在すると判断するLSN検出部と
    からなるラージスケールNAT検出装置。
  2. 前記パケット送信制御部は、所定の時間内に送信元ポート番号を変更しながらあらかじめ決められたポート総数N回になるまで、前記ネットワークにパケットを送信し、
    前記LSN検出部は、ICMP13−Administratively Prohibitedを受信した場合に前記ネットワーク上にN個のポートが使用可能でないラージスケールNATが存在すると判断する、
    請求項1記載のラージスケールNAT検出装置。
  3. 請求項1あるいは請求項2に記載のラージスケールNAT検出装置に加え、
    所定のポート数で動作する通常アプリケーションと前記所定のポート数より少ないポート数で動作するLSN用アプリケーションとを保持するアプリ保持部と、
    アプリケーション動作時に前記LSN検出部が検出したラージスケールNATの有無に応じて、前記アプリ保持部で保持しているアプリケーションを切り替えるアプリスイッチ部と、
    を有するアプリケーション切替装置。
  4. 前記通常アプリケーションは分割された小分割地図画像を、前記小分割地図画像毎に異なるポートで受信して、受信した前記小分割地図画像を合成して地図を表示するアプリケーションであり、
    前記LSN用アプリケーションは、前記分割された小分割地図画像に比べて大きい画像サイズで分割された大分割地図画像を、前記大分割地図画像毎に異なるポートで受信して、受信した前記大分割地図画像を合成して地図を表示する、
    請求項3記載のアプリケーション切替装置。
  5. 中継ノードを経由してネットワークに接続された中継ノードに向けて、近くの前記中継ノードから順にトレースルートを実行したとき、
    所定のメッセージを送ることにより前記中継ノードの中でプライベートアドレスを有する中継ノードから最初にグローバルアドレスを有する中継ノードに変わる中継ノードを発見し、
    前記中継ノードの中で、前記グローバルアドレスを有する中継ノードを最初に送信した中継ノードの一つ手前の中継ノードをLSN候補中継ノードとし発見し、前記LSN候補中継ノードに推定ルータパケットをユニキャストで送信したとき、前記LSN候補中継ノードがUPnPに基づいて応答を返してきたとき、前記LSN候補中継ノードをLSNでないと判断し、前記LSN候補中継ノードが所定の時間内に応答を返してこないとき、前記LSN候補中継ノードをLSNと判断することを特徴とするラージスケールNAT検出装置。
  6. ネットワークを経由して接続されたサーバにパケットを送るラージスケールNAT検出方法であって、
    前記パケットの送信元ポート番号を変更しながら前記ネットワークにパケットを送信するパケット送信制御ステップと、
    前記ネットワークからICMP13−Administratively Prohibitedを受信した場合に前記ネットワーク上にラージスケールNATが存在すると判断するLSN検出ステップと
    からなるラージスケールNAT検出方法。
  7. 請求項6に記載のラージスケールNAT検出方法に加え、
    所定のポート数で動作する通常アプリケーションと前記所定のポート数より少ないポート数で動作するLSN用アプリケーションとを保持するアプリ保持ステップと、
    アプリケーション動作時に前記LSN検出ステップが検出したラージスケールNATの有無に応じて、前記アプリ保持ステップで保持しているアプリケーションを切り替えるアプリスイッチステップと、
    を有するアプリケーション切替方法。
JP2010160375A 2010-07-15 2010-07-15 ラージスケールnat検出装置、アプリケーション切替装置、ラージスケールnat検出方法およびアプリケーション切替方法 Active JP5454399B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010160375A JP5454399B2 (ja) 2010-07-15 2010-07-15 ラージスケールnat検出装置、アプリケーション切替装置、ラージスケールnat検出方法およびアプリケーション切替方法
PCT/JP2011/002822 WO2012008078A1 (ja) 2010-07-15 2011-05-20 ラージスケールnat検出装置、アプリケーション切替装置、ラージスケールnat検出方法およびアプリケーション切替方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010160375A JP5454399B2 (ja) 2010-07-15 2010-07-15 ラージスケールnat検出装置、アプリケーション切替装置、ラージスケールnat検出方法およびアプリケーション切替方法

Publications (2)

Publication Number Publication Date
JP2012023591A JP2012023591A (ja) 2012-02-02
JP5454399B2 true JP5454399B2 (ja) 2014-03-26

Family

ID=45469098

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010160375A Active JP5454399B2 (ja) 2010-07-15 2010-07-15 ラージスケールnat検出装置、アプリケーション切替装置、ラージスケールnat検出方法およびアプリケーション切替方法

Country Status (2)

Country Link
JP (1) JP5454399B2 (ja)
WO (1) WO2012008078A1 (ja)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7302700B2 (en) * 2001-09-28 2007-11-27 Juniper Networks, Inc. Method and apparatus for implementing a layer 3/layer 7 firewall in an L2 device
JP4741964B2 (ja) * 2005-03-18 2011-08-10 パナソニック株式会社 通信装置、通信システム及び通信方法
JP4847403B2 (ja) * 2007-04-20 2011-12-28 パナソニック株式会社 Ip通信装置及びip通信装置によるnat種別の判定方法
WO2009001434A1 (ja) * 2007-06-26 2008-12-31 Fujitsu Limited データ転送機能検出処理方法,処理システムおよびプログラム

Also Published As

Publication number Publication date
JP2012023591A (ja) 2012-02-02
WO2012008078A1 (ja) 2012-01-19

Similar Documents

Publication Publication Date Title
US8117301B2 (en) Determining connectivity status for unnumbered interfaces of a target network device
EP2611075B1 (en) Fault detection method and system
US8194566B2 (en) Information processing device, and bubble packet transmission method and program
CA2698317C (en) Router detection
CN107528746B (zh) 通信方法和计算机设备
Viger et al. Detection, understanding, and prevention of traceroute measurement artifacts
CN101471822A (zh) 一种定位网络故障的方法和系统
US20060268861A1 (en) Network system and communication method
KR20100019420A (ko) 에지 라우팅을 갖는 피어-투-피어 협업 시스템
US8254286B2 (en) Method and system for detection of NAT devices in a network
US9049122B2 (en) Bandwidth probing messages
Waddington et al. Topology discovery for public IPv6 networks
MacDonald et al. NAT behavior discovery using session traversal utilities for NAT (STUN)
US7701934B2 (en) System and method for managing devices within a private network via a public network
US7599365B1 (en) System and method for detecting a network packet handling device
JP4672448B2 (ja) 全二重・半二重不整合検出方法及び,この方法を適用する全二重・半二重不整合検出装置
JP5454399B2 (ja) ラージスケールnat検出装置、アプリケーション切替装置、ラージスケールnat検出方法およびアプリケーション切替方法
JP4020835B2 (ja) ネットワーク監視装置
Mikac et al. An approach for teaching and understanding computer networks using realistic emulation tool
Siddiqui Analysis of Network Protocols in an NS-3 Simulated Environment
US20170264454A1 (en) Method and apparatus for routing data to cellular network
JP2024008391A (ja) ネットワーク検査装置、ネットワーク検査プログラム、ネットワーク検査方法及びネットワーク検査システム
JP2007318582A (ja) ブリッジ装置
WO2013088739A1 (ja) 通信監視システム及びプログラム
JP2010193173A (ja) ネットワーク擬似装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130703

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20130807

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130827

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131002

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131223

R151 Written notification of patent or utility model registration

Ref document number: 5454399

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151