1. OSPF鄰居建立不成功的因素
- hello包間隔不匹配箍鼓,dead時(shí)間不匹配貌夕,OSPF中的Dead時(shí)間默認(rèn)是hello包時(shí)間的4倍關(guān)系猎提,也可以手動(dòng)設(shè)置。
- mtu不匹配(可以通過(guò)dis ospf brief查看)食绿。
- router id不匹配。
① 如果要運(yùn)行OSPF協(xié)議公罕,必須存在Router ID器紧。Router ID是一個(gè)32比特?zé)o符號(hào)整數(shù),是一臺(tái)路由器在自治系統(tǒng)中的唯一標(biāo)識(shí)楼眷。
② Router ID一般分手動(dòng)設(shè)置和自動(dòng)設(shè)置铲汪,優(yōu)先選擇手動(dòng)設(shè)置熊尉。如果沒有手動(dòng)設(shè)置,優(yōu)先會(huì)從LOOPBACK地址中選擇最大的IP地址作為Router ID掌腰。如果沒有設(shè)置LOOPBACK IP狰住,從接口地址中選擇最大的IP作為Router ID。
③ Router ID可以用于DR齿梁、BDR選舉催植,如果同區(qū)域的OSPF Router ID沖突,無(wú)法有效的進(jìn)行DR勺择,BDR選舉创南,無(wú)法建立OSPF鄰居關(guān)系。
④ 如果Router ID 在區(qū)域中不唯一省核,將有可能造成路由抖動(dòng)稿辙,無(wú)法有效的建立OSPF鄰居關(guān)系。 - area區(qū)域不匹配芳撒。不在同一個(gè)area區(qū)域邓深。
- 認(rèn)證方式或認(rèn)證密碼不匹配。
- ospf的hello組播地址被acl過(guò)濾(224.0.0.6)笔刹。
- 物理鏈路down芥备。
- stub/NSSA 區(qū)域類型不匹配。
2.OSPF Router ID選擇舌菜、作用萌壳、沖突
1. OSPF Router ID選擇
① 如果通過(guò)命令設(shè)置了Router ID,則選擇此作為Router ID日月。
② 如果沒通過(guò)命令設(shè)置routerID袱瓮,若有l(wèi)oopback地址,則選擇最大的loopback地址作為router ID爱咬;若無(wú)loopback地址尺借,則選擇其他接口中地址最大的作為router ID。
2. OSPF Router ID刷新規(guī)則
① 當(dāng)且僅當(dāng)被選舉為routerID的接口的地址被刪除或修改精拟,才會(huì)觸發(fā)選舉過(guò)程燎斩,此過(guò)程需要reset OSPF進(jìn)程才生效。
② 被選擇的接口狀態(tài)改變(比如UP變?yōu)镈OWN)蜂绎、新配置更大的loopback或其他接口地址栅表,均不會(huì)導(dǎo)致Router id重新選舉。
③ Router ID不可以是0.0.0.0 或 255.255.255.255师枣,但是Router ID只是32比特?zé)o符號(hào)整數(shù)怪瓶,可以為0.0.0.1等和IP地址不相關(guān)的數(shù)字。
3. OSPF Router ID作用
① 作為區(qū)域內(nèi)本路由器的唯一標(biāo)識(shí)
② DR践美、BDR選舉中洗贰,在優(yōu)先級(jí)相同的時(shí)候找岖,Router ID大的選舉為DR。
4. Router ID沖突問(wèn)題
① R1哆姻,R2均在area 0宣增,R1,R2具有相同的Router ID矛缨。R1與R2直連爹脾,R1與R2之間無(wú)法建立鄰居關(guān)系。R1發(fā)送hello包后箕昭,R2接受到R1的hello包灵妨,發(fā)現(xiàn)Router ID與自己的一致,鄰居無(wú)法建立落竹。
② R1泌霍,R2,R3處于area 0述召。R1和R2相連朱转,R1和R3相連,R2和R3不互聯(lián)积暖,R2與R3之間Router ID相同藤为。
【結(jié)果】
- R1和R2,R1和R3分別能建立OSPF鄰居。
- R1能學(xué)到R2或者R3的路由夺刑,但是路由會(huì)不停的抖動(dòng)缅疟,一會(huì)學(xué)到R2的,一會(huì)學(xué)到R3的遍愿。
- R2存淫,R3之間無(wú)法學(xué)習(xí)到對(duì)方路由。
【分析】
OSPF是以(LS type沼填、LS id桅咆、advrouter)來(lái)識(shí)別LSA,以(age坞笙、seq num轧邪、checksum)標(biāo)識(shí)一個(gè)LSA實(shí)例,當(dāng)收到相同的LSA的多個(gè)實(shí)例(LS類型羞海、LS標(biāo)識(shí)、宣告路由器相同)的時(shí)候曲管,比較(age却邓、seq num、checksum)來(lái)確定哪一個(gè)LSA是最新的院水。
a. 比較LSA實(shí)例的序列號(hào)腊徙,越大的越新简十。
b. 如果序列號(hào)相同,就比較校驗(yàn)和撬腾,越大越新螟蝙。
c. 如果校驗(yàn)和也相同,就比較老化時(shí)間民傻,如果只有1個(gè)LSA擁有MaxAge(3600秒)的老化時(shí)間胰默,它就是最新的。
d. 如果上述都無(wú)法區(qū)分漓踢,則認(rèn)為這2個(gè)LSA是相同的牵署。R3發(fā)送的LSA,R1泛洪喧半,R2收到該LSA奴迅。
R2檢查收到的R3發(fā)送的LSA,發(fā)現(xiàn)(LS type挺据、LS id取具、adv router)與自己一致,認(rèn)為是自己始發(fā)的LSA扁耐。
R2比較(age暇检、seq num、checksum)做葵,發(fā)現(xiàn)該LSA比自身存的數(shù)據(jù)庫(kù)更新占哟,則seq num+1,回復(fù)LSA酿矢。
R1收到R2的LSA后榨乎,發(fā)現(xiàn)(LS type、ls id瘫筐、adv router)與自己數(shù)據(jù)庫(kù)的R3的一致蜜暑,認(rèn)為是一條LSA;再比較(age策肝、seq num肛捍、checksum),發(fā)現(xiàn)seqnum更大之众,LSA更新拙毫,則泛洪。
R3收到R1轉(zhuǎn)發(fā)的R2的LSA棺禾,(type缀蹄、ls id、advrouter)一樣,(age缺前、seq num蛀醉、checksum)更新,跟R2一樣衅码。
-
R3/R1/R2之間不停地傳遞LSA拯刁,不斷循環(huán)。
故:R1一會(huì)兒學(xué)到R3的路由逝段,一會(huì)兒學(xué)到R2的路由垛玻。R2、R3之間無(wú)法互相學(xué)到路由惹恃。(因此在發(fā)生OSPF中發(fā)生路由抖動(dòng)問(wèn)題時(shí)夭谤,優(yōu)先考慮是否Router ID沖突)[1]
③ R1和R2相連,為area 0巫糙,R2和R4相連朗儒,為area 1,R1與R4的Router ID相同参淹。
【結(jié)果】
- area0醉锄,R1能與R2建立鄰居關(guān)系。
- area1浙值,R2能與R4建立鄰居關(guān)系恳不。
- R1、R4能互相學(xué)到路由开呐。
【分析】
- R1發(fā)送LSA烟勋,R2收到后,向area1發(fā)送3類LSA:LS ID為路由前綴筐付,R2為ABR卵惦,adv Router為R2的Router ID。
- R4收到3類LSA后瓦戚,發(fā)現(xiàn)是新的router id沮尿,與自己不同,納入LSDB较解,并提交路由表畜疾。
- R4發(fā)送的LSA,R2印衔、R1相同處理啡捶,均能學(xué)到路由。
3.OSPF DR/BDR的選舉規(guī)則
1. 在運(yùn)行OSPF的MA網(wǎng)絡(luò)中包括廣播型和NBMA網(wǎng)絡(luò)會(huì)存在兩個(gè)問(wèn)題
① 在一個(gè)有n個(gè)路由器的網(wǎng)絡(luò)中奸焙,會(huì)形成(n*(n-1))/2鄰居關(guān)系届慈。
② 鄰居間LSA的泛洪擴(kuò)散混亂徒溪,相同的LSA會(huì)被復(fù)制多份
2. DR與BDR的作用
① DR(designated router)即指定路由,其負(fù)責(zé)在MA網(wǎng)絡(luò)建立和維護(hù)鄰接關(guān)系并負(fù)責(zé)LSA的同步金顿。
② DR與其他所有的路由器形成鄰接關(guān)系并交換鏈路狀態(tài)信息,其他路由器之間不直接交換鏈路狀態(tài)信息鲤桥,這樣就大大減少了MA網(wǎng)絡(luò)中的鄰接關(guān)系數(shù)據(jù) 及交換鏈路狀態(tài)信息消耗的資源揍拆。
③ DR一旦出現(xiàn)故障,其與其他路由器之間的鄰接關(guān)系將全部失效茶凳,鏈路狀態(tài)數(shù)據(jù)庫(kù)也無(wú)法同步嫂拴,此時(shí)就需要重新選舉DR、再與非DR路由器建立鄰接關(guān)系贮喧,完成LSA的同步筒狠,為了規(guī)避單點(diǎn)故障風(fēng)險(xiǎn),通過(guò)選舉備份指定路由器BDR箱沦,在DR失效時(shí)快速接管DR的工作辩恼。
3. DR與BDR的選舉規(guī)則
① DR/BDR的選舉是基于接口的。
② 接口的DR優(yōu)先級(jí)越大越優(yōu)先谓形。接口的DR優(yōu)先級(jí)相等時(shí)灶伊,router ID越大越優(yōu)先。
③ 接口DR優(yōu)先級(jí)相等時(shí)寒跳,router ID越大越優(yōu)先聘萨。
④ 接口DR優(yōu)先級(jí)為0,表示不參與選舉童太,router priority最大不一定是DR/BDR米辐。
在P2P網(wǎng)絡(luò)及P2MP網(wǎng)絡(luò)上具有鄰居關(guān)系的路由器之間會(huì)進(jìn)一步建立鄰接關(guān)系。但在廣播型及NBMA網(wǎng)絡(luò)上书释,非DR BDR路由器之間只能建立鄰居關(guān)系翘贮,不能建立鄰接關(guān)系。非DR/BDR路由器與DR/BDR路由器之間會(huì)建立鄰接關(guān)系征冷,DR與BDR之間也會(huì)建立鄰接關(guān)系择膝。
4. DR和BDR的選舉需要注意以下四點(diǎn)
① 只有在廣播或NBMA類型接口時(shí)才會(huì)選舉DR,在點(diǎn)到點(diǎn)或點(diǎn)到多點(diǎn)類型的接口上不需要選舉DR检激。
② DR是指某個(gè)網(wǎng)段的概念肴捉,是針對(duì)路由器的接口而言的。某臺(tái)路由器在一個(gè)接口上可能是DR叔收,在另一個(gè)接口上有可能是BDR齿穗,或者是DR Other。
③ 若DR饺律、BDR已經(jīng)選擇完畢窃页,當(dāng)一臺(tái)新路由器加入后,即使它的DR優(yōu)先級(jí)值最大,也不會(huì)立即成為該網(wǎng)段中的DR脖卖。
④ DR并不一定就是DR優(yōu)先級(jí)最大的路由器乒省;同理,BDR也并不一定就是DR優(yōu)先級(jí)第二大的路由器畦木。
【注意】0-255 是優(yōu)先級(jí)的范圍袖扛,默認(rèn)是1,優(yōu)先級(jí)高就可以成為DR十籍,0是沒資格選舉成DR和BDR蛆封。
-
華為模擬器實(shí)驗(yàn)表明:這種情況循環(huán)多次后,R1/R3會(huì)重新選舉一個(gè)routerID發(fā)起OSPF鄰居建立過(guò)程勾栗,鄰居建立后惨篱,R1能學(xué)到R2、R3的路由围俘。 ?