在此感謝劉同學做出的整理。
鄰居:執行ospf協議,雙方通過傳送hello報文後,所建立起來的關係,傳送的方式為三次握手協議。
鄰接:【所謂的full狀態】指的是兩台路由器進行資料庫的同步之後所建立起來的關係,即a把自己的資料庫發給b,b把自己的發給a,相互學習自己所沒有的。
點到點的網路型別 ppp
廣播型網路:例如乙太網
nbma網路:(非廣播多點接入)是乙個多點接入的。不能傳送廣播
ptmp網路(點到多點的網路):組網是不存在的,在nbma的基礎上,人為的方式演變出來的。
dr:全稱為指定路由器;
dr的作用:儘量減少鄰接關係的建立,但是同時保證資料庫的同步
dr如何選舉出來:
首先明確以下幾個問題:
1.什麼型別的網路需要選則dr?
只需要在廣播型和nbma網路,都是多點接入的
ptmp為啥不用?原因是中間有部分的鏈路缺失,所以無法選擇dr,一旦選取dr,會造成區域性的路由的鏈路資訊無法獲取。
2.在什麼範圍進行選舉?
要求是在同網段之間進行選舉,跨網段要選不同的dr
乙個網段需要選舉一台dr,還要選舉乙個bdr(備份的dr)
3.什麼樣的路由器可以當dr?
dr候選人的條件:在該網段中的介面優先順序必須是大於0的
4.用什麼方式進行投票?
以hello報文進行投票,即在建立鄰居的時候就會對dr進行選舉
一開始,每台路由器向外傳送報文的時候,會把自己的相關資訊封裝在裡面,這裡的相關資訊主要包括兩個:乙個是介面的優先順序資訊,第二個是路由器的標識,也稱為route id
當收到hello報文之後,會把介面的優先順序資訊提取出來,與自己的優先順序進行比較。
一種是存在乙個高的,【優先順序越大,數值越高】優先順序低的就放棄dr的競爭權利。
一種是兩個的優先順序相同,那麼就比較route id的數值的大小,route id的數值越大,優先順序越高。
按照以上的方法,選出的最好的就是dr,次優的就是bdr
5.dr,bdr,非dr的關係是怎麼建立的?
dr,bdr與非dr建立的是鄰接關係。非dr之間建立的是鄰居關係。
即最終的資料庫的同步是通過dr來同步的。
6.如果選好dr和非dr之後,又重新加入一台路由器,不會重新選舉dr,即dr的地位是永久制的。dr的傳承是世襲制的,dr一旦損壞,就讓bdr來。
首先是為了減少lsa的數量,第二是為了減少cpu的計算消耗;第三是為了減少網路動盪帶來的影響。
主要是為了當某台路由器進行反覆的動盪,會引起全網的ospf的路由器,會影響網路的穩定性。其次是為了節約記憶體和cpu的使用。
骨幹區:area 0,所有的資訊必須由骨幹區來發布
非骨幹區:其他,非骨幹區之間不允許兩兩進行路由資訊的**
為什麼會用層次性的區域的劃分?
為了避免路迴路,因為如果不採用層次性的區域的劃分,會導致路由迴路。
即ospf協議無環路!!!
解釋為:在區域的內部,是通過ospf的協議保證無環路,在區域之間是通過骨幹區和非骨幹區來避免環路產生。
以單個介面為單位進行劃分的,不是以整台路由器。
第一種是內部路由器,稱為ir。即所有的介面都被劃分為非骨幹區
第二種是區域邊界路由器,稱為abr,即至少有乙個介面被劃分在骨幹區。
第三種是骨幹路由器,稱為br,即所有的介面都被劃分為骨幹區
第四種是自子系統邊界路由器,稱為asbr,位於兩個自治系統之間的路由器,作用是引入其他自治系統的路由資訊。只要引入了其他的路由資訊,就稱為asbr。
ospf:開放最短路徑優先,屬於igp內部閘道器路由協議
協議屬於鏈路狀態演算法
執行於ip協議之上,使用的ip協議號為89
支援無類(不分類)域間路由(cidr),類指的是abc類ip,cidr就是在自治系統之間傳播聚合路由的功能
支援區域劃分
無路由自環
路由變化收斂的速度很快
使用ip組播收發協議資料【1對多,屬於同乙個組播組才會接收】ospf使用的組播的位址為:224.0.0.5和224.0.0.6,224.0.0.5是針對所有的非dr路由器,224.0.0.6針對所有的dr路由器
支援多條等值路由
等值路由是目的地相同,發現的協議相同,開銷相同,唯一不同的是下一跳和出介面,等值路由的作用是用來實現流量的負載分擔的。
ospf的等值路由是通過cost值來比較進行產生的,ospf的cost值和rip協議的cost的計算不同,rip協議的cost的計算是按照跳數去計算,ospf的cost值是按照頻寬進行計算。
ospf的最多支援的等值路由的條目數是32條。
支援協議報文的認證
為了防止非法的使用者進行接入,騙取路由資訊,攻擊網路。
ospf支援協議的認證,認證的方式分為兩種,一種是介面下的認證,一種是區域認證。
如圖所示,首先是每個路由器生成自己的lsa,然後是范洪lsa【鏈路狀態描述表,即當前可以看到的組網資訊】每個路由器最後都會得到整個組網的資訊,最終形成乙個資料庫,稱為lsdb。最後通過spf演算法生成生成樹,然後從生成樹中生成最優的路由加入到路由表。
hello報文:建立鄰居時使用
dd(database description)報文:主要的作用是用來傳遞lsa的頭部資訊。
lsr(lsa request)報文:如果發現摘要的頭部資訊是並沒有的,可以傳送請求,主要的作用是攜帶需要的lsa的頭部資訊
lsu(lsa update)報文:攜帶具體的lsa的資訊內容。
lsack(link state acknowledgment)報文:作用就是確認表明已經收到了update的報文,以至於不會一直重傳。