2020 11 05 談一下TCP的擁塞控制。

2021-10-10 07:06:18 字數 692 閱讀 9767

福哥答案2020-11-05:

所謂擁塞控制,是指防止過多的資料注入網路,保證網路中的路由器或鏈路不致過載。出現擁塞時,端點並不了解到擁塞發生的細節,對通訊連線的端點來說,擁塞旺旺表現為通訊時延的增加。當然,擁塞控制和流量控制也有相似的地方,即它們都通過控制傳送方傳送資料的速率來達到控制效果。

擁塞控制與流量控制的區別:擁塞控制是讓網路能夠承受現有的網路負荷,是乙個全域性性的過程,涉及所有的主機、所有的路由器,以及與降低網路傳輸效能有關的所有因素。相反,流量控制往往是指點對點的通訊量的控制,即接收端控制傳送端,它所要做的是抑制傳送端傳送資料的速率,以便使接收端來得及接收。

四種演算法:慢開始(從1開始)、擁塞避免、快重傳(3ack重傳)、快恢復(從ssthresh門限開始)。指數增長(《慢開始門限ssthresh),加法增長,乘法減小。

兩個視窗:接收視窗rwnd、擁塞視窗cwnd。

以smss位元組1045-2190為兩個分界,cwnd為2-4個smss,ssthresh應該根據自己的需求設定,《》王道計算機網路》是16。

reno版本(快重傳)、tahoe版本(慢開始,廢棄)。

在流量控制中,傳送方傳送資料的量由接收方決定,而在擁塞控制中,則由傳送方自己通過檢測網路狀況來決定。實際上,慢開始、擁塞避免、快重傳和快恢復幾種演算法應是同時應用在擁塞控制機制之中,當傳送方檢測到超時的時候,就採用慢開始和擁塞避免,當傳送方接收到冗餘ack時,就採用快重傳和快恢復。

談一下稀疏陣列

對於乙個初窺資料結構的人來說,稀疏陣列確實可以很好的幫助你鍛鍊思維。但自從第三次科技革命後,人們都一直在做著用空間去換取時間的損事,而以時間換空間的稀疏陣列,倒也跟北大考古專業有些心心相惜。當乙個陣列中大部分元素為0,或者為同乙個值時,可以使用稀疏陣列來儲存該陣列 小規模陣列便是稀疏陣列 像在編寫的...

談一下多執行緒下的count

在單執行緒下,我們經常使用count 將count的值自增1,也不會發生什麼錯誤,但是在多執行緒下,可能使用count 結果可能就往往出乎我們的意料了.我們以count 一直從1加到5為例 public class threadcount extends thread override public...

談一下switch語句中的jump table

gcc對c語言中的switch的優化 在這裡 接著用上次的 switch.c code int switch eg int x return result code 我們先鍵入下面的命令 code cc o2 c switch.c code 然後新建乙個main.c的檔案,內容為 code int ...