一次HTTP連結會產生多少資料流量
每次有多少資料?
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