參考文獻: 慕課網<計算機網絡原理>課程
1. 傳輸層服務和協議
1.1 服務
1.簡單介紹
2.對比網絡層
- 網絡層: 提供主機之間的邏輯通信機制
- 傳輸層: 提供應用進程之間的邏輯通信機制
位於網絡層之上
依賴於網絡層服務
對網絡層服務進行增強
1.2 協議
1.兩種協議
2.多路複用和多路分用
- 多路分用 =>接收端有多個socket進程,通過傳輸層後分別發送給對應的客戶端進程
- 多路複用=>發送端有多個socket進程,在傳輸層爲每塊數據封裝上頭部信息,然後交給網絡層
- 分用如何工作?
- 無連接多路分用
- 面向鏈接多路分用
3.無連接傳輸協議 UDP
1.簡介
2.用途
3.UDP校驗和(checksum)
4.可靠數據傳輸
1.簡單瞭解
2.可靠數據傳輸協議
停–等協議
發送方 發送信息,然後等待 返回ACK無錯誤,NAK錯誤重新發送
接收方 判斷是否有錯,有錯然後返回NAK,無錯ACK
如果ACK/NAK消息發送錯誤/被破壞
- Rdt 2.2
- 就是在ACK裏面加控制信息
- Rdt 3.0
- 信道丟失? 2.0版本就不能用了
- 缺點: 性能差
- 如何提高性能, 在等待的時間,可以多發幾個,一起等待
- 改進之—流水線機制
- 改進之—滑動窗口協議
- GBN(Go-Back-N)協議
GBN的缺陷
重傳錯誤後面的分組, 重複了
- Selective Repeat協議
- 多了一個接收方的窗口,然後有一個窗口尺寸,會把錯誤的分組信息單獨傳給發送方,然後發送方再單獨發送錯誤的分組
示例
5. 面向連接傳輸協議(TCP)
1.簡介
2.序列號和ACK
3.TCP可靠數據傳輸
大於RTT
測量RTT的平均值
EstimatedRTT 估計值 SampleRTT平均值
- TCP發送方事件
- 快速重傳機制
4.TCP流量控制
- 發送方可以發送一個很小的段去判斷是否可以繼續發送
5.TCP連接管理
-3次握手
1.客戶主機向服務器發送 SYN 報文段,不攜帶任何數據,SYN標誌位(詢問是否可以建立鏈接),初始序列號
2.服務器收到SYN報文段, 服務器會分配緩存, 初始序列號
3.客戶端收到SYNACK, 意思就是我收到了你同意我建立鏈接的報文段, 然後回覆ACK,服務器接收到ACK,鏈接關閉
6. 擁塞控制問題
1.定義
2.擁塞的成因和代價
- 成因
- 發送的分組大於帶寬
- 發送的分組大於路由器緩存
- 發送方有很多個
- 多跳
- 超時/重傳
- 代價
3.擁塞控制
- 發送方觀察分組是否丟失或時延,然後調整自己的發送速率
- ATM ABR
由接收方把擁塞信息發送給發送方
- 案列
7.TCP的擁塞控制
1.控制發送速率
- 接收方通過超時或者重複的ACK判斷是否擁塞,然後調整發送速率
2.線性的加,乘性的減
3.TCP慢啓動:SS
- 指數型增長
4.如何判斷使用線性還是指數性增長
5.如何檢測擁塞
6.TCP性能