天天看點

《OSPF網絡設計解決方案(第2版)》一2.2 選擇路由協定

本節書摘來自異步社群《ospf網絡設計解決方案(第2版)》一書中的第2章,第2.2節,作者 【美】thomas m. thomas ii, ccie #9360,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視

ospf網絡設計解決方案(第2版)

網絡設計者和工程師經常會提出這樣的問題,“我應當選擇使用哪種路由協定?”本節比較上文已經介紹過的兩種鍊路狀态協定——is-is和ospf。在選擇路由協定之前,你需考慮三個方面的問題。

操作事項——決定了在網絡長期運作的過程中,對網絡進行管理的難易程度。這些考慮事項包括:如何确定協定性能以适應網絡更變、如何最小化對網絡的影響以及如何對故障進行排除。

技術事項——有助于判斷特定的協定是否能夠滿足一系列特定的網絡需求。

商業事項——定義影響網絡設計決策的商業優先級和政策。這類考慮事項一般來自于公司内部,并且通常對于網絡實施的成敗起到關鍵性的作用。

表2-1列出了在選擇路由協定時需要考慮的操作事項。

《OSPF網絡設計解決方案(第2版)》一2.2 選擇路由協定

1.所支援的協定

縱觀網絡的發展,所有被動路由協定都擁有自己獨立的路由協定:appletalk使用路由表維護協定(rtmp),novell使用網際網路絡分組交換(ipx)rip協定,而 ip 使用 rip、eigrp 或 ospf。每一種被動路由協定使用自己的路由協定,從概念上非常容易了解,但通常卻難以實施。不僅如此,這還需要網絡工程師對支援多協定環境的網絡進行設計和維護,進而要求網絡工程師必須掌握大量的路由協定。

ospf 僅支援 tcp/ip 協定簇。盡管 tcp/ip 是目前最為常用的協定簇,但除此以外确實還存在其他正在使用的協定簇。如果路由協定無法支援多種協定,那麼這種短闆對于老式遺留網絡或存在多種路由需求的網絡是不利的。

當開發 is-is時,協定設計者給出了一個非常有意義的提議:為什麼一種路由協定不能處理多種被動路由協定呢?是以,為了增強內建is-is協定的性能,它被設計成為能夠同時支援osi clnp和tcp/ip網絡。另外,內建is-is還支援其他的一些網絡協定;這種支援多協定的能力在多協定網絡環境中将是巨大的優勢。

2.路由分層

建構大型網絡的關鍵是引入邏輯分層結構。如果合理使地用分層設計,那麼網絡複雜度及擴充性等相關問題都将引刃而解。使用分層網絡的設計能夠帶來很多好處,最為顯著的便是有利于路由彙總和降低spf運算,這些優勢可以極大地減少網絡收斂的時間。

ospf 是最早支援分層網絡設計的協定之一,它可以在單個路由域内(as)劃分多個分層結構(區域)。ospf支援兩級分層:一個骨幹區域(backbone)和連接配接于骨幹區域的其他區域。是以,ospf骨幹路由器将攜帶骨幹區域的完整拓撲資訊和所有其他區域的連接配接性資訊。在每個區域内,ospf 路由器互相交換關于該區域的完整拓撲資訊。由于區域邊界位于路由器上,是以路由器的一個接口屬于一個區域。路由器通常擁有多個接口,是以路由器也能夠連接配接到多個區域。但是如果路由器連接配接了過多的區域,那麼該路由器則需要為每個所連接配接的區域執行spf運算;是以,在設計網絡時應當注意這一點,避免造成路由器負載過重。

內建is-is和ospf一樣,也使用兩級分層設計;但不同之處在于每個區域内路由器所攜帶的資訊量。在內建 is-is 的區域内,路由器将所有需要發出區域的流量傳遞給最近的is-is l2路由器。而ospf則是将其他區域的所有連接配接性資訊注入到各個區域内。這種方式有利于 ospf 區域内的路由器将需要發出區域的流量傳遞給最佳的區域邊界路由器(abr)。

is-is 的區域邊界位于兩台路由器之間的鍊路上;是以,內建 is-is 的一台路由器僅屬于一個區域。但是由于一些原因,你很難使用is-is部署真正的分層網絡結構。原因之一便是當 is-is 運作在非常大型的區域時,is-is路由器必須被置于同一層級内才能獲得最佳的運作效果,這也是isp在其網絡核心内部署單個is-is區域的主要原因。目前許多isp已經開始放棄is-is,并慢慢地遷移到ospf。

3.ip位址管理

建構一個成功的分層網絡結構的關鍵是使用正确的ip位址管理。如果位址配置設定十分合理,那麼将有利于路由資訊的彙總。對路由資訊進行彙總的兩個重要原因是:

彙總能夠把拓撲更變的影響限制在局部,進而有利于提高網絡穩定性;

彙總能夠減少每台路由器所攜帶的路由資訊的數量。

這些原因能夠簡化網絡的管理和故障排除,另外路由彙總還能降低路由協定所消耗的資源(cpu、記憶體等)。

提示

應該為ospf或內建is-is的每個區域配置設定連續的網絡或子網号。這樣,區域邊界路由器才能使用單個位址掩碼來彙總區域内的位址。實施彙總将給網絡帶來實質性的好處。

4.ip封裝支援

ospf 是一個基于 tcp/ip 的協定,并且完全支援 ip。而 is-is 卻是一個原生的 osi 協定,是以在操作實施時它依然需要使用 iso 編址。盡管 is-is 支援轉發ip資料包,但是這并不是它的設計初衷。

5.相關資料

在對路由協定進行選擇時,還應當以務實的角度去考慮。這意味着你所選擇的路由協定應當擁有豐富的可用資料,這些資料能夠幫助網絡工程師從各個層面去掌握需要實施的協定特性。

ospf 是一個被廣泛實施的路由協定,你可以在各類相關書籍(例如本書)中學習到它的知識。這些可用的資料通常提供了大量的實用性示例,這些示例幫助工程師加深了解ospf的重要性和功能性。另外,應當感謝歸屬于internet工程任務組(ietf)的ospf工作小組的卓越貢獻,ospf 的相關标準都已經非常完美地被歸檔;但是這些規範文檔對于“如何”和“為什麼”的問題解釋較少。

盡管is-is仍然被使用和部署在某些環境中,但與 ospf 相比,它依然被視為一種“小衆”的協定。雖然一些isp正在使用is-is,但是幾乎所有的企業網絡都不會選擇使用它。另外,is-is 的規範文檔使用的是 iso 文檔的表達形式和術語,并未采用通用的ip術語。

如果你對教育訓練課程感興趣,那麼你可以參加一些專門研究 ospf 的課程;而is-is幾乎沒有類似的資源。

表2-2列出了在選擇路由協定時需要考慮的技術問題。

《OSPF網絡設計解決方案(第2版)》一2.2 選擇路由協定

1.快速收斂

所有的路由協定在處理收斂問題時都必須擁有以下三個重要特征。

1.檢測網絡更變的發生。

2.适應網絡更變。

3.更新網絡拓撲以反映網絡更變。

is-is和ospf能夠立即檢測到某些類型的網絡更變。通常,所有的路由協定都能夠立即檢測到由實體更變(例如連結丢失)所引起的網絡更變。

另外,is-is 和 ospf 都使用 hello 包保活(keepalive)并檢測失效(例如鄰接路由器的丢失,或者一些不可靠的接口突然發生故障)。ospf 和 is-is 都需要在鄰接路由器之間定期交換資訊。

當路由協定檢測到拓撲更變之後,它需要對路由表進行調整以适應新的拓撲。ospf 和內建is-is都擁有更新路由表的能力。如果拓撲更變發生在區域内,那麼受網絡更變所影響的已存在路由都将被丢棄,然後路由器将新産生的路由表。通常,ospf和內建is-is将在2秒内完成收斂。并且,cpu 執行重新計算的時間長短和路由條目及網絡内備援鍊路的數量直接相關。

2.路由更新

所有的路由協定都動态地交換路由資訊。關于路由更新的操作可以表述為三個重要的問題,如下所示。

何時發送路由更新——路由協定周期性地發送hello包,并且在路由器初次啟動時交換完整的拓撲資訊。根據路由協定的配置,完整拓撲資訊的交換也可能發生在後續操作中。rip每30秒泛洪一次完整的路由條目,ospf 每 30 分鐘泛洪一次完整的拓撲表,而內建 is-is 則是每 15分鐘泛洪一次。這種定期泛洪的行為都是為了確定資訊的同步。

路由更新的内容是什麼——在區域内,ospf 和內建is-is交換更變的鍊路狀态資訊。在區域之間,ospf 和內建 is-is 交換更變的路由資訊。

路由更新被發送到何處——當網絡完成了拓撲的更新之後,rip網絡中的更變資訊将被廣播到所有的鄰居路由器上。而ospf和內建is-is的更變資訊将被泛洪到發生更變的整個區域。如果未進行路由彙總,那麼更變資訊還可能會被傳遞到骨幹及其他區域。

3.支援vlsm和cidr

ospf 和內建 is-is 都支援可變長子網路遮罩(vlsm)和無類域間路由(cidr)。實施路由彙總必須支援vlsm。另外,vlsm和cidr還能夠幫助網絡管理者更加有效地利用網絡位址空間。

4.負載均衡

如今的網絡通常都設計了備援路徑。備援路徑将在兩個方面為網絡帶來益處:失效後的路由重選和負載均衡。cisco 所支援的所有路由協定都擁有負載均衡的能力,并且最大可支援6條等價路徑1。ospf預設使用4條等價路徑,如果想要支援更多的路徑條目,那麼必須對ospf進行配置。

5.度量

路由選擇結果的好壞,本質上是由賦予各條路由條目的度量所決定的。在路由協定如何使用度量這一問題上,擁有兩個重要的元件:路徑成本所能表示的範圍和如何計算度量。

ospf 使用長度為 16 比特的扁平結構度量。也就是說,ospf 的度量範圍是0~65,535。預設情況下,ospf 的度量和接口帶寬成反比——以光纖分布式資料接口(fddi)的度量為1作為标準。ospf通過累加路徑上每一跳的度量來計算最終的路徑開銷。

內建is-is使用扁平結構度量,其度量範圍是0~1023。預設情況下,對于內建is-is協定而言,所有鍊路的度量都是10。如果想要使用非預設的值,那麼網絡管理者需要進行手動配置。內建 is-is 通過累加路徑上每一跳的度量來計算最終的路徑開銷。

6.可擴充性

根據 iso 10589 文檔的說明,在is-is協定中每個區域最多容納100台路由器,協定總共可以部署400台l2路由器。這種擴充規模是非常可觀的。但是目前最大的可擴充問題已經轉變成了在大型全互連網絡中的大量泛洪流量。例如,在扁平結構的atm網雲中,可能擁有過多的路由器全互連連接配接。

對于 ospf 而言,無論網絡規模的大小,該協定都能夠具有很好的擴充性。但是為了獲得最優的網絡運作效果,你應該按照實際需求來部署實體和邏輯區域。

7.實體媒體支援

ospf和is-is都支援點到點鍊路,同時對lan的處理方式也類似。但是is-is不支援非廣播多路通路(nbma)的網絡類型,是以is-is在路由器上總是以lan或多條點到點鍊路的形式來處理nbma網絡;這種方式可能會引起一些問題。ospf不存在這樣的問題,但是在cisco路由器上,ospf網絡類型的相關配置較為複雜。

8.協定擴充性

路由協定必須在性能和功能上擁有可增長和可擴充的能力,進而滿足多變和發展的網絡環境。ospf可以通過新的opaque lsa來提升其擴充能力,但是這要求所有的路由器都必須了解這些lsa,才能有效地适應動态的網絡環境。is-is則不同,它可以泛洪不識别的lsa并忽略它們。

ospf和is-is都支援流量工程,是以無論選擇使用哪種協定,mpls都可以運作于網絡并提供流量工程的特性。

表2-3列出了在選擇路由協定時需要考慮的商業事項。

《OSPF網絡設計解決方案(第2版)》一2.2 選擇路由協定

1.标準

許多公司在選擇路由協定時,更喜歡使用那些基于标準的協定;我們推薦在所有的網絡環境中都這麼做。如果網絡運作并未形成标準的路由協定,那麼可能會造成很多問題。

ospf是一個标準的協定,由ietf的ospf工作組所開發,并用于替代rip協定。ospf被定義在rfc 2328中。

is-is是由iso所開發的一個标準協定,并且由國際标準10589文檔所定義。內建 is-is 作為is-is協定的标準擴充,由ietf所開發。內建is-is被定義在internet草案中。

2.多廠商支援

目前的大型網絡極少情況下會使用同一家廠商的裝置來搭建,不同的網絡部分通常會選擇不同廠商的裝置産品。網絡工程師在建構多廠商裝置的網絡環境時存在很多選擇,最為常見的便是在所有路由器上選擇相同的路由協定。在多廠商裝置環境下比較ospf和is-is的可行性時,應注意:

幾乎所有的裝置廠商都支援ospf協定;

大部分的裝置廠商能夠支援內建is-is協定。

3.成熟的技術

ospf 協定在很早就已經被各大裝置廠商所支援,并且目前越來越多的網絡開始選擇部署ospf協定,無論是結構簡單的小型網絡,或是極為複雜的大型網絡。

cisco從很早以前就開始對內建 is-is 協定提供支援,并且目前內建 is-is也在一些重要的網絡中被使用。在選擇路由協定時,幾乎所有人都能想到ospf;如果網絡需要同時支援 osi 和 ip,那麼你應該選擇內建 is-is。內建is-is是decnet phase v網絡的标準路由協定。

有關is-is協定的更多資訊,你可以參考另一本由cisco出版的書籍,is-is network design solutions,abe martey著。

1譯者注:目前cisco ios已經将某些協定最大支援的等價路徑數量增加到16條。