zoukankan      html  css  js  c++  java
  • 关于在Wireshark中注意到TCP传输长度大于MSS的现象

    关于在Wireshark中注意到TCP传输长度大于MSS的现象

    在进行TTCP传输的实验复习TCP的过程中,注意到某些报文段的数据长度要大于MSS。

    在https://osqa-ask.wireshark.org/questions/24699/tcp-packet-length-was-much-greater-than-mtu/找到了答案:

    Probably you captured on the host that transmitted the oversized packet, and TCP Large Segment Offload is enabled. (Sometimes abbreviated TSO and sometimes LSO.) The operating system is passing packets larger than MTU to the network adapter, and the network adapter driver is breaking them up so that they fit within the MTU. If you capture from the wire, instead of from an endpoint involved in the communication, you will see that the packets are correctly sized when they are transmitted. This is one reason of several to capture from the wire, instead of on an endpoint.

    TSO is a performance enhancement, but you can turn it off, in which case, the OS will no longer generate oversized frames.

    To show the size of the TCP segment, add a custom column using the field "tcp.len".

    简单来说就是为了优化处理大包传输,将TCP分段的功能下放到网络适配器中,处理网络的性能。

    如果不是在主机抓包而是在网络传输过程中抓包就不会超过MSS。其实也有另外的证明就是另一端传输过来的ACK不是以2920递增的,而是以1460递增的,这个需要关闭Nagle算法。

    还有一个问题就是:为什么TCP并未表现出传统所学的拥塞避免算法???中文网络并未解释,再找找。

  • 相关阅读:
    JavaScript中需要注意的几个问题
    前端编码规范之JavaScript
    那些年,我们一起玩过的响应式布局
    前端编码规范之CSS
    一个不陌生的JS效果-marquee,用css3来实现
    解读jQuery中extend函数
    字体大小自适应纯css解决方案
    浅谈叶小钗面试的几个问题
    【Python开发】C和Python之间的接口实现
    【Python开发】【编程开发】各种系统的清屏操作命令
  • 原文地址:https://www.cnblogs.com/manch1n/p/15331005.html
Copyright © 2011-2022 走看看