В случае PPP, можно ли использовать любой IP-адрес, включая широковещательный и сетевой идентификатор, в качестве исходного адреса?
Например:
192.168.1.0, 192.168.1.255
?
Один из клиентов настроил пул DHCP для PPP как 192.168.0.1
к 192.168.1.254
. (вместо создания двух отдельных диапазонов: 192.168.0.1~192.168.0.254, 192.168.1.1~192.168.1.254
). Когда выдает DHCP 192.168.1.0
для клиента PPP все еще работает. Это заставило меня задуматься, законно ли их использовать в PPP (будучи / 32)? Я подумал, что, будучи идентификатором сети, мы не должны использовать его в качестве адреса источника. Это потому, что PPP использует / 32 и, следовательно, больше не является идентификатором сети?
Если они используют сетевую маску / 23 (255.255.254.0), то 192.168.1.0 является допустимым адресом хоста. В этом случае 192.168.0.0 - это сетевой адрес, 192.168.1.255 - широковещательный адрес, а допустимые адреса узлов - от 192.168.0.1 до 192.168.1.254.
Здесь упоминаются две разные проблемы:
Представьте себе каждое PPP-соединение от удаленного хоста к PPP-серверу как отдельный кабель, который представляет собой небольшую собственную сеть с двумя узлами, изолированную от всего остального, без шлюзов, без подсетей, все маршрутизируется по каналу.
PPP обычно используется с 32-битной маской сети, потому что на данном канале PPP есть только две точки, и, следовательно, маршрутизация не требуется, весь трафик с одного конца будет всегда добраться до другого конца независимо от адреса.
Маршрутизация состоится вне PPP-канал, PPP-сервер обычно имеет маршруты для каждого PPP-интерфейса (соединения), который был установлен, например, допустим, корпоративный почтовый сервер отвечает удаленному PPP-клиенту.
Пакет пойдет с почтового сервера на сервер агрегатора PPP (PPPSRV1), адрес назначения - 192.168.1.10 (PPPHOST1); PPPSRV1 находит наиболее конкретный маршрут в своей таблице маршрутизации, который может выглядеть примерно так:
Target: 192.168.1.10/32, Gateway: 0.0.0.0 (on-link), Device/Interface: ppp8
PPPSRV1 направит пакет от порта Ethernet к соединению PPP через интерфейс ppp8, где он достигнет PPPHOST1.
RFC3021 не имеет прямого отношения, но объясняет некоторые связанные концепции.
Я хочу сказать, что PPP не обязательно должен использовать 32-битную маску сети.
Как сказал Джокерти, использовалась 23-битная сетевая маска, что означает, что идентификатор сети и широковещательные адреса 192.168.0.0 и 192.168.1.255 соответственно, все, что находится между ними, может быть назначено хостам. Это наиболее простой расчет - не охватываемый битами сети? с хостов ты идешь.