2017-12-18 153 views
0

我正在使用iperf來測試以太網性能。 它有我使用的幾個功能:iperf - 帶寬的含義是什麼?

  1. 測量最大帶寬

    例如數據包丟失的iperf -c 192.168.0.1

  2. 統計對於一個給定的帶寬,

    例如用iperf -uVZc 192.168.0.1 -b400m

我很驚訝地看到,它測量的鏈路帶寬是一個包含丟包的帶寬(如果我運行第二個例子的帶寬爲最大帶寬,那麼我會得到30%的丟包率)

所以,我不確定,這是iperf條款中帶寬的實際含義嗎?

謝謝。

回答

1

iperf允許您執行UDPTCP測試。

在UDP模式下運行iperf時,可以指定帶寬。這實際上是客戶端每秒嘗試向服務器泵送的數據量。某些數據可能會安全到達,但某些數據可能會丟失(由於服務器和客戶端之間存在實際的帶寬)。

在TCP模式下運行iperf時,僅當您想限制帶寬時纔會指出帶寬(並且您還必須考慮數據包大小,因爲這會限制最小帶寬限制,這是由於iperf行爲...)。實際帶寬由TCP窗口大小連接延遲決定。有關TCP窗口和吞吐量的更多信息,請參見here

+0

你的意思是說「iperf -c 192.168.0.1」應該返回TCP帶寬?數據包丟失是否對返回的TCP帶寬有影響? – ransh

+0

如果您沒有聲明'-u',則暗示TCP。當然,TCP也可以承受數據包丟失,但TCP適應連接的質量,並且不能使用'-b'開關強加帶寬。 TCP和UDP測試是兩個完全不同的測試,請嘗試閱讀有關TCP的更多信息。 –

+0

丟包被TCP檢測到並可能導致TCP消耗其傳輸窗口 - 從而降低帶寬。閱讀更多:http://blog.performancevision.com/tcp-series-3-packet-loss-retransmissions-and-duplicate-acknowledgements –

0

對於UDP(-u)-b是由客戶端向套接字寫入數據所定義的客戶端提供的負載。對於實際的網絡帶寬來看服務器的報告。

此外,對於TCP,-b速率使用token bucket將客戶端限制爲此值。在iperf version 2.0.11中,可以限制客戶端和服務器的速率。