Quando um host recebe um pacote, uma série de eventos se desenrola, geralmente envolvendo a placa de interface de rede (NIC), o sistema operacional (OS) e potencialmente aplicativos. Aqui está um colapso:
1. Recepção física: *
Nic recebe o pacote: A NIC recebe o sinal físico que carrega o pacote. Isso envolve a conversão do sinal elétrico ou óptico em bits.
*
Verifique se há erros: A NIC realiza uma verificação de soma de verificação para detectar erros durante a transmissão. Se erros significativos forem detectados, o pacote poderá ser descartado.
2. Processamento de camada de link de dados: *
MAC Endereço Verificação: A NIC examina o endereço MAC de destino no cabeçalho do quadro Ethernet (ou equivalente a outras tecnologias de link de dados). Se o endereço MAC corresponder ao próprio endereço MAC do host (ou se o endereço for um endereço de transmissão/multicast aplicável ao host), o pacote será aceito. Caso contrário, é descartado.
* Remoção de quadros
: A NIC remove o cabeçalho e o trailer da camada de link de dados, deixando apenas o pacote de camada de rede.
3. Processamento da camada de rede: *
Verificação de endereço IP: A pilha de rede do sistema operacional examina o endereço IP de destino no cabeçalho do pacote IP. Uma decisão de roteamento é tomada, mas como o pacote já foi recebido, esse roteamento é principalmente para determinar para onde o pacote deve ir * a seguir * dentro do sistema. Se o endereço IP estiver destinado ao próprio host, ele continuará processando.
*
Processamento do cabeçalho IP: Outros componentes do cabeçalho IP são examinados, incluindo o campo do protocolo, que indica o protocolo da camada superior (por exemplo, TCP, UDP, ICMP). A soma de verificação também é verificada.
4. Processamento da camada de transporte (se aplicável): *
Verificação da porta: Se o protocolo da camada superior for TCP ou UDP, o sistema operacional examinará o número da porta de destino no cabeçalho TCP/UDP. Isso identifica o processo de aplicação específico para o qual o pacote é destinado.
*
remontagem de segmento (TCP): Para o TCP, se o pacote fizer parte de uma mensagem maior, ele será remontado em seu formulário completo. O TCP também lida com a verificação de erros, controle de fluxo e ordenação de segmentos.
*
Verificação de soma de verificação (TCP/UDP): A verificação da soma de verificação é realizada para garantir a integridade dos dados.
5. Processamento da camada de aplicação: *
Entrega de pacotes: Depois que o pacote é totalmente processado pela camada de transporte, ele é entregue ao aplicativo apropriado. Isso envolve copiar os dados do espaço do kernel para o espaço do usuário em que o aplicativo está em execução.
*
Processamento específico do aplicativo: O aplicativo processa os dados de acordo com seu design.
6. Agradecimentos (para alguns protocolos): *
reconhecimento TCP: No TCP, um pacote de reconhecimento (ACK) é enviado de volta ao remetente para confirmar o recibo.
Resultados potenciais: *
Entrega bem -sucedida: O pacote é processado com sucesso e os dados são entregues no aplicativo pretendido.
*
Drop do pacote: O pacote pode ser descartado em qualquer estágio devido a erros, limitações de recursos ou endereçamento incorreto.
*
Notificação de erro: O sistema operacional pode gerar uma mensagem de erro ICMP (por exemplo, ICMP Destination inactable) se não puder entregar o pacote.
Esta é uma visão geral simplificada. Os detalhes exatos podem variar dependendo do sistema operacional, hardware de rede e protocolos específicos envolvidos. Além disso, aspectos como firewalls e sistemas de detecção de intrusões também podem interceptar e processar pacotes antes de atingirem a camada de aplicação.