説明

IPv6NAT装置内折り返し通信方法

【課題】IPv6マルチプレフィクス環境において、NAT装置内折り返し通信の条件に合致した際、既存のルータの転送処理を複雑化することなく、NAT装置配下のLAN側の端末から配下外のWAN側の端末への不通問題を解消する。
【解決手段】NAT装置5に、NAT装置5配下のLAN3の端末A、Bに割り当てられたIPv6グローバルアドレスのLAN側とWAN側のアドレス変換の対応付けを記憶させるNATテーブル14を設ける。そして、NAT装置5が、WAN側のプレフィクスを持つ宛先のパケットをLAN側から受信した場合、折り返し通信とすべきパケットか否かをNATテーブル14に基づいて判別し、対象パケットであった場合は、宛先アドレスをNAT処理してNAT装置5配下外のWAN側の通信網2に属した端末Cへ送出する。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、IPv6(Internet Protocol Version 6)ネットワークにおけるNAT(Network Address Translation)装置の折り返し通信(いわゆるヘアピン機能)に関するものである。
【背景技術】
【0002】
IPv4のアドレス枯渇問題を控えて、IPv6ネットワークへの速やかな移行が急務である。IPv6の使用においては、VPN(Virtual Private Network)により、複数の端末を有するLAN(Local Area Network)と、複数のIPv6ネットワークからなるWAN(Wide Area Network)IPv6ネットワーク)とを接続可能としたマルチプレフィクス環境が構築され得る。
【0003】
中でも、図11に示すように、IPv6ネットワークからなるWAN側の通信網1と、IPv6ネットワークからなるWAN側の通信網2とに、同一のLAN3に属した複数の端末A、Bが、IPv6ルータ4、IPv6NAT装置5’を介して接続され、端末A、Bは、トンネル6で通信網1と接続され、このとき、NAT装置5’は、通信網1のプレフィクスを端末A、Bに付与し、通信網2とも接続され、かつ端末A、Bからの通信が通信網1宛てか通信網2宛てかを判別してパケット出力先を決定するマルチプレフィクス環境がある(いわゆるトンネル方式のIPv6マルチプレフィックス問題の解決策)。
【0004】
通信網1、2に接続された任意の端末A〜D間で通信を行う際、通信先端末のIPアドレスを入手する問題を解決するために、ダイナミックDNS(DDNS)サーバ7を用いる(DDNSは、RFC2136として規格化されている)。例えば、端末A、端末Bは、DDNSサーバ7に対して自分のアドレスをそれぞれ、“▲”、“■”として登録する。このとき、端末A、端末Bの実アドレス“△”、“□”は、NAT装置5’のLAN側(内側)のアドレスなので、端末Dから直接到達できない。
但し、
“△”、“□”:通信網1から付与されたプレフィクスから生成されたアドレス。
“▲”、“■”等:通信網2から付与されたプレフィクスから生成されたアドレス。
【0005】
したがって、例えば、端末Dから端末Aへの通信では、端末Dは、宛先アドレスをDDNSサーバ7により解決することで、端末Aのアドレス“▲”を得る。こうして、端末Aのアドレス“▲”宛に送出されるパケットは、NAT装置5’で宛先アドレスの変換(NAT処理)“▲”→“△”が行われ、端末Aに到達する。
【0006】
次に、同一のLAN3内の端末Aと端末Bとの間の通信を考える。端末Aと端末Bは、互いのアドレスの解決を先のDDNSサーバ7を用いて行う。この場合、端末Aから端末Bへの通信を例に述べると、端末Aが、DDNSサーバ7で端末Bのアドレス“■”を取得し、前記アドレス“■”宛にパケットを送出する。すると、そのパケットを受信したNAT装置5’は、図11中の矢線、図13中の折り返し通信シーケンスで示すように、同一のLAN内に折り返す(装置内折り返し通信)。
【0007】
ここで、IPv6NAT装置の折り返し通信に関しては、IETF(Internet Engineering Task Force)draft−mrw−nat66にHairpinningによる規定がある(非特許文献1)。この規定によれば、「NAT装置の外側のプレフィクスのアドレスを宛先とするパケットをNATの内側から受信した場合、無条件に宛先をNAT処理し、NAT装置の内側の端末へ転送する。」とある。すなわち、先述の端末Aから端末Bへの通信の場合、NAT装置5’は、宛先アドレス“■”とする端末B宛のパケットを、送信元アドレス“△”が割り当てられた端末Aから受信すると、「NAT装置の外側のプレフィクスを持つパケットをNAT装置の内側から受信したこと」になるので、宛先アドレスを“□”に変換して端末Bへ転送することになる。
【0008】
また、端末Aと、NAT装置5’の上位に設けられたルータ4配下であってLAN3外の端末Cとの間の通信を考える。この場合、図12に示すように、ルータ4は通信網2と接続されているため、ルータ4に接続された端末Cのアドレス“●”は通信網2から付与されたものとなる。そのため、端末Aから端末C宛のパケットの宛先アドレスは、NAT装置5’の外側(WAN側)のプレフィクスを持つアドレスである。したがって、NAT装置5’は、図12中の矢線、図13中の折り返し不通シーケンスで示すように、端末Aから端末C宛の通信を当該NAT装置のLAN側(内側)へ折り返して転送する。ところが、送信元の端末Aが属するLAN3内には端末Cが存在しない。NAT装置5’が端末Cを見つけることはできず、パケットが破棄されるので、通信が行えない不通問題が起こる。
【0009】
この不通問題を解決する一つの方法として、NAT装置5’が、内側の端末AからWAN側(外側)宛のパケットを受信すると、その宛先端末CがNAT装置5’のLAN側(内側)に存在するか、否か(つまりWAN側(外側)に存在するのか)を同時に確認する方法が考えられる。具体的には、「非特許文献2」に開示された近隣探索を行うことが考えられる。すなわち、NAT装置5’は、端末Aから端末C宛のパケットを受信すると、自身の上位(WAN側又は外側に相当)/下位(LAN側又は内側に相当)の両側にNS(Neighbor solicitation)パケットを送出し、パケットが返ってきた方向にパケットを転送することで解決できる。
【先行技術文献】
【非特許文献】
【0010】
【非特許文献1】IETF(Internet Engineering Task Force) draft−mrw−nat66
【非特許文献2】RFC2461(Neighbor Discovery for IP version 6)「IPv6のための近隣探索」
【発明の概要】
【発明が解決しようとする課題】
【0011】
しかしながら、上記のNSパケットを用いる探索方法では、NAT装置5’が外側宛のパケットを受信すると、WAN側とLAN側の両方のNDP(Neighbor Discovery Protocol)キャッシュを検索する。そして、前記キャッシュに該当するアドレスが存在しない場合、NAT装置5’は、WAN側とLAN側の両方にNSパケットを送出して、応答があった側へパケットを転送しなければならない。そのため、NAT装置5’は、ルータ4のルーティングテーブルを参照しただけでは宛先インターフェースを決定できない問題がある。
【0012】
また、このように、一旦出力したパケットを再度入力パケットとして受信し、送信元の宛先をNAT処理して転送する複雑な処理の実装は、NAT装置のOSレベルの改造を必要とすることが予想されることから開発効率が悪いという問題がある。
【0013】
また、IPv6NAT装置として、NAT機能付きのルータを使用することが考えられる。しかし、上記方法をIPv6ルータに適用した場合、装置内折り返し通信の条件に合致した際の転送方法は、既に、実装されているIPv6ルーティング機能を流用することができず、実装コストが非常に大きくなる問題もある。
【0014】
そこで、この発明が解決しようとする課題は、IPv6マルチプレフィクス環境において、NAT装置内折り返し通信の条件に合致した際、既存のルータの転送処理を複雑化することなく、上述の不通問題を解消することである。
【課題を解決するための手段】
【0015】
上記の課題を解決するため、この発明は、IPv6NAT装置のLAN側と、同一のLANに属した複数の端末とが接続され、当該IPv6NAT装置のWAN側と、IPv6ネットワークとがトンネルを介して接続され、当該IPv6NAT装置は、当該IPv6ネットワークのプレフィクスに基づいて当該端末にプレフィクスを付与し、IPv6ルータ装置を介して当該IPv6ネットワークと異なるプレフィクスをもったWAN側のIPv6ネットワークとも接続され、かつ当該端末からの通信が両IPv6ネットワークのいずれ宛てかを判別してパケット送出先を決定するマルチプレフィクス環境において、前記IPv6NAT装置に、前記端末に割り当てられたLAN側のIPv6グローバルアドレスと、前記異なるプレフィクスに基いて当該端末に割り当てられたWAN側のIPv6グローバルアドレスとの対応付けが登録された、折り返し対象特定用のNATテーブルを設け、前記IPv6NAT装置は、前記端末からパケットを受信すると、前記NATテーブルに登録されている前記WAN側のIPv6グローバルアドレスの中から、当該パケットの宛先アドレスと一致するものを検索し、当該WAN側検索で発見した場合、当該宛先アドレスを、当該発見したWAN側のIPv6グローバルアドレスと対応付けて当該NATテーブルに登録されている前記LAN側のIPv6グローバルアドレスにネットワークアドレス変換し、また、前記NATテーブルに登録されている前記LAN側のIPv6グローバルアドレスの中から、当該パケットの送信元アドレスと一致するものを検索し、この検索で発見した場合、当該送信元アドレスを、当該発見したLAN側のIPv6グローバルアドレスと対応付けて当該NATテーブルに登録されている前記WAN側のIPv6グローバルアドレスにネットワークアドレス変換して当該NAT装置のLAN側に送出し、一方、前記WAN側検索で未発見だった場合、当該宛先アドレスをそのままとし、また、前記NATテーブルに登録されている前記LAN側のIPv6グローバルアドレスの中から、当該パケットの送信元アドレスと一致するものを検索し、この検索で発見した場合、当該送信元アドレスを、当該発見したLAN側のIPv6グローバルアドレスと対応付けて当該NATテーブルに登録されている前記WAN側のIPv6グローバルアドレスにネットワークアドレス変換してWAN側に送出するIPv6NAT装置内折り返し通信方法を採用したのである。
【0016】
このIPv6NAT装置内折り返し通信方法を採用することにより、IPv6NAT装置は、自己のLAN側に接続された端末から、送信元アドレスをLAN側アドレス、かつ宛先アドレスを、トンネルで接続されたIPv6ネットワークと異なるプレフィクスのWAN側アドレスとするパケットを受信すると、NATテーブルから宛先アドレスと一致する登録の有無を検索し、その結果から、宛先アドレスが、トンネルで接続されたIPv6ネットワークと異なるWAN側のIPv6ネットワーク宛か否かを判別することができる。このとき、NATテーブルに該当するWAN側のアドレスが登録されている場合、対応して登録されているLAN側のアドレスを、宛先アドレスとするネットワークアドレス変換を行ってLAN側から送出するので、送信元アドレスが前記異なるIPv6ネットワークに係るプレフィクスに基くもの、かつ宛先アドレスが前記トンネルで接続されたIPv6ネットワークに基くものとなったパケットとして、LAN内の宛先端末に折り返し通信をすることができる。
一方、該当するWAN側のアドレスが存在しない場合、折り返し通信の対象とすべきWAN側の宛先アドレスではないので、宛先アドレスをそのままとし、送信元アドレスを、前記異なるWAN側のIPv6ネットワークから割り当てられたものにネットワークアドレス変換し、送信元アドレス及び宛先アドレスが前記異なるWAN側のIPv6ネットワークに係るプレフィクスに基くものとなったパケットを、WAN側へ送出することができる。したがって、IPv6NAT装置配下であるLAN内の端末から、配下外であって前記異なるWAN側のIPv6ネットワークに属した端末へ通信することができる。このようにIPv6NAT装置に、NATテーブルを設け、これを利用した、パケットのアドレス判別に基くネットワークアドレス変換の実行を規定するようにしたので、装置内折り返し通信の条件に合致した際、既存のIPv6ルータの転送処理を複雑に変更する必要がない。
【0017】
より具体的な手段として、前記IPv6NAT装置は、WAN側から受信したパケットの宛先アドレスのプレフィクスが当該IPv6NAT装置のWAN側のアドレスに一致するか、又は、LAN側から受信したパケットの宛先アドレスが前記NATテーブルに前記WAN側のアドレスとして登録されていると、当該宛先アドレスを、前記NATテーブルに対応付けて登録されている前記LAN側のアドレスにネットワークアドレス変換し、それ以外は当該宛先アドレスをアドレス変換しない前処理と、前記前処理から出力された前記宛先アドレスに基づいてLAN側又はWAN側へのパケット転送先を決めるルーティング処理と、前記パケット転送先が当該IPv6NAT装置のWAN側であって、かつ当該パケットの送信元アドレスのプレフィクスが当該IPv6NAT装置のLAN側のアドレスに一致するか、又は、前記パケット転送先が当該IPv6NAT装置のLAN側であって、かつ当該パケットの送信元アドレスが前記NATテーブルに前記LAN側のアドレスとして登録されていると、当該送信元アドレスを、前記NATテーブルに対応付けて登録されている前記WAN側のアドレスにネットワークアドレス変換し、それ以外は送信元アドレスを変換しないで当該パケット転送先へ送出する後処理と、を順に行う構成を採用することができる。
【0018】
この構成を採用することにより、折り返しの通信のルーティングを「前処理」、「ルーティング処理」、「後処理」の3つの処理で構成し、「前処理」で、パケットが入力するインターフェースと宛先アドレスのプレフィクスを用いて、該当パケットを絞り込んだのち、NATテーブルでネットワークアドレス変換の要否を峻別するので、IPv6NAT装置での複雑な処理を避けることができる。また、「前処理」として、宛先のネットワークアドレス変換、「ルーティング処理」として折り返し転送、「後処理」として送信元のネットワークアドレス変換を行うよう、3つの処理に分けたことで、例えば、Linux(登録商標)などの組み込み系OSと構造上での親和性を高めることができるので、前記OSへの適用が容易である。
【0019】
前記NATテーブルは、前記異なるプレフィクスをもったWAN側のIPv6ネットワークのIPv6グローバルアドレス情報を含むパケットを利用して前記IPv6NATが自動的に生成されるようにすることができる。すなわち、IPv6NATが、当該パケットを処理する際に、当該IPv6グローバルアドレス情報を読み取り、当該端末と対応付けることができる。
【0020】
具体的には、前記端末が送出するNSパケットのIPヘッダの送信元アドレスから、前記IPvNAT装置が、当該端末のWAN側のIPv6グローバルアドレスを読み取って前記NATテーブルを生成するようにすればよい。
【0021】
また、前記端末は、前記異なるプレフィクスをもったWAN側のIPv6ネットワークに属したDDNSサーバへ自己のアドレスを登録する際に前記IPv6NAT装置のWAN側のアドレスを当該IPv6NAT装置に問い合わせ、当該IPvNAT装置は、その問い合わせ履歴から、当該端末が当該DDNSサーバへ登録しようとするIPv6グローバルアドレス情報を取得して前記NATテーブルを生成するようにすることもできる。
【0022】
この発明をIPv6NAT装置として表現すれば、LAN側インターフェースと、同一のLANに属した複数の端末とが接続され、WAN側インターフェースと、IPv6ネットワークとがトンネルを介して接続され、当該IPv6ネットワークのプレフィクスに基づいて当該端末にプレフィクスを付与し、IPv6ルータ装置を介して前記IPv6ネットワークと異なるプレフィクスをもったWAN側のIPv6ネットワークとも接続され、かつ当該端末からの通信が両IPv6ネットワークのいずれ宛てかを判別してパケット送出先を決定するマルチプレフィクス環境で用いられるものであって、前記端末に割り当てられたLAN側のIPv6グローバルアドレスと、前記異なるプレフィクスに基いて当該端末に割り当てられたWAN側のIPv6グローバルアドレスとの対応付けが登録された、折り返し対象特定用のNATテーブルが設けられ、前記端末からパケットを受信すると、前記NATテーブルに登録されている前記WAN側のIPv6グローバルアドレスの中から、当該パケットの宛先アドレスと一致するものを検索し、当該WAN側検索で発見した場合、当該宛先アドレスを、当該発見したWAN側のIPv6グローバルアドレスと対応付けて当該NATテーブルに登録されている前記LAN側のIPv6グローバルアドレスにネットワークアドレス変換し、また、前記NATテーブルに登録されている前記LAN側のIPv6グローバルアドレスの中から、当該パケットの送信元アドレスと一致するものを検索し、この検索で発見した場合、当該送信元アドレスを、当該発見したLAN側のIPv6グローバルアドレスと対応付けて当該NATテーブルに登録されている前記WAN側のIPv6グローバルアドレスにネットワークアドレス変換して当該NAT装置のLAN側に送出し、一方、前記WAN側検索で未発見だった場合、当該宛先アドレスをそのままとし、また、前記NATテーブルに登録されている前記LAN側のIPv6グローバルアドレスの中から、当該パケットの送信元アドレスと一致するものを検索し、この検索で発見した場合、当該送信元アドレスを、当該発見したLAN側のIPv6グローバルアドレスと対応付けて当該NATテーブルに登録されている前記WAN側のIPv6グローバルアドレスにネットワークアドレス変換してWAN側に送出するようになっているIPv6NAT装置といえる。
【発明の効果】
【0023】
上述のように、この発明は、上記の構成を採用したことにより、IPv6マルチプレフィクス環境において、IPv6NAT装置内折り返し通信の条件に合致した際、既存のルータの転送処理を複雑化することなく、折り返し通信を行い、IPv6NAT装置配下であるLAN内の端末から、配下外であってトンネルで接続されたIPv6ネットワークと異なるWAN側のIPv6ネットワークに属した端末へ通信することができる。
【図面の簡単な説明】
【0024】
【図1】本実施形態のシステム構成図
【図2】IPv6NAT装置のブロック図
【図3】折り返し対象端末NATテーブルの概念図
【図4】本形態のフローチャート
【図5】本形態のフローチャート
【図6】本形態のフローチャート
【図7】本形態のフローチャート
【図8】本形態の作用説明図
【図9】本形態の作用説明図
【図10】本形態のシーケンス図
【図11】従来例の作用説明図
【図12】従来例の作用説明図
【図13】従来例のシーケンス図
【発明を実施するための形態】
【0025】
以下、この発明に係る実施形態を図面に基づいて説明する。
実施形態に係る通信システムは、図1に示すように、IPv6(Internet Protocol Version 6)ネットワークからなるWAN(Wide Area Network)側の通信網1と、IPv6ネットワークからなるWAN側の通信網2とに、複数の端末A、BがIPv6ルータ4(以下、「ルータ4」と呼ぶ)、IPv6NAT装置5(以下、「NAT装置5」と呼ぶ)を介して接続される。複数の通信網1、2は、互いのプレフィクス(Prefix)が異なるものである。複数の端末A、Bは、NAT装置5の配下に構築された同一のLAN3に属している。複数の端末A、Bは、ある通信網1とNAT装置5を介してトンネル6で接続されている。NAT装置5は、同一のLAN3に属した複数の端末A、Bのそれぞれに、通信網1のプレフィクスに基づいてプレフィクスを付与している。このとき、NAT装置5は、通信網2とも接続されている。NAT装置5は、端末A、Bからの通信が通信網1宛てか通信網2宛てかを判別してパケット出力先を決定する(マルチプレフィクス環境)。
【0026】
通信網1、2は、IPアドレスのアドレス空間として2128のアドレスを使用できるようにしたネットワークからなる。したがって、端末A、BのそれぞれのIPv6グローバルアドレスの前半部分は、通信網1のプレフィクス(ネットワークID)からなり、後半部分は、インタフェースIDからなる。インタフェースIDは、例えば、EUI−64フォーマットで生成することができる。例えば、通信網1、2のそれぞれは、ISP(インターネットサービスプロバイダー:Internet Services Provider)や閉域ASP(アプリケーションサービスプロバイダー:Application Service Provider)などサービスを提供するプロバイダーの通信網から構成することができる。
【0027】
LAN3は、NAT装置5の配下(下位、LAN(内)側となる)に複数の端末A、Bで構成したものである。端末A、Bは、通信網1、2へ接続する例えば、パソコン、携帯端末、ネットワーク対応のTVなどの情報機器やマルチメディア機器で構成されるものである。
【0028】
ルータ4は、宛先ネットワーク/マスク情報、隣接ルータのIPアドレス、ルーティングテーブル(送出インターフェース)など経路制御情報の管理、ブロードキャストの受信、ユニキャストの送受信、ARPリクエスト等の処理をIPv6環境下で行うものである。
【0029】
ルータ4には、NAT装置5の配下外(上位、WAN(外)側となる)であって、かつ通信網2にのみ属した端末C、Dが接続される。トンネル6は、IP−VPN(Virtual Private Network)を使用して構築されている。この実施形態では、PPPoE(PPP over Ethernet)を用いてユーザー認証やIPアドレス割り当てができるようにしている。
【0030】
図1に示すNAT装置5は、通信網1、2によるマルチプレフィクス環境において、配下の端末A、Bから両方の通信網1、2宛ての通信を可能とする装置である。NAT装置5は、図2のブロック図に示すように、LANインターフェース(以下、LAN−IF)10、WANインターフェース(以下、WAN−IF)11と、パケット転送部12、ネイバー解決部13、折り返し対象特定用のNATテーブル14で構成されている。
【0031】
LAN−IF10は、LAN側の端末A、Bを接続するためのインターフェースで、LAN接続端子を含むものである。ここでは、NAT装置5の内側に位置するLAN3に属した複数の端末A、Bを接続する。
【0032】
WAN−IF11は、WAN側の回線を接続するためのインターフェースで、WAN接続端子を含むものである。ここでは、NAT装置5の外側に位置する通信網1、2やルータ4などの回線を接続する。
【0033】
パケット転送部12は、LAN−IF10とWAN−IF11間のパケット転送を担う。
【0034】
ネイバー解決部13は、IPv6ネイバーディスカバリープロセスを実行することにより、同一のLAN3内のネイバーのMCAアドレスの探査、アドレスの重複の確認やルータとデフォルトルートの発見などの処理を行う。
【0035】
NATテーブル14は、通信網1のプレフィクスに基いて付与されたプレフィクスから生成されて端末A、Bのそれぞれに割り当てられたLAN側のIPv6グローバルアドレスと、通信網2のプレフィクスに基いて付与されたプレフィクスから生成されて当該端末A、Bのそれぞれに割り当てられたWAN側のIPv6グローバルアドレスとの対応付けが登録されたものである。例えば、図3に示すように、各端末A、BのLAN側アドレスに対応するWAN側アドレスを記録したレコードでNATテーブル14を構成することができる。複数のLAN3をNAT装置5の配下に設ける場合、LAN3ごとに1つのNATテーブル14を設けたり、1つのNATテーブル14をLAN3ごとに対応するセグメントに分割したりすることができる。
【0036】
これらの処理手段10〜14は、例えば、RISC CPUを備えた処理回路で実現するようになっている。具体的には、NAT機能を有するIPv6に適応したブロードバンドルータなどで構成することが考えられる。なお、この発明において、IPvNAT装置をIPv6ルータと別体に設けて両者を外部接続すること、及びIPvNAT装置をIPv6ルータの内部に(ルータの機能として)設けることのいずれを採用してもよい。
【0037】
NATテーブル14は、上述のNAT装置5のLAN側(内側)とWAN側(外側)のIPv6グローバルアドレスの対応付けを自動的に生成するようになっている。なお、LAN3の管理者が端末A、BをLAN3に組み込む都度、NAT装置5のNATテーブル14に登録するようにすることも可能である。NATテーブル14の自動生成方法として、例えば、次の2つの方法を採用することができる。
【0038】
(第1の自動生成方法)
配下の端末A、BがDAD(Duplicated Address Detection)パケット又はNDPの処理に送出するNSパケットの情報から、NAT装置5がこれら端末A、BのIPv6グローバルアドレスを学習し、NATテーブル14を生成する。
【0039】
具体的には、端末A又はBが、デフォルトゲートウェイであるNAT装置5と通信する際にNAT装置5のWAN側のIPv6グローバルアドレス宛にNSパケットを送信する。このNSパケットのIPヘッダの送信元IPアドレスには、当該NSパケット送信元である端末A又はBがWAN側で用いようとするIPv6グローバルアドレスが含まれている。NAT装置5は、この含まれたアドレスを読み取って当該端末A又はBのWAN側のIPv6グローバルアドレスとし、自己の把握する当該端末A又はBの実アドレス(LAN側のIPv6グローバルアドレス)と対応付けてNATテーブル14を生成することができる。
【0040】
(第2の自動登録方法)
配下の端末A、BがDDNSサーバ7へ自己のアドレスを登録する際に、NAT装置5のWAN側のアドレスを知る必要がある。そこで、そのアドレス情報をNAT装置5に問い合わせる仕組みをNAT装置5に実装し、その問い合わせ履歴からNAT装置5が配下の端末A、BのIPv6グローバルアドレス情報を取得してNATテーブル14を生成する。
【0041】
前記の仕組みとして、端末A、Bは、DDNSサーバ7への登録の際、NAT装置5に対して自己がWAN側で用いようとするIPv6グローバルアドレスを通知すればよい。例えば、NAT装置5をHTTPサーバ機能を有するものとし、次の処理を採用することができる。すなわち、端末A又はBは、HTTP GETメソッドを用いて、URIにWAN側で用いようとするIPv6グローバルアドレスを含む要求を、NAT装置5に送信する。NAT装置5は、そのURIに含まれたIPv6グローバルアドレスに対応するNAT後のアドレスを計算し、その要求に対する応答のBODY部に当該NAT後のアドレスを含めて当該要求元の端末A又はBに返信する。このような仕組みを用いることで、端末A、BはDDNSサーバ7に登録すべき自己のNAT後のWAN側のIPv6グローバルアドレスを取得することができる。また、NAT装置5は、DDNSサーバ7に登録される、すなわちWAN側(外側)からDDNSサーバ7によりIPアドレス解決を行われる当該端末A又はBの実アドレス(LAN側のIPv6グローバルアドレス)及びそのNAT後のWAN側のIPv6グローバルアドレスを取得するため、これらアドレスを対応付けてNATテーブル14を生成することができる。
【0042】
上述したように構成された実施形態の動作をより具体的に説明する。通信網1、2は、NAT装置5に対してプレフィクスを付与する。そのため、NAT装置5は、通信網1からルータ4に付与された/48〜/64のプレフィクスに基いて/64のプレフィクスを生成し、これを配下の端末A、Bに付与する。また、NAT装置5は、通信網2からルータ4に付与された/48〜/64のプレフィクスについては、LAN3内の端末A、Bから通信網2に属したホスト宛のパケットが発生した際に、NAT装置5が、送信元アドレスを、通信網2から付与されたプレフィクスを持つIPv6グローバルアドレスに変換して転送するようになっている。
【0043】
アドレス変換方式については、IETF draft−mrw−nat6などに準拠する。また、このとき、通信網2に接続された任意の端末間で通信を行う際、通信先の端末のIPアドレスを解決するために、ダイナミックDNS(DDNS)サーバ7を用いる。例えば、配下の端末A、BはDDNSサーバ7に対して自己アドレスをそれぞれ“▲”、“■”として登録する。これは、背景技術でも述べたように、端末A、Bの実アドレス“△”、“□”は、NAT装置5の内側のアドレスであり、端末C、Dから直接到達できないからである。なお、端末A、Bが自身のネットワークアドレス変換(NAT)後のアドレス▲、■を取得する手法は所与のものである。
【0044】
NAT装置5は、LAN3内の端末A、Bからのパケットを受信すると、NATテーブル14に登録されているWAN側のIPv6グローバルアドレスの中から、当該パケットの宛先アドレスと一致するものを検索する(以下、WAN側検索と呼ぶ)。
【0045】
WAN側検索で発見した場合、NAT装置5は、当該宛先アドレスを、発見したWAN側のIPv6グローバルアドレスと対応付けてNATテーブル14に登録されているLAN側のIPv6グローバルアドレスにネットワークアドレス変換する。また、NAT装置5は、NATテーブル14に登録されているLAN側のIPv6グローバルアドレスの中から、当該パケットの送信元アドレスと一致するものを検索する。この検索で発見した場合、NAT装置5は、当該送信元アドレスを、当該発見したLAN側のIPv6グローバルアドレスと対応付けて当該NATテーブルに登録されているWAN側のIPv6グローバルアドレスにネットワークアドレス変換して、NAT装置5のLAN側であるLAN−IF10に送出し、未発見だった場合、当該送信元アドレスをそのままとしてLAN−IF10に送出する。
【0046】
一方、WAN側検索で未発見だった場合、NAT装置5は、当該宛先アドレスをそのままとする。また、NAT装置5は、NATテーブル14に登録されているLAN側のIPv6グローバルアドレスの中から、当該パケットの送信元アドレスと一致するものを検索する。この検索で発見した場合、NAT装置5は、当該送信元アドレスを、当該発見したLAN側のIPv6グローバルアドレスと対応付けてNATテーブル14に登録されているWAN側のIPv6グローバルアドレスにネットワークアドレス変換し、NAT装置5のWAN側であるWAN−IF11に送出し、未発見だった場合、送信元アドレスをそのままとしてWAN−IF11に送出する。
【0047】
このようにすることで、IPv6ルータ4に接続された端末C、Dへのアクセスができるようにする。ここでは、例えば、NAT装置5は、図4のフローチャートに示すように、前処理100、ルーティング処理(ルーティングテーブル参照による宛先インターフェースの決定)200、後処理300の3つに分けることで、NAT装置5に組み込む際の利便性の向上を図っている。
【0048】
前処理100では、図5に示すように、パケットの入力する入出力インターフェースとIPパケットの宛先アドレスのプレフィクスとからNAT処理の有無を決定する。具体的には、入力のインターフェースがWAN−IF11(101)で、かつ、宛先IPアドレスのプレフィクスがNAT装置5のWAN側のアドレス(ルータ4に付与されたものと一致)に一致するか(102)、又は、入力インターフェースがLAN−IF10(103)で、かつ、宛先IPアドレスがNATテーブル14に登録されているWANアドレスのいずれかに一致すると(104)、宛先アドレスのNAT処理を行う(105)。これ以外は、NAT処理を行わない(106)。すなわち、WAN側から受信した(101)パケットの宛先アドレスのプリフィクスがNAT装置5のWAN側のアドレスに一致するか(102)、又は、LAN側から受信した(103)パケットの宛先アドレスがNATテーブル14にWAN側のアドレスとして登録されていると(104)、当該宛先アドレスを、NATテーブル14に対応付けて登録されているLAN側のアドレスにネットワークアドレス変換し(105)、それ以外は当該宛先アドレスをアドレス変換しない(106)。
【0049】
ルーティング処理200では、図6に示すように、前処理100で未変換、又は変換後に出力された宛先アドレスに基づいて、LAN側又はWAN側へのパケット転送先を決める(201)。具体的には、ルータ4のルーティングテーブルを参照して、出力インターフェースを、WAN−IF11(202)、又は、LAN−IF10(203)のいずれかに決定することにより、折り返し転送を実現する。
【0050】
後処理300では、図7に示すように、出力用のインターフェースと、バケットの送信元アドレスとから判別を行って、その判別結果に基づいて、送信元のNAT処理を行ってアドレスの一義性を保つ。具体的には、出力のインターフェースがWAN−IF11で(301)、かつ、送信元アドレスがNAT装置のLAN側のプレフィクスを持つか(302)、又は、出力用のインターフェースがLAN−IF10で(303)、かつ、送信元アドレスがNATテーブル14のLANアドレスに一致していると(304)、送信元アドレスをNAT処理する(305)。それ以外は、NAT処理を行わないでパケットを送出する(306)。すなわち、前記パケット転送先がNAT装置5のWAN側であって(301)、かつ当該パケットの送信元アドレスのプレフィクスがNAT装置5のLAN側のアドレスに一致するか(302)、又は、前記パケット転送先がNAT装置5のLAN側であって(303)、かつ当該パケットの送信元アドレスがNATテーブル14にLAN側のアドレスとして登録されていると(304)、当該送信元アドレスを、NATテーブル14に対応付けて登録されているWAN側のアドレスにネットワークアドレス変換し(305)、それ以外は送信元アドレスを変換しないで当該パケット転送先へ送出する(306)。
【0051】
このように、前処理100、ルーティング処理200、後処理300の3つの処理に分けたことにより、例えば、NAT装置5のLinux(登録商標)などの組み込みOSのルーティング方式の構成にマッチするので、前記OSに組み込むことが容易にできる。
【0052】
次に、実施形態の代表的な動作をより具体的に述べる。
(a)WAN側の通信網2に属したホストとLAN3の端末間の通信
例えば、図1の端末Aと端末Dとの間の通信において、端末Dから端末Aへパケットを送信する場合、端末Dは、DDNSサーバ7を用いて宛先アドレスの問題を解決し、宛先アドレス“▲”を得て、宛先アドレス“▲”をもったパケットを送出する。宛先アドレス“▲”宛で送出されたパケットは、NAT装置5のWAN−IF11に入力するため、前処理100によって、宛先アドレス“▲”が、NAT装置5の外側のプレフィクスか否か判別される。このとき、宛先アドレス“▲”がNAT装置5のWAN側(外側)のプレフィクスなので、宛先アドレス“▲”が宛先アドレス“△”に書き換えられる(ネットワークアドレス変換)。次に、処理した宛先アドレス“△”からルーティング処理200により、出力用のインターフェースは、LAN−IF10に決定される。そのため、出力インターフェースが、LAN−IN10となったことで、後処理300により、送信元アドレス“★”がNATテーブル14に登録されているLAN側のアドレスに一致するか判別される。このとき、送信元アドレス“★”は、NATテーブル14に一致するWAN側のアドレスの登録がないので、書き換えられない。したがって、端末Aには、送信元アドレス“★”、宛先アドレス“△”となったパケットが届く。
【0053】
(b)LAN3内の端末同士の通信
例えば、端末Aから端末Bへの通信においては、図8に示すように(図中、Dst:宛先、Src:送信元)、端末Aから、送信元アドレス“△”、宛先アドレス“■”(端末BのNAT処理後のアドレス(WAN側))とするパケットが送出される。すると、宛先アドレス“■”のパケットは、NAT装置5のLAN−IF10に入力するため、前処理100によって、宛先アドレス“■”が、NATテーブル14に登録されているWANアドレスに一致するか否か判別される。このとき、端末Bの宛先アドレス“■”がNATテーブル14にWAN側のアドレスとして登録されているので、宛先アドレス“■”が宛先アドレス“□”に書き換えられる(ネットワークアドレス変換)。そのため、ルーティング処理200により、出力用のインターフェースは、宛先アドレスが“□”なので、LAN−IF10に決定される。次に、後処理300により、送信元アドレス“△”がNATテーブル14に登録されているLAN側のアドレスに一致するか否か判別される。このとき、送信元アドレス“△”がNATテーブル14に登録されているLAN側のアドレスと一致するので、送信元アドレス“△”が送信元アドレス“▲”(端末AのNAT処理後のアドレス)に書き換えられる(ネットワークアドレス変換)。したがって、端末Bには、送信元アドレス“▲”、宛先アドレス“□”となったパケットが届く。このように、この実施形態によれば、IPv6マルチプレフィクス環境において、NAT装置5内折り返し通信の条件に合致した際、既存のルータ4の転送処理を複雑化することなく、折り返し通信を行うことができる。
【0054】
(c)LAN3内の端末から、NAT装置5の配下外(上位)でルータ4に接続された通信網2のホストへの通信
例えば、端末Aから端末Cへの通信においては、図9に示すように、端末Aから送信元アドレス“△”、宛先アドレス“●”のパケットが送出される。すると、宛先アドレス“●”のパケットは、NAT装置5のLAN−IF10に入力するため、前処理100によって、宛先アドレス“●”が、NATテーブル14に登録されているWAN側のアドレスに一致するか否か判別される。このとき、宛先アドレス“●”は、NATテーブル14に登録されていないので、書き換えられない。そのため、ルーティング処理200により、出力用のインターフェースは、宛先アドレスが“●”なので、WAN−IF11に決定される。次に、後処理300により、送信元アドレス“△”がNAT装置5のLAN側のプレフィクスか否か判別される。このとき、送信元アドレス“△”がNAT装置5のLAN側のプレフィクスを持つので、送信元アドレス“△”が送信元アドレス“▲”(端末AのNAT後のアドレス)に書き換えられる。したがって、端末Cには、送信元アドレス“▲”、宛先アドレス“●”とするパケットが届く。このように、この実施形態によれば、NAT装置5配下であるLAN3内の端末A、Bから、配下外であってトンネル6で接続された通信網1と異なるWAN側の通信網2に属した端末Cへ通信することができる。
【0055】
また、この実施形態によれば、折り返しの通信のルーティングを前処理100、ルーティング処理200、後処理300の3つの処理で構成し、前処理100で、パケットが入力するインターフェースと宛先アドレスを用いて該当パケットを絞り込んだのち、NATテーブル14でネットワークアドレス変換の要否を峻別するので、NAT装置5での複雑な処理を避けることができる。したがって、既存のルーティング処理に大きな手を加えることが無く、ひいてはコストも安くできる。
【0056】
この発明の技術的範囲は、上述の実施形態に限定されず、特許請求の範囲の記載に基く技術的思想の範囲内での全ての変更を含むものである。例えば、実施形態では、IPv6ネットワーク(通信網1、2)、LAN3に属した端末A、Bがそれぞれ2つの場合について述べたが、これらが3以上でもよいことは勿論である。
【符号の説明】
【0057】
1 IPv6ネットワーク(通信網A)
2 IPv6ネットワーク(通信網B)
3 LAN
4 IPv6ルータ
5 IPv6NAT装置
10 LAN−IF
11 WAN−IF
12 パケット転送部
13 ネイバー解決部
14 折り返し対象端末NATテーブル

【特許請求の範囲】
【請求項1】
IPv6NAT装置のLAN側と、同一のLANに属した複数の端末とが接続され、当該IPv6NAT装置のWAN側と、IPv6ネットワークとがトンネルを介して接続され、当該IPv6NAT装置は、当該IPv6ネットワークのプレフィクスに基づいて当該端末にプレフィクスを付与し、IPv6ルータ装置を介して当該IPv6ネットワークと異なるプレフィクスをもったWAN側のIPv6ネットワークとも接続され、かつ当該端末からの通信が両IPv6ネットワークのいずれ宛てかを判別してパケット送出先を決定するマルチプレフィクス環境において、
前記IPv6NAT装置に、前記端末に割り当てられたLAN側のIPv6グローバルアドレスと、前記異なるプレフィクスに基いて当該端末に割り当てられたWAN側のIPv6グローバルアドレスとの対応付けが登録された、折り返し対象特定用のNATテーブルを設け、
前記IPv6NAT装置は、
前記端末からパケットを受信すると、前記NATテーブルに登録されている前記WAN側のIPv6グローバルアドレスの中から、当該パケットの宛先アドレスと一致するものを検索し、
当該WAN側検索で発見した場合、当該宛先アドレスを、当該発見したWAN側のIPv6グローバルアドレスと対応付けて当該NATテーブルに登録されている前記LAN側のIPv6グローバルアドレスにネットワークアドレス変換し、また、前記NATテーブルに登録されている前記LAN側のIPv6グローバルアドレスの中から、当該パケットの送信元アドレスと一致するものを検索し、この検索で発見した場合、当該送信元アドレスを、当該発見したLAN側のIPv6グローバルアドレスと対応付けて当該NATテーブルに登録されている前記WAN側のIPv6グローバルアドレスにネットワークアドレス変換して当該NAT装置のLAN側に送出し、
一方、前記WAN側検索で未発見だった場合、当該宛先アドレスをそのままとし、また、前記NATテーブルに登録されている前記LAN側のIPv6グローバルアドレスの中から、当該パケットの送信元アドレスと一致するものを検索し、この検索で発見した場合、当該送信元アドレスを、当該発見したLAN側のIPv6グローバルアドレスと対応付けて当該NATテーブルに登録されている前記WAN側のIPv6グローバルアドレスにネットワークアドレス変換してWAN側に送出するIPv6NAT装置内折り返し通信方法。
【請求項2】
前記IPv6NAT装置は、
WAN側から受信したパケットの宛先アドレスのプリフィクスが当該IPv6NAT装置のWAN側のアドレスに一致するか、又は、LAN側から受信したパケットの宛先アドレスが前記NATテーブルに前記WAN側のアドレスとして登録されていると、当該宛先アドレスを、前記NATテーブルに対応付けて登録されている前記LAN側のアドレスにネットワークアドレス変換し、それ以外は当該宛先アドレスをアドレス変換しない前処理と、
前記前処理から出力された前記宛先アドレスに基づいてLAN側又はWAN側へのパケット転送先を決めるルーティング処理と、
前記パケット転送先が当該IPv6NAT装置のWAN側であって、かつ当該パケットの送信元アドレスのプレフィクスが当該IPv6NAT装置のLAN側のアドレスに一致するか、又は、前記パケット転送先が当該IPv6NAT装置のLAN側であって、かつ当該パケットの送信元アドレスが前記NATテーブルに前記LAN側のアドレスとして登録されていると、当該送信元アドレスを、前記NATテーブルに対応付けて登録されている前記WAN側のアドレスにネットワークアドレス変換し、それ以外は送信元アドレスを変換しないで当該パケット転送先へ送出する後処理と、
を順に行う請求項1に記載のIPv6NAT装置内折り返し通信方法。
【請求項3】
前記端末が送出するNSパケットのIPヘッダの送信元アドレスから、前記IPvNAT装置が、当該端末のWAN側のIPv6グローバルアドレスを読み取って前記NATテーブルを生成する請求項1に記載のIPv6NAT装置内折り返し通信方法。
【請求項4】
前記端末は、前記異なるプレフィクスをもったWAN側のIPv6ネットワークに属したDDNSサーバへ自己のアドレスを登録する際に前記IPv6NAT装置のWAN側のアドレスを当該IPv6NAT装置に問い合わせ、当該IPvNAT装置は、その問い合わせ履歴から、当該端末が当該DDNSサーバへ登録しようとするIPv6グローバルアドレス情報を取得して前記NATテーブルを生成する請求項1に記載のIPv6NAT装置内折り返し通信方法。
【請求項5】
LAN側インターフェースと、同一のLANに属した複数の端末とが接続され、WAN側インターフェースと、IPv6ネットワークとがトンネルを介して接続され、当該IPv6ネットワークのプレフィクスに基づいて当該端末にプレフィクスを付与し、IPv6ルータ装置を介して前記IPv6ネットワークと異なるプレフィクスをもったWAN側のIPv6ネットワークとも接続され、かつ当該端末からの通信が両IPv6ネットワークのいずれ宛てかを判別してパケット送出先を決定するマルチプレフィクス環境で用いられるIPv6NAT装置であって、
前記端末に割り当てられたLAN側のIPv6グローバルアドレスと、前記異なるプレフィクスに基いて当該端末に割り当てられたWAN側のIPv6グローバルアドレスとの対応付けが登録された、折り返し対象特定用のNATテーブルが設けられ、
前記端末からパケットを受信すると、前記NATテーブルに登録されている前記WAN側のIPv6グローバルアドレスの中から、当該パケットの宛先アドレスと一致するものを検索し、
当該WAN側検索で発見した場合、当該宛先アドレスを、当該発見したWAN側のIPv6グローバルアドレスと対応付けて当該NATテーブルに登録されている前記LAN側のIPv6グローバルアドレスにネットワークアドレス変換し、また、前記NATテーブルに登録されている前記LAN側のIPv6グローバルアドレスの中から、当該パケットの送信元アドレスと一致するものを検索し、この検索で発見した場合、当該送信元アドレスを、当該発見したLAN側のIPv6グローバルアドレスと対応付けて当該NATテーブルに登録されている前記WAN側のIPv6グローバルアドレスにネットワークアドレス変換して当該NAT装置のLAN側に送出し、
一方、前記WAN側検索で未発見だった場合、当該宛先アドレスをそのままとし、また、前記NATテーブルに登録されている前記LAN側のIPv6グローバルアドレスの中から、当該パケットの送信元アドレスと一致するものを検索し、この検索で発見した場合、当該送信元アドレスを、当該発見したLAN側のIPv6グローバルアドレスと対応付けて当該NATテーブルに登録されている前記WAN側のIPv6グローバルアドレスにネットワークアドレス変換してWAN側に送出するようになっているIPv6NAT装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate


【公開番号】特開2012−209847(P2012−209847A)
【公開日】平成24年10月25日(2012.10.25)
【国際特許分類】
【出願番号】特願2011−75264(P2011−75264)
【出願日】平成23年3月30日(2011.3.30)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.ETHERNET
【出願人】(399041158)西日本電信電話株式会社 (215)
【Fターム(参考)】