複製鏈接
請複製以下鏈接發送給好友

鏈路負載均衡

鎖定
鏈路負載均衡CDN 是一個經策略性部署的整體系統.能夠幫助用户解決分佈式存儲.負載均衡.網絡請求的重定向和內容管理等問題.其目的是通過在現有的 Internet 中增加一層新的網絡架構.將網站的內容發佈到最接近用户的網絡" 邊緣 ".使用户可以就近取得所需的內容.解決 Internet網絡擁塞狀況.提高用户訪問網站的響應速度.從技術上全面解決由於網絡帶寬小.用户訪問量大.網點分佈不均等原因.解決用户訪問網站的響應速度慢的根本原因.
當流量進入鏈路負載均衡設備後,鏈路負載均衡設備會根據訪問流量的目的IP地址對照運營商列表進行逐一匹配。在匹配的過程中該地址如果命中某一運營商的IP地址,鏈路負載均衡設備則將流量引導向該運營商所對應的接口,從而將流量成功的進行分流引導;
中文名
鏈路負載均衡
流    程
5個
簡    稱
CDN
目    的
幫助用户解決分佈式存儲

鏈路負載均衡工作流程

(1)鏈路負載均衡設備 接收內網用户流量
(2)鏈路負載均衡設備根據目的IP來查找目的IP所屬運營商
(3)鏈路負載均衡設備根據選定的運營商結果將流量轉發給選定的鏈路
(4) 鏈路負載均衡設備接收外網用户流量
(5)鏈路負載均衡設備將流量轉發給內網用户
Cluster A為防火牆負載均衡的集羣,Cluster B為NAT方式服務器負載均衡的集羣。綜合組網的工作流程就是防火牆、服務器負載均衡流程的疊加。這樣的組網方式既避免了防火牆成為網絡中的瓶頸,也提高了各種網絡服務(如HTTP、FTP)的性能和可用性。

鏈路負載均衡基本元素

l LB device:負責將內網到外網流量分發到多條物理鏈路的設備。
l 物理鏈路:運營商提供的實際鏈路。
l DIP:用户發送報文的目的網段。
l 鏈路帶寬:運營商提供給此鏈路的實際帶寬。
l 鏈路閾值:流量超過此鏈路閾值時會進行相應帶寬調度。
l 鏈路權重:多條鏈路在同一調度策略中,根據加權調度算法將目標流量根據權重比進行分發。
l 健康檢查:檢查運營商鏈路的質量。
l 所屬運營商:確定此條鏈路所屬哪個運營商。
l 路由模式:確定此條鏈路需要下發哪些路由。
l 目的IP組:確定去往此目的運營商IP所走的鏈路。
l 源地址組:確定哪些內網用户能匹配此條鏈路。
l 協議:確定哪些協議能匹配此條鏈路。
l 入接口:確定從哪些接口流入的流量能匹配此條鏈路。
l 策略動作:當所選物理鏈路都超閾值後,設備對超閾值流量的處理方式。
l 會話保持:匹配源目ip的同一會話在老化時間內走同一條鏈路。
l DNS透明代理:內網用户向外網域名請求時,設備將此報文攔截重新選擇負載最小的鏈路轉發。
CDN是個很龐大的概念和體系.全世界CDN服務提供商屈指可數.
我們熟悉的Google就是某CDN的最大客户.我們今天只選取其中一小部分來討論.
説了半天.看上去似乎很複雜.鑑於經典的大多是搞WEB的.接觸的最多的是WEB服務器/數據庫等.既然是淺談.我就舉個簡單的例子.

鏈路負載均衡例子

比如你弄一網站.假設你有能力購買2台服務器.作為WEB服務.暫時我們認為服務器本身不存在性能問題.一台託管在北方的網通機房.一台託管在南方的電信機房.2台服務器內容互為同步.則通過智能的DNS解析設備.將網通的用户定位到北方網通的服務器上.將電信的用户定位到南方電信的服務器上.這.就是最基礎的CDN.我的理解是 ---廣域網的負載均衡.
2台服務器放置問題我不想多談.有錢就行.2台服務器內容同步的方式很多.我也不想多談.今天主要是要談一下.如何實現讓網通的用户去訪問放置在網通的服務器.電信的用户去訪問放置在電信的服務器.
即如今很多服務提供商所謂的智能DNS解析.也就是互聯網鏈路的負載均衡.
電信/網通.2條鏈路的負載均衡.我們先來談談這個.因為這個是訪問者最直觀的體驗.
既然CDN的目的是為了提高用户訪問網站的響應速度.最直接的方法就是做互聯網鏈路的智能導向.
當然.CDN也涉及多台服務器負載均衡.應用的負載均衡.包括中間件的應用負載均衡.因為時間關係暫且不表.
當我們將 www.Blueidea.com 輸入IE地址欄敲回車後.首先要去你的Local DNS做解析.什麼是Local DNS?就是你本機網卡所設置的DNS服務器.比如我的是: 202.96.128.68.如果Local DNS沒有 www.Bluieidea.com 的Cache記錄.則Local DNS會詢問上級DNS服務器.注意.DNS的查詢結構是樹狀的.最後查詢的DNS為root.即為root DNS.或者稱為根DNS.根DNS在全世界只有13台.中國境內沒有.當root DNS接受到請求後.通過查詢獲得的結果一般是: Blueidea.com這個域的解析服務器為ns1.chinadns.com.要求你去詢問ns1.chinadns.com去做解析.ns1.chinadns.com是哪裏來的?當然是你申請註冊域名的機構自己的DNS服務器.也就是你Blueidea.com這個域名的隸屬DNS.隸屬DNS獲得了你域名解析的請求.則查詢A記錄.返回Blueidea.com的IP地址給最初的PC Client端.完成了一次域名解析為IP地址的全部過程.
雖然很繞.但是如果能搞明白.那才能理解下面的關於智能DNS的技術原理.
上述DNS查詢的常規流程.
PC -> Local DNS -> Root DNS -> ns1.chinadns.com ->IP -> 返回給PC
智能DNS的工作原理即是在ns1.chinadns.com這一步.工作流程如下:
PC -> Local DNS -> Root DNS -> 智能DNS解析 -> 返回IP地址 -> 返回給PC
注意.上述的"返回IP地址"這一步.其實是根據PC的來源.智能的返回電信或者網通的IP地址.即如果請求解析的PC是電信線路的.則返回託管在南方電信機房的服務器的電信IP地址.反之.則返回託管在北方網通機房的網通的IP地址.
看到這裏.出現了一個問題.如何判斷這個請求DNS的PC.他是電信線路還是網通線路呢?
有2個方法.一個聰明的.一個笨的.我們先説笨的方法.如果智能DNS有一張龐大的IP地址分配表.表裏面有所有的電信IP地址段和所有的網通地址段.則可以通過查詢這個IP地址表來判斷.請求的PC是屬於哪個線路上的.這個方法是最直接.最高效.最穩妥的方法.雖然的確是笨了點.但是請各位注意.往往笨的方法就代表着穩定.代表着高可用性.所以.我很遺憾的告訴大家.基本上銀行.證券.金融.這些重要部門.都是使用的這種笨的方法.
另外一個聰明的方法.則是通過智能的動態檢測的方法.在智能DNS解析設備接受到PC的DNS請求的時候.將使用電信/網通的2條線路分別發送一個探測包.發送目標可以為目標PC的IP地址.不過更多的發送目標為Local DNS.這個包可能是ICMP的PING包.也可能是反向DNS查詢的DNS包(TCP 53).當2個包有迴應後.比較2個包的時間戳.延遲小的.則判定為優先解析的鏈路.

鏈路負載均衡解決辦法

每個網絡都有一些鏈路定期會超載。我們通常可以使用網絡管理系統的報告或使用命令行界面(CLI)收集接口信息的腳本來鑑定這些鏈路,查看輸出丟包率高的鏈路。注意:輸入丟包是罕見的,通常意味着設備中的分組處理路徑以某種方式受到影響。任何輸入丟包都應該進行檢查。還要注意的是簡單網絡管理協議也使用術語丟包(discards),於是命令行界面(CLI)經常使用屬於丟包(drops).CLI的輸出一般是這樣的語句:
Gigabit Ethernet 1/10 is up, line protocol is up (connected)
Hardware is C 6k 1000Mb 802.3, address is 0008.6a2f.18a5
Input queue: 0/2000/0/0 (size/max/drops/flushes);
Total output drops: 116123
5 minute input rate 62675000 bits/sec, 6824 packets/sec
5 minute output rate 14618000 bits/sec, 4944 packets/sec
相對於接口輸出包的總數,計算丟包的百分比。任何接口呈現的丟包率大於0.0001%都應該注意,因為這個丟包率表示使用TCP協議會受到影響。另一種方法是,跟蹤丟包數超過某個閾值的接口,這個閾值可以是1萬個丟包數/天。
一旦擁塞接口確定,那麼就可以通過提高服務質量(QoS)或提高接口速度來解決問題。首先我們來看一下QoS解決方案,然後再看看有哪些因素決定了鏈路擁塞可以得到解決,以及鏈路速度是否必須升級。 [1] 
參考資料