電腦網路基礎
以HTTPS(在TCP之上的TLS 1.3)重新連線到RTT(往返時間)為100 ms的Web伺服器,從送出第一個請求到開始收到回應,所需時間最接近下列何者?假設DNS名稱解析已完成,並忽略伺服器的處理時間與資料的傳輸時間。
- A約100 ms
- B約300 ms
- C約200 ms
查看答案與解析
正確答案:B. 約300 ms
首先,TCP的三向交握需要1個往返(用戶端可以把TLS的第一則訊息與最後的ACK一起送出)。接著TLS 1.3的交握需要1個往返,之後HTTP的請求與回應再需要1個往返,合計3個往返,即 3 × 100 = 300 ms。TLS 1.2的金鑰交換需要2個往返,因此共4個往返,為400 ms。這段等待時間取決於RTT的次數,而RTT由距離決定,因此即使增加線路頻寬也不會縮短。HTTP/3使用的QUIC把傳輸層與加密的交握合併為1個往返,重新連線時還提供在第一次往返就傳送資料的方法(0-RTT)。
- A. 這只算了HTTP請求與回應的1個往返,沒有算TCP與TLS的交握。
- B. 正確。TCP、TLS 1.3、HTTP各需1個往返,合計3個往返。
- C. 這是漏算了TCP或TLS其中一個交握的值。