Protocolo de Internet: diferenças entre revisões

Conteúdo apagado Conteúdo adicionado
m Foram revertidas as edições de 200.223.204.170 para a última revisão de 189.71.97.95, de 18h54min de 19 de novembro de 2015 (UTC)
Profvalente (discussão | contribs)
Linha 52:
|}
 
* '''Versão''' - o primeiro campo do cabeçalho de um [[datagrama]] IPv4 é o campo de versão, com quatro bits.
* '''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) com o número de palavras de 32 bits no cabeçalho IPv4. Como o cabeçalho IPv4 pode conter um número variável de opções, este campo essencialmente especifica o ''offset'' para a porção de dados de um datagrama IPv4. Um cabeçalho mínimo tem vinte bytes de comprimento, logo o valor mínimo em decimal no campo IHL seria cinco.
* '''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.)
* Tamanho'''Comprimento total(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 [[subrede]]s 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).
 
== Endereçamento IPv4 e encaminhamento ==