1 puntos por GN⁺ 2025-03-05 | Aún no hay comentarios. | Compartir por WhatsApp
  • Implementación del stack TCP/IP

    • Implementar directamente un stack TCP/IP puede parecer una tarea compleja.
    • La especificación central de TCP se compone del análisis del encabezado TCP, la máquina de estados, el control de congestión y el cálculo del tiempo de espera de retransmisión.
    • En esta serie de blog, se implementará un stack TCP/IP mínimo en espacio de usuario sobre Linux.
    • El propósito de esta publicación y del software es educativo, para aprender con mayor profundidad sobre redes y programación de sistemas.
  • Dispositivo TUN/TAP

    • Se usa un dispositivo TAP para interceptar tráfico de red de bajo nivel en el kernel de Linux.
    • Los dispositivos TUN/TAP son fáciles de configurar desde programas en espacio de usuario y se usan en varios programas como OpenVPN.
    • Con un dispositivo TAP se puede leer y escribir datos en búferes Ethernet.
  • Formato de trama Ethernet

    • Ethernet es la base de varias tecnologías de red que conectan computadoras en una LAN.
    • El estándar Ethernet ha evolucionado mucho desde que se publicó por primera vez en 1980.
    • El encabezado de una trama Ethernet puede declararse como una estructura en C e incluye los campos DMAC, SMAC, Ethertype y payload.
  • Análisis de tramas Ethernet

    • Se usa el atributo packed para evitar que el compilador GNU C optimice la disposición de memoria de la estructura.
    • El escenario completo para analizar y procesar tramas Ethernet es simple.
  • Protocolo de resolución de direcciones (ARP)

    • ARP se usa para mapear dinámicamente direcciones Ethernet de 48 bits a direcciones de protocolo.
    • El formato de paquete ARP es relativamente simple e incluye tipo de hardware, tipo de protocolo, tamaño de hardware, tamaño de protocolo, opcode y campos de datos.
  • Algoritmo de resolución de direcciones

    • Para almacenar los resultados de ARP se usa una translation table, con el fin de evitar solicitudes ARP duplicadas.
    • La prueba definitiva de la implementación de ARP es verificar si responde correctamente a las solicitudes ARP.
  • Conclusión

    • La implementación mínima del procesamiento de tramas Ethernet y ARP es relativamente sencilla y puede hacerse con unas cuantas líneas de código.
    • El código fuente del proyecto puede consultarse en GitHub.
    • En la siguiente publicación se continuará con la implementación de eco y respuesta ICMP (ping), así como con el análisis de paquetes IPv4.

Aún no hay comentarios.

Aún no hay comentarios.