我正在构建离散事件模拟器,并且需要能够计算给定网络拓扑中两个系统之间可用的理论带宽,以便我可以“计算”传输需要多长时间在预期的完成时间内发生并创建一个事件。
目前,为简单起见,我不认为交换机的背板或网络中发生冲突/拥塞的可能性。我只是对所有通信系统之间的最大传输速率感兴趣。
例如,请考虑以下示例网络拓扑:
我们假设以下连接:
Source 1, Source 2 -> (sending to) Dest 1
Source 3, Source 4 -> (sending to) Dest 2
鉴于这些联系,所有来源的最大有效转移率是多少?
如果我们将其可视化为图形,我可以通过从源开始并在每个交换机级别评估传入网络流量与交换机上行链路的最大数量来手动计算。
例如,此方案中的源#1具有到Dest 1的50 Mbps有效带宽
1 Gbps * S1(1/2) * S2(1) * S3(1/10) = 50 Mbps
但是,我很好奇可以用什么方法来计算这个,或者是否有一种更有效的方法可以用来“预测”网络流量。
感谢任何反馈 - 谢谢。
答案 0 :(得分:1)
这实质上是最大限度的公平问题。
https://en.wikipedia.org/wiki/Max-min_fairness
渐进填充算法(在Wiki文章中描述)是解决此问题的简单方法:
如果资源是在网络节点中预先分配的,则为max-min 通过使用渐进填充算法可以获得公平性。 您从所有费率等于0开始,并将所有费率一起增加 相同的速度,直到达到一个或多个链路容量限制。该 使用这些链接的来源的费率不再增加, 并继续提高其他来源的费率。一切 停止的源有瓶颈链接。这是因为他们 使用饱和链接,使用饱和链接的所有其他源 同时停止,或者之前被停止,因此有一个 较小或相等的比率。算法一直持续到没有 可能会增加。最后,当算法终止时,全部 消息来源已经停止了一段时间,因而产生了瓶颈 链接。这个分配是max-min fair。