Це дуже старе питання, але у мене було багато тих же запитань, щоб з'ясувати, як працює Інтернет . Як і інші відповіді, мережеві книги дають огляд BGP та DNS, але все ще залишають мене розгубленим. Наприклад, a.root-servers.net через m.root-servers.net задаються як кореневі сервери, але як служба DNS знає, де знайти ці сервери, якщо вони самі не можуть використовувати DNS.
Основою IP, підмережі, DNS тощо слід вважати відомою цією відповіддю. Я звертаюся до "прогалин" Я, і, мабуть, запитуючий, маю на увазі, як працює Інтернет. Я ні в якому разі не експерт, але це моє розуміння прогалин.
IP адреси
Перше, що слід зазначити, це те, що коли Інтернет починався як ARPANET, всі знали всіх, а таблиці маршрутизації IP-адрес були кодовані вручну. Я припускаю, що процес присвоєння IP-адрес здійснювався по телефону. Оскільки Інтернет став занадто великим, BGP використовувались декількома мережами (AS) для реклами, що вони мають загальнодоступні IP-адреси або можуть потрапити на публічний IP через свій AS в інший AS. Існувала довіра, що AS не рекламує IP, якого вони не мали.
Сьогодні довіри не так багато. Натомість Інтернет-провайдери можуть завантажувати та автентифікувати розподіл IP для кожного AS від IANA та регіональних органів влади. Ці завантаження тепер перевіряються за допомогою криптографії відкритого ключа. Тож коли IANA "призначає IP-адресу", вони змінюють свій запис (або дійсно регіональна влада змінює свій запис). Всі інші AS можуть завантажувати та аутентифікувати свої записи.
Ці записи важливі, оскільки провайдер не може прийняти слово інших провайдерів про те, що вони мають IP-адреси. Інтернет-провайдер може порівняти рекламу BGP з аутентифікованими записами IP. Якщо будь-яка реклама BGP показує останній AS як AS, крім того, що в аутентифікованому записі IANA та RIR, реклама BGP не змінює власну маршрутизацію.
Частіше шахрайський ISP або AS можуть рекламувати, що вони мають маршрут через свою AS, яку вони не мають. AS1 має зареєстрований IP, і AS5 в даний час використовує AS5 -> AS4 -> AS3 -> AS1 -> IP. AS2 рекламує AS5 маршрут AS5 -> AS2 -> AS1 -> IP. За винятком того, що AS2 насправді не має зв'язку з AS1. Це може просто втратити пакети, можливо, розчарувати хостинг-клієнтів AS1. Або AS2 може бути невеликою мережею компанії з багатосхилим розташуванням з AS5 та AS1. Їх маршрутизатор неправильно налаштований і рекламує шлях через мережу невеликих компаній. Майже всі Інтернет-провайдери відкидають таку рекламу своїх клієнтів BGP і передають лише припинення реклами BGP.
Швидше за все, у вас є випадок, коли Пакистан намагається вимкнути Youtube в Пакистані через такий викрадення IP-адрес, а також виключити Youtube за межами Пакистану, оскільки AS за межами Пакистану вважає, що їх реклама BGP була правильною.
Зрештою, не існує ідеального захисту від такого викрадення IP. У більшості країн, таких як США, таке зловживання BGP може бути покаране як порушення договору, а інші Інтернет-провайдери відмовлять від підключення до цієї АС, якщо це доведеться. Інтернет-провайдер також може знехтувати всім пристроєм IANA та RIR та перенаправити IP-адреси на власні сервери. Це не працюватиме на жодних веб-сайтах https, якщо припустити, що в ISP немає приватних ключів для будь-яких ЦА. Виграти від цього економічно дуже мало. Це трапляється лише з авторитарними урядами, наприклад, Єгипет нещодавно відключав усі реклами BGP для своїх Інтернет-провайдерів за межами країни.
DNS-сервери
DNS дещо простіший після правильності IP-таблиць. Кореневі сервери - усі тверді записані IP-адреси в коді сервера DNS. a.root-servers.net - 198.41.0.4, а IP-адреса - це будь-яка передача в межах однієї AS. У випадку a.root-servers.net AS є Verisign і є п'ять різних сайтів. У США два сайти - Нью-Йорк та Лос-Анджелес. Anycasting - це як якщо б у вас була адреса 123 Main Street, і ви сказали: "Не має значення в якому місті ви переходите, перейдіть на 123 Main Street і ви знайдете один з моїх підприємств". Обидві 123 Main Street в Нью-Йорку та Лос-Анджелесі дадуть однакову відповідь для всіх доменів вищого рівня. AS, у цьому випадку Verisign, визначає внутрішньо, який сервер має найменше перестрибування через OSPF, внутрішній BGP та інші протоколи маршрутизації. Таким чином, маршрутизатор в Денвері може поїхати в Лос-Анджелесі, а маршрутизатор в Чикаго - до Нью-Йорка.
Один із кореневих серверів дає IP-адресу для домену верхнього рівня com. Тоді цей домен надає домен для vašite.com. Реєстратори дійсно укладають договір з тим, хто управляє доменом верхнього рівня. Отже, якщо домен верхнього рівня в даний час не має запису для vašite.com, він має доступ для додавання запису з їх сервера. Потім, маючи доступ, який реєстратор надав вам до DNS-файлів Yourite.com, ви змінюєте записи на їх DNS-сервері, щоб перейти на вашу IP-адресу.
Оскільки DNS все залежить від декількох IP-адрес, які перейдуть у потрібне місце, у вас виникла та сама проблема, як і раніше, коли AS засвідчує автентифікацію реєстру IP, а потім призначення BGP. Це ключовий фрагмент веб-сайту http. Https має додатковий захист сертифікатів. Таким чином, Інтернет-провайдер не може перенаправляти запити для власних кореневих серверів та серверів домену верхнього рівня, щоб дати власний IP для, скажімо, citibank.com. Якщо вони це зробили, IP-адреса, надана користувачеві, буде іншою IP-адресою, але їх сервер не матиме приватного ключа Citibank.