Как определить, какой из подсетей принадлежит пакет IP-пакет?

То есть у Олиферов это всё подробно расписано. Если маршрутизация сделана на основе масок, то надо пробежаться по таблице маршрутизации и накладывать маску на IP адрес операцией AND, получившееся число сравнивать с номером сети в этой же строке.

Теперь что делать, если таких совпадений будет несколько:

И вот тут мне и непонятно. Во-первых, в одной олиферовской книге написан этот пункт, если длины масок ОДИНАКОВЫЕ. Тут вообще непонятно, какая может быть разница между количеством совпавших двоичних разрядов при нескольких сравнениях. Будет 10 операций сравнения, 10 раз сравниваться будут с одной стороны один и тот же IP-адрес, с другой стороны одна и та же маска. И всё будет одинаковое.

В другой олиферовской книге этот же пункт написан разобран для масок с разными длинами. И, наверное, именно для масок с разными длинами процитированное правило и предназначено. А тогда я его переформулирую:

Если будет несколько совпадений номеров сетей, то выбирать надо ту строку, где длина маски наибольшая, прав ли я? Спасибо, кто отликнется.