Protocolo IP
Protocolo IP
O protocolo IP (Internet Protocol) é integrante da arquitetura Internet e fornece um serviço com as seguintes características:
- Encaminhamento de pacotes (comutação de pacotes) tipo melhor esforço (best-effort);
- Não confiável: entrega de pacotes não é garantida;
- Sem conexão: cada pacote é independente do outro, não existem circuitos virtuais.
- Protocolo IP
- Define:
- Formado do pacote (datagrama IP);
- Endereçamento IP;
- Roteamento de pacotes;
- Mecanismo de sinalização de eventos e erros entre hosts e roteadores (protocolo ICMP - Internet Control Message Protocol).
Endereçamento IP
O endereço IP é um endereço lógico de 32 bits, escrito em quatro octetos representados em decimal, cada um variando de O a 255. Os números são separados por pontos.
Por exemplo,
200.17.101.9
- é um endereço válido e sua notação em binário é:
11001000 00010001 01100101 00001001
Todo computador na Internet necessita de um endereço IP exclusivo.
Cada endereço IP engloba duas partes:
- Identificador da rede: identifica a rede onde se encontram todos os computadores da mesma rede local.
- Identificador do host: identifica um dispositivo em uma rede local, como um computador ou roteador.
Na figura temos três redes locais interconectadas por um roteador. Os dispositivos conectados a rede local da direita tem os endereços IP da forma 200.1.1.X. Isto é, compartilham os 24 bits mais à esquerda do endereço IP, o que identifica a rede. Os 8 bits restantes permitem identificar cada host ou roteador da rede local.
Como descrito abaixo, a notação /24 é também conhecida como máscara de rede. Ela indica que os 24 bits mais à esquerda dos 32 bits do IP identificam a rede. A identificação da rede com o endereço de host com os bits todos zero, indicam o endereço da rede local, que no exemplo é 200.1.1.0/24.
Máscara de rede
O valor da máscara de rede também pode ser representada na notação decimal com pontos. Por exemplo, a máscara /24 pode ser representada como
255.255.255.0
- é equivalente a
11111111 1111111 1111111 0000000
- o que significa que os 24 primeiros bits são um e os 8 restantes zero.
Através da máscara de rede podemos extrair o identificador da rede de um endereço IP utilizando uma operação lógica AND entre o endereço IP e a máscara de rede.
Por exemplo, para descobrir o identificador de rede do computador cujo endereço IP é 200.17.101.9 e cuja máscara de rede é 255.255.255.0, devemos fazer uma operação AND desdes dois valores:
11001000 00010001 01100101 00001001 11111111 11111111 11111111 00000000 AND ___________________________________ 11001000 00010001 01100101 00000000
- que resulta no endereço de rede 200.17.101.0.
Classes de endereçamento de IP
Quando o protocolo IP foi criado existiam cinco classes de endereçamento:
- Classe A (bits mais significativo do endereço 0) máscara de rede /8;
- Classe B (dois bits mais significativos do endereço 10) máscara de rede /16;
- Classe C (três bits mais significativos do endereço 110) máscara de rede /24;
- Classe D (quatro bits mais significativos do endereço 1110) reservada multicast.
- Classe E (quatro bits mais significativos do endereço 1111) uso futuro.
- Estas classes de endereçamento não são mais utilizadas
- Com o crescimento do número de organizações de pequeno e médio porte o espaço de endereçamento ficou limitado. Por exemplo, uma rede classe C pode acomodar até 28 endereços, ou seja 256 hosts, o que pode ser muito pouco para muitas organizações. Já uma classe B, poderia acomodar 216 endereços, ou 64.634 endereços, o que seria demais para uma organização com, por exemplo, 2000 computadores. Uma rede classe A pode acomodar 224=16777216 o que seria um desperdício.
Endereçamento CIDR
O endereçamento CIDR (classless interdomain routing) otimiza a distribuição dos endereços IP de 32 bits.
O endereçamento CIDR usa a notação / (barra) para indicar a quantidade de bits que identifica a rede (que pode ser qualquar valor entre 0 e 32 bits) e, por consequência, a quantidade de bits que identificam hosts dentro da rede.
A quantidade de bits que identificam os hosts dentro de uma rede define o tamanho da rede. Por exemplo:
- Uma rede com máscara /24 reserva 24 bits para identificar a rede e 8 para identificar os hosts dentro da rede, totalizando 28=256 hosts possíveis.
- Uma rede com máscara /20 reserva 20 bits para identificar a rede e 12 para identificar os hosts dentro da rede, totalizando 212=4096 hosts possíveis.
Dos bits que identificam hosts em uma rede existem dois endereços IP especiais:
- Identificadores de host com os bits "tudo zero": Identificador da rede;
- Identificadores de host com os bits "tudo um": Difusão (ou broadcast) dento da rede;
- Exemplo 1
- Rede 200.17.101.0/24
- Endereços IP:
200.17.101.0 -> Idenfificador da rede 200.17.101.1 -+ 200.17.101.2 | Endereços para hosts e roteadores ... | dentro da rede 200.17.101.254 -+ 200.17.101.255 -> Broadcat dentro da rede
- Total de endereços possíveis para uso 28 - 2 = 254
- Exemplo 2
- Se usarmos uma máscara de 25 bits, podemos representá-la por 255.255.255.128.
- Cada uma com 126 endereços de máquina válidos (128 - 2: um para o endereço da rede e outro para o endereço de broadcast).
- Exercícios
- Dado os endereços IP e as máscaras de rede, determinar:
- A máscara de rede na notação decimal;
- O endereço IP da rede, ou identificador de rede;
- A quantidade de hosts possíveis para esta rede;
- O endereço de broadcast da rede.
- 200.100.50.33/24
- 200.100.50.201/26
- 200.100.208.45/20
- 200.100.215.0/20
- 200.163.1.2/11
Endereços de uso especial
- 0.0.0.0: Endereço com todos os 32 bits iguais a 0. Pode aparecer em tabelas de roteamento identificando o destino como a própria rede e também identificar rotas default;
- 255.255.255.255: Endereço com todos os 32 bits iguais a 1. É considerado um endereço de difusão (ou broadcast) limitado a rede do host origem do datagrama (não encaminhado);
- 127.0.0.1: Endereço reservado para teste de loopback e comunicação entre processos da mesma máquina.
Endereços IP privados
Alguns blocos de endereços IP são reservados para uso privado na Internet.
10.0.0.0 - 10.255.255.255 (10/8) 172.16.0.0 - 172.31.255.255 (172.16/12) 192.168.0.0 - 192.168.255.255 (192.168/16)
Os endereços IP privados e tem validade somente no escopo da rede interno de uma organização. Para conexão a Internet pública, precisa-se de endereços IP públicos.
Os endereços privados são úteis para computadores clientes de uma organização, que somente necessitam acessar recursos comuns da Internet como acesso a Web ou Email. Neste caso, estes computadores não precisão ocupar endereços públicos, podendo serem mediados por dispositivos que façam uma tradução destes endereços, como roteadores NAT.
NAT
O NAT (Network Address Translation) é um mecanismo que possibilita a uma rede local usar apenas um endereço IP público, no que concerne ao mundo exterior, e utilizar endereços IP privados no que concerne a rede interna. Apenas um endereço IP público é usado para todos os dispositivos, o que possibilita modificar endereços de dispositivos na rede local sem notificar o mundo exterior. Com o NAT os dispositivos dentro da rede local não são visíveis do mundo exterior, o que pode ser considerado uma forma de segurança para a rede interna.
Outra importante vantagem do uso do NAT é a economia de IP públicos.
A implementação do NAT faz uso das portas dos protocolos da camada de transporte. Todos os datagramas deixando a rede local têm o mesmo e único endereço IP NAT de origem e diferentes números de porta origem. Para isto, um roteador NAT deve:
- Datagramas saindo: trocar (IP origem, porta) de cada datagrama saindo para (IP NAT, nova-porta). Os clientes/servidores remotos vão responder usando (IP NAT, nova-porta) como endereço destino;
- Lembrar, utilizando uma tabela de tradução NAT, de cada par de tradução (IP origem, porta) para (IP NAT, nova-porta);
- Datagramas entrando: trocar (IP NAT, nova-porta) nos campos de destino de cada datagrama entrando para o (IP origem, porta) correspondente armazenado na tabela NAT.
- Exemplo[1]
- No exemplo da figura uma estação da rede local contata um servidor web remoto no endereço 128.119.40.186, porta 80, e informa seu endereço e porta origem 10.0.0.1, 3345. O roteador NAT traduz o endereço IP e porta da estação interna pelo IP NAT, nova-porta, 138.76.29.7, 5001. O servidor responde ao IP NAT, nova-porta. O roteador NAT, uma vez que recebe a resposta do servidor, traduz novamente para o endereço IP e porta origem da estação da rede local.
Referências
- ↑ KUROSE, J.F; ROSS K. W. Redes de Computadores e a Internet: Uma abordagem top-down, São Paulo: Pearson, 2010.
- Autoria
- Evandro Cantú / IFPR - Câmpus Foz do Iguaçu