FAST TCP(也写作FastTCP)是一种TCP拥塞避免算法在长距离,高延迟链路特别是有针对性的,在网络实验室开发的,加州理工学院,现在被商业化FastSoft。 FastSoft是在2012年收购了Akamai的技术
FastTCP与现有的TCP算法兼容,无需修改只到发送数据的计算机。
大多数当前的拥塞控制算法检测拥塞和减速时,他们发现该数据包被丢弃,使平均发送速率取决于损失概率。这具有两个缺点。首先,低丢失概率必须维持高数据传输率在TCP中里诺的情况下,非常低的丢失概率是必需的,但即使是新的拥塞避免算法,如H-TCP,BIC TCP和HSTCP需要损失率比由多数无线广域网提供低。此外,分组丢失仅提供关于拥塞等级信息的单个比特,而延迟时间为一个连续量并原则提供有关网络的更多信息。
BEGIN {highest_packet_id = -1
pkt_sent_cnt = 0
pkt_rcv_cnt = 0
pkt_drop_cnt = 0
Total_delay = 0
pkt_cnt =0
init = 0
i = 0
}
{
action = $1
time = $2
NodeId=$3
Layer = $4
packet_id = $6
pktsize = $8
if((action == "r") &&(Layer == "AGT")) {
pkt_byte_sum[i + 1] = pkt_byte_sum[i] + pktsize
if(init == 0) {
start_time = time
init = 1
}
end_time[i] = time
i++
pkt_rcv_cnt++
if(Layer == "AGT")
delay_end_time[packet_id] = time
}
else if (action == "s") {
if (highest_packet_id <packet_id) {
highest_packet_id = packet_id
if (delay_start_time[packet_id] == 0)
delay_start_time[packet_id] = time
}
pkt_sent_cnt++
}
else
pkt_drop_cnt++
}
END {
for (k = 0k <= highest_packet_idk++) {
duration = delay_end_time[k] - delay_start_time[k]
if (delay_end_time[k] >delay_start_time[k]) {
Total_delay = Total_delay + duration
pkt_cnt++
}
}
printf("sent: %d\n",pkt_sent_cnt)
printf("recv: %d\n",pkt_rcv_cnt)
printf("drop: %d\n",pkt_drop_cnt)
printf("per: %.4f\n",pkt_drop_cnt/pkt_sent_cnt)
printf("Total_delay:%fs\nAvg_delay:%fms\n",Total_delay,1000*Total_delay/pkt_cnt)
th = pkt_byte_sum[i-1] * 8 / (end_time[i-1] - start_time) / 1000
printf("throughput: %.2f kbps \n", th)
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)