協議棧

協議棧  ， 又稱協議堆疊 ， 是計算機網絡協議套件的一個具體的軟件實現 。 協議套件中的一個協議通常是隻爲一個目的而設計的 ， 這樣可以使得設計更容易 。 因爲每個協議模塊通常都要和上下兩個其他協議模塊通信 ， 它們通常可以想象成是協議棧中的層 。 最低級的協議總是描述與硬件的物理交互 。 每個高級的層次增加更多的特性 。 用戶應用程序只是處理最上層的協議 。 （ 參見OSI模型 ） 在實際中 ， 協議棧通常分爲三個主要部分 ： 媒體 ， 傳輸和應用 。 一個特定的操作系統或平臺往往有兩個定義良好的軟件接口 ： 一個在媒體層與傳輸層之間 ， 另一個在傳輸層和應用程序之間 。 媒體到傳輸接口定義了傳輸協議的軟件怎樣使用特定的媒體和硬件 （ “ 驅動程序 ” ） 。 例如 ， 此接口定義的TCP / IP傳輸軟件怎麼與以太網硬件對話 。 這些接口的例子包括Windows和DOS環境下的和NDIS 。 應用到傳輸接口定義了應用程序如何利用傳輸層 。 例如 ， 此接口定義一個網頁瀏覽器程序怎樣和TCP / IP傳輸軟件對話 。 這些接口的例子包括Unix世界中的伯克利套接字和微軟的Winsock 。