ネットワーク関連の書籍や機器のマニュアルを読んでいると,不可解な日本語を目にすることがあります。その代表例が「名前解決」という用語です。「名前を解決する」とはどういうことなのでしょうか。

「名前」と「アドレス」を結びつける

 名前解決とは,人間がコンピュータに付けた名前を,コンピュータ同士が通信時に使うアドレスに変換することを指します。インターネットを例に考えてみましょう。

 インターネット上のコンピュータ同士が通信するためには,それぞれのコンピュータを区別できないといけません。そこで登場するのがIPアドレスです。IPアドレスは,202.214.174.119のような形で表される情報です。パソコンや経路途中のルーターは,このIPアドレスを頼りにパケットを目的地まで運びます。

 ところが,普段私たちがWebアクセスをするときは,アクセス先コンピュータのIPアドレスをあまり使いません。Webブラウザにwww.nikkeibp.jpなどの名前(ドメイン名)を入力すれば,目的のコンピュータにアクセスできるからです。

 このようにできるのは,インターネットにはドメイン名からIPアドレスを調べるDNS(domain name system)というしくみがあるからです。ユーザーがWebブラウザにドメイン名を入力すると,WebブラウザがDNSのしくみを使ってドメイン名に対応するIPアドレスを調べます。この検索処理が名前解決です。あとは,名前解決によってわかったIPアドレスを使ってコンピュータは通信処理を続けます。

 名前解決が必要な理由は,人間とコンピュータでは,ネットワーク上のコンピュータを区別する方法が違っているからです。

 IPアドレスは,コンピュータにとって都合のよい形で表された情報です。IPアドレスは32ビットと決められています。ビットを単位に扱うコンピュータにとっては,こうした固定長のデータは処理しやすいのです。例えば,コンピュータがIPパケットの中からIPアドレスだけを取り出すときも,先頭から何ビット目までを読めばよいかが決まっていますから簡単に処理できます。

 しかし,人間にとってみると,202.214.174.119のような数値情報から特定のコンピュータをイメージするのは難しいでしょう。単なる数字のら列なので,覚えるのもひと苦労です。人間は,www.nikkeibp.jpのような名前があってはじめて,「このアドレスは日経BP社のサーバーだな」などと理解できるのです。

人間とコンピュータの間を取り持つ

 このようにネットワークで通信するとき,コンピュータはコンピュータにとって都合のよい形(アドレス)で相手を区別し,人間は人間が理解しやすい形(名前)で区別しています。そこで,人間とコンピュータの間を取り持つ名前解決のしくみが必要になるわけです。人間とコンピュータの間を取り持って,最終的にコンピュータ同士が通信できるように処理する動作が,「解決」という言葉に込められているのです。