附註:
- 此教學課程需要存取 Oracle Cloud。若要註冊免費帳戶,請參閱 Oracle Cloud Infrastructure Free Tier 入門。
- 它使用 Oracle Cloud Infrastructure 證明資料、租用戶及區間的範例值。完成實驗室時,請將這些值取代為您雲端環境特定的值。
使用 iPerf 測試 OCI 中心和網輻 VCN 路由架構內的傳輸量
簡介
在現今迅速發展的雲端環境中,確保最佳網路效能對於無縫作業至關重要。Oracle Cloud Infrastructure (OCI) 提供健全的網路功能,包括中樞和網輻虛擬雲端網路 (VCN) 路由架構,以促進有效率的通訊和資源管理。維護此架構的一個重要層面是定期測試網路輸送量,以找出潛在的瓶頸並最佳化效能。
在本教學課程中,我們將使用功能強大的網路測試工具 iPerf 來測量和分析 OCI Hub 和 Spoke VCN 路由架構內的傳輸量。本教學課程結束後,您將具備有效評估和增強 OCI 網路效能的知識,確保應用程式和服務能夠順暢執行。
注意:使用 iPerf 取得的測試結果高度取決於各種因素,包括網路條件、硬體組態,以及您環境特定的軟體設定值。因此,這些結果可能與其他環境中的結果有顯著差異。請勿使用這些結果就網路或設備的預期效能作出任何明確的結論。它們應被視為表現指標而非絕對計量。
iPerf 版本
iPerf 、iPerf2 和 iPerf3 是用來測量兩個端點之間的網路頻寬、效能和傳輸量的工具。不過,就功能、效能和開發狀態而言,它們有一些重要的差異。
概觀:
-
iPerf (原始)
- 版本:最初在 2003 年左右發行。
- 開發:原始 iPerf 大部分已由其後續作業 (iPerf2 和 iPerf3) 取代。
- 功能:使用 TCP 和 UDP 測試網路頻寬的基本功能。
- 限制:隨著時間的推移,由於缺乏現代網路功能的支援而變得過時。
-
iPerf2
- 版本:從原始 iPerf 分叉並獨立維護。
- 開發:主動維護,特別是 Energy Sciences Network (ESnet)。
- 功能:
- 支援 TCP 與 UDP 測試。
- 多重執行緒:iPerf2 支援多重執行緒測試,這在測試高傳輸量環境時非常有用。
- UDP 多點傳播和雙向測試。
- 協定彈性:更好地處理 IPv6、多點傳播和其他進階網路協定。
- 效能:由於多重執行緒支援,執行效能比原始 iPerf 更佳,可提高傳輸量。
- 使用案例:最適合需要舊有功能 (例如 IPv6 和多點傳播) 的情況,或測試時需要多執行緒。
-
iPerf3
- 版本:由維護 iPerf2 的相同團隊 (ESnet) 重新撰寫和發行。重寫著重於清理程式碼庫及現代化工具。
- 開發:透過經常更新主動維護。
- 功能:
- 支援 TCP 與 UDP 測試。
- 單一執行緒:iPerf3 不支援多重執行緒,這在某些環境中可能是高傳輸量的限制。
- 支援逆向模式來測試 TCP 測試的雙向、雙向測試和多重串流。
- JSON 輸出可輕鬆與其他工具整合。
- 改善了錯誤報告和網路統計資料。
- 針對現代網路介面進行最佳化,並提供 QoS 和壅塞控制等功能。
- 效能:iPerf3 已針對現代化網路進行最佳化,但缺乏多重執行緒功能,有時可以限制其在高頻寬或多核心系統上的效能。
- 使用案例:最適合大多數現代網路環境,無須進行多重執行緒,即可進行更簡單的效能測試。
關鍵差異:
功能 | iPerf | iPerf2 | iPerf3 |
---|---|---|---|
Development 版 | 已停產 | 主動維護 | 主動維護 |
TCP 和 UDP 測試 | 是 | 是 | 是 |
多重執行緒支援 | 編號 | 是 | 編號 |
UDP 多點傳送 | 編號 | 是 | 編號 |
IPv6 支援 | 編號 | 是 | 是 |
JSON 輸出 | 編號 | 編號 | 是 |
逆向模式 | 編號 | 是 | 是 |
注意:我們將在此教學課程中盡可能使用 iPerf2。
最適合高傳輸量?
對於高輸送量環境而言,iPerf2 通常是最佳選擇,因為它具有多重執行緒功能,可以充分利用多個 CPU 核心。如果您使用的網路介面能夠處理每秒多個 Gbps 的流量,這點尤其重要。
如果多重執行緒不重要,iPerf3 對於具有 QoS 和壅塞控制等功能的較簡單設定或現代網路來說,是不錯的選擇。不過,在非常高傳輸量的環境中,其單一執行緒性質可能會變成瓶頸。
為何使用最大區段大小 (MSS) 夾具?
注意:當流量通過網際網路通訊協定安全 (IPSec) 通道通過 pfSense 防火牆 MSS 時,必須特別注意。
MSS 夾住是指最大區段大小夾住,這是用於網路通訊 (特別是 TCP/IP 網路) 的技術,可在連線設定程序期間調整 TCP 封包的 MSS。MSS 定義裝置可在單一 TCP 區段中處理的最大資料量,且通常會在 TCP 交握式確認期間在通訊裝置之間交涉。
MSS 夾緊通常由路由器、防火牆或 VPN 等網路裝置使用,以避免與封包分散有關的問題。以下是其運作方式:
-
封包分段問題:如果 MSS 太大,封包可能會超過網路路徑的「最大傳輸單位 (MTU)」,導致分段。這可能會導致效率不佳、負荷增加,或者在某些情況下,如果網路無法順利處理片段,封包遺失。
-
減少 MSS: MSS 夾具可讓網路裝置在 TCP 交握式確認期間,向下調整 (或固定) MSS 值,確保封包大小夠小,足以周遊網路路徑而不需分散。
-
用於 VPN: MSS 夾具通常用於因加密負荷而減少 MTU 大小的 VPN 案例。若無 MSS 夾住,封包可能會分散,以降低效能。
MSS 固定範例:如果用戶端裝置在 TCP 交握式確認期間傳送 1460 個位元組的 MSS 值,但由於 VPN 封裝,網路的 MTU 限制為 1400 個位元組,則網路裝置可以將 MSS 固定為 1360 個位元組 (允許額外負荷),以避免片段問題。
重要參數
-
已使用連接埠
iPerf2 和 iPerf3 用於 TCP 和 UDP 的預設連接埠為:
TCP 連接埠 UDP 連接埠 iPerf2 5001 5001 iPerf3 5201 5201 這兩個版本都可讓您視需要使用
-p
旗標來指定不同的連接埠。為了進行測試,建議您在 iPerf 端點的來源與目的地 IP 位址之間開啟所有連接埠。
-
MTU 大小
iPerf 會在您事先決定的特定來源和目的地之間傳送資料。
執行 iPerf 測試時,瞭解 MTU 大小非常重要,因為它會直接影響網路效能、封包片段以及測試準確性。以下是 iPerf 測試期間,對於 MTU 大小應考量的事項。
-
預設 MTU 大小:
-
乙太網路的預設 MTU 大小為 1500 個位元組,但會因網路組態而有所不同。
-
較大或較小的 MTU 大小會影響 iPerf 測試期間傳送的封包大小上限。較小的 MTU 大小會需要更多封包來處理相同的資料,而較大的 MTU 大小則會降低負荷。
-
-
封包分段:
-
如果 MTU 大小太小,或 iPerf 封包大小大於網路的 MTU,則封包可能會被片段化。片段化的封包可能會導致較高的延遲,並降低測試的效能。
-
iPerf 可產生最大特定大小的封包,如果超出 MTU,則需要分割封包、產生額外的負荷,並讓結果無法反映實際效能。
-
-
巨型框架:某些網路支援巨型框架,其中 MTU 大於標準 1500 個位元組,有時會達到 9000 個位元組。在啟用 jumbo 框架的環境中測試時,將 iPerf 設定為符合此較大的 MTU 可藉由減少標頭和片段的負荷來最大化傳輸量。
-
MTU 尋找和路徑 MTU:
-
路徑 MTU 尋找可協助確保封包不會超過任何中介網路的 MTU。如果 iPerf 傳送的封包大於路徑 MTU 且不允許片段,則封包可能會被捨棄。
-
請務必確保防火牆不會封鎖 ICMP 需要分散訊息,因為這些有助於尋找路徑 MTU。若未使用,可能無法順利傳遞較大的封包,導致效能問題。
-
-
TCP 與 UDP 測試:
-
在 TCP 模式中,iPerf 會自動處理封包大小,並根據路徑 MTU 進行調整。
-
在 UDP 模式中,封包大小是由使用者控制 (使用
-l
旗標),而且此大小必須小於或等於 MTU,以避免分散。
-
-
正在調整 iPerf 中的 MTU:
-
使用 iPerf 中的
-l
選項手動設定 UDP 資料包的長度。 -
對於使用特定 MTU 大小進行測試,請確保您的網路和介面設定為符合所需的 MTU 值,以避免不相符。
-
-
跨網路區段的一致性:確保兩個端點之間所有網路裝置的 MTU 大小都一致。不相符的 MTU 設定值可能會導致因分段或捨棄封包而導致效率不佳,進而導致測試結果不正確。
-
VPN (虛擬專用網路):使用 VPN 時,由於額外的封裝和加密層,MTU 大小和網路效能變得更顯著。VPN 引進額外的負荷,這可能會影響工具 (例如 iPerf) 的效能。
以下是 VPN 連線及其對網路測試的影響:
VPN 和 MTU 的重要概念:
-
封裝負荷:
-
VPN 通訊協定 (例如 IPsec、OpenVPN、WireGuard、PPTP 或 L2TP) 會新增額外的標頭至原始資料封包,以供加密和通道使用。
-
此額外負荷可減少有效的 MTU 大小,因為 VPN 必須同時容納原始封包和新增的 VPN 標頭。舉例而言:
- IPsec 會增加大約 56 到 73 個位元組的負荷。
- OpenVPN 會根據組態新增大約 40 到 60 個位元組 (例如 UDP 與 TCP)。
- WireGuard 會新增大約 60 個位元組。
-
如果您未調整 MTU,大於調整之 MTU 的封包可能會被分散或捨棄。
-
-
VPN 中的 MTU 和路徑 MTU 尋找:
-
VPN 通常會建立跨多個網路的通道,且通道兩端之間的路徑 MTU 可小於直接連線所使用的路徑。路徑 MTU 尋找可協助 VPN 避免分散,但某些網路會封鎖 ICMP 訊息,這對這項發現至關重要。
-
如果 ICMP 訊息 (例如需要分段 ) 被封鎖,VPN 通道可能會傳送對中介網路而言太大的封包,進而導致封包遺失或重新傳輸。
-
-
片段問題:
-
當 MTU 不符時,VPN 會將封包分散至網路層次,或者如果不允許分散 (DF,或設定不分散位元),請刪除封包。分段引進額外的延遲、降低傳輸量,並可能導致封包遺失。
-
VPN 通常具有較低的有效 MTU (例如 1400 個位元組,而非 1500 個位元組),這會將新增的標頭列入考量並防止分段。
-
-
調整 VPN 連線的 MTU:大多數 VPN 從屬端或路由器都允許使用者調整 MTU 大小,以避免分散。例如,將 VPN 通道上的 MTU 大小減少為 1400 或 1350 個位元組,通常會考量 VPN 超載。
-
-
執行處理網路速度
在 OCI 內,網路轉接器 (vNIC) 或執行處理的速度會連結至執行處理資源配置,以及您指定給該資源配置的 CPU 數量。
在本教學課程中,我們將使用 E4.Flex
資源配置搭配 1 個 OCPU 的 Oracle Linux 8 映像檔。這表示我們將為所有 iPerf 測試結果取得 (最大) 1 Gbps 的網路頻寬。
- 資源配置為 E4。彈性
- OCPU 數目為 1。
- 網路頻寬為 1 Gbps。
注意:選擇其他資源配置並增加 OCPU 數量,即可增加網路頻寬。
目標
- 使用 iPerf 測試 OCI Hub 和 Spoke VCN 路由架構內的傳輸量。
作業 1:複查 OCI 中心和網輻 VCN 路由架構
本教學課程將針對所有 iPerf 傳輸量測試使用下列架構。
這是與 IPSec VPN 通道連線的企業內部部署環境完整的中樞和支點路由架構。若要重新建立此製程拓樸,請參閱:
作業 2:在 Hub 執行處理上安裝 iPerf3
注意:在此工作中,我們將安裝 iPerf3,並將在下一個工作中安裝 iPerf2。
任務 2.1:在 Hub 步驟石上安裝 iPerf3
集線器步驟石是 Windows 伺服器執行處理。Windows 有不同的 iPerf 發行版本: windows 。在此教學課程中,我們將從此處下載:目錄列表器。
-
下載壓縮檔,然後將檔案解壓縮至集線器步驟石。
- 移至解壓縮 iPerf zip 檔案的目錄。
- 檢查解壓縮的資料夾是否可用。
- 請注意還有另一個 iPerf 資料夾。
- 移至 iPerf 資料夾內部。
- 驗證 iPerf 資料夾中的檔案。
- 我們需要使用
iPerf.exe
檔案來執行實際測試。
-
執行
iPerf.exe
命令以查看其是否有效。
作業 2.2:在 pfSense 防火牆上安裝 iPerf3
-
若要在 pfSense 上安裝 iPerf,我們需要透過套裝軟體管理員來安裝套裝軟體。
- 移至系統功能表。
- 選取套件管理程式。
-
按一下可用的套裝程式。
- 在搜尋詞中輸入 iPerf 。
- 按一下搜尋。
- 請注意,將會有一個結果,也就是 iPerf 套裝軟體版本 3.0.3 (寫入此自學課程時)。
- 按一下 +Install 。
-
按一下確認。
-
請注意,安裝的套裝軟體數目為 2 個。
- 前往診斷功能表。
- 選取 iPerf 。
-
按一下從屬端。
-
按一下伺服器。
注意:pfSense 防火牆無法提供安裝 iPerf 版本 2 套裝軟體的選項 (預設)。
任務 3:在軸輻實例上安裝 iPerf3
在架構中的 OCI 內部 Linux 執行處理上安裝 iPerf3。
作業 3.1:在 Spoke 執行處理 A1 和執行處理 A2 上安裝 iPerf3
-
執行處理 A1 已經安裝 iPerf3。
- 連線至執行處理 A1。
- 執行
sudo dnf install iPerf3
指令。 - 請注意,iPerf3 已經安裝。
-
執行
iPerf3 -v
命令以驗證已安裝的 iPerf 版本。 -
在 A2 執行處理上安裝 iPerf3。
- 連線至執行處理 A2。
- 執行
sudo dnf install iPerf3
指令。 - 輸入
Y
。
-
iPerf3 將會安裝並注意安裝已完成。
作業 3.2:在 Spoke 執行處理 B 上安裝 iPerf3
- 連線至執行處理 B。
- 執行
sudo dnf install iPerf3
指令以安裝 iPerf 3。如果 iPerf3 已經可用,您將會收到已經安裝 iPerf 的訊息。
作業 3.3:在 Spoke 執行處理 C 上安裝 iPerf3
- 連線至執行處理 C。
- 執行
sudo dnf install iPerf3
指令以安裝 iPerf 3。如果 iPerf3 已經可用,您將會收到已經安裝 iPerf 的訊息。
作業 3.4:在執行處理 D 上安裝 iPerf3
- 連線至執行處理 D。
- 執行
sudo dnf install iPerf3
指令以安裝 iPerf 3。如果 iPerf3 已經可用,您將會收到已經安裝 iPerf 的訊息。
作業 4:在內部部署執行處理上安裝 iPerf3
在我們的架構中安裝內部部署 Linux 執行處理上的 iPerf3。
Task 4.1:在 Oracle Linux Client 上安裝 iPerf3
- 連線至內部部署 Linux 從屬端執行處理。
- 執行
sudo dnf install iPerf3
指令以安裝 iPerf 3。如果 iPerf3 已經可用,您將會收到已經安裝 iPerf 的訊息。
Task 4.2:在 Oracle Linux Client CPE 上安裝 iPerf3
- 連線至內部部署 Linux CPE 執行處理。
- 執行
sudo dnf install iPerf3
指令以安裝 iPerf 3。如果 iPerf3 已經可用,您將會收到已經安裝 iPerf 的訊息。
作業 5:在所有 Linux 執行處理上安裝 iPerf2
我們安裝了 iPerf3,現在將會在整個架構的所有 Linux 執行處理上安裝 iPerf2。
我們目前使用 Oracle Linux 8,因此需要以下 iPerf2 套裝程式:Oracle Linux 8 (x86_64) EPEL 。如果您使用 Oracle Linux 9,請使用此套裝程式:Oracle Linux 9 (x86_64) EPEL 或其他作業系統或 Linux 發行套件,請使用針對該作業系統編譯的套裝程式。
-
執行下列命令,在所有 Oracle Linux 8 執行處理上安裝 iPerf 2。
sudo dnf install https://yum.oracle.com/repo/OracleLinux/OL8/developer/EPEL/x86_64/getPackage/iPerf-2.1.6-2.el8.x86_64.rpm
-
輸入
Y
以確認安裝。 -
請注意,已經完成安裝。
- 執行
iPerf -v
命令以驗證已安裝的 iPerf 版本。 - 請注意,已安裝 iPerf 版本
2.1.6
。
注意:請確定您在所有其他執行處理上也安裝 iPerf2。
- 執行
-
若為 Windows 型中樞步驟,請從此處下載:iPerf-2.2.n-win64 。
- 執行
iPerf.exe
命令以查看其是否有效。 - 執行
iPerf -v
命令以驗證已安裝的 iPerf 版本。 - 請注意,已安裝 iPerf 版本
2.2.n
。
- 執行
工作 6:定義 iPerf 測試並準備 iPerf 命令
在這項任務中,我們將提供一些 iPerf 指令與額外的旗標,並說明它們的意義。如需詳細資訊,請參閱網路效能。
-
使用 TCP 進行測試的基本 iPerf 指令:
-
在 iPerf 伺服器端。
iPerf3 -s
-
在 iPerf 從屬端。
iPerf3 -c <server_instance_private_ip_address>
-
-
使用 TCP 進行測試時將使用的 iPerf 命令:
注意:
- 雙向頻寬測量 (
-r
)。 - TCP 視窗大小 (
-w
)。
-
在 iPerf 伺服器端。
iPerf3 -s -w 4000
-
在 iPerf 從屬端。
iPerf3 -c <server_instance_private_ip_address> -r -w 2000 iPerf3 -c <server_instance_private_ip_address> -r -w 4000
- 雙向頻寬測量 (
-
我們將用於與 UDP 進行測試的 iPerf 指令:
注意:
- UDP 測試 (
-u
)。 - 頻寬設定值 (
-b
)。
-
在 iPerf 伺服器端。
iPerf -s -u -i 1
-
在 iPerf 從屬端。
iPerf -c <server_instance_private_ip_address> -u -b 10m iPerf -c <server_instance_private_ip_address> -u -b 100m iPerf -c <server_instance_private_ip_address> -u -b 1000m iPerf -c <server_instance_private_ip_address> -u -b 10000m iPerf -c <server_instance_private_ip_address> -u -b 100000m
- UDP 測試 (
-
我們將用於與 TCP (搭配 MSS) 測試的 iPerf 命令:
注意:區段大小上限 (
-m
)。-
在 iPerf 伺服器端。
iPerf -s
-
在 iPerf 從屬端。
iPerf -c <server_instance_private_ip_address> -m
-
-
我們將用於與 TCP (平行) 測試的 iPerf 命令:
-
在 iPerf 伺服器端。
iPerf -s
-
在 iPerf 從屬端。
iPerf -c <server_instance_private_ip_address> -P 2
注意:對於本教學課程中將執行的所有測試,我們將使用下列最終命令。
-
-
iPerf 測試的最終命令:
注意:
- 頻寬設定值 (
-b
)。 - 平行測試 (
-P
)。
為了測試 100Gbps 之 100GB 連線的傳輸量,我們將傳輸量設為 9Gbps,並搭配 11 個平行串流。
-
在 iPerf 伺服器端。
iPerf -s
-
在 iPerf 從屬端。
iPerf -c <server_instance_private_ip_address> -b 9G -P 11
- 頻寬設定值 (
作業 7:在相同子網路中的相同 VCN 內執行 iPerf 測試
在此任務中,我們將在相同的 VCN 和相同的子網路內執行 iPerf2 傳輸量測試。下圖顯示要執行傳輸量測試之兩個端點之間的箭號路徑。
作業 7.1:從執行處理 -A1 到執行處理 -A2
在下表中,您會找到用戶端與伺服器的 IP 位址 (用於此測試中),以及用以執行測試結果之 iPerf 測試的指令。
iPerf 伺服器的 IP | 172.16.1.50 |
iPerf 用戶端的 IP | 172.16.1.93 |
伺服器上的 iPerf 命令 | iPerf -s |
用戶端上的 iPerf 指令 | iPerf -c 172.16.1.50 -b 9G -P 5 |
測試頻寬 (SUM) | 1.05 Gb/ 秒 |
下列影像說明 iPerf 測試的指令和完整測試輸出。
作業 7.2:從執行處理 -A2 到執行處理 -A1
在下表中,您會找到用戶端與伺服器的 IP 位址 (用於此測試中),以及用以執行測試結果之 iPerf 測試的指令。
iPerf 伺服器的 IP | 172.16.1.93 |
iPerf 用戶端的 IP | 172.16.1.50 |
伺服器上的 iPerf 命令 | iPerf -s |
用戶端上的 iPerf 指令 | iPerf -c 172.16.1.93 -b 9G -P 5 |
測試頻寬 (SUM) | 1.05 Gb/ 秒 |
下列影像說明 iPerf 測試的指令和完整測試輸出。
作業 8:在不同子網路的相同 VCN 內執行 iPerf 測試
在這項任務中,我們將在相同的 VCN 內執行 iPerf3 傳輸量測試,但會執行兩個不同的子網路。下圖顯示將執行傳輸量測試之兩個端點之間的箭號路徑。
工作 8.1:從 pfSense 防火牆到 Hub 逐步執行
在下表中,您會找到用戶端與伺服器的 IP 位址 (用於此測試中),以及用以執行測試結果之 iPerf 測試的指令。
iPerf 伺服器的 IP | 172.16.0.252 |
iPerf 用戶端的 IP | 172.16.0.20 |
伺服器上的 iPerf 命令 | iPerf3 -s |
用戶端上的 iPerf 指令 | iPerf3 -c 172.16.0.252 |
測試頻寬 (SUM) | 958 MB/ 秒 |
下列影像說明 iPerf 測試的指令和完整測試輸出。
任務 8.2:從 Hub 單步執行到 pfSense 防火牆
在下表中,您會找到用戶端與伺服器的 IP 位址 (用於此測試中),以及用以執行測試結果之 iPerf 測試的指令。
iPerf 伺服器的 IP | 172.16.0.20 |
iPerf 用戶端的 IP | 172.16.0.252 |
伺服器上的 iPerf 命令 | iPerf3 -s |
用戶端上的 iPerf 指令 | iPerf3 -c 172.16.0.20 |
測試頻寬 (SUM) | 1.01 Gbit/ 秒 |
下列影像說明 iPerf 測試的指令和完整測試輸出。
工作 9:在兩個不同的 VCN 之間執行 iPerf 測試
在這項任務中,我們將在兩個不同的 VCN 和兩個不同的子網路之間執行 iPerf2 傳輸量測試。請注意,測試會通過位於中樞 VCN 中的防火牆。下圖顯示將執行傳輸量測試之兩個端點之間的箭號路徑。
作業 9.1:從執行環境 - A1 至執行環境 - B
在下表中,您會找到用戶端與伺服器的 IP 位址 (用於此測試中),以及用以執行測試結果之 iPerf 測試的指令。
iPerf 伺服器的 IP | 172.16.2.88 |
iPerf 用戶端的 IP | 172.16.1.93 |
伺服器上的 iPerf 命令 | iPerf -s |
用戶端上的 iPerf 指令 | iPerf -c 172.16.2.88 -b 9G -P 5 |
測試頻寬 (SUM) | 1.02 Gb/ 秒 |
下列影像說明 iPerf 測試的指令和完整測試輸出。
作業 9.2:從執行環境 B 到執行環境 - A1
在下表中,您會找到用戶端與伺服器的 IP 位址 (用於此測試中),以及用以執行測試結果之 iPerf 測試的指令。
iPerf 伺服器的 IP | 172.16.1.93 |
iPerf 用戶端的 IP | 172.16.2.99 |
伺服器上的 iPerf 命令 | iPerf -s |
用戶端上的 iPerf 指令 | iPerf -c 172.16.1.93 -b 9G -P 5 |
測試頻寬 (SUM) | 1.02 Gb/ 秒 |
下列影像說明 iPerf 測試的指令和完整測試輸出。
作業 10:在不同的 VCN 之間執行 iPerf 測試,略過 pfSense 防火牆
在這項任務中,我們將在兩個不同的 VCN 和兩個不同的子網路之間執行 iPerf2 傳輸量測試。請注意,測試會略過中樞 VCN 中的防火牆。下圖顯示將執行傳輸量測試之兩個端點之間的箭號路徑。
作業 10.1:從執行環境 -C 至執行環境 -D
在下表中,您會找到用戶端與伺服器的 IP 位址 (用於此測試中),以及用以執行測試結果之 iPerf 測試的指令。
iPerf 伺服器的 IP | 172.16.4.14 |
iPerf 用戶端的 IP | 172.16.3.63 |
伺服器上的 iPerf 命令 | iPerf -s |
用戶端上的 iPerf 指令 | iPerf -c 172.16.4.14 -b 9G -P 5 |
測試頻寬 (SUM) | 1.04 Gb/ 秒 |
下列影像說明 iPerf 測試的指令和完整測試輸出。
作業 10.2:從執行環境 -D 至執行環境 -C
在下表中,您會找到用戶端與伺服器的 IP 位址 (用於此測試中),以及用以執行測試結果之 iPerf 測試的指令。
iPerf 伺服器的 IP | 172.16.3.63 |
iPerf 用戶端的 IP | 172.16.4.14 |
伺服器上的 iPerf 命令 | iPerf -s |
用戶端上的 iPerf 指令 | iPerf -c 172.16.3.63 -b 9G -P 5 |
測試頻寬 (SUM) | 1.05 Gb/ 秒 |
下列影像說明 iPerf 測試的指令和完整測試輸出。
作業 11:在內部部署和 OCI Hub VCN 之間執行 iPerf 測試
在這項任務中,我們將使用站對站 IPSec VPN 通道在內部部署和 OCI 之間執行 iPerf2 傳輸量測試。請注意,測試會通過位於中樞 VCN 中的防火牆。下圖顯示將執行傳輸量測試之兩個端點之間的箭號路徑。
注意:
當您使用 VPN IPSec 通道和 pfSense 防火牆最大傳輸單元 (MTU) 和最大區段大小 (MSS) 執行傳輸量測試 (無論是否有 iPerf) 時,要考慮的重要因素,當完成錯誤時,傳輸量結果將會無效,而不是如預期般。
使用 iPerf 時,您可以調整封包串流,以便使用特定的 MSS 傳送封包,如果您無法在來源或目的地之間的路徑中變更裝置上的 MSS 設定值,可以使用此選項。
最大區段大小固定
在本教學課程中,內部部署端的 MTU 為 9000,會傳送 MSS 值為 1500 + IPSec 超載的封包。
pfSense 介面 MTU 為 1500 ... 導致片段問題。
將介面 MSS 設定為 1300 時,會變更即時的大小,而此技術稱為最大區段大小固定。
pfSense 上的 MSS 變更
作業 11.1:從 VPN 從屬端執行處理 (內部部署) 到 Hub 逐步執行
在下表中,您會找到用戶端與伺服器的 IP 位址 (用於此測試中),以及用以執行測試結果之 iPerf 測試的指令。
iPerf 伺服器的 IP | 172.16.0.252 |
iPerf 用戶端的 IP | 10.222.10.19 |
伺服器上的 iPerf 命令 | iPerf -s |
用戶端上的 iPerf 指令 | iPerf -c 172.16.0.252 -b 9G -P 5 |
測試頻寬 (SUM) | 581 Mb/ 秒 |
下列影像說明 iPerf 測試的指令和完整測試輸出。
作業 11.2:從 Hub 步驟階段至 VPN 從屬端執行處理 (內部部署)
在下表中,您會找到用戶端與伺服器的 IP 位址 (用於此測試中),以及用以執行測試結果之 iPerf 測試的指令。
iPerf 伺服器的 IP | 10.222.10.19 |
iPerf 用戶端的 IP | 172.16.0.252 |
伺服器上的 iPerf 命令 | iPerf -s |
用戶端上的 iPerf 指令 | iPerf -c 10.222.10.19 -b 9G -P 5 |
測試頻寬 (SUM) | 732 Mb/ 秒 |
下列影像說明 iPerf 測試的指令和完整測試輸出。
作業 12:在內部部署和 OCI 網輻 VCN 之間執行 iPerf 測試
在這項任務中,我們將使用站對站 IPSec VPN 通道在內部部署和 OCI 之間執行 iPerf2 傳輸量測試。請注意,測試會通過位於中樞 VCN 中的防火牆。下圖顯示將執行傳輸量測試之兩個端點之間的箭號路徑。
作業 12.1:從 VPN 從屬端執行處理 (內部部署) 到執行處理 -A1
在下表中,您會找到用戶端與伺服器的 IP 位址 (用於此測試中),以及用以執行測試結果之 iPerf 測試的指令。
iPerf 伺服器的 IP | 172.16.1.93 |
iPerf 用戶端的 IP | 10.222.10.19 |
伺服器上的 iPerf 命令 | iPerf -s |
用戶端上的 iPerf 指令 | iPerf -c 172.16.1.93 -b 9G -P 5 |
測試頻寬 (SUM) | 501 Mb/ 秒 |
下列影像說明 iPerf 測試的指令和完整測試輸出。
iPerf 命令中含有 MSS 的新測試:
注意:使用 iPerf 時,您可以調整封包串流,以便使用特定的 MSS 傳送封包,如果您無法在來源或目的地之間的路徑中變更裝置上的 MSS 設定值,可以使用下列命令。
在下表中,您會找到用戶端與伺服器的 IP 位址 (用於此測試中),以及用以執行測試結果之 iPerf 測試的指令。
iPerf 伺服器的 IP | 172.16.1.93 |
iPerf 用戶端的 IP | 10.222.10.19 |
伺服器上的 iPerf 命令 | iPerf -s |
用戶端上的 iPerf 指令 | iPerf -c 172.16.1.93 -b 9G -P 5 -M 1200 |
測試頻寬 (SUM) | 580 Mbits/ 秒 |
下列影像說明 iPerf 測試的指令和完整測試輸出。
作業 12.2:從執行處理 -A1 到 VPN 從屬端執行處理 (內部部署)
在下表中,您會找到用戶端與伺服器的 IP 位址 (用於此測試中),以及用以執行測試結果之 iPerf 測試的指令。
iPerf 伺服器的 IP | 10.222.10.19 |
iPerf 用戶端的 IP | 172.16.1.93 |
伺服器上的 iPerf 命令 | iPerf -s |
用戶端上的 iPerf 指令 | iPerf -c 10.222.10.19 -b 9G -P 5 |
測試頻寬 (SUM) | 620 Mb/ 秒 |
在接下來的螢幕擷取畫面中,您也會找到 iPerf 測試的完整測試輸出。
iPerf 命令中含有 MSS 的新測試:
注意:使用 iPerf 時,您可以調整封包串流,以便使用特定的 MSS 傳送封包,如果您無法在來源或目的地之間的路徑中變更裝置上的 MSS 設定值,可以使用下列命令。
在下表中,您會找到用戶端與伺服器的 IP 位址 (用於此測試中),以及用以執行測試結果之 iPerf 測試的指令。
iPerf 伺服器的 IP | 10.222.10.19 |
iPerf 用戶端的 IP | 172.16.1.93 |
伺服器上的 iPerf 命令 | iPerf -s |
用戶端上的 iPerf 指令 | iPerf -c 10.222.10.19 -b 9G -P 5 -M 1200 |
測試頻寬 (SUM) | 805 Mbits/ 秒 |
下列影像說明 iPerf 測試的指令和完整測試輸出。
作業 13:略過 pfSense 防火牆,在內部部署與 OCI 支點 VCN 之間執行 iPerf 測試
在這項任務中,我們將使用站對站 IPSec VPN 通道在內部部署和 OCI 之間執行 iPerf2 傳輸量測試。請注意,測試會略過中樞 VCN 中的防火牆。下圖顯示將執行傳輸量測試之兩個端點之間的箭號路徑。
作業 13.1:從 VPN 從屬端執行處理 (內部部署) 到執行處理 -D
在下表中,您會找到用戶端與伺服器的 IP 位址 (用於此測試中),以及用以執行測試結果之 iPerf 測試的指令。
iPerf 伺服器的 IP | 172.16.4.14 |
iPerf 用戶端的 IP | 10.222.10.19 |
伺服器上的 iPerf 命令 | iPerf -s |
用戶端上的 iPerf 指令 | iPerf -c 172.16.4.14 -b 9G -P 5 |
測試頻寬 (SUM) | 580 Mbits/ 秒 |
下列影像說明 iPerf 測試的指令和完整測試輸出。
作業 13.2:從執行處理 -D 到 VPN 從屬端執行處理 (內部部署)
在下表中,您會找到用戶端與伺服器的 IP 位址 (用於此測試中),以及用以執行測試結果之 iPerf 測試的指令。
iPerf 伺服器的 IP | 10.222.10.19 |
iPerf 用戶端的 IP | 172.16.4.14 |
伺服器上的 iPerf 命令 | iPerf -s |
用戶端上的 iPerf 指令 | iPerf -c 10.222.10.19 -b 9G -P 5 |
測試頻寬 (SUM) | 891 Mbits/ 秒 |
下列影像說明 iPerf 測試的指令和完整測試輸出。
作業 14:在網際網路與 OCI Hub VCN 之間執行 iPerf 測試
在這項任務中,我們將使用網際網路在網際網路上的從屬端與 OCI 之間執行 iPerf2 傳輸量測試。下圖顯示將執行傳輸量測試之兩個端點之間的箭號路徑。
作業 14.1:從網際網路到 Hub 逐步執行
在下表中,您會找到用戶端與伺服器的 IP 位址 (用於此測試中),以及用以執行測試結果之 iPerf 測試的指令。
iPerf 伺服器的 IP | xxx.xxx.xxx.178 |
iPerf 用戶端的 IP | xxx.xxx.xxx.152 |
伺服器上的 iPerf 命令 | iPerf -s |
用戶端上的 iPerf 指令 | iPerf -c xxx.xxx.xxx.178 -b 9G -P 5 |
測試頻寬 (SUM) | 251 Mb/ 秒 |
下列影像說明 iPerf 測試的指令和完整測試輸出。
作業 15:在相同的子網路內部部署內預先執行 iPerf 測試
在此工作中,我們將在兩個內部部署執行處理之間執行 iPerf2 傳輸量測試。下圖顯示將執行傳輸量測試之兩個端點之間的箭號路徑。
作業 15.1:從 VPN 從屬端執行處理 (內部部署) 到 StrongSwan CPE 執行處理 (內部部署)
在下表中,您會找到用戶端與伺服器的 IP 位址 (用於此測試中),以及用以執行測試結果之 iPerf 測試的指令。
iPerf 伺服器的 IP | 10.222.10.70 |
iPerf 用戶端的 IP | 10.222.10.19 |
伺服器上的 iPerf 命令 | iPerf -s |
用戶端上的 iPerf 指令 | iPerf -c 10.222.10.70 -b 9G -P 5 |
測試頻寬 (SUM) | 1.05 Gb/ 秒 |
下列影像說明 iPerf 測試的指令和完整測試輸出。
作業 15.2:從 StrongSwan CPE 執行處理 (內部部署) 到 VPN 從屬端執行處理 (內部部署)
在下表中,您會找到用戶端與伺服器的 IP 位址 (用於此測試中),以及用以執行測試結果之 iPerf 測試的指令。
iPerf 伺服器的 IP | 10.222.10.19 |
iPerf 用戶端的 IP | 10.222.10.70 |
伺服器上的 iPerf 命令 | iPerf -s |
用戶端上的 iPerf 指令 | iPerf -c 10.222.10.19 -b 9G -P 5 |
測試頻寬 (SUM) | 1.05 Gb/ 秒 |
下列影像說明 iPerf 測試的指令和完整測試輸出。
結果
在本教學課程中,我們已使用 iPerf2 和 iPerf3 執行不同類型的傳輸量測試。在具有不同路徑的完整網路架構中,對各種不同的來源和目的地執行測試。
在下表中,您可以看到我們收集的測試結果摘要。
測試類型 | 頻寬結果 | |
---|---|---|
作業 7.1: 在相同子網路中的相同 VCN 內執行 iPerf 測試 ( 從執行處理 A1 到執行處理 A2) | 1.05 Gb/ 秒 | OCI 內部 |
作業 7.2: 在相同子網路中的相同 VCN 內執行 iPerf 測試 ( 從執行處理 A2 到執行處理 A1) | 1.05 Gb/ 秒 | OCI 內部 |
任務 8.1:在不同子網路的相同 VCN 內執行 iPerf 測試 ( 從 pfSense 防火牆到 Hub Stepstone) | 958 MB/ 秒 | OCI 內部 |
作業 8.2: 在不同子網路的相同 VCN 內執行 iPerf 測試 ( 從中樞步驟石到 pfSense 防火牆 ) | 1.01 Gbit/ 秒 | OCI 內部 |
工作 9.1: 在不同的 VCN 之間執行 iPerf 測試 ( 從執行處理 - A1 到執行處理 - B) | 1.02 Gb/ 秒 | OCI 內部 |
工作 9.2: 在不同的 VCN 之間執行 iPerf 測試 ( 從執行處理 B 到執行處理 A1) | 1.02 Gb/ 秒 | OCI 內部 |
工作 10.1:在不同的 VCN 之間執行 iPerf 測試 (略過 pfSense 防火牆) ( 從 Instance-C 到 Instance-D | 1.04 Gb/ 秒 | OCI 內部 |
工作 10.2:在不同的 VCN 之間執行 iPerf 測試 (略過 pfSense 防火牆) ( 從 Instance-D 到 Instance-C) | 1.05 Gb/ 秒 | OCI 內部 |
作業 11.1: 在內部部署環境與 OCI Hub VCN ( 從 VPN 從屬端執行處理 (內部部署) 到 Hub Stepstone) 之間執行 iPerf 測試 | 581 Mb/ 秒 | 透過防火牆將內部部署環境移轉至 OCI |
作業 11.2: 在內部部署與 OCI Hub VCN 之間執行 iPerf 測試 ( 從 Hub Stepstone 到 VPN Client Instance (on-premises) ) | 732 Mb/ 秒 | 透過防火牆將內部部署環境移轉至 OCI |
作業 12.1: 在內部部署與 OCI 支點 VCN 之間執行 iPerf 測試 ( 從 VPN 從屬端執行處理 (內部部署) 到執行處理 - A1) | 501Mbits/sec | 透過防火牆將內部部署環境移轉至 OCI |
作業 12.2: 在內部部署與 OCI 支點 VCN 之間執行 iPerf 測試 ( 從執行處理 A1 到 VPN 從屬端執行處理 (內部部署) ) | 620 Mb/ 秒 | 透過防火牆將內部部署環境移轉至 OCI |
作業 13.1: 在內部部署和 OCI 支點 VCN 之間執行 iPerf 測試 (略過 pfSense 防火牆) ( 從 VPN 從屬端執行處理 (內部部署) 到執行處理 -D) | 580 Mbits/ 秒 | 內部部署至 OCI 防火牆略過 |
作業 13.2: 在內部部署和 OCI 網輻 VCN 之間執行 iPerf 測試 (略過 pfSense 防火牆) ( 從執行處理 D 到 VPN 從屬端執行處理 (內部部署) ) | 891 Mb/ 秒 | 內部部署至 OCI 防火牆略過 |
任務 14:在 INTERNET 與 OCI Hub VCN 之間執行 iPerf 測試 ( 從網際網路到 Hub Stepstone) | 251 Mb/ 秒 | OCI 的網際網路 |
作業 15.1: 在相同的內部部署子網路內執行 iPerf 測試 ( 從 VPN 從屬端執行處理 (內部部署) 至 StrongSwan CPE 執行處理 (內部部署) ) | 1.05 Gb/ 秒 | 內部部署到內部部署 |
作業 15.2: 在相同的內部部署子網路內執行 iPerf 測試 ( 從 StrongSwan CPE 執行處理 (內部部署) 到 VPN 從屬端執行處理 (內部部署) ) | 1.05 Gb/ 秒 | 內部部署到內部部署 |
認可
- 作者 - Iwan Hoogendoorn (OCI 網路專家)
其他學習資源
探索 docs.oracle.com/learn 上的其他實驗室,或存取 Oracle Learning YouTube 頻道上的更多免費學習內容。此外,請造訪 education.oracle.com/learning-explorer 以成為 Oracle Learning Explorer。
如需產品文件,請造訪 Oracle Help Center 。
Use iPerf to Test the Throughput inside an OCI Hub and Spoke VCN Routing Architecture
G17040-01
October 2024