發生擁塞控制的原因:資源的需求》可用資源
作用:擁塞控制就是防止過多的資料報進入網路,這樣可以使網路中的路由器或者鏈路不至於過載。擁塞控制的前提就是網路能夠承受現有的網路負荷。
對比流量控制:擁塞控制是乙個全域性的過程,涉及到鏈路上的所有主機和路由。
流量控制往往指的是點對點通訊的控制,是端對端的問題。
流量控制:
(1)tcp提供了一種機制可以讓傳送端根據接收端的實際接收能力來控制傳送的速率,具體的操作是接收端主機向傳送端主機通知自己可以接收資料的大小,於是傳送會傳送不超過這個限度的資料,該限度大小就被稱為視窗大小。
(2)tcp首部中專門有個字段用來通知視窗大小,接收主機將自己可以接收緩衝區的大小放入這個字段通知傳送端。這個欄位越大說明網路的吞吐量越大。
接收端(3)接收端緩衝區一旦面臨溢位,視窗大小也會隨之被設定為乙個更小的值傳送給傳送端,從而控制傳送的資料量,也就說傳送端主機會根據接收端主機的緩衝區大小來對傳送資料的大小進行控制。
擁塞控制:
計算機網路是乙個共享網路,有可能因為其他主機間的通訊造成網路擁堵,在網路出現擁堵時,如果突然傳送乙個較大的資料報可能導致整個網路的癱瘓。
擁塞視窗:傳送方為乙個動態變化的視窗叫做擁塞視窗,擁塞視窗的大小取決於網路的擁塞程度。傳送讓自己的傳送視窗=min(擁塞視窗,接收方的接收視窗),但是傳送視窗不是一直等於擁塞視窗,在網路情況好的情況下,擁塞視窗會不斷增加,傳送方的視窗自然也會隨著增加,但是接收方的能力有限,在傳送方的視窗達到某個大小時就不在發生變化了。
傳送方如果確認網路擁塞:傳送方傳送一些報文時,如果傳送沒有在規定的時間間隔內收到接收方的應答,則就可以認為網路擁塞。
擁塞避免的思路:
(1) 最初讓擁塞視窗按照指數級增長,這樣可以提高傳送資料吞吐量;
(2) 當擁塞視窗大小到達慢啟動門限後,該成線性增長,目的是減少擁塞視窗的增長速度;
(3) 當傳送端檢測的網路擁塞時,立即把擁塞視窗減小為1,把慢啟動門限調整為出現擁塞時擁塞視窗的一半目的是可以減少向網路中注入的資料量。
(4) 重新開始指數級增長和線性增長。
例項:1.tcp連線進行初始化的時候,cwnd=1,ssthresh=16。
2.在慢啟動演算法開始時,cwnd的初始值是1,每次傳送方收到乙個ack擁塞視窗就增加1,當ssthresh=cwnd時,就啟動擁塞控制演算法,擁塞視窗按照規律增長,
3.當cwnd=24時,網路出現超時,傳送方收不到確認ack,此時設定ssthresh=12,(二分之一cwnd),設定cwnd=1,然後開始慢啟動演算法,當cwnd=ssthresh=12,慢啟動演算法變為擁塞控制演算法,cwnd按照線性的速度進行增長。
TCP擁塞控制原理
發生擁塞控制的原因 資源的需求 可用資源 作用 擁塞控制就是防止過多的資料報進入網路,這樣可以使網路中的路由器或者鏈路不至於過載。擁塞控制的前提就是網路能夠承受現有的網路負荷。對比流量控制 擁塞控制是乙個全域性的過程,涉及到鏈路上的所有主機和路由。流量控制往往指的是點對點通訊的控制,是端對端的問題。...
tcp擁塞控制原理
擁塞控制原理 擁塞是指傳送資料太快太多,使得網路來不及處理。表現為 丟包 路由器緩衝區溢位 長時延 路由器緩衝區中排隊 控制擁塞兩類方法 1.端到端的擁塞控制 2.網路輔助的擁塞控制 主要機制有aimd 加增倍減演算法 慢啟動 aimd 乘性減,丟包事件後,擁塞視窗值減半 加性增,如沒有檢測到丟包,...
TCP擁塞控制
擁塞控制就是防止過多的資料注入到網路中,這樣可以使網路中的路由器或鏈路不致過載,擁塞控制要做的都有個前提,就是網路能夠承受現有的網路負荷。擁塞控制是個全域性性的過程。幾種擁塞控制方法 慢開始 擁塞避免 快重傳 快恢復 1.慢開始和擁塞避免 傳送方維持乙個叫做擁塞視窗的狀態變數,擁塞視窗取決於網路的擁...