《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > EPON系統(tǒng)三層路由及接口設(shè)計(jì)
EPON系統(tǒng)三層路由及接口設(shè)計(jì)
來(lái)源:《光通信技術(shù)》2010年12期
郭鸝 吳軍平 李岳政
摘要: 以太網(wǎng)無(wú)源光網(wǎng)絡(luò)(EPON)系統(tǒng)要達(dá)到電信級(jí)技術(shù)標(biāo)準(zhǔn),提高局端設(shè)備光線路終端(OLT)運(yùn)行的
Abstract:
Key words :
0 引言

以太網(wǎng)無(wú)源光網(wǎng)絡(luò)(EPON)系統(tǒng)要達(dá)到電信級(jí)技術(shù)標(biāo)準(zhǔn),提高局端設(shè)備光線路終端(OLT)運(yùn)行的可靠性是其面臨的長(zhǎng)期挑戰(zhàn)。隨著網(wǎng)絡(luò)扁平化概念的提出,具有“大容量、少局所、高交換”性能的匯聚型OLT經(jīng)過(guò)一個(gè)MSTP網(wǎng)絡(luò)就可以接入骨干網(wǎng)[1]。根據(jù)運(yùn)營(yíng)局方的需求,當(dāng)MSTP傳輸網(wǎng)內(nèi)部故障時(shí),不需要維護(hù)人員的直接干預(yù),OLT能參與鏈路倒換并幫助實(shí)現(xiàn)網(wǎng)絡(luò)自愈。理論上接入網(wǎng)OLT、MSTP傳輸網(wǎng)以及骨干網(wǎng)可以采用分段保護(hù)方案,例如OLT上聯(lián)雙歸屬保護(hù)OLT-MSTP的鏈路,MSTP內(nèi)部鏈路的保護(hù)由MSTP本身負(fù)責(zé),MSTP到上游骨干路由器的鏈路保護(hù)可以通過(guò)路由協(xié)議實(shí)現(xiàn)(收斂時(shí)間較長(zhǎng))。但是這種方法增加了網(wǎng)絡(luò)維護(hù)的復(fù)雜度,而且現(xiàn)網(wǎng)業(yè)務(wù)已經(jīng)部分開(kāi)通,修改設(shè)備的配置存在一定風(fēng)險(xiǎn)。如果采用VRRP方案,由于只是MSTP網(wǎng)內(nèi)部的鏈路狀態(tài)發(fā)生改變,當(dāng)VRRP發(fā)生主備切換時(shí),原有主用接口狀態(tài)并沒(méi)有發(fā)生變化,接口還是處于UP狀態(tài),該路由還會(huì)繼續(xù)宣告,從而導(dǎo)致下行流不通?;?a class="innerlink" href="http://theprogrammingfactory.com/tags/OSPF" title="OSPF" target="_blank">OSPF協(xié)議的路由方案由于具有配置簡(jiǎn)單,風(fēng)險(xiǎn)可控,維護(hù)管理方便的特點(diǎn),因而被本設(shè)計(jì)采用。

1 OLT上的三層接口設(shè)計(jì)

1.1 VLAN技術(shù)在OLT上的應(yīng)用

作為交換式以太網(wǎng)設(shè)備的一種,EPON系統(tǒng)OLT對(duì)數(shù)據(jù)鏈路層技術(shù)有著強(qiáng)大的支持能力,例如二層VLAN技術(shù)的廣泛應(yīng)用。VLAN的劃分方法有3種:802.1Q VLAN、基于端口的VLAN和基于MAC地址的VLAN[2]。OLT上的二層業(yè)務(wù)VLAN運(yùn)用802.1Q實(shí)現(xiàn)VLAN標(biāo)記(tag)從而將VLAN延伸到整個(gè)網(wǎng)絡(luò),而802.1Q VLAN的去標(biāo)記(untagged)則使得OLT可以和所有合法的、無(wú)法識(shí)別VLAN標(biāo)記的交換機(jī)一起工作;OLT還有一些內(nèi)部保留VLAN是基于端口劃分,加入同一個(gè)VLAN的端口形成一個(gè)廣播域,可以實(shí)現(xiàn)二層互通,不在同一個(gè)VLAN內(nèi)的端口之間在二層則不能直接通信。傳統(tǒng)OLT上比較特殊的一個(gè)(或多個(gè))VLAN是管理VLAN,這種VLAN可以配置IP地址來(lái)和網(wǎng)管服務(wù)器進(jìn)行通信,方便網(wǎng)絡(luò)管理員對(duì)OLT進(jìn)行配置管理。

在傳統(tǒng)意義的三層設(shè)備中,VLAN是指三層虛接口,它們可以配置IP地址形成路由接口。因此,在OLT上實(shí)現(xiàn)三層路由首先必須創(chuàng)建三層接口。本設(shè)計(jì)采用SUPER-VLAN技術(shù)來(lái)解決二層VLAN和三層接口的矛盾。SUPER-VLAN也叫VLAN聚合,由SUB-VLAN和SUPER-VLAN組成,它的SUB-VLAN是二層實(shí)VLAN,不同VLAN之間在二層不能互通;SUPER-VLAN是三層虛VLAN,多個(gè)SUB-VLAN可以添加到同一個(gè)SUPER-VLAN,然后在SUPER-VLAN上配置IP地址形成三層接口。路由接口是OSPF方案設(shè)計(jì)進(jìn)行的基礎(chǔ)。

1.2 基于SUPER-VLAN技術(shù)的三層接口設(shè)計(jì)

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

OLT上的三層接口由SUPER-VLAN來(lái)提供,SU-PER-VLAN三層轉(zhuǎn)發(fā)的基本原理如下[3]:如圖1所示,PC1和PC3屬于不同的SUPER-VLAN,即不同的網(wǎng)段。垮網(wǎng)段設(shè)備的通信需要通過(guò)三層接口交互。PC1與PC3通信的過(guò)程如下:

① 通過(guò)比較IP地址和掩碼PC1知道PC3與自己不在同一個(gè)網(wǎng)段,PC1向網(wǎng)關(guān)發(fā)送一個(gè)ARP報(bào)文請(qǐng)求網(wǎng)關(guān)的MAC;

② 網(wǎng)關(guān)SUPER-VLAN 100回應(yīng)自己的MAC 00-00-00-00-00-01給PC1;

③ PC1收到應(yīng)答后發(fā)送目的MAC為00-00-00-00-00-01、目的IP為3.3.3.1的報(bào)文;

④ SUPER-VLAN 100收到報(bào)文后發(fā)現(xiàn)目的MAC是自己的MAC,就知道是三層轉(zhuǎn)發(fā),從而去查三層轉(zhuǎn)發(fā)表;

⑤ 查找到下一跳的出口是SUPER-VLAN 200,就把報(bào)文發(fā)給SUPER-VLAN 200;

⑥ SUPER-VLAN 200收到報(bào)文,將報(bào)文轉(zhuǎn)發(fā)給PC3。

現(xiàn)在考慮PC1和PC2的通信流程。比較PC1和PC2的IP地址可以知道二者同屬于一個(gè)子網(wǎng),PC1就會(huì)廣播ARP報(bào)文請(qǐng)求PC2的MAC。而由于PC1和PC2不在同一個(gè)SUB-VLAN中,ARP廣播報(bào)文不能到達(dá)PC2。此時(shí),SUPER-VLAN就需要發(fā)揮它的另一個(gè)重要作用--ARP PROXY。SUPER-VLAN的ARPPROXY功能工作流程如下:

① PC1廣播一個(gè)ARP報(bào)文請(qǐng)求PC2的MAC;

② SUPER-VLAN 100發(fā)現(xiàn)PC2不在SUB-VLAN1內(nèi),就代理接受該ARP報(bào)文;

③ SUPER-VLAN100在SUB-VLAN 2內(nèi)廣播ARP報(bào)文請(qǐng)求PC2的MAC地址;

④ PC2應(yīng)答ARP請(qǐng)求,將自己的MAC 00-00-00-00-00-03發(fā)送給SUPER-VLAN 100;

⑤ SUPER-VLAN 100作為網(wǎng)關(guān)應(yīng)答PC1的ARP請(qǐng)求,將自己的MAC 00-00-00-00-00-01當(dāng)作PC2的MAC發(fā)送給PC1。后續(xù)PC1發(fā)送給PC2的報(bào)文就會(huì)將帶上目的MAC 00-00-00-00-00-01、目的IP 1.1.1.2的報(bào)文發(fā)送給SUPER-VLAN網(wǎng)關(guān),網(wǎng)關(guān)收到該報(bào)文后將自己的MAC替換成PC2的MAC 00-00-00-00-00-03,并把報(bào)文按照學(xué)習(xí)到的路由發(fā)送給PC2。

2 路由軟件設(shè)計(jì)

2.1 路由管理模塊設(shè)計(jì)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

2.2 OSPF路由原理

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

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

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

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

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

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

3 OSPF在OLT上的應(yīng)用

基于上述設(shè)計(jì)開(kāi)發(fā)出OSPF路由軟件后,針對(duì)OLT的OSPF雙上聯(lián)功能設(shè)計(jì)如圖4所示組網(wǎng),三層接口分別作用在圖示SV1、SV2以及SV3,配置過(guò)程如圖5所示。

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

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

在SV2、SV3上使能OSPF協(xié)議,配置SV3的OSPF Cost="10",SV2的OSPF Cost="1000",則路由管理模塊優(yōu)選出Cost=10的路由條目,PC1與PC2和PC3之間的通信優(yōu)先通過(guò)下一跳為SV3(IP為192.168.10.54)的路由來(lái)建立。結(jié)合圖1所示工程應(yīng)用組網(wǎng),OSPF倒換的觸發(fā)條件至少有兩種情況。第一種是協(xié)議超時(shí)。當(dāng)MSTP網(wǎng)絡(luò)內(nèi)部端口DOWN掉或者鏈路遭到破壞,OSPF協(xié)議通過(guò)LSA的超時(shí)機(jī)制探測(cè)到鄰居和路由變化,所有運(yùn)行OSPF的設(shè)備重新刷新自己的數(shù)據(jù)庫(kù)直到網(wǎng)絡(luò)再次收斂。第二種情況是與OLT直接相連的端口down掉,此時(shí)OLT的三層接口通過(guò)SUB-VLAN感知到端口狀態(tài)變化并通知路由管理模塊。路由管理模塊為OSPF協(xié)議模塊提供服務(wù),通知OSPF重新計(jì)算和刷新路由表,觸發(fā)倒換,倒換前后OSPF路由表變化如圖6所示。根據(jù)這兩種情況人為破壞端口狀態(tài)觸發(fā)倒換進(jìn)行各種測(cè)試,測(cè)試結(jié)果均表明OLT設(shè)備能將路由倒換到下一跳為SV2(IP為192.168.2.54)的條目上。兩種條件下的倒換都無(wú)需人工干預(yù),實(shí)現(xiàn)對(duì)MSTP內(nèi)部通信鏈路的保護(hù)。

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

4 結(jié)束語(yǔ)

本設(shè)計(jì)的特點(diǎn)在于將OSPF路由技術(shù)引入傳統(tǒng)意義上的二層設(shè)備OLT,使得OLT在網(wǎng)絡(luò)層不僅能提供對(duì)下游網(wǎng)絡(luò)上行鏈路保護(hù),還能在不改變上游設(shè)備配置的前提下提供對(duì)其下行鏈路的保護(hù)。另外由于VLAN的二層概念在EPON系統(tǒng)中得以廣泛應(yīng)用,三層接口的添加勢(shì)必給系統(tǒng)帶來(lái)較大改動(dòng);本設(shè)計(jì)巧妙利用SUPER-VLAN技術(shù),將OLT上的VLAN虛實(shí)結(jié)合應(yīng)用,既保留原有業(yè)務(wù)VLAN的二層特性,又增加了三層虛接口配置IP的功能,保證了OLT軟件的前向兼容性。目前,本設(shè)計(jì)的軟件實(shí)現(xiàn)已經(jīng)通過(guò)實(shí)驗(yàn)室場(chǎng)景測(cè)試,正在進(jìn)行最后的優(yōu)化和工程測(cè)試。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。