TCP/IP 和 OSI 实践

TCP/IP and OSI in practice

我在研究那些协议,我什至了解它们每一层的基础,但我无法理解它们在实践中是如何工作的。

例如:当应用程序发出请求时,它不就是填写所有这些信息(如目的地、端口、使用的协议等)的东西吗?换句话说,当我的浏览器向服务器发出请求时,浏览器——应用程序——不就是一层层填充整个请求吗?

考虑到这一点,我看不出应用层何时与其他应用层分离,您能解释一下吗?

实际上最多 4 层(TCP 和 UDP)在 OS 中实现。该机制称为套接字。应用程序提供 IP 地址和端口,并选择传输协议。然后它提供数据,OS 处理所有的填写。因此,将第 2、3 和 4 层与其余层分开是有意义的。将 2 和 3 与 4 分开对于中间网络的工作是必要的。

其余恕我直言。例如,在 TCP/IP 模型中,传输层之上只有一个应用层。我不知道是否有人真正理解 OSI 模型中会话和表示层的预期功能。由于某些未知原因(例如,我不知道为什么 TLS 第 5 层而不是第 6 层),我们都学习了它们和一些属于这些层的协议。恕我直言,如果您正在设计特定的 class 应用程序,这些层可能有意义,但如果您考虑所有当前的 Internet 应用程序,我认为这些概括没有意义。