Existem sub-redes IP para permitir que os roteadores escolham destinos apropriados para pacotes. Você pode usar sub-redes IP para interromper redes maiores por razões lógicas (firewall, etc.) ou necessidade física (domínios de transmissão menores, etc.).
Simplificando, os roteadores IP usam suas sub-redes IP para tomar decisões de roteamento. Entenda como essas decisões funcionam e você pode entender como planejar sub-redes IP.
Contando até 1
Se você já é fluente em notação binária (base 2), pode pular esta seção.
Para aqueles que sobraram: Que vergonha por não serem fluentes em notação binária!
Sim-- isso pode ser um pouco duro. É muito, muito fácil aprender a contar em binário e aprender atalhos para converter binário em decimal e vice-versa. Você realmente deve saber como fazê-lo.
Contar em binário é tão simples, porque você só precisa saber como contar até 1!
Pense no "odômetro" de um carro, exceto que, diferentemente do odômetro tradicional, cada dígito pode contar até 1 a 0. Quando o carro sai da fábrica, o odômetro indica "00000000".
Quando você dirige sua primeira milha, o odômetro indica "00000001". Por enquanto, tudo bem.
Quando você percorre a segunda milha, o primeiro dígito do odômetro volta para "0" (já que o valor máximo é "1") e o segundo dígito do odômetro passa para "1", fazendo com que o odômetro seja lido " 00000010 ". Parece o número 10 em notação decimal, mas na verdade é 2 (o número de milhas que você dirigiu o carro até agora) em notação binária.
Quando você percorre a terceira milha, o odômetro lê "00000011", pois o primeiro dígito do odômetro gira novamente. O número "11", em notação binária, é o mesmo que o número decimal 3.
Por fim, quando você dirige sua quarta milha, os dois dígitos (que estavam lendo "1" no final da terceira milha) passam para a posição zero e o terceiro dígito rola para a posição "1", fornecendo-nos " 00000100 ". Essa é a representação binária do número decimal 4.
Você pode memorizar tudo isso, se quiser, mas realmente só precisa entender como o pequeno odômetro "rola" à medida que o número contado aumenta. É exatamente o mesmo que a operação de um odômetro decimal tradicional, exceto que cada dígito pode ser apenas "0" ou "1" em nosso "odômetro binário" fictício.
Para converter um número decimal em binário, você pode rolar o odômetro para frente, marca por marca, contando em voz alta até que você o tenha rolado um número de vezes igual ao número decimal que deseja converter em binário. O que quer que seja exibido no odômetro, depois de todo esse processo de repetição e rotação, seria a representação binária do número decimal que você contou.
Como você entende como o odômetro avança, também entenderá como ele retrocede. Para converter um número binário exibido no odômetro de volta em decimal, você pode reverter o odômetro um tique por vez, contando em voz alta até o odômetro exibir "00000000". Quando toda a contagem e rolagem é feita, o último número que você diz em voz alta é a representação decimal do número binário com o qual o odômetro começou.
Converter valores entre binário e decimal dessa maneira seria muito tedioso. Você poderia fazer isso, mas não seria muito eficiente. É mais fácil aprender um pouco de algoritmo para fazê-lo mais rapidamente.
Uma rápida observação: cada dígito em um número binário é conhecido como "bit". Isso é "b" de "binário" e "it" de "dígito". Um bit é um dígito binário.
Converter um número binário como, por exemplo, "1101011" em decimal, é um processo simples, com um pequeno algoritmo útil.
Comece contando o número de bits no número binário. Nesse caso, existem 7. Faça 7 divisões em uma folha de papel (em sua mente, em um arquivo de texto, etc.) e comece a preenchê-las da direita para a esquerda. No slot mais à direita, digite o número "1", porque sempre começaremos com "1". No próximo slot à esquerda, digite o dobro do valor no slot à direita (então, "2" no próximo, "4" no próximo) e continue até que todos os slots estejam cheios. (Você acabará memorizando esses números, que são os poderes de 2, à medida que faz isso cada vez mais. Estou bem até 131.072 na minha cabeça, mas geralmente preciso de uma calculadora ou papel depois disso).
Portanto, você deve ter o seguinte em seu papel em seus pequenos espaços.
64 | 32 | 16 | 8 | 4 | 2 | 1 |
Transcreva os bits do número binário abaixo dos slots, da seguinte maneira:
64 | 32 | 16 | 8 | 4 | 2 | 1 |
1 1 0 1 0 1 1
Agora, adicione alguns símbolos e calcule a resposta para o problema:
64 | 32 | 16 | 8 | 4 | 2 | 1 |
x 1 x 1 x 0 x 1 x 0 x 1 x 1
--- --- --- --- --- --- ---
+ + + + + + =
Fazendo toda a matemática, você deve inventar:
64 | 32 | 16 | 8 | 4 | 2 | 1 |
x 1 x 1 x 0 x 1 x 0 x 1 x 1
--- --- --- --- --- --- ---
64 + 32 + 0 + 8 + 0 + 2 + 1 = 107
Isso mesmo. "1101011" em decimal é 107. São apenas etapas simples e matemática fácil.
Converter decimal em binário é igualmente fácil e é o mesmo algoritmo básico, executado ao contrário.
Digamos que queremos converter o número 218 em binário. Começando à direita de uma folha de papel, escreva o número "1". À esquerda, dobre esse valor (portanto, "2") e continue movendo-se para a esquerda do papel, dobrando o último valor. Se o número que você está prestes a escrever for maior que o número que está sendo convertido, pare de escrever. caso contrário, continue dobrando o número anterior e escrevendo. (Converter um número grande, como 34.157.216.092, em binário usando esse algoritmo pode ser um pouco tedioso, mas certamente é possível.)
Então, você deve ter em seu papel:
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
Você parou de escrever números em 128 porque duplicar 128, o que lhe daria 256, seria maior que o número que está sendo convertido (218).
Começando pelo número mais à esquerda, escreva "218" acima dele (128) e pergunte a si mesmo: "O 218 é maior que ou igual a 128?" Se a resposta for sim, escreva um "1" abaixo de "128". Acima de "64", escreva o resultado de 218 menos 128 (90).
Observando "64", pergunte-se: "90 é maior ou igual a 64?" É assim, então você deve escrever um "1" abaixo de "64", subtrair 64 de 90 e escrever acima de "32" (26).
Ao chegar a "32", porém, você acha que 32 não é maior ou igual a 26. Nesse caso, escreva um "0" abaixo de "32", copie o número (26) de cima de 32 "para cima" 16 "e continue fazendo a mesma pergunta com o restante dos números.
Quando terminar, você deve ter:
218 90 26 26 10 2 2 0
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
1 1 0 1 1 0 1 0
Os números no topo são apenas notas usadas em computação e não significam muito para nós. Na parte inferior, no entanto, você vê um número binário "11011010". Com certeza, 218, convertido em binário, é "11011010".
Seguindo estes procedimentos muito simples, você pode converter binário em decimal e vice-versa sem uma calculadora. A matemática é muito simples e as regras podem ser memorizadas com um pouco de prática.
Divisão de endereços
Pense no roteamento IP como entrega de pizza.
Quando você é solicitado a entregar uma pizza à "123 Main Street", é muito claro para você, como humano, que deseja ir ao prédio com o número "123" na rua chamada "Main Street". É fácil saber que você precisa ir para os 100 quarteirões da Main Street porque o número do prédio está entre 100 e 199 e a maioria dos quarteirões da cidade está numerada em centenas. Você "apenas sabe" como dividir o endereço.
Os roteadores entregam pacotes, não pizza. O trabalho deles é o mesmo de um motorista de pizza: para chegar a carga (pacotes) o mais próximo possível do destino. Um roteador está conectado a duas ou mais sub-redes IP (para ser útil). Um roteador deve examinar os endereços IP de destino dos pacotes e dividir esses endereços nos componentes "nome da rua" e "número da construção", como o driver da pizza, para tomar decisões sobre a entrega.
Cada computador (ou "host") em uma rede IP é configurado com um endereço IP e uma máscara de sub-rede exclusivos. Esse endereço IP pode ser dividido em um componente "número da construção" (como "123" no exemplo acima) chamado de "ID do host" e um componente "nome da rua" (como "Rua principal" no exemplo acima) chamado "ID de rede". Para nossos olhos humanos, é fácil ver onde o número do prédio e o nome da rua estão em "123 Main Street", mas é mais difícil ver essa divisão em "10.13.216.41 com uma máscara de sub-rede 255.255.192.0".
Os roteadores IP "apenas sabem" como dividir os endereços IP nessas partes componentes para tomar decisões de roteamento. Desde que a compreensão de como os pacotes IP são roteados depende da compreensão desse processo, também precisamos saber como quebrar os endereços IP. Felizmente, extrair o ID do host e o ID da rede de um endereço IP e máscara de sub-rede é realmente muito fácil.
Comece escrevendo o endereço IP em binário (use uma calculadora se ainda não aprendeu a fazer isso em sua mente, mas tome nota de como fazê-lo - é muito, muito fácil e impressiona o sexo oposto em festas):
10. 13. 216. 41
00001010.00001101.11011000.00101001
Escreva também a máscara de sub-rede em binário:
255. 255. 192. 0
11111111.11111111.11000000.00000000
Escrito lado a lado, você pode ver que o ponto na máscara de sub-rede em que os "1s" param "se alinha" até um ponto no endereço IP. Esse é o ponto em que o ID da rede e o ID do host se dividem. Então, neste caso:
10. 13. 216. 41
00001010.00001101.11011000.00101001 - IP address
11111111.11111111.11000000.00000000 - subnet mask
00001010.00001101.11000000.00000000 - Portion of IP address covered by 1's in subnet mask, remaining bits set to 0
00000000.00000000.00011000.00101001 - Portion of IP address covered by 0's in subnet mask, remaining bits set to 0
Os roteadores usam a máscara de sub-rede para "mascarar" os bits cobertos por 1 no endereço IP (substituindo os bits que não são "mascarados" pelos 0) para extrair o ID da rede:
10. 13. 192. 0
00001010.00001101.11000000.00000000 - Network ID
Da mesma forma, usando a máscara de sub-rede para "mascarar" os bits cobertos pelos zeros no endereço IP (substituindo os bits que não são "mascarados" pelos zeros novamente), um roteador pode extrair o ID do host:
0. 0. 24. 41
00000000.00000000.00011000.00101001 - Portion of IP address covered by 0's in subnet mask, remaining bits set to 0
Não é tão fácil para nossos olhos humanos ver o "intervalo" entre o ID da rede e o ID do host, pois é entre o "número da construção" e o "nome da rua" nos endereços físicos durante a entrega da pizza, mas o efeito final é o mesmo.
Agora que você pode dividir os endereços IP e as máscaras de sub-rede em IDs de host e de rede, pode rotear IP como um roteador.
Mais terminologia
Você verá máscaras de sub-rede escritas em toda a Internet e no restante desta resposta como (IP / número). Essa notação é conhecida como "CIDR (Classless Inter-Domain Routing"). "255.255.255.0" é composto de 24 bits de 1 no início e é mais rápido escrever isso como "/ 24" do que como "255.255.255.0". Para converter um número CIDR (como "/ 16") em uma máscara de sub-rede decimal pontilhada, basta escrever esse número de 1s, dividi-lo em grupos de 8 bits e convertê-lo em decimal. (Um "/ 16" é "255.255.0.0", por exemplo.)
Nos "velhos tempos", as máscaras de sub-rede não eram especificadas, mas eram derivadas observando determinados bits do endereço IP. Um endereço IP começando com 0 - 127, por exemplo, tinha uma máscara de sub-rede implícita 255.0.0.0 (chamada de endereço IP "classe A").
Essas máscaras de sub-rede implícitas não são usadas hoje e eu não recomendo mais aprender sobre elas, a menos que você tenha a infelicidade de lidar com equipamentos muito antigos ou protocolos antigos (como o RIPv1) que não oferecem suporte a endereços IP sem classe. Não vou mencionar mais essas "classes" de endereços, porque hoje é inaplicável e pode ser confuso.
Alguns dispositivos usam uma notação chamada "máscaras curinga". Uma "máscara curinga" nada mais é do que uma máscara de sub-rede com todos os 0 onde deveria haver 1 e 1 onde havia 0. A "máscara curinga" de a / 26 é:
11111111.11111111.11111111.11000000 - /26 subnet mask
00000000.00000000.00000000.00111111 - /26 "wildcard mask"
Normalmente, você vê "máscaras curinga" usadas para corresponder às IDs do host nas listas de controle de acesso ou nas regras de firewall. Não vamos discuti-los mais aqui.
Como um roteador funciona
Como eu disse antes, os roteadores IP têm um trabalho semelhante ao de um motorista de entrega de pizza, pois precisam levar sua carga (pacotes) ao seu destino. Quando apresentado com um pacote vinculado ao endereço 192.168.10.2, um roteador IP precisa determinar qual de suas interfaces de rede melhor aproximará esse pacote do seu destino.
Digamos que você seja um roteador IP e tenha interfaces conectadas a você numeradas:
- Ethernet0 - 192.168.20.1, máscara de sub-rede / 24
- Ethernet1 - 192.168.10.1, máscara de sub-rede / 24
Se você receber um pacote para entregar com um endereço de destino "192.168.10.2", é muito fácil dizer (com seus olhos humanos) que o pacote deve ser enviado pela interface Ethernet1, porque o endereço da interface Ethernet1 corresponde ao destino do pacote endereço. Todos os computadores conectados à interface Ethernet1 terão endereços IP começando com "192.168.10.", Porque o ID da rede do endereço IP atribuído à sua interface Ethernet1 é "192.168.10.0".
Para um roteador, esse processo de seleção de rota é realizado através da construção de uma tabela de roteamento e da consulta da tabela sempre que um pacote deve ser entregue. Uma tabela de roteamento contém o ID da rede e os nomes da interface de destino. Você já sabe como obter um ID de rede a partir de um endereço IP e máscara de sub-rede, portanto está no caminho de criar uma tabela de roteamento. Aqui está nossa tabela de roteamento para este roteador:
- ID de rede: 192.168.20.0 (11000000.10101000.00010100.00000000) - máscara de sub-rede de 24 bits - Interface Ethernet
- ID de rede: 192.168.10.0 (11000000.10101000.00001010.00000000) - máscara de sub-rede de 24 bits - Interface Ethernet1
Para nosso pacote de entrada com destino para "192.168.10.2", precisamos converter apenas o endereço desse pacote em binário (como humanos - o roteador o obtém como binário fora do fio, para começar) e tentar correspondê-lo a cada endereço em nosso roteamento tabela (até o número de bits na máscara de sub-rede) até correspondermos a uma entrada.
- Destino do pacote de entrada: 11000000.10101000.00001010.00000010
Comparando isso com as entradas em nossa tabela de roteamento:
11000000.10101000.00001010.00000010 - Destination address for packet
11000000.10101000.00010100.00000000 - Interface Ethernet0
!!!!!!!!.!!!!!!!!.!!!????!.xxxxxxxx - ! indicates matched digits, ? indicates no match, x indicates not checked (beyond subnet mask)
11000000.10101000.00001010.00000010 - Destination address for packet
11000000.10101000.00001010.00000000 - Interface Ethernet1, 24 bit subnet mask
!!!!!!!!.!!!!!!!!.!!!!!!!!.xxxxxxxx - ! indicates matched digits, ? indicates no match, x indicates not checked (beyond subnet mask)
A entrada para Ethernet0 corresponde aos primeiros 19 bits, mas pára de corresponder. Isso significa que não é a interface de destino adequada. Você pode ver que a interface Ethernet1 corresponde a 24 bits do endereço de destino. Ah ha! O pacote está vinculado à interface Ethernet1.
Em um roteador da vida real, a tabela de roteamento é classificada de maneira que as máscaras de sub-rede mais longas sejam verificadas primeiro por correspondências (ou seja, as rotas mais específicas) e numericamente, para que, assim que uma correspondência for encontrada, o pacote possa ser roteado. e nenhuma tentativa de correspondência adicional é necessária (o que significa que 192.168.10.0 seria listado primeiro e 192.168.20.0 nunca teria sido verificado). Aqui, estamos simplificando um pouco. Estruturas e algoritmos sofisticados de dados produzem roteadores IP mais rápidos, mas algoritmos simples produzem os mesmos resultados.
Rotas estáticas
Até o momento, falamos sobre nosso roteador hipotético como tendo redes diretamente conectadas a ele. Obviamente, não é assim que o mundo realmente funciona. Na analogia da condução da pizza, às vezes o motorista não pode entrar mais no prédio do que na recepção e precisa entregar a pizza a outra pessoa para entrega ao destinatário final (suspenda sua descrença e aceite comigo enquanto Eu estendo minha analogia, por favor).
Vamos começar chamando nosso roteador dos exemplos anteriores "Roteador A". Você já conhece a tabela de roteamento do RouterA como:
- ID de rede: 192.168.20.0 (11000000.10101000.00010100.00000000) - máscara de sub-rede / 24 - Interface RouterA-Ethernet0
- ID de rede: 192.168.10.0 (11000000.10101000.00001010.00000000) - máscara de sub-rede / 24 - Interface RouterA-Ethernet1
Suponha que haja outro roteador, "Roteador B", com os endereços IP 192.168.10.254/24 e 192.168.30.1/24 atribuídos às suas interfaces Ethernet0 e Ethernet1. Possui a seguinte tabela de roteamento:
- ID de rede: 192.168.10.0 (11000000.10101000.00001010.00000000) - máscara de sub-rede / 24 - Interface RouterB-Ethernet0
- ID de rede: 192.168.30.0 (11000000.10101000.00011110.00000000) - máscara de sub-rede / 24 - Interface RouterB-Ethernet1
Na bela arte ASCII, a rede fica assim:
Interface Interface
Ethernet1 Ethernet1
192.168.10.1/24 192.168.30.254/24
__________ V __________ V
| | V | | V
----| ROUTER A |------- /// -------| ROUTER B |----
^ |__________| ^ |__________|
^ ^
Interface Interface
Ethernet0 Ethernet0
192.168.20.1/24 192.168.10.254/24
Você pode ver que o roteador B sabe como "acessar" uma rede, 192.168.30.0/24, sobre o qual o roteador A não sabe nada.
Suponha que um PC com o endereço IP 192.168.20.13 conectado à rede conectada à interface Ethernet0 do roteador A envie um pacote ao roteador A para entrega. Nosso pacote hipotético é destinado ao endereço IP 192.168.30.46, que é um dispositivo conectado à rede conectado à interface Ethernet1 do roteador B.
Com a tabela de roteamento mostrada acima, nenhuma entrada na tabela de roteamento do roteador A corresponde ao destino 192.168.30.46; portanto, o roteador A retornará o pacote ao PC remetente com a mensagem "Rede de destino inacessível".
Para tornar o roteador A "ciente" da existência da rede 192.168.30.0/24, adicionamos a seguinte entrada à tabela de roteamento no roteador A:
- ID da rede: 192.168.30.0 (11000000.10101000.00011110.00000000) - máscara de sub-rede / 24 - acessível via 192.168.10.254
Dessa maneira, o roteador A possui uma entrada na tabela de roteamento que corresponde ao destino 192.168.30.46 do nosso pacote de exemplo. Essa entrada da tabela de roteamento diz efetivamente "Se você receber um pacote vinculado para 192.168.30.0/24, envie-o para 192.168.10.254 porque ele sabe como lidar com isso". Essa é a ação análoga de "entregar a pizza na recepção" que eu mencionei anteriormente - passando o pacote para outra pessoa que sabe como chegar mais perto de seu destino.
Adicionar uma entrada a uma tabela de roteamento "manualmente" é conhecido como adicionar uma "rota estática".
Se o roteador B quiser entregar pacotes à rede 255.255.255.0 da máscara de sub-rede 192.168.20.0, ele também precisará de uma entrada em sua tabela de roteamento:
- ID da rede: 192.168.20.0 (11000000.10101000.00010100.00000000) - máscara de sub-rede / 24 - Acessível via: 192.168.10.1 (endereço IP do roteador A na rede 192.168.10.0)
Isso criaria um caminho para entrega entre a rede 192.168.30.0/24 e a rede 192.168.20.0/24 na rede 192.168.10.0/24 entre esses roteadores.
Você sempre quer ter certeza de que os roteadores dos dois lados de uma "rede intersticial" tenham uma entrada na tabela de roteamento para a rede "remota". Se roteador B em nosso exemplo não tem uma entrada na tabela de roteamento para a rede "extremo" 192.168.20.0/24 anexado ao roteador A nossa pacote hipotética do PC em 192.168.20.13 iria chegar ao dispositivo de destino no 192.168.30.46, mas qualquer resposta que 192.168.30.46 tentasse enviar de volta seria retornada pelo roteador B como "Rede de destino inacessível". A comunicação unidirecional geralmente não é desejável. Sempre pense em tráfego fluindo nas duas direções ao pensar em comunicação em redes de computadores.
Você pode obter muitas milhas de rotas estáticas. Protocolos de roteamento dinâmico como EIGRP, RIP, etc., na verdade nada mais são do que uma maneira de os roteadores trocarem informações de roteamento entre si que poderiam, de fato, ser configuradas com rotas estáticas. Uma grande vantagem do uso de protocolos de roteamento dinâmico sobre rotas estáticas, no entanto, é que os protocolos de roteamento dinâmico podem alterar dinamicamente a tabela de roteamento com base nas condições da rede (utilização da largura de banda, uma interface "inativa" etc.) e, como tal, usando uma interface dinâmica. o protocolo de roteamento pode resultar em uma configuração que "roteie" falhas ou gargalos na infraestrutura de rede. ( Porém, os protocolos de roteamento dinâmico estão MUITO FORA do escopo desta resposta.)
Você não pode chegar lá a partir daqui
No caso do nosso exemplo Roteador A, o que acontece quando um pacote vinculado para "172.16.31.92" chega?
Observando a tabela de roteamento do roteador A, nem a interface de destino nem a rota estática correspondem aos primeiros 24 bits de 172.18.31.92 (que é 10101100.00010000.00011111.01011100, BTW).
Como já sabemos, o roteador A retornaria o pacote ao remetente por meio de uma mensagem "Rede de destino inacessível".
Digamos que haja outro roteador (roteador C) localizado no endereço "192.168.20.254". O roteador C tem uma conexão com a Internet!
Interface Interface Interface
Ethernet1 Ethernet1 Ethernet1
192.168.20.254/24 192.168.10.1/24 192.168.30.254/24
__________ V __________ V __________ V
(( heap o )) | | V | | V | | V
(( internet )) ----| ROUTER C |------- /// -------| ROUTER A |------- /// -------| ROUTER B |----
(( w00t! )) ^ |__________| ^ |__________| ^ |__________|
^ ^ ^
Interface Interface Interface
Ethernet0 Ethernet0 Ethernet0
10.35.1.1/30 192.168.20.1/24 192.168.10.254/24
Seria bom se o roteador A pudesse rotear pacotes que não correspondam a nenhuma interface local até o roteador C, para que o roteador C possa enviá-los à Internet. Digite a rota "gateway padrão".
Adicione uma entrada no final da nossa tabela de roteamento desta forma:
- Identificação de rede: 0.0.0.0 (00000000.00000000.00000000.00000000) - máscara de sub-rede / 0 - Roteador de destino: 192.168.20.254
Quando tentamos corresponder "172.16.31.92" a cada entrada na tabela de roteamento, acabamos atingindo essa nova entrada. É um pouco desconcertante, a princípio. Estamos procurando combinar zero bits do endereço de destino com ... espere ... o que? Correspondência de zero bits? Portanto, não estamos procurando uma partida. Essa entrada da tabela de roteamento está dizendo basicamente: "Se você chegar aqui, em vez de desistir da entrega, envie o pacote para o roteador em 192.168.20.254 e deixe-o lidar com isso".
192.168.20.254 é um destino que NÃO sabe como entregar um pacote para. Quando confrontado com um pacote vinculado a um destino para o qual não temos entrada específica na tabela de roteamento, essa entrada "gateway padrão" sempre corresponderá (já que corresponde a zero bits do endereço de destino) e nos fornece um local de "último recurso" que podemos envie pacotes para entrega. Às vezes, você ouvirá o gateway padrão chamado "gateway de último recurso".
Para que uma rota de gateway padrão seja efetiva, ela deve se referir a um roteador acessível através das outras entradas da tabela de roteamento. Se você tentou especificar um gateway padrão 192.168.50.254 no roteador A, por exemplo, a entrega para esse gateway padrão falharia. 192.168.50.254 não é um endereço que o roteador A saiba como entregar pacotes para usar qualquer uma das outras rotas em sua tabela de roteamento; portanto, esse endereço seria ineficaz como gateway padrão. Isso pode ser afirmado de forma concisa: O gateway padrão deve ser definido para um endereço já alcançável usando outra rota na tabela de roteamento.
Os roteadores reais geralmente armazenam o gateway padrão como a última rota em sua tabela de roteamento, de forma que ele corresponda aos pacotes depois que eles falharam em corresponder a todas as outras entradas da tabela.
Planejamento urbano e roteamento IP
A divisão de uma sub-rede IP em sub-redes IP menores é como um planejamento urbano. No planejamento urbano, o zoneamento é usado para se adaptar às características naturais da paisagem (rios, lagos, etc.), para influenciar os fluxos de tráfego entre diferentes partes da cidade e para segregar diferentes tipos de uso da terra (industrial, residencial, etc.) . A sub-rede IP é realmente a mesma.
Há três razões principais pelas quais você criaria uma sub-rede em uma rede:
Você pode se comunicar através de diferentes mídias de comunicação diferentes. Se você tiver uma conexão WAN T1 entre dois prédios, os roteadores IP poderão ser colocados nas extremidades dessas conexões para facilitar a comunicação através do T1. As redes em cada extremidade (e possivelmente a rede "intersticial" no próprio T1) seriam atribuídas a sub-redes IP exclusivas, para que os roteadores possam tomar decisões sobre qual tráfego deve ser enviado através da linha T1.
Em uma rede Ethernet, você pode usar sub-redes para limitar a quantidade de tráfego de broadcast em uma determinada parte da rede. Os protocolos da camada de aplicativo usam o recurso de transmissão da Ethernet para fins muito úteis. À medida que você recebe mais e mais hosts na mesma rede Ethernet, a porcentagem de tráfego de transmissão no fio (ou ar, na Ethernet sem fio) pode aumentar a tal ponto que cria problemas para a entrega de tráfego de não transmissão. (Antigamente, o tráfego de broadcast podia sobrecarregar a CPU dos hosts, forçando-os a examinar cada pacote de broadcast. Isso é menos provável hoje.) O tráfego excessivo na Ethernet comutada também pode vir na forma de "inundação de quadros para destinos desconhecidos". Essa condição é causada pelo fato de um comutador Ethernet não poder acompanhar todos os destinos na rede e é o motivo pelo qual as redes Ethernet comutadas não podem ser dimensionadas para um número infinito de hosts. O efeito da inundação de quadros para destinos desconhecidos é semelhante ao efeito do excesso de tráfego de broadcast, para fins de sub-rede.
Você pode querer "policiar" os tipos de tráfego que fluem entre diferentes grupos de hosts. Talvez você tenha dispositivos de servidor de impressão e deseje apenas computadores servidores de filas de impressão autorizados para enviar trabalhos para eles. Ao limitar o tráfego permitido ao fluxo para o dispositivo do servidor de impressão, os usuários da sub-rede não podem configurar seus PCs para conversar diretamente com os dispositivos do servidor de impressão para contornar a contabilidade de impressão. Você pode colocar os dispositivos do servidor de impressão em uma sub-rede e criar uma regra no roteador ou firewall anexado a essa sub-rede para controlar a lista de hosts com permissão para enviar tráfego para os dispositivos do servidor de impressão. Normalmente, os roteadores e os firewalls podem tomar decisões sobre como entregar um pacote com base nos endereços de origem e destino do pacote. Os firewalls são tipicamente uma subespécie de roteador com uma personalidade obsessiva. Eles podem estar muito, muito preocupados com a carga útil dos pacotes, enquanto os roteadores geralmente ignoram as cargas úteis e apenas entregam os pacotes.)
Ao planejar uma cidade, você pode planejar como as ruas se cruzam entre si e usar ruas de curva única, unidirecional e sem saída para influenciar os fluxos de tráfego. Você pode querer que a Main Street tenha 30 quarteirões, com cada bloco tendo até 99 prédios cada. É muito fácil planejar a numeração das ruas, de modo que cada quarteirão da Main Street tenha um intervalo de números de ruas aumentando em 100 para cada quarteirão. É muito fácil saber qual deve ser o "número inicial" em cada bloco subseqüente.
No planejamento de sub-redes IP, você se preocupa em criar o número certo de sub-redes (ruas) com o número certo de IDs de host disponíveis (números de construção) e usar roteadores para conectar as sub-redes entre si (interseções). As regras sobre os endereços de origem e destino permitidos especificados nos roteadores podem controlar ainda mais o fluxo de tráfego. Os firewalls podem agir como policiais obsessivos de trânsito.
Para os fins desta resposta, construir nossas sub-redes é nossa única grande preocupação. Em vez de trabalhar em decimal, como faria com o planejamento urbano, você trabalha em binário para descrever os limites de cada sub-rede.
Continua em: Como funciona a sub-rede IPv4?
(Sim ... atingimos o tamanho máximo de uma resposta (30000 caracteres).)