计算机网络的协议与体系结构
?
在計算機網絡的基本概念中,分層次的體系結構是最基本的。我們從計算機網絡的體系結構的形成開始討論,然后討論分層次的概念。在此基礎之上介紹本書使用的計算機網絡原理體系結構。本章篇幅不大,但抽象概念較多,在學習時要多思考。學好這些概念對后面的學習將會有很大的幫助。
計算機網絡體系結構的形成
計算機網絡是個非常復雜的系統(tǒng)。為了說明這一點,可以設想一個最簡單的情況:連接在網絡上的兩臺計算機要互相傳送文件。
顯然,在這兩合計算機之間必須有一條傳送數(shù)據(jù)的通路。但這還遠遠不夠,至少還需要完成以下動作:
(1)發(fā)起通信的計算機必須將數(shù)據(jù)通信的通路進行激活(activate)。所謂“激活”就是要發(fā)出一些信今,保證要傳送的計算機數(shù)據(jù)能在這條通路上正確的發(fā)送和接收。
(2)要告訴網絡如何識別將要接收數(shù)據(jù)的計算機。
(3)發(fā)起通信的計算機必須查明對方計算機是否已經準備好接收數(shù)據(jù)。
(4)發(fā)起通信的計算機必須弄清楚,在對方計算機中的文件管理程序是否已做好了文件接收和存儲文件的準備工作。
(5)若計算機的文件格式不兼容,則至少其中的一臺計算機應完成格式轉換功能。
(6)對出現(xiàn)的各種差錯和意外事故,如數(shù)據(jù)傳送錯誤、重復或丟失,網絡中某個結點交換機出故障等,應當有可靠的措施保證對方計算機最終能夠收到正確的文件。
由此可見,相互通信的兩臺計算機的系統(tǒng)必須高度協(xié)調工作才行,而這種“協(xié)調”是相當復雜的。為了設計這樣復雜的計算機網絡,早在最初的ARPANET設計時就提出了分層的方法,“分層’可將龐大而復雜的問題轉化為若干較小的局部問題,這些較小的局部問題就比較易于研究和處理了。
1974年,美國的IBM公司宣布了它研制的系統(tǒng)網絡體系結構SNA(System Network Architecture),這個著名的網絡標準就是按照分層的方法制定的。不久后,其他—些公司也相繼推出本公司的一套體系結構,并都采用不同的名稱。以后SNA又不斷得到改進,更新了幾個版本。現(xiàn)在它是世界上使用得相當廣泛的一種網絡體系結構。
網絡體系結構的出現(xiàn)使得一個公司所生產的各種設備都能夠很容易地互連成網。這種情況顯然有利于一個公司壟斷自己的產品。用戶一旦購買了某個公司的網絡,當需要擴大容量時,就只能再購買原公司的產品。如果同時又再購買了其他公司的產品,那么出于網絡體系結構的不同,就很難互相連通。
然而,全球經濟的發(fā)展使得不同網絡體系結構的用戶迫切要求能夠互相交換信息。為了使不同體系結構的計算機網絡都能互連,國際標準化組織IS0于1977年成立了專門機構研究該問題。不久,他們就提出一個試圖使各種計算機在世界范圍內互連成網的標準框架,即著名的開放系統(tǒng)互連基本參考模型OSI/RM(Opensystems Interconnection Reference Model)簡稱為OSI。“開放”是指:只要遵循OSI標難,一個系統(tǒng)就可以和位于世界上任何地方的、也遵循這同一標準的其他任何系統(tǒng)進行通信。這一點很像世界范圍的電話和郵政系統(tǒng),這兩個系統(tǒng)都是開放系統(tǒng)。“系統(tǒng)”是指在現(xiàn)實的系統(tǒng)中與互連有關的各部分,所以開放系統(tǒng)互連參考模型OSI/RM是個抽象的概念。在1983年形成了開放系統(tǒng)互連基本參考模型的正式文件,即著名的ISO 7498國際標準,也就是所謂的七層協(xié)議的體系結構。
OSI試圖達到一種理想境界,即全世界的計算機網絡都遵循這統(tǒng)一的標準,因而全世界的計算機都將能夠很方便地進行互連和交換數(shù)據(jù)。在20世紀80年代,許多大公司甚至—些國家的政府機構都紛紛表示支持0SI。當時看來似乎在不久的將來全世界一定全都按照OSI制定的標準來構造自己的計算機網絡。然而到了20世紀90年代初期,雖然整套的OSI國際標準都已經制定出來了,但由于因特網已搶先在全世界覆蓋了相當大的范圍,而與此同時卻幾乎找不到有什么廠家生產出符合OSI標準的商用產品。因此人們得出這樣的結論:OSI事與愿違地失敗了。現(xiàn)今規(guī)模最大的、覆蓋全世界的計算機網絡因特網并未使用0SI標準。OSI失敗的原因可歸納為:OSI的專家們缺乏實際經驗,他們在完成OSI標準時沒有商業(yè)驅動力;OSI的協(xié)議實現(xiàn)起來過分復雜,而且運行效率很低;OSI標準的制定周期太長,因而使得按0SI標準生產的設備無法及時進入市場:最后,OSI的層次劃分也不太合理,有些功能在多個層次中重復出現(xiàn)。
按照一般的概念,網絡技術和設備只有符合有關的國際標準才能在大范圍獲得工程上的應用。但現(xiàn)在情況卻反過來了。得到最廣泛應用的不是法律上的國際標準OSI,而是非國際標TCP/IP。這樣,TCP/IP就常被稱為是事實上的國際標準。從這種意義上說,能夠占領市場的就是標準。在過去制定標準的組織中往往以專家、學者為主。但現(xiàn)在許多公司都紛紛擠進各種各樣的標準化組織,使得技術標準具有濃厚的商業(yè)氣息。—個新標準的出現(xiàn),有時不一定反映出其技術水平是最先進的,而是往往有著一定的市場背景。
協(xié)議與劃分層次
在計算機網絡中要做到有條不紊地交換數(shù)據(jù),就必須遵守—些事先約定好的規(guī)則。這些規(guī)則明確規(guī)定了所交換的數(shù)據(jù)的格式以及有關的同步問題。這里所說的同步不是狹義的(即同頻或同頻同相)而是廣義的,即在一定的條件下應當發(fā)生什么事件(如發(fā)送一個應答信息),因而同步含有時序的意思。這些為進行網絡中的數(shù)據(jù)交換而建立的規(guī)則、標準或約定即稱為網絡協(xié)議。更進一步講,—個網絡協(xié)議主要由以下三個要素組成:
(1)語法,即數(shù)據(jù)與控制信息的結構或格式;
(2)語義,即需要發(fā)出何種控制信息,完成何種動作,以及做出何種響應。
(3)同步,即事件實現(xiàn)順序的詳細說明。
由此可見,網絡協(xié)議是計算機網絡的不可缺少的組成部分。
ARPANET的研制經驗表明,對于非常復雜的計算機網絡協(xié)議,其結構應該采用層次式的。我們可以舉一個簡單的例子來說明劃分層次的概念。
現(xiàn)在假定我們在計算機1和計算機2之間通過一個通信網絡傳送文件。這是一件比較復雜的工作,因為還需要做不少的工作。
我們可以將要做的工作劃分為三類,第一類工作與傳送文件直接有關。例如,發(fā)送方的文件傳送應用程序應當確信接收方的文件管理程序已做好接收和存儲文件的準備。若兩臺計算機所用的文件格式不一樣.則至少其中的一臺計算機應完成文件格式的轉換工作。這兩件工作可用一個文件傳送模塊來完成。這樣,兩個計算機可將文件傳送模塊作為最高的一層(如圖2-1所示。在這兩個模塊之間的虛線表示兩個計算機系統(tǒng)交換文件和一些有關文件交換的命令。
圖1 劃分層次的舉例
但是,我們并不想讓文件傳送模塊完成全部工作的細節(jié),這樣會使文件傳送模塊過于復雜。我們可以再設立一個通信服務模塊.用來保證文件和文件傳送命令可靠地在兩個系統(tǒng)之間交換。也就是說,讓位于上面的文件傳送模塊利用下面的通信服務模塊所提供的服務。我們還可以看出,如果將位于上面的文件傳送模塊換成電子郵件模塊,那么電子郵件模塊同樣可以利用在它下面的通信服務模塊所提供的可靠通信的服務。
同樣道理,我們再構造一個網絡接入模塊,讓這個模塊負責做與網絡接口細節(jié)有關的工作,并向上層提供服務,使上面的通信服務模塊能夠完成可靠通信的任務。
從上述簡單例子可以更好地理解分層可以帶來如下好處:
(1)各層之間是獨立的。某一層并不需要知道它的下一層是如何實現(xiàn)的,而僅僅需要知道該層通過層間的接口(即界面)所提供的服務。由于每一層只實現(xiàn)—種相對獨立的功能,因而可將一個難以處理的復雜問題分解為若干個較容易處理的更小一些的問題。這樣,整個問題的復雜程度就下降了。
(2)靈活性好。當任何一層發(fā)生變化時(例如由于技術的變化),只要層間接口關系保持不變,則在這層以上或以下各層均不受影響。此外,對某一層提供的服務還可進行修改。甚至當某層提供的服務不再需要時,還可以將這層取消而不會影響其他的層。
(3)結構上可分割開,各層都可以采用最合適的技術來實現(xiàn)。
(4)易于實現(xiàn)利維護。這種結構使得實現(xiàn)和調試一個龐大而又復雜的系統(tǒng)變得易于處理,因為整個的系統(tǒng)己被分解為若干個相對獨立的子系統(tǒng)。
(5)能促進標準化工作,因為每一層的功能及其所提供的服務都已有了精確的說明。
分層時應注意使每一層的功能非常明確。若層數(shù)太少,就會使每一層的協(xié)議太復雜。但層數(shù)太多又會在描述和綜合各層功能的系統(tǒng)工程任務時遇到較多的困難。通常每一層所要實現(xiàn)的一般功能往往是下面的一種功能或多種功能。
差錯控制 使得和網絡對端的相應層次的通信更加可靠;
流量控制 使得發(fā)送端的發(fā)送速率不要太快,要使接收端來得及接收;
分段和重裝 發(fā)送端將要發(fā)送的數(shù)據(jù)塊劃分為更小的單位,在接收端將其還原;
復用和分用 發(fā)送端幾個高層會話復用一條低層的連接,在接收端再進行分用;
連接建立和釋放 在交換數(shù)據(jù)之前,先交換一些控制信息,以建立一條邏輯連接;當數(shù)據(jù)傳送結束時,將連接釋放。
分層當然也有一些缺點,例如,有些功能會在不向的層次中重復出現(xiàn),因而產生了額外開銷。
我們將計算機網絡的各層及其協(xié)議的集合稱為網絡的體系結構(architecture),也就是說,計算機網絡的體系結構就是這個計算機網絡及其部件所應完成的功能的精確定義。需要強調的是:這些功能究竟是用何種硬件或軟件完成的,則是一個遵循這種體系結構的實現(xiàn)(implementation)的問題。體系結構的英文名詞architecture的原意是建筑學或建筑的設計和風格。它和一個具體的建筑物的概念很不相同。例如,我們可以走進一個明代的建筑物中,但不能走進一個明代的建筑風格之中。同理,我們也不能把一個具體的計算機網絡說成是一個抽象的網絡體系結構。總之,體系結構是抽象的,而實現(xiàn)則是具體的,是真正在運行的計算機硬件和軟件。
資料免費送(點擊鏈接下載)
史上最全,數(shù)據(jù)中心機房標準及規(guī)范匯總(下載)數(shù)據(jù)中心運維管理 | 資料匯總(2017.7.2版本)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
加入運維管理VIP群(點擊鏈接查看)
《數(shù)據(jù)中心運維管理》VIP技術交流群會員招募說明
加入學習群掃描以下二維碼或者添加微信:
wang2017bj
總結
以上是生活随笔為你收集整理的计算机网络的协议与体系结构的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 电缆的选择及载流量的计算,超实用~
- 下一篇: 云上效率提升指南 | K8S和Serve