eigrp ospf 邻居建立过程比较
EIGRP鄰居建立過程
1.路由器A啟動,然后在鏈路上發送hello包
2.路由器B接收到A發來的hello包,然后做出應答,發回update包給A,告訴A它自己的路由表的信息.但是這個時候 鄰居關系還沒有建立直到B發回hello包給A.在B給A的update包里設置了初始位(init bit)的,說明這是初始過程。
3.當雙方交換過hello包以后,鄰居關系建立.A發回ACK包給B確認它已經收到了從B而來的update包
4.A吸收update包到它自己的topology table中去.topology table包括了從鄰居那里得來的所有目的地信息
5.A發送update包給B
6.B收到A發來的update包后做出應答;發回ACK包給A
OSPF鄰居建立過程
1.RT1的一個連接到廣播類型網絡的接口上激活了OSPF協議,并發送了一個HELLO報文(使用組播地址224.0.0.5)。由于此時RT1在該網段中還未發現任何鄰居,所以HELLO報文中的Neighbor字段為空。
2.RT2收到RT1發送的HELLO報文后,為RT1創建一個鄰居的數據結構。RT2發送一個HELLO報文回應RT1,并且在報文中的Neighbor字段中填入RT1的Router id,表示已收到RT1的HELLO報文,并且將RT1的鄰居狀態機置為Init。
3.RT1收到RT2回應的HELLO報文后,為RT2創建一個鄰居的數據結構,并將鄰居狀態機置為Exstart狀態。下一步雙方開始發送各自的鏈路狀態數據庫。
為了提高發送的效率,雙方需先了解一下對端數據庫中那些LSA是自己所需要的(如果某一條LSA自己已經有了,就不再需要請求了)。方法是先發送DD報文,DD報文中包含了對本地數據庫中LSA的摘要描述(每一條摘要可以惟一標識一條LSA,但所占的空間要少得多)。由于OSPF直接用IP報文來封裝自己的協議報文,所以在傳輸的過程中必須考慮到報文傳輸的可靠性。為了做到這一點,在DD報文的發送過程中需要確定雙方的主從關系。作為Master的一方定義一個序列號seq,每發送一個新的DD報文將seq 加一。作為Slave的一方,每次發送DD報文時使用接收到的上一個Master的DD報文中的seq。實際上這種序列號機制是一種隱含的確認方法。如果再加上每個報文都有超時重傳,就可以保證這種傳輸是可靠的。
RT1首先發送一個DD報文,宣稱自己是Master(MS=1),并規定序列號為x。I=1表示這是第一個DD報文,報文中并不包含LSA的摘要,只是為了協商主從關系。M=1說明這不是最后一個報文。
4.RT2在收到RT1的DD報文后,將RT1的鄰居狀態機改為Exstart,并且回應了一個DD報文(該報文中同樣不包含LSA的摘要信息)。由于RT2的Router ID較大,所以在報文中RT2認為自己是Master,并且重新規定了序列號為y。
5.RT1收到報文后,同意了RT2為Master,并將RT2的鄰居狀態機改為Exchange。RT1使用RT2的序列號y來發送新的DD報文,該報文開始正式地傳送LSA的摘要。在報文中RT1將MS=0,說明自己是Slave。
6.RT2收到報文后,將RT1的鄰居狀態機改為Exchange,并發送新的DD報文來描述自己的LSA摘要,需要注意的是:此時RT2已將報文的序列號改為y+1了。
7.上述過程持續進行,RT1通過重復RT2的序列號來確認已收到RT2的報文。RT2通過將序列號+1來確認已收到RT1的報文。當RT2發送最后一個DD報文時,將報文中的M=0,表示這是最后一個DD報文了。
8.RT1收到最后一個DD報文后,發現RT2的數據庫中有許多LSA是自己沒有的,將鄰居狀態機改為Loading狀態。此時RT2也收到了RT1的最后一個DD報文,但RT1的LSA,RT2都已經有了,不需要再請求,所以直接將RT1的鄰居狀態機改為Full狀態。
9.RT1發送LS Request報文向RT2請求所需要的LSA。RT2用LS Update報文來回應RT1的請求。RT1收到之后,需要發送LS Ack報文來確認。上述過程持續到RT1中的LSA與RT2的LSA完全同步為止。此時RT1將RT2的鄰居狀態機改為Full狀態。
OSPF路由協議概念解釋和特性介紹
本篇文檔針對一些對OSPF路由協議有一定的感性認識的技術人員,提供一些基于OSPF報文格式的介紹,來達到了解OSPF路由協議的特性和特有的一些概念的了解。
?? 一.OSPF的特性:
?? 快速收斂;
?? 能夠適應大型網絡;
?? 能夠正確處理錯誤路由信息;
?? 使用區域,能夠減少單個路由器的CPU負擔,構成結構化的網絡;
?? 支持無類路由,完全支持超網,可變長子網等無類特性;
?? 支持多條路徑負載均衡;
?? 使用組播地址來進行信息互通,減少了非OSPF路由器的負載;
?? 使用路由標簽來表示來自外部區域的路由。
?? 二.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產生一個默認路由。
轉載于:https://www.cnblogs.com/milo85/archive/2010/01/04/1638935.html
總結
以上是生活随笔為你收集整理的eigrp ospf 邻居建立过程比较的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【腾讯通服务器的消息集成解决方案】之与勤
- 下一篇: 大一暑假第三周学习体会