Time To Live (TTL) là gì? Nghe có mùi như sống & chết ấy nhỉ! Ờ, thế mà đúng đấy ạ!

Time-to-live (TTL) trong mạng là gì?

Time to live (TTL) liên quan đến lượng thời gian hoặc “hops” mà một gói tin được thiết lập tồn tại bên trong mạng trước khi nó bị bỏ đi bởi bộ định tuyến (router). TTL cũng được dùng trong caching CDN và DNS caching.

TTL hoạt động như thế nào?

Khi một gói tin được tạo và gửi qua internet, có nguy cơ là nó sẽ tiếp tục được chuyển qua từ bộ định tuyến này đến bộ định tuyến khác một cách vô tận. Để giảm thiểu khả năng này, gói được thiết kế cùng với thời điểm hết hạn gọi là time-to-live hoặc giới hạn hop (hop limit). TTL của gói cũng có thể hữu ích trong việc xác định một gói được lưu hành trong bao lâu, và cho người gửi có khả năng nhận thông tin về quãng đường của gói tin trên internet.

Mỗi gói tin đều có một vùng để nó lưu một giá trị số xác định nó được phép tiếp tục lưu chuyển qua mạng bao lâu nữa. Mỗi khi bộ định tuyến nhận một gói tin, nó trừ đi một từ bộ đếm TTL và sau đó chuyển nó đến địa điểm kế tiếp trong hệ thống mạng. Nếu ở bất cứ điểm nào bộ đếm TTL có giá trị bằng không sau khi đã trừ bớt, bộ định tuyến sẽ bỏ đi gói tin và gửi thông báo ICMP quay trở lại hosting gốc.

Các câu lệnh mạng thường dùng là ping & traceroute đều sử dụng TTL. Khi sử dụng lệnh traceroute, một luồng các gói tin với trình tự TTL ngày càng tăng được gửi qua Internet hướng đến đích. Vì mỗi bước dọc theo kết nối là điểm dừng cuối cho một trong các gói, mỗi vị trí sẽ trả về thông điệp ICMP cho bên gửi để xác định xem mất bao lâu để đi đến mỗi bước nhảy (hop) liên tiếp dọc theo mạng.

Time to live của gói tin khi đi qua các bộ định tuyến

Time to live được sử dụng trong các hoàn cảnh nào?

Ngoài chuyện được dùng để truy tìm tuyến đường mà gói tin đi qua trên Internet, time-to-live cũng được sử dụng trong bối cảnh thiết lập một khoảng thời gian nhất định cho thông tin caching. Thay vì đo thời gian trong các hop giữa các bộ định tuyến, mỗi cái trong số đó có thể mất một lượng thời gian khác nhau, một số mạng sử dụng theo kiểu truyền thống nhiều hơn.

Mạng CDN như Cloudflare thường sử dụng TTL để xác định xem nội dung đã được cache bao lâu rồi từ máy chủ biên CDN trước khi nó cần một bản sao chép mới được tìm nạp (fetch) từ máy chủ gốc. Bằng cách cài đặt chính xác lượng thời gian giữa các lần kéo (pull) thông tin từ máy chủ gốc, mạng CDN có khả năng cập nhật nội dung mà không cần phải liên tục gọi đến máy chủ gốc. Biện pháp tối ưu hoá này cho phép CDN phục vụ nội dung hiệu quả hơn nhờ chuyển thông tin đến gần người dùng, đồng thời nó cũng giúp giảm băng thông cho máy chủ gốc.

Trong bối cảnh các bản ghi DNS, TTL là giá trị số giúp xác định thời gian cache của máy chủ DNS gửi các bản ghi DNS trước khi phải lấy lại thông tin từ máy chủ DNS có thẩm quyền (authoritative DNS server) và lấy bản sao mới của bản ghi từ đó.

(Dịch từ bài viết What is time-to-live (TTL)? | TTL definition của Cloudflare)

Viết một bình luận