全部產品
Search
文件中心

Elastic Compute Service:巨型幀(Jumbo Frames)

更新時間:Nov 13, 2024

巨型幀通過增加幀的大小,每個資料包可以攜帶更多資料,從而減少了所需傳輸的資料包數量,降低了處理器的負擔並提高了整體資料轉送速度。在需要高輸送量和大頻寬的網路環境中,特別是在資料中心、伺服器陣列和高速網路互聯等傳輸大量資料的情境中,使用巨型幀有助於減少網路傳輸耗時和提升網路效率,充分發揮網路效能。

什麼是巨型幀

巨型幀(Jumbo Frames)是指承載超過IEEE 802.3標準所限制的1500位元組的乙太網路幀。目前阿里雲支援8500 位元組的巨型幀,即允許您發送8500位元組載荷的乙太網路幀。

支援巨型幀的執行個體規格

目前執行個體規格類型系列中的g8i、c8i、r8i、g8a、c8a、r8a、g8ae、c8ae、r8ae、g8y、c8y、r8y均支援巨型幀。更多資訊,請參見執行個體規格類型系列

巨型幀對網路效能的影響

  • 提高網路輸送量:通過支援超過標準乙太網路幀大小(1500位元組)的資料包,巨型幀允許單次傳輸更多的資料,從而減少資料包的數量,提高網路輸送量。

  • 減少CPU負載:更少的幀處理意味著CPU需要處理的網路中斷和資料包重組任務減少,這可以減輕CPU負擔,提高整體系統效能。

  • 改善應用的網路處理時間:通過減少資料轉送所需的幀數量,巨型幀能夠降低應用在網路處理和傳輸上的耗時,這對於要求大頻寬、資料密集型的應用(如高效能運算、巨量資料傳輸、存放區域網路等)尤為重要。

  • 提升大塊資料轉送效率:對於需要傳輸大量連續資料的應用(如Database Backup、大規模檔案傳輸、視頻流媒體服務等),巨型幀能夠顯著提升傳輸速度和效率。

常見使用情境

在雲端服務情境中,巨型幀的使用可以帶來網路效能的提升,特別是在需要處理大量資料轉送的應用中。以下是一些雲上情境中巨型幀的常見使用情境:

  • 資料中心內部通訊:在雲資料中心內部,巨型幀可以提高伺服器之間的資料轉送效率,尤其是在進行巨量資料分析、資料庫同步或分散式運算時。

  • 存放區域網路(SAN):在雲環境中,SAN用於串連伺服器和存放裝置。使用巨型幀可以減少資料轉送過程中的耗時和開銷,提高資料備份和恢複的效率。

  • 虛擬機器移轉:在雲環境中,虛擬機器可能需要在物理伺服器之間遷移。巨型幀可以減少遷移過程中的網路耗時,加快遷移速度。

  • Alibaba Cloud HPC:在雲上進行科學計算或工程類比等高效能運算任務時,巨型幀可以提高資料轉送速率,減少計算任務的完成時間。

  • 視頻流和多媒體傳輸:雲端服務器可能需要處理大量的視頻和多媒體內容傳輸。巨型幀可以提升頻寬和傳輸效率,提供更流暢的使用者體驗。

巨型幀和MTU

網路傳輸單元最大值MTU(Maximum Transmission Unit)決定了網路上單次可傳輸資料包的最大尺寸,包含IP資料包頭和載荷,不包含乙太網路頭部。理論上MTU越大,可在單個資料包中傳遞的資料越多,網路通訊越高效。詳細資料,請參見網路傳輸單元最大值(MTU)

巨型幀是MTU概念的一個特例,指的是配置了比傳統乙太網路標準MTU(1500位元組)更大的MTU值的網路介面所允許傳輸的資料幀。通常情況下,啟用ECS執行個體的巨型幀時,相應網路介面的MTU會設定為8500位元組。

使用巨型幀的注意事項

巨型幀技術雖然在部分使用情境中可以帶來顯著的效能提升,但也存在一些潛在的問題,如相容性問題、可能增加的網路延遲等。因此,在啟用巨型幀之前,需要進行充分的測試和規劃,以確保網路的穩定和高效運行。

  • 裝置相容性:需要確保所有網路裝置(包括交換器、路由器、網卡等)都支援巨型幀,即需要所有網路裝置的MTU都支援巨型幀的大小,否則可能會導致資料包被丟棄或分區,從而降低網路效能。詳細資料,請參見MTU對網路效能的影響

  • 協議支援:確保上層協議(如TCP/IP)能夠適應巨型幀的使用。例如,TCP的MSS(最大段大小)需要相應調整以避免不必要的資料分區。詳細資料,請參見網路傳輸單元最大值(MTU)

    重要

    在非TCP情境下,比如使用UDP、ICMP或其他非串連導向的協議時,如果沒有相應的協議層或應用程式層對巨型幀的支援和最佳化,可能無法充分利用巨型幀帶來的好處,甚至可能因為不當的使用導致資料包丟失或應用程式錯誤。

  • 可能增加延遲:在低頻寬鏈路上,較大的資料包佔用線路的時間更長,可能會阻止其他人使用線路,從而造成延遲。

  • 雲產品使用限制:在實際應用情境中,和其他雲產品結合使用時候,巨型幀受其他雲產品支援的MTU的限制。詳細資料,請參見實際應用中MTU的限制

    目前已知在以下情境使用巨型幀可能存在連通性或效能問題:

    • 使用非TCP(UDP/ICMP)的巨型幀訪問雲端服務或者目的主機使用負載平衡產品時,可能由於分區報文無法被負載平衡器正常轉寄而丟棄,造成網路不通的風險。

    • 使用非TCP(UDP/ICMP)的巨型幀在MTU不匹配的情境下進行通訊時,可能因為分區而導致網路效能下降。

開啟/關閉巨型幀

您可以通過以下方式開啟、關閉ECS執行個體的巨型幀。

重要

如果您在作業系統上手動修改了網路介面的MTU(不建議),那麼開啟、關閉巨型幀後,執行個體網路介面的MTU的值會以您在作業系統上設定的為準。

建立執行個體時候開啟、關閉巨型幀

執行個體建立頁,選擇支援巨型幀的執行個體規格時,可選擇開啟、關閉巨型幀。

image

執行個體成功建立且正常啟動後,巨型幀開啟/關閉已生效。

修改巨型幀配置

執行個體建立完成後,在ECS執行個體操作列開啟、關閉巨型幀。

  1. 登入ECS管理主控台

  2. 在左側導覽列,選擇執行個體與鏡像 > 執行個體

  3. 在頁面左側頂部,選擇目標資源所在的資源群組和地區。地區

  4. 找到已建立的支援巨型幀的執行個體,在操作列選擇icon1 > 網路和安全性群組 > 修改巨型幀配置。

  5. 修改巨型幀配置對話方塊,根據實際需要開啟、關閉巨型幀。

    jumbo.png

點擊確定後,您需要配置作業系統使巨型幀開啟、關閉生效

調用介面開啟、關閉巨型幀

您可以通過調用ModifyInstanceAttribute介面,設定參數EnableJumboFrame為true、false,實現開啟、關閉巨型幀。然後配置作業系統使巨型幀開啟、關閉生效

配置作業系統使巨型幀開啟、關閉生效

開啟、關閉巨型幀屬於網路設定的一部分,如果您是在建立執行個體之後修改巨型幀配置,或者是調用介面開啟、關閉巨型幀,可能需要重啟網路服務或者重啟網路介面才可以生效。具體操作如下:

Windows執行個體

重啟執行個體:Windows執行個體在開啟或關閉巨型幀後,需要重啟執行個體作業系統內部才會生效。

Linux執行個體

  1. 遠端連線Linux執行個體。

    具體操作,請參見通過密碼或密鑰認證登入Linux執行個體

  2. 開啟或關閉巨型幀後,執行如下命令,重啟網路服務使巨型幀開啟/關閉生效。

    說明

    如果您的網路介面啟用了DHCP,您也可以通過sudo dhclient 命令擷取最新的MTU。例如,sudo dhclient eth0會動態擷取主網卡的網路設定資訊,包括最新的MTU值。

    sudo systemctl restart NetworkManager

    不同Linux系統發行版或版本不同,由於網路服務管理工具不同,因此重啟網路服務的命令不同,部分需要重啟執行個體。常見命令如下所示:

    作業系統

    重啟服務命令

    • Alibaba Cloud Linux 2

    • CentOS 7

    • Red Hat 7

    • Anolis 7

    • SUSE Linux 11/12/15

    • OpenSUSE 15/42

    sudo service network restart

    sudo systemctl restart network

    • CentOS 6

    • Red Hat 6

    sudo service network restart

    • Alibaba Cloud Linux 3

    • CentOS 8

    • Red Hat 8

    • Anolis 8

    • Fedora 33/34/35

    sudo systemctl restart NetworkManagersudo reboot

    • Ubuntu 18/20/22

    • Debian 12

    sudo netplan apply

    • Ubuntu 14/16

    • Debian 8/9/10/11

    sudo systemctl restart networkingsudo reboot

    說明

    如果您執行systemctl遇到問題,請參見在Linux執行個體中執行systemctl命令報錯怎麼辦?

巨型幀使用最佳實務

使用巨型幀可以提高某些特定網路環境下的效率和效能,尤其是在資料密集型應用如存放區域網路(SAN)、巨量資料傳輸、Alibaba Cloud HPC等情境中。以下是使用巨型幀的一些最佳實務:

  • 評估需求:首先,確定您的網路是否真正需要巨型幀。巨型幀最適合於那些傳輸大塊資料的應用,如巨量資料分析、備份和恢複、高效能運算等。如果網路主要承載小資料包流量,巨型幀可能不會帶來明顯好處。詳細資料,請參見常見使用情境

  • 評估裝置和協議支援

    • 裝置一致性:確保網路路徑上的網路裝置,包括交換器、路由器、伺服器和網路介面卡(NIC),都支援並配置為相同的巨型幀大小。不一致的MTU設定會導致資料包被錯誤地分區或丟棄,影響網路效能。

    • 上層協議相容性:使用巨型幀可能會影響某些上層協議的表現,例如TCP視窗大小的調整對於充分利用巨型幀的能力至關重要。確保上層協議配置能夠與巨型幀設定相匹配,以實現最佳效能。

  • 測試與驗證:在生產環境中部署巨型幀前,應該在隔離的測試環境中進行全面的測試,包括輸送量測試、延遲測試以及故障恢複測試,確保巨型幀能帶來預期的效能提升,並且不會引入新的問題。關於網路效能測試,請參見網路效能測試方法

  • 一致性配置:在網路中的所有裝置上配置相同的MTU值,以確保巨型幀可以無縫傳輸。不一致的配置可能導致資料包分區或丟失。

    開啟、關閉執行個體的巨型幀:對於ECS執行個體的巨型幀的使用,建議您通過阿里雲提供的方式進行開啟、關閉,而不是直接修改作業系統的MTU。詳細資料,請參見開啟/關閉巨型幀

  • 監控與調整:部署巨型幀後持續監控網路效能,特別是注意任何可能由巨型幀引起的新問題,比如某些老舊裝置可能無法正確處理巨型幀,或者網路中的其他裝置因配置不當而導致的問題。需要根據監控結果適時調整網路設定。

常見問題

  1. 問題描述:使用巨型幀進行UDP/ICMP通訊時,如果遇到效能急劇下降的情況,如何解決?

    解決方案:檢查資料包分區情況,必要時關閉ECS執行個體的巨型幀。具體操作,請參見開啟/關閉巨型幀

  2. 問題描述:ECS執行個體開啟巨型幀的情況下,通過UDP/ICMP協議訪問雲端服務(OSS、RDS等)時,遇到網路不通的問題,如何解決?

    問題原因:當前ECS訪問雲端服務的流量會經過負載平衡產品,受限於負載平衡產品不支援分區報文的轉寄,因此可能導致不通。

    解決方案:縮小ECS訪問雲端服務的訊息大小,以確保資料包不分區,且尺寸小於等於1500位元組。