一、OSPF路由協(xié)議的基本概念
1-OSPF路由協(xié)議的基本特點(diǎn)
(1)OSPF可適應(yīng)大規(guī)模網(wǎng)絡(luò);RIP適應(yīng)于小規(guī)模的網(wǎng)絡(luò);
(2)OSPF路由變化收斂快;RIP路由收斂有延遲,容易產(chǎn)生環(huán)路;
(3)OSPF無(wú)路由自環(huán),自動(dòng)分割環(huán)路;
(4)OSPF支持變長(zhǎng)子網(wǎng)掩碼,可以針對(duì)非標(biāo)準(zhǔn)子網(wǎng)進(jìn)行精確的路由選擇,在進(jìn)行路由標(biāo)記時(shí),可以對(duì)子網(wǎng)進(jìn)行精確標(biāo)記;RIP在標(biāo)記子網(wǎng)時(shí),無(wú)法指定固定的子網(wǎng),即無(wú)法標(biāo)記子網(wǎng)的掩碼;
(5)支持等值路由,即為到達(dá)同一個(gè)目的 IP 或者目的網(wǎng)段存在多條 Cost 值相等的不同路由路徑。RIP也存在等價(jià)路由。
https://baike.baidu.com/item/%E7%AD%89%E4%BB%B7%E8%B7%AF%E7%94%B1/4796463?fr=aladdin
(6)支持區(qū)域劃分,即將一個(gè)大的OSPF區(qū)域分割成幾個(gè)小的區(qū)域,區(qū)域與區(qū)域之間通過(guò)邊界路由器進(jìn)行連接;
(7)提供路有分級(jí)管理,在OSPF中一定存在一個(gè)0區(qū)域,它作為所有區(qū)域的核心,若無(wú)0區(qū)域則網(wǎng)絡(luò)無(wú)線正常通訊;
(8)支持驗(yàn)證,即有線路兩端開(kāi)啟OSPF的驗(yàn)證,也可以開(kāi)啟0區(qū)域驗(yàn)證;
(9)支持以組播地址發(fā)送協(xié)議報(bào)文;
https://baike.baidu.com/item/%E7%BB%84%E6%92%AD%E5%9C%B0%E5%9D%80/6095039?fr=aladdin
2-Router ID:一個(gè)32bit的無(wú)符號(hào)整數(shù),是一臺(tái)路由器的唯一標(biāo)識(shí),在整個(gè)自治系統(tǒng)內(nèi)唯一。通常用IP地址進(jìn)行標(biāo)識(shí)的。
在不指明RouterID的情況下,路由器會(huì)自動(dòng)進(jìn)行選舉,選舉規(guī)則如下:
(1)在多l(xiāng)oopback口的OSPF路由器上,以最大的loopback口地址作為Router-id.
(2) 在只有一個(gè)loopback口的OSPF路由器上,選擇loopback口地址作為Router-id.
(3)沒(méi)loopback口的OSPF路由器,選擇物理接口上IP地址最大的作為Router-id.
3-回環(huán)地址:(loopback)指將電子信號(hào)、數(shù)據(jù)流等原樣送回發(fā)送者的行為。它主要用于對(duì)通信功能的測(cè)試。
https://baike.baidu.com/item/loopback/2779210?fr=aladdin
4-協(xié)議號(hào):也稱(chēng)為進(jìn)程號(hào)(也就是你router ospf 110中的110)只有本地意義,任何一臺(tái)路由器的進(jìn)程號(hào)可以不一致都可以建立鄰居。其作用是在同一臺(tái)路由器區(qū)別不同的OSPF路由進(jìn)程。
在一臺(tái)路由器上只能創(chuàng)建一個(gè)RIP路由協(xié)議,但是在一臺(tái)路由器上可以創(chuàng)建多個(gè)OSPF路由協(xié)議,各路由協(xié)議之間通過(guò)進(jìn)程號(hào)來(lái)區(qū)分。
5-AS(自治系統(tǒng)編號(hào)):在互聯(lián)網(wǎng)中,一個(gè)自治系統(tǒng)(AS)是一個(gè)有權(quán)自主地決定在本系統(tǒng)中應(yīng)采用何種路由協(xié)議的小型單位。在OSPF中一般以區(qū)域來(lái)劃分,每個(gè)區(qū)域是一個(gè)小型的自治系統(tǒng)。
https://baike.baidu.com/item/%E8%87%AA%E6%B2%BB%E7%B3%BB%E7%BB%9F/129715?fr=aladdin
6-OSPF報(bào)文不轉(zhuǎn)發(fā):通常OSPF報(bào)文是不轉(zhuǎn)發(fā)的,只傳遞一跳,即在IP報(bào)文頭中TTL值被設(shè)為1。(虛連接除外)
7-LSA(鏈路狀態(tài)廣播)是鏈接狀態(tài)協(xié)議使用的一個(gè)分組,它包括有關(guān)鄰居和通道成本的信息。 LSA被路由器接收用于維護(hù)它們的路由選擇表。 LSA: Link-StateAdvertisement。
https://baike.baidu.com/item/lsa
8-OSPF路由協(xié)議:用于網(wǎng)際協(xié)議(IP)網(wǎng)絡(luò)的鏈路狀態(tài)路由協(xié)議。該協(xié)議使用鏈路狀態(tài)路由算法的內(nèi)部網(wǎng)關(guān)協(xié)議(IGP),在單一自治系統(tǒng)(AS)內(nèi)部工作。適用于IPv4的OSPFv2協(xié)議定義于RFC2328,RFC 5340定義了適用于IPv6的OSPFv3。
9-實(shí)現(xiàn)過(guò)程:
(1)初始化形成端口初始信息:在路由器初始化或網(wǎng)絡(luò)結(jié)構(gòu)發(fā)生變化(如鏈路發(fā)生變化,路由器新增或損壞)時(shí),相關(guān)路由器會(huì)產(chǎn)生鏈路狀態(tài)廣播數(shù)據(jù)包LSA,該數(shù)據(jù)包里包含路由器上所有相連鏈路,也即為所有端口的狀態(tài)信息。
(2)路由器間通過(guò)泛洪(Floodingl機(jī)制交換鏈路狀態(tài)信息:各路由器一方面將其LSA數(shù)據(jù)包傳送給所有與其相鄰的OSPF路由器,另一方面接收其相鄰的OSPF路由器傳來(lái)的LSA數(shù)據(jù)包,根據(jù)其更新自己的數(shù)據(jù)庫(kù)。
(3)形成穩(wěn)定的區(qū)域拓?fù)浣Y(jié)構(gòu)數(shù)據(jù)庫(kù):OSPF路由協(xié)議通過(guò)泛洪法逐漸收斂,形成該區(qū)域拓?fù)浣Y(jié)構(gòu)的數(shù)據(jù)庫(kù),這時(shí)所有的路由器均保留了該數(shù)據(jù)庫(kù)的一個(gè)副本。
(4)形成路由表:所有的路由器根據(jù)其區(qū)域拓?fù)浣Y(jié)構(gòu)數(shù)據(jù)庫(kù)副本采用最短路徑法計(jì)算形成各自的路由表。
10-DR 和BDR 的選舉原則:
(1)廣播網(wǎng)絡(luò)或NBMA 類(lèi)型的網(wǎng)絡(luò)需要選舉指定路由器DR(Designated Router)和備份指定路由器BDR(Backup Designated Router);
(2)路由器接口的優(yōu)先級(jí)Priority 將影響接口在選舉DR 時(shí)所具有的資格。優(yōu)先級(jí)為0 的路由器不會(huì)被選舉為DR 或BDR;
(3)DR 由本網(wǎng)段中所有路由器共同選舉。Priority 大于0 的路由器都可作為“候選者”,選票就是Hello 報(bào)文,OSPF 路由器將自己選出的DR 寫(xiě)入Hello報(bào)文中,發(fā)給網(wǎng)段上的其它路由器。當(dāng)同一網(wǎng)段的兩臺(tái)路由器都宣布自己是DR 時(shí),Priority 高的勝出。如果Priority 相等,則Router ID 大的勝出;
(4)如果DR 失效,則網(wǎng)絡(luò)中的路由器必須重新選舉DR,并與新的DR 同步,為了縮短這個(gè)過(guò)程,OSPF 提出了BDR(Backup Designated Router,備份指定路由器)的概念,與DR同時(shí)被選舉出來(lái)。BDR 也與本網(wǎng)段內(nèi)的所有路由器建立鄰接關(guān)系并交換路由信息。DR 失效后,BDR 立即成為DR,由于不需要重新選舉,并且鄰接關(guān)系已經(jīng)建立,所以這個(gè)過(guò)程可以很快完成。這時(shí),還需要選舉出一個(gè)新的BDR,這時(shí)不會(huì)影響路由的計(jì)算。
11-DR 和BDR 的指導(dǎo)思想:
(1)選舉制:DR 是各路由器選出來(lái)的,而非人工指定的,雖然管理員可以通過(guò)配置priority 干預(yù)選舉過(guò)程。
(2)終身制:DR 一旦當(dāng)選,除非路由器故障,否則不會(huì)更換,即使后來(lái)的路由器priority 更高
(3)世襲制:DR 選出的同時(shí)也選出BDR 來(lái),DR 故障后,由BDR 接替DR 成為新的DR。
12-DR 和BDR 的注意事項(xiàng):
(1)只有在廣播和NBMA 的鏈路上才會(huì)選舉DR,在PTP和PTMP 的鏈路上不會(huì)選舉DR。
(2)DR 是針對(duì)一個(gè)網(wǎng)段內(nèi)的設(shè)備選舉的,對(duì)于一臺(tái)路由器來(lái)說(shuō),可能它在某個(gè)接口上是DR
(3)在其它接口上是BDR、DR,或者因?yàn)槭荘TP 的鏈路而不參加DR 的選舉。
(4)在廣播的網(wǎng)絡(luò)上必須存在DR 才能夠正常工作,但BDR 不是必需的。
(5)一個(gè)網(wǎng)段中即使只有一臺(tái)路由器,也要選舉DR。
(6)由于“終身制”的原因,網(wǎng)段中的DR不一定是priority 最高的,但通常是“來(lái)的早”的路由器。
二、單區(qū)域應(yīng)用實(shí)例
1-拓?fù)浣Y(jié)構(gòu)圖
2-配置要求
(1)網(wǎng)絡(luò)基本配置-設(shè)備名;
(2)IP地址規(guī)劃;
(3)規(guī)劃loopback 0的地址【用于router-id】;
(4)規(guī)劃loopback 1的地址【由于測(cè)試地址】;
(5)配置OSPF路由協(xié)議【只有區(qū)域0】
(7)驗(yàn)證路由表和鄰居表;
(8)IP地址規(guī)劃:192.168.編號(hào).0/24;例如R1和R2之間用192.168.12.0/24;
(9)規(guī)劃lookback 0:192.168.編號(hào).0/24,例如R1的IP地址為192.168.1.0/24;
(10)規(guī)劃lookback 1:192.168.編號(hào).0/24,例如R1的IP地址為192.168.11.0/24;
3-配置過(guò)程
(1)網(wǎng)絡(luò)設(shè)備的基本配置-配置設(shè)備名
Router>enable //進(jìn)入特權(quán)模式
Router#configureterminal //進(jìn)入全局配置模式
Router(config)#hostnameR3 //設(shè)置主機(jī)名
R3(config)#
(2)IP地址規(guī)劃
①R1接口的配置
R1(config)#interfaceSerial0/0/0 //進(jìn)入接口
R1(config-if)#no shutdown //打開(kāi)接口
R1(config-if)#ip address192.168.12.1 255.255.255.0 //配置該接口的IP地址
R1(config-if)#exit //退到特權(quán)模式
R1(config)#interfaceSerial0/1/0
R1(config-if)#no shutdown
R1(config-if)#ip address192.168.14.1 255.255.255.0
R1(config-if)#exit
R1(config)#interfaceSerial0/1/1
R1(config-if)#no shutdown
R1(config-if)#ip address192.168.15.1 255.255.255.0
R1(config-if)#exit
R1(config)#interfaceSerial0/0/1
R1(config-if)#no shutdown
R1(config-if)#ip address192.168.13.1 255.255.255.0
R1(config-if)#int loopback 0
R1(config-if)#ip add192.168.1.1 255.255.255.0
R1(config-if)#int loopback 1
R1(config-if)#ip add192.168.11.1 255.255.255.0
②R2接口的配置
R2(config)#interfaceSerial0/0/0 //進(jìn)入接口
R2(config-if)#noshutdown //打開(kāi)接口
R2(config-if)#ip address192.168.12.2 255.255.255.0 //配置該接口的IP地址
R2(config-if)#exit //退到特權(quán)模式
R2(config)#interfaceSerial0/1/0
R2(config-if)#no shutdown
R2(config-if)#ip address192.168.23.2 255.255.255.0
R2(config-if)#exit
R2(config)#interfaceSerial0/0/1
R2(config-if)#no shutdown
R2(config-if)#ip address192.168.25.2 255.255.255.0
R2(config-if)#exit
R2(config)#interfaceSerial0/2/0
R2(config-if)#no shutdown
R2(config-if)#ip address192.168.24.2 255.255.255.0
R2(config-if)#int loopback 0
R2(config-if)#ip add192.168.2.1 255.255.255.0
R2(config-if)#int loopback 1
R2(config-if)#ip add192.168.22.1 255.255.255.0
③R3接口的配置
R3(config)#interfaceSerial0/0/1 //進(jìn)入接口
R3(config-if)#noshutdown //打開(kāi)接口
R3(config-if)#ip address192.168.13.3 255.255.255.0 //配置該接口的IP地址
R3(config-if)#exit //退到特權(quán)模式
R3(config)#interfaceSerial0/1/0
R3(config-if)#no shutdown
R3(config-if)#ip address192.168.23.3 255.255.255.0
R3(config-if)#exit
R3(config)#interfaceSerial0/2/1
R3(config-if)#no shutdown
R3(config-if)#ip address192.168.34.3 255.255.255.0
R3(config-if)#exit
R3(config)#interfaceSerial0/2/0
R3(config-if)#no shutdown
R3(config-if)#ip address192.168.35.3 255.255.255.0
R3(config-if)#int loopback 0
R3(config-if)#ip add192.168.3.1 255.255.255.0
R3(config-if)#int loopback 1
R3(config-if)#ip add192.168.33.1 255.255.255.0
④R4接口的配置
R4(config)#interfaceSerial0/2/0 //進(jìn)入接口
R4(config-if)#noshutdown //打開(kāi)接口
R4(config-if)#ip address192.168.24.4 255.255.255.0 //配置該接口的IP地址
R4(config-if)#exit //退到特權(quán)模式
R4(config)#interfaceSerial0/1/0
R4(config-if)#no shutdown
R4(config-if)#ip address192.168.14.4 255.255.255.0
R4(config-if)#exit
R4(config)#interfaceSerial0/2/1
R4(config-if)#no shutdown
R4(config-if)#ip address 192.168.34.4255.255.255.0
R4(config-if)#exit
R4(config)#interfaceSerial0/0/0
R4(config-if)#no shutdown
R4(config-if)#ip address192.168.45.4 255.255.255.0
R4(config-if)#int loopback 0
R4(config-if)#ip add192.168.4.1 255.255.255.0
R4(config-if)#int loopback 1
R4(config-if)#ip add192.168.44.1 255.255.255.0
⑤R5接口的配置
R5(config)#interfaceSerial0/0/0 //進(jìn)入接口
R5(config-if)#noshutdown //打開(kāi)接口
R5(config-if)#ip address192.168.45.5 255.255.255.0 //配置該接口的IP地址
R5(config-if)#exit //退到特權(quán)模式
R5(config)#interfaceSerial0/0/1
R5(config-if)#no shutdown
R5(config-if)#ip address192.168.25.5 255.255.255.0
R5(config-if)#exit
R5(config)#interfaceSerial0/1/1
R5(config-if)#no shutdown
R5(config-if)#ip address192.168.15.5 255.255.255.0
R5(config-if)#exit
R5(config)#interfaceSerial0/2/0
R5(config-if)#no shutdown
R5(config-if)#ip address192.168.35.5 255.255.255.0
R5(config-if)#int loopback 0
R5(config-if)#ip add192.168.5.1 255.255.255.0
R5(config-if)#int loopback 1
R5(config-if)#ip add 192.168.55.1255.255.255.0
(3)配置路由
①R1的路由配置
R1(config-if)#router ospf 1//進(jìn)入OSPF路由配置界面
R1(config-router)#router-id192.168.2.1 //配置R1的router-id
R1(config-router)#network192.168.2.1 0.0.0.0 area 0 //聲明router-id
R1(config-router)#network192.168.22.0 0.0.0.255 area 0 //聲明loopback 1的網(wǎng)段
R1(config-router)#network192.168.12.0 0.0.0.255 area 0 //聲明R1與R2之間的網(wǎng)段
R1(config-router)#network192.168.23.0 0.0.0.255 area 0 //聲明R2與R3之間的網(wǎng)段
R1(config-router)#network192.168.25.0 0.0.0.255 area 0 //聲明R1與R2之間的網(wǎng)段
R1(config-router)#network192.168.24.0 0.0.0.255 area 0 //聲明R1與R2之間的網(wǎng)段
②R2的路由配置
R2(config-if)#router ospf 1//進(jìn)入OSPF路由配置界面
R2(config-router)#router-id192.168.2.1 //配置R1的router-id
R2(config-router)#network 192.168.2.10.0.0.0 area 0 //聲明router-id
R2(config-router)#network192.168.22.0 0.0.0.255 area 0 //聲明loopback 1的網(wǎng)段
R2(config-router)#network192.168.12.0 0.0.0.255 area 0 //聲明R1與R2之間的網(wǎng)段
R2(config-router)#network192.168.23.0 0.0.0.255 area 0 //聲明R3與R2之間的網(wǎng)段
R2(config-router)#network192.168.25.0 0.0.0.255 area 0 //聲明R5與R2之間的網(wǎng)段
R2(config-router)#network192.168.24.0 0.0.0.255 area 0 //聲明R4與R2之間的網(wǎng)段
③R3的路由配置
R3(config-if)#router ospf 1//進(jìn)入OSPF路由配置界面
R3(config-router)#router-id192.168.3.1 //配置R1的router-id
R3(config-router)#network192.168.3.1 0.0.0.0 area 0 //聲明router-id
R3(config-router)#network192.168.33.0 0.0.0.255 area 0 //聲明loopback 1的網(wǎng)段
R3(config-router)#network192.168.13.0 0.0.0.255 area 0 //聲明R1與R3之間的網(wǎng)段
R3(config-router)#network192.168.23.0 0.0.0.255 area 0 //聲明R2與R3之間的網(wǎng)段
R3(config-router)#network192.168.34.0 0.0.0.255 area 0 //聲明R4與R3之間的網(wǎng)段
R3(config-router)#network192.168.35.0 0.0.0.255 area 0 //聲明R5與R3之間的網(wǎng)段
④R4的路由配置
R4(config)#router ospf 1 //進(jìn)入OSPF路由配置界面
R4(config-router)#router-id192.168.4.1 //配置R1的router-id
R4(config-router)#network192.168.4.1 0.0.0.0 area 0 //聲明router-id
R4(config-router)#network192.168.44.0 0.0.0.255 area 0 //聲明loopback 1的網(wǎng)段
R4(config-router)#network192.168.24.0 0.0.0.255 area 0 //聲明R2與R4之間的網(wǎng)段
R4(config-router)#network192.168.14.0 0.0.0.255 area 0 //聲明R1與R4之間的網(wǎng)段
R4(config-router)#network192.168.34.0 0.0.0.255 area 0 //聲明R3與R4之間的網(wǎng)段
R4(config-router)#network192.168.45.0 0.0.0.255 area 0 //聲明R5與R4之間的網(wǎng)段
⑤R5的路由配置
R4(config)#router ospf 1 //進(jìn)入OSPF路由配置界面
R4(config-router)#router-id192.168.5.1 //配置R1的router-id
R4(config-router)#network192.168.5.1 0.0.0.0 area 0 //聲明router-id
R4(config-router)#network192.168.55.0 0.0.0.255 area 0 //聲明loopback 1的網(wǎng)段
R4(config-router)#network192.168.45.0 0.0.0.255 area 0 //聲明R4與R5之間的網(wǎng)段
R4(config-router)#network192.168.25.0 0.0.0.255 area 0 //聲明R2與R5之間的網(wǎng)段
R4(config-router)#network192.168.15.0 0.0.0.255 area 0 //聲明R1與R5之間的網(wǎng)段
R4(config-router)#network192.168.35.0 0.0.0.255 area 0 //聲明R3與R5之間的網(wǎng)段
(4)查看每個(gè)路由器的路由表情況
①R1的路由表情況,線上與該路由器非直連的網(wǎng)段的所有路由信息
②R2的路由表情況,線上與該路由器非直連的網(wǎng)段的所有路由信息
③R3的路由表情況,線上與該路由器非直連的網(wǎng)段的所有路由信息
④R4的路由表情況,線上與該路由器非直連的網(wǎng)段的所有路由信息
⑤R5的路由表情況,線上與該路由器非直連的網(wǎng)段的所有路由信息
(5)查看鄰居表的情況
第一個(gè)是Neighbor ID,是你鄰居的OSPF標(biāo)識(shí)名字,也就是route-id ,手動(dòng)設(shè)置是最優(yōu)選擇的,其實(shí)是LOOPBACK口最高的IP地址,其次是物理口IP最高的地址,默認(rèn)設(shè)置完成后,route-id選完后,想要改變,需要重置OSPF進(jìn)程。
第二個(gè)是Pri,表示這臺(tái)路由器的優(yōu)先值,默認(rèn)是1,參與DR,BDR的選擇,如果是0,就永遠(yuǎn)不參與DR,BDR的選擇。
第三個(gè)是State 表示OSPF當(dāng)前的狀態(tài),ospf狀態(tài)有,down,two-way,exstart,exchange,loading ,full。down 雙方接口down狀態(tài);init 初始化狀態(tài)即單向通信,A收到B的hello(或B收到A的hello);two-way 雙方互相通信狀態(tài),彼此收到對(duì)方的hello,并且從hello包中讀取信息,建立鄰居關(guān)系;exstart 就是將要開(kāi)始發(fā)送DBD,在發(fā)送之前確認(rèn)誰(shuí)先發(fā),誰(shuí)后發(fā),他們自動(dòng)協(xié)商,依靠router id,越大越優(yōu)先;exchange 上邊確認(rèn)主從關(guān)系后,開(kāi)始交換DBD即摘要,會(huì)有確認(rèn);loading 收到BDB后進(jìn)行比較是否相同(比較依據(jù)查看序列號(hào)),然后進(jìn)行LSR、LSU的請(qǐng)求和更新;full 彼此的數(shù)據(jù)相同即LSA一樣,此狀態(tài)為鄰接關(guān)系
第四個(gè)是Dead Time,死亡時(shí)間,在廣播和點(diǎn)到點(diǎn)網(wǎng)絡(luò)類(lèi)型中默認(rèn)40秒,NBMA中默認(rèn)是120秒。
第五個(gè)是Address,鄰居的接口IP地址。
第六個(gè)是Interface,鄰居的接口號(hào)。
(6)查看路由的OSPF數(shù)據(jù)庫(kù)表的情況
① Link ID;是指Link State ID,代表整個(gè)路由器,而不是某個(gè)鏈路;
② ADV Router;是指鏈路狀態(tài)信息的路由器ID;也即Router-id的值;
③ Age;老化時(shí)間;OSPF每隔1800s定時(shí)刷新一次LSA,如果LSA在3600s內(nèi)未被刷新,LSA將從數(shù)據(jù)庫(kù)中刪除,即老化掉。
④ Seq#;序列號(hào);OSPFv2使用線性空間,序列號(hào)從0x80000001到0x7fffffff
⑤ Checksum;校驗(yàn)和;是計(jì)算除了Age以外的字段,因?yàn)锳ge在每經(jīng)過(guò)一個(gè)節(jié)點(diǎn)都會(huì)變大(InfTransDelay),如果包含了它,每個(gè)節(jié)點(diǎn)都必須重新計(jì)算校驗(yàn)和。鏈路狀態(tài)數(shù)據(jù)庫(kù)中的LSA每經(jīng)過(guò)5分鐘都需要重新計(jì)算一次校驗(yàn)和,以確保在數(shù)據(jù)庫(kù)中沒(méi)被破壞。
⑥ Link count;通告路由器在本區(qū)域內(nèi)的鏈路數(shù)目。
聯(lián)系客服