您好,登錄后才能下訂單哦!
熱備份路由選擇協(xié)議(HSRP)
一、HSRP的相關(guān)概念
1、HSRP的原理
1.1、HSRP概述
HSRP(Host Standby Routing Protocol,熱備份路由選擇協(xié)議)是Cisco私有的一種協(xié)議,它確保了當網(wǎng)絡(luò)邊緣設(shè)備或接入鏈路出現(xiàn)故障時,用戶通信能迅速并透明的修復(fù),以此為IP網(wǎng)絡(luò)提供冗余性。通過應(yīng)用HSRP,可使網(wǎng)絡(luò)的正常運行時間接近100%。從而保障網(wǎng)絡(luò)的可靠性要求。
HSRP為IP網(wǎng)絡(luò)提供了容錯和增強的路由選擇功能。通過使用一個虛擬IP地址和虛擬MAC地址,LAN網(wǎng)絡(luò)上的兩臺或者多臺路由器可以作為一臺虛擬路由器對外提供服務(wù)。HSRP使用組內(nèi)Cisco路由器能互相監(jiān)視對方的運行狀態(tài):
※虛擬路由器組的成員通過HSRP消息不斷地交換狀態(tài)信息。
※如果其中一臺出現(xiàn)故障,另一臺可接替他繼續(xù)完成路由功能。
1.2、HSRP組成員
HSRP備份組由一臺活躍路由器、一臺備份路由器、一臺虛擬路由器和其他路由器組成。
各個路由器的功能如下:
活躍路由器:轉(zhuǎn)發(fā)發(fā)送到虛擬路由器的數(shù)據(jù)包。組中的另一臺路由器被選為備份路由器?;钴S路由器通過發(fā)送Hello消息來承擔和保持他活躍的角色。
備份路由器:監(jiān)視HSRP組的運行狀態(tài),并且當活躍路由器不能運行的時,迅速承擔起轉(zhuǎn)發(fā)數(shù)據(jù)包的責任。備份路由器也傳輸Hello消息,告知組中所有路由器備份路由器的角色和狀態(tài)變化。
虛擬路由器:向最終用戶提供一臺可以連續(xù)工作的路由器。虛擬路由器配有它自己的IP地址和MAC地址。但并不實際轉(zhuǎn)發(fā)數(shù)據(jù)包。
HSRP備份組:可以包含其他路由器。這些路由器監(jiān)視Hello消息,但不做應(yīng)答。這些路由器轉(zhuǎn)發(fā)任何經(jīng)由他們的數(shù)據(jù)包,但并不轉(zhuǎn)發(fā)經(jīng)由虛擬路由器的數(shù)據(jù)包。
1.3、HSRP的具體工作原理
HSRP組內(nèi)的每個路由器都有指定的優(yōu)先級(priority),用于衡量路由器在活躍路由器選擇中的優(yōu)先程度。默認優(yōu)先級是100,他是用戶配置中的可選項,可以使0~255內(nèi)的任何值。組中最高優(yōu)先級的路由器將成為活躍路由器。
活躍HSRP路由器通過HSRP組成員的優(yōu)先級的設(shè)定而確定。如下圖
活躍路由器替代虛擬路由器對數(shù)據(jù)流進行相應(yīng)。如果末端主機發(fā)送了一個數(shù)據(jù)包到虛擬路由器的MAC地址,那么,活躍路由器將接受并處理這個數(shù)據(jù)包。如果末端主機對虛擬路由器的IP地址發(fā)送ARP解析請求,那么,活躍路由器將使用虛擬路由器的MAC地址進行應(yīng)答。
如上圖所示,路由器A的優(yōu)先級為200,路由器B的優(yōu)先級為150(默認優(yōu)先級為100)。路由器A承擔活躍路由器的角色,并且轉(zhuǎn)發(fā)所有到達自動生成的HSRP虛擬MAC的數(shù)據(jù)幀。
選擇活躍路由器和備份路由器時,如果優(yōu)先級相同,IP地址大的路由器獲勝。(例如:兩臺路由器HSRP優(yōu)先級都是100,一臺路由器位于此LAN網(wǎng)段的端口的IP地址是10.1.1.2,另一臺路由器位于此LAN網(wǎng)段的端口的IP地址是10.1.1.3,則IP地址為10.1.1.3的路由器會成為活躍路由器)。
運行HSRP的設(shè)備會發(fā)送和接收基于用戶數(shù)據(jù)報協(xié)議(UDP 1985)的組播Hello包,已檢測路由器故障,并確定活躍路由器和備份路由器。一個組內(nèi)的HSRP路由器會從活躍路由器那里學到Hello間隔,保持時間(Hold Time)和虛擬IP地址。
1.4、虛擬MAC地址
ARP在IP地址和MAC地址之間建立了一種關(guān)聯(lián)。每臺三層交換機都維護者一個地址解析表。三層交換機在試圖聯(lián)系某個設(shè)備之前,先檢查其ARP緩存,已確定這個地址是否已經(jīng)被解析。虛擬路由器的IP地址和相應(yīng)的MAC地址維持在HSRP組中的每臺三層交換機的ARP表中。
虛擬路由器所用的MAC地址由三部分組成:
廠商編碼—MAC地址的前三個字節(jié),代表著廠商。
HSRP編碼(虛擬MAC地址)—HSRP編碼總是“07.ac”。
組好(HSRP組號)——MAC地址的最后一個字節(jié)是組的標識號。(例如:組號47轉(zhuǎn)換成十六進制為2f,他將構(gòu)成MAC地址的最后一個字節(jié))
也可以使用下面命令顯示每個HSRP組的虛擬IP地址和MAC地址:
1.5、HSRP消息
HSRP中的所有路由器都發(fā)送或接收HSRP消息。這些消息用來決定和維護組內(nèi)的路由器角色。HSRP消息封裝在UDP數(shù)據(jù)包中的數(shù)據(jù)部分,使用UDP端口號1985。2、HSRP的狀態(tài)
2、HSRP的狀態(tài)
HSRP配置的路由器有六種狀態(tài),分別如下:
初始狀態(tài)、學習狀態(tài)、監(jiān)聽狀態(tài)、發(fā)言狀態(tài)、備份狀態(tài)、活躍狀態(tài)。
并不是所有的HSRP路由器都經(jīng)歷所有狀態(tài)。例如,不是備份路由器或者活躍路由器的路由器,就不會有備份狀態(tài)和活躍狀態(tài)。
2.1、HSRP六種狀態(tài)
a、初始狀態(tài):所有路由器都從初始狀態(tài)開始。這是一種起始狀態(tài),同時表明HSRP還沒有運行。配置發(fā)生變化或一個端口第一次啟用時,就進入該狀態(tài)。
b、學習狀態(tài):路由器等待來自活躍路由器的消息。這時,路由器還沒有看到來自活躍路由器的Hello消息,也沒有學習到虛擬路由器的IP地址。
c、監(jiān)聽狀態(tài):路由器知道了虛擬路由器的IP地址,但它既不是活躍路由器,也不是備份路由器。這時,路由器監(jiān)聽來自活躍路由器和備份路由器的Hello消息。除活躍路由器和備份路由器之外的路由器都保持監(jiān)聽狀態(tài)。
d、發(fā)言狀態(tài):路由器周期性的發(fā)送Hello消息,并參與活躍路由器或備份路由器的競選。路由器在獲得虛擬路由器的IP地址之前,不能進入發(fā)言狀態(tài)。
e、備份狀態(tài):路由器是成為下一個活躍路由器的候選設(shè)備,并且它也能周期性的發(fā)送Hello消息。在一個組中只有一臺備份路由器。
f、活躍狀態(tài):在活躍狀態(tài),路由器負責轉(zhuǎn)發(fā)發(fā)送到備份組的虛擬MAC地址的數(shù)據(jù)包?;钴S路由器周期的發(fā)送Hello消息。在一個組中,必須有且只有一臺活躍路由器。
2.2、HSRP計時器
HSRP使用兩個計時器:Hello間隔計時器和保持時間計時器。任何狀態(tài)的HSRP路由器都會在Hello間隔計時器超時后生成Hello包。默認的Hello間隔是3s,默認的保持時間是10s。
未配置計時器的路由器會從活躍路由器或備份路由器學到這些計時器的值。活躍路由器上配置的計時器值會覆蓋其他路由器上的計時器設(shè)定值。同一個SHRP組內(nèi)的路由器應(yīng)該使用相同的計時器值。通常,保持時間會大于或等于Hello間隔的三倍,并且保持時間的取值必須大于Hello間隔。
默認的HSRP計時器適用于大多數(shù)的LAN網(wǎng)段。
3、HSRP與VRRP的區(qū)別
HSRP是Cisco私有的協(xié)議。VRRP是IETF制定的一種路由備份冗余協(xié)議,實現(xiàn)原理和過程與HSRP基本相同。
VRRP和HSRP的一個主要區(qū)別表現(xiàn)在安全方面。VRRP允許彩玉VRRP組的設(shè)備間建立認證機制。另一個主要區(qū)別是:VRRP中只有三種狀態(tài)——初始狀態(tài)(initialize)、主狀態(tài)(Master)、備份狀態(tài)(Backup),而HSRP有六種狀態(tài)。另外,在報文類型、報文格式格式和通過TCP而非UDP發(fā)送報文方面也有所不同。
二、課后實驗
隨著公司的發(fā)展,對網(wǎng)絡(luò)的要求越來越高,為了保障網(wǎng)絡(luò)的穩(wěn)定性與可靠性,公司決定搭建兩臺核心交換機做雙機熱備,同時為了充分利用資源,還要實現(xiàn)vlan的負載均衡,并且便于設(shè)備的管理。
實現(xiàn)思路:
1、 核心交換機配置VTP服務(wù);
2、 交換機之間接口全部配置為Trunk模式;
3、 在SW1和SW2上配置HSRP;
4、 配置DHCP服務(wù);
5、 R2配置ACL與NAT;
6、 使用靜態(tài)路由與默認路由進行選路。
7、 提高鏈路的負載均衡及冗余。
實驗要求:
1、 vlan進行統(tǒng)一管理;
2、 SW1為vlan10、20的負載,SW2為vlan30、40的負載;
3、 客戶機均使用自動獲取IP地址;
4、 客戶端均可以ping通R1的地址
5、 驗證SW1關(guān)機后,是否能夠正常通訊
實驗拓撲:
實驗命令與解釋
SW1#en \\進入特權(quán)模式
SW1#vlan da \\進入vlan數(shù)據(jù)庫模式
SW1(vlan)#vtp do ww \\創(chuàng)建名叫ww的VTP域
SW1(vlan)#vtp ser \\設(shè)置為VTP服務(wù)器模式
SW1(vlan)#vlan 10 \\創(chuàng)建vlan 10
SW1(vlan)#vlan 20
SW1(vlan)#vlan 30
SW1(vlan)#vlan 40
SW1(vlan)#exit \\返回上一級模式
SW1#conf t \\進入全局配置模式
SW1(config)#int vlan 10 \\進入vlan10接口
SW1(config-if)#ip add 192.168.10.1 255.255.255.0 \\配置vlan 10 IP地址
SW1(config-if)#no sh \\開啟
SW1(config-if)#stan 10 ip 192.168.10.254 \\配置HSRP虛擬IP地址
SW1(config-if)#stan 10 pri 150 \\配置優(yōu)先級為150
SW1(config-if)#stan 10 pre \\配置占先權(quán)
SW1(config-if)#stan 10 tr f0/0 100 \\配置端口跟蹤,端口不通后,減100優(yōu)先權(quán)
SW1(config-if)#standby 10 timers 2 8 \\配置Hello消息,2s是Hello,8是保持時間
SW1(config-if)#int vlan 20
SW1(config-if)#ip add 192.168.20.1 255.255.255.0
SW1(config-if)#no sh
SW1(config-if)#stan 20 ip 192.168.20.254
SW1(config-if)#stan pri 150
SW1(config-if)#stan 20 pre
SW1(config-if)#standby 10 tr f0/0 100
SW1(config-if)#int vlan 30
SW1(config-if)#ip add 192.168.30.1 255.255.255.0
SW1(config-if)#no sh
SW1(config-if)#stan 30 ip 192.168.30.254
SW1(config-if)#stan 30 pre
SW1(config-if)#int vlan 40
SW1(config-if)#ip add 192.168.40.1 255.255.255.0
SW1(config-if)#no sh
SW1(config-if)#stan 40 ip 192.168.40.254
SW1(config-if)#stan 40 pre
SW1(config-if)#int r f0/1 -2 \\進入1至2接口
SW1(config-if-range)#sw mo tr \\配置端口為Trunk模式
SW1(config-if-range)#channel-group 1 mo on \\配置鏈路負載(端口聚合)
SW1(config-if-range)#no sh \\開啟端口
SW1(config-if-range)#int r f0/5 -8 \\進入5至8接口
SW1(config-if-range)#sw mo tr \\配置端口為Trunk模式
SW1(config-if-range)#no sh \\開啟端口
SW1(config-if-range)#int f0/0 \\進入f0/0接口
SW1(config-if)#no sw \\關(guān)閉交換接口模式
SW1(config-if)#ip add 192.168.1.2 255.255.255.0
SW1(config-if)#exit
SW1(config)#ip dhcp pool vlan10 \\創(chuàng)建DHCP地址池名稱
SW1(dhcp-config)#netw 192.168.10.0 255.255.255.0 \\地址池分配的地址段
SW1(dhcp-config)#defa 192.168.10.254 \\默認網(wǎng)關(guān)地址
SW1(dhcp-config)#dns 8.8.8.8 \\DNS服務(wù)器地址
SW1(config-if)#exit
SW1(config)#ip dhcp pool vlan20
SW1(dhcp-config)#netw 192.168.20.0 255.255.255.0
SW1(dhcp-config)#defa 192.168.20.254
SW1(dhcp-config)#dns 8.8.8.8
SW1(config-if)#exit
SW1(config)#ip dhcp pool vlan30
SW1(dhcp-config)#netw 192.168.30.0 255.255.255.0
SW1(dhcp-config)#defa 192.168.30.254
SW1(dhcp-config)#dns 8.8.8.8
SW1(config-if)#exit
SW1(config)#ip dhcp pool vlan40
SW1(dhcp-config)#netw 192.168.40.0 255.255.255.0
SW1(dhcp-config)#defa 192.168.40.254
SW1(dhcp-config)#dns 8.8.8.8
SW1(config)#spanning-tree vlan 10 root primary \\指定為vlan10的根網(wǎng)橋
SW1(config)#spanning-tree vlan 20 root primary
SW1(config)#spanning-tree vlan 30 root secondary \\指定為vlan30的輔助
SW1(config)#spanning-tree vlan 40 root secondary
SW1(config)#ip route 0.0.0.0 0.0.0.0 192.168.1.1 \\配置默認路由
SW2#en
SW2#vlan da
SW2(vlan)#vtp do ww
SW2(vlan)#vtp cl
SW2(vlan)#vtp client
SW2(vlan)#exit
SW2#conf t
SW2(config)#int r f0/1 -2
SW2(config-if-range)#sw mo tr
SW2(config-if-range)#channel-group 1 mo on
SW2(config-if-range)#no sh
SW2(config-if-range)#int r f0/5 -8
SW2(config-if-range)#sw mo tr
SW2(config-if-range)#no sh
SW2(config-if-range)#exit
SW2(config)#int vlan 10 \\進入vlan10接口
SW2(config-if)#ip add 192.168.10.2 255.255.255.0
SW2(config-if)#no sh
SW2(config-if)#stan 10 ip 192.168.10.254
SW2(config-if)#stan 10 pre
SW2(config-if)#standby 10 timers 2 8
SW2(config-if)#int vlan 20
SW2(config-if)#ip add 192.168.20.1 255.255.255.0
SW2(config-if)#no sh
SW2(config-if)#stan 20 ip 192.168.20.254
SW2(config-if)#stan 20 pre
SW2(config-if)#int vlan 30
SW2(config-if)#ip add 192.168.30.1 255.255.255.0
SW2(config-if)#no sh
SW2(config-if)#stan 30 ip 192.168.30.254
SW2(config-if)#stan 30 pri 150
SW2(config-if)#stan 30 pre
SW2(config-if)#stan 30 tr f0/0 100
SW2(config-if)#int vlan 40
SW2(config-if)#ip add 192.168.40.1 255.255.255.0
SW2(config-if)#no sh
SW2(config-if)#stan 40 ip 192.168.40.254
SW2(config-if)#stan 30 pri 150
SW2(config-if)#stan 40 pre
SW2(config-if)#stan 40 tr f0/0 100
SW1(config-if-range)#int f0/0
SW1(config-if)#no sw
SW1(config-if)#ip add 192.168.0.2 255.255.255.0
SW2(config-if)#exit
SW2(config)#ip dhcp pool vlan10
SW2(dhcp-config)#netw 192.168.10.0 255.255.255.0
SW2(dhcp-config)#defa 192.168.10.254
SW2(dhcp-config)#dns 8.8.8.8
SW2(config-if)#exit
SW2(config)#ip dhcp pool vlan20
SW2(dhcp-config)#netw 192.168.20.0 255.255.255.0
SW2(dhcp-config)#defa 192.168.20.254
SW2(dhcp-config)#dns 8.8.8.8
SW2(config-if)#exit
SW2(config)#ip dhcp pool vlan30
SW2(dhcp-config)#netw 192.168.30.0 255.255.255.0
SW2(dhcp-config)#defa 192.168.30.254
SW2(dhcp-config)#dns 8.8.8.8
SW2(config-if)#exit
SW2(config)#ip dhcp pool vlan40
SW2(dhcp-config)#netw 192.168.40.0 255.255.255.0
SW2(dhcp-config)#defa 192.168.40.254
SW2(dhcp-config)#dns 8.8.8.8
SW2(config)#spanning-tree vlan 10 root secondary
SW2(config)#spanning-tree vlan 20 root secondary
SW2(config)#spanning-tree vlan 30 root primary
SW2(config)#spanning-tree vlan 40 root primary
SW2(config)#ip route 0.0.0.0 0.0.0.0 192.168.0.1
SW3#en
SW3#vlan da
SW3(vlan)#vtp do ww
SW3(vlan)#vtp client
SW3(vlan)#exit
SW3#conf t
SW3(config)#int r f0/0 -1
SW3(config-if-range)#sw mo tr
SW3(config-if-range)#no sh
SW3(config-if-range)#int f0/5
SW3(config-if)#sw ac vlan 10
SW3(config-if)#no sh
(SW3至SW6交換機均使用SW3命令即可完成配置,唯一不同是f0/5加入的VLAN號更改一下)
R2#conf t
R2(config)#int f0/0
R2(config-if)#ip add 192.168.1.1 255.255.255.0 \\接口配置IP地址
R2(config-if)#ip nat inside \\配置為內(nèi)部NAT接口
R2(config-if)#no sh
R2(config-if)#int f1/0
R2(config-if)#ip add 192.168.0.1 255.255.255.0
R2(config-if)#ip nat inside
R2(config-if)#no sh
R2(config-if)#int f2/0
R2(config-if)#ip add 169.239.123.241 255.255.255.248
R2(config-if)#ip nat outside \\配置為外部NAT 接口
R2(config-if)#no sh
R2(config-if)#exit
R2(config)#ip access-list ex test \\創(chuàng)建命名ACL
R2(config-ext-nacl)#per ip 192.168.10.0 0.0.0.255 any \\允許192.168.10.0網(wǎng)段訪問所有地址(此處可用子網(wǎng)劃分簡化以下命令)
R2(config-ext-nacl)#per ip 192.168.20.0 0.0.0.255 any
R2(config-ext-nacl)#per ip 192.168.30.0 0.0.0.255 any
R2(config-ext-nacl)#per ip 192.168.40.0 0.0.0.255 any
R2(config-ext-nacl)#exit
R2(config)#ip nat inside source list test int f2/0 ov \\將名為test的ACL轉(zhuǎn)為f2/0接口上的地址
R2(config)#ip route 0.0.0.0 0.0.0.0 169.239.123.242 \\配置默認路由
R2(config)#ip route 192.168.10.0 255.255.255.0 192.168.1.2 1 \\靜態(tài)路由加浮動路由
R2(config)#ip route 192.168.20.0 255.255.255.0 192.168.1.2 1
R2(config)#ip route 192.168.30.0 255.255.255.0 192.168.1.2 2
R2(config)#ip route 192.168.40.0 255.255.255.0 192.168.1.2 2
R2(config)#ip route 192.168.10.0 255.255.255.0 192.168.0.2 2
R2(config)#ip route 192.168.20.0 255.255.255.0 192.168.0.2 2
R2(config)#ip route 192.168.30.0 255.255.255.0 192.168.0.2 1
R2(config)#ip route 192.168.40.0 255.255.255.0 192.168.0.2 1
(此處靜態(tài)路由有多鐘方式可根據(jù)自己喜好自行更改,以下內(nèi)容為經(jīng)過子網(wǎng)劃分的路由:
ip route 192.168.0.0 255.255.192.0 192.168.1.2 1
ip route 192.168.0.0 255.255.192.0 192.168.0.2 2)
R1#conf t
R1(config)#int f0/0
R1(config-if)#ip add 169.239.123.242 255.255.255.248
R1(config-if)#no sh
R1(config-if)#exit
R1(config)#ip route 0.0.0.0 0.0.0.0 169.239.123.241
實驗驗證:
客戶機自動獲取IP地址;
按照指定路徑進行轉(zhuǎn)發(fā)數(shù)據(jù)包,vlan40使用SW2進行轉(zhuǎn)發(fā),vlan10使用SW1進行轉(zhuǎn)發(fā);
使用不同客戶機ping R1
查看HSRP備份狀態(tài);
SW1查看HSRP備份狀態(tài)
SW2查看HSRP備份狀態(tài)
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。