重学TCP协议(11)TFO(Tcp Fast Open)
1. TFO
為了改善web應(yīng)用相應(yīng)時延,google發(fā)布了通過修改TCP協(xié)議利用三次握手時進行數(shù)據(jù)交換的TFO(TCP fast open,RFC 7413)。
TFO允許在TCP握手期間發(fā)送和接收初始SYN分組中的數(shù)據(jù)。如果客戶端和服務(wù)器都支持TFO功能,則可以減少建立到同一服務(wù)器的多個TCP連接的延遲。這是通過在初始TCP握手之后在客戶端上存儲TFO cookie來實現(xiàn)的。如果客戶端稍后重新連接,則此TFO cookie將發(fā)送到服務(wù)器,從而允許連續(xù)的TCP握手跳過一個往返延遲,從而減少延遲。
2. TFO原理
第一次連接:
第一次連接斷開了,開始第二次連接了:
客戶端發(fā)ACK給服務(wù)器的時候,把剛剛緩存的cookie也帶上,并且把數(shù)據(jù)也帶上了
服務(wù)器校驗收到的cookie合法性。如果不合法的話,就把當(dāng)前的包丟掉,走正常的三次握手。如果合法的話,服務(wù)器就給客服端發(fā)ACK+SYN并且?guī)蠑?shù)據(jù)包
客戶端發(fā)ACK確認(rèn)給服務(wù)器
3. TFO的好處
以兩次建立連接和發(fā)送請求為例
第二次請求的時候,TFO可以將請求報文和響應(yīng)報文,放在前面兩次握手的過程中,因此第二次請求中,可以在一個RTT內(nèi)就能拿到響應(yīng)數(shù)據(jù)了
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的重学TCP协议(11)TFO(Tcp Fast Open)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 梦到包包不见了是什么意思呢
- 下一篇: leetcode 1734. 解码异或后