Rozumiem, że podstawową funkcją DNS jest zapewnienie usługi nazewnictwa / mapowania między nazwami domen (np. blah-whatever.com
) A adresami IP (np. 100.2.3.4 ).
Co więcej, rozumiem, jak działają internetowe serwery DNS, że po zmianie rekordu mapowania domeny / adresu IP (powiedzmy, zmiana blah-whatever.com
na punkt teraz na 105.2.3.4 itd.), Zmiana ta musi zostać rozpowszechniona na każdym serwerze DNS na świecie przed zmianą można powiedzieć, że jest „kompletna”. Ten okres rozmnażania może czasem trwać do 24 godzin.
Na początek, jeśli cokolwiek, co do tej pory powiedziałem, jest błędne lub nieprawidłowe, zacznij od poprawienia mnie!
Zakładając, że mam mniej więcej rację, nie rozumiem, w jaki sposób firmy takie jak CloudFlare czy DynamicDNS mogą oferować usługi typu „natychmiastowe przejście”, dzięki którym zmienisz z nimi swój rekord DNS i - boom - zmiana zacznie obowiązywać natychmiast.
Rozumiem, że istnieje coś o nazwie „TTL” (czas życia, jak sądzę?!?), Który odgrywa rolę w tej funkcji natychmiastowego najazdu, ale ponieważ jestem już niejasny, jeśli chodzi o możliwość rozpoczęcia, trudno jest zrozumieć, co ten TTL jest lub w jakim celu służy.
Pytam więc: co takiego jest w Dynamic DNS i jego konkurentach, który pozwala im na natychmiastową zmianę mapowań DNS (bez 24 godzin na propagowanie zmian DNS jak wszyscy inni) i jak TTL pasuje do tego procesu? Z góry dziękuję.
źródło
Masz trochę nieporozumień, więc postaram się wyjaśnić cały proces. (Jestem dobry w szczegółach, ponieważ zaangażowałem się w obsługę publicznej dynamicznej usługi DNS).
Załóżmy, że twoja domena to example.com , a na przykład domena example.com hostowana przez jakąś dynamiczną firmę DNS, nazwijmy ją lightfastdns.net (nazwa fikcyjna). Twoja domena zawiera rekord DNS - somehost.example.com , który obecnie wskazuje na 1.1.1.1 .
Kiedy dokonujesz zmiany w rekordzie DNS, zmiana ta jest najpierw przesyłana do jakiegoś serwera pośredniego, obsługiwanego przez lightfastdns.net , np . Updates.lightfastdns.net . Dzieje się tak niemal natychmiast (w ułamku sekundy). Możesz przesłać aktualizację za pomocą interfejsu internetowego lub klienta aktualizacji dynamicznych lub za pomocą interfejsu API. To nie ma znaczenia, w każdym razie ta aktualizacja pojawi się na serwerze obsługującym aktualizacje DNS.
Ten serwer aktualizacji przekazuje zaktualizowany rekord (powiedzmy 1.2.3.4 ) do „ głównego ” serwera DNS dla Twojej domeny. Ten serwer DNS jest również obsługiwany przez lightfastdns.net . Jak szybko to się dzieje: zależy od tego, jak dostawca DNS zaprojektował swoje oprogramowanie. (Może to być natychmiastowe i co 24 godziny. Na przykład gandi.net wypycha aktualizacje DNS raz na godzinę.) Oczywiście, nasza lightfastdns.net zrobi to natychmiast.
Ten główny serwer DNS będzie przekazywał aktualizacje do podrzędnych serwerów DNS dla domeny example.com . Te serwery są również obsługiwane przez tę samą firmę lightfastdns.net . Jak szybko to się dzieje: dzięki nowoczesnemu oprogramowaniu master natychmiast wyśle wiadomość NOTIFY do slave'ów i natychmiast otrzyma zaktualizowany rekord od master. ze starszym oprogramowaniem mieliśmy wartości REFRESH i RETRY w rekordzie SOA, ale dzisiaj jest to rzadko istotne. Oczywiście, nasza witryna lightfastdns.net implementuje NOTIFY, a aktualizacje rozprzestrzeniają się natychmiast.
Teraz mamy to, że wszystkie „autorytatywne” serwery dla twojej domeny otrzymały zaktualizowany rekord ( 1.2.3.4 ). W przypadku lightfastdns.net zajęło to około dwóch sekund.
Teraz przeprowadzimy się do domu Iwana w Rosji, a Ivan chce otworzyć „ somehost.example.com ” w swojej przeglądarce. Jeśli nigdy wcześniej tego nie otwierał, jego przeglądarka nie zna adresu, więc przeglądarka zapyta system operacyjny. Ale jeśli ostatnio odwiedził stronę, adres może nadal być przechowywany w przeglądarce i użyje starego (przestarzałego) adresu! Jak długo ? - Zależy od przeglądarki, na przykład Google Chrome przechowuje rekordy DNS tylko do 60 sekund. Mamy do 60 sekund opóźnienia . z tego powodu powiedziałbym, że zmiana DNS nie została jeszcze rozpowszechniona w tej przeglądarce.
W każdym razie po 60 sekundach lub natychmiast przeglądarka ostatecznie poprosi system operacyjny o podanie adresu. System operacyjny może już znać (starą, przestarzałą) odpowiedź i zwrócić ją, w tym przypadku powiedziałbym, że nowy rekord nie rozprzestrzenił się jeszcze na system operacyjny Iwana. Jak długo system operacyjny będzie przechowywał starą wartość - w nowoczesnych systemach operacyjnych kontrolowanych przez parametr TTL . TTL w DNS określa, jak długo rekord może być przechowywany w pamięci podręcznej. Nasze lightfastdns.net pozwoliło na użycie dość niskiego TTL - 30 sekund, więc otrzymaliśmy nowe opóźnienie do 30 sekund, ogólnie - do tej pory 90 sekund .
Jeśli system operacyjny nie zna odpowiedzi lub jeśli znana odpowiedź jest teraz nieaktualna przez TTL, system operacyjny zapyta o usługę DNS (ISP ISP przypisał mu usługę DNS dns.moscow-telecom.ru ). Tutaj stary rekord może być buforowany do TTL sekund lub dns.moscow-telecom.ru może nie znać adresu. Otrzymujemy kolejne 30 sekund, ponieważ dns.moscow-telecom.ru również buforuje DNS nie dłużej niż wartość TTL. Mamy 120 sekund opóźnienia. Tak się nazywało, że nowy rekord DNS nie rozprzestrzenił się jeszcze na serwery DNS firmy Moscow-Telecom .
Jeśli serwer DNS ISP nie zna odpowiedzi, lub jeśli odpowiedź nie wiedział to już nieaktualne, bo to TTL wygasła - dns.moscow-telecom.ru poprosi jednego z autorytatywnych serwerów DNS dla example.net (czy je pamiętasz?). Oni otrzymali zmianę około 118 sekund temu i zwrócą nową odpowiedź, ta odpowiedź zostanie natychmiast wysłana łańcuchem do resolvera DNS, systemu operacyjnego i przeglądarki Ivana.
Dlatego propagowanie rekordu trwało od 2 do 120 sekund, w zależności od stanu różnych pamięci podręcznych. Dłuższe TTL - mogą wystąpić dłuższe opóźnienia.
Aby go ukończyć - niektórzy dostawcy usług internetowych przez długi czas naruszają standardy i zapisują pamięć podręczną. Niektóre starsze systemy operacyjne długo zachowywały stary rekord, a także starsze przeglądarki. Ale dla większości użytkowników będzie działać zgodnie z oczekiwaniami.
źródło
Nie. Zmiana nie musi się rozprzestrzeniać na każdy serwer DNS na świecie .
Jeśli coś zmienisz i ktoś zapyta o zmieniony zapis na twoim serwerze DNS, wynik jest natychmiastowy.
Problem polega na tym, że wcześniej sprawdziłeś tę nazwę i została ona buforowana. Otrzymasz stary adres IP, aż pamięć podręczna wygaśnie. W DNS możesz ustawić, jak długo stare zapytanie jest ważne, a okres ten jest często ustawiony na kilka dni. W przypadku DynDNS jest zwykle ustawiony na niższą wartość, ale nie wszystkie programy rozpoznające DNS to szanują.
źródło