OSPF 報文格式詳解

要理解OSPF路由協議的工做原理,特別是路由更新機制,首先就要對它的各類報文格式有一個全面的瞭解。OSPF報文主要有5種:Hello報文、DD (Database Description,數據庫描述)報文、LSR (LinkState Request,鏈路狀態請求)報文、LSU(LinkState Update,鏈路狀態更新)報文和LSAck(LinkState Acknowledgment,鏈路狀態應答)報文。它們各自在OSPF路由更新中所擔當的用途不同,報文格式也存在比較大的差異。
html

OSPF 的報文格式數據庫

OSPF 的報文直接封裝在IP 數據包 協議號爲89 一個比較完整的OSPF 報文格式以下網絡

IP headeride

Ospf packet headerspa

Number LAS srouter

LSA headerhtm

lsa Data接口

1.       OSPF 報文頭ip

OSPF 有五種報文類型 它們有相同的報頭ci

version(8)

Type(8)

Packet length(16)

Router-id(32)

Area-id(32)

Checksum(16)            

Autype(24)

Authentication(32)

Authentication(32)

字段解釋以下

Version 是ospf 的版本 ospfv2 其值爲 2

Type :ospf 類型有五種報文 分別爲 1: hello 2:dd 3:lsr 4 :lsu 5 lsack

Packet length ospf 報文的總長度 包括報頭在內 單位是字節

Router-id 始發該LSA的路由器ID

Area-id 始發該LSA 的區域ID

Checksum :對整個報文校驗

Autype :驗證類型 可分爲不驗證、明文驗證、MD5驗證 值分別爲 0 1 2

Authenication :其值根據驗證類型來定義, 驗證爲0時未做定義 爲1是爲密碼驗證 爲2時爲KEY-ID 和密碼的MD5 驗證

MD5數據添加在OSPF 報文後面不在authentication 字段裏

二:hello 報文 (hello packet)

它是週期性的發送 來維持鄰居關係 和dr /bdr 選舉內容主要包括:定時器數值、DR BDR 以及本身已知的鄰居 起報文格式以下圖

 

Version(8)

1

Packet length(16)

Router-id(32)

Area-id(32)

Checksum(16)     

Autype(24)

Authentication(32)

Authentication(32)

Network mask(32)

Hellointerval   (16)                            options  (8)              RTR pri

Routerdeadtimeinterval(32)

DR(32)

BDR(32)

Neighbor (32)

--------

Network mask 發送hello 包 時 接口下的子網掩碼不一樣不能創建鄰居關係

Hellointerval 發送hello 報的時間間隔不一樣不能創建鄰居關係

RTr pri :路由器的本地優先級

Routerdeadtimeinterval:失效時間 若是在規定的時間內沒有收到來自鄰居的hello包則視爲失效,失效時間間隔不一樣不能創建鄰居

Designated router 指路由器本地接口的IP

Neighbor 指鄰居路由器的Ip

DD 報文(database description packet )

兩臺路由器進行數據庫同步時,用DD報文來描述本身的LSDB 內容包括LSDB中每一條LSA 的header   LSA header 只佔一個條LSA的整個數據流的一小部分 這樣能夠減小路由器之間的協議報文流量,對端的路由器能夠根據LSA 的頭部 可以判斷是否有這條LSA

Version(8)

2

Packet length(16)

Router-id(32)

Area-id(32)

Checksum(16)            

Autype(24)

Authentication(32)

Authentication(32)

interface MTU

option

i=1   M=1   ms=1 

DD Sequence number

LSA header

 主要字段解釋以下:

Interface MTU :在不分片狀況下 在接口處允許最大發出的IP報文長度

I(initial)當發送連續的DD 時 若是是第一個報文則爲1

M(more) 表示多個DD 連續發送報文,若是是最後一個dd 則表示爲0 反則爲1

MS :在雙方交換DD 時還要確認他們的主從關係 ms=1 表示發送方爲主位

Dd sequence number :雙方用序列號來確認DD 收發的持續性和完整性

三:LSR報文(link state request)

兩臺路由器互相交換數據到最後一個LSA 時 若是一方發現本身還有不少不知道的DD 時就會請求對方 lsr 來繼續更新本身的DATABASE

Version(8)

3

Packet length(16)

Router-id(32)

Area-id(32)

Checksum(16)            

Autype(24)

Authentication(32)

Authentication(32)

LS TYPE

Link state ID

Advertising  router

 LS Type :LSA 的類型 例如Type 1表示router lsa

Link state ID 鏈路狀態標識

Advertising router: 產生此lsa 的路由器

5.LSU 報文

LSU 是對LSR 尋求的回答

Version(8)

4

Packet length(16)

Router-id(32)

Area-id(32)

Checksum(16)            

Autype(24)

Authentication(32)

Authentication(32)

Number of LSAs

LSAs

Number of LSAs 該報文包含LSA 的數量

LASs :包含全部的LSA

6.LSAck 

LSACK 報文是用來對接收到的LSU 報文的進行確認的 內容是須要確認LSA 的header

Version(8)

Type(8)

Packet length(16)

Router-id(32)

Area-id(32)

Checksum(16)            

Autype(24)

Authentication(32)

Authentication(32)

LSA header

LSA header :該報文包含LSA 的頭部

7.LSA 頭格式

全部的LSA 都有相同的報文頭

LS age

Options

LS type

Linke state ID

Adbertising router

LS sequence number

Ls checksum

length

LS age :LSA 產生後所通過的時間 LSA 會在LSDB中有老化時間 但在傳輸過程當中不會

LS type :LSA 類型 3 4 5 7

LS sequence number 其餘路由器能夠根據其值來判斷是不是最新的LSA

Length:LSA 的總長度 以字節爲單位

LS checksum 對LSA 的報文檢查出了LS age

LSA 類型

LS age

Options

1

Linke state ID

Adbertising router

LS sequence number

Ls checksum

length

0

V

E

B

0

#links

Link id


Type

Tos

metric



TOS

0

TOS metric

Link ID


Link data


Link state id :產生此LSA 的路由器的router id

V(virtual link) 若是產生此LSA 的路由器是虛鏈接的端點 則 值爲1

E (external): 若是產生此LSA 的路由器是ASBR 值爲1

B (border):若是產生此LSA 的路由器是ABR 值爲1

#links:LSA 中所描述的鏈路信息的數量,包括路由器處於某區域中全部鏈路和接口

Link ID :鏈路標識 具體的數值根據鏈路類型而定

Link data 鏈路數據具體的值根據類型而定

Type :鏈路類型 取值爲1表示經過點對點鏈路與另外一個路由器相連,取值爲2 表示鏈接到傳送網絡,取值爲3 表示鏈接到STUB 網絡 取值爲4 表示虛電路

#TOS 鏈路不一樣方式的數量

Metric :鏈路開銷

Tos :服務類型

Tos metric :指定服務類型的鏈路開銷

2.       network LSA

它是由廣播或NBMA 網絡中的DR 發出,LSA 中記錄了這一段上因此路由器的router-id

LS age

Options

2

Linke state ID

Adbertising router

LS sequence number

Ls checksum

length

Network mask

Attached router

Link state id :DR 的IP 地址

Network mask :BMA/NBMA 網絡地址的掩碼

Attached router:鏈接在同一網段上的全部與DR 創建鄰接關係的router-id 也包括自身的router-id

3.       summary LSA

network summary LSA(type3) 和ASBR summary LSA (type4)

LS age

Options

3 or 4

Linke state ID

Adbertising router

LS sequence number

Ls checksum

length

Network mask

0

metric 

Tos

tos metric

Link state id :對於type3來講 它是通告到區域外的網絡地址 對於type4來講 它是通告到區域外的ASBR的router id

Network mask :BMA/NBMA 網絡地址的掩碼

Attached router:鏈接在同一網段上的全部與DR 創建鄰接關係的router-id 也包括自身的router-id

4.       AS external LSA

由ASBR 產生 描述到AS 外部的路由信息

LS age

Options

3 or 4

Linke state ID

Adbertising router

LS sequence number

Ls checksum

Length

Network mask

E

0

metric

Forwarding address

External route lag

E

tos

tos metric

Forwarding address

External route lag

主要字段解釋

Link state id :所要通告的其餘外部AS 的目的地址,若是通告的是一條是缺省路由則LS ID和子網掩碼都爲0.0.0.0

Network mask :所通告的目的地址掩碼

E: 外部度量值

5.       NSSA external LSA

由NSSA 區域內的ASBR產生 而且在NSSA 內部傳送和type5 類似

相關文章
相關標籤/搜索