協議棧

電腦的網絡控制軟件

協議棧(英語: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)。這樣就形成了兩個協議棧。網間協議和基礎協議通信,兩個不同類型的基礎協議不會直接通信。

參見

編輯