网络编程(part8)--传输层服务之TCP和UDP
鄙人學習筆記
文章目錄
- 傳輸層服務
- 面向連接的傳輸服務(基于TCP協(xié)議的數(shù)據(jù)傳輸)
- 傳輸特征
- 實現(xiàn)手段
- 適用情況
- 面向無連接的傳輸服務(基于UDP協(xié)議的數(shù)據(jù)傳輸)
- 傳輸特點
- 適用情況
傳輸層服務
面向連接的傳輸服務(基于TCP協(xié)議的數(shù)據(jù)傳輸)
傳輸特征
提供了可靠的數(shù)據(jù)傳輸(3次握手,4次揮手),可靠性指數(shù)據(jù)傳輸過程中無丟失,無失序,無差錯,無重復。
實現(xiàn)手段
在通信前需要建立數(shù)據(jù)連接,通信結(jié)束要正常斷開連接。
①三次握手(建立連接)
- 第1次握手:客戶端向服務器發(fā)送消息報文,請求連接.
- 第2次握手:服務器收到請求后,回復報文,同意建立連接(若不同意,則不會返回報文,則沒有第2次和第3次握手).
- 第3次握手:客戶端收到回復,發(fā)送最終報文,連接建立.
②四次揮手(斷開連接)
- 第1次揮手:主動方發(fā)送報文,請求斷開連接
- 第2次揮手:被動方收到請求后,立即回復,表示準備斷開
- 第3次揮手:被動方準備就緒,再次發(fā)送報文,表示可以斷開
- 第4次揮手:主動方收到確定,發(fā)送最終報文,完成斷開
備注:斷開連接,誰先斷開?是客戶端還是服務端呢?其實是兩段都可以主動斷開。所以,這里我們就寫主動方和被動方。
適用情況
對數(shù)據(jù)傳輸準確性有明確要求,傳數(shù)文件較大,需要確保可靠性的情況。比如:網(wǎng)頁獲取,文件下載,郵件收發(fā)。
面向無連接的傳輸服務(基于UDP協(xié)議的數(shù)據(jù)傳輸)
傳輸特點
不保證傳輸?shù)目煽啃?#xff0c;傳輸過程沒有連接和斷開,數(shù)據(jù)收發(fā)自由隨意。
適用情況
網(wǎng)絡較差,對傳輸可靠性要求不高。比如:網(wǎng)絡視頻,群聊,廣播。
例如,在視頻聊天時,我們的清晰度不是很高。如果要求清晰度很高,則需要在很短的時間內(nèi)需要傳遞很多數(shù)據(jù)。但是,當我們網(wǎng)速不夠時,這些數(shù)據(jù)在很短的時間內(nèi)是傳輸不過去的,這時,視頻聊天就會很卡,甚至會斷開連接。所以,這時就會以視頻不清晰(丟失數(shù)據(jù))為代價,來保證連接的流暢性。故,此時就允許有數(shù)據(jù)的丟失,所以就不能用基于TCP協(xié)議的數(shù)據(jù)傳輸,而用基于UDP的數(shù)據(jù)傳輸.
備注:UDP傳輸效率比TCP高,因為TCP為了保證數(shù)據(jù)傳輸?shù)目煽啃?#xff0c;有3次握手(建立連接)和4次揮手(斷開連接).
總結(jié)
以上是生活随笔為你收集整理的网络编程(part8)--传输层服务之TCP和UDP的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oppo云服务平台登录入口在哪
- 下一篇: 网络编程(part9)--socket套