【秋招】嵌入式面試八股文- TCP、UDP協(xié)議
【秋招】嵌入式面試八股文 - 最全專欄
1. TCP和UDP的基本概念與區(qū)別
Q: TCP和UDP的主要區(qū)別是什么?
- 連接性:TCP是面向連接的協(xié)議,通信前需要建立連接;UDP是無連接協(xié)議,直接發(fā)送數(shù)據(jù)。
- 可靠性:TCP提供可靠傳輸,保證數(shù)據(jù)完整性和順序性;UDP不保證可靠傳輸。
- 傳輸方式:TCP是面向字節(jié)流;UDP是面向報文。
- 效率:TCP效率相對較低,有連接管理開銷;UDP效率高,開銷小。
- 應用場景:TCP適用于對可靠性要求高的場景;UDP適用于實時性要求高的場景。
- 頭部大小:TCP頭部20-60字節(jié);UDP頭部固定8字節(jié)。
Q: TCP為什么要設計成面向連接的?
- 確保通信雙方都準備好進行數(shù)據(jù)交換
- 協(xié)商通信參數(shù)(如窗口大小、序列號等)
- 為可靠傳輸建立基礎
- 提供流量控制和擁塞控制機制
Q: UDP適用于哪些應用場景?為什么?
- 實時音視頻傳輸:允許少量丟包,重視實時性
- DNS查詢:簡單請求-響應模式,減少延遲
- DHCP:廣播通信,簡化實現(xiàn)
- 游戲數(shù)據(jù)傳輸:追求低延遲,可接受少量丟包
- 物聯(lián)網(wǎng)設備通信:資源受限設備減少協(xié)議開銷
2. TCP的三次握手和四次揮手
Q: 詳細描述TCP三次握手的過程及其意義
- 第一次握手:客戶端發(fā)送SYN包(SYN=1, seq=x),進入SYN_SENT狀態(tài)
- 第二次握手:服務器回復SYN+ACK包(SYN=1, ACK=1, seq=y, ack=x+1),進入SYN_RCVD狀態(tài)
- 第三次握手:客戶端發(fā)送ACK包(ACK=1, seq=x+1, ack=y+1),雙方進入ESTABLISHED狀態(tài)
三次握手的意義:
- 確認雙方的發(fā)送和接收能力都正常
- 同步雙方的初始序列號
- 防止歷史連接請求突然到達服務器造成錯誤
Q: 為什么TCP連接需要三次握手,而不是兩次或四次?
- 兩次不夠:無法確認客戶端的接收能力,可能導致服務器資源浪費
- 四次多余:三次已經(jīng)能確認雙方的收發(fā)能力,額外握手增加延遲和開銷
- 安全性考慮:三次握手可以防止歷史連接請求導致的錯誤連接
Q: 詳細描述TCP四次揮手的過程及其意義
- 第一次揮手:客戶端發(fā)送FIN包(FIN=1, seq=u),進入FIN_WAIT_1狀態(tài)
- 第二次揮手:服務器回復ACK包(ACK=1, ack=u+1),進入CLOSE_WAIT狀態(tài),客戶端進入FIN_WAIT_2狀態(tài)
- 第三次揮手:服務器發(fā)送FIN包(FIN=1, seq=v),進入LAST_ACK狀態(tài)
- 第四次揮手:客戶端回復ACK包(ACK=1, ack=v+1),進入TIME_WAIT狀態(tài),等待2MSL后關閉
四次揮手的意義:
- 確保雙方都完成數(shù)據(jù)傳輸后再關閉連接
- 實現(xiàn)全雙工連接的單獨關閉
- TIME_WAIT狀態(tài)確保最后的ACK能到達服務器
Q: 為什么TCP連接關閉需要四次揮手?
- TCP是全雙工通信,每個方向需要單獨關閉
- 接收到FIN后,可能還有數(shù)據(jù)需要發(fā)送,所以先回復ACK,等數(shù)據(jù)發(fā)送完再發(fā)FIN
- 保證雙方都能完成數(shù)據(jù)傳輸,實現(xiàn)優(yōu)雅關閉
Q: TIME_WAIT狀態(tài)的作用是什么?為什么需要等待2MSL?
- 確保最后一個ACK能到達對方(如果ACK丟失,對方會重發(fā)FIN)
- 防止延遲的數(shù)據(jù)包被新連接接收,造成數(shù)據(jù)混亂
- 2MSL是報文最大生存時間的兩倍,足以確保網(wǎng)絡中的報文都消失
3. TCP的可靠傳輸機制
Q: TCP如何保證可靠傳輸?
- 序列號和確認應答:每個字節(jié)都有序列號,接收方確認收到的數(shù)據(jù)
- 超時重傳:發(fā)送方在一定時間內(nèi)未收到確認則重傳數(shù)據(jù)
- 校驗和:檢測數(shù)據(jù)在傳輸過程中是否被損壞
剩余60%內(nèi)容,訂閱專欄后可繼續(xù)查看/也可單篇購買
【秋招】嵌入式八股文最全總結 文章被收錄于專欄
雙非本,211碩。本碩均為機械工程,自學嵌入式,在校招過程中拿到小米、格力、美的、比亞迪、海信、???、大華、江波龍等offer。八股文本質(zhì)是需要大家理解,因此里面的內(nèi)容一定要詳細、深刻!這個專欄是我個人的學習筆記總結,是對很多面試問題進行的知識點分析,專欄保證高質(zhì)量,讓大家可以高效率理解與吸收里面的知識點!掌握這里面的知識,面試絕對無障礙!