Sobes.tech
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:

  1. Verifica-se o cache DNS local para ver se já existe um endereço IP guardado para esse domínio.
  2. Se não estiver no cache, uma requisição é enviada ao servidor DNS (geralmente do provedor ou um DNS público).
  3. O servidor DNS responde com o endereço IP correspondente.
  4. 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.