Esta é a sétima parte do Tutorial de TCP/IP. Na Parte 1 tratei dos aspectos básicos do protocolo TCP/IP. Na Parte 2 falei sobre cálculos binários, um importante tópico para entender sobre redes, máscara de sub-rede e roteamento. Na Parte 3 falei sobre Classes de endereços, na Parte 4 fiz uma introdução ao roteamento e na Parte 5 apresentei mais alguns exemplos/análises de como funciona o roteamento e na Parte 6 falei sobre a Tabela de Roteamento. Nesta parte abordarei um dos tópicos que mais geram dúvidas em relação ao TCP/IP: Sub netting, ou seja, como fazer a divisão de uma rede em sub-redes.

Introdução:

Até agora, nas demais partes deste tutorial, sempre utilizei as máscaras de rede padrão para cada classe de endereços, onde são utilizados oito, dezesseis ou vinte e quatro bits para a máscara de rede, conforme descrito a seguir:

Número de bits Máscara de sub-rede
8 255.0.0.0
16 255.255.0.0
24 255.255.255.0

Por isso que existe uma outra notação, onde a máscara de sub-rede é indicada simplesmente pelo número de bits utilizados na máscara de sub/rede, conforme exemplos a seguir:

Definição da rede Máscara de sub-rede
10.10.10.0/16 255.255.0.0
10.10.10.0/24 255.255.255.0
10.200.100.0/8 255.0.0.0

Porém com este esquema de endereçamento, baseado apenas nas máscaras de sub-rede padrão (oito, dezesseis ou vinte e quatro bits), haveria um grande desperdício de números IP. Por exemplo, que empresa no mundo precisaria da faixa completa de uma rede classe A, na qual estão disponíveis mais de 16 milhões de endereços IP?

Vamos, agora, analisar o outro extremo desta questão. Imagine, por exemplo, uma empresa de porte médio, que tem a matriz em São Paulo e mais cinco filiais em outras cidades do Brasil. Agora imagine que em nenhuma das localidades, a rede tem mais do que 30 computadores. Se for usado as máscaras de sub-rede padrão, terá que ser definida uma rede Classe C (até 254 computadores, conforme descrito na Parte 4 dest tutorial), para cada localidade. Observe que estamos reservando 254 números IP para cada localidade (uma rede classe C com máscara 255.255.255.0), quando na verdade, no máximo, 30 números serão utilizados em cada localidade. Na prática, um belo desperdício de endereços, mesmo em um empresa de porte médio ou pequeno.

Observe que neste exemplo, uma única rede Classe C seria suficiente. Já que são seis localidades (a matriz mais seis filiais), com um máximo de 30 endereços por localidade, um total de 254 endereços de uma rede Classe C seria mais do que suficiente. Ainda haveria desperdício, mas agora bem menor.

A boa notícia é que é possível "dividir" uma rede (qualquer rede) em sub-redes, onde cada sub-rede fica apenas com uma faixa de números IP de toda a faixa original. Por exemplo, a rede Classe A 10.100.100.0/255.255.255.0, com 256 números IPs disponívies (na prática são 254 úteis, descontando o primeiro que é o número da própria rede e o último que o endereço de broadcast, conforme descrito na Parte 4 deste tutorial), poderia ser dividida em 8 sub-redes, com 32 números IP em cada sub-rede. O esquema a seguir ilustra este conceito:

Rede original: 256 endereços IP disponíveis: 10.100.100.0 -> 10.100.100.255

Divisão da rede em 8 sub-redes, onde cada sub-rede fica com 32 endereços IP:
Sub-rede 01: 10.100.100.0 -> 10.100.100.31
Sub-rede 02: 10.100.100.32 -> 10.100.100.63
Sub-rede 03: 10.100.100.64 -> 10.100.100.95
Sub-rede 04: 10.100.100.96 -> 10.100.100.127
Sub-rede 05: 10.100.100.128 -> 10.100.100.159
Sub-rede 06: 10.100.100.160 -> 10.100.100.191
Sub-rede 07: 10.100.100.192 -> 10.100.100.223
Sub-rede 08: 10.100.100.224 -> 10.100.100.255
Para o exemplo da empresa com seis localidades (matriz mais cinco filiais), onde, no máximo, são necessários trinta endereços IP por localidade, a utilização de uma única rede classe C, dividida em 8 sub-redes seria a solução ideal. Na prática a primeira e a última sub-rede são descartadas, pois o primeiro IP da primeira sub-rede representa o endereço de rede e o último IP da última sub-rede representa o endereço de broadcast. Com isso restariam, ainda, seis sub-redes. Exatamente a quantia necessária para o exemplo proposto. Observe que ao invés de seis redes classe C, bastou uma única rede, subdividida em seis sub-redes. Uma bela economia de endereços. Claro que se um dos escritórios, ou a matriz, precisasse de mais de 32 endereços IP, um esquema diferente de divisão teria que ser criado.

Entendido o conceito teórico de divisão em sub-redes, resta o trabalho prático, ou seja:
  • O que tem que ser alterado para fazer a divisão em sub-redes (subnetting).
  • Como calcular o número de sub-redes e o número de números IP dentro de cada sub-rede.
  • Como listar as faixas de endereços dentro de cada sub-rede.
  • Exemplos práticos
  • Você aprenderá estas etapas através de exemplos práticos. Vou inicialmente mostrar o que tem que ser alterado para fazer a divisão de uma rede padrão (com máscara de 8, 16 ou 24 bits) em uma ou mais sub-redes. Em seguida, apresento alguns exemplos de divisão de uma rede em sub-redes. Mãos a obra.
    S= O que tem que ser alterado para fazer a divisão em sub-redes (subnetting).

    Alterando o número de bits da máscara de sub-rede:

    Por padrão são utilizadas máscaras de sub-rede de 8, 16 ou 24 bits, conforme indicado no esquema a seguir:

    Número de bits Máscara de sub-rede
    08 255.0.0.0
    16 255.255.0.0
    24 255.255.255.0

    Uma máscara de 8 bits significa que todos os bits do primeiro octeto são iguas a 1; uma máscara de 16 bits significa que todos os bits do primeiro e do segundo octeto são iguais a 1 e uma máscara de 24 bits significa que todos os bits dos três primeiros octetos são iguais a 1. Este conceito está ilustrado na tabela a seguir:

    Núm.bits

    Octeto 01 Octeto 02 Octeto 03 Octeto 04 Máscara de sub-rede
    08 11111111 00000000 00000000 00000000 255.0.0.0
    16 11111111 11111111 00000000 00000000 255.255.0.0
    24 11111111 11111111 11111111 00000000 255.255.255.0
    Máscaras de rede com 8, 16 e 24 bits.

    No exemplo da rede com matriz em São Paulo e mais cinco escritórios, vamos utilizar uma rede classe C, que será subdividida em seis sub-redes (na prática 8, mas a primeira e a última não são utilizadas). Para fazer esta subdivisão, você deve alterar o número de bits iguais a 1 na máscara de sub-rede. Por exemplo, ao invés de 24 bits, você terá que utilizar 25, 26, 27 ou um número a ser definido. Bem, já avançamos mais um pouco:

    "Para fazer a divisão de uma rede em sub-redes, é preciso aumentar o número de bits iguais a 1, alterando com isso a máscara de sub-rede."

    Quantos bits devem ser utilizados para a máscara de sub-rede?

    Agora, naturalmente, surge uma nova questão: "Quantos bits?". Ou de uma outra maneira (já procurando induzir o seu raciocínio): "O que define o número de bits a ser utilizados a mais?"

    Bem, esta é uma questão bem mais simples do que pode parecer. Vamos a ela. No exemplo proposto, precisamos dividir a rede em seis sub-redes. Ou seja, o número de sub-redes deve ser, pelo menos, seis. Sempre lembrando que a primeira e a última sub-rede não são utilizadas. O número de sub-redes é proporcional ao número de bits que vamos adicionar à máscara de sub-rede já existente. O número de rede é dado pela fórmula a seguir, onde ‘n’ é o númeo de bits a mais a serem utilizados para a máscara de sub-rede:
    Núm. de sub-redes = 2n-2
    No nosso exemplo estão disponíveis até 8 bits do último octeto para serem também utilizados na máscara de sub-rede. Claro que na prática não podemos usar os 8 bits, senão ficaríamos com o endereço de broadcast: 255.255.255.255, com máscara de rede. Além disso, quanto mais bits eu pegar para a máscara de sub-rede, menos sobrarão para os números IP da rede. Por exemplo, se eu adicionar mais um bit a máscara já existente, ficarei com 25 bits para a máscara e 7 para números IP, se eu adicionar mais dois bits à máscara original de 24 bits, ficarei com 26 bits para a máscara e somente 6 para números IP e assim por diante. O número de bits que restam para os números IP, definem quantos números IP podem haver em cada sub-rede. A fórmula para determinar o número de endereços IP dentro de cada sub-rede, é indicado a seguir, onde ‘n’ é o númeo de bits destinados a parte de host do endereço (32 – bits usados para a máscara):

    Núm. de endereços IP dentro de cada sub-rede = 2n-2

    Na tabela a seguir, apresento cálculos para a divisão de sub-redes que será feita no nosso exemplo. Observe que quanto mais bits eu adiciono à máscara de sub-rede, mais sub-redes é possível obter, porém com um menor número de máquinas em cada sub-rede. Lembrando que o nosso exemplo estamos subdividindo uma rede classe A - 10.100.100.0/255.255.255.0, ou seja, uma rede com 24 bits para a máscara de sub-rede original.

    Número de bits a mais
    a serem utilizados

    Número de sub-redes Número de hosts
    em cada sub-rede
    0 máscara original.
    rede classe C sem divisão
    254
    1 0 126
    2 2 62
    3 6 30
    4 14 14
    5 30 6
    6 62 2
    7 126 0
    8 endereço de broadcast -
    Número de redes e número de hosts em cada rede.

    Claro que algumas situações não se aplicam na prática. Por exemplo, usando apenas um bit a mais para a máscara de sub-rede, isto é, 25 bits ao invés de 24. Neste caso teremos 0 sub-redes disponíveis. Pois com 1 bit é possível criar apenas duas sub-redes, como a primeira e a última são descartadas, conforme descrito anteriormente, na prática as duas sub-redes geradas não poderão ser utilizadas. A mesma situação ocorre com o uso de 7 bits a mais para a máscara de sub-rede, ou seja, 31 ao invés de 24. Nesta situação sobra apenas um bit para os endereços IP. Com 1 bit posso ter apenas dois endereços IP, descontanto o primeiro e o último que não são utilizados, não sobra nenhum endereço IP. As situações intermediárias é que são mais realistas. No nosso exemplo, precisamos dividir a rede Classe A - 10.100.100.0/255.255.255.0, em seis sub-redes. De acordo com a tabela da Figura 16.6, precisamos utilizar 3 bits a mais para obter as seis sub-redes desejadas. Observe que utilizando três bits a mais, ao invés de 24 bits (máscara original), vamos utilizar 27 bits para a máscara de sub-rede. Com isso sobra cinco bits para os números IPs dentro de cada sub-rede, o que dá um total de 30 números IP por sub-rede. Exatamente o que precisamos.

    A próxima questão que pode surgir é como é que fica a máscara de sub-rede, agora que ao invés de 24 bits, estou utilizando 27 bits, conforme ilustrado na tabela a seguir:

    Núm.bits

    Octeto 01 Octeto 02 Octeto 03 Octeto 04
    27 11111111 11111111 11111111 11100000
    Máscara de sub-rede com 27 bits.

    Para determinar a nova máscara temos que revisar o valor de cada bit, o que foi visto no Capítulo 2. Da esquerda para a direita, cada bit representa o seguinte valor, respectivamente:

    128       64       32       16       8       4       2       1

    Como os três primeiros bits do último octeto foram também utilizados para a máscara, estes três bits soman para o valor do último octeto. No nosso exemplo, o último octeto da máscara terá o seguinte valor: 128+64+32 = 224. Com isso a nova máscara de sub-rede, máscara esta que será utilizada pelas seis sub-redes, é a seguinte: 255.255.255.224. Observe que ao adicionarmos bits à máscara de sub-rede, fazemos isso a partir do bit de maior valor, ou seja, o bit mais da esquerda, com o valor de 128, depois usamos o próximo bit com valor 64 e assim por diante. Na tabela a seguir, apresento a ilustração de como fica a nova máscara de sub-rede:

    Núm.bits

    Octeto 01 Octeto 02 Octeto 03 Octeto 04 Nova Máscara
    27 11111111 11111111 11111111 11100000 255.255.255.224
    A nova máscara de sub-rede.

    Com o uso de três bits adicionais para a máscara de rede, teremos seis sub-redes disponíveis (uma para cada escritório) com um número máximo de 30 números IP por sub-rede. Exatamente o que precisamos para o exemplo proposto.

    A idéia básica de subnetting é bastante simples. Utiliza-se bits adicionais para a máscara de sub-rede. Com isso tenho uma divisão da rede original (classe A, classe B ou classe C) em várias sub-redes, sendo que o número de endereços IP em cada sub-rede é reduzido (por termos utilizados bits adicionais para a máscara de sub-rede, bits estes que originalmente eram destinados aos endereços IP). Esta divisão pode ser feita em redes de qualquer uma das classes padrão A, B ou C. Por exemplo, por padrão, na Classe A são utilizados 8 bits para a máscara de sub-rede e 24 bits para hosts. Você pode utilizar, por exemplo, 12 bits para a máscara de sub-rede, restando com isso 20 bits para endereços de host.

    Na tabela a seguir, apresento os cálculos para o número de sub-redes e o número de hosts dentro de cada sub-rede, apenas para os casos que podem ser utilizados na prática, ou seja, duas ou mais sub-redes e dois ou mais endereços válidos em cada sub-rede.

    Número de bits a mais
    a serem utilizados

    Número de sub-redes Número de hosts
    em cada sub-rede
    2 2 62
    3 6 30
    4 14 14
    5 30 6
    6 62 2
    Número de redes e número de hosts em cada rede – divsão de uma rede Classe C.

    Lembrando que a fórmula para calcular o número de sub-redes é:

    Núm. de sub-redes = 2n-2

    onde n é o número de bits a mais utilizados para a máscara de sub-rede

    E a fórmula para calcular o número de endereços IP dentro de cada sub-rede é:

    2n-2

    onde n é o número de bits restantes, isto é, não utilizados pela máscara de sub-rede.

    Até aqui trabalhei com um exemplo de uma rede Classe C, que está sendo subdividida em várias sub-redes. Porém é também possível subdividir redes Classe A e redes Classe B. Lembrando que redes classe A utilizam, por padrão, apenas 8 bits para o endereço de rede, já redes classe B, utilizam, por padrão, 16 bits. Na tabela a seguir, apresento um resumo do número de bits utilizados para a máscara de sub-rede, por padrão, nas classes A, B e C:

    Classe

    Bits

    Octeto 01 Octeto 02 Octeto 03 Octeto 04 Máscara Padrão
    A 8 11111111 00000000 00000000 00000000 255.0.0.0
    B 16 11111111 11111111 00000000 00000000 255.255.0.0
    C 24 11111111 11111111 11111111 00000000 255.255.255.0
    Máscara padrão para as classes A, B e C.

    Para subdividir uma rede classe A em sub-redes, basta usar bits adicionais para a máscara de sub-rede. Por padrão são utilizados 8 bits. Se você utilizar 10, 12 ou mais bits, estará criando sub-redes. O mesmo raciocínio é válido para as redes classe B, as quais utilizam, por padrão, 16 bits para a máscara de sub-rede. Se você utilizar 18, 20 ou mais bits para a máscara de sub-rede, estará subdividindo a rede classe B em várias sub-redes.

    As fórmulas para cálculo do número de sub-redes e do número de hosts em cada sub-rede são as mesmas apresentadas anteriormente, independentemente da classe da rede que está sendo dividida em sub-redes.

    A seguir apresento uma tabela com o número de sub-redes e o número de hosts em cada sub-rede, dependendo do número de bits adicionais (além do padrão definido para a classe) utilizados para a máscara de sub-rede, para a divisão de uma rede Classe B:

    Divisão de uma rede classe B em sub-redes

    Número de bits

    Sub-redes Hosts Nova máscara de sub-rede
    2 2 16382 255.255.192.0
    3 6 8190 255.255.224.0
    4 14 4094 255.255.240.0
    5 30 2046 255.255.248.0
    6 62 1022 255.255.252.0
    7 126 510 255.255.254.0
    8 254 254 255.255.255.0
    9 510 126 255.255.255.128
    10 1022 62 255.255.255.192
    11 2046 30 255.255.255.224
    12 4094 14 255.255.255.240
    13 8190 6 255.255.255.248
    Número de redes e número de hosts em cada rede – Classe B.

    Observe como o entendimento dos cálculos binários realizados pelo TCP/IP facilita o entendimento de vários assuntos relacionados ao TCP/IP, inclusive o conceito de subnetting (Veja Parte 2 para detalhes sobre Cálculos Binários). Por padrão a classe B utiliza 16 bits para a máscara de sub-rede, ou seja, uma máscara padrão: 255.255..0.0. Agora se utilizarmos oito bits adicionais (todo o terceiro octeto) para a máscara, teremos todos os bits do terceiro octeto como sendo iguais a 1, com isso a máscara passa a ser: 255.255.255.0. Este resultado está coerente com a tabela da Figura 16.11. Agora vamos avançar um pouco mais. Ao invés de 8 bits adicionais, vamos utilizar 9. Ou seja, todo o terceiro octeto (8 bits) mais o primeiro bit do quarto octeto. O primeiro bit, o bit bem à esquerda é o bit de valor mais alto, ou seja, o que vale 128. Ao usar este bit também para a máscara de sub-rede, obtemos a seguinte máscara: 255.255.255.128. Também fecha com a tabela anterior. Com isso você pode concluir que o entendimento da aritemética e da representação binária, facilita muito o estudo do protocolo TCP/IP e de assuntos relacionados, tais como subnetting e roteamento.

    A seguir apresento uma tabela com o número de sub-redes e o número de hosts em cada sub-rede, dependendo do número de bits adicionais (além do padrão definido para a classe) utilizados para a máscara de sub-rede, para a divisão de uma rede Classe A:

    Divisão de uma rede classe A em sub-redes

    Número de bits

    Sub-redes Hosts Nova máscara de sub-rede
    2 2 4194302 255.192.0.0
    3 6 2097150 255.224.0.0
    4 14 1048574 255.240.0.0
    5 30 524286 255.248.0.0
    6 62 262142 255.252.0.0
    7 126 131070 255.254.0.0
    8 254 65534 255.255.0.0
    9 510 32766 255.255.128.0
    10 1022 16382 255.255.192.0
    11 2046 8190 255.255.224.0
    12 4094 4094 255.255.240.0
    13 8190 2046 255.255.248.0
    14 16382 1022 255.255.252.0
    15 32766 510 255.255.254.0
    16 65534 254 255.255.255.0
    17 131070 126 255.255.255.128
    18 262142 62 255.255.255.192
    19 524286 30 255.255.255.224
    20 1048574 14 255.255.255.240
    21 2097150 6 255.255.255.248
    22 4194302 2 255.255.255.252
    Número de redes e número de hosts em cada rede – Classe A.

    Um fato importante, que eu gostaria de destacar novamente é que todas as sub-redes (resultantes da divisão de uma rede), utilizam o mésmo número para a máscara de sub-rede. Por exemplo, na quarta linha da tabela indicada na Figura 16.12, estou utilizando 5 bits adicionais para a máscara de sub-rede, o que resulta em 30 sub-redes diferentes, porém todas utilizando como máscara de sub-rede o seguinte número: 255.248.0.0.

    Muito bem, entendido o conceito de divisão em sub-redes e de determinação do número de sub-redes, do número de hosts em cada sub-rede e de como é formada a nova máscara de sub-rede, a próxima questão que pode surgir é a seguinte:

    Como listar as faixas de endereços para cada sub-rede? Este é exatamente o assunto que vem a seguir.

    Como listar as faixas de endereços dentro de cada sub-rede.

    Vamos entender esta questão através de exemplos práticos.

    Exemplo 01: Dividir a seguinte rede classe B: 129.45.32.0/255.255.0.0. São necessárias, pelo menos, 10 sub-redes. Determinar o seguinte:

    a) Quantos bits serão necessários para fazer a divisão e obter pelo menos 10 sub-redes?
    b) Quantos números IP (hosts) estarão disponíveis em cada sub-rede?
    c) Qual a nova máscara de sub-rede?
    d) Listar a faixa de endereços de cada sub-rede
    .

    Vamos ao trabalho. Para responder a questão da letra a, você deve lembrar da fórmula:

    Núm. de sub-redes = 2n-2

    Você pode ir substituindo n por valores sucessivos, até atingir ou superar o valor de 10. Por exemplo, para n=2, a fórmula resulta em 2, para n=3, a fórmula resulta em 6, para n=4 a fórmula resulta em 14. Bem, está respondida a questão da letra a, temos que utilizar quatro bits do quarto octeto para fazer parte da máscara de sub-rede.

    a) Quantos bits serão necessários para fazer a divisão e obter pelo menos 10 sub-redes?
    R: 4 bits.

    Como utilizei quatro bits do último octeto (além dos 24 bits dos três primeiros octetos, os quais já faziam parte da máscara original), sobraram apenas 4 bits para os endereços IP, ou seja, para os endereços de hosts em cada sub-rede. Tenho que lembrar da seguinte fórmula:

    Núm. de endereços IP dentro de cada sub-rede = 2n-2

    substituindo n por 4, vou obter um valor de 14. Com isso já estou em condições de responder a alternativa b.

    b) Quantos números IP (hosts) estarão disponíveis em cada sub-rede?
    R: 14.

    Como utilizei quatro bits do quarto octeto para fazer a divisão em sub-redes, os quatro primeiros bits foram definidos igual a 1. Basta somar os respectivos valores, ou seja: 128+64+32+16 = 240. Ou seja, com os quatro primeiros bits do quarto octeto sendo iguais a 1, o valor do quarto octeto passa para 240, com isso já temos condições de responder a alternativa c.

    c) Qual a nova máscara de sub-rede?
    R: 255.255.255.240

    É importante lembrar, mais uma vez, que esta será a máscara de sub-rede utilizada por todas as 14 sub-redes.

    d) Listar a faixa de endereços de cada sub-rede.

    Esta é a novidade deste item. Como saber de que número até que número vai cada endereço IP. Esta também é fácil, embora seja novidade. Observe o último bit definido para a máscara. No nosso exemplo é o quarto bit do quarto octeto. Qual o valor decimal do quarto bit? 16 (o primeiro é 128, o segundo 64, o terceiro 32 e assim por diante, conforme explicado no Capítulo 2). O valor do último bit é um indicativo das faixas de variação para este exemplo. Ou seja, na prática temos 16 hosts em cada sub-rede, embora o primeiro e o último não devam ser utilizados, pois o primeiro é o endereço da própria sub-rede e o último é o endereço de broadcast da sub-rede. Por isso que ficam 14 hosts por sub-rede, devido ao ‘-2’ na fórmula, o ‘-2’ significa: - o primeiro – o último. Ao listar as faixas, consideramos os 16 hosts, apenas é importante salienar que o primeiro e o último não são utilizados. Com isso a primeira sub-rede vai do host 0 até o 15, a segunda sub-rede do 16 até o 31, a terceira do 32 até o 47 e assim por diante, conforme indicado no esquema a seguir:

    Divisão da rede em 14 sub-redes, onde cada sub-rede fica com 16 endereços IP, sendo que a primeira e a última sub-rede não são utilizadas e o primeiro e o último número IP, dentro de cada sub-rede, também não são utilizados:
    Sub-rede 01 129.45.32.0 -> 129.45.32.15
    Sub-rede 02 129.45.32.16 -> 129.45.32.31
    Sub-rede 03 129.45.32.32 -> 129.45.32.47
    Sub-rede 04 129.45.32.48 -> 129.45.32.63
    Sub-rede 05 129.45.32.64 -> 129.45.32.79
    Sub-rede 06 129.45.32.80 -> 129.45.32.95
    Sub-rede 07 129.45.32.96 -> 129.45.32.111
    Sub-rede 08 129.45.32.112 -> 129.45.32.127
    Sub-rede 09 129.45.32.128 -> 129.45.32.143
    Sub-rede 10 129.45.32.144 -> 129.45.32.159
    Sub-rede 11 129.45.32.160 -> 129.45.32.175
    Sub-rede 12 129.45.32.176 -> 129.45.32.191
    Sub-rede 13 129.45.32.192 -> 129.45.32.207
    Sub-rede 14 129.45.32.208 -> 129.45.32.223
    Sub-rede 15 129.45.32.224 -> 129.45.32.239
    Sub-rede 16 129.45.32.240 -> 129.45.32.255
    Vamos a mais um exemplo prático, agora usando uma rede classe B, que tem inicialmente, uma máscara de sub-rede: 255.255.0.0

    Exemplo 02: Dividir a seguinte rede classe B: 150.100.0.0/255.255.0.0. São necessárias, pelo menos, 20 sub-redes. Determinar o seguinte:

    a) Quantos bits serão necessários para fazer a divisão e obter pelo menos 10 sub-redes?
    b) Quantos números IP (hosts) estarão disponíveis em cada sub-rede?
    c) Qual a nova máscara de sub-rede?
    d) Listar a faixa de endereços de cada sub-rede.

    Vamos ao trabalho. Para responder a questão da letra a, você deve lembrar da fórmula:

    Núm. de sub-redes = 2n-2

    Você pode ir substituindo n por valores sucessivos, até atingir ou superar o valor de 10. Por exemplo, para n=2, a fórmula resulta em 2, para n=3, a fórmula resulta em 6, para n=4 a fórmula resulta em 14 e para n=5 a fórmula resulta em 30. Bem, está respondida a questão da letra a, temos que utilizar cinco bits do quarto octeto para fazer parte da máscara de sub-rede. Pois se utilizarmos apenas 4 bits, obteremos somente 14 sub-redes e usando mais de 5 bits, obteremos um número de sub-redes bem maior do que o necessário.

    a) Quantos bits serão necessários para fazer a divisão e obter pelo menos 10 sub-redes?
    R: 5 bits.

    Como utilizei cinco bits do terceiro octeto (além dos 16 bits dos dois primeiros octetos, os quais já faziam parte da máscara original)., sobraram apenas 11 bits (os três restantes do terceiro octeto mais os 8 bits do quarto octeto) para os endereços IP, ou seja, para os endereços de hosts em cada sub-rede. Tenho que lembrar da seguinte fórmula:

    Núm. de endereços IP dentro de cada sub-rede = 2n-2

    substituindo n por 11 (número de bits que restarama para a parte de host), vou obter um valor de 2046, já descontando o primeiro e o último número, os quais não podem ser utilizados, conforme já descrito anteriormente. Com isso já estou em condições de responder a alternativa b.

    b) Quantos números IP (hosts) estarão disponíveis em cada sub-rede?
    R: 2046.

    Como utilizei cinco bits do terceiro octeto para fazer a divisão em sub-redes, os cinco primeiros bits foram definidos igual a 1. Basta somar os respectivos valores, ou seja: 128+64+32+16+8 = 248. Ou seja, com os quatro primeiros bits do quarto octeto sendo iguais a 1, o valor do quarto octeto passa para 248, com isso já temos condições de responder a alternativa c.

    c) Qual a nova máscara de sub-rede?
    R: 255.255.248.0

    É importante lembrar, mais uma vez, que esta será a máscara de sub-rede utilizada por todas as 30 sub-redes.

    d) Listar a faixa de endereços de cada sub-rede.

    Como saber de que número até que número vai cada endereço IP. Esta também é fácil e o raciocínio é o mesmo utilizado para o exemplo anterior, onde foi feita uma divisão de uma rede classe C. Observe o último bit definido para a máscara. No nosso exemplo é o quinto bit do terceiro octeto. Qual o valor decimal do quinto bit (de qualque octeto)? 8 (o primeiro é 128, o segundo 64, o terceiro 32, o quarto é 16 e o quinto é 8, conforme explicado na Parte 2). O valor do último bit é um indicativo das faixas de variação para este exemplo. Ou seja, na prática temos 2048 hosts em cada sub-rede, embora o primeiro e o último não devam ser utilizados, pois o primeiro é o endereço da própria sub-rede e o último é o endereço de broadcast da sub-rede. Por isso que ficam 2046 hosts por sub-rede, devido ao ‘-2’ na fórmula, o ‘-2’ significa: - o primeiro – o último. Ao listar as faixas, consideramos o valor do último bit da máscara. No nosso exemplo é o 8. A primeira faixa vai do zero até um número anterior ao valor do último bit, no caso do 0 ao 7. A seguir indico a faixa de endereços da primeira sub-rede (sub-rede que não será utilizada na prática, pois descarta-se a primeira e a última):
    Sub-rede 01 150.100.0.1 -> 150.100.7.254
    Com isso todo endereço IP que tiver o terceiro número na faixa entre 0 e 7, será um número IP da primeira sub-rede, conforme os exemplos a seguir:
    150.100.0.25
    150.100.3.20
    150.100.5.0
    150.100.6.244
    Importante: Observe que os valores de 0 a 7 são definidos no terceiro octeto, que é onde estamos utilizando cinco bits a mais para fazer a divisão em sub-redes.

    Qual seria a faixa de endereços IP da próxima sub-rede. Aqui vale o mesmo reciocínio. O último bit da máscara equivale ao valor 8. Esta é a variação da terceira parte do número IP, que é onde esta sendo feita a divisão em sub-redes. Então, se a primeira foi de 0 até 7, a segunda sub-rede terá valores de 8 a 15 no terceiro octeto, a terceira sub-rede terá valores de 16 a 23 e assim por diante.

    Divisão da rede em 32 sub-redes, onde cada sub-rede fica com 2048 endereços IP, sendo que a primeira e a última sub-rede não são utilizadas e o primeiro e o último número IP, dentro de cada sub-rede, também não são utilizados:

    Sub-rede Primeiro IP Último IP Endereço de broadcast Número
    150.100.0.0 150.100.0.1 150.100.7.254 150.100.7.255 1
    150.100.8.0
    150.100.8.1 150.100.15.254 150.100.15.255 2
    150.100.16.0
    150.100.16.1 150.100.23.254 150.100.23.255 3
    150.100.24.0
    150.100.24.1 150.100.31.254 150.100.31.255 4
    150.100.32.0
    150.100.32.1 150.100.39.254 150.100.39.255 5
    150.100.40.0
    150.100.40.1 150.100.47.254 150.100.47.255 6
    150.100.48.0 150.100.48.1 150.100.55.254 150.100.55.255 7
    150.100.56.0
    150.100.56.1 150.100.63.254 150.100.63.255 8
    150.100.64.0
    150.100.64.1 150.100.71.254 150.100.71.255 9
    150.100.72.0
    150.100.72.1 150.100.79.254 150.100.79.255 10
    150.100.80.0
    150.100.80.1 150.100.87.254 150.100.87.255 11
    150.100.88.0
    150.100.88.1 150.100.95.254 150.100.95.255 12
    150.100.96.0
    150.100.96.1 150.100.103.254 150.100.103.255 13
    150.100.104.0
    150.100.104.1 150.100.111.254 150.100.111.255 14
    150.100.112.0 150.100.112.1 150.100.119.254 150.100.119.255 15
    150.100.120.0 150.100.120.1 150.100.127.254 150.100.127.255 16
    150.100.128.0 150.100.128.1 150.100.135.254 150.100.135.255 17
    150.100.136.0 150.100.136.1 150.100.143.254 150.100.143.255 18
    150.100.144.0 150.100.144.1 150.100.151.254 150.100.151.255 19
    150.100.152.0 150.100.152.1 150.100.159.254 150.100.159.255 20
    150.100.160.0 150.100.160.1 150.100.167.254 150.100.167.255 21
    150.100.168.0 150.100.168.1 150.100.175.254 150.100.175.255 22
    150.100.176.0 150.100.176.1 150.100.183.254 150.100.183.255 23
    150.100.184.0 150.100.184.1 150.100.191.254 150.100.191.255 24
    150.100.192.0 150.100.192.1 150.100.199.254 150.100.199.255 25
    150.100.200.0 150.100.200.1 150.100.207.254 150.100.207.255 26
    150.100.208.0 150.100.208.1 150.100.215.254 150.100.215.255 27
    150.100.216.0 150.100.216.1 150.100.223.254 150.100.223.255 28
    150.100.224.0 150.100.224.1 150.100.231.254 150.100.231.255 29
    150.100.232.0 150.100.232.1 150.100.239.254 150.100.239.255 30
    150.100.240.0 150.100.240.1 150.100.247.254 150.100.247.255 31
    150.100.248.0 150.100.248.1 150.100.255.254 150.100.255.255 32

    Com base na tabela apresentada, fica fácil responder em que sub-rede está contido um determinado número IP. Por exemplo, considere o número IP 150.100.130.222. Primeiro você observa o terceiro octeto do número IP (o terceiro, porque é neste octeto que estão os últimos bits que foram utilizados para a máscara de sub-rede). Consultando a tabela anterior, você observa o valor de 130 para o terceiro octeto corresponde a sub-rede 17, na qual o terceiro octeto varia entre 128 e 135, conforme indicado a seguir:

    150.100.128.0     150.100.128.1     150.100.135.254     150.100.135.255     17

    Bem, com isso concluo o nosso estudo sobre dois princípios fundamentais do protocolo TCP/IP:

    B= Roteamento
    B= Subnetting (divisão de uma rede em sub-redes).

    Conclusão.

    Nesta parte do tutorial, abordei um dos assuntos que mais geram dúvidas: a divisão de uma rede em sub-redes. Nas próximas partes deste tutorial, falareis sobre serviços do Windows 2000 Server e do Windows Server 2003, diretamente ligados ao TCP/IP, tais como o DNS, DHCP, WINS e RRAS.