68user's page 掲示板

Prev< No. 1007> Next  [最新発言に戻る] [過去ログ一覧]
No. 1007 # 68user 2000/07/25 (火) 16:27:35
flock の件は後程。

> rlogin,ftp,telnetなどで、ホスト名を指定した時に、どのようにして、
> DNSサーバーとやり取りをしているのですか?
rlogin/ftp/telnet などは、ユーザからホスト名を受け取ると
gethostbyname(3) などを使って、ホスト名から IP アドレスを
得ようとします。

gethostbyname の内部では、ソケットを使って DNS サーバに
アクセスします。で、DNS サーバは UDP の port 42 を
listen していて (UDP だから listen という表現は変?)、
クライアントからの問い合わせに応じて IP アドレスを
教えたり、他の DNS サーバに問い合わせたり、見付から
ないよと答えたりします。

こういう問い合わせを行う DNS クライアント (この例では
gethostbyname) のことを resolver と言います。resolver は
概念的なもので、問い合わせを一手に引き受ける resolver
サーバのようなものがあるわけではありません。ただのライブラリです。
なので、自分で外部の 42/udp にアクセスする DNS クライアントを
書く事もできます。

> DNSサーバーはhttpみたいなデーモンが動いているですか?
UNIX 界で DNS サーバとして有名なのは bind です。
プログラム名は named。
# apache と httpd の関係と似ています。

Prev< No. 1007> Next  [最新発言に戻る] [過去ログ一覧]