Основно съдържание
Компютрите и интернет
Курс: Компютрите и интернет > Раздел 3
Урок 6: Уеб протоколиСистема за имена на домейни (DNS)
Както току-що научихме, IP адресите са начинът, по който компютрите идентифицират други компютри в интернет. IP адресите обаче не са особено удобни за хората. Кой би искал да помни адрес като
74.125.20.113
? Или дори още по-трудните IP v6 адреси? Системата за имена на домейни (DNS) дава на нас, хората, лесен начин да установим къде искаме да отидем в интернет.
Просто въвеждаме име на домейн като например "
www.wikipedia.org
", а нашият компютър ни свързва с компютрите, захранващи Wikipedia:Името на домейна е удобен за човека адрес за уебсайт, защото е нещо, което ни е лесно да запомним и въведем.
Анатомия на име на домейн
Всяко име на домейн се състои от части:
домейн-от-трето-ниво.домейн-от-второ-ниво.домейн-от-първо-ниво
Има ограничен набор от домейни от първо ниво (TLD – Top Level Domain) и много уебсайтове използват най-често срещаните TLD, като например "
.com
", ".org
" и ".edu
". Домейнът от второ ниво е уникален за компанията или организацията, която го регистрира, като например "
wikipedia
" или "khanacademy
". Домейнът от трето ниво също така се нарича и поддомейн, защото е собственост на една и съща група. Този URL често ни насочва към подмножество на уебсайта, като например "
m.wikipedia.org
" (оптимизирана за мобилни устройства Wikipedia) или "es.khanacademy.org
" (Кан Академия на испански език).Домейни ↔ IP адреси
Всяко име на домейн се съпоставя с IP адрес. Когато въведем URL (унифициран локатор на ресурси) в адресната лента на нашия браузър, компютърът трябва да разбере IP адреса на този URL.
Компютърът не може да съхранява локално база данни с повече от 300 милиона имена на домейни, затова преминава през многостъпков процес, за да разбере IP адреса.
Стъпка 1: Проверка на локалния кеш
Ако посетиш уебсайт веднъж, има доста голям шанс да го посетиш отново. Ето защо компютрите запазват собствен локален кеш от съпоставени имена на домейни с IP адреси. Кешът остава малък, защото изхвърля домейни, които не са посещавани от известно време, или домейни, които изпращат дати на изтичане.
🔍 Можеш да видиш базата данни в браузъра Chrome. Просто въведи "chrome://net-internals/#dns" в адресната лента.
Ето откъс от кеша на моя браузър:
Стъпка 2: Търсене в кеша на доставчика на интернет услуги (ISP)
Всеки доставчик на интернет услуги (ISP) предоставя услуга за разрешаване на имена на домейни и поддържа свой собствен кеш. Може би досега не си посещавал даден уебсайт, но твоят съсед току-що го е посетил, така че доставчикът на интернет услуги може да търси IP адреса от неговото посещение.
Ако не се намира в кеша на интернет доставчика, тогава преминава към следващата стъпка.
Стъпка 3: Изпращане на запитване до сървърите за имена
Сървърите за имена на домейни, разпръснати по целия свят, са отговорни за проследяването на подмножество от милионите имена на домейни.
Сървърите са подредени в йерархичен ред:
Коренови сървъри за имена → TLD сървъри за имена → Сървъри за имена на хостове.
Интернет доставчикът (ISP) започва като се обръща с въпрос към кореновия сървъра за имена: "хей, кой сървър за имена знае за домейните .org?" Кореновият сървър за имена отговаря с IP адрес на TLD сървър за имена, който проследява "
.org
" домейни.След това интернет доставчикът (ISP) пита TLD сървъра за имена: "и така, кой знае за домейните на wikipedia?" TLD сървърът за имена отговаря с IP адреса на сървър за имена на хост, който съдържа записите "
wikipedia
".Накрая ISP пита сървъра за имена на хостове: "ок, а къде се намира www.wikipedia.org?" Сървърът за имена на хостове отговаря с точен IP адрес.
ISP изпраща IP адреса обратно на искащия компютър и сега нашият компютър може успешно да се свърже с компютъра, поддържащ този домейн.
Ако това звучи като доста дълъг процес: да, така е! Но не се притеснявай, не се прави толкова често. Много информация се кешира по пътя, затова рядко се налага търсенето на DNS да премине през толкова много стъпки.
Когато търсенето трябва да премине през всички стъпки, има множество сървъри за имена, които могат да отговорят на всеки въпрос, така че компютърът не трябва да чака твърде дълго за отговор или да се тревожи, че сървърът за имена ще падне.
Системата за имена на домейни съществува от 1985 г. и е мащабирана впечатляващо, така че да съответства на растежа на интернет, благодарение на нейния йерархичен ред, свръхкапацитет и кеширане.
DNS подмяна
Системата за имена на домейни е мащабируема, но невинаги е сигурна. Кибер престъпниците успяват да измислят начин да използват недостатъци в DNS сървърите за имена в атака, известна като DNS подмяна или отравяне на DNS кеш.
Както се вижда по-горе, услугата указател за имена на домейни трябва да пита сървърите за имена, когато все още не знае съпоставянето на домейн с IP.
Ако киберпрестъпник успее да поеме контрола върху сървър за имена или да пренасочи заявки към собствения си сървър, тогава той може да отговори с всеки IP адрес, който иска:
Указателят за имена на домейни сега съхранява новия IP в своя кеш и изпраща този IP обратно на искащия компютър. IP адресът често пренасочва потребителите към страница, която ще изтегли компютърни вируси или ще поиска защитена информация от потребителите.
Отравяне на DNS кеша може да се случи на всяко ниво в йерархията на сървъра за имена. Представи си киберпрестъпник, който прихваща заявки към коренов сървър за имена: те биха могли да насочват целия трафик за .org домейни!
След като домейн ↔ IP съпоставянето е позиционирано в един сървър, може да се разпространи до всеки друг сървър, който иска информация от този сървър.
Има обаче добри новини: DNS подмяната може да бъде предотвратена. Протоколът DNSSEC (Domain Name System Security Extensions, протокол за сигурност) разширява оригиналния DNS протокол и определя най-добрия начин за DNS указателите да удостоверяват информацията, която е изпратена до тях.
Надстройката на стари системи отнема време, така че може да минат години или десетилетия, преди всички DNS системи да използват DNSSEC.
Междувременно внимавай, когато заредиш уебсайт и видиш неочакван резултат. Не всички уебсайтове са такива, каквито изглеждат. ☠️
Искаш ли да се присъединиш към разговора?
Все още няма публикации.