本文是《TCP异常流量标记分析》系列的第3篇,前2篇内容为: 重传率和丢包率是体现网络传输性能的重要指标,这一篇我们一起来看TCP异常流量标记“重传”的几种常见场景及解决方案。关于重传,科来网络分析系统中细分了四种标记,分别为:虚假重传、快速重传、乱序、普通重传,本文主要阐述“重传”。一般情况下,当某报文满足下列条件时即被判定为重传报文:当我们从一个TCP会话中看到了重传率异常时(如图1),该如何分析是什么原因造成的重传呢?如图2所示,可见图中每个报文之后都有一个看起来同样的报文,并被标记为重传。难道流量被复制了吗?TCP时序图中(图2)序号1、序号2报文的二层和三层解码信息如图3、图4所示。根据二层的MAC地址可判断,报文先是进入一个网络接口,而后又从相同的网络接口转发出来;根据三层的存活时间可判断,报文经过了三层转发,因此生存时间减少了1;所以这是一个TCP分段,在经过网络设备时被路由转发了,而这个转发设备恰好使用了单臂转发的架构,这种场景常见于旁路部署的防火墙等设备。如图5所示,两个TCP SYN报文之间间隔了6.01555秒,客户端重传了SYN报文。如图5、图6所示,第二个SYN报文的IPID”b256”,大于第一个SYN报文的IPID”aaf9”, TCP序列号小于前一个报文(同向)的下一序列号,且SYN被视为1字节,该报文负载不为0,因此被标记为“重传”。如图7所示,①表示下一个报文序列号为”1893127485”; 报文③的序列号为”1893127485”,看似字节是连续的,为什么被统计为重传呢?解码分析报文②、报文③,对比IPID,报文③的IPID大于上一个同向报文的IPID,符合重传标记条件。出现这样的时序图,意味着在报文①②③的流向上,某些报文在到达采集点之前丢了,因此采集点位置只采集到了重传后的报文。排查数据转发方向上采集点之前的链路,确定具体丢包点位,视情况进行处置。如图9所示,报文③为报文①的重传报文,很明显报文②是对报文①的确认报文,那么为什么还会发生重传呢?极大可能是报文②在流过采集点之后中途丢失,导致并未顺利到达服务器。排查数据转发方向上采集点之后的链路,确定具体丢包点位,视情况进行处置。分析TCP交易时序图是运维人员和流量分析工程师的日常工作内容之一,了解科来网络分析系统TCP流分析视图中TCP交易时序图的TCP异常流量标记,能够帮助技术人员在分析TCP流量时事半功倍,快速准确发现问题、定位故障节点、定位故障根因。
|