【计算机网络---OSI七层模型】

一、OSI的基本概念及原则

OSI是Open System Interconnect的缩写,意为开放式系统互联。各个层次的划分遵循以下原则:

  1. 同一层的各网络节点都有相同的层次结构,具有同样的功能;

  2. 同一节点的内相邻层之间通过接口进行通信;

  3. 七层结构的每一层使用下一层提供的服务,并且向上一层提供服务;

  4. 不同节点的同等层按照协议实现对等层之间的通信。

二、OSI七层模型各层功能概述

|-------------------|--------------|------------------------------------|
| OSI七层网络模型 | TCP/IP四层概念模型 | 对应网络协议 |
| 应用层(Application) | 应用层 | HTTP、TFTP、FTP、NFS、WAIS、SMIP |
| 表示层(Presentation) | 应用层 | Telnet、Rlogin、SNMP、Gopher |
| 会话层(Session) | 应用层 | SMTP、DNS |
| 传输层(Transport) | 传输层 | TCP、UDP |
| 网络层(Network) | 网络层 | IP、ICMP、ARP、RARP、AKP、UUCP |
| 数据链路层(Data Link) | 数据链路层 | FDDI、Ethernet、Arpanet、PDN、SLIP、PPP |
| 物理层(Physical) | 数据链路层 | IEEE 802.1A、IEEE 802.2到IEEE 802.11 |

第一层:物理层

在OSI参考模型中,物理层是参考模型的最低层,也是OSI模型的第一层。

物理层的主要功能:

**利用传输介质为数据链路层提供物理连接,实现比特流的透明传输。**物理层的作用是实现相邻计算机节点之间比特流的透明传送,尽可能屏蔽掉具体传输介质和物理设备的差异,使其上面的数据链路层不必考虑网络的具体传输介质是什么。

第二层:数据链路层

数据链路层是OSI模型的第二层,负责建立和管理节点间的链路。在计算机网络中,由于各种干扰的存在,物理链路是不可靠的。

数据链路层的主要功能:

在物理层提供的比特流的基础上,通过差错控制、流量控制等方法,使有差错的物理线路变为无差错的数据链路,即提供可靠的通过物理介质传输数据的方法。

第三层:网络层

网络层是OSI模型的第三层,是其中最复杂的一层,也是通信子网的最高一层,在下两层的基础上向资源子网提供服务。

网络层的主要功能:

在数据链路层提供的两个相邻端点之间的数据帧的传送功能上,进一步管理网络中的数据通信,控制数据链路层与传输层之间的信息转发,建立、维持和终止网络的连接,将数据设法从源端经过若干个中间节点传送到目的端(点到点),从而向传输层提供最基本的端到端的数据传输服务。具体来说,数据链路层的数据在网络层被转换为数据包,然后通过路径选择、分段组合、顺序、进/出路由等控制,将信息从一个网络设备传送到另一个网络设备。数据链路层和网络层的区别为:数据链路层的目的是解决同一网络内节点之间的通信,而网络层主要解决不同子网之间的通信。

第四层:传输层

OSI模型下面三层的任务是数据通信,上面三层的任务是数据处理,而传输层作为OSI的第四层,提供建立、维护和拆除传输连接的功能,起到了承上启下的作用。

传输层的主要功能:

向用户提供可靠的端到端的差错和流量控制,保证报文的正确传输,同时向高层屏蔽下层数据通信的细节,即向用户透明地传送报文。

第五层:会话层

会话层是OSI模型的第五层,是用户应用程序和网络之间的接口。

会话层的主要功能:

组织和协调两个会话进程之间的通信,并对数据交换进行管理。当建立会话时,用户必须提供他们想要连接的远程地址,而这些地址与MAC地址或网络层的逻辑地址不同,它们是为用户专门设计得,更便于用户记忆。域名就是一种网络上使用的远程地址。会话层的具体功能如下:

  1. 会话管理:允许用户在两个实体设备之间建立、维持和终止会话,并支持它们之间的数据交换;
  2. 会话流量控制:提供会话流量控制和交叉会话的功能;
  3. 寻址:使用远程地址建立会话;
  4. 出错控制:从逻辑上将会话层主要负责数据交换的建立、保持和终止,但实际的工作却是接收来自传输层的数据,并纠正错误。

第六层:表示层

表示层是OSI模型的第六层,它对来自应用层的命令和数据进行解释,对各种语法赋予相应的含义,并按照一定的格式传送给会话层。

表示层的主要功能:

处理用户信息的表示问题,如编码、数据格式转换和加密解密等。表示层的具体功能如下:

  1. 数据格式处理:协商和建立数据交换的格式,解决各应用程序之间在数据格式表示上的差异;
  2. 数据的编码:处理字符集和数字的转换;
  3. 压缩和解压缩:为了减少数据的传输量,表示层还负责数据的压缩与恢复;
  4. 数据的加密与解密:可以提高网络的安全性。

第七层:应用层

应用层是OSI模型的最高层,是计算机用户,以及各种应用程序和网络之间的接口。

应用层的主要功能:

直接向用户提供服务,完成用户希望在网络上完成的各种工作。它在其他6层工作的基础上,负责完成网络中应用程序与网络操作系统之间的联系,建立与结束使用者之间的联系,并完成网络用户提出的各种网络服务及应用所需的监督、管理和服务等各种协议。此外,应用层还负责协调各个应用程序间的工作,其具体功能如下:

  1. 用户接口:应用层是用户与网络,以及应用程序与网络间的直接接口,使得用户能够与网络进行交互式联系;
  2. 实现各种服务:应用层具有的各种应用程序可以完成和实现用户请求的各种服务。

三、OSI七层模型举例

**举例:**以A公司向B公司发送一次商业报价单为例。

分析如下

  • 应用层:A公司相当于实际的电脑用户,要发送的商业报价单相当于应用层提供的一种网络服务,当然,A公司也可以选择其他服务,比如发送一份商业合同、发送一份询价单等;
  • 表示层:由于A公司和B公司是不同国家的公司,他们之间协商统一用英语作为交流语言,所以此时A公司的文秘(表示层)将从上级(应用层)获取到的商业报价单的语言翻译为英语,同时为了防止被别的公司盗取机密信息,A公司的文秘还会对这份报价单进行一些加密处理。这就是表示层的作用,将应用层的数据转换翻译。
  • 会话层:A公司外联部同事(会话层)掌握着其他许多公司的联系方式,他们负责管理本公司与外界许多公司的联系会话。当外联部同事拿到文秘(表示层)转换为英文的商业报价单后,首先要找到所要联系的B公司的地址信息,并附上自己的地址和联系方式,然后将报价单放进信封准备寄出。等B公司确认接收到报价单后,外联部的同事才去办其他事情,继而终止此次会话。
  • 传输层:传输层就相当于A公司中负责收发邮件的人,A公司自己的投递员负责将上一层(会话层)要寄出的资料投递到快递公司或邮局。
  • 网络层:网络层就相当于快递公司庞大的快递网络,全国不同的集散中心,比如说深圳发往北京的顺丰快递,首先要到顺丰的深圳集散中心,从深圳集散中心再送到武汉集散中心,从武汉集散中心再寄到北京顺义集散中心。其中每个集散中心都相当于网络中的一个IP节点。
  • 数据链路层:相当于顺丰快递内部为了保证效率和质量的一种内部操作。
  • 物理层:快递寄送过程中的交通工具就相当于物理层,例如飞机、火车、汽车等。

四、OSI七层模型总结

|---------|---------------------|
| OSI七层模型 | 关键词 |
| 应用层 | 产生网络流量的程序 |
| 表示层 | 传输之前是否进行加密或压缩处理 |
| 会话层 | 查看会话、查木马netstat-n |
| 传输层 | 可靠传输、流量控制、不可靠传输 |
| 网络层 | 负责选择最佳路径、规划IP地址 |
| 数据链路层 | 数据帧的开始和结束、透明传输、差错校验 |
| 物理层 | 接口标准、电器标准、如何更快传输数据 |

五、相关概念解释

5.1、比特流

**比特流是指由比特(bit,即二进制位)组成的数据流,它是计算机中处理和传输数据的最基本形式。**比特流由0和1两种二进制数字组成,用来表示数据、指令或控制信息。比特流通常是以电信号或电磁波的形式在计算机网络中传输,以便在不同的计算机和设备之间进行数据交换。

比特流的底层原理:

  • 信号传输:在计算机中,比特流通常是以电信号或电磁波的形式进行传输。例如:通过网线传输的比特流就是通过电信号的形式进行传输的。在信号传输的过程中,需要考虑电磁干扰、传输距离等因素,以保证信号的质量和可靠性。
  • 数据表示:计算机中的数据是以二进制形式进行表示的,比特流是由0和1组成的二进制数字序列。每8位二进制数字组成一个字节,不同的字节可以表示不同的数据类型,如整数、字符、浮点数等。
  • 码制:为了提高数据的传输效率和可靠性,比特流通常需要进行码制转换。例如:在数字通信中,可以使用调制技术将比特流转换为模拟信号进行传输,以便在不同的信号媒介上进行传输。另外,还以使用压缩算法对比特流进行压缩,以减少数据传输的时间和宽带需求。

5.2、点到点、端到端

|-------|----------------------------------------------------------------------------------|-----------------------------------------------------------------------------------|
| | 点到点服务 | 端到端服务 |
| 主要使用层 | 数据链路层 | 传输层 |
| 概念 | 数据链路层只负责直接相连的两个节点之间的通信,一个节点的数据链路层接受网络层数据并封装之后,就把数据帧从链路上发送到与其相邻的下一个节点 | 端到端,即为发送端到接收端。端到端通信建立在点到点通信的基础上,是由一段段的点到点通信信道构成的,是比点到点通信更高一级的通信方式,完成应用程序(进程)之间的通信 |
| 优点 | 发送端设备送出数据后,它的任务就已经完成了,不需要参与整个传输过程,不会浪费发送端设备的资源;即使接收端设备关机或故障,点到点传输也可以采用存储转发技术进行缓冲 | 链路建立后,发送端知道接收设备一定能收到,而且经过中间交换设备时不需要进行存储转发,因此传输延迟小 |
| 缺点 | 发送端送出数据后,不知道接收端能否收到或者何时收到数据 | 直到接收端收到数据为止,发送端的设备要全程参与,如果整个传输过程的延迟很长,那么对发送端的设备会造成很大的浪费;且若接收设备关机或故障,端到端传输不可能实现 |

相关推荐
Michaelwubo13 分钟前
Docker dockerfile镜像编码 centos7
运维·docker·容器
好像是个likun44 分钟前
使用docker拉取镜像很慢或者总是超时的问题
运维·docker·容器
njnu@liyong3 小时前
图解HTTP-HTTP报文
网络协议·计算机网络·http
GISer_Jing3 小时前
2025前端面试热门题目——计算机网络篇
前端·计算机网络·面试
ZachOn1y3 小时前
计算机网络:应用层 —— 应用层概述
计算机网络·http·https·应用层·dns
cominglately3 小时前
centos单机部署seata
linux·运维·centos
CircleMouse3 小时前
Centos7, 使用yum工具,出现 Could not resolve host: mirrorlist.centos.org
linux·运维·服务器·centos
Karoku0664 小时前
【k8s集群应用】kubeadm1.20高可用部署(3master)
运维·docker·云原生·容器·kubernetes
木子Linux4 小时前
【Linux打怪升级记 | 问题01】安装Linux系统忘记设置时区怎么办?3个方法教你回到东八区
linux·运维·服务器·centos·云计算
mit6.8244 小时前
Ubuntu 系统下性能剖析工具: perf
linux·运维·ubuntu