什麼是協議分層?
**協議**是一組規則和標準,主要概述了裝置將用於通訊的語言。網路中廣泛使用各種各樣的協議,並且它們通常在多個層中實現。
它提供了一種通訊服務,其中使用該過程來交換訊息。當通訊簡單時,我們只需使用一個簡單的協議。
當通訊複雜時,我們必須將任務劃分為不同的層,因此,我們需要在每一層遵循一個協議,我們使用這種技術稱為協議分層。這種分層允許我們將服務與實現分離。
每一層都需要從較低層接收一組服務,並向較高層提供服務。對任何一層所做的修改都不會影響其他層。
分層架構的基本要素
分層架構的基本要素如下:
服務 - 從一層到較高層提供的一組操作或服務。
協議 - 它定義了一組規則,一層使用這些規則與其對等實體交換資訊。它涉及使用訊息的內容和順序。
介面 - 它是從一層到另一層傳輸訊息的方式。
原因
使用分層協議的原因解釋如下:
協議的分層提供了層之間明確定義的介面,因此一層中的更改不會影響相鄰層。
網路協議極其複雜,並且分層設計它們使其實現更加可行。
優點
分層協議的優點如下:
有助於協議樣式,因為在特定層執行的協議概述了它們的工作資訊以及與之上和之下的層的定義介面。
促進競爭,因為來自不同供應商的產品將一起工作。
防止一層中的技術或功能更改影響其上和其下的不同層。
提供了一種典型的語言來解釋網路功能和能力。
缺點
分層協議的缺點如下:
分層系統的主要缺點主要在於由於層之間的抽象屏障而導致的計算和訊息報頭中的開銷。因為訊息通常需要透過多個(10 個或更多)協議層,所以這些邊界的開銷通常超過正在執行的計算。
上層無法看到下層的內容,這意味著應用程式無法糾正連線中出現問題的位置或確切的問題是什麼。
上層無法控制下層的所有方面,因此它們無法在必要時修改傳輸系統(例如控制視窗、報頭壓縮、CRC/奇偶校驗檢查等),也無法指定路由,並且應該依賴於較低協議的操作,並且在出現問題時無法指定替代方案。
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP