У меня два хоста в одной локальной сети: 192.168.31.10 и 192.168.31.11, у них оба шлюза 192.168.31.1.
Таблица маршрутов на 192.168.31.10 выглядит следующим образом:
0.0.0.0 0.0.0.0 192.168.31.1 192.168.31.10
192.168.31.0 255.255.255.0 On-Link 192.168.31.10
Я могу понять таблицу маршрутов.
Я не могу понять, что если я удалю второе правило маршрутизации, хост 10 не сможет проверить связь с хостом 11. Я предполагаю, что первое правило маршрута должно вступить в силу, а затем маршрутизатор пересылает IP-пакеты на хост 11, но этого не произошло. т. Кто-нибудь может сказать мне, почему?
Проблема в том, что без второго маршрута ваш компьютер не знает, как найти маршрутизатор, который находится в той же подсети, поэтому он не может отправлять трафик.
Думаю, я нашел ответ. Это очень ясно в разделе 3 RFC1918: «Поскольку частные адреса не имеют глобального значения, информация о маршрутизации в частных сетях не должна распространяться по каналам между предприятиями, а пакеты с частными адресами источника или назначения не должны пересылаться по таким каналам. Маршрутизаторы в Ожидается, что сети, не использующие частное адресное пространство, особенно сети интернет-провайдеров, будут настроены на отклонение (отфильтровывание) информации о маршрутизации частных сетей.Если такой маршрутизатор получает такую информацию, отклонение не должно рассматриваться как ошибка протокола маршрутизации. ".