tcp超时重传(RTO)之karn算法及其简要实验

本文通过一个简单的实验介绍了TCP的超时重传机制,特别是Karn算法。实验中,使用telnet尝试连接不存在的IP和端口,展示了TCP在连接失败时如何逐步增加重传间隔(RTO),从1s到2s再到4s,以此类推,直到达到超时限制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        我们都知道, 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
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值