hsrp 切換_HSRP、VRRP、GLBP | 網絡工程師之網關高可用、冗余

在RS的學習過程中我們接觸到很多網絡技術,后面就把工作中常用的拿來與大家分享,本次我們來分享網關冗余技術。當我們的網關設備無法使用堆疊(VSS,istack,IRF),或者不同廠商設備的時候,非常有效,能夠提供網關的高可用,下面就來對比極其相似的HSRP和VRRP,然后來分析GLBP:

f1204cb417a5374c70c3fde001bea3c0.png

HSRP:Hot Standby Router Protocol (HSRP是CISCO專有協議,用于在網絡中提供冗余。只有一個路由器是active活動路由器,而其他路由器將處于standby待機狀態,即備用路由器將負責在活動路由器發生故障時轉發流量。

VRRP:Virtual Router Redundancy Protocol,是一種用于在網絡中提供冗余的開放標準協議。VRRP是一種網絡層協議。它使用Master和Backup的概念,即當主路由器Master出現故障時,其中一個Backup備用路由器將承擔主路由器的職責,即備用路由器將負責轉發流量,直到主路由器恢復。

相似之處 -

· 虛擬IP地址:兩種協議都使用虛擬IP地址的概念,即子網或網絡中的一個IP地址被指定為該網絡主機的默認網關。

· track:對象跟蹤是一個監視被跟蹤對象的過程,例如線路協議的狀態。該過程定期輪詢跟蹤對象,如果發現任何變化,則備用或備用路由器的優先級會增加,因此現在這些路由器中的一個變為活動路由器或主路由器。

· priority:優先級最高的路由器將變為Active(在HSRP中)或Master(在VRRP中)。只會有一個路由器會變成Active或者Master,而其他路由器將作為備份路由器(HSRP中的standby,VRRP中的backup)。

· preempt:搶占是一種狀態,即優先級priority高的設備通過preempt競爭成為Active或者Master,一般會聯動track以及設置delay time以免網絡故障時的頻繁主備切換。

現在,看一下HSRP和VRRP的一些區別。

202c6a115558850a3ee46a217051cc66.png

HSRP和VRRP的不同對比

GLBP:網關負載平衡協議是第一跳冗余協議(FHRP)之一,它提供與其他第一跳冗余協議一樣的冗余,也提供負載平衡。它是Cisco專有協議,可以執行這兩種功能。它使用單個虛擬IP地址和多個虛擬Mac地址在多個路由器上提供負載平衡。

GLBP術語:

1. 虛擬IP地址:IP地址被指定為本地子網的虛擬IP地址,該子網被配置為所有本地主機的默認網關。

2. 實際虛擬網關(AVG):它是在單個組中運行GLBP的路由器之一,負責為組中的每個成員分配虛擬Mac地址以及響應來自設備的ARP請求。AVG在組中具有最高優先級值或IP地址。

3. 實際虛擬轉發器(AVF):這些是包含單個GLBP組中的AVG的路由器。這些實際上負責在AVG為任務分配數據后轉發數據。如果AVG??發生故障,其中一個AVF可以成為AVG。

4. 搶占:這是AVF中的一個將成為AVG路由器的狀態(當AVG路由器發生故障時)。此外,當AVG路由器再次啟動時,它將成為AVG路由器,因為它的優先級仍然更高(假設)。

5. 對象跟蹤:GLBP使用加權方案來確定GLBP組中每個路由器的轉發容量。GLBP跟蹤界面并調整其加權,即如果跟蹤的界面下降,則它會減少一定的值(根據配置)。

GLBP概念:

實際虛擬網關(AVG)為運行同一組的GLBP的所有其他路由器提供虛擬Mac地址。其余路由器是Actual Virtual Forwarder(AVF)。當來自子網設備的ARP請求知道虛擬IP地址的Mac地址時,AVG提供其中一個虛擬Mac地址。AVG將使用循環算法或已應用的其他算法提供虛擬Mac地址。通過這種方式,所有運行GLBP的設備都可用于轉發流量。

GLBP虛擬Mac地址分配:當子網設備(主機)想要發送流量時,它通過發送ARP請求來請求虛擬IP(網關)的Mac地址。響應ARP請求,AVG將提供虛擬Mac地址之一(由AVG提供給AVF)。

虛擬網關冗余:為了檢測網關故障,GLBP成員通過hello消息相互通信,每隔3秒發送一次到多播地址224.0.0.102。如果AVG??失敗,則具有最高優先級的AVF將成為AVG,即負責提供AVF的Mac地址。

虛擬轉發器冗余:就像在HSRP中一樣,如果其中一個AVF出現故障,那么同一個GLBP組中的另一個AVF將負責轉發數據包。GLBP組中最多可以有4個路由器。

GLBP負載平衡:

GLBP使用3算法進行負載均衡 -

1. Round-Robin:AVG將按順序分配虛擬Mac地址,例如將第一個虛擬Mac地址分配給AVF1,然后分配給AVF2等。

2. Host-dependent依賴于主機:如果特定主機每次都需要特定的虛擬Mac地址,則AVG會將特定的AVF分配給主機。

3. Weighted加權:負載將根據需求分配,即按比例分配虛擬Mac地址。如果我們想要一些AVF處理比其他AVF更多的流量,那么可以改變權重。

4. 配置舉例:

fc604b72f631fd76a2add7f50c4c5863.png

HSRP

HSRP:Vlan 100 HSRP 192.168.10.0/24Vlan 200 VRRP 192.168.20.0/24Vlan 300 GLBP 192.168.30.0/24 R1:192.168.XX.253 R2:192.168.XX.254 VIP:192.168.XX.1Hsrp:R1track 100 interface Ethernet0/1 line-protocolinterface Vlan100 ip address 192.168.10.253 255.255.255.0 standby 100 ip 192.168.10.1 standby 100 priority 120 standby 100 preempt standby 100 track 100 decrement 30R2track 100 interface Ethernet0/1 line-protocolinterface Vlan100 ip address 192.168.10.254 255.255.255.0 standby 100 ip 192.168.10.1 standby 100 priority 100 standby 100 preempt

我們debug看一下hsrp的各個狀態:

95d607b41db161148b619b16291f7a18.png

HSRP形成過程

(1) INIT:初始狀態

所有備份組內組員的初始狀態為 INIT,當組員配置屬性或端口 UP 時,進入 INIT 狀態。

(2)LEARN:未設定虛擬IP地址

該組員未設定虛擬 IP 地址,并等待從本組活動路由器發出的認證的 Hello 報文中學習得到自己的虛擬 IP 地址。

(3)LISTEN:監視活動/備份路由器

該組員已得知或設置了虛擬 IP 地址,通過監聽 Hello 報文監視活動/備份路由器,一旦發現活動/備份路由器長時間未發送 Hello 報文,則進入 SPEAK 狀態,開始競選。

(4)SPEAK:參加競選活動/備份路由器

參加競選活動/備份路由器的組員所處的狀態,通過發送 Hello 報文使競選者間相互比較、競爭。

(5)STANDBY:備份路由器所處的狀態(只有一個)

組內備份路由器所處的狀態,備份組員監視活動路由器,準備隨時在活動路由器壞掉時接替活動路由器。備份路由器也周期性發送 Hello 報文告訴其他組員自己沒有壞掉。

(6)ACTIVE:活動路由器所處的狀態(只有一個)

組內活動路由器即負責虛擬路由器實際路由工作的組員所處的狀態。活動路由器周期性發送 Hello 報文告訴其他組員自己沒有壞掉。

當我們shutdown掉track的上行口后,可以看到hsrp的active切換到R2:

dd1df0ef769a822ed3735ed91faf2b42.png

Track切換

8d46ac631001b7a8d3fdbf04897fbca2.png

VRRP

VRRP:R1:interface Vlan200 ip address 192.168.20.253 255.255.255.0 vrrp 200 ip 192.168.20.1R2:interface Vlan200 ip address 192.168.20.254 255.255.255.0 vrrp 200 ip 192.168.20.1 vrrp 200 priority 120 vrrp 200 track 100 decrement 30

我們看到Debug vrrp的過程:

9929e2ff5891604573fc58e9030d7076.png

VRRP Debug

啟動vrrp后進入init狀態,當收到接口startup的消息,將轉入Backup,在Master down timer超時,沒有比本地優先級大的時候,變成Master;

1d6c7eff307f766331f0b8374d128e30.png

GLBP

GLBP:R1:interface Vlan300 ip address 192.168.30.253 255.255.255.0 glbp 300 ip 192.168.30.1 glbp 300 priority 120 glbp 300 preempt glbp 300 weighting 200

默認的loadbancing為round-roubin輪訓,但是權重比可以改變比重;

我們Debug查看形成過程,

1fd2ab5b679231bfa263ee478ab3112e.png

與HSRP非常的相似,但是GLBP可以在standby上按照權重同時工作,不過MAC有active來生成,這里,交換機位于AVG和AVF之間,當AVG關閉時,交換機將如何在另一個端口上學習相同的Mac地址?當AVG關閉時,新選出的AVG將產生無償ARP以刷新交換機的CAM表和主機ARP緩存。

本次關于網關的冗余就到這里,下次我們分享NAT相關的技術,歡迎大家關注。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/539396.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/539396.shtml
英文地址,請注明出處:http://en.pswp.cn/news/539396.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Linux文件系統詳解

從操作系統的角度詳解Linux文件系統層次、文件系統分類、文件系統的存儲結構、不同存儲介質的區別(RAM、ROM、Flash)、存儲節點inode。本文參考: http://blog.chinaunix.net/uid-8698570-id-1763151.htmlhttp://www.iteye.com/topic/816268http://soft.chinabyte.co…

opencv機器學習線性回歸_機器學習(線性回歸(二))

Lasso與嶺回歸的同和異Lasso、嶺回歸都可以預防模型過擬合Lasso回歸懲罰項為L1正則,嶺回歸為L2正則Lasso回歸可用來特征選擇,嶺回歸則不能Lasso回歸用坐標下降法求解,嶺回歸用梯度下降法求解。為什么Lasso可用于特征選擇,而嶺回歸…

c語言int a什么意思,問一下吧里大神 int a = a; 這么定義是什么意思?

該樓層疑似違規已被系統折疊 隱藏此樓查看此樓使用自身初始化,具有indeterminate value,可能是trap representation導致使用這個對象的值引起undefined behavior。但這個初始化語法上是正確的,也沒有語義錯誤。ISO C113.19.21 indeterminate …

把EXCEL用程序導入到ORACLE中(SpringMVC+MyBatis)

前提&#xff1a;項目中需要把EXCEL數據批量導入oracle中兩張表中。如是用到了poi技術。分別導入poi-3.11-beta2.jar和poi-ooxml-schemas-3.9.jar這兩個包。EXCEL數據如下 第一步&#xff1a;修改spring框架配置文件。 springmvc-servlet.xml加上&#xff1a; <!-- 文件上傳…

access實例_西門子PLC1200組態王跟Access數據庫-⑥組態王變量

西門子PLC1200&#xff0c;組態王跟Access數據庫--⑥組態王變量組態王的變量設置1.0 變量設置如下圖所示&#xff0c;選擇數據詞典&#xff0c;里面是系統變量跟新建的變量&#xff0c;選擇新建1.1 如下圖&#xff0c;從上往下依次&#xff0c;變量名(這個應該知道)&#xff0c…

Android 擼起袖子,自己封裝 DialogFragment

前言 具體的代碼以及示例我都放上 Github 了&#xff0c;有需要的朋友可以去看一下 DialogFragmentDemos&#xff0c;歡迎 star 和 fork. 本文的主要內容 DialogFragment 是什么創建通用的 CommonDialogFragment實現各種類型的 DialogFragment在寫正文之前&#xff0c;先來一波…

as模擬器文件夾路徑_EGG Switch手機模擬器怎么用?中文教程來了......

大家好&#xff0c;小雞妹我又來啦。自從昨天曝光了美國NX工作室的EGG模擬器之后&#xff0c;推文底下就多了一千多條留言&#xff0c;說啥的都有。不過小雞妹大概總結了一下&#xff0c;發現下面這幾條問題&#xff0c;出現的頻率最高&#xff1a;① 找不到網址&#xff1b;②…

xml文件c語言讀取函數,讀寫xml文件的2個小函數

#region 讀寫xml文件的2個小函數&#xff0c;2005 4 2 by hycpublic void SetXmlFileValue(string xmlPath,string AppKey,string AppValue)//寫xmlPath是文件路徑文件名&#xff0c;AppKey是 Key Name&#xff0c;AppValue是Value{XmlDocument xDoc new XmlDocument();xDoc.L…

Java導入導出Excel工具類ExcelUtil

前段時間做的分布式集成平臺項目中&#xff0c;許多模塊都用到了導入導出Excel的功能&#xff0c;于是決定封裝一個ExcelUtil類&#xff0c;專門用來處理Excel的導入和導出 本項目的持久化層用的是JPA&#xff08;底層用hibernate實現&#xff09;&#xff0c;所以導入和導出也…

郁金香匯編代碼注入怎么寫看雪_世界黑客編程大賽冠軍的匯編代碼 你見過嗎?...

前幾天發布了一篇“雷軍22年前寫的匯編代碼”的文章&#xff0c;引起網友的熱議。有人說匯編是最牛逼的編程語言&#xff0c;沒有之一。匯編語言確實厲害&#xff0c;不知道你有沒有見過世界黑客編程大賽冠軍的作品?雷軍編寫的的匯編代碼有 網友分享了97年Mekka ’97 4K Intro…

變位齒輪重合度計算公式_齒輪“模數”是如何計算的?

模數是決定齒輪大小的因素。齒輪模數被定義為模數制輪齒的一個基本參數&#xff0c;是人為抽象出來用以度量輪齒規模的數。目的是標準化齒輪刀具&#xff0c;減少成本。直齒、斜齒和圓錐齒齒輪的模數皆可參考標準模數系列表。工業定義&#xff1a;齒輪的分度圓是設計、計算齒輪…

c語言改錯和填空能運行嗎,C語言改錯填空編程

改錯題1、在考生文件夾下&#xff0c;給定程序MODI.C的功能是&#xff1a;從低位開始取出長整型變量s中奇數位上的數&#xff0c;依次構成一個新數放在t中。例如&#xff0c;當s中的數為&#xff1a;7654321時&#xff0c;t中的數為&#xff1a;7531。請修改并運行該程序&#…

@Autowired注解實現原理

在討論代碼細節之前&#xff0c;我們再來了解下基礎知識。Spring管理可用于整個應用程序的Java對象bean。他們所在的Spring容器&#xff0c;被稱為應用程序上下文。這意味著我們不需要處理他們的生命周期(初始化&#xff0c;銷毀)。該任務由此容器來完成。另外&#xff0c;該上…

獲取freemarker處理后的內容

相信很多人都用過freemarker&#xff0c;或做視圖&#xff0c;或模板&#xff0c;或生成靜態文件等,但是有多少人做過這樣的應用&#xff0c;通過模板后&#xff0c;不是要輸出靜態的內容&#xff0c;而是直接在代碼中獲取處理模板后的內容&#xff0c;研究了下API,freemarker里…

c4.5算法python實現_算法:用Python實現—最優化算法

今天給大家分享一下算法&#xff0c;用python來實現最優化算法。廢話不多說&#xff0c;直接上代碼&#xff1a;一、二分法函數詳見rres&#xff0c;此代碼使該算法運行了兩次def asdf(x): rres8*x**3-2*x**2-7*x3 return rresi2left0right1while i>0 : i i-1 …

comsol臨時文件夾中有不支持的字符_文件名中不能包含的字符

文件名是為了方便人們區分計算機中的不同文件&#xff0c;而給每個文件設定一個指定的名稱。由文件主名和擴展名組成。DOS操作系統規定文件名由文件主名和擴展名組成&#xff0c;文件主名由1~8個字符組成&#xff0c;擴展名由1~3個字符組成&#xff0c;主名和擴展名之間由一個小…

linux 星號 通配符,如何在bash中轉義通配符/星號字符?

簡短的回答像其他人所說的那樣 - 你應該總是引用變量來防止奇怪的行為。所以使用echo“$ foo”代替echo $ foo。長期回答我確實認為這個例子值得進一步解釋&#xff0c;因為它的表面看起來比它看起來更多。我可以看到你的困惑在哪里&#xff0c;因為在你運行你的第一個例子后&a…

PYTHON面試

大部分的面試問題&#xff0c;有最近要找事的老鐵嗎&#xff1f;python語法以及其他基礎部分可變與不可變類型&#xff1b; 淺拷貝與深拷貝的實現方式、區別&#xff1b;deepcopy如果你來設計&#xff0c;如何實現&#xff1b; __new__() 與 __init__()的區別&#xff1b; 你知…

vs怎么更改編譯的堆空間_再見吧 buildSrc, 擁抱 Composing builds 提升 Android 編譯速度...

前言長期以來困擾我們的一個問題就是構建速度&#xff0c;AndroidStudio 的構建速度嚴重影響 Android 開發者的工作效率&#xff0c;尤其是更新一個版本號&#xff0c;導致整個項目重新構建&#xff0c;在網絡慢的情況下&#xff0c;這是無法忍受的。buildSrc 這種方式&#xf…

java map的遍歷

轉載地址&#xff1a;http://www.cnblogs.com/shenliang123/archive/2012/08/28/2660705.html -------------------------------------------------------------------------------------------------------------------- java中的遍歷 import java.util.Collection; import j…