2011-05-16 261 views
10

我希望獲得有關UDP數據包丟失(或丟失)問題的同事的經驗。平均UDP數據包丟失和數據包重新排序

最初我的理解是,給定直接的點對點連接,其中NIC通過交叉電纜和NIC上的充足緩衝區連接,並及時處理所述緩衝區,應該沒有數據包丟失或數據包排序問題。我相信在這些點之間有一個好的/高端的交換機也是這種情況。

  1. 排除了以上的情況下,是什麼在LAN

  2. 預期平均UDP數據包丟失什麼情況下會導致UDP數據包順序的問題?

+0

薩米,你解決一個真正的問題,還是這是一個理論問題? – 2011-05-17 10:40:23

回答

4

不知道平均局域網上的UDP數據包丟失。我認爲現代交換網絡的成本相當低,否則你的局域網或端點負載過高。 :)

重新排序可能是最容易實現的路線時,提出和關閉;比如說,組織中的交換機中有一個交換機承受了足夠的負載,重新組織該樹是有意義的,並且流量通過不同的交換機發送。更有可能的是您的ISP的同伴來來去去,或者達到流量限制,並且通過它們的數據包優先級發生變化 - 舊數據包在重載網絡中正在運行,新數據包在較輕的網絡上正在運行,以及他們到達失序。

2

我也在尋找預期的平均值。我發現從一個直接鏈接(PC到PC)很少會發生丟包,雖然它確實發生。在1 kB數據包@ 50 Hz時,可用性大約爲99.9%。

我已經看到只是通過在同一個網絡接口上發送和接收來重新排序。 我的結論是,這是因爲每個數據包都是異步處理的,這樣就有可能在新接收數據包之前接收到新到達的數據包。

2

在我的基本千兆交換局域網上,我甚至可以在FreeBSD,Solaris或Linux下以每秒50,000個數據包的速度實現零丟包。然而,Windows是一個非常特殊的東西,我很容易在低速如10,000 /秒的完全相同的硬件上看到數據包丟失。這主要是由於WinSock和NIC之間的緩衝區溢出所致,如果您更快速地驅動數據包,則會損失更多,如果將掉落的數據包分隔得更少。

沒有神奇的數字,我的情況可能更糟,因爲Broadcom有可怕的Windows驅動程序。

你可以很容易地看到數據包排序問題,但它幾乎總是隻有最後兩個數據包交換。這是開關如何工作的一個神器。

有趣的是,你在Wi-Fi中沒有提到的是,無線電信號很容易受到干擾和環境條件的影響。