如何配置/减少tcp段大小

时间:2013-09-14 01:54:50

标签: java linux tcp mss

我需要通过tcp将数据从我的机器发送到远程服务器,我需要将数据分段(这是一个测试)。这就解释了我寻找将段大小更改为少量的方法的原因。

我已经搜索过了,我发现我们可以使用iptables设置MSS

iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss some-number

然而,经过更多的谷歌搜索后,似乎该解决方案用于告诉服务器我的机器可以接受的TCP段大小,而不是设置我的机器发送到服务器的tcp数据包/段上的段大小。

我还了解了MTU以及如何更改它,但这似乎并不是我想要的,因为我需要/想要在更高级别(在传输级别)中削减数据。我的问题是1)如何为我的机器发送的TCP段设置MSS? 2)可以使用Java吗?

对不起这些新手问题。

2 个答案:

答案 0 :(得分:0)

在C中,您可以通过设置TCP_MAXSEG套接字选项来执行此操作;见man 7 tcp

在Java中,相关套接字选项未在标准Socket APIs中公开。但是,如果您实现了非标准的SocketImpl类,那么该页面中有一个提示您可能能够设置其他选项。

答案 1 :(得分:0)

如果可以的话,只需设置一个小的套接字发送缓冲区大小。