Junior — Middle
Como é que a conversão de nomes de domínio em endereços IP é realizada dentro do sistema?
sobes.tech IA
Resposta da IA
A conversão de nomes de domínio em endereços IP dentro do sistema é realizada através do serviço DNS (Domain Name System). Quando uma aplicação ou sistema solicita acesso a um nome de domínio, o seguinte processo ocorre:
- Verifica-se o cache DNS local para ver se já existe um endereço IP guardado para esse domínio.
- Se não estiver no cache, uma requisição é enviada ao servidor DNS (geralmente do provedor ou um DNS público).
- O servidor DNS responde com o endereço IP correspondente.
- O sistema armazena esse endereço no cache para acelerar futuras requisições.
Nos sistemas operacionais, esse processo geralmente é implementado através de chamadas ao sistema, como getaddrinfo em sistemas Unix-like.
Exemplo de chamada em C:
struct addrinfo hints, *res;
memset(&hints, 0, sizeof(hints));
hints.ai_family = AF_INET; // IPv4
int err = getaddrinfo("example.com", NULL, &hints, &res);
if (err == 0) {
struct sockaddr_in *addr = (struct sockaddr_in *)res->ai_addr;
printf("IP: %s\n", inet_ntoa(addr->sin_addr));
freeaddrinfo(res);
}
Assim, o DNS atua como intermediário entre nomes de domínio legíveis e endereços IP numéricos necessários para interação em rede.