熱點推薦:
您现在的位置: 電腦知識網 >> 網絡技術 >> 正文

IP網絡設計系列講座(一):基本原則

2022-06-13   來源: 網絡技術 

  導言

  一個優秀的網絡設計是建立一切成功的網絡應用的基礎本文是四篇講座文章的第一篇重點介紹基於IP的網絡設計因為IP實際上已經成為標准的桌面協議高級IP網絡支持的應用在本質上已經日益變得多元化IP已經同傳統的數據應用一起成為語音視頻和多媒體等實時應用的一種傳輸機制由於當前應用有許多不同的性質IP互聯網設計從來沒有像現在這樣具有挑戰性本文討論在設計網絡時應該遵循的一些基本原則以後的文章將介紹用來熟練地進行網絡設計的具體的局域網和廣域網技術

  需要一個設計計劃

  大多數IP互聯網絡從設計方面說都屬於兩大類之中的一類一類顯然是設計非常好的網絡另一類只是臨時批湊起來的網絡這兩類網絡明顯的區別顯示了良好的設計的重要性一個設計良好的網絡的特點是在下面的每一個領域都有可預見性和一致性:

  性能

  在主要網絡性能參數方面能夠保持不變的高水平性能這些參數可能包括應用程序響應時間和響應時間的變化

  彈性

  網絡應該為其支持的應用程序提供一個有彈性的平台一個高度專用的網絡比需要滿足所有的應用程序的%的可用性目標並且能夠滿足重要任務應用程序零關機時間的要求理想的情況是任何一個連接的失敗或者客戶機至服務器之間的任何一台網絡設備的故障都不應該導致客戶機與服務器之間通信進程的丟失自動繞過故障啟用備份線路的功能應該在極短的時間內完成這個時間的間隙應該足以把當前通信進程的影響降低到最小的程度這個間隔時間稱作收斂時間可根據網絡拓撲結構變化的時間長度來確定(如一個連接的丟失)直到網絡上的每一台設備都知道這個變化一個設計良好的網絡總是一直保持較低的收斂時間

  可伸縮性

  一個具有可伸縮性的網絡能夠充分支持網絡的擴容而不需要進行重大的重新設計在用戶數量的增長方面網絡節點或者站點的數量必須能夠滿足可能增加新的應用程序和這些應用程序可能消耗更多的帶寬的需求要獲得對你的網絡的伸縮性的認識你需要回答下列問題:如果用戶數量增加一倍節點數量增加一倍並且有需要一倍帶寬的應用程序你該怎麼辦?一個具有伸縮性的網絡能夠容納這種增長和變化而不需要對基礎設置進行全面修改基礎的網絡拓撲結構和使用的技術不必為了容納這些變化而進行重新設計新的用戶和節點可以用一個簡單的構建模塊的方式添加到一個可伸縮的網絡中例如新的節點應該簡單地把新的網段或者模塊與作為網絡核心和骨干的現有的網絡結構結合在一起應該采用根據需要適當地增加局域網和廣域網帶寬的方式來容納增加的帶寬在增加網絡路由器和交換機的內存和處理能力等網絡壽命周期之間某些運營的升級也許還是必要的然而不應該做的事情是在網絡的壽命周期內不應該為了支持計劃之中的增長而對這個網絡基礎設施進行全面的修改這就是一開始就要有一個網絡計劃的根本原因之一

  運行成本

  成本是網絡設計過程之中最基本的推動因素這是一個不可回避的事實網絡不僅必須要滿足某些技術規范而且必須在設計和應用上更劃算擁有一個網絡的主要成本通常是服務提供商提供的廣域網的費用那是幀中繼ATM租賃線路或者ISDN技術的費用

  網絡設計的特點是權衡性能和可用性的成本例如要保證優化的應用程序平台可能需要更多的帶寬然而這裡有一個臨界點超過了這個限度去購買更多的帶寬就不劃算

  同樣備份線路或者ISDN可以用來在客戶機與服務器的通道之中保證網絡的彈性一旦主要數據通道出現故障即可立即啟用保證線路暢通這種備份技術必須與主要連接線路的速度相同以避免在發生故障時降低服務質量對於用戶來說在發生故障時降低服務質量是否可以容忍是一個經濟性的決策

  一個設計良好的網絡不僅運行起來節省成本而且還應該保持相對一致的運行成本能夠說明運行成本的一致性和可預見性的重要性的最佳例子之一是就是技術支持的成本問題擁有網絡的成本的第二大組成部分(僅次於廣域網成本)就是技術支持的成本這也是最容易忽略的一個成本要素主要是因為技術支持的成本很難量化

  例如為了減少ATM服務提供商收取的廣域網的費用可以決定采用一種私人管理的應用ATM的方式雖然這樣做毫無疑問可以減少廣域網成本但是這樣做會導致技術支持費用的增加要為一個專用ATM網絡提供技術支持需要一個具有相當水平的技術人員雇用和保留一個這樣的技術人員是很昂貴的然而如果在公司內部沒有這種技術人員使用外部人員提供技術支持的費用將更高例如使用外部的技術顧問或者使用第三方填補這個空缺以保證系統每天的順利運行

  設計目標

  在設計開始的時候制定一個明確的設計目標是必不可少的這些目標與用來評估網絡設計的一些參數有關關鍵的性能參數必須要確定下來並且為這些參數分配目標值這些性能的目標最終是由應用程序的要求規定的

  要以有意義的方式分配這些目標應用程序必須知道數量和質量的水平必須評估應用程序消耗的帶寬以便提供必要的容量來滿足性能目標必須清楚地了應用程序包對數據包丟失數據包延遲和各種延遲的敏感性這在支持多種應用程序的現代網絡中是特別重要的數據包丟失對於使用UDP協議傳輸的數據應用程序的影響比對需要可靠連接的TCP協議應用程序的影響還要嚴重

  相反對於數據包丟失數據包延遲和各種延遲來說語音視頻和多媒體等實時應用程序能夠更容忍數據包丟失因此對於不同的網絡應用程序應該采用優先等級不同的質量參數目標值應該設置網絡的可用性或者關機時間同性能目標一樣這個目標在設計過程中將作為一個質量的標准

  允許的網絡關機時間的水平與商業應用程序本身有很大的關系應用程序不能使用造成的影響在不同的行業有很大區別在金融行業可能造成每小時數萬美元的損失在醫療行業有可能造成性命的損失

  對於網絡可能升級的規模應該提供一個預測這種預測目標應該包括網絡用戶增加的數量網絡節點的增加數量地理位置數量的增加以及更重要的應用程序通信量的增加等網絡設計師的任務就是制定一個能夠容納這些增長的網絡計劃

  如果一個網絡不是一個成本低效率高的解決方案設計這種具有性能彈性和可伸縮性的網絡就是沒有用處的設計師必須要非常清楚地了解預算的限制以便對權衡成本和可用性做出聰明的決策


  存檔設計目標

  網絡設計需要把對技術以及各種技術之間的關系等方面的理論知識與廣泛的實踐經驗結合起來實踐經驗是特別重要的並且常常被人們忽略按照我的觀點一個沒有豐富的網絡技術支持經驗的網絡工程師不能進行網絡設計工作能夠讓你達到設計目標的工具包含在技術本身你需要有很好的這方面的知識和了解

  例如具有可伸縮性的路由協議成本低效率高的廣域網傳輸技術網絡管理等知識都需要掌握我一直建議實驗室的工作是進行概念證明測試設計必須在實驗室中進行而不是理論上的紙上談兵這樣多的技術一起使用和交叉使用太復雜了在真正的測試平台以外的任何東西上都是不能驗證的

  下面這些步驟提供一個大概的指南在設計過程中遵循這些步驟可以完成基本的設計任務:

  確定性能參數具體說明每一個設計目標例如應用程序響應時間數據包損失百分比延遲和應用程序可用性等

  找出任何設計的局限性最明顯的局限性是預算其它局限性可能包括實施的時間表老式設備的技術支持以及結合需要獨特的網絡規范和政策的專業部門

  在考慮到系統規定參數之後制定相關網絡參數的目標

  開始進行高水平的設計這是要解決一些主要的問題如選擇廣域網技術和設備IP地址計劃使用路由而不使用交換的程度等等

  這種高水平設計應該與系統規定參數是一樣的如果這種系統規定參數不能滿足迭代步驟的要求就需要向下兼容在滿足系統規定參數的要求時設計過程可以繼續進行

  現在具體的網絡設計計劃可以開始形成了這要解決設計的全部技術細節和替代方法

  技術解決方案的每一個重要方面都要在實驗室進行測試應用程序的響應時間和可用性等特點要在實驗室測試這有助於逐步地精細調整這個技術解決方案

  在技術設計完全進行精細調整之後這個設計就完成了在某些情況下最終的實驗室測試結果可能表明基本的性能目標或者系統規定參數是不切合實際的必須要進行修改和采取折衷的方案然而這些參數最好在高水平設計階段臨時確定下來

  網絡設計原則

  現在總結一下成功的網絡設計必須要遵循的一些關鍵的原則我看到過的最糟糕的網絡應用的根本原因都是由於沒有遵守這些網絡設計原則

  應用程序推動設計的需求網絡是保證應用程序順利運行的結構不了解應用程序的特點及其要求網絡就不能設計

  網絡設計需要有經驗的人網絡設計工程師需要廣泛的實踐經驗同時從理論上了解技術和各種技術之間的相互關系廣泛的實踐經驗應該被認為是完成設計任務的先決條件你不了解網絡是如何工作的你就不能設計網絡

  網絡是在實驗室設計的而不是在紙上設計的實驗室是一個最重要的設計工具考慮到更高級的網絡設計的復雜性一個設計方案沒有經過實驗室的驗證就不是有效的設計網絡模型軟件也是可以信賴的互連網絡包含了多種復雜的技術這些技術必須能夠成功地相互交流按照我的觀點一個大型的或者復雜的網絡設計采用模型是不可靠的這種模型僅適用於高級設計當解決具體的技術細節問題時就需要實驗室

  網絡設計通常包含許多權衡成本與性能和可用性通常是最基本的設計權衡因素

  不要設法借鑒公司結構網絡設計和拓撲結構經常反應了一個機構的公司結構雖然沒有必要阻止設法借鑒公司結構的方法但是網絡設計師一定不要受這種結構的束縛這種方法將導致網絡設計出現最基本的錯誤要記住設計目標才是推動設計的惟一因素

  不依賴於廠商不鼓勵采用專有的解決方案應該自動避免出現上述情況有很多例子表明站主導地位的廠商能夠提供最佳的解決方案

  簡單地說不必要地增加復雜性可能會提高技術支持成本使網絡更難管理而且每一次不必要地采用復雜的解決方案都可能增加使用有瑕疵的軟件應該永遠采用最簡單和最可行的解決方案只有在有好處或者有要求的情況下增加網絡的復雜性才是合理的

  根據每一個網絡本身的優點設計網絡不要使用一套嚴格的和可能過於全面的設計規則和模板考慮到每一個網絡都有自己的優點避免因為表面上相似就簡單模仿現有的解決方案避免采用最高級的技術對於網絡上所有的設備都要采用成熟的和經過測試的軟件和硬件

  基本的設計計劃必須要堅決執行這個設計也許必須顯示出某種程度的靈活性並且隨著網絡一起發展這與具有可伸縮性的設計有關但是基本的設計方案一定不能妥協例如如果你應用一個層的廣域網架構你就不要增加另外一層而放棄基本的設計原則無論是增加一層或者搭配其它一些層都是破壞原來的設計如果為了快速修復某些瑕疵而頻繁修改基本的設計原來設計的基本原則就會淡忘網絡設計也就不再不存在了網絡設計如果不全面地准確地按照原來的設計計劃執行網絡設計就僅僅是一個學術研究活動沒有設計這個網絡的工程師的許可原來的設計方案不應該做任何改動

  可預見性是一個優秀設計的質量證明性能的可預見性和一致性彈性和可升級性是一個設計良好的網絡的特點

  一次設計好否則就要設計一千次!如果一個網絡開始的時候沒有好好設計或者如果那個設計被改動了那麼對這個排除故障和增加新設備等日常的任務本身就會變成設計任務這是因為沒有一個一直被遵守的合法的設計基本的網絡變化就不是任何一個計劃的一部分因此這些變化必須被當作單獨的項目對待沒有可預見性並且偏離了設計計劃對這個網絡進行的任何改變都必須要進行獨立的評估這就是我說的設計一千次網絡!

  設計需要一個有能力的一號人物負責無論多有技術和多有經驗設計網絡需要一個人的絕對權威設計一個網絡包括一般地和詳細地平衡優先等級權衡性能和解決廣泛的技術問題一個設計團隊需要擁有不同專長和實力的人員有些人負責解決一般的問題有些人負責解決難題然而我強烈地強調指出委員會不應該設計網絡一般事情歸管理層領導的一組有能力的工程師應該能夠解決網絡設計過程中的細節問題


From:http://tw.wingwit.com/Article/Network/201311/29918.html
    推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.