我用两台电脑实验,A为xp,B为linux(centos 6)。在xp上用Serv-U搭建了一个ftp服务器,linux下用filezilla作为客户端。用同一文件(大小为60MB左右)做上传和下载测试,并用wireshark抓包。我发现linux下载相比上传时Ack的报文要少很多。
下面为linux下载时的抓包:序号
21136 1.612527000 192.168.1.103 192.168.1.104 TCP 54 60786 > 8436 [ACK] Seq=1 Ack=10200081 Win=168320 Len=0
21137 1.612545000 192.168.1.104 192.168.1.103 FTP-DATA 590 FTP Data: 536 bytes
……
21164 1.613237000 192.168.1.103 192.168.1.104 TCP 54 60786 > 8436 [ACK] Seq=1 Ack=10214553 Win=168320 Len=0即每27个数据包才有一个Ack包。而linux上传同一文件时却不一样:序号
31 0.136205000 192.168.1.104 192.168.1.103 TCP 54 8702 > 50389 [ACK] Seq=1 Ack=1073 Win=256960 Len=0
32 0.136369000 192.168.1.103 192.168.1.104 FTP-DATA 590 FTP Data: 536 bytes
33 0.136505000 192.168.1.103 192.168.1.104 FTP-DATA 590 FTP Data: 536 bytes
34 0.136515000 192.168.1.104 192.168.1.103 TCP 54 8702 > 50389 [ACK] Seq=1 Ack=2145 Win=256960 Len=0即每两个数据包就有一个Ack包。
请问这该如何理解?
下面为linux下载时的抓包:序号
21136 1.612527000 192.168.1.103 192.168.1.104 TCP 54 60786 > 8436 [ACK] Seq=1 Ack=10200081 Win=168320 Len=0
21137 1.612545000 192.168.1.104 192.168.1.103 FTP-DATA 590 FTP Data: 536 bytes
……
21164 1.613237000 192.168.1.103 192.168.1.104 TCP 54 60786 > 8436 [ACK] Seq=1 Ack=10214553 Win=168320 Len=0即每27个数据包才有一个Ack包。而linux上传同一文件时却不一样:序号
31 0.136205000 192.168.1.104 192.168.1.103 TCP 54 8702 > 50389 [ACK] Seq=1 Ack=1073 Win=256960 Len=0
32 0.136369000 192.168.1.103 192.168.1.104 FTP-DATA 590 FTP Data: 536 bytes
33 0.136505000 192.168.1.103 192.168.1.104 FTP-DATA 590 FTP Data: 536 bytes
34 0.136515000 192.168.1.104 192.168.1.103 TCP 54 8702 > 50389 [ACK] Seq=1 Ack=2145 Win=256960 Len=0即每两个数据包就有一个Ack包。
请问这该如何理解?
解决方案 »
- 散分!!!
- CHtmlView 刷新后的网页文档
- 帮忙看一下---winsock2的代码要改为winsock,这么多的函数怎么改啊?
- 如何将主桌面窗口设为第1或者第2个显示器?
- 没有装vc7,装了vc6的请进,一个小小的问题。
- 调用 HICON LoadIcon( LPCTSTR lpszResourceName ) 加载图标文件出错!
- 有关位图显示的问题,高分相赠--100分
- 我正在做一个项目,用到了activex,现在要求在activex中访问web页面中的元素或对象,不知怎么解决!
- 程序控制picture控件显示图形的问题
- 我用MFC做了一个基于对话框的应用程序,只能在我的机器上运行
- Compuware Devpartner Studio 9.0.2 Professional VS2008如何使用内存泄漏检查
- 新人问:运用MYSQL的程序,怎么发布出去啊?
又不需要每个包都ACK的