Это очень старый вопрос, но у меня было много таких же вопросов, чтобы выяснить, как работает Интернет . Как и другие ответы, сетевые книги дают обзор 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 не меняет свою собственную маршрутизацию.
Чаще всего мошеннические интернет-провайдеры или 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 может быть наказано как нарушение контракта, и другие интернет-провайдеры прервут пиринговые соединения с этой AS, если это будет необходимо. Интернет-провайдер также может игнорировать все устройства IANA и RIR и перенаправлять IP-адреса на свои собственные серверы. Это не будет работать для любых сайтов https, при условии, что у интернет-провайдера нет секретных ключей для каких-либо ЦС. Экономически очень мало от этого можно извлечь. Это происходит только с авторитарными правительствами, такими как Египет, недавно закрывший всю рекламу BGP для своих интернет-провайдеров за пределами страны.
DNS-серверы
DNS несколько проще, если IP-таблицы верны. Все корневые серверы - это жестко прописанные IP-адреса в коде DNS-сервера. a.root-servers.net - 198.41.0.4, а IP-адрес - произвольный в пределах одной AS. В случае a.root-servers.net AS является Verisign, и существует пять разных сайтов. В США двумя сайтами являются Нью-Йорк и Лос-Анджелес. Anycasting - это как если бы у вас был адрес главной улицы 123, и вы сказали: «Неважно, в каком городе вы находитесь, перейдите на главную улицу 123, и вы найдете один из моих предприятий». И 123 Main Street в Нью-Йорке, и Лос-Анджелес дадут одинаковый ответ для всех доменов верхнего уровня. AS, в данном случае Verisign, самостоятельно определяет, какой сервер имеет наименьшее количество переходов через OSPF, внутренний BGP и другие протоколы маршрутизации. Таким образом, маршрутизатор в Денвере может отправиться в Лос-Анджелес, а маршрутизатор в Чикаго - в Нью-Йорк.
Один из корневых серверов дает какой IP-адрес для домена верхнего уровня com. Затем этот домен дает домен для yoursite.com. Регистраторы действительно имеют договор с тем, кто управляет доменом верхнего уровня. Таким образом, если домен верхнего уровня в настоящее время не имеет записи для yoursite.com, у него есть доступ, чтобы добавить запись со своим сервером «кто есть». Затем, получив доступ регистратора к DNS-записям yoursite.com, вы изменяете записи на их DNS-сервере для перехода на свой IP-адрес.
Поскольку DNS все зависит от нескольких IP-адресов, идущих в нужное место, у вас возникает та же проблема, что и раньше, когда AS аутентифицирует реестр IP, а затем присваивает BGP. Это ключевой элемент для веб-сайта http. Https имеет дополнительную защиту сертификатов. Таким образом, интернет-провайдер не может перенаправлять запросы на свои собственные корневые серверы и серверы домена верхнего уровня, чтобы предоставить свой собственный IP, скажем, для citibank.com. В противном случае IP-адрес, предоставленный пользователю, будет другим IP-адресом, но на его сервере не будет закрытого ключа Ситибанка.