通常,数据中心之间的链接是共享的(具有共享的网络基础设施)。因此,我无法检测到可用带宽在两个数据中心可以变化之间的每一段时间,通过的方式。
连续地,我无法通过在这些链接之间提交我的UDP数据包来限制网络,因为我担心数据包丢失和消息丢失。
有什么方法可以立即和重复检测两个数据中心之间的可用带宽,以便我可以用我的数据包来限制它?
通常,数据中心之间的链接是共享的(具有共享的网络基础设施)。因此,我无法检测到可用带宽在两个数据中心可以变化之间的每一段时间,通过的方式。
连续地,我无法通过在这些链接之间提交我的UDP数据包来限制网络,因为我担心数据包丢失和消息丢失。
有什么方法可以立即和重复检测两个数据中心之间的可用带宽,以便我可以用我的数据包来限制它?
我无法通过在这些链接之间提交我的 UDP 数据包来限制网络,因为我担心数据包丢失和消息丢失。
乍一看,这听起来更像是应用程序的设计问题,而不是网络:
如果应用程序需要可靠的消息传递,许多人会使用 TCP(用于单播端点)或 TIBCO RV(多播端点)。魔鬼总是在细节中,没有一刀切的解决方案。
有什么方法可以立即和重复检测两个数据中心之间的可用带宽,以便我可以用我的数据包来限制它?
您实际上是在要求传统上称为QoS 的东西。
一旦您建立规则来对您的流量进行分类和优先排序,您就可以使用诸如CBWFQ和LLQ 之类的QoS 规则来在面临拥塞(即低可用带宽)时对您最重要的流量类别进行优先排序。
或者,您可以使用 QoS 将某些流量类别调整为平均速率。
通常,UDP 流量类被认为比 TCP 类对丢失更敏感。当然,这条规则总是有例外的。例如,TIBCO RV 通常基于 UDP 多播,但 TIBCO 包含序列号以检测是否需要重新传输。根据应用程序,您可能需要也可能不需要将 UDP TIBCO 类优先于其他 TCP 流量。
我没有找到如何检测可用带宽。
这取决于特定类型的 QoS,但一般而言:
此答案说明了一种 QoS 配置。
最后说明:
QoS 可以合理处理的超额订阅量是有限的;一个完整的缓冲区总是会丢弃数据包,即使缓冲区中有 QoS
QoS 功能在很大程度上取决于您的网络硬件,在实施之前可能需要进行大量测试。