Sub-rede de comprimento variável

1

No momento, estou tentando entender o VLS .... mas não consigo entender como um espaço de endereçamento é dividido para acomodar diferentes sub-redes de comprimento. Por exemplo,

Suppose you were given the IPv4 network block
137.73.64.0/20. Using variable length subnet masking (VLSM)
divide the network block in order to provide the following
subnetworks:
1. A, with at least 1800 hosts
2. B and C, with at least 500 hosts each
3. D, E and F, with at least 240 hosts each

Eu entendo que a maneira de fazer isso é

1. Take each subnet in turn, starting with the one
with largest number of hosts
2. Calculate bits required to represent this number
of hosts
3. Use remainder of host ID bits for subnet's ID
4. Allocate one subnet ID to the subnet that does
not have the same prefix as any of the already
allocated subnets
5. Move on to next largest subnet

Mas eu ainda não entendi muito bem a minha vida como chegar a essa resposta:

A possible solution, with subnet IDs highlighted, is:
A: 137.73.01000000.0 = 137.73.64.0/21
Host addresses: 2^11 − 2 = 2048 − 2 = 2046
B: 137.73.01001000.0 = 137.73.72.0/23
Host addresses: 2^9 − 2 = 512 − 2 = 510
C: 137.73.01001010.0 = 137.73.74.0/23
host addresses: 2^9 − 2 = 512 − 2 = 510
D: 137.73.01001100.0/24 = 137.73.76.0/24
host addresses: 2^8 − 2 = 256 − 2 = 254
E: 137.73.01001101.0/24 = 137.73.77.0/24
host addresses: 2^8 − 2 = 256 − 2 = 254
F: 137.73.01001110.0/24 = 137.73.78.0/24
host addresses: 2^8 − 2 = 256 − 2 = 254
Unallocated:
137.73.01001111.0/24 = 137.73.79.0/24
host addresses: 2^8 − 2 = 256 − 2 = 254 (unallocated)
Range of addresses unused: 137.73.79.1/24 to 137.73.79.254/24

Alguém pode me falar sobre isso, talvez?

    
por KP65 29.12.2009 / 14:48

4 respostas

1

A maneira mais fácil de lembrar é pegar o maior intervalo que você precisa primeiro (1800 hosts). Isto significa que você precisa ir para um total de 2048 (2 ^ 11) e para encontrar sua notação de barra, você simplesmente pega 32 - 11 = 21, então sua resposta para 1 é:

A 137.73.64.0/21

A máscara de sub-rede de um / 21 é 255.255.248.0 para descobrir o tamanho do bloco que você toma 256 - 248 = 8

Isso significa que seus espaços de endereço A terminam em:

137.73.71.255

Isso significa que seu próximo espaço de endereço mais alto (B com 500 hosts) começará em:

137.73.72.0

O espaço de endereço B usará 512 (2 ^ 9), então sua barra é 32 - 9 = 23 O que significa que o seu espaço de endereçamento B é:

137.73.72.0/23

A máscara de sub-rede de um / 23 é 255.255.254.0, portanto o tamanho do bloco é 256 - 254 = 2 Portanto, seu B termina em:

137.73.73.255

E o seu próximo maior (C com 500 hosts) começa em:

137.73.74.0

Como o seu C tem os mesmos hosts que o seu B, ele usa a mesma máscara de sub-rede (/ 23):

137.73.74.0/23

O tamanho do bloco também é 2, o que significa que C termina em:

137.73.75.255

Seu próximo espaço de endereço mais alto (D com 240 hosts) começará em:

137.73.76.0

O espaço de endereçamento D usará 256 (2 ^ 8), portanto a notação de barra é 32 - 8 = 24:

137.73.76.0/24

A / 24 tem uma máscara de sub-rede de (255.255.255.0), portanto o tamanho do bloco é 256 - 255 = 1 Portanto, seu espaço de endereço D terminará em:

137.73.76.255

O seu espaço de endereço E é o mesmo que D, por isso, tem um tamanho de bloco de 1 e um / 24:

137.73.77.0/24

Como o tamanho do bloco é 1, ele termina em:

137.73.77.255

O seu espaço de endereço F também é o mesmo que D e E, por isso, tem um tamanho de bloco de 1 e um / 24:

137.73.78.0/24

Como o tamanho do bloco é 1, ele termina em:

137.73.78.255

Portanto, suas sub-redes finais são:

A 137.73.64.0/21
B 137.73.72.0/23
C 137.73.74.0/23
D 137.73.76.0/24
E 137.73.77.0/24
F 137.73.78.0/24

Para encontrar o seu não alocado, você usa os mesmos conceitos. Você tem um / 20 que tem uma máscara de sub-rede de 255.255.240.0, então o tamanho do bloco é 256 - 240 = 16

Seu intervalo inteiro de endereços é:

137.73.64.0 - 137.73.79.255

Portanto, seus endereços não alocados variam de:

137.73.79.0 - 137.73.79.255

Qual é simplesmente outro / 24

Espero que ajude

    
por 29.12.2009 / 19:53
1

Eu costumo começar olhando para o espaço de endereço IP em binário e, em seguida, trabalho da esquerda usando o processo que você descreveu. Aqui está um passeio pelo processo. Usarei ? para representar bits não atribuídos, X para bits host-id e incluir explicitamente os bits id de sub-rede . Nós começamos com o seguinte padrão.

1000 1001  0100 1001  0100 ????  ???? ????      137.73.64/20

Agora precisamos de 11 bits para a primeira sub-rede, já que log 2 (1800) é menor que 11 e maior que 10.

1000 1001  0100 1001  0100 ?XXX  XXXX XXXX      137.73.64/21

O bit marcado com um ? é o único bit curinga restante. Atribua um valor zero e você definiu a primeira sub-rede. As sub-redes restantes usarão um valor de um assim:

1000 1001  0100 1001  0100 ????  ???? ????      137.73.64/20
1000 1001  0100 1001  0100 0XXX  XXXX XXXX      137.73.64/21    2,048 addresses
1000 1001  0100 1001  0100 1???  ???? ????      137.73.72/21

Em seguida, precisamos de uma sub-rede com capacidade de 500, então precisamos de nove bits. Temos 11 restantes no host-id para que possamos conectar os próximos dois bits com segurança.

1000 1001  0100 1001  0100 ????  ???? ????      137.73.64/20
1000 1001  0100 1001  0100 0XXX  XXXX XXXX      137.73.64/21    2,048 addresses
1000 1001  0100 1001  0100 100X  XXXX XXXX      137.73.72/23      512 addresses
1000 1001  0100 1001  0100 101?  ???? ????
1000 1001  0100 1001  0100 11??  ???? ????

A próxima sub-rede também é nove bits para que possamos usar outro dos bits restantes.

1000 1001  0100 1001  0100 ????  ???? ????      137.73.64/20
1000 1001  0100 1001  0100 0XXX  XXXX XXXX      137.73.64/21    2,048 addresses
1000 1001  0100 1001  0100 100X  XXXX XXXX      137.73.72/23      512 addresses
1000 1001  0100 1001  0100 101X  XXXX XXXX      137.73.74/23      512 addresses
1000 1001  0100 1001  0100 11??  ???? ????

As próximas três sub-redes são fáceis - elas são todas de oito bits. Podemos simplesmente dividir os bits restantes do curinga da esquerda para a direita.

1000 1001  0100 1001  0100 ????  ???? ????      137.73.64/20
1000 1001  0100 1001  0100 0XXX  XXXX XXXX      137.73.64/21    2,048 addresses
1000 1001  0100 1001  0100 100X  XXXX XXXX      137.73.72/23      512 addresses
1000 1001  0100 1001  0100 101X  XXXX XXXX      137.73.74/23      512 addresses
1000 1001  0100 1001  0100 1100  XXXX XXXX      137.73.76/24      256 addresses
1000 1001  0100 1001  0100 1101  XXXX XXXX      137.73.77/24      256 addresses
1000 1001  0100 1001  0100 1110  XXXX XXXX      137.73.78/24      256 addresses
1000 1001  0100 1001  0100 1111  ???? ????      137.73.79/24      256 addresses

O intervalo restante do curinga é o seu espaço não alocado.

    
por 29.12.2009 / 17:03
0

Uma sub-rede contém uma quantidade total de endereços 2 ^ (32-routing_prefix) (esse número após a barra). Você pode subtrair 2 desse intervalo, um para o chamado "identificador de rede", um para o endereço de transmissão.

Isso significa que, se você deseja alocar endereços para 1800 hosts (1802 endereços no total), você precisa ir para 2 ^ 11 (2048). Isso lhe dá um prefixo de roteamento de 32-11 = 21.

O chamado "identificador de rede" é simplesmente o endereço base com todos os bits "host" definidos como 0 (significando que para o 137.73.64.0/21 você ajusta 11 bits mais à direita para zero).

Espero que ajude um pouco.

    
por 29.12.2009 / 15:32
0

Então eu finalmente terminei minha calculadora.

137.73.64.0  /21 -> 1,800  (2,048)
137.73.72.0  /23 -> 500  (512)
137.73.74.0  /23 -> 500  (512)
137.73.76.0  /24 -> 254  (256) ++
137.73.77.0  /24 -> 240  (256)
137.73.78.0  /24 -> 240  (256)
137.73.79.0  /24 -> 240  (256)

O ++ foi adicionado pela calculadora. É o maior bloco não utilizado no intervalo.

    
por 02.02.2010 / 21:59