運輸層協(xié)議(UDP與TCP)


用戶數(shù)據(jù)報協(xié)議UDP

UDP的概述

特點
復用和分用

多個用戶使用一個IO資源 發(fā)送消息 時,我們稱之為“復用”。
多個用戶使用一個IO資源 接收消息 時,我們稱之為 “分用” 。
在網(wǎng)絡層
局域網(wǎng)內(nèi)多個主機利用一個路由網(wǎng)關發(fā)送消息給互聯(lián)網(wǎng)的其他主機。這也是復用技術,利用網(wǎng)關接收路由數(shù)據(jù)報就叫 分用技術。
在運輸層
操作系統(tǒng)的多個進程(這里一個端口表示一個進程)利用一個運輸層協(xié)議(或者稱為運輸層接口)發(fā)送數(shù)據(jù)稱為復用,接收時叫做 分用。
在應用層
操作系統(tǒng)的 多個線程 利用一個端口(或者叫socket,socket = IP+端口號 )發(fā)送消息稱為復用,接收時叫分用

差錯檢測
無連接/傳輸數(shù)據(jù)之前不用先建立連接
面向報文
不可靠(盡最大努力交付)
支持一對一,一對多,多對一,多對多的交互通信
沒有擁塞控制
用戶數(shù)據(jù)報首部只有8個字節(jié)的開銷
UDP 用戶數(shù)據(jù)報是在運輸層的端到端抽象的邏輯信道中傳送的

報文格式

UDP首部與偽首部

優(yōu)點
實時應用

傳輸控制協(xié)議TCP

特點
面向連接
不提供廣播或多播服務,只支持單播
首部20個字節(jié),占用許多的處理機資源
全雙工通信通道(TCP 報文段是在運輸層抽象的端到端邏輯信道中傳送)
面向字節(jié)流 / 流入或流出進程的字節(jié)序列

TCP 不保證接收方應用程序所收到的數(shù)據(jù)塊和發(fā)送方應用程序所發(fā)出的數(shù)據(jù)塊具有對應大小的關系。但接收方應用程序收到的字節(jié)流必須和發(fā)送方應用程序發(fā)出的字節(jié)流完全一樣。

報文格式

TCP報文段首部格式

TCP可靠傳輸?shù)墓ぷ髟?/strong>

注意
理想的傳輸條件有以下兩個特點:
(1) 傳輸信道不產(chǎn)生差錯。
(2) 不管發(fā)送方以多快的速度發(fā)送數(shù)據(jù),接收方總是來得及處理收到的數(shù)據(jù)。

1.停止等待協(xié)議

“停止等待”就是每發(fā)送完一個分組就停止發(fā)送,等待對方的確認。在收到確認后再發(fā)送下一個分組。
無差錯情況

無差錯的情況

有差錯情況
(1)檢測時出錯$\rightarrow$丟棄,超時重傳
(2)傳輸過程丟失$\rightarrow$丟棄,超時重傳
有差錯情況

確認遲到
A 會收到重復的確認,但丟棄;B 仍然會收到重復的 M1,并且同樣要丟棄重復的 M1,并重傳確認分組。
確認丟失與確認重傳

2.連續(xù)ARQ協(xié)議
為了提高信道利用率。位于發(fā)送窗口內(nèi)的分組都可連續(xù)發(fā)送出去,而不需要等待對方的確認。
連續(xù) ARQ 協(xié)議規(guī)定,發(fā)送方每收到一個確認,就把發(fā)送窗口向前滑動一個分組的位置。

連續(xù)ARQ協(xié)議工作原理

TCP可靠傳輸?shù)膶崿F(xiàn)
1.滑動窗口機制(以字節(jié)為單位)
2.確認機制

UDP與TCP的對比

1.UDP傳輸?shù)氖荱DP報文或用戶數(shù)據(jù)報,TCP傳輸?shù)氖荰CP報文段
2.UDP是無連接的,TCP是面向連接的
3.UDP用戶數(shù)據(jù)報首部只有8個字節(jié)的開銷,TCP有二十個字節(jié)
4.UDP沒有擁塞控制,TCP有擁塞控制
5.UDP不可靠傳輸,TCP可靠傳輸

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內(nèi)容