Transport Layer - 傳輸協議的控制

  • TCP連接的建立。
         服務器通過執行LISTEN 和 ACCEPT 被動接收一個進來的連接請求,客戶端執行一個CONNECT原語,同時指定IP地址、端口、願意接受的最大TCP分段長度,以及一些用戶數據(例如用戶口令)。

  • TCP連接的釋放
          TCP是一個全雙工協議。通過四次揮手釋放連接。兩端需要發送一個FIN、ACK(確認對方的FIN)。

  • TCP的傳輸策略
          Nagla算法:當數據以每次一個字節方式進去發送方時,發送方第一次只發送一個字節,然後將其餘的字節緩衝起來,直到第一個字節被確認時。再將緩衝區裏的數據發送出去。
          Clark算法:禁止接收方發送只有一個字節的口更新數據段。它必須等待一段時間,直到有了一定數量的可用空間之後再告知對方。

  • TCP的擁塞控制
         擁塞控制取決於三個值。有效窗口值、擁塞窗口、閥值。
          有效窗口:【接收方認爲沒有問題的最大窗口值】【發送方認爲沒有問題的最大窗口值】這兩者之間的最小值。
          擁塞窗口:在建立連接後,發送方將窗口初始化爲該連接上使用最大的數據段長度,之後呈指數增加窗口大小。直到數據包出現超時,超時的窗口值就是擁塞窗口值。
          閥值:初始化爲64kb,當出現超時,就將閥值設爲當前超時窗口的一半。
             
  • 快重傳
          當發送方連續收到三個重複的ACK報文時,直接重傳對方尚未收到的報文段,而不必等待那個報文段設置重傳定時器超時。

  • 快恢復
          當發送方收到連續三個冗餘的ACK時,執行“乘法減少”算法,把慢開始門限ssthresh設置爲出現爲發送方cwnd的一半。

  • 慢開始
          當出現擁塞時,將cwnd值設置1,之後x2的倍數遞增。當達到上一個擁塞值的一半時,開始加1遞增。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章