日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

对于三次握手的疑问

發布時間:2025/3/20 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 对于三次握手的疑问 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

三次握手的第三次握手發送ACK能攜帶數據嗎?如何攜帶?怎樣體現的呢?

作者:車小胖
鏈接:https://www.zhihu.com/question/66407996/answer/242152945
來源:知乎
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。

人類先發明了電話,當電話原理成熟了,上世紀中后葉又出現了TCP/IP,TCP協議幾乎就是模仿電話原理的,為了更好學習TCP,我們要學習電話的基本原理。

三次握手的過程
第一次

上海的老王給北京的老張打電話,撥號碼
010-68886xx8

老王電話機與電信局之間的電話線,其實有兩個信道:信令信道 + 語音信道

當老王拿起電話,撥010-68886xx8,這個號碼通過信令信道傳到了電信局,同時將語音信道(DS0)保留,為了稍后的通信做語音信道預留

電信局根據這個號碼做路由查找,找到其上一級的交換機,通過信令信道將010-68886xx88轉發給上一級交換機,同時和上一級協商好,預留一個DS0語音信道,為了語音傳輸。

這樣一級級轉接,最終號碼轉接到北京老張的電話機,振鈴,北京電信局與老張電話機之間預留一個DS0語音信道,為了語音傳輸。

第二次
老張拿起電話的那一刻,一個“Connected”信令順著來時的信令信道(一跳、一跳)傳輸到老王的電話機。

第三次
老王電話機通常還會回復一個“ACK”給對方,以示接到對方的“Connected”。

語音傳輸
當老張拿起電話的那一刻,端到端的語音信道已經預留好了,一般為DS0= 64Kbps,這條端到端信道其實是由多條 hop-2-hop信道串聯而成的。

此時雙方可以自由說話,語音數據會從保留的語音信道流淌到對方。

從以上的描述來看,信令數據、語音數據是在自己獨立的信道里傳輸,大家井水不犯河水,互不干涉。

TCP
TCP模仿電話原理,也有自己的信令數據、應用層數據,那哪些是信令數據呢?
SYN
ACK
RST
PSH
URG
FIN

依靠這六個信令狀態位,與對方
1)建立連接SYN
2)重置連接RST
3)拆除連接FIN

那什么是應用層數據呢?就是TCP的服務對象,比如Http。

TCP也想使用電話里的雙信道,但TCP所依賴的IP網絡沒有信道的概念,完全是一個共享網絡的模式。

TCP沒有雙信道使用,退而求其次,只要信令數據、應用數據放在獨立的IP包傳輸到對方就好,這就是大家最熟悉的TCP工作模式:

1)三次握手建立連接
2)數據傳輸
3)四次握手拆除連接

三次握手最后一個消息是客戶端發過來的ACK,如果讓應用層數據與這個信令數據合二為一,可以減少發送的IP包的數目,還可以提高效率,何樂不為呢?

TCP協議的制定者,為了提高效率,減少IP包的數目,最大可能地將信令數據、應用數據合二為一,各位同學通過抓包,可以看到一個TCP連接,除了第一個SYN包,每個TCP報文都有ACK信令,這就是合二為一的結果!

第三次握手,是客戶端為了告訴服務器,我已經收到了你發送的SYNC + ACK報文,此時這個報文只帶ACK標志,SYNC標志沒有。

客戶端發送這個報文之后,就進入established狀態了。服務器收到這個報文之后,也進入established狀態。

TCP標準規定,第三次握手的報文,可以攜帶數據。因為此時客戶端已經處于established狀態了呀。

假設第三次握手的報文的seq是x+1,

如果有攜帶數據,下次客戶端發送的報文,seq=服務器發回的ACK號。

如果沒有攜帶數據,那么第三次握手的報文不消耗seq。下次客戶端發送的報文,seq序列號還是和第三次握手的報文的seq一樣,為x+1。這是因為,seq和報文中的數據在整條數據流流中的位置是一一對應的。如果報文沒有攜帶數據,那么seq當然也不會更新。

轉載于:https://www.cnblogs.com/mrwuzs/p/8031161.html

總結

以上是生活随笔為你收集整理的对于三次握手的疑问的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。