Protocolo IP: mudanças entre as edições

De Wiki Cursos IFPR Foz
Ir para navegaçãoIr para pesquisar
 
(36 revisões intermediárias por 2 usuários não estão sendo mostradas)
Linha 1: Linha 1:
=Protocolo IP=
=Camada de Rede <ref name="KUROSE">KUROSE, J.F; ROSS K. W. Redes de Computadores e a Internet: Uma abordagem ''top-down'', São Paulo: Pearson, 2010.</ref>=
O '''protocolo IP''' (''Internet Protocol'') é integrante da arquitetura Internet e fornece um serviço com as seguintes características:
A '''camada rede''' da [[Arquitetura Internet]], por meio do '''protocolo IP''' (''Internet Protocol''), fornece um serviço para a '''camada de transporte''' com as seguintes características:
*Encaminhamento de pacotes ('''comutação de pacotes''') tipo '''melhor esforço''' (''best-effort'');
*Encaminhamento de pacotes ('''comutação de pacotes''') tipo '''melhor esforço''' (''best-effort'');
*'''Não confiável''': entrega de pacotes não é garantida;
*'''Não confiável''': entrega de pacotes não é garantida;
*'''Sem conexão''': cada pacote é independente do outro, não existem circuitos virtuais.
*'''Sem conexão''': cada pacote é independente do outro, não existem circuitos virtuais.


;Protocolo IP: Define:
==Protocolo IP==
*Formado do pacote ('''datagrama IP''');
 
*'''Endereçamento IP''';
O protocolo IP é definido por:
*'''Roteamento''' de pacotes;
*'''[[Enderecamento IP|Endereçamento IP]]''';
*Mecanismo de '''sinalização de eventos e erros''' entre ''hosts'' e roteadores ('''protocolo ICMP''' - ''Internet Control Message Protocol'').
*Formado do pacote ('''[[Datagrama IP]]''');
*'''[[Protocolo ICMP]]''' (''Internet Control Message Protocol''): mecanismo de '''sinalização de eventos e erros''' entre ''hosts'' e roteadores;
*'''[[Roteamento]]''' de pacotes;
*'''[[Protocolo ARP]]''': mapeamento de endereços IP em endereços físicos da camada enlace;
*'''[[Protocolo DHCP]]''': attribui dinamicamente endereços IP a hosts em uma rede local.


[[Arquivo:CamadaRede.png | 350px]]
[[Arquivo:CamadaRede.png | 350px]]
==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.
[[Arquivo:EnderecamentoIP.png | 600px]]
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.
[[Arquivo:ClassesEndereco.png]]
;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é 2<sup>8</sup> endereços, ou seja 256 hosts, o que pode ser muito pouco para muitas organizações. Já uma classe B, poderia acomodar 2<sup>16</sup> 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 2<sup>24</sup>=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 2<sup>8</sup>=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 2<sup>12</sup>=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 2<sup>8</sup> - 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<ref name="KUROSE">KUROSE, J.F; ROSS K. W. Redes de Computadores e a Internet: Uma abordagem ''top-down'', São Paulo: Pearson, 2010.</ref>: 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.
[[Arquivo:NAT.gif | 700px]]


===Referências===
===Referências===
<references />
<references />


----
----
;Autoria: Evandro Cantú / IFPR - Câmpus Foz do Iguaçu
--[[Usuário:Evandro.cantu|Evandro.cantu]] ([[Usuário Discussão:Evandro.cantu|discussão]]) 10h19min de 12 de junho de 2014 (BRT)
----
----


[[Categoria:Redes de Computadores]]
[[Categoria:Redes de Computadores]]

Edição atual tal como às 12h22min de 12 de junho de 2023

Camada de Rede [1]

A camada rede da Arquitetura Internet, por meio do protocolo IP (Internet Protocol), fornece um serviço para a camada de transporte 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

O protocolo IP é definido por:

Referências

  1. KUROSE, J.F; ROSS K. W. Redes de Computadores e a Internet: Uma abordagem top-down, São Paulo: Pearson, 2010.

--Evandro.cantu (discussão) 10h19min de 12 de junho de 2014 (BRT)