концепції / nat-and-networking
NAT і основи мереж
Це сполучна тканина серії каналу «Як працює інтернет» — та «сантехніка», поверх якої стоять випуски про DNS, DHCP і затримки. Перший випуск протиставляє TCP і UDP: TCP handshake (SYN / SYN-ACK / ACK) і регулярні ACK — це ціна надійності, а UDP їх пропускає (швидкість світла і затримки сайтів). Випуск про DHCP пояснює, чому пристрій без жодних налаштувань мусить використовувати UDP broadcast, а не TCP — не можна завершити handshake, поки не маєш адреси, — і чому broadcast’и не виходять за межі LAN (DHCP і Wi-Fi в кафе).
Щодо адресації та резолвінгу він наголошує, що резолвер, до якого ви реально звертаєтеся (ваш провайдер, кеш домашнього роутера чи 8.8.8.8), майже ніколи не є авторитативним сервером, куди ви додали запис (рекурсивний резолвінг DNS), і що кешування нашароване у браузері, ОС, роутері та у провайдера. Він згадує Dynamic DNS як трюк для доступу до домашньої машини зі змінним IP (основи DNS). Сам NAT отримує практичний розбір у білді про ізоляцію VM: він порівнює режими адаптерів VirtualBox — bridged, NAT та internal network — і збирає роутерну топологію з двома інтерфейсами WAN/LAN, яка NAT’ить гостьову систему назовні в домашню мережу (мережева ізоляція VM). Та сама ідея обходу NAT пояснює тунелі VS Code: і браузер, і dev-сервер з’єднуються назовні з проксі (він припускає, що через WebSockets), який зшиває їх докупи, тож обидва кінці можуть сидіти за NAT і фаєрволами — і все одно працює (VS Code у браузері).
Розібрано у відео
- Як швидкість світла обмежує швидкість твого веб-сайту
TCP handshake проти UDP, ACK як ціна надійності
- Як працює Інтернет: основи DNS
звідки береться адреса резолвера, багатошарове кешування, Dynamic DNS
- Як працює Інтернет: рекурсивний пошук у DNS
резолвер, до якого звертаєшся, проти авторитативного сервера
- Що не так з Інтернетом в кафе? Розбираємо DHCP
чому бутстрап потребує UDP broadcast; broadcast’и лишаються в LAN
- Як не дати віртуальній машині лазити по вашій домашній мережі (офтоп для спонсорів)
режими VirtualBox bridged/NAT/internal, WAN/LAN-роутер з NAT
- Як налаштувати повноцінну розробку в Visual Studio Code в браузері
тунелі через вихідне проксі, що обходять NAT і фаєрволи
Повʼязане
DNS (Domain Name System) — резолвінг імен, нашарований поверх цієї «сантехніки» DHCP (Dynamic Host Configuration Protocol) — як пристрій бутстрапиться в мережу Затримка і швидкість світла — round-trip’и — саме те, чим handshake’и вам коштують HTTPS і TLS — ще один handshake поверх TCP VirtualBox — надає продемонстровані режими адаптерів pfSense — віртуальний роутер, який робить NAT