OSI层解释

OSI Layers explained

我正在尝试了解网络层。有五层,应用层、传输层、网络层、link 和物理层。我从各种来源进行了研究,但我无法清楚地理解,尤其是传输层、网络层和 link 层。你能为像我这样的傻瓜解释这些层次吗?谢谢。

所以我认为人们对 OSI 模型最困难的部分是他们查看了某些层而忘记了它在谈论通信......特别是应用层,人们对它在谈论什么感到困惑。

应用程序引用应用程序用于通信的协议。 例如 ftp、http 等

如上所述,原始 O​​SI 模型(这实际上只是理论,没有任何东西真正实现它,因为它太低效了)在应用程序和传输之间多了 2 层(它们很可能包含在应用程序中层)。这些是演示文稿和 Session.

Presentation 负责 HTTP 的 Accept-Encoding: gzip, deflate。加密和字符编码据说是表示层,所以SSL/TLS属于这一类(https中的s)。

HTTP Sessions 从字面上看是 Session 层的文字示例(任何让您的应用程序状态在连接间保持活动状态的东西)。如果协议是面向连接的,它可能没有 session 层,这就是为什么 HTTP 可能是我目前能想到的唯一例子。

如您所见,HTTP 是所有这 3 个顶层的答案,这就是为什么在模型的较新版本中它们都被合并到应用层中的原因。 Cisco 仍然使用 7 层模型,但 Microsoft 使用您正在使用的 5 层。

传输是 TCP...它包含有关重新排序数据包的信息,可以调整每个 window 的数据包数量,允许计算机知道是否丢失了任何东西并请求 re-transmission,等等. UDP 也是传输层的一个示例,但是它的协议要简单得多,没有 re-transmission 数据包在 UDP 上完成。

网络是 IP 协议(​​也是 IPX/SPX 来自旧的网络软件时代,以及 ICMP(ping)和 IGMP(路由器))这允许寻址依赖于冲突域之外的计算机(由交换机或路由器)。

Link 或 DataLink 层是以太网(或 ATM 或 FDDI),它寻址物理连接到集线器或直接通过网络电缆相互连接的计算机。 该层在以太网中添加 MAC 寻址,数据包的帧部分是它使用的 header。

物理层(在原始 OSI 模型中)只是您的电缆和网络设备。

几乎唯一仍在谈论 OSI 的人是网络技术人员。 他们可能仍然会说参考 OSI 的第 2 层或第 3 层交换机等。第 2 层是以太网交换机,第 3 层交换机添加路由。

了解其用途的最佳方式是加载 wireshark 并监听您自己的网络流量。它实际上会向您展示负责大部分层的数据包部分。

了解 OSI 模型并没有多大用处,但它可以帮助您在脑海中组织网络通信的各个阶段并帮助您进行故障排除。

了解协议及其交互方式非常有用,了解 tcp 如何协商连接、IP 寻址和子网掩码、HTTP 和以太网可以帮助您,无论您是开发人员还是服务器管理员,网络管理员,甚至是数据库管理员。没有什么比一张坏网卡更能毁掉你的周末甚至整个月了,如果没有人想检查它的话,唯一的判断方法是使用 tcpdump 和 wireshark 查看以太网帧中的错误。

OSI 参考模型

OSI 模型用于连接到开放系统——这些系统是开放的并与其他系统通信。通过使用这种模型,我们不再依赖于操作系统,因此我们可以在任何计算机上与任何操作系统进行通信。该模型包含七层,其中每一层都有特定的功能,并定义了在某些不同层上处理数据的方式。此模型中包含的七层是物理层数据Link层网络层传输层会话层表示层,以及应用层.

物理层

这是 OSI 模型的第一层,包含网络物理规范的定义,包括物理介质(电缆和连接器)和基本设备(中继器和集线器)。该层负责将输入的原始比特传输数据流归零,并负责通信信道上的数据流。然后它将数据放置到物理介质上。它关注数据传输的完整性,并确保从一个设备发送的位与另一台设备接收的数据完全相同

DataLink层的主要作用是为原始数据传输提供link。数据在传输之前,被打散成数据帧,DataLink层依次传输。如果服务可靠,接收方将为每个已发送的帧发回一个确认帧。

该层由两个子层组成:逻辑Link控制(LLC)和媒体访问控制(MAC)。 LLC 子层负责传输错误检查并处理帧传输,而 MAC 子层定义如何从物理介质检索数据或将数据存储在物理介质中。

我们还可以在这一层找到MAC地址,也叫物理地址。 MAC 地址用于识别连接到网络的每台设备,因为它对于每台设备都是唯一的。

MAC地址包含十二个十六进制字符,其中两个数字相互配对。前六位数字代表组织唯一标识符,其余数字代表制造商序列号。如果你真的很想知道这个数字是什么意思,你可以去 www.macvendorlookup.com 并在文本框中填写我们的 MAC 地址以了解更多信息。

网络层

网络层负责定义将数据包从源设备路由到目标设备的最佳方式。它将使用 Internet 协议 (IP) 作为路由协议生成路由表,IP 地址用于确保数据路由到所需的目的地。现在IP有两个版本:IPv4IPv6。在 IPv4 中,我们使用 32 位地址来寻址协议,而在 IPv6 中我们使用 128 位地址。您将在下一主题中了解有关 Internet 协议、IPv4 和 IPv6 的更多信息。

传输层

传输层负责将数据从源传输到目标。它将数据拆分为更小的部分,在本例中为分段,然后将所有分段合并以将数据恢复到目标中的初始形式。

这一层主要有两个协议:传输控制协议 (TCP) 和用户数据报协议 (UDP)。

  • TCP 通过建立会话来提供数据传输。在建立会话之前不会传输数据。 TCP也被称为面向连接的协议,这意味着在传输数据之前必须建立会话。
  • UDP 是一种尽最大努力传送数据的方法,但不能保证传送,因为它不建立会话。因此,UDP也被称为无连接协议。关于 TCP 和 UDP 的深入解释可以在下一个主题中找到。

会话层

Session层负责会话的建立、维护和终止。我们可以将会话类比为网络上两个设备之间的连接。例如,如果我们想从一台计算机向另一台计算机发送一个文件,这一层会先建立连接,然后才能发送文件。然后该层将确保连接仍然存在,直到文件被完全发送。最后,如果不再需要,这一层将终止连接。我们所说的连接就是session。

该层还确保来自不同应用程序的数据不会互换。例如,如果我们同时 运行 Internet 浏览器、聊天应用程序和下载管理器,该层将负责为每个应用程序建立会话并确保它们与其他应用程序保持隔离。

这一层使用三种通信方法:单工、半双工或全双工方法。

  • 单工方式下,数据只能由一方传输,另一方不能传输任何数据。这种方法现在已经不常用了,因为我们需要的是可以相互交互的应用程序。
  • 在半双工方式中,任何数据都可以传送到所有涉及的设备,但只有一个设备在完成发送过程后才能传送数据。然后,其他人也可以发送和传输数据。
  • 全双工方式可以同时向所有设备传输数据。为了发送和接收数据,此方法使用不同的路径。

表示层

Presentation层的作用是判断发送的数据,将数据翻译成合适的格式,然后进行呈现。例如,我们通过网络发送一个 MP3 文件,文件被分成几个片段。然后,使用段上的头信息,这一层将通过翻译段来构建文件。

此外,这一层负责数据压缩和解压缩,因为所有通过互联网传输的数据都经过压缩以节省带宽。该层还负责数据加密和解密,以确保两个设备之间的通信安全。

应用层

应用层处理用户使用的计算机应用程序。只有连接到网络的应用程序才会连接到这一层。该层包含用户需要的几个协议,如下:

  • 域名系统 (DNS):此协议用于查找 IP 地址的主机名。有了这个系统,我们不再需要记住每个 IP 地址,只需要记住主机名。我们可以很容易地记住主机名中的一个单词,而不是 IP 地址中的一堆数字。
  • 超文本传输​​协议 (HTTP):该协议是通过 Internet 在网页上传输数据的协议。我们还有 HTTPS 格式,用于发送加密数据以解决安全问题。
  • 文件传输协议 (FTP):该协议用于从 FTP 服务器传输文件或向其传输文件。
  • The Trivial FTP (TFTP): 此协议类似于FTP,用于发送较小的文件。
  • 动态主机配置协议 (DHCP):此协议是一种用于动态分配 TCP/IP 配置的方法。
  • Post 办公协议 (POP3):该协议是一种电子邮件协议,用于从 POP3 服务器取回电子邮件。服务器通常由 Internet 服务提供商 (ISP) 托管。
  • 简单邮件传输协议 (SMTP):此协议与 POP3 不同,用于发送电子邮件。
  • Internet 消息访问协议 (IMAP):此协议用于接收电子邮件。使用此协议,用户可以将他们的电子邮件消息保存在本地计算机上的文件夹中。
  • 简单网络管理协议 (SNMP):此协议用于管理网络设备(路由器和交换机)并检测问题并在问题变得严重之前报告它们。
  • 服务器消息块 (SMB):此协议是 FTP 在 Microsoft 网络上主要用于文件和打印机共享的协议。

这一层还决定是否有足够的网络资源可用于网络访问。例如,如果你想使用互联网浏览器上网,应用层决定是否可以使用 HTTP 访问互联网。

我们可以将七层全部分为上下两层。上层负责与用户交互,不太关心底层细节,而下层负责通过网络传输数据,例如格式化和编码。

在TCP/IP模型中有五层,在OSI参考模型中有七层。

我们的 five-layer 模型和 seven-layer OSI 模型之间的 主要区别OSI 模型将应用层抽象为总共三层。

物理层 表示互连计算机的物理设备。这包括网络电缆和将设备连接在一起的连接器的规范,以及描述如何通过这些连接发送信号的规范。物理层是关于 布线、连接器和发送信号

我们模型中的第二层被称为数据link层。也称为 网络接口 网络访问层 。数据 link 层负责定义解释信号的通用方式,以便网络设备可以进行通信。数据 link 层存在许多协议,但最常见的是 Ethernet.

第三层,网络层有时也称为互联网层。正是这一层允许不同的网络通过称为 路由器 的设备相互通信。 这一层最常用的协议称为 IP 或 Internet 协议。 IP 是互联网和世界上大多数小型网络的核心。

While the data link layer is responsible for getting data across a single link, the network layer is responsible for getting data delivered across a collection of networks.

当网络层在两个单独的节点之间传递数据时,传输层 会挑选出哪些客户端和服务器程序应该获取该数据。传输层协议称为 TCP 或传输控制协议和 UDP 或用户数据报协议。

The big difference between the two is that TCP provides mechanisms to ensure that data is reliably delivered while UDP does not.

The network layer, in our case IP, is responsible for getting data from one node to another. The transport layer, mostly TCP and UDP, is responsible for ensuring that data gets to the right applications running on those nodes.

第五层被称为应用层。这一层有很多不同的协议,正如您可能从名称中猜到的那样,它们是 application-specific。用于允许您浏览网页或发送接收电子邮件的协议是一些常见的协议。应用层协议有 HTTP、SMTP 等

You can think of layers like different aspects of a package being delivered. The physical layer is the delivery truck and the roads. The data link layer is how the delivery trucks get from one intersection to the next over and over. The network layer identifies which roads need to be taken to get from address A to address B. The transport layer ensures that the delivery driver knows how to knock on your door to tell you your package has arrived. And the application layer is the contents of the package itself.