OSPF協議:OSPF的報頭和鄰居建立過程和HEllO報文內容

2021-01-10 很神很奇很神奇

OSPF報文直接封裝為IP協議報文,因為OSPF是專為TCP/IP網絡而設計的路由協議。以上所說到的五種OSPF報文使用相同的OSPF報頭格式

看第一個version 欄位 版本欄位,佔1個字節,指出所採用的OSPF協議版本號,目前最高版本為OSPF v4,即值為4(對應二進位就是0100)。

packet type 說的應該是數據包的類型,ospf 有五種。hello,dd,lsr,lsu,lsack

packet length 是包的長度,佔兩個字節,指ospf報頭以及報文內容

routerID 佔4個字節,指報文的生成者的RouterID

AreaID就是 報文的生成這的RouterID

Checksum 用於對報頭和報文體的摘要信息用於校驗,它能夠校驗該報文的完整性和正確性,同時也會對lsa的新舊程度產生影響

auType認證類型,0:不認證,1:簡單認證,2:MD5

authentication:表示認證密碼或者摘要信息,當autype=0時,該欄位為空

OSPF中使用routerID來標識路由器

Router ID是一個32位的無符號整數,其格式和IP位址的格式是一樣的,Router ID選舉規則如下:手動配置OSPF路由器的Router ID(通常建議手動配置); 如果沒有手動配置Router ID,則路由器使用Loopback接口中最大的IP位址作為Router ID; 如果沒有配置Loopback接口,則路由器使用物理接口中最大的IP位址作為Router ID。 OSPF的路由器Router ID重新配置後,可以通過重置OSPF進程來更新Router ID。

OSPF有五種報文,hello,dd,lsr,lsu,lsack

hello報文的作用

鄰居發現:自動發現鄰居路由器。

鄰居建立:完成Hello報文中的參數協商,建立鄰居關係。

鄰居保持:通過Keepalive機制,檢測鄰居運行狀態。

hello報文的發送時間,根據鏈路的不同為10s和30s,用於周期性更新

hello報文還有一個deadtime為老化時間,這個時間必須是hello時間的4倍,如果不是則不能建立鄰居關係。

OSPF鄰居建立過程:

可以看到圖中的RTA對RTB發送hello報文,此時報文內的neighbor為null,用於發現鄰居,當RTB收到這條報文時,RTB的狀態為init。

RTB與RTA發送neighbor為null的用於發現鄰居的hello時是同步的,當RTB收到hello後,會根據數據包中的源地址了解到RTA是自己的鄰居,於是發送新的hello報文用於建立鄰居關係,此時報文的neighbor為RTA的RouterID,當RTA收到這條報文時從init進入2way狀態,同時RTA也會發送neighbor為RTB的RouterID的hello報文,當RTB收到時從init進入到2way狀態。

那麼OSPF是怎麼發現鄰居的呢,因為不知道對方的IP位址所以肯定不可以採用單播的形式,它使用的是組播的形式發送hello報文,目的地址發送的224.0.0.5,對於NBMA網絡,也就是不支持組播的網絡ospf需要手動指定鄰居的ip地址。

hello報文都包含哪些內容呢?

相關焦點

  • OSPF 簡介及基本配置
    5、OSPF的協議報文:OSPF協議報文主要包括以下幾種:6、鄰居和鄰接:在OSPF網絡中,鄰居設備之間為了交換路由信息,鄰居設備之間首先要建立鄰接關係,鄰居(Neighbors)關係和鄰接(Adjacencies)關係是兩個不同的概念:鄰居關係:OSPF設備啟動後,會通過OSPF接口向外發送Hello報文,收到Hello報文的OSPF
  • 網工必備學習筆記——OSPF虛連接
    OSPF虛連接一、OSPF功能介紹:虛連接是指在兩臺ABR之間,穿過一個非骨幹區域(也稱為轉換區域,Transit Area),建立的一條邏輯上的連接通道(須在兩端的ABR上同時配置)。二、OSPF虛連接應用場景:在劃分OSPF區域之後,非骨幹區域之間的OSPF路由更新是通過骨幹區域來交換完成的。
  • 詳解OSPF 特殊區域實驗(普通區域、stub、nssa)
    完成配置後,觀察各臺路由器3的路由表和LSDB;2. 將area1配置為Stub區域,觀察路由和LSA的變化;3. 將area1修改為Totally-Stub區域,觀察路由和LSA的變化;4.將area2修改為Totally NSSA,觀察路由和LSA的變化。
  • 從一個HTTP請求來讀懂HTTP、TCP協議
    HTTP協議版本已經演化到3.0版本,關於協議版本可以查看 快速掌握HTTP1.0 1.1 2.0 3.0的特點及其區別HTTP報文格式HTTP 協議的請求報文和響應報文的結構基本相同,由三大部分組成: 起始行(start line):描述請求或響應的基本信息
  • 網絡七層協議詳解
    一個IP包除了包含要傳輸的數據外,還包含源IP位址和目標IP位址,源埠和目標埠。傳輸層例如TCP,用於發送大量數據。TCP協議負責在兩臺計算機之間建立可靠連接,保證數據包按順序到達。TCP協議會通過握手建立連接,然後對每個IP包編號,確保對方按順序收到,如果包丟了,就自動重發。
  • 銳捷交換機恢復出廠和各種基本配置(附下載)
    前面我們發布了一些關於銳捷交換機配置案例,有不少朋友反映命令看不懂,有沒有更基礎的內容,本期我們一起來了解下銳捷最詳細的基礎命令。  一、銳捷交換機配置原理  我們來看下銳捷的日常配置命令原理。
  • TCP/IP協議與UDP協議怎麼選?
    ,這是網際網路最基本的協議也是國際網際網路的基礎,此協議由網絡層的IP協議和傳輸層的TCP協議組成。 鏈路層:負責封裝和解封裝IP報文,發送和接受ARP/RARP報文等; 網絡層:負責路由以及把分組報文發送給目標網絡或主機; 傳輸層:負責對報文進行分組和重組,並以TCP或UDP協議格式封裝報文; 應用層:負責向用戶提供應用程式,比如HTTP、FTP、Telnet
  • 製造報文規範在變電站自動化系統中的研究與應用 - 軟體與服務...
    製造報文規範MMS是ISO TC84開發的智能設備間交換實時數據和監控信息的一套獨立的國際報文規範,MMS獨立於應用和設備的開發者,所提供的服務十分通用,是IEC 61850標準中面向基於網絡通信的基礎。    本文詳細介紹了MMS在變電站自動化系統的應用,並分析了基於IEC 61850的MMS的應用模型和服務流程。
  • 物聯網應用層協議選擇和分析--MQTT、CoAP 、HTTP、XMPP、SoAP
    從應用方向來分析,主要區別有以下幾點: 1、MQTT協議不支持帶有類型或者其它幫助Clients理解的標籤信息,也就是說所有MQTT Clients必須要知道消息格式。而CoAP協議則相反,因為CoAP內置發現支持和內容協商,這樣便能允許設備相互窺測以找到數據交換的方式。 2、MQTT是長連接而CoAP是無連接。
  • 面試官不講武德,上來就問我Chrome底層原理和HTTP協議
    數據傳送在每個TCP報文段中都有一對序號和確認號。TCP報文發送者稱自己的字節流的編號為序號,稱接收到對方的字節流編號為確認號。通過使用序號和確認號,TCP層可以把收到的報文段中的字節按正確的順序交付給應用層。
  • 小姜學網絡(動態路由協議RIP的配置)
    鄰居:路由器只了解自身接口的網絡地址以及能夠通過其鄰居到達的遠程網絡地址,對於網絡拓撲結構的其它部分則一無所知。鄰居路由器都將處理此類更新。,不支持VLSM,在更新報文中不帶子網掩碼,為有類路由協議,不支持認證,不支持路由自動匯總功能。
  • TCP和UDP的對比(附OSI七層模型框圖)
    TCP(Transmission Control Protocol,傳輸控制協議)是面向連接的、可靠的字節流服務,也就是說,在收發數據前,必須和對方建立可靠的連接。這一過程和打電話類似:先撥號振鈴,等待對方接電話,說喂,再說自己是誰。在網際網路協議族(Internet protocol suite)中,TCP層是位於IP層之上,應用層之下的傳輸層。
  • 西門子 PLC 幾種常見的連接口和通訊協議
    今天給大家分享西門子PLC幾種常見的連接口和通訊協議。PPI協議是一種主-從協議。主站設備發送要求到從站設備,從站設備響應,從站不能主動發出信息。主站靠PPI協議管理的共享連接來與從站通訊。PPI協議並不限制與任意一個從站的通訊的主站的數量,但在一個網絡中,主站不能超過32個。PPI協議最基本的用途是讓西門子Step7-Micro/Win編程軟體上傳和下載程序和西門子人機界面與PC通信。
  • 軟體測試之TCP、HTTP協議必知必會,面試必備!
    HTTPS協議詳解3.1 HTTP協議概述3.2 HTTP協議之請求報文3.3 HTTP協議之響應報文3.4 HTTP協議 無狀態、無連接特點及解決方案3.5 HTTPS協議詳解1.3 網絡傳輸過程數據在網絡傳輸的過程中,本質是一個封裝和解封裝的過程。例如:用戶使用瀏覽器向百度伺服器發送請求過程中,就是用戶的數據從應用層一路封裝到物理層,伺服器得到物理層的比特流後,一路解封裝得到對應數據。
  • 面試官不講武德,對Java初級程序猿死命摩擦Http協議
    /ip的分層裡面,當客戶端發起http請求到達服務端的過程中,數據包的封裝以及解包的過程是怎樣的?不過沒事,我皮的很,這道題我又會)我:在HTTP協議的早期,每進行一次HTTP通信就要斷開一次tcp連接,當時傳輸的內容少還能接受,現在每個網頁一般的會包含大量的圖片,每次請求都會造成TCP連接的連接和斷開,增加通信的開銷。為了解決這個問題所以想出了持久連接的方法,也叫做keep-alive,只要一端沒有提出斷開連接就會一直保持TCP連接的狀態。