DNS

На разположение

История на DNS

През 70-те години на миналия век хората се умориха да запомнят IP addressите на сървърите, до които искат да имат достъп. В същото време се появи идеята да се използва по-просто и по-запомнящо се име instead of цифров address на хост.

Работниците от Станфордския изследователски институт излязоха с текстов файл HOSTS.TXT , който съдържаше списък с имена на низове и съответните им цифрови addressи на компютри в ARPANET.

Адресите бяха зададени ръчно. За да поискат име на хост и address or да добавят компютър към главния файл, потребителите се свързаха с мрежовия информационен център на Станфорд по телефона в работно време.

До началото на 80-те години поддържането на единна централизирана хост table стана бавно и тромаво и нарастващата мрежа се нуждаеше от автоматична система за именуване, за да се справи с технически и кадрови проблеми.

През 1984 г. четирима студенти от UC Berkeley написаха първата version на йерархичната система за име на домейн. Сега се използва широко, особено в Unix системи, и все още е най-широко използваният DNS софтуер в Интернет.

Въведение в DNS

Domain Name System (DNS) е система за разпространение за съхраняване и извличане на информация за домейни. Най-често се използва за получаване на IP address от име на хост (компютър or устройство), получаване на информация за маршрутизиране на поща и/or обслужване на хостове за протоколи в домейн.

Системата е организирана под формата на определена йерархия от DNS сървъри, взаимодействащи по определен протокол. Основата за разбирането на DNS е разбирането на йерархичната структура на името и зоните.

Всеки сървър, отговорен за домейн зона, може да прехвърли отговорността за допълнителна част от домейна на друг сървър, което прави възможно възлагането на отговорност за релевантността на информацията на сървърите на различни организации, които отговарят само за "своята" част от име на домейн.

DNS системата съдържа йерархия от DNS сървъри, съответстващи на йерархията на зоните. Всяка зона се поддържа от поне един авторитетен DNS сървър, който хоства информация за домейна.

важно! Името и IP addressът не са непременно свързани едно към едно. Един IP address може да има много имена на домейни, което ви позволява да поддържате много уебсайтове на един компютър (това се нарича споделен хостинг ).

Може да бъде и обратното - много IP addressи могат да бъдат свързани с едно име на домейн: това ви позволява да създадете балансиране на натоварването и се използва активно в CDN мрежи .

За повишаване на стабилността на системата се използват много сървъри, съдържащи идентична информация, като протоколът има средства за поддържане на синхронизма на информацията, разположена на различни сървъри. Има 13 основни сървъра, addressите им практически не се променят.

Интересно! DNS протоколът използва TCP or UDP порт 53, за да отговори на заявки. Традиционно заявките и отговорите се изпращат като една UDP дейтаграма. TCP се използва, когато размерът на данните за отговор надвишава 512 byteа.

DNS записи

DNS сървърът съхранява набор от параметри за всяко име на домейн. Това са записи за името на домейна, неговия IP address, Howто и различна сервизна информация.

Има общо няколко десетки такива записи, така че ще разгледаме само най-популярните от тях:

А Адрес IP address
АААА Адрес IPv6 Адрес във формат IPv6
CNAME Канонично име Канонично име за псевдоним
MX обменник на поща Адрес на пощенски шлюз за домейн
НС сървър за имена Адресът на възела, отговорен за домейн зоната
SOA Начало на властта Индикация за авторитет на информацията
SRV избор на сървър Указване на сървърни местоположения за услуги
PTR показалец Съвпадение на име на address - Обратно съвпадение за A и AAAA
текст текстов низ Записвайте произволни двоични данни, до 255 byteа

Най-интересните тук са:

  • Записът A ви позволява да посочите IP address, който съответства на домейн.
  • CNAME ви позволява да зададете синоним за името, например www.codegym.cc == codegym.cc.
  • MX записът съдържа информация за пощенския сървър: Howво да направите, ако писмо пристигне на xxx@codegym.cc.
  • NS - показва address на DNS сървъра, който съдържа информация за този домейн. Полезно, когато записите се кешират и съхраняват на чужди възли.

Търсене на IP address

Нека видим How работи DNS системата.

Да приемем, че сте въвели api.codegym.cc във вашия браузър. Браузърът ще се свърже с местната DNS услуга и ще ви помоли да му дадете IP address за домейна api.codegym.cc. Ето Howво ще се случи по-нататък...

Първо DNS услугата проверява дали този домейн е в локалния хост файл на вашия компютър. Ако има, той взема IP address от него. Ако не, той изпраща заявка до известния му DNS сървър: „Какъв е IP addressът на api.codegym.cc?“.

Въпреки това DNS сървърът може да не знае нищо не само за заявеното име, но дори и за целия домейн codegym.cc. В този случай сървърът се свързва с основния сървър - например 198.41.0.4. Този сървър казва: "Нямам информация за този address, но знам, че 204.74.112.1 е отговорен за ru зоната."

Тогава DNS сървърът изпраща заявката си до 204.74.112.1, но той отговаря: „Нямам информация за този сървър, но знам, че 207.142.131.234 отговаря за зоната codegym.cc.“. Накрая същата заявка се изпраща до трети DNS сървър и получава отговор - IP address, който се предава на клиента, тоест на браузъра.

В този случай, в процеса на търсене на IP по име, работиха следните правила:

  • Браузърът изпрати рекурсивна заявка до известен DNS сървър (в отговор на този тип заявка сървърът трябва да върне IP address or празен отговор и code за грешка NXDOMAIN).
  • DNS сървърът, който получи заявката от браузъра, изпрати последователно нерекурсивни заявки, на които получи отговор от други DNS сървъри, докато не получи отговор от сървъра, отговорен за заявената зона.
  • Останалите споменати DNS сървъри обработваха заявки нерекурсивно (и най-вероятно не биха обработor заявките рекурсивно, дори ако такова изискване беше в заявката).

Понякога е възможно заявеният сървър да изпрати рекурсивна заявка към "нагоре" DNS сървър и да изчака готов отговор.

важно! При рекурсивна обработка на заявки всички отговори преминават през DNS сървъра и той получава възможност да ги кешира. Повтарящата се заявка за едни и същи имена на домейни обикновено не надхвърля кеша на сървъра и изобщо не се извършват повиквания към други сървъри.

Допустимото време за кеширане на отговорите идва с отговорите (TTL поле на записа на ресурса).

hosts файл

Забелязахме, че първото търсене е в локалния hosts файл. Това е наследникът на file HOSTS.TXT, който е изобретен още по времето на ARPANET. Да, все още съществува и все още се използва.

Намира се по пътеката:

  • /etc/hosts на Linux.
  • %SystemRoot%\system32\drivers\etc\hosts в Windows.
  • /system/etc/hosts в android.

Обикновено файлът включва дефиниция на местоположението за възела localhost:

127.0.0.1   	localhost

Структурата му е много проста: първо идва IP addressът, след това името на домейна.

Полезен

С помощта на file hosts е възможно да се филтрират реклами чрез пренасочване на домейн addressи на банери към address 127.0.0.0, 127.0.0.1 or 0.0.0.0.

Използването на 127.0.0.1 обикновено не се препоръчва, тъй като води до изчакване на отговора и свързани забавяния, ако сървърът не съществува or е неправилно конфигуриран. И ако картографирате който и да е рекламен домейн към IP address 0.0.0.0, тогава всички заявки към него веднага ще паднат).

Публични DNS сървъри

Обикновено получавате DNS сървър заедно с вашата интернет услуга, когато я свържете. Но такъв безплатен DNS сървър не винаги е най-добрият вариант. Освен това може да не искате да изпращате заявка с името на домейна всеки път, когато посещавате сайт до DNS сървъра на вашия интернет доставчик.

Поради това много хора предпочитат да преминат към публични безплатни DNS сървъри. Първо, те са много бързи и имат голям кеш от имена на домейни. Ще получите по-бързо зареждане на сайта и време за работа с минимален шанс за технически проблеми.

На второ място, безопасност. Някои DNS услуги могат да блокират достъпа до фишинг и злонамерени сайтове и да предлагат филтриране на съдържание, за да предпазят децата от неподходящо съдържание онлайн.

Такива DNS сървъри могат дори да се борят с измамници. Например, отивате на уебсайт на фалшива банка и DNS сървърът ще ви даде не IP address на измамниците, а неговата услуга за сигурност.

Списък на такива сървъри

cloudflare 1.1.1.1
1.0.0.1
Cloudflare обещава, че няма да използва данни за посетители, за да показва реклами и никога няма да записва IP addressите на източника на заявка на диск.
Обществен DNS на Google 8.8.8.8
8.8.4.4
Съхранява пълна информация за IP address на искащото устройство за приблизително 24-48 часа за отстраняване на неизправности и диагностика
Comodo Secure DNS 8.26.56.26
8.20.247.20
Блокира фишинг сайтове, но също така предупреждава, ако се опитвате да посетите сайтове със зловреден софтуер, шпионски софтуер
Yandex.DNS 77.88.8.8
77.88.8.1
Безплатна DNS услуга от популярна руска търсачка
Коментари
  • Популярен
  • Нов
  • Стар
Трябва да сте влезли, за да оставите коментар
Тази страница все още няма коментари