`
tcspecial
  • 浏览: 911807 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

TCP segment of a reassembled PDU

    博客分类:
  • OS
阅读更多

 

windows下wireshark抓包经常会出现"TCP segment of a reassembled PDU"提示:

pdu 

 

可通过wireshark的 Edit --> Preferences --> Protocols/TCP --> Allow subdissector to reassemble TCP streams 取消勾选该选项可消除提示:

continue 

 

 

网上大部分转载文章都在争论显示TCP segment of a reassembled PDU的ACK序号是一样的,所以显示提示,其实与ACK没啥关系。

问题的关键在于报文长度2194字节,已超出MTU的1500大小,所以提示TCP segment。

 

MTU Max Transmit Unit,1500,可通过ifconfig查看

MSS Max Segment  Size,1460=1500-20-20

PDU Protocol Data Unit

NIC传输的最大报文长度为1514字节=MTU+Ether=1500+14

 

那问题来了,2194字节报文为什么是正常的,为何没有经过IP分片?

因为现代OS支持网络分载(TSO)功能,由NIC代替CPU实现packet的分段和合并,节省系统资源,让系统处理更多的连接。

TSO TCP Segment Offload

LSO Large Segment Offload

GSO Generic Segment Offload 

LRO Large Receive Offload

RSC Receive Segment Coalescing 

 

发送过程:

Many operating systems and NIC drivers support TCP Segmentation Offload (TSO) aka Large Segment Offload (LSO) aka Generic Segment Offload (GSO). What this means is that the TCP stack sends a chunk of data for the NIC to break up into Maximum Segment Size (MSS) pieces to send on the network. TCP might hand the NIC 16k of data and the NIC will break it into MSS sized bites: 11 segments of 1460 bytes and one segment of the remaining 324 bytes. This offloads the task to the NIC and saves overhead on the host’s resources. It’s a performance thing.

   当TCP协议栈发送大块数据时,由NIC来进行分段。由于适配器硬件完成数据分段的速度比操作系统软件快得多,此功能可能会提高传输性能。此外,适配器使用的 CPU 资源较少。

 

接收过程:

Large Receive Offload (LRO) or Receive Segment Coalescing (RSC). The is the same thing but in reverse. The NIC coalesces TCP segments it receives from a remote host into larger packets before sending them up to the TCP stack. 

   过程与发送相反,NIC会将接收到的数据合并成大的数据包,然后发送至TCP/IP协议栈。如图wireshark工作在NIC和协议栈之间,抓取的是网卡上的数据,此时数据包长度可能大于MTU。

 

location

 

 

参考链接:

http://packetbomb.com/how-can-the-packet-size-be-greater-than-the-mtu/

http://rtodto.net/generic_segmentation_offload_and_wireshark/

https://en.wikipedia.org/wiki/Large_receive_offload 

 

 

 

  • 大小: 34.3 KB
  • 大小: 36.6 KB
  • 大小: 115 KB
分享到:
评论

相关推荐

    抓包时的提示分析

    1……tcp out-of-order(tcp有问题) 2……tcp segment of a reassembled PDU 3……Tcp previous segment lost(tcp先前的分片丢失) 等

    计算机网络Reports-2.pdf

    "Continuation or non-HTTP traffic DATA"和"TCP Segment of a Reassembled PDU"表示TCP如何处理大块数据的分片和重组。 在深入理解TCP/IP协议栈时,TCP分段和重组是关键概念。TCP保证了数据的可靠传输,即使数据被...

    作业四:用 Wireshark 分析 TCP segment1

    下面,我们将详细分析TCP连接的三个主要阶段:三次握手、数据传输和四次挥手。 **三次握手建立TCP连接** 当一个HTTP请求被发起时,客户端首先会向服务器发送一个SYN(同步序列编号)段,请求建立连接。在这个阶段...

    EDPF: A Realtime Parameter-Free Edge Segment Detector 实现

    文章《EDPF: A Realtime Parameter-Free Edge Segment Detector with a False Detection Control》的实现,已成功运行!边缘提取效果不错~

    doc.rar_doc_pdu_pdu c++

    在描述中提到的“分析信息传输的具体指令”,这可能涉及到了传输层,因为TCP/IP协议栈中的TCP(传输控制协议)和UDP(用户数据报协议)都会在数据传输时使用PDU。TCP的PDU被称为“段”,而UDP的PDU被称为“数据报”...

    Edge Drawing: A combined real-time edge and segment detector的实现

    Edge Drawing: A combined real-time edge and segment detector的实现,在最后连线的时候和论文略有区别,按照论文的方法有点问题,最后结果类似,看出问题的朋友可以私信我为什么。

    STACK1_SEGMENT_STACK.rar_STACK1 SEGMENT_stack segment stack

    在汇编语言的学习中,"STACK1_SEGMENT_STACK.rar_STACK1 SEGMENT_stack segment stack"这个标题提到了两个关键概念:栈段(Stack Segment)和栈(Stack)。栈在计算机科学中扮演着至关重要的角色,尤其是在汇编语言...

    pdu.rar_PDU ascii_pdu

    不同层次的PDU有不同的名称,如数据链路层的帧(Frame)、网络层的分组(Packet)、传输层的段(Segment)等。在无线通信领域,PDU通常指的是手机短信服务(SMS)中的协议数据单元,用于存储和传输短信内容。 标题...

    1000BASE-T1 Link Segment Type A

    ### 1000BASE-T1 Link Segment Type A:Open Alliance要求的TC9测试规范 #### 一、概述 1000BASE-T1 Link Segment Type A是针对高速以太网连接的一种技术标准,旨在为汽车和其他应用环境下的千兆以太网通信提供...

    PDU.rar_PDU编码_pdu

    在不同的协议层,PDU有着不同的名称,如在数据链路层被称为帧(Frame),在网络层被称为数据包(Packet),在传输层被称为段(Segment)。在本文中,我们将重点讨论与短信服务相关的PDU编码。 PDU编码是一种在GSM...

    Fatal Error[e72]: Segment FIQ_STACK must be defined in a segment definition option (-Z, -b or -P)

    使用IAR开发ADI的ADUC70XX系列单片机时,编译出现下面错误提示: Fatal Error[e72]: Segment FIQ_STACK must b

    Segment Routing

    标题:Segment Routing(段路由) 描述:比MPLS TE更好的技术 MPLS -SR PPT 标签:Segment Routing MPLS SR,MPLS TE 基于提供的文件内容,我们可以深入探讨Segment Routing(SR)这一概念,它被视为MPLS Traffic...

    LSD: a Line Segment Detector

    LSD(Line Segment Detector)是一种高效、精确且自适应的线段检测算法,能够在任何数字图像中检测出亚像素精度的线段。该方法由Rafael Grompone von Gioi、Jérémie Jakubowicz、Jean-Michel Morel 和 Gregory ...

    Laravel开发-segment

    在命令行中运行`composer require spatie/laravel-segment`,这将把Segment的包添加到项目的依赖列表并下载相关文件。 2. **配置服务**:在`config/app.php`中注册服务提供者,将`Spatie\Segment\...

    Segment Routing 特性微图

    Segment Routing(SR)是一种先进的网络路由技术,旨在简化网络架构并增强网络的灵活性。它基于源路由的概念,允许网络管理员预先定义数据包的传输路径,从而实现精细化的流量工程和高效的网络资源利用。 SR的核心...

    Design of a Planetary-Cyclo-Drive Speed Reducer

    go into production of such reducer to cover another segment of the market. The company is interested in supplying transmissions for robust systems and for various industrial purposes, where large ...

    Automatic Estimation and Removal of Noise from a Single Image

    We then estimate an upper bound of the real NLF by fitting a lower envelope to the standard deviations of per-segment image variances. For denoising, the chrominance of color noise is significantly ...

    Derivation of a 17 myocardial segment angiographic scoring system and its validation

    冠状动脉疾病是发达国家和发展中国家主要的死亡原因,精确评估冠状动脉病变的复杂性对于诊断和治疗至关重要。徐明星和贺永明的研究介绍了基于17节段心肌模型的冠脉评分系统,并对其进行了验证。...

    TCP-IP Winsock编程要点

    TCP Segment Size是TCP发送单个数据包的最大长度,默认值通常是1460字节,而接收和发送缓冲区通常设置为8192字节。如果一次性发送的数据超过1460字节,TCP会将其拆分为多个数据报进行传输。在同步编程中,这可能...

Global site tag (gtag.js) - Google Analytics