* El kernel del sistema operativo (OS): Este es el núcleo del sistema operativo. Interactúa directamente con el hardware, administrando recursos como la CPU, la memoria y la tarjeta de interfaz de red (NIC). El kernel maneja las operaciones de red de bajo nivel, incluida la recepción y el envío de paquetes de red. Los ejemplos incluyen el kernel de Linux, el kernel macOS y el kernel de Windows.
* Controladores de tarjeta de interfaz de red (NIC): Estos son programas que permiten que el sistema operativo se comunique con el hardware específico de la tarjeta de interfaz de red. Traducen las instrucciones del sistema operativo en señales que la NIC entiende, y viceversa.
* Implementaciones de protocolos de red: Internet se basa en varios protocolos como TCP/IP. Estos protocolos se implementan como software dentro del kernel del sistema operativo o como bibliotecas del espacio de usuario. Estas implementaciones manejan las tareas de los datos de empaquetado en paquetes, enrutando paquetes en redes y garantizando una entrega confiable.
* firmware (BIOS/UEFI): Antes de que el sistema operativo se cargue, el firmware inicializa el hardware y proporciona funciones básicas, que incluyen el arranque de la red de la etapa muy temprana (por ejemplo, arranque PXE). Si bien no son estrictamente "programas" en el mismo sentido que el sistema operativo, el firmware es crucial para el proceso inicial de configuración y arranque que permite la conectividad a Internet.
Es importante tener en cuenta que estos componentes funcionan juntos. El kernel del sistema operativo se basa en los controladores NIC para acceder al hardware de la red. Las implementaciones del protocolo de red dentro del kernel usan los controladores para enviar y recibir datos. Todo el proceso es complejo e implica muchas piezas que interactúan, no solo un solo conjunto de programas.