計算機網絡——VRRP(第一條冗餘協議)

點贊後看,養成習慣
喜歡的話 可以點個關注喲
你們的點贊支持對博主們來說很重要哦 !!!

本文將針對以下問題逐條進行解答:

01 網關意味着什麼?

02 針對網關突然掛掉的情況,有什麼解決的方法嗎?

03 VRRP是如何工作的?

04 如何防止第三方實施的ARP欺騙,假冒自己就是網關?


在這裏插入圖片描述


01 網關存在的意義

網關和主機的關係,就相當於大門對於在家待著的我們的關係,我們要想去外面的花花世界,就必須得經過這道門。

在這裏插入圖片描述
如果網關掛了,那就意味這這道門被關上了,我們就像被囚禁起來的罪犯只能呆在自家房間小天地,十分拘束。也就是說,主機只能在內網直接互相訪問,而連接不到外網了。

在這裏插入圖片描述



02 針對網關突然掛掉情況的解決方案

我們知道網關如此重要,那麼我們是不是必須採取什麼措施,以防萬一呢?

聯想一下實際,在現實生活中,公共場所裏,有沒有可能出現一扇門出故障不能使用的情況?
是會的,對吧。

那這種問題該如何解決呢?
很簡單,多配幾扇門。通過配備多扇門,多個出口,可以幫助我們在火災、地震等突發災難發生時,給與我們多幾條逃生通道,有利於減少突發情況帶來的損失。

在這裏插入圖片描述

網關也是一樣,既然那麼重要,那我們是不是要多配備幾臺設備互相備份冗餘一下呢。
而這就有種專門的技術,叫做 第一跳冗餘備份,其中IETF打造了一個業界標準的協議,簡稱爲VRRP。

通過VRRP技術,如果主機在VLAN10內,只要VLAN10內有兩臺物理網關,使用一樣的虛擬IP 10.1.1.1,也有一樣的虛擬MAC,如果一臺網關死機,對於主機來說,其實一點關係也沒有,流量可以自動切換到另外一臺網關發送,接受


03 VRRP是如何工作機制

1、VRRP首席網關的選舉

配置了VRRP的網關當啓動完成後,會主動向組播地址 224.0.0.18 發送VRRP消息,VRRP消息裏有優先級,首席網關的優先級爲255,次席網關優先級默認爲100,次席網關一旦發現有優先級255的首席網關存在,將會保持沉默,而網絡上只會有首席網關週期性地發送VRRP消息。

關於優先級,一般位於0-255不等,越大越優先,255用於首席網關,1-254用於次席網關,次席網關優先級默認爲100。

有一種手動調整首席網關的方法,那就是首席網關可以把自己的優先級設爲0,那麼次席網關一旦發現首席網關的優先級爲0,就會上位,立馬頂替掉首席網關的位置,而無需等待超時

2、首席網關主動ARP廣播

就像很多古代換皇帝一樣,新的皇帝上位做的第一件事情就是,昭告天下自己是天子。

在這裏插入圖片描述

首席網關也是這個尿性,那麼它是如何囂張地亮明自己的身份呢?

一方面首席網關主動告訴廣播域內的主機自己的IP、MAC的對應關係,另一方面告訴交換機連接自己的端口、MAC對應信息。這樣子主機知道首席網關的MAC,交換機知道首席網關對應的端口,那麼主機與網關之間的通信就被打通了。不會出現由於交換機不知道首席網關的位置,而採用廣播泛洪的方式擴散。

具體來說,首席網關會週期性的發送VRRP消息,默認情況一秒發一個消息,強調錶明自己的存在。

如果該廣播域下的主機,請求10.1.1.1,那麼只能首席網關來回答,告訴主機對應的MAC地址。

而這時候次席主機,就只能安安靜靜地看着首席主機說活,屈居幕後,自己當個啞巴,不然會出現流量的震盪。


在這裏插入圖片描述


3、首席、次席網關身份切換

皇帝有名正言順讓位的時候,或許是因爲年老體衰,或許是因爲推舉德才,首席網關也有這種情況。


在這裏插入圖片描述
當首席網關發現自己通往外部的接口斷了,不能再幫助主機轉發數據的時候,它就會自動降低優先級,主動讓權,比如調到50,這樣次席網關就會勝出,充當首席網關了。

除了名正言順傳皇位外,皇帝總有出意外的情況啊,要麼是老死,或者是病故。

在這裏插入圖片描述

對於次席來說,如果連續3次沒有聽到首席的消息,則意味着首席網關可能掛掉了,那怎麼辦啊? 國不可一日無主啊!於是,次席上位了,成了首席服務官。

可這有一個問題,你說連續3次沒聽到,這個時間如何把握呢?你作爲太子,你爸3s內不說自己是皇帝,你就覺得他駕崩了嗎

如果VRRP消息發送間隔特別小,比如100毫秒,意味着300毫秒如果次席網關無法接受到首席網關發送的VRRP消息,次席就會自己頂替首席的位置。問題是,如果首席沒有死,只是有點忙,比如說出口隊列被各種包擁堵這,VRRP消息無法及時發送呢?如果這樣的話,由於信息不對稱,之後一下子出來兩個皇帝,天下不就動盪了嘛。

所以,爲了克服這個問題,需要將VRRP消息設置成最高優先級,這樣就不會被堵在出口隊列了,次席會及時接收到來自首席的消息。



4、次席網關順利接過原首席網關的流量

對於主機來說,他們看到的網關一直都是 IP = 10.1.1.1 ,MAC地址也是一樣的。不會因爲首席、次席替換位置而改變,他們的ARP緩存裏保存這這些關鍵信息,對於他們來說,把數據幀封裝好扔到網卡就萬事大吉了。

但是交換機不就傻了嗎?他的MAC地址表裏面網關對應的MAC地址還沒有變的話,流量全部轉發到原網關,最終不是會被丟棄嘛,這顯然不合理。

爲了避免交換機做傻事,就像前面提到的,一有新的首席網關上線就會立馬發送VRRP消息,昭告自己的存在。這樣交換機就會刷新自己對於網關的位置信息,不會丟失用戶的流量。

相關知識點補充:

虛擬IP地址(VIP)、MAC地址:其實就是上文中主機認爲的網關IP地址和網關MAC地址,主機知道的就是這兩個,覺得一直沒有變。

首席、次席網關真實IP、MAC地址:其實就是他們原本的IP、MAC地址,除了皇帝的身份外,他們還有自己的身份不是嘛。但是皇帝身份最大,其他身份只有當他們不再擔任首席網關是,與別的主機通信時纔可以用。

在這裏插入圖片描述


VRRP的IP層封裝格式:
VRRP工作在IP層上,協議號爲112.消息發往一個IP組播地址,224.0.0.18,這是一個只存在於本地鏈路的組播,即除了VRRP消息的接受者,提取出VRRP消息內容後,就要把包丟棄掉,不能繼續轉發該組播。

凡是224.0.0.x組播地址,生存週期只有一跳,發送方發出,接收方接受,遊戲就結束了

源IP地址就是發出VRRP消息物理接口的IP地址


以太幀頭封裝格式:

目的MAC= [01-00- 5E -00-00-12」
源MAC =「00-00-5E-00-01-0a」
那這兩個MAC是怎麼來的?

01-00-5E-00-00-12
其中01-00-5E爲組播的OUI代碼( Organizational Unique
Identifier ),剩下的「00-00-12」 是224.0.0.18從右往左數的23位,這
23位爲「0.0.18」, 換算成16進製爲「00-00-12」。

00-00-5E-00-01-0a
這個是根據這個公式來的: 00-00-5E-00-01 -[VRID]
其中VRID爲VRRP組ID,由於VRRP ID = 10,對應的16進制就是
「a」。

這個組播對於二層交換機,和處理廣播包-樣處理,所以這個
VLAN 10裏的所有主機、網關都會收到這些消息,只是小明的主機不感興
趣,故忽略。



04 預防冒充網關的方案

爲了防止第三方參與VRRP消息交互,要配置認證,這樣第三方的信息就會由於沒有認證,將無法和合法的網關進行消息交互,但是這些措施只會保護VRRP消息交互,並無法阻止第三方實施的ARP欺騙。

在這裏插入圖片描述


欺騙路由器不成,我欺騙主機還不行嘛?

比如主機請求網關的MAC,網關的MAC爲: 00-00-5E-00-01-0a,
可是第三方不斷欺騙主機,網關爲: 00-33-33-33-33-33, 那麼本來
發給網關的流量,會發給「00-33-33-33-33-33] 主機。

爲了一勞永逸地克服以上困難,需要在交換機所有接入端口(連接主機)配置ACL,用於過濾掉VRRP消息、過濾掉ARP欺騙消息。這樣主機既無法參與VRRP消息的選舉,也無法欺騙其他主機,自己就是網關。





以上文章,作爲自己的學習筆記,僅供參考

本文完,感謝你的閱讀!!!

最後,如果本文對你有所幫助,希望可以點個贊支持一下。你們的鼓勵將會是博主原創的動力。
在這裏插入圖片描述

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