Open Shortest Path First竖般,開(kāi)放最短路徑優(yōu)先
OSPFv2
OSPF的術(shù)語(yǔ)
鏈路(Link):當(dāng)一個(gè)接口加入OSPF進(jìn)程弯屈,就被當(dāng)做是OSPF的一條鏈路睡毒。
鏈路狀態(tài)(Link-State):包括接口的IP谱秽、子網(wǎng)生巡、網(wǎng)絡(luò)類(lèi)型耙蔑、鏈路花費(fèi)、鏈路上的鄰居等孤荣。
路由器ID(Router ID甸陌,簡(jiǎn)稱(chēng)RID):RID是一個(gè)用來(lái)標(biāo)識(shí)路由器的IP地址须揣,可以在OSPF路由進(jìn)程中手工指定;如果沒(méi)有指定钱豁,路由器默認(rèn)選擇回環(huán)接口中最高的IP作為RID耻卡;如果沒(méi)有回環(huán)地址,路由器使用所有激活的物理接口中最高的IP作為RID牲尺。
鄰居(Neighbor):兩臺(tái)或多臺(tái)路由連接在一個(gè)公共的網(wǎng)絡(luò)上卵酪,如兩臺(tái)路由通過(guò)串行線(xiàn)路相連,多臺(tái)路由通過(guò)以太網(wǎng)相連谤碳。
鄰接(Adjacency):鄰接是兩臺(tái)路由器之間的關(guān)系溃卡,OSPF只與建立了鄰接關(guān)系的鄰居共享路由信息。
區(qū)域(Area):OSPF通過(guò)劃分區(qū)域來(lái)實(shí)現(xiàn)分層設(shè)計(jì)估蹄,跨越兩個(gè)或兩個(gè)以上區(qū)域的路由被稱(chēng)作ABR(Area
Border Router塑煎,區(qū)域邊界路由)。所有的區(qū)域都和“Area 0”相連臭蚁,“Area
0”被稱(chēng)作骨干區(qū)域最铁,骨干區(qū)域路由器具有整個(gè)自制系統(tǒng)中所有路由條目,LSA的擴(kuò)散僅限制在區(qū)域內(nèi)垮兑,通過(guò)劃分多個(gè)區(qū)域可以減小LSA擴(kuò)散過(guò)程中對(duì)硬件的負(fù)擔(dān)冷尉。
指定路由器(Designated Router,簡(jiǎn)稱(chēng)RD):當(dāng)OSPF鏈路被連接到多路訪(fǎng)問(wèn)的網(wǎng)絡(luò)中時(shí)系枪,需要選擇一臺(tái)指定路由器(DR)雀哨,每臺(tái)路由器都把拓?fù)渥兓l(fā)給DR和BDR,然后由DR通知該多路訪(fǎng)問(wèn)網(wǎng)絡(luò)中的其他路由器私爷。
備用的指定路由器(Backup Designated Router,簡(jiǎn)稱(chēng)BDR):當(dāng)DR發(fā)生故障的時(shí)候雾棺,BDR轉(zhuǎn)變成DR,接替DR個(gè)工作衬浑。
花費(fèi)(Cost):OSPF中使用的唯一度量值捌浩,使用鏈路的帶寬計(jì)算得來(lái)。
LS路由協(xié)議概念
1. 更新方式-組播更新
224.0.0.5 (所有的router)
224.0.0.6 (只有DR/BDR)
注:為減小多路訪(fǎng)問(wèn)網(wǎng)絡(luò)中OSPF流量工秩,OSPF會(huì)選擇一個(gè) 指定路由器(DR)和一個(gè)備 份指定路由器(BDR)尸饺。當(dāng)多路訪(fǎng)問(wèn)網(wǎng)絡(luò)發(fā)生變化時(shí),DR負(fù)責(zé)更新其他所有OSPF 路由 器助币。BDR會(huì)監(jiān)控DR 的狀態(tài)浪听,并在當(dāng)前DR發(fā)生故障時(shí)接替其角色。
2. 更新內(nèi)容---LSA——鏈路狀態(tài)通告眉菱。
存在于鏈路狀態(tài)數(shù)據(jù)庫(kù)(LSDB)中支持等開(kāi)銷(xiāo)負(fù)載均衡迹栓,默認(rèn)4條LSA,最大6條(1 2 3 4 5 7)
LS&DV路由協(xié)議區(qū)分
3. 傳播的內(nèi)容
A. DV傳播的是自己的路由表
B. LS傳播的是鏈路狀態(tài)
4. 傳播的范圍
A. DV傳播的是下一個(gè)鄰居
B. LS是一個(gè)區(qū)域內(nèi)傳播
5. 更新方式
A. DV依照傳聞更新
B. LS依照LSA俭缓,觸發(fā)更新
OSPF的三張表
1. 鄰居表
?
1迈螟、Show ip ospf neighbor
?
2. 拓?fù)浔?數(shù)據(jù)庫(kù)表)
?
1叉抡、Show ip ospf database
?
3. 路由表
?
1、Show ip route ospf? //查看路由表中ospf協(xié)議的路由
2答毫、Show ip ospf route? //查看ospf宣告的所有路由表
?
OSPF的四種路由器
1. 內(nèi)部路由器:
所有端口在同一區(qū)域的路由器。
2. 主干路由器:
具有連接主干區(qū)域端口的路由器季春。
3. 區(qū)域邊界路由器(ABR):
具有連接多區(qū)域端口的路由器洗搂,一般作為一個(gè)區(qū)域的出口。ABR為每一個(gè)所連接的區(qū)域建立鏈路狀態(tài)數(shù)據(jù)庫(kù)载弄,負(fù)? ??? ??責(zé)將所連接區(qū)域的路由摘要信息發(fā)送到主干區(qū)域耘拇,而主干區(qū)域上的ABR則負(fù)責(zé)將這些信息發(fā)送到各個(gè)區(qū)域。
4. 自治域系統(tǒng)邊界路由器(ASBR):
至少擁有一個(gè)連接外部自治域網(wǎng)絡(luò)(如非OSPF的網(wǎng)絡(luò))端口的路由器宇攻,負(fù)責(zé)將非OSPF網(wǎng)絡(luò)信息傳入OSPF網(wǎng)絡(luò)惫叛。
OSPF的五個(gè)報(bào)文
1. Hello
建立和維護(hù)OSPF路由器間的鄰接關(guān)系,在多路訪(fǎng)問(wèn)中選擇DR和BDR逞刷。
2. DBD(Database Description,數(shù)據(jù)庫(kù)狀態(tài)描述包)
DBD包是發(fā)送端對(duì)自己鏈路狀態(tài)數(shù)據(jù)庫(kù)的一個(gè)簡(jiǎn)短描述嘉涌,接收路由器根據(jù)接收到的DBD包對(duì)比自己的鏈路狀態(tài)數(shù)據(jù)庫(kù),檢測(cè)發(fā)送端和接收端的鏈路狀態(tài)數(shù)據(jù)庫(kù)是否同步夸浅。
3. LSR(Link-State Request仑最,鏈路狀態(tài)請(qǐng)求包)
接收端可以發(fā)送LSA來(lái)請(qǐng)求接收到的DBD中的某些詳細(xì)信息。
4. LSU(Link-State Update帆喇,鏈路狀態(tài)更新包)
LSU用來(lái)更新OSPF路由信息警医,回復(fù)LSR請(qǐng)求。
5. LSAck(Link-State Acknowledgement坯钦,鏈路狀態(tài)確認(rèn))
當(dāng)收到一個(gè)LSU预皇,路由器發(fā)送LSAck確認(rèn)。
抓包測(cè)試
OSPF的七個(gè)狀態(tài)
1. DOWN:
OSPF初始狀態(tài)婉刀,還沒(méi)有開(kāi)始交換信息吟温。
2. Init:
交換信息初期,表示已經(jīng)收到了鄰居的Hello報(bào)文路星,但是報(bào)文中沒(méi)有列出本路由的RID溯街,也就是說(shuō)對(duì)方還沒(méi)有收到本路由發(fā)出的Hello報(bào)文。
3. Two-Way:
雙向階段洋丐,雙方都收到了對(duì)方發(fā)送的Hello報(bào)文呈昔,建立了鄰居關(guān)系。在多路訪(fǎng)問(wèn)的網(wǎng)絡(luò)中友绝,兩個(gè)接口狀態(tài)是DROther的路由器之間將停留在此狀態(tài)堤尾,其他情況將繼續(xù)轉(zhuǎn)入高級(jí)狀態(tài)。在此狀態(tài)下的路由器是不能共享路由信息的迁客,想共享路由信息郭宝,必須建立鄰接關(guān)系辞槐。
4. Exstart:
準(zhǔn)備開(kāi)始交換階段,雙方通過(guò)Hello報(bào)文決定主從關(guān)系粘室,最高RID的路由將成為主路由榄檬,最先發(fā)起交換。主從關(guān)系確立后進(jìn)入下一個(gè)階段衔统。
5. Exchange:
開(kāi)始交換階段鹿榜,路由器將本地的”路由狀態(tài)數(shù)據(jù)庫(kù)(LSDB)”用”數(shù)據(jù)庫(kù)描述(DBD)”報(bào)文來(lái)描述,然后發(fā)給鄰路由锦爵。如果這個(gè)階段中的路由收到不在其數(shù)據(jù)庫(kù)中的有關(guān)鏈路的信息舱殿,那么在下一個(gè)階段中將請(qǐng)求對(duì)方發(fā)送該路由條目的完整信息。
6. Loading:
加載階段险掀,路由器通過(guò)發(fā)送”鏈路狀態(tài)請(qǐng)求(LSR)”,來(lái)向鄰居請(qǐng)求一些路由條目的詳細(xì)信息沪袭。鄰居則會(huì)使用”鏈路狀態(tài)更新包(LSU)”來(lái)回復(fù)LSR請(qǐng)求,收到鄰居發(fā)回的LSU后樟氢,再發(fā)送LSAck向發(fā)送LSU的路由進(jìn)行確認(rèn)冈绊。
7. Full:
完全鄰接狀態(tài),Loading結(jié)束后嗡害,路由器之間就變成了”Full adjacency”焚碌。
OSPF的LSA
??
??
??
??
??
??
鄰居與鄰接的區(qū)別
鄰居關(guān)系是指,當(dāng)雙方收到對(duì)方的hello報(bào)文的時(shí)候霸妹,報(bào)文里面的參數(shù)(hello time.dead interval , area id.authentication ,mask等)一致的時(shí)候十电,并且鄰居關(guān)系為2-way的時(shí)候,這個(gè)就可以成為是建立了鄰居關(guān)系叹螟,但是還不是鄰接關(guān)系鹃骂。
鄰接關(guān)系是指在建立的鄰居關(guān)系之后繼續(xù)發(fā)送DD,LSR罢绽,LSU等報(bào)文畏线,最終雙方的LSDB達(dá)到同步之后,鄰居狀態(tài)為FULL時(shí)良价,才成為鄰接關(guān)系寝殴。
OSPF? Router ID 選舉規(guī)則
手動(dòng)配置 ? router-id x.x.x.x
默認(rèn)使用最大的已激活的回環(huán)口做RID
若沒(méi)有回環(huán)口,則默認(rèn)選擇最大激活的物理接口的IP做RID
實(shí)驗(yàn)測(cè)試
OSPF ?DR與BDR的選舉規(guī)則
OSPF路由器選擇網(wǎng)絡(luò)優(yōu)先級(jí)最高的路由器為DR明垢,接口優(yōu)先級(jí)次高的路由器為BDR蚣常,以太網(wǎng)接口默認(rèn)的優(yōu)先級(jí)都為1。
如果優(yōu)先級(jí)相同痊银,將使用RID最高的為DR抵蚊,次高的為BDR。
注意:不支持搶占性
實(shí)驗(yàn)測(cè)試
?
1、Int f0/0
2贞绳、Ip ospf priority x
3谷醉、Clear ip ospf process? \\清理ospf的進(jìn)程
?
OSPF度量值計(jì)算(開(kāi)銷(xiāo)/消耗)
鏈路cost = 10^8/帶寬=100M/帶寬(單位)
串行線(xiàn)路的帶寬是1.544M 串行線(xiàn)路的花費(fèi)=100M/1.544≈64 (取整,且不四舍五入)
快速以太網(wǎng)的帶寬是100M: 快速以太網(wǎng)線(xiàn)路花費(fèi)=100M/100M=1
實(shí)驗(yàn)測(cè)試
OSPF的區(qū)域
骨干區(qū)域
非骨干區(qū)域
??? a. 普通區(qū)域
??? b. Stub區(qū)域
??? c. 完全stub區(qū)域
??? d. Nssa區(qū)域
??? e. 完全nssa區(qū)域
OSPF的特殊區(qū)域
1.STUB區(qū)域
如果我們想讓OSPF非骨干區(qū)域?qū)W習(xí)不到OSPF外部的路由?????? 末梢區(qū)域
如果設(shè)置為stub區(qū)域冈闭,4類(lèi)和5類(lèi)LSA消失不見(jiàn)俱尼,并且多出來(lái)一條3類(lèi)默認(rèn)了路由的LSA。
?
1萎攒、router ospf 1
2 号显、area 1 stub? \\將區(qū)域配置成stub區(qū)域 會(huì)過(guò)濾掉4類(lèi)和5類(lèi)LSA,該非骨干區(qū)域上所有路由器都要配置躺酒,不然鄰居會(huì)斷開(kāi)
?
2.完全STUB區(qū)域
如果我們想讓OSPF非骨干區(qū)域?qū)W習(xí)不到OSPF其他區(qū)域和OSPF外部的路由
如果設(shè)置為stub no-summary區(qū)域,其他區(qū)域的3類(lèi)蔑歌,4類(lèi)和5類(lèi)LSA消失不見(jiàn)羹应,并且只剩一條3類(lèi)默認(rèn)了路由的LSA。
?
1次屠、router ospf 1
2园匹、area 1 stub no-summary? \\將區(qū)域配置成完全stub區(qū)域,過(guò)濾掉3類(lèi)LSA劫灶,只配置在ABR上裸违,其他的路由器,都必須配置stub
?
3.NSSA區(qū)域
但是stub區(qū)域內(nèi)不允許引入外部路由本昏,因?yàn)槲覀円?guī)定不管什么末節(jié)區(qū)域內(nèi)部都不能存在4類(lèi)5類(lèi)的LSA
所以我們定義了另外一種特殊區(qū)域NSSA供汛,定義了一種新的LSA,7類(lèi)LSA其實(shí)和5類(lèi)LSA作用一樣涌穆,但是只存在于NSSA區(qū)域怔昨,一旦7類(lèi)LSA到達(dá)了本NSSA區(qū)域的ABR上,ABR會(huì)將7類(lèi)轉(zhuǎn)換成5類(lèi)來(lái)繼續(xù)傳遞宿稀。
如果設(shè)置為nssa區(qū)域趁舀,4類(lèi)和5類(lèi)LSA消失不見(jiàn),并且沒(méi)有多出來(lái)一條3類(lèi)默認(rèn)了路由的LSA祝沸,需要手動(dòng)加上,并且是7類(lèi)的默認(rèn)路由矮烹。
?
1、router ospf 1
2罩锐、area 1 nssa? ? \\后面這個(gè)不加在ABR上奉狈,就會(huì)讓整個(gè)nssa區(qū)域沒(méi)有默認(rèn)路由
?
4.完全NSSA區(qū)域
如果我們想讓OSPF非骨干區(qū)域?qū)W習(xí)不到OSPF其他區(qū)域和OSPF外部的路由
?
1、router ospf 1
2唯欣、area 1 nssa no-summary \\這個(gè)no-summary只要加在ABR上就可以嘹吨,并且會(huì)產(chǎn)生默認(rèn)路由
?
OSPF 虛鏈路
在網(wǎng)絡(luò)規(guī)劃之初,一切都是完善的境氢,但是隨著發(fā)展蟀拷,一定會(huì)出現(xiàn)擴(kuò)展的需求碰纬。比如在某個(gè)非骨干區(qū)域上發(fā)生了區(qū)域分裂,導(dǎo)致某個(gè)非骨干區(qū)域無(wú)法和骨干區(qū)域相連,就需要虛鏈路
OSPF提供的虛鏈路
?
1、router ospf 1
2席舍、router-id 8.8.8.8
3萨驶、area 2 virtual-link 4.4.4.4? ? \\2是需要跨越的區(qū)域號(hào),4.4.4.4是對(duì)方的loopback接口地址赠堵,必須還要是Router-ID
?
通過(guò)建立虛擬通道可以建立Area 0的鄰居關(guān)系
?
1、interface Tunnel0
2、ip address 192.168.84.4 255.255.255.0? ? \\隧道的IP地址
3骑歹、ip ospf 1 area 0? ? \\隧道放在area 0
4、tunnel source Ethernet0/2? ? ? \\隧道的入口墨微,往往是自己的出接口
5道媚、tunnel destination 192.168.48.8? ? \\隧道的目的地,一定要保障可達(dá)
?
OSPF的默認(rèn)路由
?
1翘县、router ospf 1
2最域、default-information originate always? ? \\always加上可以不檢查本地是否有0.0.0.0
?
OSPF鏈路的驗(yàn)證
OSPF使用HMAC來(lái)保證數(shù)據(jù)的完整性,源認(rèn)證锈麸。HMAC并不能保障數(shù)據(jù)的機(jī)密性镀脂。
信息安全的三要素:CIA
機(jī)密性(Confidentiality)指只有授權(quán)用戶(hù)可以獲取信息。
完整性(Integrity)指信息在輸入和傳輸?shù)倪^(guò)程中忘伞,不被非法授權(quán)修改和破壞薄翅,保證數(shù)據(jù)的一致性。
可用性(Availability)指保證合法用戶(hù)對(duì)信息和資源的使用不會(huì)被不正當(dāng)?shù)鼐芙^虑省。
接口認(rèn)證
?
1匿刮、Router(config-if)# ip ospf message-digest-key key-id md5 key
2、Router(config-if)# Ip ospf authentication message-digest
?
區(qū)域認(rèn)證
如果給area 0加區(qū)域認(rèn)證探颈,別忘了虛鏈路
?
1熟丸、Router(config-if)# ip ospf message-digest-key key-id md5 key
2、Router(config-router)# area 0 authentication messae-digest
?
虛鏈路認(rèn)證
?
1伪节、area 1 virtual-link 3.3.3.3 authentication-key CISCO
?
虛擬通道認(rèn)證
?
1光羞、ip ospf message-digest-key 1 md5 cisco
?
OSPF的被動(dòng)接口
Passive-interface 接口
??
如何加快收斂速度
修改hello和dead時(shí)間 ? //dead=4hello
下放缺省路由
有靜態(tài)的時(shí)候
IP route 0.0.0.0 0.0.0.0 lo0
default-information originate
沒(méi)有靜態(tài)的時(shí)候
Default-information originate always
OSPF 支持手動(dòng)匯總,默認(rèn)不支持自動(dòng)匯總
一般在ASBR/ABR上進(jìn)行匯總
OSPF實(shí)驗(yàn)
??
需求
1怀大,按照如圖所示配置好路由器的接口地址纱兑。在每臺(tái)路由器上必須建立loopback0接口。
2化借,配置好OSPF潜慎,區(qū)域劃分如圖所示,并且ospf的router-id必須為loopback0的地址。最終實(shí)現(xiàn)全網(wǎng)互聯(lián)铐炫。
3垒手,在R1、R2倒信、R3科贬、R4之間的多路訪(fǎng)問(wèn)網(wǎng)絡(luò)里面,必須是的R1成為DR鳖悠,R2成為BDR榜掌。在其余的鏈路里面必須保障OSPF鄰居的快速建立,而不需要經(jīng)過(guò)wait timer乘综。
4憎账,在R1和R2上建立loopback10,接口的地址為同樣的100.1.1.1/32來(lái)模擬外網(wǎng)的接入卡辰。要求R1和R2都向內(nèi)網(wǎng)通告一條缺省路由鼠哥,正常的時(shí)候所有的路由器通過(guò)R1的缺省路由來(lái)訪(fǎng)問(wèn)外網(wǎng),當(dāng)R1無(wú)法正常工作的時(shí)候看政,通過(guò)R2來(lái)訪(fǎng)問(wèn)外網(wǎng)。(需要在R7上使用traceroute來(lái)測(cè)試路線(xiàn)抄罕。)
5允蚣,area 2為特殊區(qū)域,該區(qū)域無(wú)法學(xué)習(xí)到ospf其他區(qū)域的路由呆贿。R7的loopback0的地址通過(guò)redistribute connected subnets命令進(jìn)入ospf嚷兔。(觀察R5和R6上的7.7.7.0路由的來(lái)源,思考原因做入。)
6冒晰,在R3上創(chuàng)建loopback1-3,地址為172.16.x.1/24(x為1-3)竟块。并且宣告進(jìn)OSPF區(qū)域1壶运,要求在area 0只能看到一條匯總的路由172.16.0.0
7,area 0需要啟用明文區(qū)域認(rèn)證浪秘,R3和R5之間明文鏈路認(rèn)證蒋情,R4和R6之間密文鏈路認(rèn)證。
8耸携,禁止area 2內(nèi)的192.168.57.0/24和192.168.67.0/24被其他區(qū)域?qū)W習(xí)到棵癣。此刻思考區(qū)域0里面關(guān)于7.7.7.0的路由消失的原因,并且需要解決7.7.7.0消失的問(wèn)題夺衍。