JP3905067B2 - ネットワークを介したホスト間の通信方法 - Google Patents

ネットワークを介したホスト間の通信方法 Download PDF

Info

Publication number
JP3905067B2
JP3905067B2 JP2003279445A JP2003279445A JP3905067B2 JP 3905067 B2 JP3905067 B2 JP 3905067B2 JP 2003279445 A JP2003279445 A JP 2003279445A JP 2003279445 A JP2003279445 A JP 2003279445A JP 3905067 B2 JP3905067 B2 JP 3905067B2
Authority
JP
Japan
Prior art keywords
router
host
controller
address
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
JP2003279445A
Other languages
English (en)
Other versions
JP2005045678A (ja
Inventor
淳 加羅
Original Assignee
株式会社ニセンエックス
福島県
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 株式会社ニセンエックス, 福島県 filed Critical 株式会社ニセンエックス
Priority to JP2003279445A priority Critical patent/JP3905067B2/ja
Publication of JP2005045678A publication Critical patent/JP2005045678A/ja
Application granted granted Critical
Publication of JP3905067B2 publication Critical patent/JP3905067B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、ネットワークを介したホスト間の通信方法に関するものである。
グローバルIPアドレスを有効に利用するため、最近では、NAT機能およびIPマスカレード機能を備えたルータが使われている。このルータ(つまりNAT)の内側は、その外側とは異なるネットワークアドレス空間を持つ。NATは、1つの外側ネットワークIPアドレス(通常はグローバルIPアドレス)と、内側ネットワークIPアドレス(通常はプライベートIPアドレス)とを相互変換する。これにより、グローバルIPアドレスを持たないホストが、ルータを介して、ルータの外側にあるネットワークに接続できる。
ルータの内側に複数のホストがある場合でも、IPマスカレード機能を用いることにより、それぞれのホストは、外側のネットワークに接続できる。この機能では、ホストから外部ネットワークにパケットが送られたときに、ルータのポートを当該ホストに割り当てる。割り当てられたポートは、送信元ポートとして外側ネットワークに送られる。外側ネットワークからは、ルータのIPアドレスと宛先ポートを指定してルータにパケットを送る。このとき、宛先ボートは、先に取得した送信元ポートとしておく。ルータは、宛先ポートを参照することにより、パケットがどのホスト宛かを判別でき、パケットを当該ホストに届けることができる。
ところで、このようなアドレス変換機能を用いると、ルータの外側からは、ルータ内側のIPアドレスは隠蔽される。すると、外側のホストから内側のホストに直接に通信を行うことは困難である。もし、ルータの特定のポートに内側のホストを静的に割り当てることができれば、外側ネットワークからそのポートを介して内側ホストに直接の通信ができる。ホストどうしが直接通信する為には、それぞれのホストが属するルータ双方に対してこの割り当てを行う必要がある。しかしながら、この方法は、次のような問題がある。
(1)利用者が自分でルータのNATを設定できる必要がある。これは、当該のNATが家庭用ルータなど自分の管轄下のノードにあるならば可能であるが、サービスプロバイダのルータなどのように、自分の管轄外にあるNATについては、設定は困難である。
(2)そのルータが相手のルータと通信可能なIPアドレスを持たなくてはならない。仮に、外側ネットワークに接続されたルータの下に、さらに、NAT機能を有するルータが接続され、そのルータはプライベートIPアドレスのみ持っていたとすると、このルータは、相手のルータと直接には通信できない。つまり、このような場合は、直接の通信ができない。
本発明は、前記の事情に鑑みてなされたものである。本発明の目的は、ルータのNAT機能に手を加えなくとも、ホストどうしの直接通信が可能となる通信方法を提供することである。
本発明に係る通信方法は、第1ルータと、この第1ルータを介してネットワークに接続された第1ホストと、第2ルータと、この第2ルータを介して前記ネットワークに接続された第2ホストと、前記ネットワークに接続されたコントローラとを用いる。前記第1および第2ルータは、NAT機能およびIPマスカレード機能を有する。この方法は、さらに以下のステップを備える:
(1)前記コントローラが、前記第1および第2ルータ自体のIPアドレスを取得するステップ;
(2)前記第1ホストが、前記コントローラから前記第2ルータのIPアドレスを取得し、かつ、前記第2ホストが、前記コントローラから前記第1ルータのIPアドレスを取得するステップ;
(3)前記第1および第2ホストが、前記第1および第2ルータにおける前記NAT機能およびIPマスカレード機能を用いて、前記コントローラにそれぞれパケットを送信するステップ;
(4)前記コントローラは、前記ステップ(3)において送信されたパケットの解析に基づいて、前記第1および第2ルータにおける送信元ポートを検知し、さらに、前記第1および第2ルータのうち一方のルータにおける前記送信元ポートを表すデータを、他方のルータに接続された前記ホストに通知し、かつ、他方のルータにおける前記送信元ポートを表すデータを、一方のルータに接続された前記ホストに通知するステップ;
(5)前記第1ホストから前記第2ルータの前記送信元ポートに向けてパケットを送信することによって、前記第1ルータに、前記第1ホストと前記第1ルータと前記第2ルータとにおけるIPアドレスおよびポートのマッピングテーブルを生成するステップ;
(6)前記第2ホストから、前記第1ルータの前記IPアドレスおよび前記送信元ポートを宛先として指定したパケットを送信することにより、前記第1ホストにこのパケットを届けるステップ。
本発明に係る通信方法は、次のようなものでも良い。すなわち、この方法は、第1ルータと、この第1ルータを介してネットワークに接続された第1ホストと、第2ルータと、この第2ルータを介して前記ネットワークに接続された第2ホストと、前記ネットワークに接続されたコントローラとを用いる。前記第1および第2ルータは、NAT機能およびIPマスカレード機能を有する。この方法は、さらに以下のステップを備える:
(1)前記コントローラが前記第1および第2ルータ自体のIPアドレスを取得するステップ;
(2)前記第1ホストが、前記コントローラから前記第2ルータのIPアドレスを取得し、かつ、前記第2ホストが、前記コントローラから前記第1ルータのIPアドレスを取得するステップ;
(3)前記第1および第2ホストが、前記第1および第2ルータにおける前記NAT機能およびIPマスカレード機能を用いて、前記コントローラにそれぞれパケットを送信するステップ;
(4)前記コントローラは、前記ステップ(3)において送信されたパケットの解析に基づいて、前記第1および第2ルータにおける送信元ポートを検知し、さらに、前記第1および第2ルータのうち一方のルータにおける前記送信元ポートを表すデータを、他方のルータに接続された前記ホストに通知し、かつ、他方のルータにおける前記送信元ポートを表すデータを、一方のルータに接続された前記ホストに通知するステップ;
(5)前記第1ホストから前記第2ルータの前記送信元ポートに向けてパケットを送信することによって、前記第1ルータに、前記第1ホストと前記第1ルータと前記第2ルータとにおけるIPアドレスおよびポートのマッピングテーブルを生成し、
これと同時にまたは前後して、前記第2ホストから前記第1ルータの前記送信元ポートに向けてパケットを送信することによって、前記第2ルータに、前記第2ホストと前記第2ルータと前記第1ルータとにおけるIPアドレスおよびポートのマッピングテーブルを生成するステップ;
(6)前記第1または第2ホストのうち一方のホストから、他方のホストが接続されたルータの前記IPアドレスおよび前記送信元ポートを宛先として指定したパケットを送信することにより、他方のホストにこのパケットを届けるステップ。
本発明に係る通信方法は、次のようなものであっても良い。この方法は、第1ルータと、この第1ルータを介してネットワークに接続された第1ホストと、第2ルータと、この第2ルータを介して前記ネットワークに接続された第2ホストと、前記ネットワークに接続されたコントローラとを用いる。前記第1および第2ルータは、NAT機能およびIPマスカレード機能を有する。この方法は、さらに以下のステップを備える:
(1)前記コントローラが前記第1および第2ルータ自体のIPアドレスを取得するステップ;
(2)前記第1ホストが、前記コントローラから前記第2ルータのIPアドレスを取得し、かつ、前記第2ホストが、前記コントローラから前記第1ルータのIPアドレスを取得するステップ;
(3)前記第1および第2ホストが、前記第1および第2ルータにおける前記NAT機能およびIPマスカレード機能を用いて、前記コントローラにそれぞれ複数のパケットを送信するステップ;
(4)前記コントローラが、前記ステップ(3)において送信された複数のパケットに対してなされた、前記第1ルータにおける送信元ポートの変換規則の解析に基づいて、前記第1ルータの送信元ポートを検知し、この送信元ポートを表すデータを、前記第2ホストに通知するステップ;
(5)前記第2ホストから、前記第1ルータの前記IPアドレスおよび前記検知された送信元ポートを宛先として指定したパケットを送信することにより、前記第1ホストにこのパケットを届けるステップ。
前記各発明におけるステップ(4)において検知される、第1ルータの送信元ポートは、単一のものとすることができる。
前記マッピングテーブルを生成するために送信されるパケットは、宛先のルータに届かないようにTTLが調節されていることが好ましい。
前記TTLの調節は、例えば、ルータから、当該ルータの内側に接続されたホストまでのホップ数に基づいて行われる。
本発明に係る通信方法は、次のようなものであっても良い。この方法は、第1ルータと、この第1ルータを介してネットワークに接続された第1ホストと、第2ルータと、この第2ルータを介して前記ネットワークに接続された第2ホストと、前記ネットワークに接続されたコントローラと前記第1ホストに接続された第1クライアントと、前記第2ホストに接続された第2クライアントとを用いる。前記第1および第2ルータは、NAT機能およびIPマスカレード機能を有する。この方法は、さらに以下のステップを備える:
(1)前記コントローラが、前記第1および第2ルータ自体のIPアドレスを取得するステップ;
(2)前記第1ホストが、前記コントローラから前記第2ルータのIPアドレスを取得し、かつ、前記第2ホストが、前記コントローラから前記第1ルータのIPアドレスを取得するステップ;
(3)前記第1および第2ホストが、前記第1および第2ルータにおける前記NAT機能およびIPマスカレード機能を用いて、前記コントローラにそれぞれパケットを送信するステップ;
(4)前記コントローラが、前記ステップ(3)において送信されたパケットの解析に基づいて、前記第1および第2ルータにおける送信元ポートを検知し、さらに、前記第1および第2ルータのうち一方のルータにおける前記送信元ポートを表すデータを、他方のルータに接続された前記ホストに通知し、かつ、他方のルータにおける前記送信元ポートを表すデータを、一方のルータに接続された前記ホストに通知するステップ;
(5)前記第1ホストから前記第2ルータの前記送信元ポートに向けてパケットを送信することによって、前記第1ルータに、前記第1ホストと前記第1ルータと前記第2ルータとにおけるIPアドレスおよびポートのマッピングテーブルを生成するステップ;
(6)前記マッピングテーブルが生成された後、前記第2クライアントが、前記第1クライアントのポートを宛先として指定したパケットを、前記第2ホストに送信するステップ;
(7)前記第2ホストが、前記ステップ(6)における前記パケットを受信した後、前記パケットのペイロードの全部または一部を含むパケットを、前記第1ルータの前記IPアドレスおよび前記送信元ポートを宛先として指定して送信することによって、前記第1ホストにこのパケットを届けるステップ;
(8)前記第1ホストが、前記ステップ(7)において送信されたパケットのペイロードの全部または一部を含むパケットを、前記第1クライアントにおける、前記ステップ(6)で宛先とされたポートに向けて送信するステップ。
本発明に係るコントローラは、第1ルータと、この第1ルータを介してネットワークに接続された第1ホストと、第2ルータと、この第2ルータを介して前記ネットワークに接続された第2ホストと、前記ネットワークに接続されたコントローラとを用いており、前記第1および第2ルータは、NAT機能およびIPマスカレード機能を有するものである通信システムにおいて用いられるものである。このコントローラは、以下のステップを実行する:
(1)前記第1および第2ルータ自体のIPアドレスを取得するステップ;
(2)前記第1ホストに、前記第2ルータのIPアドレスを送信し、かつ、前記第2ホストに、前記第1ルータのIPアドレスを送信するステップ;
(3)前記第1および第2ホストから送信され、かつ、前記第1および第2ルータにおける前記NAT機能およびIPマスカレード機能によって送信元アドレスおよび送信元ポートが変換された複数のパケットをそれぞれ受信するステップ;
(4)前記ステップ(3)において送信された複数のパケットに対してなされた、前記第1ルータにおける送信元ポートの変換規則の解析に基づいて、前記第1および第2ルータにおける送信元ポートを検知し、さらに、前記第1および第2ルータのうち一方のルータにおける前記送信元ポートを表すデータを、他方のルータに接続されたホストに通知し、かつ、他方のルータにおける前記送信元ポートを表すデータを、一方のルータに接続されたホストに通知するステップ。
本発明に係る第2ホストは、第1ルータと、この第1ルータを介してネットワークに接続された第1ホストと、第2ルータと、この第2ルータを介して前記ネットワークに接続された第2ホストと、前記ネットワークに接続された前記コントローラとを用いており、前記第1および第2ルータは、NAT機能およびIPマスカレード機能を有するものである通信システムにおいて用いられるものである。この第2ホストは、以下のステップを実行する:
(1)前記コントローラにパケットを送ることにより、前記第2ルータ自体のIPアドレスを前記コントローラに取得させるステップ;
(2)前記コントローラから、前記第1ルータのIPアドレスを取得するステップ;
(3)前記第1ルータにおける送信元ポートを表すデータを、前記コントローラから受信するステップ;
(4)前記第1ルータに、前記第1ホストと前記第1ルータと前記第2ルータとにおけるIPアドレスおよびポートのマッピングテーブルが生成された後、前記第1ルータの前記IPアドレスおよび前記送信元ポートを宛先として指定したパケットを送信するステップ。
本発明に係る第1ホストは、第1ルータと、この第1ルータを介してネットワークに接続された第1ホストと、第2ルータと、この第2ルータを介して前記ネットワークに接続された第2ホストと、前記ネットワークに接続された前記コントローラとを用いており、前記第1および第2ルータは、NAT機能およびIPマスカレード機能を有するものである通信システムにおいて用いられるものである。この第1ホストは、以下のステップを実行する:
(1)前記コントローラにパケットを送ることにより、前記第1ルータ自体のIPアドレスを前記コントローラに取得させるステップ;
(2)前記コントローラから、前記第2ルータのIPアドレスを取得するステップ;
(3)前記第1ルータにおける前記NAT機能およびIPマスカレード機能を用いて、前記第1ホストから前記コントローラにパケットを送信するステップ;
(4)前記コントローラから前記第2ルータの送信元ポートの情報を受け取った後、前記第2ルータの前記送信元ポートに向けてパケットを送信することによって、前記第1ルータに、前記第1ホストと前記第1ルータと前記第2ルータとにおけるIPアドレスおよびポートのマッピングテーブルを生成させるステップ;
(5)前記第2ホストから、前記第1ルータのIPアドレスおよびポートを指定して前記第1ルータに送信されたパケットを、前記第1ルータを介して受信するステップ。
本発明に係る通信システムは、前記した本発明に係るコントローラと第1ホストと第2ホストとを備えている。
本発明に係る通信システムは、次のようなものであっても良い。この通信システムは、第1ルータと、この第1ルータを介してネットワークに接続された第1ホストと、第2ルータと、この第2ルータを介して前記ネットワークに接続された第2ホストと、前記ネットワークに接続された前記コントローラとを備えている。前記第1および第2ルータは、NAT機能およびIPマスカレード機能を有する。このシステムは、以下のステップを実行する:
(1)前記コントローラが前記第1および第2ルータ自体のIPアドレスを取得するステップ;
(2)前記第1ホストが、前記コントローラから前記第2ルータのIPアドレスを取得し、かつ、前記第2ホストが、前記コントローラから前記第1ルータのIPアドレスを取得するステップ;
(3)前記第1および第2ホストが、前記第1および第2ルータにおける前記NAT機能およびIPマスカレード機能を用いて、前記コントローラにそれぞれパケットを送信するステップ;
(4)前記コントローラが、前記ステップ(3)において送信されたパケットの解析に基づいて、前記第1および第2ルータにおける送信元ポートを検知し、さらに、第1および第2ルータのうち一方のルータにおける前記送信元ポートを表すデータを、他方のルータに接続された前記ホストに通知し、かつ、他方のルータにおける前記送信元ポートを表すデータを、一方のルータに接続された前記ホストに通知するステップ;
(5)前記第1ホストから前記第2ルータの前記送信元ポートに向けてパケットを送信することによって、前記第1ルータに、前記第1ホストと前記第1ルータと前記第2ルータとにおけるIPアドレスおよびポートのマッピングテーブルを生成するステップ;
(6)前記第2ホストから、前記第1ルータの前記IPアドレスおよび前記送信元ポートを宛先として指定したパケットを送信することにより、前記第1ホストにこのパケットを届けるステップ。
本発明に係る通信システムは、次のようなものであっても良い。このシステムは、第1ルータと、この第1ルータを介してネットワークに接続された第1ホストと、第2ルータと、この第2ルータを介して前記ネットワークに接続された第2ホストと、前記ネットワークに接続されたコントローラとを備える。前記第1および第2ルータは、NAT機能およびIPマスカレード機能を有する。このシステムは、以下のステップを実行する:
(1)前記コントローラが前記第1および第2ルータ自体のIPアドレスを取得するステップ;
(2)前記第1ホストが、前記コントローラから前記第2ルータのIPアドレスを取得し、かつ、前記第2ホストが、前記コントローラから前記第1ルータのIPアドレスを取得するステップ;
(3)前記第1および第2ホストが、前記第1および第2ルータにおける前記NAT機能およびIPマスカレード機能を用いて、前記コントローラにそれぞれパケットを送信するステップ;
(4)前記コントローラが、前記ステップ(3)において送信されたパケットの解析に基づいて、前記第1および第2ルータにおける送信元ポートを検知し、さらに、第1および第2ルータのうち一方のルータにおける前記送信元ポートを表すデータを、他方のルータに接続された前記ホストに通知し、かつ、他方のルータにおける前記送信元ポートを表すデータを、一方のルータに接続された前記ホストに通知するステップ;
(5)前記第1ホストから前記第2ルータの前記送信元ポートに向けてパケットを送信することによって、前記第1ルータに、前記第1ホストと前記第1ルータと前記第2ルータとにおけるIPアドレスおよびポートのマッピングテーブルを生成し、
これと同時にまたは前後して、前記第2ホストから前記第1ルータの前記送信元ポートに向けてパケットを送信することによって、前記第2ルータに、前記第2ホストと前記第2ルータと前記第1ルータとにおけるIPアドレスおよびポートのマッピングテーブルを生成するステップ;
(6)前記第1または第2ホストのうち一方のホストから、他方のホストが接続されたルータの前記IPアドレスおよび前記送信元ポートを宛先として指定したパケットを送信することにより、他方のホストにこのパケットを届けるステップ。
本発明に係る通信システムは、次のようなものであっても良い。このシステムは、第1ルータと、この第1ルータを介してネットワークに接続された第1ホストと、第2ルータと、この第2ルータを介して前記ネットワークに接続された第2ホストと、前記ネットワークに接続されたコントローラとを備える。前記第1および第2ルータは、NAT機能およびIPマスカレード機能を有する。このシステムは、以下のステップを実行する:
(1)前記コントローラが前記第1および第2ルータ自体のIPアドレスを取得するステップ;
(2)前記第1ホストが、前記コントローラから前記第2ルータのIPアドレスを取得し、かつ、前記第2ホストが、前記コントローラから前記第1ルータのIPアドレスを取得するステップ;
(3)前記第1および第2ホストが、前記第1および第2ルータにおける前記NAT機能およびIPマスカレード機能を用いて、前記コントローラにそれぞれ複数のパケットを送信するステップ;
(4)前記コントローラが、前記ステップ(3)において送信された複数のパケットに対してなされた、前記第1ルータにおける送信元ポートの変換規則の解析に基づいて、前記第1ルータの送信元ポートを検知し、この送信元ポートを表すデータを、前記第2ホストに通知するステップ;
(5)前記第2ホストから、前記第1ルータの前記IPアドレスおよび前記検知された送信元ポートを宛先として指定したパケットを送信することにより、前記第1ホストにこのパケットを届けるステップ。
本発明に係る通信システムは、次のようなものであっても良い。このシステムは、第1ルータと、この第1ルータを介してネットワークに接続された第1ホストと、第2ルータと、この第2ルータを介して前記ネットワークに接続された第2ホストと、前記ネットワークに接続されたコントローラと、前記第1ホストに接続された第1クライアントと、前記第2ホストに接続された第2クライアントとを備える。前記第1および第2ルータは、NAT機能およびIPマスカレード機能を有する。このシステムは、以下のステップを実行する:
(1)前記コントローラが、前記第1および第2ルータ自体のIPアドレスを取得するステップ;
(2)前記第1ホストが、前記コントローラから前記第2ルータのIPアドレスを取得し、かつ、前記第2ホストが、前記コントローラから前記第1ルータのIPアドレスを取得するステップ;
(3)前記第1および第2ホストが、前記第1および第2ルータにおける前記NAT機能およびIPマスカレード機能を用いて、前記コントローラにそれぞれパケットを送信するステップ;
(4)前記コントローラが、前記ステップ(3)において送信されたパケットの解析に基づいて、前記第1および第2ルータにおける送信元ポートを検知し、さらに、前記第1および第2ルータのうち一方のルータにおける前記送信元ポートを表すデータを、他方のルータに接続された前記ホストに通知し、かつ、他方のルータにおける前記送信元ポートを表すデータを、一方のルータに接続された前記ホストに通知するステップ;
(5)前記第1ホストから前記第2ルータの前記送信元ポートに向けてパケットを送信することによって、前記第1ルータに、前記第1ホストと前記第1ルータと前記第2ルータとにおけるIPアドレスおよびポートのマッピングテーブルを生成するステップ;
(6)前記マッピングテーブルが生成された後、前記第2クライアントが、前記第1クライアントのポートを宛先として指定したパケットを、前記第2ホストに送信するステップ;
(7)前記第2ホストが、前記ステップ(6)における前記パケットを受信した後、前記パケットのペイロードの全部または一部を含むパケットを、前記第1ルータの前記IPアドレスおよび前記送信元ポートを宛先として指定して送信することによって、前記第1ホストにこのパケットを届けるステップ;
(8)前記第1ホストが、前記ステップ(7)において送信されたパケットのペイロードの全部または一部を含むパケットを、前記第1クライアントにおける、前記ステップ(6)で宛先とされたポートに向けて送信するステップ。
本発明に係るコンピュータプログラムは、前記したいずれかの通信方法をコンピュータに実行させる構成となっている。
本発明に係る他のコンピュータプログラムは、前記した本発明に係るコントローラに、前記コントローラにおける各ステップを実行させる構成となっている。
本発明に係る他のコンピュータプログラムは、前記した本発明に係る第2ホストに、前記第2ホストにおける各ステップを実行させる構成となっている。
本発明に係る他のコンピュータプログラムは、前記した本発明に係る第1ホストに、前記第1ホストにおける各ステップを実行させる構成となっている。
本発明によれば、ルータのNAT機能に手を加えなくとも、ホストどうしの直接通信が可能となる通信方法を提供することができる。
(第1実施形態)
(ネットワークの構成)
本発明の第1実施形態に係る通信方法を以下に説明する。まず、この方法に用いる通信システムの概要を図1に基づいて説明する。このシステムは、ネットワーク1と、第1ルータCと、この第1ルータCを介してネットワーク1に接続された第1ホストAと、第2ルータDと、この第2ルータDを介してネットワーク1に接続された第2ホストBと、ネットワーク1に接続されたコントローラ2とを備えている。
ネットワーク1は、インターネットプロトコル(IP)を用いるものであればよい。トランスポートプロトコルとしては、例えば、TCPやUDPを使用することができる。物理層の構成に制約はない。通信路としては、有線でも無線でもよく、通信媒体としては、光でも電磁波でもその他の媒体でも良い。
第1ルータCおよび第2ルータDは、NAT(Network Address Translator)機能およびIPマスカレード機能を有している。NAT機能とは、ルータの内側に位置するホストのプライベートなIPアドレスを、ルータの外側用のIPアドレス(例えばグローバルIPアドレス)に変換する機能である。IPマスカレード機能は、NAPT(Network Address Port Translator)とも呼ばれる。この機能は、ホストからルータの外部のネットワークにパケットを送るときに、ルータのポートを当該ホストに割り当てることで、外側ネットワークからホストへの通信を可能とするものである。NAT機能やNAPT機能自体は周知なのでこれ以上詳細な説明は省略する。
第1ルータCおよび第2ルータDは、その下に接続されたホストから送られたパケットが最後に通過する、NAT機能を有するルータ(以下「最後のルータ」という)となっている。
第1ホストAおよび第2ホストBは、例えば、CPUや記憶装置を備えたコンピュータである。また、第1ホストAおよび第2ホストBは、これらの機能(後述)をそれぞれ実行するコンピュータソフトウエアを備えている。第1ホストAや第2ホストBとしては、ネットワークに接続できる家電製品やPDA端末や携帯電話であってもよい。
また、この実施形態では、各ルータの下に一つのホストのみを配置しているが、複数のホストがルータの下に存在していても良いことは当然である。
コントローラ2は、例えば、CPUや記憶装置を備えている。また、コントローラ2は、その機能(後述)を実行するコンピュータソフトウエアを備えている。コントローラ2は、要するに、後述する機能を実行するサーバである。
さらに、この実施形態では、各ノード(ルータやホスト等)に対して、次のようにIPアドレスが割り当てられているものとする。
Figure 0003905067
これらのIPアドレスは、例えば、32ビットの2進数である(IPv4の場合)。ただし、32ビットのIPアドレスを8ビットずつ区切って10進数で表記することもできる。具体的には、一つのIPアドレスは、10進数を使って、192.168.0.1のように表せる。
この実施形態では、各ホストには、プライベートな(つまりグローバルでない)IPアドレスが割り当てられ、各ルータおよびコントローラには、グローバルなIPアドレスが割り当てられているものとする。
(通信方法)
(図2のステップ2−1)
つぎに、本発明に係る通信方法を、図2〜図7を参照しながら説明する。まず、第1ホストAおよび第2ホストBは、コントローラ2にパケットを送る(図3参照)。例えば、第2ホストBから送られたパケットには、送信元IPアドレスとしてIbが格納される。この送信元IPアドレスは、第2ルータDを通過するときに、NAT機能によって、第2ルータのIPアドレスIdに書き換えられる。このパケットがコントローラ2に到着すると、コントローラ2は、第2ルータD自体のIPアドレス(送信元IPアドレス)を取得することができる。取得されたIPアドレスは、コントローラ2の記憶手段(例えばメモリやハードディスク)に格納される。同様にして、コントローラ2は、第1ルータC自体のIPアドレスを取得して記憶手段に格納することができる。このようにして取得された各ルータのIPアドレスは、「最後のルータのIPアドレス」である。なお、この実施形態では、最後のルータのIPアドレスを、ネットワークを介して取得している。ただし、グローバルIPアドレスが予め静的にルータに割り当てられているなどの特別な場合には、ネットワークを介さないで(つまりIPアドレスが格納されたデータベースなどを用いて)ルータのIPアドレスを取得することも理論的には可能である。
(図2のステップ2−2)
ついで、コントローラ2は、前記のようにして取得した各ルータ(最後のルータ)のIPアドレスを、相手側の各ホストに送る(図4参照)。したがって、第1ホストAは、第2ルータDのIPアドレスを取得する。第2ホストBは、第1ルータCのIPアドレスを取得する。さらに、コントローラ2は、各ホストに対して、自分側にある最後のルータのIPアドレスも送る。取得されたこれらのアドレスは、各ホストの記憶手段に格納される。
(図2のステップ2−3)
ついで、両ホストAおよびBは、自分からのパケットが最後に通過したルータ(NAT機能を有するもの)までのホップ数を計測する(図5参照)。このルータは、当該ホストから外側ネットワークに至る経路において最後のルータということになる。
ホップ数の計測は、例えばICMP(Internet Control Message Protocol)を用いて次のようにして行うことができる。なお、この手順は、tracerouteとして良く知られているツールにおける手順と同様である。
まず、ホストから、UDPパケットを、そのTTLを1から順に増やしながら、ルータに対して送信する。各ホストは、前記ステップ2−2において、自分側ルータのIPアドレスを取得している。もし、送信元ホストに対し、ルータを送信元とするICMP宛先到達不能メッセージ(例えばICMP port unreachable)が返ってきたら、そのときのTTLが当該ルータまでのホップ数ということになる。例えば、TTL=1のパケットに対してルータから宛先到達不能メッセージが返れば、1ホップということになる。
ホップ数の計測には、ICMPパケットを用いることもできる。この場合も、UDPパケットを用いる場合と同様に、TTLを1ずつ増やしながら、ICMP Echo Requestパケットをルータ宛に送信する。パケットに対してICMP Echo Reply が返ってきたら、その時のTTLがルータまでのホップ数ということになる。
(図2のステップ2−4)
ついで、第2ホストBは、単一のポートよりコントローラ2の複数のポートに対してパケットを送信する。送信されたパケットは、第2ルータDにおけるNAT機能およびIPマスカレード機能により、アドレス変換がなされる。図6を参照しながらこの動作をさらに詳しく説明する。
例えば、第2ホストBの送信ポートPbからコントローラ2のポートPsにパケットを送るとする。送信ポートPbは、例えばコントローラ2により予め指定される。つまり、コントローラ2は、第2ホストBの送信ポートPbを知っているものとする。このとき、第2ホストBからコントローラ2側の受信ポートPsに向けて発信されたパケットにおける送信元IPアドレスおよび送信元ポートは、Ib,Pbとなる。このように、この明細書では、IPアドレスとポートとの組を、Ib,Pbのように表す。
このパケットの送信元IPアドレスおよび送信元ポートは、第2ルータDを通過するときにルータのものに書き換えられて、Id,Pdとなる。このパケットがコントローラ2に到着すると、コントローラ2は、送信元ポートPbがPdに書き換えられたことを知ることができる。
ついで、第2ホストBは、送信ポートPbからコントローラのポートPs2に向けて、前記と同様にして、パケットを送る。すると、コントローラ2は、送信ポートPbがPd′(Pdと同じ場合も異なる場合もある)となったことを知ることができる。単一の送信元ポートからの異なる送信先ポートへのパケット送信を試行する回数は、3回以上であってもよい。
第1ホストAからも、前記した第2ホストBの場合と同様にして、コントローラ2に向けて複数のパケットを送信する。これにより、コントローラ2は、「第1ルータCのNAT機能によって、送信元ポートPaがPc,Pc′,…に書き換えられたこと」を知ることができる。
前記した、各ホストからコントローラへのパケット送信は、第2ホストBおよび第1ホストAのどちらから先に行ってもよく、また同時でもよい。
(図2のステップ2−5)
コントローラ2は、前記のステップ2−4において受信したパケットを解析する。もちろん、解析自体は他のコンピュータが行っても良い。コントローラ2は、この解析に基づいて、第1ルータCおよび第2ルータDが、単一の送信元ポート番号、送信先ノードが切り替わる際にIPマスカレード(NAPT)機能によってどのような送信元ポートに変換するのかを推測・検知する。
換言すれば、コントローラ2は、第2ホストBのポートPbから発信されたパケットが、第2ルータDを通過するときの、ポートの変換規則を解析する。具体的には、例えば、
(1)同じポートが使用される場合、つまり、Pd=Pd′=Pd′′であった場合は、付されるポート番号Pd2=Pdと推測する。
(2)ポートが増加(または減少)していく場合、つまり、Pd+2=Pd′+1=Pd′′が成り立つときは、Pd2=Pd′′+1という規則であると解析する。
このようにして、コントローラ2は、「第2ホストBから次に送られるパケットに対して第2ルータにより付される送信元ポートPd2」を検知する。検知できない場合の対応方法は、第2実施形態として後述する。
コントローラ2は、第1ホストAから次に送られるパケットに対して第1ルータCにより付される発信元ポートも、同様の解析(推測)によって検知する。つまり、第1ホストAのポートPaから発信されたパケットに付される、第1ルータCにおける発信元ポートPc2を検知する。
(図2のステップ2−6)
コントローラ2は、このようにして検知されたポートPd2を表すデータ(ポートそれ自体、その暗号化データなどの、ポートを示す情報)を、第1ホストAに通知する。同様に、コントローラ2は、ポートPc2を表すデータを、第2ホストBに通知する。つまり、コントローラ2は、一方のホストに、他方の(相手方の)ホストからのパケットが最後に通過するルータ(NAT機能付き)が次のパケット送信のために用いる発信元ポートを通知する。第1ホストAおよび第2ホストBは、知らされたポートを記憶手段に格納しておく。
(図2のステップ2−7)
ついで、第1ホストAのポートPaから第2ルータDのポートPd2に向けてパケットを送信する(図7参照)。これによって、第1ルータCに、第1ホストAと第1ルータCと第2ルータDとにおけるIPアドレスおよびポートのマッピングテーブルを生成する。つまり、第1ルータCには、
ホストA<Ia,Pa>、
ルータC<Ic,Pc2>、
ルータD<Id,Pd2>
間のマッピングができあがる。これは、Ic,Pc2にId,Pd2からアクセスがあったらIa,Paに転送することを意味している。
なお、このパケットは、相手方ルータに到達しないことが好ましい。相手方ルータにマッピングが形成される前に、ルータの発信元ポートを指定したパケットがルータに到達すると、NATの機能によって、そのポートが使用禁止になることがあるからである。
相手方ルータに到達しないパケットは、TTLの調整により生成することができる。TTLは、前記したステップ2−6で取得した、ホストからルータ(外側ネットワークに至る経路において最後のもの)までのホップ数を用いて設定する。例えば、当該ホストからルータまでのホップ数をTTLに等しく設定すれば、当該ルータまでは到達するが、相手方ルータには届かないパケットを生成できる。
また、この実施形態では、第2ホストBからも、前記と同様にして、第1ホストAに向けてパケットを送信する。これにより、第2ルータDにおいても、
ホストB<Ib,Pb>、
ルータD<Id,Pd2>
ルータC<Ic,Pc2>、
間のマッピングを生成することができる。当然のことながら、どちらのマッピングを先に生成してもよい。
なお、多くのルータでは、TCPやUDPにおけるセッションに時間制限を設けている。特にUDPタイマーはTCPタイマーより短く、一般に30秒である。もし前記したマッピングテーブルの生成にUDPを用いた場合、そのテーブルはUDP通信が30秒間無ければ削除される。したがって、第1ホストAと第2ホストBとの間で長時間の接続を維持する為には、セッションの時間制限よりも短い間隔で、接続を維持する為の通信(UDP通信)を行なう必要がある。
(図2のステップ2−8)
ついで、相手方ルータのIPアドレスおよびポートを指定して、ホストからパケットを送信する。つまり、例えば第2ホストBから、第1ルータCのIPアドレスおよびポートをIc,Pc2のように指定したパケットを送信する。第2ルータDは、そのNAT機能およびIPマスカレード機能によって、パケットの送信元IPアドレスおよび送信元ポートを<Id,Pd2>のように変更する。この送信元ポートPd2は、前記ステップ2−5において推測されていたものである。このパケットを受け取った第1ルータCは、既に形成されているマッピングに従って、このパケットを第1ホストAに届ける。同様にして、第1ホストAから、第2ルータDのIPアドレスおよびポートをId,Pd2のように指定したパケットを送信することにより、第2ホストBにパケットを届けることができる。
したがって、本実施形態の通信方法によれば、ルータのNAT機能に手を加えなくとも、ホストどうしの直接通信が可能となるという利点がある。
また、本実施形態の通信方法では、ホストから最後のルータ(前記したルータCまたはルータD)に至るネットワーク経路中に別のルータがあっても、ホスト間の直接の通信が可能である。最後のルータのIPアドレスとポートを指定することにより、内側ホストにパケットを届けることができるからである。なお、この内側のルータは、NAT機能やIPマスカレード機能を有していても良い。
(第2実施形態)
つぎに、本発明の第2実施形態に係る通信方法を図8〜図11に基づいて説明する。この方法の説明においては、前記第1実施形態の説明と重複する部分は前記の説明を援用し、相違する部分を説明する。
第2実施形態の通信方法は、前記したステップ2−5における送信元ポートの検知ができない場合に用いられる。例えば、ルータによっては、その送信元ポートに、通信の都度、ランダムなポートを割り当てるものがある。こういう場合は、送信元ポートの検知が困難となる。この場合は、図2のステップ2−5〜2−8に代えて、図8のステップが行われる。
(図8のステップ8−1)
まず、コントローラは、第1または第2ルータCまたはDがランダムポート割り当てをしているかどうかを検出する。この検出手順は、図2のステップ2−5の手順と実質的に同じでよい。ただし、ポート検知が不成功であったことをもってランダム割り当てと判断する。ランダム割り当てでなければ、第1実施形態の方法を実施すればよい。
(図8のステップ8−2)
第1または第2ルータCまたはDがランダムポート割り当てをしている場合は、このような割り当てをするルータが一方のみかどうかを判断する。これは、前記ステップ8−1での検出(ランダム割り当ての検出)が両方のルータにおいて行われたかどうかをもって行うことができる。
ランダムポート割り当てを行うルータが、第1および第2ルータのうち一方のみであれば、コントローラ2は、一方のルータがランダムポート割り当てを行うことを、例えば所定のフラグを用いて記憶する。さらに、コントローラ2は、送信元ポートの推測(前記ステップ8−1)において他方のルータから受け取ったパケットの送信元ポートPnを保存しておく。
ランダムポート割り当てを行うルータが両方であれば、この方法による通信は困難となる。
(図8のステップ8−3)
ランダムポート割り当てを行うルータが一方のみであれば、つぎに、他方のルータが、ポートの衝突を検知するものかどうかを判断する。ルータにおけるポートの衝突検知について図9を用いて説明する。
例えば、ホストXとホストYとで通信が行われると、ルータのNAT上にはホストX(Ix,Px)・ルータ(In,Pn)・ホストY(Iy,Py)間のマッピングが生成される。ここで、ホストY以外(ホストZ)からルータのIPアドレスおよびポート(In,Pn)宛に通信が行われたとする。すると、ルータのNAT機能は、
(a)PnがホストX・Y間のマッピングに使用中であることを検知し、
(b)ホストX・Z間の通信には、前記ホストX・Z間のマッピングの一部であるホストX(Ix,Px)とルータ(In,Pn)間のマッピングを使用しない、
という動作を行う。
これによって、ルータは、ホストZがホストXとルータのIPアドレスおよびポート(In,Pn)を経由して通信を行うことを阻止する。これがルータにおけるポートの衝突検知である。
(衝突検知の判定手順)
衝突検知をするルータかどうかの判定手順を図10に基づいて説明する。コントローラ2は、前記ステップ8−2で得た、他方のルータのポートPnに対して、パケットを受信したポート以外のポートからパケットを送信する(ステップ10−1)。
ホストは、このパケットを受信したか否かを確認する(ステップ10−2)。受信できれば、他方のルータが衝突検知を行わないと判断することができる(ステップ10−3)。受信できなければ、衝突検知を行うルータであると判断する。このときは、この方法による通信は困難となる。
ステップ8−1からステップ8−3の衝突検知までの一連の作業は、複数回行われても良い。
(図8のステップ8−4)
ついで、一方のルータ(ランダムポートを割り当てるルータ)側のホストから、他方のルータ(衝突検知を行わないルータ)の発信元ポートPnに向けて通信を行う(図11参照)。この通信が始まると、一方のルータでの送信ポートも決定されて、その結果、両ホスト間での直接通信が可能となる。
本実施形態では、前記ステップ8−2において他方のルータに生成されたマッピングテーブルのポートを利用している。しかし、ステップ8−3において他方のルータが衝突検知をしないことを検出した後、あらたに、他方のルータ上にマッピングテーブルを作成しても良い。マッピングテーブルの作成は、例えば、他方のルータに接続されたホストから、一方のルータの任意ポートにパケットを送信することにより行うことができる。
次に、本発明の第3実施形態に係る通信システムおよび通信方法を、図12を用いて説明する。なお、この実施形態の説明においては、前記第1実施形態と共通する部分は同一符号を付すことで説明を簡略化する。また、この実施形態の説明では、図2を参照しながら、第1実施形態と相違する動作を主に説明する。
第1実施形態の方法では、第1ホストAと第2ホストBとの間で直接の通信ができる。ここで、通信の際に各ホストが送信するパケットの宛先は(Id,Pd2)、(Ic,Pc2)のように、パケットにおける当初の宛先とは異なる値となる。しかしながら、例えばL2TP通信を行いたい場合には、ホストに通常実装されているL2TP機能における使用ポートは1701と固定されている。第1実施形態の方法では、このように使用ポートが固定されている通信を行うことが困難となる。もちろん、実装プログラムを改造すれば通信は可能であるが、これは現実的ではない。
第3実施形態では、ルータ(NAT)とホスト(以降の説明ではクライアント)との間に代理ホストを置くことで、任意ポートと特定ポート(例えば1701)とを変換し、特定ポートを用いた直接通信を可能としている。以下詳しく説明する。
以下の説明では各ノードを次のように定義する。
Figure 0003905067
(ステップ2−1)
この実施形態では、前記表1に示したように、第1ホストAの下に第1クライアントEが接続されている(図12参照)。同様に、第2ホストBの下に第2クライアントFが接続されている(図12参照)第1および第2クライアントEおよびFは、ホストと同様に、コンピュータにより構成されている。また、この実施形態では、第1ホストA及び第2ホストBがプロキシサーバとして機能している。
この実施形態の方法では、まず、第2クライアントFは、第2ホストBに、送信元ポートPfを用いて第1クライアントEの宛先ポートPeと通信したい旨を依頼する。具体的には、第2クライアントFは、自らが使用する送信ポートPfと、宛先である第1クライアントEの受信ポート(宛先ポート)Peとを含む情報を第2ホストBに送る。第2ホストBは、これらの情報(第2クライアントFのIPアドレスIfを含む)を記憶する。一方、第1クライアントEは、自身の待ち受けポートがPeであることを第1ホストAに送信し、第1ホストAはこの情報を記憶する。なお、第1および第2クライアントEおよびFは、第1クライアントEの受信ポートPeを知っていることが前提である。
ついで、第1ホストAおよび第2ホストBは、コントローラ2に対してパケットを送る(図3参照)。例えば、第2ホストBから送られたパケットには、送信元IPアドレスとしてIbが格納される。この送信元IPアドレスは、第2ルータDを通過するときに、NAT機能によって、第2ルータのIPアドレスIdに書き換えられる。このパケットがコントローラ2に到着すると、コントローラ2は、第2ルータD自体のIPアドレス(送信元IPアドレス)を取得することができる。取得されたIPアドレスは、コントローラ2の記憶手段(例えばメモリやハードディスク)に格納される。同様にして、コントローラ2は、第1ルータC自体のIPアドレスを取得して記憶手段に格納することができる。このようにして取得された各ルータのIPアドレスは、「最後のルータのIPアドレス」である。なお、この実施形態では、最後のルータのIPアドレスを、ネットワークを介して取得している。ただし、グローバルIPアドレスが予め静的にルータに割り当てられているなどの特別な場合には、ネットワークを介さないで(つまりIPアドレスが格納されたデータベースなどを用いて)ルータのIPアドレスを取得することも理論的には可能である。以降ステップ2−2からステップ2−7までは、前記第1実施形態と同様なので説明を省略する。ステップ2−8は以下のようになる。
(ステップ2−8)
ついで、第2クライアントFは、第2ホストBのポートPe(第1クライアントEのポートPeと同じポート、例えば1701)に対して、ポートPfを送信元とするパケットを送信する。パケットを受けた第2ホストBは、ステップ2−1で第2クライアントFから受けた情報(送信元IPアドレスIf、送信元ポートPf、宛先ポートPe)に基づいて、このパケットが第1クライアントE宛てであると判断し、パケットのIPアドレスおよびポートを、ステップ2−7におけるマッピングテーブル生成に用いた値と入れ替える。すなわち第2ホストBは、第2クライアントFからの送信元(If,Pf)宛先(Ib,Pe)のパケットを送信元(Ib,Pb)宛先(Ic,Pc2)へと置き換える。この時第2ホストBは、この置き換え情報を記憶する。
ついで、第2ホストBから、第1ルータCへ先のパケットを送信する。第2ルータDは、そのNAT機能およびIPマスカレード機能によって、パケットの送信元IPアドレスおよび送信元ポートを(Id,Pd2)のように変更する。この送信元ポートPd2は、前記ステップ2−5において推測されていたものである。このパケットを受け取った第1ルータCは、既に形成されているマッピングに従って、このパケットを第1ホストAに届ける。
パケットを受け取った第1ホストAは、送信元(Id,Pd2)宛先(Ia,Pa)のパケットを送信元(Ia,Pa)宛先(Ie,Pe)へと置き換える。この時第1ホストAはこの置き換え情報を記憶する。なお、この置き換え処理は、
(1)第1ホストAが、ステップ2−2で受け取った相手ホスト側の最後のルータのIPアドレスと、ステップ2−6で受け取った相手方ルータの発信元ポートから、第1クライアントE宛ての通信パケットがどのIPアドレスのどのポートから届くかを認識していること、および
(2)ステップ2−1で第1クライアントEより受け取った待ち受けポートの情報から、そのパケットを第1クライアントEのどのポートへ届けるのか認識していること
から可能となる。
ついで、第1ホストAは、第1クライアントEへ先のパケットを送信する。これによって、第2クライアントFは、第2ホストB、第2ルータD,第1ルータC、第1ホストAを介して、第1クライアントEのポートPeへパケットを届けることができる。
第1クライアントEより第2クライアントFへ返信する際は、第1クライアントEは第1ホストAの送信元ポートPaへ返信する。パケットを受け取った第1ホストAは、既に記憶されている置き換え情報に基づいて送信元(Ie,Pe)宛先(Ia,Pa)のパケットを送信元(Ia,Pa)宛先(Id,Pd2)へと置き換え、第2ルータDへ送信する。このパケットを受け取った第1ルータCは、既に形成されているマッピングに従って、このパケットを第2ルータDに届ける。このパケットを受け取った第2ルータDは、既に形成されているマッピングに従って、このパケットを第2ホストBに届ける。受け取った第2ホストBは、この送信元(Ic,Pc2)宛先(Ib,Pb)のパケットを既に記憶されている置き換え情報に基づいて送信元(Ib,Pb)宛先(If,Pf)と置き換え、第2クライアントFへ届けることができる。
このように、この実施形態の方法およびシステムによれば、ポートが固定されている通信も可能となる。
なお、前記各実施形態の記載は単なる一例に過ぎず、本発明に必須の構成を示したものではない。各部の構成は、本発明の趣旨を達成できるものであれば、上記に限らない。
また、前記した各実施形態における構成要素(ホスト、ルータおよびコントローラを含む)は、機能要素として存在していればよい。一つの機能要素は、他の要素と統合されていてもよく、また、複数の部品やコンピュータソフトウエアによって一つの要素が実現されていてもよい。さらに機能要素の実現方法としては、ハードウエアを用いても、コンピュータソフトウエアを用いてもよい。さらに機能要素相互の接続形態は、ネットワークを介したものであってもよい。つまり、複数の機能要素が互いに離間した位置に存在していても良い。例えば、前記したコントローラが複数のサーバで構成されていても良い。
本発明の第1実施形態に係る通信方法に用いるシステムの概略的な構成を示すブロック図である。 第1実施形態における通信方法を説明するためのフローチャートである。 第1実施形態における通信方法を説明するためのブロック図である。 第1実施形態における通信方法を説明するためのブロック図である。 第1実施形態における通信方法を説明するためのブロック図である。 第1実施形態における通信方法を説明するためのブロック図である。 第1実施形態における通信方法を説明するためのブロック図である。 第2実施形態における通信方法を説明するためのフローチャートである。 第2実施形態における通信方法の前提となるポート衝突検知を説明するためのブロック図である。 第2実施形態における通信方法を説明するためのフローチャートである。 第2実施形態における通信方法を説明するためのブロック図である。 第3実施形態における通信方法を説明するためのブロック図である。
符号の説明
A 第1ホスト
B 第2ホスト
C 第1ルータ
D 第2ルータ
E 第1クライアント
F 第2クライアント
1 ネットワーク
2 コントローラ

Claims (19)

  1. 第1ルータと、この第1ルータを介してネットワークに接続された第1ホストと、第2ルータと、この第2ルータを介して前記ネットワークに接続された第2ホストと、前記ネットワークに接続されたコントローラとを用いており、前記第1および第2ルータは、NAT機能およびIPマスカレード機能を有しており、さらに以下のステップを備える通信方法:
    (1)前記コントローラが、前記第1および第2ルータ自体のIPアドレスを取得するステップ;
    (2)前記第1ホストが、前記コントローラから前記第2ルータのIPアドレスを取得し、かつ、前記第2ホストが、前記コントローラから前記第1ルータのIPアドレスを取得するステップ;
    (3)前記第1および第2ホストが、前記第1および第2ルータにおける前記NAT機能およびIPマスカレード機能を用いて、前記コントローラにそれぞれパケットを送信するステップ;
    (4)前記コントローラは、前記ステップ(3)において送信されたパケットの解析に基づいて、前記第1および第2ルータにおける送信元ポートを検知し、さらに、前記第1および第2ルータのうち一方のルータにおける前記送信元ポートを表すデータを、他方のルータに接続された前記ホストに通知し、かつ、他方のルータにおける前記送信元ポートを表すデータを、一方のルータに接続された前記ホストに通知するステップ;
    (5)前記第1ホストから前記第2ルータの前記送信元ポートに向けてパケットを送信することによって、前記第1ルータに、前記第1ホストと前記第1ルータと前記第2ルータとにおけるIPアドレスおよびポートのマッピングテーブルを生成するステップ;
    (6)前記第2ホストから、前記第1ルータの前記IPアドレスおよび前記送信元ポートを宛先として指定したパケットを送信することにより、前記第1ホストにこのパケットを届けるステップ。
  2. 第1ルータと、この第1ルータを介してネットワークに接続された第1ホストと、第2ルータと、この第2ルータを介して前記ネットワークに接続された第2ホストと、前記ネットワークに接続されたコントローラとを用いており、前記第1および第2ルータは、NAT機能およびIPマスカレード機能を有しており、さらに以下のステップを備える通信方法:
    (1)前記コントローラが前記第1および第2ルータ自体のIPアドレスを取得するステップ;
    (2)前記第1ホストが、前記コントローラから前記第2ルータのIPアドレスを取得し、かつ、前記第2ホストが、前記コントローラから前記第1ルータのIPアドレスを取得するステップ;
    (3)前記第1および第2ホストが、前記第1および第2ルータにおける前記NAT機能およびIPマスカレード機能を用いて、前記コントローラにそれぞれパケットを送信するステップ;
    (4)前記コントローラは、前記ステップ(3)において送信されたパケットの解析に基づいて、前記第1および第2ルータにおける送信元ポートを検知し、さらに、前記第1および第2ルータのうち一方のルータにおける前記送信元ポートを表すデータを、他方のルータに接続された前記ホストに通知し、かつ、他方のルータにおける前記送信元ポートを表すデータを、一方のルータに接続された前記ホストに通知するステップ;
    (5)前記第1ホストから前記第2ルータの前記送信元ポートに向けてパケットを送信することによって、前記第1ルータに、前記第1ホストと前記第1ルータと前記第2ルータとにおけるIPアドレスおよびポートのマッピングテーブルを生成し、
    これと同時にまたは前後して、前記第2ホストから前記第1ルータの前記送信元ポートに向けてパケットを送信することによって、前記第2ルータに、前記第2ホストと前記第2ルータと前記第1ルータとにおけるIPアドレスおよびポートのマッピングテーブルを生成するステップ;
    (6)前記第1または第2ホストのうち一方のホストから、他方のホストが接続されたルータの前記IPアドレスおよび前記送信元ポートを宛先として指定したパケットを送信することにより、他方のホストにこのパケットを届けるステップ。
  3. 第1ルータと、この第1ルータを介してネットワークに接続された第1ホストと、第2ルータと、この第2ルータを介して前記ネットワークに接続された第2ホストと、前記ネットワークに接続されたコントローラとを用いており、前記第1および第2ルータは、NAT機能およびIPマスカレード機能を有しており、さらに以下のステップを備える通信方法:
    (1)前記コントローラが前記第1および第2ルータ自体のIPアドレスを取得するステップ;
    (2)前記第1ホストが、前記コントローラから前記第2ルータのIPアドレスを取得し、かつ、前記第2ホストが、前記コントローラから前記第1ルータのIPアドレスを取得するステップ;
    (3)前記第1および第2ホストが、前記第1および第2ルータにおける前記NAT機能およびIPマスカレード機能を用いて、前記コントローラにそれぞれ複数のパケットを送信するステップ;
    (4)前記コントローラが、前記ステップ(3)において送信された複数のパケットに対してなされた、前記第1ルータにおける送信元ポートの変換規則の解析に基づいて、前記第1ルータの送信元ポートを検知し、この送信元ポートを表すデータを、前記第2ホストに通知するステップ;
    (5)前記第2ホストから、前記第1ルータの前記IPアドレスおよび前記検知された送信元ポートを宛先として指定したパケットを送信することにより、前記第1ホストにこのパケットを届けるステップ。
  4. 前記ステップ(4)において検知される、前記第1ルータの送信元ポートは、単一のものであることを特徴とする請求項1〜3に記載の通信方法。
  5. 前記ステップ(5)において送信されるパケットは、宛先のルータに届かないようにTTLが調節されることを特徴とする請求項1または2に記載の通信方法。
  6. 前記TTLの調節は、前記ルータから、当該ルータの内側に接続された前記ホストまでのホップ数に基づいて行われることを特徴とする請求項5記載の通信方法。
  7. 第1ルータと、この第1ルータを介してネットワークに接続された第1ホストと、第2ルータと、この第2ルータを介して前記ネットワークに接続された第2ホストと、前記ネットワークに接続されたコントローラと前記第1ホストに接続された第1クライアントと、前記第2ホストに接続された第2クライアントとを用いており、前記第1および第2ルータは、NAT機能およびIPマスカレード機能を有しており、さらに以下のステップを備える通信方法:
    (1)前記コントローラが、前記第1および第2ルータ自体のIPアドレスを取得するステップ;
    (2)前記第1ホストが、前記コントローラから前記第2ルータのIPアドレスを取得し、かつ、前記第2ホストが、前記コントローラから前記第1ルータのIPアドレスを取得するステップ;
    (3)前記第1および第2ホストが、前記第1および第2ルータにおける前記NAT機能およびIPマスカレード機能を用いて、前記コントローラにそれぞれパケットを送信するステップ;
    (4)前記コントローラが、前記ステップ(3)において送信されたパケットの解析に基づいて、前記第1および第2ルータにおける送信元ポートを検知し、さらに、前記第1および第2ルータのうち一方のルータにおける前記送信元ポートを表すデータを、他方のルータに接続された前記ホストに通知し、かつ、他方のルータにおける前記送信元ポートを表すデータを、一方のルータに接続された前記ホストに通知するステップ;
    (5)前記第1ホストから前記第2ルータの前記送信元ポートに向けてパケットを送信することによって、前記第1ルータに、前記第1ホストと前記第1ルータと前記第2ルータとにおけるIPアドレスおよびポートのマッピングテーブルを生成するステップ;
    (6)前記マッピングテーブルが生成された後、前記第2クライアントが、前記第1クライアントのポートを宛先として指定したパケットを、前記第2ホストに送信するステップ;
    (7)前記第2ホストが、前記ステップ(6)における前記パケットを受信した後、前記パケットのペイロードの全部または一部を含むパケットを、前記第1ルータの前記IPアドレスおよび前記送信元ポートを宛先として指定して送信することによって、前記第1ホストにこのパケットを届けるステップ;
    (8)前記第1ホストが、前記ステップ(7)において送信されたパケットのペイロードの全部または一部を含むパケットを、前記第1クライアントにおける、前記ステップ(6)で宛先とされたポートに向けて送信するステップ。
  8. 第1ルータと、この第1ルータを介してネットワークに接続された第1ホストと、第2ルータと、この第2ルータを介して前記ネットワークに接続された第2ホストと、前記ネットワークに接続された前記コントローラとを用いており、前記第1および第2ルータは、NAT機能およびIPマスカレード機能を有するものである通信システムにおいて用いられる前記コントローラであって、さらに、以下のステップを実行する前記コントローラ:
    (1)前記第1および第2ルータ自体のIPアドレスを取得するステップ;
    (2)前記第1ホストに、前記第2ルータのIPアドレスを送信し、かつ、前記第2ホストに、前記第1ルータのIPアドレスを送信するステップ;
    (3)前記第1および第2ホストから送信され、かつ、前記第1および第2ルータにおける前記NAT機能およびIPマスカレード機能によって送信元アドレスおよび送信元ポートが変換された複数のパケットをそれぞれ受信するステップ;
    (4)前記ステップ(3)において送信された複数のパケットに対してなされた、前記第1ルータにおける送信元ポートの変換規則の解析に基づいて、前記第1および第2ルータにおける送信元ポートを検知し、さらに、前記第1および第2ルータのうち一方のルータにおける前記送信元ポートを表すデータを、他方のルータに接続されたホストに通知し、かつ、他方のルータにおける前記送信元ポートを表すデータを、一方のルータに接続されたホストに通知するステップ。
  9. 第1ルータと、この第1ルータを介してネットワークに接続された第1ホストと、第2ルータと、この第2ルータを介して前記ネットワークに接続された第2ホストと、前記ネットワークに接続された前記コントローラとを用いており、前記第1および第2ルータは、NAT機能およびIPマスカレード機能を有するものである通信システムにおいて用いられる前記第2ホストであって、さらに以下のステップを実行する前記第2ホスト:
    (1)前記コントローラにパケットを送ることにより、前記第2ルータ自体のIPアドレスを前記コントローラに取得させるステップ;
    (2)前記コントローラから、前記第1ルータのIPアドレスを取得するステップ;
    (3)前記第1ルータにおける送信元ポートを表すデータを、前記コントローラから受信するステップ;
    (4)前記第1ルータに、前記第1ホストと前記第1ルータと前記第2ルータとにおけるIPアドレスおよびポートのマッピングテーブルが生成された後、前記第1ルータの前記IPアドレスおよび前記送信元ポートを宛先として指定したパケットを送信するステップ。
  10. 第1ルータと、この第1ルータを介してネットワークに接続された第1ホストと、第2ルータと、この第2ルータを介して前記ネットワークに接続された第2ホストと、前記ネットワークに接続された前記コントローラとを用いており、前記第1および第2ルータは、NAT機能およびIPマスカレード機能を有するものである通信システムにおいて用いられる前記第1ホストであって、さらに以下のステップを実行する前記第1ホスト:
    (1)前記コントローラにパケットを送ることにより、前記第1ルータ自体のIPアドレスを前記コントローラに取得させるステップ;
    (2)前記コントローラから、前記第2ルータのIPアドレスを取得するステップ;
    (3)前記第1ルータにおける前記NAT機能およびIPマスカレード機能を用いて、前記第1ホストから前記コントローラにパケットを送信するステップ;
    (4)前記コントローラから前記第2ルータの送信元ポートの情報を受け取った後、前記第2ルータの前記送信元ポートに向けてパケットを送信することによって、前記第1ルータに、前記第1ホストと前記第1ルータと前記第2ルータとにおけるIPアドレスおよびポートのマッピングテーブルを生成させるステップ;
    (5)前記第2ホストから、前記第1ルータのIPアドレスおよびポートを指定して前記第1ルータに送信されたパケットを、前記第1ルータを介して受信するステップ。
  11. 請求項8に記載のコントローラと、請求項10記載の第1ホストと、請求項9記載の第2ホストとを備えたことを特徴とする通信システム。
  12. 第1ルータと、この第1ルータを介してネットワークに接続された第1ホストと、第2ルータと、この第2ルータを介して前記ネットワークに接続された第2ホストと、前記ネットワークに接続された前記コントローラとを備えた通信システムであって、
    前記第1および第2ルータは、NAT機能およびIPマスカレード機能を有するものであり、
    さらに、以下のステップを実行する通信システム:
    (1)前記コントローラが前記第1および第2ルータ自体のIPアドレスを取得するステップ;
    (2)前記第1ホストが、前記コントローラから前記第2ルータのIPアドレスを取得し、かつ、前記第2ホストが、前記コントローラから前記第1ルータのIPアドレスを取得するステップ;
    (3)前記第1および第2ホストが、前記第1および第2ルータにおける前記NAT機能およびIPマスカレード機能を用いて、前記コントローラにそれぞれパケットを送信するステップ;
    (4)前記コントローラが、前記ステップ(3)において送信されたパケットの解析に基づいて、前記第1および第2ルータにおける送信元ポートを検知し、さらに、第1および第2ルータのうち一方のルータにおける前記送信元ポートを表すデータを、他方のルータに接続された前記ホストに通知し、かつ、他方のルータにおける前記送信元ポートを表すデータを、一方のルータに接続された前記ホストに通知するステップ;
    (5)前記第1ホストから前記第2ルータの前記送信元ポートに向けてパケットを送信することによって、前記第1ルータに、前記第1ホストと前記第1ルータと前記第2ルータとにおけるIPアドレスおよびポートのマッピングテーブルを生成するステップ;
    (6)前記第2ホストから、前記第1ルータの前記IPアドレスおよび前記送信元ポートを宛先として指定したパケットを送信することにより、前記第1ホストにこのパケットを届けるステップ。
  13. 第1ルータと、この第1ルータを介してネットワークに接続された第1ホストと、第2ルータと、この第2ルータを介して前記ネットワークに接続された第2ホストと、前記ネットワークに接続されたコントローラとを備えた通信システムであって、
    前記第1および第2ルータは、NAT機能およびIPマスカレード機能を有するものであり、
    さらに以下のステップを実行する通信システム:
    (1)前記コントローラが前記第1および第2ルータ自体のIPアドレスを取得するステップ;
    (2)前記第1ホストが、前記コントローラから前記第2ルータのIPアドレスを取得し、かつ、前記第2ホストが、前記コントローラから前記第1ルータのIPアドレスを取得するステップ;
    (3)前記第1および第2ホストが、前記第1および第2ルータにおける前記NAT機能およびIPマスカレード機能を用いて、前記コントローラにそれぞれパケットを送信するステップ;
    (4)前記コントローラが、前記ステップ(3)において送信されたパケットの解析に基づいて、前記第1および第2ルータにおける送信元ポートを検知し、さらに、第1および第2ルータのうち一方のルータにおける前記送信元ポートを表すデータを、他方のルータに接続された前記ホストに通知し、かつ、他方のルータにおける前記送信元ポートを表すデータを、一方のルータに接続された前記ホストに通知するステップ;
    (5)前記第1ホストから前記第2ルータの前記送信元ポートに向けてパケットを送信することによって、前記第1ルータに、前記第1ホストと前記第1ルータと前記第2ルータとにおけるIPアドレスおよびポートのマッピングテーブルを生成し、
    これと同時にまたは前後して、前記第2ホストから前記第1ルータの前記送信元ポートに向けてパケットを送信することによって、前記第2ルータに、前記第2ホストと前記第2ルータと前記第1ルータとにおけるIPアドレスおよびポートのマッピングテーブルを生成するステップ;
    (6)前記第1または第2ホストのうち一方のホストから、他方のホストが接続されたルータの前記IPアドレスおよび前記送信元ポートを宛先として指定したパケットを送信することにより、他方のホストにこのパケットを届けるステップ。
  14. 第1ルータと、この第1ルータを介してネットワークに接続された第1ホストと、第2ルータと、この第2ルータを介して前記ネットワークに接続された第2ホストと、前記ネットワークに接続されたコントローラとを備えた通信システムであって、
    前記第1および第2ルータは、NAT機能およびIPマスカレード機能を有するものであり、
    さらに以下のステップを実行する通信システム:
    (1)前記コントローラが前記第1および第2ルータ自体のIPアドレスを取得するステップ;
    (2)前記第1ホストが、前記コントローラから前記第2ルータのIPアドレスを取得し、かつ、前記第2ホストが、前記コントローラから前記第1ルータのIPアドレスを取得するステップ;
    (3)前記第1および第2ホストが、前記第1および第2ルータにおける前記NAT機能およびIPマスカレード機能を用いて、前記コントローラにそれぞれ複数のパケットを送信するステップ;
    (4)前記コントローラが、前記ステップ(3)において送信された複数のパケットに対してなされた、前記第1ルータにおける送信元ポートの変換規則の解析に基づいて、前記第1ルータの送信元ポートを検知し、この送信元ポートを表すデータを、前記第2ホストに通知するステップ;
    (5)前記第2ホストから、前記第1ルータの前記IPアドレスおよび前記検知された送信元ポートを宛先として指定したパケットを送信することにより、前記第1ホストにこのパケットを届けるステップ。
  15. 第1ルータと、この第1ルータを介してネットワークに接続された第1ホストと、第2ルータと、この第2ルータを介して前記ネットワークに接続された第2ホストと、前記ネットワークに接続されたコントローラと、前記第1ホストに接続された第1クライアントと、前記第2ホストに接続された第2クライアントとを備えた通信システムであって、
    前記第1および第2ルータは、NAT機能およびIPマスカレード機能を有しており、さらに以下のステップを実行する通信システム:
    (1)前記コントローラが、前記第1および第2ルータ自体のIPアドレスを取得するステップ;
    (2)前記第1ホストが、前記コントローラから前記第2ルータのIPアドレスを取得し、かつ、前記第2ホストが、前記コントローラから前記第1ルータのIPアドレスを取得するステップ;
    (3)前記第1および第2ホストが、前記第1および第2ルータにおける前記NAT機能およびIPマスカレード機能を用いて、前記コントローラにそれぞれパケットを送信するステップ;
    (4)前記コントローラが、前記ステップ(3)において送信されたパケットの解析に基づいて、前記第1および第2ルータにおける送信元ポートを検知し、さらに、前記第1および第2ルータのうち一方のルータにおける前記送信元ポートを表すデータを、他方のルータに接続された前記ホストに通知し、かつ、他方のルータにおける前記送信元ポートを表すデータを、一方のルータに接続された前記ホストに通知するステップ;
    (5)前記第1ホストから前記第2ルータの前記送信元ポートに向けてパケットを送信することによって、前記第1ルータに、前記第1ホストと前記第1ルータと前記第2ルータとにおけるIPアドレスおよびポートのマッピングテーブルを生成するステップ;
    (6)前記マッピングテーブルが生成された後、前記第2クライアントが、前記第1クライアントのポートを宛先として指定したパケットを、前記第2ホストに送信するステップ;
    (7)前記第2ホストが、前記ステップ(6)における前記パケットを受信した後、前記パケットのペイロードの全部または一部を含むパケットを、前記第1ルータの前記IPアドレスおよび前記送信元ポートを宛先として指定して送信することによって、前記第1ホストにこのパケットを届けるステップ;
    (8)前記第1ホストが、前記ステップ(7)において送信されたパケットのペイロードの全部または一部を含むパケットを、前記第1クライアントにおける、前記ステップ(6)で宛先とされたポートに向けて送信するステップ。
  16. 請求項1〜7のいずれか1項に記載の方法をコンピュータに実行させることを特徴とするコンピュータプログラム。
  17. 請求項8に記載の各ステップを前記コントローラに実行させることを特徴とするコンピュータプログラム。
  18. 請求項9に記載の各ステップを前記第2ホストに実行させることを特徴とするコンピュータプログラム。
  19. 請求項10に記載の各ステップを前記第1ホストに実行させることを特徴とするコンピュータプログラム。
JP2003279445A 2003-07-24 2003-07-24 ネットワークを介したホスト間の通信方法 Expired - Fee Related JP3905067B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003279445A JP3905067B2 (ja) 2003-07-24 2003-07-24 ネットワークを介したホスト間の通信方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003279445A JP3905067B2 (ja) 2003-07-24 2003-07-24 ネットワークを介したホスト間の通信方法

Publications (2)

Publication Number Publication Date
JP2005045678A JP2005045678A (ja) 2005-02-17
JP3905067B2 true JP3905067B2 (ja) 2007-04-18

Family

ID=34265541

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003279445A Expired - Fee Related JP3905067B2 (ja) 2003-07-24 2003-07-24 ネットワークを介したホスト間の通信方法

Country Status (1)

Country Link
JP (1) JP3905067B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7543065B2 (en) * 2005-03-15 2009-06-02 Microsoft Corporation Method and system for reducing the number of ports allocated by a relay
JP4722623B2 (ja) * 2005-08-24 2011-07-13 パナソニック株式会社 Ip通信装置及びその制御方法
JP4815181B2 (ja) * 2005-10-04 2011-11-16 パナソニック株式会社 通信装置、通信方法及びプログラム
JP5207270B2 (ja) 2007-07-12 2013-06-12 Necインフロンティア株式会社 複数のネットワーク間の通信システム

Also Published As

Publication number Publication date
JP2005045678A (ja) 2005-02-17

Similar Documents

Publication Publication Date Title
US8457014B2 (en) Method for configuring control tunnel and direct tunnel in IPv4 network-based IPv6 service providing system
US7573903B2 (en) IPv6/IPv4 translator
EP3219087B1 (en) Methods, systems, and computer readable media for facilitating the resolving of endpoint hostnames in test environments with firewalls, network address translators(nats), or clouds
US20080298367A1 (en) Virtual network connection system, virtual network connection apparatus, and computer-readable medium
US9118721B1 (en) Socket-based internet protocol for wireless networks
JP2006086800A (ja) ソースアドレスを選択する通信装置
JP2007527068A (ja) 少なくとも2つの計算装置間の接続を設定する際のアドレス及びポート番号アブストラクション
CN110011919B (zh) 报文转发方法、装置、网络设备及存储介质
US8194683B2 (en) Teredo connectivity between clients behind symmetric NATs
KR20130052240A (ko) 네트워크 주소 변환기 통과 기법을 프로비저닝하기 위한 방법 및 장치
JP2013251738A (ja) 通信装置及びその制御方法
JP4712481B2 (ja) 通信方法および装置
WO2016202059A1 (zh) 一种访问IPv6网络的方法及网关
JPWO2004045164A1 (ja) データ中継装置、取得した要求の送信先を決定する方法、及びそれをコンピュータにおいて実現するプログラム
JP4425257B2 (ja) 通信装置、通信制御方法、及び通信制御プログラム
Komu et al. Sockets Application Program Interface (API) for Multihoming Shim
JP3905067B2 (ja) ネットワークを介したホスト間の通信方法
WO2017219816A1 (zh) 一种数据传输方法、网络地址转换设备
US7693091B2 (en) Teredo connectivity between clients behind symmetric NATs
KR20070104348A (ko) 의사 멀티-홈 호스트에 대한 효율적인 주소-공간 확장
JP2010226665A (ja) 負荷分散システム、負荷分散装置、及び負荷分散方法
WO2016095751A1 (zh) 一种域名解析方法及装置
Komu et al. Basic host identity protocol (HIP) extensions for traversal of network address translators
EP2961110A1 (en) Packet transmission method and apparatus, and server
JP5054666B2 (ja) Vpn接続装置、パケット制御方法、及びプログラム

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20050307

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050401

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20050307

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20061013

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061019

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061212

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070110

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20100119

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

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

Free format text: PAYMENT UNTIL: 20100119

Year of fee payment: 3

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

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

Free format text: PAYMENT UNTIL: 20100119

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20100119

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110119

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110119

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120119

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120119

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130119

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20140119

Year of fee payment: 7

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees