談到網(wǎng)絡(luò)延遲(Network Latency),人們通常認(rèn)為它是指網(wǎng)絡(luò)數(shù)據(jù)傳輸所需的時(shí)間。但是,這里的“時(shí)間”是指雙向流量,即數(shù)據(jù)從源發(fā)送到目的地,然后從目的地地址返回響應(yīng)的往返時(shí)間:RTT(Round-Trip Time)。
除了網(wǎng)絡(luò)延遲之外,另一個(gè)常用的指標(biāo)是應(yīng)用延遲(Application Latency),它是指應(yīng)用接收請(qǐng)求并返回響應(yīng)所需的時(shí)間。通常,應(yīng)用延遲也稱為往返延遲,它是網(wǎng)絡(luò)數(shù)據(jù)傳輸時(shí)間加上數(shù)據(jù)處理時(shí)間的總和。
通常人們使用 ping 命令來(lái)測(cè)試網(wǎng)絡(luò)延遲,ping 是基于 ICMP 協(xié)議的,它通過(guò)計(jì)算 ICMP 發(fā)出的響應(yīng)報(bào)文和 ICMP 發(fā)出的請(qǐng)求報(bào)文之間的時(shí)間差來(lái)獲得往返延遲時(shí)間。這個(gè)過(guò)程不需要特殊的認(rèn)證,從而經(jīng)常被很多網(wǎng)絡(luò)攻擊所利用,如,端口掃描工具 nmap、分組工具 hping3 等。
因此,為了避免這些問(wèn)題,很多網(wǎng)絡(luò)服務(wù)都會(huì)禁用 ICMP,這使得我們無(wú)法使用 ping 來(lái)測(cè)試網(wǎng)絡(luò)服務(wù)的可用性和往返延遲。在這種情況下,您可以使用 traceroute 或 hping3 的 TCP 和 UDP 模式來(lái)獲取網(wǎng)絡(luò)延遲。