網絡層6——內部網關協議RIP、OSPF(重點)

目錄

一、基本概念

1、理想的路由算法應具備的特點

2、分層次的路由選擇協議

二、內部網關協議RIP

1、特點

2、路由交換信息

3、距離向量算法

4、壞消息傳送慢問題

5、RIP報文格式

三、內部網關協議OSPF

1、特點

2、其他特點

3、自治系統區域劃分

4、OSPF的5中分組類型

5、OFPS數據報格式


該章節主要討論如何得到路由表

一、基本概念

1、理想的路由算法應具備的特點

正確和完整:所有的數據分組一定最終能到達終點
簡單:不能有太大開銷,增加通信負擔
自適應:自動調整各個路徑的負載,1負擔大了就走2
穩定:網絡拓撲和通信量穩定時,路由路徑不能老是變化
公平:大多數用戶的時延都差不多
最佳:最目標要求而言,相對最優

靜態路由選擇:人工配置,用于小網絡
動態路由選擇:由算法自適應網絡變化而動態調整路由表達到最佳

2、分層次的路由選擇協議

許多單位不希望別人知道自己的路由選擇協議細節,同時希望上網
因此,把整個互聯網分為一個個自治系統(autonomous system) AS
一個自治系統由一個單一的技術來管理多個網絡、IP地址和路由器
A自治系統有A的一套,B有B的一套
你打你的,我打我的
于是,將整個互聯網的路由協議分為兩層:
在一個自治系統內部使用的路由器協議:內部網關協議(Internal Gateway Protocal)
在不同自治系統之間使用的路由器協議:外部網關協議(External Gateway Protocal)
自治系統內的路由選擇:域內路由選擇
不同資質系統之間的路由選擇:域間路由選擇

常用內部網關協議是RIP和OSPF
常用外部網關協議是BGP-4

二、內部網關協議RIP

1、特點

路由信息協議RIP:Routing Information Protocol
是基于距離向量的路由協議
路由表中維護本網絡到每一個目的網絡的距離
距離如何定義:路由器和直接連接的網絡距離為1(也可以定義為0,不影響)
因此,距離也叫做跳數,每經過一個網絡,跳數+1
該協議人為:好的協議就是路徑短
路徑最多15,16不可達
因此RIP只適用于小網絡
RIP對兩個路由器之間,不能同時擁有多個路由
只能有一個,就是跳數最短,網絡最少的一條
不管這一條速度快還是慢,我只管短還是長,不管速度

2、路由交換信息

本路由器需要和其他路由器交換信息建立路由表
那么:
和哪些路由器交換信息?所有的路由器嗎?
僅和相鄰路由器交換信息,不相鄰不交換

交換什么信息?部分信息還是所有信息?
交換全部信息,即所有的路由表信息

什么時候交換信息?條件滿足才交換還是隔一段時間就交換?
按固定的時間間隔交換信息,例如每隔30s

路由器剛開始工作的時候,路由表是空的
路由收斂:自治系統內所有節點得到正確的路由信息
路由表更新的原則是:找出每個目的網路的最短距離

3、距離向量算法

A的相鄰路由器是B
從B->A發來的路由表信息有三個:
目的網絡Net,距離d,下一跳

因為對A來說,到B的下一跳只能是B
所以,B發來的路由表的下一跳都是B
因此,對A來說,B發來的路由只有以下幾種:

A原來沒有
那就加上

A有,目的網絡一樣,查看下一跳
如果下一跳也是B,直接換掉(不管距離長短)
如果嚇一跳不是B(也就是說有別的路徑可以到達目的)
這個時候就看距離,那個距離短,用哪個

3分鐘還沒有收到相鄰路由器信息
即A3分鐘還沒有收到B的路由信息,把到B的路由距離設置為16
標記不可到達

總結:
Net沒有,加上去
Net一樣,看下一跳:下一跳相同,直接更新;下一跳不一樣,看誰短

4、壞消息傳送慢問題

由于上述的更新策略,導致一下問題:
壞消息傳的慢
什么意思?
舉個例子,如圖:


此時Net1故障,R1無法到達Net1,將到Net1距離改為16
30s后,將路由表發送給鄰居R2
但是,還沒到30s,R2就給R1發送自己的路由表信息了
此時,R2到達Net1的信息是:Net1 3 R2
該條信息到達R1后,一對比,Net1 16 直接
下一跳不相同,但是距離更短,更換
于是,R1到Net1的路由被換成:Net1 3 R2

到達30s后,R1再把Net1 4 R1發送給R2
一對比,R2為Net1 2 R1?
?下一跳一樣,直接換

于是,二者不斷更新循環
直到距離加到16才停止
此時,才知道Net1故障
即所謂壞消息慢

5、RIP報文格式

RIP報文用運輸層用戶數據報UDP的數據部分傳送
格式如下:

RIP報文:首部 + 路由部分
路由部分:自治系統號ASN(可能收到本自治系統外的路由信息)
目的網絡、下一跳路由器地址、距離

一個RIP報文最多帶25個路由
超過必須用下一個報文來傳送

綜上所述,由于RIP所采取的路由更新策略
導致了其結構性上的缺點:
1、最大距離15(16不可達),只能用于小網絡 ?
2、更換信息,傳送所有路由信息,開銷大
3、壞消息傳的慢,更新過程收斂時間長

因此,對于大網絡來說,RIP路由策略不適合
于是,有了OSPF路由協議

三、內部網關協議OSPF

1、特點

1、向本自治系統所有路由器發送信息,洪泛法
路由器向所有接口發送信息
相鄰路由器除收到接口,對其余所有接口發送信息
以此類推
最后,所有路由器收到該信息副本

2、發送信息為:所有相鄰路由器鏈路狀態
什么是鏈路狀態?
該路由器和哪些路由器相鄰
該鏈路代價(費用、距離、時延、寬帶等)

3、每隔一段時間 / 鏈路狀態發生變化:則洪泛

由上述三點特征,使得:
所有路由器擁有全網(本自治系統內)的拓撲結構圖
也就是建立了一個鏈路狀態數據庫
該數據庫記錄:全網有多少路由器、相鄰情況、代價情況等
于是,每一個路由器就可以根據這些數據,使用Dijkstra最短路徑算法計算自己的路由表

(OSPF鏈路狀態數據庫更新快,因此更新過程收斂快)

2、其他特點

1、OSPF允許管理員給每條路指定代價
2、到同一個網絡,有多條路代價相同,可以對通信進行均衡平攤
3、路由器交換分組具有鑒別能力,壞的路由器不發
4、支持變長網絡地址劃分,支持誤分類網絡編制CIDR
5、網絡鏈路經常變化,因此讓鏈路狀態帶序號,更新一次,序號+1
? ? ?于是序號越大,狀態越新

3、自治系統區域劃分

為了讓OSPF應用于更大的網絡
OSPF將一個自治系統網路劃分為更小的區域
每個區域用32位標識區域,用點分十進制記錄
每個區域路由器最好不超過200個

劃分好以后:
1、洪泛只局限在一個區域內,以減少通信量
路由器只直到本區域內的網絡拓撲

2、為區域間通信,對區域劃分層次:
上層為主干區域,32位標識規定為0.0.0.0
在主干區域的路由器:叫做主干路由器

區域交界的路由器:叫做區域邊界路由器
每個區域至少一個區域邊界路由器,以維護其他區域通信

在自治系統邊界之間的路由器:叫做自治系統邊界路由器
負責和其他路由器通信

上述所做的區域劃分和層次劃分
目的只有一個:減少路由信息交互負擔
以增強OSPF協議對更大網絡的適應

4、OSPF的5中分組類型

1、問候分組
用于發現和維持鄰居的可達性
說人話就是發個消息,看鄰居家能不能去
規定每10s發送一次
如果40s沒有收到某個鄰居發來的問候分組,則認為鄰居死了,設置為不可達
其余四個分組都是用于同步鏈路狀態信息的

2、數據庫描述分組
向鄰居發送自己的所有鏈路狀態數據

3、數據鏈路請求分組
請求鄰居發送人家的某些鏈路狀態

4、鏈路狀態更新分組
對全網洪泛(本區域內)
(OSPF核心功能)

5、鏈路狀態確認分組
對鏈路更新的確認
向發送鏈路狀態更新分組的路由器發送確認分組
我收到鄰居的鏈路狀態分組,我得告訴人家,我確實收到了

5、OFPS數據報格式

OSPF分組作為IP數據報的數據部分
IP首部協議為89
OSPF分組很短

注意:
洪泛并非所有的路由器都洪泛發送本地鏈路狀體信息
這代價很大
那么怎么做呢?
假設路由器A B相鄰
A的數據庫摘要和B的數據庫摘要互相交換
于是:
A知道有些自己沒有,但B有
同理,B也如此
于是,
A向B發送自己缺少的鏈路狀態請求,這些我沒有,但是B你有,你告訴我
B也向A發送自己缺少的鏈路狀態請求,
經過多輪兩兩之間的交換
最后所有路由器都有了全部的信息

每隔一段時間,如30分鐘,OSPF刷新一次鏈路狀態數據庫

四、學習本章需要具備能力

1、根據RIP路由策略得到路由表

2、認識RIP的特點

3、理解路由算法

4、RIP路由算法的優點和缺點,例如壞消息、收斂、不可達等

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/91392.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/91392.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/91392.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

同品牌的系列廣告要如何保證宣傳的連貫性?

對于品牌的系列廣告而言,內容的連貫性十分重要。如果系列廣告之間缺乏內在聯系,不僅會削弱品牌形象的統一性,還可能導致用戶的認知混亂。保證宣傳內容的連貫性不是讓每則廣告完全相同,而是在變化中保持核心要素的一致性。我們該如…

深度學習:激活函數Activaton Function

一、為什么需要激活函數?神經網絡本質上是多個線性變換(矩陣乘法)疊加。如果沒有激活函數,即使疊加多層,整體仍等價于一個線性函數:這樣的網絡無法學習和擬合現實世界中復雜的非線性關系。激活函數的作用&a…

deepseek: 切分類和長函數到同名文件中

import re import sys import os import ast from tokenize import generate_tokens, COMMENT, STRING, NL, INDENT, DEDENT import iodef extract_entities(filename):"""提取類和函數到單獨文件"""with open(filename, r, encodingutf-8) as f…

新型融合肽遞送外泌體修飾可注射溫敏水凝膠用于骨再生

溫敏水凝膠因能模擬細胞外基質微環境,且具有原位注射性和形態適應性,在骨組織工程中應用廣泛。小腸黏膜下層(SIS)作為天然細胞外基質來源,富含 I 型和 III 型膠原蛋白及多種生物活性因子,其制備的水凝膠在組…

SPI接口的4種模式(根據時鐘極性和時鐘相位)

SPI(Serial Peripheral Interface) 接口根據時鐘極性(CPOL)和時鐘相位(CPHA)的不同組合,共有 4種工作模式。這些模式決定了數據采樣和傳輸的時序關系,是SPI通信中必須正確配置的關鍵…

Java:高頻面試知識分享2

HashSet 和 TreeSet 的區別?底層實現:HashSet 基于 HashMap 實現,使用哈希表存儲元素;TreeSet 基于 TreeMap,底層為紅黑樹。元素順序:HashSet 無序;TreeSet 會根據元素的自然順序或傳入的 Compa…

C語言習題講解-第九講- 常見錯誤分類等

C語言習題講解-第九講- 常見錯誤分類等1. C程序常見的錯誤分類不包含:( )2. 根據下面遞歸函數:調用函數 Fun(2) ,返回值是多少( )3. 關于遞歸的描述錯誤的是:( &#x…

A?算法(A-star algorithm)一種在路徑規劃和圖搜索中廣泛使用的啟發式搜索算法

A?A*A?算法(A-star algorithm)是一種在路徑規劃和圖搜索中廣泛使用的啟發式搜索算法,它結合了Dijkstra算法的廣度優先搜索思想和啟發式算法的效率優勢,能夠高效地找到從起點到終點的最短路徑。 1. 基本原理 A*算法的核心是通過估…

UniappDay06

1.填寫訂單-渲染基本信息 靜態結構&#xff08;分包&#xff09;封裝請求API import { http } from /utils/http import { OrderPreResult } from /types/orderexport const getmemberOrderPreAPI () > {return http<OrderPreResult>({method: GET,url: /member/orde…

論文略讀:GINGER: Grounded Information Nugget-Based Generation of Responses

SIGIR 2025用戶日益依賴對話助手&#xff08;如 ChatGPT&#xff09;來滿足多種信息需求&#xff0c;這些需求包括開放式問題、需要推理的間接回答&#xff0c;以及答案分布在多個段落中的復雜查詢RAG試圖通過在生成過程中引入檢索到的信息來解決這些問題但如何確保回應的透明性…

從內部保護你的網絡

想象一下&#xff0c;你是一家高端俱樂部的老板&#xff0c;商務貴賓們聚集在這里分享信息、放松身心。然后假設你雇傭了最頂尖的安保人員——“保鏢”——站在門口&#xff0c;確保你準確掌握所有進出的人員&#xff0c;并確保所有人的安全。不妨想象一下丹尼爾克雷格和杜安約…

Redis 中 ZipList 的級聯更新問題

ZipList 的結構ZipList 是 Redis 中用于實現 ZSet 的壓縮數據結構&#xff0c;其元素采用連續存儲方式&#xff0c;具有很高的內存緊湊性。ZipList 結構組成如下&#xff1a;zlbytes&#xff1a;4字節&#xff0c;記錄整個ziplist的字節數zltail&#xff1a;4字節&#xff0c;記…

【蒼穹外賣項目】Day05

&#x1f4d8;博客主頁&#xff1a;程序員葵安 &#x1faf6;感謝大家點贊&#x1f44d;&#x1f3fb;收藏?評論?&#x1f3fb; 一、Redis入門 Redis簡介 Redis是一個基于內存的 key-value 結構數據庫 基于內存存儲&#xff0c;讀寫性能高適合存儲熱點數據&#xff08;熱…

語音識別dolphin 學習筆記

目錄 Dolphin簡介 Dolphin 中共有 4 個模型&#xff0c;其中 2 個現在可用。 使用demo Dolphin簡介 Dolphin 是由 Dataocean AI 和清華大學合作開發的多語言、多任務語音識別模型。它支持東亞、南亞、東南亞和中東的 40 種東方語言&#xff0c;同時支持 22 種漢語方言。該模…

視頻生成中如何選擇GPU或NPU?

在視頻生成中選擇GPU還是NPU&#xff0c;核心是根據場景需求、技術約束和成本目標來匹配兩者的特性。以下是具體的決策框架和場景化建議&#xff1a; 核心決策依據&#xff1a;先明確你的“視頻生成需求” 選擇前需回答3個關鍵問題&#xff1a; 生成目標&#xff1a;視頻分辨率…

從豆瓣小組到深度洞察:一個基于Python的輿情分析爬蟲實踐

文章目錄 從豆瓣小組到深度洞察:一個基于Python的輿情分析爬蟲實踐 摘要 1. 背景 2. 需求分析 3. 技術選型與實現 3.1 總體架構 3.2 核心代碼解析 4. 難點分析與解決方案 5. 總結與展望 對爬蟲、逆向感興趣的同學可以查看文章,一對一小班教學:https://blog.csdn.net/weixin_…

RustDesk 使用教程

說明&#xff1a; 使用RustDesk 需要在不同的電腦安裝對應系統型號的客戶端&#xff0c;然后再去云服務器安裝一個服務端即可。 1、到網站下載客戶端&#xff1a;https://rustdesk.com/zh-cn/ 兩臺電腦安裝客戶端。 2、在云服務器安裝服務端 1&#xff09;官網教程&#xff1a;…

【C語言網絡編程基礎】TCP 服務器詳解

在網絡通信中&#xff0c;TCP&#xff08;Transmission Control Protocol&#xff0c;傳輸控制協議&#xff09;是一種可靠、面向連接的協議。一個 TCP 服務器正是基于這種協議&#xff0c;為客戶端提供穩定的網絡服務。本文將詳細介紹 TCP 服務器的基本原理和工作流程。 一、什…

一篇就夠!Windows上Docker Desktop安裝 + 漢化完整指南(包含解決wsl更新失敗方案)

前言 在現代軟件開發和人工智能應用中&#xff0c;環境的穩定性和可移植性至關重要。Docker 作為一種輕量級的容器化技術&#xff0c;為開發者提供一致的運行環境&#xff0c;使得軟件可以在不同平臺上無縫運行&#xff0c;極大地提升了開發和部署的效率。無論是本地開發、測試…

設計模式(二十四)行為型:訪問者模式詳解

設計模式&#xff08;二十四&#xff09;行為型&#xff1a;訪問者模式詳解訪問者模式&#xff08;Visitor Pattern&#xff09;是 GoF 23 種設計模式中最具爭議性但也最強大的行為型模式之一&#xff0c;其核心價值在于將作用于某種數據結構中的各元素的操作分離出來&#xff…