我使用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层)。 –