您好,登錄后才能下訂單哦!
如何用OSPF搭建與物理網絡通信的橋梁,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
前言
隨著新基建建設速度的不斷加快、建設規模的不斷擴大,云計算中對網絡的要求也越來越高,尤其以大型數據中心網絡上云為代表,構建云數據中心,如何解決云數據中心與物理數據中心聯接的問題也愈發明顯。以往,多數云平臺一般是通過加載“外部網絡”到達物理交換機或防火墻設備上,然后再通過物理交換機或防火墻,與物理數據中心網絡實現路由互通;但這種方式也增加了硬件及運維的成本。在此情況下,OSPF就成了能夠很好解決云平臺內部網絡和物理外部網絡之間連接問題的“橋梁”。
OSPF路由協議簡
在了解OSPF的基本概念之前,我們先大概介紹下路由。
眾所周知,路由分為直連路由、靜態路由和動態路由。其中,動態路由通過動態路由協議進行維護,動態路由協議包括了RIP、OSPF、IS-IS等內容。動態路由協議通過路由信息的交換生成并維護轉發所需的路由表,當網絡拓撲結構改變時動態路由協議可以自動更新路由表,并負責決定數據傳輸的最佳路徑。在此環境下,管理員不需要像對待靜態路由一樣,通過人工方式對路由器上的路由表進行維護,而是在每臺路由器上運行一個路由協議。這個路由協議會根據路由器上接口的配置及所連接的鏈路狀態,生成路由表中的路由表項。
OSPF是一種基于SPF算法的鏈路狀態的內部網關路由協議,全稱叫開放最短路徑優先協議。
每臺運行OSPF的路由器都了解整個網絡的鏈路狀態信息。首先,OSPF的收斂過程由鏈路狀態公告LSA(Link State Advertisement)泛洪開始,收到LSA的路由器根據LSA提供的信息,建立自己的鏈路狀態數據庫LSDB(Link State Database)。之后,通過SPF算法,在LSDB的基礎上自行計算,構建起到每個網絡的最短路徑樹。最后,通過最短路徑樹,得出到達目的網絡的最優路由,并將其加入到IP路由表中。
在此過程中,只有建立起鄰接關系才會計算路由信息。在使用OSPF之后,路由器會周期性的發送Hello報文;當收到鄰居發來的Hello包以后,狀態變更為Init狀態;路由器互相收到了從鄰居發來的Hello報文,就會切換為2-Way狀態;在此狀態下,雙向通信已經建立,但是尚未與鄰居建立起鄰接關系,這是建立鄰接關系以前的最高級狀態。
如果網絡為廣播網絡,這個時候就會選舉DR/BDR(DR:廣播網絡中的指定路由器,所有鄰居只和DR/BDR同步LSA條目,以此減少OSPF流量;BDR:備份指定路由器),與后續所有路由器建立關系,減少鄰居會話;再之后,網絡會經過ExStart、Exchange、Loading、Full狀態建立起鄰接關系,再由DR將計算出的整個網絡的拓撲信息發送給所有路由器;最后,所有路由器以自己為根,根據算法計算出到各網段的最優路徑并寫入路由表。該段所描述過程如下圖所示:
數據鏈路層協議分為多種,Ethernet、PPP、HDLC及幀中繼等,一般常用的為Ethernet。那么當數據鏈路層協議是Ethernet的時候,OSPF支持的默認網絡類型為廣播類型,在此網絡類型下,需要進行DR和BDR的選舉,選舉的目的是減少鄰居會話,產生網絡LSA。一般在鄰居發現完成之后,路由器會根據網段類型、以及參與選舉的每個接口的優先級,進行DR選舉,值越高越優先,默認為1;當優先級相同時,再去比較Router ID,值越大越優先。為了給DR做備份,還要選舉一個BDR。DR、BDR會與網絡上所有的路由器建立鄰接關系。
為了控制LSA 泛洪的范圍,減小LSDB的大小,實現網絡快速地收斂,OSPF協議會按照一定標準,將一個自治系統劃分為不同區域,用于分層管理路由器。
1、Standard:標準區域(Standard Area),支持所有類型的LSA;
2、Stub:末節區域(Stub Area),不支持第4、5類型的LSA;
3、NSSA:Stub衍變的末節區域(Not So Stubby Area),只支持學習第7類型的LSA。
其中,Stub區域中路由器的路由表規模,以及路由信息傳遞的數量,都會大大減少。Stub區域是不能引入外部路由的,這樣可以避免大量外部路由對Stub區域路由器帶寬和存儲資源的消耗。
那么,對于既需要引入外部路由又要避免外部路由帶來資源消耗的場景,Stub區域就不再滿足需求了。因此,Stub區域的變形——NSSA區域(not so stub area)就產生了。
OSPF在ZStack云平臺中的實現
區域ID:在一個自治系統中,每個OSPF區域采用區域ID標識,全局唯一。0號區域(區域ID:0.0.0.0)稱為骨干區域,所有區域必須與骨干區域連通。
區域類型:OSPF區域包括Standard、Stub及NSSA三種類型。同一VPC路由器可以添加到不同OSPF區域;但同一VPC路由器上的網絡(VPC網絡、公有網絡)只能添加到一個OSPF區域。
認證方式:為增強協議包的安全性,OSPF協議支持區域認證加密,OSPF區域共支持三種認證方式。1、None:接收報文時不進行身份認證;2、Plaintext:接收報文時通過報文中攜帶的密碼進行身份認證;3、MD5:接收報文時通過報文中攜帶的Key ID和密碼散列值進行身份認證。
OSPF的應用場景
場景一:用戶存在于云平臺上的兩個不同的虛擬VPC網絡環境。為了兩個VPC網絡環境能夠相互通信,在ZStack環境中,創建同一區域的OSPF區域,將兩個三層網絡隔離的虛擬VPC路由器加入到同一個OSPF區域;路由器間通過OSPF協議建立鄰居關系,相互通信,即可實現兩個不同的虛擬VPC路由器中網絡之間的相互通信。過程如下圖所示:
場景二:用戶存在兩套網絡環境:一套為云平臺上的虛擬VPC網絡環境、一套為物理環境中已配置OSPF協議的傳統網絡環境。為了兩套網絡環境能夠相互通信,在ZStack環境中,創建一個與物理環境中一樣的OSPF區域,將三層網絡隔離的虛擬VPC路由器和傳統路由器加入到同一個OSPF區域;路由器間通過OSPF協議建立鄰居關系,相互通信,就可實現虛擬VPC路由器中的網絡與傳統網絡間相互通信。
不同VPC網絡通過OSPF實現網絡互通實戰
最后,我們通過實戰來演示OSPF的配置過程。我們先看下OSPF的配置流程圖,這里我們拿應用場景一為例。首先,創建兩個VPC網絡,驗證未使用OSPF協議時網絡的連通性;然后,創建OSPF區域,將VPC路由器加入OSPF區域;最后,驗證OSPF協議生效后的網絡連通性。
具體步驟如下:
第一步:創建兩個VPC網絡,分別為VPC網絡-01(192.168.3.0/24)和VPC網絡-01(192.168.4.0/24)。
第二步:分別使用兩個VPC網絡創建兩臺云主機,分別為VPC云主機-01(地址:192.168.3.254)和VPC云主機-02(地址:192.168.4.101)。
第三步:驗證未使用OSPF協議時網絡的連通性,在VPC云主機-01上ping測試VPC云主機-02,可以看到無法正常通信。
第四步:創建OSPF區域并將VPC路由器加入到OSPF區域中,區域ID為0.0.0.0,類型為Standard標準區域,認證方式None。
等待一段時間后,可以看到DR和BDR已經選舉成功,且鄰居狀態為Full狀態,鄰接關系建立成功。
第五步:驗證使用OSPF協議時網絡的連通性,在VPC云主機-01上ping測試VPC云主機-02,可以看到能夠正常通信。
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。