2009-10-28 367 views
1

當我遇到一些協議實現時,我多次聽到這個術語,但無法想象「協議」如何與「堆棧」相關?這裏使用的堆棧字面上是一個堆棧數據結構嗎?如果是這樣,爲什麼我們需要在客戶端和服務器上進行協議棧通信。什麼是協議棧?

回答

9

TCP基於IP構建。

IP建立在以太網上。

以太網是建立在電壓水平和時間。

所以TCP堆棧是你需要使用TCP的東西的堆棧。

+3

而上面的TCP,你可能有HTTP,這可能是發送XML RPC或其他......海龜上升。 – 2009-10-28 14:10:49

+1

OSI - 經典的7層蛋糕。 – whatnick 2009-10-28 14:17:55

+1

祕密情報局有更多的層次,士兵! – Will 2009-10-28 14:20:53

0

「協議棧」是指所使用的具體實現。因此,例如tcp框架通常被稱爲「tcp堆棧」。這裏的棧被用作表示框架的各種「塊」的術語。

4

從這個意義上講,「堆棧」與堆棧數據結構無關 - 它只是指每個協議是如何建立在它下面的。

3

它是對分層網絡方法的參考。記住OSI參考模型? TCP/IP模型?基本上,您將網絡分解爲多個層,每個層從硬件到應用程序的不同抽象層次解決網絡問題。

每一層都有自己的一套協議,每個較高層都使用較低層來執行其工作。就像TCP(傳輸層)如何使用IP(網絡層)發送幀一樣。當你採用網絡中使用的所有協議來移動位時,你將它們「堆疊」在一起。應用程序只能看到堆棧頂部的協議。