|
|
(18 revisões intermediárias por 2 usuários não estão sendo mostradas) |
Linha 1: |
Linha 1: |
| =Protocolo IP<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>= | | =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.
| |
|
| |
| O identificador de rede é obtido a partir da '''máscara de rede''', a qual indica quais bits do IP identificam a rede e quais identificam o host.
| |
|
| |
| Por exemplo, na figura abaixo temos três redes locais interconectadas por um roteador. Em cada rede, a '''máscara de rede''', na notação '''/24''', indica que os 24 bits mais à esquerda (dos 32 bits do IP) identificam a rede e os 8 bits restantes identificam cada ''host'' ou roteador dentro da rede. Desta forma, na rede local da direita, todos os hosts compartilham os 24 bits mais à esquerda do endereço IP, ou seja '''200.1.1'''.X, o que '''identifica a rede'''. Idem para as redes '''200.1.2'''.Y e '''200.1.3'''.Z.
| |
|
| |
| [[Arquivo:EnderecamentoIP.png | 600px]]
| |
|
| |
| ===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''' destes 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''', que é o '''identificador da rede'''.
| |
|
| |
| ;Identificador da rede: O '''identificador da rede''' possui bits "'''tudo zero'''" nos bits correspondentes ao '''identificador de host'''.
| |
|
| |
| ===Classes de endereçamento de IP===
| |
| Quando o protocolo IP foi criado existiam cinco classes de endereçamento<ref name="COMER">COMER, D. E. Interligação em Redes com TCP/IP, vol. 1, 5<sup>a</sup> ed., Rio de Janeiro: Elsevier/Campus, 2006.</ref>:
| |
| *'''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'''.
| |
|
| |
| 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''';
| |
|
| |
| ====Exemplos endereçamento CIDR====
| |
| 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.
| |
|
| |
| ;Exemplo 1: Dado o IP '''200.17.101.9/24''':
| |
| :Resolução:
| |
| ::Como a máscara de rede é '''/24''', o os três primeiros Bytes identificam a rede, portanto, máscara de rede em decimal:
| |
| 255.255.255.0
| |
| ::Endereços IP e número de ''hosts'' possíveis:
| |
| 200.17.101.0 -> Idenfificador da rede
| |
| 200.17.101.1 -+
| |
| 200.17.101.2 |
| |
| 200.17.101.3 | Endereços para ''hosts'' e roteadores
| |
| ... | dentro da rede (2<sup>8</sup> - 2 = 254)
| |
| 200.17.101.253 |
| |
| 200.17.101.254 -+
| |
| 200.17.101.255 -> ''Broadcat'' dentro da rede
| |
|
| |
| ;Exemplo 2: Dado o IP: '''200.130.2.73/26''':
| |
| :Resolução:
| |
| ::Máscara de rede em binário:
| |
| 11111111.1111111.1111111.11000000
| |
| ::Máscara de rede em decimal:
| |
| 255.255.255.192
| |
| ::Convertendo 73 em binário (Byte onde a máscara /26 divide):
| |
| '''01'''001001 (os dois primeiros bits fazem parte do identificador da rede)
| |
| ::Número de hosts:
| |
| ::2<sup>6</sup> = 64 hosts, sendo 2 reservados, "000000" para o endereço da rede e "111111" para o endereço de ''broadcast''.
| |
| ::Endereços IP:
| |
| 200.130.2.('''01'''000000) = 200.130.2.64 -> Identificador da rede
| |
| 200.130.2.('''01'''000001) = 200.130.2.65 -+
| |
| 200.130.2.('''01'''000010) = 200.130.2.66 | Endereços para hosts e roteadores
| |
| ... | dentro da rede (2<sup>6</sup> - 2 = 62)
| |
| 200.130.2.('''01'''111110) = 200.130.2.126 -+
| |
| 200.130.2.('''01'''111111) = 200.130.2.127 -> ''Broadcat'' dentro da rede
| |
|
| |
| ;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
| |
|
| |
| ;Divisão em sub-redes: O '''CIDR''' permite a uma instituição solicitar um bloco de endereços IP de qualquer tamanho. Além disto, a organização pode ainda dividir seu bloco de endereço em '''sub-redes''', criando suas próprias redes internas.
| |
|
| |
| ;[[Sub-redes]]
| |
|
| |
| ===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 e NAT===
| |
| 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]]
| |
|
| |
|
| ===Referências=== | | ===Referências=== |
Linha 150: |
Linha 21: |
|
| |
|
| ---- | | ---- |
| ;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]] |