** OSPF(open shortest pass first 開放最短路徑優(yōu)先)因為OSPF相對最常用,比較重要一些,所以相對于之前那篇RIP,EIGRP的文章, 這里還是決定 總結的詳細一點。 ** 是鏈路狀態(tài)協(xié)議(還有一個IS-IS,IS-IS用的是OSI模型,而不是TCP/IP模型,用于運營商,電信,聯(lián)通等, IS-IS不會再深入研究,聽我們老師說這方面的學習資料現(xiàn)在也挺難找的,現(xiàn)在CCIE也不考了) 區(qū)別于距離矢量路由協(xié)議,ospf每個路由器都掌握所在區(qū)域上所有路由器的鏈路狀態(tài)信息,了解整個網(wǎng)絡的拓撲情況,因此可以獨立的計算出到達任意目的地的路由。 (RIP是一步一步和鄰居問路,走一步看一步)  特點:無類路由協(xié)議,支持VLSM 組播地址:224.0.0.5 224.0.0.6 (224.0.0.5代表所有ospf路由器的組;224.0.0.6代表DR,BDR) SPF最短路徑優(yōu)先算法 支持認證 這里簡單說一下對組播地址的理解:可以把組播地址看成一個微信群號,任何成員(組播源)往微信群(組播IP)里發(fā)送消息(組播數(shù)據(jù)),這個群里的成員(組播接收者)都會接收到此消息。 區(qū)域:每個區(qū)域的路由器只保留本區(qū)域的鏈路狀態(tài)信息(LSDB),這樣可以使得路由器的鏈路狀態(tài)數(shù)據(jù)庫不會過大。 這也使得ospf能很好應用于大型網(wǎng)絡。 區(qū)域的分類: 1.簡單整體來看可分為這兩種: 骨干區(qū)域(area0):必須有,且只有一個,必須連接所有非骨干區(qū)域。一般情況骨干區(qū)域中沒有終端用戶。 非骨干區(qū)域:根據(jù)實際情況劃分,必須連接area0,主要用來連接終端用戶和資源。 2.根據(jù)與外部路由器間關系可分為: 標準區(qū)域(Standerd):一個標準區(qū)域可以接收鏈路更新信息和路由總結 主干區(qū)域(Area0):具備標準區(qū)域所有性質 存根區(qū)域(Stub):不接受AS自治系統(tǒng)以外的路由信息 完全存根區(qū)域(TStub):不接受外部AS 以及 AS內(nèi)其他區(qū)域的路由信息 不完全存根區(qū)域(NSAA):類似于存根區(qū)域,區(qū)別是 允許接收以LSA Type 7發(fā)送的外部路由信息,并且要把LSA Type 7轉換成LSA Type 5 路由器身份:1.從整體看: ABR:區(qū)域邊界路由器,連接不同ospf區(qū)域 ABR負責把自己區(qū)域路由的摘要信息發(fā)送到area0,area0的ABR負責把信息發(fā)送到各個區(qū)域 ASBR:自治系統(tǒng)邊界路由器,連接ospf網(wǎng)絡與非ospf網(wǎng)絡 ASBR負責把非ospf網(wǎng)絡信息傳入ospf網(wǎng)絡 2.從單獨一個區(qū)域看: 內(nèi)部路由器:所有端口在同一區(qū)域的路由器,維護一個鏈路狀態(tài)數(shù)據(jù)庫。 主干路由器:具有連接area0的端口的路由器 3.從區(qū)域的單獨一個網(wǎng)段看 DR:指定路由器 BDR:備份指定路由器 DRothers:非DR,BDR的路由器 DR,BDR的選舉:這里先順便介紹幾個ospf網(wǎng)絡類型: 1.廣播多路訪問型(如以太網(wǎng));2.非廣播多路訪問型NBMA(如Frame Relay幀中繼,X.25廣域網(wǎng),ATM);3.點到點型(如PPP,HDLC);4.點到多點型 我們還要知道選舉DR,BDR的目的,作用是什么? 在一個區(qū)域中(這里的區(qū)域指同一網(wǎng)段的路由器,區(qū)分area幾區(qū)域),只需要DR作為區(qū)域中心與區(qū)域外路由器建立鄰居關系,并收集所有鏈路狀態(tài)信息,這樣可以減少大量開銷,節(jié)省帶寬,降低路由器壓力 在廣播網(wǎng)絡上,DR和BDR都使用組播地址224.0.0.6來接收鏈路狀態(tài)更新報文。 在下面這個圖中,RTA,RTB只需要與DR,BDR建立鄰接關系,而他倆之間只是鄰居關系即可。(鄰居,鄰接在下面有詳細介紹)  然后注意幾點: 1.只要是多路訪問型網(wǎng)絡(廣播和NBMA),就會選舉DR,BDR 2.不同網(wǎng)段間選DR,BDR,而不是每個OSPF區(qū)域為單位選舉 3.DR,BDR,DRothers 說的都是接口,不是設備 4.設備優(yōu)先級設置為0不參與選舉;DR,BDR不可以搶占;DR down掉后,BDR直升DR,重新選舉BDR 5.OSPF系統(tǒng)啟動后,若40s內(nèi)沒有新設備接入就會開始選舉,所以為保證DR與BDR的選舉不發(fā)生意外,建議優(yōu)先配置想成為DR與BDR的設備。 選舉規(guī)則,過程: 鄰居發(fā)現(xiàn)完成后,開始選舉 1)先比較路由器優(yōu)先級(默認都是1),高的做DR,次高BDR; 2)優(yōu)先級相同,比較RID(router-id),高的是DR。 RID可以是人為指定(最好,不會受地址變動的影響);或設備最大的環(huán)回口ip;或物理接口ip地址最大的。 為了進一步理解DR,BDR,下面看一個例題:  ospf工作過程:使用組播地址在所有開啟ospf的接口發(fā)送Hello包,建立鄰居關系,形成鄰居表;之后互相發(fā)送LSA(鏈路狀態(tài)信息)相互通告路由, 形成LSDB(鏈路狀態(tài)數(shù)據(jù)庫),再通過SPF算法(無環(huán)),計算最佳路徑后放入路由表。 (與EIGRP很像,先要形成鄰居關系,產(chǎn)生鄰居表;只不過然后相互發(fā)送的不是路由表,而是LSA) 更具體的看這個過程: 一.OSPF鄰居的建立: 鄰居有兩個狀態(tài):鄰居 和 鄰接 只交換了Hello包是鄰居;鄰居交互了LSA互相同步LSDB才能稱為鄰接(所以鄰接一定是鄰居,鄰居不一定鄰接) 下面把鄰居到鄰接的詳細步驟放在下面,有興趣可以仔細看一下, 其中涉及ospf路由器的幾個狀態(tài): 1.Down:這是鄰居的初始狀態(tài),表示沒有在鄰居失效時間間隔內(nèi)收到來自鄰居路由器的Hello數(shù)據(jù)包。 2.Attempt:此狀態(tài)只在NBMA網(wǎng)絡上存在,表示沒有收到鄰居的任何信息,但是已經(jīng)周期性的向鄰居發(fā)送報文,發(fā)送間隔為HelloInterval。如果RouterDeadInterval間隔內(nèi)未收到鄰居的Hello報文,則轉為Down狀態(tài)。 3.Init:在此狀態(tài)下,路由器已經(jīng)從鄰居收到了Hello報文,但是自己不在所收到的Hello報文的鄰居列表中,尚未與鄰居建立雙向通信關系。 4. 2-Way:在此狀態(tài)下,雙向通信已經(jīng)建立,但是沒有與鄰居建立鄰接關系。這是建立鄰接關系以前的最高級狀態(tài)。 * 到 2-way這個狀態(tài)已經(jīng)建立了鄰居關系,下面開始建立鄰接 5.ExStart:這是形成鄰接關系的第一個步驟,鄰居狀態(tài)變成此狀態(tài)以后,路由器開始向鄰居發(fā)送DD報文。主從關系是在此狀態(tài)下形成的,初始DD序列號也是在此狀態(tài)下決定的。在此狀態(tài)下發(fā)送的DD報文不包含鏈路狀態(tài)描述。 6.Exchange:此狀態(tài)下路由器相互發(fā)送包含鏈路狀態(tài)信息摘要的DD報文,描述本地LSDB的內(nèi)容。 7.Loading:相互發(fā)送LSR報文請求LSA,發(fā)送LSU報文通告LSA。 8.Full:路由器的LSDB已經(jīng)同步。 到此也代表著鄰接關系建立  這些狀態(tài)其實當我們show ospf neighbor時可以看得到 2.OSPF的更新: 1.支持觸發(fā)更新,一旦拓撲發(fā)生變化便會更新 2.也會周期性更新(30分鐘一次) 3.當收到一條LSA之后,首先查看是否在LSDB中,若沒有則加入LSDB,回復LSACK。繼續(xù)泛洪出去,并且通過SPF算法計算最佳路徑并加入路由表。 若存在,則比較誰的更“新”(看序號),序號大者新,若本地不如收到的新,更新本地LSDB并泛洪,且通過SPF算法計算最佳路徑并加入路由表,若本地的比收到的新,則將本地的泛洪出去。 (泛洪的理解:路由器或交換機 將某個接口收到的數(shù)據(jù)流從除該接口之外的所有接口發(fā)送出去。) 5種報文類型:(OSPF報文封裝在ip報文種 協(xié)議號89。) 1.Hello:最常用的一種報文,用于發(fā)現(xiàn),維護鄰居關系;并在廣播和NBMA網(wǎng)絡中用于選舉DR,BDR 2.DD(Database Description):兩臺路由器進行LSDB同步時,用DD報文描述自己的LSDB。DD報文內(nèi)容相當于一個目錄,只包含LSDB中每一條LSA的頭部。 3.LSR(Link State Request):兩個路由器交換了DD之后,知道對端路由器哪些LSA是自己沒有的,這時發(fā)送LSR請求自己缺少的LSA 4.LSU(Link State Update):回應LSR,向對端路由器發(fā)送他所需的LSA 5.LSAck:接收到LSU后返還的確認 6種常用OSPF LSA類型:LSA Type1:router LSA由每臺路由器為所屬的區(qū)域產(chǎn)生的LSA,描述本區(qū)域路由器鏈路到該區(qū)域的狀態(tài)和代價。一個邊界路由器可能產(chǎn)生多個LSA TYPE1。 LSA Type2:由DR產(chǎn)生。含有連接某個區(qū)域路由器的所有鏈路狀態(tài)和代價信息。只有DR可以監(jiān)測該信息。 LSA Type3:由ABR產(chǎn)生,含有ABR與本地內(nèi)部路由器連接信息,可以描述本區(qū)域到area0的鏈路信息。它通常匯總缺省路由而不是傳送匯總的OSPF信息給其他網(wǎng)絡。 LSA Type4:由ABR產(chǎn)生,由主干區(qū)域發(fā)送到其他ABR, 含有ASBR的鏈路信息,與LSA TYPE 3的區(qū)別在于TYPE 4描述到OSPF網(wǎng)絡的外部路由,而TYPE 3則描述區(qū)域內(nèi)路由。 LSA Type5:由ASBR產(chǎn)生,含有關于自治域外的鏈路信息。除了存根區(qū)域和完全存根區(qū)域,LSA TYPE 5在整個網(wǎng)絡中發(fā)送。 LSA Type7:由ASBR產(chǎn)生的關于NSSA的信息。LSA TYPE 7可以轉換為LSA TYPE 5。 如果有小伙伴想詳細了解下OSPF中不同類型LSA的內(nèi)容,可以點擊這里看這個博主寫的文章 配置命令最后簡單寫一下常用的配置命令吧(我這里寫的是華為設備的配置,思科的類似) 1.基本配置 odpf router-id 1.1.1.1 這個命令使能ospf 并且配置了Router-id area 0
network 192.168.1.0 0.0.0.255 先要指明區(qū)域; 下面network命令指定運行ospf協(xié)議的接口, 后面跟的是反掩碼。(反掩碼就是 “0”表示此位必須嚴格匹配;“1”表示該地址可以為任意值)  2.查看鄰居狀態(tài): display ospf peer  包括了區(qū)域,鄰居狀態(tài),鄰居協(xié)商的主從狀態(tài),DR,BDR情況
3.OSPF認證  希望對你有所幫助
|