OSI参考模型

176 阅读5分钟

OSI各层功能

OSI参考模型如下: 微信图片_20251020210710.jpg

1. 应用层

应用层负责提供最终用户与网络交互的接口。人们可通过各种应用程序(如QQ、浏览器等客户端程序,或Web服务器、邮件服务器、流媒体服务器等服务器程序)向网络发起请求。当然实质上应用程序是对应用层接口的封装,真正提供网络资源访问的是应用层接口。应用层向下使用表示层提供的服务。

2. 表示层

表示层为在应用进程之间传递的数据提供表示方法,包括编码方式、加密方式、压缩方式等。发送端和接收端必须使用相同的数据表示方法,才能保证数据的正常显示,否则将会产生乱码。表示层向上为应用层提供服务,向下使用会话层的服务。

3. 会话层

会话层负责为通信的应用程序创建、维护和释放连接,该层向下使用传输层提供的服务,使应用进程建立和维持会话(会话指应用进程之间的信息交换过程),并使会话同步。

4. 传输层

传输层通过流量控制、分段/重组和差错校验等功能实现端到端之间可靠的数据传输,它向上对会话层提供可靠的数据传输服务,向下使用网络层提供的服务。

5. 网络层

网络层负责实现两端之间数据的透明传送,具体功能包括逻辑寻址、路由选择以及连接的建立、保持、终止等。

6. 数据链路层

数据链路层(简称链路层)负责建立逻辑连接、硬件地址寻址、差错校验等功能。链路层使用物理层提供的服务,接收来自物理层的比特流,并将比特组合成字节,进而组合成帧,在进行硬件寻址时通过MAC地址访问物理媒介。

7. 物理层

物理层负责建立、维护和断开物理连接。物理层由光纤、电缆和电磁波等真实存在的物理媒介组成,这些物理媒介组成数据通路,以传输各种形式的物理信号。在计算机网络中,物理层传输的数据一般是比特流。物理层向上为数据链路层提供服务。

网络工作人员分工示意图如下:

微信图片_20251020211455.jpg

OSI通信流程

1. 信息发送

在Web服务器到客户端浏览器的通信中,服务器充当信息的发送方。根据OSI参考模型,服务器端返回网页时将经过7个步骤,分别如下。

  • (1)Web服务器接收到来自客户端浏览器的请求,将目标网页打包,作为本次通信过程中传输的主要数据;
  • (2)网络中传递的是数字信号,因此在传输网页之前需先对其中内容进行编码;
  • (3)Web服务器要与计算机A中的浏览器进行通信,则需与其建立会话进程;
  • (4)网页中包含的信息量较多,为降低传播时延,控制网络流量,也为方便对信息进行校验,需要将待传输的网页信息拆分、打包、放入缓存并分段编号,随后依次发送包含信息的数据包。此外为了保证信息的准确性,还要检测传输线路的容错性;
  • (5)同一时刻接入网络、使用网络的端点不唯一,网络上传输的数据包也不唯一,为了保证各端发送的数据包能按预期被送往接收端,网络需为各数据包选择转发路径;
  • (6)数据包从发送方到达接收方可能经过多个不同类型的网络,不同网络可能对应不同的链路。链路中传输的信息单位为帧,不同链路中可能使用不同的帧格式。因此需根据网络类型,将待转发的数据包封装为不同的数据帧;
  • (7)信息的传输离不开物理媒介,数据帧在物理媒介中被转换为比特流,并通过物理媒介从网络中的一台设备传输到另外一台设备,直到抵达目的设备。

以上7个步骤与OSI参考模型中各层负责的功能自顶向下一一对应,如图2-9所示。

微信图片_20251020212110.jpg

2.信息接收

若网络通畅,发送方发送的信息便可顺利传送到接收方,即计算机A中。从信息送达计算机A到浏览器解析数据、呈现给用户,同样经历7个步骤,具体如下。

  • (1)接收方计算机A通过网卡接收经由物理媒介传输的信息,并将信息拷入内存;
  • (2)接收方计算机对接收到的信息进行检测,若数据有误,通知信息发送方重新发送;若信息正确,则在接收完成后断开链路;
  • (3)接收方获取信息中的地址,与自身地址进行核对,判断所接收信息是否为应接收的信息;
  • (4)接收方接收到完整的信息并对信息进行检查后,发送确认信息;
  • (5)接收方与发送方之间的通信完成,会话结束;
  • (6)接收方按照与发送方约定的方式,对信息进行转码、解密等操作;
  • (7)接收方获取到发送方发送的原始信息,并将其以网页形式在浏览器中展示。

TCP/IP参考模型

TCP/IP是目前应用最广泛的参考模型 TCP,UDP是常用的传输层协议

TCP/IP分层

  1. 应用层
  2. 传输层
  3. 网络层
  4. 数据链路层
  5. 物理层

TCP/IP数据传输流程

图示如下:

微信图片_20251020212957.jpg 体系结构示意图:

微信图片_20251020213125.jpg ICMP、IGMP、ARP 和 RARP 分别为网络层和数据链路层的协议。