OSPF-2 鄰接建立關系

上一期我們說了OSPF的鄰居建立關系以及OSPF鄰居關系建立中建立失敗的因素以及相關實驗案例

這一期我們來說說OSPF的鄰接關系建立時需要交互哪些報文以及失敗因素及原因和相關實驗案例

一、概述

在運行了OSPF的網絡當中為了交互鏈路狀態信息和路由信息,互相之間需要建立鄰接關系。

鄰居關系不等于鄰接關系

不是所有的鄰居關系都可以建立鄰接關系

在廣播型網絡當中(MA網絡類型)與NBMA網絡類型中,Dr other只與DR/BDR建立鄰接關系。

什么是鄰接關系

鄰接關系是建立完鄰居關系后進一步建立的,當建立OSPF鄰居的兩端路由器交互完DD報文以及LSA之后才算建立完鄰接關系。

二、OSPF的鄰居狀態

OSPF的鄰居狀態

Down這是鄰居的初始狀態,表示沒有從鄰居收到任何信息
Init在此狀態下,路由器已經從鄰居收到了Hello報文,但是自己的Router ID不在收到的Hello報文的鄰居列表當中
2-way在此狀態下,路由器發現自己的Router ID存在于收到的Hello報文的鄰居列表當中

OSPF的鄰接狀態

Exstart鄰居狀態變成此狀態之后,路由器開始向鄰居發送DD報文
Exchange在此狀態下,路由器與鄰居之間相互發送包含鏈路狀態信息摘要的DD報文
Loading在此狀態下,路由器與鄰居之間相互發送LSR報文、LSU報文、LSAck報文。
Full路由器完成了鄰居的LSDB鏈路狀態數據庫同步

三、影響OSPF鄰接狀態的因素

MTU建立鄰接關系的兩端路由器的接口MTU參數需要一致
靜默接口建立鄰接關系的兩端路由器的接口不能設置為靜默接口,如果設置為靜默接口鄰居關系也無法建立成功
過濾OSPF報文建立鄰接關系的兩端路由器不能配置ACL過濾OSPF報文,如果過濾了OSPF報文鄰居關系也無法建立成功

1、MTU

建立鄰接關系的兩端路由器的接口MTU值不一致時會卡在Exstart狀態,華為默認不開啟MTU檢查發出的DD報文中的MTU值為0,所以在默認情況下修改MTU的參數并不會直接影響OSPF鄰接關系的建立

只有開啟了MTU檢測后才會把接口的MTU值寫入DD報文中

四、OSPF鄰接關系過程

鄰居狀態Down~2-way路由器在接口下運行OSPF協議,周期性發送Hello報文發現鄰居并建立鄰居關系
Exstart通過發送DD報文來協商MTU和主從關系,RID大的為主
Exchange基于選舉出來的主從關系,由從先發送帶有鏈路狀態信息摘要的DD報文
LoadingOSPF鄰居之間開始交互LSR、LSU、LSAck報文。
FullLSDB同步完成,OSPF鄰居之間完成鄰接關系的建立

1、MA廣播型網絡建立鄰接關系過程

拓撲

?(1)基礎配置

AR1
system
sysname AR1
interface g0/0/0
ip add 192.168.1.1 24AR2
system
sysname AR2
interface g0/0/0
ip add 192.168.1.2 24

(2)OSPF配置

AR1
ospf 1 router-id 1.1.1.1
area 0
network 0.0.0.0 255.255.255.255AR2
ospf 1 router-id 2.2.2.2
area 0
network 0.0.0.0 255.255.255.255

通過發送Hello報文發現OSPF鄰居,建立鄰居關系

Down~2-way

當AR1的鄰居狀態變為Exstart后,AR1會發送第一個DD報文,此報文當中DD報文的序列號為隨機的X,I為1表示為第一個DD報文,M為1表示還有后續的DD報文,MS為1表示自己為主

2-way~Exstart

我們可以看到在沒有配置MTU檢查時發送的DD報文中的MTU值默認為0

I是否為第一個DD報文,如果為1表示為第一個,如果為0表示不是第一個
M是否有后續的DD報文也可以理解為是否為最后一個DD報文,如果為1代表后續還有,如果為0則為最后一個
MS是否為主,如果為1表示為主,如果為0表示為從,所有OSPF鄰居在第一個發送DD報文時都認為自己是主所以這里都為1

Exstart~Exchang

我們可以看到是由從先發送后續的DD報文并且這個DD報文中攜帶了LSA的摘要信息,也就是有內容的DD報文
Exchange~Full

開始交互LSR、LSU、LSAck報文交互LSA鏈路狀態信息

AR1與AR2會發送LSR請求DD報文下發現的并且在本地LSDB中沒有的鏈路狀態信息

LSR請求LSA,只攜帶LSA的摘要信息類似于目錄
LSU對LSA的回應,攜帶全部的LSA信息內容
LSAck對LSU的確認,攜帶LSA的摘要

此時就完成了OSPF鄰接關系的建立

2、開啟MTU檢查后建立鄰接關系

拓撲

?這里我們把AR1的接口MTU配置為1400并在兩端開啟MTU檢查看看是否可以建立OSPF鄰接關系

這里我們可以看到AR1發送的DD報文中MTU字段為配置的1400并且鄰居狀態會卡在Exstart狀態,查看錯誤報告時會發現MTU協商錯誤

?

?到這里本章內容就到此結束了如果有疑問可以+博主私聊,如果哪里有問題歡迎私聊博主及時更改謝謝大家的觀看學習!!!

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

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

相關文章

問deepseek: 如何處理CGNS網格文件里,多個zone之間的鏈接數據

在CGNS文件中,多個zone之間的鏈接數據通常通過ZoneGridConnectivity節點處理。以下是處理步驟: 1. 確定鏈接類型 首先,明確zone之間的鏈接類型,常見的有: 1-to-1連接:兩個zone的邊界點一一對應。** Over…

什么是SEO泛目(什么是SEO站群)

SEO泛目錄與站群策略:提升網站優化的雙劍合璧 在當今競爭激烈的互聯網環境中,SEO優化已成為企業提升網站流量和品牌曝光的重要手段。而在眾多SEO策略中,泛目錄和站群因其獨特的技術優勢和效果,逐漸成為SEO從業者的熱門選擇。本文…

conda、pip、npm、yarn換國內源

conda源 # conda源 conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/main/ conda config --set show_channel_urls yes# 換回conda的默認源 conda config --remove-key channels pip源 # pip源# 永久換源 pip config set global.index-url https://…

Jetson Orin NX jupyter lab的安裝和使用

主要是為了梳理一下整個過程,其實步驟很簡單,但容易出錯。 注意,實際只有兩個文件需要寫入,一個是jupyter_lab_config.py,一個是jupyter.service。 配置文件的名字要寫對,如果總是copy網上的代碼&#xff0…

【清華大學第七版】DeepSeek賦能家庭教育的實操案例(批改作文+輔助語文/數學/科學學習+制定學習計劃)

我用夸克網盤分享了「DeepSeek完整資料合集」,點擊鏈接即可保存。打開「夸克APP」,無需下載在線播放視頻,暢享原畫5倍速,支持電視投屏。 鏈接:https://pan.quark.cn/s/621259e4af15 近日,清華大學發布了《…

hive 中的各種參數,一般在哪里修改

在實際工作中,Hive 參數的配置和修改可以通過多種方式進行,具體取決于使用場景和需求。以下是常見的參數配置方式和適用場景: 1. 在 Hive CLI 或 Beeline 中臨時設置 適用場景: 臨時修改參數,僅對當前會話生效。 使用方法: 在 Hi…

Opencv之掩碼實現圖片摳圖

掩碼實現圖片摳圖 目錄 掩碼實現圖片摳圖1 掩碼1.1 概念1.2 創建掩碼1.3摳圖思路 2 代碼測試 1 掩碼 1.1 概念 掩碼(Mask)是一種用于指定圖像處理操作區域的工具。掩碼通常是一個與圖像尺寸相同的二值圖像,其中像素值為0表示不處理&#xff…

QT編程之JSON處理

一、核心類庫及功能 Qt 提供了一套完整的 JSON 處理類庫(位于 QtCore 模塊),支持解析和生成 JSON 數據: ?QJsonDocument?:表示完整的 JSON 文檔,支持從 QJsonObject 或 QJsonArray 初始化?。?QJsonOb…

在虛擬環境里面配置Linux系統

Linux系統有很多版本,常用的有Ubantu烏班圖,和CentOS 不同的版本在使用的時候,有部分執行方式的不同 安裝的流程都一樣 首先,想要安裝Ubantu,要去它的官網,找下載連接,然后下載iso后綴的安裝…

CentOS7下安裝MongoDB

步驟 1:創建 MongoDB Yum 倉庫文件 你需要創建一個 MongoDB 的 Yum 倉庫配置文件,以便從官方源下載 MongoDB。打開終端并使用以下命令創建并編輯該文件: sudo vi /etc/yum.repos.d/mongodb-org-7.0.repo 在打開的文件中,輸入以下…

機器視覺工程師如何學習C#通訊

建議大家可以提前測試,真實模擬現場的情況,或者采用虛擬串口,虛擬網口頻繁測試通訊的穩定性,以后有現場需要,可以快速布局到現場。 機器視覺工程師學習C#通訊協議需要結合工業場景需求,掌握基礎協議原理、常…

40.動態規劃13

回文子串 class Solution { public:int countSubstrings(string s) {int ns.size();vector<vector<int>> dp(n,vector<int>(n,0));int res0;for(int i0;i<n;i){for(int ji;j>0;j--){if(ij){dp[i][j]1;res;}else{if(s[i]s[j]){if(abs(i-j)<2){dp[i]…

基于ssm的一家運動鞋店的產品推廣網站的設計

項目簡介 一家運動鞋店實現了以下功能&#xff1a; 實現了用戶在線選擇試題并完成答題&#xff0c;在線查看考核分數。管理員管理收貨地址管理、購物車管理、字典管理、留言版管理、新聞信息管理、產品管理、產品收藏管理、產品評價管理、產品訂單管理、單頁數據管理、用戶管…

3.14學習總結

今天完成了幾道關于二叉樹的算法題 關于二叉樹的最小最大深度和數據流中的第k大元素&#xff0c;用到優先隊列&#xff0c;學習了有關java的基礎知識&#xff0c;學習了雙指針法。

spring boot3 kafka集群搭建到使用

首先自行安裝docker&#xff0c;通過docker容器安裝kafka CentOS 系統 docker安裝地址 1.pom.xml和application.properties或者application.yml文件配置 <dependency><groupId>org.springframework.kafka</groupId><artifactId>spring-kafka</arti…

基于 RWA 模型與 AI - Agent 協同的企業級 aPAAS 架構設計

一、引言 在企業數字化轉型不斷深化的當下&#xff0c;現實世界資產&#xff08;RWA&#xff09;模型與人工智能智能體&#xff08;AI - Agent&#xff09;的協同融合&#xff0c;為企業級應用平臺即服務&#xff08;aPAAS&#xff09;架構的創新發展帶來了新契機。這種架構旨在…

Flutter PopScope對于iOS設置canPop為false無效問題

這個問題應該出現很久了&#xff0c;之前的組件WillPopScope用的好好的&#xff0c;flutter做優化打算“軟性”處理禁用返回手勢&#xff0c;出了PopScope&#xff0c;這個組件也能處理在安卓設備上的左滑返回事件。但是iOS上面左滑返回手勢禁用&#xff0c;一直無效。 當然之…

基爾霍夫定律課后學習日志

基爾霍夫定律課后日志 今天在學習基爾霍夫定律后&#xff0c;我對它在實際工程中的價值有了全新的認識。 基爾霍夫電流定律&#xff08;KCL&#xff09;和電壓定律&#xff08;KVL&#xff09;是電路分析的基石。在電子電路設計領域&#xff0c;這兩個定律發揮著關鍵作用。以…

矩陣交換行(信息學奧賽一本通-1119)

【題目描述】 給定一個55的矩陣(數學上&#xff0c;一個rc的矩陣是一個由r行c列元素排列成的矩形陣列)&#xff0c;將第n行和第m行交換&#xff0c;輸出交換后的結果。 【輸入】 輸入共6行&#xff0c;前5行為矩陣的每一行元素,元素與元素之間以一個空格分開。 第6行包含兩個整…

SWPU 2022 新生賽

webdog1__start if (isset($_GET[web])) {$first$_GET[web];if ($firstmd5($first)) md5 自等 web0e215962017 &#xff08;md5后也是 0e) 登入后得到提示&#xff0c;robots.txt 訪問 f14g.php 返回包里發現 hint > if (isset($_GET[get])){$get$_GET[get];if(!strs…