巨型幀通過增加幀的大小,每個資料包可以攜帶更多資料,從而減少了所需傳輸的資料包數量,降低了處理器的負擔並提高了整體資料轉送速度。在需要高輸送量和大頻寬的網路環境中,特別是在資料中心、伺服器陣列和高速網路互聯等傳輸大量資料的情境中,使用巨型幀有助於減少網路傳輸耗時和提升網路效率,充分發揮網路效能。
什麼是巨型幀
巨型幀(Jumbo Frames)是指承載超過IEEE 802.3標準所限制的1500位元組的乙太網路幀。目前阿里雲支援8500 位元組的巨型幀,即允許您發送8500位元組載荷的乙太網路幀。
支援巨型幀的執行個體規格
目前支援巨型幀的執行個體規格類型系列如下:
有關執行個體規格類型系列的更多網路參數資訊,請參見執行個體規格類型系列中具體執行個體規格的網路部分。
您也可以通過DescribeInstanceTypes返回參數中的JumboFrameSupport的值,查詢執行個體規格是否支援巨型幀,true表示支援,false表示不支援。
巨型幀對網路效能的影響
提高網路輸送量:通過支援超過標準乙太網路幀大小(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的值會以您在作業系統上設定的為準。
建立執行個體時候開啟、關閉巨型幀
在執行個體建立頁,選擇支援巨型幀的執行個體規格時,可選擇開啟、關閉巨型幀。
執行個體成功建立且正常啟動後,巨型幀開啟/關閉已生效。
修改巨型幀配置
執行個體建立完成後,在ECS執行個體操作列開啟、關閉巨型幀。
登入ECS管理主控台。
在左側導覽列,選擇 。
在頁面左側頂部,選擇目標資源所在的資源群組和地區。
找到已建立的支援巨型幀的執行個體,在操作列選擇
在修改巨型幀配置對話方塊,根據實際需要開啟、關閉巨型幀。
點擊確定後,您需要配置作業系統使巨型幀開啟、關閉生效。
調用介面開啟、關閉巨型幀
您可以通過調用ModifyInstanceAttribute介面,設定參數EnableJumboFrame為true、false,實現開啟、關閉巨型幀。然後配置作業系統使巨型幀開啟、關閉生效。
配置作業系統使巨型幀開啟、關閉生效
開啟、關閉巨型幀屬於網路設定的一部分,如果您是在建立執行個體之後修改巨型幀配置,或者是調用介面開啟、關閉巨型幀,可能需要重啟網路服務或者重啟網路介面才可以生效。具體操作如下:
Windows執行個體
重啟執行個體:Windows執行個體在開啟或關閉巨型幀後,需要重啟執行個體作業系統內部才會生效。
Linux執行個體
遠端連線Linux執行個體。
具體操作,請參見使用Workbench工具以SSH協議登入Linux執行個體。
開啟或關閉巨型幀後,執行如下命令,重啟網路服務使巨型幀開啟/關閉生效。
說明如果您的網路介面啟用了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 NetworkManager
或sudo reboot
Ubuntu 18/20/22
Debian 12
sudo netplan apply
Ubuntu 14/16
Debian 8/9/10/11
sudo systemctl restart networking
或sudo reboot
說明如果您執行
systemctl
遇到問題,請參見在Linux執行個體中執行systemctl命令報錯怎麼辦?。
巨型幀使用最佳實務
使用巨型幀可以提高某些特定網路環境下的效率和效能,尤其是在資料密集型應用如存放區域網路(SAN)、巨量資料傳輸、Alibaba Cloud HPC等情境中。以下是使用巨型幀的一些最佳實務:
評估需求:首先,確定您的網路是否真正需要巨型幀。巨型幀最適合於那些傳輸大塊資料的應用,如巨量資料分析、備份和恢複、高效能運算等。如果網路主要承載小資料包流量,巨型幀可能不會帶來明顯好處。詳細資料,請參見常見使用情境。
評估裝置和協議支援:
裝置一致性:確保網路路徑上的網路裝置,包括交換器、路由器、伺服器和網路介面卡(NIC),都支援並配置為相同的巨型幀大小。不一致的MTU設定會導致資料包被錯誤地分區或丟棄,影響網路效能。
上層協議相容性:使用巨型幀可能會影響某些上層協議的表現,例如TCP視窗大小的調整對於充分利用巨型幀的能力至關重要。確保上層協議配置能夠與巨型幀設定相匹配,以實現最佳效能。
測試與驗證:在生產環境中部署巨型幀前,應該在隔離的測試環境中進行全面的測試,包括輸送量測試、延遲測試以及故障恢複測試,確保巨型幀能帶來預期的效能提升,並且不會引入新的問題。關於網路效能測試,請參見網路效能測試方法。
一致性配置:在網路中的所有裝置上配置相同的MTU值,以確保巨型幀可以無縫傳輸。不一致的配置可能導致資料包分區或丟失。
開啟、關閉執行個體的巨型幀:對於ECS執行個體的巨型幀的使用,建議您通過阿里雲提供的方式進行開啟、關閉,而不是直接修改作業系統的MTU。詳細資料,請參見開啟/關閉巨型幀。
監控與調整:部署巨型幀後持續監控網路效能,特別是注意任何可能由巨型幀引起的新問題,比如某些老舊裝置可能無法正確處理巨型幀,或者網路中的其他裝置因配置不當而導致的問題。需要根據監控結果適時調整網路設定。
常見問題
問題描述:使用巨型幀進行UDP/ICMP通訊時,如果遇到效能急劇下降的情況,如何解決?
解決方案:檢查資料包分區情況,必要時關閉ECS執行個體的巨型幀。具體操作,請參見開啟/關閉巨型幀。
問題描述:ECS執行個體開啟巨型幀的情況下,通過UDP/ICMP協議訪問雲端服務(OSS、RDS等)時,遇到網路不通的問題,如何解決?
問題原因:當前ECS訪問雲端服務的流量會經過負載平衡產品,受限於負載平衡產品不支援分區報文的轉寄,因此可能導致不通。
解決方案:縮小ECS訪問雲端服務的訊息大小,以確保資料包不分區,且尺寸小於等於1500位元組。