【问题标题】:How to configure/reduce tcp segment size如何配置/减少 tcp 段大小
【发布时间】:2013-09-15 14:13:11
【问题描述】:

我需要通过 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来做到这一点?

抱歉这些新手问题。

【问题讨论】:

    标签: java linux tcp mss


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-08-19
        • 2021-02-11
        • 1970-01-01
        • 2015-05-24
        • 2011-04-20
        • 1970-01-01
        • 2023-02-08
        • 1970-01-01
        相关资源
        最近更新 更多