route estática: por que um endereço de destino precisa de uma máscara de sub-rede [closed]

2

Quando defino uma rota estática, por que preciso definir uma máscara de sub-rede para a rede de destino? O que aconteceria, quando eu tiver mais de um gateway e as máscaras de sub-rede de todas as redes de destino forem 0.0.0.0?

    
por reneton 29.09.2012 / 09:46

2 respostas

5

Como o endereço de rede de destino, por si só, não fornece um intervalo de endereços de rede, no entanto, quando acoplado a uma máscara de rede, o escopo completo da rede remota é definido.

Por exemplo, digamos que você estava usando um host na rede 10.34.1.0/24 e tinha uma rota definida da seguinte forma

route add 10.34.2.0 mask 255.255.255.0 10.34.1.1

A regra acima, diz ao seu computador que qualquer host na rede 10.34.2.0/24 (10.34.2.1 - 10.34.2.254) é acessível através do roteador 10.34.1.1

A especificação de um destino sem uma máscara de sub-rede não faz sentido, mesmo no caso de um único host, que seria definido como

route add 10.34.3.4 mask 255.255.255.255 10.34.1.2

Se você tiver rotas conflitantes usando uma máscara de rede de 0.0.0.0, a rota com o menor valor de métrica normalmente terá precedência, por exemplo

route add 0.0.0.0 mask 0.0.0.0 10.34.1.3 metric 10
route add 0.0.0.0 mask 0.0.0.0 10.34.1.4 metric 5

10.34.1.4 seria a rota preferida, supondo que não existam outras rotas correspondentes com uma métrica menor

    
por 29.09.2012 / 11:24
1

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)

    
por 29.09.2012 / 10:50

Tags