路由器的CPU和內存、越來越大的路由表、龐大的拓撲數據庫,爲了解決這些問題OSPF允許把大型區域劃分成多個更易管理的小型區域。這些小型區域可以交流路由彙總信息而不是每一個路由的細節。
生成OSPF多區域可以改善網絡的可擴展性、快速收斂、減低路由器CPU的使用。
OSPF區域的通信量
#域內通信量(Intra-AreaTraffic):只由單個區域內的路由器之間交換的數據包構成的通信量。
#域間通信量:指由不同區域的路由器之間交換的數據包構成的通信量
#外部通信量(External Traffic):指由OSPF域內的路由器和另一個自治系統內的路由器之間交換的數據包構成的通信量。
OSPF被分成多區域的能力是依照分層路由實現的。分層路由器有一下優勢
#降低了SPF運算的頻率
#減小了路由表
#減小了鏈路狀態更新報文(LSU)的流量。
OSPF路由器的類型:
#內部路由器(Internal Router):所有接口都屬於同一個區域的路由器。
#區域邊界路由器(Area Border Router,ABR):指連接一個或多個區域到骨幹區域的路由器,並且這些路由器會作爲域間通信量的路由網關。
#骨幹路由器(Backbone Router):指至少有一個接口與骨幹區域相連的路由器。
#自治系統邊界路由器(Autonomous System Boundary Router,ASBR):可以認爲是OSPF域外部的通信量進入OSPF域的網關路由器。
OSPF的區域類型:
#骨幹區域Area0:區域ID一定爲0,它是連接所有其他區域的核心域
#標準區域:可以接收各種鏈路狀態信息和彙總路由通告,沒有特殊定義的區域就是標準區域。
#末梢區域(Stub):*如果這個區域出口很少,對區域外的路由僅需要一個默認路由的話,可作爲(Stub);;;*主要好處就是減少域內路由器的路由表項數目;;*對Stub區域的限制是區域內不能有自治系統邊界路由器且不能爲區域間的路由做轉發。
#完全末梢區域:除了域內的路由外,只再用一個默認路由。
#非純末梢區域(NSSA)
末梢區域與完全末梢區域
滿足一下4個條件的區域可以被認定爲Stub或者Totally Stubby
#只有一個默認路由作爲其區域的出口
#區域不能作爲鏈路的穿越區域
#Stub區域裏毋自治系統邊界路由器ASBR
#不是骨幹區域Area 0
LSA類型
類型代碼 |
描述 |
1 |
路由器LSA:區域內的路由器發出,列出所有接口或鏈路且指明狀態和代價 |
2 |
網絡LSA:區域內的DR發出 |
3 |
網絡彙總LSA:ABR發出,其他區域內的鏈路彙總通告 |
4 |
ASBR彙總LSA:ABR發出,用於通告ASBR信息 |
5 |
AS外部LSA:ASBR發出,用於通告外部路由 |
7 |
NSSA外部LSA:NSSA區域的ASBR發出,通告本區域連接的外部路由 |
&&NSSA外部LSA和幾乎和自治系統外部LSA通告相同。只是AS外部LSA在整個OSPF自治系統內進行泛洪,NSSA外部LSA通告只在始發這個NSSA外部LSA通告的非純末梢區域內部進行泛洪。
每一種區域內允許泛洪的LSA類型:
區域類型 |
1&2 |
3 |
4&5 |
7 |
骨幹區域 |
允許 |
允許 |
允許 |
不允許 |
非骨幹區域
非末梢區域 |
允許 |
允許 |
允許 |
不允許 |
末梢區域 |
允許 |
允許 |
不允許 |
不允許 |
完全末梢區域 |
允許 |
不允許 |
不允許 |
不允許 |
NSSA |
允許 |
允許 |
不允許 |
允許 |
OSPF的目的類型
#網絡條目:是數據包所要轉發的目的網絡地址
#路由器條目:是到達ABR和ASBR路由器的路由。
路徑類型
#區域間路徑:是指在路由器所在的區域內就可以到達目的地的路徑。
#區域間路徑:是指目的地在其他區域但是仍在OSPF內的路徑。
#類型1的外部路徑:是指目的地址在OSPF自治系統外部的路徑。當一條外部路由重新分配到任何自治系統的時候,它都必須指定一個對那個自治系統中的路由選擇協議有意義的度量值,在OSPF路由協議裏,ASBR的責任就是要給他們所要通告的外部路由指定一個代價值。對於類型1的外部路徑來說,這個代價值是這條路由的外部代價加上到達ASBR路由器的路徑代價之和。
#類型2的外部路徑:也是指目的地在OSPF自治系統外部的路徑,但是在計算外部路由器的度量值是不再計入到達ASBR路由器的路徑代價。
路由表的查找
#選擇可以和目的地址最精確匹配的路由
#通過排除次優的路徑類型來剪除可選擇條目的集合
配置一個ABR-------例
Router(config)#router ospf 50
Router(config-router)#network 10.2.0.0 0.0.255.255 area 1
Router(config-router)#network 10.3.0.0 0.0.255.255 area 0
(一個路由器的兩個接口屬於兩個區域)
配置一個ASBR-------例
Router(config)#router ospf 1
Router(config-router)#network 192.168.1.0 0.0.0.255 area 0
Router(config-router)#redistribute rip
(和另一個自治系統相連,把它重新分發到OSPF區域中)
配置Stub Area
Router(config-router)#area area-id stub
配置Totally Stubby Area
Router(config-router)#area area-id stub no-summary