本文主要是介绍tcp超时重传(RTO)之karn算法及其简要实验,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
我们都知道, tcp是面向连接的可靠传输, 其中的超时重传是可靠性保证之一。 好了, 不扯那么多理论了, 本来来玩一个简要的实验。
前面说过了, telnet ip port命令是在向ip, port发起tcp连接, 假如这个ip, port不存在, 那么客户端自然连接不上, 那么客户端不会因为一次失败而气馁。
试想一下, 你电话给你女朋友, 但你女朋友没有接, 你当然可以1分钟后再打啦, 如果还不接, 那就再等2分钟后打, 如果还不接, 那就再等4分钟后打, 如果还不接, 再等8分钟后打, 如果还不接, 继续, 租后估计你耐心也没有了, 超出你的心理预期了, 超时了。
废话少说, 来看看:
xxxxxx$ telnet 1.1.1.1 80
Trying 1.1.1.1...
telnet: connect to address 1.1.1.1: Connection timed out
xxxxxx$
抓包结果为:
xxxxxx$ sudo tcpdump -iany host 1.1.1.1 -Xnlps0
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on any, link-type LINUX_SLL (Linux cooked), capture size 65535 bytes
10:20:3
这篇关于tcp超时重传(RTO)之karn算法及其简要实验的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!