OSPF的數(shù)據(jù)結(jié)構(gòu)包括接口表、鄰居表、鏈路狀態(tài)數(shù)據(jù)庫(kù)以及路由信息庫(kù)。接口表存儲(chǔ)所有開(kāi)啟了OSPF的接口信息,鄰居表保存建立了鄰居關(guān)系的路由器,鏈路狀態(tài)數(shù)據(jù)庫(kù)保存網(wǎng)絡(luò)拓?fù)湫畔?,路由信息?kù)保存SPF計(jì)算的結(jié)果。在管理和維護(hù)OSPF協(xié)議時(shí),掌握創(chuàng)建的指令是很重要的。
例 如 執(zhí) 行“show ip ospf interface”命令,可以看檢測(cè)那些接口開(kāi)啟了OSPF。執(zhí)行“show ip ospf neighbor”命令,可以檢測(cè)OSPF鄰居關(guān)系。執(zhí)行“show ip ospf database”命 令,檢查L(zhǎng)SDB鏈路狀態(tài)數(shù)據(jù)庫(kù)。執(zhí)行“show ip route ospf”命令,查看路由信息。
在維護(hù)過(guò)程中,必須考慮到各種關(guān)聯(lián)關(guān)系。例如當(dāng)兩臺(tái)路由器想建立鄰居關(guān)系,彼此之間必須開(kāi)啟相應(yīng)的接口。當(dāng)接口開(kāi)啟后,就需要判斷其鄰居關(guān)系是否建立。注意,即使開(kāi)啟了OSPF接口,也不一定表示其一定可以與對(duì)方建立鄰居關(guān)系,這就需要確認(rèn)其核心參數(shù)是否統(tǒng)一,包括區(qū)域ID、Hello時(shí)間間隔、認(rèn)證方式以及Stub標(biāo)記等,這就需要檢測(cè)接口下的一些詳細(xì)參數(shù)。
當(dāng)建立鄰居關(guān)系后,彼此交換的路由就可以顯示在數(shù)據(jù)庫(kù)中。當(dāng)LSDB數(shù)據(jù)庫(kù)形成后,就可以出判斷鄰居關(guān)系之間以及其他的鄰居都可以收到相應(yīng)的信息,這是因?yàn)镺SPF采用的是泛洪的原理。LSDB數(shù)據(jù)庫(kù)產(chǎn)生后,OSPF路由表就不會(huì)存在太大的問(wèn)題了。
當(dāng)然,在維護(hù)OSPF協(xié)議時(shí),會(huì)用到一些Debug指令。通過(guò)監(jiān)控了解OSPF的工作過(guò)程。執(zhí)行執(zhí)行“debug ip ospf packet”命令,監(jiān)控OSPF數(shù)據(jù)包。執(zhí)行“debug ip ospf adj”命令,查看具體的鄰居關(guān)系及鄰居雙方接口信息,并監(jiān)控鄰居關(guān)系的建立過(guò)程。執(zhí)行“debug ip ospf events”命令,監(jiān)控和OSPF相關(guān)的事件。執(zhí)行“show ip ospf statistics”命令,顯示網(wǎng)絡(luò)中OSPF的流量信息等。
這里以簡(jiǎn)單的實(shí)驗(yàn)來(lái)說(shuō)明如何維護(hù)和管理OSPF協(xié)議(如圖1)。R1和 R2位 于 區(qū)域 0,R1的 e0/0接 口和R2的e0/0接口連接,R1的e0/0接口的IP為12.1.1.1,R2的 e0/0接 口IP為 12.1.1.2。R2、R3和R4路由器位于Area234,R2的e0/1接口和R3的e0/0接口連接,R2的e0/1接口IP為 23.1.1.2,R3的 e0/0接 口 IP為 23.1.1.3,R2的e0/2接口和R4的e0/2接口連接,R2的e0/2接口的IP為 24.1.1.2,R4的 e0/2接口的IP為24.1.1.4。R3的e0/1接口和R4的e0/1接口連接,R3的e0/1接口的IP為 34.1.1.3,R4的 e0/1接口的IP為34.1.1.4。R4的e0/0接口和R5的e0/0接口連接,R4和R5處于Area45,R4的e0/0接口的IP為45.1.1.4,R5的e0/0接口的IP為45.1.1.5在R1上存在一個(gè)環(huán)回口Loopback0,其屬于192.168.1.0網(wǎng)段。
圖1 網(wǎng)絡(luò)部署圖
注意,Aera 45是通過(guò)Aera 234連接到區(qū)域0的,這就要求在R2和R4這兩個(gè)ABR之間配置虛電路,不然該區(qū)域就無(wú)法正常運(yùn)轉(zhuǎn)。在R4上執(zhí) 行“router os 1”,“area 234 virtuallink 192.168.2.1”命令,建立穿越區(qū)域234和R2相連的虛電路,192.168.2.1為R2的環(huán)回口0的IP,同時(shí)也是R2的RouterID。在R2 上 執(zhí) 行 router os 1”,“area 234 virtual-link 192.168.4.1”命令,建立穿越區(qū)域234和R4相連的虛電 路,192.168.4.1為 R4的環(huán)回口0的IP,同時(shí)也是R4的RouterID。當(dāng)然,R2和R4的環(huán)回口0必須宣告進(jìn)區(qū)域234。
通過(guò)配置OSPF協(xié)議,可以讓該網(wǎng)段的路由傳送到網(wǎng)絡(luò)中的所有設(shè)備上。在正常情況下,在任何一臺(tái)路由器可以查看鄰居信息,OSPF的接口以及數(shù)據(jù)庫(kù)信息。例如在R5上執(zhí)行“show ip route”命令,來(lái)顯示路由表信息,在其中可以看到192.168.1.0網(wǎng)段是區(qū)域間的路由,即R5可以獲取R1的環(huán)回口0的路由。執(zhí)行“show ip route ospf”命令,則只顯示有關(guān)OSPF的路由信息。執(zhí)行“show ip ospf interface”命令,可以查看R5上開(kāi)啟了OSPF協(xié)議的接口信息,其中包括每一個(gè)開(kāi)啟了OSPF接口的詳細(xì)內(nèi)容,例如接口的IP、區(qū)域號(hào)、進(jìn)程號(hào)、RouteID、網(wǎng)絡(luò)類型以及Hello時(shí)間等。
如果僅僅想顯示接口列表信息,可以執(zhí)行“show ip ospf interface brief”命令,則只顯示接口概要信息,包括對(duì)應(yīng)的接口、PID、區(qū)域號(hào)、接口 IP、網(wǎng)絡(luò)類型、發(fā)現(xiàn)以及建立的鄰居數(shù)量。執(zhí)行“show ip ospf neighbor”命令,顯示OSPF鄰居關(guān)系信息。注意,對(duì)于虛電路來(lái)說(shuō),只有當(dāng)其鄰居建立完成后,該虛電路才真正可以發(fā)揮作用。執(zhí)行“show ip ospf dadabase”命令,可以查看鏈路狀態(tài)數(shù)據(jù)庫(kù)信息,其中包括該路由器所連接的所有區(qū)域的鏈路狀態(tài)。執(zhí)行“show ip ospf database external RID”命令,可以查看LSA5類型的路由信息,其中的“RID”表示具體的RouterID。
LDC1000 的電感檢測(cè)原理是使用電磁感應(yīng)原理[7]。向PCB 線圈或自制線圈添加交流電,線圈周圍產(chǎn)生交變電磁場(chǎng),此時(shí),如果金屬物體進(jìn)入電磁場(chǎng),則在金屬物體表面上產(chǎn)生渦流(感應(yīng)電流)。渦流電流與線圈電流的方向相反,并且由渦電流產(chǎn)生的反向磁場(chǎng)耦合到線圈上以形成變壓器。由于變壓器的互感,可以在初級(jí)線圈中檢測(cè)次級(jí)線圈的參數(shù)(金屬物體的渦流效應(yīng))。檢測(cè)等效并聯(lián)電阻以確定金屬物體是否接近或遠(yuǎn)離線圈,因此當(dāng)金屬物體接近時(shí),傳感器的值改變,判斷這一變化告訴我們小車是否在正確的軌道上。
執(zhí) 行“show ip ospf database absr-summary RID”命令,可以查看LSA4類型的路由信息。例如執(zhí) 行“show ip ospf database summary 192.168.1.0”命令,可以查看目標(biāo)RouterID的LSA3類型的區(qū)域間的路由信息,例如在“LS age”欄中顯示其在本地?cái)?shù)據(jù)庫(kù)中存儲(chǔ)的時(shí)間,在“Advertising Router”欄中該路由由誰(shuí)產(chǎn)生,在“LS Seq Number”欄中顯示該LSA的序列號(hào),在“Length”欄中顯示其長(zhǎng)度(以字節(jié)為單位),在“Network Mask”欄中顯示其子網(wǎng)掩碼,在“Metric”欄中顯示度量值。執(zhí)行“show ip ospf database network”,可以查看 LSA2區(qū)域內(nèi)路由信息。執(zhí)行“show ip ospf database route”命令,可以查看LSA1區(qū)域內(nèi)的路由信息。
在判斷OSPF是否處于正常工作時(shí),首選需要檢測(cè)那些接口開(kāi)啟了OSPF,之后查看其是否正確建立了鄰居關(guān)系,如果沒(méi)有建立鄰居關(guān)系,就需要檢測(cè)目標(biāo)路由器上和鄰居關(guān)系有關(guān)的參數(shù)是否匹配。
此外,還可以查看鏈路狀態(tài)數(shù)據(jù)庫(kù)。來(lái)檢測(cè)是否正常收到相關(guān)路由。如果收到的話,在路由表中就可以查看到相關(guān)的條目。
例如,在R5上出現(xiàn)了無(wú)法收到R1上的環(huán)回口0路由,造成在R5上無(wú)法訪問(wèn)該環(huán)回口,這應(yīng)該是在某些路由器上錯(cuò)誤傳遞相關(guān)路由的緣故。
在R5上執(zhí)行“show ip route”命令,顯示路由表信息,可以看到其可以獲取“45.1.1.0”、“34.1.1.0”、“24.1.1.0”等網(wǎng)段的路由信息,R5可以通過(guò)R4連接到區(qū)域0的虛電路是正常的,可以獲取區(qū)域234的路由信息。據(jù)此可以判斷R5和R4的鄰居關(guān)系是正常的,因?yàn)樘撾娐肥钦5?,所以R2和R4之間是可以傳遞路由的。
這樣,問(wèn)題的焦點(diǎn)就集中到了R2上,在R2上執(zhí)行“show ip route ospf”命令,在返回信息中并沒(méi)有發(fā)現(xiàn)R1的環(huán)回口0路由信息。在R2上執(zhí)行“show ip ospf database”命令,在返回信息中沒(méi)有發(fā)現(xiàn)R1的環(huán)回口0路由。
處理方法是在R2上執(zhí) 行“route ospf 1”、“network 12.1.1.0 0.0.0.0 area 0”、“end”命令,將該接口宣告進(jìn)OSPF。 執(zhí) 行“show ip ospf interface brief”命令,可以看到e0/0接口出現(xiàn)了。執(zhí)行“show ip ospf neighbor”命令,發(fā)現(xiàn)和R1的鄰居關(guān)系已經(jīng)建立。執(zhí)行“show ip ospf database”命令,發(fā)現(xiàn) R1上的環(huán)回口0路由已經(jīng)出現(xiàn)在其中了。執(zhí)行“show ip route ospf”命令,發(fā)現(xiàn)其已經(jīng)學(xué)到了R1上的環(huán)回口路由。
這樣,該路由信息就會(huì)經(jīng)由R4傳遞給R5,在R5上就可以順利訪問(wèn)R1的環(huán)回口了。
除了以上原因該外,還可能有其他的原因造成R5無(wú)法訪問(wèn)R1的環(huán)回口。
例如,當(dāng)在R5上執(zhí)行“show ip route”命令時(shí),只能顯示R5的直連網(wǎng)段信息。對(duì)于R4外圍的路由信息其根本無(wú)法接收到。R5如果想接收到外部的路由信息,必須和R4之間建立鄰居關(guān)系,才可以互相傳遞路由。
如果R2和R4之間沒(méi)有建立虛電路,那么R4就無(wú)法連接到區(qū)域0中,就會(huì)造成區(qū)域45沒(méi)有辦法獲取其他區(qū)域的路由信息。在R5上執(zhí)行“show ip ospf neighbor”命令,檢查發(fā)現(xiàn)其沒(méi)有任何鄰居信息。
造成鄰居關(guān)系無(wú)法建立的原因,只能出現(xiàn)在接口配置上。在R5上執(zhí)行“ping 45.1.1.4”命 令,如果可以正常探測(cè),說(shuō)明鏈路狀態(tài)是沒(méi)有問(wèn)題的。在R5上 執(zhí) 行“show ip ospf interface brief”命令,發(fā)現(xiàn)R5上的e0/0接口是開(kāi)啟的,注意其區(qū)域號(hào)必須和R4相同,接口IP必須與R4處于同一網(wǎng)段。執(zhí)行“show ip ospf interface”命令,在詳細(xì)信息列表中檢測(cè)其他的參數(shù)。在R4上執(zhí)行“show ip ospf interface brief”命令,顯示其開(kāi)啟OSPF的所有接口。在與R5連接的e0/0接口雖然開(kāi)啟了OSPF,但是其區(qū)域號(hào)和R5的e0/0接口是不匹配的。
執(zhí) 行“show ip ospf interface ethernet 0/0”命令,發(fā)現(xiàn)其Hello時(shí)間和R5相應(yīng)接口也不一致。這就造成在兩者之間傳遞Hello包時(shí)無(wú)法達(dá)成共識(shí)。
處理方法是在R4上執(zhí) 行“route ospf 1”,“network 45.1.1.4 0.0.0.0 area 45”,“end” 命令,將區(qū)域號(hào)設(shè)置為匹配的 值。 執(zhí) 行“interface ethernet 0/0”,“no ip ospf hello-interval”,“end”命令,恢復(fù)默認(rèn)的Hello時(shí)間。
這樣,R1和R5之間就建立了鄰居關(guān)系。在R5上執(zhí) 行“show ip route ospf”命令,就可以發(fā)現(xiàn)其已經(jīng)獲取了R1上的環(huán)回口0路由信息。