(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-24
(45)【発行日】2024-05-07
(54)【発明の名称】メッセージ転送及びドメイン名アドレスクエリ
(51)【国際特許分類】
H04L 61/4511 20220101AFI20240425BHJP
【FI】
H04L61/4511
(21)【出願番号】P 2022521052
(86)(22)【出願日】2020-10-23
(86)【国際出願番号】 CN2020123378
(87)【国際公開番号】W WO2021078281
(87)【国際公開日】2021-04-29
【審査請求日】2022-04-06
(31)【優先権主張番号】201911024527.7
(32)【優先日】2019-10-25
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】520423471
【氏名又は名称】新華三信息安全技術有限公司
【氏名又は名称原語表記】NEW H3C SECURITY TECHNOLOGIES CO., LTD.
(74)【代理人】
【識別番号】100147485
【氏名又は名称】杉村 憲司
(74)【代理人】
【識別番号】230118913
【氏名又は名称】杉村 光嗣
(74)【代理人】
【識別番号】100211395
【氏名又は名称】鈴木 裕貴
(72)【発明者】
【氏名】李 明玉
(72)【発明者】
【氏名】夏 添
【審査官】中川 幸洋
(56)【参考文献】
【文献】特開2015-216593(JP,A)
【文献】特開2004-254203(JP,A)
【文献】佐藤秀樹,NAT64/DNS64,JPNICニュースレターNo.64,日本ネットワークインフォメーションセンターJPNIC,2016年11月,https://www.nic.ad.jp/ja/newsletter/No64/0800.html
(58)【調査した分野】(Int.Cl.,DB名)
H04L 61/4511
(57)【特許請求の範囲】
【請求項1】
ネットワークアドレス変換デバイスに適用されるメッセージ転送方法であって、
クライアントから送信されたターゲットドメイン名に対する第1のアドレスクエリ要求を受信し、前記クライアントは第1のインターネットプロトコルを使用し、前記ターゲットドメイン名に対応するターゲットサーバーは、第2のインターネットプロトコルを使用することと、
前記ターゲットドメイン名に対応するネットワークアドレスがローカルで見つからなかった場合、前記ターゲットドメイン名に対する第2のアドレスクエリ要求をドメイン名システムに送信することと、
前記第2のアドレスクエリ要求に対して前記ドメイン名システムから返信した第2の応答メッセージを受信し、前記第2の応答メッセージには、第1のネットワークアドレスと、前記第1のネットワークアドレスと第2のネットワークアドレスとの間のアドレス変換情報とが記録されており、前記第2のネットワークアドレスは、前記ターゲットドメイン名に対応する、前記第2のインターネットプロトコルをサポートするネットワークアドレスを含み、前記第1のネットワークアドレスは、前記ドメイン名システムによって前記第2のネットワークアドレスに基づいて変換された、前記第1のインターネットプロトコルをサポートするネットワークアドレスを含むことと、
前記第1のアドレスクエリ要求に対する第1の応答メッセージを前記クライアントに送信し、前記第1の応答メッセージは前記第1のネットワークアドレスを含むことと、
前記クライアントから送信された宛先アドレスが前記第1のネットワークアドレスであるサービスメッセージを受信し、前記アドレス変換情報によって前記サービスメッセージの宛先アドレスを前記第2のネットワークアドレスに変換して、宛先アドレスが変換されたサービスメッセージを前記ターゲットサーバーに送信することと、を含み、
前記第1のインターネットプロトコルは、インターネットプロトコル第6版であり、前記第2のインターネットプロトコルは、インターネットプロトコル第4版であ
り、
前記アドレス変換情報は、前記第1のネットワークアドレスと前記第2のネットワークアドレスとの間の変換をするためのプレフィックス情報を含み、
前記第2のアドレスクエリ要求に対して前記ドメイン名システムから返信した第2の応答メッセージを受信した後、さらに、
前記プレフィックス情報によって、アドレス変換ルールを生成してローカルに格納し、前記アドレス変換ルールのマッチング項目は、前記プレフィックス情報を含むこと、を含み、
前記サービスメッセージの宛先アドレスを前記第2のネットワークアドレスに変換することは、
前記第1のネットワークアドレスのプレフィックス情報によって、対応するアドレス変換ルールをローカルで検索することと、
対応するアドレス変換ルールが見つかった場合、対応する前記アドレス変換ルールに従って、前記サービスメッセージの宛先アドレスを前記第1のネットワークアドレスから前記第2のネットワークアドレスに変換することと、を含む
メッセージ転送方法。
【請求項2】
前記第2の応答メッセージは、前記第1のネットワークアドレスと第2のネットワークアドレスとの間のアドレス変換情報を記録するための追加レコードを含み、
前記第2のアドレスクエリ要求に対して前記ドメイン名システムから返信した第2の応答メッセージを受信した後、さらに、
前記第2の応答メッセージのコンテンツ領域から予め定められたタイプの追加レコードを検索することと、
前記予め定められたタイプの追加レコードから、前記第1のネットワークアドレスと第2のネットワークアドレスとの間のアドレス変換情報を読み取ることと、を含む
請求項1に記載の方法。
【請求項3】
前記第2の応答メッセージのコンテンツ領域から予め定められたタイプの追加レコードを検索する前に、さらに、
前記第2の応答メッセージ
のヘッダ情報における追加レコード識別子が第1の識別子である場合、前記第2の応答メッセージのコンテンツ領域から予め定められたタイプの追加レコードを検索することをトリガすること、を含む
請求項2に記載の方法。
【請求項4】
前記第2のアドレスクエリ要求に対して前記ドメイン名システムから返信した第2の応答メッセージを受信した後、さらに、
前記第2の応答メッセージに記録された前記第1のネットワークアドレスと前記アドレス変換情報によって、前記第1のネットワークアドレスに対応する第2のネットワークアドレスを確定することと、
前記第1のネットワークアドレス、前記アドレス変換情報、及び前記第2のネットワークアドレスに基づいて、ドメイン名システムキャッシュテーブルエントリを生成してローカルに格納することと、を含む
請求項1に記載の方法。
【請求項5】
前記ターゲットドメイン名に対応する第1のネットワークアドレスがローカルで見つかった場合、前記第1のアドレスクエリ要求に対する第1の応答メッセージを前記クライアントに送信することをトリガすること、を含む請求項1に記載の方法。
【請求項6】
前記サービスメッセージの宛先アドレスを前記第2のネットワークアドレスに変換することは、
前記第1のネットワークアドレスに前記プレフィックス情報を追加又は削除することにより、前記サービスメッセージの宛先アドレスを、前記第1のネットワークアドレスから前記第2のネットワークアドレスに変換するこ
とを含む
請求項1に記載の方法。
【請求項7】
ドメイン名システムに適用されるドメイン名アドレスクエリ方法であって、
ネットワークアドレス変換デバイスから送信されたターゲットドメイン名に対する第2のアドレスクエリ要求を受信し、前記第2のアドレスクエリ要求のソースアドレスは、第1のインターネットプロトコルをサポートすることと、
前記第2のアドレスクエリ要求に応答して、前記ターゲットドメイン名に対応する第2のネットワークアドレスをクエリし、前記第2のネットワークアドレスは、第2のインターネットプロトコルをサポートすることと、
前記第2のネットワークアドレスを、前記第1のインターネットプロトコルをサポートする第1のネットワークアドレスに変換することと、
前記第2のアドレスクエリ要求に対して、前記第1のネットワークアドレスと、前記第1のネットワークアドレスと前記第2のネットワークアドレスとの間のアドレス変換情報とを含む第2の応答メッセージを前記ネットワークアドレス変換デバイスに送信することで、前記ネットワークアドレス変換デバイスは、前記第1のネットワークアドレスをクライアントに送信して、前記アドレス変換情報によって前記クライアントから送信された宛先アドレスが前記第1のネットワークアドレスであるサービスメッセージに対して宛先アドレス変換を行うことと、を含み
前記第1のインターネットプロトコルは、インターネットプロトコル第6版であり、前記第2のインターネットプロトコルは、インターネットプロトコル第4版であ
り、
前記アドレス変換情報は、前記第1のネットワークアドレスと前記第2のネットワークアドレスとの間の変換をするためのプレフィックス情報を含む
ドメイン名アドレスクエリ方法。
【請求項8】
前記第2の応答メッセージは、前記第1のネットワークアドレスと第2のネットワークアドレスとの間のアドレス変換情報を記録するための追加レコードを含む
請求項7に記載の方法。
【請求項9】
プロセッサと、
トランシーバと、
前記プロセッサによって実行可能な機械実行可能命令が記憶されている機械可読記憶媒体と、を含むネットワークアドレス変換デバイスであって、
前記機械実行可能命令は、前記プロセッサに、
前記トランシーバによって、クライアントから送信されたターゲットドメイン名に対する第1のアドレスクエリ要求を受信し、前記クライアントは、第1のインターネットプロトコルを使用し、前記ターゲットドメイン名に対応するターゲットサーバーは、第2のインターネットプロトコルを使用するステップと、
前記ターゲットドメイン名に対応するネットワークアドレスがローカルで見つからなかった場合、前記トランシーバによって、前記ターゲットドメイン名に対する第2のアドレスクエリ要求をドメイン名システムに送信するステップと、
前記トランシーバによって、前記第2のアドレスクエリ要求に対して前記ドメイン名システムから返信した第2の応答メッセージを受信し、前記第2の応答メッセージには、第1のネットワークアドレスと、前記第1のネットワークアドレスと第2のネットワークアドレスとの間のアドレス変換情報とが記録されており、前記第2のネットワークアドレスは、前記ターゲットドメイン名に対応する前記第2のインターネットプロトコルをサポートするネットワークアドレスを含み、前記第1のネットワークアドレスは、前記ドメイン名システムによって前記第2のネットワークアドレスに基づいて変換された、前記第1のインターネットプロトコルをサポートするネットワークアドレスを含むステップと、
前記トランシーバによって、前記第1のアドレスクエリ要求に対する第1の応答メッセージを前記クライアントに送信し、前記第1の応答メッセージは、前記第1のネットワークアドレスを含むステップと、
前記トランシーバによって、前記クライアントから送信された宛先アドレスが前記第1のネットワークアドレスであるサービスメッセージを受信し、前記アドレス変換情報によって前記サービスメッセージの宛先アドレスを前記第2のネットワークアドレスに変換して、宛先アドレスが変換されたサービスメッセージを前記ターゲットサーバーに送信するステップと、を実行させ、
前記第1のインターネットプロトコルは、インターネットプロトコル第6版であり、前記第2のインターネットプロトコルは、インターネットプロトコル第4版であ
り、
前記アドレス変換情報は、前記第1のネットワークアドレスと前記第2のネットワークアドレスとの間の変換をするためのプレフィックス情報を含み、
前記第2のアドレスクエリ要求に対して前記ドメイン名システムから返信した第2の応答メッセージを受信した後、さらに、
前記プレフィックス情報によって、アドレス変換ルールを生成してローカルに格納し、前記アドレス変換ルールのマッチング項目は、前記プレフィックス情報を含むこと、を含み、
前記サービスメッセージの宛先アドレスを前記第2のネットワークアドレスに変換することは、
前記第1のネットワークアドレスのプレフィックス情報によって、対応するアドレス変換ルールをローカルで検索することと、
対応するアドレス変換ルールが見つかった場合、対応する前記アドレス変換ルールに従って、前記サービスメッセージの宛先アドレスを前記第1のネットワークアドレスから前記第2のネットワークアドレスに変換することと、を含む
ネットワークアドレス変換デバイス。
【請求項10】
プロセッサと、
トランシーバと、
前記プロセッサによって実行可能な機械実行可能命令が記憶されている機械可読記憶媒体と、を含むドメイン名システムであって、
前記機械実行可能命令は、前記プロセッサに、
前記トランシーバによって、ネットワークアドレス変換デバイスから送信されたターゲットドメイン名に対する第2のアドレスクエリ要求を受信し、前記第2のアドレスクエリ要求のソースアドレスは、第1のインターネットプロトコルをサポートするステップと、
前記第2のアドレスクエリ要求に応答して、前記ターゲットドメイン名に対応する第2のネットワークアドレスをクエリし、前記第2のネットワークアドレスは、第2のインターネットプロトコルをサポートするステップと、
前記第2のネットワークアドレスを、前記第1のインターネットプロトコルをサポートする第1のネットワークアドレスに変換するステップと、
前記トランシーバによって、前記第2のアドレスクエリ要求に対して、前記第1のネットワークアドレスと、前記第1のネットワークアドレスと前記第2のネットワークアドレスとの間のアドレス変換情報とを含む第2の応答メッセージを前記ネットワークアドレス変換デバイスに送信することで、前記ネットワークアドレス変換デバイスは、前記第1のネットワークアドレスをクライアントに送信して、前記アドレス変換情報によって前記クライアントから送信された宛先アドレスが前記第1のネットワークアドレスであるサービスメッセージに対して宛先アドレス変換を行うステップと、を実行し、
前記第1のインターネットプロトコルは、インターネットプロトコル第6版であり、前記第2のインターネットプロトコルは、インターネットプロトコル第4版であ
り、
前記アドレス変換情報は、前記第1のネットワークアドレスと前記第2のネットワークアドレスとの間の変換をするためのプレフィックス情報を含む
ドメイン名システム。
【請求項11】
コンピューター読取可能な命令が記憶さていれるコンピューター読取可能な媒体であって、請求項1~6、7~8のいずれか一項に記載の方法を実現するように、前記コンピューター読取可能な命令がプロセッサによって実行される
コンピューター読取可能な媒体。
【発明の詳細な説明】
【相関出願への相互参照】
【0001】
本願は2019年10月25日に中国特許庁へ提出された、出願番号が201911024527.7であり、発明の名称が「メッセージ転送、ドメイン名アドレスクエリ方法、装置、デバイス及び媒体」である中国特許出願に基づき優先権を主張し、その全体が参照により本願に組み込まれる。
【背景技術】
【0002】
インターネットの発展に伴い、IPv4(インターネットプロトコル第4版)アドレスは枯渇していて、IPv6(インターネットプロトコル第6版)ネットワークはいずれ既存のIPv4に代わってインターネットのバックボーンネットワークとなる。しかし、コストや技術的な制限など多くの理由から、IPv4デバイスは長期にわたって存続することになった。そのため、IPv6の展開はスムーズな進化過程であり、IPv6とIPv4は長期間的に共存する。
【0003】
IPv6クライアントがIPv4ネットワークにアクセスする課題を解決するために、従来技術は、NAT64(Network Address Translation for IPv6-IPv4)+DNS64(Domain Name System for IPv6-IPv4)といった解決方案が提供されている。ここで、
図1は、従来技術に係るNAT64+DNS64に基づくメッセージ転送のフローチャートが示される。典型的なメッセージ転送プロセスは、以下のステップを含む。
【0004】
1)IPv6クライアントは、ドメイン名がexample.comであるサーバーにアクセスしようとする場合、まず、DNS64サーバーにAAAAクエリを送信し、ドメイン名example.comに対応するアドレスを要求する。
【0005】
2)DNS64サーバーがローカルに当該ドメイン名のレコードを持っていない場合、DNS66(Domain Name System for IPv6-IPv6)サーバーにAAAAクエリを送信し、ドメイン名example.comに対応するアドレスを要求する。
【0006】
3)DNS66サーバーにも当該ドメイン名のレコードがない場合、DNS64サーバーにヌル値を返信する。
【0007】
4)DNS64サーバーがヌル値を受信する場合、再びDNS44(Domain Name System for IPv4-IPv4)サーバーにAクエリを送信し、ドメイン名example.comに対応するアドレスを要求する。
【0008】
5)DNS44サーバーは、当該ドメイン名のIPv4アドレスレのレコードを持っているので、DNS応答メッセージをDNS64サーバーに送信し、ドメイン名example.comに対応するアドレスが192.0.2.1であることを報知する。
【0009】
6)DNS64サーバーは、当該ドメイン名に対応するIPv4アドレスを取得した後、予め設定されたプレフィックス(例えば、2001:db8:cdef::)を用いて、IPv4アドレスをIPv6アドレス(例えば、2001:db8:cdef:192.0.2.1)に合成し、DNS応答メッセージを介してIPv6クライアントに返信する。
【0010】
7)IPv6クライアントは、NAT64デバイスを介してIPv6アクセスを送信し、IPv6メッセージをNAT64デバイスに送信する。当該IPv6メッセージは、宛先アドレスが合成後のIPv6アドレス2001:db8:cdef:192.0.2.1であり、ソースアドレスがIPv6クライアント自身のアドレスである。
【0011】
8)NAT64デバイスは、IPv6クライアントから送信されたIPv6メッセージを受信した後、予め設定されたNAT64変換ルールに従って、メッセージのソース/宛先IPv6アドレスをIPv4アドレスに変換し、ドメイン名がexample.comで、IPv4アドレスが192.0.2.1であるIPv4サーバーに送信する。NAT64デバイスのNAT64変換ルールは、DNS64のプレフィックス設定に対応する必要があり、そうでなければ変換できなくなる。
【0012】
9)NAT64デバイスは、IPv4サーバーが応答するIPv4メッセージを受信し、ステップ8)の逆変換関係を使用して、IPv4メッセージをIPv6メッセージに変換する(一般的に、NAT64デバイスのセッションにマッチングして逆変換を行う)。
【0013】
10)NAT64デバイスは、変換されたIPv6メッセージをIPv6クライアントに送信する。
【図面の簡単な説明】
【0014】
本願の実施例及び従来技術の技術案をより明確に説明するために、以下、実施例及び従来技術に使用される図面について簡単に説明する。以下で説明される図面は、本発明に係るいくつかの実施例に過ぎず、当業者にとって、創造的な働きをせずに、これらの図面に基づいて他の図面を得られることが明らかである。
【0015】
【
図1】
図1は、従来技術に係るメッセージ転送方法の模式的なフローチャートを示す。
【
図2】
図2は、本願の実施例に係るアプリケーションシナリオの模式図を示す。
【
図3】
図3は、本願の実施例に係るメッセージ転送方法のフローチャートを示す。
【
図4a】
図4aは、本願の実施例に係る第2の応答メッセージの追加レコードの模式図を示す。
【
図4b】
図4bは、本願の実施例に係る第2の応答メッセージの追加レコードの模式図を示す。
【
図5】
図5は、本願の実施例に係る第2の応答メッセージのヘッダ情報の模式図を示す。
【
図6】
図6は、本願の実施例に係る第2の応答メッセージの処理方法のフローチャートを示す。
【
図7】
図7は、本願の実施例に係るメッセージ転送装置を示す。
【
図8】
図8は、本願の実施例に係るドメイン名アドレスクエリ方法のフローチャートを示す。
【
図9】
図9は、本願の実施例に係るドメイン名アドレスクエリ方法のフローチャートを示す。
【
図10】
図10は、本願の実施例に係るドメイン名アドレスクエリ装置の構成模式図を示す。
【
図11】
図11は、本願の実施例に係るメッセージ転送方法のタイミング図を示す。
【
図12】
図12は、本願の実施例に係るネットワークアドレス変換デバイスの構成模式図を示す。
【
図13】
図13は、本願の実施例に係るドメイン名システムの構成模式図を示す。
【
図14】
図14は、本願の実施例に係るコンピューター読取可能な媒体の模式図を示す。
【発明を実施するための形態】
【0016】
本願実施例の目的、技術案、及び利点をより明確にするために、以下、図面を参照しながら、実施例を挙げて、本願実施例に対してさらに詳細に説明する。記載される実施例は全部の実施例ではなく、単に本発明の一部の実施例にすぎないのは明らかである。本願実施例に基づいて、当業者が創造的な働きをせずに得られるすべての他の実施例は、いずれも本願実施例の保護請求する範囲に入る。
【0017】
なお、本願実施例において使用される技術用語または科学用語は、断りのない限り、本願が属される分野の当業者が理解する通常の意味を有するべきである。
【0018】
下記のように、本願実施例に係る用語の一部を簡単に説明する。
【0019】
1)、DNS(Domain Name System)とは、ドメイン名に対応するネットワークアドレスをクエリするためのシステムであり、ハードウェアであってもよいし、ソフトウェアであってもよい。
【0020】
2)、NAT(Network Address Translation)デバイスとは、NAT機能を有するネットワークデバイスであり、IPv6とIPv4ネットワークの間にあるネットワークデバイスであり、ネットワークアドレスを変換することによってメッセージのクロスプロトコルネットワーク転送を実現することができる。
【0021】
なお、用語「第1の」や「第2の」などは、特定の順番を記述することではなく、異なる対象を区別するために用いられる。また、用語「含む」や「有する」およびそれらの任意の変形は、非排他的な包含をカバーすることを意図している。例えば、一連のステップや手段を含むプロセス、方法、システム、製品またはデバイスは、記載されたステップや手段に限定されるものではなく、記載されていないステップや手段を選択的に含んでもよく、またはこれらのプロセス、方法、製品またはデバイスに対して固有的な他のステップや手段を選択的に含んでもよい。
【0022】
理解の便宜上、まず、
図2に示すアプリケーションシナリオの模式図を参照しながら、本願のアプリケーションシナリオの1つについて説明する。
【0023】
図1に示す従来技術には、ネットワークアドレス変換装置10(例えば、NAT64)に対して変換ポリシーが人工設定されているので、ポリシーに引用されるIPv6プレフィックスとDNS64においてIPv6アドレスを合成するプレフィックスとが一致していなければ、変換することができない。
【0024】
実用の際には、NAT64デバイスに対して上記の変換ポリシーを人工設定することは、作業量が多く、自動的なメンテナンスが実現できず、効率が低く、且つミスしやすい。上記転換ポリシーが適時に同期しない、又は同期エラーの場合、ネットワークが中断され、クロスプロトコルネットワークメッセージ転送の適時性や正確性が確保されない。そのため、従来技術には、効率が低く、ミスしやすく、クロスプロトコルネットワークメッセージ転送の適時性や正確性が確保されないという問題がある。本願の実施例は、ネットワークアドレス変換デバイス10とドメイン名システム20との間の通信ルートを通じている。ドメイン名システム20は、クロスプロトコルドメイン名アドレスクエリを行うたびに、第2のインターネットプロトコルサポートの第2のネットワークアドレスを第1のインターネットプロトコルをサポートする第1のネットワークアドレスに変換するだけではなく、第2のネットワークアドレスと第1のネットワークアドレスとのアドレス変換情報をネットワークアドレス変換デバイス10に送信する。これにより、ネットワークアドレス変換デバイス10は、クライアント50から送信した宛先アドレスが第1のネットワークアドレスであるサービスメッセージに対して、アドレス変換情報によって宛先アドレス変換を行い、サーバー60に宛先アドレス変換されたサービスメッセージを送信できることになる。よって、ネットワークアドレス変換デバイス10は、自動的にアドレス変換情報によってドメイン名システムと同期でき、ネットワークアドレス変換デバイス10に自動的なメンテナンスを実現できる。さらに、ネットワークアドレス変換デバイス10に対してアドレス変換情報を人工設定することによる効率が低く、ミスしやすいという問題を回避し、メンテナンス効率、安定性、信頼性を高め、ネットワークの中断を回避する。ネットワークアドレス変換デバイス10がクロスプロトコルネットワークメッセージ転送の適時性や正確性を確保することに寄与する。
【0025】
以上、本願の実施例に係るアプリケーションシナリオを例示的に説明するが、何ら限定されるものではない。当業者は、上記の例示的な説明に基づいて、自由に任意に実施することができ、いずれも本願の保護範囲内に属するべきである。
【0026】
上記のアプリケーションシナリオの説明を参照して、本願実施例に係るメッセージ転送方法及び装置、ドメイン名アドレスクエリ方法及び装置、ネットワークアドレス変換デバイス及びコンピューター読取可能な媒体について、以下、図面を結合して説明する。
【0027】
図3は、本願の実施例に係るメッセージ転送方法のフローチャートを示す。当該メッセージ転送方法は、ネットワークアドレス変換デバイスに適用され、
図3に示すのように、以下のステップS101~S105を含む。
【0028】
ステップS101:クライアントから送信されたターゲットドメイン名に対する第1のアドレスクエリ要求を受信する。当該クライアントは、第1のインターネットプロトコルを使用し、ターゲットドメイン名に対応するターゲットサーバーは第2のインターネットプロトコルを使用する。
【0029】
本実施例は、
図2および
図11を参照して理解することができる。ネットワークアドレス変換デバイス10は、プロキシDNSとして使用されてもよいし、或いは、ネットワークアドレス変換デバイス10は少なくともプロキシDNSとして機能してもよい。クライアント50は、ターゲットドメイン名に対応するアドレスをクエリする必要がある場合、DNS20にアドレスクエリ要求を送信しなく、ネットワークアドレス変換デバイス10に第1のアドレスクエリ要求を送信する。当該第1のアドレスクエリ要求における宛先アドレスは、DNS20のアドレスではなく、上記ネットワークアドレス変換デバイス10のアドレスである。これにより、クライアント50は、上記第1のアドレスクエリ要求をネットワークアドレス変換デバイス10に送信する。
【0030】
ステップS102:ターゲットドメイン名に対応するネットワークアドレスがローカルで見つからなかった場合、ターゲットドメイン名に対する第2のアドレスクエリ要求をドメイン名システムに送信する。
【0031】
ネットワークアドレス変換デバイス10は、第1のアドレスクエリ要求を受信し、ターゲットドメイン名に対応するネットワークアドレスをローカルにクエリする。ターゲットドメイン名に対応するネットワークアドレスがローカルで見つからなかった場合、第2のアドレスクエリ要求をDNS20に送信する。当該第2のアドレスクエリ要求のソースアドレスは、当該ネットワークアドレス変換デバイス10のアドレスであり、宛先アドレスは、DNS20のアドレスである。これにより、ネットワークアドレス変換デバイス10は、上記第2のアドレスクエリ要求をDNS20に送信して、DNS20から返信された応答メッセージを受信できる。
【0032】
ドメイン名システムDNS20は、第2のアドレスクエリ要求を受信した後、クエリされた第2のネットワークアドレスが第2のインターネットプロトコルしかサポートしない場合、第1のインターネットプロトコルをサポートする第1のネットワークアドレスに変換し、第2のアドレスクエリ要求に対する第2の応答メッセージをネットワークアドレス変換デバイス10に送信する必要がある。第2の応答メッセージは、第1のネットワークアドレスと、第1のネットワークアドレスと第2のネットワークアドレスとの間のアドレス変換情報とを含む。これにより、ネットワークアドレス変換デバイス10は、アドレス変換情報によって、クライアント50から送信された宛先アドレスが第1のネットワークアドレスであるサービスメッセージに対して、宛先アドレス変換を行う。
【0033】
ステップS103:第2のアドレスクエリ要求に対してドメイン名システムから返信した第2の応答メッセージを受信する。第2の応答メッセージには、第1のネットワークアドレスと、第1のネットワークアドレスと第2のネットワークアドレスとの間のアドレス変換情報とが記録されている。
【0034】
第2のネットワークアドレスは、ターゲットドメイン名に対応する第2のインターネットプロトコルをサポートするネットワークアドレスを含む。第1のネットワークアドレスは、ドメイン名システムによって第2のネットワークアドレスに基づいて変換された第1のインターネットプロトコルをサポートするネットワークアドレスを含む。
【0035】
ステップS104:第1のアドレスクエリ要求に対する第1の応答メッセージをクライアントに送信する。第1の応答メッセージは、第1のネットワークアドレスを含む。
【0036】
ネットワークアドレス変換デバイス10は、第1のネットワークアドレスを受信した後、クライアント50に第1のネットワークアドレスを送信し、プロキシDNSの機能を実現することができる。
【0037】
ステップS105:クライアントから送信された宛先アドレスが第1のネットワークアドレスであるサービスメッセージを受信し、アドレス変換情報によってサービスメッセージの宛先アドレスを第2のネットワークアドレスに変換して、宛先アドレスが変換されたサービスメッセージをターゲットサーバーに送信する。
【0038】
クライアント50は、上記第1のネットワークアドレスを受信した後、当該第1のネットワークアドレスに基づいて、ターゲットドメイン名に対応するターゲットサーバー(例えば、サーバー60)に、サービスメッセージを送信できる。
【0039】
ネットワークアドレス変換デバイス10は、クライアント50から送信された宛先アドレスが第1のネットワークアドレスであるサービスメッセージを受信した後、アドレス変換情報によってサービスメッセージの宛先アドレスを第2のネットワークアドレスに変換して、ターゲットサーバー(例えば、サーバー60)に、宛先アドレスが変換されたサービスメッセージを送信するできる。
【0040】
本願実施例に係るメッセージ転送方法において、ネットワークアドレス変換デバイスは、クライアントから送信されたターゲットドメイン名に対する第1のアドレスクエリ要求を受信した後、まず、ターゲットドメイン名に対応するネットワークアドレスをローカルにクエリする。見つからなかった場合、ターゲットドメイン名に対する第2のアドレスクエリ要求をドメイン名システムに送信し、ドメイン名システムから返信した第1のネットワークアドレスとアドレス変換情報とを含む第2の応答メッセージを受信する。そして、第1のアドレスクエリ要求に対する第1の応答メッセージをクライアントに送信する。その後、クライアントから送信された宛先アドレスが第1のネットワークアドレスであるサービスメッセージを受信した後、上記アドレス変換情報によってサービスメッセージの宛先アドレスを第2のネットワークアドレスに変換して、宛先アドレスが変換されたサービスメッセージをターゲットサーバーに送信する。
【0041】
上記方法には、従来のドメイン名アドレスクエリメカニズムとドメイン名システム応答メカニズムが変更され、クライアントは、アドレスクエリ要求をドメイン名システムに直接に送信することではなく、アドレスクエリ要求をネットワークアドレス変換デバイスに送信する。ネットワークアドレス変換デバイスは、ローカルクエリとドメイン名システムへのクエリとを組み合わせる方法で、ドメイン名アドレスクエリを実現し、クエリした第1のネットワークアドレスをクライアントに返信することで、プロキシドメイン名システム機能を実現する。また、クエリ中、ドメイン名システムがネットワークアドレス変換デバイスにアドレス変換情報を一括送信するため、ネットワークアドレス変換デバイスは、上記アドレス変換情報により、クライアントから送信されたサービスメッセージに対して、宛先アドレスの変換を行う。これにより、サービスメッセージのクロスプロトコルネットワーク転送を実現できる。
【0042】
以上のように、本方法によれば、ドメイン名アドレスクエリを順調に実施させるとともに、ネットワークアドレス変換デバイスが人工せずに、上記アドレス変換情報を自動かつ適時に取得することができる。これにより、ネットワークアドレス変換デバイスの自動メンテナンスを実現でき、ネットワークアドレス変換デバイスにアドレス変換情報の人工設定による効率が低く、ミスしやすい問題を回避し、メンテナンス効率、安定性および信頼性を高め、ネットワークの中断を回避することができる。さらに、クロスプロトコルネットワークメッセージの転送の適時性や正確性を確保できる。
【0043】
本願実施例において、第1のインターネットプロトコルは、インターネットプロトコル第6版であるIPv6を含み、第2のインターネットプロトコルは、インターネットプロトコル第4版であるIPv4を含む。或いは、第1のインターネットプロトコルは、インターネットプロトコル第4版であるIPv4を含み、第2のインターネットプロトコルは、インターネットプロトコル第6版であるIPv6を含む。すなわち、サービスメッセージは、IPv6のネットワークからIPv4のネットワークに転送されてもよいし、IPv4のネットワークからIPv6のネットワークに転送されてもよい。本願実施例は、限定されるものではなく、より分かりやすく説明するために、本願実施例の説明の一部において、上記サービスメッセージを、クロスプロトコルネットワークメッセージと呼ぶ。
【0044】
なお、本願実施例において、ネットワークアドレス変換デバイスは、2つの異なるインターネットプロトコル(例えば、IPv6ネットワークとIPv4ネットワーク)の間にあるクロスプロトコルネットワークメッセージを転送するメッセージ転送デバイスであり、IPv6のネットワークからIPv4のネットワークにメッセージを転送してもよいし、IPv4のネットワークからIPv6のネットワークにメッセージを転送してもよく、本願実施例は限定しない。
【0045】
実用の際には、ネットワークアドレス変換デバイスは、NAT64、NAT46、AFT(Address Family Translation)などの異なる名称を有するものであってよく、本願実施例は限定しない。
【0046】
本願実施例のいくつかの実施形態において、第2の応答メッセージは、第1のネットワークアドレスと第2のネットワークアドレスとの間のアドレス変換情報を記録する追加レコードを含む。一例では、第2の応答メッセージがDNS応答メッセージである。
【0047】
本実施形態において、応答メッセージに追加レコードであるAdditional Resource Records(又は、追加リソースレコードとも呼ばれるが、本明細書では追加レコードと総称される)を追加することにより、第2の応答メッセージとともに、上記アドレス変換情報をネットワークアドレス変換デバイスに転送することができる。従来技術の上で、応答メッセージに対してわずかな変更をすることで、本願実施例を順調に実施でき、実行しやすい及び実施コストが低いなどの利点がある。さらに、本願実施例は、ネットワークアーキテクチャにおけるハードウェアを変更する必要がなく、簡単なソフトウェアアップグレードで機能のアップグレードを行うことで、本願実施例に係る方法を実現できる。そのため、本願実施例は、さらに、改造しやすい及び改造コストが低いなどの利点がある。
【0048】
上記実施形態の上で、いくつかの選択的な実施形態において、ネットワークアドレス変換デバイスが第2のアドレスクエリ要求に対してドメイン名システムから返信した第2の応答メッセージを受信した後、当該方法は、さらに、
ネットワークアドレス変換デバイスは、第2の応答メッセージの追加レコードから、第1のネットワークアドレスと第2のネットワークアドレスとの間のアドレス変換情報を読み取ること、を含む。
【0049】
応答メッセージには多種の追加レコードが設置されている可能性があるので、他のいくつかの選択的な実施形態において、ネットワークアドレス変換デバイスが第2のアドレスクエリ要求に対してドメイン名システムから返信した第2の応答メッセージを受信した後、当該方法は、さらに、
ネットワークアドレス変換デバイスは、第2の応答メッセージのコンテンツ領域から予め定められたタイプである追加レコードをクエリし、予め定められたタイプの追加レコードから第1のネットワークアドレスと第2のネットワークアドレスとの間のアドレス変換情報を読み取ること、を含む。
【0050】
本実施形態において、DNSは、予め設定されたフォーマットに従って、上記追加レコードを応答メッセージに追加することができる。例えば、
図4aは本願実施例のいくつかの実施形態に係る第2の応答メッセージの追加レコードの模式図を示す。第1のインターネットプロトコルがIPv6であり、第2のインターネットプロトコルがIPv4であり、アドレス変換情報が第1のネットワークアドレスと第2のネットワークアドレスを変換するためのプレフィックス情報である場合、下記の表1に従って、タイプが「PREFIX」である追加レコードを応答メッセージに追加することができる。タイプ値は、予約ビット64を使用し(ここでは限定されず、他の値も可能)、IPv6アドレスのプレフィックスおよび長さを示すことに用いられる。
【0051】
【0052】
上記追加レコードのフォーマットと内容は、下記表2を参照して記入する。
【0053】
【0054】
記入された追加レコードは、
図4aに示したようなものであり、これ以上の説明をしない。
【0055】
図4bに示すように、
図4bは記入された追加レコード(Additional records)の一例である。
【0056】
Name:example.comは、リソースレコードに含まれるドメイン名が「example.com」であることを示す。Type:PREFIX(64)は、リソースレコードのタイプがプレフィックスタイプであり、タイプ値が64であることを示す。Class:IN(0x001)は、記録データ(RDATA)のタイプを示し、その値が0x001のである。TTL:24hoursは、追加レコードのキャッシュ可能時間が24時間であることを示す。RDlength:32は、RDATAの長さが32であることを示す。Rdata:2001::/96は、追加レコードの詳細内容が2001::/96であることを示し、「2001::」がIPv6アドレスのプレフィックスであり、「96」がIPv6アドレスの長さである。
【0057】
上記実施形態によれば、ドメイン名システムは、予め設定されたフォーマットに従って第2の応答メッセージに追加レコードを追加し、追加レコードのタイプを指定することができる。これにより、ネットワークアドレス変換デバイスは、上記フォーマット及びタイプに応じて、上記追加レコードを自動的に正しく解析して、アドレス変換情報を得ることができる。
【0058】
上記実施形態の上で、いくつかの選択的な実施形態において、第2の応答メッセージのコンテンツ領域から予め定められたタイプの追加レコードを検索する前に、当該方法は、さらに、
第2の応答メッセージヘッダ情報における追加レコード識別子を第1の識別子とする場合、第2の応答メッセージのコンテンツ領域から予め定められたタイプの追加レコードを検索するステップをトリガすること、を含む。
【0059】
本実施形態において、DNSは、第2の応答メッセージを生成する時、第2の応答メッセージヘッダ情報における追加レコード識別子を第1の識別子に変更することができる。追加レコード識別子は、第2の応答メッセージが持っている追加レコードの数を識別するために用いられる。例えば、追加レコード識別子が0の場合は追加レコードがないことを示し、追加レコード識別子が1の場合は追加レコードが1であることを示し、追加レコード識別子が2の場合は追加レコードが2であることを示す。本実施の形態において、第1の識別子は、任意の正整数であってよい。即ち、ネットワークアドレス変換デバイスは、追加レコード識別子に基づいて第2の応答メッセージに追加レコードがある(数の制限はない)と確定した場合、ネットワークアドレス変換デバイスが第2の応答メッセージのコンテンツ領域から予め定められたタイプの追加レコードを検索するステップをトリガすることができる。第2の応答メッセージの「Additional RRs」フィールドは、追加レコード識別子である。「Additional RRs」フィールドの値は、追加レコードの数を示すために用いられる。例えば、
図5のAdditional RRsが追加レコード識別子であり、ドメイン名システムは、その値を1に変更して、第2の応答メッセージに追加レコードが1つあることを示す。他の一例において、Additional RRsが2である場合、第2の応答メッセージに追加レコードが2つあることを示す。
【0060】
本実施形態によれば、ネットワークアドレス変換デバイスは、最初に追加レコード識別子に基づいて第2の応答メッセージが追加レコードを持っているか否かを確定する。第2の応答メッセージが追加レコードを持っていない場合、これ以上の追加レコードのクエリが必要ないため、無駄な動作を避けることができる。第2の応答メッセージが追加レコードを持っている場合、ネットワークアドレスデバイスが第2の応答メッセージのコンテンツ領域から予め定められたタイプの追加レコードを検索するステップを実行することをトリガする。これにより、全体的に実施効率を高める。
【0061】
本願実施例のいくつかの選択的な実施形態において、ネットワークアドレス変換デバイスが第2のアドレスクエリ要求に対してドメイン名システムから返信した第2の応答メッセージを受信した後、当該方法は、さらに、
ネットワークアドレス変換デバイスは、第2の応答メッセージに記録された第1のネットワークアドレスとアドレス変換情報によって、第1のネットワークアドレスに対応する第2のネットワークアドレスを確定し、第1のネットワークアドレスとアドレス変換情報と第2のネットワークアドレスに基づいて、ドメイン名システムキャッシュテーブルエントリを生成してローカルに格納すること、を含む。
【0062】
なお、ドメイン名システムキャッシュテーブルエントリは、第1のネットワークアドレスとアドレス変換情報と第2のネットワークアドレスを含むものに限定られず、実際のニーズに応じて、他のフィールドを含んでもよく、本願実施例は限定しない。例えば、ドメイン名システムキャッシュテーブルエントリ(DNSキャッシュテーブルエントリ)は、下記表3のように、IPv6アドレスとIPv4アドレスの一方が第1のネットワークアドレスであり、他方が第2のネットワークアドレスである。アドレス変換情報はプレフィックス情報(例えば、2001::)であってもよいし、DNSキャッシュテーブルエントリに記録された第1のネットワークアドレスと第2のネットワークアドレスとの対応情報であってもよい。
【0063】
【0064】
ここで、エージングタイムTTLは、デフォルトでDNSにおけるドメイン名レコードテーブルエントリのエージングタイムと一致してもよいし、DNSにおけるドメイン名レコードテーブルエントリのエージングタイムよりも小さいように人工設定してもよい。
【0065】
本実施形態によれば、ネットワークアドレス変換デバイスは、DNSキャッシュテーブルエントリを生成してローカルに格納することができる。これにより、後続のターゲットドメイン名に対するアドレスクエリ要求を受信した後、ローカルにあるDNSキャッシュテーブルエントリからターゲットドメイン名に対応する第1のネットワークアドレスを直接的にクエリして取得して、クライアントに返信することができる。これにより、ドメイン名アドレスのクエリ効率を高める。
【0066】
本願実施例のいくつかの選択的な実施形態において、ステップS101の後、当該方法は、さらに、
ネットワークアドレス変換デバイスは、ターゲットドメイン名に対応するネットワークアドレスをローカルにクエリすること、を含む。
【0067】
前記実施形態を参照して、いくつかの実施形態において、ネットワークアドレス変換デバイスは、ターゲットドメイン名に対応するネットワークアドレスをローカルにクエリすることは、
ネットワークアドレス変換デバイスは、ローカルに格納されたドメイン名システムキャッシュテーブルエントリからターゲットドメイン名に対応するネットワークアドレスをクエリすること、を含んでよい。
【0068】
本実施形態によれば、第1のアドレスクエリ要求を受信した後、まず、ローカルのDNSキャッシュテーブルエントリからターゲットドメイン名に対応するネットワークアドレスをクエリする。そして、ローカルのDNSキャッシュテーブルエントリから見つからなかった場合、DNSサーバーにクエリする。これにより、ドメイン名アドレスクエリ効率を効果的に向上させる。
【0069】
また、本願実施例のいくつかの選択的な実施形態において、当該方法は、さらに、
ネットワークアドレス変換デバイスは、ターゲットドメイン名に対応する第1のネットワークアドレスをローカルにクエリした場合、第1のアドレスクエリ要求に対する第1の応答メッセージをクライアントに送信するステップをトリガすること、を含んでよい。
【0070】
本実施形態において、ネットワークアドレス変換デバイスがターゲットドメイン名に対応する第1のネットワークアドレスをローカルにクエリした場合、ステップS102とS103を実行する必要はなく、ステップS104をトリガすることができる。これにより、ドメイン名アドレスクエリ効率を効果的に向上させる。
【0071】
上記実施形態の上で、ステップS104をトリガした場合、ステップS105の前に、当該方法は、さらに、
ネットワークアドレス変換デバイスは、第1のネットワークアドレスと第2のネットワークアドレスとの間のアドレス変換情報を、ローカルに格納されたドメイン名システムキャッシュテーブルエントリにクエリすること、を含む。これにより、ステップS105の順調な実施を確保し、クロスプロトコルネットワークメッセージの転送効率を向上させる。
【0072】
上記のいずれかの実施形態の上で、いくつかの選択的な実施形態において、アドレス変換情報は、第1のネットワークアドレスと第2のネットワークアドレスとの間の変換をするためのプレフィックス情報を含んでよい。
【0073】
上記実施形態の上で、いくつかの選択的な実施形態において、ネットワークアドレス変換デバイスがサービスメッセージの宛先アドレスを第2のネットワークアドレスに変換することは、
ネットワークアドレス変換デバイスは、第1のネットワークアドレスにプレフィックス情報を追加又は削除することにより、サービスメッセージの宛先アドレスを第1のネットワークアドレスから第2のネットワークアドレスに変換すること、を含む。
【0074】
本実施形態において、ネットワークアドレス変換デバイスは、第1のネットワークアドレスにプレフィックス情報を追加又は削除することで、第1のネットワークアドレスから第2のネットワークアドレスに変換することができるため、実行しやすいや効率が高いなど利点がある。
【0075】
他のいくつかの選択的な実施形態において、ネットワークアドレス変換デバイスが第2のアドレスクエリ要求に対してドメイン名システムから返信した第2の応答メッセージを受信した後、当該方法は、さらに、
上記プレフィックス情報によって、マッチング項目が上記プレフィックス情報を含むアドレス変換ルールを生成してローカルに格納することを含み、
ネットワークアドレス変換デバイスがサービスメッセージの宛先アドレスを第2のネットワークアドレスに変換することは、
ネットワークアドレス変換デバイスは、第1のネットワークアドレスのプレフィックス情報によって、対応するアドレス変換ルールをローカルで検索し、
対応するアドレス変換ルールが見つかった場合、対応するアドレス変換ルールに従って、サービスメッセージの宛先アドレスを第1のネットワークアドレスから第2のネットワークアドレスに変換すること、を含んでよい。
【0076】
いくつかの実施例において、アドレス変換ルールは、タイプエントリとマッチング項目とを含んでよい。タイプエントリは、「prefix」(プレフィックスを示す)であってよい。当該タイプエントリとは、ネットワークアドレス変換デバイスがプレフィックス情報を削除することでネットワークアドレスの変換を実現できるという意味である。マッチング項目は、具体的なプレフィックス情報を含んでよい。これにより、当該アドレス変換ルールに基づいて、ネットワークアドレス変換デバイスはプレフィックス情報を削除することで、ネットワークアドレスの変換を実現できる。
【0077】
例えば、プレフィックス情報が表3のように示す場合、ネットワークアドレス変換デバイスがプレフィックス情報によって生成するアドレス変換ルールは、「nat64 prefix-nat64 2001::96」である。このアドレス変換ルールの作用は、ネットワークアドレス変換デバイスがプレフィックスが「2001::」であるIPv6メッセージを受信すると、当該アドレス変換ルールに従って、プレフィックスを削除して、IPv6宛先アドレス(例えば、2001::1.2.3.4)をIPv4アドレス(例えば、1.2.3.4)に変換することである。
【0078】
本実施形態によれば、ネットワークアドレス変換デバイスは、第1のネットワークアドレスから第2のネットワークアドレスへの変換を正確かつ容易に行うことができる。
【0079】
また、通常のIPv6アドレスと区別するために、DNSにおけるネットワークアドレス変換に用いられるプレフィックス情報は、指定された専用のプレフィックス情報、例えば、「2001::」、「64:FF9B::」などであってよい。DNS64は、一般に、デフォルトで上記指定された専用のプレフィックスによりIPv4アドレスからIPv6アドレスへの合成を行う。そのため、DNSが合成した複数の異なる第1のネットワークアドレスにとって、そのプレフィックスが同じである確率が高い。従って、上記実施形態によれば、ネットワークアドレス変換デバイスは、上記プレフィックス情報によってアドレス変換ルールを生成した後、同一のアドレス変換ルールを用いて、同じプレフィックスを有する複数の異なる第1のネットワークアドレスをアドレス変換することができる。これにより、ネットワークアドレス変換デバイスは、少ないアドレス変換ルールを格納しても、大量のネットワークアドレスに対してクロスプロトコル変換を行うことができる。一方、ネットワークアドレス変換デバイスのローカルのストレジスペースを節約することができる。もう一方、アドレス変換ルールが少ないため、ネットワークアドレス変換デバイスのプレフィックス情報によるアドレス変換ルールのマッチングをより速く実現すことに寄与する。さらに、ネットワークアドレス変換の効率を向上させる。
【0080】
上記の説明に基づいて、いくつかの選択的な実施形態において、ネットワークアドレス変換デバイスがプレフィックス情報によってアドレス変換ルールを生成してローカルに格納することは、さらに、
ネットワークアドレス変換デバイスは、第2の応答メッセージに記録されたプレフィックス情報によって、対応するアドレス変換ルールをローカルにマッチングすることと、
マッチングするアドレス変換ルールがない場合、ネットワークアドレス変換デバイスは、第2の応答メッセージに記録されたプレフィックス情報によってアドレス変換ルールを生成してローカルに格納することと、
マッチングするアドレス変換ルールがある場合、ステップS104をトリガすることと、を含んでよい。
【0081】
複数の第1のネットワークアドレスが同じプレフィックスを有することがあるので、本実施形態によれば、ネットワークアドレス変換デバイスは、当該プレフィックス情報は初めて現れるときにアドレス変換ルールを生成すればよい。その後、当該プレフィックス情報が再び現れると、アドレス変換ルールを再び生成する必要がなくなる。これにより、アドレス変換ルールの生成によるネットワークアドレス変換デバイスの無駄な動作とシステム負荷を効果的に低減し、ネットワークアドレス変換デバイスの効率を向上させることができる。
【0082】
理解の便宜上、
図6は、本願実施例に係る第2の応答メッセージの処理方法のフローチャートを示す。前記実施例は、
図6を参照して理解してもよく、
図6は、前記実施例の説明を参照して理解してもよい。これ以上の説明をしない。
【0083】
図6には、AAAA応答メッセージは、DNS応答メッセージとして理解されることができる。ネットワークアドレス変換デバイスは、AAAA応答メッセージ(即ち、第2の応答メッセージ)を受信した後、まず、当該第2の応答メッセージが追加レコード持っているか否かを判断する。そして、当該追加レコードのタイプ(type)が予め定められたタイプ(例えば、「prefix」)であるか否かを判断する。予め定められたタイプではない場合、他のタイプの追加レコードとして処理する。予め定められたタイプである場合、当該追加レコードを解析して、プレフィックス情報(即ち、アドレス変換情報)と第2のネットワークアドレス(即ち、図中のIPv4アドレス)等の関連情報を取得する。その後、上記情報によってアドレス変換ルール(即ち、図中のNAT 64変換設定)を生成して、IPv6アドレス(即ち、第1のネットワークアドレス)を第1の応答メッセージに追加してクライアントに返信する。
【0084】
図6には、例示として、第1のインターネットプロトコルはIPV6であり、第1のネットワークアドレスはIPV6アドレスであり、第2のインターネットプロトコルはIPV4であり、第2のネットワークアドレスはIPV4アドレスである。上記ドメイン名システムは、DNS64サーバーを含む。それに応じて、ネットワークアドレス変換デバイスは、NAT64デバイスとしてもよい。具体的に、
図6において、NAT64デバイスは、DNS64サーバーからのDNS AAAA応答メッセージ(即ち、第2の応答メッセージ)を受信した後、当該DNS AAAA応答メッセージに追加レコードがあるか否かを判断することができる。追加レコードがない場合、通常DNS応答メッセージとして処理する。追加レコードがある場合、当該追加レコードのタイプ(type)が予め定められたタイプ(例えば、「prefix」)であるか否かを判断する。当該追加レコードのタイプが予め定められたタイプではない場合、ネットワークアドレス変換デバイスは、他のタイプの追加レコードとして処理する。当該追加レコードのタイプが予め定められたタイプである場合、当該追加レコードにおけるプレフィックス及び長さを解析して、クエリするドメイン名と、合成IPv6アドレス、プレフィックス及び長さ、実際のIPv4アドレスとの対応関係をキャッシュする。当該追加レコードを解析することにより、プレフィックス情報(即ち、アドレス変換情報)、IPV6アドレス(即ち、第1のネットワークアドレス)等の関連情報を取得することができる。当該追加レコードを解析して取得された情報は、上記表2の記載を参照してよいが、これ以上の説明をしない。ネットワークアドレス変換デバイスは、プレフィックス情報によって、IPv6アドレス(即ち、第1のネットワークアドレス)をIPV4アドレス(即ち、第2のネットワークアドレス)に変換し、当該プレフィックス情報と当該IPv6アドレスと当該IPv4アドレスとの対応関係をキャッシュする。
【0085】
そして、NAT64デバイスは、対応するNAT64変換設定を自動的に生成して、DNS AAAA応答メッセージにおけるIPv6アドレスを宛先アドレスとするメッセージのIPv6アドレスを、対応するIPv4アドレスに変換するために用いられる。すなわち、NAT64デバイスは、キャッシュされた上記IPv6アドレスとIPv4アドレスとの対応関係に基づいて、NAT64変換設定(即ち、アドレス変換ルール)を生成する。当該NAT64変換設定は、その後、サービスメッセージを受信する時、当該サービスメッセージの宛先アドレスが前記DNS AAAA応答メッセージのIPv6アドレスである場合、IPv6アドレスを対応するIPv4アドレスに変換する。
【0086】
その後、NAT64デバイスは、合成されたIPv6アドレスをDNS AAAA応答メッセージに記入して、IPv6クライアントに返信する。すなわち、NAT64デバイスは、IPv6アドレス(即ち、第1のネットワークアドレス)をDNS AAAA応答メッセージ(第1の応答メッセージ)に追加した後、当該DNS AAAA応答メッセージをIPv6クライアントに返信する。
【0087】
上記実施形態によって、ドメイン名アドレスクエリを順調に実施することを確保でき、人工を介さずに、ネットワークアドレス変換デバイスは、上記アドレス変換情報を自動かつ適時に取得することもできる。これにより、ネットワークアドレス変換デバイスの自動メンテナンスを実現することができ、ネットワークアドレス変換デバイスのアドレス変換情報の人工設定による効率が低く、ミスしやすい問題を回避し、メンテナンス効率、安定性および信頼性を高め、ネットワークの中断を回避することができる。さらに、クロスプロトコルネットワークメッセージの転送の適時性や正確性を確保できる。
【0088】
本願実施例に係る他のいくつかの実施形態において、アドレス変換情報は、第1のネットワークアドレスと第2のネットワークアドレスとの対応情報を含み、
上記対応情報には、対応関係を有する第1のネットワークアドレスと第2のネットワークアドレスとが記録されてよい。
【0089】
本実施形態によれば、第1のネットワークアドレスと第2のネットワークアドレスとを正確に変換することを効果的に確保できる。これにより、ネットワークアドレス変換デバイスがクロスプロトコルネットワークメッセージを正確かつ適時に転送できることを確保する。
【0090】
上記実施形態の上で、いくつかの選択的な実施形態において、ネットワークアドレス変換デバイスは、サービスメッセージの宛先アドレスを第2のネットワークアドレスに変換することは、
ネットワークアドレス変換デバイスは、対応情報によって、サービスメッセージの宛先アドレスを、第1のネットワークアドレスから第2のネットワークアドレスに入れ替えること、を含んでよい。
【0091】
本実施形態によれば、ネットワークアドレス変換デバイスは、簡単な入替操作により第1のネットワークアドレスを第2のネットワークアドレスに変換することができ、実行しやすいや効率が高いなどの利点がある。
【0092】
なお、いくつかの選択的な実施形態には、ステップS105において、ネットワークアドレス変換デバイスは、ドメイン名システムキャッシュテーブルエントリから、サービスメッセージの宛先アドレスに対応するアドレス変換情報をクエリして、クエリされたアドレス変換情報によって宛先アドレスの変換を行ってよい。ステップS105は、下記のように実現する。
【0093】
ネットワークアドレス変換デバイスは、クライアントから送信された宛先アドレスが第1のネットワークアドレスであるサービスメッセージを受信し、ローカルに格納されるドメイン名システムキャッシュテーブルエントリから第1のネットワークアドレスに対応するアドレス変換情報をクエリし、クエリされたアドレス変換情報によって業務メッセージの宛先アドレスを第2のネットワークアドレスに変換して、宛先アドレス変換されたサービスメッセージをターゲットサーバーに送信する。
【0094】
例えば、上記のドメイン名システムキャッシュテーブルエントリに対する例示的な説明のように、ドメイン名システムキャッシュテーブルエントリは、第1のネットワークアドレス、アドレス変換情報、及び第2のネットワークアドレスを含んでよい。アドレス変換情報は、プレフィックス情報(例えば、2001::)であってもよいし、ドメイン名システムキャッシュテーブルエントリに記録された第1のネットワークアドレスと第2のネットワークアドレスとの対応情報であってもよい。
【0095】
そのため、ネットワークアドレス変換デバイスは、上記ドメイン名システムキャッシュテーブルエントリに基づいて、第1のネットワークアドレスと第2のネットワークアドレスとの対応情報をクエリすることができ、当該対応情報によって、サービスメッセージの宛先アドレスを第1のネットワークアドレスから第2のネットワークアドレスに入れ替えることができる。或いは、ネットワークアドレス変換デバイスは、上記ドメイン名システムキャッシュテーブルエントリに基づいて、第1のネットワークアドレスに対応するプレフィックス情報をクエリすることができ、当該プレフィックス情報によって、第1のネットワークアドレスに対してプレフィックス情報を追加又は削除することで、サービスメッセージの宛先アドレスを第1のネットワークアドレスから第2のネットワークアドレスに変換することができる。例えば、第1のネットワークアドレスがIPv6アドレスである場合、ネットワークアドレス変換デバイスは、プレフィックス情報をクエリした後、第1のネットワークアドレスにおけるプレフィックス情報を削除することで、第1のネットワークアドレスをIPv4アドレス(即ち、第2のネットワークアドレス)に変換することができる。また、例えば、第1のネットワークアドレスがIPv4アドレスである場合、ネットワークアドレス変換デバイスは、プレフィックス情報をクエリした後、第1のネットワークアドレスに当該プレフィックス情報を追加することで、第1のネットワークアドレスをIPv6アドレス(即ち、第2のネットワークアドレス)に変換することができる。
【0096】
本実施形態によれば、ネットワークアドレス変換デバイスは、ドメイン名システムキャッシュテーブルエントリにより、IPv6アドレスからIPv4アドレスへの変換を実現できるし、IPv4アドレスからIPv6アドレスへの変換、も実現でき、変換の正確性が高いや効率が高いなど利点がある。
【0097】
他のいくつかの実施例において、ドメイン名システムキャッシュテーブルエントリとアドレス変換ルールとの結合により、IPv6アドレスとIPv4アドレスとの変換を実現することができる。
【0098】
例えば、アドレス変換ルールは、「nat64 prefix-nat64 2001::96」である場合、当該アドレス変換ルールの作用は、ネットワークアドレス変換デバイスが、プレフィックスが「2001::」であるIPv6メッセージを受信する時、当該アドレス変換ルールに従ってプレフィックスを削除して、IPv6宛先アドレス(例えば、2001::1.2.3.4)をIPv4アドレス(例えば、1.2.3.4)に変換することである。また、例えば、ネットワークアドレス変換デバイスが、宛先アドレスが1.2.3.4であるIPv4メッセージを受信する時、マッチングするアドレス変換ルールがない場合、ドメイン名システムキャッシュテーブルエントリ(表3のように示す)にIPアドレス1.2.3.4をクエリする。クエリることによって、対応するテーブルエントリがある場合、IPv4メッセージの宛先アドレス1.2.3.4にプレフィックスである「2001::」を追加して、対応するIPv6の宛先アドレス2001::1.2.3.4を取得する。
【0099】
上記実施例はメッセージ転送方法を提供したが、これに対応して、本発明の実施例は、さらに、メッセージ転送装置を提供する。本願実施例に係るメッセージ転送装置は、上記メッセージ転送方法を実施することができる。当該メッセージ転送装置は、ソフトウェアやハードウエア、又はソフトウェアとハードウェアとの組み合わせによって実現することができる。例えば、当該メッセージ転送装置は、上記各方法において対応するステップを実行するように、搭載された又は独立する機能モジュール又は手段を含んでよい。
図7は、本願の実施例に係るメッセージ転送装置を示す。装置の実施例は、方法の実施例と類似しているので、簡単に説明するが、相関的な内容が方法の実施例についての説明を参照すればよい。以下、説明する装置の実施例は、概略的なものにすぎない。
【0100】
図7に示すように、本願実施例に係るメッセージ転送装置は、ネットワークアドレス変換デバイスに適用され、当該装置は、
クライアントから送信されたターゲットドメイン名に対する第1のアドレスクエリ要求を受信するモジュールであって、クライアントは第1のインターネットプロトコルを用い、ターゲットドメイン名に対応するターゲットサーバーは第2のインターネットプロトコルを用いる、第1のクエリ要求受信モジュール101と、
ターゲットドメイン名に対応するネットワークアドレスがローカルで見つからなかった場合、ターゲットドメイン名に対する第2のアドレスクエリ要求をドメイン名システムに送信する、第2のクエリ要求送信モジュール102と、
ドメイン名システムが第2のアドレスクエリ要求に対して返信した第2の応答メッセージを受信するモジュールであって、第2の応答メッセージには、第1のネットワークアドレスと、第1のネットワークアドレスと第2のネットワークアドレスとの間のアドレス変換情報とが記録されており、第2のネットワークアドレスは、ターゲットドメイン名に対応する第2のネットワークアドレスをサポートするネットワークアドレスを含み、第1のネットワークアドレスは、ドメイン名システムが第2のネットワークアドレスによって変換して獲得した第1のインターネットプロトコルをサポートするネットワークアドレスを含む、第2の応答メッセージ受信モジュール103と、
第1のアドレスクエリ要求に対する第1の応答メッセージをクライアントに送信するモジュールであって、第1の応答メッセージは、第1のネットワークアドレスを含む、第1の応答メッセージ送信モジュール104と、
クライアントから送信された宛先アドレスが第1のネットワークアドレスであるサービスメッセージを受信し、アドレス変換情報によってサービスメッセージの宛先アドレスを第2のネットワークアドレスに変換して、宛先アドレスが変換されたサービスメッセージをターゲットサーバーに送信する、サービスメッセージ転送モジュール105と、を含む。
【0101】
本願実施例のいくつかの選択的な実施形態において、第2の応答メッセージは、第1のネットワークアドレスと第2のネットワークアドレスとの間のアドレス変換情報を記録するための追加レコードを含む。
【0102】
本願実施例のいくつかの選択的な実施形態において、当該装置は、さらに、
第2の応答メッセージのコンテンツ領域から予め定められたタイプの追加レコードを検索する、追加レコード検索モジュールと、
予め定められたタイプの追加レコードから、第1のネットワークアドレスと第2のネットワークアドレスとの間のアドレス変換情報を読み取る、追加レコード読取モジュールと、を含む。
【0103】
本願実施例のいくつかの選択的な実施形態において、当該装置は、さらに、
第2の応答メッセージヘッダ情報における追加レコード識別子が第1の識別子である場合、追加レコード読取モジュールをトリガして動作されることを含む。
【0104】
本願実施例のいくつかの選択的な実施形態において、当該装置は、さらに、
第2の応答メッセージに記録された第1のネットワークアドレスとアドレス変換情報によって、第1のネットワークアドレスに対応する第2のネットワークアドレスを確定する、第2のネットワークアドレス確定モジュールと、
第1のネットワークアドレスとアドレス変換情報と第2のネットワークアドレスに基づいて、ドメイン名システムキャッシュテーブルエントリを生成してローカルに格納する、キャッシュテーブルエントリ生成モジュールと、を含む。
【0105】
本願実施例のいくつかの選択的な実施形態において、当該装置は、さらに、
ターゲットドメイン名に対応する第1のネットワークアドレスをローカルにクエリした場合、第1の応答メッセージ送信モジュール104をトリガして動作される、ローカルクエリ成功処理モジュール、を含む。
【0106】
本願実施例のいくつかの選択的な実施形態において、
アドレス変換情報は、第1のネットワークアドレスと第2のネットワークアドレスとの間の変換をするためのプレフィックス情報を含み、
或いは、
アドレス変換情報は、第1のネットワークアドレスと第2のネットワークアドレスとの対応情報を含む。
【0107】
本願実施例のいくつかの選択的な実施形態において、サービスメッセージ転送モジュール105は、
上記対応情報によって、サービスメッセージの宛先アドレスを、第1のネットワークアドレスから第2のネットワークアドレスに入れ替える、対応情報変換手段、を含む。
【0108】
本願実施例のいくつかの選択的な実施形態において、アドレス変換情報は、第1のネットワークアドレスと第2のネットワークアドレスとの間の変換をするためのプレフィックス情報を含み、
当該装置は、さらに、
プレフィックス情報によって、マッチング項目がプレフィックス情報を含むアドレス変換ルールを生成してローカルに格納する、アドレス変換ルール生成モジュール、を含み、
サービスメッセージ転送モジュール105は、さらに、
第1のネットワークアドレスのプレフィックス情報によって、対応するアドレス変換ルールをローカルで検索する、アドレス変換ルールマッチング手段と、
対応するアドレス変換ルールが見つかった場合、対応するアドレス変換ルールに従って、サービスメッセージの宛先アドレスを第1のネットワークアドレスから第2のネットワークアドレスに変換する、ルールに従う変換手段と、を含む。
【0109】
本願実施例の選択的な実施形態において、
第1のインターネットプロトコルは、インターネットプロトコル第6版であるIPv6を含み、第2のインターネットプロトコルは、インターネットプロトコル第4版であるIPv4を含んでよく、或いは、
第1のインターネットプロトコルは、インターネットプロトコル第4版であるIPv4を含み、第2のインターネットプロトコルは、インターネットプロトコル第6版であるIPv6を含んでよい。
【0110】
本願実施例に係るメッセージ転送装置は、本願の前記の実施例に係るメッセージ転送方法と同様の発明思想に基づき、同様の有利効果を有する。
【0111】
上記実施例はメッセージ転送方法を提供したが、これに対応して、本発明は、さらに、ドメイン名アドレスクエリ方法を提供する。ドメイン名アドレスクエリ方法は、前記メッセージ転送方法と組み合わせて実施されるものであり、同様の発明思想に属する。そのため、以下、ドメイン名アドレスクエリ方法についての実施例は、前記メッセージ転送方法についての実施例を参照して理解することができ、一部の内容は贅言しない。相応的に、前記メッセージ転送方法についての実施例は、下記ドメイン名アドレスクエリ方法についての実施例を参照して理解することができる。
【0112】
図8は、本願実施例に係るドメイン名アドレスクエリ方法のフローチャートを示す。当該ドメイン名アドレスクエリ方法は、ドメイン名システムに適用され、
図11に示すタイミング図を参照して理解することができる。当該方法は、以下のステップを含む。
【0113】
ステップS201:ネットワークアドレス変換デバイスから送信されたターゲットドメイン名に対する第2のアドレスクエリ要求を受信する。第2のアドレスクエリ要求のソースアドレスは、第1のインターネットプロトコルをサポートする。
【0114】
ステップS202:第2のアドレスクエリ要求に応答して、ターゲットドメイン名に対応する第2のネットワークアドレスをクエリする。第2のネットワークアドレスは、第2のインターネットプロトコルをサポートする。
【0115】
ステップS203:第2のネットワークアドレスを第1のインターネットプロトコルをサポートする第1のネットワークアドレスに変換する。
【0116】
ステップS204:第2のアドレスクエリ要求に対する第2の応答メッセージをネットワークアドレス変換デバイスに送信する。第2の応答メッセージは、第1のネットワークアドレスと、第1のネットワークアドレスと第2のネットワークアドレスとの間のアドレス変換情報とを含む。これにより、ネットワークアドレス変換デバイスは、第1のネットワークアドレスをクライアントに送信するとともに、アドレス変換情報によってクライアントから送信された宛先アドレスが第1のネットワークアドレスであるサービスメッセージに対して宛先アドレス変換を行う。
【0117】
ネットワークアドレス変換装置は、クライアントから送信されたサービスメッセージを受信した後、当該サービスメッセージの宛先アドレスが第1のネットワークアドレスである場合、アドレス変換情報によって当該サービスメッセージの宛先アドレスを第2のネットワークアドレスに変換することができる。
【0118】
本願実施例に係るドメイン名アドレスクエリ方法は、本願の前記の実施例に係るメッセージ転送方法と同様の発明思想に基づき、少なくとも以下の相応の有利効果を有する。ドメイン名システムは、クロスプロトコルアドレスクエリ要求を受信した後、まず、ターゲットドメイン名に対応する第2のインターネットプロトコルをサポートする第2のネットワークアドレスをクエリして、第2のネットワークアドレスを第1のインターネットプロトコルをサポートする第1のネットワークアドレスに変換する。そして、ドメイン名システムは、第1のネットワークアドレスと第2のネットワークアドレスとの間のアドレス変換情報をネットワークアドレス変換デバイスに送信する。これにより、ネットワークアドレス変換デバイスは、アドレス変換情報によってドメイン名システムとの同期を自動的に実現することができ、ネットワークアドレス変換デバイスに自動的なメンテナンスを実現させることができる。さらに、ネットワークアドレス変換デバイスのアドレス変換情報の人工設定による効率が低く、ミスしやすいという問題を回避し、メンテナンス効率、安定性、信頼性を高め、ネットワークの中断を回避する。ネットワークアドレス変換デバイスがクロスプロトコルネットワークメッセージの転送の適時性や正確性を確保することに寄与する。
【0119】
また、ドメイン名システムは、第1のネットワークアドレスをネットワークアドレス変換デバイスに送信することで、ネットワークアドレス変換デバイスがクエリされた第1のネットワークアドレスをクライアントに返信することを確保して、プロキシDNSの機能を実現する。さらに、ドメイン名アドレスクエリの順調な実施を確保する。そして、ドメイン名システムは、第1のネットワークアドレスとアドレス変換情報をネットワークアドレス変換デバイスに一括送信する。これにより、ドメイン名システムとネットワークアドレス変換デバイスとクライアントとの3方の間のデータ伝送プロセスを効果的に簡素化し、データ伝送効率を高め、ネットワーク伝送資源を節約することができる。
【0120】
本願実施例のいくつかの選択的な実施形態において、第2の応答メッセージは、第1のネットワークアドレスと第2のネットワークアドレスとの間のアドレス変換情報を記録するための追加レコードを含む。
【0121】
追加レコードに対する説明は、前記メッセージ転送方法の実施例に関する説明、及び
図4、
図5、
図6の説明を参照してよく、これ以上の説明をしない。
【0122】
本願実施例のいくつかの選択的な実施形態において、アドレス変換情報は、第1のネットワークアドレスと第2のネットワークアドレスとの間の変換をするためのプレフィックス情報を含んでよい。
【0123】
プレフィックス情報に対する説明は、前記メッセージ転送方法の実施例に関する説明、及び
図4、
図5、
図6の説明を参照してよく、これ以上の説明をしない。
【0124】
理解の便宜上、
図9を参考して説明する。
図9は、本願実施例に係るドメイン名アドレスクエリ方法のフローチャートを示す。前記実施例の説明は、
図9を参照して理解してもよく、
図9は、前記実施例の説明を参照して理解してもよい。これ以上の説明をしない。
【0125】
図9において、AAAA応答メッセージは、DNS応答メッセージとして理解することができる。DNSは、AAAAクエリメッセージ(即ち、第2のアドレスクエリ要求)を受信した後、まず、ターゲットドメイン名に対応するAAAAレコード(IPv6のドメイン名アドレス)があるか否かをクエリすることができる。ターゲットドメイン名に対応するAAAAレコードがある場合、直接にAAAAレコードを返信する。ターゲットドメイン名に対応するAAAAレコードがない場合、Aレコード(IPv4のドメイン名アドレス)があるか否かをさらにクエリする。Aレコードがない場合、ヌル値を返信する。Aレコードがある場合、予め設定されたIPv6プレフィックスを用いてIPv6アドレスを合成してAAAA応答メッセージ(即ち、第2の応答メッセージ)を返信し、当該第2の応答メッセージに追加レコードを追加する。当該追加レコードには、上記IPv6プレフィックスおよび長さ情報が記録される。
【0126】
例示として、
図9に示すプロセスは、DNS64サーバーによって実行される。それに相応して、ネットワークアドレス変換デバイスは、NAT64デバイスとしてよい。第1のインターネットプロトコルはIPV6であり、第1のネットワークアドレスはIPV6アドレスであり、第2のインターネットプロトコルはIPV4であり、第2のネットワークアドレスはIPV4アドレスである。
【0127】
具体的に、
図9において、DNS64サーバーは、AAAAクエリメッセージ(即ち、第2のアドレスクエリ要求)を受信した後、まず、ターゲットドメイン名に対応するAAAAレコード(IPv6のドメイン名アドレス)があるか否かをクエリしてよい。ターゲットドメイン名に対応するAAAAレコードがある場合、直接にAAAAレコードをNAT64デバイスに返信する。ターゲットドメイン名に対応するAAAAレコードがない場合、DNS64サーバーは、さらにAレコード(IPv4のドメイン名アドレス)があるか否かをクエリする。Aレコードがない場合、ヌル値を返信する。Aレコードがある場合、予め設定されたIPv6プレフィックスを用いてIPv6アドレスを合成してAAAA応答メッセージ(即ち、第2の応答メッセージ)を返信する。当該第2の応答メッセージには、追加レコードが含まれている。当該追加レコードには、上記IPv6プレフィックスが記録される。当該追加レコードに含んでいる他の情報は、上記表2に対する説明を参照してよく、これ以上の説明をしない。
【0128】
本願実施例に係る他のいくつかの選択的な実施形態において、アドレス変換情報は、第1のネットワークアドレスと第2のネットワークアドレスとの対応情報を含む。
【0129】
上記表2と同じように、選択的な実施形態として、以下の表4を参照して、追加レコードに記入することができる。
【0130】
【0131】
上記実施形態によれば、予め設定されたフォーマットに従って追加レコードを追加し、追加レコードのタイプを指定することができる。これにより、ネットワークアドレス変換デバイスは、上記フォーマット及びタイプに応じて、上記追加レコードを自動的に正しく解析して、アドレス変換情報を取得することを確保できる。
【0132】
本願実施例のいくつかの選択的な実施形態において、第2のネットワークアドレスを第1のインターネットプロトコルをサポートする第1のネットワークアドレスに変換することは、
予め設定されたアドレスプールから、第1のインターネットプロトコルをサポートするネットワークアドレスを、第2のネットワークアドレスと変換する第1のネットワークアドレスとして選択することを含む。
つまり、ドメイン名システムは、予め設定されたアドレスプールから選択したネットワークアドレスを上記第1のネットワークアドレスとする。
【0133】
例えば、第1のインターネットプロトコルがIPv6であり、第2のインターネットプロトコルがIPv4である場合、予めてDNSにIPv6アドレスプールを設定してよい。DNSは、第2のアドレスクエリ要求を受信した後、ターゲットドメイン名に対応する第2のネットワークアドレスがIPv4アドレスである場合、IPv6アドレスプールから1つのIPv6アドレスを、第2のネットワークアドレスと変換する第1のネットワークアドレスとして選択して、当該ターゲットドメイン名に割り当てることができる。即ち、ターゲットドメイン名にIPv6アドレスを割り当てる。
【0134】
本実施形態によれば、ドメイン名システムは、アドレスプールによって、第2のネットワークアドレスを第1のネットワークアドレスに容易に変換することができ、実施しやすいや効率が高いなどの利点がある。
【0135】
上記実施例は、ドメイン名アドレスクエリ方法を提供する。これに対応して、本発明の実施例は、さらに、ドメイン名アドレスクエリ装置を提供する。本願実施例に係るドメイン名アドレスクエリ装置は、上記ドメイン名アドレスクエリ方法を実施することができる。当該ドメイン名アドレスクエリ装置は、ソフトウェアやハードウエア、又はソフトウェアとハードウェアとの組み合わせによって実現することができる。例えば、当該ドメイン名アドレスクエリ装置は、上記各方法において対応するステップを実行するように、搭載された又は独立する機能モジュールや手段を含むことができる。
図10は、本願の実施例に係るドメイン名アドレスクエリ装置を示す。装置の実施例は方法の実施例と類似しているので、簡単に説明するが、相関的な内容が方法の実施例についての説明を参照すればよい。以下説明する装置の実施例は、概略的なものにすぎない。
【0136】
本願実施例に係るドメイン名アドレスクエリ装置はドメイン名システムに適用される。
図10に示すように、当該装置は、
ネットワークアドレス変換デバイスから送信されたターゲットドメイン名に対する第2のアドレスクエリ要求を受信するモジュールであって、第2のアドレスクエリ要求のソースアドレスが第1のインターネットプロトコルをサポートする、第2のアドレスクエリ要求受信モジュール201と、
第2のアドレスクエリ要求に応答して、ターゲットドメイン名に対応する第2のネットワークアドレスをクエリするモジュールであって、第2のネットワークアドレスが第2のインターネットプロトコルをサポートする、第2のアドレスクエリ要求処理モジュール202と、
第2のネットワークアドレスを、第1のインターネットプロトコルをサポートする第1のネットワークアドレスに変換する、ネットワークアドレス変換モジュール203と、
第2のアドレスクエリ要求に対して、第1のネットワークアドレスと、第1のネットワークアドレスと第2のネットワークアドレスとの間のアドレス変換情報とを含む第2の応答メッセージをネットワークアドレス変換デバイスに送信することで、ネットワークアドレス変換デバイスが第1のネットワークアドレスをクライアントに送信し、前記サービスメッセージの宛先アドレスが第1のネットワークアドレスであり、アドレス変換情報によってクライアントから送信されたサービスメッセージに対して宛先アドレス変換を行う第2の応答メッセージ送信モジュール204と、を含む。
【0137】
本願実施例のいくつかの選択的な実施形態において、第2の応答メッセージは、第1のネットワークアドレスと第2のネットワークアドレスとの間のアドレス変換情報を記録するための追加レコードを含む。
【0138】
本願実施例のいくつかの選択的な実施形態において、アドレス変換情報は、第1のネットワークアドレスと第2のネットワークアドレスとの間の変換をするためのプレフィックス情報を含む。
【0139】
本願実施例のいくつかの選択的な実施形態において、アドレス変換情報は、第1のネットワークアドレスと第2のネットワークアドレスとの対応情報を含む。
【0140】
本願実施例のいくつかの選択的な実施形態において、ネットワークアドレス変換モジュール203は、
予め設定されたアドレスプールから、第1のインターネットプロトコルをサポートするネットワークアドレスを、第2のネットワークアドレスが変換する第1のネットワークアドレスとして選択する、ネットワークアドレス選択手段、を含む。
【0141】
本願実施例に係るドメイン名アドレスクエリ装置は、本願の前記の実施例に係るドメイン名アドレスクエリ方法と同様の発明思想に基づき、同様の有利効果を有する。
【0142】
理解の便宜上、以下、
図11に示すタイミング図を結合して、本願実施例に係る方法を例示的に説明する。以下の例示的な説明は、前記メッセージ転送方法及びドメイン名アドレスクエリ方法の実施例における関連説明を参照することもできる。前記メッセージ転送方法及びドメイン名アドレスクエリ方法の実施例は、以下の例示的な説明を参照して理解することもできる。
【0143】
図11を参照して、当該具体的な実施例は、少なくとも以下のステップS301~S310を含む。
【0144】
ステップS301:第1のインターネットプロトコルをサポートするクライアントは、ターゲットドメイン名に対応するアドレスをクエリする必要がある時、ターゲットドメイン名に対する第1のアドレスクエリ要求を、ネットワークアドレス変換デバイスに送信する。
【0145】
ステップS302:ネットワークアドレス変換デバイスは、第1のアドレスクエリ要求を受信した後、ターゲットドメイン名に対応するネットワークアドレスをローカルにクエリする。見つからなかった場合、ターゲットドメイン名に対する第2のアドレスクエリ要求をドメイン名システムに送信する。
【0146】
ステップS303:ドメイン名システムは、第2のアドレスクエリ要求を受信した後、クエリされた第2のネットワークアドレスが第2のインターネットプロトコルしかサポートしない場合、クエリされた第2のネットワークアドレスを、第1のインターネットプロトコルをサポートする第1のネットワークアドレスに変換する。
【0147】
ステップS304:ドメイン名システムは、第2のアドレスクエリ要求に対する第2の応答メッセージを、ネットワークアドレス変換デバイスに送信し、第2の応答メッセージには、第1のネットワークアドレスと、第1のネットワークアドレスと第2のネットワークアドレスとの間のアドレス変換情報とが記録される。
【0148】
ステップS305:ネットワークアドレス変換デバイスは、第2の応答メッセージを受信した後、第1のアドレスクエリ要求に対する第1の応答メッセージをクライアントに送信する。第1の応答メッセージは、第1のネットワークアドレスを含む。
【0149】
ステップS306:ネットワークアドレス変換デバイスは、少なくとも第1のネットワークアドレスと第2のネットワークアドレスとの間のアドレス変換情報をローカルに格納する。
【0150】
ステップS307:クライアントは、上記第1のネットワークアドレスを受信した後、当該第1のネットワークアドレスに基づいて、サービスメッセージを、ターゲットドメイン名に対応するターゲットサーバーに送信し、当該サービスメッセージの宛先アドレスは第1のネットワークアドレスである。
【0151】
ステップS308:ネットワークアドレス変換デバイスは、サービスメッセージを受信した後、上記アドレス変換情報によってサービスメッセージの宛先アドレスを第1のネットワークアドレスから第2のネットワークアドレスに変換して、宛先アドレス変換されたサービスメッセージをターゲットサーバーに送信するとともに、クライアントとターゲットサーバーとのセッションテーブルエントリを生成する。
【0152】
ステップS309:ターゲットサーバーは、上記サービスメッセージを受信した後、当該サービスメッセージに対する応答メッセージを返信することができる。当該応答メッセージのソースアドレスは、上記第2のネットワークアドレスである。
【0153】
ステップS310:ネットワークアドレス変換デバイスは、上記応答メッセージを受信した後、上記セッションテーブルエントリに基づいて、応答メッセージのソースアドレスを第2のネットワークアドレスから第1のネットワークアドレスに変換し、変換された応答メッセージをクライアントに送信する。
【0154】
本願の上記実施例に係るメッセージ転送方法に対応して、本願実施例は、ネットワークアドレス変換デバイスをさらに提供する。
図12のように、当該ネットワークアドレス変換デバイスは、プロセッサ1201と、機械可読記憶媒体1202と、トランシーバ1204とを含む。機械可読記憶媒体1202には、プロセッサ1201によって実行可能な機械実行可能命令が記憶されている。機械実行可能命令は、プロセッサ1201に以下のステップを実行させる。
【0155】
トランシーバ1204によって、クライアントから送信されたターゲットドメイン名に対する第1のアドレスクエリ要求を受信する。クライアントは第1のインターネットプロトコルを使用し、ターゲットドメイン名に対応するターゲットサーバーは第2のインターネットプロトコルを使用する。
【0156】
ターゲットドメイン名に対応するネットワークアドレスがローカルで見つからなかった場合、トランシーバ1204によって、ターゲットドメイン名に対する第2のアドレスクエリ要求をドメイン名システムに送信する。
【0157】
トランシーバ1204によって、第2のアドレスクエリ要求に対してドメイン名システムから返信した第2の応答メッセージを受信する。第2の応答メッセージには、第1のネットワークアドレスと、第1のネットワークアドレスと第2のネットワークアドレスとの間のアドレス変換情報とが記録されている。第2のネットワークアドレスは、ターゲットドメイン名に対応する第2のインターネットプロトコルをサポートするネットワークアドレスを含む。第1のネットワークアドレスは、ドメイン名システムによって第2のネットワークアドレスに基づいて変換された、第1のインターネットプロトコルをサポートするネットワークアドレスを含む。
【0158】
トランシーバ1204によって、第1のアドレスクエリ要求に対する第1の応答メッセージをクライアントに送信する。第1の応答メッセージは、第1のネットワークアドレスを含む。
【0159】
トランシーバ1204によって、クライアントから送信された宛先アドレスが第1のネットワークアドレスであるサービスメッセージを受信する。アドレス変換情報によってサービスメッセージの宛先アドレスを第2のネットワークアドレスに変換して、宛先アドレスが変換されたサービスメッセージをターゲットサーバーに送信する。
【0160】
好ましくは、第2の応答メッセージは、第1のネットワークアドレスと第2のネットワークアドレスとの間のアドレス変換情報を記録するための追加レコードを含む。
【0161】
好ましくは、機械実行可能命令は、さらに、プロセッサ1201に以下のステップを実行させる。
第2のアドレスクエリ要求に対してドメイン名システムから返信した第2の応答メッセージを受信した後、第2の応答メッセージのコンテンツ領域から予め定められたタイプの追加レコードを検索する。
予め定められたタイプの追加レコードから、第1のネットワークアドレスと第2のネットワークアドレスとの間のアドレス変換情報を読み取る。
【0162】
好ましくは、機械実行可能命令は、さらに、プロセッサ1201に以下のステップを実行させる。
第2の応答メッセージヘッダ情報における追加レコード識別子が第1の識別子である場合、第2の応答メッセージのコンテンツ領域から予め定められたタイプの追加レコードを検索するステップをトリガする。
【0163】
好ましくは、機械実行可能命令は、さらに、プロセッサ1201に以下のステップを実行させる。
第2のアドレスクエリ要求に対してドメイン名システムから返信した第2の応答メッセージを受信した後、第2の応答メッセージに記録された第1のネットワークアドレスとアドレス変換情報によって、第1のネットワークアドレスに対応する第2のネットワークアドレスを確定する。
第1のネットワークアドレス、アドレス変換情報及び第2のネットワークアドレスに基づいて、ドメイン名システムキャッシュテーブルエントリを生成してローカルに格納する。
【0164】
好ましくは、機械実行可能命令は、さらに、プロセッサ1201に以下のステップを実行させる。
ターゲットドメイン名に対応する第1のネットワークアドレスをローカルにクエリした場合、第1のアドレスクエリ要求に対する第1の応答メッセージをクライアントに送信するステップをトリガする。
【0165】
好ましくは、アドレス変換情報は、第1のネットワークアドレスと第2のネットワークアドレスとの間の変換をするためのプレフィックス情報を含む。
或いは、
アドレス変換情報は、第1のネットワークアドレスと第2のネットワークアドレスとの対応情報を含む。
【0166】
好ましくは、機械実行可能命令は、さらに、プロセッサ1201に以下のステップを実行させる。
第1のネットワークアドレスにプレフィックス情報を追加又は削除することにより、サービスメッセージの宛先アドレスを、第1のネットワークアドレスから第2のネットワークアドレスに変換する。
或いは、
対応情報によって、サービスメッセージの宛先アドレスを、第1のネットワークアドレスから第2のネットワークアドレスに入れ替える。
【0167】
好ましくは、アドレス変換情報は、第1のネットワークアドレスと第2のネットワークアドレスとの間の変換をするためのプレフィックス情報を含む。
【0168】
機械実行可能命令は、さらに、プロセッサ1201に以下のステップを実行させる。
第2のアドレスクエリ要求に対してドメイン名システムから返信した第2の応答メッセージを受信した後、プレフィックス情報によって、アドレス変換ルールを生成してローカルに格納する。アドレス変換ルールのマッチング項目はプレフィックス情報を含む。
【0169】
機械実行可能命令は、さらに、プロセッサ1201に以下のステップを実行させる。
第1のネットワークアドレスのプレフィックス情報によって、対応するアドレス変換ルールをローカルで検索する。
対応するアドレス変換ルールが見つかった場合、対応するアドレス変換ルールに従って、サービスメッセージの宛先アドレスを第1のネットワークアドレスから第2のネットワークアドレスに変換する。
【0170】
図12に示すように、ネットワークアドレス変換デバイスは、さらに、通信バス1203を備えてよい。プロセッサ1201と、機械可読記憶媒体1202と、トランシーバ1204との間には、通信バス1203を介して互いに通信できる。通信バス1203は、ペリフェラルコンポーネントインターコネクト(Peripheral Component Interconnect、PCI)バスやイーアイサ(Extended Industry Standard Architecture、EISA)バスなどであってもよい。当該通信バス1203は、アドレスバス、データバス、制御バス等を含んでもよい。
【0171】
トランシーバ1204は、無線通信モジュールであってよい。トランシーバ1204は、プロセッサ1201によって他のデバイス(AC及び端末)とデータインタラクションを行う。
【0172】
機械可読記憶媒体1202は、ランダムアクセスメモリ(Random Access Memory、RAM)を含んでもよいし、非揮発性メモリ(Non?Volatile Memory、NVM)を含んでよく、例えば、少なくとも1つのディスクメモリを含む。なお、機械可読記憶媒体1202は、上記プロセッサから離れた少なくとも1つの記憶装置であってもよい。
【0173】
プロセッサ1201は、中央処理装置(Central Processing Unit、CPU)、ネットワークプロセッサ(Network Processor、NP)などを含む、汎用プロセッサであってよく、デジタル信号処理装置(Digital Signal Processing、DSP)、特定用途向け集積回路(Application Specific Integrated Circuit、ASIC)、現場プログラム可能ゲートアレイ(Field-Programmable Gate Array、FPGA)、又は、他のプログラマブルロジックデバイス、ディスクリートゲート又はトランジスタロジックデバイス、ディスクリートハードウェアコンポーネントなどであってよい。
【0174】
本願実施例に係るネットワークアドレス変換デバイスは、本願実施例に係るメッセージ転送方法と同様の技術思想に基づき、適用、実行、実現する方法と同じの有利効果を有する。
【0175】
本願の上記実施例に係るドメイン名アドレスクエリ方法に対応して、本願実施例は、ドメイン名システムをさらに提供する。
図13のように、当該ネットワークアドレス変換デバイスは、プロセッサ1301と、機械可読記憶媒体1302と、トランシーバ1304とを含む。機械可読記憶媒体1302には、プロセッサ1301によって実行可能な機械実行可能命令が記憶されている。機械実行可能命令は、プロセッサ1301に以下のステップを実行させる。
【0176】
トランシーバ1304によって、ネットワークアドレス変換デバイスから送信されたターゲットドメイン名に対する第2のアドレスクエリ要求を受信する。第2のアドレスクエリ要求のソースアドレスは、第1のインターネットプロトコルをサポートする。
第2のアドレスクエリ要求に応答して、ターゲットドメイン名に対応する第2のネットワークアドレスをクエリしる。第2のネットワークアドレスは、第2のインターネットプロトコルをサポートする。
第2のネットワークアドレスを、第1のインターネットプロトコルをサポートする第1のネットワークアドレスに変換する。
【0177】
トランシーバ1304によって、第2のアドレスクエリ要求に対する第2の応答メッセージをネットワークアドレス変換デバイスに送信する。第2の応答メッセージは、第1のネットワークアドレスと、第1のネットワークアドレスと第2のネットワークアドレスとの間のアドレス変換情報とを含む。これにより、ネットワークアドレス変換デバイスは、第1のネットワークアドレスをクライアントに送信して、アドレス変換情報によってクライアントから送信された宛先アドレスが第1のネットワークアドレスであるサービスメッセージに対して宛先アドレス変換を行う。
【0178】
好ましくは、第2の応答メッセージは、第1のネットワークアドレスと第2のネットワークアドレスとの間のアドレス変換情報を記録するための追加レコードを含む。
【0179】
好ましくは、アドレス変換情報は、第1のネットワークアドレスと第2のネットワークアドレスとの間の変換をするためのプレフィックス情報を含む。
或いは、
アドレス変換情報は、第1のネットワークアドレスと第2のネットワークアドレスとの対応情報を含む。
【0180】
好ましくは、アドレス変換情報は、第1のネットワークアドレスと第2のネットワークアドレスとの対応情報を含む。
【0181】
機械実行可能命令は、さらに、プロセッサ1301に以下のステップを実行させる。
予め設定されたアドレスプールから、第1のインターネットプロトコルをサポートするネットワークアドレスを、第2のネットワークアドレスが変換する第1のネットワークアドレスとして選択する。
【0182】
図13に示すように、ネットワークアドレス変換デバイスは、通信バス1303をさらに備えてよい。プロセッサ1301と、機械可読記憶媒体1302と、トランシーバ1304との間には、通信バス1303を介して互いに通信できる。通信バス1303は、ペリフェラルコンポーネントインターコネクト(Peripheral Component Interconnect、PCI)バスやイーアイサ(Extended Industry Standard Architecture、EISA)バスなどであってもよい。当該通信バス1303は、アドレスバス、データバス、制御バス等を含んでもよい。
【0183】
トランシーバ1304は無線通信モジュールであってよい。トランシーバ1304は、プロセッサ1301によって他のデバイス(AC及び端末)とデータインタラクションを行う。
【0184】
機械可読記憶媒体1302は、ランダムアクセスメモリ(Random Access Memory、RAM)を含んでもよいし、非揮発性メモリ(Non?Volatile Memory、NVM)を含んでよく、例えば、少なくとも1つのディスクメモリを含む。なお、機械可読記憶媒体1302は、上記プロセッサから離れた少なくとも1つの記憶装置であってもよい。
【0185】
プロセッサ1301は、中央処理装置(Central Processing Unit、CPU)、ネットワークプロセッサ(Network Processor、NP)などを含む、汎用プロセッサであってよく、デジタル信号処理装置(Digital Signal Processing、DSP)、特定用途向け集積回路(Application Specific Integrated Circuit、ASIC)、現場プログラム可能ゲートアレイ(Field-Programmable Gate Array、FPGA)、又は、他のプログラマブルロジックデバイス、ディスクリートゲート又はトランジスタロジックデバイス、ディスクリートハードウェアコンポーネントなどであってよい。
【0186】
本願実施例に係るドメイン名システムは、本願実施例に係るドメイン名アドレスクエリ方法と同様の技術思想に基づき、適用、実行、実現する方法と同じの有利効果を有する。
【0187】
本願実施例は、上記実施形態に係るメッセージ転送方法及びドメイン名アドレスクエリ方法に対応するコンピューター読取可能な媒体をさらに提供する。
図14に示すコンピューター読取可能な記憶媒体は、コンピュータープログラム(即ち、プログラム製品である)が格納されている光ディスク40である。上記コンピュータープログラムは、プロセッサ(例えば、上記プロセッサ)によって実行されると、上記任意の実施形態によって提供されるメッセージ転送方法またはドメイン名アドレスクエリ方法を実行する。
【0188】
なお、上記コンピューター読取可能な記憶媒体の例としては、さらに、相変化メモリ(PRAM)、静的ランダムアクセスメモリ(SRAM)、動的ランダムアクセスメモリ(DRAM)、その他の種類のランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、電気消去可能プログラマブルリードオンリメモリ(EEPROM)、フラッシュメモリまたはその他の光学的、磁気的な記憶媒体を含むが、これらに限定されない。これ以上の説明をしない。
【0189】
本願の上記実施例に係るコンピューター読取可能な記憶媒体は、本願実施例に係るメッセージ転送方法及びドメイン名アドレスクエリ方法と同様の発明思想に基づき、適用、実行、実現する方法と同じの有利効果を有する。
【0190】
本願に係る他の実施例において、命令を含むコンピュータープログラム製品をさらに提供する。その命令がコンピューターに実行されると、コンピューターに上記実施例における任意のメッセージ転送方法またはドメイン名アドレスクエリ方法を実行させる。
【0191】
なお、図面には、フローチャートとブロック図は、本願の複数の実施例のシステムや方法、コンピュータープログラム製品が実現可能なシステム構成や、機能、操作を表示する。この点で、フローチャートやブロック図におけるブロックは、それぞれ1つのモジュール、プログラムセグメント、コードの一部を表すことができ、前記モジュール、プログラムセグメント、コードの一部は、所定の論理機能を実現するための一つまた複数の実行可能コマンドを含む。なお、代替する実施形態として、ブロックに記載される機能は、図面と違い順に実施することもできる。例えば、係る機能によって、連続の2つのブロックは、実際に同時に実行するこのもあるし、逆順に実行することもある。なお、ブロック図及ぶ/又はフローチャートにおける各ブロック、及び、ブロック図及ぶ/又はフローチャートにおけるブロックの組み合わせは、ハードウエアに基づいて所定の機能や動作を実行する専用のシステムで実現してもよいし、専用のハードウエアとコンピューターコマンドとの組み合わせで実現してよい。
【0192】
当業者にとって、説明の便宜上、上記システム、装置、及び手段の具体的な動作プロセスは、上記方法の実施例に対応するプロセスを参照することができることを理解するべきのて、これ以上の説明をしない。
【0193】
本願に係るいくつかの実施例に開示される装置と方法は、他の形態で実現することもできる。以上説明した装置の実施例は、例示的なものにすぎず、例えば、手段の区分は、単に論理的な機能区分であるが、実装する時に、他の区分方法もある。また、例えば、複数の手段またはコンポーネントが他のシステムに結合、統合されることができる。または、いくつかの特徴が省略され、又は実行されないこともできる。なお、表示または説明される相互の結合または直接結合または通信接続は、いくつかの物理ポート、装置または手段を介した間接結合または通信接続であってもよく、電気的、機械的または他の形態であってもよい。
【0194】
上記分離部品として説明される手段は、物理的に分離されているものであってもなくてもよく、手段として表示される部品は、物理手段であってもなくてもよく、1つの場所に配置されてもよいし、複数のネットワーク手段に分散してもよい。実際のニーズに応じて、本実施例の技術案の目的を達成するように、一部または全部の手段を選択することができる。
【0195】
なお、本願の各実施例における各機能手段は、1つの処理手段に集積されていてもよいし、物理的に個別に存在していてもよいし、2つ以上の手段が1つの手段に集積されていてもよい。
【0196】
前記機能は、ソフトウエア機能手段で実現して、単独の製品として販売また使用される場合、コンピューター可読記憶媒体で記憶することもできる。それによって、本願の技術案の本質又は従来技術に貢献する部分また当該技術案の一部は、ソフトウエア製品で実現できる。当該ソフトウエア製品は、記憶媒体に記憶され、コンピューター設備(パソコン、サーバー、ネットワーク設備等である)に本願の各実施例における全部また一部のステップを実行させる複数のコマンドを含める。上記記憶媒体は、USBメモリや、読み出し専用メモリ(ROM,Read-Only Memory)、ランダムアクセスメモリ(Random Access Memory、RAM)、磁性ディスクまたレーザーディスク等のプログラムコードを記憶できる媒体である。
【0197】
以上は本願の好ましい実施例だけであり、本願の請求の範囲を限定するものではない。本願の精神及び原則を逸脱しない範囲においてなされた如何なる補正、同等な代替、改善などは、いずれも本願の請求の範囲に含まれている。