网络基本功(二十四):Wireshark抓包实例分析TCP重传

介绍

TCP发送一个或一组报文,会等待收到报文的确认信息。重传,即发生在报文没有到达或确认信息没有及时返回的情况下。当发现网速变慢时,原因之一可能就是重传。发生重传的原因有多种,在客户机或服务器两边端口应用Wireshark有助于诊断问题。本文通过抓包实例阐述各种可能性。

更多信息

诊断过程:

1.在相应端口开始抓数据。

2.找到Analyze|Expert

Info菜单。

3.在Notes之下,查找Retransmission

4.点击(+)符号即可打开重传列表。鼠标点击各行可在抓包面板看到重传报文。

5.现在问题来了,怎样定位问题呢?

6.通过以下方式查看重传来自哪里:

·在Expert Info窗口一个一个查看报文,在抓包面板查看哪些是重传报文(适合于有经验的用户)

·在报文面板,配置显示过滤器expert.message ==“Retransmission

(suspected)”,即可看到抓包文件中所有重传报文

·应用过滤器,在Statistics

& Conversations窗口查看Limit to

display filter部分。

Case 1:重传至多个目的地址

以下截屏中,可看到有多次重传,分布于多台服务器,目的端口号为80(HTTP)。也可以发现重传由端口10.0.0.5发送,因此报文是丢失在发往Internet的途中,或确认信息没有及时从web服务器发回。

问题发生在发往Internet的线路上,怎样知道是什么问题呢?

1.从Statistics菜单,打开IO Graph

2.本例中,可看到链路负载非常低。可能是有故障,或有另一条高负载链路。

3.可以通过登录到通信设备或SNMP浏览器查看引起重传的原因:报文丢失及错误。参考以下截屏:

Case 2:重传至单一连接

如果所有重传发生于同一IP,同一TCP端口号,则可能是慢速应用引起。看以下截屏:

对于单一连接的重传,进行以下操作:

1.从Statistics菜单打开Conversations,选择Limit to display filter,可以看到所有发生重传的会话,本情况下,是一个单一会话。

2.如下图所示,通过选择IPv4标签可看到从哪个IP地址重传:

3.如下图所示,通过选择TCP标签看到重传来自哪一端口:

要定位问题,进行以下步骤:

1.查看IO graph,确保链路不忙。(链路忙的表征例如流量接近带宽。例如,带宽为10Mbps,在IO graph中看见流量接近10Mbps,这就表明链路负载较高。不忙的链路IO会有很多高低起落,峰值以及空闲间隙)。

2.如果链路不忙,则可能是服务器对于IP地址10.1.1.200有问题(10.90.30.12发送了绝大多数重传,所以可能是10.1.1.200响应较慢)

3.从报文面板可以看出应用是FTP数据。有可能FTP服务器工作于active模式。因此在端口2350打开连接,服务器将端口更改为1972,所以可能是慢速FTP软件响应问题引起的重传。

Case 3:重传模式

观察TCP重传的一个重要考量是是否能看出一些重传模式。在以下截屏中,可以看见所有重传来自单一连接,位于客户端与服务器的NetBIOS会话服务(TCP端口139)。

看起来像一个简单的服务器/客户端问题,但查看抓包面板,如下图所示:

可以看见重传总是周期性的每30ms发生一次。问题是由于客户端在软件中执行了财务进程,导致软件每30-36ms就减速一次。

Case 4:应用无响应导致重传

另一个可能导致重传的原因是客户端或服务器没有响应请求。这种情况下,会看到五次重传,时间也会逐渐延长。五次连续重传后,发送方认为连接断开(某些情况下,会发送reset来关闭连接,取决于软件实施)。断开连接之后,可能会发生两件事情:

·发送SYN请求至客户端,以打开一个新的连接。这种情况下用户会看到应用冻结,过了15-20秒之后重新开始工作。

·不发送SYN,用户需要重新运行应用程序(或应用程序的一部分)

下图显示了打开新连接的情况:

Case 5:由于延时变化导致重传

TCP能够充分容忍延时,前提是延时大小不发生变化。当延时改变时,就会发生重传。诊断是否由该原因引起的方法:

1.第一件事是ping目的地址,并且得到检查通信链路延时的第一条信息。

2.检查延时变量,可能由以下原因引起:

·由于不稳定或繁忙通信链路引起。这种情况下,可以看到ping命令的延时变化,通常由于带宽较窄。

·由于应用过载或资源不足,这种情况下,只有该应用发生很多重传。

·通信设备过载(CPU,缓存)引起延时。检查方式直接连接通信设备。

3.使用Wireshark工具诊断延时问题。

如果重传达到0.5个百分比,性能就会下降,断开连接将会达到5个百分比。这取决于应用及其对于重传的敏感性。

定位重传问题

当你看到通信链路上发生重传,进行以下步骤:

1.定位问题——是一个特定IP地址,特定连接,特定应用,还是其他问题。

2.查看问题是否由于通信链路,丢包,慢速服务器还是PC。查看应用是否慢速。

3.如果不是由于上述原因,检查延时变化。

工作原理:

TCP序列号/确认机制详见前文:网络基本功(十):细说TCP确认机制。那么重传是由什么原因引起呢?当报文确认信息丢失,或ACK没有及时到达,发送方会进行以下两步操作:

1.再次发送报文

2.减少吞吐量。

更多TCP重传内容详见前文:网络基本功(九):细说TCP重传

以下图中展示了重传减少发送方吞吐量(红色细线):


转自https://community.emc.com/thread/197851 【好文章,收藏】

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,175评论 5 466
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,674评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,151评论 0 328
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,597评论 1 269
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,505评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 47,969评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,455评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,118评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,227评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,213评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,214评论 1 328
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,928评论 3 316
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,512评论 3 302
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,616评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,848评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,228评论 2 344
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,772评论 2 339

推荐阅读更多精彩内容