名前解決 【name resolution】
概要
名前解決(name resolution)とは、ソフトウェアなどが扱う対象の識別名と、その名前が指し示している実体を対応付ける処理や操作のこと。TCP/IPネットワークでドメイン名やホスト名と対応するIPアドレスを対応付けるDNS名前解決が特に有名。ネットワークの名前解決
通信ネットワークでは参加する個々の機器などに数値列などからなる固有のアドレスが与えられるが、人間が管理しやすいように名前を付け、これによって対象を指定できるようになっていることがある。このとき、識別名から対応するアドレスを求めたり、アドレスから識別名を求めることを名前解決という。
インターネットなどのTCP/IPネットワークにおける名前解決はホスト名やドメイン名とIPアドレスの対応関係を割り出す処理で、ホスト名からIPアドレスを求める操作を「正引き」、IPアドレスからホスト名を求める操作を「逆引き」という。
IPネットワークの名前解決には、対応関係を列挙したhostsファイル、Windowsのコンピュータ名とIPアドレスを対応付けるWINS(Windows Internet Naming Service)など様々な方式があるが、最も汎用的でよく利用されるのはDNS(Domain Name System)による名前解決である。
DNSでは個々のドメイン名を管理するDNSサーバがサブドメインやホスト名、ホストのIPアドレスなどの情報を配信しており、利用者は当該ドメイン名を管理するDNSサーバへ問い合わて名前解決を行う。利用者側でサーバへの問い合わせを処理するソフトウェアをDNSリゾルバ(ネームリゾルバ)という。
プログラミングなどの名前解決
プログラムコードなどに登場する変数名や関数名などの識別子が重複している場合に、どの実体を指し示しているのかを判定することを名前解決という。プログラミング言語によって名前解決のためのルールが規定されている。コンパイル時に名前解決を行うことを静的名前解決、実行時に名前解決を行うことを動的名前解決という。
(2018.11.19更新)