Jak działają serwery DNS?

14

Wiem, że nazwa domeny jest rozpoznawana przez serwer DNS na adres IP, który jest następnie używany do uzyskania dostępu do żądanego serwera. Jestem trochę zawstydzony, że nie znam niektórych szczegółów tego, jak to działa.

  • Aby mój komputer poprosił usługę DNS o rozpoznanie domeny, mój serwer musi znać serwer DNS. Nigdy nie powiedziałem jednoznacznie mojemu komputerowi o jakichkolwiek serwerach DNS, więc skąd ma wiedzieć, z którego serwera DNS powinien korzystać? Czy to dostawca usług internetowych w jakiś sposób przekazuje te informacje do mojego komputera?

  • W tym przypadku, gdzie znajdują się te serwery DNS? Czy mój dostawca usług internetowych ma jakieś serwery DNS działające gdzieś, z których korzystają wszyscy jego klienci (dostawcy usług internetowych)?

  • Serwer DNS, z którego korzysta mój komputer, musi znać wszystkie domeny, aby móc je rozwiązać, w jaki sposób są aktualizowane / utrzymywane jego rekordy?

  • Czy istnieje jakaś jednostka centralna / rejestr / ..., która karmi zmiany serwera DNS, które wystąpiły?

  • Jeśli gdzieś zamawiam nazwę domeny, sprzedawca musi ustanowić połączenie między adresem IP a nazwą domeny, którą mi sprzedał. W jaki sposób aktualizowane są wszystkie serwery DNS, aby wiedzieć o tym łączu? Innymi słowy, jakie działania podejmuje sprzedawca, aby poinformować „internet”, na który wskazuje teraz ta domena?

Wiem, że to wydaje się być szeregiem pytań, ale myślę, że to tylko różne aspekty tej samej historii. Czy ktoś może mi powiedzieć, jak to wszystko działa razem?

Asciiom
źródło

Odpowiedzi:

15

Twój komputer ma listę serwerów DNS, które mogą zapytać o dodatkowe informacje. W systemie unix lub linux jest to przechowywane w /etc/resolv.conf. W systemie Windows można to skonfigurować w ustawieniach sieciowych. Często serwer DNS będzie dostarczany przez serwer DHCP, być może wraz z innymi ustawieniami, takimi jak domena domyślna, serwery proxy itp.

Lokalizacja używanego serwera DNS nie ma większego znaczenia. Tak długo, jak twój komputer ma adres IP i działającą domyślną trasę (tzn. Możesz pingserwować serwer DNS), powinieneś być w stanie wykonywać zapytania DNS.

Serwery DNS nie muszą znać „wszystkich” domen. Muszą tylko wiedzieć, kto jest „autorytatywny”, czego uczy się z zestawu serwerów „root”. Każdy serwer DNS ma listę serwerów „root” i ta lista zmienia się rzadko. Na jednym z moich serwerów DNS skonfigurowano 18 serwerów głównych, a ta konfiguracja pojawiła się, gdy dwa lata temu zainstalowałem serwer DNS, a jeśli lista serwerów głównych uległa zmianie od tego czasu, dostępnych jest wystarczająco dużo z nich, że nie zauważyłem to.

Mój serwer DNS, gdy zostanie poproszony o rozwiązanie domeny, której nie zna, wysyła zapytanie do serwera głównego, aby dowiedzieć się, który inny serwer DNS jest autorytatywny dla domeny. Odpowiedź, którą otrzymuje, może zawierać dodatkowe rekordy „NS” i być oznaczona jako nieautorytatywna, w którym to przypadku mój serwer DNS wie, że musi „podążać za łańcuchem” i wykonać nowe zapytanie do nowego serwera. W końcu znajduje serwer DNS, który zapewnia wiarygodne informacje, i można zadawać zapytania, które nie są tylko rekordami NS. A (adres) i MX (wymiana poczty) są oczywiście dwoma najbardziej powszechnymi.

Każda TLD (domena najwyższego poziomu), taka jak COM, NET, ORG, CA, UK itp., Prowadzi własny rejestr subdomen. („Subdomena” to dowolna domena w innej domenie, więc „example.com” to subdomena w „com”, a „com” to nawet subdomena w „.”, „Katalogu głównym”.) Reguły dla każdego rejestru mają zastosowanie tylko do administrowanej przez siebie TLD - to znaczy dla każdego TLD z kodem kraju istnieje zupełnie inny zestaw kryteriów, a „ogólne” TLD są administrowane przez różne organizacje z różnymi politykami. Ale wszystkie utrzymują serwery DNS dla swojej TLD, które z wiersza poleceń można zobaczyć za pomocą podstawowych narzędzi zapytań DNS:

[ghoti@pc ~]$ host -t ns ca.
ca name server c.ca-servers.ca.
ca name server e.ca-servers.ca.
ca name server z.ca-servers.ca.
ca name server a.ca-servers.ca.
ca name server f.ca-servers.ca.
ca name server sns-pb.isc.org.
ca name server j.ca-servers.ca.
ca name server k.ca-servers.ca.
ca name server tld.isc-sns.net.
ca name server l.ca-servers.ca.
[ghoti@pc ~]$ host -t ns info
info name server c0.info.afilias-nst.info.
info name server d0.info.afilias-nst.org.
info name server b2.info.afilias-nst.org.
info name server b0.info.afilias-nst.org.
info name server a2.info.afilias-nst.info.
info name server a0.info.afilias-nst.info.
[ghoti@pc ~]$ 

Przy zakupie domeny z rejestratora (wśród których jest wiele), która składa rejestratorów informacje o domenie do rejestru (z których jest tylko jeden za TLD). Obowiązkiem każdego rejestru jest utrzymanie listy zarejestrowanych domen w ramach ich TLD oraz utrzymanie serwerów DNS, które udostępniają te informacje innym serwerom.

ghoti
źródło
-1

Serwer DNS działający jako protokół jest zbiorem reguł wymiany danych w Internecie w sieci prywatnej, takich jak protokół TCP / IP. Po prostu zmienia przyjazną domenę w protokół internetowy. Może to być dowolna nazwa domeny zakupiona przez właściciela witryny od dowolnego wiarygodnego dostawcy domeny, takiego jak domainia lub inny. Weźmy przykład domeny jako „myweb.com”, która z kolei zostanie przekonwertowana na IP, np. 71.12.252.1, aby komputer mógł być rozpoznawany przez sieć.

Adrienne Hansen
źródło
1
Przykro mi to mówić, ale twój post jest bardzo trudny do zrozumienia. Czy możesz spróbować powtórzyć je i zwrócić większą uwagę na znaczenie słów? Wtedy ktoś prawdopodobnie mógłby pomóc w dopracowaniu tekstu, poprawiając drobne błędy.
pabouk