重傳率=重傳報文數/有效報文數其中有效報文數:指的是除了純ack包外的報文總數。
tcp重傳率是對網路質量的乙個體現。
簡單包裝netstat -s
的輸出可以計算出tcp重傳率。現成的指令碼如下:
#!/bin/bash
export path='/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin'
shelldir="$( cd "$( dirname "$" )" && pwd )"
netstat -s -t > /tmp/netstat_s >/dev/null
s_r=`cat /tmp/netstat_s | grep 'segments send out' | awk ''`
s_re=`cat /tmp/netstat_s | grep 'segments retransmited' | awk ''`
[ -e $/s_r ] || touch $/s_r
[ -e $/s_re ] || touch $/s_re
l_s_r=`cat $/s_r`
l_s_re=`cat $/s_re`
echo $s_r > $/s_r
echo $s_re > $/s_re
tcp_re_rate=`echo "$s_r $s_re $l_s_r $l_s_re" | awk ''`
echo $tcp_re_rate
發生重傳說明網路傳輸有丟包,基本上從3個點去定位:客戶端網路情況、服務端網路情況、中間鏈路網路情況 TCP 超時重傳
tcp是一種可靠的協議,在網路互動的過程中,由於tcp報文是封裝在ip協議中的,ip協議的無連線特性導致其可能在互動的過程中丟失,在這種情況下,tcp協議如何保障其傳輸的可靠性呢?t c p通過在傳送資料報文時設定乙個超時定時器來解決這種問題,如果在定時器溢位時還沒有收到來自對端對傳送報文的確認,它...
tcp超時重傳
重傳定時器 tcp 必須維護乙個重傳定時器,以進行超時重傳 問題 如何設定超時時間間隔 rto?時間間隔太短則可能導致大量不必要的重傳 太長則導致效能下降 tcp 採用了乙個高度動態的演算法,來不斷的調整時間間隔,這個演算法就是 jacobson 1988 演算法 在此演算法中,tcp 需要維護幾個...
TCP重傳機制
tcp進行傳輸時,發出去的請求包在規定時間內沒有收到ack,不管是請求包丟失,還是ack包丟失,還是網路延遲,總之,這裡都是需要有個重傳機制的。常見的導致重傳情況有 資料報傳輸途中丟失 接收端的ack確認報文在傳輸途中丟失 接收端異常未響應ack或被接收端丟棄。tcp的重傳機制有兩種 超時重傳和快速...