`

tcp协议timestamp字段导致问题分析

 
阅读更多
1.现象 不同主机C1,C2上的相同模块(开启timestamp),通过NAT网关(1个出口ip)访问同一服务S,主机C1 connect成功,而主机C2 connect失败
2.分析 根据现象上述问题明显和tcp timestmap有关;查看linux 2.6.32内核源码,发现tcp_tw_recycle/tcp_timestamps都开启的条件下,60s(timewai时间)内同一源ip主机的socket connect请求中的timestamp必须是递增的。
 
3.验证
server端当tcp_tw_recycle和tcp_timestamps都是1的时候,会检查收到数据包TCP选项字段中的的timestamp(TS Value),当来自同一个IP地址(任意源端口号)后来的数据包中TCP选项字段如果有timestamp且比前面的数据包中的timestamp小,则server不做ACK响应
 
4.解决方法
1.服务器端不要将tcp_tw_recycle字段和tcp_timestamps字段同时设为1
2.客户端把tcp_timestamps字段设0,这样不会发送TCP选项字段中的timestamps选项
对于服务提供方1较适合
 
引用:
个人建议关闭tcp_tw_recycle选项,而不是timestamp;因为 在tcp timestamp关闭的条件下,开启tcp_tw_recycle是不起作用的;而tcp timestamp可以独立开启并起作用。
分享到:
评论

相关推荐

    新大陆物联网云平台TCP设备接入协议

    【新大陆物联网云平台TCP设备接入协议】是一个专为Android设计的协议,旨在帮助设备通过TCP连接接入新大陆物联网云平台。此协议基于TCP,并且全部以JSON格式定义,确保数据传输的有效性和安全性。以下是该协议的详细...

    2、常见协议字段及语法.pdf

    常见的协议字段和语法对于理解和分析网络流量至关重要。本文主要介绍了日志检索语法和网络协议的一些关键字段。 首先,我们关注日志检索语法。日志检索系统通常支持布尔运算符,包括AND、OR和NOT,这三种运算符可以...

    T/TCP实现: TCP概要

    protosw结构中的pr_flags字段在T/TCP中被更新,新增了PR_IMPLIPOPCL标志,允许在未建立连接时发送数据,并在指定MSG_EOF时发送PRU_SEND_EOF请求,而不是PRU_SEND。同时,定义了tcp_sysctl函数,使系统管理员可以通过...

    被动式TCP_IP指纹识别操作系统

    这些特征能够反映在数据包的头部字段,例如TCP窗口大小、最大报文段大小(MSS)、生存时间(TTL)、窗口扩大因子(TCP Window Scale)、选择性确认(SACK-permitted)、无操作(NO OP)、短片段选项、时间戳(Timestamp)、SYN和...

    log_tcp_源码

    10. **TIMESTAMP (时间戳)**:TCP头中的可选字段,用于精确计算往返时间(RTT),帮助优化超时重传的决策。 在"log_tcp_源码"中,可能会涉及如何解析和处理这些TCP参数,以及如何在实际编程中实现TCP通信。源代码会...

    5┃音视频直播系统之 WebRTC 中的协议UDP、TCP、RTP、RTCP详解.doc

    在 RTP 协议中,为了解决音视频数据流的传输问题,我们可以通过序号、时间戳、负载类型等字段来组装数据。例如,如果我们收到了以下的音视频数据: {V=2,P=0,X=0,CC=0,M=0,PT:100,seq:14,ts:123456789,ssrc=888}, {...

    ICMP协议报文格式和协议解析

    ICMP报文可以被IP层或更高协议(TCP或UDP)使用。一些ICMP报文把差错报文返回给用户进程。 ICMP协议的工作流程如下: 1. ICMP报文的发送:当网络出现错误或需要诊断时,ICMP报文将被发送。 2. ICMP报文的传输:...

    NTP协议规范简介分析

    NTP协议的数据包结构包含多个字段,如版本号、模式、报文类型、Leap Indicator(闰秒指示)、Stratum(层次)、Poll Interval(轮询间隔)、Precision(精度)、Root Delay(根延迟)、Root Dispersion(根分散)、...

    tcpip详解卷3.不错

    - 向后兼容性:讲解了T/TCP与标准TCP之间的兼容性问题及解决方案。 #### 三、T/TCP协议深入研究 - **端口号与TIME_WAIT状态**:介绍了客户端使用的端口号以及TIME_WAIT状态的设置目的,并讨论了如何优化TIME_WAIT...

    平台协议使用要求1

    - **协议请求和应答格式**:请求数据包含timestamp、sign、data等字段,其中sign是基于特定密钥和方法(如MD5)加密生成的。应答数据包括resultCode、reslultMsg、timestamp和data等字段,resultCode表示系统编码,...

    icmp报文类型说明

    8. **时间戳(Timestamp,类型13)** 和 **时间戳应答(Timestamp Reply,类型14)**: - 用于网络时钟同步。 9. **信息请求(Information Request,类型15)** 和 **信息应答(Information Reply,类型16)**: ...

    QQ2007协议分析

    QQ2007协议分析是针对腾讯公司2007年版本的QQ即时通讯软件进行的网络通信协议解析。这个分析主要关注QQ如何通过网络进行用户登录、消息传输和其他功能的实现。QQ协议是一个复杂的系统,它涉及到多个层面的技术,包括...

    ICMP协议介绍

    ICMP是TCP/IP协议族的一个组成部分,主要功能包括错误报告、网络拥塞通知、路由重定向以及测试目的主机或路由器的可达性等。 #### 二、ICMP协议的作用与应用场景 1. **错误报告**:当IP数据包在网络传输过程中遇到...

    MSN语音识别数据包分析

    综上所述,分析MSN语音识别数据包涉及到理解TCP协议的特性、RTP协议的首部字段及其作用,以及MSN特定的控制命令和数据包格式。通过对这些知识点的深入理解,可以有效地解析和识别MSN的语音聊天和文字聊天流量。

    RTMP协议分析

    分块机制有助于避免高优先级数据因低优先级数据的持续发送而被阻塞,进而导致视频播放卡顿等问题。 #### 三、深入理解 ##### 3.1 Message的结构 Message的结构主要包括以下几个字段: - **Timestamp**:表示消息...

    IP协议报文格式和协议解析

    * 协议(8 bit):表示上层协议的类型,例如 ICMP、IGMP、UDP、TCP 等。 * 首部校验和(16 bit):用于检查 IP 首部的完整性。 * 源 IP 地址(32 bit):表示数据报的源 IP 地址。 * 目的 IP 地址(32 bit):表示...

    Go-通过TCP轻松将结构化日志发送到Datadog

    本教程将深入探讨如何使用Go语言通过TCP协议将结构化日志发送到Datadog,以便进行集中式日志管理和分析。 首先,了解Datadog。Datadog是一款强大的云基础设施监控服务,它提供了日志管理、性能监控、APM(应用程序...

    UWB QT-JAVA通信协议-吴洪亮-201712181

    该协议的主要目的是确保QT应用(通常运行在设备端,如智能手环)能够准确无误地将收集到的数据上报至JAVA TCP服务器,以便进行后续的数据处理和分析。 **2. 文档说明** 这份文档详细定义了QT服务端向JAVA TCP服务端...

    ICMP:Internet控制报文协议

    ICMP报文既可以被IP层使用,也可以被更高层协议(如TCP或UDP)使用。此外,部分ICMP报文还会直接向用户进程报告错误。 #### 二、ICMP报文结构 ICMP报文封装于IP数据报内,具体结构如图6-2所示。所有ICMP报文的前4...

    1111网络协议详解.doc

    ICMP,全称为Internet Control Message Protocol,即网际控制消息协议,是TCP/IP协议族中的一个重要组成部分。其主要功能是用于网络故障检测和报告,帮助网络设备如路由器和主机间传递错误信息或状态更新。在日常...

Global site tag (gtag.js) - Google Analytics