Я работаю над встроенной системой, которая будет подключаться к компьютеру через Ethernet. Продукт содержит DHCP-сервер, поэтому ПК может автоматически назначать IP-адрес. Чтобы не мешать функциям хоста, 2 IP-адреса, которые мы назначаем для этого соединения (которые всегда будут двухточечными), не должны конфликтовать ни с какими локальными сетями, к которым подключен хост ПК.

Есть ли способ получить диапазон, который гарантированно не будет использоваться? Должен ли я использовать адреса в 169.254.0.0/16?

Спасибо!

РЕДАКТИРОВАТЬ: Некоторые ошибки с моей стороны вызвали недоразумение. Мне не нужно, чтобы он был бесплатным, как в бесплатном пиве, я хочу, чтобы пользователь подключил устройство к своему компьютеру и автоматически установил соединение. Если я выберу 192.168.43.0/30 для соединения, это может фактически помешать пользователю, если он использует именно этот диапазон. Это проблема, которую я пытаюсь избежать.

Спасибо всем за комментарии!

3 ответа3

1

Вы можете использовать любой из диапазонов IP-адресов "внутреннего использования", который вы еще не используете. Самым простым является диапазон, например, 192.168.xy /24, в котором 0 <= x <255 выбран как тот, который вы еще не использовали, и y для определения каждого необходимого хоста. При этом вы можете поддерживать до 253 хостов.

AFAIK, предлагаемый вами IP-адрес не является внутренним IP-адресом.

Кстати, если эта сеть полностью изолирована и не имеет доступа к Интернету, вы можете выбрать любой диапазон IP-адресов.

0

Вы не можете гарантировать, что IP не используется. Однако клиенты dhcp, которые соответствуют стандартному поведению, ответят DHCPDECLINE, если адрес уже используется локально. Это применяется независимо от того, было ли оно назначено вручную или через другой DHCP-сервер. От rfc2131:

DHCPDECLINE - Клиент-сервер, указывающий, что сетевой адрес уже используется.

Кроме того, вы захотите использовать адрес 169.254.0.0/16 с маской сети 255.255.255.252, так как это соединение точка-точка. DHCPDECLINE ничего не говорит о том, есть ли другой хост в сети по предлагаемому IP-адресу, но если вы используете адрес 169.254.0.0 (например, 169.254.1.2) с маской 255.255.255.252, вы можете быть уверены, что Нет конфликтов, так как в этой сети PTP могут быть только 2 хоста.

0

Есть ли способ получить диапазон, который гарантированно не будет использоваться?

Да. Любой из IP-адресов RFC1918 . Они никогда не должны появляться в Интернете.

Очевидный недостаток: вы можете использовать их только локально.

Никогда не появляться в Интернете не означает, что они еще не используются в вашей локальной сети? Например, многие компании не имеют достаточных IP-номеров, чтобы использовать их для всех своих устройств, и те часто обращаются к грязному хаку, называемому NAT. Обычно с IP-адресами из того же диапазона. Поэтому спросите, прежде чем использовать их, или сыграйте в азартные игры и выберите что-то редкое (например, 172.16.65.14 и 172.16.65.15, которые относятся к диапазону 1918 года).

Альтернативой является использование IP v6.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .