A máscara de sub-rede serve para informar ao seu roteador / SO qual é exatamente a parte da rede do seu endereço.
Digamos que você tenha 10.1.2.0 se não tiver uma máscara de rede (isso é chamado de roteamento classful) se for pressum que é a rede 10.0.0.0 porque pertence à Classe A (alguns dispositivos / SO fornecem a sub-rede definida na sua interface). Veja aqui sobre o roteamento classful e classless
Estas são as classes:
Class A
1. 0. 0. 1 = 00000000.00000000.00000000.00000000
127.255.255.254 = 01111111.11111111.11111111.11111111
0nnnnnnn.HHHHHHHH.HHHHHHHH.HHHHHHHH
Class B
128. 1. 0. 1= 10000000.00000000.00000000.00000000
191.255.255.255 = 10111111.11111111.11111111.11111111
10nnnnnn.nnnnnnnn.HHHHHHHH.HHHHHHHH
Class C
192. 0. 1. 1 = 11000000.00000000.00000000.00000000
223.255.255.254 = 11011111.11111111.11111111.11111111
110nnnnn.nnnnnnnn.nnnnnnnn.HHHHHHHH
Class D
224. 0. 0. 0 = 11100000.00000000.00000000.00000000
239.255.255.254 = 11101111.11111111.11111111.11111111
1110XXXX.XXXXXXXX.XXXXXXXX.XXXXXXXX
Class E
240. 0. 0. 0 = 11110000.00000000.00000000.00000000
255.255.255.254 = 11111111.11111111.11111111.11111111
1111XXXX.XXXXXXXX.XXXXXXXX.XXXXXXXX
Mas se você colocar a máscara de sub-rede, poderá dividir essa rede 10.0.0.0 em mais redes, como 10.1.0.0 ou 10.1.1.0.
A máscara de sub-rede é necessária porque, quando você define o endereço estático (digamos, no Windows, ele não usa o roteamento calssful, mas sem classe, que deve ter a máscara de sub-rede).
Se você colocar a máscara de sub-rede 255.0.0.0, isso significa que somente a primeira parte do endereço é o endereço de rede, então sua rede é x.0.0.0, se você colocar 255.255.0.0, a segunda parte do endereço como xx0.0 e assim por diante. Então, quando você coloca a máscara de sub-rede 0.0.0.0, significa qualquer endereço de 0.0.0.0 a 255.255.255.255.
Se você tiver mais de uma rota para o mesmo destino, a rota com menor métrica será a vencedora.
Por ter a máscara de sub-rede dos seus destinos definida como 0.0.0.0 na maioria dos dispositivos / SO, não acho que seja possível colocar a máscara de sub-rede 0.0.0.0, se o endereço não for 0.0.0.0. Ou seja, eles não permitem colocar um valor de bit no endereço de destino da rota estática se o valor correspondente na máscara de sub-rede for 0.
O Windows, por exemplo, não permite que você faça isso
route add 10.10.10.0 mask 255.0.0.0 192.168.1.1
porque você especificou a máscara de sub-rede 255.0.0.0 que está em formato binário 11111111.00000000.00000000.00000000 e o endereço de destino 10.10.10.0 que está em formato binário 00001010.00001010.00001010.00000000. Tem 1 no lugar onde a máscara de sub-rede tem 0 (segunda e terceira porção do endereço)