共計 2945 個字符,預計需要花費 8 分鐘才能閱讀完成。
本篇內容主要講解“服務器的生成樹冗余與負載分擔技術是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓丸趣 TV 小編來帶大家學習“服務器的生成樹冗余與負載分擔技術是什么”吧!
交換層有三個地方涉及到冗余與負載分擔,分別是生成樹、EC 以太網通道、FHRP 網關協議。本文關于生成樹相關的實現技術。生成樹(包括 stp、rstp、mstp)的三層主要功能由低至高分別為:防環收斂、冗余備份、負載均衡。首先說明,冗余與負載分擔是兩個概念。冗余往往與備份是聯系在一起的,單純有冗余技術并不一定能實現負載分擔。而負載分擔技術是依賴于冗余的。
1、STP(Spanning-Tree Protocol)
STP 協議生來就是為了冗余而存在的,單純樹型的網絡無法提供足夠的可靠性,由此我們引入了額外的鏈路,這才出現了環路這樣的問題。但單純是標準的 802.1D STP 協議并不能實現真正的冗余與負載分擔。
STP 為 IEEE 802.1D 標準,它內部只有一棵 STP tree,因此必然有一條鏈路要被 blocking,不會轉發數據,只有另外一條鏈路出現問題時,這條被 blocking 的鏈路才會接替之前鏈路所承擔的職責,做數據的轉發。無論怎樣,總會有一條鏈路處于不被使用的狀態,冗余是有了,但是負載分擔是不可想象的。
cisco 對 STP 做了改進,它使得每個 VLAN 都運行一棵 stp tree,這樣第一條鏈路可以為 vlan 1 2 3 服務,對 vlan 4 5 6 blocking,第二條鏈路可以為 vlan 4 5 6 forwarding,對 vlan 1 2 3 關閉,無形中實現了鏈路的冗余,負載分擔。這種技術被稱之為 PVST+。
隨著網絡的發展,人們發現傳統的 STP 協議無法滿足主備快速切換的需求,因為 STP 協議將端口定義了 5 種狀態,分別為:blocking listening learning forwarding disabling,想要從 blocking 切換至 forwarding 狀態,必需要經過 50 秒的周期,這 50 秒我們只能被動地去等待。20 秒的 blocking 狀態下,如果沒有檢測到鄰居發來的 BPDU 包,則進入 listening,這時要做的是選舉 Root Bridge、Designate Port、Root Port,15 秒后,進入 learning,learning 狀態下可以學習 MAC 地址,為最后的 forwarding 做準備,同樣是 15 秒,最后到達轉發狀態。這樣的延時在現代網絡環境下是讓人極為難以忍受的。
2、RSTP(802.1w)
RSTP 的出現解決了延時的問題,它的收斂速度很快,當然 CISCO 也針對這種技術推出了自 已的 RPVST+ 技術。RSTP 在 STP 基礎上
額外定義了兩種 port role(注意這里的概念,端口角色),分別是
alternate 與 backup。另外重新規定了
port state(端口狀態),分別為 discarding、Learning、Forwarding.
STP 的一大失敗之處在于混淆了 port role 與 port state 兩種概念,在 RSTP 上,這樣的問題不再存在了,port state 與 port role 無關了。alternate port 責任是為另一臺交換機上的鏈路作備份,而 backup port 是為本交換機上的端口作備。
7 6 5 4 3 2 1 0TCProposalPort-rolelearningforwardingAgreementTCA
RSTP 最重要的變化在于對 BPDU 中 type 字段的利用上,之前 STP 只使用了其中的兩個位,另外 6 個位中實現了很多的功能,包括不再需要去等待 50 秒的時間完成主備切換,直接利用 proposal 與 agreement 協商即可,這樣大大縮短了收斂時間。
RSTP 還定義了兩個新的概念:edge port 與 link type,如果是 edge port,表明下面接的只能是主機,環路的存在是不可能的,所以我們可以直接將其從 discarding 切換到 forwarding 狀態,類似于 STP 中的 port fast 技術。而 link type 定義了這條鏈路是 point-to-point 的還是 shared。如果有 pt-pt 環境下,我們就可以做快速的切換了。
3、MSTP(802.1s)
STP 和 RSTP 都采用了一棵 STP tree,負載分擔不可實現,而 CISCO 的 PVST+ 與 RPVST+ 采用了每個 VLAN 一棵生成樹,雖然實現了負載分擔,但是會占用非常多的 CPU 時間。這也正是 MSTP(802.1s)產生的原因。
MSTP 可以將多個 VLAN 的生成樹映射為一個實例,即 vlan map to a instance,我們不需要那么多的生成樹,只需要按照冗余鏈路的條數來得出需要幾棵生成樹。
如果只有兩條鏈路,并且有 1 -1000 個 VLAN,我們可以將 1 -500 定義為 instance 1,將 501-1000 定義到 instance 2。只生成兩棵樹 1 和 2,同樣實現了冗余與負載分擔。
MSTP 是基于 RSTP 的,沒有 RSTP,MSTP 是無法運行的。
另:
PVST+ 與 RPVST+ 模式下:交換機可支持 128 個 STP instance。
MSTP 模式下:交換機可支持 65 個 MST instance,當然每個實例中的 VLAN 數目是無限的。
4.Ether channel
其實 channel 技術不僅僅是接口的綁定,通常當我們骨干鏈路帶寬不足的時候,可能會想到綁定多條鏈路,這時候自然會用到 ether-channel 技 術,它把多條物理接口綁定為一個邏輯接口,最多可綁定 8 個接口,實現 1600G 的帶寬綁定效果。但是實際上數據的傳輸過程中仍然是通過物理的接口來轉發的。這就為我們做負載分擔又提出了一種方案。我們可以根據源、目的 IP 地址來做負載分擔,也就是一條會話。第一條會話走第 1 個接口,第 2 條會話自動切換到第 2 個物理接口去做轉發。。。。。。這樣就不會使大量的數據都通過物理接口 1 來做轉發了。
Ether Channel 可以通過手動指定,當然也可以動態形成,這就需要提到另外兩種技術,一種是思科私有的 PAGP, 另外一種是 IEEE 標準的 LACP(802.3ad),我們只需要注意他們的協商方式。
接口模式:on、desirable、auto:
配置為 on 時,表示不接受 PAGP 的動態協商,要完全手工指定,也就是兩端必須一致配置為 on 模式,否則無法綁定。
desirable 表示主動協商,如對端為 desirable 或 auto 都可形成 channel。
auto 表示被動協商,如果對端為 auto,就無法形成 channel,這時必須對端為 desirable。
這其實很好理解,但是為什么要注意它,是因為我們在 trunk 的建立時,也有幾種類似的模式,而 trunk 中的這幾種模式非常混亂,無論如何都能動態協商成功,比如 on 和 desirable 是可以協商成功的。
LACP 的接口模式有 PAGE 不同,但是意義類似它們分別是:on、off、passive、active。
到此,相信大家對“服務器的生成樹冗余與負載分擔技術是什么”有了更深的了解,不妨來實際操作一番吧!這里是丸趣 TV 網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!