Propagacja DNS - co to jest i ile to trwa?
Kamil Porembiński
Kamil Porembiński
29.01.2019

Propagacja DNS – co to jest i ile to trwa?

Nieodzownym elementem działania internetu jest system DNS. Najczęściej przypominamy sobie o nim, kiedy nie działa lub zwraca nam dziwne odpowiedzi. Jedną z takich sytuacji może być Propagacja DNS. Czym ona jest i czy faktycznie trwa 30 godzin, a może 24? A może dłużej?!

Podcast

If you would rather listen to us than read the article, below you will find our podcast. This is the audio version of this article. You can listen to it through the system’s „Podcasts” application on iOS, your choice of Android, iTunes, YouTube, SoundCloud i Spreaker.

Co to jest serwer DNS?

Aby zrozumieć propagację DNS, należy zacząć od początku. W poprzednim kompendium pisaliśmy na temat domeny internetowej. Korzystając z Internetu, posługujemy się domenami, a komputery używają adresu IP. I tutaj przydałby się „tłumacz”, który przetłumaczy domenę internetową na adres IP serwera. I takim właśnie tłumaczem jest serwer DNS.

Serwery DNS są połączone w jedną wielką sieć, począwszy od serwerów u Twojego dostawcy internetowego, przez usługodawcę hosting aż po główne serwery, zwane Root serwerami DNS.

Mapa root serwerów DNS. Na dzień 12.12.2019 działa 1030 serwerów u 12 niezależnych operatorów.
Mapa root serwerów DNS. Na dzień 12.12.2019 działa 1030 serwerów u 12 niezależnych operatorów.

Jak przeglądarka korzysta z DNSów?

Wszystko zaczyna się w momencie wpisania adresu domeny internetowej do przeglądarki, gdzie chwilę potem pojawi się strona www. Przez te kilka milisekund Twój komputer oraz inne urządzenia sieciowe, wykonają dziesiątki zapytań DNS by przeglądarka mogła zacząć wczytywać stronę. Przyjrzyjmy się temu bliżej.

Jak działa przeglądarka i serwery DNS?
Jak działa przeglądarka i serwery DNS?

Co się dzieje krok po kroku w uproszczeniu:

  1. Przeglądarka internetowa odpytuje system operacyjny o adres IP,
  2. System operacyjny sprawdza w cache (pamięć podręczna), czy zna adres IP strony. Być może wcześniej już na niej byłeś i Twój komputer zna adres. Jeżeli nie to pyta się serwera DNS wpisanego w konfigurację systemu,
  3. Najczęściej takim pierwszym serwerem DNS jaki jest wpisany w komputerze jest router w domu lub biurze. Router dokładnie to samo co komputer. Sprawdza w swoim cache (pamięć podręczna), czy adres IP dla danej domeny jest znany. Być może ktoś wcześniej odwiedzał stronę i adres został zapamiętany,
  4. Jeżeli router nie zna adresu IP, to swoje pytania kieruje do serwerów DNS dostawcy Internetu. Również tutaj dostępny jest cache,
  5. Idąc dalej, serwery DNS dostawcy internetu pytają kolejne serwery DNS w tym i root serwery,
  6. W końcu zostanie uzyskana odpowiedź, że dana domena obsługiwana jest przez konkretny serwer DNS,
  7. Zdefiniowany serwer DNS dla domeny, odpowie adresem IP, który wróci do przeglądarki internetowej,
  8. W zależności od ustawień, wszystkie serwery DNS zapamiętają adres IP i zapiszą go sobie w cache.

Jak widzisz, zanim Twoja przeglądarka znajdzie adres IP strony, musi ona przejść skomplikowaną drogę, która w zależności od tego, co jest w pamięciach podręcznych, może być krótka lub bardzo długa.

Przebieg trasy zapytań DNS dla thecamels.pl. Wyniki z dns.squish.net.
Przebieg trasy zapytań DNS dla thecamels.pl. Wyniki z dns.squish.net.

A co jeśli strona internetowa zmieniła serwer i ma inny adres IP? Albo domena została przeniesiona do innego operatora i ma inne serwery DNS? Odpowiedzią na to pytanie będzie właśnie propagacja DNS.

Co to jest propagacja DNS?

Krótko mówiąc, jest to rozpowszechnienie informacji w Internecie, że dana domena ma nowy adres IP lub obsługują ją inne serwery DNS. Taka informacja musi roznieść się w sieci, tak aby każdy serwer DNS znał prawidłową odpowiedź. A jak dobrze wiesz, sieć Internet jest duża, zatem rozniesienie takich informacji może potrwać bardzo długo. I to właśnie jest propagacja DNS.

Z propagacją mamy również do czynienia zaraz po rejestracji domeny — Internet musi dowiedzieć się, że taka domena się w ogóle pojawiła, podczas przywrócenia jej do działania po np. wykupie z kwarantanny, lub po odwieszeniu jej, kiedy abonent dokonał poprawnej weryfikacji.

Jak w praktyce wygląda propagacja DNS?

Jeżeli dokonamy delegacji domeny na inne serwery DNS, które będą kierowały na nowy hosting lub serwer, możemy spodziewać się kilku nieporządanych efektów propagacji.

Ponieważ nowe serwery DNS rozwiązują na inne IP serwera niż poprzednie, część użytkowników trafi na nowy serwer, a część na stary.

Podobnie jest w przypadku poczty elektronicznej. Część wiadomości będzie dostarczana na stare serwery a część na nowe. Dlatego podczas migracji ważne jest, aby dokonywać synchronizacji poczty przez cały okres propagacji zmian w DNSach.

Kolejną rzeczą, jaką można wykonać, jest skonfigurowanie starych serwerów DNS, aby kierowały już na nowe serwery. Takie rozwiązanie, zdecydowanie szybciej skieruje użytkowników na nowy hosting.

Co wpływa na czas propagacji DNS?

Czas propagacji można tuningować i nieco go przyspieszyć. Część rzeczy możemy wykonać sami, a część jest już w gestii dostawcy np. Internetu.

  • Parametr TTL (ang. Time To Live) – ustawiany jest po stronie serwera DNS, który zarządza domeną. Określa on czas przechowywania informacji na temat domeny w pamięci podręcznej. Im jego wartość jest mniejsza, tym częstsze będzie sprawdzanie aktualnych rekordów dla domeny. Niestety, ten parametr jest bardzo często ignorowany przez wielu dostawców Internetu.
  • Odświeżanie rekordów DNS w rejestrze domeny – na tę wartość już nie mamy wpływu. Dla przykładu rejestr domen .pl, odświeża dane co 15 minut, a rejestry domen globalnych średnio do parę godzin.
  • Pamięć podręczna na lokalnym komputerze – Twój komputer również może przechowywać w cache adresy IP odwiedzanych stron bez konieczności odpytywania serwera DNS. Cache ten możemy samodzielnie wyczyścić za pomocą odpowiednich komend w zależności od tego jaki posiadamy system operacyjny.
  • Odświeżenie cache w DNSach Google – firma udostępnia narzędzie Flush Cache, które pozwala na odświeżenie cache w ich DNSach.

Jak sprawdzić postęp propagacji DNS?

W Internecie możemy znaleść sporo narzędzi, które pokażą nam jak odbywa się delegacja DNS. Najczęściej używanym przez nas jest whatsmydns.net. Na stronie można sprawdzić na jakich serwerach DNS leży domena oraz na jakie rekordy są widoczne z kilkunastu lokalizacji na świecie. Należy pamiętać, że narzędzia dają jedynie pogląd na propagację zmian.

Przykładowa zmiana serwerów DNS dla domeny thecamels.pl.
Przykładowa zmiana serwerów DNS dla domeny thecamels.pl.

Podsumowując, propagacja DNS jest zależna od wielu czynników, w tym ustawień serwerów DNS na całym świecie oraz lokalnych komputerów.