OSI模型层次:简介指南
开放系统互连(OSI)模型作为开发人员和供应商创建互操作和安全软件解决方案的指南。
该模型描述了数据在网络中流动的复杂性,通信协议(如TCP)以及工具和技术之间的差异。
尽管许多人争论OSI模型层的相关性,但它确实是相关的,尤其是在cybersecurity的时代。
了解OSI模型层将帮助您评估应用程序和系统相关的技术漏洞和风险。它还可以帮助团队确定和区分数据的位置和物理访问,并定义其安全策略。
在本文中,我们将深入探讨OSI模型层,并探讨它们对用户和企业的重要性。
什么是开放系统互连(OSI)模型?
开放系统互连(OSI)模型是一个由计算机系统和应用程序用于在网络上与其他系统通信的参考模型,由七个层组成。
该模型将数据传输过程、标准和协议分解为七个层,每个层执行与数据发送和接收相关的一些特定任务。
OSI模型由国际标准化组织(ISO)于1984年开发,是第一个标准参考,用于建立系统在网络中如何通信。该模型被所有领先的电信和计算机公司采用。
该模型代表一个视觉设计,其中七个层被放置在彼此之上。在OSI模型架构中,较低的层为上层提供服务。因此,当用户进行交互时,数据通过这些层在网络中向下流动,从源设备开始,然后通过各个层向上流动,直到到达接收设备。
OSI模型包括各种应用程序、网络硬件、协议、操作系统等,以便使系统能够通过光纤、双绞铜线、Wi-Fi等物理媒介在网络中传输信号。
这个概念框架可以帮助您理解系统之间的关系,并旨在指导开发人员和供应商创建互操作的软件应用程序和产品。此外,它推广了描述正在使用的电信和网络系统的功能的框架。
为什么需要了解OSI模型?
了解OSI模型对于软件开发非常重要,因为每个应用程序和系统都基于其中一个层的基础上工作。
IT网络专业人员利用OSI模型来概念化数据在网络上的流动方式。这种知识不仅对于软件供应商和开发人员有价值,对于希望通过思科认证网络专家(CCNA)认证等考试的学生也很有价值。
学习OSI模型层的一些优势包括:
- 理解数据流:OSI模型使网络运营商能够更容易地理解网络中的数据流动。这有助于他们理解硬件和软件是如何协同工作的。利用这些信息,您可以使用适当的软件和硬件构建更好的系统,提高安全性和韧性。
- 便于故障排除:将网络划分为具有自己功能和组件的七个层级,使故障排除变得更加容易。此外,专业人员诊断问题所需的时间更少。您实际上可以确定造成问题的网络层级,以便将重点转移到该特定层级。
- 促进互操作性:开发人员可以创建与其他厂商产品轻松交互的软件系统和设备。这增加了这些系统的功能,并使用户能够高效工作。
您可以定义产品必须与其组件和部件配合工作的组件和部件。这还使您能够向最终用户传达产品和系统在网络层级上的操作,无论是在技术堆栈上跨越还是仅在特定层级上。
不同的OSI模型层级
物理层
物理层是OSI模型中最底层和第一层,描述了系统的物理和电气表示。
它可能包括电缆类型,引脚布局,无线电频率链接,电压,信号类型,连接设备的连接器类型等。它负责不同网络节点之间的无线或物理电缆连接,促进原始数据传输,并控制比特率。
在这一层中,原始数据以位或0和1的形式转换成信号并进行交换。它需要发送端和接收端同步,以实现平稳的数据传输。物理层为网络中的不同设备、传输介质和拓扑类型提供接口。传输模式类型也在物理层中定义。
所使用的网络拓扑可以是总线、环形或星形,模式可以是单工、全双工或半双工。物理层上的设备可以是以太网电缆连接器、中继器、集线器等。
如果检测到网络问题,网络专业人员首先检查物理层是否正常工作。他们可以从检查电缆是否正确连接以及电源插头是否连接到系统(如路由器等)等步骤开始。
第一层的主要功能包括:
- 定义物理拓扑,即在给定网络中设备和系统的排列方式
- 定义传输模式,即数据在网络中两个连接设备之间的流动方式。
- 使用控制接收器和发送器的时钟进行比特同步。
- 控制数据传输的比特率。
数据链路层
数据链路层位于物理层之上。它用于在网络中建立和终止两个连接节点之间的连接。该层将数据包划分为不同的帧,然后从源到目的地传输。
数据链路层有两个部分:
- 逻辑链路控制(LLC)检测网络协议,同步帧并检查错误。
- 介质访问控制(MAC)利用MAC地址链接设备并设置传输数据的权限。
MAC地址是分配给网络中每个系统的唯一地址,用于识别系统。这些12位数是网络的数据链路层监控的物理寻址系统。它控制了各种网络组件如何访问物理介质。
示例:MAC地址可以由6个八位字节组成,例如00:5e:53:00:00:af,其中前三个数字对应组织唯一标识符(OUI),而后三个数字对应网络接口控制器(NIC)。
第二层的主要功能包括:
- 错误检测:错误检测发生在此层,但错误纠正发生在传输层。在某些情况下,数据信号中会发现不需要的信号,称为错误位。为了对抗这种错误,首先必须通过校验和和循环冗余检查(CRC)等方法来检测错误。
- 流量控制:接收方和发送方之间的数据传输必须以相同的速度进行。如果以帧的形式发送的数据速度快于接收方接收数据的速度,可能会丢失一些数据。为了解决这个问题,数据链路层涉及一些流量控制方法,以保持数据传输线上的一致速度。这些方法可以是:
- 滑动窗口方法,其中两端将决定必须传输多少帧。它在传输过程中节省时间和资源。
- 停止等待机制要求发送方在数据传输后停止并等待接收方。发送方必须等待接收到来自接收方的确认,以表示它们已经接收到数据。
- 实现多重访问:数据链路层还允许您通过相同的传输介质访问多个设备和系统以传输数据,而不会发生冲突。为此,它使用载波监听多路访问或冲突检测协议(CSMA/CD)。
- 数据同步:在数据链路层中,共享数据的设备必须在每一端与对方同步,以便实现平稳的数据传输。
- 将网络段划分为不同的网络数据包,同时在目标节点上重新组装网络数据包。
- 在物理网络中发现最佳路径,并相应地路由数据包。
- IP地址:它是一个全局唯一的32位数字,分配给每个设备,并作为逻辑网络地址。它由主机地址和网络地址两部分组成。IP地址通常由四个用句号分隔的数字表示,例如192.0.16.1。
- 路由器:在网络层中,路由器用于在不同广域网(WAN)上操作的设备之间传输数据。由于用于数据传输的路由器不知道确切的目的地址,因此数据包被路由。它们只知道自己所在网络的位置,并利用路由表中收集的数据。这有助于路由器找到传递数据的路径。当它最终将数据传递到目标网络时,数据将被发送到网络中的目标主机。
- 在发送方端,在从OSI模型中的更高层接收到格式化数据后,传输层执行分段操作。然后,它实现流量和错误控制技术,以实现平稳的数据传输。接下来,它将源地址和目的地址的端口号添加到头部,并将分段发送到网络层。
- 在接收方端,传输层将通过查看头部来识别端口号,然后将接收到的数据发送到目标应用程序。它还对分段数据进行排序和重组。
- 传输控制协议(TCP):这种可靠的协议在开始数据传输之前首先建立主机之间的连接。它要求接收方发送确认信息,以确定是否已收到数据。一旦收到确认信息,它就会发送第二批数据。它还监控传输速度和流量控制,并纠正错误。
- 用户数据报协议(UDP):它被认为是不可靠的,并且不是面向连接的。在主机之间传输数据后,它不需要接收方发送确认信息,并持续发送数据。这就是为什么它容易受到UDP洪水攻击的原因。它广泛用于在线游戏、视频流传输等。
- 寻址服务点:传输层有一个称为端口地址或服务点地址的地址,帮助将消息传递给正确的接收者。
- 错误检测和控制:该层提供错误检测和控制。即使数据在通过链接时未出现错误,但在路由器的存储器存储的段或数据中可能发生错误。如果发生错误,数据链路层将无法检测到它。此外,并非所有链接都可能是安全的,因此需要在传输层进行错误检测。可以通过以下两种方法实现:
- 循环冗余检查
- 校验和生成器和检查器
会话层
OSI模型的底部第五层是会话层。它用于在不同设备之间创建通信通道,也称为会话。它执行以下任务:
- 打开会话
- 关闭会话
- 在数据传输时保持会话处于打开和完全功能状态
- 提供不同应用程序之间的对话同步,以实现无损失的无缝数据传输。
会话层可以创建检查点以确保安全的数据传输。如果会话中断,所有设备将从它们的最后一个检查点恢复传输。该层允许使用不同平台的用户之间创建主动的通信会话。
表示层
从底部计算,第六层是表示层或翻译层。它用于准备要发送到位于上方的应用层的数据。它向用户呈现数据,使用户能够轻松理解。
表示层描述了网络中的两个设备如何压缩、加密和编码数据,以便接收者可以正确接收。该层使用应用层传输的数据,然后发送到会话层。
表示层处理语法,因为发送方和接收方可能使用不同的通信模式,可能会导致不一致。该层使系统能够在同一网络上轻松通信和相互理解。
第6层执行以下任务:
- 在发送方对数据进行加密
- 在接收方对数据进行解密
- 进行翻译,例如将ASCII格式转换为EBCDIC格式
- 在传输之前对多媒体数据进行压缩
该层将包含字符和数字的数据拆分为比特,并进行传输。它还将数据转换为所需格式以及在智能手机、平板电脑、个人电脑等不同设备上的接受格式。
应用层
应用层是OSI模型中的第七层,也是最顶层。终端用户软件和应用程序,如电子邮件客户端和网络浏览器,使用此层。
应用层提供的协议允许软件系统传输数据并向最终用户提供有意义的信息。
示例:应用层协议可以是著名的超文本传输协议(HTTP)、简单邮件传输协议(SMTP)、域名系统(DNS)、文件传输协议(FTP)等。
TCP/IP与OSI模型:区别
TCP/IP和OSI模型之间的主要区别如下:
- TCP/IP是美国国防部(DoD)创建的概念,比OSI模型更早。
- TCP/IP功能模型是为解决特定通信问题而构建的,并基于标准协议。而OSI模型是一个通用模型,独立于协议,用于定义网络通信。
- TCP/IP模型更简单,比OSI模型具有更少的层次。通常有四个层次:
- 网络访问层,结合了OSI的1和2层。
- 因特网层,在OSI模型中称为网络层。
- 传输层
- 应用层,结合了OSI的5、6和7层。
- OSI模型有七个层次:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。
- 使用TCP/IP的应用程序使用了所有的层次,但在OSI模型中,大多数应用程序不使用全部七层。实际上,只有1-3层对数据传输是强制性的。
结论
了解OSI模型可以帮助开发人员和供应商创建互操作性和安全性的软件应用程序和产品。它还将帮助您区分不同的通信工具和协议以及它们之间的工作方式。如果您是一个希望通过网络考试(如CCNA certification)的学生,了解OSI模型将是有益的。
数据链路层还利用诸如桥接器和第二层交换机之类的设备。桥接器是连接到不同局域网网络的2端口设备。它作为中继器工作,过滤不需要的数据,并将其发送到目的端点。它使用相同的协议连接网络。另一方面,第二层交换机根据系统的MAC地址将数据转发到后续层。
网络层
网络层位于数据链路层的上方,是OSI模型中从底部数起的第三个层。它利用网络地址(如IP addresses)将数据包路由到使用不同或相同协议和网络的接收节点。
它执行两个主要任务:
所谓最佳路径是指该层找到发件人和收件人之间数据传输的最短、最高效和最简单的路径,使用交换机、路由器和各种错误检测和处理方法。
为了实现这一点,网络层使用逻辑网络地址和网络的子网设计。无论设备是否在同一网络上,使用相同的协议与否,以及是否在相同的拓扑结构上工作,该层都将使用逻辑IP地址和路由器将数据从源地址路由到目的地址。因此,其主要组成部分是IP地址、子网和routers。
子网掩码由逻辑地址的32位组成,路由器可以在IP地址之外使用它来查找目的主机的位置以传递数据。它很重要,因为主机和网络地址不足以确定位置,无论它位于远程网络还是子网络中。子网掩码的示例可以是255.255.255.0。
通过查看子网掩码,您可以找到网络地址和主机地址。因此,当源地址计算出目的地址的数据包到达时,系统将接收数据并将其传输到下一层。与第二层不同,该层不需要发送方等待接收方的确认。
传输层
传输层位于OSI模型的底部第四层。它从网络层接收数据并将其传递到应用层。在这一层中,数据称为“分段”,该层的主要功能是传递完整的消息。它还在数据传输成功时进行确认,如果有任何错误,则返回数据。
除此之外,传输层执行数据流控制,以与接收设备的速度相同的速度传输数据,管理错误,并在发现错误后重新请求数据。
让我们了解一下每一端发生的情况:
传输层在网络中为设备或主机之间提供无差错的端到端连接。它提供了互联和互连子网的数据分段。
为了在网络中实现端对端通信,每个设备必须具有传输服务访问点(TSAP)或端口号。这将帮助主机通过远程网络的端口号识别对等主机。通常可以手动找到或使用默认值,因为大多数应用程序使用默认的端口号80。
传输层使用两个协议:
传输层的一些功能包括: