Time to live

Η έκφραση **Time to live (TTL)** *(Χρόνος ζωής)* χρησιμοποιείται στην πληροφορική για να δηλώσει το χρονικό διάστημα ή των αριθμό των κόμβων από τους οποίους πρέπει να περάσει κάποιο πακέτο πριν απορριφθεί από το δίκτυο. Οι κυριότερες χρήσεις του είναι στα πακέτα IP και στις καταχωρήσεις των διαφόρων διακομιστών DNS.

## IP πακέτα
Στην κεφαλίδα (header) των πακέτων IP υπάρχει ένα ξεχωριστό πεδίο μεγέθους 8 bits στο οποίο αναγράφεται η τιμή του χρόνου Time to live. Ο χρόνος αυτός καθορίζει ουσιαστικά το μέγιστο διάστημα για το οποίο το πακέτο επιτρέπεται να βρίσκεται μέσα στο δίκτυο υπολογιστών. Η τιμή αυτή καθορίζεται από τον αποστολέα του πακέτου και μειώνεται σε κάθε κόμβο από τον οποίο περνάει το πακέτο μέχρι να φτάσει στον προορισμό του. Εάν ο χρόνος ζωής μηδενιστεί πριν το πακέτο φτάσει στον παραλήπτη, τότε ο κόμβος το απορρίπτει και στέλνει στον αποστολέα ένα πακέτο λάθους ICMP (κωδικός 11 - Time Exceeded).

Ο κύριος λόγος ύπαρξης του TTL είναι για να διασφαλίσει ότι κάποιο πακέτο δεν θα περιφέρεται συνεχώς από κόμβο σε κόμβο επειδή ο παραλήπτης του δεν μπορεί να βρεθεί. Εάν δεν υπήρχε, τότε οι κόμβοι του δικτύου θα γέμιζαν από τέτοια πακέτα με αποτέλεσμα το δίκτυο να σταματήσει την σωστή λειτουργία του και να παγώσει.

Θεωρητικά, το πεδίο TTL περιέχει το χρονικό διάστημα σε δευτερόλεπτα μέσα στο οποίο θα πρέπει το πακέτο να έχει παραδοθεί. Πρακτικά όμως, κάθε κόμβος του δικτύου στον οποίο φτάνει το πακέτο, μειώνει την τιμή του πεδίου κατά μία μονάδα. Άρα λοιπόν πρακτικά το πεδίο αυτό περιέχει τον μέγιστο αριθμό κόμβων από τους οποίους πρέπει να περάσει το πακέτο έως ότου τελικά παραδοθεί στον παραλήπτη. Στο νέο πρωτόκολλο IPv6, το πεδίο αυτό ονομάζεται hop limit αντί για Time to live.

Η εντολή traceroute στο Unix και η παρόμοια εντολή tracert στα Windows χρησιμοποιεί το πεδίο TTL για να παρουσιάσει στον χρήστη τον αριθμό και την ταυτότητα των κόμβων από τους οποίους περνάει το πακέτο του μέχρι να φτάσει στον τελικό προορισμό.

## Καταχωρήσεις DNS
''Δείτε επίσης το άρθρο Domain Name System.

Η έννοια Time to live χρησιμοποιείται επίσης σε διάφορους DNS servers. Ένας DNS server χρησιμοποιείται για να μεταφράσει το όνομα κάποιου ηλεκτρονικού υπολογιστή στην διεύθυνση IP του. Για παράδειγμα το όνομα el.wikipedia.org μεταφράζεται στην διεύθυνση IP 145.97.39.155. Όταν κάποιος DNS server δεν γνωρίζει την IP στην οποία αντιστοιχεί κάποιο όνομα, τότε ρωτάει τον DNS server που βρίσκεται από πάνω του στην ιεραρχία των DNS server. Όταν αυτός του απαντήσει, τότε ο DNS server δημιουργεί μία προσωρινή καταχώρηση, της οποίας ο χρόνος ζωής ονομάζεται TTL. Αυτό γίνεται ούτως ώστε εάν άλλοι χρήστες ζητήσουν μετάφραση του ίδιου ονόματος, να μην χρειαστεί να ρωτήσει πάλι τον ανώτερο DNS server.

Στην περίπτωση αυτή, εάν ο χρόνος TTL είναι μικρός, τότε ενδέχεται ο ανώτερος DNS server να υπερφορτωθεί με αιτήσεις. Αντιθέτως, εάν ο χρόνος TTL είναι πολύ μεγάλος, τότε μπορεί η μετάφραση να αλλάξει και ο DNS server να δίνει στους χρήστες λανθασμένη διεύθυνση IP. Άρα λοιπόν θα πρέπει η τιμή TTL να καθοριστεί πολύ προσεκτικά.

## Δείτε επίσης
* IP
* DNS
* ping
* traceroute

## Εξωτερικοί σύνδεσμοι
Μία λίστα με τις τιμές TTL για τα διάφορα λειτουργικά συστήματα.

Κατηγορία:Αρχιτεκτονική διαδικτύου
Κατηγορία:Πρωτόκολλα του ίντερνετ