zoukankan      html  css  js  c++  java
  • TCP报文之-tcp dup ack 、tcp Out-of-Order


    原文链接:https://blog.csdn.net/chenfengdejuanlian/article/details/53761004

    使用WireShark抓包,选择TCP报文,TCP是一种安全的协议,在网络出现状况时也能安全稳定的传输数据,但是在网络出现问题时tcp报文中会有很多中情况导致报文重传或者是重组。现在就在报文中遇到的几个问题来详细说明一下。
    WireShark出现的常见提示
    TCP Out_of_Order的原因分析:
    一般来说是网络拥塞,导致顺序包抵达时间不同,延时太长,或者包丢失,需要重新组合数据单元,因为他们可能是由不同的路径到达你的电脑上面。
    TCP Retransmission原因分析:
    很明显是上面的超时引发的数据重传。
    TCP dup ack XXX#X原因分析:
    就是重复应答#前的表示报文到哪个序号丢失,#后面的是表示第几次丢失。
    tcp previous segment not captured原因分析
    意思就是报文没有捕捉到,出现报文的丢失。
    下面就详细的报文进行分析:

    1221:seq:8321,ack:18292,len:0,
    所有下一条报文的应该是seq:18292,ack:8321,但是在1230报文段出现报文丢失,该报文seq:27392,ack:8321,所以出现了报文的丢失,
    所有在1232到1238都是为了补全seq从18292到27392的报文段。

    1439显示报文丢失seq:53800,ack:9765
    1438 seq:51200,:ack:9765,len:1300
    所以1439的seq应该是51200+1300=52500,但是1439直接到了53800所以出现丢包情况,在1440重新发送52500到53800的数据包。

    1587的意思是出现丢包了,未收到之前的数据包,也要进行重传或者重组,1586的ack=211249,也就是要求server端下次发送seq=211249的包,结果 1587发送的数据包seq=212261.说明server端收到过client端发送的数据包ack=212261,则判断之前的一个数据包未收到。

  • 相关阅读:
    leetcode
    leetcode
    [Cocos2d-x + c++]Tableview使用总结
    Windows上安装huginn
    移动端性能测试工具PerfDog
    Centos7配置静态IP地址
    Loadrunner11录制手机APP脚本
    使用VirtualDub数视频时间
    Maven Windows安装和配置
    JMeter安装和配置
  • 原文地址:https://www.cnblogs.com/yanwei-wang/p/12332592.html
Copyright © 2011-2022 走看看