Como um endereço IPv4 é armazenado
Um IPv4 é, na verdade, um número inteiro de 32 bits (de 0 a 4.294.967.295). Para facilitar a leitura, ele é escrito em quatro grupos de 8 bits, os octetos, cada um em decimal e separados por ponto. O endereço 192.168.1.1, por exemplo, é o número 3.232.235.777. Computadores e roteadores trabalham com o número (ou com seus bits); a notação com pontos existe para pessoas.
Representação decimal pontuada e decimal inteira
O decimal pontuado (192.168.1.1) separa os quatro octetos. O decimal inteiro junta tudo em um único número. A conversão é uma soma ponderada: cada octeto vale 256 elevado à sua posição, contando da direita:
192 × 256³ + 168 × 256² + 1 × 256 + 1
= 192 × 16.777.216 + 168 × 65.536 + 1 × 256 + 1
= 3.232.235.777Para voltar, divide-se o número por 256 repetidamente: os restos formam os octetos, do último para o primeiro. O maior IPv4 é 255.255.255.255, que é o número 4.294.967.295 (2³² − 1).
Representação binária
Em binário, cada octeto tem exatamente 8 dígitos (bits), cada um valendo 128, 64, 32, 16, 8, 4, 2 e 1. O octeto 192 é 128 + 64, ou seja, 11000000. Um endereço completo tem 32 bits: 11000000.10101000.00000001.00000001. A forma binária é a que ajuda a entender máscaras de sub-rede e CIDR; para calcular redes, use a Calculadora de Sub-rede IPv4.
Representação hexadecimal
Em hexadecimal (base 16), cada octeto vira dois dígitos de 00 a FF e o endereço inteiro tem 8 dígitos: 192.168.1.1 é C0A80101 (C0 = 192, A8 = 168, 01 = 1, 01 = 1), às vezes escrito com o prefixo 0x. Essa forma aparece em registros de rede, depuradores, firewalls e protocolos. A ferramenta aceita hexadecimal com ou sem 0x.
Tabela de exemplos
| IPv4 | Decimal | Binário | Hexadecimal |
|---|---|---|---|
| 0.0.0.0 | 0 | 00000000.00000000.00000000.00000000 | 00000000 |
| 10.0.0.1 | 167.772.161 | 00001010.00000000.00000000.00000001 | 0A000001 |
| 127.0.0.1 | 2.130.706.433 | 01111111.00000000.00000000.00000001 | 7F000001 |
| 192.168.1.1 | 3.232.235.777 | 11000000.10101000.00000001.00000001 | C0A80101 |
| 255.255.255.255 | 4.294.967.295 | 11111111.11111111.11111111.11111111 | FFFFFFFF |
Veja também o Gerador e Analisador de URL, que separa os componentes de uma URL (incluindo o host e a porta), e os códigos de resposta na página HTTP Status Codes.