Я понимаю, как устройству, подключенному к маршрутизатору (например, 72.73.74.75), назначается локальный IP-адрес (например, 192.168.1.5) с использованием DHCP.
НО, как маршрутизатор сам получает IP-адрес, назначенный интернет-провайдером? Как убедиться, что другому серверу в Интернете не назначен тот же IP-адрес?
IANA - это организация, отвечающая за глобальное присвоение IP-адресов. Они назначают «блоки» IP-адресов региональным интернет-регистратурам, которые являются географически расположенными организациями, ответственными за распределение в пределах своих географических зон - всего 5 RIR:
Оттуда меньшие блоки адресов назначаются RIR LIR (локальному интернет-реестру). Это включает вашего интернет-провайдера.
Каждая организация должна управлять назначенными им блоками IP-адресов. Обычно это делается с помощью какого-либо программного обеспечения IPAM (IP Address Management).
Как каждый LIR назначает адреса из своего распределения, зависит от них.
С практической точки зрения адреса назначаются вручную (администратором или иногда системой управления конфигурацией), в отличие от DHCP. Например, чтобы назначить IP-адрес интерфейсу Ethernet №4 на маршрутизаторе Cisco, администратору потребуется подключиться к маршрутизатору (например, с помощью SSH) и выполнить команды, подобные следующим:
Router> enable
Router# configure terminal
Router(config)# interface fastethernet 4
Router(config-int)# ip address 192.0.2.1 255.255.255.0
Router(config-int)# no shutdown
Router(config-int)# exit
Если вы хотите знать, как вся информация агрегируется и распределяется между LIR, вам нужно прочитать номера AS и протокол BGP.
(Здесь я говорю о граничном маршрутизаторе клиента. Тот, который находится в вашей локальной сети. В сети Интернет-провайдера маршрутизатор обычно / вероятно настраивается вручную).
Если у вас есть соединение на основе PPP (PPPoE, PPPoA, PPPoEoA), ваш маршрутизатор будет получить его IP-адреса с адресов интернет-провайдеров:
с помощью IPCP для IPv4;
с помощью IPCPv6 и SLAAC или DHCPv6 для IPv6.
Если у вас соединение не на основе PPP (IPoE, IPoA, IPoEoA), маршрутизатор получит его IP-адреса от интернет-провайдера, используя тот же метод, которым ваш компьютер получает IP-адреса от маршрутизатора:
с использованием DHCP (для IPv4);
с использованием SLAAC или DHCPv6 для IPv6.
Для IPv6 в локальной сети обычно есть весь делегированный префикс IPv6, например / 60, / 56 или / 48. Этот префикс объявляется маршрутизатору с помощью DHCPv6. IA_PD вариант.
Назначение IP-адресов осуществляется с использованием тех же механизмов, что и в локальной сети:
используется либо статическое распределение;
или пул доступных адресов управляется сервером DHCP;
в случае IPv6 адрес IPv6 может быть согласован с SLAAC, который предназначен для предотвращения и обнаружения конфликтов.
Интернет-провайдер также имеет DHCP-сервер, как и ваш маршрутизатор. DHCP-сервер может сохранить ваш старый адрес в кеше, как и предыдущие ответы, а в противном случае может предоставить вам новый адрес.
Иногда DHCP работает непосредственно по восходящей линии связи, а иногда заканчивается на сетевом оборудовании, которое запускает восходящие линии. Например, в мостовом режиме DHCP используется для непосредственного назначения адреса. Для соединений PPP (например, PPPoA, PPPoE и т. Д.) Пул DHCP используется для предоставления адресов, но фактическая конфигурация выполняется службой PPP.
Распределение IP-адресов практически одинаково для всех сетей, пока вы не достигнете блоков RIR.
По сути, у вас есть глобально ограниченное количество IP-адресов, которые разделены на блоки. Затем эти блоки распределяются по географическим областям, которые, в свою очередь, делятся на блоки, которые передаются интернет-провайдерам. Блоки IP могут быть запрошены, когда у вас закончатся, их можно купить у компаний или «арендовать» у интернет-провайдеров.
Существуют организации, которые управляют распределением IP-адресов, чтобы убедиться, что известно, какой блок IP кому-то принадлежит. Это выглядит так:
У IANA есть все IP-адреса, которые делятся на блоки, и эти блоки повторно делятся RIR. RIR - это региональный интернет-реестр. Каждый RIR охватывает географическую область, всего их 5. RIR, в свою очередь, разделяют свои блоки IP и выдают их по запросу, то есть LIR и NIR: местным интернет-реестрам и национальным интернет-реестрам. Интернет-провайдеры, предприятия и, если не ошибаюсь, частные лица могут затем запрашивать IP-адреса у этих LIR или NIR, а в некоторых случаях напрямую формировать RIR.
Что делать с блоком IP-адресов - решать вам. Чтобы использовать их, было бы разумно убедиться, что Интернет знает, где находится ваш IP-адрес, в какой сети и как туда добраться. Это делается с помощью маршрутизаторов и шлюзов, использующих такие протоколы, как BGP, который позволяет сетям общаться друг с другом, чтобы они знали, что они существуют, и знали, какие сети они делают доступными. Но на данный момент мы перестаем использовать IP-адреса. (если вы хотите узнать больше, посмотрите автономные системы, пиринг и BGP)
Большую часть этой информации можно найти здесь: http://www.internetassignednumbersauthority.org/numbers
Таким образом, в основном, после нескольких организаций, диапазон IP-адресов (блок) делится и разбивается на более мелкие группы, которые в какой-то момент принадлежат интернет-провайдеру. Затем этот интернет-провайдер сообщает другим интернет-провайдерам, что у него есть этот диапазон IP-адресов, чтобы его можно было использовать для связи. На этом этапе сеть интернет-провайдера готова, и ему нужно только выделить один IP-адрес для сети клиента, который затем становится IP-адресом WAN клиента.
Теперь интернет-провайдер не может сообщить другому интернет-провайдеру, что он владеет IP-адресами, которыми он фактически не владеет, потому что он не будет соответствовать реестрам на уровне LIR / NIR / RIR, которые могут быть публично проверены (а также автоматически). Так что на этом уровне дублирования IP-адресов не будет. Когда мошеннический интернет-провайдер все равно пытается это сделать, он в значительной степени отключается от остальной части Интернета, не позволяя ему связываться с другими интернет-провайдерами (поскольку они в основном отключают сетевые подключения поддельного интернет-провайдера к своим собственным сетям).
Это оставляет вас на уровне ISP. Поскольку интернет-провайдер знает, какие адреса у него есть, и знает, какие у него клиенты и к каким сетевым соединениям подключены эти клиенты, он может просто применять свои правила, не позволяя клиенту использовать IP-адрес, не назначенный интернет-провайдером. Он просто игнорирует весь интернет-трафик от клиента, которого там не должно быть. Назначение IP-адресов, как описано выше, выполняется системой, которая запоминает, кому и какой IP-адрес был присвоен, и поэтому никогда не выдает IP-адрес дважды.
Ведение записей предотвращает дублирование.
Как вы сказали, интернет-провайдер назначает адрес клиентам. Над ISP нумерационный центр, такой как ARIN или RIPE, назначает ISP блок IP-адресов, который он может использовать. Таким образом, нет двух интернет-провайдеров с одинаковым диапазоном адресов.
Схемы различаются, но в наиболее распространенной схеме провайдер отслеживает, какие IP-адреса он назначил, а какие доступны. Когда клиент устанавливает соединение, он назначает ему тот же IP-адрес, который он назначил ему при последнем подключении, если он еще доступен. Если это не удается, им назначается IP-адрес, который заведомо подходит и не используется.