成版抖音无限次短视频ios版,夜夜香夜夜摸夜夜添视频,精品国品一二三产品区别在线观看,老公当着他最好的兄弟让我

光模塊外殼壓鑄|QSFP外殼壓鑄|SFP精密壓鑄外殼|連接器鋅合金外殼壓鑄
  • 1
  • 2
  • 3
  • 精密壓鑄加工廠
  • 連接器鋅合金外殼壓鑄
  • QSFP外殼壓鑄
新聞中心
聯(lián)系我們

地址:東莞市長(zhǎng)安鎮(zhèn)上沙振華園工業(yè)區(qū)

電話:13356471172

傳真:0769-82926493

QQ:494265162

郵箱:sw@sw2011.com


圖片新聞
OSPF外殼
2021-5-30
來(lái)源:未知
點(diǎn)擊數(shù):  4395        作者:未知
  • OSFP外殼全稱為Open Shortest Path First,也就開放的最短路徑優(yōu)先協(xié)議,因?yàn)镺SPF是由IETF開發(fā)的,它的使用不受任何廠商限制,所有人都可以使用,所以稱為開放的,而最短路徑優(yōu)先(SPF)只是OSPF的核心思想,其使用的算法是Dijkstra算法,最短路徑優(yōu)先并沒(méi)有太多特殊的含義,并沒(méi)有任何一個(gè)路由協(xié)議是最長(zhǎng)路徑優(yōu)先的,所有協(xié)議,都會(huì)選最短的。

    • OSPF的流量使用IP協(xié)議號(hào)89。
    • OSPF工作在單個(gè)AS,是個(gè)******的內(nèi)部網(wǎng)關(guān)路由協(xié)議(Interior Gateway Protocol,即IGP)。
    • OSPF對(duì)網(wǎng)絡(luò)沒(méi)有跳數(shù)限制,支持 Classless Interdomain Routing (CIDR)和Variable-Length Subnet Masks (VLSMs),沒(méi)有自動(dòng)匯總功能,但可以手工在任意比特位匯總,并且手工匯總沒(méi)有任何條件限制,可以匯總到任意掩碼長(zhǎng)度。
    • OSPF支持認(rèn)證,并且支持明文和MD5認(rèn)證;OSPF不可以通過(guò)Offset list來(lái)改變路由的metric。
    • OSPF并不會(huì)周期性更新路由表,而采用增量更新,即只在路由有變化時(shí),才會(huì)發(fā)送更新,并且只發(fā)送有變化的路由信息;事實(shí)上,OSPF是間接設(shè)置了周期性更新路由的規(guī)則,因?yàn)樗新酚啥际怯兴⑿聲r(shí)間的,當(dāng)達(dá)到刷新時(shí)間閥值時(shí),該路由就會(huì)產(chǎn)生一次更新,默認(rèn)時(shí)間為1800秒,即30分鐘,所以O(shè)SPF路由的定期更新周期默認(rèn)為30分鐘。
    • OSPF外殼所有路由的管理距離(Ddministrative Distance)為110,OSPF只支持等價(jià)負(fù)載均衡。
    • 距離矢量路由協(xié)議的根本特征就是自己的 路由表是完全從其它路由器學(xué)來(lái)的,并且將收到的路由條目一絲不變地放進(jìn)自己的路由表,運(yùn)行距離矢量路由協(xié)議的路由器之間交換的是路由表,距離矢量路由協(xié)議 是沒(méi)有大腦的,路由表從來(lái)不會(huì)自己計(jì)算,總是把別人的路由表拿來(lái)就用;而OSPF完全拋棄了這種不可靠的算法,OSPF是典型的鏈路狀態(tài)路由協(xié)議,路由器之間交換的并不是路由表,而是鏈路狀態(tài),OSPF通過(guò)獲得網(wǎng)絡(luò)中所有的鏈路狀態(tài)信息,從而計(jì)算出到達(dá)每個(gè)目標(biāo)精確的網(wǎng)絡(luò)路徑。

    術(shù)語(yǔ)

    Router-id

    必須給每一個(gè)OSPF路由器定義一個(gè)身份,就相當(dāng)于人的名字,這就是Router-ID,并且Router-ID在網(wǎng)絡(luò)中******不可以有重名,否則路由器收到的鏈路狀態(tài),就無(wú)法確定發(fā)起者的身份,也就無(wú)法通過(guò)鏈路狀態(tài)信息確定網(wǎng)絡(luò)位置,OSPF路由器發(fā)出的鏈路狀態(tài)都會(huì)寫上自己的Router-ID,可以理解為該鏈路狀態(tài)的簽名,不同路由器產(chǎn)生的鏈路狀態(tài),簽名絕不會(huì)相同。
    每一臺(tái)OSPF路由器只有一個(gè)Router-ID,Router-ID使用IP地址的形式來(lái)表示,確定Router-ID的方法為:
    1 .手工指定Router-ID。
    2 .路由器上活動(dòng)Loopback接口中IP地址******的,也就是數(shù)字******的,如C類地址優(yōu)先于B類地址,一個(gè)非活動(dòng)的接口的IP地址是不能被選為Router-ID的。
    3 .如果沒(méi)有活動(dòng)的Loopback接口,則選擇活動(dòng)物理接口IP地址******的。

    如果一臺(tái)路由器收到一條鏈路狀態(tài),無(wú)法到達(dá)該Router-ID的位置,就無(wú)法到達(dá)鏈路狀態(tài)中的目標(biāo)網(wǎng)絡(luò)。
    Router-ID只在OSPF啟動(dòng)時(shí)計(jì)算,或者重置OSPF進(jìn)程后計(jì)算。

    Cost

    OSPF使用接口的帶寬來(lái)計(jì)算Metric,例如一個(gè)10 Mbit/s的接口,計(jì)算Coast的方法為:
    將10 Mbit換算成bit,為10 000 000 bit,然后用10000 0000除以該帶寬,結(jié)果為 10000 0000/10 000 000 bit = 10,所以一個(gè)10 Mbit/s的接口,OSPF認(rèn)為該接口的Metric值為10,需要注意的是,計(jì)算中,帶寬的單位取bit/s,而不是Kbit/s,例如一個(gè)100 Mbit/s的接口,Cost 值為 10000 0000 /100 000 000=1,因?yàn)镃ost值必須為整數(shù),所以即使是一個(gè)1000 Mbit/s(1GBbit/s)的接口,Cost值和100Mbit/s一樣,為1。如果路由器要經(jīng)過(guò)兩個(gè)接口才能到達(dá)目標(biāo)網(wǎng)絡(luò),那么很顯然,兩個(gè)接口的Cost值要累加起來(lái),才算是到達(dá)目標(biāo)網(wǎng)絡(luò)的Metric值,所以O(shè)SPF路由器計(jì)算到達(dá)目標(biāo)網(wǎng)絡(luò)的Metric值,必須將沿途中所有接口的Cost值累加起來(lái),在累加時(shí),同EIGRP一樣,只計(jì)算出接口,不計(jì)算進(jìn)接口。

    • OSPF會(huì)自動(dòng)計(jì)算接口上的Cost值,但也可以通過(guò)手工指定該接口的Cost值,手工指定的優(yōu)先于自動(dòng)計(jì)算的值。
    • OSPF計(jì)算的Cost,同樣是和接口帶寬成反比,帶寬越高,Cost值越小。到達(dá)目標(biāo)相同Cost值的路徑,可以執(zhí)行負(fù)載均衡,最多6條鏈路同時(shí)執(zhí)行負(fù)載均衡。

    鏈路(Link)

    就是路由器上的接口,在這里,應(yīng)該指運(yùn)行在OSPF進(jìn)程下的接口。

    鏈路狀態(tài)(Link-State)

    鏈路狀態(tài)(LSA)就是OSPF接口上的描述信息,例如接口上的IP地址,子網(wǎng)掩碼,網(wǎng)絡(luò)類型,Cost值等等,OSPF路由器之間交換的并不是路由表,而是鏈路狀態(tài)(LSA),OSPF通過(guò)獲得網(wǎng)絡(luò)中所有的鏈路狀態(tài)信息,從而計(jì)算出到達(dá)每個(gè)目標(biāo)精確的網(wǎng)絡(luò)路徑。OSPF路由器會(huì)將自己所有的鏈路狀態(tài)毫不保留地全部發(fā)給鄰居,鄰居將收到的鏈路狀態(tài)全部放入鏈路狀態(tài)數(shù)據(jù)庫(kù)(Link-State Database),鄰居再發(fā)給自己的所有鄰居,并且在傳遞過(guò)程種,******不會(huì)有任何更改。通過(guò)這樣的過(guò)程,最終,網(wǎng)絡(luò)中所有的OSPF路 由器都擁有網(wǎng)絡(luò)中所有的鏈路狀態(tài),并且所有路由器的鏈路狀態(tài)應(yīng)該能描繪出相同的網(wǎng)絡(luò)拓樸。

    OSPF區(qū)域

    因?yàn)镺SPF路由器之間會(huì)將所有的鏈路狀態(tài)(LSA)相互交換,毫不保留,當(dāng)網(wǎng)絡(luò)規(guī)模達(dá)到一定程度時(shí),LSA將形成一個(gè)龐大的數(shù)據(jù)庫(kù),勢(shì)必會(huì)給OSPF計(jì)算帶來(lái)巨大的壓力;為了能夠降低OSPF計(jì)算的復(fù)雜程度,緩存計(jì)算壓力,OSPF采用分區(qū)域計(jì)算,將網(wǎng)絡(luò)中所有OSPF路由器劃分成不同的區(qū)域,每個(gè)區(qū)域負(fù)責(zé)各自區(qū)域精確的LSA傳遞與路由計(jì)算,然后再將一個(gè)區(qū)域的LSA簡(jiǎn)化和匯總之后轉(zhuǎn)發(fā)到另外一個(gè)區(qū)域,這樣一來(lái),在區(qū)域內(nèi)部,擁有網(wǎng)絡(luò)精確的LSA,而在不同區(qū)域,則傳遞簡(jiǎn)化的LSA。區(qū)域的劃分為了能夠盡量設(shè)計(jì)成無(wú)環(huán)網(wǎng)絡(luò),所以采用了Hub-Spoke的拓樸架構(gòu),也就是采用核心與分支的拓樸
    ospf_area
    ospf_area
    區(qū)域的命名可以采用整數(shù)數(shù)字,如1、2、3、4,也可以采用IP地址的形式,0.0.0.1、0.0.0.2,因?yàn)椴捎昧薍ub-Spoke的架構(gòu),所以必須定義出一個(gè)核心,然后其它部分都與核心相連,OSPF的區(qū)域0就是所有區(qū)域的核心,稱為BackBone 區(qū)域(骨干區(qū)域),而其它區(qū)域稱為Normal 區(qū)域(常規(guī)區(qū)域),在理論上,所有的常規(guī)區(qū)域應(yīng)該直接和骨干區(qū)域相連,常規(guī)區(qū)域只能和骨干區(qū)域交換LSA,常規(guī)區(qū)域與常規(guī)區(qū)域之間即使直連也無(wú)法互換LSA,如上圖中Area 1、Area 2、Area 3、Area 4只能和Area 0互換LSA,然后再由Area 0轉(zhuǎn)發(fā),Area 0就像是一個(gè)中轉(zhuǎn)站,兩個(gè)常規(guī)區(qū)域需要交換LSA,只能先交給Area 0,再由Area 0轉(zhuǎn)發(fā),而常規(guī)區(qū)域之間無(wú)法互相轉(zhuǎn)發(fā)。
    OSPF區(qū)域是基于路由器的接口劃分的,而不是基于整臺(tái)路由器劃分的,一臺(tái)路由器可以屬于單個(gè)區(qū)域,也可以屬于多個(gè)區(qū)域.
    ospf_area
    ospf_area
    如果一臺(tái)OSPF路由器屬于單個(gè)區(qū)域,即該路由器所有接口都屬于同一個(gè)區(qū)域,那么這臺(tái)路由器稱為Internal Router(IR),如上圖中的R2,R3和R4;如果一臺(tái)OSPF路由器屬于多個(gè)區(qū)域,即該路由器的接口不都屬于一個(gè)區(qū)域,那么這臺(tái)路由器稱為Area Border Router (ABR),如上圖中的R1,ABR可以將一個(gè)區(qū)域的LSA匯總后轉(zhuǎn)發(fā)至另一個(gè)區(qū)域;如果一臺(tái)OSPF路由器將外部路由協(xié)議重分布進(jìn)OSPF,那么這臺(tái)路由器稱為Autonomous System Boundary Router (ASBR),如上圖中,R5將EIGRP重分進(jìn)OSPF,那么R5就是ASBR,但是如果只是將OSPF重分布進(jìn)其它路由協(xié)議,則不能稱為ASBR。

    可以配置任何OSPF路由器成為ABR或ASBR。

    由于OSPF有著多種區(qū)域,所以O(shè)SPF的路由在路由表中也以多種形式存在,共分以下幾種:

    • 如果是同區(qū)域的路由,叫做Intra-Area Route,在路由表中使用O來(lái)表示;
    • 如果是不同區(qū)域的路由,叫做Inter-Area Route或Summary Route,在路由表中使用O IA來(lái)表示;
    • 如果并非OSPF的路由,或者是不同OSPF進(jìn)程的路由,只是被重分布到OSPF的,叫做External Route,在路由表中使用O E2或OE 1來(lái)表示。

    當(dāng)存在多種路由可以到達(dá)同一目的地時(shí),OSPF將根據(jù)先后順序來(lái)選擇要使用的路由,所有路由的先后順序?yàn)椋?br style="box-sizing:border-box;outline:0px;word-wrap:break-word;" /> Intra-Area — Inter-Area — External E1 — External E2,即 O — O IA — O E1 — O E2。

    一臺(tái)路由器可以運(yùn)行多個(gè)OSPF進(jìn)程,不同進(jìn)程的OSPF,可視為沒(méi)有任何關(guān)系,如需要獲得相互的路由信息,需要重分布。
    每個(gè)OSPF進(jìn)程可以有多個(gè)區(qū)域,而路由器的鏈路狀態(tài)數(shù)據(jù)庫(kù)是分進(jìn)程和分區(qū)域存放的。

    鄰居(Neighbor)

    OSPF只有鄰居之間才會(huì)交換LSA,路由器會(huì)將鏈路狀態(tài)數(shù)據(jù)庫(kù)中所有的內(nèi)容毫不保留地發(fā)給所有鄰居,要想在OSPF路由器之間交換LSA,必須先形成OSPF鄰居,OSPF鄰居靠發(fā)送Hello包來(lái)建立和維護(hù),Hello包會(huì)在啟動(dòng)了OSPF的接口上周期性發(fā)送,在不同的網(wǎng)絡(luò)中,發(fā)送Hello包的間隔也會(huì)不同,當(dāng)超過(guò)4倍的Hello時(shí)間,也就是Dead時(shí)間過(guò)后還沒(méi)有收到鄰居的Hello包,鄰居關(guān)系將被斷開。
    兩臺(tái)OSPF路由器必須滿足4個(gè)條件,才能形成OSPF鄰居,4個(gè)必備條件如下:
    1.Area-id(區(qū)域號(hào)碼)
    即路由器之間必須配置在相同的OSPF區(qū)域,否則無(wú)法形成鄰居。
    2.Hello and Dead Interval(Hello時(shí)間與Dead時(shí)間)
    即路由器之間的Hello時(shí)間和Dead時(shí)間必須一致,否則無(wú)法形成鄰居。
    3.Authentication(認(rèn)證)
    路由器之間必須配置相同的認(rèn)證密碼,如果密碼不同,則無(wú)法形成鄰居。
    4.Stub Area Flag(末節(jié)標(biāo)簽)
    路由器之間的末節(jié)標(biāo)簽必須一致,即處在相同的末節(jié)區(qū)域內(nèi),否則無(wú)法形成鄰居。

    OSPF只能使用接口的Primary地址建立鄰居,不能使用Secondary建立鄰居。
    路由器雙方接口要么都為手工配置地址(Numbered),要么都為借用地址(Unnumbered),否則無(wú)法建立鄰居。

    鄰接(Adjacency)

    兩臺(tái)OSPF路由器能夠形成鄰居,但并不一定能相互交換LSA,只要能交換LSA,關(guān)系則稱為鄰接(Adjacency)。鄰居之間只交換Hello包,而鄰接(Adjacency)之間不僅交換Hello包,還要交換LSA。

    DR/BDR

    當(dāng)多臺(tái)OSPF路由器連到同一個(gè)多路訪問(wèn)網(wǎng)段時(shí),如果每?jī)膳_(tái)路由器之間都相互交換LSA,那么該網(wǎng)段將充滿著眾多LSA條目,為了能夠盡量減少LSA的傳播數(shù)量,通過(guò)在多路訪問(wèn)網(wǎng)段中選擇出一個(gè)核心路由器,稱為DR(Designated Router),網(wǎng)段中所有的OSPF路由器都和DR互換LSA,這樣一來(lái),DR就會(huì)擁有所有的LSA,并且將所有的LSA轉(zhuǎn)發(fā)給每一臺(tái)路由器;DR就像是該網(wǎng)段的LSA中轉(zhuǎn)站,所有的路由器都與該中轉(zhuǎn)站互換LSA,如果DR失效后,那么就會(huì)造成LSA的丟失與不完整,所以在多路訪問(wèn)網(wǎng)絡(luò)中除了選舉出DR之外,還會(huì)選舉出一臺(tái)路由器作為DR的備份,稱為BDR(Backup Designated Router),BDR在DR不可用時(shí),代替DR的工作,而既不是DR,也不是BDR的路由器稱為Drother,事實(shí)上,Dother除了和DR互換LSA之外,同時(shí)還會(huì)和BDR互換LSA
    ospf_dr_drother
    ospf_dr_drother.png
    上圖中R1被選為DR,R2被選為BDR,而R3和R4為Drother,R3同時(shí)和R1與R2互換LSA,R4也同時(shí)和R1與R2互換LSA,但R3與R4卻不能互換LSA。
    其實(shí)不難看出,DR與BDR并沒(méi)有任何本質(zhì)與功能的區(qū)別,只有在多路訪問(wèn)的網(wǎng)絡(luò)環(huán)境,才需要DR和BDR,DR與BDR的選舉是在一個(gè)二層網(wǎng)段內(nèi)選舉的,即在多個(gè)路由器互連的接口范圍內(nèi),與OSPF區(qū)域沒(méi)有任何關(guān)系,一個(gè)區(qū)域可能有多個(gè)多路訪問(wèn)網(wǎng)段,那么就會(huì)存在多個(gè)DR和BDR,但一個(gè)多路訪問(wèn)網(wǎng)段,只能有一個(gè)DR和BDR;選舉DR和BDR的規(guī)則為:
    比較接口優(yōu)先級(jí)
    選舉優(yōu)先級(jí)******的成為DR,優(yōu)先級(jí)數(shù)字越大,表示優(yōu)先級(jí)越高,被選為DR的幾率就越大,次優(yōu)先級(jí)的為BDR,優(yōu)先級(jí)范圍是0-255,默認(rèn)為1,優(yōu)先級(jí)為0表示沒(méi)有資格選舉DR和BDR。
    Route-Id大小
    如果在優(yōu)先級(jí)都相同的情況下,Route-Id ******的成為DR,其次是BDR,數(shù)字越大,被選為DR的幾率就越大。

    因?yàn)樗新酚善鞫寄芘cDR和BDR互換LSA,所以所有路由器都與DR和BDR是鄰接(Adjacency)關(guān)系,而Drother與Drother之間無(wú)法互換LSA,所以Drother與Drother之間只是鄰居關(guān)系。

    在一個(gè)多路訪問(wèn)網(wǎng)絡(luò)中,選舉DR和BDR是有時(shí)間限制的,該時(shí)間為Wait時(shí)間,默認(rèn)為4倍的Hello時(shí)間,即與Dead時(shí)間相同,如果OSPF路由器在超過(guò)Wait時(shí)間后也沒(méi)有其它路由器與自己競(jìng)爭(zhēng)DR與BDR的選舉,那么就選自己為DR;當(dāng)一個(gè)多路訪問(wèn)網(wǎng)絡(luò)中選舉出DR與BDR之后,在DR與BDR沒(méi)有失效的情況下,不會(huì)進(jìn)行重新選舉,也就是在選舉出DR與BDR之后,即使有更高優(yōu)先級(jí)的路由器加入網(wǎng)絡(luò),也不會(huì)影響DR與BDR的角色,在越出選舉時(shí)間(Wait時(shí)間)后,只有DR與BDR失效后,才會(huì)重新選舉。DR失效后,會(huì)同時(shí)重新選舉DR與BDR,而在BDR失效后,只會(huì)重新選舉BDR。
    DR和BDR與Drother的數(shù)據(jù)包處理會(huì)有所不同
    所有OSPF路由器,包括DR與BDR,都能夠接收和傳遞目標(biāo)地址為224.0.0.5的數(shù)據(jù)包。
    只有DR和BDR才能接收和傳遞目標(biāo)地址為224.0.0.6的數(shù)據(jù)包。
    由此可見,Drother路由器將數(shù)據(jù)包發(fā)向目標(biāo)地址224.0.0.6,只能被DR和BDR接收,其它Drother不能接收;而DR和BDR將數(shù)據(jù)包發(fā)向目標(biāo)地址224.0.0.5,可以被所有路由器接收。

    OSPF數(shù)據(jù)包交換過(guò)程

    從OSPF建立鄰居,到LSA的互換,到路由表的計(jì)算,需要經(jīng)過(guò)一系列的數(shù)據(jù)包交換過(guò)程,過(guò)程如下:
    **
    Hello

    Database Description Packets (DBD)

    Link-state Request (LSR)

    Link-state update(LSU)

    LSDB
    **
    具體情況如下:

    Hello

    Hello包是用來(lái)建立和維護(hù)OSPF鄰居的,要交換LSA,必須先通過(guò)Hello包建立OSPF鄰居。

    Database Description Packets (DBD)

    鄰居建立之后,并不會(huì)立刻就將自己鏈路狀態(tài)數(shù)據(jù)庫(kù)中所有的LSA全部發(fā)給鄰居,而是將LSA的基本描述信息發(fā)給鄰居,這就是Database Description Packets (DBD),是LSA的目錄信息,相當(dāng)于書的目錄,鄰居在看完DBD之后,就能知道哪些LSA是需要鄰居發(fā)送給自己的。

    Link-state Request (LSR)

    鄰居在看完發(fā)來(lái)的LSA描述信息(DBD)之后,就知道哪些LSA是需要鄰居發(fā)送給自己的,自己就會(huì)向鄰居發(fā)送LSA請(qǐng)求(LSR),告訴鄰居自己需要哪些LSA。

    Link-state update(LSU)

    當(dāng)鄰居收到其它路由器發(fā)來(lái)的LSA請(qǐng)求(LSR)之后,就知道對(duì)方需要哪些LSA,然后根據(jù)LSR,將完整的LSA內(nèi)容全部發(fā)給鄰居,以供計(jì)算路由表。

    LSDB

    就是已經(jīng)收到了所有需要鄰居發(fā)給自己的LSA,這時(shí)的鏈路狀態(tài)數(shù)據(jù)庫(kù)已經(jīng)達(dá)到收斂狀態(tài)。

    OSPF啟動(dòng)過(guò)程

    路由器從啟動(dòng)OSPF進(jìn)程,到根據(jù)鏈路狀態(tài)數(shù)據(jù)庫(kù)計(jì)算出路由表,同樣需要經(jīng)歷一系列的啟動(dòng)過(guò)程,總共有8種可能的啟動(dòng)過(guò)程,但并不是一定會(huì)經(jīng)歷這8個(gè)過(guò)程,具體過(guò)程如下:
    Down → Attempt → Init → Two-way → Exstart → Exchange → Loading → Full

    每個(gè)過(guò)程詳細(xì)情況如下:

    Down

    路由器剛剛啟動(dòng)OSPF進(jìn)程,還沒(méi)有從任何路由器收到任何數(shù)據(jù)包,Hello包也沒(méi)有收到,在此進(jìn)程,可以向外發(fā)送Hello包,以試圖發(fā)現(xiàn)鄰居。

    Attempt

    因?yàn)镺SPF使用組播發(fā)送數(shù)據(jù)包,如使用組播發(fā)送Hello包,如果Hello包不能發(fā)出去被其它路由器收到,就不能和其它路由器建立OSPF鄰居;在一些組播不能發(fā)送的網(wǎng)絡(luò)中,例如幀中繼這樣的非廣播網(wǎng)絡(luò)環(huán)境,組播不能夠傳遞,在這種情況下,就需要指定OSPF使用單播向鄰居發(fā)送Hello包,以此試圖和指定的鄰居建立OSPF鄰居關(guān)系,在此狀態(tài)下,OSPF稱為Attempt狀態(tài)。

    Init

    只是OSPF路由器一方收到了另一方的Hello,但并沒(méi)有雙方都交換Hello,也就是對(duì)方的Hello中還沒(méi)有將自己列為鄰居。

    Two-way

    雙方都已經(jīng)交換了Hello信息,并且從Hello中看到對(duì)方已經(jīng)將自己列為鄰居,此狀態(tài),就表示OSPF鄰居關(guān)系已經(jīng)建立,并且如果是需要選舉DR和BDR的話,也已經(jīng)選舉出來(lái),但OSPF鄰居之間并不一定就會(huì)交換LSA,如果不需要交換LSA,則永遠(yuǎn)停留在此狀態(tài),如果需要形成鄰接并互相交換LSA,則狀態(tài)繼續(xù)往下進(jìn)行。(比如Drother與Drother之間將永遠(yuǎn)停留在Two-way狀態(tài),因?yàn)镈rother與Drother之間不需要交換LSA。)

    Exstart

    因?yàn)樵贠SPF鄰居之間交換完整的LSA之前,會(huì)先發(fā)送Database Description Packets (DBD),Link-state Request (LSR)等數(shù)據(jù)包,鄰居之間是誰(shuí)先發(fā),誰(shuí)后發(fā),需要確定順序,在Exstart狀態(tài),就是確定鄰居之間的主從關(guān)系(Master—Slave關(guān)系),Router-ID數(shù)字大的為主路由器,另一端為從路由器,由主路由器先向從路由器發(fā)送信息。在選舉DR與BDR的網(wǎng)絡(luò)環(huán)境中,并不一定DR就是主路由器,BDR就是從路由器,因?yàn)镈R和BDR可以通過(guò)調(diào)整接口優(yōu)先級(jí)來(lái)控制,所以DR也許是因?yàn)閮?yōu)先級(jí)比BDR高,而Router-ID并不比BDR高。

    在任何網(wǎng)絡(luò)環(huán)境下,OSPF在交換LSA之前,都需要確定主從關(guān)系。

    Exchange

    就是交換Database Description Packets (DBD)的過(guò)程,DBD只是LSA的簡(jiǎn)單描述,只包含LSA的一些頭部信息,收到DBD的路由器會(huì)和自己的鏈路狀態(tài)數(shù)據(jù)庫(kù)作對(duì)比,確定需要哪些LSA的完整信息,就會(huì)發(fā)送LSR請(qǐng)求給鄰居。

    Loading

    鄰居根據(jù)收到的LSR(Link-State Request),向?qū)Ψ交貜?fù)Link-state update(LSU)。

    Full

    等到OSPF都收到了鄰居回復(fù)的所有Link-state update(LSU),那么此時(shí)的數(shù)據(jù)庫(kù)狀態(tài)就變成了收斂狀態(tài),此狀態(tài)就是Full狀態(tài),但此時(shí)只是數(shù)據(jù)庫(kù)已經(jīng)同步,但路由表卻還在計(jì)算當(dāng)中。

    除了Two-way和Full這兩個(gè)狀態(tài),鄰居停留在任何狀態(tài),都是不正常。

    OSPF網(wǎng)絡(luò)類型(Network Type)

    OSPF是一個(gè)在各方面都考慮比較周全的路由協(xié)議,也會(huì)因此將該協(xié)議變得更為復(fù)雜化,OSPF并不像RIP與EIGRP那樣,RIP與EIGRP在運(yùn)行時(shí),并不考慮OSI模型在二層所定義的內(nèi)容,即并不關(guān)心二層的鏈路介質(zhì)類型,而OSPF在運(yùn)行時(shí),必須考慮鏈路層的類型,稱為OSPF網(wǎng)絡(luò)類型(Network Type),對(duì)于不同二層介質(zhì)類型,OSPF將有不同的操作和運(yùn)行過(guò)程,網(wǎng)絡(luò)類型,可分為如下幾種:

    • 點(diǎn)到點(diǎn)(Point-To-Point)
    • 點(diǎn)到多點(diǎn)(Point-To-Multipoint )
    • 廣播(Broadcast )
    • 非廣播(Non-Broadcast )
    • 點(diǎn)到多點(diǎn)非廣播(Point-To-Multipoint Non-Broadcast)

    對(duì)于不同的網(wǎng)絡(luò)類型,將會(huì)影響到OSPF的Hello時(shí)間與Dead時(shí)間,關(guān)系到DR與BDR的選舉與否,影響到OSPF鄰居是自動(dòng)建立還是手工建立,總結(jié)如下:

    網(wǎng)絡(luò)類型 Hello時(shí)間 選舉DR/BDR 鄰居建立方式
    點(diǎn)到點(diǎn)(p2p) 10s 自動(dòng)
    點(diǎn)到多點(diǎn)(p2mp) 30s 自動(dòng)
    廣播(Boradcast) 10s 自動(dòng)
    非廣播(Non-B) 30s 手工
    點(diǎn)到多點(diǎn)非廣播(p2mp-Non-B) 30s 手工

    OSPF網(wǎng)絡(luò)類型(Network Type)是根據(jù)二層鏈路層的介質(zhì)決定的,但也可以手工定義網(wǎng)絡(luò)類型,因此可以在各類型之間手工切換。
    OSPF鄰居的成功建立,并不要求雙方網(wǎng)絡(luò)類型一致,但雙方網(wǎng)絡(luò)類型不一致,將可能導(dǎo)致鏈路狀態(tài)數(shù)據(jù)庫(kù)中的條目無(wú)法進(jìn)入路由表。

    OSPF鏈路類型(Link Type)

    OSPF確實(shí)因?yàn)榭紤]問(wèn)題的全面,而導(dǎo)致路由協(xié)議的復(fù)雜,OSPF不僅因?yàn)椴煌亩渔溌穼咏橘|(zhì)定義了不同的OSPF網(wǎng)絡(luò)類型(Network Type),還因?yàn)殒溌飞系泥従?,而定義了OSPF鏈路類型(Link Type) 。

    OSPF網(wǎng)絡(luò)類型(Network Type)是完全根據(jù)二層鏈路層的介質(zhì)決定的,而OSPF鏈路類型(Link Type)不僅受二層鏈路層介質(zhì)的影響,還受到鏈路中OSPF鄰居的影響,同時(shí)還影響到LSA,因此變得復(fù)雜。

    OSPF鏈路類型(Link Type)不會(huì)影響人們操作OSPF,所以可以選擇不深入理解OSPF鏈路類型(Link Type),但OSPF網(wǎng)絡(luò)類型(Network Type)卻影響到OSPF的操作,OSPF網(wǎng)絡(luò)類型(Network Type)必須理解和牢記。
    OSPF鏈路類型(Link Type)與OSPF網(wǎng)絡(luò)類型(Network Type)沒(méi)有對(duì)應(yīng)關(guān)系,沒(méi)有因果關(guān)系.

    OSPF鏈路類型(Link Type)分為以下幾種:

    Stub Network Link

    在一個(gè)網(wǎng)段中只有一臺(tái)OSPF路由器的情況下,該網(wǎng)段被OSPF鏈路類型定義為Stub Network Link;因?yàn)橐粋€(gè)網(wǎng)段中只有一臺(tái)OSPF路由器,所以在這個(gè)網(wǎng)段就不可能有OSPF鄰居,一個(gè)接口被通告進(jìn)OSPF,無(wú)論其二層鏈路是什么介質(zhì),只要在該接口上沒(méi)有OSPF鄰居,那么就是Stub Network Link;Loopback接口永遠(yuǎn)被定義為Stub Network Link,默認(rèn)使用32位掩碼表示,無(wú)論將Loopback接口改為哪種OSPF網(wǎng)絡(luò)類型(Network Type),始終改變不了它的OSPF鏈路類型(Link Type)屬性,但可以改變它在LSA中的掩碼長(zhǎng)度。

    Point-To-Point Link

    OSPF網(wǎng)絡(luò)類型(Network Type)為Point-To-Point的接口,OSPF鏈路類型(Link Type)為Point-To-Point Link,但Loopback接口除外;而網(wǎng)絡(luò)類型為點(diǎn)到多點(diǎn)(Point-To-Multipoint)的接口,同樣鏈路類型也為Point-To-Point Link。

    Point-To-Point Link可以是手工配置的地址(Numbered),也可以是借用的地址(Unnumbered),也可以是物理接口或邏輯子接口。

    Transit Link

    擁有兩臺(tái)或兩臺(tái)以上OSPF路由器的鏈路,簡(jiǎn)單理解為有鄰居的OSPF接口就是Transit Link,但網(wǎng)絡(luò)類型為Point-To-Point和點(diǎn)到多點(diǎn)(Point-To-Multipoint)的接口除外,因?yàn)樗鼈儽欢x為Point-To-Point Link。

    Virtual link

    就是OSPF虛鏈路(Virtual Link),但希奇的是,虛鏈路(Virtual Link)被定義為手工配置的地址(Numbered)的Point-To-Point Link。

    OSPF外部路由

    OSPF同其它路由協(xié)議一樣,可以將其它外部協(xié)議的路由信息或其它OSPF進(jìn)程的路由信息重分布進(jìn)自己的域內(nèi),這樣的路由在OSPF域內(nèi)就是OSPF外部路由(External Route),在路由表中的表示方法和OSPF自己的路由會(huì)有所不同,因?yàn)镺SPF外部路由可以分為兩類,分為Type 2和Type 1,所以在路由表中分別表示為OE2和OE1。

    OE2與OE1在路由條目上沒(méi)有任何區(qū)別,只是對(duì)于路由的Metric值計(jì)算有區(qū)別;類型為OE2的外部路由,在該路由進(jìn)入OSPF之前的Metric值為多少,進(jìn)入OSPF域后,所有OSPF路由器看到關(guān)于該路由的Metric值全部相同,不會(huì)再為該路由增加任何Metric值,OE2默認(rèn)Metric值為20。而OE1的路由在OSPF路由器上的Metric值包含該路由進(jìn)入OSPF域之前的Metric值,再加上在OSPF域內(nèi)傳遞的Metric值,也就是到達(dá)外部路由的Metric值為到達(dá)ASBR的Metric值再加上進(jìn)入OSPF域之前的Metric值之和,不同OSPF路由器看到OE1的路由的Metric值可能會(huì)有不同。如下圖:
    ospf_oe1_oe2
    ospf_oe1_oe2.png
    在上圖中,R5將EIGRP重分布進(jìn)OSPF,如果使用OE2類型重分布進(jìn)OSPF,并且取默認(rèn)Metric值20,那么OSPF域內(nèi)的路由器R1,R2,R3,R4,R5看到外部路由的Metric值全部都為20,不會(huì)有任何變化。如果使用OE1類型重分布進(jìn)OSPF,并且取默認(rèn)Metric值20,那么OSPF域內(nèi)的路由器在計(jì)算Metric值時(shí),還會(huì)在原有Metric值的基礎(chǔ)上,再加上到達(dá)ASBR(R5)所需的Metric值,假設(shè)R1選擇從R3到R5再到外部路由,那么R1到外部路由的Metric值為20+1+10=31,所以使用OE2時(shí),R1到外部路由的Metric值為20,而在使用OE1時(shí),R1到外部路由的Metric值為31。

    所以必須給每一個(gè)OSPF路由器定義一個(gè)身份,就相當(dāng)于人的名字,這就是Router-ID,并且Router-ID在網(wǎng)絡(luò)中******不可以有重名,否則路由器收到的鏈路狀態(tài),就無(wú)法確定發(fā)起者的身份,也就無(wú)法通過(guò)鏈路狀態(tài)信息確定網(wǎng)絡(luò)位置,OSPF路由器發(fā)出的鏈路狀態(tài)都會(huì)寫上自己的Router-ID,可以理解為該鏈路狀態(tài)的簽名,不同路由器產(chǎn)生的鏈路狀態(tài),簽名絕不會(huì)相同。

    之前說(shuō)過(guò),每一臺(tái)OSPF路由器都有一個(gè)Router-ID,在自己產(chǎn)生LSA時(shí),都會(huì)在LSA中寫上自己的Router-ID,表示LSA的身份,類似于簽名,如果一臺(tái)路由器收到一條鏈路狀態(tài),無(wú)法到達(dá)該Router-ID的位置,就無(wú)法到達(dá)鏈路狀態(tài)中的目標(biāo)網(wǎng)絡(luò)。其實(shí),在同區(qū)域內(nèi),每臺(tái)OSPF路由器的Router-ID對(duì)于每一臺(tái)路由器都是可達(dá)的,因?yàn)橥瑓^(qū)域內(nèi)會(huì)有精確的LSA信息,包含Router-ID,但需要說(shuō)明,同區(qū)域路由器的Router-ID并不是單獨(dú)通過(guò)LSA來(lái)通告的,而是通過(guò)精確的LSA計(jì)算出來(lái)的,也就是說(shuō)Router-ID的位置是推算出來(lái)的,但您放心,這不會(huì)有錯(cuò);因?yàn)橥瑓^(qū)域路由器的Router-ID都有精確的路徑信息,所以網(wǎng)絡(luò)是通暢的,然而,不同區(qū)域的OSPF路由器,Router-ID是不知道的,也可以理解為Router-ID不會(huì)跨區(qū)域傳遞,那么是否就意味著不同區(qū)域的路由是不可達(dá)的呢?答案當(dāng)然是可達(dá)的,只要同區(qū)域所有路由器可達(dá),那么不同區(qū)域自然就是可達(dá)的,理由是,不同區(qū)域是通過(guò)ABR相連的,因?yàn)锳BR連接著不同區(qū)域,所以只要各個(gè)區(qū)域路由器和ABR是通的,那么不同區(qū)域當(dāng)然可以實(shí)現(xiàn)網(wǎng)絡(luò)連通,所以,ABR在將一個(gè)區(qū)域的LSA轉(zhuǎn)發(fā)至另一個(gè)區(qū)域時(shí),產(chǎn)生該LSA的Router-ID就不再是原來(lái)的Router-ID,會(huì)被修改為ABR的Router-ID,這樣一來(lái),和ABR相通的路由器只要到達(dá)ABR,就能到達(dá)其它區(qū)域;如下圖所示:
    ospf_abr
    ospf_abr.png
    上圖中,R2和R3是ABR,Area 0一定擁有全網(wǎng)的LSA,R2可以在Area 0與Area 2之間轉(zhuǎn)發(fā)LSA,而R3可以在Area 0與Area 1之間轉(zhuǎn)發(fā)LSA,但是對(duì)于其它區(qū)域的路由,R1無(wú)法到達(dá),因?yàn)镽1只有Area 2每臺(tái)路由器的Router-ID,R4的情況同樣如此;最終結(jié)果是,R2在將Area 0的LSA轉(zhuǎn)發(fā)給Area 2時(shí),已經(jīng)將所有LSA的Router-ID改成了自己的,所以所有的路由對(duì)于R1來(lái)說(shuō),只要交給ABR(R2)即可,因?yàn)镽2能夠全網(wǎng)可達(dá),在Area 1也是一樣,R3在將Area 0的LSA轉(zhuǎn)發(fā)給Area 1時(shí),已經(jīng)將所有LSA的Router-ID改成了自己的,所以所有的路由對(duì)于R4來(lái)說(shuō),只要交給ABR(R3)即可,由此可見,OSPF中,不同區(qū)域之間的路由互通,是由于ABR在轉(zhuǎn)發(fā)區(qū)域是的LSA時(shí),將LSA的Router-ID改成了自己的Router-ID,才使得該區(qū)域可以與其它區(qū)域通信,如果沒(méi)有ABR這種自動(dòng)修改Router-ID的行為,那么OSPF不同區(qū)域間將會(huì)無(wú)法通信。

    對(duì)于外部路由,執(zhí)行重分布的路由器同樣需要在LSA中寫上自己的Router-ID,其實(shí)就是ASBR的Router-ID,因?yàn)橥獠柯酚蓵?huì)在多個(gè)OSPF區(qū)域之間傳遞,所以會(huì)被多個(gè)ABR轉(zhuǎn)發(fā),而ABR在轉(zhuǎn)發(fā)外部路由的LSA時(shí),是沒(méi)有權(quán)限修改LSA的Router-ID,這樣一來(lái),外部路由的Router-ID在所有OSPF路由器上都不會(huì)改變,永遠(yuǎn)是ASBR的Router-ID,最終造成的結(jié)果是只有與ASBR同在一個(gè)區(qū)域的路由器才能到達(dá)外部路由,因?yàn)橹挥信cASBR同在一個(gè)區(qū)域的路由器才知道如何到達(dá)ASBR的Router-ID,而其它區(qū)域的路由器對(duì)此卻無(wú)能為力;為了能夠讓OSPF所有區(qū)域都能與外部路由連通,在ABR將外部路由從ASBR所在的區(qū)域轉(zhuǎn)發(fā)至其它區(qū)域時(shí),需要發(fā)送單獨(dú)的LSA來(lái)告知如何到達(dá)ASBR的Router-ID,因?yàn)锳BR將外部路由的LSA告訴了其它區(qū)域,是有義務(wù)讓它們與外部路由可達(dá)的,所以額外發(fā)送了單獨(dú)的LSA來(lái)告知如何到達(dá)ASBR的Router-ID;從這里也可以看出,任何一個(gè)ASBR所在區(qū)域外的其它區(qū)域,都必須靠ABR通告一條通往ASBR 的Router-ID的LSA,此LSA就是后面將會(huì)詳細(xì)解釋的LSA 類型的第4類。如下圖:
    ospf_asbr
    ospf_asbr.png
    在上圖中,因?yàn)锳SBR(R4)將外部路由(EIGRP)重分布進(jìn)OSPF后,自己的Router-ID對(duì)于Area 1的所有路由器是可達(dá)的,但對(duì)于Area 2和Area 0中的路由器是不可達(dá)的,所以在ABR將外部路由的LSA發(fā)向Area 0和Area 2時(shí),會(huì)額外通過(guò)單獨(dú)的LSA 4將ASBR(R4)的Router-ID發(fā)向這些區(qū)域。

    OSPF外部路由有許多是需要理解的地方,外部LSA的Forward Address是一個(gè)其它LSA沒(méi)有的特征,每一條外部LSA都帶有一個(gè)Forward Address,該地址是用來(lái)告訴收到此LSA的路由器如何到達(dá)外部路由,那么一條外部路由的LSA,F(xiàn)orward Address究竟該是什么地址呢?在ASBR的路由表中,外部路由的下一跳地址是什么,那么在外部路由的LSA中Forward Address就是什么,但是OSPF內(nèi)部路由器是通過(guò)Forward Address來(lái)到達(dá)外部路由的,如果它們連這個(gè)Forward Address都到達(dá)不了,比如Forward Address本身就是外部路由而不包含在OSPF進(jìn)程中,那么可想而知,F(xiàn)orward Address的意義等于0,所以,如果ASBR的路由表中,外部路由的下一跳地址是OSPF進(jìn)程自己的路由,那么外部路由LSA的Forward Address就是該地址,所有OSPF內(nèi)部路由器則通過(guò)該地址去往外部路由,但如果ASBR的路由表中,外部路由的下一跳地址不在OSPF進(jìn)程中,那么該地址對(duì)于其它所有OSPF路由器都不可達(dá),這時(shí),ASBR就將外部路由LSA的Forward Address設(shè)置為0.0.0.0,當(dāng)Forward Address為0.0.0.0時(shí),所有OSPF路由器通過(guò)外部LSA的Router-ID去往外部路由;如下圖所示:
    ospf_forward_address
    ospf_forward_address.png
    在上圖中,當(dāng)R5(ASBR)將外部路由EIGRP重分布進(jìn)OSPF時(shí),因?yàn)镽5到達(dá)外部路由的下一跳地址是56.1.1.6,如果該地址的網(wǎng)段被通告進(jìn)OSPF進(jìn)程,那么此時(shí)外部路由的Forward Address就是56.1.1.6,所有OSPF路由器通過(guò)去往地址56.1.1.6來(lái)去往外部路由;但如果該地址并不在OSPF進(jìn)程中,那么外部路由的Forward Address就是0.0.0.0,則所有OSPF路由器通過(guò)去往ASBR(R5)的Router-ID去往外部路由。

    重分布外部路由時(shí),默認(rèn)類型為O E2,如果通過(guò)兩個(gè)ASBR能到達(dá)相同的外部路由,選擇O E1的優(yōu)先,其次是O E2,但如果都為O E1或O E2,則選擇到達(dá)Forward Address最小Metric的路徑優(yōu)先,如果Forward Address都為0.0.0.0,最后選擇到達(dá)ASBR最小Metric的路徑優(yōu)先,但如果Forward Address地址一個(gè)為0.0.0.0,一個(gè)為真實(shí)地址,統(tǒng)一比較到ASBR的Metric。

    OSPF末節(jié)區(qū)域

    如果路由增加,就意味著LSA的增加,有時(shí),在一個(gè)末梢網(wǎng)絡(luò)中,許多路由信息是多余的,并不需要通告進(jìn)來(lái),因?yàn)橐粋€(gè)OSPF區(qū)域內(nèi)的所有路由器都能夠通過(guò)該區(qū)域的ABR去往其它OSPF區(qū)域或者OSPF以外的外部網(wǎng)絡(luò),既然一個(gè)區(qū)域的路由器只要知道去往ABR,就能去往區(qū)域外的網(wǎng)絡(luò),所以可以過(guò)濾掉區(qū)域外的路由進(jìn)入某個(gè)區(qū)域,這樣的區(qū)域稱為OSPF末節(jié)區(qū)域(Stub Area);一個(gè)末節(jié)區(qū)域的所有路由器雖然可以從ABR去往區(qū)域外的網(wǎng)絡(luò),但路由器上還是得有指向ABR的路由,所以末節(jié)區(qū)域的路由器只需要有默認(rèn)路由,而不需要明細(xì)路由,即可與區(qū)域外的網(wǎng)絡(luò)通信,根據(jù)末節(jié)區(qū)域過(guò)濾掉區(qū)域外的不同路由,可將末節(jié)區(qū)域分為如下四類:

    • Stub Area(末節(jié)區(qū)域)
    • Totally Stub Area(完全末節(jié)區(qū)域)
    • Not-so-Stubby Area(NSSA)
    • Totally Not-so-Stubby Area(Totally NSSA)

    各類型的特征如下:

    Stub Area(末節(jié)區(qū)域)

    在Stub Area(末節(jié)區(qū)域)下,ABR將過(guò)濾掉所有外部路由進(jìn)入末節(jié)區(qū)域,同時(shí),末節(jié)區(qū)域內(nèi)的路由器也不可以將外部路由重分布進(jìn)OSPF進(jìn)程,即末節(jié)區(qū)域內(nèi)的路由器不可以成為ASBR,但其它OSPF區(qū)域的路由(Inter-Area Route)可以進(jìn)入末節(jié)區(qū)域,由于沒(méi)有去往外部網(wǎng)絡(luò)的路由,所以ABR會(huì)自動(dòng)向末節(jié)區(qū)域內(nèi)發(fā)送一條指向自己的默認(rèn)路由,如下圖:
    ospf_stub_area
    ospf_stub_area.png

    Totally Stub Area(完全末節(jié)區(qū)域)

    在Totally Stub Area(完全末節(jié)區(qū)域)下,ABR將過(guò)濾掉所有外部路由和其它OSPF區(qū)域的路由(Inter-Area Route)進(jìn)入完全末節(jié)區(qū)域,同時(shí),末節(jié)區(qū)域內(nèi)的路由器也不可以將外部路由重分布進(jìn)OSPF進(jìn)程,即完全末節(jié)區(qū)域內(nèi)的路由器不可以成為ASBR,由于沒(méi)有去往外部網(wǎng)絡(luò)的路由,所以ABR會(huì)自動(dòng)向完全末節(jié)區(qū)域內(nèi)發(fā)送一條指向自己的默認(rèn)路由,如下圖:
    ospf_totally_stub_area
    ospf_totally_stub_area.png

    可以發(fā)現(xiàn),末節(jié)區(qū)域與完全末節(jié)區(qū)域的不同之處在于,末節(jié)區(qū)域可以允許其它OSPF區(qū)域的路由(Inter-Area Route)進(jìn)入,而完全末節(jié)區(qū)域卻不可以。

    Not-so-Stubby Area(NSSA)

    在Not-so-Stubby Area(NSSA)下,ABR將過(guò)濾掉所有外部路由進(jìn)入末節(jié)區(qū)域,同時(shí)也允許其它OSPF區(qū)域的路由(Inter-Area Route)進(jìn)入NSSA區(qū)域,并且路由器還可以將外部路由重分布進(jìn)OSPF進(jìn)程,即NSSA區(qū)域內(nèi)的路由器可以成為ASBR,由于自身可以將外部網(wǎng)絡(luò)的路由重分布進(jìn)OSPF進(jìn)程,所以ABR不會(huì)自動(dòng)向NSSA區(qū)域內(nèi)發(fā)送一條指向自己的默認(rèn)路由,但可以手工向NSSA域內(nèi)發(fā)送默認(rèn)路由,并且只可在ABR上發(fā)送默認(rèn)路由;如下圖:
    ospf_NSSA
    ospf_NSSA.png

    NSSA與末節(jié)區(qū)域的******區(qū)別在于,NSSA區(qū)域可以允許自身將外部路由重分布進(jìn)OSPF,而末節(jié)區(qū)域則不可以。

    Totally Not-so-Stubby Area(Totally NSSA)

    在Totally Not-so-Stubby Area(Totally NSSA)下,ABR將過(guò)濾掉所有外部路由和其它OSPF區(qū)域的路由(Inter-Area Route)進(jìn)入Totally NSSA區(qū)域,但路由器可以將外部路由重分布進(jìn)OSPF進(jìn)程,即Totally NSSA區(qū)域內(nèi)的路由器可以成為ASBR,由于沒(méi)有去往其它OSPF區(qū)域的路由,所以ABR會(huì)自動(dòng)向Totally NSSA內(nèi)發(fā)送一條指向自己的默認(rèn)路由,如下圖:
    ospf_totally_NSSA
    ospf_totally_NSSA.png

    Totally NSSA與NSSA的區(qū)別在于,NSSA區(qū)域可以允許其它OSPF區(qū)域的路由(Inter-Area Route)進(jìn)入,而Totally NSSA區(qū)域卻不可以,但Totally NSSA區(qū)域的ABR會(huì)自動(dòng)向Totally NSSA區(qū)域內(nèi)發(fā)送一條指向自己的默認(rèn)路由。

    總結(jié)各區(qū)域的特征如下:

    區(qū)域類型 接收區(qū)域間路由 ABR是否發(fā)送默認(rèn)路由 是否可以重分布外部路由
    Stub Area
    Totally Stub Area
    NSSA
    Totally NSSA
    • 在末節(jié)區(qū)域下,ABR自動(dòng)發(fā)出的默認(rèn)路由,Metric值默認(rèn)為1,可通過(guò)命令area area-id default-cost cost修改,默認(rèn)路由除了默認(rèn)的Cost值以外,還會(huì)累加真實(shí)接口的Cost值。
    • 骨干區(qū)域不能配置為任何末節(jié)區(qū)域。
    • 當(dāng)將某個(gè)區(qū)域配置為末節(jié)區(qū)域后,則區(qū)域中所有路由器都必須配置為末節(jié)區(qū)域,因?yàn)榕渲脼槟┕?jié)區(qū)域的路由器上所有接口發(fā)出的Hello包中都會(huì)有末節(jié)標(biāo)簽,所有如果對(duì)方?jīng)]有末節(jié)標(biāo)簽,則不能成為鄰居。

    OSPF LSA類型

    OSPF由于有著多種區(qū)域類型,多種網(wǎng)絡(luò)類型,多種鏈路類型,多種路由器身份,所以LSA(Link-State Advertisements)也是多樣的。
    在詳細(xì)講解LSA之前,需要重點(diǎn)說(shuō)明,只有同一個(gè)區(qū)域內(nèi)的LSA,才是精確的,區(qū)域外的LSA,并不一定包含所有必備的信息,因此,所有LSA知識(shí)信息,并不一定可以套用到每一類LSA。

    OSPF中共有11類LSA,而在CCIE的要求中,只需要理解1、2、3、4、5、7共6類即可,這些LSA會(huì)因?yàn)閰^(qū)域類型,網(wǎng)絡(luò)類型,鏈路類型,路由器身份的不同而不同,以下是詳細(xì)介紹:

    類型 1 (Router Link)

    類型1的LSA是任何一臺(tái)OSPF路由器都會(huì)產(chǎn)生的,每一臺(tái)OSPF路由器的每一個(gè)OSPF接口都會(huì)有自己的鏈路狀態(tài),但是每臺(tái)OSPF路由器只能產(chǎn)生一條類型1的LSA,即使有多個(gè)OSPF接口,也只有一條類型1的LSA,因?yàn)樗蠴SPF接口的鏈路狀態(tài)是被打包成一條類型1的LSA發(fā)送的。
    一個(gè)區(qū)域正是由于LSA 1的存在,才有精確的路由表,一個(gè)區(qū)域如果只有LSA 1,同樣可以正常通信。LSA 1 只能在單個(gè)區(qū)域內(nèi)傳遞,ABR不能將LSA 1轉(zhuǎn)到發(fā)另外一個(gè)區(qū)域,并且沒(méi)有任何權(quán)利修改LSA 1。

    類型 2 (Network Link)

    類型2的LSA只有在需要選舉DR/BDR的網(wǎng)絡(luò)類型中才會(huì)產(chǎn)生,并且只是DR產(chǎn)生,BDR沒(méi)有權(quán)利產(chǎn)生,LSA 2與LSA 1沒(méi)有任何關(guān)聯(lián),沒(méi)有任何依存關(guān)系,是相互獨(dú)立的。

    類型 3 (Summary Link)

    類型3的LSA就是將一個(gè)區(qū)域的LSA發(fā)向另一個(gè)區(qū)域時(shí)的匯總和簡(jiǎn)化,ABR其實(shí)就是將LSA 1匯總和簡(jiǎn)化,變成LSA 3后再發(fā)到另一個(gè)區(qū)域的,如果是詳細(xì)完整的LSA 1,是絕不允許的,LSA 3是LSA 1的縮略版。

    類型 4 (ASBR Summary Link)

    對(duì)于外部路由,執(zhí)行重分布的路由器ASBR在LSA中寫上自己的Router-ID,然后傳遞到多個(gè)OSPF區(qū)域,所以會(huì)被多個(gè)ABR轉(zhuǎn)發(fā),而ABR在轉(zhuǎn)發(fā)外部路由的LSA時(shí),是沒(méi)有權(quán)限修改LSA的Router-ID,這樣一來(lái),外部路由的Router-ID在所有OSPF路由器上都不會(huì)改變,永遠(yuǎn)是ASBR的Router-ID,最終造成的結(jié)果是只有與ASBR同在一個(gè)區(qū)域的路由器才能到達(dá)外部路由,因?yàn)橹挥信cASBR同在一個(gè)區(qū)域的路由器才知道如何到達(dá)ASBR的Router-ID,而其它區(qū)域的路由器對(duì)此卻無(wú)能為力;為了能夠讓OSPF所有區(qū)域都能與外部路由連通,在ABR將外部路由從ASBR所在的區(qū)域轉(zhuǎn)發(fā)至其它區(qū)域時(shí),需要發(fā)送單獨(dú)的LSA來(lái)告知如何到達(dá)ASBR的Router-ID,因?yàn)锳BR將外部路由的LSA告訴了其它區(qū)域,是有義務(wù)讓它們與外部路由可達(dá)的,所以額外發(fā)送了單獨(dú)的LSA來(lái)告知如何到達(dá)ASBR的Router-ID;這個(gè)單獨(dú)的LSA就是類型4的LSA,LSA 4是包含的ASBR 的Router-ID,只要不是ASBR所在的區(qū)域,都需要ABR發(fā)送LSA 4來(lái)告知如何去往ASBR。

    類型 5 (External Link)

    類型5的LSA就是外部路由重分布進(jìn)OSPF時(shí)產(chǎn)生的,并且是由ASBR產(chǎn)生的,LSA中包含ASBR的Router-ID,任何路由器都不允許更改該Router-ID,LSA 5中還包含F(xiàn)orward Address,對(duì)于LSA 5 的Metric值計(jì)算與選路規(guī)則也有所不同,詳細(xì)信息請(qǐng)見OSPF外部路由部分。

    類型 7 (NSSA Link)

    因?yàn)镹SSA區(qū)域可以將外部路由重分布進(jìn)OSPF進(jìn)程,而NSSA不是一般的常規(guī)區(qū)域,所以在NSSA將外部路由重分布進(jìn)OSPF時(shí),路由信息使用類型7來(lái)表示,LSA 7由NSSA區(qū)域的ASBR產(chǎn)生,LSA 7也只能在NSSA區(qū)域內(nèi)傳遞,如果要傳遞到NSSA之外的其它區(qū)域,需要同時(shí)連接NSSA與其它區(qū)域的ABR將LSA 7 轉(zhuǎn)變成LSA 5后再轉(zhuǎn)發(fā)。

    LSA各參數(shù)

    在LSA的內(nèi)容中,將有多個(gè)參數(shù)來(lái)表示,這些參數(shù)會(huì)因?yàn)長(zhǎng)SA類型,區(qū)域類型,網(wǎng)絡(luò)類型,鏈路類型,路由器身份的不同而不同,是真正的變化多端,非常的復(fù)雜,這些參數(shù)在我們操作OSPF時(shí),可以幫助我們更好的分析LSA,但并不會(huì)起決定性的作用,所以對(duì)LSA參數(shù)的理解與否,不會(huì)影響到OSPF的配置與排錯(cuò),若無(wú)特殊要求,LSA參數(shù)需要大家了解即可,不需要掌握,不需要牢記。

    LSA中包含的參數(shù)有LS Type,Link State ID,Link ID,Link Data,具體如下:

    LS Type

    LS Type就是前面講到的LSA類型,如LSA 1,LSA 2,LSA 3,LSA 4,LSA 5,LSA 7。

    Link State ID

    因?yàn)镺SPF接口的鏈路狀態(tài),是使用LSA發(fā)送的,接口的相關(guān)信息,如網(wǎng)絡(luò)號(hào),掩碼等等,它們算是LSA真正的內(nèi)容,而LSA也是有簡(jiǎn)明信息的,或者說(shuō)是LSA的標(biāo)題,或者說(shuō)是LSA的名稱,這就是Link State ID,如果將LSA比作一個(gè)包裹,那么Link State ID就是包裹外面寫的信息,比如包裹里是一件衣服,那么Link State ID可能就是寫的衣服是什么牌子,什么尺寸,什么顏色,等等;但不同類型的LSA,其Link State ID的表示也會(huì)不同,如下表:

    LSA類型 Link State ID內(nèi)容
    LSA 1 是產(chǎn)生LSA 1的路由器的Router-ID
    LSA 2 因?yàn)長(zhǎng)SA 2是由DR產(chǎn)生的,所以LSA 2的Link State ID是DR的接口地址
    LSA 3 是目標(biāo)網(wǎng)絡(luò)的網(wǎng)絡(luò)地址,其實(shí)這個(gè)等同于路由條目
    LSA 4 是ASBR的Router-ID
    LSA 5 是目標(biāo)網(wǎng)絡(luò)的網(wǎng)絡(luò)地址,其實(shí)這個(gè)等同于路由條目

    Link ID

    Link ID是用來(lái)表示鏈路自己的,也就是表示OSPF接口自己,再換句話說(shuō),就是OSPF接口的鏈路狀態(tài),可以理解為L(zhǎng)SA的內(nèi)容部分。
    Link ID會(huì)因?yàn)殒溌奉愋停↙ink Type)的不同而不同,對(duì)于鏈路類型(Link Type)的詳細(xì)解釋,請(qǐng)參見前面部分。
    需要注意,Link ID的內(nèi)容有時(shí)與Link State ID的內(nèi)容相同,但Link ID并非完全等于Link State ID,因?yàn)長(zhǎng)ink State ID是由LSA類型的不同而不同,而Link ID是由Link Type的不同而不同。

    Link ID的具體內(nèi)容如下表:

    鏈路類型(Link Type) Link ID內(nèi)容
    Stub Network Link 使用接口的網(wǎng)絡(luò)號(hào)和子網(wǎng)掩碼來(lái)表示
    Point-To-Point Link 鄰居的Router-ID
    Transit Link 是DR的接口地址
    Virtual link 同Point-To-Point Link,是鄰居的Router-ID

    Link Data

    是接口上的IP地址,如果鏈路類型(Link Type)為Stub Network Link,則Link Data是子網(wǎng)掩碼。

    OSPF虛鏈路(Virtual Link)

    因?yàn)镺SPF采用了區(qū)域化的設(shè)計(jì),并且區(qū)域也采用了Hub-Spoke的架構(gòu),所有區(qū)域中定義出一個(gè)核心,然后其它部分都與核心相連,OSPF的區(qū)域0就是所有區(qū)域的核心,稱為BackBone 區(qū)域(骨干區(qū)域),而其它Normal 區(qū)域(常規(guī)區(qū)域)應(yīng)該直接和骨干區(qū)域相連,常規(guī)區(qū)域只能和骨干區(qū)域交換LSA,常規(guī)區(qū)域與常規(guī)區(qū)域之間即使直連也無(wú)法互換LSA,但在某些情況下,某些常規(guī)區(qū)域無(wú)法與骨干區(qū)域直連,這時(shí)便無(wú)法得到其它區(qū)域的路由,因此,設(shè)計(jì)了將骨干區(qū)域的范圍通過(guò)虛擬的方法進(jìn)行擴(kuò)展到相鄰常規(guī)區(qū)域的位置,因而讓不能直接與骨干區(qū)域相連的區(qū)域,最終可以與骨干區(qū)域直連,這種對(duì)骨干虛擬的擴(kuò)展和拉伸就是OSPF虛鏈路(Virtual Link)能實(shí)現(xiàn)的;因?yàn)槟承┏R?guī)區(qū)域不能與骨干區(qū)域直連而只能與其它常規(guī)區(qū)域直連,所以O(shè)SPF虛鏈路(Virtual Link)通過(guò)將相鄰的常規(guī)區(qū)域虛擬為骨干區(qū)域,從而讓那些不能與骨干區(qū)域直連的常規(guī)區(qū)域也能獲得其它OSPF區(qū)域的路由。與骨干區(qū)域相鄰的常規(guī)區(qū)域被擴(kuò)展后,該區(qū)域被稱為Transit Area,理論上Transit Area不應(yīng)該為末節(jié)區(qū)域;在擴(kuò)展后,原本為常規(guī)區(qū)域的Transit Area,將變成骨干區(qū)域,所以路由將從Inter-Area Route轉(zhuǎn)變?yōu)镮ntra-Area Route,路由表示形式也將從O IA改變?yōu)镺的形式;在進(jìn)行OSPF虛鏈路擴(kuò)展時(shí),是將Transit Area中與骨干區(qū)域直連的ABR和連接另一個(gè)常規(guī)區(qū)域的ABR相連,連接這兩個(gè)ABR時(shí),使用雙方的Router-ID來(lái)連接。如下圖:
    ospf_virtual_link_1.png
    ospf_virtual_link_1.png
    在上圖中,區(qū)域2只能與區(qū)域1直連,而無(wú)法與骨干區(qū)域直連,在這種情況下,由于常規(guī)區(qū)域與常規(guī)區(qū)域之間即使直連也無(wú)法互換LSA,所以R3雖然是ABR,但因?yàn)闆](méi)有連接骨干區(qū)域,最后不可能將任何區(qū)域的LSA發(fā)進(jìn)區(qū)域2,最終導(dǎo)致區(qū)域2無(wú)法外其它區(qū)域通信,在這種情況下,需要通過(guò)OSPF虛鏈路將骨干區(qū)域的范圍擴(kuò)展到相鄰的區(qū)域1,如下圖:
    ospf_virtual_link_2.png
    ospf_virtual_link_2.png
    在進(jìn)行OSPF虛鏈路擴(kuò)展后,區(qū)域1被虛擬成了骨干區(qū)域,而這時(shí)的R3等同于連接骨干區(qū)域和區(qū)域2的ABR,所以可以將自己所有的LSA發(fā)進(jìn)區(qū)域2。在擴(kuò)展OSPF虛鏈路時(shí),是通過(guò)連接R2(ABR)與R3(ABR)的Router-ID 來(lái)建立的。
    因?yàn)镺SPF虛鏈路(Virtual Link)能將骨干區(qū)域擴(kuò)展到相鄰的常規(guī)區(qū)域,從而將常規(guī)區(qū)域虛擬為骨干區(qū)域,所以在某些情況下,如公司合并,或者為了備份骨干區(qū)域,可能出現(xiàn)骨干區(qū)域被常規(guī)區(qū)域所隔離,如下圖:
    ospf_virtual_link_3.png
    ospf_virtual_link_3.png
    圖中骨干區(qū)域被區(qū)域1分割為兩部分,將使得骨干區(qū)域自己的路由無(wú)法相互傳遞,在使用OSPF虛鏈路后,可以將區(qū)域1也擴(kuò)展為骨干區(qū)域,如下圖:
    ospf_virtual_link_4.png
    ospf_virtual_link_4.png
    在經(jīng)過(guò)OSPF虛鏈路將區(qū)域1也擴(kuò)展為骨干區(qū)域后,可見所有的區(qū)域都變成了骨干區(qū)域,從而使網(wǎng)絡(luò)中骨干區(qū)域能夠收到另外一邊被分割的骨干區(qū)域的路由,并且最后骨干區(qū)域自己的路由都為Intra-Area Route,但Area 1與骨干區(qū)域的路由將仍然為O IA。

    OSPF虛鏈路必須是在兩個(gè)擁有共同區(qū)域的ABR之間建立的,其中必須至少有一個(gè)ABR是連接骨干的。
    OSPF虛鏈路被認(rèn)為是骨干區(qū)域的一個(gè)接口,一條鏈路,也需要建立OSPF鄰居,但在鄰居建立之后,鏈路上是沒(méi)有Hello包傳遞的。

    OSPF認(rèn)證

    同RIP和EIGRP一樣,出于安全考慮,OSPF也使用了認(rèn)證,OSPF同時(shí)支持明文和MD5認(rèn)證,在啟用OSPF認(rèn)證后,Hello包中將攜帶密碼,雙方Hello包中的密碼必須相同,才能建立OSPF鄰居關(guān)系,需要注意,空密碼也是密碼的一種。

    當(dāng)OSPF鄰居的一方在接口上啟用認(rèn)證后,從該接口發(fā)出的Hello包中就會(huì)帶有密碼,雙方的Hello包中擁有相同的密碼時(shí),鄰居方可建立;一臺(tái)OSPF路由器可能有多個(gè)OSPF接口,也可能多個(gè)接口在多個(gè)OSPF區(qū)域,只要在接口上輸入OSPF認(rèn)證的命令后,便表示開啟了OSPF認(rèn)證,可以在每個(gè)接口上一個(gè)一個(gè)啟用,也可以一次性開啟多個(gè)接口的認(rèn)證,如果需要開啟多個(gè)接口的認(rèn)證功能,那么認(rèn)證的命令就并非直接在接口上輸入,而是到OSPF進(jìn)程模式下輸入,并且是對(duì)某個(gè)區(qū)域全局開啟的,當(dāng)在進(jìn)程下對(duì)某個(gè)區(qū)域開啟OSPF認(rèn)證后,就表示在屬于該區(qū)域的所有接口上開啟了認(rèn)證。所以,在進(jìn)程下對(duì)區(qū)域配置認(rèn)證,是快速配置多個(gè)接口認(rèn)證的方法,與在多個(gè)接口上一個(gè)一個(gè)開啟,沒(méi)有本質(zhì)區(qū)別。因?yàn)镺SPF虛鏈路被認(rèn)為是骨干區(qū)域的一個(gè)接口,一條鏈路,所以在OSPF進(jìn)程下對(duì)骨干區(qū)域開啟認(rèn)證后,不僅表示開啟了區(qū)域0下所有接口的認(rèn)證,同時(shí)也開啟了OSPF虛鏈路的認(rèn)證,但OSPF虛鏈路在建立后,并沒(méi)有Hello包的傳遞,所以認(rèn)證在沒(méi)有重置OSPF進(jìn)程的情況下,是不會(huì)生效的。

    OSPF匯總路由

    在OSPF同區(qū)域內(nèi),LSA是******不允許以任何形式或任何手段更改的,但在一個(gè)區(qū)域與另一個(gè)區(qū)域之間,LSA可以被ABR修改后傳遞,從而得知,在同一個(gè)區(qū)域內(nèi),OSPF路由是不能被匯總的,而是當(dāng)路由從一個(gè)區(qū)域被ABR轉(zhuǎn)發(fā)到另外一個(gè)區(qū)域時(shí),就可以執(zhí)行路由匯總,并且匯總必須是在ABR上執(zhí)行的,但該匯總不對(duì)OSPF外部路由生效;在將外部路由重分布進(jìn)OSPF時(shí),也可以執(zhí)行路由匯總,此時(shí)的匯總必須在ASBR上配置。
    為了防止路由黑洞,需要在執(zhí)行路由匯總的路由器上將匯總由指向空接口(null0),在IOS 12.1(6)以后的版本,配置匯總后會(huì)自動(dòng)產(chǎn)生指向空接口的路由,但在IOS 12.1(6)及以前的版本需要手工創(chuàng)建。

    OSPF RFC (1583)并沒(méi)有規(guī)定一個(gè)區(qū)域適合多少臺(tái)路由器,一個(gè)網(wǎng)段多少個(gè)鄰居,或如何布署網(wǎng)絡(luò)

東莞市升豐訊實(shí)業(yè)有限公司 版權(quán)所有 備案號(hào):粵ICP備18107829號(hào)-2

24小時(shí)熱線 :15377741450 郵箱: sfx@sfx0769.com 網(wǎng)站: www.sfp28.com.cn

24小時(shí)服務(wù)熱線

15377741450