什麼是 RFC 2544?

如果您從事網路工作,您可能聽說過它,但 RFC 2544 究竟是什麼呢?

RFC 的全稱是 Request for comment ,請求註解。是一系列收錄了網際網路國際標準的檔案。RFC 2544 是用於測試和測量網路裝置的效能的標準,該標準在1999年被規定。RFC 2544規定了在測試過程中測試人員需要用到的測試語言和測試步驟。測試人員必須嚴格按照 RFC 2544 中規定的步驟進行測試。RFC 2544 還提供了標準的效能結果。通過對比裝置的效能引數與 RFC 標準,使用者能夠輕鬆地比較不同廠商裝置的優劣。

RFC 2544 包括6個關於網路裝置引數的測試,通過這些測試,可以評估網路裝置在現實世界的表現情況。這些測試也被稱作停止服務,在測試過程中不使用真實的業務流量,而是使用測試人員生成的具有特定特徵的流量。

正如RFC文件中所概述的,實現這一系列測試的理想裝置是帶有傳送埠和接收埠的測試裝置。流量從發包器傳送到 DUT,然後從 DUT 返回發包器。通過檢查測試裝置傳送的幀序列號,測試人員可以判斷是否所有的資料包都成功地傳送了,所有正確的資料包也成功的返回測試裝置。

RFC 2544 的6個子測試是什麼?

在RFC 2544 中定義了6個測試:吞吐量,延遲,丟包率,背靠背測試,復位測試和系統恢復。

吞吐量

吞吐量是指裝置能夠轉發所接收到的資料的最大速率。吞吐量測試需要測量 DUT 傳送的測試幀數與測試裝置傳送給DUT的幀數。當這2個數值相等時,單位時間內裝置中通過報文的數量(速率)就是裝置的吞吐量。換句話說,吞吐量是衡量一款裝置轉發資料包能力。吞吐量也被稱為可用頻寬。

延遲

延遲是報文從 離開發送端到達目的地 所需要的時間。時延包括了報文在網路鏈路上的傳輸時間和經過的網路裝置所花費的時間。為了保持時間同步,時延測試一般會測量同一個報文從 DUT 傳送的時間和返回 DUT 的時間。這樣測量出來的時延稱為雙向時延(RTT)。

延遲有兩種計算方法:儲存轉發時延(store and forward latency,S&F)和直通交換時延(cut through latency,CT)。

  • 儲存轉發時延是指資料幀最後一個位元到達裝置輸入埠的時間與該資料幀第一個比特出現在裝置輸出埠的時間間隔,按後進先出的方法計算
  • 直通時延是指資料幀第一個位元到達裝置輸入埠的時間與該資料幀第一個比特出現在裝置輸出埠的時間間隔,按先進先出的方法計算。

丟包率

丟包率的計算方式是: DUT轉發的報文個數/DUT接收的報文個數 *100%。丟包率通常是由資源(如可用頻寬)不足引起的,因此丟包率可作為裝置在重負載下的表現的指標。

背靠背測試

背靠背測試是向 DUT 連續傳送具有最小幀間隙的幀,並對 DUT 轉發的幀數進行計數。若不發生丟包,則增加發送的幀,直到發生丟包。然後再慢慢減少傳送的幀,直至不丟包。此計算有助於確定裝置的緩衝區容量。

復位測試

系統復位測量 DUT 從軟體復位中恢復的速度。測試過程為先按最大吞吐率傳送最小長度的幀,然後復位被測裝置,統計復位前發出的最後一幀的時間戳和復位後收到的第一幀的時間戳的差值,即為復位測試時間。

系統恢復

系統恢復表徵了 DUT 從過載條件中恢復的速度。測試系統恢復,先以高於裝置吞吐量的速率傳送幀流並測量延遲,然後再將速率降低並再次測量延遲。系統恢復時間是這兩個延遲時間的差值。

RFC 2544,不僅概述了6個子測試的步驟細節,它同時也指定了測試的標準結果。這種標準化使得直接比較各種網路裝置的效能成為可能。