![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
TCP
文章平均质量分 67
反正CPU闲着也是闲着
这个作者很懒,什么都没留下…
展开
-
使用systemtap追踪网络活动
使用systemtap追踪网络活动原创 2022-12-04 15:38:10 · 523 阅读 · 1 评论 -
应用层如何感知传输层链路故障
比如,一条普通的http连接底层依赖了一条普通的tcp连接,当某些故障导致tcp断掉了,http如何感知呢?结论:tcp连接本质上是逻辑上的连接,依靠两边的操作系统内核维护了一些变量来表示连接的不同状态,所以只有在两端间真正有数据包传送的时候,才可能会改变现有的逻辑状态到一个新状态。原创 2022-09-04 09:56:41 · 625 阅读 · 0 评论 -
使用http作为消息投递协议的潜在问题(在实际业务中结合TCP协议的抓包分析)
情景抓包结合tcp协议分析”为什么会发送两次请求“,这导致了我们的一个消息重复的问题。先说结论,大概原因就是因为网络阻塞,发送的第一次请求,实际已经到达服务端,服务端已经写入MQ,但是由于相关ack并没有返回给客户端,客户端认为发送失败,于是就执行了重传逻辑,进行了第二次的发送,导致了消息写入MQ写了两次而出现了重复消息。第一次请求分为"5"和"6"两个ip,下面是详细的过程解释:第一...原创 2019-10-20 20:55:52 · 286 阅读 · 1 评论 -
TCP协议的seq、ack的计算与实际中tcp断开的优化
TCP协议的seq、ack的计算与实际中tcp断开的优化wireshark显示的seq是相对序号seq与ack都为4个字节当连接建立后,每个包都必须把ACK置为1,并携带ackseq的语义序号范围[0,2^32-1],序号增加到 2^32-1 后,下个序号又回到 0。tcp是面向字节流的,每个字节流都会被按顺序编号,seq指的是当前包的第一个字节在整个数据流中应该在的位...原创 2019-10-20 20:52:14 · 681 阅读 · 0 评论