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