假设有一个网络在通过它传输数据包时会出现大量超时错误。现在,超时可以发生是因为网络本身固有损耗(比如,硬件差),也可能是网络是高度拥挤,由于其网络设备丢失数据包之间,导致超时。现在,还需要哪些有关正在传输的流量的其他统计信息(例如丢失数据包错误等),这可能有助于我们确定是否由于硬件不佳或网络负载太多而导致超时。 请注意,我们只能访问网络中的(从我们所传送的数据包)一个节点,因此,我们无法了解负载通过网络上的其他节点被投入。同样,我们并没有任何有关网络中使用的硬件的任何信息。统计是我们所有的。有损网络与拥塞网络
1
A
回答
1
网络节点只有关于其本地冲突域的硬件信息,在标准网络上它是将主机链接到交换机的电缆。
所有TCP堆栈将知道丢失的数据包是它没有收到确认,因此它需要重新发送,在源和目标之间没有设备机制(例如,交换机&)告诉源存在一个问题。
如果没有访问任何其他节点,确定问题是否基于负载的唯一方法是运行一个测试,在网络上长时间发送一致的流量,如果数据包每秒钟/分钟/小时重试计数保持不变,那么它会表明存在硬件问题,如果损失仅发生在高峰时段,那么问题可能与负载有关。当然也有可能是一种情况,错误的硬件问题将只在高话务时段明显,这需要东西还给这是,你需要从超越你的单节点接入网络统计数据的主要问题。
0
实际上,地面网络路径上的几乎所有损失都是由于拥塞或防火墙造成的。由于误码造成的损失极为罕见。即使在无线网络中,前向纠错也能处理大多数位/媒体/传输错误。拥塞可以通过很多不同的因素造成:任何给定的网络路径将涉及几十个设备的,如果他们中的任何一个变成即使是瞬间过载,数据包将被丢弃。
区分拥塞引起的数据包丢失和媒体错误的唯一方法是媒体错误将独立于负载发生。换句话说,无论您是发送大量数据还是仅发送少量数据,丢失率都是一样的。
为了测试,您需要对路径上的负载进行一些控制,或至少需要知道。既然你不用管,你有唯一的知识是从源节点的观察,你能做的最好是采取测试样品(使用ping
最容易)全天候和整个星期,记录丢失率和延迟。这些应该让你知道路径何时相对闲置。如果即使路径(可能)空闲时丢失率仍然很高,那么可能会出现媒体丢失问题。但是,这又是非常罕见的。
有关背景,我已经写了关于这个问题的几篇文章:
- Loss, Latency, and Speed,讨论可以观察有关的路径和他们的意思是什么统计数据。
- Common Network Performance Problems,讨论网络路径中最常见的组件以及它们如何影响性能(拥塞)。
相关问题
- 1. java网络I/O阻塞与否?
- 2. 网络程序阻塞
- 3. 网络捕获与网络收获
- 4. 网络/网络编程与Python
- 5. 如何用神经网络实现寻路和拥塞检测?
- 6. 在使用流时仿真node.js上的网络拥塞/滞后
- 7. 与网络
- 8. 网络与Python
- 9. 网络与BeautifulSoup
- 10. Rete网络没有测试版网络?
- 11. 如何知道iPhone设备是否拥有3G网络或Wifi网络?
- 12. Python中的阻塞与非阻塞网络IO
- 13. 有关网络
- 14. 榕树网络与折叠榕树网络有什么区别?
- 15. 将ad hoc网络与有线网络相结合
- 16. 与网络监控
- 17. 网络图与Plotly
- 18. 网络与水豚
- 19. 与网络安全
- 20. 网络与AWS LAMBDA
- 21. 网络阻塞到非阻塞,只有线程作为选项?
- 22. 网络线程阻塞用户界面
- 23. aws CLI通过网络阻塞
- 24. C#中的网络IP阻塞程序
- 25. 连接到URL阻塞网络连接
- 26. Windows模拟网络电缆损失
- 27. 训练回归网络时NaN损失
- 28. 从配置的网络删除网络,使所有其他网络
- 29. 网络
- 30. 网络