【问题标题】:How can I modify multicast TCP/IP packets' TTL?如何修改多播 TCP/IP 数据包的 TTL?
【发布时间】:2009-01-15 16:36:52
【问题描述】:

我支持发送 TTL 为 1 的多播数据包的第 3 方应用程序。我们无法修改应用程序,但需要更高的 TTL 才能将数据包路由到另一个客户的网络。是否有网络设备或 windows (server 2003) 应用程序可以让我修改它?

在这种情况下,有没有更好的方法来连接发送方和接收方?

【问题讨论】:

  • 与编程无关。

标签: networking multicast ttl


【解决方案1】:

Linux netfilter,更广为人知的 iptables 命令:

TTL 修改被记录为“扩展”,但它似乎已经包含在流行的 Linux 发行版中。

来自手册页(man iptables):

TTL

这用于修改 IPv4 TTL 标头字段。 TTL 字段决定了一个数据包可以遍历多少跳(路由器),直到超过它的生存时间。设置或增加 TTL 字段可能非常危险,因此应不惜一切代价避免。永远不要设置或增加离开本地网络的数据包的值!

ma​​ngle 表:

--ttl-set value - 将 TTL 值设置为“值”。

--ttl-dec value - 将 TTL 值“值”递减。

--ttl-inc value - 将 TTL 值‘value’倍增加。

【讨论】:

  • 如果您想在下一步中使用 PIM/DVMRP 或类似功能,非常有用!
【解决方案2】:

您可以查看mTunnel,它用于隧道多播流量。

【讨论】:

    【解决方案3】:

    这在发送主机上是可行的(例如,使用 ipfw 并在 FreeBSD 上转移;我不知道 MS-Windows 的等价物),但可能比它值得付出更多的努力。

    一个简单的选择可能是使用 VPN(虚拟专用网络),让应用层看起来发送和接收主机在同一个(虚拟)网络上。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-13
      • 2012-03-01
      • 1970-01-01
      • 2012-11-01
      • 1970-01-01
      相关资源
      最近更新 更多