Niestety odpowiedź brzmi „to zależy”. Czynniki, od których zależy, będą się różnić w zależności od domeny i sposobu konfigurowania serwerów będących właścicielami, a także sposobu konfigurowania lokalnego DNS.
Po pierwsze, jeśli chodzi o zwracane rekordy NS: idealnie można losowo uporządkować kolejność zwracania tych rekordów, więc kolejność może się różnić przy każdym żądaniu. Z drugiej strony nie jest to zrobione przez wszystkie implementacje DNS, więc możesz uzyskać listę uporządkowaną statycznie. Chodzi o to, że nie możesz być pewien.
Następnie niektóre implementacje DNS będą wysyłać zapytania do każdego NS równolegle i używać jednej z tych odpowiedzi, które będą pierwsze. Inne trafią w każde z nich, ustalą najszybszą liczbę żądań i skorzystają z tego. Lub może po prostu kradnąć.
Istnieje wiele specyfikacji RFC dla DNS, dwie z nich są bardziej przydatne:
http://www.faqs.org/rfcs/rfc1912.html
http://www.faqs.org/rfcs/rfc1033.html
Zdaję sobie sprawę, że jest to coś bez odpowiedzi, bez niczego ostatecznego do odebrania, ale biorąc pod uwagę powyższe, jedynym prawdziwym sposobem na określenie zachowania dla danej domeny jest przetestowanie.
Najczęstsze wdrożenie, jakie widziałem na poziomie klienta, takie jak dostawcy usług internetowych na całym świecie, jest następujące:
Ten proces powtarza się dla KAŻDEGO wyszukiwania rekordów. Jednak tylko pierwsze zapytanie wykonuje całą pracę; adresy IP serwera nazw zostaną następnie zbuforowane, a kolejne zapytania do serwera DNS buforującego ISP będą mogły szybko przejść do kroku 8.
Teraz, jeśli chodzi o randomizację kroku 8, działa ona na poziomie rekordu. Powiedzmy, że abonent Internetu szerokopasmowego tego dostawcy zapytał o następujące rekordy:
Każdy rekord będzie traktowany jako osobny „byt”, niezależnie buforowany i przeglądany. Powiedzmy, że subskrybent i dostawca usług internetowych nigdy wcześniej nie napotkali domeny i oba mają całkowicie zerowe rekordy buforowane. Wyszukiwanie może wyglądać następująco:
Ilekroć buforowane rekordy wygasają miękko, proces jest powtarzany, więc nawet nie wiesz, że kolejne żądania dla tego rekordu będą ponownie korzystać z tego samego serwera.
Dlatego Twoim absolutnym największym celem jest upewnienie się, że wszystkie Twoje serwery DNS są całkowicie zsynchronizowane ze sobą, doskonale odzwierciedlając każdy rekord DNS na każdym serwerze. Nigdy nie wiadomo, na który serwer trafi klient DNS i nie można polegać na żadnym zamówieniu. Nie ma takiej rzeczy.
Ponadto, jak wspomniał Adam C., same serwery DNS na poziomie serwera (example.com) mogą zwrócić rekordy NS i losowo uporządkować ich kolejność. Zwykle zwykłe serwery DNS losowo przydzielają swoje rekordy NS z niewielkim prawdopodobieństwem, że słaba implementacja DNS zawsze wybiera pierwszy zwracany serwer nazw. Jednak serwery nazw ROOT TLD (wspomniane wcześniej) nigdy nie randomizują listy, a ich lista jest naprawdę ważna, jeśli chodzi o rozwiązanie domeny. Dlatego większość implementacji wybiera losowy serwer z list serwerów nazw, aby uniknąć uderzenia w ten sam serwer i przeciążenia go.
W porządku, to jest twój element w działaniu DNS i o czym powinieneś pamiętać.
Uwaga: Wyższe cele w życiu niż zarządzanie DNS mogą być dostępne, ale są sprzedawane osobno, użyj swojej wyobraźni. ;-)
źródło