我正在尝试了解网络层。有五层,应用层、传输层、网络层、链路层和物理层。我从各种来源进行了研究,但我无法清楚地理解,尤其是传输层、网络层和链路层。你能为像我这样的傻瓜解释这些层次吗?谢谢。
3 回答
所以我认为人们对 OSI 模型最难的部分是他们查看了某些层而忘记了它在谈论通信……尤其是应用层,人们对它在谈论什么感到困惑。
应用程序引用应用程序用于通信的协议。例如 ftp、http 等。
如上所述,最初的 OSI 模型(实际上只是理论上的,实际上并没有完全实现它,因为它太低效了)在应用程序和传输之间有 2 个以上的层(它们很可能被包装到应用程序层中)。这些是演示文稿和会议。
Presentation 负责诸如 HTTP 的Accept-Encoding: gzip, deflate
. 加密和字符编码被称为表示层,因此 SSL/TLS 属于这一类(https 中的 s)。
HTTP Sessions 从字面上看是 Session 层的一个字面示例(任何使您的应用程序状态在连接之间保持活动状态的东西)。如果一个协议是面向连接的,它可能没有会话层,这就是为什么 HTTP 可能是我目前唯一能想到的例子。
如您所见,HTTP 是所有这 3 个顶层的答案,这就是为什么它们都被合并到模型的较新版本中的应用程序层中。Cisco 仍然使用 7 层模型,但 Microsoft 使用您正在使用的 5 层。
传输是 TCP ......它包含有关重新排序数据包的信息,并且可以调整每个窗口的数据包数量,允许计算机知道是否有任何丢失并要求重新传输等。UDP 也是传输层的一个示例,但是它的协议要简单得多,不会在 UDP 上重新传输数据包。
网络是 IP 协议(也是旧网络时代的 IPX/SPX,以及 ICMP(ping)和 IGMP(路由器)),这允许寻址依赖于冲突域之外的计算机(由交换机或路由器分隔的事物)。
链路层或数据链路层是以太网(或 ATM 或 FDDI),它对物理连接到集线器或直接通过网络电缆相互连接的计算机进行寻址。该层在以太网中添加 MAC 地址,数据包的帧部分是它使用的标头。
物理层(在原始 OSI 模型中)只是您的电缆和网络设备。
几乎唯一仍在谈论 OSI 的人是网络技术人员。他们可能仍然会说第 2 层或第 3 层交换机等,这与 OSI 相关。第 2 层是以太网交换机,第 3 层交换机添加路由。
了解如何使用它的最佳方法是加载wireshark 并窥探您自己的网络流量。它实际上会向您显示负责大多数层的数据包部分。
了解 OSI 模型并没有太大用处,但它可以帮助您在脑海中组织网络通信的各个阶段并帮助您进行故障排除。
了解协议及其交互方式非常有用,了解 tcp 如何协商连接、IP 寻址和子网掩码、HTTP 和以太网可以帮助您,无论您是开发人员还是服务器管理员、网络管理员甚至是 DBA。如果没有人想检查它,没有什么能比坏网卡毁掉你的周末甚至整个月,唯一的判断方法是使用 tcpdump 和wireshark 来查看以太网帧中的错误。
OSI 参考模型
OSI 模型用于连接到开放系统——这些系统是开放的并与其他系统通信。通过使用这种模型,我们不再依赖操作系统,因此我们可以与任何计算机上的任何操作系统进行通信。该模型包含七层,其中每一层都有特定的功能,并定义了在某些不同层上处理数据的方式。该模型中包含的七层是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。
物理层
这是 OSI 模型的第一层,包含网络物理规范的定义,包括物理介质(电缆和连接器)和基本设备(中继器和集线器)。该层负责将输入的原始比特传输数据流到零和通信通道上的那些。然后它将数据放置到物理介质上。它关注数据传输的完整性,并确保从一个设备发送的位与另一个设备接收的数据完全相同
数据链路层
数据链路层的主要作用是为原始数据传输提供链路。数据在传输之前被分解成数据帧,数据链路层连续传输它们。如果服务可靠,则接收方将为已发送的每个帧发回一个确认帧。
该层由两个子层组成:逻辑链路控制 (LLC ) 和媒体访问控制 (MAC)。LLC 子层负责传输错误检查并处理帧传输,而 MAC 子层定义如何从物理介质中检索数据或将数据存储在物理介质中。
我们还可以在这一层找到 MAC 地址,也称为物理地址。MAC 地址用于识别连接到网络的每台设备,因为它对于每台设备都是唯一的。
MAC 地址包含 12 个十六进制字符,其中两个数字相互配对。前六位数字代表组织唯一标识符,其余数字代表制造商序列号。如果您真的很想知道这个数字的含义,您可以访问www.macvendorlookup.com并在文本框中填写我们的 MAC 地址以了解更多信息。
网络层
网络层负责定义将数据包从源设备路由到目标设备的最佳方式。它将使用Internet 协议 (IP)作为路由协议生成路由表,并且 IP 地址用于确保数据获得到达所需目的地的路由。现在有两个版本的 IP:IPv4和IPv6。在 IPv4 中,我们使用 32 位地址来寻址协议,而在 IPv6 中我们使用 128 位地址。您将在下一个主题中了解有关 Internet 协议、IPv4 和 IPv6 的更多信息。
传输层
传输层负责将数据从源传输到目标。它将数据分割成更小的部分,或者在这种情况下为段,然后将连接所有段以将数据恢复到目标中的初始形式。
在这一层中工作的主要协议有两种:传输控制协议 (TCP) 和用户数据报协议 (UDP)。
- TCP 通过建立会话来提供数据传送。在建立会话之前不会传输数据。TCP 也称为面向连接的协议,这意味着必须在传输数据之前建立会话。
- UDP 是一种尽最大努力传递数据的方法,但由于它不建立会话,因此不能保证传递。因此,UDP也被称为无连接协议。关于 TCP 和 UDP 的深入解释可以在下一个主题中找到。
会话层
会话层负责会话的建立、维护和终止。我们可以将会话类比为网络上两个设备之间的连接。例如,如果我们要将文件从一台计算机发送到另一台计算机,该层将首先建立连接,然后才能发送文件。然后,该层将确保连接仍然正常,直到文件完全发送。最后,如果不再需要,该层将终止连接。我们谈论的连接是会话。
该层还确保来自不同应用程序的数据不会被交换。例如,如果我们同时运行 Internet 浏览器、聊天应用程序和下载管理器,该层将负责为每个应用程序建立会话,并确保它们与其他应用程序保持分离。
该层使用三种通信方法:单工、半双工或全双工方法。
- 在单纯形法中,数据只能由一方传输,因此另一方无法传输任何数据。这种方法不再常用,因为我们需要可以相互交互的应用程序。
- 在半双工方式中,任何数据都可以传输到所有涉及的设备,但只有一台设备在完成发送过程后的时间内可以传输数据。然后,其他人也可以发送和传输数据。
- 全双工方式可以同时向所有设备传输数据。为了发送和接收数据,此方法使用不同的路径。
表示层
表示层角色用于确定已经发送的数据,将数据翻译成适当的格式,然后进行呈现。例如,我们通过网络发送一个 MP3 文件,该文件被分成几个片段。然后,使用段上的头信息,该层将通过翻译段来构造文件。
此外,该层负责数据压缩和解压缩,因为通过 Internet 传输的所有数据都经过压缩以节省带宽。该层还负责数据加密和解密,以保护两个设备之间的通信。
应用层
应用层处理用户使用的计算机应用程序。只有连接到网络的应用程序才会连接到这一层。该层包含用户需要的几个协议,如下所示:
- 域名系统 (DNS):该协议用于查找 IP 地址的主机名。有了这个系统,我们不再需要记住每个 IP 地址,只需要记住主机名。我们可以很容易地记住主机名中的一个单词,而不是 IP 地址中的一堆数字。
- 超文本传输协议 (HTTP):此协议是通过 Internet 在网页上传输数据的协议。我们还有用于发送加密数据以解决安全问题的 HTTPS 格式。
- 文件传输协议 (FTP):此协议是用于从 FTP 服务器传输文件或向其传输文件的协议。
- 普通 FTP (TFTP):此协议类似于 FTP,用于发送较小的文件。
- 动态主机配置协议 (DHCP):此协议是一种用于动态分配 TCP/IP 配置的方法。
- 邮局协议 (POP3):此协议是一种电子邮件协议,用于从 POP3 服务器取回电子邮件。服务器通常由 Internet 服务提供商 (ISP) 托管。
- 简单邮件传输协议 (SMTP):此协议与 POP3 不同,用于发送电子邮件。
- Internet 消息访问协议 (IMAP):此协议用于接收电子邮件消息。使用此协议,用户可以将他们的电子邮件信息保存在本地计算机上的文件夹中。
- 简单网络管理协议 (SNMP):此协议用于管理网络设备(路由器和交换机)并检测问题以在问题变得严重之前报告它们。
- 服务器消息块 (SMB):此协议是一种 FTP,在 Microsoft 网络上主要用于文件和打印机共享。
该层还决定是否有足够的网络资源可用于网络访问。例如,如果您想使用 Internet 浏览器上网,应用程序层决定是否可以使用 HTTP 访问 Internet。
我们可以将所有七层分为两个部分层:上层和下层。上层负责与用户交互,不太关心底层细节,而下层负责通过网络传输数据,例如格式化和编码。
TCP/IP 模型中有五层,OSI 参考模型中有七层。
我们的五层模型和七层 OSI 模型的主要区别在于OSI 模型将应用层抽象为总共三层。
物理层表示互连计算机的物理设备。这包括用于将设备连接在一起的网络电缆和连接器的规范,以及描述如何通过这些连接发送信号的规范。物理层都是关于电缆、连接器和发送信号的。
我们模型中的第二层称为数据链路层。也称为网络接口或网络访问层。数据链路层负责定义解释信号的通用方式,以便网络设备可以进行通信。数据链路层存在许多协议,但最常见的是以太网。
第三层,网络层,有时也称为互联网层。正是这一层允许不同的网络通过称为路由器的设备相互通信。这一层最常用的协议称为IP 或 Internet 协议。IP 是互联网和世界上大多数小型网络的核心。
数据链路层负责通过单个链路获取数据,而网络层负责获取通过网络集合传递的数据。
当网络层在两个单独的节点之间传递数据时,传输层会整理出哪些客户端和服务器程序应该获取该数据。传输层协议称为TCP 或传输控制协议和 UDP 或用户数据报协议。
两者之间的最大区别在于 TCP 提供了确保数据可靠传递的机制,而 UDP 则没有。
网络层,在我们的例子中是 IP,负责从一个节点到另一个节点获取数据。传输层,主要是 TCP 和 UDP,负责确保数据到达在这些节点上运行的正确应用程序。
第五层称为应用层。这一层有很多不同的协议,正如您可能从名称中猜到的那样,它们是特定于应用程序的。用于允许您浏览 Web 或发送接收电子邮件的协议是一些常见的协议。应用层协议有HTTP、SMTP 等。
您可以将层想象为正在交付的包裹的不同方面。物理层是送货卡车和道路。数据链路层是送货卡车如何从一个十字路口一遍又一遍地到达下一个十字路口的方式。网络层 确定从地址 A 到地址 B 需要走哪些道路。运输层确保送货司机知道如何敲门告诉您包裹已经到达。而应用层就是封装本身的内容。