OSPF路由協議概念及工作原理(二)

來源:互聯網
上載者:User
——指定路由器—DR:在一個廣播性的、多接入的網路(例如Ethernet、TokenRing及FDDI環境)中,存在一個指定路由器(Designated Router),指定路由器主要在OSPF協議中完成如下工作:

baidu

——指定路由器產生用於描述所處的網段的鏈路資料包—network link,該資料包裡包含在該網段上所有的路由器,包括指定路由器本身的狀態資訊。

——指定路由器與所有與其處於同一網段上的OSPF路由器建立相鄰關係。由於OSPF路由器之間通過建立相鄰關係及以後的flooding來進行鏈路狀態資料庫是同步的,因此,我們可以說指定路由器處於一個網段的中心地位。 ——需要說明的是,指定路由器DR的定義與前面所定義的幾種路由器是不同的。DR的選擇是通過OSPF的Hello資料包來完成的,在OSPF路由協議初始化的過程中,會通過Hello資料包在一個廣播性網段上選出一個ID最大的路由器作為指定路由器DR,並且選出ID次大的路由器作為備份指定路由器BDR,BDR在DR發生故障後能自動替代DR的所有工作。當一個網段上的DR和BDR選擇產生後,該網段上的其餘所有路由器都只與DR及BDR建立相鄰關係。在這裡,一個路由器的ID是指向該路由器的標識,一般是指該路由器的環回連接埠或是該路由器上的最小的IP地址。

6.2 OSPF鏈路狀態廣播資料包種類

——隨著OSPF路由器種類概念的引入,OSPF路由協議又對其鏈路狀態廣播資料包(LSA)作出了分類。OSPF將鏈路狀態廣播資料包共分成5類,分別為:
類型1:又被稱為路由器鏈路參考資料集(Router Link),所有的OSPF路由器都會產生這種資料包,用於描述路由器上聯結到某一個地區的鏈路或是某一連接埠的狀態資訊。路由器鏈路參考資料集只會在某一個特定的地區內廣播,而不會廣播至其它的地區。

——在類型1的鏈路資料包中,OSPF路由器通過對資料包中某些特定資料位元的設定,告訴其餘的路由器自身是一個區域界限路由器或是一個AS邊界路由器。並且,類型1的鏈路狀態資料包在描述其所聯結的鏈路時,會根據各鏈路所聯結的網路類型對各鏈路打上鏈路標識,Link ID。表一列出了常見的鏈路類型及鏈路標識。

鏈路類型 具體描述 鏈路標識
1 用於描述點對點的網路 相鄰路由器的路由器標識
2 用於描述至一個廣播性網路的鏈路 DR的連接埠地址
3 用於描述至非穿透網路,即stub網路的鏈路 stub網路的網路編號
4 用於描述虛擬連結 相鄰路由器的路由器標識

——類型2:又被稱為網路鏈路參考資料集(Network Link)。網路鏈路參考資料集是由指定路由器產生的,在一個廣播性的、多點接入的網路,例如乙太網路、令牌環網及FDDI網路環境中,這種鏈路狀態資料包用來描述該網段上所聯結的所有路由器的狀態資訊。

——指定路由器DR只有在與至少一個路由器建立相鄰關係後才會產生網路鏈路參考資料集,在該資料包中含有對所有已經與DR建立相鄰關係的路由器的描述,包括DR路由器本身。類型2的鏈路資訊只會在包含DR所處的廣播性網路的地區中廣播,不會廣播至其餘的OSPF路由地區。

—— 類型3和類型4:類型3和類型4的鏈路狀態廣播在OSPF路由協議中又稱為總結鏈路參考資料集(Summary Link),該鏈路狀態廣播是由區域界限路由器或AS邊界路由器產生的。Summary Link描述的是到某一個地區外部的路由資訊,這一個目的地地址必須是同一個AS中。Summary Link也只會在某一個特定的地區內廣播。類型3與類型4兩種總結性鏈路資訊的區別在於,類型3是由區域界限路由器產生的,用於描述到同一個AS中不同區 域之間的鏈路狀態;而類型4是由AS邊界路由器產生的,用於描述不同AS的鏈路狀態資訊。

——值得一提的是,只有類型3的Summary Link才能廣播進一個殘域,因為在一個殘域中不允許存在AS邊界路由器。殘域的區域界限路由器產生一條預設的Summary Link對域內廣播,從而在其餘路由器上產生一條預設路由資訊。採用Summary Link可以減小殘域中路由器的鏈路狀態資料庫的大小,進而減少對路由器資源的利用,提高路由器的運算速度。

—— 類型5:類型5的鏈路狀態廣播稱為AS外部鏈路狀態參考資料集。類型5的鏈路資料包是由AS邊界路由器產生的,用於描述到AS外的目的地的路由資訊,該數 據包會在AS中除殘域以外的所有地區中廣播。一般來說,這種鏈路狀態資訊描述的是到AS外部某一特定網路的路由資訊,在這種情況下,類型5的鏈路狀枋資料 包的鏈路標識採用的是目的地網路的IP地址;在某些情況下,AS邊界路由器可以對AS內部廣播預設路由資訊,在這時,類型5的鏈路廣播資料包的鏈路標識采 用的是預設網路號碼0.0.0.0。

7.OSPF協議工作過程

——OSPF路由協議針對每一個地區分別運行一套獨立的計演算法則,對於ABR來說,由於一個區域界限路由器同時與幾個地區相聯,因此一個區域界限路由器上會同時運行幾套OSPF計算方法,每一個方法針對一個OSPF地區。下面對OSPF協議運算的全過程作一概括性的描述。

7.1 地區內部路由

——當一個OSPF路由器初始化時,首先初始化路由器自身的協議資料庫,然後等待低層次協議(資料連結層)提示連接埠是否處於工作狀態。

—— 如果低層協議得知一個連接埠處於工作狀態時,OSPF會通過其Hello協議資料包與其餘的OSPF路由器建立互動關係。一個OSPF路由器向其相鄰路由器 發送Hello資料包,如果接收到某一路由器返回的Hello資料包,則在這兩個OSPF路由器之間建立起OSPF互動關係,這個過程在OSPF中被稱為 adjacency。在廣播性網路或是在點對點的網路環境中,OSPF協議通過Hello資料包自動地發現其相鄰路由器,在這時,OSPF路由器將 Hello資料包發送至一特殊的多點廣播位址,該多點廣播位址為ALLSPFRouters。在一些非廣播性的網路環境中,我們需要經過某些設定來發現OSPF相鄰路由器。在多接入的環境中,例如乙太網路的環境,Hello協議資料包還可以用於選擇該網路中的指定路由器DR。

—— 一個OSPF路由器會與其新發現的相鄰路由器建立OSPF的adjacency,並且在一對OSPF路由器之間作鏈路狀態資料庫的同步。在多接入的網路環 增中,非DR的OSPF路由器只會與指定路由器DR建立adjacency,並且作資料庫的同步。OSPF協議資料包的接收及發送正是在一對OSPF的 adjacency間進行的。

——OSPF路由器周期性地產生與其相聯的所有鏈路的狀態資訊,有時這些資訊也被稱為鏈路狀態廣播LSA (Link State Advertisement)。當路由器相聯結的鏈路狀態發生改變時,路由器也會產生鏈路狀態廣播資訊,所有這些廣播資料是通過Flood的方式在某一個 OSPF地區內進行的。Flooding演算法是一個非常可靠的計算過程,它保證在同一個OSPF地區內的所有路由器都具有一個相同的OSPF資料庫。根據 這個資料庫,OSPF路由器會將自身作為根,計算出一個最短路徑樹,然後,該路由器會根據最短路徑樹產生自己的OSPF路由表。

7.2 建立OSPF互動關係adjacency

——OSPF路由協議通過建立互動關係來交換路由資訊,但是並不是所有相鄰的路由器會建立OSPF互動關係。下面將OSPF建立adjacency的過程簡要介紹一下。

——OSPF協議是通過Hello協議資料包來建立及維護相鄰關係的,同時也用其來保證相鄰路由器之間的雙向通訊。OSPF路由器會周期性地發送Hello資料包,當這個路由器看到自身被列於其它路由器的Hello資料包裡時,這兩個路由器之間會建立起雙向通訊。在多接入的環境中,Hello資料包還用於發現指定路由器DR,通過DR來控制與哪些路由器建立互動關係。

——兩個OSPF路由器建立雙向通訊這後的第二個步驟是進行資料庫的同步,資料庫同步是所有鏈路狀態路由協議的最大的共性。在OSPF路由協議中,資料庫同步關係僅僅在建立互動關係的路由器之間保持。

—— OSPF的資料庫同步是通過OSPF資料庫描述資料包(Database Description Packets)來進行的。OSPF路由器周期性地產生資料庫描述資料包,該資料包是有序的,即附帶有序號,並將這些資料包對相鄰路由器廣播。相鄰路由 器可以根據資料庫描述資料包的序號與自身資料庫的資料作比較,若發現接收到的資料比資料庫內的資料序號大,則相鄰路由器會針對序號較大的資料發出請 求,並用請求得到的資料來更新其鏈路狀態資料庫。

——我們可以將OSPF相鄰路由器從發送Hello資料包,建立資料庫同步至建立完全的OSPF互動關係的過程分成幾個不同的狀態,分別為:

——Down:這是OSPF建立互動關係的初始化狀態,表示在一定時間之內沒有接收到從某一相鄰路由器發送來的資訊。在非廣播性的網路環境內,OSPF路由器還可能對處於Down狀態的路由器發送Hello資料包。

——Attempt:該狀態僅在NBMA環境,例如框架轉送、X.25或ATM環境中有效,表示在一定時間內沒有接收到某一相鄰路由器的資訊,但是OSPF路由器仍必須通過以一個較低的頻率向該相鄰路由器發送Hello資料包來保持聯絡。

—— Init:在該狀態時,OSPF路由器已經接收到相鄰路由器發送來的Hello資料包,但自身的IP地址並沒有出現在該Hello資料包內,也就是說,雙 方的雙向通訊還沒有建立起來。 ——2-Way:這個狀態可以說是建立互動方式真正的開始步驟。在這個狀態,路由器看到自身已經處於相鄰路由器的Hello資料包內,雙向通訊已經建立。 指定路由器及備份指定路由器的選擇正是在這個狀態完成的。在這個狀態,OSPF路由器還可以根據其中的一個路由器是否指定路由器或是根據鏈路是否點對點或 虛擬連結來決定是否建立互動關係。

——Exstart:這個狀態是建立互動狀態的第一個步驟。在這個狀態,路由器要決定用於資料交換的初始 的資料庫描述資料包的序號,以保證路由器得到的永遠是最新的鏈路狀態資訊。同時,在這個狀態路由器還必須決定路由器之間的主備關係,處於主控地位的路由 器會向處於備份地位的路由器請求鏈路狀態資訊。

——Exchange:在這個狀態,路由器向相鄰的OSPF路由器發送資料庫描述資料包來交換鏈結路狀態資訊,每一個資料包都有一個資料包序號。在這個狀態,路由器還有可能向相鄰路由器發送鏈路狀態請求資料包來請求其相應資料。從這個狀態開始,我們說OSPF處於Flood狀態。

——Loading:在loading狀態,OSPF路由器會就其發現的相鄰路由器的新的鏈路狀態資料及自身的已經到期的資料向相鄰路由器提出請求,並等待相鄰路由器的回答。

——Full:這是兩個OSPF路由器建立互動關係的最後一個狀態,在這時,建立起互動關係的路由器之間已經完成了資料庫同步的工作,它們的鏈路狀態資料庫已經一致。 7.3 域間路由

—— 前面一節描述了OSPF路由協議的單個地區中的計算過程。在單個OSPF地區中,OSPF路由協議不會產生更多的路由資訊。為了與其餘地區中的OSPF路 由器通訊,該地區的邊界路由器會產生一些其它的資訊對域內廣播,這些附加資訊描繪了在同一個AS中的其它地區的路由資訊。具體路由資訊交換過程如下:

—— 在OSPF的定義中,所有的地區都必須與地區0相聯,因此每一個地區都必須有一個區域界限路由器與地區0相聯,這一個區域界限路由器會將其相聯結的地區內 部結構資料通過Summary Link廣播至地區0,也就是廣播至所有其它地區的邊界路由器。在這時,與地區0相聯的邊界路由器上有地區0及其它所有地區的鏈路狀態資訊,通過這些信 息,這些邊界路由器能夠計算出至相應目的地的路由,並將這些路由資訊廣播至與其相聯結的地區,以便讓該地區內部的路由器找到與地區外部通訊的最佳路由。

7.4 AS外部路由

—— 一個自治域AS的邊界路由器會將AS外部路由資訊廣播至整個AS中除了殘域的所有地區。為了使這些AS外部路由資訊生效,AS內部的所有的路由器(除殘域 內的路由器)都必須知道AS邊界路由器的位置,該路由資訊是由非殘域的區域界限路由器對域內廣播的,其鏈路廣播資料包的類型為類型4。

8.OSPF路由協議驗證

——在OSPF路由協議中,所有的路由資訊交換都必須經過驗證。在前文所描述的OSPF協議資料包結構中,包含有一個驗證域及一個64位長度的驗證資料域,用於特定的驗證方式的計算。

—— OSPF資料交換的驗證是基於每一個地區來定義的,也就是說,當在某一個地區的一個路由器上定義了一種驗證方式時,必須在該地區的所有路由器上定義相同的 協議驗證方式。另外一些與驗證相關的參數也可以基於每一個連接埠來定義,例如當採用單一口令驗證時,我們可以對某一地區內部的每一個網路設定不同的口令字。 ——在OSPF路由協議的定義中,初始定義了兩種協議驗證方式,方式0及方式1,分別介紹如下:

——驗證方式0:採用驗證方式0表示OSPF對所交換的路由資訊不驗證。在OSPF的資料包頭內64位的驗證資料位元可以包含任何資料,OSPF接收到路由資料後對資料包頭內的驗證資料位元不作任何處理。

——驗證方式1:驗證方式1為簡單口令字驗證。這種驗證方式是基於一個地區內的每一個網路來定義的,每一個發送至該網路的資料包的包頭內都必須具有相同的64位長度的驗證資料位元,也就是說驗證方式1的口令字長度為64bits,或者為8個字元。

9.小結

——前文介紹了OSPF路由協議的概念及該協議的工作原理。OSPF路由協議定義於RFC1247及RFC1583,該協議提供了一個不同的網路通過同一種TCP/IP協議交換網路資訊的途徑。作為一種鏈路狀態的路由協議,OSPF具備許多優點:快速收斂,支援變長網路屏蔽碼,支援CIDR以及地址summary,具有層次化的網路結構,支援路由資訊驗證等。所有這些特點保證了OSPF路由協議能夠被應用到大型的、複雜的網路環境中。 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.