Итак, я читал о CIDR. Если я не ошибаюсь, можно назначить одинаковые два IP-адреса двум машинам, если они имеют разную длину префикса (разные подсети). Мне было интересно, если такие назначения (/ были) когда-либо реализованы в "общедоступном" Интернете (таким образом, диапазон общедоступных IP-адресов).
2 ответа
Итак, я читал о CIDR.
Если я не ошибаюсь, можно назначить одинаковые два IP-адреса двум машинам, если они имеют разную длину префикса (разные подсети).
Это зависит от того, как вы определяете «IP-адрес» и как вы определяете «Интернет».
Сначала давайте предположим, что IP v4 (с нескольких десятилетий существует также IP v6).
Затем позвольте IP-адресу быть 32-битным значением, обычно разбитым на 4 части и записанным в виде десятичных точек. Таким образом, IP 00000001000000100000001100000100 будет записан как 1.2.3.4
В Интернете (общедоступная сеть, соединяющая множество интранетов) это должно быть уникальным. Это как номер телефона, и у каждого телефона есть свой номер. Часть этого используется для маршрутизации, а другая - для идентификации сети, но комбинация уникальна.
Теперь есть два исключения:
- Сети не подключены к интернету. Нет конфликта с сетями в интернете невозможно. Назначьте все, что вы хотите. (Хотя у вас возникнут проблемы, если вы позже решите подключиться к Интернету). Чтобы избежать проблем с этим, мы зарезервировали несколько сетей (см. RFC 1918), которые никогда не следует направлять в реальный Интернет.
- Кладж под названием NAT. Это в основном переводит внешний адрес в один или несколько внутренних адресов. Добавьте к этому отсутствие маршрутизации внутренних IP-адресов в Интернет, и вы сможете обойти несколько проблем, если у вас недостаточно назначенных IP-адресов для всех ваших компьютеров. Обратите внимание, что это уродливый хак и он нарушает несколько протоколов (например, FTP). Это действительно должно использоваться только в чрезвычайных ситуациях.
Мне было интересно, были ли (или были) когда-либо реализованы такие назначения в "публичном" интернете (то есть в общедоступном диапазоне IP-адресов).
Нет. Каждый адрес уникален, и при обработке диапазонов с IP-адресами следует соблюдать осторожность. Конфликты тщательно избегаются.
Редактировать, я хочу добавить еще две вещи. Начнем с картинки.
На этой картинке у меня две разные сети с разными префиксами длины.
Где-то между компьютером («какой-то компьютер справа») и местом назначения находится множество маршрутизаторов. Я оставил большинство из них в маленьких облаках, но я явно нарисовал одно.
Теперь скажите, что на этом компьютере есть пакет с пунктом назначения 1.2.3.7
.
Что должен сделать роутер? Оба направления действительны. Не можете связаться с одним из них? Отправить данные в оба пункта назначения (без необходимости использовать пропускную способность и, возможно, утечку информации)?
Во-вторых, что если компьютер в верхнем левом облаке захочет отправить что-то на компьютер в нижнем левом облаке? Возможно, с одинаковыми номерами (IP) компьютеров в обеих сетях.
Оба из них показывают, почему адреса созданы уникальными. Вы можете неправильно настроить вещи, но ожидаете много проблем и, возможно, несколько недовольных тех, кто ведет сеть.
Ну, на самом деле невозможно использовать один и тот же IP, даже если это разные подсети. Если вы попробуете (проблемы с маршрутизацией и т.д.), У вас будет довольно много забавных вещей.
Я вижу, что кто-то опубликовал хороший ответ об этом на serverfault.com здесь.
И ответом на ваш вопрос будет нет. Только уникальные адреса!