• 產品與解決方案
  • 行業解決方案
  • 服務
  • 支持
  • 合作夥伴
  • 關於我們

互聯網技術詳解-數據中心網絡HASH技術演進

【發布時間:2021-01-28】

從“金融中心”國貿,到“宇宙中心”五道口是絕大多數北京人都走過的路線,也是北京日常最堵的線路之一。同樣的事情還發生再上海的中環路、深圳的深南大道等等一線城市交通之中。為了解決城市熱點地區之間的交通問題,每個城市都會在熱點地區之間修建多條線路,以保證高峰期的交通不至於癱瘓。

其實,數據中心也麵臨著相同的情況。尤其在北向流量彙集的網絡出口側,網絡擁堵也時常發生。同樣的,為解決這一問題,數據中心設計者們也會構建很多與北向出口相連的其他路徑。在專業中,這種方式叫等價多路徑。

交通係統當中,每個司機都會根據自己自身對道路狀況的預判或者導航軟件來選擇從A到B的不同路徑,並由此實現不同道路對車流的共同分擔;但在數據中心當中,數據封包或者數據流上並沒有一個會思考的“司機”,所以,如何在等價多路徑當中實現不同路徑的負載均衡就成了一個必須解決的問題。

而Hash——哈希散列正是為了解決這一問題而生。

Hash基本原理

為了提升業務彈性擴容能力和可靠性,數據中心通常會采用CLOS架構的網絡結構。這種結構當中存在二層LACP等價路徑、三層ECMP等價路徑。

而Hash一般稱為哈希散列,是通過交換機或路由器的芯片內置算法將一段任意的輸入(通常是一個非常大的集合)轉化成一個固定長度輸出(通常是一個小的集合)。在網絡架構中,這種方法可以用來解決多個等價路徑上的負載均衡問題,並由此提升數據中心內的資源利用率。

某款ASIC芯片的Hash流程簡示:

ASIC提取報文字段值以及轉發端口等信息,由Hash多項式計算出Hash值,再映射到等價路徑下一跳。

雖然總體原理相同,但不同的廠商的不同設備均有著不同的Hash實現方法。下麵我們就結合Hash的發展階段,以BOB登陆 交換機操作係統為例,來為大家逐一介紹Hash的五種實現方法,以及更高級的智能Hash。

Hash的進化與五種實現方法

  Hash一直隨著網絡應用的發展而進化,因此,Hash也在不同的階段出現了五種不同的實現方法。那麼下麵就讓我們來逐一解析。

1. 逐包 Hash與逐流Hash?

逐包Hash轉發,不考慮同一特征的流量轉發路徑的一致性,把所有報文都逐個hash、轉發,這樣能夠做到更均勻的負載分擔。但是,在上下遊網絡組網結構不均衡、時延不均衡的環境中,逐包Hash的數據包會經過不同路徑到達目的地,不同路徑的時延抖動差異較大,會造成接收方的報文到達亂序,從而影響通信的效率。

而逐流Hash會把同一條流特征的流量(例如五元組:源IP地址、源端口、目的IP地址、目的端口、傳輸層協議類型),分發到固定一條路徑,避免了亂序問題;如果設備Hash轉發的N條流的帶寬占比沒有失衡,則逐流Hash總體是平均的負載分擔;但是在大象流和老鼠流的場景,大象流具有少量的流數量卻占用大量的帶寬,Hash不均衡。

2. 內層Hash

對於GRE、VxLAN等封裝報文的Hash,封裝的外層字段的信息是固定的,例如SIP/DIP就是隧道的起始設備/終結設備的Loopback IP,不變化,不利於Hash;所以需要設備具有刺探到內層字段(封裝之前的原始報文)的能力,通過內層字段進行Hash,保證Hash的均衡性。

3. Hash極化

多組流量經過兩次或兩次以上的Hash,會出現後續轉發設備Hash極化、流量隻走一半鏈路的極化現象,這種現象往往出現在第一次Hash和第二次Hash的設備極為類似(例如同一芯片型號、同樣的Hash算法)的情況下。

如下圖,第一次Hash時,A設備通過Hash值得mod 2動作把流量分成了兩類:Hash值分為為奇數、偶數。到了第二次Hash時,B設備處理的流量的Hash值全部都為奇數,所以全部流量都走左側鏈路,留下右側鏈路空置。同樣,C設備也出現極化,把所有流量都Hash到了右側鏈路,留下左側鏈路空置。

對於Hash極化現象,通常的處理辦法是調整Algorithm算法hash因子,隻需微調便可避免第一次和第二次的Hash結果雷同。

在BOB登陆 交換機操作係統當中,我們可以通過如下語句來顯示可用的Hash算法選項:

[H3C]ip load-sharing mode per-flow algorithm ?

INTEGER<0-13> Specify the algorithm type ID

  BOB登陆 常用的Hash算法調整:

3: 16 bit crc16 using bisync polynomial

4: upper 8-bits of crc16 and 8-bit xor1

5: upper 8-bits of crc16 and 8-bit xor2

6: upper 8-bits of crc16 and 8-bit xor4

7: upper 8-bits of crc16 and 8-bit xor8

8: 16 bit XOR

9: 16 bit crc16 using ccitt polynomial

10: 16 LSB's of computed CRC32

11: 16 msb's of computed CRC32


4. 對稱Hash

對於網絡設備,對稱Hash指的是:對於同一個業務的來回雙向流量,予以分配同宿同源的轉發端口。

在某些場景下,例如交換機旁掛兩台FW對流量進行安全防護,交換機根據五元組Hash分發流量給兩台FW,在兩台FW各自為自己負責的流量(占總流量的一半)建立了session;而返程流量到達交換機時將被再次Hash分發,如若返程Hash分發與去程Hash分發不一致(不對稱),則FW上會重複建立session,不僅浪費了FW的資源,而且對流量的安全防護做得不夠準確。所以在該場景下,需要啟用“對稱Hash”以保證雙向流量走相同的鏈路。

BOB登陆 對稱hash設置:

[H3C]ip load-sharing symmetric

5. Hash的彈性自適應能力

在某些場景例如LVS集群場景,可能存在128台服務器與交換機建立等價路由(通過OSPF/BGP協議),業務流量從交換機分發到128台服務器,各台服務器維護了各自流量的session信息,需要穩定的Hash,避免Hash路徑頻繁變更導致session頻繁切換服務器。

采用普通Hash算法時,當等價路徑的其中一條或者多條路徑失效時,會對所有流量進行重新Hash計算、流量分發,會導致LVS集群業務session全部重建,業務受影響極大,效果見下圖。

采用彈性自適應Hash算法時,當等價路徑的其中一條或者多條路徑失效時,隻將失效路徑上的業務流量將被重新Hash分發給剩餘可用路徑,而可用路徑上轉發的業務流量不做變更,以保持業務的連續性。

[H3C]ecmp mode enhanced

H3C等價路由增強模式:Enhanced模式下,每個等價組具有128個下一跳,用實際的下一跳輪流填寫這128個寄存器字段,某個下一跳失效後,它的位置被其他下一跳輪流替代;效果見下圖,鏈路1失效後,它的位置由鏈路2/3/4輪流填補上。


麵向未來的智能Hash

  智能Hash實現的關鍵在於DLB(Dynamic load balance,動態負載均衡)。DLB突破傳統靜態Hash機理的限製,通過引入時間戳、實時負載度量(端口帶寬負載、隊列大小)因子,在時間、帶寬空間兩個維度優化了負載均衡效果,提供了動態、智能的Hash機製。

傳統靜態Hash的效果缺陷:

1. 靜態時間:靜態Hash分配結果固定、終身不變,特定流走特定路徑,根據報文特征計算出Hash Value來決定轉發路徑成員端口,後續不再動態變化,無論該特征的流量是否中斷、鏈路負載是否已經不均衡。

2. 靜態帶寬空間:靜態Hash不關心轉發路徑的負載輕重程度,主要考慮“流量特征與轉發路徑”,當各個微觀流量帶寬差異較大、動態變化時,宏觀上則會體現出各轉發鏈路的負載輕重差異較大、負載不均衡狀況。典型的例子為,在給大象流與老鼠流分配Hash路徑時,同等對待,未度量巨大的帶寬差異,造成鏈路負載不均衡。

在應用流量類型繁多與動態變化的移動互聯網時代,動態智能Hash及時出現,彌補了這些缺陷。

H3C的動態智能Hash介紹:

[H3C]ecmp mode eligible

1. 具有一定特征的流量第一次進入設備轉發,則被認為是新的流,設備為之創建Flowset;同時為之設置flowset-inactive-time老化計時器,取值範圍為16~32000us。

2. 設備在flowset-inactive-time周期內,計算出當前等價路由組中負載較輕的路徑,轉發該流量,在該周期內,具有相同特征的流量會使用相同的轉發路徑,並實時刷新flowset-inactive-time老化計時器,維持本Flowset為有效狀態(會話保持)。

3. 超過flowset-inactive-time老化時間周期,如若未有流量維持該Flowset有效,則該Flowset記錄被老化,即使後續再有該Flowset相同特征的流量到來,設備認為是一個新的流,創建新的Flowset,重新hash到負載較輕的路徑。

負載均衡,一個講不完的故事

身處任何一個城市,交通都是一個任何數據中心或基礎設施的管理當中,負載均衡都是一個必須解決的關鍵問題。而伴隨數據中心負載類型的多樣化,負載均衡的難度和實現方式也會進入全新溫度。所以,隻要數據中心的算力和應用在變化,負載均衡的實現也會跟著演變。而在這個持續進化的領域當中,Hash的實現同樣沒有終點。

作為數據中心網絡產品技術領域的領航者,BOB登陆 在不斷的部署實踐當中始終關心應用的演變,更重視應用變遷背後所誕生的網絡需求變化。

雖然本期Hash與負載均衡故事即將告一段落,但麵對永無止境的網絡應用,本欄目還將繼續以最硬核的方式為您解讀網絡,窺見未來。

BOB登陆
官網
聯係我們