每次有多少数据?
9个包,948个字节,其中http之外固定成本691,http固定信息约78
此外存在可能的域名查询包3个,合计276字节,这个问题我还没搞清楚
序号 | 包目的 | 包大小 |
1 | TCP RST | 54 |
2 | TCP SYNC | 66 |
3 | TCP SYNC ACK | 66 |
4 | TCP ACK | 54 |
5 | HTTP GET | 311,其中http部分长度257 |
6 | HTTP ACK | 60 |
7 | HTTP 200 OK | 223 |
8 | HTTP FIN ACK | 60 |
9 | TCP ACK | 54 |
测试方法和细节
采用Wireshark工具在pc上抓模拟器的通信数据量
在已经知道ip地址的情况下(已完成每次开机做一次的域名解析),
对单次发送触发的所有流量进行分析
为了减少数据量,我的php回送内容是空的
分析内容:
包含完整报文
采用最大负荷报文进行测试
过滤方法:IP过滤
怎么去掉域名查询消息
在某些情况下,会触发域名查询消息,
每次发送会触发三次发送,每个包大小92个字节,合计276个字节
在分析期间使用了Filezilla访问过服务器的ftp之后,该问题消失了一段时间
这里还需要继续研究,
这部分的数据量相当于正常数据量的1/3,要避免这样消息的出现
http回复内容造成TCP分包的问题
因为MSS(Maxitum Segment Size)的限制,http回送消息过大,超过224字节时会造成分包情况
如果出现分包,统计数据会变成10个包,1063字节,相关分析如下:
序号 | 包目的 | 包大小 |
1 | TCP RST | 54 |
2 | TCP SYNC | 66 |
3 | TCP SYNC ACK | 66 |
4 | TCP ACK | 54 |
5 | HTTP GET | 311,其中http部分长度257 |
6 | HTTP ACK | 60 |
7 | TCP segment | 278 |
8 | HTTP 200 OK | 60 |
9 | HTTP FIN ACK | 60 |
10 | TCP ACK | 54 |
其中HTTP 200 OK由两个包组成
MSS在三次握手的时候设定值是1440,但是不理解为什么服务器回送之后是按照224处理的,细节如下图
Http报文内部情况分析
最小负荷情况
http报文长度: 121
数据长度47
最大负荷情况
http报文长度: 257
数据长度179