TCP(四)

本文探讨了TCP连接中的一些细节问题,包括:当客户端尝试连接未开启的服务器时的操作,连接建立后一方突然挂断的影响,SYN Flood攻击及防御措施,TCP并发挥手的场景,接收方窗口大小为0或很小时的处理,以及Nagle算法的工作原理和应用场景。此外,还解释了SO_REUSEADDR和SO_REUSEPORT的区别和作用。
摘要由CSDN通过智能技术生成

前言

tcp大致的知识前面都已经介绍完毕了,本文我们再回答一些tcp的细节问题。

client连接server时,如果server未开启,或监听的端口不是client连接的端口,会发生什么事情?

我们还是使用TCP(三)中使用的server和client程序,先不启动server,仅启动client,使用wireshark抓包。
在这里插入图片描述
程序运行失败,error被设置为connection refused,下面我们看看wireshark:
在这里插入图片描述
从抓包情况来看,client向端口9007发起连接,此时操作系统为client随机分配一个端口,但由于9007没有tcp监听,因此9007端口发出了一条rst复位报文,client不再请求。

假设已经建立连接,此时一方突然挂了,另一方会怎么样?

这里挂掉的一方必须是突然挂掉,比如电脑断电或断网之类,直接退出内核还是会完成四次挥手的过程,如果突然挂掉的话,另一方会默认重试5次,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值