Não há um único conjunto * fundamental * de programas que controlem * todas as operações da Internet no nível do hardware do computador. Em vez disso, é uma arquitetura em camadas com diferentes programas e componentes trabalhando juntos. No entanto, alguns elementos fundamentais importantes incluem:
*
o kernel do sistema operacional (OS): Este é o núcleo do sistema operacional. Ele interage diretamente com o hardware, gerenciando recursos como CPU, memória e cartão de interface de rede (NIC). O kernel lida com operações de rede de baixo nível, incluindo recebimento e envio de pacotes de rede. Os exemplos incluem o kernel Linux, o kernel do MacOS e o kernel do Windows.
*
Drivers de interface de rede (NIC): Esses são programas que permitem que o sistema operacional se comunique com o hardware específico da placa de interface de rede. Eles traduzem instruções do sistema operacional em sinais que a NIC entende e vice -versa.
*
implementações de protocolos de rede: A Internet depende de vários protocolos, como o TCP/IP. Esses protocolos são implementados como software no kernel do OS ou como bibliotecas de espaço do usuário. Essas implementações lidam com as tarefas de embalagem de dados em pacotes, roteando pacotes entre redes e garantindo entrega confiável.
*
firmware (BIOS/UEFI): Antes que o sistema operacional seja carregado, o firmware inicializa o hardware e fornece funções básicas, incluindo inicialização de rede de estágio muito inicial (por exemplo, inicialização do PXE). Embora não seja estritamente "programas" no mesmo sentido que o sistema operacional, o firmware é crucial para o processo inicial de configuração e inicialização que permite a conectividade da Internet.
É importante observar que esses componentes trabalham juntos. O kernel do sistema operacional conta com os drivers da NIC para acessar o hardware da rede. As implementações de protocolo de rede no kernel usam os drivers para enviar e receber dados. Todo o processo é complexo e envolve muitas peças que interagem, não apenas um conjunto de programas.