五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊

記錄 - 4.29

2023-04-30 10:10 作者:劍離我離  | 我要投稿

什么是TCP?

面向連接的、可靠的、字節(jié)流的。

UDP和TCP 的不同 : 連接、服務(wù)對象、可靠性、擁塞/流量控制、首部開銷(UDP 沒有【選項(xiàng)】字段)、傳輸方式(TCP 是流式傳輸,沒有邊界,保證順序和可靠;TCP是一個(gè)個(gè)包發(fā)送,有邊界)、分片不同

為什么 UDP 頭部沒有「首部長度」字段,而 TCP 頭部有「首部長度」字段呢?

TCP 有可變長的「選項(xiàng)」字段,而 UDP 頭部長度則是不會(huì)變化的,無需多一個(gè)字段去記錄 UDP 的首部長度。

TCP 連接建立過程:

  1. 客戶端會(huì)隨機(jī)初始化序號,將此序號放在TCP 首部的【序號】中,同時(shí)SYN為1,發(fā)送給服務(wù)端,之后客戶端處于SYN-SENT狀態(tài)

  2. 服務(wù)端收到SYN報(bào)文后,將自己的隨機(jī)初始化序號填到TCP首部的【序號】這種,并把 收到的SYN報(bào)文中的序號+1填入當(dāng)前報(bào)文的【確認(rèn)應(yīng)答號】中,并把ACK和SYN標(biāo)志置為1,之后服務(wù)端處于SYN-RCVD

  3. 客戶端收到服務(wù)端報(bào)文后,回應(yīng)ACK?!敬_認(rèn)應(yīng)答號】填入服務(wù)端序號+1,發(fā)送給服務(wù)端后,客戶端進(jìn)入ESTABLISHED狀態(tài)。并且此次發(fā)送可以攜帶數(shù)據(jù)。

為什么是三次握手?

三次握手才能保證雙方具有接收和發(fā)送的能力。

  • 三次握手才可以阻止重復(fù)歷史連接的初始化(主要原因)

在兩次握手的情況下,服務(wù)端沒有中間狀態(tài)給客戶端來阻止歷史連接,導(dǎo)致服務(wù)端可能建立一個(gè)歷史連接,造成資源浪費(fèi)。

當(dāng)收到舊連接時(shí),當(dāng)服務(wù)端進(jìn)入SYN_RCVD后向服務(wù)端發(fā)送ACK,服務(wù)端根據(jù)ACK發(fā)送RST中止連接,如果只有兩次連接,那在服務(wù)端收到歷史連接的SYN 報(bào)文后就直接進(jìn)入ESTABLISHED 狀態(tài),并直接就進(jìn)行數(shù)據(jù)的發(fā)送,但這些數(shù)據(jù)都是不會(huì)被客戶端接收的,當(dāng)ACK 到達(dá)后,客戶端仍然會(huì)回復(fù)RST中止連接。

  • 三次握手才可以同步雙方的初始序列號

  • 三次握手才可以避免資源浪費(fèi)

小結(jié):

TCP 建立連接時(shí),通過三次握手能防止歷史連接的建立,能減少雙方不必要的資源開銷,能幫助雙方同步初始化序列號。序列號能夠保證數(shù)據(jù)包不重復(fù)、不丟棄和按序傳輸。

不使用「兩次握手」和「四次握手」的原因:

  • 「兩次握手」:無法防止歷史連接的建立,會(huì)造成雙方資源的浪費(fèi),也無法可靠的同步雙方序列號;

  • 「四次握手」:三次握手就已經(jīng)理論上最少可靠連接建立,所以不需要使用更多的通信次數(shù)。

為什么每次建立 TCP 連接時(shí),初始化的序列號要求不一樣?

  • 為了防止歷史報(bào)文被下一個(gè)相同四元組的連接接收(主要方面);

  • 為了安全性,防止黑客偽造的相同序列號的 TCP 報(bào)文被對方接收;

初始化序列號是基于時(shí)鐘計(jì)時(shí)器遞增的,基本不可能會(huì)隨機(jī)成一樣的初始化序列號。

既然IP層會(huì)分片,為什么TCP層還需要MSS 呢?

  1. 如果一個(gè)IP分片丟失,整個(gè)IP 報(bào)文的所有分片都得重傳。

  2. 為達(dá)到最佳的傳輸效能會(huì)進(jìn)行MSS值的協(xié)商,這樣也就不需要IP層的分片了。

  3. 一個(gè)TCP分片丟失后,重發(fā)也是以MSS為單位的,不用重傳所有的分片。

第一次握手丟失了,會(huì)發(fā)生什么?

重傳SYN報(bào)文。通常,重傳5次,第一次為1秒,每次超時(shí)的時(shí)間是上一次的兩倍。

第二次握手丟失了,會(huì)發(fā)生什么?

丟失的兩個(gè)內(nèi)容:ACK和SYN。服務(wù)端和客戶端都會(huì)觸發(fā)重傳

  • 客戶端會(huì)重傳 SYN 報(bào)文,也就是第一次握手,最大重傳次數(shù)由 tcp_syn_retries內(nèi)核參數(shù)決定;

  • 服務(wù)端會(huì)重傳 SYN-ACK 報(bào)文,也就是第二次握手,最大重傳次數(shù)由 tcp_synack_retries 內(nèi)核參數(shù)決定。

時(shí)間兩倍,超過次數(shù)則斷開連接。

第三次握手丟失了,會(huì)發(fā)生什么?

ACK報(bào)文是不會(huì)有重傳的。當(dāng)?shù)谌挝帐值膩G失時(shí),服務(wù)端會(huì)重傳SYN-ACK報(bào)文,直到收到第三次握手或者達(dá)到最大重傳次數(shù)。


記錄 - 4.29的評論 (共 條)

分享到微博請遵守國家法律
潞西市| 新乡市| 梓潼县| 营山县| 遂昌县| 荆州市| 灌阳县| 溆浦县| 桐乡市| 东安县| 洞头县| 泰安市| 包头市| 高安市| 荆州市| 志丹县| 湘乡市| 勃利县| 长丰县| 吉安市| 凤山县| 通州市| 阿克| 屯昌县| 北宁市| 察雅县| 双牌县| 白水县| 会同县| 江北区| 清徐县| 井研县| 木兰县| 太保市| 濮阳县| 宜川县| 尼玛县| 大名县| 寻乌县| 缙云县| 高台县|