OSPF 開放式最短路徑優先協議
阿新 • • 發佈:2019-02-04
今天偶爾跟同事聊到網路的問題,這一陣子忙的,把學過的東西都忘得迷迷糊糊的了,今晚回來重新把這個點先整理下來,待我有時間再把這塊串成線。
看了一篇很有意思的小文章,轉載過來,比我們老師講的有意思,不過哈哈,當年茱莉雅老師給我們講的也不差。嘿嘿。。。。來,先看個小童話:
http://kingdee.blog.51cto.com/98119/27310
可以把整個網路(一個自治系統AS)看成一個王國,這個王國可以分成幾個 區(area),現在我們來看看區域內的某一個人(你所在的機器root)是怎樣得到一張 世界地圖(routing table)的。
首先,你得跟你周圍的人(同一網段如129.102)建立基本聯絡。你大叫一聲 “我在這!”(發HELLO報文),於是,周圍的人知道你的存在,他們也會大叫,這樣 你知道周圍大概有哪些人,你與他們之間建立了鄰居(neighbor)關係,當然,他們 之間也有鄰居關係。
在你們這一群人中,最有威望(Priority優先順序)的人會被推薦為首領( Designated Router)首領與你之間是上下級關係(adjacency鄰接),它會與你建立 單線聯絡,而不許你與其它鄰居有過多交往,他會說:“那樣做的話,街上太擠了 ”。
你只好通過首領來知道更多的訊息了,首先,你們互通訊息,他告訴你他知 道的所有地圖的地名,你也會告訴他你現知道的地名,當然上也許只有你一個點。 (Database Deion資料庫描述報文)
你發現地名錶中有你缺少的或比你新的東西,你會問他要一份更詳細的資料 ,他發現你的地名錶中有他需要的東西,他也會向你索求新資料。(Link State Request連線狀態請求報文)
當然,你們毫不猶豫地將一份詳細資料傳送給對方。(Link State Update連 接狀態升級報文)
收到地圖後,互相致謝表示收到了。(Link State Ack連線狀態響應報文)
現在,你已經盡你所能得到一份地圖(Link State DataBase連線狀態資料庫 ),你去查詢地圖把到所有地方的路挑一條最近(shortest path最短路)的,記 為一張表格(routing table路由表),當然以後查這份表格就知道到目的地的一 條最近的路了。地圖也要收好,萬一表格上的某條路不通了可以通過圖去找一條新 的路。
其實跟你有聯絡的,只是周圍一群人,外面的訊息要通過首領來知道。因為 你的地圖是跟首領的一致,我們假設你是首領,你要去畫一份世界地圖。
你命令所有手下向你通報訊息,你可以知道你這一群人的任何一點點小動靜 (event事件)。你手下還會有同時屬於兩群人的傢伙(同一區內兩網段),他會 告訴你另一群人的地圖,當然也會把你們這一群人的地圖洩露,(不過,無所謂啦 )。這樣,整個區的地圖你知道了(對於不知道的那也沒辦法,我們盡力了)。
通過不停地交換地圖,現在,整個區的人都有同樣的地圖了,住在區邊境上 的人義不容辭地把這個區的地圖(精確到每一群人)傳送到別的區,把別的區資訊 傳送進來。國王會把這些邊境的人命名為骨幹(backbone area)。通過骨幹人士 的不懈努力,現在,整個國家的地圖你都瞭解得一清二楚了。
有些人“裡通外國”(AS Boundary Router自治系統邊界路由器) ,他們知 道一些“出國”(AS External route自治系統外部路由)的路,當然他們會把這些 祕密公之與眾(import 引入),通過資訊的傳遞,現在,你已經有一張完整的“ 世界地圖”了。
OSPF是這樣標記最短的路的:對於某個目的地,首先,考慮是否有同一區內 部到目的地的路(intra area區域內),如果有,則在其中取一條離你最近的(花 費最小),寫進你的表格中,這個目的地可能是到本群體某個人也可能是到其他群 體的,對於經過其他區域的路由,你會不予考慮,跟自己人(同區域)打交道總比 與外人(其他區域)打交道好;如果沒有本區的路,你只好通過別的區域了(區域 間),你只要在地圖上找最近的就是了;如果你發現目的地在國外,你也只能先把 它標記到你的表格上,期待什麼時候王國擴張到那,你就可以把它標記到國內地圖 上了。
OSPF就是這樣,給你一份“世界地圖”,並且在上面標記了最短的路,如此 而已罷了
看完了上面的童話,也就熟悉了ospf協議的大概意思,這個協議時用來幹嘛的。。接下來我們再接觸一些古板的東西,會有一個嚴謹的概念:
http://february.blog.51cto.com/717356/149114