




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、目錄前 言.2ospf 協議分析 .5第一節:背景介紹 .5第二節:術語和基本概念.6第三節、得到連接狀態數據庫. 11第四節:計算路由表.15第五節: ospf協議與其它路由協議的比較.181. 網絡結構不同: .182. 協議的運行有差異: .193. 使用情況不同: .19ospf 疑難解析 .21問題 1:ospf 的有什么特點? .21問題 2:ospf 在實際運行中的情況怎樣?.22問題 3:ospf 協議中的一些常數是怎樣規定的。.24問題 4:ospf 報文的具體格式怎樣?.26問題 5:ospf 的適用范圍怎樣? .30問題 6:ospf 協議的功能還將會有哪些改善?.30o
2、spf 實現的思路 .321.路由協議開發所使用的統一平臺.322.ospf實現的模塊結構 .333.ospf的配置命令實現 .331前 言 ospf 協議是 (open shortest path fist) 開放式最短路優先協議的縮寫, 是用于計算機網絡上發現路由,計算路由的一種協議。ospf 入門童話 可以把整個網絡(一個自治系統as)看成一個王國,這個王國可以分成幾個區(area), 現在我們來看看區域內的某一個人(你所在的機器 root)是怎樣得到一張世界地圖 (routing table)的。首先,你得跟你周圍的人(同一網段如129.102)建立基本聯系。你大叫一聲“我在這!”(發
3、 hello 報文),于是,周圍的人知道你的存在,他們也會大叫,這樣你知道周圍大概有哪些人,你與他們之間建立了鄰居(neighbor)關系,當然,他們之間也有鄰居關系。在 你 們 這 一 群 人 中 , 最 有 威望 (priority優 先級 )的 人會 被推 薦為 首領(designated router)首領與你之間是上下級關系(adjacency鄰接),它會與你建立單線聯系,而不許你與其它鄰居有過多交往,他會說:“那樣做的話,街上太擠了” 。你只好通過首領來知道更多的消息了,首先,你們互通消息,他告訴你他知道的所有地圖的地名, 你也會告訴他你現知道的地名, 當然上也許只有你一個點。(d
4、atabase description數據庫描述報文 ) 你發現地名表中有你缺少的或比你新的東西,你會問他要一份更詳細的資料,他發現你的地名表中有他需要的東西,他也會向你索求新資料。(link state request連接狀態請求報文 ) 當然,你們毫不猶豫地將一份詳細資料發送給對方。(link state update連接狀態升級報文 ) 2收到地圖后,互相致謝表示收到了。(link state ack 連接狀態響應報文 ) 現在,你已經盡你所能得到一份地圖 (link state database連接狀態數據庫),你去查找地圖把到所有地方的路挑一條最近(shortest path 最短路
5、)的,記為一張表格( routing table路由表) ,當然以后查這份表格就知道到目的地的一條最近的路了。地圖也要收好,萬一表格上的某條路不通了可以通過圖去找一條新的路。其實跟你有聯系的,只是周圍一群人,外面的消息要通過首領來知道。因為你的地圖是跟首領的一致,我們假設你是首領,你要去畫一份世界地圖。你命令所有手下向你通報消息,你可以知道你這一群人的任何一點點小動靜(event 事件) 。你手下還會有同時屬于兩群人的家伙(同一區內兩網段),他會告訴你另一群人的地圖,當然也會把你們這一群人的地圖泄露,(不過,無所謂啦)。這樣,整個區的地圖你知道了(對于不知道的那也沒辦法,我們盡力了)。通過不停
6、地交換地圖,現在,整個區的人都有同樣的地圖了,住在區邊境上的人義不容辭地把這個區的地圖(精確到每一群人) 發送到別的區, 把別的區信息發送進來。國王會把這些邊境的人命名為骨干(backbone area) 。通過骨干人士的不懈努力,現在,整個國家的地圖你都了解得一清二楚了。有些人“里通外國”(as boundary router 自治系統邊界路由器),他們知道一些“出國” (as external route 自治系統外部路由 )的路,當然他們會把這些秘密公之與眾 (import 引入) ,通過信息的傳遞, 現在,你已經有一張完整的 “世界地圖”了。ospf 是這樣標記最短的路的:對于某個目的
7、地,首先,考慮是否有同一區內部到目的地的路 (intra area區域內) ,如果有,則在其中取一條離你最近的 (花費最小) ,寫進你的表格中 ,這個目的地可能是到本群體某個人也可能是到其他群體的,對于經過其他區域的路由,你會不予考慮,跟自己人(同區域)打交道總比與外人(其他區域)打交道好;如果沒有本區的路, 你只好通過別的區域了 (區域間) ,你只要在地圖上找最近的就是了;如果你發現目的地在國外,你也只能先把它標記到你的表格上, 期待什么時候王國擴張到那, 你就可以把它標記到國內地圖上了。ospf 就是這樣,給你一份“世界地圖” ,并且在上面標記了最短的路,如此而已罷了。34ospf 協議分
8、析第一節:背景介紹 tcp/ip 協議中,尋找一臺計算機到另一臺計算機的路由是很重要的 . 1要判斷是否能找到路 2找到路后找一條短的路(花費時間最小) 3在找路時不能循環 4最好還應該能動態處理路由變化,如:接口的up或 down,時間花費的變化,網絡結構的改變等。 ietf(internet engineering task force) 于 1988年提出的 ospf是一個基于鏈路狀態的動態路由協議,協議的基本思路如下:在自治系統中每一臺運行ospf的路由器收集各自的接口/鄰接信息稱為鏈路狀態,通過flooding 算法在整個系統廣播自己的鏈路狀態,使得在整個系統內部維護一個同步的鏈路狀
9、態數據庫,根據這一數據庫, 路由器計算出以自己為根, 其它網絡節點為葉的一根最短的路徑樹,從而計算出自己到達系統內部可達的最佳路由。ospf是一類 interior gateway protocol( 內部網關協議igp),它處理在一個自治系統中,路由器的網絡的路由表信息。 ospf 路由協議在 tcp/ip 協議族的位置: 5ospf,telnet,rip2,snmpsockettcp,udpip,ipxppp,x.25等操作系統硬件接口及驅動圖 1 ospf在網絡協議族的地位 第二節:術語和基本概念 zospf 路由協議術語:ospf路由協議 : open shortest path fi
10、rst 最短路徑優先協議路由器( router) :第三層的 ip 包交換機,以前在ip 文獻中也叫做網關自治系統 (autonomy system):一群路由器通過相同的路由協議來交換路由信息,縮寫為as 區域(area): 自治系統的劃分單元 ,一個自治系統可以劃分為多個區域. 區域 id(area id): 自治系統內區域的32-bit 標識. 內部網關協議 (internal gateway protocol):屬于一個自治系統的路由器上運行的路由協議,縮寫為igp,每一個自治系統有一個單獨的igp,不同的自治系統可能運行不同的igp。ospf是內部網關協議的一種 . 6路由器的 id
11、(router id) :一個 32 位的標號對每個運行ospf的路由器,在自治系統內是唯一的網絡(network):在這種意義下,是ip 網絡/子網/超網,可能是標記了多重復合ip 地址的子網,我們把它們看成是分離的網絡,點到點的物理網絡是個特例,它們只是被當作簡單的網,不管對它們怎樣指定ip 號。網絡掩碼 (network mask):一個 32 位的數指示 ip 網絡的 ip 地址范圍,以十六進制數顯示,例如一個 c 類網的掩碼是 0 xfffff00 ,在文字上寫成 255.255.255.0。點到點網絡 (point to point network):由一對路由器簡單組成的網絡,例
12、如一個56kb 的串口線的連接廣播網:網絡支持許多 (兩個以上 )的路由器。都有能力將地址信息發送到所有連接的路由器上 (廣播)鄰居路由器被 ospf的 hello 協議動態地發現, ospf使這種廣播能力能得到更大的應用,如果它存在,它上的每一對路由器都假定能和對方直接相連,以太網是一個廣播網的例子。非廣播網:網絡支持許多 (兩個以上 )路由器,但沒有廣播能力, 鄰結點也是通過 ospf hello 報文來維持,但是由于設有廣播能力一些鄰居需要靠配置來發現,在鄰居間, ospf協議報文也是互相傳送的,x.25 網是一個例子。 ospf 可以在兩種非廣播網上運行,一種是非廣播多重訪問,(nbm
13、a)它類似于 ospf在廣播網上的操作, 第二種類型叫點到多點, 可看為多個點到點的連接的集合。非廣播網類型的判別依靠于對網絡的操作模式。接口(interface):一個路由器與它連接的一個網絡的連接稱為接口,一個接口有它的狀態信息,可以通過底層協議或是路由協議本身來得到。每個接口有一個唯一一個 ip 地址和掩碼 (除非是不標號的點到點連接), 一個接口有時也指一個連接。鄰居路由器 (neighbor):7兩臺路由器有接口連向共同的網絡, 鄰居關系通過 ospf hello協議被維持(通常是動態的 )。鄰接(adjacency) :為交換路由而在鄰居間建立的關系,不是每對鄰居都成都為鄰接的。連
14、接狀態傳送 (link state advertise):描述本地路由器或網絡的數據單元對路由器來說,它描述了路由器的接口狀態和鄰接狀態, 第一個連接狀態傳送會發送到整個路由領域,所有的連接狀態傳送組成了協議的連接狀態數據庫,這在全局范圍內使用,縮寫為lsa 連接狀態數據庫 (link state database): 所有的連接狀態傳送組成了連接狀態數據庫. stub網絡: 只有一個接口與外部相連的網絡,如一個 ppp可視為一個 stub網絡骨干區域 (backbone area): 所有區域邊界路由器和它們之間的路由組成骨干區域. 自治系統外部路由 (as external route):
15、 指由非 ospf協議得到的路由,如bgp(邊界網關協議),rip(routing information protocol),系統的靜態配置路由等 ,系統的靜態路由是由配置得到的,其他協議的路由是通過引入操作得到的,外部路由的指定是由用戶決定的. 路由(route):指兩節點之間的連通路徑。路由表( routing table): 到每個目的地有路由,這樣的表叫路由表。z基本概念:ospf 把整個網絡(internet上的子網或其他類型的網)看成一個自治系統(as) 每一個 as 內若干個物理上相鄰的路由器(router) ,網絡(network)組成 area,這些 area 內部一般是不
16、相交的,它們劃分了整個as 。 8如圖是一個典型的自治系統劃分的例子:n1r1r2r4r3r5r6r7r10as othern2n3r8r11n4r12r9area2area1area3圖 2 ospf 系統網絡拓撲結構圖例rxx代表路由器,n*代表網絡, 1r1,r2,r3,r4,n1 組成區域 1,r3,r4 是區域邊界路由器(abr) 2r7,r8,r10,n2,n3 組成區域 2,r7,r10,r11 是區域邊界路由器(abr) 3r9.r11,r12,n4 組成區域 3,r11 是區域邊界路由器(abr) 4所有區域邊節點(r3 ,r4 ,r7 ,r10 ,r11 )及r5,r6共同
17、組成了骨干區域,(backbone area) 5area1,area2,area3以及backbone area共同組成了一個自治系統(autonomous system),r5 是系統的邊節點(asbr) ospf 的數據儲存結構如下圖所示: 9自治系統路由表結構區域接口數據結構鄰居數據結構區域數據結構全局數據結構= 網絡= 路由器圖 3 ospf的數據儲存結構 ospf 協議的中心思想是在每一個區域上運行一個ospf 的副本,讓我們以區域為基礎進行闡述。 通過路由器間的路由信息交換,自治系統內部可以達到信息同步,即lsdb(連接狀態數據庫)描述的網絡拓撲同步。 lsdb由 lsa (連接
18、狀態傳送報文)得到,由于lsa的種類不同,可以把 lsdb分成五類: 1.rtr_lsa 由區域內路由傳送來的lsa. _lsa 由區域內子網絡傳送的lsa. sum_lsa 區域間傳送描述網絡的lsa. 4.asbrsum_lsa 區域間傳送描述as邊節點的 lsa. 5.ase_lsa as外部的 lsa lsa所描述的信息一般包括: 1.接口信息: 接口 id, 類型(ls_type), 狀態(state) 等 2.網絡節點信息: 目的地(destination),掩碼(mask ), 所屬區域,位置等 3.路由信息: 下一跳(next hop, 即路由下一步該去的頂點), 權(metr
19、ic),類型(route type)等 4.其他信息:時控,該節點收到的連接狀態傳送報文信息等 10 所有的 lsa組成 root 的 lsdb ,通過 lsdb ,每個節點可以用dijkstra算法,求 出最 小樹 (shortest path tree) 通 過最 小樹 并改 進系統 路由 表(routing table) ,路由表包含目的地(destination),下一跳(next hop) ,花費(metric)等. 出于安全性考慮,ospf 協議中還包含認證過程,路由器之間必須通過某個過程來認證它們之間的通信,即在ospf 報文中加入認證字。第三節、得到連接狀態數據庫 下面我們看看
20、一臺機器是怎樣通過報文的發送得到一個完整的lsbd 的,下圖能大概描述兩臺路由器從開始聯系到數據庫同步的信息(報文)傳遞過程。圖 4 兩臺路由器的數據同步過程z向物理上能達(廣播網同一網段或ppp或 nbma 上的指定的節點)所11有結點發送 hello 報文,同時也收到它們發送來的hello 報文;這樣,可以確認哪些機器是相連的,這種相連,確定了它們之間的neighbor 的關系 . 對 hello 報文的處理詳見下圖:收到hello 報文檢查ip和opsf 報文頭丟棄報文并終止進程檢查網絡掩碼,發 hello 間隔,路由器死亡確認時間丟棄報文并終止進程在鄰居表中查找在hello 報文中標記
21、鄰居列表在hello 報文中標記優先級標記dr標記bdr終止進程生成新的鄰居結構正確出錯不匹配匹配找到沒找到鄰居結構狀態時間參數主/ 從關系序列號鄰居id鄰居優先級鄰居的 ip地址鄰居的 dr鄰居的 bdr列表:連接狀態響應數據庫描述連接狀態請求圖 5 hello報文處理過程圖通過 hello 報文的所帶 priority 位,和 dr、bdr 信息,可以選出該網段的dr。 所有路由器認可一個優先級最高的路由器作為dr, 優先級次高的作為 bdr,所有這個網段的路由器與dr,bdr 構成鄰接關系:12丟棄優先級為 0的鄰居標記所有鄰居的 dr ,bdr對于所有宣稱自己為 bdr 的路由器,選擇
22、優先級最大的為 bdr若相同,選取 id最大的路由器為 dr若沒有 dr ,在所有宣稱為 bdr 的路由器中選優先級最高的路由器為dr對所有宣稱為 dr 的路由器,取其優先級最大的 為dr若相同,取 id號最大的路由器為 dr若沒有人宣稱 dr ,bdr ,則把優先級最高的兩個作為 dr ,bdr若dr 或bdr 改變了加dr ,bdr 到自己的數據庫中并相應發 hello 報文重復步驟 1到2是否這里:dr= 選舉路由器dbr= 備分選舉路由器步驟1步驟2圖 6 dr 、bdr 選舉z路由信息 (連接狀態傳送報文 )只在形成鄰接關系的路由器間傳遞。首先,它們之間互發 dd(database
23、description )報文,告之對方自己所擁有的路由信息。dd 報文有兩種, 一種是空 dd 報文,用來確定 master/slave關系(避免 dd13報文的無序發送),確定 master/slave關系后,才發送有路由信息的dd 報文,收到有路由信息的dd 報文后,比較自己的數據庫, 發現對方的數據庫中有自己需要的數據,則向對方發送連接狀態請求(link state request )報文,請求對方給自己發送數據。zlsr 報文指示了所需的那部分lsa 的內容,讓對方給發送收到 lsr 報文后,按要求發送新的路由信息給對方,即給對方發送連接狀態升級報文( link state upda
24、te)報文。zlsu 報文給對方一個詳細的路由信息收到 lsu 之后,會給對方發送一個連接狀態響應報文(link state ack )報文,以示收到,對 dr 來說,會發送一個包含該連接狀態升級報文的連接狀態升級報文到網段內所有節點(不發連接狀態響應報文)。zlsack 報文指示收到 lsu 報文dd,lsr,lsu,lsack 在沒有收到對方相應的響應時,一般會重傳。通過 adjacency 間的連接狀態傳送報文傳遞信息在同一個網段內達到同步;通過屬于多個網段的路由器的“中轉” ,區域內路由信息可以達到同步。有的路由器的兩個或多個接口會配置在幾個區域上,這個路由器是在backbone上,它
25、會把它得到的路由信息摘要,發給backbone上其它點,摘要指的是只發網段信息。有些節點會把其它協議的路由(靜態,rip,bgp,egp 等) ,引入到自治系統內部,用類似的方法把ase,asbr 信息傳送到整個自治系統, 。lsa發送可以由下圖表示。 14圖 7 各類連接狀態傳送報文的發送 在系統達到同步后,某一臺路由器的路由表發生變化,則把路由變化部分,以類似鏈式反應的方式發送, 我們稱之為 “flood” ,把升級的路由表在系統內同步了。 第四節:計算路由表 讓我們先看一個例子:h1r1n1r2r3n2r4r6n7r5n5125h2124514n876n68n49n32121183428
26、468715圖 8 一個網絡的帶權有向圖注:網絡到路由器是沒有花費的。由上圖,得到 r1 的最短路樹:h1r1n1r2r3n2r4r6n7r5n5125h2124514n876n68n49n3圖 9 由上圖得到的 r1 的最短路樹路由表計算過程: (1)初始化,保存舊的路由表 (2)用 dijkstra算法計算區域內的路由 (3)通過檢查sum_lsa,計算區域間的路由 (4)利用虛連接改進路由 (5)通過 ase_lsa, 計算 as外部路由 計算是按根節點所連的區域逐個區域來計算的,對于每一個區域, 分別進行計算, 且在計算過程中逐步改進路由表。 其實際過程應該是如下圖所示: 16開始計算
27、區域內路由 區域為空否是計算區域間路由用轉換區域改進路由計算自治系統外部路由取下一個區域結束圖 10 路由計算過程圖 不同路由的比較如下圖所示: 17開始是否含外部路由yn只 有 一 條 路 由含外部路由取不含外部路由的路由2 類外部路由花費相同yn選 2 類花費小的路由選擇花費少的結束兩 條 路 由 同等級?ynyn取等級高的路由取小花費的路由圖 11 路由比較過程圖 第五節: ospf 協議與其它路由協議的比較 通用的路由協議除了ospf,主要還有 rip 路由協議(路由信息協議) 等,將 ospf和 rip 作一個大致的比較如下:1. 網絡結構不同: rip 的拓撲是簡單的“小”圖,說它
28、簡單,是因為它沒有系統內外,系統分區,邊界的概念,它用的是不分類的路由;說它“小”,是因為它的每一個節點只能處理以自己為頭的至多16 個節點的鏈, 路由以下一跳個數來描述, 無法體現帶寬和網絡延遲, rip 適用于中小型網絡。ospf可以適用于較大規模的網絡,它把自治系統分為若干個區域,通過系統內外路由的不同處理, 區域內和區域間路由的不同處理方法, 引入摘要的概念,18減少了網絡數據量的傳輸, ospf對應于 rip 中的“距離” 的概念,引入了“權”(metric)的概念,對于不同的網絡連接可以人工指定或根據網絡的帶寬和網絡延遲動態地計算花費, ospf 所能接受的最大的花費是65534
29、即 0xffff-1(區域內,區域間和自治系統外為16777214即 0xffffff-1) ,其缺省得花費是1,可以說 ospf的路由處理能力相當大, 并且還把其他協議的路由或靜態或核心路由作為自治系統外部路由引入,它的處理能力已經是相當完全了。rip 不支持可變長度子網掩碼(variable length subnet masks i.e. vlsm ,rip 的新版本 rip2 支持) ,ospf支持 vlsm 。2. 協議的運行有差異:rip 運行時,首先向外廣播請求報文, 其他運行 rip 的路由器收到請求報文后,馬上把自己的路由表發送過來;在沒有收到請求報文時,定期(30 秒)廣播
30、自己的路由表, 在 180 秒之內如果沒有收到某個相鄰路由器的路由表,就認為它 down 掉了,把它從路由表中作廢, 120 秒后清除,并廣播自己新的路由表。ospf運行時,用 hello 報文建立連接,然后迅速建立鄰接的關系,在建立了鄰接關系路由器中發送路由信息;以后,是靠定期發送hello 報文去維持連接,相對來說, hello 報文數據量比 rip 協議的路由表報文小得多,網絡擁塞也少了, hello 報文在廣播網上10秒發送一次,在 nbma ,ppp ,虛連接上30 秒發送一次,在一定時間(4 倍于 hello 間隔)沒有收到hello 報文,認為對方“死“掉,從路由表中去掉它,在l
31、sbd 中給它置位為 infinity ,但并沒有真正去掉, 以備它再起時減少數據傳輸量, 在它達到 maxage(3600秒)時,真正去掉它。 ospf的路由表也重發,重發間隔是1800秒。以上這些從另一方面說明了ospf協議適用性廣, rip 相對簡單,適用于較小規模網絡。3. 使用情況不同:一般說來(由統計數據得到,參看rfc 1245) ,ospf占用的實際鏈路帶寬比 rip 少,因為它的路由表是有選擇的廣播(只在建立鄰接關系的路由器間),ospf 使用的 cup 時間比 rip 少,因為ospf 達到平衡后的主要工作只是發19hello 報文,rip 是發送路由表,ospf用的路由器
32、的內存比rip 大,因為 ospf相對有一個大的路由表。rip 在網絡上達到平衡用的時間比ospf多,因為它往往要發送及處理一些無用的路由信息。20ospf 疑難解析問題 1:ospf 的有什么特點?答:ospf協議的特點有:1它引入了以下的概念:鄰接關系:在某些運行ospf的路由器對( pair)中建立鄰接關系,它們的數據庫通過交換信息來達到同步。所有路由器和網段上的dr,bdr建立鄰接關系。對于沒有dr,bdr 的點到點網絡,是兩端直接構成鄰接關系的。dr:在廣播網和nbma 上,同一網段上的所有路由器通過一定算法選舉dr、bdr,dr 的作用是與網段內的路由器構成鄰接關系,并交換路由信息
33、;把本網段的路由信息“包裝”成netlsa ,本網段內有多個接口的路由器發送到其他網段。bdr:在選舉 dr 的同時, bdr 也被選舉出來,它也與本網段所有路由器建立鄰接關系,與dr 功能不同的是,它不產生netlsa ,它的主要意義在于網絡的dr 消失后,能迅速(最壞的情況240 秒,最好的情況馬上)升級為dr,這樣做,能夠節省許多開銷。區域: ospf允許把自治系統分為區域,首先,它提供了所謂的路由保護,即區域內路由的優先級高于其余的路由,其次,路由算法所占用的計算時間(占 cpu 時間的主要部分)也減少了。路由分級: ospf的路由依照其優先級排列有四種:區域內路由,區域間路由,ase
34、 外部 1 類路由, ase 外部 2 類路由。它提供了路由保護的功能(即優先級高的路由比優先級低的路由優先加入路由表),及簡化了自治系統的路由管理。虛連接:引入虛連接的概念,保證了骨干區域的路由器的連通性,減少了區域拓撲結構的限制。驗證字: ospf的報文都包含驗證字字段,ospf在處理報文之前,會檢查21驗證字以判斷是否要處理該報文。stub 區域:為了減少路由器內存的開銷,某些區域可以標記為stub 區域,ase 路由信息(往往在as 的路由信息中占用大部分)不發送進入/通過 stub 區域,stub 區域到 ase 目的地的路由是通過一個缺省出口出去的。2它有如下功能:支持 nbma
35、:ospf對 nbma 的處理與廣播網是基本一樣的,其不同之處在于 hello 報文不是以廣播的形式發出的, 而是向指定的、 有權成為 dr、bdr 的路由器發 hello 報文,其余,都和廣播網一樣。靈活引入外部路由: ospf把系統外部路由以ase-lsa 的形式引入,減少了路由的交通擁塞( ase 路由占路由表的大部分,這樣做,我們只需要傳送路由的變化,再局部路由表升級即可);在自治系統的邊界有一個“前方地址”的概念,它可以規劃ase 的下一跳; ase 有兩類花費,使路由多了一個層次;ase 路由還引入了標簽( tag)的概念,方便了路由管理。靈活引入花費: ospf中,花費是配置在外
36、出的路由器接口上的,路由的花費為所有構成該路由的接口的花費的總和,這有利于用戶根據帶寬、網絡延遲、網絡費用等因素靈活配置,選取路由。支持 vlsm :通過配置掩碼, ospf支持可變長度子網掩碼。支持 ip 多點傳送: ospf通過 ip 多點傳送( ip multicasting)來傳送路由信息,有效地利用了帶寬。問題 2:ospf 在實際運行中的情況怎樣?衡量其運行情況的因素主要有:cpu 占用率,路由器內存使用情況,帶寬使用情況,及路由器的處理量的情況。有一組統計數據,描述了ospf在一些網絡的運行情況,barrnet;nei;oarnet 分別是( 90 年數據) :statistic
37、 barrnet nsi oarnet 22 _ 路由器的數量14 15 13 數據收集用時 99 hrs 277 hrs 28 hrs spf 計算頻率50 min 25 min 13 min 外部路由增加的頻率 1.2 min 0.98 min not gathered lsa 重傳周期 29.7 min 30.9 min 28.2 min lsu 報文中 lsa 個數 3.38 3.16 2.99 重傳概率 1.3% 1.4% 0 .7% 數據收集用時是統計用的總時間。spf計算頻率是在數據收集用時內平均的spf樹的計算頻率,是占用cpu的主要因素,由統計數據可以看出,在相當的網絡上路由
38、計算的時間間隔至少 13 分鐘,而每次計算的時間是小于毫秒級斯坦福大學的實驗數據是:200 臺路由器組成的網絡, spf 計算的用時是 15 毫秒;milnet(美國軍用網絡) 的數據是:230臺路由器組成的網絡,在網絡變化相對較頻繁的情況下,cpu 占用率也不到 5%,經過計算得到結論,其算法復雜度是o(n*log(n) ,其中 n 是系統中路由器的數量,其運算時間的增長是相當慢的。外部路由增加的頻率是衡量路由器路由表和lsdb 大小的主要因素,即路由器內存增加的主要部分,因為ospf 的路由絕大部分是ase,每個 ase占用內存是 36字節, 加上在路由表中 ase路由占的 28字節,共
39、64字節,其他統計數據表明,在一臺路由器上,會出現萬個以上的 ase,以 10000 個來計算,其占用的內存是640k,這是個相當大的數字。外部路由增加的頻率、 lsa 重傳周期、連接狀態升級報文中lsa 個數、重傳概率是衡量傳送數據量的因素,是決定ospf 協議占用帶寬的主要部分。一般說來,傳送的數據主要是ase 連接數據升級報文,一個報文的大小是52字節,我們可以來計算一下帶寬的利用:按照占用帶寬的 5%來計算,23網絡速率每秒發送報文的個數一個重傳周期 1800秒發送報文數 _ 9.6 kb 9.2 16560 56 kb 53 95400 總的說來 ospf占用的帶寬還是比較小的(相對
40、rip) 。ospf網絡中,信息量處理最大的路由器是dr 路由器,它發送的路由狀態信息要比其他路由器要大得多,收到的響應報文也是最多的,dr 路由器的處理量的大小,從根本上來說,決定了網絡資源的使用。dr 處理路由器的數量的上限一般是50 臺路由器。問題 3:ospf 協議中的一些常數是怎樣規定的。答:ospf協議規定了以下常數:1重傳周期 1800 秒,定義了連接狀態數據庫的重傳的時間間隔。2路由最大存在時間3600秒,正好是重傳周期的兩倍,即在兩個重傳時間都沒有得到某路由器傳來的路由信息,則將其從路由器的數據庫中刪去。3最小數據報文發送間隔: 5 秒,指定連接狀態數據庫發送的最小時間間隔。
41、4最小報文收到時間: 1 秒,路由器不接受來自同一路由器的過于頻繁的連接狀態報文。5效驗時間: 300 秒,用于效驗和操作的時間常數。6最大連接狀態傳送報文發送時間:900 秒,描述連接狀態傳送報文到達的時間上限。7不可達花費:定義為 0xffffff, 大于等于此數的花費認為是無窮,即目的地不可達。8缺省目的地:對于ase 路由和 stub 區域的外出路由,有一個缺省目的地 0.0.0.0,其掩碼也是 0.0.0.0,對于路由表中找不到的目的24地,一律發送到該缺省目的地。9初 始化 序列 號: 連接 狀態 信息 傳送 的第 一個 報文 的序 列號0x80000001,即-0x7ffffff
42、f。10 最大序列號:連接狀態信息傳送的最大的序列號0x7fffffff。11 所有 ospf路由器:多重 ip 地址 224.0.0.5,報文廣播用12 本網段 dr 路由器:多重 ip 地址 226.0.0.6,報文廣播用需要配置的常數:全局變量:1路由器的 id 號。區域常數:2區域 id 號。3網段列表,包括ip 地址,掩碼4外部路由能力,指明該區域是否stub 5stub 缺省花費接口常數 (包括點到點, nbma ,虛連接 ):6接口 ip 地址,掩碼7接口所屬區域的id 8發送 hello 的間隔 (默認網口 10 秒,其他接口 30 秒) 9認為連接斷開的時間(一般是4 倍以上
43、于發送 hello 的時間)10 接口花費(默認 1)11 發送接收連接狀態傳送報文的時間參數12 路由器優先級(默認0)13 驗證字實驗所得的數據:一個區域至多配置40到 50 臺路由器,一個網段至多配置50 臺路由器,太多的話,最好分區域,分網段運行。區域邊節點路由器最好只連兩個區域,一個骨干區域, 一個非骨干區域, 至多多連一個非骨干區域, 這樣網絡運行才比較正常。25問題 4:ospf 報文的具體格式怎樣?答:所有的 ospf報文有統一的報文頭格式,如下圖:版本:指 ospf 版本 1 或 2 版本(8) 類型(8) 報文長度(16) 路由器 id(32) 區域 id(32) 校驗和(
44、16) 認證(au)類型(16) 認證字(64) 圖 12 ospf報文頭結構 hello 報文有如下格式: ospf 報文頭(192) 網絡掩碼(32) 發送 hello 報文的間隔(16) 選項(8) 路由器優先級(8) 認為對方斷開時間(32) 選舉/ 備份選舉路由器(64) 所有鄰居路由器 id(n*32) 圖 13 ospf的 hello 報文 連接狀態數據報文有如下報文頭: 該報文發出的時間(16) 26選項(8) 連接狀態類型(8) 連接狀態 id(32) 發送報文的路由器(32) 報文的序號(32) 報文檢驗和(16) 長度(16) 圖 14 連接狀態傳送報文頭結構 數據描述報
45、文有如下格式: ospf頭標(192)保留可選(5) i m msdd 序號 (n*32)數據庫段1 to n數據庫段的拓撲結構列表, 每一連接狀態傳送都由連接狀態報文頭描述為每一 lsa重復連接狀態請求報文有以下格式:ospf 報文頭(192) 連接狀態類型 1(32) 連接狀態 id1 (32) 發送報文的路由器 1(32) 連接狀態類型 n(2) 連接狀態 id n(32)0 27發送報文的路由器 n(32) 圖 15 連接狀態請求報文連接狀態升級報文有如下格式:1路由器連接狀態升級報文:ospf報文頭(192)連接狀態報文頭 (160)路由器連接的數量 (16)路由器連接狀態報文(6)
46、(8)連接的id (32)連接的頂點信息(32)類型(8)服務類型(8)0類服務類型的權(16)所有的服務類型的列表(8)服務類型n (8)n類服務類型的權 (16)= 保留和/或設置為零e b為每一路由連接重復為每一服務類型重復圖 16 路由器連接狀態升級報文282其他連接狀態升級報文:連接狀態報文頭(160)網絡掩碼 (32)所連接的路由器 1 (32)所連接的路由器 n (32)/連接狀態報文頭(160)網絡掩碼(32)服務類型1(8) 花費 1 (24)服務類型n (8)花費n (24)/服務類型1(7) 花費1 (24)下一跳地址1 (32)外部路由標記 1 (32)服務類型n (7
47、) 花費n (24)/網絡掩碼 (32)下一跳地址 n (32)外部路由標記 n (32)連接狀態報文頭 (160)網絡連接狀態升級報文網絡摘要連接狀態升級報文自治系統外部路由連接狀態報文e位(1)e位(1)圖 17 其它連接狀態升級報文連接狀態確認報文格式:29ospf 報文頭( 192)連接狀態類型( 32)連接 id(32)發送報文的路由器(32)連接狀態序號( 32)連接狀態校驗和(16)連接狀態年齡(16)圖 18 連接狀態確認報文問題 5:ospf 的適用范圍怎樣?答:ospf適用從大到小的網絡,它能引入大量的外部路由,兩種不同的外部路由花費,路由的分級制度, 局部路由表升級方法, 確定了它有很廣泛的應用范圍。問題 6:ospf 協議的功能還將會有哪些改善?答:ospf 路由協議的功能已經相當完善了,但有個小的局限,ospf 的局限性主要在于它的路由分級制度還是不夠理想(只有4 種路由等級),在很復雜的外部路由的情況下, 簡單的四種分級是不夠的, 往往要把它分為多個自治系統,用外部網關路由協議來處理。 一種更為理
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 衛星通信與導航技術專業教學標準(高等職業教育專科)2025修訂
- 2025年中國花生干果市場全景評估及投資規劃建議報告
- 中國電動叉車充電插頭行業市場前景預測及投資價值評估分析報告
- 2020-2025年中國竹鼠養殖行業發展潛力分析及投資方向研究報告
- 中國旅行帳篷行業市場前景預測及投資價值評估分析報告
- 中國防松法蘭螺帽項目投資可行性研究報告
- 2020-2025年中國大型客車行業市場調查研究及投資前景預測報告
- 2025年中國十四酸異丙酯行業市場發展前景及發展趨勢與投資戰略研究報告
- 2025年 云南省化工自動化控制儀表操作證考試練習題附答案
- 2025年 天水武山縣招聘城鎮公益性崗位考試試題附答案
- DB31/T 1249-2020醫療廢物衛生管理規范
- 四川省宜賓市翠屏區2025屆數學七下期末綜合測試試題含解析
- 鄉鎮合法性審查工作報告
- 2025屆四川成都錦江區數學七下期末質量檢測試題含解析
- 無人機飛行器結構與性能試題及答案
- 2025年發展對象考試題題庫及答案
- 2025上半年山東文旅集團有限公司直屬企業招聘88人筆試參考題庫附帶答案詳解
- 《臨床精準用血培訓》課件
- 《外國文學》課件-說不盡的莎士比亞教學課件:《麥克白》
- 《蔚來汽車》課件
- 2025中國新型儲能行業發展白皮書
評論
0/150
提交評論