Com a infinidade de computadores espalhados pela Internet, diversos fabricantes, várias plataformas e sistemas operacionais diferentes foi necessário um protocolo padrão para a comunicação entre essas máquinas. O protocolo IP (Internet Protocol) é usado para a comunicação e transferência de dados entre todas as máquinas em rede.

Responsabilidades

O protocolo IP permite a elaboração e o transporte dos pacotes de dados, mas não assegura a “entrega” dos mesmos. Esse protocolo trata os datagramas IP independentemente uns dos outro, definindo a sua representação, o seu encaminhamento e a sua expedição.

Os pacotes são blocos de informações enviados na Internet e são divididos em duas partes:

  • Cabeçalho: possui as informações de endereçamento do conteúdo;
  • Dados: conteúdo a ser transmitido.

Na imagem abaixo temos um esquema do cabeçalho do protocolo IP:

Observa-se que o cabeçalho possui os campos abaixo:

  • Versão: Indica a versão corrente do protocolo, garante que o transmissor, o receptor e os gateways intermediários estejam de acordo em relação ao formato do protocolo;
  • Tamanho do Cabeçalho: Define o tamanho do header e é medido em número de palavras de 32 bits;
  • Tamanho Total: Define o tamanho do pacote, sendo expresso em número de bytes, caso o pacote esteja fragmentado o campo indica o tamanho do fragmento e não do pacote original;
  • Endereço de origem e destino: são os endereços IP de origem e de destino do datagrama. É com base no endereço de destino que o pacote é roteado pelo IP, esses campos não são alterados durante a transmissão.
  • Protocolo: Número do protocolo que está sendo encapsulado no pacote IP;
  • Checksum: proteção básica contra a corrupção de dados durante a transmissão;
  • TOS: Contém informações de qualidade de serviço que podem afetar a maneira como o pacote é roteado;
  • TTL: Tempo de vida do pacote;
  • Offset: Processo de divisão de um datagrama em unidades menores, denominados de fragmentos;
  • Identificação: É uma identificação para o pacote. O transmissor atribui este valor ao pacote original.

Características

  • Não existe reconhecimento de pacotes;
  • Não existe nenhum mecanismo de controle de fluxo;
  • Não existe sequenciamento de pacotes;
  • Realiza a fragmentação e a remontagem de pacotes;

Apesar do serviço não dar garantias de entrega e não possuir confirmação de recebimento de dados, não foi proposto ainda um modelo que entregue essas funcionalidades e que tenha performance.