Tem como principais funcionalidades o encaminhamento de pacotes, endereçamento, interconexões de redes, tratamento de erros, fragmentações de pacotes, controle de congestionamento e sequenciamento de pacotes.

O endereçamento de pacotes é a conversão de endereços lógicos em endereços físicos, além de determinar a rota que os pacotes seguirão para atingir o destino, com base me fatores como condições de tráfego da rede e prioridades.

Essa camada é usada quando a comunicação entre dois equipamentos ocorre em mais de um segmento da rede, quando houver mais de um caminho pelo qual o pacote pode trafegar.

Protocolo IPV4

O protocolo IP é responsável pela comunicação entre os computadores pertencentes a rede TCP/IP lógicas diferentes, ele provê um serviço sem conexão e não confiável entre equipamento em uma estrutura de rede.

São as camadas de aplicação e transporte que determinam a arquitetura de conexão que será usada. A camada de rede usa o protocolo IP para atribuir um esquema de endereçamento e a capacidade de rotear e tomar decisões sobre o caminho que os pacotes devem percorrer.

Cabeçalho

Untitled

Versão (4 bits): identifica a versão usada.

Comprimento do Cabeçalho (4 bits): especifica o tamanho do cabeçalho IP.

Tipo de serviço (8 bits): campo com o objetivo de tratar os pacotes e fornecer informações para prover funcionalidades de QoS. Essa função não é comumente usada, sendo substituída pelo DS (Differentiated Services).

Comprimento total (16 bits): especifica o tamanho total do pacote IP. O tamanho não ultrapassa os 65,535 bytes (16 bits).

Identificação (16 bits): possui um valor comum a todos os fragmentos de uma mensagem em particular. Para os pacotes enviados originalmente sem fragmentação, caso tenham que ser fragmentados até o destino, possuirão o mesmo valor de identificação para que sejam remontados no destino.

Flags (3 bits): marcações feitas para tratar fragmentação, atribuídos da seguinte forma:

Primeiro bit: não usado.

Segundo bit: Don’t Fragment - quando ele possuir o valor 1, nunca deverá ser fragmentado. Muito usado para testar o MTU (Maximum Transmission Unit) de uma rede.

Terceiro bit: More Fragments - quando possui o valor 0, ele é o último fragmento da mensagem, quando possui valor 1, significa que mais fragmentos ainda estão por vir.

Tempo de vida (8 bits): indica o tempo máximo que o pacote pode trafegar na rede. O tempo é medido em saltos, que correspondem aos roteadores que o pacote passou. Cada salto decrementa um TTL (Time To Live) e quando chega em 0, o pacote é descartado, pois provavelmente ocorreu algum loop no processo.

Deslocamento do fragmento (13 bits): indica a posição do fragmento em relação a toda mensagem. O primeiro fragmento terá valor 0, o segundo terá o tamanho do primeiro (em bytes) mais 1, e assim por diante.

Protocolo (8 bits): identifica o protocolo da camada de transporte ou encapsulamento da camada de rede, como o TCP ou UDP.

Checksun do cabeçalho (16 bits): checa o cabeçalho IP para certificar que não houve erros na transmissão.