ドメイン名をIPアドレスに変換する機能(名前解決)を持つサーバ。DNSサービスを提供しており、ドメイン名を利用して機器にアクセスする場合は、最低一つは必要となる。
DNSサーバには、次の二種類が存在する(詳細は後述)。
これに対し、クライアント側に対応するものが「DNSスタブリゾルバ」と呼ばれる。
DNSサーバに問い合わせるためにはDNSサーバのIPアドレスを知らねばならない。利用者がオペレーティングシステムに手動設定するほか、DHCPやIPCPといったプロトコルではDNSサーバのIPアドレスを通知する機能がある。
自分の管理するゾーンに対する問い合わせにのみ応答する。
他のゾーンにあり、自身では名前解決が出来ない場合は、他のDNSサーバに問い合わせたりはせず、そのまま「知らない」と返答する。
クライアント側(DNSスタブリゾルバ)から「再帰検索要求」(Recursive)を受けると、名前解決が完了するまで他のDNSサーバへの問い合わせを「反復検索」(Iterative)として続けるもの。得られた結果は、DNSスタブリゾルバへと返答される。
他所への検索を続ける処理は負荷が高く、時間も掛かりがちであるので、得られた結果は一定時間内部に保持(キャッシュ)され、その期間中は再利用される。このため「DNSキャッシュサーバ」とも呼ばれている。
最近では、DNSキャッシュサーバと呼ぶことの方が多いようである。
アプリケーションと、DNSフルサービスリゾルバの中間に位置する層である。
一般には端末側で動作するため、サーバというよりはクライアント側に分類される。単に「リゾルバ」と呼ばれることも多い。
名前解決の要求は二種類が存在する。
様々なものがある。最も有名なものはBINDだが、セキュリティ面の問題や、宗教上の理由により、他の実装を使うこともある。
DNSコンテンツサーバとDNSフルサービスリゾルバが一体化しているものもあれば、分離されているものもある。