TCP重传题目的排查思绪与实践
TCP有重传是正常的机制,为了保障数据传输靠得住性。只是局域网情形,收集质量有保障,由于收集题目呈现重传应该极低;互联网或城域网情形,线路伟大(可以想象下都市地下管网,错综伟大的电线杆等),收集质量欠好保障,重传呈现概率较高。 TCP有重传,也不必然是收集层面的题目。也也许是吸取端不存在,吸取端receive buffer满了,应用措施有非常链接未正常封锁等等等。 2、TCP/IP相干 排查收集题目,要把握TCP/IP道理,实情都在一个一个的数据包里。以下是和TCP重传较量要害的几个参数。 2.1 成立TCP链接时的参数 2.2 TCP重传范例 超时重传 在哀求包发出去的时辰,开启一个计时器,当计时器到达时刻之后,没有收到ACK,则就举办重发哀求的操纵,一向重发直到到达重发上限次数可能收到ACK。 快速重传 当吸取方收到的数据包是不正常的序列号,那么吸取方会一再把应该收到的那一条ACK一再发送,这个时辰,假如发送方收到持续3条的统一个序列号的ACK,那么就会启动快速重传机制,把这个ACK对应的发送包从头发送一次。详细可以参考: 3、常见题目与法子 3.1单台呆板或单个应用呆板tcp重传 也许是链接的处事器或端口无法会见 排查思绪 3.2 多台呆板或多个应用同时tcp重传 也许是收集发抖 排查思绪 1查察收集地区埋点,查察收集装备报警,看是否有地区收集发抖2地区收集没题目的话。可以用常见题目:的要领缩小排查范畴 3.3 带宽跑满 排查思绪 1、查察主机监控 3.4 不常见题目 1 收集装备端口或光模块非常等导致包checksum失败 2 收集路由收敛发抖 3 主机收集驱动有bug,收集装备有bug等 4、怎样监控 行使tsar -tcp -C 可以监控到tcp的retran属性也等于重传次数。 tsar --tcp -C | sed 's/:/_/g;s/=/ /g' | xargs -n 2 感乐趣的伴侣可以直接执行以下监控剧本获取tcp相干的状态监控数据,合用于open-falcon。 5、案例实践 (1)在碰着丢包重传的呆板上抓包并行使wireshark 说明该包,留意由于重传不是时候都有的,以是抓包呼吁是要一连执行以便捕获到重传的包。行使wireshark打开tcpdump的功效,在搜刮框里入手tcp.analysis.retransmission 获得如下功效: 图1 表白处事端产生了三次重传举措。 (2)因为包较量多,我们可以行使wireshark的追踪流成果获取重传相干的tcp流。 图二 追踪流-->TCP流 可以获得重传相干的数据包 图三 可以看出客户端和处事端的哀求与应答。 (3)理会重传 出格必要声名的是: NO 67,68 client端因为某些缘故起因没有收到正确的包数据,向server端发送dup ack,参考基本常识提到的快速重传 NO.68和NO.69之间的时刻差200ms(存眷time那一列,其他都是相差小于1ms),server守候超时,于是重传。 NO 73-74是client端发送了一个fin包并主动封锁毗连。 这个案例仅仅产生一次,没有复现,通过抓包理会出来说明没有获得明晰的结论。 (编辑:河北网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |