模擬網路交換器上的資料包遺失

模擬網路交換器上的資料包遺失

我們這裡有一個網路交換機,我們可以輕鬆地要求它限制允許的頻寬,這很好。如果我們還可以要求它為我們生成數據包丟失,那就太好了- 使用WANem 可以做到這一點,但會增加延遲,而且我們正在處理實時應用程序,因此我們增加的任何延遲對我們來說都是不利的。任何人都知道允許此操作或可以被駭客入侵以適應此操作的網路交換器或路由器嗎?

答案1

所有在連接埠或 VLAN 上具有速率限制的交換器都應該允許您「模擬」封包遺失。如果您的應用程式需要 1mb 的流量,則將限制設為略低於該流量,交換器應該丟棄資料包。

請記住,所有具有此功能的開關都必須進行取樣才能進行限制。例如:連接埠 1 設定為 1mb 限制。連接埠 1 在不到一秒的時間內發送 2mb 流量。大部分可能都會成功。這是因為,在交換器能夠偵測和測量通過的流量之前,它不知道要丟棄什麼。根據您的供應商的不同,這可以透過多種方式實現,有些緩衝然後會從緩衝區中丟棄資料包,有些則只允許時刻進出,然後進行限制。

如果您正在尋找您的應用程式將如何回應,我建議您在您正在測試應用程式的電腦前面設定 BSD 盒子。 BSD(只是因為我將它們用於我的防火牆)有一個名為ipfw這將允許您直接控制連線。因此,讓我們假設以下是您目前的情況:

+--------------------------------+ +--------------- -+
|應用程式伺服器| ---> |客戶端機器|
+--------------------------------+ +--------------- -+

我知道這過於簡單化,但它說明了這個概念。你能做的就是在中間設定一個 nat 並對其進行速率限制

+--------------------+ +------------------------+ +- - --------------+
|應用程式伺服器 | ---> |速率限制框 | ---> |客戶端機器|
| 10.0.0.5 | | 10.0.0.6 192.168.1.1 | | 192.168.1.2 |
+--------------------+ +------------------------+ +- - --------------+

我再次知道這過於簡化了。我新增了 IP,以便可以向您展示 BSD 中速率限制框上的命令。首先將 BSD 設定為普通路由器,您可以使用 pf sense 等。

ipfw 管道 1 設定頻寬 101Kbit
ipfw 增加 1 個管道 1 ip 從 10.0.0.5 到 192.168.1.2
ipfw 增加 2 個管道 1 ip 從 192.168.1.2 到 10.0.0.5

這將模擬客戶端與伺服器之間的 101kb 連線。然後,您可以將 101 值變更為任何值,以便能夠查看在不同限制下發生的情況。與支援限制功能的交換器相比,它的真正優勢在於它很便宜(一台具有幾個介面的簡單電腦),並且您可以在必要時使用wireshark來捕獲流量,然後查看到底丟棄了什麼,以及多少。這些資訊對於設計更好的應用程式非常有用。

恕我直言

相關內容