協定疊

電腦的網絡控制軟件

協定疊(英語:Protocol stack),又稱協議堆疊,是計算機網絡協定套件的一個具體的軟件實現。

協定套件中的一個協定通常是只為一個目的而設計的,這樣可以使得設計更容易。因為每個協定模塊通常都要和上下兩個其他協定模塊通訊,它們通常可以想像成是協定疊中的層。最低級的協定總是描述與硬件的物理交互。每個高級的層次增加更多的特性。用戶應用程式只是處理最上層的協定。(參見OSI模型

在實際中,協定疊通常分為三個主要部分:媒體,傳輸和應用。一個特定的作業系統或平台往往有兩個定義良好的軟件接口:一個在媒體層與傳輸層之間,另一個在傳輸層和應用程式之間。

媒體到傳輸接口定義了傳輸協定的軟件怎樣使用特定的媒體和硬件(「驅動程序」)。例如,此接口定義的TCP/IP傳輸軟件怎麼與以太網硬件對話。這些接口的例子包括WindowsDOS環境下的ODI英語Open Data-Link InterfaceNDIS

應用到傳輸接口定義了應用程式如何利用傳輸層。例如,此接口定義一個網頁瀏覽器程序怎樣和TCP/IP傳輸軟件對話。這些接口的例子包括Unix世界中的伯克利套接字和微軟的Winsock

通用協定疊描述

T ~ ~ ~ T
[A]     [B]_____[C]

想像一下,3台電腦: A,B,C。A和B 都有無線電設備,並可以通過合適的網絡協定(如 IEEE 802.11)通訊。C和B通過電纜連接來交換數據(例如以太網。但是,不能用這兩項協定直接在A和C之間傳輸信息,因為這些電腦在概念上是連接在不同的網絡上的。因此,需要一個跨網絡協定來連接它們。

你可以結合這兩個網絡來建立一個更強大的第三個網絡協定,能夠控制無線和有線傳輸。但是一個更簡單的辦法是不改變這兩個協定並在這兩個協定之上建立一個協定(例如IP)。這樣就形成了兩個協定疊。網間協定和基礎協定通訊,兩個不同類型的基礎協定不會直接通訊。

參見