新聞中心

EEPW首頁 > 手機(jī)與無線通信 > 設(shè)計應(yīng)用 > EPON系統(tǒng)三層路由及接口設(shè)計

EPON系統(tǒng)三層路由及接口設(shè)計

作者: 時間:2011-06-12 來源:網(wǎng)絡(luò) 收藏
2軟件

本文引用地址:http://www.butianyuan.cn/article/156198.htm

  2.1管理模塊

  可以分為靜態(tài)路由和動態(tài)路由兩大類。靜態(tài)路由由網(wǎng)絡(luò)管理者直接配置產(chǎn)生,動態(tài)路由由路由協(xié)議學(xué)習(xí)生成。為了實現(xiàn)軟件路由表和交換芯片路由表的同步和路由擇優(yōu)等功能,需要進(jìn)行路由信息收集、過濾、優(yōu)選等操作,因此中需要路由管理模塊維護(hù)不同的路由表項。路由管理模塊(RTM)位于各軟硬件平臺驅(qū)動層之上,三層功能協(xié)議層及管理層之下,是三層功能實現(xiàn)的核心模塊。根據(jù),它在中需要完成的工作如下:

  ① 管理員配置添加三層,包括添加SUPER-VLAN、SUB-VLAN以及IP;

  ② 管理模塊向路由管理模塊通告事件,如接口的UP/DOWN事件;

 ?、?協(xié)議模塊學(xué)習(xí)到動態(tài)路由,進(jìn)行動態(tài)路由的添加/刪除;

 ?、?路由管理模塊處理接口變化事件,并通知各三層功能協(xié)議模塊;同時管理來自協(xié)議模塊的動態(tài)路由的寫入與刪除;

  ⑤ OS IP協(xié)議棧ARP功能提供主機(jī)路由表的維護(hù),并向路由管理模塊提供路由條目中下一跳Gate-way相關(guān)的ARP功能;

 ?、?交換芯片驅(qū)動為路由管理模塊提供硬件FIB表的刪除與寫入功能。

  ⑦ OS IP協(xié)議棧向路由管理模塊提供硬件FIB表的刪除與寫入功能。

  對應(yīng)上述功能,設(shè)計將路由管理模塊劃分成更小的模塊來分別實現(xiàn)。如圖2所示,路由管理模塊(RTM)由路由表控制模塊(RTM_CTRL)、主機(jī)路由控制模塊、管理與配置模塊、動態(tài)路由消息處理模塊、接口消息處理模塊、操作適配層以及驅(qū)動適配層組成。

  路由表(RIB table)由節(jié)點鏈表組成,每個節(jié)點表示到達(dá)一個目的網(wǎng)段的所有路由。如圖3所示,每一個node中都記錄3張RIB表,分別是RIB-active表、RIB-standby表和RIB-pend表,每一個表的子項都是到達(dá)該目的網(wǎng)段的路由信息,即RIB路由條目、RIB里面記錄路由類型(RIP/OSPF/靜態(tài)等)、下一跳網(wǎng)關(guān)、距離、metric和生成時間等。

  

路由管理模塊

  RIB-active中的RIB路由表示當(dāng)前激活的路由,該路由會被寫入到硬件FIB和OS FIB中去,實現(xiàn)業(yè)務(wù)流的三層轉(zhuǎn)發(fā)功能。通常一個目的網(wǎng)段只有一個active路由。

  RIB-standby中的路由條目是可到達(dá)但不是最優(yōu)路徑的路由,當(dāng)active路由不可用時,路由管理模塊會在standby RIB找一個最優(yōu)路由升級為active路由。

  RIB-pend路由表中的路由是由于該路由的下一跳網(wǎng)關(guān)不可達(dá)(查ARP表)而暫時掛起的路由路徑,當(dāng)下一跳網(wǎng)關(guān)可達(dá)后,該路由會升級為standby路由或者是active路由。

  2.2 OSPF路由原理

  OSPF是一種鏈路狀態(tài)路由協(xié)議,被設(shè)計用于單一的自制系統(tǒng)(AS)中。每個OSPF路由器都維持著同樣的數(shù)據(jù)庫以描述AS的拓?fù)浣Y(jié)構(gòu),并以此數(shù)據(jù)庫來創(chuàng)建最短路徑樹和計算路由表。OSPF提供等值多路徑。在發(fā)現(xiàn)拓?fù)涓淖兒?,OSPF僅利用很少的路由流量就可以快速地重新計算出路徑。通過提供區(qū)域路徑,來提供額外的路徑保護(hù)并可以減少協(xié)議所需要的流量。有關(guān)路由表的計算是OSPF的核心內(nèi)容,它是動態(tài)生成路由器內(nèi)核路由表的基礎(chǔ)。這里將復(fù)雜的OSPF計算過程總結(jié)為以下四點:

 ?、?當(dāng)路由器初始化或當(dāng)網(wǎng)絡(luò)結(jié)構(gòu)發(fā)生變化(例如增減路由器,鏈路狀態(tài)發(fā)生變化等)時,路由器會產(chǎn)生鏈路狀態(tài)廣播數(shù)據(jù)包LSA(Link-State Advertisement),該數(shù)據(jù)包里包含路由器上所有相連鏈路,也即為所有端口的狀態(tài)信息。

 ?、?所有路由器會通過一種被稱為刷新(Flooding)的方法來交換鏈路狀態(tài)數(shù)據(jù)。Flooding是指路由器將其LSA數(shù)據(jù)包傳送給所有與其相鄰的OSPF路由器,相鄰路由器根據(jù)其接收到的鏈路狀態(tài)信息更新自己的數(shù)據(jù)庫,并將該鏈路狀態(tài)信息轉(zhuǎn)送給與其相鄰的路由器,直至穩(wěn)定的一個過程。

 ?、?當(dāng)網(wǎng)絡(luò)重新穩(wěn)定下來,即OSPF路由協(xié)議收斂下來時,所有的路由器會根據(jù)其各自的鏈路狀態(tài)信息數(shù)據(jù)庫計算出各自的路由表。該路由表中包含路由器到每一個可到達(dá)目的地的Cost以及到達(dá)該目的地所要轉(zhuǎn)發(fā)的下一個路由器(next-hop)。

 ?、?當(dāng)網(wǎng)絡(luò)狀態(tài)比較穩(wěn)定時,網(wǎng)絡(luò)中傳遞的鏈路狀態(tài)信息是比較少的。這也正是鏈路狀態(tài)路由協(xié)議區(qū)別于距離矢量路由協(xié)議的一大特點。

  通過以上步驟,OSPF動態(tài)監(jiān)視網(wǎng)絡(luò)狀態(tài),一旦發(fā)生變化則迅速擴(kuò)散,達(dá)到對網(wǎng)絡(luò)拓?fù)涞目焖倬酆?,從而確定出新的網(wǎng)絡(luò)路由表。這里的路由表不同于實現(xiàn)路由轉(zhuǎn)發(fā)功能時用到的內(nèi)核路由表,它只是OSPF本身的內(nèi)部路由表。因此,完成上述工作后,往往還要通過路由管理模塊與內(nèi)核路由表交互,實現(xiàn)三層轉(zhuǎn)發(fā)。



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉