𝖂𝖎ƙ𝖎𝖊

Protocolo de Internet: mudanças entre as edições

imported>PedroPVZ
imported>Cadnero
mSem resumo de edição
 
(325 edições intermediárias de mais de 100 usuários não estão sendo mostradas)
Linha 1: Linha 1:
O '''IP''' acrónimo do inglês para ''Internet Protocol'' (Ou Protocolo da Internet) é um protocolo usado pela fonte e host de destino para comunicação de dados através de troca de pacotes dentro da rede.
{{Ver desambig|a versão 6 deste protocolo|IPv6}}
{{sem notas|data=novembro de 2009| arte=| Brasil=| ciência=| geografia=| música=| Portugal=| sociedade=|1=Este artigo ou secção|2=|3=|4=|5=|6=}}
{{ProtocolosIP}}


Os dados numa rede IP são enviados em blocos referidos como pacotes ou datagramas (os termos são basicamente sinónimos no IP). Em particular, no IP nenhuma definição é necessária antes do host tentar enviar pacotes para um host que não comunicou previamente com.
'''Protocolo de Internet''' ({{lang-en|''Internet Protocol''}}, ou o [[acrónimo]] '''IP''') é um [[protocolo de comunicação]] usado entre todas as máquinas em [[rede de computadores|rede]] para [[encaminhamento]] dos dados. Tanto no Modelo [[TCP/IP]], quanto no [[Modelo OSI]], o importante protocolo da internet IP está na camada intitulada camada de rede.
== Funcionamento ==
Os dados numa rede IP que são enviados em blocos referidos como ficheiros (os termos são basicamente sinónimos no IP, sendo usados para os dados em diferentes locais nas camadas IP). Em particular, no IP nenhuma definição é necessária antes do tentar enviar ficheiros para um nó com o qual não comunicou previamente.


O IP oferece um serviço de datagrramas não fiável (também camado de ''melhor esforço''); ou seja, o pacote vem quase sem garantias. O pacote pode chegar danificado, desordenado (comparado com outros pacotes enviados entre os mesmos hosts), também podem chegar duplicados, ou perdidos por inteiro. Se a [[aplicação]] precisa de fiabilidade, esta é adicionada na [[camada de transporte]].
O IP oferece um serviço de datagramas (pacotes) não confiável (também chamado de ''melhor esforço''); ou seja, o pacote vem quase sem garantias. O pacote pode chegar desordenado (comparado com outros pacotes enviados entre os mesmos nós), também podem chegar duplicados, ou podem ser perdidos por inteiro. Se a [[aplicação]] requer maior [[confiabilidade]], esta é adicionada na [[camada de transporte]].


Os [[router]]s, são usados para reencaminhar datagramas IP através das redes interconectadas na segunda camada. A falta de qualquer garantia de entrega significa que o desenho da troca de pacotes é feita de forma mais simplificadamente. (note que se a rede cai, reordena ou de outra forma danifica um grande número de pacotes, a performance observada pelo utilizador será pobre, logo a maioria dos elementos de rede tentam arduamente não fazer este tipo de coisas - ''melhor esforço''. Contudo, um erro ocasional não irá produzir nenhum efeito que se note.)
Os [[roteador]]es são usados para reencaminhar datagramas IP através das redes interconectadas na segunda camada. A falta de qualquer garantia de entrega significa que o desenho da troca de pacotes é feito de forma mais simplificada. (Note que se a rede cai, reordena ou de outra forma danifica um grande número de pacotes, o desempenho observado pelo utilizador será pobre, logo a maioria dos elementos de rede tentam arduamente não fazer este tipo de coisas - ''melhor esforço''. Contudo, um erro ocasional não irá produzir nenhum efeito notável.)


O IP é o elemento comum encontrado na [[internet]] pública dos dias de hoje. É descrita no [[RFC]] 791 da [[IETF]], que foi pela primeira vez publicada em Setembro de 1981. Este documento descreve o protocolo da camada de rede mais popular e actualmente em uso. Esta versão do protocolo é designada de versão 4, ou IPv4. O [[IPv6]] tem enderelamento de origem e destino de 128 bits, oferecendo mais endereçamentos que os 32 bits do IPv4.
O IP é o elemento comum encontrado na [[Internet]] pública dos dias de hoje. É descrito no RFC 791 da [[IETF]], que foi pela primeira vez publicado em Setembro de 1981. Este documento descreve o protocolo da camada de rede mais popular e atualmente em uso. Esta versão do protocolo é designada de versão 4, ou IPv4. O [[IPv6]] tem endereçamento de origem e destino de 128 bits, oferecendo mais endereçamentos que os 32 bits do IPv4.


== IPv4 header format ==
== Formato do Cabeçalho do IPv4 ==
<!-- isto não se traduz -->
{| border="2" cellpadding="4" cellspacing="0" style="margin: 1em 1em 1em 0; background: #f9f9f9; border: 1px #aaa solid; border-collapse: collapse; float:right; margin-left:10px; text-align: center; font-size: 80%"
{| align="center" border="1" cellpadding="3" cellspacing="1"
|-
|- align="center"
! colspan="1"|+
! colspan="1"|+
! colspan="4"|0 - 3
! colspan="4"|0 - 3
Linha 19: Linha 22:
! colspan="3"|16 - 18
! colspan="3"|16 - 18
! colspan="13"|19 - 31
! colspan="13"|19 - 31
|- align="center"
|-
! colspan="1"|0
! colspan="1"|0
| colspan="4"|Version
| colspan="4"|Versão
| colspan="4"|Header length
| colspan="4"|Tamanho do<br />cabeçalho
| colspan="8"|Type of Service<br />(agora [[DiffServ]] e [[ECN]])
| colspan="8"|''Tipo de Serviço'' (ToS)<br />(agora [[DiffServ]] e [[ECN]])
| colspan="16"|Total Length
| colspan="16"|Comprimento<br />(pacote)
|- align="center"
|-
! colspan="1"|32
! colspan="1"|32
| colspan="16"|Identification
| colspan="16"|Identificador
| colspan="3"|Flags
| colspan="3"|''Flags''
| colspan="13"|Fragment Offset
| colspan="13"|''Offset''
|- align="center"
|-
! colspan="1"|64
! colspan="1"|64
| colspan="8"|Time to Live
| colspan="8"|''Tempo de Vida'' ([[Time to Live|TTL]])
| colspan="8"|Protocol
| colspan="8"|Protocolo
| colspan="16"|Header Checksum
| colspan="16"|''Checksum''
|- align="center"
|-
! colspan="1"|96
! colspan="1"|96
| colspan="32"|Source Address
| colspan="32"|Endereço origem
|- align="center"
|-
! colspan="1"|128
! colspan="1"|128
| colspan="32"|Destination Address
| colspan="32"|Endereço destino
|- align="center"
|-
! colspan="1"|160
! colspan="1"|160
| colspan="32"|Options
| colspan="32"|Opções
|- align="center"
|-
! colspan="1"|192
! colspan="1"|192
| colspan="32"|&nbsp;<br />''Dados''<br />&nbsp;
| colspan="32"|&nbsp;<br />''Dados''<br />&nbsp;
|}
|}


* '''Versão''' - o primeiro campo do cabeçalho de um [[datagrama]] IPv4 é o campo de versão, com quatro bits.<ref name=":1">{{citar livro|título=Comunicação de Dados e Redes de Computadores|ultimo=Forouzan|primeiro=Behrouz|editora=McGraw-Hill|ano=2008|edicao=4ª|local=São Paulo|páginas=582-596|acessodata=}}</ref>
* '''Tamanho do cabeçalho (IHL)''' - o segundo campo, de quatro bits, é o IHL (acrónimo para ''Internet Header Length'', ou seja, Comprimento do Cabeçalho da Internet) em número de palavras de 32 bits (4 bytes) do cabeçalho IPv4.<ref name=":1" /> Como o cabeçalho IPv4 prevê o campo OPÇÕES que pode ser utilizado para estender o cabeçalho IP,<ref name=":0">{{citar livro|título=Redes de computadores e a internet: uma abordagem top-down|ultimo=Kurose|primeiro=James F.|ultimo2=Ross|primeiro2=Keith W.|editora=Pearson Education do Brasil|ano=2013|edicao=6ª|local=São Paulo|páginas=245-247|acessodata=}}</ref> o campo IHL essencialmente especifica onde exatamente termina o cabeçalho e onde iniciam os dados do datagrama IPv4.<ref name=":0" /> Um cabeçalho IPv4 mínimo tem vinte bytes de comprimento, logo o valor mínimo em decimal no campo IHL seria cinco, conforme<ref name=":1" />: <math>IPv4_{HLength} = IHL*4_{bytes} \rightarrow IPv4_{HLength}=5*4_{bytes} \rightarrow IPv4_{HLength}=20_{bytes} </math>
* '''Tipo de serviço (ToS)''' - no RFC 791, os oito bits seguintes são alocados para um campo [[ToS|tipo de serviço (ToS)]], agora DiffServ e ECN. A intenção original era para um nó especificar uma preferência para como os datagramas poderiam ser manuseados assim que circulariam pela rede. Por exemplo, um nó pode definir o campo de valores do seu ToS dos datagramas IPv4 para preferir pequeno desfasamento de tempo, enquanto que outros podem preferir alta confiabilidade. Na prática, o campo ToS não foi largamente implementado. Contudo, trabalho experimental, de pesquisa e desenvolvimento se focou em como fazer uso destes oito bits. Estes bits têm sido redefinidos e mais recentemente através do grupo de trabalho do DiffServ na IETF e pelos pontos de código do [[Explicit Congestion Notification]] (ECN) (RFC 3168.)
* '''Comprimento (pacote)''' - o campo de dezesseis bits seguinte do IPv4 define todo o tamanho do datagrama, incluindo cabeçalho e dados, em bytes de oito bits. O datagrama de tamanho mínimo é de vinte bytes e o máximo é 64 [[Kb]]. O tamanho máximo do datagrama que qualquer nó requer para estar apto para manusear são 576 bytes, mas os nós mais modernos manuseiam pacotes bem maiores. Por vezes, as [[Sub-rede|subredes]] impõem restrições no tamanho, em cada caso os datagramas têm que ser "fragmentados". A fragmentação é manuseada quer no nó quer no comutador de pacotes no IPv4, e apenas no nó no caso do IPv6.
* '''Identificador''' - o campo seguinte de dezesseis bits é um campo de identificação. Este campo é usado principalmente para identificar fragmentos identificativos do datagrama IP original. Alguns trabalhos experimentais sugerem usar o campo IP para outros propósitos, tais como adicionar pacotes para levar a informação para datagrama, de forma a que ajude a pesquisar datagramas para trás com [[IP spoofing|endereços fonte falsificados]].
* '''''Flags''''' - o campo de três bits que segue é usado para controlar ou identificar fragmentos.
* '''''Offset''''' - o campo ''offset'' do fragmento tem treze bits, e permite que um receptor determine o local de um fragmento em particular no datagrama IP original.
* '''Tempo de vida (TTL)''' - um campo de oito bits, o [[TTL]] (''time to live'', ou seja, tempo para viver) ajuda a prevenir que os datagramas persistam (ex. andando aos círculos) numa rede. Historicamente, o campo TTL limita a vida de um datagrama em segundos, mas tornou-se num campo de contagem de nós caminhados. Cada comutador de pacotes que um datagrama atravessa decrementa o campo TTL em um valor. Quando o campo TTL chega a zero, o pacote não é seguido por um comutador de pacotes e é descartado.
* '''Protocolo''' - um campo de protocolo de oito bits segue-se, definindo o protocolo seguinte usado numa porção de dados de um datagrama IP. A [[Internet Assigned Numbers Authority]] mantém uma lista de números de protocolos. Os protocolos comuns e os seus valores decimais incluem o [[Internet Control Message Protocol|ICMP]] (1), o [[Transmission Control Protocol|TCP]] (6).
* '''''Checksum''''' - o campo seguinte é um campo de verificação para o cabeçalho do datagrama IPv4. Um pacote em trânsito é alterado por cada comutador que atravesse. Um desses comutadores pode comprometer o pacote, e a verificação é uma forma simples de detectar a consistência do cabeçalho. Este valor é ajustado ao longo do caminho e verificado a cada novo nó. Envolve apenas verificação do cabeçalho (não dos dados).
[[Ficheiro:TCPIP encapsulation.png|thumb|right|300px|Encapsulamento [[Protocolo IP|IP]]: O [[endereço IP|endereço]] de origem no cabeçalho IP indicará a quem deverá ser enviada a resposta do protocolo encapsulado, neste caso o [[TCP]].]]
* '''Endereço de origem/Endereço de destino''' - a seguir ao campo de verificação, seguem-se os endereço de origem e de destino, de 32 bits cada um. Note que os endereços [[IPv6]] de origem e destino são de 128 bits cada.
* '''Opções''' - Campos do cabeçalho adicionais podem seguir o campo do endereço de destino, mas estes não são normalmente usados. Os campos de opção podem ser seguidos de um campo de caminho que assegura que os dados do utilizador são alinhados numa fronteira de [[Palavra (ciência da computação)|palavras]] de 32 bits. (No IPv6, as opções movem-se fora do cabeçalho padrão e são especificados pelo campo ''Next Protocol'', semelhante à função do campo "Protocolo" no IPv4).


A seguir, três exemplos de opções que são implementadas e aceitas na maioria dos roteadores:
* Security (especifica o nível de segurança do datagrama (usado em aplicações militares));
* Timestamp (Faz com que cada roteador anexe seu endereço e sua marca temporal (32 bits), que serve para depuração de algoritmos de roteamento); e
* Record route (faz com que cada roteador anexe seu endereço).


The first header field in an IPv4 datagram is the 4-bit version field.  
== Endereçamento IPv4 e encaminhamento ==
Talvez os aspectos mais complexos do IP sejam o [[Endereço IP|endereçamento]] e o [[encaminhamento]]. O endereçamento define como os endereços IP dos nós finais são atribuídos e como as subredes dos endereços de IP dos nós são divididos e agrupados. O encaminhamento IP é feito por todos os nós, mas mais comumente por roteadores de rede, que tipicamente usam os protocolos [[Interior gateway protocol|IGP]] ou [[EGP]] para ajudar na leitura de datagramas IP que reencaminhem decisões através de IPs em redes ligadas.


The second field is a 4-bit Internet Header Length (IHL) telling the number of 32-bit words in the IPv4 header. Since an IPv4 header may contain a variable number of options, this field essentially specifies the offset to the data portion of an IPv4 datagram.  A minimum IPv4 header is 20 bytes long, so the minimum value in decimal in the IHL field would be 5.
Na internet, e nas redes particulares que vemos hoje nas empresas ou mesmo nas residências, o protocolo de comunicação usado pelos computadores chama-se IP - sigla para Internet Protocol. Criado no fim dos anos 70, o protocolo IP tem como "missão" não só fazer dois computadores "conversarem", mas também possibilitar a interligação de duas ou mais redes separadas. Com raríssimas exceções, praticamente todas as redes do mundo acabaram, de uma forma ou de outra, sendo conectadas entre si e foi essa comunhão de redes que acabou formando o que conhecemos hoje por internet (nome que, em português, pode ser traduzido por "inter-redes" ou "redes interligadas").


In RFC 791, the following 8 bits were allocated to a Type of Service (ToS) field - now [[Differentiated services|DiffServ]] and [[ECN]].  The original intention was for a sending host to specify a preference for how the datagram would be handled as it made its way through an internetwork.  For instance, one host could set its IPv4 datagrams' ToS field value to prefer low delay, while another might prefer high reliability. In practice, the ToS field has not been widely implemented. However, a great deal of experimental, research and deployment work has focused on how to make use of these eight bits.  These bits have been redefined and most recently through [[DiffServ]] working group in the IETF and the [[Explicit Congestion Notification]] codepoints (see RFC 3168).
O protocolo IP possui um esquema de endereçamento parecido com os números de telefone. Assim como qualquer telefone, no mundo todo, é único (considerando o DDD e o código de país), cada computador ligado na internet possui um número único, que é chamado de [[endereço IP]] ou número IP. Esse número serve para identificar o computador na internet. Se você precisar conversar com alguém pela internet, basta mandar mensagens endereçadas ao endereço IP do computador da pessoa.


The next 16-bit IPv4 field defines the entire datagram size, including header and data, in 8-bit bytes.  The minimum-length datagram is 20 bytes and the maximum is 65535.  The maximum size datagram which any host is '''required''' to be able to handle is 576 bytes, but most modern hosts handle much larger packets. Sometimes [[subnetwork]]s impose further restrictions on the size, in which case datagrams must be ''fragmented''. Fragmentation is handled in either the host or packet switch in IPv4, and in the host only in IPv6.
Para que um email da Alice saia de seu computador e chegue ao computador do Beto, por exemplo, é preciso que os dados (no caso, o texto do email) sejam divididos em pacotinhos pequenos (chamados de pacotes IP) que possuem marcados dentro de si o endereço IP de origem (ou seja, o número único do computador da Alice) e o IP de destino (o número único do computador do Beto). A internet "se vira" para encontrar o caminho entre Alice e Beto, sem que nenhum dos dois precise se preocupar com isso.


The next 16-bit field is an identification field. This field is primarily used for uniquely identifying fragments of an original IP datagram. Some experimental work has suggested using the ID field for other purposes, such as for adding packet tracing information to datagrams in order to help trace back datagrams with spoofed source addresses.
No entanto, o protocolo IP em sua versão atual (a versão quatro, rotulada como IPv4) já é bastante antiga e tem muitos problemas.{{carece de fontes|data=junho de 2017}} Os mais graves são falhas de segurança, que periodicamente são descobertas e não têm solução. {{carece de fontes|data=junho de 2017}} A maioria dos ataques contra computadores hoje na internet só é possível devido a falhas no protocolo IP. {{carece de fontes|data=junho de 2017}} A nova geração do protocolo IP, o IPv6, resolve grande parte dos problemas de segurança da internet hoje, herdados justamente do projeto antiquado do IPv4.{{carece de fontes|data=junho de 2017}}


A 3-bit field follows and is used to control or identify fragments.
Mas o IPv4 tem um problema ainda mais premente do que sua inerente insegurança: já esgotou sua capacidade de expansão. Cada computador ligado à internet - seja um computador pessoal, uma estação de trabalho ou um servidor que hospeda um site - precisa de um endereço único que o identifique na rede. O IPv4 define, entre outras coisas importantes para a comunicação entre computadores, que o número IP tem uma extensão de 32 bits. Com 32 bits, o IPv4 tem disponíveis em teoria cerca de quatro bilhões de endereços IP mas, na prática, o que está realmente disponível é menos da metade disso. Se contarmos que o planeta tem seis bilhões de habitantes e que cada dispositivo ligado na internet (o que inclui smartphones, PCs, notebooks e afins) precisa de um número só dele, é fácil perceber que a conta não fecha. Esse número, sendo finito, um dia acaba.


The fragment offset field is 13-bits long, and allows a receiver determine the place of a particular fragment in the original IP datagram.
Em cima disso, os endereços IP são "travados" geograficamente. Dois endereços próximos estão necessariamente na mesma cidade ou região. Se considerarmos que cerca de três quartos dos endereços IP disponíveis para a internet estão localizados nos Estados Unidos (mesmo que nunca usados), sobram apenas pouco mais de um bilhão de endereços para o resto do mundo - aumentando ainda mais o problema de escassez.


An 8-bit [[time to live]] (TTL) field helps prevent datagrams from persisting (e.g. going in circles) on an internetwork. Historically the TTL field limited a datagram's lifetime in seconds, but has come to be a [[hop count]] field.  Each packet switch (or router) that a datagram crosses decrements the TTL field by one.  When the TTL field hits zero, the packet is no longer forwarded by a packet switch and is discarded.
A entrada dos [[smartphones]] e outros dispositivos móveis (que são baratos e extremamente populares) na internet contribuiu para que o número de endereços IP disponíveis seja ainda mais escasso. De fato, algumas previsões pessimistas davam conta de que os endereços IP iriam acabar por completo em [[2012]], transformando a internet num verdadeiro [[caos]].


An 8-bit Protocol field follows. This field defines the next protocol used in the data portion of the IP datagram.  The [[Internet Assigned Numbers Authority]] maintains a list of Protocol numbers. Common protocols and their decimal values include [[Internet control message protocol|ICMP]] (1), [[Transmission Control Protocol|TCP]] (6) and [[User Datagram Protocol|UDP]] (17).
O advento do IPv6, com 128 bits, resolveria todos esses problemas. Primeiro, porque dá fim a praticamente todos os buracos de segurança conhecidos do IPv4, tornando as comunicações muitíssimo mais seguras. O IPv6 provavelmente será uma dor de cabeça sem tamanho para os hackers criminosos.


The following field is a 16-bit checksum field for the IPv4 datagram header. Some values in a IPv4 datagram header may change at each packet switch hop, so the checksum must be adjusted on its way through an internetwork.
Em segundo lugar, o IPv6 define 128 bits para endereçamento, e portanto conta com cerca de 3,4 × 10^38 endereços disponíveis (ou 340 seguido de 36 zeros). Para quem não quiser fazer a conta, basta saber que são muitos bilhões de quatrilhões de endereços disponíveis, garantindo que não vai faltar números IP para os humanos por milênios.


The checksum is followed by a 32-bit source address and 32-bit destination address respectively. (Note: IPv6 source and destination addresses are 128 bits each.)
Pelo "draft" inicial de um documento proposto pelo [[IETF]] - Internet Engineering Task Force, órgão responsável pelo desenvolvimento tecnológico da internet, a migração de IPv4 para IPv6 deveria ter começado em algum momento entre 2009 e 2010, com migração total até o fim de 2011. O cronograma ainda está atrasado devido aos vários problemas da completa conversão. [[Google]], [[Yahoo!]] e [[Facebook]] já começam a adotar o IPv6.


Additional header fields (called ''options'') may follow the destination address field, but these are not often used. Option fields may be followed by a pad field which ensures that the user data are aligned on a 32-bit word boundary. (In IPv6, options move out of the standard header and are specified by a Next Protocol field, similar in function to IPv4's Protocol field.)
Na [[Campus Party Brasil]] de [[2011]], em sua quarta edição brasileira, realizada em [[São Paulo (estado)|São Paulo]], a Telefônica ofereceu aos campuseiros a oportunidade de se conectar à internet com IPv6. A companhia vem testando a tecnologia há dois anos e espera poder oferecê-la aos seus clientes ainda em 2011.<ref>[http://tecnologia.terra.com.br/noticias/0,,OI4903272-EI12884,00-Entenda+o+protocolo+IP+e+a+diferenca+entre+IPv+e+IPv.html Entenda o protocolo IP e a diferença entre IPv4 e IPv6]</ref>


== IPv4 addressing and routing ==
== Ver também ==
* [[Protocolo (ciência da computação)]]
* [[Comutador (redes)|Comutador]]
* [[Endereço IP]]
* [[IANA]]
* [[Lista padrão de serviços e portas associadas]]


Perhaps the most complex aspects of IP are addressing and [[routing]].  Addressing refers to how end hosts are assigned [[IP address]]es and how subnetworks of IP host addresses are divided and grouped together.  IP routing is performed by all hosts, but most famously by internetwork routers, which typically use either [[interior gateway protocol]]s (IGPs) or [[external gateway protocol]]s (EGPs) to help make IP datagram forwarding decisions across IP connected networks.
== Bibliografia ==
* RFC 791 - Internet Protocol {{english}}
* RFC 3168 - Explicit congestion notification {{english}}
* RFC 1883 - Internet Protocol, Version 6 {{english}}


See also: [[Internet protocol suite]], [[Classes of IP addresses]], [[IANA]],
{{referências}}
[[List of well-known ports (computing)]]


==== Further reading ====
[[Categoria:Protocolos Internet| ]]
* RFC 791 - Internet Protocol
* RFC 3168 - Explicit congestion notification
* RFC 1883 - Internet Protocol, Version 6
*[http://www.iana.org Internet Assigned Numbers Authority (IANA)]
 
[[Categoria:Internet]]
[[bg:Internet Protocol]]
[[da:Internetprotokol]] [[de:Internet Protocol]] [[es:Protocolo IP]] [[pt:IP]]
[[fr:Protocole Internet]] [[hu:IP szám]] [[ja:Internet Protocol]] [[ko:IP]] [[nl:Internet Protocol]] [[pl:IP]] [[zh-cn:&#20114;&#32852;&#32593;&#21327;&#35758;]]

Edição atual tal como às 14h01min de 29 de julho de 2020

Disambig grey.svg Nota: Para a versão 6 deste protocolo, veja IPv6.

Predefinição:Sem notas Predefinição:ProtocolosIP

Protocolo de Internet (em Predefinição:Língua com nome, ou o acrónimo IP) é um protocolo de comunicação usado entre todas as máquinas em rede para encaminhamento dos dados. Tanto no Modelo TCP/IP, quanto no Modelo OSI, o importante protocolo da internet IP está na camada intitulada camada de rede.

Funcionamento

Os dados numa rede IP que são enviados em blocos referidos como ficheiros (os termos são basicamente sinónimos no IP, sendo usados para os dados em diferentes locais nas camadas IP). Em particular, no IP nenhuma definição é necessária antes do nó tentar enviar ficheiros para um nó com o qual não comunicou previamente.

O IP oferece um serviço de datagramas (pacotes) não confiável (também chamado de melhor esforço); ou seja, o pacote vem quase sem garantias. O pacote pode chegar desordenado (comparado com outros pacotes enviados entre os mesmos nós), também podem chegar duplicados, ou podem ser perdidos por inteiro. Se a aplicação requer maior confiabilidade, esta é adicionada na camada de transporte.

Os roteadores são usados para reencaminhar datagramas IP através das redes interconectadas na segunda camada. A falta de qualquer garantia de entrega significa que o desenho da troca de pacotes é feito de forma mais simplificada. (Note que se a rede cai, reordena ou de outra forma danifica um grande número de pacotes, o desempenho observado pelo utilizador será pobre, logo a maioria dos elementos de rede tentam arduamente não fazer este tipo de coisas - melhor esforço. Contudo, um erro ocasional não irá produzir nenhum efeito notável.)

O IP é o elemento comum encontrado na Internet pública dos dias de hoje. É descrito no RFC 791 da IETF, que foi pela primeira vez publicado em Setembro de 1981. Este documento descreve o protocolo da camada de rede mais popular e atualmente em uso. Esta versão do protocolo é designada de versão 4, ou IPv4. O IPv6 tem endereçamento de origem e destino de 128 bits, oferecendo mais endereçamentos que os 32 bits do IPv4.

Formato do Cabeçalho do IPv4

+ 0 - 3 4 - 7 8 - 15 16 - 18 19 - 31
0 Versão Tamanho do
cabeçalho
Tipo de Serviço (ToS)
(agora DiffServ e ECN)
Comprimento
(pacote)
32 Identificador Flags Offset
64 Tempo de Vida (TTL) Protocolo Checksum
96 Endereço origem
128 Endereço destino
160 Opções
192  
Dados
 
  • Versão - o primeiro campo do cabeçalho de um datagrama IPv4 é o campo de versão, com quatro bits.[1]
  • Tamanho do cabeçalho (IHL) - o segundo campo, de quatro bits, é o IHL (acrónimo para Internet Header Length, ou seja, Comprimento do Cabeçalho da Internet) em número de palavras de 32 bits (4 bytes) do cabeçalho IPv4.[1] Como o cabeçalho IPv4 prevê o campo OPÇÕES que pode ser utilizado para estender o cabeçalho IP,[2] o campo IHL essencialmente especifica onde exatamente termina o cabeçalho e onde iniciam os dados do datagrama IPv4.[2] Um cabeçalho IPv4 mínimo tem vinte bytes de comprimento, logo o valor mínimo em decimal no campo IHL seria cinco, conforme[1]:
  • Tipo de serviço (ToS) - no RFC 791, os oito bits seguintes são alocados para um campo tipo de serviço (ToS), agora DiffServ e ECN. A intenção original era para um nó especificar uma preferência para como os datagramas poderiam ser manuseados assim que circulariam pela rede. Por exemplo, um nó pode definir o campo de valores do seu ToS dos datagramas IPv4 para preferir pequeno desfasamento de tempo, enquanto que outros podem preferir alta confiabilidade. Na prática, o campo ToS não foi largamente implementado. Contudo, trabalho experimental, de pesquisa e desenvolvimento se focou em como fazer uso destes oito bits. Estes bits têm sido redefinidos e mais recentemente através do grupo de trabalho do DiffServ na IETF e pelos pontos de código do Explicit Congestion Notification (ECN) (RFC 3168.)
  • Comprimento (pacote) - o campo de dezesseis bits seguinte do IPv4 define todo o tamanho do datagrama, incluindo cabeçalho e dados, em bytes de oito bits. O datagrama de tamanho mínimo é de vinte bytes e o máximo é 64 Kb. O tamanho máximo do datagrama que qualquer nó requer para estar apto para manusear são 576 bytes, mas os nós mais modernos manuseiam pacotes bem maiores. Por vezes, as subredes impõem restrições no tamanho, em cada caso os datagramas têm que ser "fragmentados". A fragmentação é manuseada quer no nó quer no comutador de pacotes no IPv4, e apenas no nó no caso do IPv6.
  • Identificador - o campo seguinte de dezesseis bits é um campo de identificação. Este campo é usado principalmente para identificar fragmentos identificativos do datagrama IP original. Alguns trabalhos experimentais sugerem usar o campo IP para outros propósitos, tais como adicionar pacotes para levar a informação para datagrama, de forma a que ajude a pesquisar datagramas para trás com endereços fonte falsificados.
  • Flags - o campo de três bits que segue é usado para controlar ou identificar fragmentos.
  • Offset - o campo offset do fragmento tem treze bits, e permite que um receptor determine o local de um fragmento em particular no datagrama IP original.
  • Tempo de vida (TTL) - um campo de oito bits, o TTL (time to live, ou seja, tempo para viver) ajuda a prevenir que os datagramas persistam (ex. andando aos círculos) numa rede. Historicamente, o campo TTL limita a vida de um datagrama em segundos, mas tornou-se num campo de contagem de nós caminhados. Cada comutador de pacotes que um datagrama atravessa decrementa o campo TTL em um valor. Quando o campo TTL chega a zero, o pacote não é seguido por um comutador de pacotes e é descartado.
  • Protocolo - um campo de protocolo de oito bits segue-se, definindo o protocolo seguinte usado numa porção de dados de um datagrama IP. A Internet Assigned Numbers Authority mantém uma lista de números de protocolos. Os protocolos comuns e os seus valores decimais incluem o ICMP (1), o TCP (6).
  • Checksum - o campo seguinte é um campo de verificação para o cabeçalho do datagrama IPv4. Um pacote em trânsito é alterado por cada comutador que atravesse. Um desses comutadores pode comprometer o pacote, e a verificação é uma forma simples de detectar a consistência do cabeçalho. Este valor é ajustado ao longo do caminho e verificado a cada novo nó. Envolve apenas verificação do cabeçalho (não dos dados).
Encapsulamento IP: O endereço de origem no cabeçalho IP indicará a quem deverá ser enviada a resposta do protocolo encapsulado, neste caso o TCP.
  • Endereço de origem/Endereço de destino - a seguir ao campo de verificação, seguem-se os endereço de origem e de destino, de 32 bits cada um. Note que os endereços IPv6 de origem e destino são de 128 bits cada.
  • Opções - Campos do cabeçalho adicionais podem seguir o campo do endereço de destino, mas estes não são normalmente usados. Os campos de opção podem ser seguidos de um campo de caminho que assegura que os dados do utilizador são alinhados numa fronteira de palavras de 32 bits. (No IPv6, as opções movem-se fora do cabeçalho padrão e são especificados pelo campo Next Protocol, semelhante à função do campo "Protocolo" no IPv4).

A seguir, três exemplos de opções que são implementadas e aceitas na maioria dos roteadores:

  • Security (especifica o nível de segurança do datagrama (usado em aplicações militares));
  • Timestamp (Faz com que cada roteador anexe seu endereço e sua marca temporal (32 bits), que serve para depuração de algoritmos de roteamento); e
  • Record route (faz com que cada roteador anexe seu endereço).

Endereçamento IPv4 e encaminhamento

Talvez os aspectos mais complexos do IP sejam o endereçamento e o encaminhamento. O endereçamento define como os endereços IP dos nós finais são atribuídos e como as subredes dos endereços de IP dos nós são divididos e agrupados. O encaminhamento IP é feito por todos os nós, mas mais comumente por roteadores de rede, que tipicamente usam os protocolos IGP ou EGP para ajudar na leitura de datagramas IP que reencaminhem decisões através de IPs em redes ligadas.

Na internet, e nas redes particulares que vemos hoje nas empresas ou mesmo nas residências, o protocolo de comunicação usado pelos computadores chama-se IP - sigla para Internet Protocol. Criado no fim dos anos 70, o protocolo IP tem como "missão" não só fazer dois computadores "conversarem", mas também possibilitar a interligação de duas ou mais redes separadas. Com raríssimas exceções, praticamente todas as redes do mundo acabaram, de uma forma ou de outra, sendo conectadas entre si e foi essa comunhão de redes que acabou formando o que conhecemos hoje por internet (nome que, em português, pode ser traduzido por "inter-redes" ou "redes interligadas").

O protocolo IP possui um esquema de endereçamento parecido com os números de telefone. Assim como qualquer telefone, no mundo todo, é único (considerando o DDD e o código de país), cada computador ligado na internet possui um número único, que é chamado de endereço IP ou número IP. Esse número serve para identificar o computador na internet. Se você precisar conversar com alguém pela internet, basta mandar mensagens endereçadas ao endereço IP do computador da pessoa.

Para que um email da Alice saia de seu computador e chegue ao computador do Beto, por exemplo, é preciso que os dados (no caso, o texto do email) sejam divididos em pacotinhos pequenos (chamados de pacotes IP) que possuem marcados dentro de si o endereço IP de origem (ou seja, o número único do computador da Alice) e o IP de destino (o número único do computador do Beto). A internet "se vira" para encontrar o caminho entre Alice e Beto, sem que nenhum dos dois precise se preocupar com isso.

No entanto, o protocolo IP em sua versão atual (a versão quatro, rotulada como IPv4) já é bastante antiga e tem muitos problemas.[carece de fontes?] Os mais graves são falhas de segurança, que periodicamente são descobertas e não têm solução. [carece de fontes?] A maioria dos ataques contra computadores hoje na internet só é possível devido a falhas no protocolo IP. [carece de fontes?] A nova geração do protocolo IP, o IPv6, resolve grande parte dos problemas de segurança da internet hoje, herdados justamente do projeto antiquado do IPv4.[carece de fontes?]

Mas o IPv4 tem um problema ainda mais premente do que sua inerente insegurança: já esgotou sua capacidade de expansão. Cada computador ligado à internet - seja um computador pessoal, uma estação de trabalho ou um servidor que hospeda um site - precisa de um endereço único que o identifique na rede. O IPv4 define, entre outras coisas importantes para a comunicação entre computadores, que o número IP tem uma extensão de 32 bits. Com 32 bits, o IPv4 tem disponíveis em teoria cerca de quatro bilhões de endereços IP mas, na prática, o que está realmente disponível é menos da metade disso. Se contarmos que o planeta tem seis bilhões de habitantes e que cada dispositivo ligado na internet (o que inclui smartphones, PCs, notebooks e afins) precisa de um número só dele, é fácil perceber que a conta não fecha. Esse número, sendo finito, um dia acaba.

Em cima disso, os endereços IP são "travados" geograficamente. Dois endereços próximos estão necessariamente na mesma cidade ou região. Se considerarmos que cerca de três quartos dos endereços IP disponíveis para a internet estão localizados nos Estados Unidos (mesmo que nunca usados), sobram apenas pouco mais de um bilhão de endereços para o resto do mundo - aumentando ainda mais o problema de escassez.

A entrada dos smartphones e outros dispositivos móveis (que são baratos e extremamente populares) na internet contribuiu para que o número de endereços IP disponíveis seja ainda mais escasso. De fato, algumas previsões pessimistas davam conta de que os endereços IP iriam acabar por completo em 2012, transformando a internet num verdadeiro caos.

O advento do IPv6, com 128 bits, resolveria todos esses problemas. Primeiro, porque dá fim a praticamente todos os buracos de segurança conhecidos do IPv4, tornando as comunicações muitíssimo mais seguras. O IPv6 provavelmente será uma dor de cabeça sem tamanho para os hackers criminosos.

Em segundo lugar, o IPv6 define 128 bits para endereçamento, e portanto conta com cerca de 3,4 × 10^38 endereços disponíveis (ou 340 seguido de 36 zeros). Para quem não quiser fazer a conta, basta saber que são muitos bilhões de quatrilhões de endereços disponíveis, garantindo que não vai faltar números IP para os humanos por milênios.

Pelo "draft" inicial de um documento proposto pelo IETF - Internet Engineering Task Force, órgão responsável pelo desenvolvimento tecnológico da internet, a migração de IPv4 para IPv6 deveria ter começado em algum momento entre 2009 e 2010, com migração total até o fim de 2011. O cronograma ainda está atrasado devido aos vários problemas da completa conversão. Google, Yahoo! e Facebook já começam a adotar o IPv6.

Na Campus Party Brasil de 2011, em sua quarta edição brasileira, realizada em São Paulo, a Telefônica ofereceu aos campuseiros a oportunidade de se conectar à internet com IPv6. A companhia vem testando a tecnologia há dois anos e espera poder oferecê-la aos seus clientes ainda em 2011.[3]

Ver também

Bibliografia

Referências

  1. 1,0 1,1 1,2 Forouzan, Behrouz (2008). Comunicação de Dados e Redes de Computadores 4ª ed. São Paulo: McGraw-Hill. pp. 582–596 
  2. 2,0 2,1 Kurose, James F.; Ross, Keith W. (2013). Redes de computadores e a internet: uma abordagem top-down 6ª ed. São Paulo: Pearson Education do Brasil. pp. 245–247 
  3. Entenda o protocolo IP e a diferença entre IPv4 e IPv6

talvez você goste