服务端发送的第三次挥手的序列号和确认号还是和第二次挥手中的序列号和确认号一样 。
- 序列号设置为 server_isn + 1 。
- 确认号设置为 client_isn + 12 。
- 序列号设置为 client_isn + 12 。客户端上一次发送的报文是 FIN 报文,该报文的 seq = client_isn + 11 , 根据公式 1(_序列号 = 上一次发送的序列号 + len 。特殊情况,如果收到报文是 SYN 报文或者 FIN 报文 , 则改为 + 1_),可以得出当前的序列号为 client_isn + 11 + 1,也就是 client_isn + 12 。
- 确认号设置为 server_isn + 2 。客户端上一次收到的报文是服务端发来的 FIN 报文,该报文的 seq = server_isn + 1,根据公式 2(_确认号 = _上一次_收到的序列号 + len , 特殊情况,如果收到报文是 SYN 报文或者 FIN 报文,则改为 + 1_),可以得出当前的确认号为 server_isn + 1 + 1,也就是 server_isn + 2 。
文章插图
在这里插入图片描述
套入我的万能公式 , 发送的 TCP 报文:
- 公式一:序列号 = 上一次发送的序列号 + len(数据长度) 。特殊情况,如果上一次发送的报文是 SYN 报文或者 FIN 报文,则改为 上一次发送的序列号 + 1 。
- 公式二:确认号 = 上一次收到的报文中的序列号 + len(数据长度) 。特殊情况,如果收到的是 SYN 报文或者 FIN 报文,则改为上一次收到的报文中的序列号 + 1 。
怎么样,学废了吗,溜啦溜啦!
更多网络文章网络基础篇
- TCP/IP 网络模型有哪几层?
- 键入网址到网页显示 , 期间发生了什么?
- Linux 系统是如何收发网络包的?
- HTTP 常见面试题
- HTTP/1.1如何优化?
- HTTPS RSA 握手解析
- HTTPS ECDHE 握手解析
- HTTPS 如何优化?
- HTTP/2 牛逼在哪?
- HTTP/3 强势来袭
- 既然有 HTTP 协议,为什么还要有 RPC?
- TCP 三次握手与四次挥手面试题
- TCP 重传、滑动窗口、流量控制、拥塞控制
- TCP 实战抓包分析
- TCP 半连接队列和全连接队列
- 如何优化 TCP?
- 如何理解是 TCP 面向字节流协议?
- 为什么 TCP 每次建立连接时,初始化序列号都要不一样呢?
- SYN 报文什么时候情况下会被丢弃?
- 四次挥手中收到乱序的 FIN 包会如何处理?
- 在 TIME_WAIT 状态的 TCP 连接,收到 SYN 后会发生什么?
- TCP 连接,一端断电和进程崩溃有什么区别?
- 拔掉网线后,原本的 TCP 连接还存在吗?
- tcp_tw_reuse 为什么默认是关闭的?
- HTTPS 中 TLS 和 TCP 能同时握手吗?
- TCP Keepalive 和 HTTP Keep-Alive 是一个东西吗?
- TCP 有什么缺陷?
- 如何基于 UDP 协议实现可靠传输?
- TCP 和 UDP 可以使用同一个端口吗?
- 服务端没有 listen,客户端发起连接建立,会发生什么?
- 没有 accpet,可以建立 TCP 连接吗?
- 用了 TCP 协议,数据一定不会丢吗?
- IP 基础知识全家桶
- ping 的工作原理
推荐阅读
- 二 SpringCloud - Eureka注册中心,feign远程调用,hystrix降级和熔断
- 其三 Gitea 1.18 功能前瞻:增强文本预览效果、继续扩展软件包注册中心、增强工单实用功能、完善了用户邀请机制和SEO
- 华为watch3pro尊享版和时尚版区别_哪款更值得入买
- 雅萌ace和max的区别_雅萌ace和max的参数
- 真我q3和q3s有什么区别_真我q3和q3s参数对比
- SQL 报表制作和整形
- 跟我学Python图像处理丨图像特效处理:毛玻璃、浮雕和油漆特效
- AngouriMath:用于C#和F#的开源跨平台符号代数库
- 荣耀v40和华为nova8性价比哪个高
- 【vue2】Style和Class,条件,列表渲染,双向数据绑定,事件处理