Redes IP
Para compreender TI, é essencial ter um bom entendimento dos conceitos de redes de computadores. Neste momento, preciso revisitar conceitos básicos e aproveitarei para organizá-los na minha mente com este artigo.
Endereço IP
Para que a comunicação entre dispositivos em uma rede seja possível, é necessário que cada um deles possua identificadores únicos que permitam sua localização e diferenciação.
O endereço IP (Internet Protocol) é um número atribuído a cada dispositivo conectado a uma rede que utiliza o protocolo IP, como é o caso da internet. Ele permite a identificação lógica do equipamento na rede e a entrega correta de pacotes de dados entre origem e destino.
IPv4 (Internet Protocol version 4): é o padrão mais utilizado para endereçamento de dispositivos em redes de computadores. Ele utiliza 32 bits para representar um endereço, divididos em quatro grupos de 8 bits, chamados de octetos. Cada octeto é geralmente exibido em formato decimal, separado por pontos.
Exemplo de endereço IPv4: 192.168.0.1
Importante saber que:
-
Quando falamos em bits, estamos falando de sistema binário. Ao contrário do sistema decimal em que há 10 números (0, 1, 2, 3, 4, 5, 6, 7, 8, 9), o sistema binário possui somente 2 números (0 e 1). Qualquer número decimal pode ser representado como um número binário e vice versa;
-
1 bit
é um número zero (0
) ou um (1
). -
1 byte
são8 bits
. Ou seja: 1 byte é qualquer combinação com oito zeros ou uns.Exemplo de 32 bits dividido em 4 grupos de 8 bits: 10101010.11111111.00000000.00001111
-
00000000
é o menor número binário com8 bits
(igual a 0 em decimal); -
11111111
é o maior número binário com8 bits
(igual a 255 em decimal); -
se o mínimo com
8 bits
é0
e o máximo é255
, temos256 possibilidades
.
28 (bits) = 256 possibilidades
IPv6: utiliza 128 bits
para representar um endereço, divididos em 8 grupos de 16 bits
, oferecendo aproximadamente 340 undecilhões de endereços (ou seja, 2128 possibilidades). O IPv6 utiliza o sistema hexadecimal (base 16
, ou seja, 0
-9
+ A
-F
), separados por dois pontos (:
).
Exemplo de IPv6: 2001:0db8:85a3:0000:0000:8a2e:0370:7334.
Observe que, no sistema hexadecimal, cada posição dentro de um grupo de 4 pode assumir 16 possibilidades
, de forma que o grupo possui 65.536 possibilidades
, indo de 0000
até FFFF
.
164 = 65.536 possibilidades
IP, Máscara de Sub-rede, Host e Rede
Ao configurar uma rede, é necessário definir como os endereços IP estão organizados. Isso é feito por meio da máscara de sub-rede, que determina qual parte do IP representa a rede e qual parte representa o host.
Por exemplo, no IP 192.168.1.10
com máscara 255.255.255.0
:
- A parte
192.168.1
representa a rede. - A parte final
.10
representa o host dentro dessa rede.
A máscara de sub-rede também define:
- O endereço da rede:
192.168.1.0
- O endereço de broadcast:
192.168.1.255
- O intervalo de hosts válidos: de
192.168.1.1
até192.168.1.254
256 endereços = 254 hosts + 1 rede + 1 broadcast
Interface de Loopback
A interface de loopback é uma interface lógica que representa a própria máquina. É utilizada para testes internos, onde o dispositivo se comunica consigo mesmo. O endereço mais comum dessa interface é o 127.0.0.1
, também conhecido como localhost. Essa interface é essencial para permitir simulações e isolar testes sem tráfego externo.
Todo sistema operacional possui um arquivo de hosts. No Linux, por padrão, fica em /etc/hosts
. Esse arquivo informa ao sistema operacional que quando uma conexão for estabelecida usando algum nome, o IP correspondente deve ser utilizado. Para o nome localhost, temos o IP da nossa própria máquina (127.0.0.1
).
A antiga organização de IPs em classes (Classful Addressing)
Antes da criação do modelo CIDR (Classless Inter-Domain Routing), a Internet usava um sistema rígido de endereçamento chamado classful addressing, ou seja, os endereços IPs eram divididos em faixas pré-definidas chamadas de classes (A
-E
). As principais classes eram: A, B e C.
Classe | Faixa do 1º octeto | Máscara padrão | Prefixo CIDR | Hosts possíveis | Exemplo |
---|---|---|---|---|---|
A | 1 a 126 | 255.0.0.0 | /8 | 16.777.214 | 10.0.0.1 |
B | 128 a 191 | 255.255.0.0 | /16 | 65.534 | 172.16.0.1 |
C | 192 a 223 | 255.255.255.0 | /24 | 254 | 192.168.1.1 |
Como o sistema funcionava
A classe era determinada automaticamente com base no primeiro octeto do IP. Por exemplo:
10.5.3.1
→ começa com10
→ pertence à classeA
172.16.4.22
→ começa com172
→ pertence à classeB
192.168.1.100
→ começa com192
→ pertence à classeC
Assim, cada classe determinava:
- Quantos bits eram usados para identificar a rede.
- A:
8 bits
iniciais identificavam a rede (CIDR /8
). - B:
16 bits
iniciais identificavam a rede (CIDR /16
). - C:
24 bits
iniciais identificavam a rede (CIDR /24
).
- Quantos bits eram usados para identificar os hosts dentro dessa rede.
- A:
24 bits
finais identificavam os hosts. - B:
16 bits
finais identificavam os hosts. - C:
8 bits
finais identificavam os hosts.
- A quantidade de hosts possíveis.
- A: 224 - 2 = 16.777.214 hosts
- B: 216 - 2 = 65.534 hosts
- C: 28 - 2 = 254 hosts
Reservas especiais:
- A:
127.0.0.0
é reservado para loopback(127.0.0.1)
- D:
224.0.0.0 – 239.255.255.255
→ usada para multicast - E:
240.0.0.0 – 255.255.255.255
→ reservada para uso experimental
Limitações do modelo classful
Apesar de simples, esse sistema era pouco flexível, tornando impossível o ajuste do tamanho da rede às necessidades reais. Uma empresa que precisasse de mil IPs tinha que usar uma rede classe B (com 65.534 possíveis hosts).
CIDR – Classless Inter-Domain Routing
O CIDR (Classless Inter-Domain Routing) é um método moderno de organização de endereços IP que substituiu o antigo sistema baseado em classes (Classe A, B, C). Ele foi introduzido em 1993 com o objetivo de usar os endereços IP de forma mais eficiente e reduzir o tamanho das tabelas de roteamento na internet.
Como o CIDR funciona?
Em vez de utilizar classes fixas como /8
, /16
ou /24
, o CIDR permite definir quantos bits do endereço IP são usados para representar a rede, por meio da notação /n
, onde n
representa a quantidade de bits reservados para a parte da rede.
Exemplos:
192.168.1.0/24
→ 24 bits para rede, 8 bits para hosts.10.0.0.0/12
→ 12 bits para rede, 20 bits para hosts.172.16.0.0/16
→ 16 bits para rede, 16 bits para hosts.
O que significa o sufixo /n
?
A notação /n
indica a máscara de sub-rede, ou seja, quantos bits estão fixos para identificar a rede. O restante dos bits será utilizado para identificar os dispositivos (hosts) dentro daquela rede.
Exemplo:
192.168.1.0/25
→25 bits
para rede,7 bits
para host →128
endereços totais,126
utilizáveis.
Exemplo de quantidade de endereços por prefixo:
Prefixo CIDR | Endereços totais | Hosts utilizáveis |
---|---|---|
/24 | 256 = 28 | 254 |
/25 | 128 = 27 | 126 |
/26 | 64 = 26 | 62 |
/27 | 32 = 25 | 30 |
/28 | 16 = 24 | 14 |
/29 | 8 = 23 | 6 |
/30 | 4 = 22 | 2 |