O protocolo IP

Junho 2017

O que é e qual a função do protocolo IP

O protocolo IP (Internet Protocol e, em português, Protocolo da Internet), faz parte da camada Internet da sequência de protocolos TCP/IP. Ele é um dos protocolos mais importantes da Internet, porque permite a elaboração e o transporte dos datagramas IP (os pacotes de dados) sem, contudo, assegurar a entrega dos pacotes de dados. O protocolo IP trata os datagramas IP independentemente, definindo a sua representação, seu encaminhamento e seu envio.

O protocolo IP determina o destinatário da mensagem graças a três campos, quais sejam o campo endereço IP, que é o endereço do computador, o campo máscara de sub-rede, que permite ao endereço IP determinar a parte do endereço que se refere à rede e o campo gateway estreita por padrão, que permite ao protocolo Internet saber qual o computador que vai receber o datagrama, caso o computador de destino não esteja na rede local.

O que é um datagrama

Os dados circulam na Internet na forma de datagramas (fala-se também de pacotes de dados). Os datagramas são dados encapsulados, ou seja, são dados aos quais se acrescentaram cabeçalhos que correspondem a informações sobre o seu transporte (como o endereço IP de destino). Os dados contidos nos datagramas são analisados (e eventualmente alterados) pelos switches (roteadores) que permitem o seu trânsito.

Como o datagrama aparece

32 bits

Versão
(4 bits)

Comprimento de cabeçalho
(4 bits)

Tipo de serviço
(8 bits)

Comprimento total
(16 bits)

Identificação
(16 bits)

Bandeira
(3 bits)

Desfasamento de fragmento
(13 bits)

Duração de vida
(8 bits)

Protocolo
(8 bits)

Soma de controle cabeçalho
(16 bits)

Endereço IP de origem (32 bits)

Endereço IP de destino (32 bits)

Dados

O que significam os campos no protocolo IP

Os campos do Protocolo IP são:


Versão (4bits): trata-se da versão do protocolo IP utilizada (atualmente utiliza-se a versão 4 IPv4) para verificar a validade do datagrama. Ela é codificada em 4 bits.

Comprimento de cabeçalho ou IHL (Internet Header Length (4 bits) e, em português Comprimento do cabeçalho da Internet): trata-se do número de palavras de 32 bits que constitua o cabeçalho (o valor mínimo é 5). Este campo é codificado em 4 bits.

Tipo de serviço (8 bits): indica a maneira segundo a qual o datagrama deve ser tratado.

Comprimento total (16 bits): indica a dimensão total do datagrama em bytes. A dimensão deste campo é de 2 bytes, a dimensão total da datagrama não pode exceder 65.536 bytes. Utilizado juntamente com a dimensão do cabeçalho, este campo permite determinar onde estão situados os dados.

Identificação, bandeiras (flags) e deslocamento de fragmento são campos que permitem a fragmentação dos datagramas, e que serão explicados abaixo.

Tempo de vida também chamado de TTL (Time To Live (8 bits) e, em português, Tempo de vida): este campo indica o número máximo de switches (roteadores) através dos quais o datagrama pode passar. Assim, este campo é reduzido a cada passagem no roteador, quando este atinge o valor crítico de 0, o roteador destrói o datagrama. Isto evita o congestionamento da rede pelos datagramas perdidos.

Protocolo (8 bits): este campo, em codificação decimal, permite saber de que protocolo procede o datagrama. Alguns tipos de protocolo e seus respectivos códigos são ICMP (1), IGMP (2), TCP (6) e UDP (17).

A Soma de controle do cabeçalho (header checksum 16 bits): este campo contém um valor codificado de 16 bits, que permite controlar a integridade do cabeçalho a fim de determinar se este não foi alterado durante a transmissão. A soma de controle é o complemento de todas as palavras de 16 bits do cabeçalho (campo soma de controle excluído). Isto é feito para que, quando for feita a soma dos campos do cabeçalho (soma de controlo incluída), seja obtido um número com todos os bits posicionados em 1.

Endereço IP de origem ou fonte (32 bits): este campo representa o endereço IP do computador emissor e permite que o destinatário responda.

Endereço IP de destino (32 bits): endereço IP do destinatário da mensagem.

Por que o datagrama IP é fragmentado

Como vimos anteriormente, a dimensão máxima de um datagrama é de 65.536 bytes. Contudo, este valor nunca é atingido, porque as redes não têm capacidade suficiente para enviar pacotes tão grandes. Além disso, as redes na Internet utilizam diferentes tecnologias, de modo que a dimensão máxima de um datagrama varia de acordo com o tipo de rede. A dimensão máxima de uma trama chama-se MTU (Maximum Transfer unit e, em português, Unidade de Transferência Máxima), que provocará a fragmentação do datagrama, se este tiver uma dimensão maior do que a MTU da rede:


Tipo de redeMTU (em bytes)
Arpanet1000
Ethernet1500
FDDI4470


A fragmentação de um datagrama é feita com os roteadores, ou seja, durante a transição de uma rede cuja MTU é considerável para uma rede cuja MTU é mais fraca. Se o datagrama for demasiado grande para passar na rede, o roteador vai fragmentá-lo, ou seja, recortá-lo em fragmentos de dimensões inferiores ao MTU da rede e de modo que a dimensão do fragmento seja um múltiplo de 8 bytes:


Em seguida, o roteador vai enviar estes fragmentos de maneira independente e encapsulá-los novamente (acrescentar um cabeçalho a cada fragmento) de modo a ter nova dimensão do fragmento. Além disso, o roteador acrescenta informações para que o computador de destino possa remontar os fragmentos corretamente. Nada impede, contudo, que os fragmentos cheguem na ordem correta, já que são encaminhados independentemente uns dos outros.

Para poder dar conta da fragmentação, cada datagrama possui vários campos que permitem que ele seja remontado, ou seja, o campo de deslocamento de fragmento (13 bits) que é o campo que permite conhecer a posição do início do fragmento no datagrama inicial. A unidade de medida deste campo é de 8 bytes (o primeiro fragmento tendo um valor igual a zero); o campo de identificação (16 bits) para o número atribuído a cada fragmento para permitir que seja remontado; o campo do comprimento total (16 bits) calculado novamente para cada fragmento; o campo da bandeira (3 bits) composto de três bits. O primeiro não é utilizado. O segundo (chamado DF - 'Don' t Fragment') - Não fragmentar indica se o datagrama pode ser fragmentado ou não. Se por acaso um datagrama tem este bit posicionado em 1 e o roteador não pode encaminhá-lo sem fragmentá-lo, então o datagrama é rejeitado com uma mensagem de erro. O último (designado MF - 'More Fragments' - Mais fragmentos indica se o datagrama for um de dado (1). Se o indicador estiver em zero, isso significa que o fragmento é o último ou que o datagrama não foi alvo de uma fragmentação.

Como se faz a codificação IP

A codificação IP faz parte da camada IP da sequência TCP/IP. Ela visa garantir o encaminhamento de um datagrama IP através de uma rede, tomando o caminho mais curto. Esta função é garantida por máquinas chamadas roteadores, ou seja, máquinas conectadas, que ligam, pelo menos, duas redes.

Para mais informações, consulte o RFC 791, que explica de maneira detalhada o protocolo IP.

Veja também


IP protocol
IP protocol
Protocolo IP
Protocolo IP
Das IP Protokoll
Das IP Protokoll
Le protocole IP
Le protocole IP
Il protocollo IP
Il protocollo IP
Última modificação: 7 de abril de 2017 às 12:42 por Pedro.Saude.
Este documento, intitulado 'O protocolo IP', está disponível sob a licença Creative Commons. Você pode copiar e/ou modificar o conteúdo desta página com base nas condições estipuladas pela licença. Não se esqueça de creditar o CCM (br.ccm.net) ao utilizar este artigo.