HSRP和二層交換機的端口聚合、vlan

 

HSRP:熱備份路由器協議(HSRP:Hot Standby Router Protocol)

熱備份路由器協議(HSRP)的設計目標是支持特定情況下 IP 流量失敗轉移不會引起混亂、並允許主機使用單路由器,以及即使在實際第一跳路由器使用失敗的情形下仍能維護路由器間的連通性。換句話說,當源主機不能動態知道第一跳路由器的 IP 地址時,HSRP 協議能夠保護第一跳路由器不出故障。該協議中含有多種路由器,對應一個虛擬路由器。HSRP 協議只支持一個路由器代表虛擬路由器實現數據包轉發過程。終端主機將它們各自的數據包轉發到該虛擬路由器上。

負責轉發數據包的路由器稱之爲主動路由器(Active Router)。一旦主動路由器出現故障,HSRP 將激活備份路由器(Standby Routers)取代主動路由器。HSRP 協議提供了一種決定使用主動路由器還是備份路由器的機制,並指定一個虛擬的 IP 地址作爲網絡系統的缺省網關地址。如果主動路由器出現故障,備份路由器(Standby Routers)承接主動路由器的所有任務,並且不會導致主機連通中斷現象。

HSRP 運行在 UDP 上,採用端口號1985。路由器轉發協議數據包的源地址使用的是實際 IP 地址,而並非虛擬地址,正是基於這一點,HSRP 路由器間能相互識別.

HSRP技術在網絡中的應用
  隨着Internet的日益普及,人們對網絡的依賴性也越來越強。這同時對網絡的穩定性提出了更高的要求,人們自然想到了基於設備的備份結構,就像在服務器中爲提高數據的安全性而採用雙硬盤結構一樣。路由器是整個網絡的核心和心臟,如果路由器發生致命性的故障,將導致本地網絡的癱瘓,如果是骨幹路由器,影響的範圍將更大,所造成的損失也是難以估計的。因此,對路由器採用熱備份是提高網絡可靠性的必然選擇。在一個路由器完全不能工作的情況下,它的全部功能便被系統中的另一個備份路由器完全接管,直至出現問題的路由器恢復正常,這就是熱備份路由協議(HotStandbyRouterProtocal),HSRPRFC2281技術要解決的問題。
  
  一、HSRP協議概述
  實現HSRP的條件是系統中有多臺路由器,它們組成一個“熱備份組”,這個組形成一個虛擬路由器。在任一時刻,一個組內只有一個路由器是活動的,並由它來轉發數據包,如果活動路由器發生了故障,將選擇一個備份路由器來替代活動路由器,但是在本網絡內的主機看來,虛擬路由器沒有改變。所以主機仍然保持連接,沒有受到故障的影響,這樣就較好地解決了路由器切換的問題。
  
  爲了減少網絡的數據流量,在設置完活動路由器和備份路由器之後,只有活動路由器和備份路由器定時發送HSRP報文。如果活動路由器失效,備份路由器將接管成爲活動路由器。如果備份路由器失效或者變成了活動路由器,將有另外的路由器被選爲備份路由器。
  
  在實際的一個特定的局域網中,可能有多個熱備份組並存或重疊。每個熱備份組模仿一個虛擬路由器工作,它有一個Well-known-MAC地址和一個IP地址。該IP地址、組內路由器的接口地址、主機在同一個子網內,但是不能一樣。當在一個局域網上有多個熱備份組存在時,把主機分佈到不同的熱備份組,可以使負載得到分擔。
  
  二、HSRP的工作原理
  HSRP協議利用一個優先級方案來決定哪個配置了HSRP協議的路由器成爲默認的主動路由器。如果一個路由器的優先級設置的比所有其他路由器的優先級高,則該路由器成爲主動路由器。路由器的缺省優先級是100,所以如果只設置一個路由器的優先級高於100,則該路由器將成爲主動路由器。
  
  通過在設置了HSRP協議的路由器之間廣播HSRP優先級,HSRP協議選出當前的主動路由器。當在預先設定的一段時間內主動路由器不能發送hello消息時,優先級最高的備用路由器變爲主動路由器。路由器之間的包傳輸對網絡上的所有主機來說都是透明的。
  
  配置了HSRP協議的路由器交換以下三種多點廣播消息:
  
  Hello———hello消息通知其他路由器發送路由器的HSRP優先級和狀態信息,HSRP路由器默認爲每3秒鐘發送一個hello消息;
  
  Coup———當一個備用路由器變爲一個主動路由器時發送一個coup消息;
  
  Resign———當主動路由器要宕機或者當有優先級更高的路由器發送hello消息時,主動路由器發送一個resign消息。在任一時刻,配置了HSRP協議的路由器都將處於以下六種狀態之一:
  
  Initial———HSRP啓動時的狀態,HSRP還沒有運行,一般是在改變配置或端口剛剛啓動時進入該狀態。
  
  learn———路由器已經得到了虛擬IP地址,但是它既不是活動路由器也不是等待路由器。它一直監聽從活動路由器和等待路由器發來的HELLO報文。
  
  Listen———路由器正在監聽hello消息。
  
  Speak———在該狀態下,路由器定期發送HELLO報文,並且積極參加活動路由器或等待路由器的競選。
  
  Standby———當主動路由器失效時路由器準備接管包傳輸功能。
  
  Active———路由器執行包傳輸功能。
  
  三、本方案的特點:
  1.高度的可靠性,兩臺路由器之間採用HSRP(熱備份冗餘協議)協議,來保證兩臺路由器中的任意一臺down掉,或路由器的廣域網口down,都會迅速切換到另外一臺。如果兩條線路均出現問題,就採用路由策略停掉郵政子網業務,啓用撥號線路。
  
  2.有效的實現了負載均衡,在STAR-S1924F+上劃分出各自的VLAN,儲蓄子網VLAN在左側路由器上的HSRP的優先級較高,默認使用網通的FR線路;郵政系統(辦公、報刊、EMS、VOIP等等)子網VLAN在右側路由器上的HSRP的優先級較高,默認使用聯通的FR線路。充分利用了帶寬資源,而且實現了負載均衡。
  
  3.充分利用了多以太口路由器在劃分多業務網段上的功能,也只有多以太口路由器在HSRP應用中才能實現兩個路由器間的負載分擔,這是具有四個以太口路由器的極大的優點。
  
  4.在右側路由器上啓用QoS策略,VoIP業務需要較低的延時,所以將VoIP業務設置成較高的優先級。
  
  5.通過在交換機上設置VLAN,有效的控制了兩個子網間的安全。
  
  6.不存在單點故障問題。

配置指令:

SW1

switch > enable
switch # configure terminal
switch (config) # hostname sw1
sw1 (config) # vtp domain cisco
sw1 (config) # vtp mode server
sw1 (config) # vtp password cisco
sw1 (config) # exit
sw1 # vlan database
sw1 (vlan) # vlan 2
sw1 (vlan) # vlan 3
sw1 (vlan) # exit
sw1 # configure terminal
sw1 (config) # interface range fastethernet 0/1 - 5
sw1 (config-if) # switchport mode trunk           #設置f0/1-5端口爲trunk
sw1 (config-if) # no shutdown
sw1 (config-if) # interface range fastethernet 0/3 - 4
sw1 (config-if) # channel-group 1 mode on          #配置f0/3-4端口爲通道模式
sw1 (config-if) # exit
sw1 (config) # spanning-tree vlan 2 root primary   #設置vlan 2跟橋
sw1 (config) # spanning-tree vlan 3 root secondby  #設置vlan 3備用跟橋
sw1 (config) # exit
sw1 #

注意:有二層環的情況,要配置stp協議,防止環路。

SW2

switch > enable
switch # configure terminal
switch (config) # hostname sw 2
sw2 (config) # vtp domain cisco
sw2 (config) # vtp mode server
sw2 (config) # vtp password cisco
sw2 (config) # interface range fastethernet 0/1 - 5
sw2 (config-if) # switchport mode trunk
sw2 (config-if) # no shutdown
sw2 (config-if) # interface range fastethernet 0/3 - 4
sw2 (config-if) # channel-group 1 mode on
sw2 (config-if) # exit
sw2 (config) # spanning-tree vlan 3 root primary  #設置vlan 3跟橋
sw2 (config)# spanning-tree vlan 2 root secondby  #設置vlan 3備用跟橋
sw2 (config) # exit
sw2 #

SW3

switch > enable
switch # configure terminal
switch (config) # hostname sw 3
sw3 (config) # vtp domain cisco
sw3 (config) # vtp mode client
sw3 (config) # vtp password cisco
sw3 (config) # interface range fastethernet 0/1 - 2
sw3 (config-if) # switchport mode trunk
sw3 (config-if) # no shutdown
sw3 (config-if) # interface fastethernet 0/3
sw3 (config-if) # switchport mode access
sw3 (config-if) # switchport access vlan 2
sw3 (config-if) # spanning-tree portfast  #配置sw3的速端口
sw3 (config-if) # interface fastethernet 0/4
sw3 (config-if) # switchport mode access
sw3 (config-if) # switchport access vlan 3
sw3 (config-if) # spanning-tree portfast  #配置sw3的速端口
sw3 (config-if) # exit
sw3 (config) # spanning-tree uplinkfast   #配置sw3的上行速鏈路
sw3 (config) # spanning-tree vlan3
sw3 (config) # spanning-tree vlan2
sw3 (config) # exit
sw3 #

(注意,速端口只配置在連接終端的交換機上,而上行速鏈路一般配置在匯聚層和接入層的交換機上)
關於速端口和速鏈路參看:

portfast

 
  portfast只能用在接入層,也就是說交換機的端口是接HOST的才能起用portfast,如果是接交換機的就一定不能啓用,否則會造成新的環路。portfast 能將2層端口立即進行轉發狀態,迴避了監聽和學習狀態: 正常狀態: 阻塞->>監聽―>>學習->轉發
 

uplinkfast

 
  在STP收斂過程中,一些終端站點可能會不可達,這是基於站點所連接交換機端口的STP狀態而定。這打亂網絡連接,於是關鍵是減少STP的收斂時間和網絡受影響的時間。 當鏈路或交換機故障,或STP重新配置後,UplinkFast可以加速選擇一個新的根端口。根端口立即進入轉發狀態,Uplinkfast通過減少最大更新速率來限制突發多播流量。定義了更新分組發送的最大速率,默認爲150分組/秒
 
  Uplinkfast對於網絡邊緣的佈線間交換機非常有用。他不適用於骨幹設備。UplinkFast在直連鏈路故障後提供快速的收斂能力,並通過上行鏈路組在冗餘。
 
  配置方法:
 
  Switch(config-if)#spanning-tree uplinkfast
 
  Switch(config)#[no] spanning-tree uplinkfast [max-update-rate max_update_rate]
 
  Switch#show spanning-tree uplinkfast
 
  ①. 背景資料:STP確保了在拓撲變化的情況下沒有環路產生,但收斂速度慢。一些實時以及對帶寬敏感的網絡應用是不能接受的。
 
  ②. STP收斂速度慢的原因是收斂算法需要化時間確定一條可替代的鏈路,缺省時間是50s,即20s(Blocking→Listening)+15s(Listening→Learning)+15s(Learning→Forwarding)。
 
  ③. 解決的方法是一旦發現了線路down,馬上把Blocking的port切換到Forwarding,不要經過Listening和Learning階段。這就是UplinkFast,切換時間可以在2s~4s。
 
  UplinkFast被設計應用在接入層交換機。一般應用兩條上行鏈路連接到分佈層,一條是冗餘鏈路。
 
  ④. UplinkFast激活一個快速重新配置的條件:
 
  A. 在交換機上必須啓動了UplinkFast功能;
 
  B. 至少有一個處於Blocking的端口(即有冗餘鏈路);
 
  C. 鏈路失效必須發生在Root Port上。
 
  ⑤. 交換機啓動了UplinkFast後,由於提高了交換機上所有端口的路徑開銷,所以不適合作爲根橋。
 
  The spanning tree port cost and port-VLAN cost of all ports on the switch is increased by 3000.
 
  The spanning tree bridge priority for all VLANs is set to 49152. This makes it unlikely that the switch will become the root switch.
 
  具體來說,一個上行鏈路組由根端口和除自環端口之外的一組阻斷端口組成,上行速鏈路使交換機上的一個阻斷端口幾乎立刻進行轉發。
 
  ⑥. 很重要的一點就是:上行鏈路只能配置在接入層交換機上,因爲從根端口到其非指定備份端口的快速轉發只能在生成樹拓撲結構的根端口上被確定性的完成。
 
  ⑦. 配置如下:
 
  set spantree uplinkfast enable (基於SET)
 
  switch(config)uplink-fast
 
  ⑧. 但是用set spantree uplinkfast enable 將會影響到VLAN,並且提高了交換機所有端口的端口開銷,使它不容易成爲一臺根網橋。

SW4

switch > enable
switch # configure terminal
switch (config) # hostname sw 4
sw4 (config) # vtp domain cisco
sw4 (config) # vtp mode client
sw4 (config) # vtp password cisco
sw4 (config) # interface range fastethernet 0/1 - 2
sw4 (config-if) # switchport mode trunk
sw4 (config-if) # no shutdown
sw4 (config-if) # interface fastethernet 0/3
sw4 (config-if) # switchport mode access
sw4 (config-if) # switchport access vlan 2
sw4 (config-if) # spanning-tree portfast   #配置sw3的速端口
sw4 (config-if) # interface fastethernet 0/4
sw4 (config-if) # switchport mode access
sw4 (config-if) # switchport access vlan 3
sw4 (config-if) # spanning tree portfast   #配置sw3的速端口
sw4 (config-if) # exit
sw4 (config) # spanning-tree uplinkfast    #配置sw3的上行速鏈路
sw4 (config) # spanning-tree vlan3
sw4 (config) # spanning-tree vlan2
sw4 (config) # exit
sw4 #

R1

router > enable
router # configure terminal
router (config) # hostname r1
r1 (config) # interface fastethernet 0/0.1
r1 (config-subif) # ip add 192.168.2.254 255.255.255.0
r1 (config-subif) # encapsulation dot1q 2
r1 (config-subif) # standby 2 ip 192.168.2.1
r1 (config-subif) # standby 2 priority 105  #配置優先級
r1 (config-subif) # standby 2 preempet
r1 (config-subif) # standby 2 track fastethernet 0/1 20 #配置當f0/1出現問題時優先級自動降20
r1 (config-subif) # interface fastethernet 0/0.2
r1 (config-subif) # ip add 192.168.3.254 255.255.255.0
r1 (config-subif) # encapsulation dot1q 3
r1 (config-subif) # standby 3 ip 192.168.3.1    #配置虛擬ip
r1 (config-subif) # standby 3 preempet          #配置搶佔
r1 (config-subif) # standby 3 track fastethernet 0/1
r1 (config-if) # interface fastethernet 0/0
r1 (config-if) # no shutdown
r1 (config-if) # interface fastethernet 0/1
r1 (config-if) # ip add 192.168.4.2 255.255.255.0
r1 (config-if) # no shutdown
r1 (config-if) # exit
r1 (config) # exit
r1 #

R2

router > enable
router # configure terminal
router (config) # hostname r2
r2 (config) # interface fastethernet 0/0.1
r2 (config-subif) # ip add 192.168.2.253 255.255.255.0
r2 (config-subif) # encapsulation dot1q 2
r2 (config-subif) # standby 2 ip 192.168.2.1
r2 (config-subif) # standby 2 preempet
r2 (config-subif) # standby 2 track fastethernet 0/1
r2 (config-subif) # interface fastethernet 0/0.2
r2 (config-subif) # ip add 192.168.3.253 255.255.255.0
r2 (config-subif) # encapsulation dot1q 3
r2 (config-subif) # standby 3 priority 105  #配置優先級
r2 (config-subif) # standby 3 preempet
r2 (config-subif) # standby 3 ip 192.168.3.1
r2 (config-subif) # standby 3 track fastethernet 0/1 20  #配置當f0/1出現問題時優先級自動降20
r2 (config-if) # interface fastethernet 0/0
r2 (config-if) # no shutdown
r2 (config-if) # interface fastethernet 0/1
r2 (config-if) # ip add 192.168.5.2 255.255.255.0
r2 (config-if) # no shutdown
r2 (config-if) # exit
r2 (config) # exit
r2 #

R3

router > enable
router # configure terminal
router (config) # hostname r3
r3 (config) # interface thernet 0/0
r3 (config-if) # ip add 192.168.4.1 255.255.255.0
r3 (config-if) # no shutdown
r3 (config) # interface ethernet 0/1
r3 (config-if) # ip add 192.168.5.1 255.255.255.0
r3 (config-if) # no shutdown
r3 (config-if) # exit
r3 (config) # exit
r3 #

 HSRP 運行在 UDP 上,採用端口號1985。路由器轉發協議數據包的源地址使用的是實際 IP 地址,而並非虛擬地址,正是基於這一點,HSRP 路由器間能相互識別

另: 

關於三層交換機和二層交換機的端口聚合同樣,配好vtp、vlan後,兩端連接端口開trunk模式就ok了,如圖:


 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章