Junior — Middle
Πώς πραγματοποιείται η μετατροπή των ονομάτων τομέα σε διευθύνσεις IP μέσα στο σύστημα;
sobes.tech AI
Απάντηση από AI
Η μετατροπή ονομάτων τομέα σε διευθύνσεις IP εντός του συστήματος πραγματοποιείται μέσω της υπηρεσίας DNS (Domain Name System). Όταν μια εφαρμογή ή σύστημα ζητά πρόσβαση σε ένα όνομα τομέα, ακολουθεί η εξής διαδικασία:
- Ελέγχεται η τοπική cache DNS για να δούμε αν υπάρχει ήδη αποθηκευμένη διεύθυνση IP για αυτόν τον τομέα.
- Αν δεν υπάρχει, αποστέλλεται ένα αίτημα στον διακομιστή DNS (συνήθως του παρόχου ή δημόσιου DNS).
- Ο διακομιστής DNS απαντά με την αντίστοιχη διεύθυνση IP.
- Το σύστημα αποθηκεύει αυτήν τη διεύθυνση στην cache για να επιταχύνει μελλοντικά αιτήματα.
Στα λειτουργικά συστήματα, αυτή η διαδικασία υλοποιείται συνήθως μέσω κλήσεων συστήματος, όπως το getaddrinfo σε συστήματα Unix-like.
Παράδειγμα κλήσης σε 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);
}
Έτσι, το DNS λειτουργεί ως μεσάζων μεταξύ των ανθρώπινα αναγνώσιμων ονομάτων τομέα και των αριθμητικών διευθύνσεων IP που απαιτούνται για την δικτυακή επικοινωνία.