Lab_8 網關冗餘
實驗環境
PC不設置網關 ping 3.3.3.3
首先PC發送ARP請求 廣播 詢問3.3.3.3的MAC
R2也收到請求,回覆PC 我就是3.3.3.3
R3也收到請求,同樣回覆PC 我就是3.3.3.3
這樣 當直連線路down掉的時候 PC只要等到ARP表老化,來實現冗餘
但默認ARP表老化時間是4個小時
可以通過命令來修改
----------------------------------------------------------------------------------------------------------------------
如果是上行鏈路down掉的話 則可依靠ICMP重定向來完成上行鏈路的冗餘
默認情況下 Proxy ARP和ICMP重定向是開啓的
下面來看一下ICMP的重定向
首先down掉R1的F0/1接口 然後再ping 3.3.3.3
PC 查MAC表發現 3.3.3.3的MAC是R1 將發送ICMP包到R1,但此時R1無法到達3.3.3.3則R1發送一個ARP重定向給PC告訴PC R2就是3.3.3.3,於是PC發送ARP廣播 問誰是R2,並把網關指向R2
關閉ICMP重定向
清除ICMP重定向
HSRP (Hot standby redundancy protocol)熱備份冗餘協議 (cisco私有)
作用:解決路由器切換問題。
1、HSRP在2個或多個路由器間虛擬MAC和虛擬IP,主機的網關設爲此虛擬IP.
2、當活動路由器失效,備份路由器成爲活動路由器。
3、實際可能有多個熱備組並存或重疊,每個組模仿一個虛擬路由器工作(一組MAC和ip),把主機分到不同熱備組中,可做負載分擔
工作原理:
HSRP協議利用優先級,決定哪個路由器爲主動路由器,(路由器缺省優先級爲100)
一段時間收不到主動路由器的Hello,優先最高的備份路由器成爲主動。
Active Router
虛擬出一條Router,有ip有Mac,當向這個Mac發包時,Active會去接受處理
Standby Router
HSRP定義了一個形如0000.0c07.acxx的特殊MAC地址,其中xx代表用來兩個十六進制位表示的HSRP組號.
decrementvalus,當active當了,默認減少優先級10.以便standby成爲active.所以要考慮下減少值和兩個的優先級差多少。
相同優先級,最高ip者爲Active
HSRP包
1、Hello-------------作用通知優先級,和狀態信息。
包含----priority,hello間隔,holdtime,虛擬網關ip
hello包3s發向組播地址224.0.0.2(所有路由器)----在一個組內只有兩臺路由器(active,standby)發hello, 15秒收不到Active的包認爲其失效,standby→Active,priority高的爲Active , standby preempt 開啓搶佔,Active 當了再啓會自動搶回來。
2、Coup------------當一個備份路由器變成主動路由器時發Coup消息
3、Resign------當主動路由器要當機或當有優先級更高路由器發hello時,主動路由器發一個resign消息。
HSRP路由器6種狀態:
Initial-------HSRP啓動時候,HSRP還沒運行,一般在改變配置或端口剛剛啓動時進入此狀態。
learn--------路由器得到了虛擬IP,但不是活動路由器也不是備份路由器。
listen--------監聽hello消息
speak-----並參加活動,備份路由器選舉。
standby------該狀態下,路由器定期發hello,主路由器失效時,路由器準備接替傳輸功能。
Active--------路由器執行數據傳輸。
R1(config-if)#standby 1 ip 10.1.1.101
R1(config-if)#
06:26:07: SB: Add registration.
06:26:07: SB: Open UDP socket.
06:26:07: SB: Create hot standby process.
06:26:07: SB: Starting up hot standby process
R1(config-if)#
06:26:10: SB: Fa0/0 Interface up
06:26:10: SB1: Fa0/0 Init: a/HSRP enabled
06:26:10: SB1: Fa0/0 Init -> Listen
(因爲已經配置了Vip所以不需要學習直接跳到listen)
06:26:10: SB: Fa0/0 Sbstate adv start
06:26:10: SB: Fa0/0 Sbstate adv out, Passive, active 0 passive 1
R1(config-if)#
06:26:19: SB: Fa0/0 Sbstate adv out, Passive, active 0 passive 1
06:26:20: SB1: Fa0/0 Listen: c/Active timer expired (unknown)
06:26:20: SB1: Fa0/0 Listen -> Speak
06:26:20: SB1: Fa0/0 Hello out 10.1.1.1 Speak pri 100 ip 10.1.1.101
R1(config-if)#
06:26:23: SB1: Fa0/0 Hello out 10.1.1.1 Speak pri 100 ip 10.1.1.101
R1(config-if)#
06:26:25: SB1: Fa0/0 Hello out 10.1.1.1 Speak pri 100 ip 10.1.1.101
R1(config-if)#
06:26:28: SB1: Fa0/0 Hello out 10.1.1.1 Speak pri 100 ip 10.1.1.101
06:26:28: SB: Fa0/0 Sbstate adv out, Passive, active 0 passive 1
R1(config-if)#
06:26:30: SB1: Fa0/0 Speak: d/Standby timer expired (unknown)
06:26:30: SB1: Fa0/0 Speak -> Standby
06:26:30: %STANDBY-6-STATECHANGE: Standby: 1: FastEthernet0/0 state Speak -> Standby
06:26:30: SB1: Fa0/0 Hello out 10.1.1.1 Standby pri 100 ip 10.1.1.101
06:26:30: SB1: Fa0/0 Standby: c/Active timer expired (unknown)
06:26:30: SB1: Fa0/0 Active router is 10.1.1.1
06:26:30: SB: Fa0/0 Add active hash 10.1.1.1 (vIP 10.1.1.101)
06:26:30: SB: Fa0/0 Sbstate adv out, Passive, active 0 passive 1
06:26:30: SB: Fa0/0 Sbstate adv out, Active, active 0 passive 1
06:26:30: SB1: Fa0/0 Standby -> Active
06:26:30: %STANDBY-6-STATECHANGE: Standby: 1: FastEthernet0/0 state Standby -> Active
R1(config-if)#
06:26:30: SB: Fa0/0 Sbstate adv stop
06:26:30: SB: Fa0/0 Sbstate adv out, Active, active 1 passive 0
06:26:30: SB1: Fa0/0 Hello out 10.1.1.1 Active pri 100 ip 10.1.1.101
在啓用HSRP時可以只在一臺設備上配置VIP,其他設備可以通過hello包學習到,但不能參加active選舉
R2(config-if)#standby 10 ip
R2(config-if)#
00:28:43: SB: Open UDP socket.
00:28:43: SB: Create hot standby process.
00:28:43: SB: Starting up hot standby process
R2(config-if)#
00:28:46: SB: Fa0/0 Interface up
00:28:46: SB10: Fa0/0 Init: a/HSRP enabled
00:28:46: SB10: Fa0/0 Init -> Learn
00:28:46: SB: Fa0/0 Sbstate adv start
00:28:46: SB: Fa0/0 Sbstate adv out, Passive, active 0 passive 1
00:28:46: SB10: Fa0/0 Hello in 10.1.1.1 Active pri 100 ip 10.1.1.101
00:28:46: SB10: Fa0/0 Learn: h/Hello rcvd from lower pri Active router (100/10.1.1.1)
00:28:46: SB10: Fa0/0 Active router is 10.1.1.1
00:28:46: SB: Fa0/0 Add active hash 10.1.1.1 (vIP 0.0.0.0)
00:28:46: SB: Fa0/0 Sbstate adv out, Passive, active 0 passive 1
00:28:46: SB10: Fa0/0 Learn: n/Standby IP address configured
00:28:46: SB10: Fa0/0 Learn -> Listen
R2(config-if)#
00:28:48: SB10: Fa0/0 Hello in 10.1.1.1 Active pri 100 ip 10.1.1.101
R2(config-if)#
00:28:51: SB10: Fa0/0 Hello in 10.1.1.1 Active pri 100 ip 10.1.1.101
R2(config-if)#
00:28:54: SB10: Fa0/0 Hello in 10.1.1.1 Active pri 100 ip 10.1.1.101
R2(config-if)#
00:28:56: SB: Fa0/0 Sbstate adv out, Passive, active 0 passive 1
00:28:56: SB10: Fa0/0 Listen: d/Standby timer expired (unknown)
00:28:56: SB10: Fa0/0 Listen -> Speak
00:28:56: SB10: Fa0/0 Hello out 10.1.1.2 Speak pri 100 ip 10.1.1.101
00:28:57: SB10: Fa0/0 Hello in 10.1.1.1 Active pri 100 ip 10.1.1.101
R2(config-if)#
00:28:59: SB10: Fa0/0 Hello out 10.1.1.2 Speak pri 100 ip 10.1.1.101
00:28:59: SB10: Fa0/0 Hello in 10.1.1.1 Active pri 100 ip 10.1.1.101
R2(config-if)#
00:29:02: SB10: Fa0/0 Hello out 10.1.1.2 Speak pri 100 ip 10.1.1.101
00:29:02: SB10: Fa0/0 Hello in 10.1.1.1 Active pri 100 ip 10.1.1.101
R2(config-if)#
00:29:05: SB10: Fa0/0 Hello out 10.1.1.2 Speak pri 100 ip 10.1.1.101
00:29:05: SB10: Fa0/0 Hello in 10.1.1.1 Active pri 100 ip 10.1.1.101
00:29:05: SB: Fa0/0 Sbstate adv out, Passive, active 0 passive 1
R2(config-if)#
00:29:06: SB10: Fa0/0 Speak: d/Standby timer expired (unknown)
00:29:06: SB10: Fa0/0 Speak -> Standby
00:29:06: %STANDBY-6-STATECHANGE: Standby: 10: FastEthernet0/0 state Speak -> Standby
只有Active會顯示vip和vmac
當R1f0/1down掉是 R2會在10s內變爲active狀態併產生vip和vmac
搶佔
搶佔(preempt),當收到的hello包中優先級發生變化時,會重新選舉active
在R1上啓動HSRP並配置搶佔,然後在R2上啓動HSRP觀察
雖然同樣沒有配置Vip但是還是能搶佔成功
但當SW只有上行口DOwn時,不會Active切換
此時我們down掉R2的F0/1
當Pc ping 3.3.3.3時就會顯示阻止發送ICMP的重定,因爲如果發生ICMP的重定向就會讓PC產生一條ARP記錄,主機自動學習到真實的網關地址,當R3恢復時就無法進行線路切換,同時並告訴10.1.1.1不包含在活動組中,將由R1轉發流量
TRACK 接口跟蹤
Track是針對上面上行鏈路down掉情況的優化,當F0/1接口當了時,自動將f0/0接口優先級減少,讓出active地位,前提是要開啓搶佔。
此時R2爲active我們down掉R2的F0/1
R1變成active R2爲 Standby 並且優先級降10
多組
既實現網關冗餘有實現負載分擔
R1 R2
然後在添加一臺PC網關指向10.1.1.102
當R1的f0/1down掉時會自動切換到R2轉發
standby use-bia (使用此命令支持多組,在一個路由器上啓用多個HSRP組)
認證
standby 1 authentication 密碼 (僅支持8位明文認證)
VRRP(virtual route redundancy protocol)業界標準 IP包中協議號112
和HSRP工作原理相同,只是可以用真實設備地址。
分爲主路由器master和備用路由器backup
· VRRP和HSRP主要區別:
1、在VRRP中,備用路由器不發送通告,所以主路由器並不知道當前的備用路由器。
2、主路由器每1秒鐘發一次hello
3、VRRP中,沒有針對上行線路DOWN時的track技術
虛擬MAC地址是以0000.5e開頭,00.01代表VRRP,最後兩位數是組號
例如:組10的MAC地址是0000.5e00.010A
當虛擬IP地址設置爲一臺路由器的實際接口地址時,這臺路由器的優先級就會變爲255,自動成爲master
默認啓用Preempt。搶佔
GLBP(gateway load balancing protocol)
HSRP和VRRP都提供冗餘網關,可同時只有一個網關在使用,帶寬沒有充分利用。GLBP旨在自動選擇和同時使用多個可用網關,實現負載均衡。並檢測活動網關故障並切換到冗餘路徑。
·GLBP中,虛擬路由器只有一個虛擬的IP地址,但可以有多個虛擬的MAC地址
·AVF(Active Virtual Forwarder)活動虛擬轉發者 GLBP組最多用4臺網關
AVG(Active Virtual Gateway)活動虛擬網關 從網關中會選出一個來管理其他AVF。只有AVG響應ARP請求。
也可以有一個AVG,四臺AVF,但是那臺AVG不能成爲AVF,也就是說它不能轉發數據。
·AVG可以分配虛擬的MAC地址給AVF
·AVG也會有一個Active的,和一個standby的
·默認模式,GLBP以循環方式來負載均衡。向請求IP地址的主機發不同的MAC地址。
·手工配置搶佔
·hello包發向組播地址:224.0.0.102 UDP端口號3222
·hello時間3 S,holdtime時間10 S
·每一個設備都會發包
R2(config-if)#glbp 1 ip 192.168.1.1
R2(config-if)#glbp 1 times 5
R2(config-if)#glbp 1 priority 120