1. 傳輸層協(xié)議
- TCP:傳輸控制協(xié)議
- UDP:用戶數(shù)據(jù)報協(xié)議
2. UDP特點
- 無連接: 不用在數(shù)據(jù)傳輸之前連接和釋放連接
- 盡最大努力交付
- 面向報文: 既不合并,也不拆分
應(yīng)用報文會原封不動作為傳輸層UDP數(shù)據(jù)報的數(shù)據(jù)部分和UDP首部組成運輸層的UDP數(shù)據(jù)報
3. UDP功能
復(fù)用:多個端口可以共用一個傳輸層UDP的數(shù)據(jù)報, 再經(jīng)由IP層傳輸出去分用: IP數(shù)據(jù)報拆分成UDP數(shù)據(jù)包, 每個報文格式中有原有端口和目的端口的標(biāo)識, 可以根據(jù)目的端口進(jìn)行分發(fā)差錯檢測
差錯檢測
TCP傳輸協(xié)議
4.TCP特點
- 面向連接
- 可靠傳輸
- 面向字節(jié)流
- 流量控制
- 擁塞控制
4.1 面向連接
數(shù)據(jù)開始傳輸之前,需要建立連接
三次握手, 數(shù)據(jù)傳輸完成后,需要釋放連接,四次揮手
三次握手三次握手??
- 為應(yīng)對網(wǎng)絡(luò)中存在的延遲: 如果1.SYN同步報文延遲發(fā)送到服務(wù)端,
- 客戶端超時連接機(jī)制會再次發(fā)送1.SYN同步報文,
- 服務(wù)端發(fā)送同步確認(rèn)報文2.SYN,ACK; 客戶端發(fā)送3.ACK確認(rèn)報文;
- 如果此時服務(wù)端收到延遲的1SYN同步報文, 服務(wù)端會以為客戶端要在進(jìn)行一次TCP連接, 會發(fā)送同步確認(rèn)報文到客戶端,
- 但此時客戶端因為已連接, 是不會再次發(fā)送3ACK確認(rèn)連接報文的. >- 這樣服務(wù)端在一段時間后會認(rèn)為 是超時報文, 客戶端不想建立連接.
四次揮手
- 為什么要四次揮手, 而不是兩次?
因為一條通道客戶端和服務(wù)端都可以接收和發(fā)送, 所以要雙向斷開
4.2 TCP可靠傳輸
- 無差錯
- 不丟失
- 不重復(fù)
- 按序到達(dá)
停止等待協(xié)議
無差錯情況
無差錯情況超時重傳
超時重傳確認(rèn)丟失
確認(rèn)丟失確認(rèn)遲到
確認(rèn)遲到
4.3. TCP面向字節(jié)流
面向字節(jié)流
- 發(fā)送方有一個緩沖區(qū)
- 接收方也有一個緩沖區(qū)
- 無論發(fā)送方一次給TCP緩沖區(qū)傳遞多少字節(jié), 對TCP本身來說, 會根據(jù)實際情況進(jìn)行劃分一次傳遞多少字節(jié), 并不是把發(fā)送方所有字節(jié)一次傳遞給接收方[
和UDP不同]
4.4. TCP流量控制
基于滑動窗口協(xié)議
4.5. TCP擁塞控制


















