您好,登錄后才能下訂單哦!
本篇內容主要講解“網絡架構中都有哪些”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“網絡架構中都有哪些”吧!
架構是一個過程、一個結果和一門學科。
作為一個過程,它涉及將組件與設計元素結合,以此來形成一個有目的的實體。
作為一個結果,它描述了由其形式所定義的一系列實體。對于我們熟知的“哥特式大教堂”這種架構形式,它的特點是一系列公認的設計元素與方法,目的可能是構建一個禮拜場所,但“哥特式大教堂”實際上意味著更多。
最后,作為一門學科,架構就是架構師接受訓練要掌握的本領。計算機科學領域從設計物理實物的學科中借用了這個術語,例如建筑物和城市,其中包含廣受認可的培訓與認證過程。
架構的三個方面都適用于“真實的建筑”與計算機科學。
1. 作為一個過程
我的定義有兩個重要的方面:將組件整合在一起并應用于某個目的。
將組件整合在一起:這是計算機科學家在考慮模塊、接口、依賴、分層、抽象以及組件復用等問題時所做的工作。這些都是設計模式,計算機科學家接受了相關的訓練,在思量設計挑戰時需要考慮這些設計模式。
應用于某個目的:設計過程必須按照工件的預期目的來塑造,例如,是一所醫院而不是一座監獄,是一個低功率處理器而不是超級計算機,是汽車中將剎車踏板掛在剎車上的網絡而不是因特網。作為架構的一部分,設計師必須解決系統不能做什么(或者做得很好)與將要做什么。
在計算機科學中,系統設計存在著一種危險,這是眾所周知的,它被稱為第二系統綜合征,即首先構建一個或許把一些事做得很好的系統,然后再提出一個試圖把所有事情都做得很好的替代方案的趨勢。
2. 作為一個結果
在建筑設計實踐中,設計通常會產生一份結果。也有一些例外,例如排房,其中一個設計會建造很多次,但大多數建筑物都只有一座。在描述結果時,架構這個術語通常意味著一類設計,以其最顯著的特征為代表(例如飛拱)。這個術語適用于這個抽象類,盡管架構師必須在建筑團隊接管之前將建筑描述到非常精細的程度。
當計算機科學家重新使用架構這個術語時,他們稍微重新定義了一下。關于因特網,有很多不同的網絡都是基于同樣的設計:我們稱之為“因特網”的公共全球網絡,屬于企業、軍隊等的私有網絡,以及金融網絡等特殊用途的網絡。
在這種環境下,架構一詞僅描述所構建的部分內容,給定示例的大部分設計過程都發生在之后的環節中,可能由不同的組來描述。
3. 作為一門學科
“真正的”建筑師——那些設計樓房的人——去學校里學習這一行業。作為外行,了解他們的培養方式對于我們也是有教育意義的。架構(相對于結構工程)不是建立在基礎科學與工程原理之上的設計學科。建筑師通常不關心結構工程等問題,并將這些留給別人。
當然,技術考慮可能需要盡早進入設計過程,因為建筑師要處理諸如能源效率或抗震等問題,但是建筑師主要是在設計過程中訓練出來的。他們學的不是工程而是建筑。他們通過案例研究來學習,需要觀察大量的建筑物,看它們有多適合(或不適合),看它們是否滿足用戶的需求,在視覺上是否有吸引力,如何處理設計權衡,等等。
在計算機科學中,我們往往希望設計能基于強大的工程基礎、具有限制性的理論以及優先的設計選項等,但(至少在過去)系統架構的大部分業務都更類似于建筑師的業務(例如,從以前的設計中學習,問問什么運轉良好、什么效果不佳,問問這個設計是否與目標相符合)。
我們在理論和實踐方面對計算機科學家進行訓練,但往往不贊成研究以前的設計,我們認為它們“不科學”或“未基于基本原理”。
我個人對試圖使架構更加嚴謹而感到興奮,但是不應該用“憑直覺”設計這樣的短語來反對我們今天所做的事情。我們的學科是一門設計學科,就像建筑架構一樣,我們應該努力超越它,而不是摒棄它。
因此,如果因特網的架構不是完整的規范,而只是該規范的一部分,那么架構中包含哪些內容呢?我們可以說說不包括什么。看看基于因特網技術的所有不同網絡的例子,或者全球因特網的不同區域,試著發現它們的不同之處。我們看到它們在性能、彈性、對移動性的容忍、對安全性的關注等方面存在差異。
這個級別的設計決策構建在核心架構之上,但是沒有被核心架構指定。那么,我們應該在這個核心架構中看到什么呢?
我確定了可以決定某個特定問題是否上升到架構級別的幾個標準:對于系統的正常工作,是否需要就該問題達成一致;就該問題達成一致是否方便;該問題是否定義了系統的基本模塊性或功能依賴;或者該問題隨著時間的推移是穩定的這一點是否重要。
1. 對于系統的正常工作,我們必須一致同意的問題
例如,因特網架構是基于包的使用,以及假設包頭總是具有相同的格式(不同的設計可能允許在不同的區域使用不同的格式,在這種情況下,架構可能會選擇描述為所需的轉換提供什么樣的架構支持)。
另一個例子是,當我們第一次設計因特網時,認為設計依賴于單一的全球地址空間。現在很顯然這種假設是不必要的,不需要就地址的統一含義達成全球一致。網絡地址轉換設備或“NAT箱”,允許因特網邊緣的區域使用私有地址空間,并僅在數據包向外傳輸到公共因特網時才將這些地址轉換為全局路由地址。
有趣的是,一旦因特網設計師意識到他們可以使用具有不同地址空間的區域來構建網絡,就不需要急于擴展架構來對不相交地址空間是如何互連的提供任何支持或指導。
2. 便于達成一致的問題
我們沒有要求應用使用域名系統(DNS),但由于基本上所有應用設計人員都使用它,因此它已經強制成為因特網的一部分,盡管DNS不是最初設計的一部分。類似地,盡管通信應用沒有必要使用TCP,但是許多應用都依賴于它,以至于它也成為因特網的強制組成部分。
3. 系統的基本模塊性
計算機科學使用模塊這個詞來描述系統的子組件:一個模塊有一個特定的接口,通過這個接口可以連接到系統的其他部分,而接口下面的模塊內部結構是隱藏的,不能從模塊外部訪問。
模塊的設計人員通常會保持接口規范不變,因為其他模塊可能依賴于該接口,但是可以自由更改模塊的內部結構,因為這些是模塊的私有結構。因特網協議(IP)的規范定義了三個模塊接口。它定義了兩層接口:服務接口(在其上構建更高級別的服務)和IP層下的技術接口。它還(隱式地和部分地)定義了AS接口:因特網中不同AS之間的接口。
服務接口是因特網的盡力而為包級的傳送模型:如果端節點發送一個數據包,并在數據包中使用有效的目的地IP地址,就目前的網絡能力而言,因特網的路由器將把數據包轉發到由該IP地址定義的目的接口。服務接口隱藏了如何使用特定技術在因特網內提供通信路徑的所有細節。
因此,這個服務接口定義了網絡和端節點之間的抽象接口。該接口的技術細節依賴于用于連接到端節點的特定網絡技術,并根據技術的具體情況而有所不同,因此這些細節不屬于架構規范的一部分。
4. 功能依賴
架構的一個方面是明確設計的功能依賴。我將用因特網來說明這意味著什么。
因特網的基本操作很簡單。路由器在后臺計算路由表,這樣它們就知道到因特網所有部分的路由。當收到數據包時,它們會查找最佳的路由,并將數據包發送到該路由上。雖然在因特網內有很多東西在運行,但在內核上,它所做的就是這個。因特網的正常運行必然取決于路由器的正常運行。
但是因特網還需要什么來提供服務呢?事實上,因特網的早期設計師試圖限制使用的服務或要運行的組件的數量,以確保數據包流動。早期的設計目標如下:“如果有兩臺計算機掛到網絡上,并且每臺計算機都知道另一臺計算機的地址,那么它們應該能夠通信。不應當再需要其他任何東西”。
這種設計偏好可以表示為“最少功能依賴”的目標。一些互聯網設計建議具有更多的功能依賴——它們依賴于更多的服務來啟動和運行,從而使基本通信成功。在出錯時,它們正在用(或許)更弱的彈性來換取功能。
5. 系統中被視為持久不變的方面
在像因特網這樣的系統中,我們知道很多東西將會改變。事實上,變化、升級和替換系統某些方面的能力,是成功長壽的關鍵。
但是在某種程度上,有些方面看起來像是持久不變的,將它們指定為設計的一部分可以提供穩定的點,系統的其他部分可以圍繞這些點向前演化。
到此,相信大家對“網絡架構中都有哪些”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。