1、背景
我們都知道,任何新技術(shù)的誕生,都是有它一定的自然規(guī)律的。絕逼不是憑白無(wú)故的產(chǎn)生。所以,龍哥希望大家學(xué)習(xí)一個(gè)技術(shù)時(shí),學(xué)會(huì)多關(guān)聯(lián)相關(guān)協(xié)議,聯(lián)想他們各自的特點(diǎn),學(xué)會(huì)把知識(shí)串聯(lián)起來(lái),這樣你就不會(huì)覺(jué)得學(xué)技術(shù)好難啊,就不會(huì)總是跟龍哥抱怨:總是記不住怎么辦呢?
會(huì)有鏈路狀態(tài)協(xié)議的OSPF產(chǎn)生,是因?yàn)榍懊婢嚯x矢量路由協(xié)議存在兩個(gè)非常嚴(yán)重的問(wèn)題:
1、收斂速度緩慢,就是太磨嘰了;2、容易產(chǎn)生路由環(huán)路。
OSPF,全稱Open Shortest Path First,即開(kāi)放最短路徑優(yōu)先,是由IETF的OSPF工作組在1989年10月開(kāi)發(fā)的,發(fā)表的RFC為1131, OSPFv1從此誕生,該協(xié)議是基于著名的DijKstra算法。不過(guò)版本1一直都是在實(shí)驗(yàn)室中使用,未推廣成功。版本2才開(kāi)始被廣泛使用,在RFC2328說(shuō)明。
注:IETF:國(guó)際互聯(lián)網(wǎng)工程任務(wù)組(The Internet Engineering Task Force,簡(jiǎn)稱 IETF。1985年年底成立。
2、LSDB
LSDB,全稱是Link State DataBase,鏈路狀態(tài)數(shù)據(jù)庫(kù)。為啥會(huì)有它呢?還不是因?yàn)榫嚯x矢量路由協(xié)議RIP,是個(gè)“傳言”路由協(xié)議,在距離矢量路由協(xié)議中,鄰居說(shuō)有啥路由,你就信啥,你心中自己都沒(méi)有一張地圖,就很容易經(jīng)常被騙,所以會(huì)導(dǎo)致環(huán)路。所以O(shè)SPF干脆就給區(qū)域內(nèi)每臺(tái)路由器都搞一張地圖,這樣就不會(huì)上當(dāng)受騙了,這個(gè)地圖就是LSDB,這樣就使得OSPF可以保證區(qū)域內(nèi)無(wú)環(huán),區(qū)域間無(wú)環(huán),通過(guò)一些規(guī)則來(lái)限制,這樣區(qū)域內(nèi)外都能保證無(wú)環(huán)。下面,簡(jiǎn)單介紹一下:
簡(jiǎn)單說(shuō)明一些,區(qū)域內(nèi)路由器一旦配置了OSPF,每臺(tái)路由器就會(huì)開(kāi)始泛洪L(zhǎng)SA(包含IP地址、掩碼、開(kāi)銷、網(wǎng)絡(luò)類型等信息),每臺(tái)都能收到LSA,會(huì)構(gòu)建一張數(shù)據(jù)庫(kù),即LSDB。然后每臺(tái)路由器都會(huì)以自己為根節(jié)點(diǎn),構(gòu)建一顆最短路徑樹(shù),然后從這棵樹(shù)中計(jì)算路由,將最優(yōu)的放進(jìn)路由表,用于指導(dǎo)業(yè)務(wù)數(shù)據(jù)轉(zhuǎn)發(fā)。
可能上圖小白看著會(huì)覺(jué)得有點(diǎn)抽象,很難受。行吧,那龍哥動(dòng)手搭個(gè)環(huán)境,聯(lián)系實(shí)際場(chǎng)景,可能就會(huì)更好理解了。
現(xiàn)在我登錄到每臺(tái)設(shè)備給大家演示一下如何查看LSDB(鏈路狀態(tài)數(shù)據(jù)庫(kù)):
從以上截圖來(lái)看,相信大家應(yīng)該發(fā)現(xiàn)一個(gè)現(xiàn)象了,那就是每臺(tái)路由器的LSDB是一樣的,說(shuō)明區(qū)域內(nèi)每臺(tái)路由器的“地圖”都是長(zhǎng)一個(gè)樣的。
然后我再每臺(tái)路由器都創(chuàng)建loopback 0,都宣告到OSPF,目的是驗(yàn)證計(jì)算路由。不然上述環(huán)境,直連路由優(yōu)先OSPF路由,所以查看路由表是不會(huì)看到OSPF路由的。
創(chuàng)建后隨便登錄一臺(tái)路由器就可以了(因?yàn)槊颗_(tái)路由器LSB都是一樣的),去查看1類LSA(1類LSA每臺(tái)路由器都會(huì)產(chǎn)生的)
然后我們?cè)赗1查看路由表中的OSPF路由:
我們可以看到只有2條OSPF路由,10.10.10.10沒(méi)有在里面,是因?yàn)樗皇亲顑?yōu)的,因?yàn)樗侵边B路由,直連路由(優(yōu)先級(jí)0)比OSPF(優(yōu)先級(jí)10)優(yōu)。
3、報(bào)文類型
不管你學(xué)什么協(xié)議,都繞不開(kāi)學(xué)習(xí)報(bào)文。報(bào)文,就是協(xié)議之間互相交付的數(shù)據(jù)內(nèi)容。
OSPF在層次模型中,是基于IP層之上的,協(xié)議號(hào)是89。
上圖看完,我們是不是就可以定位出OSPF其實(shí)也是跟TCP、UDP同一傳輸層級(jí)別的協(xié)議了。
現(xiàn)在,是不是明白了,為啥OSPF報(bào)文需要LSAck了吧? 因?yàn)镺SPF不是基于TCP,TCP有確認(rèn)機(jī)制,所以O(shè)SPF如果要確認(rèn)機(jī)制,就需要開(kāi)發(fā)一個(gè)報(bào)文類型,用來(lái)做確認(rèn),即LSAck。
現(xiàn)在,我們來(lái)總結(jié)一下OSPF的報(bào)文類型有:
Hello報(bào)文:用于發(fā)現(xiàn)、建立、維護(hù)鄰居關(guān)系。
DBD報(bào)文:鏈路狀態(tài)數(shù)據(jù)庫(kù)的目錄,即摘要信息。
LSR報(bào)文:發(fā)現(xiàn)自己缺少哪些摘要信息的,就去請(qǐng)求缺少的LSA。
LSU報(bào)文:完整的LSA信息。
LSAck報(bào)文:確認(rèn)收到LSA。
本期主題龍哥于大家分享的是OSPF鄰居狀態(tài)機(jī),所以重點(diǎn)介紹一下OSPF的Hello報(bào)文。
有些人遇到OSPF鄰居不能建立成功,總是不知所措;或者有些考試應(yīng)付考試,來(lái)問(wèn)龍哥,影響OSPF鄰居建立因素好幾條,總是記不住怎么辦呀?其實(shí),這個(gè)問(wèn)題很簡(jiǎn)單,就是你沒(méi)有把Hello報(bào)文格式內(nèi)容給了解透徹。
你細(xì)品Hello報(bào)文,再去看影響OSPF鄰居建立的因素,就清晰多了:(1)router id(2)area id(虛鏈路的area id可以不一致,什么意思)(3)認(rèn)證(4)hello/dead(5)區(qū)域類型(option位,e=1、n=0為普通/骨干區(qū)域,e=0、n=0為stub區(qū)域,e=0、n=1為nssa區(qū)域)(6)接口的地址掩碼(ma網(wǎng)絡(luò),LSA2的掩碼描述接口的掩碼,如果掩碼不一致會(huì)認(rèn)為有兩臺(tái)DR,p2p沒(méi)有問(wèn)題)不在hello包(7)接口mtu(鄰接關(guān)系出問(wèn)題)(8)ospf進(jìn)程下靜默
-
數(shù)據(jù)
+關(guān)注
關(guān)注
8文章
7030瀏覽量
89038 -
OSPF
+關(guān)注
關(guān)注
0文章
80瀏覽量
14887
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論