【发布时间】:2009-10-28 14:03:42
【问题描述】:
当我遇到一些协议实现时,我多次听到这个术语,但无法想象“协议”与“堆栈”有什么关系?这里使用的堆栈是字面意义上的堆栈数据结构吗?如果是这样,为什么我们需要在客户端和服务器端使用协议栈进行通信。
【问题讨论】:
当我遇到一些协议实现时,我多次听到这个术语,但无法想象“协议”与“堆栈”有什么关系?这里使用的堆栈是字面意义上的堆栈数据结构吗?如果是这样,为什么我们需要在客户端和服务器端使用协议栈进行通信。
【问题讨论】:
TCP 建立在 IP 之上。
IP 建立在以太网之上。
以太网建立在电压等级和时序之上。
因此,TCP 堆栈是您使用 TCP 所需的堆栈。
【讨论】:
从这个意义上说,“堆栈”与堆栈数据结构无关——它只是指每个协议如何建立在它下面的协议之上。
【讨论】:
它是对网络分层方法的参考。还记得 OSI 参考模型吗? TCP/IP 模型?基本上,您将网络分解为层,每一层处理从硬件到应用程序的不同抽象级别的网络问题。
每一层都有自己的一组协议,每个较高层都使用较低层来执行其工作。就像 TCP(传输层)如何使用 IP(网络层)发送其帧一样。当您使用网络中使用的所有协议来移动位时,您将它们“堆叠”在另一个之上。应用程序只能看到堆栈顶部的协议。
【讨论】:
“协议栈”是指使用的具体实现。例如,tcp 框架通常被称为“tcp 堆栈”。这里堆栈用作一个术语,表示框架的各个“部分”。
【讨论】: