我使用WireShark來分析HTTP協議,我發現一個足夠大的HTTP請求將被反彙編爲幾個TCP數據包,如下所示:HTTP請求方法作爲數據包; HTTP請求標頭作爲數據包,HTTP內容作爲數據包。
我的問題是:TCP段劃分是由上層協議還是其他方式決定的?TCP段如何劃分?
1
A
回答
1
對於HTTP你可能會發現這篇文章有趣,谷歌如何基本上都有自己的HTTP服務器的TCP交互推動的初始段,而不必等待迴應。
http://blog.benstrong.com/2010/11/google-and-microsoft-cheat-on-slow.html
在這裏發表了RFC草案:
+0
謝謝你的回答,我想你的回答正是我需要的。 –
0
上層協議封裝了TCP負載。像任何其他級別的TCP都不知道以上的級別。 當一個HTTP(或其他更高級別的協議)需要更多的空間來傳輸數據時,TCP數據包的最大大小(MTU:最大傳輸單元)會在不同的TCP段上被分割。
您的操作系統可以修改MTU值。例如使用Linux:
ifconfig eth0 mtu MTU_SIZE
相關問題
- 1. 如何從TCP段
- 2. Linux TCP:數據包分段?
- 3. 如何劃分AVPlayer?
- 4. 劃分數千個字段
- 5. 將NSStrings劃分爲段落
- 6. 分段錯誤:11,在TCP客戶端
- 7. 如何劃分矩形
- 8. 如何劃分兩列?
- 9. C - 如何劃分浮動?
- 10. 如何劃分飛機
- 11. 如何劃分控制器?
- 12. 如何劃分時間PHP
- 13. 如何劃分多列?
- 14. 如何重新組裝tcp段?
- 15. 如何將數字劃分成使用SilverLight的字段
- 16. 如何劃分一個實體與數百個字段?
- 17. 如何按mysql中的年齡段劃分用戶數
- 18. 如何劃分/分發書箱
- 19. 劃分滑塊值到範圍區段
- 20. TCP如何分割其數據
- 21. 如何分離TCP套接字消息
- 22. 按特定字符劃分文檔,然後再劃分爲變量字段
- 23. 圍繞除第1段以外的所有段落劃分
- 24. 如何按顏色劃分二部圖?
- 25. 如何用循環劃分? (Python)
- 26. 如何按時間劃分Python
- 27. 如何劃分IP指向子域
- 28. 如何劃分時,2號在JavaScript
- 29. 如何在while()中劃分數據?
- 30. 如何劃分我的交易
這是非常複雜的,但TCP數據包分段由TCP協議棧控制。無論實施什麼,決定如何以及何時將tcp數據包分段並路由到下一個較低級別(通常是IP層)。 –