【发布时间】:2012-07-04 14:51:43
【问题描述】:
我想实现一个自我传播系统,用于使用 UDP 广播和 UDP 响应在多台客户端计算机上分发一小段数据(IP 地址)。为此,我使用 C#(UDPListener 和 Socket,请参阅 this example)。
它会像这样工作:
客户端1广播
What is the IP address?所有其他客户端都使用其 IP 地址版本响应 客户端 1(不是广播):例如
192.168.1.10客户端 1 测试收到的每个 IP 地址并使用最合适的一个
我的问题是,这种短暂的响应是否会对大型网络造成严重的瓶颈/类似 DDoS 的影响?例如,如果 1,000 台客户端机器都同时响应客户端 1?
编辑:我不是在尝试创建 DoS 攻击,而是在尝试避免拒绝服务的情况。
【问题讨论】:
-
除非网络是由智障人士设计的,否则一个广播域中不会有 10.000 个客户端。有这些,但无论如何它们都有问题(网络方面)。通常,C 类网络(即 /24、254 个可用地址)对于广播域来说是相当不错的规模。
-
@TomTom 是的,不幸的是,你会惊讶于有多少“智障”人负责管理庞大的网络。
-
我同意,但是他们已经有性能问题了。严重的问题。
-
@TomTom 广播域为 1022 (/22) 的情况如何?这会导致任何网络性能问题吗?
-
不是这样,但理论上可以——如果你有任何软件的话。我宁愿通常将我的东西限制在 /24 并在它们之间路由;) 1022 应该不会太糟糕。我曾经在 ONE IP 网络上看到一所完整的大学抱怨他们糟糕的表现。
标签: c# networking udp broadcast