Post 如何确定数据上传总量+;在TCP/IP中下载
我需要计算在TCP/IP中将固定大小的数据从客户端传输到服务器时的总数据传输量。它包括连接到服务器、发送请求、报头、接收响应、接收数据等 更准确地说,如何在使用POST和get方法时获得总数据传输 这有什么公式吗?即使是理论上的也可以(不考虑数据包丢失或连接重试等) 仅供参考,我试过RFC2616和RFC1180。但这些都超出了我的想象 有什么建议吗Post 如何确定数据上传总量+;在TCP/IP中下载,post,get,tcp,Post,Get,Tcp,我需要计算在TCP/IP中将固定大小的数据从客户端传输到服务器时的总数据传输量。它包括连接到服务器、发送请求、报头、接收响应、接收数据等 更准确地说,如何在使用POST和get方法时获得总数据传输 这有什么公式吗?即使是理论上的也可以(不考虑数据包丢失或连接重试等) 仅供参考,我试过RFC2616和RFC1180。但这些都超出了我的想象 有什么建议吗 提前感谢。我想说,请求和响应平均每行大约有8行标题,每行大约有30个字符。然后考虑将任何上传的二进制文件转换为Base64的大小增加 您没有说明是
提前感谢。我想说,请求和响应平均每行大约有8行标题,每行大约有30个字符。然后考虑将任何上传的二进制文件转换为Base64的大小增加 您没有说明是否还需要计算TCP数据包头,在这种情况下,您可以假设MTU大约为1500,因此每1500个数据字节添加16个字节(TCP头) 最后,您可以设置一个数据包嗅探器,并计算数据样本的实际字节数
哦,是的,您可能还需要考虑deflate/gzip编码。您无法预先知道总传输大小,甚至忽略重传。有几件事会阻止你:
- TCP选项在建立连接时在主机之间协商。一些选项(例如,时间戳)向TCP标头添加额外的数据
- “总数据传输大小”不清楚。例如,以太网在所使用的IP之上增加了相当多的比特。802.11(无线)将增加更多功能。HDLC或PPP在T1上也是如此。甚至不要考虑帧中继。某些链接可能使用压缩(这将减少总大小)。总大小取决于测量它的位置,即使是单个数据包
- 假设您只对第2层的总八位字节大小感兴趣,并且您知道将提前协商的TCP选项,那么您仍然无法知道路径MTU。即使在连接过程中,也可能会发生变化。或者,如果您没有进行路径MTU发现(这将是wierd),那么数据包可能会在某个地方出现碎片,远程端将看到与您不同的数据传输量
- 如果你只是想估算一下,请观看Wireshark中的典型连接。计算开销百分比(与您提供给TCP和从TCP接收的数据的大小相比)。用这个数字来估计:它将足够接近,除非是在病理情况下
- 如果您需要确定您的终端发送和接收了多少数据,请使用libpcap捕获数据包流并进行检查