文章目录
概要
本文介绍Wireshark的数据包常见报错提示,包括TCP PORT NUMBERS REUSED 和TCP WINDOW FULL以及TCP ZeroWindow与 TCP Window Update的出现原因和解决思路。废话不多说,我们开始吧
!!!!
1.TCP PORT NUMBERS REUSED 当四元组相同时会出现报错
例如以下图为例子:
当数据包重传的时候 wireshark检查发现 我上个连接还没断 我新的连接又是同样的四元组 源ip 端口 目的ip 端口一样 就会出现TCP PORT NUMBERS REUSED的提示
为什么会出现这个问题呢?
1.SYN报文重传导致
2.端口复用导致。
怎么快速判断是哪种原因导致的呢?
可以通过SEQ实时序列号来快速判断,(序列号一定要看实时开关哦-不知道可以自行百度)大家请看下图
1,2,3的数据包 seq大小一样,而4,5数据包大小不一样
那到底1,2,3,和4,5哪个是重传 哪个是端口复用呢。
聪明的小伙伴就发现了 我重传SYN 我肯定开始序列号得一样呀 但是我端口复用的话 我是新建一个会话 我肯定要随机生成一个不一样的SEQ,猜到的小伙伴请在评论区打猜到了。
2.TCP WINDOW FULL与TCP ZERO WINDOW之你怎么还不回我啊与我不行了。
如下图所示
TCP WINDOW FULL 表示我最多只能接受多少个 客户端你看着来发 但是客户端没有收到这个接受窗口出现的提示
TCP ZERO WINDOW 表示 我顶不住了 你别发数据包了
重复发TCP WINDOW FULL 表示客户端怎么还不回我啊,我不行我再发一个。
为什么会出现这个问题呢?
原因需要结合具体业务去排查 这个是网络带宽或者是服务器性能本身有瓶颈导致的
怎么解决呢?
具体排查出原因,带宽问题加带宽 服务器问题加配置,因地制宜,具体问题具体分析。
3.TCP Window Update 之我又行了 能工作了
前文有讲过TCP ZERO WINDOW 表示我饱和了无法处理数据了 那此时客户端不会再向服务端发送数据了 那什么时候发送数据呢
当服务器发送TCP Window Update 表示我当前可以正常接受数据了,那客户端就会继续往服务器发数据
为什么会出现这个问题呢?
原因需要结合具体业务去排查 这个是网络带宽或者是服务器性能本身有瓶颈导致的
怎么解决呢?
具体排查出原因,带宽问题加带宽 服务器问题加配置,因地制宜,具体问题具体分析。
小结
我TCP的研究比较多 TCP的也是互联网中涉及最多 也是最常见的那几个。点赞评论可以催更 下一期想看什么内容想学什么协议的可以在评论区说出来哦。也可以催更
标签:FULL,重传,TCP,助您,WINDOW,报错,数据包,客户端 From: https://blog.csdn.net/weixin_45247563/article/details/140445205