計算機網絡自頂向下 —— 運輸層(二)

前言前端

  這一章,主要講TCP協議算法

面向鏈接的運輸:TCP緩存

  TCP協議對於前端而言,是十分重要的。也看到不少漫畫,第三人視角寫這方面的內容。網絡

  1. TCP是因特網運輸層的面向鏈接的可靠的運輸協議。
  2. 爲何TCP被稱爲面向鏈接呢?一個應用進程能夠開始向另外一個應用進程發送以前,這兩個進程必需要先相互握手。(三次握手)
  3. 三次握手,A進程給B進程發出握手信號(1次),B進程迴應A進程告知收到信號了(2次),A進程正式向B進程發送數據給B進程(3次)
  4. 四次揮手,A進程發起關閉信號給B進程(1次),B進程收到該報文段後,就發送一個確認報文(2次),再發送本身的終止報文給A進程(3次)。A進程對B進程的報文進行確認(四次)
  5. TCP的生命週期,運行在每臺主機中的TCP協議在各類TCP狀態之間變遷
  6. 擁塞控制方法,一:端到端擁塞控制 網絡層沒有爲運輸層擁塞控制提供顯式支持,端系統必須經過對網絡行爲的觀察(分組 丟失與時延)來推斷,增長的往返是時延值做爲網絡擁塞成都增長的指示。二:網絡輔助的擁塞控制。路由器向發送方提供關於網絡中擁塞狀態的顯式反饋信息。
  7. TCP擁塞控制。TCP必須使用端到端擁塞控制
  8. TCP採用的方法是讓每個發送法方所感知到的玩過擁塞程度來限制其能向鏈接發送流量的速率。
  9. 若是一個TCP發送方感知從它到目的地的路徑上沒有什麼阻礙,則TCP發送方增長髮送速率。有阻礙就減小發送速率
  10. 一個TCP發送方如何限制它向其鏈接發送流量的速率?
  11. 一個TCP發送方如何感知從它到目的地的路徑上是否存在擁塞?
  12. 當發送方感知到端到端的擁塞時,採用的是什麼算法來改改變其發送速率?
  13. TCP鏈接的每一端都是由一個接受緩存,一個發送緩存和幾個變量組成
  14. 運行在發送方的TCP擁塞控制機制跟蹤一個額外的變量,擁塞窗口(c w n d)。就是來控制發送速率的
  15. 經過調節cwnd,控制發送速率
  16. TCP發送的「丟包事件」 要麼超時,要麼收到接受方的冗餘ACK .TCP鏈接經過(要麼超時 或者收到三個冗餘ACK)來是否擁塞
  17. TCP擁塞控制算法1⃣️慢啓動2⃣️擁塞避免3⃣️快速恢復
  18. 慢啓動和擁塞避免是TCP的強制部分
  19. 快速恢復是推薦部分
  20. 當一條CWND的只一般是初始值爲MSS值 ,在慢啓動狀態下,CWND值以1個MSS開始並每當傳輸的報文被確認就增長1個MSS。TCP發送方對每一個確認增長MSS值,發送速率就翻番
  21. TCP發送速率起始慢,在慢啓動階段以指數增加
  22. 如何結束指數增加,第一種:遇到超時 丟包事件,CWND設置爲1而且從新開始慢啓動
  23. 第二種:當CWND值等於SSTRESH值(慢啓動閥值),TCP轉移到擁塞避免模式
  24. 若是檢測到3個冗餘ACK ,這時TCP轉移到快速重傳階段
  25. 公平性
  26. 1,公平性和UDP 2,公平性和並行TCP鏈接
  27. 明確擁塞通告:網絡輔助擁塞控制
相關文章
相關標籤/搜索