2012-02-28 66 views
1

假设有一个网络在通过它传输数据包时会出现大量超时错误。现在,超时可以发生是因为网络本身固有损耗(比如,硬件差),也可能是网络是高度拥挤,由于其网络设备丢失数据包之间,导致超时。现在,还需要哪些有关正在传输的流量的其他统计信息(例如丢失数据包错误等),这可能有助于我们确定是否由于硬件不佳或网络负载太多而导致超时。 请注意,我们只能访问网络中的(从我们所传送的数据包)一个节点,因此,我们无法了解负载通过网络上的其他节点被投入。同样,我们并没有任何有关网络中使用的硬件的任何信息。统计是我们所有的。有损网络与拥塞网络

回答

1

网络节点只有关于其本地冲突域的硬件信息,在标准网络上它是将主机链接到交换机的电缆。

所有TCP堆栈将知道丢失的数据包是它没有收到确认,因此它需要重新发送,在源和目标之间没有设备机制(例如,交换机&)告诉源存在一个问题。

如果没有访问任何其他节点,确定问题是否基于负载的唯一方法是运行一个测试,在网络上长时间发送一致的流量,如果数据包每秒钟/分钟/小时重试计数保持不变,那么它会表明存在硬件问题,如果损失仅发生在高峰时段,那么问题可能与负载有关。当然也有可能是一种情况,错误的硬件问题将只在高话务时段明显,这需要东西还给这是,你需要从超越你的单节点接入网络统计数据的主要问题。

0

实际上,地面网络路径上的几乎所有损失都是由于拥塞或防火墙造成的。由于误码造成的损失极为罕见。即使在无线网络中,前向纠错也能处理大多数位/媒体/传输错误。拥塞可以通过很多不同的因素造成:任何给定的网络路径将涉及几十个设备的,如果他们中的任何一个变成即使是瞬间过载,数据包将被丢弃。

区分拥塞引起的数据包丢失和媒体错误的唯一方法是媒体错误将独立于负载发生。换句话说,无论您是发送大量数据还是仅发送少量数据,丢失率都是一样的。

为了测试,您需要对路径上的负载进行一些控制,或至少需要知道。既然你不用管,你有唯一的知识是从源节点的观察,你能做的最好是采取测试样品(使用ping最容易)全天候和整个星期,记录丢失率和延迟。这些应该让你知道路径何时相对闲置。如果即使路径(可能)空闲时丢失率仍然很高,那么可能会出现媒体丢失问题。但是,这又是非常罕见的。

有关背景,我已经写了关于这个问题的几篇文章: