# Endereço IP

Um Endereço de Protocolo da Internet (Endereço IP), do inglês Internet Protocol address (IP address), é um rótulo numérico atribuído a cada dispositivo (computador, impressora, smartphone etc.) conectado a uma rede de computadores que utiliza o Protocolo de Internet para comunicação. Um endereço IP serve a duas funções principais: identificação de interface de hospedeiro ou de rede e endereçamento de localização.
O Protocolo de Internet versão 4 (IPv4) define um endereço IP como um número de 32 bits. Entretanto, devido ao crescimento da Internet e o esgotamento de endereços IPv4 disponíveis, uma nova versão do IP (IPv6), usando 128 bits para o endereço IP, foi desenvolvida em 1995 e padronizada como RFC 2460 em 1998. A implantação do IPv6 está em andamento desde meados de 2000.
Para um melhor uso dos endereços de equipamentos em rede pelas pessoas, utiliza-se a forma de endereços de domínio, tal como "www.wikipedia.org". Cada endereço de domínio é convertido em um endereço IP pelo DNS (Domain Name System). Este processo de conversão é conhecido como "resolução de nomes".

## Função

Um endereço IP desempenha duas funções principais: ele identifica o hospedeiro, ou mais especificamente sua interface de rede, e fornece a localização do hospedeiro na rede, possibilitando assim o estabelecimento de uma rota até esse hospedeiro. Seu papel tem sido caracterizado da seguinte forma: "Um nome indica o que buscamos. Um endereço indica onde está. Uma rota indica como chegar lá." (tradução livre) O cabeçalho de cada pacote IP contém o endereço IP do hospedeiro de envio e do hospedeiro de destino.

## Notação

O IP, na versão 4 do IP (IPv4), é um número de 32 bits oficialmente escrito com quatro octetos (bits) representados no formato decimal como, por exemplo, "192.168.1.2". A primeira parte do endereço (192.168.1) identifica uma rede específica na Internet, a segunda parte (.2) identifica um host dentro dessa rede. Devemos notar que um endereço IP não identifica uma máquina individual, mas uma conexão à Internet. Assim, um gateway conectado a redes tem endereços IP diferentes, um para cada conexão.
Os endereços IP podem ser usados tanto para nos referir a redes quanto a um host individual. Por convenção, um endereço de rede tem o campo identificador de host com todos os bits iguais a 0 (zero). Podemos também nos referir a todos os hosts de uma rede através de um endereço por difusão, quando, por convenção, o campo identificador de host deve ter todos os bits iguais a 1 (um). Um endereço com todos os 32 bits iguais a 1 é considerado um endereço por difusão para a rede do host origem do datagrama. O endereço 127.0.0.1 é reservado para teste (loopback) e comunicação entre processos da mesma máquina. O IP utiliza três classes diferentes de endereços. A definição de tipo de endereço classes de endereços deve-se ao fato do tamanho das redes que compõem a Internet variar muito, indo desde redes locais de computadores de pequeno porte, até redes públicas interligando milhares de hosts.
Existe uma outra versão do IP, a versão 6 (IPv6) que utiliza um número de 128 bits, o que torna possível utilizar 256$^{16}$ endereços diferentes.
O endereço de uma rede (não confundir com endereço IP) designa uma rede e deve ser composto pelo seu endereço (cujo último octeto tem o valor zero) e respectiva máscara de rede (netmask).

### Resolver

Os endereços da Internet são mais conhecidos pelos nomes associados aos endereços IP (por exemplo, o nome www.wikipedia.org está associado ao IP 208.80.152.130). Para que isto seja possível, é necessário traduzir (resolver, em inglês, ou resolvedor) os nomes em endereços IP. O Domain Name System (DNS) é um mecanismo que converte nomes em endereços IP e vice-versa. Assim como o endereçamento CIDR, os nomes DNS são hierárquicos e permitem que faixas de espaços de nomes sejam delegados a outros DNS.

## Classes de endereços

Originalmente, o espaço do endereço IP foi dividido em poucas estruturas de tamanho fixo chamados de "classes de endereço". As três principais são a classe A, classe B e classe C. Examinando os primeiros bits de um endereço, o software do IP consegue determinar rapidamente qual a classe, e logo, a estrutura do endereço:
* Classe A: Primeiro bit é 0 (zero);
* Classe B: Primeiros dois bits são 10 (um, zero);
* Classe C: Primeiros três bits são 110 (um, um, zero);
* Classe D: (endereço multicast): Primeiros quatro bits são: 1110 (um, um, um, zero);
* Classe E: (endereço especial reservado): Primeiros quatro bits são 1111 (um, um, um, um).
A tabela, a seguir, contém o intervalo das classes de endereços IPs:
| Classe | Gama de Endereços | Nº de Redes | Nº de Endereços por Rede |
| A | 1º byte está entre 0 - 127 | 128 | 16.777.216 |
| B | 1º byte está entre 128 - 191 | 16.384 | 65.536 |
| C | 1º byte está entre 192 - 223 | 2.097.152 | 256 |
| D | 1º byte está entre 224 - 239 | | Multicast |
| E | 1º byte está entre 240 - 255 | | Uso futuro; atualmente reservada a testes pela IETF |
O IP 0.0.0.0 não conta porque é da rede e o 127.255.255.255 é para o broadcast.

## Classes especiais

Existem classes especiais na Internet que não são consideradas públicas, não são consideradas como endereçáveis, são reservadas, por exemplo, para a comunicação com uma rede privada ou com o computador local ("localhost").
Blocos de Endereços Reservados :
| CIDR Bloco de Endereços | Descrição | Referência |
| 0.0.0.0/8 | Rede corrente (só funciona como endereço de origem) | RFC 1700 |
| 10.0.0.0/8 | Rede Privada | RFC 1918 |
| 14.0.0.0/8 | Rede Pública | RFC 1700 |
| 39.0.0.0/8 | Reservado | RFC 1797 |
| 127.0.0.0/8 | Localhost | RFC 3330 |
| 128.0.0.0/16 | Reservado (IANA) | RFC 3330 |
| 169.254.0.0/16 | Zeroconf | RFC 3927 |
| 172.16.0.0/12 | Rede privada | RFC 1918 |
| 191.255.0.0/16 | Reservado (IANA) | RFC 3330 |
| 192.0.2.0/24 | Documentação | RFC 3330 |
| 192.88.99.0/24 | IPv6 para IPv4 | RFC 3068 |
| 192.168.0.0/16 | Rede Privada | RFC 1918 |
| 198.18.0.0/15 | Teste de benchmark de redes | RFC 2544 |
| 223.255.255.0/24 | Reservado | RFC 3330 |
| 224.0.0.0/4 | Multicasts (antiga rede Classe D) | RFC 3171 |
| 240.0.0.0/4 | Reservado (antiga rede Classe E) | RFC 1700 |
| 255.255.255.255 | Broadcast | |
A Internet Assigned Numbers Authority (IANA) é responsável pela coordenação global do DNS raiz, endereçamento IP, o protocolo de Internet e outros recursos.

### Localhost

A faixa de IP 127.0.0.0 – 127.255.255.255 (ou 127.0.0.0/8 na notação CIDR) é reservada para a comunicação com o computador local (localhost). Quaisquer pacotes enviados para estes endereços ficarão no computador que os gerou e serão tratados como se fossem pacotes recebidos pela rede (Loopback).
O endereço de loopback local (127.0.0.0/8) permite à aplicação-cliente endereçar ao servidor na mesma máquina sem saber o endereço do host, chamado de "localhost".
Na pilha do protocolo TCP/IP, a informação flui para a camada de rede, onde a camada do protocolo IP reencaminha de volta através da pilha. Este procedimento esconde a distinção entre ligação remota e local.

### Redes privadas

Dos mais de 4 bilhões de endereços disponíveis, três faixas são reservadas para redes privadas. Os endereços IP contidos nestas faixas não podem ser roteados para fora da rede privada e não são roteáveis nas redes públicas. Dentro das classes A, B e C foram reservadas redes (normalizados pela RFC 1918 e também pelas RFCs 3330 e 3927) que são conhecidas como endereços de rede privada. A seguir são apresentadas as três faixas de endereçamento IP reservadas para redes privadas:

## Atribuição de endereço IP

Endereços Internet Protocol são atribuídos a um host, no momento da inicialização, ou permanentemente pela configuração fixa de seu hardware ou software. Configuração persistente é também conhecido como a utilização de um endereço de IP estático. Em contraste, nas situações em que o endereço de IP do computador é atribuído recentemente cada vez, isto é conhecido como a utilização de um endereço de IP dinâmico.

### IP estático

Endereços IP estáticos são atribuídos manualmente a um computador por um administrador. O procedimento exato varia de acordo com a plataforma. Isto contrasta com endereços IP dinâmicos, que são atribuídas tanto pela interface do computador ou software próprio hospedeiro, como no zeroconf, ou atribuído por um servidor usando o Dynamic Host Configuration Protocol (DHCP). Apesar de endereços IP atribuídos utilizando DHCP possam permanecer o mesmo por longos períodos de tempo eles podem mudar. Em alguns casos, um administrador de rede pode implementar endereços atribuídos dinamicamente a endereços IP estáticos. Neste caso, um servidor de DHCP é usado, mas é especificamente configurado para atribuir sempre o mesmo endereço IP a um computador específico. Isso permite que os endereços IP estáticos possam ser configurados de forma centralizada, sem ter que configurar individualmente e manualmente cada computador na rede.
Na ausência ou insuficiência de configurações de endereços estáticos ou stateful (DHCP), um sistema operacional pode atribuir um endereço IP para uma interface de rede usando um método de autoconfiguração stateless, como zeroconf.
Algumas situações de infraestrutura tem que usar endereçamento estático, como quando encontrar o Domain Name System (DNS) host que irá traduzir nomes de domínio para endereços IP. Os endereços estáticos também são convenientes, mas não absolutamente necessário, para localizar os servidores dentro de uma empresa. Um endereço obtido a partir de um servidor DNS vem com um tempo para viver, ou tempo de cache, após o que deve ser procurado para confirmar que ele não mudou. Mesmo endereços IP estáticos fazer a mudança como resultado de administração de rede (RFC 2072).

### IP dinâmico

Os endereços IP dinâmicos são mais frequentemente atribuído em redes locais (LANs) e redes de banda larga pelo serviço denominado Dynamic Host Configuration Protocol (DHCP). Este serviço é utilizado para evitar a sobrecarga administrativa de atribuição de endereços estáticos específicos para cada dispositivo de uma rede. Em sistemas operacionais mais atuais de desktop, configuração de IP dinâmico é ativado por padrão, de modo que o usuário não precisa inserir manualmente as configurações para se conectar a uma rede com um serviço de DHCP ativo. DHCP não é a única tecnologia usada para atribuir endereços IP dinâmicos.

### Autoconfiguração de endereço

RFC 3330 define um bloco de endereço, 169.254.0.0/16, para o uso especial no endereçamento de conexão local para redes IPv4. No IPv6, cada interface, seja através de atribuições de endereços estáticos ou dinâmicos, também recebe um endereço de link local automaticamente no bloco fe80 :: / 10.
Esses endereços são válidos apenas no link, como um segmento de rede local ou ponto a ponto, que um host está conectado. Esses endereços não são roteáveis e como endereços privados não pode ser a origem ou o destino dos pacotes que atravessam a Internet.
Quando o link-local de bloco de endereços IPv4 foi reservado, não existiam normas para os mecanismos de autoconfiguração de endereços. Preenchendo o vazio, a Microsoft criou uma implementação que é chamado de IP privado automático (APIPA). Devido ao poder de mercado da Microsoft, APIPA foi implantado em milhões de máquinas e tem, assim, tornar-se um padrão de fato na indústria. Muitos depois, a IETF (Internet Engineering Task Force) definiu um padrão formal para essa funcionalidade, RFC 3927, intitulado de configuração dinâmica de endereços IPv4 Link-Local endereços.

## Endereços públicos

Um endereço de IP público, em linguagem comum, é sinônimo de um endereço IP globalmente roteáveis unicast. IPv4 e IPv6 podem definir intervalos de endereços que são reservados para redes privadas e link-local de endereçamento. O termo endereço IP público muitas vezes utilizado, exclui estes tipos de endereços.

## Modificações para o endereçamento IP
### Bloqueio de IP e firewalls

Firewalls realiza o Protocolo de Internet de bloqueio para proteger as redes de acesso não autorizado. Eles são comuns na Internet de hoje. Eles controlam o acesso a redes com base no endereço IP de um computador cliente. Seja usando uma lista negra ou lista branca, o endereço IP que está bloqueado é o endereço IP percepção do cliente, o que significa que se o cliente está usando um servidor proxy ou tradução de endereços de rede, bloqueando um endereço IP pode bloquear muitos computadores individuais.

## Dica

Ao configurar um servidor DHCP, é necessário habilitar um endereço de broadcast.
| Classe | Faixa de endereços de IP | Notação CIDR | Número de Redes | Número de IPs | IPs por rede |
| Classe A | 10.0.0.0 – 10.255.255.255 | 10.0.0.0/8 | 128 | 16.777.216 | 16.777.214 |
| Classe B | 172.16.0.0 – 172.31.255.255 | 172.16.0.0/12 | 16.384 | 1.048.576 | 65 534 |
| Classe C | 192.168.0.0 – 192.168.255.255 | 192.168.0.0/16 | 2.097.152 | 65.535 | 254 |
Redes privadas podem ser criadas também por meio do zeroconf. A finalidade do zeroconf é fornecer um endereço IP (e, consequentemente, a conectividade entre as redes) sem usar um servidor DHCP e sem ter de configurar a rede manualmente. A sub-rede 169.254/16 foi reservada para esta finalidade. Dentro desta faixa, as sub-redes 169.254.0/24 e 169.254.255/24 foram reservadas para uso futuro.
* O endereço privado classe A permite 1 rede, o endereço privado classe B permite 16 redes e o endereço de rede privado classe C permite 256 redes.