微軟稱,重寫 SNAT 來改善 Azure 負載均衡!
當數量眾多的雲埠不夠用時……
微軟重寫了源網路地址轉換(SNAT)協議的運作機制,此舉旨在改善Azure的負載均衡性能。
源網路地址轉換是分配IP埠號的一種特殊機制,讓路由器很容易在多台Azure伺服器之間傳輸數據流。在TCP/IP協議棧中,「port」(埠)是標頭中的一個定址欄位,標頭用來識別主機(由於入站數據流發往路由器,而不是發往伺服器)和協議。在負載均衡中,客戶分配的埠負責識別與客戶數據流有關的伺服器實例。
最初,SNAT與一組預分配的動態埠(160個)配合使用,如果數據流耗盡了分配給客戶的埠,就為他們提供額外的埠。
據Azure的軟體定義網路運營項目經理拉曼?迪普?辛格(Raman Deep Singh)撰寫的這篇博文(https://azure.microsoft.com/en-us/blog/azure-load-balancer-to-become-more-efficient/)聲稱,微軟已發現了這種機制無能為力的使用場合。
辛格寫道,如果一項服務將數據流發往大量的外部端點,現有的SNAT模式運作良好,可生成勻速數據流。
但是當大量數據流發往少數幾個外部目的地時,SNAT就會有問題:「初始分配的埠會在短時間內被耗盡」,結果連接時斷時續。
該博文繼續寫道:「如果使用按需模式,埠不是均勻分布的。這導致對於後端池中的一些實例來說SNAT埠分配的未決狀態(pending state)持續時間更長。」
因此經過修改的SNAT旨在使埠分配更易於預測(即更穩定):「所有的可用埠是預先分配的,在Load Balancer(負載均衡系統)平台的後端池當中均勻分布,具體取決於池大小。」
以下是可用埠分配情況:
現有部署環境將在2018年夏天之前遷移到新的SNAT模式。
無論是訂購Azure標準SKU負載均衡系統平台還是訂購基本SKU負載均衡系統平台(和經典雲部署),新客戶將立即被分配新的SNAT模式。
微軟預計新模式不會出現問題,除了這種情況外:服務要求許多單個實例進行大量的SNAT連接。在這種情況下,辛格提醒讀者不妨閱讀關於應對SNAT耗盡情況的這篇文章(https://docs.microsoft.com/en-us/azure/load-balancer/load-balancer-outbound-connections#snatexhaust)。
※博通收購高通的戲碼就像土匪強搶良家婦女:硬來
※HPE和IBM 的沒落
TAG:雲頭條 |