1 概述
- 在 TCP/IP 協(xié)議簇 中有兩個(gè)傳輸協(xié)議
- TCP:Transmission Control Protocol,傳輸控制協(xié)議,是面向連接的、可靠的。
- UDP:User Datagram Protocol,用戶數(shù)據(jù)報(bào)協(xié)議,是面向無(wú)連接的、不可靠的。
2 TCP 傳輸控制協(xié)議
2.1 報(bào)文格式
參數(shù) | 英文名 | 說(shuō)明 |
---|---|---|
源端口 | Sorce Port | |
目的端口 | Destination Port | |
序號(hào) | Sequence Number | 保證數(shù)據(jù)的可靠性 |
確認(rèn)號(hào) | Acknowlegement Number | |
首部長(zhǎng)度 | Header Length | |
保留 | Reserved | |
控制位 | Control bits | |
窗口大小 | Window Size | 進(jìn)行流量控制 |
校驗(yàn)和 | Checksum | |
緊急指針 | Urgent | |
可選項(xiàng) | Options |
【其中,控制位有以下參數(shù),其值為 1 時(shí),表示啟用?!?/p>
控制位 | 全稱 | 描述 |
---|---|---|
URG | Urgent | 緊急。表示本報(bào)文中是否包含緊急數(shù)據(jù) |
ACK | Acknowledgement | 確認(rèn)。表示前面的字段是否有效 |
PSH | Push | 推送。表示立即將數(shù)據(jù)推送給上層 |
RST | Reset | 重置。表示是否重置連接 |
SYN | Synchronization |
同步。在建立連接時(shí)使用,用來(lái)同步序號(hào)。 ① 當(dāng) SYN=1,ACK=0 時(shí),表示這是一個(gè)請(qǐng)求建立連接的報(bào)文段。 ② 當(dāng) SYN=1,ACK=1 時(shí),表示對(duì)方同意建立連接。 |
FIN | Finish | 完成。表示數(shù)據(jù)已經(jīng)發(fā)送完成,可以釋放連接。 |
2.2 三次握手,建立連接
說(shuō)明
① 序號(hào) seq:表示本次通信的字節(jié)流序號(hào)。初始序號(hào) x、y 是自動(dòng)生成的,如上圖:seq = x 表示 客戶端 本次的初始序號(hào)為 x,seq = y 表示 服務(wù)器 本次的初始序號(hào)為 y。
② 確認(rèn)號(hào) ack:確認(rèn)上一步的序號(hào),并進(jìn)行 + 1 (目的:表明數(shù)據(jù)包是連續(xù)的)。
③ 當(dāng) 控制位 ACK = 1 時(shí),確認(rèn)號(hào) ack 才有值。
2.3 四次揮手,釋放連接
說(shuō)明
① 請(qǐng)求釋放連接 中的 x、y 為上一次通信中的值
② MSL:Maximum Segment Lifetime(最大段時(shí)長(zhǎng))
2.4 四種擁塞控制
擁塞控制 | 英文名 | 描述 |
---|---|---|
慢開始 | slow-start | cwnd 初始值為 1,后續(xù)按 2i 增長(zhǎng),如:1,2,4,8… |
擁塞避免 | congestion avoidance | cwnd 按 + 1 增長(zhǎng),如:1, 2, 3, 4… |
快重傳 | fast retransmit | 發(fā)送方一旦收到 3 個(gè)連續(xù)的確認(rèn)(ack),就將相應(yīng)的報(bào)文段 立即重傳 |
快恢復(fù) | fast recovery | 既可以使用 慢開始算法,也可以使用 擁塞避免算法 |
擁塞(congestion):在某段時(shí)間,若對(duì)網(wǎng)絡(luò)中某一資源的需求超過(guò)了該資源所能提供的可用部分,網(wǎng)絡(luò)性能就要變化,這種情況就叫做 擁塞。
擁塞窗口(cwnd) 和 慢開始門限(ssthresh):
???? ① 當(dāng) cwnd < ssthresh 時(shí),使用 慢開始算法
???? ② 當(dāng) cwnd > ssthresh 時(shí),停止使用 慢開始算法 而改用 擁塞避免算法
???? ③ 當(dāng) cwnd = ssthresh 時(shí),既可使用 慢開始算法,也可使用 擁塞避免算法
3 擴(kuò)展
3.1 實(shí)驗(yàn)演示
【eNSP:網(wǎng)絡(luò)拓?fù)鋱D,對(duì)接口 Ethernet 0/0/2 抓包,演示 TCP 三次握手和四次揮手】
【客戶端 Client1 和 服務(wù)器 Server1 配置】
【抓包參數(shù)信息】
3.2 網(wǎng)工軟考
【2021上半年 - 21,22】TCP使用的流量控制協(xié)議是( ),TCP頭中與之相關(guān)的字段是( )。
(21)A.停等應(yīng)答
B.可變大小的滑動(dòng)窗口協(xié)議
C.固定大小的滑動(dòng)窗口協(xié)議
D.選擇重發(fā)ARQ協(xié)議
(22)A.端口號(hào)
B.偏移
C.窗口
D.緊急指針
參考答案:21=B,22=C
通過(guò)數(shù)據(jù)抓包,可以看到,窗口大小是變化的
【2019下半年 - 22】建立TCP連接時(shí),被動(dòng)打開一端在收到對(duì)端SYN前所處的狀態(tài)為( )。
A. LISTEN
B. CLOSED
C. SYN RESECEIVD
D. LASTACK文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-669551.html
參考答案:A文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-669551.html
到了這里,關(guān)于網(wǎng)絡(luò)互聯(lián)與互聯(lián)網(wǎng) - TCP 協(xié)議詳解的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!