JP6770132B2 - VPN construction program - Google Patents

VPN construction program Download PDF

Info

Publication number
JP6770132B2
JP6770132B2 JP2019086337A JP2019086337A JP6770132B2 JP 6770132 B2 JP6770132 B2 JP 6770132B2 JP 2019086337 A JP2019086337 A JP 2019086337A JP 2019086337 A JP2019086337 A JP 2019086337A JP 6770132 B2 JP6770132 B2 JP 6770132B2
Authority
JP
Japan
Prior art keywords
address
nat
port
spoke
communication device
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
JP2019086337A
Other languages
Japanese (ja)
Other versions
JP2019118156A (en
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.)
NEC Platforms Ltd
Original Assignee
NEC Platforms 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 NEC Platforms Ltd filed Critical NEC Platforms Ltd
Priority to JP2019086337A priority Critical patent/JP6770132B2/en
Publication of JP2019118156A publication Critical patent/JP2019118156A/en
Application granted granted Critical
Publication of JP6770132B2 publication Critical patent/JP6770132B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、通信システム、通信装置およびVPN(Virtual Private Network)構築方法に関し、特に、DMVPN(Dynamic Multipoint Virtual Private Network)を構成する通信システム、通信装置およびVPN構築方法に関する。 The present invention relates to a communication system, a communication device and a VPN (Virtual Private Network) construction method, and more particularly to a communication system, a communication device and a VPN construction method constituting a DMVPN (Dynamic Multipoint Virtual Private Network).

広域網を介した企業等の多数の拠点間でVPNを構築する際に、本社のVPN装置を経由することなく、直接、拠点間でデータを交換することができる安全なネットワークを構築する仕組みを提供するソリューションとしてDMVPNがある。DMVPNは「Dynamic Multipoint Virtual Private Network」の略称で、ハブアンドスポーク型のVPNを構築し、スポーク同士の通信が発生した際にはオンデマンドでスポーク間の仮想トンネルを生成することができる。つまり、DMVPNは、ハブアンドスポーク型の構成をとりながらフルメッシュに近いパフォーマンスを提供することができる。なお、仮想トンネルはVPN装置によりオリジナルのパケットがキャリアプロトコルでカプセル化されることにより構築されるものである。 When building a VPN between a large number of bases such as companies via a wide area network, a mechanism to build a secure network that can directly exchange data between bases without going through the VPN device at the head office DMVPN is one of the solutions provided. DMVPN is an abbreviation of "Dynamic Multipoint Virtual Private Network", and it is possible to construct a hub-and-spoke VPN and generate a virtual tunnel between spokes on demand when communication between spokes occurs. In other words, DMVPN can provide performance close to full mesh while adopting a hub-and-spoke type configuration. The virtual tunnel is constructed by encapsulating the original packet with the carrier protocol by the VPN device.

例えば、拠点のLAN(Local Area Network)を配下にするスポークであるVPN装置と本社に配置されたハブであるVPN装置のそれぞれをインターネット等の広域網を介して仮想トンネルで接続する。このとき、ハブとスポーク間には常に仮想トンネルを設定しておき、スポーク同士は必要時のみ仮想トンネルを生成する構成にする。このようにDMVPNの仮想トンネルは、ハブに複数のスポークを接続した、宛先が複数存在する仮想トンネルとなるため、マルチポイントでルーティングカプセル化を行うマルチポイントGRE(Generic Routing Encapsulation)が使われる。また、仮想トンネル内の通信の安全性を確保するために転送データの暗号化を行うIPsec(Internet Protocol Security)が使われる。 For example, the VPN device, which is a spoke under the LAN (Local Area Network) of the base, and the VPN device, which is a hub located at the head office, are connected by a virtual tunnel via a wide area network such as the Internet. At this time, a virtual tunnel is always set between the hub and the spokes, and the spokes are configured to generate a virtual tunnel only when necessary. In this way, the DMVPNN virtual tunnel is a virtual tunnel in which a plurality of spokes are connected to the hub and there are a plurality of destinations. Therefore, a multipoint GRE (Generic Routing Encapsulation) that performs routing encapsulation at multiple points is used. In addition, IPsec (Internet Protocol Security), which encrypts the transferred data, is used to ensure the security of communication in the virtual tunnel.

つまり、ハブと各スポークは静的なIPsecによる仮想トンネルで接続されて、スポーク間にはオンデマンドでIPsecによる仮想トンネルを張るように構成する。このように構成することにより、ハブの負荷を軽減し、しかも通信の安全を確保したネットワークを柔軟に構築することができる。 That is, the hub and each spoke are connected by a static IPsec virtual tunnel, and an IPsec virtual tunnel is established between the spokes on demand. With this configuration, it is possible to flexibly construct a network that reduces the load on the hub and ensures communication security.

なお、IPsecは、インターネットを介したルータ間でセキュリティの高いLAN間通信を行うためにIETF(Internet Engineering Task Force)がVPNの標準プロトコルとして規定したものである。IPsecは、LANをインターネットに接続するルータ同士がインターネットを介して行う通信を、所定のプロトコルに従って暗号化し、それらルータ間で送受信されるデータが盗聴されたり改ざんされたりすることを回避する技術である。つまり、LANをインターネットに接続するルータ同士は、インターネット内を転送するパケットをIPsecによって暗号化およびカプセル化して安全なVPNを構築する。 In addition, IPsec is defined by the IETF (Internet Engineering Task Force) as a VPN standard protocol in order to perform highly secure LAN-to-LAN communication between routers via the Internet. IPsec is a technology that encrypts communication between routers that connect a LAN to the Internet via the Internet according to a predetermined protocol, and prevents data transmitted and received between these routers from being eavesdropped or tampered with. .. That is, the routers that connect the LAN to the Internet encrypt and encapsulate the packets transferred in the Internet by IPsec to construct a secure VPN.

また、DMVPNで使用される技術としてNHRP(Next Hop Resolution Protocol)がある。 In addition, there is NHRP (Next Hop Resolution Protocol) as a technology used in DMVPN.

NHRPは、ブロードキャストをサポートしないマルチアクセスネットワークであるNBMA(Non Broadcast Multiple Access)環境におけるアドレス解決を行うプロトコルで、IETFのRFC(Request For Comments)2332で規定されている。NHRPは、仮想トンネルの宛先IP(Internet Protocol)アドレス(仮想ネットワーク上のプライベートIPアドレス)から、宛先VPN装置の広域網側での物理アドレスであるNBMA(Non Broadcast Multiple Access)アドレスを解決するためのプロトコルである。 NHRP is a protocol for address resolution in an NBMA (Non Broadcast Multiple Access) environment, which is a multi-access network that does not support broadcasting, and is specified in RFC (Request For Comments) 2332 of the IETF. NHRP is for resolving the NBMA (Non Broadcast Multiple Access) address, which is the physical address on the wide area network side of the destination VPN device, from the destination IP (Internet Protocol) address (private IP address on the virtual network) of the virtual tunnel. It is a protocol.

DMVPNでは、例えば、次のような手順でスポーク間の動的な仮想トンネルを生成する。 In DMVPN, for example, a dynamic virtual tunnel between spokes is created by the following procedure.

ハブ配下の各スポークは、あらかじめNHRP登録によって自身の仮想トンネルのプライベートIPアドレスとNBMAアドレスをハブに通知する。そして、ハブは、各スポークの仮想トンネルのプライベートIPアドレスとNBMAアドレスのマッピング情報を保持する。 Each spoke under the hub notifies the hub of the private IP address and NBMA address of its own virtual tunnel in advance by NHRP registration. Then, the hub holds the mapping information of the private IP address and the NBMA address of the virtual tunnel of each spoke.

あるスポークA配下のプライベートネットワーク内の端末Aが別のスポークB配下のプライベートネットワーク内の端末Bと通信するとき、データパケットは、端末A→スポークA→ハブ→スポークB→端末Bの経路で伝達される。 When terminal A in the private network under one spoke A communicates with terminal B in the private network under another spoke B, the data packet is transmitted in the route of terminal A → spoke A → hub → spoke B → terminal B. Will be done.

この時、ハブはパケットの送信元のスポークAとパケットの送信先となるスポークBが動的に仮想トンネルを生成可能であることを検出すると、スポークA宛にNHRPトラフィック通知を送信する。NHRPトラフィック通知にはスポークB配下のプライベートネットワーク内の端末BのプライベートIPアドレスが格納されている。 At this time, when the hub detects that the spoke A that is the source of the packet and the spoke B that is the destination of the packet can dynamically generate a virtual tunnel, it sends an NHRP traffic notification to the spoke A. The NHRP traffic notification stores the private IP address of the terminal B in the private network under the spoke B.

NHRPトラフィック通知を受信したスポークAは、スポークB配下のプライベートネットワーク内の端末BのプライベートIPアドレス宛てにNHRP解決要求を送信する。 Upon receiving the NHRP traffic notification, spoke A sends an NHRP resolution request to the private IP address of terminal B in the private network under spoke B.

NHRP解決要求はハブを経由してスポークBで受信される。 The NHRP resolution request is received at spoke B via the hub.

スポークBは、スポークA宛にNHRP解決応答を返送する。NHRP解決応答には、スポークBの仮想トンネルのプライベートIPアドレスとNBMAアドレスが格納されている。 Spoke B returns an NHRP resolution response to Spoke A. The private IP address and NBMA address of the virtual tunnel of spoke B are stored in the NHRP resolution response.

NHRP解決応答を受信したスポークAでは、スポークB配下のプライベートネットワーク宛のパケットはスポークBの仮想トンネルのプライベートIPアドレス宛に転送する、という経路情報が生成される。そして、スポークAでは、これと同時にスポークBの仮想トンネルのプライベートIPアドレスとNBMAアドレスのマッピング情報を保持する。 In spoke A that has received the NHRP resolution response, route information is generated that packets destined for the private network under spoke B are forwarded to the private IP address of the virtual tunnel of spoke B. At the same time, the spoke A holds the mapping information between the private IP address and the NBMA address of the virtual tunnel of the spoke B.

スポークAは、保持しているスポークBのアドレス情報を使用して、スポークBへの仮想トンネルを生成する。これにより、この仮想トンネル生成以降のデータパケットは、スポークAからハブを経由せずに直接スポークBに送信され、スポークB配下のプライベートネットワーク内の端末Bに送信される。 Spoke A uses the address information of spoke B that it holds to create a virtual tunnel to spoke B. As a result, the data packet after the virtual tunnel is generated is directly transmitted from the spoke A to the spoke B without passing through the hub, and is transmitted to the terminal B in the private network under the spoke B.

なお、上記の説明において、スポークAからのNHRP解決要求を受けたハブがスポークBにそれを送り、スポークBがNHRP解決応答を返送するとした。しかし、ハブでキャッシュされているマッピング情報に基づくNHRP解決応答の返送がプロトコル上で許容されている場合には、NHRP解決要求を受けたハブがNHRP解決応答を返送する場合もある。ここでは、説明を簡単にするために、スポークAからのNHRP解決要求を受けたハブがスポークBにそれを送り、スポークBがNHRP解決応答を返送するものとする。 In the above description, it is assumed that the hub that receives the NHRP resolution request from spoke A sends it to spoke B, and spoke B returns the NHRP resolution response. However, if the protocol allows the return of the NHRP resolution response based on the mapping information cached in the hub, the hub that received the NHRP resolution request may return the NHRP resolution response. Here, for the sake of simplicity, it is assumed that the hub that received the NHRP resolution request from spoke A sends it to spoke B, and spoke B returns the NHRP resolution response.

ここで、VPNに関連する技術として、NAT(Network Address Translation)およびSTUN(Simple Traversal of User Datagram Protocol through NATs)プロトコルについて概観する。 Here, NAT (Network Address Translation) and STUN (Simple Traversal of User Datagram Protocol through NATs) protocols will be reviewed as technologies related to VPN.

NATは、プライベートネットワークとインターネットを接続するゲートウェイ装置において行うアドレス変換で、プライベートIPアドレスと、ゲートウェイ装置が保持しているグローバルIPアドレスとが変換される。NATはIETFのRFC2766、2663、3022等で規定されている。なお、ここでNATは狭義のNAPT(Network Address Port Translation)を含めた広義のNATを意味する。そして、アドレス・ポートは、アドレスのみ、アドレスおよびポート、のいずれかを意味するものとする。 NAT is an address translation performed by the gateway device that connects the private network and the Internet, and the private IP address and the global IP address held by the gateway device are translated. NAT is defined by the IETF RFCs 2766, 2663, 3022 and the like. Here, NAT means NAT in a broad sense including NAPT (Network Address Port Translation) in a narrow sense. And the address port shall mean either an address only, an address and a port.

STUNプロトコルは、NATを実行する装置(NAT装置)の後ろに位置する通信装置が、UDP(User Datagram Protocol)接続を行う際に、NAT装置を越えて通信するために必要なグローバルIPアドレス・ポート、NATの種別を取得するために使用される。STUNプロトコルは、IETFのRFC3489で規定されている。 The STUN protocol is a global IP address port required for a communication device located behind a device that executes NAT (NAT device) to communicate across a NAT device when making a UDP (User Datagram Protocol) connection. , Used to get the NAT type. The STUN protocol is specified in the IETF RFC3489.

STUNプロトコルが動作するネットワーク構成は、STUNサーバ、NAT装置、STUNクライアントから構成される。 The network configuration in which the STUN protocol operates consists of a STUN server, a NAT device, and a STUN client.

STUNサーバは、STUNプロトコルの実行に関するサービスを行うサーバで、インターネット上に設けられ、NAT装置を越えて通信を行うために必要な情報を提供するアドレス情報提供装置である。 The STUN server is a server that provides services related to the execution of the STUN protocol, and is an address information providing device that is provided on the Internet and provides information necessary for communicating beyond a NAT device.

STUNクライアントは、NAT装置の後ろに位置するプライベートネットワーク内の通信装置である。STUNクライアントは、NAT装置を介してインターネット上のSTUNサーバにテストメッセージを送信し、STUNサーバから該STUNクライアントがどのように見えるかの情報を取得する。つまり、STUNクライアントは、NAT装置を越えて通信を行うために必要なグローバルIPアドレス・ポート、NATの種別をSTUNサーバから取得する。 A STUN client is a communication device in a private network located behind a NAT device. The STUN client sends a test message to a STUN server on the Internet via a NAT device, and acquires information on what the STUN client looks like from the STUN server. That is, the STUN client acquires the global IP address port and NAT type required for communication across the NAT device from the STUN server.

なお、STUNプロトコルでは、NAT装置が実行するNATのアドレス・ポート変換のマッピング方法により、NATを4つの種別(NAT種別)に分類している。NATで割り当てたポートにアクセスできるインターネット側の端末の制限に応じて、フルコーンNAT、アドレス制限コーンNAT、ポート制限コーンNATおよびシンメトリックNATの4つのNAT種別がある。 In the STUN protocol, NAT is classified into four types (NAT types) according to the mapping method of the address / port translation of NAT executed by the NAT device. There are four NAT types, full cone NAT, address limiting cone NAT, port limiting cone NAT, and symmetric NAT, depending on the restrictions on the terminals on the Internet side that can access the port assigned by NAT.

フルコーンNATは、NATで割り当てたポートにアクセスできるインターネット側の端末の制限はなく、一度開いたセッション・ポートを誰からでもアクセス可能にする。つまり、通信相手によらず、NAT変換テーブルのエントリに応じたアドレス・ポート変換を行ってNAT装置の内側(プライベートネットワーク側)に通過させる。 Full-cone NAT does not limit the terminals on the Internet side that can access the port assigned by NAT, and makes the session port once opened accessible to anyone. That is, regardless of the communication partner, the address / port is translated according to the entry in the NAT translation table and passed to the inside of the NAT device (private network side).

アドレス制限コーンNATは、NATで割り当てたポートにアクセスできるインターネット側の端末を、アドレス依存で制限する。つまり、NAT装置配下の端末がアクセスした実績があるインターネット側のアドレスを有する端末からだけアクセス可能とし、NAT変換テーブルのエントリに応じたアドレス・ポート変換を行ってNATの内側に通過させる。なお、「NAT装置配下の端末」とは、NAT装置に接続されたプライベートネットワーク側の端末を意味する。 The address restriction cone NAT restricts the terminals on the Internet side that can access the port assigned by NAT in an address-dependent manner. That is, it is made accessible only from a terminal having an address on the Internet side that has been accessed by a terminal under the NAT device, and address / port translation is performed according to the entry in the NAT translation table to pass it inside the NAT. The "terminal under the NAT device" means a terminal on the private network side connected to the NAT device.

ポート制限コーンNATは、NATで割り当てたポートにアクセスできるインターネット側の端末を、アドレスとポートに依存して制限する。つまり、NAT装置配下の端末がアクセスした実績があるインターネット側のアドレスとポート番号を有する端末からだけアクセス可能とし、NAT変換テーブルのエントリに応じたアドレス・ポート変換を行ってNAT装置の内側に通過させる。 The port restriction cone NAT restricts the terminals on the Internet side that can access the port assigned by NAT depending on the address and the port. In other words, it can be accessed only from terminals that have an address and port number on the Internet side that have been accessed by terminals under the NAT device, and address / port translation according to the entry in the NAT translation table is performed and passed inside the NAT device. Let me.

シンメトリックNATは、通信元の端末に対して、通信先のインターネット側の宛先ごとに異なるポート番号を有するNAT変換テーブルのエントリを生成する。つまり、インターネット側の宛先が変わるとNATのインターネット向けのポート番号が必ず変わることになる。そして、NATで割り当てたポートにアクセスできるインターネット側の端末として、通信元のプライベートネットワーク側の端末と通信先のインターネット側の端末が1対1に対応する場合にのみ制限される。 Symmetric NAT generates an entry in the NAT translation table for the communication source terminal, which has a different port number for each destination on the Internet side of the communication destination. In other words, if the destination on the Internet side changes, the port number for the NAT Internet will always change. Then, as the terminal on the Internet side that can access the port assigned by NAT, it is limited only when the terminal on the private network side of the communication source and the terminal on the Internet side of the communication destination have a one-to-one correspondence.

STUNクライアントが自身のNAT変換後のグローバルIPアドレス・ポートを知るまでの動作は以下のようになる。 The operation until the STUN client knows the global IP address / port after its own NAT translation is as follows.

STUNクライアントは、STUNサーバのグローバルIPアドレス・ポート宛にSTUNリクエストメッセージを送信する。 The STUN client sends a STUN request message to the global IP address port of the STUN server.

STUNリクエストメッセージがNAT装置を通過する時、NAT変換テーブルエントリが生成され、送信元IPアドレス・ポートがプライベートIPアドレス・ポートから、グローバルIPアドレス・ポートに書き換えられる。 When a STUN request message passes through a NAT device, a NAT translation table entry is generated and the source IP address port is rewritten from the private IP address port to the global IP address port.

STUNサーバは、STUNリクエストメッセージを受信すると、STUNレスポンスメッセージを、STUNリクエストメッセージの送信元アドレス・ポートのグローバルIPアドレス・ポート宛に送信する。この時、STUNサーバは、STUNレスポンスメッセージ中に、該グローバルIPアドレス・ポートを含める。 When the STUN server receives the STUN request message, it sends the STUN response message to the global IP address port of the source address port of the STUN request message. At this time, the STUN server includes the global IP address port in the STUN response message.

STUNレスポンスメッセージは、NAT装置を通過する時に、宛先アドレス・ポートがNAT変換テーブルエントリに基づいてプライベートIPアドレス・ポートに書き換えられ、STUNクライアントで受信される。 When the STUN response message passes through the NAT device, the destination address port is rewritten to the private IP address port based on the NAT translation table entry, and the STUN response message is received by the STUN client.

STUNクライアントは、STUNレスポンスメッセージに含まれるグローバルIPアドレス・ポートの情報によって自身のグローバルIPアドレスおよびグローバルポートを知ることができる。 The STUN client can know its own global IP address and global port from the information of the global IP address / port included in the STUN response message.

なお、STUNサーバは2つのIPアドレスおよびポート番号を持っている。そして、STUNクライアントはSTUNリクエストメッセージを送信する際、リクエストメッセージ内にIPアドレス変更およびポート番号変更要求を含めることができる。これにより、STUNサーバからのレスポンスメッセージの送信元IPアドレスおよびポート番号を変更させることができる。STUNプロトコルでは、この仕組みによってSTUNクライアントとSTUNサーバ間で数回の通信を行うことにより、STUNクライアントが、自身の接続しているNAT装置のNAT種別を特定する事ができるようになっている。 The STUN server has two IP addresses and port numbers. Then, when the STUN client sends a STUN request message, the request message can include an IP address change and a port number change request. As a result, the source IP address and port number of the response message from the STUN server can be changed. In the STUN protocol, this mechanism allows the STUN client to specify the NAT type of the NAT device to which it is connected by performing communication between the STUN client and the STUN server several times.

VPN装置、NATおよびSTUNに関する技術が特許文献1乃至3に開示されている。 Techniques relating to VPN devices, NAT and STUN are disclosed in Patent Documents 1 to 3.

特許文献1は、通信中においてP2P(peer-to-peer)通信が可能な場合にはP2P通信に移行できるVPN装置を開示する。条件によって動作特性が変化するNAT装置が存在し、通話開始時には中継サーバ経由での通信しか行えない場合であっても、その通信の最中にP2P通信が可能な条件になることがある。そのような場合に、特許文献1が開示するVPN装置はP2P通信に移行することができる。 Patent Document 1 discloses a VPN device capable of shifting to P2P communication when P2P (peer-to-peer) communication is possible during communication. Even if there is a NAT device whose operating characteristics change depending on the conditions and only communication via the relay server can be performed at the start of a call, P2P communication may be possible during the communication. In such a case, the VPN device disclosed in Patent Document 1 can shift to P2P communication.

このVPN装置は、NAT種別判定部を備え、相手装置と中継サーバ経由通信を行っているときにNAT種別の判定処理を行い、相手装置との間でP2P通信ができる可能性の高いNAT種別と判定した場合にP2P通信に移行する処理を行う。また、このVPN装置は、中継装置の外部側から自装置にアクセスする際に用いる外部アドレス・ポート情報を取得する外部アドレス・ポート取得部を備える。 This VPN device is equipped with a NAT type determination unit, performs NAT type determination processing when communicating with the other device via a relay server, and has a high possibility of performing P2P communication with the other device. If it is determined, the process of shifting to P2P communication is performed. Further, this VPN device includes an external address / port acquisition unit that acquires external address / port information used when accessing the own device from the external side of the relay device.

外部アドレス・ポート取得部は、STUNサーバとの間で所定のテスト手順の通信を実行し、STUNサーバから自装置の通信のために割り当てられたグローバルIPアドレスおよびポートが含まれる応答パケットを受信する。また、STUNによりNAT種別判定を行う。NAT種別判定部は、送信側と受信側に設置されているNAT種別の組合せによってP2P通信の可否を決定する。 The external address / port acquisition unit executes communication of a predetermined test procedure with the STUN server, and receives a response packet containing the global IP address and port assigned for communication of the own device from the STUN server. .. In addition, the NAT type is determined by STUN. The NAT type determination unit determines whether or not P2P communication is possible depending on the combination of NAT types installed on the transmitting side and the receiving side.

P2P通信に移行する場合は、呼制御サーバを介して呼制御ポートを使用して発呼側と被呼側を接続し、中継サーバを介した通信を行うための通信ポート情報を交換する。そして、中継サーバを介した通信において、P2P通信を行うP2Pポートの情報を交換する。なお、呼制御サーバは、登録された端末等の識別情報を保持して、特定の相手先を呼び出して通信経路を確立するための通信装置間の呼制御に関するサービスを行う装置である。 When shifting to P2P communication, the calling side and the called side are connected using the call control port via the call control server, and communication port information for performing communication via the relay server is exchanged. Then, in the communication via the relay server, the information of the P2P port that performs P2P communication is exchanged. The call control server is a device that holds identification information of a registered terminal or the like and provides a service related to call control between communication devices for calling a specific destination and establishing a communication path.

特許文献2は、アドレス変換が行われるネットワーク間において、中継装置のNAT種別を判定してすみやかに相手装置との通信可能性を判定し、相手装置との通信経路を構築することができるVPN装置を開示する。 Patent Document 2 is a VPN device capable of determining the NAT type of a relay device between networks in which address translation is performed, promptly determining the communication possibility with the other device, and constructing a communication path with the other device. To disclose.

このVPN装置は、STUNサーバに対して、少なくとも2つのテストパケットをSTUNサーバの異なるアドレス・ポートに送信する。そして、これらのテストパケットに対する異なるアドレス・ポートからの応答パケットに含まれる外部アドレス・ポート情報に基づいて中継装置のNAT種別を判定し、通信可能性を判定する。 The VPN device sends at least two test packets to the STUN server to different address ports on the STUN server. Then, the NAT type of the relay device is determined based on the external address / port information included in the response packets from the different address ports to these test packets, and the communication possibility is determined.

通信可能と判定してP2P通信に移行する場合は、呼制御サーバを介して発呼側から被呼側に外部アドレス・ポート情報を含めた接続要求を送信する。被呼側は、呼制御サーバを介した接続要求を受けると、発呼側と同様にSTUNサーバから自装置の外部アドレス・ポート情報を取得する。そして、この外部アドレス・ポート情報を含めた接続応答を、呼制御サーバを介して発呼側に返送する。 When it is determined that communication is possible and the process shifts to P2P communication, a connection request including external address / port information is transmitted from the calling side to the called side via the call control server. When the called party receives a connection request via the call control server, the called party acquires the external address / port information of its own device from the STUN server in the same manner as the calling party. Then, the connection response including the external address / port information is returned to the calling side via the call control server.

このように、呼制御サーバを介して発呼側と被呼側の双方が相手の外部アドレス・ポート情報を取得することで、以降は発呼側と被呼側間で外部アドレス・ポート情報を用いてP2P通信を行う。なお、呼制御サーバは、登録された端末等の識別情報を保持して、特定の相手先を呼び出して通信経路を確立するための通信装置間の呼制御に関するサービスを行う装置である。 In this way, both the calling side and the called side acquire the external address / port information of the other party via the call control server, and thereafter, the external address / port information is obtained between the calling side and the called side. It is used for P2P communication. The call control server is a device that holds identification information of a registered terminal or the like and provides a service related to call control between communication devices for calling a specific destination and establishing a communication path.

特許文献3は、インターネット等を中継して接続されるローカルネットワーク間で接続を行うIP−PBX(Private Branch Exchange)やIPキー電話システム等の通信装置を開示する。 Patent Document 3 discloses a communication device such as an IP-PBX (Private Branch Exchange) or an IP key telephone system that connects between local networks connected via the Internet or the like.

IP−PBXは、ローカルネットワークのゲートウェイとして機能するルータまたはSTUNサーバから自装置のアクセス情報(グローバルIPアドレス・ポート)を取得し、取得したアクセス情報を本文に挿入した電子メールを作成する。そして、IP−PBXは、該電子メールを異なるローカルネットワークに配備された遠隔地のIP電話機を宛先として送信する。遠隔地のIP電話機は、電子メールに記載されたアクセス情報を用いてIP−PBXに登録を行う。この登録により、IP−PBXは、遠隔地のIP電話機への発着信制御を行う。 The IP-PBX acquires the access information (global IP address / port) of its own device from the router or STUN server that functions as the gateway of the local network, and creates an e-mail in which the acquired access information is inserted in the text. Then, the IP-PBX transmits the e-mail to a remote IP telephone deployed in a different local network as a destination. A remote IP telephone registers with the IP-PBX using the access information described in the e-mail. By this registration, the IP-PBX controls incoming / outgoing calls to the IP telephone at a remote location.

特開2011−188358号公報Japanese Unexamined Patent Publication No. 2011-188358 特開2010−283594号公報JP-A-2010-283594 特開2011−041138号公報Japanese Unexamined Patent Publication No. 2011-041138

DMVPNにおいて、スポークがNAT装置の配下に位置するネットワーク環境では、スポーク間通信を行なおうとする2つのスポークが、互いのNAT変換後のグローバルIPアドレスを知ることができない。インターネット内で通知されていて、転送データの到達性のあるアドレス情報はグローバルIPアドレスである。そのため、スポークがNAT装置の配下に位置するネットワーク環境では、双方のスポークにおいて相手のグローバルIPアドレスを知ることができず、スポーク間で動的に仮想トンネルを確立することができない。 In DMVPN, in a network environment in which the spokes are located under the NAT device, the two spokes trying to perform inter-spoke communication cannot know each other's global IP address after NAT translation. The reachable address information of the transferred data that is notified on the Internet is the global IP address. Therefore, in a network environment in which the spokes are located under the NAT device, the global IP addresses of the other spokes cannot be known in both spokes, and a virtual tunnel cannot be dynamically established between the spokes.

例えば、DMVPNは、インターネットを介した企業ネットワークにおいて、本社と各拠点にVPN装置を配置してフルメッシュのVPNを実現することができる。通常、インターネットの接続のためにはISP(Internet Service Provider)を選定する必要がある。そして、一部のISPでは、IPアドレス枯渇問題などを背景として、キャリア・グレードNATの導入が行われている。 For example, DMVPN can realize a full-mesh VPN by arranging VPN devices at the head office and each base in a corporate network via the Internet. Normally, it is necessary to select an ISP (Internet Service Provider) for connecting to the Internet. In some ISPs, carrier grade NAT has been introduced against the background of the IP address exhaustion problem.

スポークとなるVPN装置をインターネットに接続するためのISPがキャリア・グレードNATを導入している場合、キャリア・グレードNAT配下のスポークのIPアドレス・ポートはキャリア・グレードNATにより変換される。そのため、キャリア・グレードNAT配下のスポーク間で動的に仮想トンネルを生成しようとしても、互いのNAT変換後のグローバルIPアドレス・ポートを知ることができない。 When the ISP for connecting the VPN device to be a spoke to the Internet has introduced a carrier grade NAT, the IP address port of the spoke under the carrier grade NAT is translated by the carrier grade NAT. Therefore, even if an attempt is made to dynamically generate a virtual tunnel between spokes under a carrier grade NAT, it is not possible to know the global IP address port after each NAT translation.

一方、特許文献1乃至3には、STUNプロトコルを用いてNAT変換後のグローバルIPアドレス・ポートを知る技術が開示されている。 On the other hand, Patent Documents 1 to 3 disclose a technique for knowing the global IP address port after NAT conversion using the STUN protocol.

そして、特許文献1や特許文献2が開示する技術は、STUNプロトコルを用いて取得したNAT変換後のグローバルIPアドレス・ポートを、呼制御サーバを介して発呼側と被呼側が相互に交換するように構成している。また、特許文献3が開示する技術では、STUNプロトコルを用いて取得したNAT変換後のグローバルIPアドレス・ポートを、電子メールを用いて遠隔地のIP電話機に通知するように構成している。 Then, in the technology disclosed in Patent Document 1 and Patent Document 2, the calling side and the called side exchange the global IP address port after NAT conversion acquired by using the STUN protocol with each other via the call control server. It is configured as follows. Further, in the technique disclosed in Patent Document 3, the global IP address port after NAT conversion acquired by using the STUN protocol is configured to be notified to a remote IP telephone by using e-mail.

特許文献1や特許文献2における呼制御サーバは、登録された端末等の識別情報を保持して、特定の相手先を呼び出して通信経路を確立するための通信装置間の呼制御に関するサービスを行う装置である。そして、特許文献1や特許文献2においてはそのような呼制御サーバが配備された環境を前提としている。また、特許文献3では電子メールを送信する構成を必要とすることを前提としている。 The call control server in Patent Document 1 and Patent Document 2 holds identification information of a registered terminal or the like, and provides a service related to call control between communication devices for calling a specific destination and establishing a communication path. It is a device. Then, Patent Document 1 and Patent Document 2 assume an environment in which such a call control server is deployed. Further, Patent Document 3 presupposes that a configuration for transmitting an e-mail is required.

そのため、特許文献1乃至3が開示する技術は、そのような前提が適用できないシステムに対しては用いることができないという課題がある。 Therefore, there is a problem that the techniques disclosed in Patent Documents 1 to 3 cannot be used for a system to which such a premise cannot be applied.

つまり、NAT変換後のグローバルIPアドレス・ポートが取得できたとしても、呼制御サーバが配備されていない環境や電子メールを送信するという構成を有しないDMVPN上のスポークはその情報を相手のスポークに伝達できないという課題がある。 In other words, even if the global IP address port after NAT translation can be obtained, the spokes on DMVPN that do not have a call control server deployed environment or a configuration for sending e-mail will send that information to the spokes of the other party. There is a problem that it cannot be communicated.

本発明は、DMVPN上のスポークがNAT装置配下にある環境で、取得したNAT変換後のグローバルIPアドレス・ポート情報をスポーク間で通知して、動的に仮想トンネルを生成することができる通信システム、通信装置およびVPN構築方法を提供する。 The present invention is a communication system capable of dynamically generating a virtual tunnel by notifying the acquired global IP address / port information after NAT translation between the spokes in an environment where the spokes on the DMVPN are under the control of the NAT device. , Communication device and VPN construction method.

上記の目的を実現するために、本発明の一形態である通信システムは、DMVPN(Dynamic Multipoint Virtual Private Network)を構成するスポークとして機能し、異なるアドレス空間のネットワーク間で送受信されるパケットのNAT(Network Address Translation)アドレス変換を行う中継装置の配下に設置され、前記NATアドレス変換で生成された、前記中継装置の外側のアドレス空間からアクセスすることが可能なアドレス情報である外部アドレス・ポート情報を返信する機能を持つアドレス情報提供装置から前記外部アドレス・ポート情報を取得し、前記DMVPNで使用するNHRP(Next Hop Resolution Protocol)登録パケットの拡張フィールドに該外部アドレス・ポート情報を含めて送信する、少なくとも2つの通信装置である第1の通信装置と第2の通信装置と、前記DMVPNを構成するハブとして機能し、配下の前記第1の通信装置と前記第2の通信装置のそれぞれから受信した前記NHRP登録パケットに含まれる前記外部アドレス・ポート情報を前記第1の通信装置と前記第2の通信装置のそれぞれと対応付けたマッピング情報に登録する第3の通信装置と、を含み、前記第3の通信装置は、該第3の通信装置を介したパケット送信元の前記スポークである前記第1の通信装置からパケット送信先の前記スポークである前記第2の通信装置との通信において、該第1の通信装置と該第2の通信装置との間に仮想トンネルを生成可能であることを前記マッピング情報に基づいて検出すると、前記第1の通信装置に対して前記仮想トンネルの生成を指示し、前記第3の通信装置から前記仮想トンネルの生成の指示を受けた前記第1の通信装置は、前記DMVPNで使用するNHRP解決要求パケットの拡張フィールドに該第1の通信装置の前記外部アドレス・ポート情報を含めて送信し、前記第1の通信装置から前記NHRP解決要求パケットを受信した前記第2の通信装置は、前記DMVPNで使用するNHRP解決応答パケットの拡張フィールドに該第2の通信装置の前記外部アドレス・ポート情報を含めて返信し、前記NHRP解決応答パケットを受信した前記第1の通信装置は、該NHRP解決応答パケットに含まれる前記第2の通信装置の前記外部アドレス・ポート情報に基づいて、前記第2の通信装置との間に前記仮想トンネルを生成することを特徴とする。 In order to achieve the above object, the communication system, which is one embodiment of the present invention, functions as a spoke constituting DMVPN (Dynamic Multipoint Virtual Private Network), and NAT (NAT) of packets transmitted and received between networks in different address spaces. Network Address Translation) External address / port information that is installed under the relay device that performs address translation and is the address information that can be accessed from the address space outside the relay device, which is generated by the NAT address translation. The external address / port information is acquired from an address information providing device having a reply function, and the external address / port information is included in the extended field of the NHRP (Next Hop Resolution Protocol) registration packet used in the DMVPN. It functions as a hub constituting the DMVPN, the first communication device and the second communication device, which are at least two communication devices, and receives from each of the first communication device and the second communication device under the control. The first communication device and a third communication device that registers the external address / port information included in the NHRP registration packet in mapping information associated with each of the first communication device and the second communication device are included. The communication device 3 is used in communication from the first communication device, which is the spoke of the packet transmission source, to the second communication device, which is the spoke of the packet transmission destination, via the third communication device. When it is detected based on the mapping information that a virtual tunnel can be generated between the first communication device and the second communication device, the first communication device is instructed to generate the virtual tunnel. Then, the first communication device, which has been instructed to generate the virtual tunnel by the third communication device, has the external address of the first communication device in the extended field of the NHRP resolution request packet used in the DMVPN. The second communication device that transmits including the port information and receives the NHRP resolution request packet from the first communication device puts the second communication in the extended field of the NHRP resolution response packet used in the DMVPN. The first communication device that replied including the external address port information of the device and received the NHRP resolution response packet is the external address port of the second communication device included in the NHRP resolution response packet. information Based on the above, the virtual tunnel is generated between the second communication device and the second communication device.

また、本発明の別の形態である通信装置は、異なるアドレス空間のネットワーク間で送受信されるパケットのNAT(Network Address Translation)アドレス変換を行う中継装置を介して、前記NATアドレス変換で生成された前記中継装置の外側のアドレス空間からアクセスすることが可能なアドレス情報である外部アドレス・ポート情報を返信する機能を持つアドレス情報提供装置から、前記外部アドレス・ポート情報を取得する外部アドレス・ポート情報取得手段と、DMVPN(Dynamic Multipoint Virtual Private Network)で使用するNHRP(Next Hop Resolution Protocol)登録パケットの拡張フィールドに前記外部アドレス・ポート情報を含めて該DMVPNのハブに送信し、前記ハブから、該ハブを介したスポーク間通信において、相手先スポークとの間に仮想トンネルを生成可能であることを通知されると、前記DMVPNで使用するNHRP解決要求パケットの拡張フィールドに前記外部アドレス・ポート情報を含めて前記相手先スポークに送信し、前記NHRP解決要求パケットを受信した前記相手先スポークが返送する前記DMVPNで使用するNHRP解決応答パケットの拡張フィールドから前記相手先スポークの前記外部アドレス・ポート情報を取得するアドレス解決手段と、前記アドレス解決手段が取得した前記相手先スポークの前記外部アドレス・ポート情報に基づいて、前記相手先スポークとの間に前記仮想トンネルを生成するトンネル生成手段と、を含むことを特徴とする。 Further, the communication device which is another form of the present invention is generated by the NAT address translation via a relay device which performs NAT (Network Address Translation) address translation of packets transmitted and received between networks in different address spaces. External address / port information for acquiring the external address / port information from an address information providing device having a function of returning external address / port information which is address information that can be accessed from the address space outside the relay device. The acquisition means and the extended field of the NHRP (Next Hop Resolution Protocol) registration packet used in the DMVPN (Dynamic Multipoint Virtual Private Network) include the external address / port information and transmit the external address / port information to the DMVPN hub. In inter-spoke communication via the hub, when notified that a virtual tunnel can be created with the destination spoke, the external address / port information is entered in the extended field of the NHRP resolution request packet used in the DMVPN. The external address / port information of the destination spoke is obtained from the extended field of the NHRP resolution response packet used in the DMVPN sent by the destination spoke that has been transmitted to the destination spoke and received the NHRP resolution request packet. Includes an address resolution means to be acquired and a tunnel generation means to generate the virtual tunnel between the destination spoke and the destination spoke based on the external address / port information of the destination spoke acquired by the address resolution means. It is characterized by that.

また、本発明の他の形態であるVPN構築方法は、DMVPN(Dynamic Multipoint Virtual Private Network)を構成するスポークとして機能し、異なるアドレス空間のネットワーク間で送受信されるパケットのNAT(Network Address Translation)アドレス変換を行う中継装置の配下に設置され、前記中継装置の外側のアドレス空間からアクセスすることが可能なアドレス情報である外部アドレス・ポート情報を返信する機能を持つアドレス情報提供装置から前記外部アドレス・ポート情報を取得する少なくとも2つの通信装置である第1の通信装置と第2の通信装置のそれぞれが、前記DMVPNで使用するNHRP(Next Hop Resolution Protocol)登録パケットの拡張フィールドに該外部アドレス・ポート情報を含めて送信し、前記DMVPNを構成するハブとして機能する第3の通信装置が、配下の前記第1の通信装置と前記第2の通信装置のそれぞれから受信した前記NHRP登録パケットに含まれる前記外部アドレス・ポート情報を前記第1の通信装置と前記第2の通信装置のそれぞれと対応付けたマッピング情報に登録し、前記第3の通信装置を介したパケット送信元の前記スポークである前記第1の通信装置からパケット送信先の前記スポークである前記第2の通信装置との通信において、該第3の通信装置が、前記第1の通信装置と前記第2の通信装置との間に仮想トンネルを生成可能であることを前記マッピング情報に基づいて検出すると、前記第1の通信装置に対して前記仮想トンネルの生成を指示し、前記第3の通信装置から前記仮想トンネルの生成の指示を受けた前記第1の通信装置が、前記DMVPNで使用するNHRP解決要求パケットの拡張フィールドに該第1の通信装置の前記外部アドレス・ポート情報を含めて送信し、前記第1の通信装置から前記NHRP解決要求パケットを受信した前記第2の通信装置が、前記DMVPNで使用するNHRP解決応答パケットの拡張フィールドに該第2の通信装置の前記外部アドレス・ポート情報を含めて返信し、前記NHRP解決応答パケットを受信した前記第1の通信装置が、該NHRP解決応答パケットに含まれる前記第2の通信装置の前記外部アドレス・ポート情報に基づいて、前記第2の通信装置との間に前記仮想トンネルを生成することを特徴とする。 Further, another form of the present invention, the VPN construction method, functions as a spoke constituting a DMVPN (Dynamic Multipoint Virtual Private Network), and a NAT (Network Address Translation) address of a packet transmitted and received between networks in different address spaces. The external address from an address information providing device that is installed under the relay device that performs conversion and has a function of returning external address port information, which is address information that can be accessed from the address space outside the relay device. Each of the first communication device and the second communication device, which are at least two communication devices for acquiring port information, has the external address port in the extended field of the NHRP (Next Hop Resolution Protocol) registration packet used in the DMVPN. A third communication device that transmits information including information and functions as a hub that constitutes the DMVPN is included in the NHRP registration packet received from each of the first communication device and the second communication device under the control. The external address / port information is registered in mapping information associated with each of the first communication device and the second communication device, and is the spoke of the packet transmission source via the third communication device. In communication from the first communication device to the second communication device which is the spoke of the packet transmission destination, the third communication device is between the first communication device and the second communication device. When it is detected based on the mapping information that the virtual tunnel can be generated, the first communication device is instructed to generate the virtual tunnel, and the third communication device is instructed to generate the virtual tunnel. The first communication device that has received the message transmits the extended field of the NHRP resolution request packet used in the DMVPN, including the external address / port information of the first communication device, and the first communication device receives the message. The second communication device that has received the NHRP resolution request packet returns the extended field of the NHRP resolution response packet used in the DMVPN, including the external address / port information of the second communication device, and the NHRP. The first communication device that has received the resolution response packet communicates with the second communication device based on the external address / port information of the second communication device included in the NHRP resolution response packet. Virtual ton It is characterized by generating flannel.

さらに、本発明の他の形態である別の観点でのVPN構築方法は、異なるアドレス空間のネットワーク間で送受信されるパケットのNAT(Network Address Translation)アドレス変換を行う中継装置を介して、前記NATアドレス変換で生成された前記中継装置の外側のアドレス空間からアクセスすることが可能なアドレス情報である外部アドレス・ポート情報を返信する機能を持つアドレス情報提供装置から前記外部アドレス・ポート情報を取得し、DMVPN(Dynamic Multipoint Virtual Private Network)で使用するNHRP(Next Hop Resolution Protocol)登録パケットの拡張フィールドに前記外部アドレス・ポート情報を含めて該DMVPNのハブに送信し、前記ハブから、該ハブを介したスポーク間通信において、相手先スポークとの間に仮想トンネルを生成可能であることを通知されると、前記DMVPNで使用するNHRP解決要求パケットの拡張フィールドに前記外部アドレス・ポート情報を含めて前記相手先スポークに送信し、前記NHRP解決要求パケットを受信した前記相手先スポークが返送する前記DMVPNで使用するNHRP解決応答パケットの拡張フィールドから前記相手先スポークの前記外部アドレス・ポート情報を取得し、取得した前記相手先スポークの前記外部アドレス・ポート情報に基づいて、前記相手先スポークとの間に前記仮想トンネルを生成することを特徴とする。 Further, another way of constructing a VDC, which is another embodiment of the present invention, is to use a relay device that performs NAT (Network Address Translation) address translation of packets transmitted and received between networks in different address spaces. The external address / port information is acquired from an address information providing device having a function of returning external address / port information which is address information that can be accessed from the address space outside the relay device generated by address translation. , The external address / port information is included in the extended field of the NHRP (Next Hop Resolution Protocol) registration packet used in DMVPN (Dynamic Multipoint Virtual Private Network) and transmitted to the DMVPN hub, and from the hub via the hub. When it is notified that a virtual tunnel can be created with the destination spoke in the inter-spoke communication, the external address / port information is included in the extended field of the NHRP resolution request packet used in the DMVPN. The external address / port information of the destination spoke is acquired from the extended field of the NHRP resolution response packet used in the DMVPN sent to the destination spoke and returned by the destination spoke that has received the NHRP resolution request packet. Based on the acquired external address / port information of the destination spoke, the virtual tunnel is generated between the destination spoke and the destination spoke.

本発明は、DMVPN上のスポークがNAT装置配下にある環境で、取得したNAT変換後のグローバルIPアドレス・ポート情報をスポーク間で通知して、動的に仮想トンネルを生成することができる。 According to the present invention, in an environment where the spokes on the DMVPN are under the control of the NAT device, the acquired global IP address / port information after NAT translation can be notified between the spokes to dynamically generate a virtual tunnel.

本発明の第1の実施形態の通信システムの構成を示すブロック図である。It is a block diagram which shows the structure of the communication system of 1st Embodiment of this invention. 本発明の第1の実施形態の通信装置の構成を示すブロック図である。It is a block diagram which shows the structure of the communication apparatus of 1st Embodiment of this invention. 本発明の第1の実施形態の通信システムにおける装置間の動作を説明するシーケンス図である。It is a sequence diagram explaining the operation between the apparatus in the communication system of 1st Embodiment of this invention. 本発明の第1の実施形態の通信装置の動作を説明するフロー図である。It is a flow diagram explaining the operation of the communication apparatus of 1st Embodiment of this invention. 本発明の第2の実施形態の通信システムの構成を示すブロック図である。It is a block diagram which shows the structure of the communication system of the 2nd Embodiment of this invention. 本発明の第2の実施形態の通信システムにおける装置間の動作を説明するシーケンス図である。It is a sequence diagram explaining the operation between devices in the communication system of the 2nd Embodiment of this invention. 本発明の第2の実施形態の通信装置の構成を示すブロック図である。It is a block diagram which shows the structure of the communication apparatus of 2nd Embodiment of this invention. NHRPプロトコルパケットの拡張フィールドを示す構成図である。It is a block diagram which shows the extended field of the NHRP protocol packet. ハブの動作を示すフロー図である。It is a flow chart which shows the operation of a hub. スポークの動作を示すフロー図である。It is a flow chart which shows the operation of a spoke. NATトラバーサルのIPsecパケット送受信におけるポート番号の変換制御を示すシーケンス図である。It is a sequence diagram which shows the conversion control of a port number in the IPsec packet transmission and reception of NAT traversal. NAT種別の組合せによる動的仮想トンネルの生成可否の対応を示す図である。It is a figure which shows the correspondence of whether or not the dynamic virtual tunnel can be generated by the combination of NAT type. スポークにおける自装置側のNAT種別および相手装置側のNAT種別に応じた制御動作を示すフロー図である。It is a flow diagram which shows the control operation according to the NAT type of the own device side and the NAT type of the other device side in the spoke. スポークにおける外部アドレス・ポート情報の更新動作を示すフロー図である。It is a flow chart which shows the update operation of the external address / port information in a spoke.

本発明を実施するための形態について図面を参照して説明する。 A mode for carrying out the present invention will be described with reference to the drawings.

尚、実施の形態は例示であり、開示の装置、システムおよび方法は、以下の実施の形態の構成には限定されない。 It should be noted that the embodiments are exemplary, and the disclosed devices, systems and methods are not limited to the configurations of the following embodiments.

(第1の実施形態)
第1の実施形態の通信システムについて説明する、
図1は、本発明の第1の実施形態の通信システムの構成を示すブロック図である。本実施形態の通信システム1は、企業等のプライベート網を、広域網60を介して接続したDMVPN(Dynamic Multipoint Virtual Private Network)を構成するネットワーク形態となっている。
(First Embodiment)
The communication system of the first embodiment will be described.
FIG. 1 is a block diagram showing a configuration of a communication system according to a first embodiment of the present invention. The communication system 1 of the present embodiment is a network form that constitutes a DMVPN (Dynamic Multipoint Virtual Private Network) in which a private network of a company or the like is connected via a wide area network 60.

第1の通信装置10は、第1プライベート網61に属し、DMVPNのスポークとして機能する通信装置である。第2の通信装置20は、第2プライベート網62に属し、DMVPNのスポークとして機能する通信装置である。また、第3の通信装置30は、第3プライベート網63に属し、DMVPNのハブとして機能する通信装置である。図1では、スポークとなる通信装置として、第1の通信装置10と第2の通信装置20のみを示しているが、これは最小構成を例示するものであり、スポークとなる通信装置の数は任意である。第1プライベート網61、第2プライベート網62および第3プライベート網63は同一の企業等に属するプライベート網である。特に各プライベート網を区別して説明する必要がない場合には「プライベート網」と総称して説明する。 The first communication device 10 is a communication device that belongs to the first private network 61 and functions as spokes of DMVPN. The second communication device 20 is a communication device that belongs to the second private network 62 and functions as spokes of DMVPN. Further, the third communication device 30 is a communication device that belongs to the third private network 63 and functions as a hub of DMVPN. In FIG. 1, only the first communication device 10 and the second communication device 20 are shown as the communication devices to be spokes, but this is an example of the minimum configuration, and the number of communication devices to be spokes is large. It is optional. The first private network 61, the second private network 62, and the third private network 63 are private networks belonging to the same company or the like. When it is not necessary to explain each private network separately, the term "private network" is used for the explanation.

第1の通信装置10は、第1プライベート網61においてNATアドレス変換を行う第1の中継装置40の配下に設置される。また、第2の通信装置20は、第2プライベート網62においてNATアドレス変換を行う第2の中継装置50の配下に設置される。なお、各中継装置を区別して説明する必要がない場合には「中継装置」と総称して説明する。 The first communication device 10 is installed under the control of the first relay device 40 that performs NAT address translation in the first private network 61. Further, the second communication device 20 is installed under the control of the second relay device 50 that performs NAT address translation in the second private network 62. In addition, when it is not necessary to explain each relay device separately, it will be generically referred to as "relay device".

NATとは、異なるアドレス空間のネットワーク間で送受信されるパケットのアドレス変換を行う機能を称する。つまり、NATは、プライベート網で使用されるアドレス情報と、中継装置が保持している広域網で使用するアドレス情報との変換を行う。また、ここでNATは狭義のNAPT(Network Address Port Translation)を含めた広義のNATを意味する。そして、アドレス・ポートは、アドレスのみ、アドレスおよびポート番号、のいずれかを意味するものとする。 NAT refers to a function that performs address translation of packets sent and received between networks in different address spaces. That is, NAT converts the address information used in the private network and the address information used in the wide area network held by the relay device. Further, here, NAT means NAT in a broad sense including NAPT (Network Address Port Translation) in a narrow sense. And the address port shall mean either an address only, an address and a port number.

また、「配下に設置される」とは、中継装置を境界として、プライベート網の内側に設置されることを意味する。従って、「外側」や「外部」は、中継装置を境界として、広域網側を意味する。 Further, "installed under the control" means that the relay device is installed inside the private network as a boundary. Therefore, "outside" and "outside" mean the wide area network side with the relay device as a boundary.

また、広域網60にはアドレス情報提供装置70が接続されており、第1の通信装置10と第2の通信装置20に対して、NATアドレス変換で生成された外部アドレス・ポート情報を返信する機能を持つ。ここで、外部アドレス・ポート情報は、各中継装置の外側のアドレス空間である広域網側から第1の通信装置10や第2の通信装置20にそれぞれアクセスすることが可能なアドレス情報である。 Further, an address information providing device 70 is connected to the wide area network 60, and the external address / port information generated by NAT address translation is returned to the first communication device 10 and the second communication device 20. Has a function. Here, the external address / port information is address information that allows access to the first communication device 10 and the second communication device 20 from the wide area network side, which is the address space outside each relay device.

第1の通信装置10と第2の通信装置20のそれぞれは、アドレス情報提供装置70から外部アドレス・ポート情報を取得する。そして、DMVPNで使用するNHRP(Next Hop Resolution Protocol)登録パケットの拡張フィールドに該外部アドレス・ポート情報を含めて送信する。 Each of the first communication device 10 and the second communication device 20 acquires external address / port information from the address information providing device 70. Then, the external address / port information is included in the extended field of the NHRP (Next Hop Resolution Protocol) registered packet used in DMVPN and transmitted.

第3の通信装置30は、配下の第1の通信装置10と第2の通信装置20のそれぞれから受信したNHRP登録パケットに含まれる外部アドレス・ポート情報を、第1の通信装置10と第2の通信装置20のそれぞれと対応付けたマッピング情報に登録する。ここで、「配下」とは、DMVPNの構成におけるハブに対するスポークを意味する。 The third communication device 30 uses the external address / port information included in the NHRP registration packet received from each of the first communication device 10 and the second communication device 20 under the control of the first communication device 10 and the second communication device 20. It is registered in the mapping information associated with each of the communication devices 20 of the above. Here, "subordinate" means spokes to the hub in the configuration of DMVPN.

パケット送信元のスポークである第1の通信装置10は、第3の通信装置30を介して仮想トンネルにより送信先のスポークである第2の通信装置20と通信を行う。 The first communication device 10 which is the spoke of the packet transmission source communicates with the second communication device 20 which is the spoke of the transmission destination by a virtual tunnel via the third communication device 30.

第3の通信装置30は、この第3の通信装置を介した第1の通信装置10と第2の通信装置20との通信において、該第1の通信装置10と該第2の通信装置20との間に仮想トンネルを生成可能であることをマッピング情報に基づいて検出する。そして、第3の通信装置30は第1の通信装置10に対して仮想トンネルの生成を指示する。 The third communication device 30 communicates between the first communication device 10 and the second communication device 20 via the third communication device, and the first communication device 10 and the second communication device 20 are used. Detects that a virtual tunnel can be created between and based on the mapping information. Then, the third communication device 30 instructs the first communication device 10 to create a virtual tunnel.

第3の通信装置30から仮想トンネルの生成の指示を受けた第1の通信装置10は、DMVPNで使用するNHRP解決要求パケットの拡張フィールドに該第1の通信装置10の外部アドレス・ポート情報を含めて送信する。 Upon receiving an instruction to generate a virtual tunnel from the third communication device 30, the first communication device 10 sets the external address / port information of the first communication device 10 in the extended field of the NHRP resolution request packet used in DMVPN. Include and send.

第1の通信装置10からNHRP解決要求パケットを受信した第2の通信装置20は、DMVPNで使用するNHRP解決応答パケットの拡張フィールドに該第2の通信装置20の外部アドレス・ポート情報を含めて返信する。 The second communication device 20 that has received the NHRP resolution request packet from the first communication device 10 includes the external address / port information of the second communication device 20 in the extended field of the NHRP resolution response packet used in DMVPN. Reply.

そして、NHRP解決応答パケットを受信した第1の通信装置10は、該NHRP解決応答パケットに含まれる第2の通信装置20の外部アドレス・ポート情報に基づいて、第2の通信装置20との間に仮想トンネルを生成する。 Then, the first communication device 10 that has received the NHRP resolution response packet communicates with the second communication device 20 based on the external address / port information of the second communication device 20 included in the NHRP resolution response packet. Create a virtual tunnel in.

第1の実施形態の通信装置を説明する。 The communication device of the first embodiment will be described.

図2は、本発明の第1の実施形態の通信装置の構成を示すブロック図である。 FIG. 2 is a block diagram showing a configuration of a communication device according to the first embodiment of the present invention.

第1の実施形態の通信装置100は、外部アドレス・ポート情報取得手段110、アドレス解決手段120およびトンネル生成手段130を含む構成になっている。 The communication device 100 of the first embodiment has a configuration including an external address / port information acquisition means 110, an address resolution means 120, and a tunnel generation means 130.

外部アドレス・ポート情報取得手段110は、異なるアドレス空間のネットワーク間で送受信されるパケットのNATアドレス変換を行う中継装置を介して、アドレス情報提供装置から外部アドレス・ポート情報を取得する。 The external address / port information acquisition unit 110 acquires external address / port information from the address information providing device via a relay device that performs NAT address translation of packets transmitted / received between networks in different address spaces.

外部アドレス・ポート情報は、NATアドレス変換で生成された中継装置の外側のアドレス空間である広域網側からアクセスすることが可能なアドレス情報である。そして、アドレス情報提供装置は、この外部アドレス・ポート情報を通信装置100に返信する機能を持つ装置である。 The external address / port information is address information that can be accessed from the wide area network side, which is the address space outside the relay device generated by NAT address translation. The address information providing device is a device having a function of returning the external address / port information to the communication device 100.

アドレス解決手段120は、DMVPNで使用するNHRP登録パケットの拡張フィールドに外部アドレス・ポート情報を含めて該DMVPNのハブに送信する。 The address resolution means 120 includes the external address / port information in the extended field of the NHRP registration packet used by the DMVPN and transmits it to the hub of the DMVPN.

アドレス解決手段120は、ハブから、該ハブを介したスポーク間通信において、相手先スポークとの間に仮想トンネルを生成可能であることを通知されると、DMVPNで使用するNHRP解決要求パケットを相手先スポークに送信する。NHRP解決要求パケットの拡張フィールドには外部アドレス・ポート情報を含める。 When the address resolving means 120 is notified by the hub that a virtual tunnel can be created between the spokes and the spokes of the other party in the inter-spoke communication via the hub, the address resolving means 120 makes a partner the NHRP resolution request packet used in DMVPN. Send to the first spoke. Include external address and port information in the extended fields of the NHRP resolution request packet.

また、アドレス解決手段120は、このNHRP解決要求パケットを受信した相手先スポークが返送するDMVPNで使用するNHRP解決応答パケットの拡張フィールドから相手先スポークの外部アドレス・ポート情報を取得する。 Further, the address resolution means 120 acquires the external address / port information of the destination spoke from the extended field of the NHRP resolution response packet used in the DMVPN returned by the destination spoke that received the NHRP resolution request packet.

トンネル生成手段130は、アドレス解決手段120が取得した相手先スポークの外部アドレス・ポート情報に基づいて、相手先スポークとの間に仮想トンネルを生成する。 The tunnel generation means 130 generates a virtual tunnel with the destination spoke based on the external address / port information of the destination spoke acquired by the address resolution means 120.

次に、図3および図4を参照して第1の実施形態のVPN構築方法を説明する。 Next, the VPN construction method of the first embodiment will be described with reference to FIGS. 3 and 4.

図3は、図1に示した第1の実施形態の通信システム1における装置間の動作を説明するシーケンス図である。 FIG. 3 is a sequence diagram illustrating an operation between devices in the communication system 1 of the first embodiment shown in FIG.

図4は、図2に示した第1の実施形態の通信装置100の動作を示すフロー図である。 FIG. 4 is a flow chart showing the operation of the communication device 100 of the first embodiment shown in FIG.

通信システム1や通信装置100が動作することにより第1の実施形態のVPN構築方法が実施される。 The VPN construction method of the first embodiment is implemented by operating the communication system 1 and the communication device 100.

まず、図3を参照して通信システム1における装置間の動作を説明する。 First, the operation between the devices in the communication system 1 will be described with reference to FIG.

DMVPNを構成するスポークとして機能する第1の通信装置10と第2の通信装置20のそれぞれが、アドレス情報提供装置70から外部アドレス・ポート情報を取得する(S101、S102)
第1の通信装置10と第2の通信装置20は、異なるアドレス空間のネットワーク間で送受信されるパケットのNATアドレス変換を行う第1の中継装置40、第2の中継装置50のそれぞれの配下に設置される。そして、アドレス情報提供装置70は、第1の通信装置10と第2の通信装置20に対して、NATアドレス変換で生成された外部アドレス・ポート情報を返信する機能を持つ。外部アドレス・ポート情報は、第1の中継装置40、第2の中継装置50の外側のアドレス空間である広域網側から第1の通信装置10や第2の通信装置20にそれぞれアクセスすることが可能なアドレス情報である。
Each of the first communication device 10 and the second communication device 20 that function as spokes constituting the DMVPN acquires external address / port information from the address information providing device 70 (S101, S102).
The first communication device 10 and the second communication device 20 are under the control of the first relay device 40 and the second relay device 50 that perform NAT address translation of packets transmitted and received between networks in different address spaces. Will be installed. Then, the address information providing device 70 has a function of returning the external address / port information generated by NAT address translation to the first communication device 10 and the second communication device 20. The external address / port information can access the first communication device 10 and the second communication device 20 from the wide area network side, which is the address space outside the first relay device 40 and the second relay device 50, respectively. Possible address information.

外部アドレス・ポート情報を取得した第1の通信装置10と第2の通信装置20のそれぞれは、DMVPNで使用するNHRP登録パケットの拡張フィールドに該外部アドレス・ポート情報を含めて送信する(S103、S104)。 Each of the first communication device 10 and the second communication device 20 that have acquired the external address / port information transmits the external address / port information including the external address / port information in the extended field of the NHRP registration packet used in DMVPN (S103, S104).

このNHRP登録パケットはDMVPNを構成するハブとして機能する第3の通信装置30で受信される。そして、第3の通信装置30は、第1の通信装置10と第2の通信装置20のそれぞれから受信したNHRP登録パケットに含まれる外部アドレス・ポート情報を第1の通信装置10と第2の通信装置20のそれぞれと対応付けたマッピング情報に登録する(S105)。 This NHRP registration packet is received by the third communication device 30 that functions as a hub that constitutes DMVPN. Then, the third communication device 30 uses the external address / port information included in the NHRP registration packet received from each of the first communication device 10 and the second communication device 20 as the first communication device 10 and the second communication device 20. It is registered in the mapping information associated with each of the communication devices 20 (S105).

第3の通信装置30を介したパケット送信元のスポークである第1の通信装置10からパケット送信先のスポークである第2の通信装置20との通信が行われる。この通信において、第3の通信装置30が、第1の通信装置10と第2の通信装置20との間に仮想トンネルを生成可能であることを検出する。第3の通信装置30はこの検出をマッピング情報に基づいて行う(S106)。 Communication is performed from the first communication device 10 which is the spoke of the packet transmission source via the third communication device 30 to the second communication device 20 which is the spoke of the packet transmission destination. In this communication, the third communication device 30 detects that a virtual tunnel can be generated between the first communication device 10 and the second communication device 20. The third communication device 30 performs this detection based on the mapping information (S106).

第1の通信装置10に対して仮想トンネルの生成が指示される(S107)。 The first communication device 10 is instructed to create a virtual tunnel (S107).

第3の通信装置30から仮想トンネルの生成の指示を受けた第1の通信装置10が、DMVPNで使用するNHRP解決要求パケットの拡張フィールドに該第1の通信装置10の外部アドレス・ポート情報を含めて送信する(S108)。 Upon receiving an instruction to generate a virtual tunnel from the third communication device 30, the first communication device 10 sets the external address / port information of the first communication device 10 in the extended field of the NHRP resolution request packet used in DMVPN. It is included and transmitted (S108).

第1の通信装置10からこのNHRP解決要求パケットを受信した第2の通信装置20が、DMVPNで使用するNHRP解決応答パケットの拡張フィールドに該第2の通信装置20の外部アドレス・ポート情報を含めて返信する(S109)。 The second communication device 20 that has received the NHRP resolution request packet from the first communication device 10 includes the external address / port information of the second communication device 20 in the extended field of the NHRP resolution response packet used in DMVPN. Reply (S109).

NHRP解決応答パケットを受信した第1の通信装置10が、該NHRP解決応答パケットに含まれる第2の通信装置20の外部アドレス・ポート情報に基づいて、第2の通信装置20との間に仮想トンネルを生成する(S110)。 The first communication device 10 that has received the NHRP resolution response packet virtually communicates with the second communication device 20 based on the external address / port information of the second communication device 20 included in the NHRP resolution response packet. Generate a tunnel (S110).

以降の第1の通信装置10と第2の通信装置20との間の通信は、ハブである第3の通信装置30を介することなく、動的に生成した仮想トンネルにより行われる。 Subsequent communication between the first communication device 10 and the second communication device 20 is performed by a dynamically generated virtual tunnel without going through the third communication device 30 which is a hub.

次に、図4を参照して通信装置100の動作を説明する。 Next, the operation of the communication device 100 will be described with reference to FIG.

異なるアドレス空間のネットワーク間で送受信されるパケットのNATアドレス変換を行う中継装置を介して、アドレス情報提供装置から外部アドレス・ポート情報を取得する(S201)。 External address / port information is acquired from the address information providing device via a relay device that performs NAT address translation of packets sent and received between networks in different address spaces (S201).

外部アドレス・ポート情報は、NATアドレス変換で生成された中継装置の外側のアドレス空間である広域網側からアクセスすることが可能なアドレス情報である。そして、アドレス情報提供装置は、この外部アドレス・ポート情報を通信装置100に返信する機能を持つ装置である。 The external address / port information is address information that can be accessed from the wide area network side, which is the address space outside the relay device generated by NAT address translation. The address information providing device is a device having a function of returning the external address / port information to the communication device 100.

DMVPNで使用するNHRP登録パケットの拡張フィールドに外部アドレス・ポート情報を含めて該DMVPNのハブに送信するNHRP登録を行う(S202)。 NHRP registration is performed by including the external address / port information in the extended field of the NHRP registration packet used in DMVPN and transmitting it to the hub of the DMVPN (S202).

ハブ経由のスポーク間通信が実行される(S203)。 Inter-spoke communication via the hub is executed (S203).

ハブを介したスポーク間通信において、相手先スポークとの間に仮想トンネルを生成可能であることをハブから通知される(S204)。 In inter-spoke communication via the hub, the hub notifies that a virtual tunnel can be created between the spokes and the other spoke (S204).

DMVPNで使用するNHRP解決要求パケットの拡張フィールドに外部アドレス・ポート情報を含めて相手先スポークに送信する(S205)。 The external address / port information is included in the extended field of the NHRP resolution request packet used in DMVPN and transmitted to the destination spoke (S205).

該NHRP解決要求パケットに対して相手先スポークが返送するNHRP解決要求パケットを受信し、該NHRP解決応答パケットの拡張フィールドから相手先スポークの外部アドレス・ポート情報を取得する(S206)。 The NHRP resolution request packet returned by the destination spoke in response to the NHRP resolution request packet is received, and the external address / port information of the destination spoke is acquired from the extended field of the NHRP resolution response packet (S206).

取得した相手先スポークの外部アドレス・ポート情報に基づいて、相手先スポークとの間に仮想トンネルを生成する(S207)。 A virtual tunnel is created between the spokes and the spokes based on the acquired external address / port information of the spokes (S207).

以上のように、本実施形態では中継装置でNATアドレス変換された外部アドレス・ポート情報をアドレス情報提供装置から取得する。そして、それをNHRPプロトコルのパケットの拡張フィールドに含めてスポーク間で通知することができる。 As described above, in the present embodiment, the external address / port information whose NAT address is translated by the relay device is acquired from the address information providing device. Then, it can be included in the extended field of the NHRP protocol packet and notified between the spokes.

そのため、DMVPN上のスポークがNAT装置配下にある環境で、取得したNAT変換後のグローバルIPアドレス・ポートをスポーク間で通知して、動的に仮想トンネルを生成することができる。 Therefore, in an environment where the spokes on the DMVPN are under the control of the NAT device, the acquired global IP address / port after NAT translation can be notified between the spokes, and a virtual tunnel can be dynamically generated.

(第2の実施形態)
次に、本発明の第2の実施形態を説明する。
(Second Embodiment)
Next, a second embodiment of the present invention will be described.

(第2の実施形態の通信システムの構成)
図5は、本発明の第2の実施形態の通信システムの構成を示すブロック図である。
(Configuration of Communication System of Second Embodiment)
FIG. 5 is a block diagram showing a configuration of a communication system according to a second embodiment of the present invention.

本実施形態の通信システム2では、インターネット65を介して各拠点のスポークとなる第1のVPN装置11や第2のVPN装置21と本社のハブとなる第3のVPN装置31を仮想トンネルで接続してDMVPNを構築する形態となっている。そして、第1のVPN装置11と第2のVPN装置21のスポーク同士は必要時のみ動的な仮想トンネルを生成する。ここでは、最小構成として第1のVPN装置11と第2のVPN装置21のみを例示しているが、拠点とそこに設置されるスポークとなるVPN装置の数は任意である。なお、仮想トンネルは、マルチポイントGREでルーティングされ、IPsecにより転送データの暗号化が行われて通信の安全性が確保されている。 In the communication system 2 of the present embodiment, the first VPN device 11 and the second VPN device 21 which are the spokes of each base and the third VPN device 31 which is the hub of the head office are connected by a virtual tunnel via the Internet 65. It is in the form of constructing a DMVPN. Then, the spokes of the first VPN device 11 and the second VPN device 21 generate a dynamic virtual tunnel only when necessary. Here, only the first VPN device 11 and the second VPN device 21 are illustrated as the minimum configuration, but the number of bases and the number of VPN devices to be spokes installed therein is arbitrary. The virtual tunnel is routed by the multipoint GRE, and the transfer data is encrypted by IPsec to ensure the security of communication.

第1のVPN装置11は、LAN側インタフェースに、その拠点のLANである第1のLAN12を接続し、WAN(Wide Area Network)側インタフェースに、NATアドレス変換を行う第1のゲートウェイ41を接続する。つまり、第1のVPN装置11は第1のゲートウェイ41の配下に設置され、第1のLAN12を配下にする。第1のVPN装置11の経路情報には、第1のゲートウェイ41がデフォルトゲートウェイとして設定され、第1のゲートウェイ41のプライベートIPアドレスが設定されている。 The first VPN device 11 connects the first LAN 12, which is the LAN of the base, to the LAN side interface, and connects the first gateway 41 that performs NAT address translation to the WAN (Wide Area Network) side interface. .. That is, the first VPN device 11 is installed under the control of the first gateway 41, and the first LAN 12 is under the control. In the route information of the first VPN device 11, the first gateway 41 is set as the default gateway, and the private IP address of the first gateway 41 is set.

また、第2のVPN装置21は、LAN側インタフェースに、その拠点のLANである第2のLAN22を接続し、WAN側インタフェースに、NATアドレス変換を行う第2のゲートウェイ51を接続する。つまり、第2のVPN装置21は第2のゲートウェイ51の配下に設置され、第2のLAN22を配下にする。第2のVPN装置21の経路情報には、第2のゲートウェイ51がデフォルトゲートウェイとして設定され、第2のゲートウェイ51のプライベートIPアドレスが設定されている。 Further, the second VPN device 21 connects the second LAN 22 which is the LAN of the base to the LAN side interface, and connects the second gateway 51 which performs NAT address translation to the WAN side interface. That is, the second VPN device 21 is installed under the second gateway 51, and the second LAN 22 is under the control. In the route information of the second VPN device 21, the second gateway 51 is set as the default gateway, and the private IP address of the second gateway 51 is set.

第1のゲートウェイ41および第2のゲートウェイ51は、それぞれの配下となるプライベート網で使用されるアドレス情報と、各ゲートウェイが保持しているインターネット65で使用するアドレス情報との変換を行う。本実施形態では、プライベート網で使用されるアドレス情報はプライベートIPアドレス・ポートであり、インターネット65で使用するアドレス情報はグローバルIPアドレス・ポートである。 The first gateway 41 and the second gateway 51 convert the address information used in the private network under their respective control and the address information used in the Internet 65 held by each gateway. In the present embodiment, the address information used in the private network is a private IP address port, and the address information used in the Internet 65 is a global IP address port.

なお、「NATアドレス変換」を以降の説明では単に「NAT」または「NAT変換」と称する。また、NAT機能を備えたゲートウェイのことを「NAT装置」とも称する。 In the following description, "NAT address translation" is simply referred to as "NAT" or "NAT translation". Further, a gateway having a NAT function is also referred to as a "NAT device".

インターネット65にはSTUNサーバ71が設置されている。STUNサーバ71は、STUNクライアントとなる第1のVPN装置11と第2のVPN装置21に対して、対応する各ゲートウェイで実施されるNATで生成された外部アドレス・ポート情報をSTUNプロトコルにより返信する機能を持つ。 A STUN server 71 is installed on the Internet 65. The STUN server 71 returns the external address / port information generated by NAT executed by each corresponding gateway to the first VPN device 11 and the second VPN device 21 which are STUN clients by the STUN protocol. Has a function.

ここで、外部アドレス・ポート情報は、インターネット65から第1のVPN装置11や第2のVPN装置21にそれぞれアクセスすることが可能なアドレス情報であり、グローバルIPアドレス・ポートを意味する。 Here, the external address / port information is address information that can access the first VPN device 11 and the second VPN device 21 from the Internet 65, respectively, and means a global IP address / port.

また、外部アドレス・ポート情報には、各ゲートウェイが実施するアドレス・ポート変換のマッピング方法に応じて分類されたNAT種別を含む。つまり、NATで割り当てたポートにアクセスできるインターネット側の端末の制限に応じて、フルコーンNAT、アドレス制限コーンNAT、ポート制限コーンNATおよびシンメトリックNATの4つの種別がある。 In addition, the external address / port information includes NAT types classified according to the mapping method of address / port translation performed by each gateway. That is, there are four types, full cone NAT, address limiting cone NAT, port limiting cone NAT, and symmetric NAT, depending on the restrictions of terminals on the Internet side that can access the port assigned by NAT.

上記の構成を図1に示した第1の実施形態の通信装置1と対応させると次のようになる。 Corresponding the above configuration with the communication device 1 of the first embodiment shown in FIG. 1 is as follows.

第1のVPN装置11、第2のVPN装置21、第3のVPN装置31は、それぞれ第1の通信装置10、第2の通信装置20、第3の通信装置30に対応する。 The first VPN device 11, the second VPN device 21, and the third VPN device 31 correspond to the first communication device 10, the second communication device 20, and the third communication device 30, respectively.

第1のゲートウェイ41、第2のゲートウェイ51は、それぞれ第1の中継装置40、第2の中継装置50に対応する。 The first gateway 41 and the second gateway 51 correspond to the first relay device 40 and the second relay device 50, respectively.

そして、インターネット61は広域網60に、STUNサーバ71はアドレス情報提供装置70にそれぞれ対応する。 The Internet 61 corresponds to the wide area network 60, and the STUN server 71 corresponds to the address information providing device 70.

また、第1の実施形態と同様に、本実施形態においてもNATとは、異なるアドレス空間のネットワーク間で送受信されるパケットのアドレス変換を行う機能を称し、狭義のNAPTを含めた広義のNATを意味する。そして、アドレス・ポートは、アドレスのみ、アドレスおよびポート番号、のいずれかを意味するものとする。 Further, as in the first embodiment, also in this embodiment, NAT refers to a function of performing address translation of packets transmitted and received between networks in different address spaces, and refers to NAT in a broad sense including NAPT in a narrow sense. means. And the address port shall mean either an address only, an address and a port number.

以上のように物理的に構成された通信システム2を、仮想ネットワークの観点でみると、DMVPNの経路情報は、BGP(Border Gateway Protocol)等の動的ルーティングプロトコルにより配信されており、次のように設定されている。 Looking at the communication system 2 physically configured as described above from the viewpoint of a virtual network, the DMVPNN route information is distributed by a dynamic routing protocol such as BGP (Border Gateway Protocol), and is as follows. Is set to.

DMVPNで構築した仮想ネットワーク上のスポークとなる第1のVPN装置11と第2のVPN装置21およびハブとなる第3のVPN装置31をステーションと称し、各ステーションは、それぞれがトンネルIPアドレスを持っている。トンネルIPアドレスは、トンネルインタフェースに割り当てた仮想ネットワーク上のIPアドレスで、DMVPN上のステーション間でパケットを送受信するときに使われる。 The first VPN device 11 and the second VPN device 21 that are spokes on the virtual network constructed with DMVPN and the third VPN device 31 that is a hub are called stations, and each station has its own tunnel IP address. ing. The tunnel IP address is an IP address on the virtual network assigned to the tunnel interface and is used when sending and receiving packets between stations on DMVPN.

第1のVPN装置11では、相手先スポークである第2のVPN装置21配下の第2のLAN22へのネクストホップとして、ハブである第3のVPN装置31のトンネルIPアドレスが設定されている。同様に、第2のVPN装置21では、相手先スポークである第1のVPN装置11配下の第1のLAN12へのネクストホップとして、ハブである第3のVPN装置31のトンネルIPアドレスが設定されている。 In the first VPN device 11, the tunnel IP address of the third VPN device 31, which is a hub, is set as the next hop to the second LAN 22 under the second VPN device 21, which is the spoke destination. Similarly, in the second VPN device 21, the tunnel IP address of the third VPN device 31, which is a hub, is set as the next hop to the first LAN 12 under the first VPN device 11 which is the spoke destination. ing.

また、ハブである第3のVPN装置31では、第1のVPN装置11配下の第1のLAN12へのネクストホップとして、第1のVPN装置11のトンネルIPアドレスが設定されている。同様に、ハブである第3のVPN装置31では、第2のVPN装置21配下の第2のLAN22へのネクストホップとして、第2のVPN装置21のトンネルIPアドレスが設定されている。 Further, in the third VPN device 31 which is a hub, the tunnel IP address of the first VPN device 11 is set as the next hop to the first LAN 12 under the first VPN device 11. Similarly, in the third VPN device 31, which is a hub, the tunnel IP address of the second VPN device 21 is set as the next hop to the second LAN 22 under the second VPN device 21.

また、各ステーションの物理インタフェースに割り当てたIPアドレスとして、プライベートIPアドレスやグローバルIPアドレスがある。例えば、第1のVPN装置11と第2のVPN装置21はプライベート網に属するのでプライベートIPアドレスが割り当てられる。そして、第3のVPN装置31はインターネット上に配置されるのでグローバルIPアドレスを持つ。 Further, as the IP address assigned to the physical interface of each station, there are a private IP address and a global IP address. For example, since the first VPN device 11 and the second VPN device 21 belong to the private network, a private IP address is assigned. Since the third VPN device 31 is located on the Internet, it has a global IP address.

第1のLAN12に属する端末が、第2のLAN22に属する端末にデータパケットを送信する場合、パケットは上記のように設定されたトンネルIPアドレスでルーティングされてDMVPNで構築されたトンネル内を通る。つまり、トンネルIPアドレスのIPヘッダを持つデータパケットがGREカプセル化され、物理インタフェースのIPアドレスのIPヘッダが付加されてインターネット65内を転送される。そして、ステーション間のトンネルでは転送されるパケットがIPsecにより暗号化される。 When the terminal belonging to the first LAN 12 transmits a data packet to the terminal belonging to the second LAN 22, the packet is routed by the tunnel IP address set as described above and passes through the tunnel constructed by DMVPN. That is, the data packet having the IP header of the tunnel IP address is GRE-encapsulated, the IP header of the IP address of the physical interface is added, and the data packet is transferred within the Internet 65. Then, in the tunnel between stations, the transferred packet is encrypted by IPsec.

(第2の実施形態の通信システムにおける装置間の動作)
図6は、図5に示した第2の実施形態の通信システム2における装置間の動作を説明するシーケンス図である。
(Operation between devices in the communication system of the second embodiment)
FIG. 6 is a sequence diagram illustrating operations between devices in the communication system 2 of the second embodiment shown in FIG.

DMVPNを機能させるため、第1のLAN12に属する端末と第2のLAN22に属する端末間での通信を開始する前に、ハブに対してスポークである第1のVPN装置11と第2のVPN装置21によるNHRPプロトコルの登録が事前に行われる。 In order for the DMVPN to function, the first VPN device 11 and the second VPN device, which are spokes to the hub, are before starting communication between the terminal belonging to the first LAN 12 and the terminal belonging to the second LAN 22. Registration of the NHRP protocol by 21 is performed in advance.

まず、第1のVPN装置11、第2のVPN装置21のそれぞれは、NHRPプロトコルの登録に必要な情報の取得を行う。 First, each of the first VPN device 11 and the second VPN device 21 acquires information necessary for registering the NHRP protocol.

第1のVPN装置11、第2のVPN装置21のそれぞれは、インターネット65に配備されたSTUNサーバ71への問合せを行い、NAT変換後の各自のグローバルIPアドレス・ポートおよびNAT種別を取得する(S301、S302)。 Each of the first VPN device 11 and the second VPN device 21 makes an inquiry to the STUN server 71 deployed on the Internet 65, and acquires their own global IP address port and NAT type after NAT translation (). S301, S302).

このときの動作を第1のVPN装置11を例にして説明する。 The operation at this time will be described by taking the first VPN device 11 as an example.

第1のVPN装置11は、自身のプライベートIPアドレス・ポートを送信元アドレスとし、STUNサーバ71のグローバルIPアドレス・ポートを宛先としたSTUNリクエストを送信する。このSTUNリクエストが第1のゲートウェイ41を介してインターネット65に出てゆくときに、NAT変換が行われる。つまり、STUNリクエストの送信元アドレスが第1のVPN装置11のプライベートIPアドレス・ポートから、NAT変換で割り当てられたグローバルIPアドレス・ポートに書き換えられ、そのエントリが生成される。 The first VPN device 11 uses its own private IP address port as a source address and transmits a STUN request destined for the global IP address port of the STUN server 71. When this STUN request goes out to the Internet 65 via the first gateway 41, NAT conversion is performed. That is, the source address of the STUN request is rewritten from the private IP address port of the first VPN device 11 to the global IP address port assigned by NAT translation, and the entry is generated.

STUNリクエストを受信したSTUNサーバ71は、STUNリクエストの送信元アドレスのグローバルIPアドレス・ポートを含めたSTUNレスポンスを、該グローバルIPアドレス・ポートを宛先として送信する。 The STUN server 71 that has received the STUN request transmits a STUN response including the global IP address port of the source address of the STUN request to the global IP address port as a destination.

このSTUNレスポンスは宛先のグローバルIPアドレス・ポートである第1のゲートウェイ41に達する。第1のゲートウェイ41では、上記のSTUNリクエストが通過する際に生成されたエントリに基づいて逆方向のNAT変換が行われる。つまり、STUNレスポンスの宛先は、グローバルIPアドレス・ポートから該エントリに基づく第1のVPN装置11のプライベートIPアドレス・ポートに書き換えられ、第1のVPN装置11で受信される。 This STUN response reaches the first gateway 41, which is the destination's global IP address port. In the first gateway 41, NAT translation in the reverse direction is performed based on the entry generated when the above STUN request passes. That is, the destination of the STUN response is rewritten from the global IP address port to the private IP address port of the first VPN device 11 based on the entry, and is received by the first VPN device 11.

このようにして、第1のVPN装置11は、STUNプロトコルを用いて、インターネット65に出てゆく際にNAT変換されるグローバルIPアドレス・ポートを取得する。また、第1のゲートウェイ41のNAT種別も特定する。第1のVPN装置11は、取得したグローバルIPアドレス・ポートおよびNAT種別をグローバルIPアドレス・ポート情報として自装置内に記憶する。 In this way, the first VPN device 11 uses the STUN protocol to acquire a global IP address port that is NAT-translated when going out to the Internet 65. Also, the NAT type of the first gateway 41 is specified. The first VPN device 11 stores the acquired global IP address port and NAT type in its own device as global IP address port information.

第2のVPN装置21も上記と同様の動作により、第2のゲートウェイ51でNAT変換されるグローバルIPアドレス・ポートおよびNAT種別を取得して自装置内に記憶する。 The second VPN device 21 also acquires the global IP address port and NAT type that are NAT-translated by the second gateway 51 and stores them in the own device by the same operation as described above.

なお、上述したNAT変換されるグローバルIPアドレス・ポートのSTUNプロトコルによる取得は定期的に行われる。そして、該グローバルIPアドレス・ポートに変更があった場合はそれを最新の状態に保つ。グローバルIPアドレス・ポートを最新の状態に保つための処理については後述する。 It should be noted that the above-mentioned NAT-translated global IP address port is periodically acquired by the STUN protocol. Then, if there is a change in the global IP address port, it is kept up to date. The process for keeping the global IP address / port up-to-date will be described later.

NAT変換されるグローバルIPアドレス・ポートおよびNAT種別をSTUNサーバ71から取得した第1のVPN装置11と第2のVPN装置21のそれぞれは、ハブである第3のVPN装置31に対してNHRP登録を行う(S303、S304)。 Each of the first VPN device 11 and the second VPN device 21 obtained from the STUN server 71 for the global IP address port and NAT type to be NAT-translated are registered with NHRP for the third VPN device 31 which is a hub. (S303, S304).

第1のVPN装置11と第2のVPN装置21のそれぞれは、第3のVPN装置31宛にNHRP登録要求を送信する。NHRP登録要求の拡張部には後述するNAPT拡張が付加され、STUNサーバ71から取得したグローバルIPアドレス・ポートおよびNAT種別が格納される。 Each of the first VPN device 11 and the second VPN device 21 transmits an NHRP registration request to the third VPN device 31. A NAPT extension, which will be described later, is added to the extension section of the NHRP registration request, and the global IP address port and NAT type acquired from the STUN server 71 are stored.

NHRP登録要求を受信した第3のVPN装置31は、該NHRP登録要求のNAPT拡張に含まれる第1のVPN装置11や第2のVPN装置21のグローバルIPアドレス・ポートおよびNAT種別を取り出す。そして、第3のVPN装置31は、NHRP登録要求の送信元アドレスである各スポークの仮想ネットワーク上のトンネルIPアドレスと、グローバルIPアドレス・ポートおよびNAT種別とを対応付けたマッピング情報を登録する(S305)。 The third VPN device 31 that has received the NHRP registration request retrieves the global IP address port and NAT type of the first VPN device 11 and the second VPN device 21 included in the NAPT extension of the NHRP registration request. Then, the third VPN device 31 registers mapping information in which the tunnel IP address on the virtual network of each spoke, which is the source address of the NHRP registration request, is associated with the global IP address port and the NAT type (). S305).

NHRP登録が終了した第3のVPN装置31は、NHRP登録応答を第1のVPN装置11や第2のVPN装置21に返送する。このとき、NHRP登録応答の宛先物理IPアドレスおよびIPsecのNATトラバーサルで使用する宛先UDPポート番号は、取得したNAPT拡張の情報を使用する。 The third VPN device 31 for which NHRP registration has been completed returns the NHRP registration response to the first VPN device 11 and the second VPN device 21. At this time, the acquired NAPT extension information is used as the destination physical IP address of the NHRP registration response and the destination UDP port number used in NAT traversal of IPsec.

NHRP登録が完了すると、DMVPNが使用可能となる。 When the NHRP registration is completed, DMVPN can be used.

第1のLAN12に属する端末と第2のLAN22に属する端末との間でハブ経由スポーク間通信が行われる(S306)。 Inter-spoke communication via the hub is performed between the terminal belonging to the first LAN 12 and the terminal belonging to the second LAN 22 (S306).

第1のLAN12に属する端末が第2のLAN22に属する端末宛にデータパケットを送信すると、このデータパケットはスポークである第1のVPN装置11に転送される。 When the terminal belonging to the first LAN 12 transmits a data packet to the terminal belonging to the second LAN 22, the data packet is transferred to the first VPN device 11 which is a spoke.

第1のVPN装置11は経路情報に従い、第2のVPN装置21配下の第2のLAN22に属する端末宛のデータパケットをハブである第3のVPN装置31に転送する。 The first VPN device 11 forwards a data packet addressed to a terminal belonging to the second LAN 22 under the second VPN device 21 to the third VPN device 31 which is a hub according to the route information.

第3のVPN装置31は、第2のVPN装置21配下の第2のLAN22に属する端末宛のデータパケットを、第2のVPN装置21に転送する。 The third VPN device 31 transfers a data packet addressed to a terminal belonging to the second LAN 22 under the second VPN device 21 to the second VPN device 21.

第2のVPN装置21は、データパケットの宛先が自身の配下の第2のLAN22に属する端末宛なので、該データパケットを第2のLAN22に属する端末に転送する。データパケットは該端末で受信される。 Since the destination of the data packet is the terminal belonging to the second LAN 22 under its own control, the second VPN device 21 forwards the data packet to the terminal belonging to the second LAN 22. The data packet is received at the terminal.

上記の動作において、ハブである第3のVPN装置31がデータパケットを転送する際に、第1のVPN装置11と第2のVPN装置21との間でスポーク間通信が可能か否かを判定する(S307)。 In the above operation, when the hub third VPN device 31 transfers a data packet, it is determined whether or not inter-spoke communication is possible between the first VPN device 11 and the second VPN device 21. (S307).

この判定は、第3のVPN装置31に登録したマッピング情報の双方のスポークに対応するNAT種別に基づいて行われる。詳細は後述する。 This determination is made based on the NAT type corresponding to both spokes of the mapping information registered in the third VPN device 31. Details will be described later.

第1のVPN装置11と第2のVPN装置21との間でスポーク間通信が可能であると判定すると、第3のVPN装置31は、データパケットの送信元の第1のVPN装置11にNHRPトラフィック通知を送信して、アドレス解決の実施を指示する(S308)。 When it is determined that spoke-to-spoke communication is possible between the first VPN device 11 and the second VPN device 21, the third VPN device 31 sends NHRP to the first VPN device 11 that is the source of the data packet. A traffic notification is sent to instruct the implementation of address resolution (S308).

NHRPトラフィック通知を受信した第1のVPN装置11は、NHRP解決を開始する。 The first VPN device 11 that has received the NHRP traffic notification starts NHRP resolution.

第1のVPN装置11は、第2のLAN22に属する端末のプライベートIPアドレス・ポート宛にNHRP解決要求を送信する(S309)。 The first VPN device 11 transmits an NHRP resolution request to the private IP address port of the terminal belonging to the second LAN 22 (S309).

そのとき、NHRP解決要求の拡張部には、第1のVPN装置11のNAPT拡張が付加される。該NAPT拡張には、第1のVPN装置11がSTUNサーバ71から取得したグローバルIPアドレス・ポートおよびNAT種別が格納されている。 At that time, the NAPT extension of the first VPN device 11 is added to the extension part of the NHRP resolution request. The NAPT extension stores the global IP address port and NAT type acquired by the first VPN device 11 from the STUN server 71.

NHRP解決要求は、第1のLAN12に属する端末から第2のLAN22に属する端末宛のデータパケットと同様に、第3のVPN装置31を経由して第2のVPN装置21で受信される。 The NHRP resolution request is received by the second VPN device 21 via the third VPN device 31 in the same manner as the data packet from the terminal belonging to the first LAN 12 to the terminal belonging to the second LAN 22.

NHRP解決要求を受信した第2のVPN装置21は、第1のVPN装置11宛にNHRP解決応答を送信する(S310)。 The second VPN device 21 that has received the NHRP resolution request transmits an NHRP resolution response to the first VPN device 11 (S310).

NHRP解決応答の拡張部には、第2のVPN装置21のNAPT拡張が付加される。該NAPT拡張には、第2のVPN装置21がSTUNサーバ71から取得したグローバルIPアドレス・ポートおよびNAT種別が格納されている。 The NAPT extension of the second VPN device 21 is added to the extension of the NHRP resolution response. The NAPT extension stores the global IP address port and NAT type acquired by the second VPN device 21 from the STUN server 71.

NHRP解決応答は、経路情報に従い、第3のVPN装置31経由で第1のVPN装置11に到達し、第1のVPN装置11で受信される。 The NHRP resolution response reaches the first VPN device 11 via the third VPN device 31 according to the route information, and is received by the first VPN device 11.

第1のVPN装置11は、NHRP解決応答の送信元アドレス情報として第2のVPN装置21のIPアドレス情報(物理ネットワーク上のIPアドレスおよび仮想ネットワーク上のIPアドレス)に加えて、NAPT拡張の情報を取得する。 The first VPN device 11 provides NAPT extension information in addition to the IP address information (IP address on the physical network and IP address on the virtual network) of the second VPN device 21 as the source address information of the NHRP resolution response. To get.

相手先スポークとなる第2のVPN装置21のグローバルIPアドレス・ポートを取得した第1のVPN装置11は、その情報を用いて第2のVPN装置21との間に動的な仮想トンネルを生成する(S311)。 The first VPN device 11 that has acquired the global IP address port of the second VPN device 21 that is the destination spoke uses that information to create a dynamic virtual tunnel with the second VPN device 21. (S311).

このとき、第1のVPN装置11は仮想ネットワークの経路情報を追加する。つまり、第2のVPN装置21配下の第2のLAN22へのネクストホップは、第2のVPN装置21の仮想ネットワーク上のトンネルIPアドレスとなる。 At this time, the first VPN device 11 adds the route information of the virtual network. That is, the next hop to the second LAN 22 under the second VPN device 21 becomes the tunnel IP address on the virtual network of the second VPN device 21.

以上の動作で、NHRP解決が完了する。 With the above operation, NHRP resolution is completed.

第1のVPN装置11と第2のVPN装置21のスポーク間トンネル生成後は、第1のVPN装置11で生成した第2のVPN装置21の配下の第2のLAN22の経路情報に基づいてルーティングされる。そのため、第1のLAN12の端末から第2のLAN22の端末へのデータパケットは、第1のVPN装置11から第2のVPN装置21に直接転送されるようになる。 After the spoke-to-spoke tunnels of the first VPN device 11 and the second VPN device 21 are generated, routing is performed based on the route information of the second LAN 22 under the second VPN device 21 generated by the first VPN device 11. Will be done. Therefore, the data packet from the terminal of the first LAN 12 to the terminal of the second LAN 22 is directly transferred from the first VPN device 11 to the second VPN device 21.

この経路情報は、第2のVPN装置21の情報が生存している間だけ存在する。NHRPプロトコルでは、動的に生成した仮想トンネルを未使用時には削除するように、相手先スポーク情報に生存時間を設けている。 This route information exists only while the information of the second VPN device 21 is alive. In the NHRP protocol, a survival time is provided in the spoke information of the other party so that the dynamically generated virtual tunnel is deleted when not in use.

(第2の実施形態の通信装置)
続いて、図7を参照して第2の実施形態の通信装置を説明する。
(Communication device of the second embodiment)
Subsequently, the communication device of the second embodiment will be described with reference to FIG. 7.

図7は、本発明の第2の実施形態の通信装置の構成を示すブロック図である。 FIG. 7 is a block diagram showing a configuration of a communication device according to a second embodiment of the present invention.

この通信装置200は、図5に示した、スポークである第1のVPN装置11および第2のVPN装置21の構成を示すものである。 The communication device 200 shows the configurations of the first VPN device 11 and the second VPN device 21, which are spokes, shown in FIG.

通信装置200は、LANインタフェース部230、WANインタフェース部240、通信制御部210および外部アドレス・ポート情報記憶部220を含んで構成される。 The communication device 200 includes a LAN interface unit 230, a WAN interface unit 240, a communication control unit 210, and an external address / port information storage unit 220.

LANインタフェース部230は、当該通信装置200の配下のLANを接続し、そのLANに属する端末との間でのパケットの送受信を行う機能部である。 The LAN interface unit 230 is a functional unit that connects a LAN under the communication device 200 and transmits / receives packets to / from a terminal belonging to the LAN.

WANインタフェース部240は、インターネットとの間のパケットの送受信を行う機能部で、NAT機能を備えたゲートウェイと接続される。 The WAN interface unit 240 is a functional unit that sends and receives packets to and from the Internet, and is connected to a gateway having a NAT function.

通信制御部210は、LANインタフェース部230とWANインタフェース部240との間でパケットの中継を行う機能を備え、本実施形態のVPN構築の制御を行う機能部である。 The communication control unit 210 has a function of relaying packets between the LAN interface unit 230 and the WAN interface unit 240, and is a functional unit that controls the VPN construction of the present embodiment.

外部アドレス・ポート情報記憶部220は、STUNサーバ71から取得した本通信装置が接続されたゲートウェイでNAT変換されるグローバルIPアドレス・ポートおよびNAT種別を記憶する。また、NHRP解決応答で取得した相手先スポークとなる通信装置のグローバルIPアドレス・ポートおよびNAT種別を記憶する。 The external address / port information storage unit 220 stores the global IP address / port and NAT type that are NAT-translated by the gateway to which the communication device is connected, which is acquired from the STUN server 71. It also stores the global IP address port and NAT type of the communication device that is the spoke of the other party acquired in the NHRP resolution response.

通信制御部210は、本実施形態のVPN構築の制御を行う機能として、外部アドレス・ポート情報取得部211、アドレス解決部212およびトンネル生成部213を含む構成になっている。 The communication control unit 210 is configured to include an external address / port information acquisition unit 211, an address resolution unit 212, and a tunnel generation unit 213 as functions for controlling the VPN construction of the present embodiment.

外部アドレス・ポート情報取得部211は、STUNアプリケーション2111を含み、STUNサーバ71へのアクセスによるグローバルIPアドレス・ポートおよびNAT種別取得を行う。取得した情報は、外部アドレス・ポート情報記憶部220に登録すると共に、アドレス解決部212に通知する。 The external address / port information acquisition unit 211 includes the STUN application 2111 and acquires the global IP address / port and NAT type by accessing the STUN server 71. The acquired information is registered in the external address / port information storage unit 220 and notified to the address resolution unit 212.

また、後述するように、外部アドレス・ポート情報取得部211は、定期的にSTUNサーバ71にアクセスして、取得した情報の更新と通知を行う。さらに、IPsecのNATトラバーサルで使用する宛先UDPポート番号の変換処理を行う。これについても後述する。 Further, as will be described later, the external address / port information acquisition unit 211 periodically accesses the STUN server 71 to update and notify the acquired information. Further, the conversion process of the destination UDP port number used in the NAT traversal of IPsec is performed. This will also be described later.

アドレス解決部212は、NHRPプロトコルの制御機能を有し、NHRP登録、NHRP登録応答、NHRPトラフィック通知、NHRP解決要求、NHRP解決応答に関する制御を行う。 The address resolution unit 212 has an NHRP protocol control function, and controls NHRP registration, NHRP registration response, NHRP traffic notification, NHRP resolution request, and NHRP resolution response.

アドレス解決部212は、外部アドレス・ポート情報取得部211からグローバルIPアドレス・ポートおよびNAT種別の取得の通知を受けると、NHRP登録の拡張部にNAPT拡張としてその情報を付加してハブに通知する。 When the address resolution unit 212 receives the notification of acquisition of the global IP address port and NAT type from the external address port information acquisition unit 211, the address resolution unit 212 adds the information as a NAPT extension to the extension unit of the NHRP registration and notifies the hub. ..

アドレス解決部212は、ハブ経由スポーク間通信の際に、ハブからNHRPトラフィック通知を受けると、NHRP解決要求の拡張部にNAPT拡張としてグローバルIPアドレス・ポートおよびNAT種別の情報を付加してNHRP解決を図る。 When the address resolution unit 212 receives an NHRP traffic notification from the hub during inter-spoke communication via the hub, the address resolution unit 212 adds global IP address port and NAT type information as a NAT extension to the extension unit of the NHRP resolution request to resolve the NHRP. Aim.

アドレス解決部212は、NHRP解決応答の拡張部にNAPT拡張として含まれるグローバルIPアドレス・ポートおよびNAT種別の情報を取得して、外部アドレス・ポート情報記憶部に相手先スポークの情報として登録する。 The address resolution unit 212 acquires the global IP address port and NAT type information included as the NAPT extension in the extension unit of the NHRP resolution response, and registers it in the external address port information storage unit as the information of the destination spoke.

トンネル生成部213は、動的な仮想トンネルの生成に関する制御を行う。また、トンネル生成部213は、仮想トンネルの生成に際してNAT種別に応じて行われる後述する制御を行うトンネル生成制御部2131を含む。 The tunnel generation unit 213 controls the generation of a dynamic virtual tunnel. Further, the tunnel generation unit 213 includes a tunnel generation control unit 2131 that performs the control described later according to the NAT type when the virtual tunnel is generated.

上記の構成は、本実施形態に関わる構成であり、DMVPNのスポークとして機能するためのその他の機能(経路情報制御、BGP、マルチポイントGRE、IPsec等)に関する構成の図示や説明は省略している。 The above configuration is a configuration related to the present embodiment, and the illustration and description of the configuration related to other functions (route information control, BGP, multipoint GRE, IPsec, etc.) for functioning as spokes of DMVPN are omitted. ..

なお、この通信装置200は、スポークである第1のVPN装置11および第2のVPN装置21の構成を示すものとして説明した。一方、図5に示した、ハブとなる第3のVPN装置31は、上述の説明から理解されるように、本実施形態に関してはNHRP登録やNHRPトラフィック通知に関する制御を行う。そして、そのために必要な構成としては、NHRP登録で取得した情報に基づくマッピング情報の生成と、それに基づいて行われる動的仮想トンネル生成可否判定機能がある。図5に図示した第3のVPN装置31の「マッピング情報」、「トンネル生成判定」がそれらの機能に相当するものとし、個別の通信装置としての詳細構成の図示は省略した。 The communication device 200 has been described as showing the configurations of the first VPN device 11 and the second VPN device 21 which are spokes. On the other hand, the third VPN device 31, which is a hub, shown in FIG. 5, controls NHRP registration and NHRP traffic notification in the present embodiment, as will be understood from the above description. Then, as a configuration required for that purpose, there is a function of generating mapping information based on the information acquired by NHRP registration and a function of determining whether or not to generate a dynamic virtual tunnel based on the generation of mapping information. The "mapping information" and "tunnel generation determination" of the third VPN device 31 shown in FIG. 5 correspond to those functions, and the detailed configuration as an individual communication device is not shown.

(NAPT拡張のフィールド構成)
ここで、本実施形態で使用するNHRPプロトコルパケットの拡張部に付加するNAPT拡張について説明する。
(Field configuration of NAPT extension)
Here, the NAPT extension added to the extension part of the NHRP protocol packet used in the present embodiment will be described.

図8は、NHRPプロトコルパケットの拡張フィールドを示す構成図である。 FIG. 8 is a configuration diagram showing an extended field of the NHRP protocol packet.

NHRPプロトコルでは、NHRPメッセージのパケットは必須部と拡張部から構成される。拡張部は、独自に定義したものを付加することをプロトコルとして許容している。本実施形態では、拡張部にNAPT拡張として、図8に示すように、メッセージを送信する送信元スポークのグローバルIPアドレス、グローバルポート番号および該送信元スポークが接続しているNAT装置のNAT種別を示す値を付加している。 In the NHRP protocol, a packet of an NHRP message consists of an essential part and an extension part. The extension allows the protocol to be added with its own definition. In the present embodiment, as a NAPT extension to the extension unit, as shown in FIG. 8, the global IP address and global port number of the source spoke that transmits the message and the NAT type of the NAT device to which the source spoke is connected are displayed. The indicated value is added.

前述したように、本実施形態では、NHRPアドレス解決を通して、NAT装置の配下に設置されたスポーク間で、互いのNAPT拡張の情報がハブ経由で交換される。そのため、NHRP解決要求を送信したスポークは、相手先スポークのグローバルIPアドレス、グローバルポート番号およびNAT種別を知ることができる。さらに、NHRP登録では各スポークが自身のNAPT拡張の情報をハブに通知するので、ハブは、通常のNHRP登録の情報に加えて、各スポークのグローバルIPアドレス、グローバルポート番号およびNAT種別を保持することができる。 As described above, in the present embodiment, information on each other's NAPT extensions is exchanged via the hub between the spokes installed under the NAT device through the NHRP address resolution. Therefore, the spoke that has sent the NHRP resolution request can know the global IP address, global port number, and NAT type of the spoke destination. In addition, in NHRP registration, each spoke notifies the hub of its own NAPT extension information, so the hub retains the global IP address, global port number and NAT type of each spoke in addition to the normal NHRP registration information. be able to.

(通信装置の動作)
次に、図9と図10を参照して、ハブとなる通信装置とスポークとなる通信装置の動作をそれぞれ説明する。
(Operation of communication device)
Next, the operations of the communication device serving as a hub and the communication device serving as spokes will be described with reference to FIGS. 9 and 10.

図9はハブの動作を示すフロー図である。 FIG. 9 is a flow chart showing the operation of the hub.

図9の(1)は、NHRP登録の際の動作を示す。 FIG. 9 (1) shows the operation at the time of NHRP registration.

ハブは、配下の各スポークからのNHRP登録要求を受信する(S401)。 The hub receives the NHRP registration request from each spoke under its control (S401).

そして、ハブは受信したNHRP登録要求のパケットの拡張部に付加されたNAPT拡張から、各スポークのグローバルIPアドレス、グローバルポート番号およびNAT種別を取得し、各スポークと対応付けたマッピング情報に登録する(S402)。 Then, the hub acquires the global IP address, global port number, and NAT type of each spoke from the NAPT extension added to the extended portion of the received NHRP registration request packet, and registers it in the mapping information associated with each spoke. (S402).

NHRP登録を行ったハブは、NHRP登録応答をスポークに返送する(S403)。 The hub that has performed the NHRP registration returns the NHRP registration response to the spokes (S403).

また、図9の(2)は、スポーク間通信時のスポーク間トンネルの生成可否判定の動作を示す。 Further, FIG. 9 (2) shows an operation of determining whether or not to create an inter-spoke tunnel during inter-spoke communication.

ハブは、パケットの送信元スポークから送信先スポークに向けたハブ経由スポーク間通信の発生を知る(S411)。 The hub knows the occurrence of inter-spoke communication via the hub from the source spoke of the packet to the destination spoke (S411).

ハブは、前述のNHRP登録で生成したマッピング情報に基づいて、送信元スポークと送信先スポークのそれぞれのスポークが接続されたNAT装置のNAT種別を識別する(S412)。そして、動的仮想トンネルの作成が可能か否かをそれらのNAT種別の組合せに基づいて判定する(S413)。 The hub identifies the NAT type of the NAT device to which the spokes of the source spoke and the spokes of the destination spoke are connected based on the mapping information generated by the NHRP registration described above (S412). Then, it is determined whether or not the dynamic virtual tunnel can be created based on the combination of these NAT types (S413).

NAT種別の組合せに基づく動的仮想トンネルの生成可否の詳細は図12を参照して後述するが、送信元と送信先の両方のスポークに対応するNAT種別がシンメトリックNATの場合には動的仮想トンネルは作成できないと判定する。また、送信元と送信先のいずれか片方のスポークに対応するNAT種別がシンメトリックNATで、他方がポート制限コーンNATの場合にも動的仮想トンネルは作成できないと判定する。 The details of whether or not a dynamic virtual tunnel can be generated based on the combination of NAT types will be described later with reference to FIG. 12, but it is dynamic when the NAT type corresponding to both the source and destination spokes is symmetric NAT. It is determined that the virtual tunnel cannot be created. Further, it is determined that the dynamic virtual tunnel cannot be created even when the NAT type corresponding to one of the spokes of the source and the destination is the symmetric NAT and the other is the port restriction cone NAT.

動的仮想トンネルの作成が可能と判定した場合(S413、可)、ハブは送信元のスポークに対してNHRPトラフィック通知を送出して、スポーク間での仮想トンネルの生成を指示する(S414)。NHRPトラフィック通知には、送信先スポークの配下になるプライベートネットワーク上の端末のIPアドレスが格納されている。そして、ハブ経由スポーク間通信を実施する(S415)。この場合のハブ経由スポーク間通信は、NHRPトラフィック通知を受信した送信元スポークが送信先スポークとの間に動的仮想トンネルを生成するまで継続される。 When it is determined that the dynamic virtual tunnel can be created (S413, possible), the hub sends an NHRP traffic notification to the spokes of the source to instruct the spokes to create a virtual tunnel (S414). The NHRP traffic notification stores the IP address of the terminal on the private network under the destination spoke. Then, communication between the spokes via the hub is performed (S415). Inter-spoke communication via the hub in this case continues until the source spoke that receives the NHRP traffic notification creates a dynamic virtual tunnel with the destination spoke.

また、動的仮想トンネルの作成が不可能と判定した場合(S413、不可)、ハブは、NHRPトラフィック通知を送信することなく、ハブ経由スポーク間通信を実施する(S415)。 If it is determined that the dynamic virtual tunnel cannot be created (S413, impossible), the hub performs inter-spoke communication via the hub without transmitting the NHRP traffic notification (S415).

図10はスポークの動作を示すフロー図である。 FIG. 10 is a flow chart showing the operation of the spokes.

図10の(1)は、外部アドレス・ポート情報を取得する動作を示す。 FIG. 10 (1) shows an operation of acquiring external address / port information.

本実施形態のスポークは、インターネットに配備されたSTUNサーバから外部アドレス・ポート情報を取得する(S501)。外部アドレス・ポート情報とは、スポークからインターネットに向けて送信されるパケットに付されるNAT変換後の送信元アドレス情報となるグローバルIPアドレス・ポートおよびNAT種別である。この動作は、図6を参照してステップS301、ステップS302に説明したとおりである。 The spokes of this embodiment acquire external address / port information from a STUN server deployed on the Internet (S501). The external address / port information is a global IP address / port and NAT type that is the source address information after NAT translation attached to the packet transmitted from the spoke to the Internet. This operation is as described in step S301 and step S302 with reference to FIG.

外部アドレス・ポート情報を取得したスポークは、ハブにNHRP登録要求を送信する(S502)。このとき、NHRP登録要求のパケットの拡張部にはNAPT拡張が付加される。NAPT拡張は図8を参照して説明した通り、当該スポークが取得したグローバルIPアドレス、グローバルポート番号およびNAT種別を含む情報である。なお、このとき、取得した外部アドレス・ポート情報は、図7に示した外部アドレス・ポート情報記憶部220にも登録される。 The spoke that has acquired the external address / port information sends an NHRP registration request to the hub (S502). At this time, the NAT extension is added to the extension portion of the packet of the NHRP registration request. As explained with reference to FIG. 8, the NAPT extension is information including the global IP address, the global port number, and the NAT type acquired by the spoke. At this time, the acquired external address / port information is also registered in the external address / port information storage unit 220 shown in FIG. 7.

図9(1)を参照して説明したように、スポークが送信したNHRP登録要求はハブで受信される。そして、ハブでマッピング情報が登録されて、NHRP登録応答が返送される。スポークはこのNHRP登録応答を受信して、NHRP登録の完了を知る(S503)。 As described with reference to FIG. 9 (1), the NHRP registration request transmitted by the spokes is received at the hub. Then, the mapping information is registered in the hub, and the NHRP registration response is returned. The spoke receives this NHRP registration response and knows that the NHRP registration is complete (S503).

また、図10の(2)は、スポーク間トンネルを生成する動作を示す。 Further, (2) of FIG. 10 shows an operation of generating an inter-spoke tunnel.

まず、スポークはハブ経由スポーク間通信を要求する(S511)。 First, the spokes request communication between the spokes via the hub (S511).

この動作は、図6を参照してステップS306に説明したとおりである。つまり、スポークが配下のプライベートネットワーク内の端末から受信したデータパケットが所定の経路情報に従ってハブを経由して相手先スポークに転送される。 This operation is as described in step S306 with reference to FIG. That is, the data packet received from the terminal in the private network under the spoke is transferred to the other spoke via the hub according to the predetermined route information.

この動作においてハブは、スポーク間での直接通信の可否を図9(2)のステップS413で説明したように判定し、スポーク間通信が可能であると判定したハブが送信元スポークに対してNHRPトラフィック通知を送信する。スポークはこのNHRPトラフィック通知を受信する(S512)。 In this operation, the hub determines whether or not direct communication between the spokes is possible as described in step S413 of FIG. 9 (2), and the hub determined that communication between the spokes is possible NHRP with respect to the source spokes. Send traffic notifications. The spoke receives this NHRP traffic notification (S512).

NHRPトラフィック通知を受信したスポークは相手先スポークとの間に仮想トンネルを生成するためにアドレス解決を開始する。 The spoke that receives the NHRP traffic notification initiates address resolution to create a virtual tunnel with the other spoke.

スポークは、NHRPトラフィック通知に含まれるアドレス情報に基づいて、相手先スポーク配下のプライベートネットワークの端末を宛先としてNHRP解決要求を送信する(S513)。 The spoke sends an NHRP resolution request to a terminal of a private network under the destination spoke as a destination based on the address information included in the NHRP traffic notification (S513).

このとき、NHRP解決要求のパケットの拡張部には、当該スポークのNAPT拡張が付加される。NAPT拡張には当該スポークが取得したグローバルIPアドレス、グローバルポート番号およびNAT種別を含む。 At this time, the NAPT extension of the spoke is added to the extension portion of the packet of the NHRP resolution request. The NAPT extension includes the global IP address, global port number and NAT type acquired by the spoke.

このNHRP解決要求はハブ経由で相手先スポークにおいて受信され、相手先スポークからNHRP解決応答が送信される。 This NHRP resolution request is received at the destination spoke via the hub, and the NHRP resolution response is transmitted from the destination spoke.

このNHRP解決応答のパケットの拡張部には、相手先スポークのNAPT拡張が付加されている。このNAPT拡張には相手先スポークが取得したグローバルIPアドレス、グローバルポート番号およびNAT種別を含む。 The NAPT extension of the destination spoke is added to the extension of the packet of the NHRP resolution response. This NAPT extension includes the global IP address, global port number and NAT type acquired by the destination spoke.

スポークはこのNHRP解決応答を受信する(S514)。 The spoke receives this NHRP resolution response (S514).

スポークは、NHRP解決応答の送信元アドレス情報として相手先スポークのIPアドレス情報に加えて、相手先スポークが取得したグローバルIPアドレス、グローバルポート番号およびNAT種別を含むNAPT拡張の情報を取得する。取得した相手先スポークの外部アドレス・ポート情報は、図7に示した外部アドレス・ポート情報記憶部220にも登録される。 The spoke acquires the IP address information of the destination spoke as the source address information of the NHRP resolution response, as well as the NAPT extension information including the global IP address, the global port number, and the NAT type acquired by the destination spoke. The acquired external address / port information of the destination spoke is also registered in the external address / port information storage unit 220 shown in FIG. 7.

スポークは、取得した相手先スポークのグローバルIPアドレス・ポートに基づいて相手先スポークとの間に動的な仮想トンネルを生成する(S515)。 The spoke creates a dynamic virtual tunnel with the destination spoke based on the acquired global IP address port of the destination spoke (S515).

このとき、スポークは仮想ネットワークの経路情報を追加し、相手先スポークの配下のプライベートネットワークへのネクストホップは、相手先スポークの仮想ネットワーク上のトンネルIPアドレスとする。 At this time, the spoke adds the route information of the virtual network, and the next hop to the private network under the destination spoke is the tunnel IP address on the virtual network of the destination spoke.

以降は、図11乃至14を参照して、本実施形態の通信装置の特徴的な機能について説明する。 Hereinafter, the characteristic functions of the communication device of the present embodiment will be described with reference to FIGS. 11 to 14.

この特徴的な機能として、次の4つの機能について順次説明する。 As this characteristic function, the following four functions will be described in sequence.

NATトラバーサルのIPsecパケット送受信におけるポート番号の変換制御、NAT種別の組合せによる動的仮想トンネルの作成可否、自装置側/相手装置側のNAT種別に応じた制御動作、および外部アドレス・ポート情報の更新動作。 Port number conversion control for NAT traversal IPsec packet transmission / reception, dynamic virtual tunnel creation availability by combination of NAT types, control operation according to NAT type on own device side / partner device side, and update of external address / port information motion.

(NATトラバーサルのIPsecパケット送受信におけるポート番号の変換制御)
図11は、NATトラバーサルのIPsecパケット送受信におけるポート番号の変換制御を示すシーケンス図である。
(Port number conversion control in NAT traversal IPsec packet transmission / reception)
FIG. 11 is a sequence diagram showing port number conversion control in NAT traversal IPsec packet transmission / reception.

この機能は、図7を参照して説明した外部アドレス・ポート情報取得部211のSTUNアプリケーション2111により実行される。 This function is executed by the STUN application 2111 of the external address / port information acquisition unit 211 described with reference to FIG. 7.

NATトラバーサルは、IPsecにより暗号化されたパケットを、NATを通過させるための技術である。IPsecにより暗号化されたパケットではESP(Encapsulating Security Payload)ヘッダでカプセル化された部分のデータが暗号化されるので、NATではIPsecにより暗号化されたパケットからポート番号を読み取ることができない。そのため、NATトラバーサルとして、ESPヘッダでカプセル化されたパケットをUDPのダミーヘッダでカプセル化し、転送用のIPヘッダを付加したパケットを生成して転送する。このNATトラバーサルを使用するIPsecパケットはポート番号4500が使用される。 NAT traversal is a technique for passing a packet encrypted by IPsec through NAT. Since the data of the portion encapsulated by the ESP (Encapsulating Security Payload) header is encrypted in the packet encrypted by IPsec, NAT cannot read the port number from the packet encrypted by IPsec. Therefore, as NAT traversal, the packet encapsulated in the ESP header is encapsulated in the UDP dummy header, and the packet to which the IP header for transfer is added is generated and transferred. Port number 4500 is used for IPsec packets that use this NAT traversal.

このように、NATトラバーサルを使用するIPsecパケットのポート番号が規定されているため、STUNプロトコルで外部アドレス・ポート情報を取得するときにポート番号の変換処理が必要になる。 Since the port number of the IPsec packet using NAT traversal is defined in this way, the port number conversion process is required when acquiring the external address / port information by the STUN protocol.

STUNプロトコルで取得したいのは、NATトラバーサルを使用するIPsecパケットがNAT装置を通過する際に使用する、NAT装置のエントリのグローバルIPアドレスおよびグローバルポート番号である。 What we want to obtain with the STUN protocol is the global IP address and global port number of the NAT device entry used when IPsec packets using NAT traversal pass through the NAT device.

NATトラバーサルを使用する場合、送信元ポート番号は4500となる。 When using NAT traversal, the source port number is 4500.

DMVPNで使用するグローバルIPアドレスおよびポート番号を得るためには、STUNアプリケーション2111が送信元ポート番号4500でSTUNサーバへ問合せする必要がある。しかし、4500番のポートはNATトラバーサル用として定義されているため、STUNプロトコルでは使用できない。 In order to obtain the global IP address and port number used by DMVPN, the STUN application 2111 needs to query the STUN server with the source port number 4500. However, port 4500 is defined for NAT traversal and cannot be used with the STUN protocol.

そのため、STUNアプリケーション2111は、用途が定義されていない任意のポート番号をダミーポート番号として使用し、STUNサーバへの問合せを行う。 Therefore, the STUN application 2111 uses an arbitrary port number for which the purpose is not defined as a dummy port number, and makes an inquiry to the STUN server.

図11を参照してこの機能を説明する。 This function will be described with reference to FIG.

STUNアプリケーション2111は、ダミーポート番号を送信元ポート番号に設定して(S601)、STUNサーバに対してSTUNリクエストメッセージを送信する(S602)。 The STUN application 2111 sets the dummy port number as the source port number (S601) and sends a STUN request message to the STUN server (S602).

このとき、ゲートウェイ(NAT装置)では、該メッセージの送信元アドレスであるスポークのプライベートIPアドレスと該ダミーポート番号が、グローバルIPアドレスとグローバルポート番号にNAT変換される。つまり、スポークのプライベートIPアドレスとダミーポート番号とNAT変換されたグローバルIPアドレスとグローバルポート番号とを対応付けるエントリが生成される(S603)。 At this time, in the gateway (NAT device), the private IP address of the spoke, which is the source address of the message, and the dummy port number are NAT-translated into the global IP address and the global port number. That is, an entry for associating the spoke private IP address, the dummy port number, the NAT-translated global IP address, and the global port number is generated (S603).

STUNサーバは、NAT変換されたグローバルIPアドレスとグローバルポート番号を含めたSTUNレスポンスメッセージを、NAT変換されたグローバルIPアドレスとグローバルポート番号を宛先として送信する。このSTUNレスポンスメッセージはゲートウェイで受信される。ゲートウェイは、STUNリクエストメッセージが通過した際に生成したエントリに基づいて、宛先をスポークのプライベートIPアドレスとダミーポート番号に変換して該STUNレスポンスメッセージを転送する(S604)。 The STUN server sends a STUN response message including a NAT-translated global IP address and a global port number to the NAT-translated global IP address and the global port number as a destination. This STUN response message is received at the gateway. Based on the entry generated when the STUN request message passes, the gateway translates the destination into the private IP address and dummy port number of the spoke and forwards the STUN response message (S604).

このSTUNレスポンスメッセージはスポークのSTUNアプリケーション2111で受信される。 This STUN response message is received by the spoke STUN application 2111.

また、NATトラバーサルのIPsecパケットを送受信する場合は、次のような処理が実行される。 Further, when transmitting / receiving NAT traversal IPsec packets, the following processing is executed.

スポークがNATトラバーサルのIPsecパケットを送信するとき、該送信パケットは一旦、STUNアプリケーション2111に渡される。そして、STUNアプリケーション2111において、該送信パケットの送信元ポート番号をダミーポート番号に変換してから送信する(S605、S606)。 When the spokes transmit a NAT traversal IPsec packet, the transmitted packet is once passed to STUN application 2111. Then, in STUN application 2111, the source port number of the transmission packet is converted into a dummy port number before transmission (S605, S606).

このNATトラバーサルのIPsecパケットは、ゲートウェイを通過するときに、送信元アドレスがスポークのプライベートIPアドレスと該ダミーポート番号からグローバルIPアドレスとグローバルポート番号にNAT変換される。 When passing through the gateway, the NAT traversal IPsec packet is NAT-translated from the private IP address of the spoke and the dummy port number to the global IP address and the global port number.

一方、NATトラバーサルのIPsecパケットを受信するとき、ゲートウェイで宛先がスポークのプライベートIPアドレスとダミーポート番号にNAT変換される(S607)。つまり、NATトラバーサルのIPsecパケットは一旦、STUNアプリケーション2111で受信される。 On the other hand, when receiving a NAT traversal IPsec packet, the gateway NAT-translates the destination into a spoke private IP address and a dummy port number (S607). That is, the NAT traversal IPsec packet is once received by the STUN application 2111.

STUNアプリケーション2111は、受信したNATトラバーサルのIPsecパケットの送信元IPアドレスがSTUNサーバのものではないことを確認し、宛先ポート番号を4500に変換して出力する(S608)。 The STUN application 2111 confirms that the source IP address of the received NAT traversal IPsec packet does not belong to the STUN server, converts the destination port number to 4500, and outputs the packet (S608).

宛先ポート番号が4500に設定されたNATトラバーサルのIPsecパケットが受信される(S609)。 A NAT traversal IPsec packet with the destination port number set to 4500 is received (S609).

以上のようにして、NATトラバーサルのIPsecパケットに関するポート番号の変換処理が行われる。 As described above, the port number conversion process for the NAT traversal IPsec packet is performed.

(NAT種別の組合せによる動的仮想トンネルの生成可否)
スポーク間で動的に仮想トンネルを生成する際に、それぞれのスポークに対応するNAT種別の組合せにより、トンネルの生成が不可能になることや、制限を受けることがある。
(Whether or not a dynamic virtual tunnel can be created by combining NAT types)
When dynamically creating a virtual tunnel between spokes, the combination of NAT types corresponding to each spoke may make it impossible to generate a tunnel or may be restricted.

図12は、NAT種別の組合せによる動的仮想トンネルの生成可否の対応を示す図である。 FIG. 12 is a diagram showing the correspondence between whether or not a dynamic virtual tunnel can be generated by combining NAT types.

図12では、送信元スポークおよび相手先スポークのそれぞれに対応するNAT種別に応じたマトリックスでトンネルの生成可否を示している。 FIG. 12 shows whether or not a tunnel can be generated with a matrix corresponding to each of the source spoke and the destination spoke according to the NAT type.

送信元スポークおよび相手先スポークのいずれもフルコーンNATの場合は「○」表示で、動的仮想トンネルの生成は制限なく可能である。 In the case of full-cone NAT, both the source spoke and the destination spoke are displayed as "○", and dynamic virtual tunnels can be generated without limitation.

送信元スポーク、相手先スポークのいずれかがフルコーンNATで、他方のスポークがアドレス制限コーンNATまたはポート制限コーンNATの場合は「△1」表示で、通信実績を作るための制御を行う必要がある。これについては図13を参照して後述する。 If either the source spoke or the destination spoke is a full-cone NAT and the other spoke is an address-restricted cone NAT or a port-restricted cone NAT, "△ 1" is displayed and control for creating communication results must be performed. .. This will be described later with reference to FIG.

送信元スポークと相手先スポークのNAT種別の組合せがアドレス制限コーンNATとポート制限コーンNATとなる場合も「△1」表示で、通信実績を作るための制御を行う必要がある。 Even when the combination of the NAT type of the source spoke and the destination spoke is the address restriction cone NAT and the port restriction cone NAT, it is necessary to perform control for creating a communication record by displaying "Δ1".

送信元スポーク、相手先スポークのいずれかがシンメトリックNATで、他方のスポークがフルコーンNATまたはアドレス制限コーンNATの場合は「△2」表示で、通信実績を作るための制御とシンメトリックNAT側のグローバルポート番号取得の制御が必要となる。これについても図13を参照して後述する。 If either the source spoke or the destination spoke is a symmetric NAT, and the other spoke is a full-cone NAT or an address-restricted-cone NAT, "△ 2" is displayed, and the control for creating communication results and the symmetric NAT side Control of global port number acquisition is required. This will also be described later with reference to FIG.

送信元スポーク、相手先スポークのいずれかがシンメトリックNATで、他方のスポークがポート制限コーンNATまたはシンメトリックNATの場合は「×」表示で、動的仮想トンネルの生成は不可能である。 If either the source spoke or the destination spoke is Symmetric NAT, and the other spoke is Port Restriction Cone NAT or Symmetric NAT, an "x" is displayed and a dynamic virtual tunnel cannot be created.

シンメトリックNATでは、NATの外側の宛先が異なると、NAT装置では、宛先の数だけ異なるグローバルポート番号のエントリを生成する。そのため、ポート制限コーンNAT装置配下のスポークではシンメトリックNAT側のグローバルポート番号を取得できず、シンメトリックNAT装置のグローバルIPアドレスおよびポート番号への通信実績を作ることができない。 In symmetric NAT, if the destinations outside the NAT are different, the NAT device will generate entries with global port numbers that differ by the number of destinations. Therefore, the spokes under the port restriction cone NAT device cannot acquire the global port number on the symmetric NAT side, and cannot create the communication record to the global IP address and port number of the symmetric NAT device.

前述したように、ハブはNHRP登録で各スポークから通知されるNHRP登録要求に付加されたNAPT拡張により、配下のスポークがどのNAT種別のNAT装置の背後にいるかを認識している。そして、ハブは、スポークからスポークへのデータパケットを転送するとき、各スポークに対応するNAT種別を参照して動的仮想トンネルが生成可能なNAT種別の組合せであるかを判断している。したがって、ハブは、動的仮想トンネルを生成できないNAT種別の組合せである場合にはNHRPトラフィック通知を送信しないようにしている。 As described above, the hub recognizes which NAT type NAT device the subordinate spokes are behind by the NAPT extension added to the NHRP registration request notified from each spoke in the NHRP registration. Then, when transferring a data packet from spoke to spoke, the hub refers to the NAT type corresponding to each spoke to determine whether or not the combination of NAT types can generate a dynamic virtual tunnel. Therefore, the hub does not send NHRP traffic notifications when it is a combination of NAT types that cannot generate a dynamic virtual tunnel.

また、各スポークにおいては、NHRP解決を通して相手先スポークに対応するNAT種別を取得している。 In addition, for each spoke, the NAT type corresponding to the other spoke is acquired through NHRP resolution.

(自装置側/相手装置側のNAT種別に応じた制御動作)
図12を参照して説明したように、送信元スポーク側と相手先スポーク側のNAT種別の組合せに応じて、通信実績を作るための制御やシンメトリックNAT側のグローバルポート番号取得の制御が必要となる。
(Control operation according to the NAT type on the own device side / partner device side)
As explained with reference to FIG. 12, control for creating a communication record and control for acquiring a global port number on the symmetric NAT side are required according to the combination of NAT types on the source spoke side and the destination spoke side. It becomes.

図13は、スポークにおける自装置側のNAT種別および相手装置側のNAT種別に応じた制御動作を示すフロー図である。この制御は図7に示した通信装置200のトンネル生成制御部2131により実行される。トンネル生成制御部2131は、外部アドレス・ポート情報記憶部220に登録された自装置の外部アドレス・ポート情報やNHRP解決を通して取得した相手装置の外部アドレス・ポート情報を参照する。外部アドレス・ポート情報にはNAT種別が含まれている。 FIG. 13 is a flow chart showing a control operation of the spokes according to the NAT type on the own device side and the NAT type on the other device side. This control is executed by the tunnel generation control unit 2131 of the communication device 200 shown in FIG. 7. The tunnel generation control unit 2131 refers to the external address / port information of the own device registered in the external address / port information storage unit 220 and the external address / port information of the other device acquired through NHRP resolution. The external address / port information includes the NAT type.

図13(1)は、通信実績を作るための制御であり、図12における「△1」表示の場合の動作フローである。 FIG. 13 (1) is a control for creating a communication record, and is an operation flow in the case of “Δ1” display in FIG.

まず、自装置側のNAT種別を識別する(S701)。 First, the NAT type on the own device side is identified (S701).

自装置側のNAT種別がフルコーンNATか否かが判定される(S702)。 It is determined whether or not the NAT type on the own device side is a full cone NAT (S702).

自装置側のNAT種別がフルコーンNATの場合(S702、Yes)、スポーク間の動的仮想トンネルを生成するために特別な準備を行う必要はない。 When the NAT type on the own device side is a full-cone NAT (S702, Yes), no special preparation is required to generate a dynamic virtual tunnel between the spokes.

自装置側のNAT種別がフルコーンNATではない場合(S702、No)、スポーク間の動的仮想トンネルを生成する前に、自装置が接続されているNAT装置に対して通信実績を作る制御を行う。なお、フルコーンNATではない場合とは、NAT種別がアドレス制限コーンNAT、ポート制限コーンNAT、シンメトリックNATのいずれかの場合である。 When the NAT type on the own device side is not a full-cone NAT (S702, No), control is performed to create a communication record for the NAT device to which the own device is connected before creating a dynamic virtual tunnel between the spokes. .. The case where the NAT type is not a full cone NAT is a case where the NAT type is any one of an address limiting cone NAT, a port limiting cone NAT, and a symmetric NAT.

フルコーンNAT以外のNAT種別の場合、NAT装置は、通信実績のある相手装置からのパケットしかNAT装置の内側への通過を許可しない。「通信実績がある」とは、NAT装置を越えてインターネット上にパケットを送信したことがあるグローバルIPアドレス・ポートの宛先がエントリとして残っていることを意味する。 In the case of a NAT type other than full-cone NAT, the NAT device allows only packets from a partner device with a communication record to pass inside the NAT device. "Communication record" means that the destination of the global IP address port that has transmitted the packet over the Internet beyond the NAT device remains as an entry.

そのため、その通信実績を作るためにダミーUDPパケットを送信する(S703)。 Therefore, a dummy UDP packet is transmitted in order to create the communication record (S703).

ダミーUDPパケットとは、NHRP解決で取得した相手装置のグローバルIPアドレス・ポートを宛先として設定した、ペイロードなしのUDPパケットである。 The dummy UDP packet is a UDP packet without a payload, which is set with the global IP address port of the remote device acquired by NHRP resolution as the destination.

つまり、NHRP解決要求を送信した送信側スポークはNHRP解決応答を受信した後に、自装置側のNAT種別がフルコーンNAT以外の場合にこのダミーUDPパケットを送信する。また、NHRP解決要求を受信した受信側スポークはNHRP解決要求を受信した後に、自装置側のNAT種別がフルコーンNAT以外の場合にこのダミーUDPパケットを送信する。 That is, after receiving the NHRP resolution response, the transmitting spoke that has transmitted the NHRP resolution request transmits this dummy UDP packet when the NAT type on the own device side is other than full-cone NAT. Further, after receiving the NHRP resolution request, the receiving side spoke that has received the NHRP resolution request transmits this dummy UDP packet when the NAT type on the own device side is other than the full cone NAT.

このダミーUDPパケットは、相手装置からの同様なダミーUDPパケットを受信するまで複数回送信する。なお、フルコーンNATのNAT装置配下のスポークがこのダミーUDPパケットを受信した場合、ダミーUDPパケットを受信したことを通知するために、同様なダミーUDPパケットを相手先スポークに送信する。 This dummy UDP packet is transmitted a plurality of times until a similar dummy UDP packet from the other device is received. When the spoke under the NAT device of the full cone NAT receives this dummy UDP packet, the same dummy UDP packet is transmitted to the other spoke in order to notify that the dummy UDP packet has been received.

上記により、双方のスポークが接続しているNAT装置に、相手先となるスポークとの通信実績ができたことになる。 As a result of the above, the NAT device to which both spokes are connected has a record of communication with the spoke of the other party.

ダミーUDPパケットを相手先スポークから受信した後、スポーク間で動的仮想トンネル作成のための通信を行う。 After receiving the dummy UDP packet from the other spoke, communication is performed between the spokes for creating a dynamic virtual tunnel.

次に、相手装置側のNAT種別がシンメトリックNATであった場合の制御について説明する。 Next, control when the NAT type on the other device side is symmetric NAT will be described.

図13(2)は、相手装置のグローバルポート番号取得の制御であり、図12における「△2」表示の「シンメトリックNAT側のグローバルポート番号取得」に関する動作フローである。 FIG. 13 (2) is a control for acquiring the global port number of the remote device, and is an operation flow related to “acquisition of the global port number on the symmetric NAT side” displayed by “Δ2” in FIG.

まず、相手装置側のNAT種別を識別する(S711)。なお、相手装置側のNAT種別はNHRP解決を通して取得している。 First, the NAT type on the other device side is identified (S711). The NAT type on the other device side is acquired through NHRP resolution.

相手装置側のNAT種別がシンメトリックNATか否かが判定される(S712)。 It is determined whether or not the NAT type on the other device side is symmetric NAT (S712).

相手装置側のNAT種別がシンメトリックNATではない場合(S712、No)、自装置側のNAT種別は、フルコーンNAT、アドレス制限コーンNAT、ポート制限近NAT、シンメトリックNATのいずれかである。そして、図13(1)で説明した制御が行われる。 When the NAT type on the other device side is not symmetric NAT (S712, No), the NAT type on the own device side is any one of full cone NAT, address restriction cone NAT, port restriction near NAT, and symmetric NAT. Then, the control described with reference to FIG. 13 (1) is performed.

さらに、この場合は、NHRP解決を通して取得した外部アドレス・ポートが相手の外部アドレス・ポートとして使用される(S714)。つまり、NHRP解決要求を送信した送信側スポークは受信したNHRP解決応答に含まれる外部アドレス・ポートを使用し、NHRP解決要求を受信した受信側スポークは受信したNHRP解決要求に含まれる外部アドレス・ポートを使用する。 Further, in this case, the external address port acquired through NHRP resolution is used as the other party's external address port (S714). That is, the transmitting spoke that sent the NHRP resolution request uses the external address port included in the received NHRP resolution response, and the receiving spoke that received the NHRP resolution request uses the external address port included in the received NHRP resolution request. To use.

一方、相手装置側のNAT種別がシンメトリックNATの場合(S712、Yes)には次の処理が行われる。 On the other hand, when the NAT type on the other device side is symmetric NAT (S712, Yes), the following processing is performed.

なお、この場合、自装置側のNAT種別がシンメトリックNATまたはポート制限コーンNATの場合にはハブからのNHRPトラフィック通知は受けないので、この制御の対象にはならない。つまり、この場合が適用されるのは、自装置側のNAT種別がフルコーンNATまたはアドレス制限コーンNATの場合に限られる。 In this case, if the NAT type on the own device side is a symmetric NAT or a port limiting cone NAT, the NHRP traffic notification from the hub is not received, so this control does not apply. That is, this case is applied only when the NAT type on the own device side is a full cone NAT or an address limiting cone NAT.

シンメトリックNATのNAT装置配下のスポークであっても、該スポークが送信するNHRPメッセージのパケットに付加されるNAPT拡張の情報は、STUNサーバと通信して取得したグローバルIPアドレス・ポート情報である。しかし、シンメトリックNATのNAT装置配下のスポーク(例えば、スポークA)の相手先となっているスポーク(例えば、スポークB)は、そのスポークAがスポークBと通信する際に使用するグローバルIPアドレス・ポートを使用する必要がある。 Even for spokes under the NAT device of Symmetric NAT, the NAPT extension information added to the NHRP message packet transmitted by the spokes is the global IP address / port information acquired by communicating with the STUN server. However, the spoke (for example, spoke B) that is the destination of the spoke (for example, spoke A) under the NAT device of Symmetric NAT has a global IP address that the spoke A uses when communicating with the spoke B. You need to use the port.

つまり、相手装置側のNAT種別がシンメトリックNATの場合には、NHRP解決を通して取得した外部アドレス・ポート情報を使うことができない。 That is, when the NAT type on the other device side is symmetric NAT, the external address / port information acquired through NHRP resolution cannot be used.

図13(1)で説明したように、自装置側のNAT種別がシンメトリックNATであっても、前述したダミーUDPパケットを送信する。そのため、図13(2)では、ステップS712、Yesの場合は、シンメトリックNATのNAT装置配下となっている相手装置が送信するダミーUDPパケットの送信元アドレスを使えばよい。つまり、このダミーUDPパケットの送信元アドレスは、シンメトリックNATのNAT装置でNAT変換された通信実績のあるグローバルIPアドレス・ポートが設定されている。 As described with reference to FIG. 13 (1), even if the NAT type on the own device side is symmetric NAT, the above-mentioned dummy UDP packet is transmitted. Therefore, in FIG. 13 (2), in the case of steps S712 and Yes, the source address of the dummy UDP packet transmitted by the remote device under the NAT device of the symmetric NAT may be used. That is, the source address of this dummy UDP packet is set to the global IP address port that has been NAT-translated by the NAT device of the symmetric NAT and has a communication record.

従って、ステップS713では、相手装置から受信したダミーUDPパケットの送信元アドレス・ポート情報を相手の外部アドレス・ポート情報として使う処理を行う。 Therefore, in step S713, a process of using the source address / port information of the dummy UDP packet received from the other party device as the other party's external address / port information is performed.

なお、自装置側のNAT種別がアドレス制限コーンNATで、前述したダミーUDPパケットを送信する際には次のように処理する。まず、シンメトリックNATのNAT装置配下となっている相手装置側からダミーUDPパケットを受信するまでは、NHRP解決を通して取得した外部アドレス・ポートを自装置が送信するダミーUDPパケットの宛先として設定する。そして、該相手装置が送信したダミーUDPパケットを受信したら、自装置が送信するダミーUDPパケットの宛先を、受信したダミーUDPパケットの送信元アドレスとして設定されているポート番号に変更して送信する。 The NAT type on the own device side is the address restriction cone NAT, and when the above-mentioned dummy UDP packet is transmitted, the processing is performed as follows. First, until a dummy UDP packet is received from the other device side under the NAT device of Symmetric NAT, the external address port acquired through NHRP resolution is set as the destination of the dummy UDP packet transmitted by the own device. Then, when the dummy UDP packet transmitted by the remote device is received, the destination of the dummy UDP packet transmitted by the own device is changed to the port number set as the source address of the received dummy UDP packet and transmitted.

(外部アドレス・ポート情報の更新動作)
NAT装置で生成されるNAT変換ルールのエントリは一意なものではないため、NAT装置のエントリ変更を検出する機能を備える。
(Update operation of external address / port information)
Since the entry of the NAT translation rule generated by the NAT device is not unique, it has a function of detecting the entry change of the NAT device.

つまり、スポークとハブ間のトンネルやスポーク間のトンネルにおいて、スポークが接続しているNAT装置のグローバルIPアドレス・ポートの情報を常に最新の状態に保つ必要がある。 That is, in the tunnel between the spokes and the hub or the tunnel between the spokes, it is necessary to always keep the information of the global IP address port of the NAT device to which the spokes are connected up-to-date.

図14は、スポークにおける外部アドレス・ポート情報の更新動作を示すフロー図である。 FIG. 14 is a flow chart showing an operation of updating external address / port information in the spokes.

この動作は、図7の通信装置200の通信制御部210が実行する動作であり、外部アドレス・ポート情報取得部211、アドレス解決部212、トンネル生成部213が協働して実行する。 This operation is an operation executed by the communication control unit 210 of the communication device 200 of FIG. 7, and is executed in cooperation with the external address / port information acquisition unit 211, the address resolution unit 212, and the tunnel generation unit 213.

まず、外部アドレス・ポート情報取得部211は、所定のタイミングでSTUNサーバにアクセスして、STUNサーバから外部アドレス・ポート情報を周期的に取得する(S801)。そして、取得した外部アドレス・ポート情報に変更があったか否かを判定する(S802)。 First, the external address / port information acquisition unit 211 accesses the STUN server at a predetermined timing and periodically acquires the external address / port information from the STUN server (S801). Then, it is determined whether or not the acquired external address / port information has been changed (S802).

この判定動作において外部アドレス・ポート情報に変更がない場合(S802、No)は、ステップS801に戻り、次のタイミングで再度STUNサーバにアクセスする。 If there is no change in the external address / port information in this determination operation (S802, No), the process returns to step S801, and the STUN server is accessed again at the next timing.

一方、取得した外部アドレス・ポート情報に変更があった場合(S802、Yes)、外部アドレス・ポート情報取得部211は、外部アドレス・ポート情報記憶部220に登録されている自装置の外部アドレス・ポート情報を更新する。同時に、外部アドレス・ポート情報取得部211は、外部アドレス・ポート情報を更新した旨をアドレス解決部212とトンネル生成部213に通知する。 On the other hand, when the acquired external address / port information is changed (S802, Yes), the external address / port information acquisition unit 211 uses the external address of its own device registered in the external address / port information storage unit 220. Update port information. At the same time, the external address / port information acquisition unit 211 notifies the address resolution unit 212 and the tunnel generation unit 213 that the external address / port information has been updated.

アドレス解決部212は、外部アドレス・ポート情報の更新を知ると、ハブに対して直ちに更新後の外部アドレス・ポート情報をNAPT拡張として付加したNHRP登録要求を送信する(S804)。 Upon learning that the external address / port information has been updated, the address resolution unit 212 immediately sends an NHRP registration request to the hub with the updated external address / port information added as a NAT extension (S804).

また、トンネル生成部213は、外部アドレス・ポート情報の更新を知ると、相手先のスポークに対して、更新された外部アドレス・ポートを送信元アドレスとしたダミーUDPパケットを送信する(S805)。なお、このダミーUDPパケットは、前述したようにNATにおける通信実績を作成するために送信したパケットと同じで、ペイロードなしのUDPパケットである。このダミーUDPパケットは、相手先のスポーク情報が生存している間は定期的に送信されている。 Further, when the tunnel generation unit 213 learns that the external address / port information has been updated, it transmits a dummy UDP packet with the updated external address / port as the source address to the spokes of the other party (S805). Note that this dummy UDP packet is the same as the packet transmitted for creating the communication record in NAT as described above, and is a UDP packet without a payload. This dummy UDP packet is periodically transmitted while the spoke information of the other party is alive.

上記の動作により、ハブは新たに受け取ったNHRP登録要求に付加されたNAPT拡張に基づいて送信元スポークの外部アドレス・ポート情報を更新する。また、送信元アドレスが変更されたダミーUDPパケットを受け取った相手先のスポークは、該送信元アドレスの情報に基づいて送信元スポークの外部アドレス・ポートを更新する。 By the above operation, the hub updates the external address / port information of the source spoke based on the NAT extension added to the newly received NHRP registration request. Further, the spoke of the other party receiving the dummy UDP packet whose source address has been changed updates the external address port of the source spoke based on the information of the source address.

以上に説明したように、本実施形態では、スポークはNAT装置であるゲートウェイでNAT変換されたグローバルIPアドレス・ポートの情報をSTUNサーバから取得する。そして、NHRPプロトコルのパケットの拡張部にNAPT拡張としてグローバルIPアドレス、グローバルポート番号、NAT種別を付加してスポーク間で通知することができる。 As described above, in the present embodiment, the spokes acquire the information of the global IP address / port NAT-translated by the gateway, which is a NAT device, from the STUN server. Then, a global IP address, a global port number, and a NAT type can be added to the extended portion of the packet of the NHRP protocol as a NAPT extension to notify the spokes.

そのため、DMVPN上のスポークがNAT装置配下にある環境で、取得したNAT変換後のグローバルIPアドレス・ポートをスポーク間で通知して、動的に仮想トンネルを生成することができる。 Therefore, in an environment where the spokes on the DMVPN are under the control of the NAT device, the acquired global IP address / port after NAT translation can be notified between the spokes, and a virtual tunnel can be dynamically generated.

なお、上記の実施形態の一部または全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1) DMVPN(Dynamic Multipoint Virtual Private Network)を構成するスポークとして機能し、異なるアドレス空間のネットワーク間で送受信されるパケットのNAT(Network Address Translation)アドレス変換を行う中継装置の配下に設置され、前記NATアドレス変換で生成された、前記中継装置の外側のアドレス空間からアクセスすることが可能なアドレス情報である外部アドレス・ポート情報を返信する機能を持つアドレス情報提供装置から前記外部アドレス・ポート情報を取得し、前記DMVPNで使用するNHRP(Next Hop Resolution Protocol)登録パケットの拡張フィールドに該外部アドレス・ポート情報を含めて送信する、少なくとも2つの通信装置である第1の通信装置と第2の通信装置と、
前記DMVPNを構成するハブとして機能し、配下の前記第1の通信装置と前記第2の通信装置のそれぞれから受信した前記NHRP登録パケットに含まれる前記外部アドレス・ポート情報を前記第1の通信装置と前記第2の通信装置のそれぞれと対応付けたマッピング情報に登録する第3の通信装置と、を備え、
前記第3の通信装置は、該第3の通信装置を介したパケット送信元の前記スポークである前記第1の通信装置からパケット送信先の前記スポークである前記第2の通信装置との通信において、該第1の通信装置と該第2の通信装置との間に仮想トンネルを生成可能であることを前記マッピング情報に基づいて検出すると、前記第1の通信装置に対して前記仮想トンネルの生成を指示し、前記第3の通信装置から前記仮想トンネルの生成の指示を受けた前記第1の通信装置は、前記DMVPNで使用するNHRP解決要求パケットの拡張フィールドに該第1の通信装置の前記外部アドレス・ポート情報を含めて送信し、前記第1の通信装置から前記NHRP解決要求パケットを受信した前記第2の通信装置は、前記DMVPNで使用するNHRP解決応答パケットの拡張フィールドに該第2の通信装置の前記外部アドレス・ポート情報を含めて返信し、前記NHRP解決応答パケットを受信した前記第1の通信装置は、該NHRP解決応答パケットに含まれる前記第2の通信装置の前記外部アドレス・ポート情報に基づいて、前記第2の通信装置との間に前記仮想トンネルを生成することを特徴とする通信システム。
(付記2) 前記外部アドレス・ポート情報には前記中継装置のNAT種別を含み、前記第3の通信装置は、前記第1の通信装置が接続する前記中継装置のNAT種別と前記第2の通信装置が接続する前記中継装置のNAT種別の組合せに応じて、前記第1の通信装置と前記第2の通信装置との間における前記仮想トンネルの生成の可否を判定することを特徴とする付記1に記載の通信システム。
(付記3) 前記NAT種別には、前記NATアドレス変換で生成された外部アドレス・ポートに対する前記中継装置の外側のアドレス空間からのアクセス制限に応じた種別である、フルコーンNAT、アドレス制限コーンNAT、ポート制限コーンNATおよびシンメトリックNATを含み、前記第3の通信装置は、前記第1の通信装置が接続する前記中継装置のNAT種別と前記第2の通信装置が接続する前記中継装置のNAT種別の組合せが前記シンメトリックNATと前記ポート制限コーンNATである場合、およびいずれも前記シンメトリックNATの場合に、前記仮想トンネルの生成は不可と判定することを特徴とする付記2に記載の通信システム。
(付記4) 前記NAT種別には、前記NATアドレス変換で生成された外部アドレス・ポートに対する前記中継装置の外側のアドレス空間からのアクセス制限に応じた種別である、フルコーンNAT、アドレス制限コーンNAT,ポート制限コーンNATおよびシンメトリックNATを含み、前記第1の通信装置および前記第2の通信装置のそれぞれは、自装置が接続する前記中継装置のNAT種別が、前記アドレス制限コーンNAT、前記ポート制限コーンNATおよび前記シンメトリックNATのいずれかである場合、前記仮想トンネルを生成する前に、通信相手先装置の外部アドレス・ポートを宛先とするダミーUDP(User Datagram Protocol)パケットを送信して、前記通信相手先装置に関する前記NATアドレス変換のエントリをあらかじめ生成することを特徴とする付記2に記載の通信システム。
(付記5) 前記第1の通信装置および前記第2の通信装置のそれぞれは、通信相手先装置が接続する前記中継装置のNAT種別が前記シンメトリックNATの場合、該通信相手先装置から受信した前記ダミーUDPパケットの送信元アドレス・ポートを該通信相手先装置の外部アドレス・ポートとして使用することを特徴とする付記4に記載の通信システム。
(付記6) 前記第1の通信装置および前記第2の通信装置のそれぞれは、前記アドレス情報提供装置から前記外部アドレス・ポート情報を所定のタイミングで取得し、取得した前記外部アドレス・ポート情報が更新されていた場合、更新された外部アドレス・ポート情報を前記NHRP登録パケットの拡張フィールドに含めて前記第3の通信装置に通知することを特徴とする付記1乃至5のいずれかの付記に記載の通信システム。
(付記7) 前記第1の通信装置および前記第2の通信装置のそれぞれは、前記アドレス情報提供装置から所定のタイミングで取得した前記外部アドレス・ポート情報が更新されていた場合、更新された外部アドレス・ポートを送信元アドレス・ポートに設定したダミーUDP(User Datagram Protocol)パケットを通信相手先装置に送信して自装置の外部アドレス・ポートの変更を通知することを特徴とする付記6に記載の通信システム。
(付記8) 異なるアドレス空間のネットワーク間で送受信されるパケットのNAT(Network Address Translation)アドレス変換を行う中継装置を介して、前記NATアドレス変換で生成された前記中継装置の外側のアドレス空間からアクセスすることが可能なアドレス情報である外部アドレス・ポート情報を返信する機能を持つアドレス情報提供装置から、前記外部アドレス・ポート情報を取得する外部アドレス・ポート情報取得手段と、
DMVPN(Dynamic Multipoint Virtual Private Network)で使用するNHRP(Next Hop Resolution Protocol)登録パケットの拡張フィールドに前記外部アドレス・ポート情報を含めて該DMVPNのハブに送信し、前記ハブから、該ハブを介したスポーク間通信において、相手先スポークとの間に仮想トンネルを生成可能であることを通知されると、前記DMVPNで使用するNHRP解決要求パケットの拡張フィールドに前記外部アドレス・ポート情報を含めて前記相手先スポークに送信し、前記NHRP解決要求パケットを受信した前記相手先スポークが返送する前記DMVPNで使用するNHRP解決応答パケットの拡張フィールドから前記相手先スポークの前記外部アドレス・ポート情報を取得するアドレス解決手段と、
前記アドレス解決手段が取得した前記相手先スポークの前記外部アドレス・ポート情報に基づいて、前記相手先スポークとの間に前記仮想トンネルを生成するトンネル生成手段と
を備えることを特徴とする通信装置。
(付記9) 前記外部アドレス・ポート情報には前記中継装置のNAT種別を含み、前記アドレス解決手段は、前記NHRP解決応答パケットの拡張フィールドに含まれる前記相手先スポークの前記外部アドレス・ポート情報から、該相手先スポークが接続する前記中継装置のNAT種別を取得し、
前記トンネル生成手段は、自装置が接続する前記中継装置のNAT種別と前記相手先スポークが接続する前記中継装置のNAT種別に応じたトンネル生成準備制御を行うトンネル生成制御部を含むことを特徴とする付記8に記載の通信装置。
(付記10) 前記NAT種別には、前記NATアドレス変換で生成された外部アドレス・ポートに対する前記中継装置の外側のアドレス空間からのアクセス制限に応じた種別である、フルコーンNAT、アドレス制限コーンNAT、ポート制限コーンNATおよびシンメトリックNATを含み、前記トンネル生成制御部は、自装置が接続する前記中継装置のNAT種別が前記アドレス制限コーンNAT、前記ポート制限コーンNATおよび前記シンメトリックNATのいずれかである場合、前記仮想トンネルを生成する前に、前記相手先スポークの外部アドレス・ポートを宛先とするダミーUDP(User Datagram Protocol)パケットを送信して、前記相手先スポークに関する前記NATアドレス変換のエントリをあらかじめ生成することを特徴とする付記9に記載の通信装置。
(付記11) 前記トンネル生成制御部は、前記相手先スポークが接続する前記中継装置のNAT種別が前記シンメトリックNATの場合、該相手先スポークから受信した前記ダミーUDPパケットの送信元アドレス・ポートを該相手先スポークの外部アドレス・ポートとして使用することを特徴とする付記10に記載の通信装置。
(付記12) 前記外部アドレス・ポート情報取得手段は前記アドレス情報提供装置から前記外部アドレス・ポート情報を所定のタイミングで取得し、取得した前記外部アドレス・ポート情報が更新されていた場合、該外部アドレス・ポート情報の更新通知を出力することを特徴とする付記8乃至11のいずれかの付記に記載の通信装置。
(付記13) 前記アドレス解決手段は、前記外部アドレス・ポート情報取得手段が出力する前記更新通知に基づいて、更新された該外部アドレス・ポート情報を前記NHRP登録パケットの拡張フィールドに含めて前記ハブに通知することを特徴とする付記12に記載の通信装置。
(付記14) 前記トンネル生成制御部は、前記外部アドレス・ポート情報取得手段が出力する前記更新通知に基づいて、更新された外部アドレス・ポートを送信元アドレス・ポートに設定したダミーUDP(User Datagram Protocol)パケットを前記相手先スポークに送信して自装置の外部アドレス・ポートの変更を通知することを特徴とする付記12または付記13に記載の通信装置。
(付記15) 前記外部アドレス・ポート情報取得手段は、用途が定義されていない任意のポート番号をダミーポート番号として使用したNATアドレス変換エントリを生成し、NATトラバーサルのIPsec(Internet Protocol security)パケットの送信に際しては、該IPsecパケットの送信元を該IPsecパケットに規定されたポート番号から前記ダミーポート番号に変換して送信し、前記ダミーポート番号を宛先とする前記IPsecパケットを受信すると、受信したIPsecパケットの宛先ポート番号を該IPsecパケットに規定されたポート番号に変換して出力するポート番号変換手段を含むことを特徴とする付記8乃至14のいずれかの付記に記載の通信装置。
(付記16) DMVPN(Dynamic Multipoint Virtual Private Network)を構成するスポークとして機能し、異なるアドレス空間のネットワーク間で送受信されるパケットのNAT(Network Address Translation)アドレス変換を行う中継装置の配下に設置され、前記中継装置の外側のアドレス空間からアクセスすることが可能なアドレス情報である外部アドレス・ポート情報を返信する機能を持つアドレス情報提供装置から前記外部アドレス・ポート情報を取得する少なくとも2つの通信装置である第1の通信装置と第2の通信装置のそれぞれが、前記DMVPNで使用するNHRP(Next Hop Resolution Protocol)登録パケットの拡張フィールドに該外部アドレス・ポート情報を含めて送信し、
前記DMVPNを構成するハブとして機能する第3の通信装置が、配下の前記第1の通信装置と前記第2の通信装置のそれぞれから受信した前記NHRP登録パケットに含まれる前記外部アドレス・ポート情報を前記第1の通信装置と前記第2の通信装置のそれぞれと対応付けたマッピング情報に登録し、
前記第3の通信装置を介したパケット送信元の前記スポークである前記第1の通信装置からパケット送信先の前記スポークである前記第2の通信装置との通信において、該第3の通信装置が、前記第1の通信装置と前記第2の通信装置との間に仮想トンネルを生成可能であることを前記マッピング情報に基づいて検出すると、前記第1の通信装置に対して前記仮想トンネルの生成を指示し、
前記第3の通信装置から前記仮想トンネルの生成の指示を受けた前記第1の通信装置が、前記DMVPNで使用するNHRP解決要求パケットの拡張フィールドに該第1の通信装置の前記外部アドレス・ポート情報を含めて送信し、
前記第1の通信装置から前記NHRP解決要求パケットを受信した前記第2の通信装置が、前記DMVPNで使用するNHRP解決応答パケットの拡張フィールドに該第2の通信装置の前記外部アドレス・ポート情報を含めて返信し、
前記NHRP解決応答パケットを受信した前記第1の通信装置が、該NHRP解決応答パケットに含まれる前記第2の通信装置の前記外部アドレス・ポート情報に基づいて、前記第2の通信装置との間に前記仮想トンネルを生成する
ことを特徴とするVPN構築方法。
(付記17) 前記外部アドレス・ポート情報には前記中継装置のNAT種別を含み、前記第3の通信装置は、前記第1の通信装置が接続する中継装置のNAT種別と前記第2の通信装置が接続する中継装置のNAT種別の組合せに応じて、前記第1の通信装置と前記第2の通信装置との間における前記仮想トンネルの生成の可否を判定することを特徴とする付記16に記載のVPN構築方法。
(付記18) 前記NAT種別には、前記NATアドレス変換で生成された外部アドレス・ポートに対する前記中継装置の外側のアドレス空間からのアクセス制限に応じた種別である、フルコーンNAT、アドレス制限コーンNAT、ポート制限コーンNATおよびシンメトリックNATを含み、前記第3の通信装置は、前記第1の通信装置が接続する中継装置のNAT種別と前記第2の通信装置が接続する中継装置のNAT種別の組合せがシンメトリックNATとポート制限コーンNATである場合およびいずれもシンメトリックNATの場合に、前記仮想トンネルの生成は不可と判定することを特徴とする付記17に記載のVPN構築方法。
(付記19) 前記NAT種別には、前記NATアドレス変換で生成された外部アドレス・ポートに対する前記中継装置の外側のアドレス空間からのアクセス制限に応じた種別である、フルコーンNAT、アドレス制限コーンNAT,ポート制限コーンNATおよびシンメトリックNATを含み、前記第1の通信装置および前記第2の通信装置のそれぞれは、自装置が接続する前記中継装置のNAT種別が、前記アドレス制限コーンNAT、前記ポート制限コーンNATおよび前記シンメトリックNATのいずれかである場合、前記仮想トンネルを生成する前に、通信相手先装置の外部アドレス・ポートを宛先とするダミーUDP(User Datagram Protocol)パケットを送信して、前記通信相手先装置に関する前記NATアドレス変換のエントリをあらかじめ生成することを特徴とする付記17に記載のVPN構築方法。
(付記20) 前記第1の通信装置および前記第2の通信装置のそれぞれは、通信相手先装置が接続する前記中継装置のNAT種別が前記シンメトリックNATの場合、該通信相手先装置から受信した前記ダミーUDPパケットの送信元アドレス・ポートを該通信相手先装置の外部アドレス・ポートとして使用することを特徴とする付記19に記載のVPN構築方法。
(付記21) 前記第1の通信装置および前記第2の通信装置のそれぞれは、前記アドレス情報提供装置から前記外部アドレス・ポート情報を所定のタイミングで取得し、取得した前記外部アドレス・ポート情報が更新されていた場合、更新された該外部アドレス・ポート情報を前記NHRP登録パケットの拡張フィールドに含めて前記第3の通信装置に通知することを特徴とする付記16乃至20のいずれかの付記に記載のVPN構築方法。
(付記22) 前記第1の通信装置および前記第2の通信装置のそれぞれは、前記アドレス情報提供装置から所定のタイミングで取得した前記外部アドレス・ポート情報が更新されていた場合、更新された外部アドレス・ポートを送信元アドレス・ポートに設定したダミーUDP(User Datagram Protocol)パケットを通信相手先装置に送信して自装置の外部アドレス・ポートの変更を通知することを特徴とする付記21に記載のVPN構築方法。
(付記23) 異なるアドレス空間のネットワーク間で送受信されるパケットのNAT(Network Address Translation)アドレス変換を行う中継装置を介して、前記NATアドレス変換で生成された前記中継装置の外側のアドレス空間からアクセスすることが可能なアドレス情報である外部アドレス・ポート情報を返信する機能を持つアドレス情報提供装置から前記外部アドレス・ポート情報を取得し、
DMVPN(Dynamic Multipoint Virtual Private Network)で使用するNHRP(Next Hop Resolution Protocol)登録パケットの拡張フィールドに前記外部アドレス・ポート情報を含めて該DMVPNのハブに送信し、
前記ハブから、該ハブを介したスポーク間通信において、相手先スポークとの間に仮想トンネルを生成可能であることを通知されると、前記DMVPNで使用するNHRP解決要求パケットの拡張フィールドに前記外部アドレス・ポート情報を含めて前記相手先スポークに送信し、
前記NHRP解決要求パケットを受信した前記相手先スポークが返送する前記DMVPNで使用するNHRP解決応答パケットの拡張フィールドから前記相手先スポークの前記外部アドレス・ポート情報を取得し、
取得した前記相手先スポークの前記外部アドレス・ポート情報に基づいて、前記相手先スポークとの間に前記仮想トンネルを生成する
ことを特徴とするVPN構築方法。
(付記24) 前記外部アドレス・ポート情報には前記中継装置のNAT種別を含み、
前記相手先スポークが返送する前記NHRP解決応答パケットの拡張フィールドに含まれる前記相手先スポークの前記外部アドレス・ポート情報から、該相手先スポークが接続された前記中継装置のNAT種別を取得し、
自装置が接続する前記中継装置のNAT種別と前記相手先スポークが接続する前記中継装置のNAT種別に応じたトンネル生成準備制御を行うことを特徴とする付記23に記載のVPN構築方法。
(付記25) 前記NAT種別には、前記NATアドレス変換で生成された外部アドレス・ポートに対する前記中継装置の外側のアドレス空間からのアクセス制限に応じた種別である、フルコーンNAT、アドレス制限コーンNAT、ポート制限コーンNATおよびシンメトリックNATを含み、
自装置が接続する前記中継装置のNAT種別が前記アドレス制限コーンNAT、前記ポート制限コーンNATおよび前記シンメトリックNATのいずれかである場合、前記仮想トンネルを生成する前に、前記相手先スポークの外部アドレス・ポートを宛先とするダミーUDP(User Datagram Protocol)パケットを送信して、前記相手先スポークに関する前記NATアドレス変換のエントリをあらかじめ生成することを特徴とする付記24に記載のVPN構築方法。
(付記26) 前記相手先スポークが接続する前記中継装置のNAT種別が前記シンメトリックNATの場合、該相手先スポークから受信した前記ダミーUDPパケットの送信元アドレス・ポートを該相手先スポークの外部アドレス・ポートとして使用することを特徴とする付記25に記載のVPN構築方法。
(付記27) 前記アドレス情報提供装置から前記外部アドレス・ポート情報を所定のタイミングで取得し、取得した前記外部アドレス・ポート情報が更新されていた場合、該外部アドレス・ポート情報の更新通知を出力することを特徴とする付記23乃至26のいずれかの付記に記載のVPN構築方法。
(付記28) 前記更新通知に基づいて、更新された該外部アドレス・ポート情報を前記NHRP登録パケットの拡張フィールドに含めて前記ハブに通知することを特徴とする付記27に記載のVPN構築方法。
(付記29) 前記更新通知に基づいて、更新された外部アドレス・ポートを送信元アドレス・ポートに設定したダミーUDP(User Datagram Protocol)パケットを前記相手先スポークに送信して自装置の外部アドレス・ポートの変更を通知することを特徴とする付記27または付記28に記載のVPN構築方法。
(付記30) 用途が定義されていない任意のポート番号をダミーポート番号として使用したNATアドレス変換エントリを生成し、NATトラバーサルのIPsec(Internet Protocol security)パケットの送信に際しては、該IPsecパケットの送信元を該IPsecパケットに規定されたポート番号から前記ダミーポート番号に変換して送信し、前記ダミーポート番号を宛先とする前記IPsecパケットを受信すると、受信したIPsecパケットの宛先ポート番号を該IPsecパケットに規定されたポート番号に変換して出力することを特徴とする付記23乃至29のいずれかの付記に記載のVPN構築方法。
In addition, a part or all of the above-described embodiment may be described as in the following appendix, but is not limited to the following.
(Appendix 1) It functions as a spoke that constitutes DMVPN (Dynamic Multipoint Virtual Private Network), and is installed under a relay device that performs NAT (Network Address Translation) address translation of packets sent and received between networks in different address spaces. The external address / port information from an address information providing device having a function of returning external address / port information which is address information that can be accessed from the address space outside the relay device generated by the NAT address translation. The first communication device and the second communication device, which are at least two communication devices, are transmitted by including the external address / port information in the extended field of the NHRP (Next Hop Resolution Protocol) registration packet used in the DMVPN. Communication device and
The external address / port information included in the NHRP registration packet received from each of the first communication device and the second communication device under the control function as a hub constituting the DMVPN is used as the first communication device. And a third communication device registered in the mapping information associated with each of the second communication devices.
The third communication device is used in communication from the first communication device, which is the spoke of the packet transmission source, to the second communication device, which is the spoke of the packet transmission destination, via the third communication device. When it is detected based on the mapping information that a virtual tunnel can be generated between the first communication device and the second communication device, the virtual tunnel is generated for the first communication device. The first communication device, which has been instructed to generate the virtual tunnel by the third communication device, sets the extension field of the NHRP resolution request packet used in the DMVPN to the said first communication device. The second communication device that transmits including the external address / port information and receives the NHRP resolution request packet from the first communication device has the second communication device in the extended field of the NHRP resolution response packet used by the DMVPN. The first communication device that replied including the external address / port information of the communication device and received the NHRP resolution response packet is the external address of the second communication device included in the NHRP resolution response packet. A communication system characterized in that the virtual tunnel is generated between the second communication device and the second communication device based on the port information.
(Appendix 2) The external address / port information includes the NAT type of the relay device, and the third communication device includes the NAT type of the relay device to which the first communication device is connected and the second communication. Addendum 1 characterized in that it is determined whether or not the virtual tunnel can be generated between the first communication device and the second communication device according to the combination of NAT types of the relay device to which the device is connected. The communication system described in.
(Appendix 3) The NAT type includes a full cone NAT, an address limiting cone NAT, which is a type corresponding to access restrictions from the address space outside the relay device to the external address port generated by the NAT address translation. The third communication device includes a port limiting cone NAT and a symmetric NAT, and the third communication device includes a NAT type of the relay device to which the first communication device is connected and a NAT type of the relay device to which the second communication device is connected. The communication system according to Appendix 2, wherein it is determined that the virtual tunnel cannot be generated when the combination of the above is the symmetric NAT and the port limiting cone NAT, and when both are the symmetric NAT. ..
(Appendix 4) The NAT type includes a full cone NAT, an address limiting cone NAT, which is a type corresponding to access restrictions from the address space outside the relay device to the external address port generated by the NAT address translation. Each of the first communication device and the second communication device includes a port restriction cone NAT and a symmetric NAT, and the NAT type of the relay device to which the own device is connected is the address restriction cone NAT and the port restriction. In the case of either the cone NAT or the symmetric NAT, a dummy UDP (User Datagram Protocol) packet destined for the external address port of the communication partner device is transmitted before the virtual tunnel is generated, and the above is performed. The communication system according to Appendix 2, wherein an entry for NAT address translation relating to the communication partner device is generated in advance.
(Appendix 5) Each of the first communication device and the second communication device receives from the communication partner device when the NAT type of the relay device to which the communication partner device is connected is the symmetric NAT. The communication system according to Appendix 4, wherein the source address port of the dummy UDP packet is used as an external address port of the communication destination device.
(Appendix 6) Each of the first communication device and the second communication device acquires the external address / port information from the address information providing device at a predetermined timing, and the acquired external address / port information is obtained. If it has been updated, the updated external address / port information is included in the extended field of the NHRP registration packet and notified to the third communication device, according to any one of Appendix 1 to 5. Communication system.
(Appendix 7) Each of the first communication device and the second communication device is updated when the external address / port information acquired from the address information providing device at a predetermined timing is updated. The description in Appendix 6 is characterized in that a dummy UDP (User Datagram Protocol) packet in which the address port is set as the source address port is transmitted to the communication partner device to notify the change of the external address port of the own device. Communication system.
(Appendix 8) Access from the address space outside the relay device generated by the NAT address translation via a relay device that performs NAT (Network Address Translation) address translation of packets sent and received between networks in different address spaces. An external address / port information acquisition means for acquiring the external address / port information from an address information providing device having a function of returning external address / port information which is possible address information.
The external address / port information is included in the extended field of the NHRP (Next Hop Resolution Protocol) registration packet used in DMVPN (Dynamic Multipoint Virtual Private Network) and transmitted to the DMVPNN hub, and the hub is transmitted via the hub. In inter-spoke communication, when notified that a virtual tunnel can be created with the other party's spoke, the other party includes the external address / port information in the extended field of the NHRP resolution request packet used in the DMVPN. Address resolution to acquire the external address / port information of the destination spoke from the extended field of the NHRP resolution response packet used in the DMVPN sent to the destination spoke and returned by the destination spoke that received the NHRP resolution request packet. Means and
A communication device including a tunnel generating means for generating the virtual tunnel with the spokes based on the external address / port information of the spokes acquired by the address resolving means.
(Appendix 9) The external address / port information includes the NAT type of the relay device, and the address resolution means is derived from the external address / port information of the destination spoke included in the extended field of the NHRP resolution response packet. , Acquire the NAT type of the relay device to which the spokes of the other party are connected.
The tunnel generation means is characterized by including a tunnel generation control unit that performs tunnel generation preparation control according to the NAT type of the relay device to which the own device is connected and the NAT type of the relay device to which the partner spoke is connected. The communication device according to Appendix 8.
(Appendix 10) The NAT type includes a full cone NAT, an address limiting cone NAT, which is a type corresponding to access restrictions from the address space outside the relay device to the external address port generated by the NAT address translation. The tunnel generation control unit includes a port limiting cone NAT and a symmetric NAT, and the NAT type of the relay device to which the own device is connected is one of the address limiting cone NAT, the port limiting cone NAT, and the symmetric NAT. In some cases, before creating the virtual tunnel, a dummy UDP (User Datagram Protocol) packet destined for the external address port of the destination spoke is sent to make an entry for the NAT address translation for the destination spoke. The communication device according to Appendix 9, wherein the communication device is generated in advance.
(Appendix 11) When the NAT type of the relay device to which the destination spoke is connected is the symmetric NAT, the tunnel generation control unit determines the source address port of the dummy UDP packet received from the destination spoke. The communication device according to Appendix 10, wherein the communication device is used as an external address port of the spoke to the other party.
(Appendix 12) The external address / port information acquisition means acquires the external address / port information from the address information providing device at a predetermined timing, and when the acquired external address / port information is updated, the external The communication device according to any one of Supplementary Provisions 8 to 11, wherein an update notification of address / port information is output.
(Appendix 13) The address resolving means includes the updated external address / port information in the extended field of the NHRP registration packet based on the update notification output by the external address / port information acquisition means, and the hub. 12. The communication device according to Appendix 12, wherein the communication device is notified to the user.
(Appendix 14) The tunnel generation control unit sets a dummy UDP (User Datagram) in which an updated external address port is set as a source address port based on the update notification output by the external address / port information acquisition means. Protocol) The communication device according to Appendix 12 or Appendix 13, wherein a packet is transmitted to the spokes of the other party to notify the change of the external address / port of the own device.
(Appendix 15) The external address / port information acquisition means generates a NAT address conversion entry using an arbitrary port number whose purpose is not defined as a dummy port number, and generates a NAT address conversion entry for an IPsec (Internet Protocol security) packet of NAT traversal. At the time of transmission, the source of the IPsec packet is converted from the port number specified in the IPsec packet to the dummy port number and transmitted, and when the IPsec packet destined for the dummy port number is received, the received IPsec is received. The communication device according to any one of Supplementary Provisions 8 to 14, further comprising a port number conversion means for converting a destination port number of a packet into a port number specified in the IPsec packet and outputting the packet.
(Appendix 16) It functions as a spoke that constitutes DMVPN (Dynamic Multipoint Virtual Private Network), and is installed under a relay device that performs NAT (Network Address Translation) address translation of packets sent and received between networks in different address spaces. At least two communication devices that acquire the external address / port information from an address information providing device having a function of returning external address / port information which is address information that can be accessed from the address space outside the relay device. Each of the first communication device and the second communication device transmits the extended field of the NHRP (Next Hop Resolution Protocol) registration packet used in the DMVPN including the external address / port information.
The third communication device that functions as a hub constituting the DMVPN receives the external address / port information included in the NHRP registration packet received from each of the first communication device and the second communication device under the control. Registered in the mapping information associated with each of the first communication device and the second communication device,
In communication from the first communication device, which is the spoke of the packet transmission source via the third communication device, to the second communication device, which is the spoke of the packet transmission destination, the third communication device is used. When it is detected based on the mapping information that a virtual tunnel can be generated between the first communication device and the second communication device, the virtual tunnel is generated for the first communication device. Instruct,
The first communication device, which has been instructed to generate the virtual tunnel by the third communication device, has the external address port of the first communication device in the extended field of the NHRP resolution request packet used in the DMVPN. Send with information,
The second communication device that has received the NHRP resolution request packet from the first communication device sets the external address / port information of the second communication device in the extended field of the NHRP resolution response packet used in the DMVPN. Reply including
The first communication device that has received the NHRP resolution response packet communicates with the second communication device based on the external address / port information of the second communication device included in the NHRP resolution response packet. A VPN construction method characterized by generating the virtual tunnel.
(Appendix 17) The external address / port information includes the NAT type of the relay device, and the third communication device includes the NAT type of the relay device to which the first communication device is connected and the second communication device. 16. The appendix 16 is characterized in that it is determined whether or not the virtual tunnel can be generated between the first communication device and the second communication device according to the combination of NAT types of the relay devices connected to the device. VPN construction method.
(Appendix 18) The NAT type includes a full cone NAT, an address limiting cone NAT, which is a type corresponding to access restrictions from the address space outside the relay device to the external address port generated by the NAT address translation. The third communication device includes a port limiting cone NAT and a symmetric NAT, and the third communication device is a combination of the NAT type of the relay device to which the first communication device is connected and the NAT type of the relay device to which the second communication device is connected. The VPN construction method according to Appendix 17, wherein it is determined that the virtual tunnel cannot be generated when is a symmetric NAT and a port limiting cone NAT, and both are symmetric NAT.
(Appendix 19) The NAT type includes a full cone NAT, an address limiting cone NAT, which is a type corresponding to access restrictions from the address space outside the relay device to the external address port generated by the NAT address translation. Each of the first communication device and the second communication device includes a port restriction cone NAT and a symmetric NAT, and the NAT type of the relay device to which the own device is connected is the address restriction cone NAT and the port restriction. In the case of either the cone NAT or the symmetric NAT, a dummy UDP (User Datagram Protocol) packet destined for the external address port of the communication partner device is transmitted before the virtual tunnel is generated, and the above is performed. The VPN construction method according to Appendix 17, wherein an entry for NAT address translation relating to a communication partner device is generated in advance.
(Appendix 20) Each of the first communication device and the second communication device receives from the communication partner device when the NAT type of the relay device to which the communication partner device is connected is the symmetric NAT. The VPN construction method according to Appendix 19, wherein the source address port of the dummy UDP packet is used as an external address port of the communication destination device.
(Appendix 21) Each of the first communication device and the second communication device acquires the external address / port information from the address information providing device at a predetermined timing, and the acquired external address / port information is obtained. If it has been updated, the updated external address / port information is included in the extended field of the NHRP registration packet and notified to the third communication device in the appendix to any one of the appendices 16 to 20. The VPN construction method described.
(Appendix 22) When the external address / port information acquired from the address information providing device at a predetermined timing is updated, each of the first communication device and the second communication device is updated externally. The description in Appendix 21 is characterized in that a dummy UDP (User Datagram Protocol) packet in which the address port is set as the source address port is transmitted to the communication partner device to notify the change of the external address port of the own device. How to build a VPN.
(Appendix 23) Access from the address space outside the relay device generated by the NAT address translation via a relay device that performs NAT (Network Address Translation) address translation of packets sent and received between networks in different address spaces. The external address / port information is acquired from an address information providing device having a function of returning external address / port information which is possible address information.
The external address / port information is included in the extended field of the NHRP (Next Hop Resolution Protocol) registration packet used in the DMVPN (Dynamic Multipoint Virtual Private Network) and transmitted to the hub of the DMVPN.
When the hub notifies that a virtual tunnel can be created between the spokes and the spokes in the inter-spoke communication via the hub, the external field of the NHRP resolution request packet used in the DMVPN is displayed. Send it to the spokes including the address and port information,
The external address / port information of the destination spoke is acquired from the extended field of the NHRP resolution response packet used in the DMVPN returned by the destination spoke that has received the NHRP resolution request packet.
A VPN construction method characterized in that a virtual tunnel is generated between the spokes of the other party and the spokes of the other party based on the acquired external address / port information of the spokes of the other party.
(Appendix 24) The external address / port information includes the NAT type of the relay device.
The NAT type of the relay device to which the destination spoke is connected is acquired from the external address / port information of the destination spoke included in the extended field of the NHRP resolution response packet returned by the destination spoke.
The VPN construction method according to Appendix 23, wherein tunnel generation preparation control is performed according to the NAT type of the relay device to which the own device is connected and the NAT type of the relay device to which the destination spoke is connected.
(Appendix 25) The NAT type includes a full cone NAT, an address restriction cone NAT, which is a type corresponding to access restrictions from the address space outside the relay device to the external address port generated by the NAT address translation. Includes port limiting cone NAT and symmetric NAT
When the NAT type of the relay device to which the own device is connected is any of the address limiting cone NAT, the port limiting cone NAT, and the symmetric NAT, the outside of the destination spoke before the virtual tunnel is generated. The VPN construction method according to Appendix 24, wherein a dummy UDP (User Datagram Protocol) packet destined for an address port is transmitted to generate an entry for the NAT address translation for the destination spoke in advance.
(Appendix 26) When the NAT type of the relay device to which the destination spoke is connected is the symmetric NAT, the source address port of the dummy UDP packet received from the destination spoke is the external address of the destination spoke. -The VPN construction method according to Appendix 25, which is characterized in that it is used as a port.
(Appendix 27) The external address / port information is acquired from the address information providing device at a predetermined timing, and when the acquired external address / port information is updated, an update notification of the external address / port information is output. The VPN construction method according to any one of Appendix 23 to 26, wherein the VPN construction method is performed.
(Supplementary Note 28) The VPN construction method according to Supplementary note 27, wherein the updated external address / port information is included in an extended field of the NHRP registration packet and notified to the hub based on the update notification.
(Appendix 29) Based on the update notification, a dummy UDP (User Datagram Protocol) packet in which the updated external address port is set as the source address port is transmitted to the destination spoke to obtain the external address of the own device. The VPN construction method according to Appendix 27 or Appendix 28, which comprises notifying a port change.
(Appendix 30) When a NAT address conversion entry is generated using an arbitrary port number for which the purpose is not defined as a dummy port number and an IPsec (Internet Protocol security) packet for NAT traversal is transmitted, the source of the IPsec packet is transmitted. Is converted from the port number specified in the IPsec packet to the dummy port number and transmitted, and when the IPsec packet destined for the dummy port number is received, the destination port number of the received IPsec packet is converted into the IPsec packet. The method for constructing an IPSec according to any one of Appendix 23 to 29, which comprises converting to a specified port number and outputting.

1、2 通信システム
10 第1の通信装置
11 第1のVPN装置
12 第1のLAN
20 第2の通信装置
21 第2のVPN装置
22 第2のLAN
30 第3の通信装置
31 第3のVPN装置
40 第1の中継装置
41 第1のゲートウェイ
50 第2の中継装置
51 第2のゲートウェイ
60 広域網
61 第1プライベート網
62 第2プライベート網
63 第3プライベート網
65 インターネット
70 アドレス情報提供装置
71 STUNサーバ
100、200 通信装置
110 外部アドレス・ポート情報取得手段
120 アドレス解決手段
130 トンネル生成手段
210 通信制御部
211 外部アドレス・ポート情報取得部
2111 STUNアプリケーション
212 アドレス解決部
213 トンネル生成部
2131 トンネル生成制御部
220 外部アドレス・ポート情報記憶部
230 LANインタフェース部
240 WANインタフェース部
1, 2 communication system 10 1st communication device 11 1st VPN device 12 1st LAN
20 Second communication device 21 Second VPN device 22 Second LAN
30 3rd communication device 31 3rd VPN device 40 1st relay device 41 1st gateway 50 2nd relay device 51 2nd gateway 60 Wide area network 61 1st private network 62 2nd private network 63 3rd Private network 65 Internet 70 Address information provider 71 STUN server 100, 200 Communication device 110 External address / port information acquisition means 120 Address resolution means 130 Tunnel generation means 210 Communication control unit 211 External address / port information acquisition unit 2111 STUN application 212 Address Solution 213 Tunnel generation unit 2131 Tunnel generation control unit 220 External address / port information storage unit 230 LAN interface unit 240 WAN interface unit

Claims (1)

通信装置に、For communication equipment
異なるアドレス空間のネットワーク間で送受信されるパケットのNAT(Network Address Translation)アドレス変換を行う中継装置を介して、前記NATアドレス変換で生成された前記中継装置の外側のアドレス空間からアクセスすることが可能なアドレス情報である外部アドレス・ポート情報を返信する機能を持つアドレス情報提供装置から前記外部アドレス・ポート情報を取得し、It is possible to access from the address space outside the relay device generated by the NAT address translation via a relay device that performs NAT (Network Address Translation) address translation of packets sent and received between networks in different address spaces. The external address / port information is acquired from an address information providing device having a function of returning the external address / port information which is the address information.
DMVPN(Dynamic Multipoint Virtual Private Network)で使用するNHRP(Next Hop Resolution Protocol)登録パケットの拡張フィールドに前記外部アドレス・ポート情報を含めて該DMVPNのハブに送信し、The external address / port information is included in the extended field of the NHRP (Next Hop Resolution Protocol) registration packet used in the DMVPN (Dynamic Multipoint Virtual Private Network) and transmitted to the hub of the DMVPN.
前記ハブから、該ハブを介したスポーク間通信において、相手先スポークとの間に仮想トンネルを生成可能であることを通知されると、前記DMVPNで使用するNHRP解決要求パケットの拡張フィールドに前記外部アドレス・ポート情報を含めて前記相手先スポークに送信し、When the hub notifies that a virtual tunnel can be created between the spokes and the spokes in the inter-spoke communication via the hub, the external field of the NHRP resolution request packet used in the DMVPN is displayed. Send it to the spokes including the address and port information,
前記NHRP解決要求パケットを受信した前記相手先スポークが返送する前記DMVPNで使用するNHRP解決応答パケットの拡張フィールドから前記相手先スポークの前記外部アドレス・ポート情報を取得し、The external address / port information of the destination spoke is acquired from the extended field of the NHRP resolution response packet used in the DMVPN returned by the destination spoke that has received the NHRP resolution request packet.
取得した前記相手先スポークの前記外部アドレス・ポート情報に基づいて、前記相手先スポークとの間に前記仮想トンネルを生成するBased on the acquired external address / port information of the destination spoke, the virtual tunnel is generated with the destination spoke.
処理を実行させるためのVPN構築プログラムであって、A VPN construction program for executing processing
前記外部アドレス・ポート情報には前記中継装置のNAT種別を含み、The external address / port information includes the NAT type of the relay device.
前記相手先スポークが返送する前記NHRP解決応答パケットの拡張フィールドに含まれる前記相手先スポークの前記外部アドレス・ポート情報から、該相手先スポークが接続された前記中継装置のNAT種別を取得し、The NAT type of the relay device to which the destination spoke is connected is acquired from the external address / port information of the destination spoke included in the extended field of the NHRP resolution response packet returned by the destination spoke.
自装置が接続する前記中継装置のNAT種別と前記相手先スポークが接続する前記中継装置のNAT種別に応じたトンネル生成準備制御を行うPerforms tunnel generation preparation control according to the NAT type of the relay device to which the own device is connected and the NAT type of the relay device to which the destination spoke is connected.
処理を実行させるためのVPN構築プログラム。VPN construction program to execute processing.
JP2019086337A 2019-04-26 2019-04-26 VPN construction program Active JP6770132B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019086337A JP6770132B2 (en) 2019-04-26 2019-04-26 VPN construction program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019086337A JP6770132B2 (en) 2019-04-26 2019-04-26 VPN construction program

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2015142832A Division JP6525261B2 (en) 2015-07-17 2015-07-17 Communication system, communication device, and method of constructing VPN

Publications (2)

Publication Number Publication Date
JP2019118156A JP2019118156A (en) 2019-07-18
JP6770132B2 true JP6770132B2 (en) 2020-10-14

Family

ID=67304747

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019086337A Active JP6770132B2 (en) 2019-04-26 2019-04-26 VPN construction program

Country Status (1)

Country Link
JP (1) JP6770132B2 (en)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7275913B2 (en) * 2019-06-27 2023-05-18 株式会社三洋物産 game machine
JP7275914B2 (en) * 2019-06-27 2023-05-18 株式会社三洋物産 game machine
JP7275916B2 (en) * 2019-06-27 2023-05-18 株式会社三洋物産 game machine
JP7275910B2 (en) * 2019-06-27 2023-05-18 株式会社三洋物産 game machine
JP7275909B2 (en) * 2019-06-27 2023-05-18 株式会社三洋物産 game machine
JP7275911B2 (en) * 2019-06-27 2023-05-18 株式会社三洋物産 game machine
JP7275915B2 (en) * 2019-06-27 2023-05-18 株式会社三洋物産 game machine
JP7275912B2 (en) * 2019-06-27 2023-05-18 株式会社三洋物産 game machine
JP7275908B2 (en) * 2019-06-27 2023-05-18 株式会社三洋物産 game machine
JP7302375B2 (en) * 2019-08-22 2023-07-04 株式会社三洋物産 game machine
JP7302374B2 (en) * 2019-08-22 2023-07-04 株式会社三洋物産 game machine
JP7302377B2 (en) * 2019-08-22 2023-07-04 株式会社三洋物産 game machine
JP7302378B2 (en) * 2019-08-22 2023-07-04 株式会社三洋物産 game machine
JP7302372B2 (en) * 2019-08-22 2023-07-04 株式会社三洋物産 game machine
JP7307330B2 (en) * 2019-08-22 2023-07-12 株式会社三洋物産 game machine
JP7302376B2 (en) * 2019-08-22 2023-07-04 株式会社三洋物産 game machine
JP7302373B2 (en) * 2019-08-22 2023-07-04 株式会社三洋物産 game machine
JP7302379B2 (en) * 2019-08-23 2023-07-04 株式会社三洋物産 game machine
JP7307331B2 (en) * 2019-08-23 2023-07-12 株式会社三洋物産 game machine
JP7342584B2 (en) * 2019-10-03 2023-09-12 株式会社三洋物産 gaming machine
JP7342587B2 (en) * 2019-10-03 2023-09-12 株式会社三洋物産 gaming machine
JP7342588B2 (en) * 2019-10-03 2023-09-12 株式会社三洋物産 gaming machine
JP7342586B2 (en) * 2019-10-03 2023-09-12 株式会社三洋物産 gaming machine
JP7342585B2 (en) * 2019-10-03 2023-09-12 株式会社三洋物産 gaming machine
JP7342589B2 (en) * 2019-10-03 2023-09-12 株式会社三洋物産 gaming machine
CN114050921B (en) * 2021-10-29 2023-07-25 山东三未信安信息科技有限公司 UDP-based high-speed encryption data transmission system realized by FPGA

Also Published As

Publication number Publication date
JP2019118156A (en) 2019-07-18

Similar Documents

Publication Publication Date Title
JP6770132B2 (en) VPN construction program
JP5327832B2 (en) Packet communication method using node identifier and position indicator
US8295285B2 (en) Method and apparatus for communication of data packets between local networks
JP4752510B2 (en) Encrypted communication system
JP5475763B2 (en) Method for receiving data packets from IPv4 domain in IPv6 domain, and related devices and access equipment
JP6525261B2 (en) Communication system, communication device, and method of constructing VPN
US7886062B2 (en) Packet relaying method and packet relaying system
US20070115990A1 (en) Method of providing an encrypted multipoint VPN service
US7558249B2 (en) Communication terminal, and communication method
US8787390B2 (en) Reachability maintenance of a moving network based on temporary name identifiers
US8621087B2 (en) Method for configuring closed user network using IP tunneling mechanism and closed user network system
KR20140099598A (en) Method for providing service of mobile vpn
US20030169766A1 (en) Communications apparatus and network system
US20170207921A1 (en) Access to a node
CN113472913B (en) Communication method and device
JP2008527829A (en) Efficient address space expansion to pseudo-multihomed hosts
CN111903105A (en) Multiplex secure tunnel
US20140047080A1 (en) Method and apparatus for using rendezvous server to make connections to fire alarm panels
JP4698571B2 (en) Handoff method and system for terminals connected via NAPT router
US11924172B1 (en) System and method for instantiation of stateless extranets
Steinert et al. P4-LISP: A P4-Based High-Performance Router for the Locator/Identifier Separation Protocol
JP6807962B2 (en) Relay device, communication system, and communication method
JP5225300B2 (en) Route control method for mobile IP via private network, mobile router, and program
JP2009206876A (en) Service release system, communication repeater, and service release device
JP5012738B2 (en) Relay server, relay communication system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190426

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A132

Effective date: 20200616

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200814

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200924

R150 Certificate of patent or registration of utility model

Ref document number: 6770132

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150