Co to jest DNS (system nazw domen) i jak to działa?
Opublikowany: 2020-12-09Jaka jest definicja DNS?
DNS, co oznacza system nazw domen, jest używany jako medium do tłumaczenia nazw domen na ich odpowiednie adresy IP, gdy klient inicjuje zapytanie o żądanie. DNS przechowuje bazę danych wszystkich nazw domen i ich adresów IP zarejestrowanych w sieci.
Można go traktować jako rejestr obecności na różnych stronach internetowych obecnych w Internecie. W przypadku DNS utrzymuje bazę danych wszystkich nazw domen internetowych i ich adresów IP (protokołu internetowego), które działają na całym świecie.
Historia DNS
Początki DNS sięgają czasów ARPANET, kiedy tylko kilka komputerów uzyskało wpis w bazie danych. Plik HOSTS.TXT był utrzymywany przez Stanford Research Institute, który zawierał dane wszystkich maszyn i został skopiowany przez wszystkie hosty w celu zachowania aktualizacji.
Jon Postel z Information Science Institute poprosił Paula Mockapetrisa o zaprojektowanie pierwszej implementacji DNS na Uniwersytecie Kalifornijskim w Irvine w 1983 roku. Następnie, w 1984 roku, czterech studentów stworzyło BIND (Berkeley Internet Name Domain) przez czterech studentów, Douglas Terry, Mark Painter, David Riggle i Songnian Zhou dla maszyn Unix.
Po kilku poprawkach dokonanych w 1985 roku przez Kevina Dunlapa, został on później przeniesiony na komputery z systemem Windows i nadal jest najczęściej używanym DNS na świecie.
Jak działa DNS? – Prosty przykład DNS
Aby zrozumieć podstawowe działanie DNS, poprowadzę Cię na przykładzie hotelu. Załóżmy, że musisz odwiedzić przyjaciela w jakimś hotelu. Co teraz zrobisz? Dojdziesz do recepcji hotelu i zapytasz recepcjonistę o numer pokoju znajomego.
Aby to zrobić, musisz podać imię znajomego recepcjonistce, która sprawdzi to samo w swojej bazie danych i poda numer pokoju znajomego. Zadzwoni również do twojego przyjaciela, aby potwierdzić, czy jest dostępny, czy nie.
Spróbuj teraz odnieść ten przykład do działania DNS. W tym przypadku jesteś klientem wysyłającym żądanie do serwera DNS, recepcjonista, a imię znajomego to nazwa domeny, a jego numer pokoju to jego adres IP.
Recepcjonistka wpisze imię twojego przyjaciela na swoim komputerze zawierającym bazę danych wszystkich gości, zwaną Przestrzeń Nazw Domen. Jeśli twoja koleżanka przebywa w hotelu, poda ci numer pokoju, w przeciwnym razie nie.
Podobnie dzieje się z działaniem DNS: kiedy wpisujesz nazwę strony w przeglądarce, przeglądarka wysyła zapytanie do serwera DNS. Jeśli nazwa domeny witryny jest zarejestrowana w bazie danych z DNS, odpowie adresem IP witryny, do której próbujesz uzyskać dostęp, np. 117.234.214.14.
Zrozumienie nazwy domeny i adresu IP
Teraz, jeśli zapytasz, co to jest domena? Służy do identyfikowania różnych witryn i usług w Internecie. Weź nazwę domeny, www.google.com. Konwencja nazewnictwa przesuwa się od prawej do lewej i odwrotnie w przypadku adresów IP. W nazwie domeny dla Google najpierw DNS sprawdzi com , co oznacza domenę komercyjną i jest domeną najwyższego poziomu.
Idąc dalej, Google jest subdomeną com, a następnie www jest subdomeną domeny Google. Kropka (.) służy do oddzielania domen od ich subdomen. Pełna nazwa domeny może składać się tylko z 253 znaków.
Teraz, jeśli ktoś chce poznać nazwę domeny zarejestrowaną w stosunku do adresu IP, poprosi serwer DNS o adres IP strony internetowej. Powiedzmy, że wysłany adres IP to 31.13.79.246, DNS najpierw sprawdzi 31, potem 13, potem 79 i wreszcie 246, stwierdzając, że adres IP należy do www.fb.com.
DNS przypomina hierarchiczną strukturę drzewa, a nie biologiczną. W komputerowych strukturach danych istnieje inne drzewo, w którym adres 31 należy do najwyższej pozycji drzewa i jest domeną podstawową w hierarchii, adresy 13, 79, 246 są kolejnymi poddomenami.
Liczba 246 odnosi się do serwera, na którym znajduje się strona www.fb.com. Wszystkie te domeny i subdomeny nie są tak skomplikowane, jak myślisz, ale zajmie to trochę czasu, jeśli jesteś nowy w tej koncepcji.
Przeczytaj także: Co to jest HTTP/2 i jak to działa
Ewolucja DNS
Wcześniej plik główny był utrzymywany przez jeden główny serwer, który był aktualizowany ręcznie wraz z wejściem każdej nowej strony internetowej, a następnie kopiowany był przez inne serwery. Ale ponieważ liczba stron internetowych rozrastała się z czasem, trudno było ręcznie utrzymywać bazę danych nazw domen. Odczuwano więc potrzebę zautomatyzowanego systemu, a następnie w nowszych generacjach DNS wprowadzono możliwość automatycznej aktualizacji bazy danych na całym świecie.
Jeśli zarejestrujesz nazwę swojej witryny internetowej u rejestratora nazw domen, zajmie to około 24 godzin, zanim Twoja witryna będzie obecna w bazach danych DNS na całym świecie.
Wprowadzono relacje serwera Master-Slave, w których serwer główny utrzymywał bazę danych, a serwer Slave musiał tylko skopiować bazę danych, aby zachować aktualizację. W celu ułatwienia dynamicznej aktualizacji bazy DNS wprowadzono mechanizmy NOTIFY oraz IXFR.
W NOTIFY, gdy serwer główny aktualizuje bazę danych, wysyła powiadomienie o aktualizacji do serwerów podrzędnych, które następnie kopiują bazę danych. IXFR (Incremental Zone Transfer) eliminuje potrzebę kopiowania całej bazy danych za każdym razem, gdy dokonano pojedynczego wpisu; umożliwia serwerom podrzędnym dodanie tylko zaktualizowanego wpisu do swojej bazy danych, zmniejszając w ten sposób wysiłek i przyspieszając dynamiczny proces aktualizacji.
Rozwiązywanie adresu IP
Odnosi się do procesu tłumaczenia nazwy domeny na odpowiedni adres IP. Przelicznik DNS to komputer kliencki, w tym przykładzie hotelu, który wysyła zapytanie do serwera DNS, czyli recepcjonisty. Istnieją dwie metody rozwiązywania problemów:
Rekursywne: Teraz, kontynuując przykład DNS hotelu, załóżmy, że hotel ma więcej niż jeden oddział w mieście, a recepcjonistka nie mogła znaleźć numeru pokoju znajomego. Następnie sprawdzi, czy koleżanka nie przebywała w innym oddziale, kontaktując się z obecną tam recepcjonistką.
Tak więc, jeśli serwer DNS nie może znaleźć żadnego adresu IP związanego z nazwą domeny wysłaną w zapytaniu, poprosi inne połączone serwery o rozwiązanie adresu IP dla żądanej domeny. Zbierze informacje z tych serwerów i odpowie Ci odpowiednim adresem IP.
Iteracyjne: załóżmy , że chcesz również wiedzieć, na którym piętrze znajduje się pokój przyjaciela, w tym celu ponownie zapytasz recepcjonistę. Podobnie, jeśli przelicznik DNS chce uzyskać więcej informacji o domenie, zainicjuje nowe zapytanie dla tego samego serwera DNS.
Pamięć podręczna DNS
Serwer DNS tymczasowo przechowuje zapytania żądań w postaci pamięci podręcznej, aby skrócić czas odpowiedzi, jeśli jakikolwiek inny program rozpoznawania nazw DNS zażąda tego samego zapytania. Czas, przez który informacje o buforze pozostają ważne, zwany TTL (Time To Live), jest ustawiany przez administratora dla każdego rekordu zapytania przechowywanego w buforze.
Aplikacje DNS
Pierwszym i najważniejszym zastosowaniem DNS jest nslookup, w którym serwer DNS odpowiada adresem IP nazwy domeny żądanej w zapytaniu. DNS jest używany przez różnych agentów przesyłania poczty (MTA), takich jak Microsoft Exchange Server i IBM Domino, w celu wydajniejszego dostarczania wiadomości e-mail.
DNS może również pomóc w identyfikacji adresów IP umieszczonych na czarnej liście w Internecie i uniemożliwić użytkownikom dostęp do nich. Pomaga to chronić użytkowników przed spamem i potencjalnymi atakami hakerskimi.
Dane dla każdej nazwy domeny i jej adresu IP są przechowywane na więcej niż jednym serwerze DNS, aby łatwo pobrać dane w przypadku wystąpienia problemów na jednym serwerze.
Luki w DNS
Zatrucie pamięci podręcznej: Nazywana również fałszowaniem DNS, jest to technika używana przez wrogich ludzi. Zmieniają dane w pamięci podręcznej przelicznika serwera DNS, renderując nieprawidłowy adres IP przelicznikowi DNS, być może w celu przekierowania użytkownika do maszyny hakera.
Odpowiedzi DNS nie są szyfrowane, co stwarza możliwość potencjalnych ataków. Jednak rozszerzenia DNSSEC (Domain Name System Security Extensions) są używane do renderowania kryptograficznie podpisanych odpowiedzi DNS.
Ataki phishingowe można zaplanować ze względu na wizualne podobieństwo niektórych znaków na ekranie użytkownika, takie jak litera l i 1, które na niektórych ekranach są takie same, przekierowując w ten sposób użytkowników na różne adresy IP, wyświetlając ten sam wygląd i działanie oryginalnej witryny .
Jak znaleźć swój DNS?
Zlokalizowanie adresu serwera DNS na twoim komputerze jest dość łatwym zadaniem. Jeśli używasz komputera z systemem Windows, przejdź do opcji Ustawienia > Sieć i Internet. Tutaj kliknij Właściwości swojego połączenia i przewiń w dół, aby znaleźć serwer DNS.
Użyj niestandardowego DNS
Co jeśli ten recepcjonista w hotelu jest bardzo powolny i wiele osób jednocześnie pyta o numery pokoi? Wtedy nie będzie w stanie szybko podać prawidłowego numeru pokoju. Możesz więc poprosić inną osobę w recepcji, aby zajęła się Twoim problemem. Podobnie, gdy łączymy się z Internetem, zazwyczaj korzystamy z serwera DNS dostarczanego przez naszych dostawców usług internetowych.
Ale co, jeśli domyślny serwer DNS nie odpowiada lub nie może obsłużyć dużej liczby zapytań w danym momencie? Takie przypadki tylko pogorszą twoje wrażenia z przeglądania. Ale nie martw się, jest inne wyjście. Możesz skonfigurować swój system tak, aby używał innego serwera DNS do rozwiązywania adresów IP.
Przeczytaj także: 5 najlepszych serwerów DNS - bezpłatny publiczny DNS dla szybkich połączeń
Niektóre popularne serwery DNS:
Publiczny DNS Google: Gigant wyszukiwania skonfigurował kilka poważnych, wysokiej jakości serwerów DNS, które są w stanie obsłużyć miliony żądań w dowolnym momencie. I są całkowicie bezpłatne, podobnie jak inne usługi Google. Możesz skonfigurować swoje urządzenie do korzystania z następujących adresów DNS:
8.8.8.8 i 8.8.4.4
OpenDNS: To prywatna firma, która zapewnia bezpieczny i niezawodny serwer DNS za darmo. Po prostu skonfiguruj następujące adresy na swoim komputerze:
208.67.222.222 i 208.67.220.220
Dla tych czytelników, którzy nie wiedzą, jak skonfigurować DNS na swoim komputerze, skorzystaj z poniższego łącza:
Zalecane: Jak uzyskać większą prędkość Internetu za pomocą hackowania DNS
Likwidacja
DNS jest tematem najwyższej wagi od czasu jego pojawienia się jako systematyczny sposób na utrzymywanie tak ogromnej bazy danych milionów stron internetowych i serwerów na całym świecie. Bez DNS spowodowałoby to cały bałagan we wszystkich nazwach domen i adresach IP, a odnalezienie google.com w przypadkowej kolekcji wszystkich nazw domen zajęłoby wieki.
DNS usprawnił proces rozwiązywania adresów IP i poważnie, gdyby nie było DNS, wiem, że spalilibyście swoje obwody w mózgu, aby zapamiętać wszystkie te adresy IP. I pozwól, że cię zapytam, czy pamiętasz adres IP Facebooka, o którym wspomniałem powyżej. I nie przewijaj teraz w górę, nawet ja tego nie pamiętam, ponieważ DNS jest po to, aby to dla nas zapamiętać. Musimy tylko wyrazić naszą wdzięczność za szlachetną pracę, jaką DNS wykonywał przez ostatnie trzy dekady, a która stała się szybsza, inteligentniejsza i bardziej niezawodna.
Obejrzyj ten film o DNS:
Czytaj dalej: Jak działa atak DDoS?
Więc teraz masz pojęcie o tym, czym jest DNS i jaki jest jego cel. Zostaw swoje przemyślenia w komentarzach i spróbuj skonfigurować serwer DNS za pomocą linku w artykule.
Jeśli podoba Ci się to proste wyjaśnienie, sprawdź naszą sekcję Krótkie bajty. Bierzemy złożone tematy techniczne i dzielimy je na krótkie, łatwe do zrozumienia artykuły.