Выражу мнение, основанное на собственном опыте. Если вдруг задел чьи-то религиозные чувства ("евангелию от Олифера перечить вздумал, еретик!"), извините.
Сам термин "адрес сети" - наследие лихих времен классовой адресации. Оттуда же термины "сеть" и "подсеть" в смысле IP-адресации. Я предлагаю об этих терминах, в силу их слабой применимости к реалиям 2015 года, забыть, и оперировать понятием префикса, т.е. группы адресов с одинаковыми начальными битами.
В вашем случае, предположу, ОС различает маршрут до 10.10.0.0/32 (до роутера) и до 10.10.0.0/24 (маршрут для всех остальных хостов в сети). Это не значит, что все будет работать. Наверняка могут всплыть нюансы с реализацией ARP и т.д.
Возникает также вопрос, как, когда и почему "нулевой" адрес запретили использовать в качестве адреса хоста. Не имея перед собой исходники старых *nix трудно утверждать, но гипотезы такие:
1) раньше "нулевой" адрес использовался не как адрес сети, а как широковещательный, вероятно, корни растут оттуда
2) нюансы реализации маршрутизации и пересылки трафика. Например, запись для маршрута до классовой сети хранилась без маски/префикса (смысл классовой адресации), вероятно, не было возможности различить маршрут до сети с адресом c.c.c.0 и маршрут до хоста с адресом c.c.c.0 . Потом, вероятно, этот подход ("как бы чего не вышло", или fear-uncertainty-doubt в странах развитой демократии) распространился и на подсети, а затем и на префиксы при бесклассовой адресации.
Вообще говоря, представляется полезным попробовать решить следующую задачу.
У вас есть сетевое устройство L3 (маршрутизатор, ведь практически любой сервер или компьютер занимается маршрутизацией собственного трафика), с несколькими ethernet-интерфейсами и с некоторым количеством маршрутов. Как организовать представление таблицы маршрутизации? Как, по заданному IPv4-адресу назначения, определить, как и куда переслать пакет? Попробуйте сами для себя составить примерный алгоритм, многое прояснится.