基礎:網路是什麼

延遲(latency)

延遲是「提出請求」到「回應開始」之間的時間落差——一個位元從這裡到那裡要花多久。如果頻寬是你能送多少、吞吐量是每秒實際抵達多少,延遲就純粹關乎時間:那段延遲。它讓視訊通話感覺卡頓、讓遊戲感覺靈敏,而且即使頻寬充裕也照樣感受得到。

人們用兩種方式衡量它。單向延遲是一個位元從發送端到接收端所需的時間。更常被引用的是往返時間(RTT)——一則小訊息去到對端、回覆再傳回所需的時間,大致就是 ping 所報告的。一條路徑上的總延遲,是每一跳四種延遲成分的總和:傳輸延遲(L/R,把封包時脈推上連結)、傳播延遲(距離除以訊號速度)、佇列延遲(在路由器緩衝區裡等待)、處理延遲(路由器檢視標頭)。在長路徑上,傳播通常是主導;在壅塞時,則是佇列。

最重要的真相:延遲與頻寬彼此獨立,而且你無法花錢繞過光速。把頻寬加倍,對到遙遠伺服器的往返毫無幫助——那道底線由距離決定。這正是為何一條「快」(高頻寬)的連線,在長距離互動工作中仍可能感覺慢,也是為何遊戲、視訊通話、交易、以及任何一來一往的對話,追求的是低延遲,而不僅僅是高頻寬。

對一台伺服器 ping,它回報的 RTT 假設是 80 毫秒——那就是往返延遲。把 100 Mbps 升級到 1 Gbps,對那 80 毫秒一點影響也沒有;只有更短的路徑或更少的佇列才能改變它。

延遲,而非容量——以單向或往返時間衡量,並由距離設下底線。

延遲、頻寬、吞吐量是三件不同的事,把它們搞混是最常見的網路錯誤。更多頻寬永遠不會降低延遲;只有縮短路徑或紓解壅塞才能。

又称
delayRTTround-trip time往返時間時延