1 pontos por GN⁺ 2025-03-05 | Ainda não há comentários. | Compartilhar no WhatsApp
  • Implementação da pilha TCP/IP

    • Implementar uma pilha TCP/IP por conta própria pode parecer uma tarefa complexa.
    • As especificações centrais do TCP consistem em análise do cabeçalho TCP, máquina de estados, controle de congestionamento e cálculo de tempo limite de retransmissão.
    • Nesta série de blog, será implementada uma pilha TCP/IP mínima em espaço de usuário no Linux.
    • O objetivo deste post e do software é educacional, para aprender mais profundamente sobre programação de redes e de sistemas.
  • Dispositivo TUN/TAP

    • Um dispositivo TAP é usado para interceptar tráfego de rede de baixo nível no kernel Linux.
    • Dispositivos TUN/TAP são fáceis de configurar em programas de espaço de usuário e são usados em vários programas, como o OpenVPN.
    • Com um dispositivo TAP, é possível ler e escrever dados em buffers Ethernet.
  • Formato do quadro Ethernet

    • Ethernet é a base de várias tecnologias de rede que conectam computadores em uma LAN.
    • O padrão Ethernet evoluiu bastante desde sua primeira publicação em 1980.
    • O cabeçalho do quadro Ethernet pode ser declarado como uma estrutura em C e inclui os campos DMAC, SMAC, Ethertype e payload.
  • Análise de quadros Ethernet

    • O atributo packed é usado para evitar que o compilador GNU C otimize o layout de memória da estrutura.
    • O cenário completo de análise e processamento de um quadro Ethernet é simples.
  • Protocolo de Resolução de Endereços (ARP)

    • O ARP é usado para mapear dinamicamente endereços Ethernet de 48 bits para endereços de protocolo.
    • O formato do pacote ARP é relativamente simples e inclui os campos tipo de hardware, tipo de protocolo, tamanho do hardware, tamanho do protocolo, opcode e dados.
  • Algoritmo de resolução de endereços

    • Uma translation table é usada para armazenar os resultados do ARP e evitar solicitações ARP duplicadas.
    • O teste final da implementação de ARP é verificar se ela responde corretamente a solicitações ARP.
  • Conclusão

    • A implementação mínima de processamento de quadros Ethernet e ARP é relativamente fácil e pode ser feita com algumas linhas de código.
    • O código-fonte do projeto pode ser visto no GitHub.
    • No próximo post, a implementação continuará com echo e resposta ICMP (ping) e análise de pacotes IPv4.

Ainda não há comentários.

Ainda não há comentários.