學習內容
1.TCP建立鏈接的3次握手,斷開連接的4次揮手
2.TCP報文段組成
內容
1.TCP 建立連接的3次握手?
假設主動方是客戶端,被動方是服務端。
第一次 客戶端給服務端發送 “hello,我是客戶端” (TCP段中 SYN=1)
第二次 服務端給客戶端發送"我接收到了。hello,我是客戶端" (TCP段中 SYN=1,ACK=1)
第三次 客戶端給服務端發送"我接收到了。"(TCP段中ACK=1)
然后連接就建立成功了。
2. TCP斷開連接的4次揮手?
假設主動方是客戶端,被動方是服務端。
第一次 客戶端給服務端發送 “我已經發完,我的發送任務結束了” (TCP段FIN=1,)
第二次 服務端給客戶端發送”收到“(TCP段 ACK=1)
第三次 服務端發完要發的,給客戶端發送 “我已經發完,我的發送任務結束了” (TCP段 FIN=1)
第四次 客服端給服務端發送"收到"(TCP段 ACK=1),然后客戶端等待2MSL的時間后關閉連接。
(如果第二次服務端發給客戶端ACK時,也已經發完了,那可以第二次和第三次合并)
3.TCP段結構?
TCP段其實叫TCP報文段,一個TCP報文段包含首部和數據兩部分。而首部最短是20個字節,最長是40個字節。
下圖中1個字節8位,總共加起來是20個字節。
UDP 頭部格式?
UDP的頭部是8個字節,是下面圖中黃色的部分。但是它有個12個字節的偽首部,而這個偽首部只是臨時存在的,既不向下傳也不向上遞交,只是為了計算校驗和。
TCP和IP的關系?
IP包是一種適合運送的車輛,IP協議規定了如何將貨物拆分裝到車上。車輛從出發地A到目的地B的過程要經過很多站點,IP協議還規定了路線,要經過哪些站點,過站的時候貨物不用卸載、檢驗和重新裝車。而TCP像是A、B兩地的管理者,它們通過裝箱單等手段監測發的貨物少了沒有,如果少了,就要求A地重新發。
參考書籍:
《網絡是怎樣連接的 (圖靈程序設計叢書)》
《一本書讀懂TCP/IP》
https://blog.csdn.net/weixin_43142797/article/details/105648071