OSI 层协议的代码在哪里?

网络工程 协议论 奥西
2022-02-21 10:19:35

我知道这听起来可能是一个非常业余和愚蠢的问题,但我不理解 OSI 模型中这些协议的概念。它们只是被调用的代码吗?这段代码在哪里?当您设计网络时,它是否放在需要符合协议的每台服务器机器上?

我正在读一本书,它说:

首先,构成网络系统各层的抽象对象称为协议。

每个协议定义了两个不同的接口。首先,它为同一台计算机上想要使用其通信服务的其他对象定义了一个服务接口。

HTTP 协议的实现可以支持从远程服务器获取超文本页面的操作。

因此,对于 HTTP 协议,当用户在浏览器上输入 URL 后按 Enter 键时,存储在某些服务器机器上的 HTTP 协议的一些代码正在运行?

3个回答

我正在读一本书,它说

如果我心情不好,我会告诉你烧掉这本书。我相信您可以找到其他可以更清楚地解释这一点的资料。

在这种情况下,一个更好(更简单)的定义是协议是一组用于在设备之间进行通信的过程和对象。您可能会将其视为一种专门的交流语言。每一层都使用特定的协议与其他设备上的相应层进行通信。例如,IP 是一个设备上的网络层用来与另一台设备上的网络层通信的协议。请注意,此层间通信是合乎逻辑的。

我不理解 OSI 模型中这些协议的概念。它们只是被调用的代码吗?

暂时忘记没有人真正使用 OSI 模型,是的,协议是用代码实现的。它们是一组通信功能和数据对象。 这个问题和答案可能会帮助您更好地理解。

当您设计网络时,它是否放在需要符合协议的每台服务器机器上?

在 TCP/IP 模型的情况下,每个使用 IP 的设备都有协议栈。这包括PC、服务器、路由器等。

OSI 层模型是一种理论模型,用于描述必须处理系统间通信的方式。例如,现实生活中的通信模型是 TCP/IP。

IP 是第 3 层,TCP/UDP 是第 4 层协议。如今,在现实生活中的 LAN 中,较低层由 WLAN 和以太网管理。

Windows 将这些层作为嵌入在操作系统中的软件,可以通过 Winsock 访问。

在 Linux 上,它是内核的一部分。你可以在这里查看它的源代码。

HTTP 是一种服务器-客户端协议。

HTTP 客户端代码位于 Web 浏览器中。您可以在此处查看 Firefox 48 的源代码

HTTP 服务器的示例是 Microsoft IIS 和 Apache。是Apache的源代码。

www.google.com当用户在他的浏览器(例如)上输入一个 URL 后按回车键时,它会向 HTTP 服务器发送一个连接请求。请求通过较低层,然后通过 Internet,直到到达 Google 中的 HTTP 服务器。

该 HTTP 服务器响应通过 Internet 传输的数据,直到到达用户的 Web 浏览器。

开放系统互连(OSI) 参考模型定义了一个分层概念的计算机网络/通信体系结构,总的来说,它已经过时了。

最初由美国国防部 (DARPA Agency) 开发的Internet 协议套件是当今使用的主要且事实上的标准计算机网络模型。互联网工程任务组( IETF) 是互联网协议套件的权威机构。

万维网(Web 浏览器/网站)遵循W3C发布的协议规范,即 HTML 和 CSS,以及ECMA International(通常简称为 JavaScript)。

物理有线和无线标准属于电气和电子工程师协会(IEEE)。