计算机网络 --- 网络层路由算法与路由协议
路由表:
最佳路由:
“最佳”只能是相對于某一種特定要求下得出的較為合理的選擇而已。
路由算法的分類
- 靜態(tài)路由算法(非自適應(yīng)路由算法) 管理員手工配置路由信息。簡便,可靠,在負(fù)荷穩(wěn)定,拓?fù)渥兓淮蟮木W(wǎng)絡(luò)中運(yùn)行效果很好,廣泛用于高度安全性的軍事網(wǎng)絡(luò)和較小的商業(yè)網(wǎng)絡(luò)。但是路由更新慢,不適用大型網(wǎng)絡(luò)。
- 動(dòng)態(tài)路由算法(自適應(yīng)路由算法) 路由器間彼此交換信息,按照路由算法優(yōu)化出路由表項(xiàng)。路由更新快,適用大型網(wǎng)絡(luò),及時(shí)響應(yīng)鏈路費(fèi)用或網(wǎng)絡(luò)拓?fù)渥兓5撬惴◤?fù)雜,增加網(wǎng)絡(luò)負(fù)擔(dān)。通常被使用。
動(dòng)態(tài)路由算法分類
- 全局性 鏈路狀態(tài)路由算法 OSPF? 所有路由器掌握完整的網(wǎng)絡(luò)拓?fù)浜玩溌焚M(fèi)用信息。
- 分散性 距離向量路由算法 RIP? 路由器只掌握物理相連的鄰居及鏈路費(fèi)用。
分層次的路由選擇協(xié)議
- 因特網(wǎng)規(guī)模很大
- 很多單位不想讓外界知道自己的路由選擇協(xié)議,但還想連入因特網(wǎng)
自治系統(tǒng)AS:
在單一的技術(shù)管理下的一組路由器,而這些路由器使用一種AS內(nèi)部的路由選擇協(xié)議和共同的度量以確定分組在該AS內(nèi)的路由,同時(shí)還使用一種AS之間的路由協(xié)議以確定在AS之間的路由。
一個(gè)AS內(nèi)的所有網(wǎng)絡(luò)都屬于一個(gè)行政單位來管轄,一個(gè)自治系統(tǒng)的所有路由器在本自治系統(tǒng)內(nèi)都必須連通。
路由選擇協(xié)議
- 內(nèi)部網(wǎng)關(guān)協(xié)議IGP? ? ? 一個(gè)AS內(nèi)使用的? ? RIP,OSPF
- 外部網(wǎng)關(guān)協(xié)議EGP? ? AS之間使用的? ? BGP-4
內(nèi)部網(wǎng)關(guān)協(xié)議 --- RIP
RIP是一種分布式的基于距離向量的路由選擇協(xié)議,是因特網(wǎng)的協(xié)議標(biāo)準(zhǔn),最大優(yōu)點(diǎn)是簡單。
RIP協(xié)議要求網(wǎng)絡(luò)中的每一個(gè)路由器都維護(hù)從它自己到其他每一個(gè)目的網(wǎng)絡(luò)的唯一最佳距離記錄(即一組距離,如下圖)。
距離:
通常指“跳數(shù)”,即從源端口到目的端口所經(jīng)過的路由器個(gè)數(shù),經(jīng)過一個(gè)路由器跳數(shù)+1。特別的,從一個(gè)路由器到直接相連的網(wǎng)絡(luò)距離為1。RIP允許一條路由最多只能包含15個(gè)路由器,因此距離為16表示網(wǎng)絡(luò)不可達(dá)(RIP協(xié)議只適用于小互聯(lián)網(wǎng))。
信息交換:
- 僅和相鄰路由器交換信息
- 路由器交換的信息是自己的路由表
- 每30秒交換一次路由信息,然后路由器根據(jù)新信息更新路由表。若超過180s沒收到鄰居路由器的通告,則判定鄰居沒了,并更新自己的路由表
路由器剛開始工作時(shí),只知道直接連接的網(wǎng)絡(luò)的距離(距離為1),接著每一個(gè)路由器也之和數(shù)目非常有限的相鄰路由器交換并更新路由器。
經(jīng)過若干次更新后,所有路由器最終都會(huì)知道到達(dá)本自治系統(tǒng)任何一個(gè)網(wǎng)絡(luò)的最短距離和下一跳路由器的地址,即“收斂”。
距離向量算法
RIP報(bào)文,包含路由表的全部信息。相鄰兩個(gè)路由器交換路由表信息是通過RIP報(bào)文傳遞的。
以下是距離向量算法的過程:
1. 修改相鄰路由器發(fā)來的RIP報(bào)文中所有表項(xiàng):對地址為X的相鄰路由器發(fā)來的RIP報(bào)文,修改此報(bào)文中的所有項(xiàng)目:把“下一跳”字段中的地址改為X,并把所有的“距離”字段 + 1.
2. 對修改后的RIP報(bào)文中的每一個(gè)項(xiàng)目,進(jìn)行以下步驟:
2.1 如果路由表中沒有RIP報(bào)文中的網(wǎng)絡(luò),則直接把該項(xiàng)目填入路由表
2.2 如果路由表中有RIP報(bào)文中的網(wǎng)絡(luò),則查看下一跳路由器地址:
2.2.1 如果下一跳就是發(fā)來RIP報(bào)文的路由器,則用收到的項(xiàng)目替換源路由表中的項(xiàng)目
2.2.2 如果下一跳不是發(fā)來RIP報(bào)文的路由器,原來距離比最新距離遠(yuǎn)則更新,否則不作處理
3. 若180s還沒有收到相鄰路由器的更新路由表,則把該路由器記為不可達(dá)的路由器,則把距離設(shè)置為16
4. 返回
RIP協(xié)議的報(bào)文
格式:
特點(diǎn):
當(dāng)網(wǎng)絡(luò)出現(xiàn)故障時(shí),要經(jīng)過比較長的時(shí)間(例如數(shù)分鐘)才能將此信息傳送到所有的路由器,“慢收斂”
內(nèi)部網(wǎng)關(guān)協(xié)議 --- OSPF
開放最短路徑優(yōu)先OSPF協(xié)議:“開放”標(biāo)明OSPF協(xié)議不受某一家廠商控制,而是公開發(fā)表的:“最短路徑優(yōu)先”是因?yàn)槭褂昧薉ijkstra提出的最短路徑算法SPF。
OSPF最主要的特征就是使用分布式的鏈路狀態(tài)協(xié)議。
OSPF的特點(diǎn):
- 使用洪泛法向自治系統(tǒng)內(nèi)所有路由器發(fā)送信息,即路由器通過輸出端口向所有相鄰的路由器發(fā)送信息,而每一個(gè)相鄰路由器又再次將此信息發(fā)往其所有的相鄰路由器。最終整個(gè)區(qū)域內(nèi)所有路由器都得到了這個(gè)信息的一個(gè)副本。
- 發(fā)送的信息就是與本路由器相鄰的所有路由器的鏈路狀態(tài)(本路由器和哪些路由器相鄰,以及該鏈路的度量/代價(jià) --- 費(fèi)用,距離,時(shí)延,帶寬等)。
- 只有當(dāng)鏈路狀態(tài)發(fā)生變化時(shí),路由器才向所有路由器洪泛發(fā)送此信息。
最后,所有路由器都能建立一個(gè)鏈路狀態(tài)數(shù)據(jù)庫,即全網(wǎng)拓?fù)鋱D。
鏈路狀態(tài)路由算法
只要一個(gè)路由器的鏈路狀態(tài)發(fā)生變化:
OSPF的區(qū)域
為了使OSPF能夠用于規(guī)模很大的網(wǎng)絡(luò),OSPF將一個(gè)自治系統(tǒng)再劃分為若干個(gè)更小的范圍,叫做區(qū)域。每一個(gè)區(qū)域都有一個(gè)32位的區(qū)域標(biāo)識(shí)符(用點(diǎn)分十進(jìn)制表示)。
區(qū)域也不能太大,在一個(gè)區(qū)域內(nèi)的路由器最好不超過200個(gè)。
OSPF分組
與RIP分組不同(RIP使用UDP發(fā)送),OSPF分組用IP數(shù)據(jù)報(bào)傳送。
OSPF協(xié)議其他特點(diǎn)
- 每個(gè)30min,要刷新一次數(shù)據(jù)庫中的鏈路狀態(tài)。
- 由于一個(gè)路由器的鏈路狀態(tài)只涉及到與相鄰路由器的連通狀態(tài),因而與整個(gè)互聯(lián)網(wǎng)的規(guī)模并無直接關(guān)系。因此當(dāng)互聯(lián)網(wǎng)規(guī)模很大時(shí),OSPF協(xié)議要比距離向量協(xié)議RIP好很多。
- OSPF不存在壞消息傳的慢的問題(對比RIP),它的收斂速度很快。
外部網(wǎng)關(guān)協(xié)議 --- BGP
與其它AS的鄰站BGP發(fā)言人交換信息。
交換的網(wǎng)絡(luò)可達(dá)性的信息,即要到達(dá)某個(gè)網(wǎng)絡(luò)所要經(jīng)過的一系列AS。
發(fā)生變化時(shí)更新有變化的部分。
BGP協(xié)議交換信息的過程
BGP所交換的網(wǎng)絡(luò)可達(dá)性的信息就是要到達(dá)某個(gè)網(wǎng)絡(luò)索要經(jīng)過的一系列AS。當(dāng)BGP發(fā)言人互相交換了網(wǎng)絡(luò)可達(dá)性的信息后,各BGP發(fā)言人就根據(jù)所采用的策略從收到的路由信息中找出到達(dá)各AS的較好路由。
BGP協(xié)議報(bào)文格式
一個(gè)BGP發(fā)言人與其他自治系統(tǒng)中的BGP發(fā)言人要交換路由信息,就要先建立TCP連接,即通過TCP傳送,然后在此連接上交換BGP報(bào)文以建立BGP會(huì)話,利用BGP會(huì)話交換路由信息。
BGP協(xié)議特點(diǎn)
- BGP支持CIDR,因此BGP的路由表也就應(yīng)當(dāng)包括目的網(wǎng)絡(luò)前綴,下一跳路由器,以及到達(dá)該目的網(wǎng)絡(luò)所要經(jīng)過的各個(gè)自治系統(tǒng)序列。
- 在BGP剛剛運(yùn)行時(shí),BGP的鄰站時(shí)交換整個(gè)的BGP路由表。但以后只需要在發(fā)生變化時(shí)更新有變化的部分。這樣做對節(jié)省網(wǎng)絡(luò)帶寬和減少路由器的處理開銷都有好處。
BGP-4的四種報(bào)文
- OPEN(打開)報(bào)文:用來與相鄰的另一個(gè)BGP發(fā)言人建立關(guān)系,并認(rèn)證發(fā)送方。
- UPDATE(更新)報(bào)文:通告新路徑或撤銷源路徑。
- KEEPALIVE(保活)報(bào)文:在無UPDATE時(shí),周期性證實(shí)鄰站的連通性,也作為OPEN的確認(rèn)。
- NOTIFICATION(通知)報(bào)文:報(bào)告先前報(bào)文的差錯(cuò),也被用于關(guān)閉連接。
內(nèi)部網(wǎng)關(guān)協(xié)議RIP,OSPF與外部網(wǎng)關(guān)協(xié)議BGP對比
RIP是一種分布式的基于距離向量的內(nèi)部網(wǎng)關(guān)路由協(xié)議,通過廣播UDP報(bào)文來交換路由信息。
OSPF是一個(gè)內(nèi)部網(wǎng)關(guān)協(xié)議,要交換的信息量較大,應(yīng)使報(bào)文的長度盡量短,所以不適用傳輸層協(xié)議(如UDP或TCP),而是直接采用IP。
BGP是一個(gè)外部網(wǎng)關(guān)協(xié)議,在不同的自治系統(tǒng)之間交換路由信息,由于網(wǎng)絡(luò)環(huán)境復(fù)雜,需要保證可靠傳輸,所以采用TCP。
總結(jié)
以上是生活随笔為你收集整理的计算机网络 --- 网络层路由算法与路由协议的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python from import什么
- 下一篇: 计算机应用考试其一级属于中级,计算机软件