Як працює Інтернет? Як працює рекурсивний пошук в DNS?

2024 ж. 14 Мам.
10 668 Рет қаралды

Якщо ти займаєшся веб-розробкою, то маєш розуміти, як працює Інтернет. Це відео друге в серії про DNS з появненням, як працює рекурсивний пошук доменного імені.
У відео спробував відповісти на:
✅ Невже кожен DNS сервер зберігає інформацію про всі веб-сайти світу
✅ Розбір рекурсивного пошуку DNS імені
✅ Навіщо потрібні NS записи
✅ Навіщо потрібні кореневі DNS сервери
✅ Звідки DNS сервер знає адреси кореневих серверів
✅ Перевіряємо рекурсивний пошук в ручному режимі на практиці
✅ Трасування пошуку DNS імені
✅ Навіщо потрібен TTL в DNS записах
Станьте спонсором цього каналу: / @aboutprogramming
Допоможіть каналу розвиватися й отримуйте доступ до ексклюзивного контенту.
Зміст відео:
0:00 - Вступ
0:36 - Опис проблеми
2:40 - Як знайти Authoritative DNS
3:55 - Як знайти Top level domain DNS?
5:05 - Як знайти Root DNS?
5:45 - Кроки рекурсивного пошуку
7:15 - Практика з dig
10:40 - Trace
12:14 - TTL та кешування
🏠 Мої соцмережі:
Жабаскрипт в телеграмі - t.me/jabascript
Я в Твітер - / viktorturskyi
Мій Linkedin - / turskyi
#програмування #українською #programming #dns #internet

Пікірлер
  • Які ще теми про роботу Інтернету розібрати?

    @AboutProgramming@AboutProgramming7 ай бұрын
    • як працює tor

      @ruslanklymenko1019@ruslanklymenko10197 ай бұрын
    • Пізнавальне відео. Контент хороший, було б цікаво подивитися відео про VPN, про VPN сервіси і безбеку використання. Дякую!

      @romankrut7038@romankrut70387 ай бұрын
    • Було б цікаво послухати про AT Protocol, що використовується в Bluesky. Дякую!

      @AndriyNight@AndriyNight7 ай бұрын
    • @@AndriyNight Й не чув навіть про такий :) Дякую, подивлюся на нього. Окреме відео наврядчи зроблю, бо дуже вузька тема. Але можна згадати про ActivityPub й про AT Protocol в контексті більш широкої теми про децентралізовані системи й підходів їх проектування

      @AboutProgramming@AboutProgramming7 ай бұрын
    • protocol stack

      @windowsuser5438@windowsuser54387 ай бұрын
  • Я безмежно радий, коли бачу настільки гідний контент українською. Будь ласка, продовжуйте в цьому дусі.

    @ode5a@ode5a7 ай бұрын
  • Вікторе, ви - професійний викладач. Це якась магія. Нехай я і розумію абстрактно половину термінів, але іншу половину я починаю розуміти прямо під час перегляду. Кайф. Настільки приємний і професійний контент, що навіть Unity Junior Developer'у цікаво і корисно. Підписався на Вас, не пропускаю і чекаю нових відео. Нехай квітне український KZhead ✊

    @hryhoriinevmerzhytskyi4299@hryhoriinevmerzhytskyi42997 ай бұрын
    • Дякую за відгук! 🙂

      @AboutProgramming@AboutProgramming7 ай бұрын
  • Дякую за чудове пояснення базових питань, які, в основному, лишаються не покриті. Гарного дня!

    @sviatoslavkiral4307@sviatoslavkiral43077 ай бұрын
  • уррааа дуже дякую! нарешті фундаментальне пояснення! цікаво чому ніде такого більше немає : ) і ще дуже цікаво як воно працює із cdn працює. (пішов гуглити) дуже дуже дякую

    @user-sc2xl6lj5q@user-sc2xl6lj5qАй бұрын
  • дякую, дуже вчасно виклали відео, саме те що треба для підготовки на співбесіду

    @asat9243@asat92437 ай бұрын
  • Дякую, накінець я повністю розібрався для себе як це працює)

    @romans.6049@romans.60494 ай бұрын
  • Супер корисно! Дякую! Свого часу витратив купу часу, щоб розібратись в деяких моментах. А у Вас, як завжди, все зрозуміло і без зайвої «води». Дякую!

    @shchekavytsia@shchekavytsia7 ай бұрын
  • Класна подача і відео цікаве навіть якщо думає, що все це знаєш. Дякую за гарний контент!

    @benderzorro@benderzorro7 ай бұрын
  • Дякую за випуск, дуже чудово подана інформація

    @concentration6433@concentration64336 ай бұрын
  • дуже дякую за випуск. чи не було би вам цікаво пояснити рівні ізоляції в базах данних (найкраще мабуть в postgres) так фундаментально як ви вмієте. в Любому випадку дуже дякую за випуск

    @alexanonymous5823@alexanonymous58237 ай бұрын
  • "Годний" канал!) Дякую, продовжуй

    @nouser00@nouser004 ай бұрын
  • Дякую за чудове пояснення базових питань, які, в основному, лишаються не покриті)

    @pratsundv@pratsundv7 ай бұрын
  • Дуже цікаво знати як працює DNS. Щиро дякую за відео 👍

    @Victoria_Sk@Victoria_Sk7 ай бұрын
  • Круто, відео прямо є відповіддю на моє питання до попереднього про DNS. Дякую

    @donutWiggum@donutWiggum7 ай бұрын
  • Дуже дякую за таке круте та змістовне відео. Ось так мають навчатися наші діти в навчальних закладах ❤

    @random.user2022@random.user20227 ай бұрын
  • Дуже дякую за відео! Продовжуйте розвивати українське ІТ комьюніті, ми дуже за це вдячні!

    @voltstas@voltstas7 ай бұрын
  • Супер, дякую за таку детальну інформацію.

    @GrabaSparta@GrabaSparta7 ай бұрын
  • Вікторе, було б чудово, побачити та почувати вас у ЖеПеТе подкасті, щодо обговорення цікавих тем інженерії & IT 😊 Передаю запрошення від хлопців😉 І дякую, за ваш контент🔥

    @buteskul@buteskul4 ай бұрын
    • Дякую!)

      @AboutProgramming@AboutProgramming4 ай бұрын
  • дякую за відео, всі теми цікаві, довіряю вибору автора

    @dmytro9279@dmytro92797 ай бұрын
  • Дуже дякую! Стало набагато зрозуміліше, Не менше важливо для мене що показали інструменти для для дебагінгу)

    @user-ju6hj5up8o@user-ju6hj5up8o7 ай бұрын
    • Дякую за відгук!) Валідація теорії практикою дозволяє часто побачити нюанси й дає краще відчуття технології. Тому намагаюся постійно комбінувати у відео. А коли робив доповіді про безпеку, то розповісти, що щось можна взломати це одне, а коли ще запустити реальний скрипт, якій взламує - це прям різні рівні сприйняття аудиторією))

      @AboutProgramming@AboutProgramming7 ай бұрын
  • Давай про безпеку (від мережі TLS.. до authentication всі можливі варіанти з тулами) і таке інше 😊

    @bezalkogolniy82@bezalkogolniy827 ай бұрын
  • Круто, дякую за якісне відео

    @Onee007@Onee0077 ай бұрын
  • Зрозуміло і доступно. Велике ДЯКУЮ 👏

    @ilialunga6778@ilialunga67787 ай бұрын
  • Супер, велика подяка за відео. Деякі теми дійсно хочеться щоб так детально роз'яснювали.

    @user-hg6zz1hb9n@user-hg6zz1hb9n7 ай бұрын
  • Це краще ніж морозиво. Дякую!

    @serhiityshchenko4006@serhiityshchenko40067 ай бұрын
    • коментар - топ 😁

      @AboutProgramming@AboutProgramming7 ай бұрын
  • Шикарне відео, дякую Вам за вашу роботу. Цікаво було б також послухати про Інтернет провайдерів і як працює приділення ip комп'ютеру на рівні провайдера.

    @petrokopyl9581@petrokopyl95817 ай бұрын
  • дуже круте відео і пояснення, дякую

    @MrColins710@MrColins7107 ай бұрын
  • Топ контент. Дякую!

    @mailoisback@mailoisback3 ай бұрын
  • Дякую за крутий контент, хотілося б відео щось про чисті архітектури типу DDD

    @gradient8516@gradient85167 ай бұрын
  • Ви так доступне все розповідаєте, що усе зрозумів завдяки словам та схемам

    @victor_bozhok@victor_bozhok7 ай бұрын
  • кайф давай ще

    @garyspik@garyspik7 ай бұрын
  • Дякую за випуск!

    @ivani7254@ivani72547 ай бұрын
  • Дуже цікаво і просто . Дякую за відео

    @Dnonatello@Dnonatello7 ай бұрын
  • дуже круто! дякую!

    @user-si2lw9by7y@user-si2lw9by7y7 ай бұрын
  • цікаво і наглядно. Дякую!

    @AndrewShmorgun@AndrewShmorgun7 ай бұрын
  • Топчик

    @developer_of_own_life@developer_of_own_life7 ай бұрын
  • дякую за відео

    @Andjey90@Andjey907 ай бұрын
  • Дякую 👍🏼

    @nkarbazin@nkarbazin7 ай бұрын
  • Цікава штука! як розробнику, не знаю як це використати, але для загального розвитку, дуже цікаво, дякую! П.С. хоча ланцюжок кешів досить цікавий концепт, ніколи не замислювався...

    @rostik18@rostik187 ай бұрын
  • Якщо про інтернет то було б цікаво про bcrypt, scrypt або роботу blockchain По базах даних теорема CAP, що таке реплікація і шардинг зі схемами думаю всім булo б корисно подивитись ПС Дякую за твою роботу дуже змістовно розкриваєш тему!

    @pmed6755@pmed67557 ай бұрын
  • Хотів би ще додати таке: переважно в шаред хостингів є свій неймсервер, відповідно, у реєстратора ми не прописуємо днс-записи, а прописуємо неймсервери хостингу. А вже самі записи настроюємо в панелі хостингу. Хоча, вони там, зазвичай, прописуються автоматично. В свій час я з цим мав непорозуміння, тому може ця інформація буде корисною для когось.

    @mshkotnyar@mshkotnyar7 ай бұрын
  • ❤❤❤❤❤❤❤❤❤❤❤❤

    @AdminAdmin-sl2qf@AdminAdmin-sl2qf2 ай бұрын
  • Крутяк! Розбери будь ласка QUIC

    @2009Spread@2009Spread7 ай бұрын
    • Про QUIC класна тема. Зроблю. Але треба спочатку зробити відео про TCP/UDP потім можна зробити відео про HTTP, HTTP2, QUIC/HTTP3 й порівняти все

      @AboutProgramming@AboutProgramming7 ай бұрын
  • Може щось про vulnerability веб сайтів або про атаки

    @shakapaker@shakapaker6 ай бұрын
  • Дякую, за чудову подачу і приклади.

    @MrZhekaU@MrZhekaU7 ай бұрын
  • Вікторе! Дякую, все просто й зрозуміло. (Трохи) більше таких роз'яснень і IT-грамотність народу України вийде на належний рівень. Поділіться, будь ласка, рішенням - як Ви малюєте на планшеті й одночасно демонструєте це на відео. Яка операційна система, які застосунки, який планшет? Заздалегідь вдячний...

    @lexrento@lexrento5 ай бұрын
    • Дякую за відгук) Відносно того, як все пишу це: 1. OBS, який бере відео з камери (телефон через NDI) й захоплення вікна програми scrcpy (показує екран планшута на компі) й робить картинка в картинці. 2. Планшет Galaxy Tab S7 FE зі стілусом. Малюю через стандартну програму, яка в комплекті. 3. Пишу все під Ubuntu

      @AboutProgramming@AboutProgramming5 ай бұрын
  • Дякую за якісний і візуальний контент. Підкажіть, чи розбирали десь у відео інформацію про порти, subsets? Чи зможете пояснити принцип роботи docker. Наперед вдячний!

    @rvv23@rvv237 ай бұрын
    • Про TCP/IP планую відео. Також колись робив доповідь на fwdays про докер, прям про принципи роботи - kzhead.info/sun/dsubmc6ge3d3mqs/bejne.htmlsi=O2sEDR-4MZISa0zb . Планую перезняти українською в форматі декількох відео, але поки ще не знаю коли

      @AboutProgramming@AboutProgramming7 ай бұрын
    • @@AboutProgramming підписався на membership! Контент крутий!😎

      @rvv23@rvv237 ай бұрын
    • @@rvv23 дякую 🙂

      @AboutProgramming@AboutProgramming7 ай бұрын
  • дуже круте відео. дякую! виходячи з інформації що я щойно дізнався, у мене зʼявилось питання: чи може звичайний користувач помітити "на око", без тестування у консолі, як налаштовані DNS сервери у двох різних провайдерів? Чи може провайдер якось спеціально на чомусь зекономити або накосячити при налаштуванні? У мого минулого провайдера ввечері починались проблеми зі звичайним веб серфінгом. Іноді завантаження сторінки просто фейлилось по таймауту. Одночасно з тим speedtest показував непогані результати. Я не можу стверждувати, що у моєму випадку був винен саме провайдер, а не роутер, наприклад, але у мене склалось таке враження тоді.

    @valeriimalynovskyi@valeriimalynovskyi4 ай бұрын
    • Дякую! 🙂 Відносно провайдера, то якщо все працює добре, то наврядчи можна щось на око помітити. А от якщо щось не працює, то реально

      @AboutProgramming@AboutProgramming4 ай бұрын
  • бачив що ви пишете на express, я теж хочу стати node.js розробником, вже досить добре розуміюсь в основах ноди і постгресу (проходив по роадмап). Які пет проекти починати писати, щоб набрати досвід для першої роботи? Робити API для фронту, чи краще викоритовувати шаблонізатори щоб зразу було видно що зробив?

    @Kozak_Ivan@Kozak_Ivan6 ай бұрын
    • Найкраще писати бекенд з rest api й якійсь фронтенд до нього у вигляді SPA. Проект може бути будь-який. Тут головне, щоб було цікаво самому його написати й запустити

      @AboutProgramming@AboutProgramming6 ай бұрын
  • Вітаю, підкажіть як відбувається синхронізація між DNS серверами під час реєстрації імені або прив'язки/зміни IP до імені? Як підтримується цілісність даних на такому величезному об'ємі і який механізм не дає створювати дуплікати або не коректні пари ім'я-іп ?

    @ro_sher@ro_sherАй бұрын
    • Окремої синхронізації не відбувається. Рекурсивний пошук й кешування тільки. Тобто, якщо змінити айпі, то певний час дані можуть бути різні на різних серверах для одного й того ж домену (поки вони не вирішать оновити іх, для цього вони дивляться на TTL). Відносно дублікатів, то в межах одного сервера це просто, а в межах всієї системи єдина гарантія це те, що все йде з кореневих серверів, але ніхто не заважає локальному провайдеру мати інші дані для якогось домену тй направляти на інші айпі

      @AboutProgramming@AboutProgrammingАй бұрын
  • Чи має сенс підіймати власний DNS-srever задля зменшення лейтенсі під час активних звернень до сторонніх ресурсів зі своєї аппи?

    @user-ns4yu1yv6h@user-ns4yu1yv6h7 ай бұрын
    • Особливого сенсу зараз немає, бо такий кешуючий DNS може бути в раутері. В Ubuntu в systemd є кешуючий DNS сервер, в Windows є свій кеш. Також браузер кешує записи сьогодні. Окрім того браузери переходять на DNS over https й ходять на власні DNS. Але років десять тому я піднімав dnsmasq, оскільки не було локального кешу в Linux й не було такої кількості може мати. Тобто тільки для зменшення latency для локального використання великого сенсу немає, а якщо зберігати імена машин внутрішньої мережі, то тоді це одне з рішень

      @AboutProgramming@AboutProgramming7 ай бұрын
    • Дякую!)

      @user-ns4yu1yv6h@user-ns4yu1yv6h7 ай бұрын
  • Якщо в провайдера доменних імен змінити IP адресу, з TTL 24 години - він буде протягом цих 24 годин тримати одночасно 2 адреси: нову, та стару, щоб DNS сервери де закешована стара адреса повертали працюючу ip адресу? Чи це якось по іншому працює?

    @atla5_@atla5_7 ай бұрын
    • Якщо ми мінємо запис на Authoritative DNS сервері, то він зміниться відразу, але інші кешуючі сервери про це взнають з затримкою. Тобто вони умовно тільки через 24 години можуть вирішити оновити записи, а раніше брати з кеша й не знати про зміну запису на Authoritative DNS. Відповідно користувачі можуть отримувати зовсім різні DNS записи в залежності від того чи вони є в кеші чи немає й до якого кешуючого DNS сервера вони звернулися. У одного інтернет провайдера можуть бути дані в кеші, а другого можуть вже й не бути. Тому тут ніяких гарантій немає. Можна сказати тільки те, що не більше ніж через 24 години у всіх час життя кешу закінчиться й вони витягнуть нові дані (якщо все налаштовано правильно)

      @AboutProgramming@AboutProgramming7 ай бұрын
    • @@AboutProgramming але якщо, стара адреса вже не існує(тобто не вказує на якийсь сервер), то весь цей час DNS сервери будуть видавати не існуючу IP адресу(і користувачі можуть подумати що ваш сервіс вже не працює)? DNS сервер ж не знає по якому порту його користувачі будуть робити запити. Як в ьакому випадку бути? Не видаляти старі сервери, налаштовувати якесь перенаправлення зі старих серверів на нові?

      @mbesida@mbesida7 ай бұрын
    • @@mbesida я так розумію - що чи тримаєш ти цю адресу, чи ні - то вже твоя відповідальність.Якщо ти сам вимкнув старий сервер - то користувачі відповідно на нього не потраплять по закешованому IP.

      @atla5_@atla5_7 ай бұрын
    • Саме так

      @AboutProgramming@AboutProgramming7 ай бұрын
  • Трясця! Я якраз погодився волонтером сис адміном в держ установі. Але нічогісінько не знаю, поки що. Буду радий побачити про вирахування кількості юзерів на пристрій чи декілька метрів оптоволокна. Скільки втрачається по швидкості. Як забезпечити безпеку. Що, за замовчуванням, має надавати провайдер. На разі не знайшов на просторах UAнету файної інфи про мережі. Друзі, якщо знаєте щось корисне, напишіть мені в відповідь

    @Flash_Gen@Flash_Gen7 ай бұрын
    • Як про мені, то найкраще тут почати з книг. Прочитати пару книг по адмініструванню мереж, по адмініструванню операційних систем, по безпеці. Хоч по одній на кожну тему. Книги дадуть більш повну картину. Також онлайн курси можуть бути варіантом. Й дуже важливо почати набувати практичні навички - перевіряти аспекти теорії на практиці

      @AboutProgramming@AboutProgramming7 ай бұрын
  • Ще серію будь ласка про DNS Proxy який є на Cloudflare

    @VLADSKRIPCHENKO@VLADSKRIPCHENKO6 ай бұрын
    • Можна навіть зробити відео про ddos protection в цілому

      @AboutProgramming@AboutProgramming6 ай бұрын
  • Для чого DNS сервер повертає окрім IP ще й NS сервера? NS використовується для кешування? Одного IP було б не достатньо?

    @TheProfessionalGambler@TheProfessionalGambler7 ай бұрын
    • Не зовсім. NS записи містять якраз інформацію про сервера, які зберігають DNS записи, які стосуються певного домену. Просто повернути айпі для домену недостатньо, бо ще інші типи записіва для домену SPF, MX, AAAA, SRV, CNAME та інші. Окрім того, є ще записи для піддоменів. Й до цього всього система децентралізована з точки зору доступу. Тобто для власних доменів можна підняти й влансий повноцінний authoritative сервер. Й все що треба, щоб це працювало - поміняти NS запис в TLD сервері. Також можна передати керевння доменом з локального реєстратора на CloudFlare, наприклад. Тобто основна ідея, щоб TLD сервера не відповідали за весь інтернет й за всі записи для всіх доменів, а тільки за редірект на потрібний authoritative сервер. В результаті маємо децентралізовану систему.

      @AboutProgramming@AboutProgramming7 ай бұрын
  • Приємний мікрофон

    @karl3132@karl31327 ай бұрын
  • Віктор, Добрий день, на якій мові ви пишете в гугл ? GO ? Та чи варто взагалі вивчати цю мову на сьогоднішній день?

    @lymphbizkit4344@lymphbizkit43446 ай бұрын
    • TypeScript й Java. Відносно Go, то тут складно щось сказати. Але в цілому все просто - якщо Go вам потрібен, то можна вивчити, якщо не потрібен, то нема сенсу вчити 🙂 Наприклад, я для себе не бачу сенсу, бо поки немає задач таких, щоб треба був саме Go. Коли будуть задачі, тоді буду писати на Go. Аналогічна у мене історія з Python й C# й багатьма іншими мовами

      @AboutProgramming@AboutProgramming6 ай бұрын
  • Класний контент! Схеми супер, згадав студентські роки 🥹 Запиши будьласка про ssl/https або куки браузера

    @orest.stetsiak@orest.stetsiak7 ай бұрын
KZhead