OSPF路由协议解释及特性介绍
生活随笔
收集整理的這篇文章主要介紹了
OSPF路由协议解释及特性介绍
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
本篇文檔針對一些對OSPF路由協議有一定的感性認識的技術人員,提供一些基于OSPF報文格式的介紹,來達到了解路由協議的特性和特有的一些概念的了解。
一.OSPF的特性:
快速收斂;
能夠適應大型網絡
能夠正確處理錯誤路由信息;
使用區域,能夠減少單個路由器的CPU負擔,構成結構化的網絡;
支持無類路由,完全支持超網,可變長子網等無類特性;
支持多條路徑負載均衡
使用組播地址來進行信息互通,減少了非路由器的負載;
使用路由標簽來表示來自外部區域的路由。
二.Neighbor和Adjacency的定義:
Neighbor:
在網絡中OSPF路由器可以發送Hello報文來進行鄰居尋找,當Hello報文中的幾個字段的內容是互相一致的時候,相鄰的OSPF路由器就會形成Neighbor關系。
Neighbor是保存在Neighbor表里,需要有Router ID和IP地址信息。
Router ID的確定:
1. 選擇IP地址最大的Loopback接口的IP地址為Router ID;如果只有一個Loopback接口,那么Router ID就是這個Loopback的地址。
2. 如果沒有Loopback接口,就選擇IP地址最大的物理接口的IP地址為Router ID,但是作為Router ID的物理接口,就不能運行OSPF,也就是說這個接口無法發送接受OSPF報文。
使用Loopback的IP地址作為Router ID的好處:
a. Loopback接口是邏輯接口,永遠不會down,有利于OSPF的穩定運行;
b. 便于控制OSPF路由器的Router ID。
Hello協議的特點:
1. 目的:
a. 用來發現OSPF Neighbor;
b. Hello報文包含了多個需要OSPF路由器協商的參數,以形成Neighbor的關系;
c. 他可以用來維持鄰居之間鏈接的存活;
d. 用來確定DR,BDR路由器的選擇。
2. 報文內容:
a. Router ID
b. Area ID
c. IP地址和掩碼
d. 認證方式和認證信息
e. Hello Interval和Dead Interval
f. Router優先權
g. DR和BDR的Router ID
h. 五個字節的特性控制信息
i. 距上次Hello報文后,在Dead Interval中,路由器的Neighbor的Router ID列表
每個OSPF路由器收到收到hello報文,將會協商上述信息,是否符合,如果不符合,Hello報文會遭到丟棄。
并且當一個路由器收到一個Hello報文,其中Neighbor Router ID List里有它的Router ID時,就會進入2-way模式,一旦進入2-way模式,就會建立Adjacency。
3. DR和BDR使用224.0.0.5(ALLSPFRouter Address)發送Hello Packet,而收到報文的路由器以224.0.0.6(ALLDRRouter Address)發送確認報文,表示收到了Hello Packet。
4. Point-to-Multipoint:相當與多個點對點網絡的集合,但是不會產生DR,BDR的選舉,通過組播報文發送路由信息報文。
5. 只有NBMA網絡和采用虛擬鏈路的網絡發送的是單播報文。
6. Stub Network:只有一個出口連接到路由器的網絡,通常產生的報文的原地址和目的地址都是本網絡中。
DR和BDR的選擇,特性:
1. DR和BDR是接口的特性,和路由器本身無關。
2. DR和BDR和multiaccess網絡中其他的路由器形成adjancency,但他們之間沒有形成adjancency。
3. 每個接口上都會有優先級,如果優先級為0時,表示不參加選擇DR,BDR。
Adjacency:
是在OSPF Neighbor之間形成的虛擬的連接,這些連接有不同的性質,根據路由器連接的不同網絡類型。
形成Adjacency的步驟:
1. 鄰居發現
2. 雙向通信
3. 數據庫同步
為了使路由器能夠實現數據庫的一致和同步,通過交換DD,LSR,LSU報文來達到數據庫同步的目的。
4. 完全形成連接
Master和Slave的關系和選擇
在ExStart狀態下,鄰居之間進行協商,以決定由哪個路由器來控制Database sychronization。
Neighbor表項的數據結構:
Neighbor表項中的信息是通過路由器從Hello報文中學到的,關于鄰居的一些信息。
1. Neighbor ID
2. Neighbor IP Address
3. Area ID
4. Interface
5. Neighbor Priority
6. State
7. PollInterval
這是用于NBMA網絡的一個概念,由于NBMA網絡無法用組播來發送報文,也就是說無法自動發現鄰居,如果當Neighbor處于down的狀態時候,Hello報文每隔一個PollInterval時間就會發送一次,來發現和維護鄰居關系。
8. Neighbor Option
9. Inactivity Time
10. DR
11. BDR
12. Master/Slave
13. DD Sequence Number
14. Last Received Database Description Packet
15. Lik State Retransmission List
是指已經發送出去的LSA,但是還沒有收到Acknowledge的報文,如果超過RxmtInterval還沒有收到,就會進行重傳。
16. Database Summary List
在database synchronization時,所發送的LSA的表單。
17. Link State Request List
是指最新收到的在Database Description報文中所帶的LSA清單,路由器會發送LSR到Neighbor要最新的LSA,收到LSU后,會把list里的相應條目刪掉。
三.Neighbor狀態機制
1. Down
沒有收到任何Hello報文的時候,或是在DeadInterval中,沒有收到Hello報文
2. Attempt
只有在NBMA網絡里才有,手工進行Neighbor的指定。
3. Init
收到了Hello報文
4. 2-way
當路由器看到自己的Router ID在鄰居發來的Hello報文里;在廣播網絡里,DR和BDR開始被選舉。
5. ExStart
決定Master/Slave關系,以初始化DD 報文序列號來交換Database Description報文
6. Exchange
路由器開始交換DD報文的過程
7. Loading
發送LSR報文已處在Loading狀態的報文,請求最新的通過Exchange DD報文發現的未收到的LSA
8. Full
完成了路由器和網絡的LSA的交換
當路由器收到LSA后,會把LSA存到數據庫中,然后會把收到LSA復制并從其它的OSPF接口發送出去,直到整個網絡區域的LSA Database獲得同步一致。然后每個路由器根據LSA Database里的Link信息進行SPF運算,算出沒有回路的最短路徑。
四.Database Description報文
它是包含了路由器所有的LSA信息的報頭,可以使路由器知道,Neighbor上有多少LSA是自己不知道的,可以通過LSR報文來請求新的LSA。
五.多區域OSPF特性
1.骨干區域:起到了讓其他非骨干區域能夠知道別的區域的網絡情況的作用。也就是說,所有非骨干區域的路由信息都要流經骨干區域。
2.虛擬鏈路:是一個通過非骨干區域到骨干區域的鏈路。
使用目的:
連接一個非骨干區域到一個骨干區域通過一個非骨干區域
通過一個非骨干區,連接分開的兩個骨干區部分
規則:
必須在兩個ABR之間進行配置
虛鏈路通過的區域作為傳輸區域,必須有完整的路由信息
中間傳輸區不能是存根區
六.區域的Link State報文類型:
1. Router LSA
由區域內所有的路由器產生的,并且只能在本個區域泛洪廣播。
2. Network LSA
由區域內的DR或BDR路由器產生的,報文包括DR和BDR連接的路由器的鏈路信息。
3. Network Summary LSA
由ABR產生的,可以通知本區域內的路由器通往區域外的路由信息;同時可以發送通往相同自治區不同區域的默認路由;把本區域的路由發送到骨干區域,如果有兩個到相同目的地的路徑,只會把最低cost的路由發送出去;
4. ASBR Summary LSA
由ABR產生,但是它是一條主機路由,指向ASBR路由器地路由。
5. Autonomous System External LSA
由ASBR產生,它告訴相同自治區的路由器通往外自治區的路徑。
6. NSSA External LSA
由ASBR產生,在NSSA區域中,當有一個路由器是ASBR時,不得不產生LSA 5報文,但是NSSA中不能有LSA 5報文,所有ASBR產生LSA 7報文,發給本區域的路由器。
七.OSPF Over Demand Circuits
是應用于有交換虛電路的鏈路中,當鏈路在是空閑的時候,它不會有虛電路的連接,只有在鏈路上有通信量的時候,才會建立虛電路。而OSPF的Hello,LSA報文是要每隔一段時間要發送一次,而Demand Circuits提供了一種特性,在虛電路上只需要傳一次Hello和LSA報文進行OSPF的鄰居和數據庫同步,接下來就不需要再發送以上這些報文,LSA也不會由于收不到Update報文而過期,鄰居關系也不會Dead。這樣可是減少鏈路的使用情況,節省了廣域網鏈路的開支。
OSPF通過在LSA報文中設置一個DonotAge字節,來使兩端得到協商,使收到的LSA永不過期。并且在LSA中加了一個標志位,DC bit,使其他路由器知道這個LSA具有Demand Circuit的特性,使其他路由器不會認為這條路由過期。
八.OSPF的配置(只有一些特點,比較常規的東西不講了)
OSPF具有DNS功能,可以使用路由器名來取代Router ID。
配置:
ip name-server 172.19.45.1
指定OSPF使用的DNS-SERVER的 IP地址
ip ospf name-lookup
使OSPF可以啟用DNS功能
OSPF針對接口有多個地址的解決方法:
1. OSPF只有當接口主地址啟用了OSPF時候,才會對secondary IP address Network的路由信息進行處理。
2. OSPF把secondary IP address Network看作是Stub Network,沒有別的OSPF鄰居,并且不會送Hello報文,也不會和從地址網絡形成鏈接。所以當secondary IP address Network上有連著一臺路由器時,而又需要這兩臺路由器互通路由信息,可以考慮采用靜態路由。
Area 1 nssa no-summary no-redistribution命令使用在既是ABR又是ASBR上,可以讓他所連接的NSSA區域中,只有Router LSA,沒有其他的類型LSA,甚至LSA 7也沒有,只有一條指向ABR的默認路由。
Area 1 nssa no-redistribution default-information-originate命令可以使上述情況中,可以讓LSA 3和4進入NSSA區域,但是LSA 5和LSA 7會被過濾掉。由于把no-summary去掉后,雖然可以使LSA 3和4可以進入NSSA區域,但是ABR就不能產生一個指向外面網絡的默認路由,使NSSA區域內的路由器和自治區外的路由隔離。使用default-information-originate參數,可以使ABR產生一個默認路由。
在OSPF上配置地址匯總時,最好在ABR上增加一條指向null0口的默認路由,防止路由回環。
一.OSPF的特性:
快速收斂;
能夠適應大型網絡
能夠正確處理錯誤路由信息;
使用區域,能夠減少單個路由器的CPU負擔,構成結構化的網絡;
支持無類路由,完全支持超網,可變長子網等無類特性;
支持多條路徑負載均衡
使用組播地址來進行信息互通,減少了非路由器的負載;
使用路由標簽來表示來自外部區域的路由。
二.Neighbor和Adjacency的定義:
Neighbor:
在網絡中OSPF路由器可以發送Hello報文來進行鄰居尋找,當Hello報文中的幾個字段的內容是互相一致的時候,相鄰的OSPF路由器就會形成Neighbor關系。
Neighbor是保存在Neighbor表里,需要有Router ID和IP地址信息。
Router ID的確定:
1. 選擇IP地址最大的Loopback接口的IP地址為Router ID;如果只有一個Loopback接口,那么Router ID就是這個Loopback的地址。
2. 如果沒有Loopback接口,就選擇IP地址最大的物理接口的IP地址為Router ID,但是作為Router ID的物理接口,就不能運行OSPF,也就是說這個接口無法發送接受OSPF報文。
使用Loopback的IP地址作為Router ID的好處:
a. Loopback接口是邏輯接口,永遠不會down,有利于OSPF的穩定運行;
b. 便于控制OSPF路由器的Router ID。
Hello協議的特點:
1. 目的:
a. 用來發現OSPF Neighbor;
b. Hello報文包含了多個需要OSPF路由器協商的參數,以形成Neighbor的關系;
c. 他可以用來維持鄰居之間鏈接的存活;
d. 用來確定DR,BDR路由器的選擇。
2. 報文內容:
a. Router ID
b. Area ID
c. IP地址和掩碼
d. 認證方式和認證信息
e. Hello Interval和Dead Interval
f. Router優先權
g. DR和BDR的Router ID
h. 五個字節的特性控制信息
i. 距上次Hello報文后,在Dead Interval中,路由器的Neighbor的Router ID列表
每個OSPF路由器收到收到hello報文,將會協商上述信息,是否符合,如果不符合,Hello報文會遭到丟棄。
并且當一個路由器收到一個Hello報文,其中Neighbor Router ID List里有它的Router ID時,就會進入2-way模式,一旦進入2-way模式,就會建立Adjacency。
3. DR和BDR使用224.0.0.5(ALLSPFRouter Address)發送Hello Packet,而收到報文的路由器以224.0.0.6(ALLDRRouter Address)發送確認報文,表示收到了Hello Packet。
4. Point-to-Multipoint:相當與多個點對點網絡的集合,但是不會產生DR,BDR的選舉,通過組播報文發送路由信息報文。
5. 只有NBMA網絡和采用虛擬鏈路的網絡發送的是單播報文。
6. Stub Network:只有一個出口連接到路由器的網絡,通常產生的報文的原地址和目的地址都是本網絡中。
DR和BDR的選擇,特性:
1. DR和BDR是接口的特性,和路由器本身無關。
2. DR和BDR和multiaccess網絡中其他的路由器形成adjancency,但他們之間沒有形成adjancency。
3. 每個接口上都會有優先級,如果優先級為0時,表示不參加選擇DR,BDR。
Adjacency:
是在OSPF Neighbor之間形成的虛擬的連接,這些連接有不同的性質,根據路由器連接的不同網絡類型。
形成Adjacency的步驟:
1. 鄰居發現
2. 雙向通信
3. 數據庫同步
為了使路由器能夠實現數據庫的一致和同步,通過交換DD,LSR,LSU報文來達到數據庫同步的目的。
4. 完全形成連接
Master和Slave的關系和選擇
在ExStart狀態下,鄰居之間進行協商,以決定由哪個路由器來控制Database sychronization。
Neighbor表項的數據結構:
Neighbor表項中的信息是通過路由器從Hello報文中學到的,關于鄰居的一些信息。
1. Neighbor ID
2. Neighbor IP Address
3. Area ID
4. Interface
5. Neighbor Priority
6. State
7. PollInterval
這是用于NBMA網絡的一個概念,由于NBMA網絡無法用組播來發送報文,也就是說無法自動發現鄰居,如果當Neighbor處于down的狀態時候,Hello報文每隔一個PollInterval時間就會發送一次,來發現和維護鄰居關系。
8. Neighbor Option
9. Inactivity Time
10. DR
11. BDR
12. Master/Slave
13. DD Sequence Number
14. Last Received Database Description Packet
15. Lik State Retransmission List
是指已經發送出去的LSA,但是還沒有收到Acknowledge的報文,如果超過RxmtInterval還沒有收到,就會進行重傳。
16. Database Summary List
在database synchronization時,所發送的LSA的表單。
17. Link State Request List
是指最新收到的在Database Description報文中所帶的LSA清單,路由器會發送LSR到Neighbor要最新的LSA,收到LSU后,會把list里的相應條目刪掉。
三.Neighbor狀態機制
1. Down
沒有收到任何Hello報文的時候,或是在DeadInterval中,沒有收到Hello報文
2. Attempt
只有在NBMA網絡里才有,手工進行Neighbor的指定。
3. Init
收到了Hello報文
4. 2-way
當路由器看到自己的Router ID在鄰居發來的Hello報文里;在廣播網絡里,DR和BDR開始被選舉。
5. ExStart
決定Master/Slave關系,以初始化DD 報文序列號來交換Database Description報文
6. Exchange
路由器開始交換DD報文的過程
7. Loading
發送LSR報文已處在Loading狀態的報文,請求最新的通過Exchange DD報文發現的未收到的LSA
8. Full
完成了路由器和網絡的LSA的交換
當路由器收到LSA后,會把LSA存到數據庫中,然后會把收到LSA復制并從其它的OSPF接口發送出去,直到整個網絡區域的LSA Database獲得同步一致。然后每個路由器根據LSA Database里的Link信息進行SPF運算,算出沒有回路的最短路徑。
四.Database Description報文
它是包含了路由器所有的LSA信息的報頭,可以使路由器知道,Neighbor上有多少LSA是自己不知道的,可以通過LSR報文來請求新的LSA。
五.多區域OSPF特性
1.骨干區域:起到了讓其他非骨干區域能夠知道別的區域的網絡情況的作用。也就是說,所有非骨干區域的路由信息都要流經骨干區域。
2.虛擬鏈路:是一個通過非骨干區域到骨干區域的鏈路。
使用目的:
連接一個非骨干區域到一個骨干區域通過一個非骨干區域
通過一個非骨干區,連接分開的兩個骨干區部分
規則:
必須在兩個ABR之間進行配置
虛鏈路通過的區域作為傳輸區域,必須有完整的路由信息
中間傳輸區不能是存根區
六.區域的Link State報文類型:
1. Router LSA
由區域內所有的路由器產生的,并且只能在本個區域泛洪廣播。
2. Network LSA
由區域內的DR或BDR路由器產生的,報文包括DR和BDR連接的路由器的鏈路信息。
3. Network Summary LSA
由ABR產生的,可以通知本區域內的路由器通往區域外的路由信息;同時可以發送通往相同自治區不同區域的默認路由;把本區域的路由發送到骨干區域,如果有兩個到相同目的地的路徑,只會把最低cost的路由發送出去;
4. ASBR Summary LSA
由ABR產生,但是它是一條主機路由,指向ASBR路由器地路由。
5. Autonomous System External LSA
由ASBR產生,它告訴相同自治區的路由器通往外自治區的路徑。
6. NSSA External LSA
由ASBR產生,在NSSA區域中,當有一個路由器是ASBR時,不得不產生LSA 5報文,但是NSSA中不能有LSA 5報文,所有ASBR產生LSA 7報文,發給本區域的路由器。
七.OSPF Over Demand Circuits
是應用于有交換虛電路的鏈路中,當鏈路在是空閑的時候,它不會有虛電路的連接,只有在鏈路上有通信量的時候,才會建立虛電路。而OSPF的Hello,LSA報文是要每隔一段時間要發送一次,而Demand Circuits提供了一種特性,在虛電路上只需要傳一次Hello和LSA報文進行OSPF的鄰居和數據庫同步,接下來就不需要再發送以上這些報文,LSA也不會由于收不到Update報文而過期,鄰居關系也不會Dead。這樣可是減少鏈路的使用情況,節省了廣域網鏈路的開支。
OSPF通過在LSA報文中設置一個DonotAge字節,來使兩端得到協商,使收到的LSA永不過期。并且在LSA中加了一個標志位,DC bit,使其他路由器知道這個LSA具有Demand Circuit的特性,使其他路由器不會認為這條路由過期。
八.OSPF的配置(只有一些特點,比較常規的東西不講了)
OSPF具有DNS功能,可以使用路由器名來取代Router ID。
配置:
ip name-server 172.19.45.1
指定OSPF使用的DNS-SERVER的 IP地址
ip ospf name-lookup
使OSPF可以啟用DNS功能
OSPF針對接口有多個地址的解決方法:
1. OSPF只有當接口主地址啟用了OSPF時候,才會對secondary IP address Network的路由信息進行處理。
2. OSPF把secondary IP address Network看作是Stub Network,沒有別的OSPF鄰居,并且不會送Hello報文,也不會和從地址網絡形成鏈接。所以當secondary IP address Network上有連著一臺路由器時,而又需要這兩臺路由器互通路由信息,可以考慮采用靜態路由。
Area 1 nssa no-summary no-redistribution命令使用在既是ABR又是ASBR上,可以讓他所連接的NSSA區域中,只有Router LSA,沒有其他的類型LSA,甚至LSA 7也沒有,只有一條指向ABR的默認路由。
Area 1 nssa no-redistribution default-information-originate命令可以使上述情況中,可以讓LSA 3和4進入NSSA區域,但是LSA 5和LSA 7會被過濾掉。由于把no-summary去掉后,雖然可以使LSA 3和4可以進入NSSA區域,但是ABR就不能產生一個指向外面網絡的默認路由,使NSSA區域內的路由器和自治區外的路由隔離。使用default-information-originate參數,可以使ABR產生一個默認路由。
在OSPF上配置地址匯總時,最好在ABR上增加一條指向null0口的默認路由,防止路由回環。
轉載于:https://blog.51cto.com/77237/114677
總結
以上是生活随笔為你收集整理的OSPF路由协议解释及特性介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java中主线程如何捕获子线程抛出 ..
- 下一篇: 一张A4纸的牛B变化(你能吗?)