我正在构建一个离散事件模拟器,并且需要能够计算给定网络拓扑中两个系统之间可用的理论带宽,这样我就可以“计算”传输需要多长时间才能发生,在预期的完成时间创建一个事件 .
目前,为简单起见,我不认为交换机的背板或网络内发生冲突/拥塞的可能性 . 我只是对所有通信系统之间的最大传输速率感兴趣 .
例如,请考虑以下示例网络拓扑:
我们假设以下连接:
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
但是,我很好奇可以用什么其他方法来计算这个,或者是否有一种更有效的方法可以用来“预测”网络流量 .
任何反馈都表示赞赏 - 谢谢 .
1 回答
这基本上是最大 - 最小公平问题 .
https://en.wikipedia.org/wiki/Max-min_fairness
渐进填充算法(在Wiki文章中描述)是解决此问题的简单方法: