Serwer DNS zapewnia rozpoznawanie nazw przy użyciu BIND (ang. Berkeley Internet Name Domain) lub inaczej demona nazw, który często określany jest mianem named (wym. name-dee). BIND został pierwotnie opracowany przez czterech studentów Uniwersytetu Kalifornijskiego w Berkley na początku lat 1980-tych. Jak pokazano na rysunku, format komunikatu DNS używany przez BIND to najpowszechniej stosowany w format DNS w Internecie.
Serwer DNS przechowuje różne typy rekordów zasobów (ang. resource record, RR) używanych do tłumaczenia nazw. Rekordy te zawierają nazwę, adres oraz typ rekordu.
Przykładowe typy rekordów:
- A - Adres urządzenia końcowego
- NS - Autorytatywny serwer nazw
- CNAME - Umowne nazwy serwerów wraz z ich pełnymi nazwami domenowymi (ang. canonical name lub Fully Qualified Domain Name); używane w sytuacji, gdy wiele usług ma ten sam adres sieciowy, ale każda usługa ma swój własny wpis w DNS
- MX - Rekord wymiany poczty; przyporządkowuje nazwę domeny do listy serwerów odbierających pocztę
Kiedy klient wykonuje zapytanie, proces serwera BIND najpierw przegląda własne rekordy w celu odnalezienia nazwy. Jeśli nie jest w stanie rozpoznać nazwy wykorzystując swoje zapisane rekordy, kontaktuje się z innymi serwerami w celu znalezienia nazwy.
Żądanie może być przesyłane dalej do kilku serwerów, co wydłuża czas i zajmuje pasmo. Z chwilą, gdy dopasowanie zostanie odnalezione, informacja zostaje zwrócona do serwera pytającego na początku. Serwer tymczasowo przechowuje adres numeryczny, który został dopasowany do nazwy, w pamięci podręcznej (ang. cache).
Jeśli ta sama nazwa jest żądana ponownie, już pierwszy serwer może zwrócić adres dzięki przechowywaniu wartości w pamięci podręcznej. Przechowywanie adresów w pamięci podręcznej redukuje ruch związany z zapytaniami DNS oraz obciążenie serwerów położonych wyżej w hierarchii. Usługa klienta DNS, na komputerze PC z systemem operacyjnym Windows, optymalizuje wydajność procesu odwzorowania nazw DNS poprzez przechowywanie poprzednio odwzorowanych nazw w pamięci. Polecenie ipconfig /displaydns wyświetla wszystkie przechowywane wpisy DNS w systemie Windows.