TCP靈魂之問 介紹一下 TCP 報文頭部的字段

2021-10-10 10:24:33 字數 654 閱讀 1028

如何標識唯一標識乙個連線?答案是 tcp 連線的四元組——源 ip、源埠、目標 ip 和目標埠。

那 tcp 報文怎麼沒有源 ip 和目標 ip 呢?這是因為在 ip 層就已經處理了 ip 。tcp 只需要記錄兩者的埠即可。

序列號在 tcp 通訊的過程中有兩個作用:

在 syn 報文中交換彼此的初始序列號。

保證資料報按正確的順序組裝。

即initial sequence number(初始序列號),在三次握手的過程當中,雙方會用過syn報文來交換彼此的 isn。

isn 並不是乙個固定的值,而是每 4 ms 加一,溢位則回到 0,這個演算法使得猜測 isn 變得很困難。那為什麼要這麼做?

如果 isn 被攻擊者**到,要知道源 ip 和源埠號都是很容易偽造的,當攻擊者猜測 isn 之後,直接偽造乙個 rst 後,就可以強制連線關閉的,這是非常危險的。

而動態增長的 isn 大大提高了猜測 isn 的難度。

不要死記,只要有個印象就行

2020 11 05 談一下TCP的擁塞控制。

福哥答案2020 11 05 所謂擁塞控制,是指防止過多的資料注入網路,保證網路中的路由器或鏈路不致過載。出現擁塞時,端點並不了解到擁塞發生的細節,對通訊連線的端點來說,擁塞旺旺表現為通訊時延的增加。當然,擁塞控制和流量控制也有相似的地方,即它們都通過控制傳送方傳送資料的速率來達到控制效果。擁塞控制...

簡單說一下 TCP打洞和UDP打洞

1,tcp協議通訊 現在有兩台電腦a和b。在 假設a的位址為 192.168.0.100 假設b的位址為 192.168.0.102 a想給b傳送乙個字串hello,如果a,b之間採用tcp協議,那麼b收到hello的過程是怎樣的呢?首先建立連線 3次握手成功之後,a和b的鏈結才算成功 然後a在給b...

有邏輯性地講一下TCP跟UDP的相同點和不同點

本文不適合初學者,只是個人小結 tcp首部 是20個位元組 udp首部是8個位元組 圖1tcp首部 圖2udp首部 相同的是都有源埠跟目標埠,埠對應著不同的應用程式不同的是該 udp若是不接收資訊,那麼它的源埠號可以設定為空 而tcp不行 tcp 校驗和是必須開啟的,接收端檢查到有錯誤的包丟棄並傳送...