現在企業一般會租用多條ISP鏈路,避免因單ISP鏈路故障帶來的網絡可用性風險和解決網絡帶寬不足帶來的網絡訪問問題。如何合理運用多條ISP鏈路,既不造成資源浪費,又能實現網絡服務質量的提升成為很多企業需要解決的問題。本文將重點分析鏈路負載均衡的幾種作用方式,并結合山石網科安全網關的技術特點,解釋負載均衡的實現方式。
鏈路負載均衡技術,可以概括為幾種方式:
第一種是鏈路聚合,其價值在于其可以利用于低端接口到高端接口的過渡,例如單向2G的流量,可以使用3條千兆的鏈路進行聚合,成本要低于直接使用萬兆接口。聚合鏈路相對于單條鏈路,具有更高的可靠性。
山石網科在鏈路聚合方面,主要通過在山石網科安全網關上配置集聚接口跟ISP路由器的聚合接口組連接實現,山石網科安全網關的一個集聚接口可以包含多個物理接口,這些物理接口平均分擔通過集聚接口流量,同時支持LACP,實現鏈路動態匯聚的效果。
第二種是等價多徑路由,它的價值在于訪問同一目的IP或網段,有多個出口(即多個下一跳),為充分利用鏈路資源,配置相同的路由優先級,此時開啟ECMP算法,就可以將流量負載分擔到多條鏈路上。
在這點上,山石網科通過安全網關可基于五元組、源IP地址或源IP地址+目的IP地址進行選路,同時支持通過路由權值調整流量在各條鏈路上轉發的比重。
第三種是ISP路由,其價值在于不同ISP間的地址互訪速度較慢,因此內網用戶訪問外網某服務時,如果做到內網用戶源地址轉換后使用跟此服務同一歸屬ISP的地址,就能提高用戶的體驗。
在這方面,山石網科的安全網關預置ISP網段地址信息,內網訪問外網時,系統跟據目的地址的 ISP 歸屬確定下一跳,源地址轉換時就能使用同一ISP歸屬的地址。
第四種是應用引流:不同鏈路的成本不同,將低價值應用的流量從低成本的鏈路轉發,高價值的應用從高成本的鏈路轉發,才能做到鏈路資源使用的最優化。
山石網科安全網關在處理應用引流時首先識別出應用流量類型,然后通過策略路由的方式引導到相應的鏈路上,使不同的應用流量走不同的鏈路,從而達到鏈路流量負載優化的目的。
第五種是等價多徑的應用引流,它需要將同一應用引流到多條等價鏈路上時,啟用ECMP算法,能夠達到負載分擔和鏈路資源充分利用的效果。
在處理等價多徑的應用引流時,山石網科安全網關首先識別出應用流量類型,然后通過策略路由的方式引導到相應的鏈路上,使不同的應用流量走不同的鏈路,從而達到鏈路流量負載優化的目的。系統還支持配置多條不同下一條的同一應用的策略路由,通過ECMP算法使特定應用流量在多條鏈路上進行負載分擔。
第六種是出站動態探測,靜態的負載分擔算法只能做到流量在多鏈路上的負載分擔,無法真正提升用戶體驗,流量從哪條鏈路轉發能夠讓用戶體驗最好才是最終目的。
內網和外網之間存在多條鏈路時,通過山石網科安全網關的出站動態探測功能,內網訪問的流量可以在多條鏈路上實現智能分擔。當內網用戶向外網目標地址首次發起訪問時,系統對只匹配到缺省路由的流量在符合條件的各條鏈路上進行探測,對響應相對快速的接口生成靜態路由,后續報文將直接按照路由轉發不再探測;如果生成的靜態路由在一定時間內不被命中,則自動老化。
第七種是基于帶寬/時延的動態切換,在復雜的流量環境中,任何一種算法都無法保證絕對的負載均衡。可能會遇到某條鏈路的負載已經很大了,新的會話流量還是走這條鏈路的問題。基于帶寬/時延的動態切換能夠解決這個問題。
在處理這種情況時,山石網科安全網關對各接口的流量帶寬/時延進行實時監測,當某接口的流量帶寬/時延超過配置的閾值時,新建會話的流量就不再從這個接口轉發,而是走其它接口。當此接口的流量帶寬/時延回落到正常值以下后,新建會話的流量再允許從這個接口轉發。
第八種是入站SmartDNS,價值在于不同ISP間的地址互訪速度較慢,因此外網用戶訪問內網某服務時,如果做到內網服務目的地址轉換前使用跟此外網用戶同一歸屬ISP的地址,就能提高用戶的體驗。
內網和外網之間存在多條鏈路時,通過山石網科安全網關的入站SmartDNS功能,外網訪問的流量可以在多條鏈路上實現智能分擔。用戶首先需要將企業內網服務器對外地址發布的方式更改為域名委派,即當有外網用戶側的DNS服務器向企業域名服務商的DNS服務器請求客戶內網服務器域名解析時,返回域名委派服務器地址(山石網科安全網關)。山石網科安全網關預置外網用戶側ISP地址段信息,根據請求的來源確定返回山石網科安全網關哪個外網接口地址,或根據出站動態探測生成的路由來確定返回山石網科安全網關哪個外網接口地址。山石網科安全網關再通過目的地址轉換(DNAT)功能幫助外網用戶完成對企業內網服務器的訪問。
據悉,山石網科鏈路負載均衡解決方案在教育、企業等行業用戶中具有較多應用。