2011-08-19 59 views
1

我使用WireShark來分析HTTP協議,我發現一個足夠大的HTTP請求將被反彙編爲幾個TCP數據包,如下所示:HTTP請求方法作爲數據包; HTTP請求標頭作爲數據包,HTTP內容作爲數據包。
我的問題是:TCP段劃分是由上層協議還是其他方式決定的?TCP段如何劃分?

+0

這是非常複雜的,但TCP數據包分段由TCP協議棧控制。無論實施什麼,決定如何以及何時將tcp數據包分段並路由到下一個較低級別(通常是IP層)。 –

回答

0

上層協議封裝了TCP負載。像任何其他級別的TCP都不知道以上的級別。 當一個HTTP(或其他更高級別的協議)需要更多的空間來傳輸數據時,TCP數據包的最大大小(MTU:最大傳輸單元)會在不同的TCP段上被分割。

您的操作系統可以修改MTU值。例如使用Linux:

ifconfig eth0 mtu MTU_SIZE