JP5889955B2 - 中継装置及びプログラム - Google Patents

中継装置及びプログラム Download PDF

Info

Publication number
JP5889955B2
JP5889955B2 JP2014099696A JP2014099696A JP5889955B2 JP 5889955 B2 JP5889955 B2 JP 5889955B2 JP 2014099696 A JP2014099696 A JP 2014099696A JP 2014099696 A JP2014099696 A JP 2014099696A JP 5889955 B2 JP5889955 B2 JP 5889955B2
Authority
JP
Japan
Prior art keywords
ipv6
address
dns
v6v4napt
packet
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014099696A
Other languages
English (en)
Other versions
JP2015216593A (ja
Inventor
大我 米元
大我 米元
大畑 博敬
博敬 大畑
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone West Corp
Original Assignee
Nippon Telegraph and Telephone West Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone West Corp filed Critical Nippon Telegraph and Telephone West Corp
Priority to JP2014099696A priority Critical patent/JP5889955B2/ja
Publication of JP2015216593A publication Critical patent/JP2015216593A/ja
Application granted granted Critical
Publication of JP5889955B2 publication Critical patent/JP5889955B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

この発明は、IPv4/IPv6デュアルスタックに対応する端末の通信を中継する中継装置に関する。
IPv4/IPv6デュアルスタック対応の装置同士が通信する場合、どちらかのトランスポートプロトコルを優先して使用することになり、基本的にはIPv6を優先して使用する。IPv6を優先して接続する際に、IPv6のアクセスが出来ない場合はIPv6アクセスを諦め、IPv4アクセスに切り替える処理であるIPv6/IPv4フォールバックが生じる。しかし、IPv6でのレスポンスを待ってからIPv4に切り替える以上、この処理にはタイムラグが発生するため、ユーザ体感品質が劣化する。
一般家庭や小規模事業者などが通信事業者と契約する場合、割り振られるIPv6アドレスには、IPv6で直接にインターネットへの接続ができる契約と、出来ない契約とが存在している。このIPv6でインターネットに直接接続出来ない契約である端末がインターネットのサーバへIPv6アドレスを指定して接続しようとする際に、上記のフォールバックが生じて体感速度が低下することになる。
この課題を解決する方法は既にいくつか提案されている。第一の方法としては、DNSサーバからAレコード(IPv4アドレス)とAAAAレコード(IPv6アドレス)を受け取った、インターネットに直接IPv6接続できない契約の端末(を中継するホームゲートウェイ)が、IPv6アドレスを指定したパケットを送出した場合、閉域網内にあるTCPリセッタがTCP−RSTを端末に送出することで、IPv4に切り替えるまでの待ち時間を短縮することが提案されている。
第二の方法としては、プロバイダが各ユーザに提供するキャッシュDNSサーバにAAAAフィルタを適用し、端末からのDNSクエリーに対してAレコード(IPv4アドレス)のみを端末に通知することが提案されている。また、この方法の応用として、端末が用いるホームゲートウェイでAAAAフィルタを適用し、DNSサーバから戻ってきたAAAAレコードをホームゲートウェイでカットする手法が特許文献1に提案されている。
第三の方法としては、端末、またはそれを中継するホームゲートウェイが接続認証するRADIUSサーバが、個々のユーザの契約に従って告知するDNSサーバのアドレスを選択する方法が提案されている。すなわち、IPv6によるインターネットへの直接アクセスが可能な契約であるユーザに対しては、AレコードとAAAAレコードの両方を通知可能なDNSサーバのアドレスを通知し、直接アクセスができない契約であるユーザに対しては、Aレコードのみを通知可能なDNSサーバのアドレスを通知する。前者のユーザはIPv6でのアクセスが可能である一方、後者のユーザは最初からIPv4でのアクセスを行うため、フォールバックが発生しない。
特開2012−109887号公報
しかしながら、第一の方法では時間が短縮されるとはいえ、無駄な通信が発生することは避けられない。また、アプリケーションがフォールバックしない実装の場合は、IPv6通信が失敗した時点で通信不可となってしまう。
第二の方法は、全てのユーザにAAAAフィルタを掛けるため、IPv6接続が可能なユーザもIPv6サービスを利用できなくなってしまう。また、セキュリティ向上のためにDNSSECを導入した場合には正常に動作しなくなるおそれがある。
第三の方法は、RADIUSサーバを変更しなければならなくなるため、影響が大きく、実現が困難であるという問題がある。
そこでこの発明は、IPv6の直接接続が可能な契約である場合にはIPv6のみでアクセス出来るサーバへのアクセス可能な環境を維持しつつ、IPv6/IPv4フォールバックの待ち時間を出来るだけ発生させないようにすることを目的とする。
この発明は、自身のIPv6アドレスのプレフィックスによりIPv6によるインターネットへの直接アクセスが可能か否かを判別し、当該IPv6アドレスがインターネットへの直接アクセスができない条件のものであった場合であって、
LAN側の端末から受信したDNSクエリーをDNSサーバへ転送したDNSレスポンスとしてIPv4アドレス及びIPv6アドレスの両方が存在した場合には、v6v4組合テーブルに当該DNSクエリーに対応するIPv4アドレス及びIPv6アドレスを登録し、
当該端末からの上記DNSクエリーに対応するサーバへのIPv6アクセスを、上記v6v4組合テーブルの記録に従ってv6v4NAPT変換を行って中継する中継装置により上記の課題を解決したのである。
すなわち、IPv6によるインターネットへの直接接続が可能な契約状態にあるか否かを判断して処理を行うため、同じ中継装置を用いても、直接接続が可能なユーザではレスポンスが低下することなくそのまま使用できる。また、必要とするテーブルは全通信についてではなく、IPv4とIPv6との両方を通知された特定のサーバに対する特定の通信のみを変換するために必要な規模であればよいので、リソースの消費は少なくて済む。さらに、サーバではなく端末に近い末端部のホームゲートウェイなどに用いる中継装置でフォールバック問題をNAPT変換で解決してしまうため、不要な通信が発生しない。
この発明にかかる中継装置の具体的構成としては、次のようなテーブルと機能部により実現できる。テーブルとしては、DNSクエリーで指定されたドメイン名とそれに対応するIPv4アドレス及びIPv6アドレスとを記録するv6v4組合テーブルと、LAN側からWAN側へアクセスする際のv6v4NAPT変換のためのアドレス及びポート番号を記録するv6v4NAPTテーブルとを有する。
ソフトウェア又はハードウェアによる機能部としては、v6v4NAPT変換の判断と実行を行うv6v4機能管理部と、上記v6v4組合テーブルへの登録を含むDNSプロキシとしてDNSクエリー及びDNSレスポンスを中継する際に追加で機能する拡張DNSプロキシとを有する。
このうち、上記拡張DNSプロキシは、
LAN側から受信したDNSクエリーが指定するドメインを上記v6v4組合テーブルに登録する組合テーブル登録手段と、
当該DNSクエリーに対するDNSレスポンスにIPv4及びIPv6の両方が存在する場合に、上記v6v4組合テーブル中の当該DNSクエリーのドメインについてのレコードに、当該DNSレスポンスのIPv4アドレス及びIPv6アドレスとの組合せを登録する組合テーブル追記手段を有する。
また、上記v6v4機能管理部は、
上記中継装置自身に割り当てられたIPv6アドレスのプレフィックスにより上記中継装置自身がIPv6によるインターネットへの直接アクセスが可能か否かを判別し、不可能であればLAN側の端末からのIPv6アクセスについてv6v4NAPT機能を有効にするよう設定変更する直接接続判断手段と、
IPv6パケットをLAN側から受信した際に、当該IPv6パケットの送信元MACアドレスと送信先IPv6アドレスとの組合せが、上記v6v4組合テーブルに登録されていれば、上記v6v4NAPTテーブルにレコードを登録しつつv6v4NAPT変換を行い対応するWAN側のIPv4アドレス宛にパケットを転送可能にする拡張NAPT手段と、
IPv4パケットをWAN側から受信した際に、当該IPv4パケットのアドレス及びポート番号が上記v6v4NAPTテーブルに登録されていれば、上記v6v4NAPTテーブルを用いてv6v4NAPT変換の逆変換であるv4v6NAPT変換を行って、対応するLAN側のIPv6アドレスの端末宛にパケットを転送可能にする拡張逆NAPT手段と
を有する。
なお、拡張DNSプロキシ以外に、一般的なルータ機能の一部として実行される通常のDNSプロキシとして、DNSクエリーをDNSサーバへ転送するクエリー転送手段と、DNSレスポンスを対応するDNSクエリーの送信元へ転送するレスポンス転送手段とを有する。
また、既存の中継装置に、上記のv6v4組合テーブル、上記v6v4NAPTテーブル、上記v6v4機能管理部、及び上記拡張DNSプロキシとして動作させるためのプログラムをインストールさせることでも、この発明を実施できる。
この発明にかかる中継装置により、RADIUSサーバの改修やDNSサーバの新設を必要とせず、端末側の設定も必要とせずに、末端部に近い中継装置によってフォールバック問題を解決できる。
この発明にかかる中継装置の機能ブロックと周囲の端末及びサーバとの関係図 この発明にかかる中継装置の実施形態例における起動時の機能選択を示すフロー図 (a)この発明にかかる中継装置の実施形態例におけるDNSクエリー受信時のフロー図、(b)(a)のレスポンス受信時のフロー図 v6v4組合テーブルの例図 (a)この発明にかかる中継装置の実施形態例におけるIPv6パケット受信時のフロー図、(b)(a)のレスポンス受信時のフロー図 v6v4NAPTテーブルの例図 実施例における通信シーケンス図 (a)〜(d)実施例における各テーブルの変遷図
以下、この発明について実施形態の例を挙げて説明する。
この発明にかかる中継装置11の機能ブロック図と、これを利用する端末12、サーバとの関係図をまとめて図1に示す。
中継装置11はLAN17側とWAN18側の両方にネットワークインターフェースを有する中継装置である。具体的には、一般的なルータ機能21などを有するホームゲートウェイのようなネットワーク中継専用の機器を本発明にかかる中継装置11として十分に利用可能である。大規模サーバのような処理能力は必要としない。ただし、DNSサーバのIPアドレスを取得し、かつ、自身もIPアドレスを有して、中継するパケットのアドレス変換やポート変換を行うため、スイッチでは不十分である。
LAN17は一般家庭や小規模事業者のネットワークであり、複数の端末12(12a、12b、12c……)を有する。端末12は中継装置11を通じてWAN18側のインターネット19に存在するDNSサーバ13やwebサーバ14a、14b、14cにアクセスする。
WAN18は直接にインターネット19に繋がっているのではなく、IPv6による閉域網20を介してインターネット19に繋がっている。中継装置11が払い出されるIPv6のアドレス次第で、IPv6アドレスのままインターネット19に接続できる場合と、閉域網20までのアクセスに限定される場合とがある。後者の場合は、別手段としてインターネット19へ直接接続可能なIPv4が利用されることが多い。
上記の通り中継装置11は、一般的なルータ機能21を有する。WAN18側のサーバからIPv4アドレス及びIPv6アドレスを付与され、配下の端末12にIPv4アドレス及びIPv6アドレスを付与し、端末12からのアクセスをNAPT変換して中継する。さらに、v6v4機能管理部22、拡張DNSプロキシ23、v6v4組合テーブル25、v6v4NAPTテーブル26を有する。
以下、それらの機能を順に説明する。中継装置11の電源投入時点又は再起動時点からの機能選択を図2のフローにより説明する。
まず、中継装置11は、ルータ機能21によりWAN18側のサーバからIPv6のアドレスを取得する(S101)。v6v4機能管理部22は、その取得したIPv6アドレスが、インターネット19への直接接続が可能なアドレスであるか否かを判断する直接接続判断手段111を実行する(S102)。この判断は、中継装置11の記憶部24に、IPv6アドレスのプレフィックスについての条件を予め登録しておき、取得したIPv6アドレスのプレフィックスをその条件と対照させることで可能である。インターネット19への直接接続が可能な契約であれば(S102−Yes)、本発明にかかる中継装置11としての機能を実行する必要はないため、この発明で行う後述のv6v4NAPT機能を全てOFFにする機能停止手段113を実行する(S105)。直接接続ができない契約であれば(S102−No)、この発明により実行するv6v4NAPT機能の意義がある。
ただし、v6v4の変換機能は接続形態の変更を伴うため、無条件に適用すると端末12を利用するユーザの意志に反することもありうる。このため、v6v4機能管理部22は、上記のv6v4NAPT機能の実行を許可する設定であるか否かを判断する設定判断手段112を実行する(S103)と望ましい。なお後述するフローでも同様の判断を行うことを前提に説明するが、この判断は必須ではなく、中継装置11の設置と実行をもって許可を得て、自動実行する設定でもよい。なお、図示しないが、ルータ機能21により実現される中継装置11の端末12に対するwebサーバ機能により、端末12側からのアクセスによってそれらの設定は変更する実行是非登録手段110を実行できる。許可しない設定であれば(S103−No)、この発明で行う後述のv6v4NAPT機能を全てOFFにする機能停止手段113を実行する(S105)。許可する設定であれば(S103−Yes)、この発明により実行するv6v4NAPT機能をONにする機能稼働手段114を実行する(S104)。
上記の判断によりv6v4NAPT機能がONになった場合、v6v4機能管理部22が行う次の処理の前に、拡張DNSプロキシ23が行う処理を図3(a)(b)により説明する。
まず、通常のDNSプロキシの動作として端末12からDNSクエリーを受信した(S111)ときの動作を図3(a)のフローにより説明する。受信したら、拡張DNSプロキシ23は必要に応じて、上記のv6v4NAPT機能の実行を許可する設定であるか否かを判断する設定判断手段121を実行する。上記のv6v4NAPT機能の実行を許可する設定でなければ(S112−No)、そのまま通常のDNSプロキシの実行に移る(S114)。実行を許可する設定であれば(S112−Yes)、v6v4組合テーブル25に、当該DNSクエリーの送信元MACアドレスである端末12のMACアドレスと、DNSクエリーが指定するドメイン名からなるレコードを登録するとともに、テーブルからレコードを消去するためのタイマーを設定する組合テーブル登録手段122を実行する(S113)。
このv6v4組合テーブル25の例を図4に示す。「MAC」はMACアドレスであり、「DNSクエリ」はクエリーが解決しようとするドメイン名であり、「IPv6」はクエリーに対するDNSサーバ13のレスポンスであるIPv6アドレス、「IPv4」はクエリーに対するDNSサーバ13のレスポンスであるIPv4アドレス、「タイマ」はテーブルの肥大化を避けるために一定時間経過でレコードを削除するための制限時間である。これらのうち、MACアドレスはそれぞれの端末12(12a、12b、12c……)を一意に特定するためのものであるため必須ではなく、代わりに端末12(12a、12b、12c……)のIPアドレスを登録する形態であってもよい。また、端末12のMACアドレスやIPアドレスをレコードに含めずに、すなわち、端末12を個々に識別せずに、それぞれの端末12a,12b,12c・・・の間でレコードを共有する形態での実施も可能である。ただし、DNSサーバ13は、負荷分散のためにDNSレスポンスで指示するアドレスをリクエストごとに変える場合がある。この負荷分散に追随しようとすると、端末12(12a、12b、12c……)を個々に識別できるようにしておかなければならず、MACアドレスやIPアドレスを記録して端末12(12a、12b、12c……)毎にレコードを分けることでこれに対応可能となる。
また上記のv6v4組合テーブル25の項目のうち、タイマーも必須ではなく、またこの形態である必要もない。例えば、レコード数が閾値を越える毎に古いものから削除していくことでも肥大化を抑制することができる。また、図4におけるタイマーは一秒ごとにデクリメントされていく方式であるが、開始時刻に応じたタイムアウトして削除する時刻を記録する方式でもよい。なおS113において同一のレコードがある場合には、タイマーの設定を上書きして、デクリメントするタイマーのカウントを初期値にしたり、タイムアウトして削除する時刻を新たな時刻からの時間に変更したりする。このように同一のレコードが存在して上書きするケースとしては、DNSローカルキャッシュがOFFに設定されている端末12でクリックの連打などにより、同じ端末12から立て続けにDNSクエリーが送信される場合が考えられる。また、端末12毎のMACアドレスを区別しない場合は、同じドメインへのクエリーが複数の端末12a,12b,12c……により連続すると上記のケースに該当しうる。
ただし、上記のv6v4組合テーブル25は、S113の段階ではIPv4及びIPv6の欄は空欄である。その上で、拡張DNSプロキシ23から通常のルータ機能21であるDNSプロキシの実行に移る(S114)。
ここでのDNSプロキシの動作は、端末12から受信したDNSクエリーを、RADIUSサーバ15などで指定されたDNSサーバ13に転送するクエリー転送手段101が実行される。その後、DNSサーバ13から返答されて来たDNSレスポンスを当該端末12宛に中継するレスポンス転送手段102が実行されるが、その実行の前に、拡張DNSプロキシ23が行う処理を図3(b)のフローとともに説明する。
ルータ機能21がDNSレスポンスを受信すると(S121)、拡張DNSプロキシ23は、必要に応じて、上記のv6v4NAPT機能の実行を許可する設定であるか否かを判断する設定判断手段121を実行する(S122)。これはDNSクエリーに対するS111の処理と同じである。上記のv6v4NAPT機能の実行を許可する設定でなければ(S122−No)、そのまま通常のDNSプロキシの実行に移る(S126)。実行を許可する設定であれば(S122−Yes)、受け取ったDNSレスポンスの中身を解析するレスポンス解析手段123を実行する(S123)。このとき、DNSレスポンスに含まれるのが、Aレコード(IPv4)のみ、又はAAAAレコード(IPv6)のみであると(S123−No)、DNSレスポンスに対応するDNSクエリーを中継したS113においてv6v4組合テーブル25に登録した、該当するレコードを削除する組合テーブル削除手段124を実行する(S125)。これは、IPv4のみ、又はIPv6のみしか通知されない場合は、後述する逆変換であるv4v6NAPT変換を行うことがそもそもできないからである。Aレコード(IPv4アドレス)のみを通知された場合は、そのまま通常のDNSプロキシを実行して(S126)、端末12にIPv4アドレスが渡されることで、端末12は該当するwebサーバ14にIPv4によりアクセスできる。AAAAレコード(IPv6アドレス)のみを通知された場合も同様に通常のDNSプロキシが実行される(S126)が、中継装置11が所持するIPv6アドレスではインターネット19への直接接続ができないため、端末12からのアクセスを可能にするには別の手段を設定する必要がある。
一方、DNSレスポンスにAレコードとAAAAレコードの両方が含まれていれば(S123−Yes)、この後の応答でv6v4NAPT変換を行う意義がある。そこで、v6v4組合テーブル25の、当該DNSレスポンスに対応するDNSクエリーで登録されたレコードについて、空欄であったIPv4アドレス、IPv6アドレスに、DNSレスポンスに含まれる情報を上書きして登録する組合テーブル追記手段125を実行する(S124)。その上で、AレコードとAAAAレコードの両方を含めたDNSレスポンスを、通常のDNSプロキシとして端末12に転送するレスポンス転送手段102を実行する(S126)。
上記のDNSレスポンスによりDNSの名前が解決された端末12は、引き続いて当該IPアドレスへのリクエストを送信する。このパケットがIPv4によるものであれば、中継装置11のルータ機能21は一般的なNAPT変換を含んでもよい通常の動作により中継する(図示せず)。
この際のフローを、図5(a)を用いて説明する。中継装置11がLAN側から受け取ったパケットがインターネット19のIPv6アドレスを宛先として指定するものであれば(S151)、必要に応じて設定判断手段112を実行し(S152)、v6v4NAPT機能がONになっていれば(S152−Yes)、当該パケットのIPv6アドレスに該当するレコードが、v6v4組合テーブル25に存在するか否かを確認する組合レコード検索手段131を実行する。なお、v6v4組合テーブル25がMACアドレスを含むものである場合は、受け取ったパケットの送信元アドレスに対応するMACアドレスを有するレコードの中で、IPv6アドレスも一致するレコードを検索する。該当するレコードが存在しなければ、当該IPv6パケットは変換すべきIPv4アドレスがわからないため、そのままWAN18側に転送するパケット転送手段132が実行される(S155)。ただし、インターネット19へ到達可能なその他の手段が無い限りはこのIPv6パケットはインターネット19へ到達できないため、パケット転送手段132を実行する代わりに、ここでパケットを破棄するパケット破棄手段(図示せず)を実行してもよい。他の手段を利用可能な場合には、適当な設定を行い、IPv6パケットのインターネット19への転送を実施してもよい。
なお、S155でのWAN18側への送信にあたって、v6v4NAPT変換を行った場合には、ルータ機能21の通常のルータとしてのNAPT変換を行う必要はない。
一方、当該IPv6アドレスに対応するレコードがv6v4組合テーブル25に存在すれば(S153−Yes)、このIPv6パケットに対してIPv4へのv6v4NAPT変換を行う拡張NAPT手段133を実行する(S154)。このv6v4NAPT変換及びその返答に対する逆変換であるv4v6NAPT変換にあたっては、変換の対応表であるv6v4NAPTテーブル26への登録と読み込みを行って適切に処理する。このv6v4NAPTテーブル26の例を図6に示す。「srcV6」は元のIPv6パケットの送信元である端末12のIPv6アドレス、「srcPort」は元のIPv6パケットの送信元ポートである。「destV6」は元のIPv6パケットの送信先IPv6アドレスであり、これが先のDNSレスポンスで取得したアドレスである。「destPort」は元のIPv6パケットの送信先ポートであり、HTTPであれば基本的に80番が用いられることが多い。「transV4」は、中継装置11自身のWAN18側のIPv4アドレスであり、図6のケースでは一種類である。ただし、契約によっては一の中継装置11のWAN18側に複数のIPv4アドレスが付与される場合があり、その場合にはどのアドレスが用いるレコードであるかをこの項目によって識別する。「transPort」はNAPT変換後のIPv4パケットにおける送信元ポート番号であり、srcPortそのままでもよいし、他の端末12との重複を避けるために必要に応じて任意に変更してもよい。なお、NAPT変換として、送信元アドレスは当然に中継装置11のWAN18側のIPアドレスとなる。タイマは、応答パケットが返ってこなかった際に、レコードを破棄するための時間であり、1秒ごとにデクリメントする。あるいはタイムアウトの時刻を登録し、時刻が到来したらレコードを破棄するようにしてもよい。
上記のv6v4機能管理部22が拡張NAPT手段133によりレコードをv6v4NAPTテーブル26に登録しながらIPv6アドレスを用いたパケットからIPv4アドレスを用いたパケットへのv6v4NAPT変換を行った後、ルータ機能21はそのIPv4パケットをWAN18側のwebサーバ14へ送信するパケット送出手段103を実行する。
これに対するレスポンス受信時の処理を、図5(b)を用いて説明する。上記のwebサーバ14から、当該パケットによるレスポンスであるIPv4パケットがWAN18側のインターフェースへ返ってきたら(S161)、必要に応じてv6v4機能管理部は設定判断手段112を実行する(S162)。v6v4NAPT機能がONであれば(S162−Yes)、v6v4NAPTテーブル26からパケットに該当するレコードを検索するNAPTレコード検索手段134を実行する(S163)。当該パケットの送信元IPv4アドレス及び送信先ポート番号が、「transV4」及び「transPort」に対応するレコードがあるかを検索する。無ければ(S163−No)、当該IPv4パケットは、中継装置11でv6v4NAPT変換されていないパケットへのレスポンスであると判断されるため、必要に応じてv4v6NAPT変換ではなく通常のルータ機能21としてのNAPT逆変換を行って、元のパケットの送信元である端末12宛に転送する(S165)。
一方、対応するレコードがあれば(S163−Yes)、当該レコードに従って、IPv4パケットをIPv6パケットに逆変換するv4v6NAPT変換を行う拡張逆NAPT手段135を実行する。すなわち、送信先IPv6アドレスを該当レコードのsrcV6のアドレスに、送信先ポートをsrcPortのポート番号に変更したIPv6パケットとする。その上で、ルータ機能21は、逆変換後のIPv6パケットを送信先アドレスである端末12へ送出するパケット返送手段104を実行する(S165)。
以上の流れを、アドレス番号とテーブルのレコードの変遷を含む実施例により具体的に説明する。図7に通信シーケンス図を、図8(a)〜(d)にv6v4組合テーブル25及びv6v4NAPTテーブル26の状態変化図を示す。中継装置11は、WAN18側にIPv4アドレスとして「200.200.200.200」を、IPv6アドレスとして「200::200」を、MACアドレスとして「MAC-H」を有する。また、LAN17側にIPv4アドレスとして「10.10.10.200」を、IPv6アドレスとして「10::200」を有する。端末12aは、LAN17内におけるアドレスとして10.10.10.10(IPv4)と、10::10(IPv6)を有する。また、MACアドレスは「MAC-T」とする。DNSサーバ13のIPv4アドレスは「100.100.100.100」、IPv6アドレスは「100::100」であり、ドメイン名「x.com」であるwebサーバ14aのIPv4アドレスは「1.1.1.1」、IPv6アドレスは「1::1」とする。
初期設定として、中継装置はv6v4NAPT機能をONにする機能稼働手段114が実行される(S201)。この時点におけるv6v4組合テーブル25及びv6v4NAPTテーブル26は図8(a)のような空の初期値である。
その上で、端末12aが「x.com」へのアクセスを試みる(S202)。x.comの名前の解決をIPv4,IPv6の両方について求めるDNSクエリーを、ゲートウェイである中継装置11へ向けて送信する(S203)。これを受信した中継装置11は、拡張DNSプロキシ23により組合テーブル登録手段122が実行されて、v6v4組合テーブル25にこのDNSクエリーの情報が図8(b)のように書き込まれる(S204)。この時点ではMACアドレスとドメイン名のみであり、IPv6アドレス及びIPv4アドレスは解決されていないので空欄である。中継装置11のルータ機能21はこのDNSクエリーをDNSサーバ13へ転送するクエリー転送手段101を実行する(S205)。
DNSサーバ13はx.comの名前を解決するIPv4アドレス及びIPv6アドレスの両方を含むDNSレスポンスを中継装置11に返送する(S206)。これを受け取った中継装置11の拡張DNSプロキシ23は組合テーブル追記手段125を実行して、IPv4アドレス及びIPv6アドレスを、対応するレコードに追記する(S207)。この時点でのテーブルの状況を図8(c)に示す。その上で、中継装置11はDNSレスポンスを端末12aに返送するレスポンス転送手段102を実行する(S208)。
これにより、名前の解決がされた端末12aは、優先設定となっているIPv6アドレスを用いて、x.comのIPv6アドレス宛にHTTPリクエストを送信する(S211)。これを受信した中継装置11のv6v4機能管理部22は組合レコード検索手段131を実行し、該当するIPv6アドレス宛で送信元MACアドレスが一致するレコードが存在するので、拡張NAPT手段133を実行して、v6v4NAPTテーブル26に対応関係を新たなレコードとして登録しつつ、パケットをIPv4に書き換える(S212)。この状態でのテーブルの状況を図8(d)に示す。v6v4NAPTテーブル26に対応するレコードが追加されている。
その上で、IPv4に書き換えられたパケットをwebサーバ14aに送信するパケット転送手段132が実行される(S213)。これに対する応答がwebサーバ14aから返ってくると(S214)、中継装置11のv6v4機能管理部22はNAPTレコード検索手段134を実行して、当該パケットに該当するレコードを検索する。このとき、v6v4NAPTテーブル26だけでなく、v6v4組合テーブル25も合わせて検索することで、送信元であるwebサーバ14aに該当するレコードを検索する。該当するレコードがあれば、これに従って、中継装置11宛のIPv4パケットを、端末12a宛のIPv6パケットに逆変換する拡張逆NAPT手段135を実行する(S215)。その上で、逆変換後のパケットが端末12aに返送される(S216)。
パケットの通過後、タイマーの満了を以て、これらのテーブルのレコードは削除される。
11 中継装置
12,12a,12b,12c 端末
13 DNSサーバ
14,14a,14b,14c webサーバ
15 RADIUSサーバ
17 LAN
18 WAN
19 インターネット
20 閉域網
21 ルータ機能
22 v6v4機能管理部
23 拡張DNSプロキシ
24 記憶部
25 v6v4組合テーブル
26 v6v4NAPTテーブル
101 クエリー転送手段
102 レスポンス転送手段
103 パケット送出手段
104 パケット返送手段
110 実行是非登録手段
111 直接接続判断手段
112 設定判断手段
113 機能停止手段
114 機能稼働手段
121 設定判断手段
122 組合テーブル登録手段
123 レスポンス解析手段
124 組合テーブル削除手段
125 組合テーブル追記手段
131 組合レコード検索手段
132 パケット転送手段
133 拡張NAPT手段
134 NAPTレコード検索手段
135 拡張逆NAPT手段

Claims (4)

  1. 自身のIPv6パケットのプレフィックスにより当該IPv6パケットの送信元装置がIPv6によるインターネットへの直接アクセスが可能か否かを判別し、
    直接アクセスができない上記送信元装置からのDNSクエリーをDNSサーバへ転送したDNSレスポンスとしてIPv4アドレス及びIPv6アドレスの両方が存在した場合に、v6v4組合テーブルに当該DNSクエリーに対応するIPv4アドレス及びIPv6アドレスを登録し、
    LAN側の端末からの上記DNSクエリーに対応するサーバへのIPv6アクセスを、上記v6v4組合テーブルの記録に従ってv6v4NAPT変換を行って中継する中継装置。
  2. DNSクエリーで指定されたドメイン名とそれに対応するIPv4アドレス及びIPv6アドレスとを記録するv6v4組合テーブルと、
    LAN側からWAN側へアクセスする際のv6v4NAPT変換のためのアドレス及びポート番号を記録するv6v4NAPTテーブルと、
    v6v4NAPT変換の判断と実行を行うv6v4機能管理部と、
    DNSプロキシとしてDNSクエリー及びDNSレスポンスを中継する際に上記v6v4組合テーブルへの登録を行う拡張DNSプロキシと、
    を有し、
    上記拡張DNSプロキシは、
    LAN側から受信したDNSクエリーが指定するドメインを上記v6v4組合テーブルに登録する組合テーブル登録手段と、
    当該DNSクエリーに対するDNSレスポンスにIPv4及びIPv6の両方が存在する場合に、上記v6v4組合テーブル中の当該DNSクエリーのドメインについてのレコードに、当該DNSレスポンスのIPv4アドレス及びIPv6アドレスとの組合せを登録する組合テーブル追記手段と、
    を有し、
    上記v6v4機能管理部は、
    中継装置自身に割り当てられたIPv6アドレスのプレフィックスにより上記中継装置自身がIPv6によるインターネットへの直接アクセスが可能か否かを判別し、不可能であればLAN側の端末からのIPv6アクセスについてv6v4NAPT変換を有効にするよう設定変更する直接接続判断手段と、
    IPv6パケットをLAN側から受信した際に、当該IPv6パケットの送信元MACアドレスと送信先IPv6アドレスとの組合せが、上記v6v4組合テーブルに登録されていれば、上記v6v4NAPTテーブルにレコードを登録しつつv6v4NAPT変換を行い対応するWAN側のIPv4アドレス宛にパケットを転送可能にする拡張NAPT手段と、
    IPv4パケットをWAN側から受信した際に、当該IPv4パケットのアドレス及びポート番号が上記v6v4NAPTテーブルに登録されていれば、上記v6v4NAPTテーブルを用いてv6v4NAPT変換の逆変換であるv4v6NAPT変換を行って、対応するLAN側のIPv6アドレスの端末宛にパケットを転送可能にする拡張逆NAPT手段と
    を有する、中継装置。
  3. 上記v6v4機能管理部は、
    上記端末からの設定によりv6v4NAPT変換を行うか否かの設定を変更可能な実行是非登録手段を有し、
    上記拡張DNSプロキシ及び上記v6v4機能管理部は、上記実行是非登録手段による設定に従って、機能の実行を行うか否かの判断を行う、
    請求項2に記載の中継装置。
  4. LAN側とWAN側にインターフェースを有する中継装置に、
    DNSクエリーで指定されたドメイン名とそれに対応するIPv4アドレス及びIPv6アドレスとを記録するv6v4組合テーブルと、
    LAN側からWAN側へアクセスする際のv6v4NAPT変換のためのアドレス及びポート番号を記録するv6v4NAPTテーブルと、
    v6v4NAPT変換の判断と実行を行うv6v4機能管理部と、
    DNSプロキシとしてDNSクエリー及びDNSレスポンスを中継する際に上記v6v4組合テーブルへの登録を行う拡張DNSプロキシと、
    を設け、
    上記拡張DNSプロキシは、
    LAN側から受信したDNSクエリーが指定するドメインを上記v6v4組合テーブルに登録する組合テーブル登録手段と、
    当該DNSクエリーに対するDNSレスポンスにIPv4及びIPv6の両方が存在する場合に、上記v6v4組合テーブル中の当該DNSクエリーのドメインについてのレコードに、当該DNSレスポンスのIPv4アドレス及びIPv6アドレスとの組合せを登録する組合テーブル追記手段と、
    を有し、
    上記v6v4機能管理部は、
    中継装置自身に割り当てられたIPv6アドレスのプレフィックスにより上記中継装置自身がIPv6によるインターネットへの直接アクセスが可能か否かを判別し、不可能であればLAN側の端末からのIPv6アクセスについてv6v4NAPT変換を有効にするよう設定変更する直接接続判断手段と、
    IPv6パケットをLAN側から受信した際に、当該IPv6パケットの送信元MACアドレスと送信先IPv6アドレスとの組合せが、上記v6v4組合テーブルに登録されていれば、上記v6v4NAPTテーブルにレコードを登録しつつv6v4NAPT変換を行い対応するWAN側のIPv4アドレス宛にパケットを転送可能にする拡張NAPT手段と、
    IPv4パケットをWAN側から受信した際に、当該IPv4パケットのアドレス及びポート番号が上記v6v4NAPTテーブルに登録されていれば、上記v6v4NAPTテーブルを用いてv6v4NAPT変換の逆変換であるv4v6NAPT変換を行って、対応するLAN側のIPv6アドレスの端末宛にパケットを転送可能にする拡張逆NAPT手段と
    を有する中継装置として動作させるためのプログラム。
JP2014099696A 2014-05-13 2014-05-13 中継装置及びプログラム Active JP5889955B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014099696A JP5889955B2 (ja) 2014-05-13 2014-05-13 中継装置及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014099696A JP5889955B2 (ja) 2014-05-13 2014-05-13 中継装置及びプログラム

Publications (2)

Publication Number Publication Date
JP2015216593A JP2015216593A (ja) 2015-12-03
JP5889955B2 true JP5889955B2 (ja) 2016-03-22

Family

ID=54753080

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014099696A Active JP5889955B2 (ja) 2014-05-13 2014-05-13 中継装置及びプログラム

Country Status (1)

Country Link
JP (1) JP5889955B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6523987B2 (ja) * 2016-02-15 2019-06-05 日本電信電話株式会社 ネットワーク接続システム、および、ネットワーク接続方法
CN110784562B (zh) * 2019-10-25 2021-10-01 新华三信息安全技术有限公司 报文转发、域名地址查询方法、装置、设备及介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5812008B2 (ja) * 2010-10-18 2015-11-11 日本電気株式会社 ネームデータベースサーバ、名前解決システム、エントリ検索方法およびエントリ検索プログラム
WO2013035311A1 (ja) * 2011-09-06 2013-03-14 日本電気株式会社 エージェント装置及び通信中継方法

Also Published As

Publication number Publication date
JP2015216593A (ja) 2015-12-03

Similar Documents

Publication Publication Date Title
EP2556438B1 (en) Reverse dns lookup with modified reverse mappings
JP4234482B2 (ja) 動的dns登録方法、ドメイン名解決方法、代理サーバ、及びアドレス変換装置
US10009271B2 (en) Routing method and network transmission apparatus
CN103338151B (zh) 公网客户端访问私网服务器的方法及路由器
EP3320668B1 (en) Discovery of resources in a local network
US20060153230A1 (en) IPv6 / IPv4 translator
US20160173326A1 (en) Network configuration using service identifier
WO2011157126A2 (zh) 一种报文转发方法和网间路由装置
KR100429902B1 (ko) 공중망에서 사설망 내의 디바이스를 제어하기 위한 장치및 방법
JP5889955B2 (ja) 中継装置及びプログラム
CN101651718A (zh) 一种改变ip流量所用协议栈的方法和系统
WO2014142278A1 (ja) 制御装置、通信システム、通信方法及びプログラム
EP3395049B1 (en) Router and method for connecting an ipv4 network and an ipv6 network
JP2002141954A (ja) 通信中継装置、および通信中継方法、並びにプログラム記憶媒体
JP2015220483A (ja) DNS−Proxy機能を有する中継装置
US11057342B2 (en) Network address translation
US10404659B2 (en) Optimization of resource URLs in machine-to-machine networks
US11870751B2 (en) Smart service discovery to interconnect clusters having overlapping IP address space
CN109151086B (zh) 一种报文转发方法和网络设备
JP4352645B2 (ja) 端末装置、中継装置、通信方法及びその通信プログラムを記録した記録媒体
JP5083983B2 (ja) サーバ明示選択型リバースプロキシー装置、そのデータ中継方法、およびそのプログラム
JP5987832B2 (ja) エージェント装置及び通信中継方法
US20150032906A1 (en) Apparatus and method for assigning ip address in communication system
JP2008206081A (ja) マルチホーミング通信システムに用いられるデータ中継装置およびデータ中継方法
JP5110538B2 (ja) ネットワークシステム、ネットワーク装置、ネットワーク方法及びプログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151006

RD13 Notification of appointment of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7433

Effective date: 20151127

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151202

RD15 Notification of revocation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7435

Effective date: 20151202

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20151127

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20151202

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160217

R150 Certificate of patent or registration of utility model

Ref document number: 5889955

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250