JP2014187614A - 通信装置及び通信システム - Google Patents

通信装置及び通信システム Download PDF

Info

Publication number
JP2014187614A
JP2014187614A JP2013062133A JP2013062133A JP2014187614A JP 2014187614 A JP2014187614 A JP 2014187614A JP 2013062133 A JP2013062133 A JP 2013062133A JP 2013062133 A JP2013062133 A JP 2013062133A JP 2014187614 A JP2014187614 A JP 2014187614A
Authority
JP
Japan
Prior art keywords
vpn
address
port number
sam
stun server
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.)
Granted
Application number
JP2013062133A
Other languages
English (en)
Other versions
JP5904965B2 (ja
Inventor
Takeaki Otaka
豪朗 大嵩
Kenichi Yokota
健一 横田
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.)
Nippon Telegraph and Telephone Corp
Nippon Telegraph and Telephone West Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Nippon Telegraph and Telephone West Corp
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 Nippon Telegraph and Telephone Corp, Nippon Telegraph and Telephone West Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2013062133A priority Critical patent/JP5904965B2/ja
Publication of JP2014187614A publication Critical patent/JP2014187614A/ja
Application granted granted Critical
Publication of JP5904965B2 publication Critical patent/JP5904965B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】SAMネットワーク環境下にあるC−SAM装置が、VPN接続要求を受け付けられるようにする。
【解決手段】自身のローカルアドレスを送信元アドレスとし、自身が指定したポート番号を送信元ポート番号とするパケットを、自身でSAM変換した上で上記STUNサーバへ通知する。自己変換後パケットのアドレス宛にVPN接続要求を受けることで、C−SAM装置自身がVPN接続できる。
【選択図】図1

Description

この発明は、SAM(Stateless Address Mapping)技術によるIPv6環境下でのIpv4接続下で、WellKnownポートを使ったVPNを利用する方法に関する。
IPv4アドレスの枯渇に対応するため、IPv6ネットワークへの移行が進められている。しかし、IPv4アドレスしか持たないネットワークが数多く残っているため、IPv6環境下でIPv4ネットワークに接続する手段を確保しなければならない。このため、IPv6ネットワークに繋がる各家庭用ルータに、IPv4のグローバルアドレスを払い出してIPv4ネットワークにPPPoE(Point to Point Protocol over Ethernet)で接続させ、L2TP(Layer 2 Tunneling Protocol)でIPv6ネットワークをトンネリングさせるトンネル方式が知られている。だが、個々のルータに対して、枯渇状態にあるIPv4グローバルアドレスを払い出す余裕は少なく、IPv4アドレスの共有化を進めることが望ましい。
一方、IPv6ネットワークを提供するにあたっては、各家庭や事業所との直接接続を担う通信事業者と、インターネット接続サービスを提供するISP(Internet Service Provider)との間を接続する事業者であるVNE(Virtual Network Enabler)が必要となる。このVNEは、ネットワーク構成上はIPv6ネットワークのみを提供することになるが、IPv4にも対応できなければ利用者やISPに不便を強いることになる。そこで、各家庭に設けるゲートウェイ装置に、IPv4パケットをIPv6パケットにカプセル化するC−SAM(Consumer−SAM)機能を持たせた上で、VNEがIPv4ネットワークに繋がるゲートウェイ装置に、そのカプセル化したIPv4パケットを取り出しアドレス変換するP−SAM(Provider−SAM)機能を持たせるSAM方式が提案されている。この方式ならば、P−SAM装置がIPv4ネットワークに対して持っているIPv4グローバルアドレスを、複数のC−SAM装置で共有しつつIPv4ネットワークに接続することが出来る。
このSAM方式では、P−SAMが有する一つのIPv4グローバルアドレスを複数のC−SAM装置で共有するために、個々のC−SAMがIPv4ネットワークに対して送出するパケットが使える送信元ポート番号の範囲を強制的に指定する。このため、C−SAMが配下の端末からどのような送信元ポート番号のパケットを受け取った場合でも、C−SAMがカプセル化する際に、一旦当該C−SAMが使うことが許可されたポート番号に変換された上でカプセル化して送出される。これを受け取ったP−SAMでデカプセル化して送出するが、取り出されたIPv4パケットの送信元ポート番号は、当該C−SAMに割り当てられた範囲のポート番号に変換された後のものである。このためこのパケットを、VPNを構築しようとする目標に届けても、その目標は当該パケットのポート番号が変更されているために何を指定したものか判別することができない。このため、VPNのように特定のポート番号を使うことが約束されているサービスを利用しようとしても、その特定のポート番号でパケットをIPv4ネットワークに送出することができないため、そのサービスを利用することができないという問題があった。
これに対して、IPv4ネットワーク上にSTUN(Simple Traversal of UDP through NATs)サーバを設ける方法が提案されている(非特許文献1)。これはグローバル接続にあたってはNAT(NAPT)変換されるローカルネットワークにある二つの端末が、どちらもSTUNサーバにメッセージを送信し、STUNサーバはそれぞれのメッセージに対して、相手方端末のグローバルIPアドレスとポート番号とを返信することで成り立っている。この返信されたアドレスとポート番号宛に送信することで、NATにてポート番号が逆変換されて、VPNやVoIPなどの相互通信に用いられるWellknownポート番号に戻されるので、これらのサービスを利用することができる。
特許文献1には、WAN上に設置されたSTUNサーバを介して、NAT(Network Address Translation)変換するルータで隔てられたLANにある端末同士で相互にVPN通信する方法、いわゆるNAT越えの方法が記載されている。NAT変換の種類によっては対応できない場合でも、テストパケットの送信により通信可能性を判定して、アドレスが変更されてもそれに対応することが提案されている。
特開2010−283594号公報
RFC3489
しかしながら、特許文献1ではあくまでNAT変換までを想定したものであり、IPv4/IPv6の変換を含むSAMを考慮したものではない。このため、特許文献1の技術をSAM環境下に適用しようとすると、C−SAMの配下にある端末がVPNを設定しようとする場合は対応できるが、C−SAMの配下にある複数の端末がまるごとVPNに接続しようとした場合には、相手方は個々の端末とVPN接続を構築しなければならず、端末の個数が多い場合は相手方にかかる負荷が大きかった。また、それぞれのネットワークにおける端末同士の接続しかできないため、相手方のネットワークにある全ての端末と、VPN接続することは事実上できなかった。
そこで、C−SAM自体がVPN装置として動作するように一体化することが考えられる。C−SAM自体がVPN装置となれば、C−SAMの配下にある端末は全てVPN接続先との間でVPNに参加できることになる。ところが、C−SAM自体がVPN装置として通信しようとすると、C−SAM自体が送出するパケットのポート番号は、P−SAMに依存してランダムで変更されてしまうため、そのままでは通信できない。すなわち、特許文献1のようなNAT越えの技術は、あくまでNATを越えるための技術であり、NAT自身がVPN接続する際に生じるこのような問題には対処できなかった。
さらに、通信事業者がC−SAM装置に割り当てるIPv6ネットワークのアドレスも固定ではないことが多く、アドレスが変更されると追跡することができなかった。
そこでこの発明は、個々の端末が個別に接続したり、そのアドレスの更新作業をしたりするといった設定作業をすることなく、VPNやVoIPといったWellKnownポートを利用しなければならないサービスを利用できる環境を構築することを目的とする。
この発明は、
VPN接続要求を受け付け可能なVPN装置と、
上記VPN接続要求を送信可能なVPN対向装置と、
(IPv4ネットワーク上にあり、)上記VPN装置及び上記VPN対向装置からのメッセージを受け付け可能なSTUNサーバとを有するシステムであって、
上記VPN装置は、
自身のローカルアドレスを送信元アドレスとし、自身が指定したポート番号を送信元ポート番号とするIPv4パケットを、自身でSAM変換した上で上記STUNサーバへ通知する第一自己通知手段と、
上記STUNサーバから受信した、上記STUNサーバに登録された上記VPN対向装置からの通知に対応するアドレス及びポート番号を記録する対向アドレス記録手段と、
上記対向アドレス記録手段により記録された上記VPN対向装置のアドレス及びポート番号へ、上記VPN装置自身がVPNで利用するポート番号を送信元ポート番号に設定したテストパケットを送出する、テストパケット送出手段と、を有し、
上記VPN対向装置は、
上記STUNサーバへ送信元アドレス及びポート番号を通知する第二自己通知手段を有し、
上記STUNサーバから受信した、上記STUNサーバに登録された上記VPN装置からの通知に対応するアドレス及びポート番号を記録する対象アドレス記録手段と、
上記対象アドレス記録手段により記録された上記VPN装置のアドレス及びポート番号へVPN接続要求を送信する、VPN接続要求手段と、を有し、
上記STUNサーバは、
上記第一自己通知手段及び上記第二自己通知手段により通知されたアドレス及びポート番号を接続情報テーブルに登録するテーブル更新手段を有し、
VPN接続の対になる上記VPN装置及び上記VPN対向装置のそれぞれのアドレス及びポート番号を宛先に指定して、相手方のアドレス及びポート番号を通知する相互通知手段を有し、
上記VPN装置のアドレス及びポート番号を宛先に指定してテストパケット送出指示を送信する、テストパケット送出指示手段を有する
VPN構築システムにより、上記の課題を解決したのである。
IPv4ネットワークに上記STUNサーバを設けておくことで、VPN対向装置はこのSTUNサーバからの通知により、C−SAMであるVPN装置自身により自己変換された後の自己変換パケットの送信元アドレス及びポート番号を知ることができる。この変更された後のポート番号へ向けてパケットを送出すれば、C−SAM自体がSAM変換を逆に行って、自身のローカルアドレスを送信元アドレスとし、VPNやVoIPなどのwellknownポートを含む自身が指定したポート番号を送信元ポート番号とするパケットを受け取ることができる。アドレスがC−SAM機能によるSAM論理インターフェースにより動的に変更されたとしても、第一自己通知手段によりアドレス及びポート番号をSTUNサーバに通知するたびに更新登録することで、アドレスの変化が起きても問題なく追随させることが出来る。
複数の組み合わせで上記STUNサーバを用いる場合には、上記VPN装置と上記VPN対向装置とを結びつける判別情報が上記第一自己通知手段及び上記第二自己通知手段による通知に含まれるものとする。その判別情報を上記テーブル更新手段が上記接続情報テーブルに記録する。さらに上記STUNサーバは、この判別情報が一致するか否かの判定を行う一致判定手段を実行した上で、一致した場合のみ、それぞれの上記VPN装置と上記VPN対向装置の対に対して、上記相互通知手段による通知を行う。この判別情報としては、ユーザごとのID及びパスワードでもよいし、通知されるIPアドレスの範囲によって自動判別するものでもよい。また、判別情報には、暗号化のための暗号鍵情報が含まれていてもよい。
また、VPN装置はSAM機能が有効か否かの判別機能を有すると好ましい。SAM機能が有効なときのみSTUNサーバを用いる必要があり、SAM機能が有効でなければそのままWellknownポートが利用でき、本発明の構成にかかる各手段を実行しなくてもVPNが構築できるので、STUNサーバへのアクセスを省略することができる。
この発明により、IPv6とIPv4の混在したSAM環境でVPNを利用しようとするユーザが、P−SAMによるポート番号の割り当てを意識することなく、Wellknownポートを利用したサービスが利用可能となる。また、VoIPやP2Pアプリケーションなど、特定のポート番号を前提とした動作をするその他のサービス、アプリケーションも、SAM環境での利用が可能となる。
また、上記VPN対向装置を所持するユーザが接続場所を移動してネットワーク構成が変化し、IPアドレスやポート番号が変化しても、特段ユーザが操作する必要なく、移動した先のネットワーク環境でVPNの再接続を実施することが出来る。
さらに、VPNの暗号化に必要な鍵情報の通知をIDやパスワードで認証して得ることができるため、秘匿性の高い状態でVPN接続を構築することができる。
(a)この発明にかかる実施形態例におけるVPNを構築するシステムの構成図、(b)(a)の左半分で実行されるパケットへの変換を示す例図 この発明にかかる実施形態例における機能ブロック図 この発明にかかる実施形態例における接続情報テーブルの例図 VPN装置の接続設定テーブルの例図 この発明にかかる別の実施形態例におけるシーケンス図 この発明にかかる実施形態例におけるSTUNサーバの処理フロー図 この発明を構成するVPN装置がSAM判定を行う場合の処理フロー図 この発明を構成するVPN装置がSAM機能を有効にする場合と無効にする場合における機能上の終端点を示す例図
以下、この発明の実施形態について詳細に説明する。図1(a)に、この発明によりVPNを構築する際のシステムの構成例を示す。ここでは、端末23を抱えるIPv4ローカル網31に対して、外部からVPN接続する。このIPv4ローカル網31は、例えば一般家庭や事業所のローカルネットワークである。VPNの終端点となるVPN装置11は、IPv4ローカル網31と事業者v6網32との間に設けられ、ルータ及びゲートウェイを兼ねている。事業者v6網32とは、電気通信事業者が管理するIPv6アドレスによるネットワークであり、例えばNGNが挙げられる。事業者v6網32は、VNEにより接続されるIPv6ネットワークであるISPv6網33と、ルータ25を介して繋がっている。ISPv6網33と、IPv4アドレスによる外部ネットワークであるISPv4網34との間には、P−SAM装置21が設けられている。P−SAM(Provider−StatelessAddressMapping)装置は、ISPv4網34に対してIPv4のグローバルアドレスを一つ有しており、事業者v6網32に存在する複数のVPN装置11が、このグローバルアドレスを共有する。P−SAM装置21は、これと対になるC−SAM(Consumer-StatelessAddressMapping)装置であるVPN装置11の個々について、使用可能なポート番号を限られた範囲で割り振ることで、この一つのグローバルアドレスを共有する。従って、端末23から送信されるIPv4パケットは、C−SAMであるVPN装置11でその送信元ポート番号を、P−SAM装置21が当該VPN装置11に割り当てた範囲のポート番号のいずれかに変換されるSAM処理がされるとともに、送信元アドレスもNAT変換され、なおかつ、IPv6ヘッダを付与されてIPv6カプセル化を施されて、事業者v6網32に送信される。
この発明においてVPNを構築するためのアドレス変換の例を図1(b)に示す。VPN装置11自身が、自身のローカルアドレスを送信元アドレスとし、VPNを利用するために「500」であるポート番号を有するパケットを生成する。このパケットはそのまま送信するのではなく、一旦C−SAMであるVPN装置11自身によるSAM変換により自己変換される。ポート番号は、C−SAMに割り当てられた範囲のポート番号である「6689」に変更される。同時に送信元アドレスが、P−SAM装置21がISPv4網34に対して有しているグローバルアドレスである「106.72.2.16」に変更される。この自己変換された自己変換後パケット(IPv4パケット)を、さらにIPv6パケットに変換するため、ヘッダとしてVPN装置11のWAN側IPv6アドレスを送信元アドレスに、カプセル化して送る終端であるP−SAMのIPv6アドレスを宛先アドレスに設定したIPv6ヘッダを付されて送信される。こうしてポート番号を限定された上で、IPinIPカプセル化して通信されるVPN装置11とP−SAM装置21との間を、SAMネットワーク36とよぶ。P−SAM装置21では、これをデカプセル化して、C−SAMでSAM変換及びNAT変換された後のIPv4パケットを取り出す。すなわち、ここでは送信元ポート番号はP−SAM装置21が割り当てた範囲の「6689」になっており、送信元アドレスは、P−SAM装置21自身のアドレスとなっている。このパケットをISPv4網34に送出することで、端末23は、ISPv4網34やその先にあるネットワークのサーバ、端末等と通信することができる。ただし、このままでは送信元ポート番号はP−SAM装置21に割り当てられた範囲の値に限られるため、Wellknownポートを使ったサービスは利用できない。
またここでは、IPv4ネットワークを介して繋がるモバイル/スポット網35から、VPN対向装置12がVPN接続を試みる形態を例にとり説明する。想定される例としては、外出先からスマートフォンやデータ通信端末などであるVPN対向装置12を用い、携帯電話網を介して自宅や職場のLAN(IPv4ローカル網31)にVPN接続するというケースである。モバイル/スポット網35内には、LSN(Large Scale NAT)22が設けられており、VPN対向装置12のアドレス及びポート番号も、ISPv4網34に対しては、LSN22で一旦NAPT変換された上で送信される。なお、本発明の実施にあたっては特にモバイル網が必要なわけではなく、ISPv4網34に直接にVPN対向装置12が接続されていても実施可能である。
ISPv4網34には、STUNサーバ13が設けてあり、VPN装置11とVPN対向装置12からの通信を受け付け、通知されたアドレス、ポート番号、及びその他の情報を記録する接続情報テーブル122を有する。
なお、このために、VPN装置11とVPN対向装置12はいずれも、STUNサーバ13のIPv4アドレスを登録済みであるか、または把握可能である必要がある。
図2に、図1の実施形態においてこの発明を実施するそれぞれの装置の手段の機能ブロック図を示す。なお、図示しないが、VPN装置11、VPN対向装置12及びSTUNサーバ13はいずれも当然にネットワークインターフェースと、テーブルを保持するための記憶装置と、それらを制御し各々の手段を実行するための演算装置を備えている。
まず第一のステップとして、VPN装置11の第一自己通知手段101が、STUNサーバ13へWellknownポートを送信元ポートとし、VPN装置11のローカルIPv4アドレスを送信元アドレスとしたパケットを自己生成する。この自己生成パケットをSAM変換してメッセージを通知する。SAM変換にあたってカプセル化されるv4パケットの送信元ポート番号は元のポート番号から、P−SAM装置21に割り当てられた範囲のポート番号に変換され、送信元アドレスはP−SAM装置21のグローバルアドレスに変換される。さらにその上で、IPv6カプセル化される。
このメッセージはそのIPv4パケットヘッダに当然にSAM変換後の送信元アドレス及びポート番号を含むほか、その他の情報を含んでいてよい。特に、ペイロードに、自己生成したパケットの元の送信元アドレス及びポート番号を格納しておくと、後述するSTUNサーバでの格納時に、どのような種類のサービスを利用する意図で送信されたパケットであるかを判別することができる。これにより、一つのSTUNサーバ13で、複数種類のサービスの接続を行うこともできる。また、受け取ったSTUNサーバ13がVPN対向装置12に元の送信元アドレス及びポート番号を通知することで、VPN対向装置12もVPN装置11との間で使用するサービスの選択が容易になる。例えば、元のポート番号が500番である通知であれば、IPsecでの通信を準備するといった判別が可能になる。
また、このメッセージの通知は定期的に繰り返される。VPN装置11に割り当てられるアドレス及びポート番号が動的に変化することがあるため、できるだけ最新に近い情報に更新しておくことが望ましいためである。STUNサーバ13のテーブル更新手段121は、通知を受けるたびに、接続情報テーブル122に記録してあるVPN装置11のアドレス及びポート番号として記録されている情報を確認し、更新されているのであれば接続情報テーブル122の情報を書き換える。ただしここで記録されるアドレス及びポート番号は、VPN装置11において最初に生成されたパケットのものではなく、SAM変換により送信元ポート番号及びアドレスが変換された後のものである。
一方、第二のステップとして、VPN対向装置12の第二自己通知手段111も、上記第一のステップと同様に、STUNサーバ13へメッセージを通知する。STUNサーバ13では同様にテーブル更新手段121により接続情報テーブル122の情報を確認、更新する。なお、この第一のステップと第二のステップは順番が逆でもよい。いずれが先でも、後述する紐付けは可能だからである。
ここで、通知されたパケットがどのユーザのものであるかを判別可能とするために、上記メッセージは、VPNを利用する端末同士の対を識別するためのID、それに対応するパスワード、さらにはそのVPNで利用する暗号鍵を含むことが望ましい。その場合、テーブル更新手段121は上記接続情報テーブル122にそれらID,パスワード、暗号鍵も登録しておく。また、元のパケットの送信元ポート番号や、その他サービスの判別のために有用な情報をペイロードに含めていても良い。
図3に接続情報テーブル122の例を示す。この例はIDやパスワードによってそれぞれVPN接続の対となる組み合わせを判別する。ID及びパスワードが同一となるレコードがあれば、それを対のものとして紐付け、ID及びパスワードが異なる装置は別の組み合わせのものと判別する。従って、一つのVPN装置11に複数のVPN対向装置12がVPN接続をしようとする場合には、それぞれのVPN対向装置12ごとに異なるIDやパスワードを設定しておくことになる。
ここでIDとしては、VPN装置11からの接続とVPN対向装置12からの接続で共通のものを使うには、それぞれがユニークなグローバルアドレスを固定して用いる場合に限られる。グローバルアドレスが固定でない場合、通知されるアドレスがそれぞれ対になる装置のものなのか、それとも一つの装置のアドレスが変更になったものか判別できないためである。このため、グローバルアドレスが固定でない場合には、VPNを構築するそれぞれの装置のMACアドレスを固有の値(図中「MAC1」「MAC2」と表記する。)として接続情報テーブル122に登録しておき、上記自己生成パケットのペイロードにこのMACアドレスに含めるとともに、共通のパスワード(図中「pass」)を含めて通知することで、これらをテーブル上で紐付け、確認することができる。なお、STUNサーバ13そのものか、又は別途設けた加入状況管理サーバに、それぞれの装置のMACアドレスを紐付けるMACアドレス紐付けテーブルを設けることが望ましい。その場合、VPN装置11又はVPN対向装置12からの通知を受け取った場合には、そのMACアドレスがMACアドレス紐付けテーブルに記録されているか否かを確認し、記録されていなければ、エラー応答又はパケットを破棄する。
また、上記の接続テーブル122には、VPN装置11とVPN対向装置12から受け取ったパケットの、受け取った時点における送信元アドレス及びポート番号、すなわち、SAM変換された後の送信元アドレス及びポート番号だけでなく、SAM変換、NAT変換される前の、元の送信元アドレス及びポート番号を記録しておくと、利用しようとするサービスの種別をポート番号で判別することができるので好ましい。ただし、パケットそのものの送信元アドレス及びポート番号は送信過程において変換されてしまうため、通知を送信する際に、パケットのペイロード中に元の送信元アドレス及びポート番号を記録しておけばよい。
上記の接続情報テーブル122には、VPNを構築する際に必要な、相互接続プロトコルの指定や、暗号鍵(PSK)を記録してもよい。これらは上記の通知のデータ部分に含めて送信するとよい。さらに、後述するその後の手順がどこまで進行したのかを判別するためのフラグとして、テストパケット送出済みフラグや、VPN接続完了フラグを有するとよい。VPN接続完了フラグが立った組み合わせであれば、VPN接続中はアドレスが変更されることは無いので、後述するアドレス変更を確認するための通知が不要となるので、その判別に用いる。なお、VPN接続が完了した時点でSTUNサーバ13の役目は終了しているので、VPN接続が完了した装置の対については、そのレコードを接続情報テーブル122から削除してもよい。
なお、ここではIDにより対を判別する例を記載したが、接続情報テーブル122がIDを有しなくても本発明は実施可能である。ただしこれは、IPアドレスの変動がある程度限定された範囲に限られる場合に、その限定された範囲のIPアドレスを予め登録しておき、その登録されたIPアドレスに該当する装置であれば、紐付けるようにする条件設定を行っておくとよい。
また仮に、送信元IPアドレスの範囲によって、それぞれの通知元が、VPN装置、又はVPN対向装置であるかを判定できるなら、それぞれの通知毎に装置の属性を判別して、データベースを分類してもよい。例えば携帯電話網に対応するアドレスであればほとんどの場合VPN対向装置12であると判別できる。
また、ネットワークサービス提供事業者が直接にVPN接続サービスを提供する場合は、接続情報テーブル122ではなく、事業者自体が有する顧客データベースを用いて接続を確立させることができる。同一の事業者に申し込んだユーザA,ユーザB間で、VPN接続をする場合、事業者はそのユーザA,ユーザBを顧客識別子で認識し、それぞれの家庭用ルータであるVPN装置11、VPN対向装置12に割り振ったIPアドレスを顧客データベースから求めることができるので、これらを紐付けることができる。
ここで通知される情報であるID及びパスワードや、使用する暗号化の形式などの情報は、VPN装置11が有する接続設定テーブル105に記録されている。この接続設定テーブル105の例を図4に示す。設定1がSAM接続される本件発明における利用項目であり、設定2のように、PPPoE接続などの他の接続における接続設定を記録するテーブルと一体になっていてもよい。なお、KeepAliveはVPN設定の一部であり、VPN接続の継続を確認するためにVPN接続される端末間でやりとりされるKeepAliveパケットがここで指定された送信間隔で、指定の再送回数に亘って応答がなかった場合には、切断されたとみなして、再度STUNサーバ13への通知からやり直すこととなる。NAT越え検知機能については後述する。
また、このテーブルと同一でも別個でもよいが、STUNサーバ13のアドレス情報を保持している必要がある。
一方、VPN対向装置12も同様に、ID及びパスワード、PSKの鍵情報、利用するVPNのプロトコルについての項目を有するVPN設定テーブル115を有するとよい。また、VPN装置11と同様に、STUNサーバ13のアドレス情報を保持している必要がある。
図2の手順説明に戻る。第三、第四のステップとして、STUNサーバ13は、相互通知手段123を実行する。ID及びパスワードが同一であるなど、設定された基準で紐付けられた二つのレコードに記録されたアドレス及びポートの対に対して、その対となる相手方のアドレス及びポート番号を通知する。VPN装置11がこの通知を受け取ると、対向アドレス記録手段102はその通知された相手方であるVPN対向装置12のアドレス及びポート番号を、VPN対向テーブル106に記録する。一方、同様に、VPN対向装置12もこの通知を受け取ると、対象アドレス記録手段112がその通知された相手方であるVPN装置11のアドレス及びポート番号を、VPN宛先テーブル116に記録する。
ここまでの第一から第四のステップは、VPN装置11及びVPN対向装置12のアドレスが変更になる可能性があるため、所定の間隔で同じ手順が繰り返され、変更された項目があれば、テーブルの情報を上記の手順に沿って更新することで、できるだけ最新の状態を反映したものとしておく。
また、上記の第三のステップの際に、STUNサーバ13のテストパケット送出指示手段124は、VPN装置11に対して、テストパケットをVPN対向装置12宛に送信させる指示を出す。この指示には、対応するVPN対向装置12との紐付けに用いられるIDなどの情報を含めておくと、VPN装置11がテストパケットを送信する送信先が複数考えられる場合でも、間違えることなくテストパケットを送出できる。VPN装置11がこの指示を受信すると、第五のステップとして、VPN装置11のテストパケット送出手段103は、VPN対向テーブル106に登録してある、指示されたIDなどの情報に対応する宛先であるVPN対向装置12のアドレス及びポート番号を、宛先アドレス及び宛先ポート番号に設定してテストパケットを送出する。
なお、別の形態として、テストパケット送出指示手段124による指示を出すことなく、VPN装置11が相手方となるVPN対向装置12のアドレス及びポート番号の通知を受けたら、自動的にそのアドレス及びポート番号へ向かってテストパケットを送出するものとしてもよい。
いずれにせよ、第五のステップとしてこのようにテストパケットを送出させるのは、VPN対向装置12からVPN装置11に対して単純にVPN接続を要求しようとしても、P−SAM装置21やルータ25などによって阻まれてしまうためである。テストパケットがVPN対向装置12に向けて送信されることで、P−SAM装置21及びルータ25は、後述するVPN対向装置12からのVPN接続要求を、前記テストパケットに対する応答とみなして、通過させ得る状態となる。ただし、このテストパケットはVPN対向装置12まで到達しない場合がある。例えば途中にLSN22などのNATがある場合には、それより先へは到達できず、テストパケットは廃棄される。それでも、テストパケットがWAN側へ送信されることで、VPN装置11へのWAN側からの通信が通るようになる。
VPN対向装置12は、第六のステップとして、VPN設定テーブル115に設定した情報に従い、VPN装置11のアドレス及びポート番号を宛先に指定して、VPNの接続を試みるVPN接続要求手段114を実行する。この要求は、LAN側からの通信なのでLSN22は通過できる。
またこの時点で、既に上記の第五のステップが実行されてテストパケットが送出されていれば、P−SAM装置21より先では先のテストパケットに対する応答として扱われてVPN装置11に到達する。なお、テストパケットの送出より先にVPN接続要求が発せられる場合もあるが、その場合は途中で要求が破棄されるため、定期的にVPN接続要求を繰り返し、テストパケットの送出を待つ。VPN装置11はこのVPN接続要求に対して、接続設定テーブル105に記録された情報に従い、一般的なVPNの構築を行うVPN対応手段104を実行する。なお、テストパケットがVPN対向装置12まで到達可能な状況であれば、その到達を確認してから第六のステップを実行しても良い。
この発明を実施する別の実施形態を、図5のシーケンス図を用いて説明する。なお、ネットワーク構成は図1と同様とする。
まず、家庭用ルータなどであるVPN装置11の設定を、配下のIPv4ローカル網31に設けられた端末23から行い(S11)、接続設定テーブル105に登録する。この設定は、上記のIDやパスワードの登録、使用するVPNの方式の選択など、VPNを使用するために必要な情報の登録である。なお、設定内容確認(S12)は端末23からその内容をwebブラウザなどにより確認するものである。
一方、VPNへの接続要求を行う側であるVPN対向装置12も、端末のVPN設定テーブル115に、IDやパスワード、VPNの方式の選択など、VPNを使用するために必要な情報を登録する。その上で、第二自己通知手段111を実行してSTUNサーバ13へID及びパスワードと、現状におけるアドレス及びポート番号を含むメッセージを送信する。STUNサーバではテーブル更新手段121を実行して、接続情報テーブル122に通知された情報を登録する(S23)。その上で、相互通知手段123を実行するが、このときは対になる相手方であるVPN装置11の情報が登録されていないので、その旨をVPN対向装置12に通知する(S24)。
一方、VPN装置11も第一自己通知手段101を実行して、同様にID及びパスワードと、アドレス及びポート番号を含むメッセージをSTUNサーバ13に通知する(S31)。
STUNサーバではテーブル更新手段121を実行して、接続情報テーブル122に通知された情報を登録する(S32)。その上で、相互通知手段123を実行するが、今度は対になる相手方であるVPN対向装置12の情報が登録されているので、その旨とともに、VPN対向装置12のアドレス及びポート番号を通知する(S33)。これを受けたVPN装置11は、相手方が判明したので、テストパケット送出手段103を実行して、通知されたアドレス及びポート番号を宛先として、所定の間隔でテストパケットを送出する(S35)。このテストパケットはLSN22までは到達する。なお、このテストパケットはVPNの構築まで定期的に繰り返す。また、テストパケットをSTUNサーバ13にも送信しておくことが望ましい。テストパケットを受け取ったSTUNサーバ13は、テストパケット確認手段(図示せず)を実行して接続情報テーブル122内の「テストパケット送出」フラグをTrueに変更する。
なお、このシーケンス図ではこのときに既にVPN対向装置12があることがわかっているが、この段階でVPN対向装置12がSTUNサーバ13に登録されていなければ、テストパケットは送信されないことになる。すなわち、S34の後、S35が行われず、S31へと戻る。VPNが構築されるまで、STUNサーバ13は登録しているアドレス及びポート番号の更新を繰り返すこととなる。
また一方、VPN対向装置12は、定期的に第二自己通知手段111を実行して同様にアドレス及びポート番号をSTUNサーバ13に通知する(S41)。これにより、移動によりアドレスなどが変更になったとしても、最新の情報が通知される(S42)。このときは、対になる相手方であるVPN装置11の情報が登録されているので、STUNサーバ13の相互通知手段123は、VPN装置11のアドレス及びポート番号をVPN対向装置12に通知する(S43)。これを受けたVPN対向装置12は、VPN接続要求手段114を実行して、VPN装置11との間にVPNを構築する(S44)。
VPNが構築されたら(S51、S52)、VPN装置11とVPN対向装置12は、それぞれ、VPN完了通知手段(図示せず)を実行して、対となる相手との間にVPNが構築されたことをSTUNサーバ13に通知する。通知を受け取ったSTUNサーバ13は、VPN確認手段(図示せず)を実行して、接続情報テーブル122内の「VPN接続完了フラグ」をTrueにする(S55)。これにより、STUNサーバ13はVPN装置11及びVPN対向装置12のアドレスやポート番号の変更を追跡する通信を行う必要が無くなる。
その後、KeepAliveの応答が設定回数以上確認できなかったり、使用者による意識的なVPN切断処理がされたりして、VPNが切断されたら(S61,S62)、再びVPN接続を行う必要が生じる場合があるので、VPN装置11とVPN対向装置12はVPN切断通知手段(図示せず)を実行して、STUNサーバ13に対して、VPNが切断されたことを通知する(S63,S64)。通知を受け取ったSTUNサーバ13は、VPN切断確認手段を実行して、接続情報テーブル122内の「VPN接続完了フラグ」をFalseにする(S65)。その後、場合によってはアドレスが変更になった上で(S71,S72)、第一自己通知手段101,第二自己通知手段111の実行段階(S31,S41)に戻る。
STUNサーバ13側での処理例を図6のフローにより説明する。まず(SS1)、VPN装置11から通知を受けたら、接続情報テーブル122を更新する(SS2)。その上で、ID又はIPアドレスなどで対となる紐づけがされるVPN対向装置12のアドレス及びポート番号が登録されていなければ(SS3→未完了)、再び通知を待つ(SS2)。対となるVPN対向装置12が登録されていれば(SS3→完了)、相互通知手段123がVPN装置11及びVPN対向装置12のそれぞれに、相手方のアドレス、ポート番号、及びPSK情報などを通知する(SS4)。その上で、VPN装置11からのテストパケットを受信したら、接続情報テーブル122のフラグを更新する(SS5)。さらにその後、VPN装置11及びVPN対向装置12のそれぞれからのVPN接続の完了通知を待つ(SS6)。タイムアウトした場合は、通知の待機から再開する(SS2)。VPN接続の完了通知を受信したら(SS6→受信)、接続情報テーブル122のVPN接続完了フラグを完了に更新し、待機状態になる。その後、VPNの切断通知や、アドレスの変更通知を受信したら(SS7)、接続情報テーブル122のVPN接続完了フラグを未接続に更新し、通知を待つ(SS2)。
上記のSTUNサーバを介した一連の通信を実施しなければならないのは、P−SAM装置21によってC−SAMであるVPN装置11が使用できるポート番号が限定されている場合に限られる。SAMネットワーク36でポート番号が限られている環境でなければ、一連のシステムはそもそも上記の手順を経ることなくVPNを構築できる。
したがって、この発明にかかるVPN装置11,VPN対向装置12、STUNサーバ13は、VPN装置11がSAM環境にあることを確認する、判定機能を有していることが望ましい。
そのC−SAMとなるVPN装置11が上記のSAM環境にあるか否かを判定するSAM判定手段107を実行するフローを図7に示す。まず(S101)、VPN機能が設定上有効になっているか否かを判断する(S102)。外部からのVPN要求に対する応答が無効になっていれば、通常のルータとして動作するのみである(S103)。有効になっているならば(S102→有効)、自身がP−SAM装置21によるポート番号管理下にあるか否かを判定する(S111)。SAMを利用しているのであれば(S111→Yes)、VPN装置11自身がローカルアドレス情報を保持し、これにWellknownポートを付与して特定のwebサービスを利用するパケットを生成可能とする(S121)。
その上で、STUNサーバ13へのアクセスを行う(S122)。このとき、ローカルアドレスを送信元アドレスとし、サービスを受けるためのWellknownポートを送信元ポート番号としたパケットを一旦生成した後、SAM機能によりアドレスをP−SAM装置21のグローバルアドレスに、ポート番号をP−SAM装置21に割り当てられたポート番号に変換されたパケットをv6カプセル化した上でSTUNサーバ13に送出することになる。ただし、そのSAM機能による変換を逆変換する情報も保持することになる。
一方、SAMを利用しなければ(S111→No)、外部ネットワークとの間にNATが設けられているか否かを判定する(S112)。NATを越えることなく外部ネットワークに接続できるのであれば(S122→無効)、通常のVPN接続が可能となる(S113)。この場合は、意図しないSTUNサーバ13への定期的な通信を停止するとよい。NATを越えている場合、VPN装置11はSTUNサーバ13の利用にあたって、VPN装置のWAN側インターフェースに割り当てられたグローバルアドレスを使用する(S114→S122)。
STUNサーバへの通知は(S122)、VPN対向装置12についての通知が来るまで、接続設定テーブル105に記録された通知間隔で定期的に繰り返す(S123→S124→S122)。VPN対向装置12についての通知が来たら(S123→有)、通知されたアドレス及びポート番号へテストパケットを送出する(S125)。このテストパケットによる通知についてのセッションがタイムアウトするまでにVPN接続要求が来たら(S126)、VPN接続要求を確立する(S127)。タイムアウトしたら(S126→タイムアウト)、再びSTUNサーバ13に通知して(122)、VPN対向装置12についての通知を待つ(S123→S125)。VPNの接続が切断されたら(S128)、再び、STUNサーバ13への通知に戻る。
このような、SAM機能やVPN機能の有り無しのどちらにも対応できるVPN装置11の構成例を図8に示す。図中のトンネルのうち、IPv6WAN−IFをそのまま使う左方のトンネルは、SAM機能無しに直接通信する際のラインである。具体的には、ここで用いるアドレスは事業者v6網32から取得するIPv6のグローバルアドレスであり、図7におけるS114に対応する。一方、SAM機能を利用する本発明の実施形態では、図中右側のトンネルを利用する。この場合、図中下方のLAN論理IFが、図7中S121で有するローカルアドレスに対応する。すなわち、IPv4として処理されるものの、途中にあるSAM論理IFが、P−SAM装置21からの指定によってポート番号を限定させるとともに、P−SAM装置21のグローバルアドレスを受け取って、そのアドレスとして振る舞うことになる。
11 VPN装置
12 VPN対向装置
13 STUNサーバ
21 P−SAM装置
22 LSN
23 端末
25、26 ルータ
31 IPv4ローカル網
32 事業者v6網
33 ISPv6網
34 ISPv4網
35 モバイル/スポット網
36 SAMネットワーク
<C−SAM(VPN装置)>
101 第一自己通知手段
102 対向アドレス記録手段
103 テストパケット送出手段
104 VPN対応手段
105 接続設定テーブル
106 VPN対向テーブル
107 SAM判定手段
<端末(VPN対向装置)>
111 第二自己通知手段
112 対象アドレス記録手段
114 VPN接続要求手段
115 VPN設定テーブル
116 VPN宛先テーブル
<STUNサーバ>
121 テーブル更新手段
122 接続情報テーブル
123 相互通知手段
124 テストパケット送出指示手段

Claims (2)

  1. VPN接続要求を受け付け可能なVPN装置と、
    上記VPN接続要求を送信可能なVPN対向装置と、
    IPv4ネットワーク上にあり、上記VPN装置及び上記VPN対向装置からのメッセージを受け付け可能なSTUNサーバと、を有するシステムであって、
    上記VPN装置は、
    自身のローカルアドレスを送信元アドレスとし、自身が指定したポート番号を送信元ポート番号とするIPv4パケットを、自身でSAM変換した上で上記STUNサーバへ通知する第一自己通知手段と、
    上記STUNサーバから受信した、上記STUNサーバに登録された上記VPN対向装置からの通知に対応するアドレス及びポート番号を記録する対向アドレス記録手段と、
    上記対向アドレス記録手段により記録された上記VPN対向装置のアドレス及びポート番号へ、上記VPN装置自身がVPNで利用するポート番号を送信元ポート番号に設定したテストパケットを送出する、テストパケット送出手段と、を有し、
    上記VPN対向装置は、
    上記STUNサーバへ送信元アドレス及びポート番号を通知する第二自己通知手段を有し、
    上記STUNサーバから受信した、上記STUNサーバに登録された上記VPN装置からの通知に対応するアドレス及びポート番号を記録する対象アドレス記録手段と、
    上記対象アドレス記録手段により記録された上記VPN装置のアドレス及びポート番号へVPN接続要求を送信する、VPN接続要求手段と、を有し、
    上記STUNサーバは、
    上記第一自己通知手段及び上記第二自己通知手段により通知されたアドレス及びポート番号を接続情報テーブルに登録するテーブル更新手段を有し、
    VPN接続の対になる上記VPN装置及び上記VPN対向装置のそれぞれのアドレス及びポート番号を宛先に指定して、相手方のアドレス及びポート番号を通知する相互通知手段を有し、
    上記VPN装置のアドレス及びポート番号を宛先に指定してテストパケット送出指示を送信する、テストパケット送出指示手段を有する
    VPN構築システム。
  2. 上記第一自己通知手段及び上記第二自己通知手段による通知が、ID及びパスワードを含み、
    上記STUNサーバは、上記接続情報テーブルに記録されるID及びパスワードが共通した上記VPN装置及び上記VPN対向装置を、上記VPN接続の対になるものと判断する、請求項1に記載のVPN構築システム。
JP2013062133A 2013-03-25 2013-03-25 通信装置及び通信システム Active JP5904965B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013062133A JP5904965B2 (ja) 2013-03-25 2013-03-25 通信装置及び通信システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013062133A JP5904965B2 (ja) 2013-03-25 2013-03-25 通信装置及び通信システム

Publications (2)

Publication Number Publication Date
JP2014187614A true JP2014187614A (ja) 2014-10-02
JP5904965B2 JP5904965B2 (ja) 2016-04-20

Family

ID=51834705

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013062133A Active JP5904965B2 (ja) 2013-03-25 2013-03-25 通信装置及び通信システム

Country Status (1)

Country Link
JP (1) JP5904965B2 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006049251A1 (ja) * 2004-11-08 2006-05-11 Matsushita Electric Industrial Co., Ltd. 通信端末及び通信方法
JP2012191453A (ja) * 2011-03-10 2012-10-04 Fujitsu Ltd 通信方法および通信システム
JP2013038684A (ja) * 2011-08-10 2013-02-21 Refiner Inc Vpn接続管理システム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006049251A1 (ja) * 2004-11-08 2006-05-11 Matsushita Electric Industrial Co., Ltd. 通信端末及び通信方法
JP2012191453A (ja) * 2011-03-10 2012-10-04 Fujitsu Ltd 通信方法および通信システム
JP2013038684A (ja) * 2011-08-10 2013-02-21 Refiner Inc Vpn接続管理システム

Also Published As

Publication number Publication date
JP5904965B2 (ja) 2016-04-20

Similar Documents

Publication Publication Date Title
US6742036B1 (en) Method for supporting mobility on the internet
US8457014B2 (en) Method for configuring control tunnel and direct tunnel in IPv4 network-based IPv6 service providing system
EP2253123B1 (en) Method and apparatus for communication of data packets between local networks
EP1441483B1 (en) Gateway for supporting communications between network devices of different private networks
JP4579934B2 (ja) レガシーノードとhipノード間のホストアイデンティティプロトコル(hip)接続を確立するためのアドレス指定方法及び装置
JP4327142B2 (ja) 情報処理システム、トンネル通信装置、トンネル通信方法、代理応答装置、及び代理応答方法
EP1753180B1 (en) Server for routing a connection to a client device
JP4222397B2 (ja) 中継サーバ
KR100941947B1 (ko) 통신 모듈 및 이 통신 모듈을 구비한 애플리케이션 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체
JP4909277B2 (ja) ネットワーク通信機器、ネットワーク通信方法、アドレス管理機器
CN105376299B (zh) 一种网络通信方法、设备及网络附属存储设备
US8621087B2 (en) Method for configuring closed user network using IP tunneling mechanism and closed user network system
US8873569B2 (en) User centric virtual network and method of establishing the same
CN108123912B (zh) 一种支持p2p的微服务系统
US20170207921A1 (en) Access to a node
JP2009010606A (ja) トンネル接続システム、トンネル管理サーバ、トンネル接続装置、及びトンネル接続方法
Verma et al. Extending port forwarding concept to IoT
JP5261432B2 (ja) 通信システム、パケット転送方法、ネットワーク交換装置、アクセス制御装置、及びプログラム
JP6532975B1 (ja) Ipネットワーク接続システム、ipネットワーク接続装置、ipネットワーク接続方法、及びプログラム
JP5904965B2 (ja) 通信装置及び通信システム
CN104301197A (zh) 一种实现用户多终端间相互发现的方法与系统
WO2008069504A1 (en) Method for configuring control tunnel and direct tunnel in ipv4 network-based ipv6 service providing system
EP1689122A2 (en) System, method and program for movement management of a mobile node
JP5225300B2 (ja) プライベートネットワークを介したモバイルipの経路制御方法、モバイルルータ及びプログラム
WO2012046728A1 (ja) パケット転送装置、パケット転送方法、およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150623

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160224

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160315

R150 Certificate of patent or registration of utility model

Ref document number: 5904965

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250