Cloudflare:網(wǎng)絡(luò)中的生存時間 (TTL) 是什么?

來源: Cloudflare
作者:Cloudflare
時間:2021-01-25
18477
生存時間 (TTL) 是指數(shù)據(jù)包在被路由器丟棄之前可存在于網(wǎng)絡(luò)內(nèi)部的時間或“躍點”數(shù)。TTL 還用于其他上下文中,包括 CDN 緩存和 DNS 緩存。

網(wǎng)絡(luò)中的生存時間 (TTL) 是什么?

生存時間 (TTL) 是指數(shù)據(jù)包在被路由器丟棄之前可存在于網(wǎng)絡(luò)內(nèi)部的時間或“躍點”數(shù)。TTL 還用于其他上下文中,包括 CDN 緩存和 DNS 緩存。

TTL 的工作原理

信息數(shù)據(jù)包被創(chuàng)建并通過 Internet 發(fā)送時,有可能持續(xù)無限期地在路由器之間傳遞。為了減輕這種可能性,數(shù)據(jù)包在設(shè)計時帶有稱為生存時間或躍點限制的到期時間。數(shù)據(jù)包 TTL 可用于確定數(shù)據(jù)包已流通多長時間,并允許發(fā)送方通過 Internet 接收有關(guān)數(shù)據(jù)包路徑的信息。

每個數(shù)據(jù)包都有一個位置存儲數(shù)值,該數(shù)值確定數(shù)據(jù)包應(yīng)繼續(xù)在網(wǎng)絡(luò)中移動的時間。路由器每次接收到一個數(shù)據(jù)包,都會從 TTL 計數(shù)中減一,然后將其傳遞到網(wǎng)絡(luò)中的下一個位置。如果在減去后的任意時間,TTL 計數(shù)等于零,則路由器將丟棄該數(shù)據(jù)包并將 ICMP 消息發(fā)回給原始主機。

常用的網(wǎng)絡(luò)命令 ping 和 traceroute 都使用 TTL。使用 traceroute 命令時,一串剩余計數(shù)越來越高的 TTL 的數(shù)據(jù)包流將通過 Internet 發(fā)送到目的地。由于連接的每一步都是其中一個數(shù)據(jù)包的最后一站,因此每個位置都會在丟棄數(shù)據(jù)包后向發(fā)送方返回 ICMP 消息。然后,ICMP 消息返回到發(fā)送方所花費的時間就可以用于確定到達網(wǎng)絡(luò)上每個連續(xù)躍點所花費的時間。

icmp-traceroute-diagram.png

TTL 還用于什么情況?

除了在 Internet 上跟蹤路由數(shù)據(jù)包外,生存時間還用于在一定時間內(nèi)緩存信息。某些網(wǎng)絡(luò)用例以更傳統(tǒng)的方式運行,而不是測量路由器之間的跳躍時間(每次跳躍之間的時間可能不同)。

Cloudflare CDN 這樣的 CDN 通常使用 TTL 來確定在從源站獲取新副本之前,應(yīng)從 CDN 邊緣服務(wù)器提供多長時間的緩存內(nèi)容。通過正確設(shè)置源站獲取之間的時間量,CDN 能夠提供更新的內(nèi)容,而無需將請求不斷傳播回源站。這種優(yōu)化使 CDN 可以有效地從更靠近用戶的位置提供內(nèi)容,同時減少從源站開始所需的帶寬。

在 DNS 記錄的環(huán)境中,TTL 是一個數(shù)值,它確定 DNS 緩存服務(wù)器在連接到權(quán)威性 DNS 服務(wù)器并獲取記錄的新副本之前可以為 DNS 記錄提供服務(wù)的時間。

立即登錄,閱讀全文
版權(quán)說明:
本文內(nèi)容來自于Cloudflare,本站不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。文章內(nèi)容系作者個人觀點,不代表快出海對觀點贊同或支持。如有侵權(quán),請聯(lián)系管理員(zzx@kchuhai.com)刪除!
優(yōu)質(zhì)服務(wù)商推薦
更多