計算機網絡是由許多硬件、軟件和協議交織起來的複雜系統。因爲網絡設計十分複雜,如何設計、組織和實現計算機網絡是一個挑戰,必需要採用科學有效的方法。網絡
計算機網絡應當具備相對獨立的功能。
梳理功能之間的關係,使一個功能能夠爲實現另外一個功能提供必要的服務,從而造成系統的層次結構。
爲提升系統的工做效率,相同或相近的功能僅在一個層次中實現,並且儘量在較高的層次中實現。post
層次劃分舉例(圖2-1郵政系統模型)計算機網絡
在網絡的層次模型中須要解決的問題?設計
(1)一個網絡到底應該具備哪些層次?網絡中每一層的功能是什麼?(功能分類與層次劃分)
(2)網絡中各層之間的關係是如何設計與處理的?它們之間如何進行交互?(服務與接口)
(3)通訊雙方的數據傳輸須要遵循哪些規則和約定?(協議)blog
(1)各層之間相互獨立,每一層只實現一種相對獨立的功能。使問題複雜程度下降。
(2)靈活性好。各層內部的操做不會影響其餘層。
(3)結構上可分割開。各層之間均可以採用最合適的技術來實現。
(4)易於實現和維護。由於整個系統已被分解成相對獨立的子系統。
(5)能促進標準化工做。由於每一層的功能及其提供的服務都有了精確的說明 。接口
一般每一層實現的是如下一種或多種功能
(1)差錯控制:使得和網絡兩端的相應層次的通訊更加可靠。
(2)流量控制:使得發送端的發送速率不要太快,要使接收端來得及接收。
(3)分段和重裝:發送端要發送的數據塊劃分紅更小的單位,在接收端將其還原。
(4)複用和分用:發送端幾個高層會話複用一條低層鏈接,在接收端再將其會話分用。
(5)鏈接創建與釋放:在交換數據以前,先交換一些控制信息,以創建一條邏輯鏈接,當數據傳送結束時,將鏈接釋放。進程
計算機網絡的體系結構(architecture)是計算機網絡的各層及其協議的集合。
體系結構就是這個計算機網絡及其部件所應完成的功能的精肯定義。
實現(implementation)是遵循這種體系結構的前提下用何種硬件或軟件完成這些功能的問題。
體系結構是抽象的,而實現則是具體的。一個計算機網絡是遵循某種網絡體系結構的具體的實現,是具體的計算機和通訊硬件以及應用軟件和協議的實際運行的實例。事件
(1)實體:表示進行信息交換時任何可發送或接收信息的硬件或軟件進程。在具體實現時,能夠是一個特定的軟件模塊或軟、硬件結合的設備。可理解爲信息的發送者和接收者。
(2)服務:描述爲體系結構中下一層爲其上一層提供支持。也就是說下一層爲上一層提供須要的服務,上一層利用下一層提供的服務實現本身的功能,並同時再向更上一層提供所須要的服務。get
(3)接口:指同一系統上下層之間提供服務與被服務的一種接口。任何上下層之間都存在接口。
(4)服務訪問點(SAP):是上下層實體在接口上交換信息的地方,即上下層實體間的邏輯接口。上下層實體之間經過服務訪問點利用服務原語進行信息交換。同步
原語:由若干指令組成完成某一特定功能
(5)網絡協議(network protocol):即網絡中的結點爲進行數據交換和通訊而創建的規則、標準或約定的集合,簡稱協議。即兩個對等實體之間進行通訊的規則的集合。
(1)在協議的控制下,兩個對等實體之間的通訊可使本層可以向上一層提供服務。協議的實現保證了下一層可以向上一層提供服務。要想實現本層的協議,還須要使用其下一層所提供的服務。
(2)使用本層的服務實體,即服務接受者只能看見下層的服務而沒法看見協議。下面的協議對上面的實體用戶是透明的。
(3)協議是控制對等實體之間的通訊規則,是在「水平方向」的。而服務是由下層向上層經過層與層之間的接口提供的,是「垂直方向的」。
協議很複雜
協議必須將各類不利的條件事先都估計到,而不能假定一切狀況都是很理想和很順利的。
必須很是仔細地檢查所設計協議可否應付全部的不利狀況。
應當注意:事實上不免有極個別的不利狀況在設計協議時並無預計到。在出現這種狀況時,協議就會失敗。所以實際上協議每每只能應付絕大多數的不利狀況。