Newreno

Newreno

Newren Newren Newren

目錄

正文


TCP Newreno
NewReno是reno演演算法的改進版.NewReno 沒有選用SACK 方法, 而是儘力避免了Reno在快速恢復階段的許多重傳超時, 利用一個ACK 確認部分發送窗口, 立即重傳餘下的數據包。顯然,NewReno只需修改源端代碼. 綜合來看, 即使源端不通過等待超時來恢復一個窗口數據中丟失的包, Reno 和NewReno 在一個RTT內也至多只能重傳一個丟棄的包.
TCP Newreno是基於窗口反饋機制的端到端擁塞控制演演算法,即發送方根據接收到的反饋包(ACK包)所攜帶的信息,決定如何調整擁塞窗口的大小。該演演算法是快速恢復演演算法的改進,考慮了一個發送窗口內多個報文丟失的情況。在Reno快速恢復演演算法中,當發送方收到一個不重複的應答后就退出快速恢復狀態,而Newreno演演算法中,只有當所有報文都被應答后才退出快速恢復狀態。
TCP Newreno利用一種Partial ACK包在快速恢復階段觸發數據包的重傳。Partial ACK包是指當一個窗口出現多個分組丟失時,確認了部分發送分組的重傳分組的ACK包。數據傳輸過程中有多個分組丟失后,Newreno在快速恢復階段每隔1個往返延遲(RTT)重傳1個丟失的分組,直到擁塞窗口的所有丟失分組都被重傳。當在快速恢復階段接收到第1個Partial ACK時,將重傳定時器複位。