- 物理层
网络堆栈的最底层是物理层。这就是电信号、光脉冲或无线电波实际上从一个地方传输信息到另一个地方的地方。物理层实际上没有协议,而是有电压、频率和其他物理属性的标准。您可以通过这种方式直接传输信息,但需要大量电力或专用线路,并且如果没有更高层,您将无法共享带宽。 - 链路层
再往上一层是链路层。该层涵盖与共享物理通信介质的设备的通信。在这里,以太网、802.11a/b/g/n 和令牌环等协议指定如何处理对物理介质的多个并发访问以及如何将流量定向到一个设备而不是另一台设备。在典型的家庭网络中,这就是计算机与家庭“路由器”通信的方式。 - 网络层
第三层是网络层。在大多数情况下,这由互联网协议 (IP) 主导。这就是互联网的魔力所在,你可以与远在半个地球之外的计算机交谈,而无需知道它在哪里。路由器负责将流量从本地网络引导到其他计算机所在的网络,其中路由器自己的链路层负责将数据包发送到正确的计算机。 - 传输层
现在我们已经取得进展了。我们可以与世界各地的计算机交谈,但该计算机正在运行许多不同的程序。它如何知道将您的消息传递给哪一个?传输层通常使用端口号来处理此问题。两种最流行的传输层协议是TCP 和 UDP。 TCP 做了很多有趣的事情来平滑网络层数据包交换通信的困难点,例如重新排序数据包、重新传输丢失的数据包等 。UDP 更不可靠,但开销较小。 - 应用层
现在我们已经将您的浏览器连接到另一端的网络服务器软件,但是服务器如何知道您想要哪个页面呢?如何发布问题或答案?这些是应用层协议处理的事情。对于 Web 流量,这就是超文本传输协议 (HTTP)。应用层协议有数千种:用于电子邮件的 SMTP、IMAP 和 POP3;XMPP、IRC、ICQ 用于聊天;Telnet、SSH、RDP 用于远程管理;ETC。
这些是 TCP/IP 网络模型的五层,但它们实际上只是概念性的。OSI 模型有 7 层。实际上,某些协议在各个层之间进行填充,或者可以同时在多个层上工作。例如, **TLS/SSL在网络层和传输层之间提供加密和会话信息。 **在应用程序层之上,应用程序编程接口 (API) 管理与 Quora、Twitter 和 Facebook 等 Web 应用程序的通信。