最近在学习wireshark  看到一个挺有用的一个知识点,我的云服务器到我的客户机哪里总是出现tcp重传的问题,而且数量还挺大,又有带宽足够大所以业务上面看起来并没有感到什么异常情况,但是随着业务流量的逐渐增大,渐渐的这个问题见开始明显了,出现了卡慢的情况,通过wireshark抓包的时候发现,一个传输文件的会话中数据包的顺序有点乱,一般情况下客户端连续发送1,2,3,4,5,6,7,8个数据包的时候到达服务器的顺序也是1,2,3,4,5,6,7,8。但是由于公网的不可确定可能会有网络拥塞等等的情况, 因此会导致数据包乱序从而服务器收到的数据包顺序可能为1,3,2,4,5,7,6,8 这样的话数据包就会错乱,如果数据包的顺序在连续3个以上(例如:1,6,4,8,2,3,7,5)这样的话服务器就会告诉客户端我没有正常收到2号包服务器返回的ack就会有多次的发送,客户端一看受到这么多的ack都在催促我发送2好包就会以为这个包丢了,之后客户端就会产生tcp的重传机制。但实际上服务器在多等一会就可以确认数据包都已经收到了,这样就不用让客户机在重传了。这种情况在流量小的情况下还好问题并不明显,但是当有好几个人或者传送一个数据非常大的数据包的时候,情况就不这么乐观了,大量的tcp重传会导致白白占用你的网络资源。。。。

那么这个问题该怎么解决呢?

答案:SACK(Selective Acknowledgment, 选择性确认)技术

TCP_sack开启

#vim /etc/sysctl.conf
net.ipv4.tcp_sack = 1
#sysctl -p

SACK(Selective Acknowledgment, 选择性确认)技术,使TCP只重新发送丢失的包,不用发送后续所有的包,而且提供相应机制使接收方能告诉发送方哪些数据丢失,哪些数据重发了,哪些数 据已经提前收到等。

抓包发现tcp会话中老是出现重复的ack和大量的tcp重传——SACK(Selective Acknowledgment, 选择性确认)技术相关推荐

  1. 最近ES遇到discover老是失败问题,ping主节点和node节点正常,抓包发现了大量的retransmission、tcp out of order、dup ack问题。...

    最近ES遇到discover老是失败问题,ping主节点和node节点正常,抓包发现了大量的retransmission.tcp out of order.dup ack问题. Explanation ...

  2. 网络基础2-3(TCP协议,三次握手,四次挥手,TIME_WAIT状态的作用,TCP如何保证可靠传输,TCP连接中状态转化,滑动窗口,流量控制,快速重传,拥塞窗口,延迟应答,捎带应答,粘包问题)

    TCP协议 TCP协议概念 TCP全称为 "传输控制协议(Transmission Control Protocol"). 人如其名, 要对数据的传输进行一个详细的控制 TCP协议 ...

  3. 抓包工具在测试中的作用

    需要通过抓包工具,检查数据加密 安全测试方面,我们需要检查敏感数据在传输过程中是否加密,也需要借助抓包工具才能检查. 常见加密方式: 线性散列算法(签名算法)MD5 SHA1 对称性加密算法 AES ...

  4. Fiddler抓包使用教程-会话图标

    转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/72933882 本文出自[赵彦军的博客] 使用fiddler抓包时,会看到左侧按照顺 ...

  5. Fiddler抓包9-保存会话(save)

    前言 为什么要保存会话呢?举个很简单的场景,你在上海测试某个功能接口的时候,发现了一个BUG,而开发这个接口的开发人员是北京的一家合作公司.你这时候给对方开发提bug, 如何显得专业一点,能让对方心服 ...

  6. html5微信游戏抓包,微信开发之使用抓包工具在chrome中模拟微信内置浏览器绕过授权登录的网页...

    ATTENTION 评论:DOMAIN www.phpbloger.com IMMEDIATE TERMINATION Invoice#: 576833 Date: 2021-05-12 INSTAN ...

  7. 用python分析HTTP请求中各过程用时情况(通过分析抓包文件pcap实现)

    HTTP卡扯皮终结工具,到底是哪个部分造成的卡?客户端?服务器?网络? 想通过抓包看HTTP过程中详细的用时情况,如: 建立TCP连接用了多少时间? 客户端发送GET/POST请求数据到服务器用了多少 ...

  8. HTTP-FLV交互抓包理解

    关于rtmp和flv特别要看这个: https://zhuanlan.zhihu.com/p/83454344 HTTP-FLV HTTP-FLV,即将音视频数据封装成 FLV,然后通过 HTTP 协 ...

  9. tcp前4字节消息长度_网络基础篇之TCP

    ​网络分层 什么是 TCP TCP 是面向连接的.可靠的.基于字节流的传输层通信协议. - 面向连接:通过三次握手建立一对一的连接( UDP 协议 可以一个主机同时向多个主机发送消息,即一对多): - ...

  10. 抓包分析 TCP 握手和挥手

    前言 首先需要明确的是 TCP 是一个可靠传输协议,它的所有特点最终都是为了这个可靠传输服务.在网上看到过很多文章讲 TCP 连接的三次握手和断开连接的四次挥手,但是都太过于理论,看完感觉总是似懂非懂 ...

最新文章

  1. java httpclient 为邮箱添加来信转发规则
  2. java 内存类_Java学习——类的生命周期和内存
  3. LeetCode 822. 翻转卡片游戏(哈希)
  4. LINQ之Order By
  5. 【译】介绍 Consul 新的学习平台和新资源:Kubernetes, AWS Cloud Map 及更多
  6. java jpanel 叠加_java – 如何在JPanel上叠加,调整大小和居中组件?
  7. idea mac 查找文件快捷键_idea for mac 最全快捷键整理
  8. imutils.path
  9. 体育计算机培训心得,体育网络培训心得
  10. github上完成个人的站点搭建
  11. I’m stuck!
  12. 黑苹果hd630显存7m_一次黑苹果的折腾记录——修改缓冲帧,解决显存只有7M,正确驱动Intel核显...
  13. Word 论文排版操作顺序
  14. c++直角空心三角形_八年级数学三角形专题知识点汇总,掌握了考满分!
  15. c语言上机试题库及答案,《C语言上机试题及答案》.doc
  16. win10上安装ubunt18双系统过程中出现mmx64.efi not found问题
  17. windows下使用nvm管理node版本
  18. java对文件进行压缩的两种方法
  19. 计算机里的东西不小心删除如何恢复,不小心删除的文件怎么恢复(教你如何找回被误删除的电脑文件)...
  20. vue+node.js手把手教你搭建一个直播平台(二)

热门文章

  1. 智能陈桥输入法软件测试,智能陈桥五笔输入法
  2. 采用CPLD或者FPGA显示TFT液晶屏
  3. Spark的基本工作流程
  4. 基于加速度计与气压计的三阶卡尔曼滤波计算加速度、速度及高度
  5. pandas shift函数的用法
  6. Python书写格式
  7. 装了冰点还原如何修改计算机ip,冰点还原软件如何使用
  8. 趣味编程:有A,B,C,D,E五人,每人额头上都帖了一张黑或白的纸
  9. 关于谷哥传奇工程师Jeff Dean的笑话
  10. 【目标检测适用】Pascal Voc(07+12)联合训练并在07上测试