我们知道,计算机通过相互连接形成一个计算机网络。网络中的通信和数据传输是通过使用数据包(packet)来完成的。一个数据包有一个头部和一个数据部分,其中头部包含发送方和接收方的信息,数据部分包含数据。在发送和接收这些数据包的过程中,涉及许多协议和层次。
OSI(开放系统互连模型),可以被称为一个**参考模型**,它描述了在发送和接收数据包时所涉及的这些层次和协议。它从一个问题开始:一台计算机上的应用程序如何通过各个层次到物理媒介,将数据包发送给另一台计算机的应用程序并接收。
OSI模型由ISO组织于1984年开发,它由七个层次组成,每个层次都是独立的,在发送和接收数据包方面有其自己的功能。
有许多不同的观点描述了网络中需要一个参考模型的原因,其中包括:
OSI模型是网络中的一个国际模型,因此必须按照国际准则来制定。
每个层次在功能上必须是独立的,这样在一个层次上的更改不会影响到另一个层次。
将不同的功能放在不同的层次,同一层次不应有不同的功能。同时,不要设置太多的层次,以免使体系结构变得复杂。
OSI模型中的总层次分为两部分,即应用层(上层)和其他网络层(下层)。
应用层接近用户或应用程序,处理所有与应用相关的问题。应用层主要与网络中系统中运行的应用程序进行交互或通信。

OSI模型的下层是围绕网络和数据传输的物理媒介设计的。物理层是OSI模型的最低端,处理所有物理媒介的问题。
它始于1970年,当时ISO举办了一次研讨会,旨在为网络制定一些国际标准规则。
在1973年的一次**数据包**交换系统实验中,人们认识到了对更高级别协议的需求。
1983年,OSI的第一个模型初步开发完成,但直到1984年,ISO才接受了OSI模型的体系结构。
正如我们所说,不同的层次是独立的,并在数据传输中被分配了不同的功能。让我们详细研究一下OSI各层及其功能,这对于了解网络和网络安全至关重要。

这是OSI模型中最底层,与数据传输的物理媒介相关。物理层不像OSI模型中的高层那样依赖任何协议。该层负责建立和维护物理媒介与系统之间用于数据传输的连接。物理层负责定义传输所需的电气和机械规范。
这是物理层之上的下一层,因此来自物理层的数据进入数据链路层,在这里进行数据帧的无差错传输。
数据链路层为数据创建一种格式,并建立一个用于网络中设备数据传输和通信的协议。
从这一层开始,我们有了设备的IP地址,用于在网络中识别每个唯一的设备(逻辑寻址)。
为了便于理解数据链路层的功能,它被分为两个子层:
网络层是OSI模型的第三层,位于数据链路层之上。网络层负责数据的正确路由和转发。
该层能够找到并定位网络中的设备,并能在分析网络状况后使用最佳路由发送数据以到达接收方。
在这一层,我们使用诸如IP、IPV4和IPV6等协议来进行数据包的正确路由,这些协议被称为网络协议。
传输层是OSI模型的第4层,也被称为**OSI模型的心脏**。传输层负责完整地发送数据,没有任何丢失。
该层确保数据以发送时的正确顺序传输,没有任何重复内容。
传输层是与发送方和接收方建立端到端连接,以确保数据可靠发送的层。
传输层将数据包分成更小的部分,这些部分可以称为数据段。
如我们所说,该传输层负责端到端的连接和无丢失或重复的数据传输。该层使用两种不同的协议。
TCP是一种帮助数据通过网络发送的协议,它允许网络中的设备进行通信。它建立并维护发送方和接收方之间的连接。
在TCP协议中,数据被分成不同的称为**段**的小部分;这些段通过最佳路由发送到接收方。不同的段走不同的路线,并以不同的顺序到达接收方。TCP会对它们进行重新排序以获得正确的数据。
UDP是传输层使用的另一种协议,但它不是一个可靠的协议,因此不如TCP常用。
UDP协议的问题在于,接收方没有确认机制来通知发送方数据已正确到达。这种缺乏确认使得UDP的可靠性较低。
会话层位于传输层之上,这一层与系统上运行的应用程序和进程关系更密切。
会话层对于建立和维护发送方和接收方应用程序之间的连接和通信非常重要。
会话层负责处理所有的登录及其凭证。
会话建立、维护和关闭会话。
表示层位于会话层之上,也称为语法层,因为它主要关注所传输数据的语法和语义。
表示层是操作系统的一部分,它会在将数据发送到接收方之前,将数据从一种格式转换为另一种格式,这被称为**加密**。
这是OSI模型中的顶层,它作为用户和进程使用网络的接口。该层的职责包括透明度和资源分配。该层为最终用户提供使用网络的服务,例如文件传输、电子邮件、远程登录等。