Если маршрутизатор достаточно умен, чтобы видеть, что сообщение находится в одной подсети, почему каждому хосту важно знать свою собственную маску подсети?
Просто: находясь в подсети, хосты могут обмениваться данными без использования маршрутизатора.
Статья, которую вы нашли, вводит в заблуждение, подразумевая, что маршрутизатор всегда используется. На практике это обычно не так: узлы Ethernet реализуют ту же логику «подсети», поэтому трафик из одной подсети даже не достигает маршрутизатора. (Он входит в коммутатор Ethernet с хоста A и выходит прямо на хост B.)
Это сказал ... Да, метод, который вы указали (все хосты отправляют все на маршрутизатор; маршрутизатор отправляет на другой хост), вполне возможен и действительно используется в некоторых ситуациях - интернет-провайдерами, центрами обработки данных и, как правило, когда прямая связь нежелательна.
Но он имеет существенный недостаток, заключающийся в том, что маршрутизатор становится необходимостью для работы подсети, а не является необязательным компонентом, который просто действует как шлюз для внешних сетей. Помимо всего прочего, это еще одна точка отказа.
Это также превращает маршрутизатор в узкое место производительности. Когда хосты подключены к своим отдельным портам коммутатора Ethernet, сумма всего трафика, проходящего непосредственно между портами, может быть намного больше, чем если бы все это проходило через один порт маршрутизатора и обратно.
Например: на современном 24-портовом коммутаторе 1 Гбит / с общая теоретическая емкость составляет 48 Гбит / с (дуплексный режим). У вас могут быть хосты A и B, обращающиеся к хранилищу NAS, хосты C / D / E, обменивающиеся одноранговыми обновлениями Windows, хосты F / G / H, транслирующие игру Steam In-Home, хост XXX с просмотром 4K на YouTube и все еще достаточно коммутационной способности.
С другой стороны, если один маршрутизатор был в центре всего, проталкивая все через порт этого маршрутизатора (и обратно!) будет ограничивать всю сеть до 1 Гбит / с в общей сложности.
При каких обстоятельствах сообщение не сможет достичь назначенного пункта назначения из-за отдельных подсетей / сетей?
Когда маршрутизатор отказывается пересылать сообщение; например, он имеет неправильный маршрут (или вообще не имеет маршрута), или его правила брандмауэра запрещают сообщение. Возможность фильтрации пакетов через правила брандмауэра на самом деле является одной из основных причин использования подсетей.
Обратите внимание, что иногда сообщение может достигать места назначения, но ответ не проходит, что является важным отличием, поскольку маршруты или правила брандмауэра в обоих направлениях могут быть полностью независимыми.