【计算机网络】OSI七层模型完全指南:从比特流到应用交互的逐层拆解

OSI模型

  • 导读
  • 一、概念
  • 二、模型层次结构
    • 2.1 物理层(Physical Layer)
    • 2.2 数据链路层(Data Link Layer)​
    • 2.3 ​网络层(Network Layer)​
    • 2.4 ​传输层(Transport Layer)​
    • 2.5 ​会话层(Session Layer)​
    • 2.6 ​​表示层(Presentation Layer)​
    • 2.7 应用层(Application Layer)​
  • 结语

OSI模型

导读

大家好,很高兴又和大家见面啦!!!

在上一篇内容中我们介绍了计算机网络协议、接口与服务的相关内容:

  • 协议指的是计算机网络中数据交换的规则、标准与约定。由语法、语义与同步三部分组成。
  • 接口是分层结构中,相邻层之间通信的通道。
  • 服务是下层为紧邻的上层提供的功能调用。
  • 服务的三种分类:
    • 面向连接服务与无连接服务
    • 可靠服务与不可靠服务
    • 有应答服务与无应答服务

在今天的内容中我们将会介绍计算机网络中的OSI参考模型的内容,下面我们直接开始今天的内容吧!!!

一、概念

由国际标准化组织(ISO)提出的网络体系结构模型称为开放系统互连参考模型(OSI/RM),简称OSI参考模型。

OSI参考模型有7层,自下而上(第1~7层)依次为物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。

层次结构

二、模型层次结构

2.1 物理层(Physical Layer)

传输单位:比特
功能:通过物理介质(如电缆、光纤、无线电波)为数据端设备透明地传输原始比特流​(0和1)。
​关键设备:网线、集线器(Hub)、中继器(Repeater)。
协议/技术:以太网(物理部分)、USB、蓝牙的物理层规范。

物理层主要研究以下内容:

  1. 定义电路接口参数:
    • 通信链路与通信结点的连接需要一些电路接口,物理层规定了这些接口的一些参数,如机械形状和尺寸、引脚的数量与排列等。
  2. 定义传输信号含义、电气特征:
    • 物理层规定了比特流与物理信号之间的映射关系,即用何种物理现象表示二进制数据。例如:在电缆中规定高电压+3V表示1,低电压-3V表示0。
    • 物理层还规定了信号传输的电气特性,确保信号在介质中稳定传输,避免失真或衰减。例如:USB 2.0规定电压为+5V,最大电流500mA。

2.2 数据链路层(Data Link Layer)​

传输单位:帧
​功能:将比特流组织成数据帧,通过MAC地址实现局域网内设备间的直接通信,并处理错误检测。
关键设备:交换机(Switch)、网桥(Bridge)。
协议/技术:以太网(MAC协议)、Wi-Fi(IEEE 802.11)、PPP(点对点协议)。

两台主机之间的数据传输总是在一段一段的链路上进行的,这就需要使用专门的链路协议。主要作用是加强物理层传输原始比特流的功能,将物理层提供的可能出错的物理连接改造为逻辑上无差错的数据链路。

数据链路层将网络层交来的IP分组封装成帧,并且可靠地传输到相邻节点的网络层,实现节点之间的差错控制和流量控制的功能。

2.3 ​网络层(Network Layer)​

传输单位:数据报
功能:通过逻辑寻址(如IP地址)​确定数据包的路径(路由),实现跨网络的通信。
关键设备:路由器(Router)。
协议/技术:IP(IPv4/IPv6)、ICMP(Ping)、OSPF(路由协议)。

网络层关心的时通信子网的运行控制,主要任务是将网络层的协议数据单元(分组)从源主机传输到目的主机,为分组交换网上的不同主机提供通信服务。关键问题是对分组进行路由选择,并实现流量控制、拥塞控制、差错控制和网际互联等功能。网络层既提供有连接可靠的虚电路服务,又提供无连接不可靠的数据报服务。

2.4 ​传输层(Transport Layer)​

传输单位:报文段
​功能:提供端到端的可靠或不可靠数据传输,管理流量控制、错误恢复和数据分段。
关键协议:TCP(可靠传输,如网页浏览)、UDP(不可靠但高效,如视频流)。

传输层负责主机中两个进程之间的通信,提供端到端的流量控制、差错控制、连接建立与释放、可靠传输管理等服务,传输层仅提供有连接可靠的服务。

数据链路层提供的是点到点通信。所谓的点到点通信,指的是相邻节点之间的通信,比如主机与中继系统之间的通信;
传输层提供的是端到端通信。所谓的端到端通信,指的是两台主机的应用程序之间的通信,比如微信与微信之间的通信;

通过传输层的屏蔽,高层用户看不到通信子网的交替与变化。因为一台主机可同时运行多个进程,所以传输层具有复用和分用的功能。

  • 复用是指多个应用层进程可以同时使用下面传输层的服务
  • 分用是指传输层将收到的信息分别交付给上面应用层中相应的进程

2.5 ​会话层(Session Layer)​

传输单位:数据
​功能:建立、管理和终止设备间的会话​(Session),协调通信过程。
示例:断点续传、远程登录(如SSH会话的建立与维护)。

会话层允许不同主机上的各个进程之间进行会话。这种服务主要为表示层实体或用户进程建立连接,并在连接上有序地传输数据,这就是会话,也称为建立同步。会话层主要负责管理主机间的会话进程,包括建立、管理和终止进程间的会话。会话层包含一种称为检查点的机制来维持可靠会话,使通信会话在通信失效时从检查点继续恢复通信,即端点下载的原理。

2.6 ​​表示层(Presentation Layer)​

传输单位:数据
​功能:处理数据的格式转换​(如加密、压缩、字符编码),确保应用层能正确解析数据。
​示例:SSL/TLS加密、JPEG图像压缩、ASCII/Unicode编码转换。

表示层主要处理在不同主机中交换信息的表示方式。不同机器采用的编码和表示方法不同,为了使不同表示方法的数据和信息之间能够互相交换,表示层采用抽象的标准方法定义数据结构,并采用标准的编码形式。此外,数据压缩、加密和解密也是表示层的功能。

2.7 应用层(Application Layer)​

传输单位:消息或数据
​功能:直接为用户应用程序提供网络服务接口。
​常见协议:HTTP(网页)、FTP(文件传输)、SMTP(电子邮件)、DNS(域名解析)。

应用层是OSI参考模型的最高层,是用户与网络的接口。应用层为特定类型的网络应用提供访问OSI参考模型环境的手段。用户的实际应用多种多样,这就要求应用层采用不同的应用协议来满足不同类型的应用要求,因此应用层是最复杂的一层,使用的协议也最多。

结语

在今天的内容中我们介绍了OSI参考模型的相关内容:

  • OSI参考模型为开放系统互连参考模型
  • 模型共有7层,自下而上分别为:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层

今天的内容到这里就全部结束了,在下一篇内容中我们将介绍《TCP/IP参考模型》的相关内容,大家记得关注哦!

如果大家喜欢博主的内容,可以点赞、收藏加评论支持一下博主,当然也可以将博主的内容转发给你身边需要的朋友。最后感谢各位朋友的支持,咱们下一篇再见!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/76279.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

零基础被迫参加CTF比赛?CTF高频解题技巧与经验分享

CTF(Capture The Flag)比赛中的高频解题技巧通常涵盖了以下几类技术,涉及从逆向工程、二进制漏洞利用到Web安全、密码学等多个领域。以下是一些高频解题技巧: 1. 逆向工程(Reverse Engineering) 静态分析&a…

markdown 文件转 word

将 Markdown 文件转换为 Word 文档,可以使用多种方法。以下是几种常见的方法: 方法1:使用在线转换工具 有许多在线服务可以将 Markdown 文件转换为 Word 文档。例如: Pandoc - 一个非常流行的命令行工具,也可以用来转…

【第十三届“泰迪杯”数据挖掘挑战赛】【2025泰迪杯】【思路篇】A题解题全流程(持续更新)

【第十三届“泰迪杯”数据挖掘挑战赛】【2025泰迪杯】A题解题全流程-思路(持续更新) 写在前面: 1、A题、C题将会持续更新,陆续更新发布文章 2、赛题交流咨询Q群:1037590285 3、全家桶依旧包含: 代码、…

T11 TensorFlow入门实战——优化器对比实验

🍨 本文為🔗365天深度學習訓練營 中的學習紀錄博客🍖 原作者:K同学啊 | 接輔導、項目定制 一、前期准备 1. 导入数据 # Import the required libraries import pathlib import matplotlib.pyplot as plt import tensorflow as t…

Docker部署sprintboot后端项目

创建Docker网络 docker network create icjs 部署Redis docker run -d \--network icjs \--name redis \-p 6379:6379 \redis:latest数据持久化 docker run --restartalways --network icjs -p 6379:6379 --name redis -v /opt/docker/redis/redis.conf:/etc/redis/redis.c…

01小游戏

问题描述 小明得到了一个长度为 nn 的字符串 ss ,该字符串都是由数字 00 和 11 组成,并且下标从 11 开始,小明现在需要对这个字符串进行 qq 次操作,每次操作包含以下两种操作之一: 操作 11 :小明查询该字符…

Androidstudio开发,实现商品分类

文章目录 1. 功能需求2. 代码实现过程1. 编写布局文件2. 创建商品分类(Adapter)适配器3. 实现商品分类Activity4. 在res/values/ 下新建 array.xml ,用于添加商品分类数据5. 效果演示 6. 关于作者其它项目视频教程介绍 1. 功能需求 显示商品分…

Linux快速安装docker和docker-componse步骤

在 CentOS 7 上安装 Docker 和 Docker Compose 的步骤如下: 1. 安装 Docker 1.1. 更新系统 首先,确保你的系统是最新版本: sudo yum update -y1.2. 安装必要的包 安装 yum-utils,这是管理 YUM 源的工具: sudo yu…

VBA代码解决方案第二十三讲 EXCEL中,如何删除工作表中的空白行

《VBA代码解决方案》(版权10028096)这套教程是我最早推出的教程,目前已经是第三版修订了。这套教程定位于入门后的提高,在学习这套教程过程中,侧重点是要理解及掌握我的“积木编程”思想。要灵活运用教程中的实例像搭积木一样把自己喜欢的代码…

Pytorch--tensor.view()

在 PyTorch 中,tensor.view() 是一个常用的方法,用于改变张量(Tensor)的形状(shape),但不会改变其数据本身。它类似于 NumPy 的 reshape(),但有一些关键区别。 1. 基本用法 import …

【机器学习】——机器学习思考总结

摘要 这篇文章深入探讨了机器学习中的数据相关问题,重点分析了神经网络(DNN)的学习机制,包括层级特征提取、非线性激活函数、反向传播和梯度下降等关键机制。同时,文章还讨论了数据集大小的标准、机器学习训练数据量的…

CoAP Shell 笔记

CoAP Shell 笔记 1. 概述 CoAP (Constrained Application Protocol) 是一种专为物联网 (IoT) 中资源受限的节点和网络设计的 RESTful Web 传输协议。CoAP Shell 是一个基于命令行的交互式工具,用于与支持 CoAP 的服务器进行交互。 2. 主要功能 协议支持&#xff…

【最新】探索CFD的未来:从OpenFOAM到深度学习,全面解析计算流体力学的顶级资源与前沿技术

计算流体力学(CFD)作为现代工程与科学研究的核心工具,正以前所未有的速度迈向智能化与多物理场耦合的新时代。本文全面梳理了在线学习CFD的顶级资源,涵盖了从传统数值模拟到深度学习驱动的物理信息模型的广泛领域,旨在为研究者、工程师和学生提供一站式参考指南。内容分为…

[leetcode]2492. 两个城市间路径的最小分数(并查集 排序后建边)

题目链接 题意 给定一个 n n n个点 m m m条边的无向图 每条边有边权 求1-n的路径中最小的边权是多少 每条路可以重复走 思路 把边按边权降序排序 用并查集维护连通性 遍历每条边 每次合并边的起点和终点 如果1和n联通 并且这条边在1和n的这个连通块中 就对ans取min Code…

Windows中IDEA2024.1的安装和使用

如果你也喜欢,记得一键三连啊 一、卸载 二、安装 三、注册 1、打开Crack文件,直接双击 “安装.bat”,否则可能安装会出错!! 2、选择【Activation code】(不要关闭该界面继续后面的步骤)。 …

【C#】构造协议帧通过串口下发

构造一个“协议帧”&#xff0c;打包串口/网络通信帧头部结构的核心部分 &#x1f527; 代码&#xff1a; List<byte> frame new List<byte>();// 1. 固定帧头 frame.AddRange(BitConverter.GetBytes(0x0130)); // 帧头 (4B) frame.AddRange(BitConverter…

04_SQL概述及DDL

文章目录 一、关于SQL1.1、SQL概述1.2、SQL分类 二、数据库操作2.1、查看数据库2.2、切换数据库2.3、查询当前使用的数据库2.4、创建数据库2.5、查看数据库创建信息2.6、修改数据库2.7、删除数据库 三、表的操作3.1、数据类型3.1.1、数值类型3.1.2、字符串类型3.1.3、日期时间类…

HCIA-数据通信datacom认证

文章目录 一、数据通信简介1.1 标准协议1.2 数据传输过程 二、通用路由平台VRP2.1 VRP简介2.2 命令行基础 三 、网络层协议IP3.1 数据封装3.2 数据包传输2.3 IP地址2.4 子网划分2.5 ICMP 四、IP路由基础4.1 路由概述4.2 路由表4.3 路由转发4.4 静态路由4.5 动态路由4.6 路由高级…

fast_pow(),c语言幂函数

double fast_pow(double a, int n) { double res 1.0; while (n > 0) { if (n & 1) res * a; // 如果当前位是1&#xff0c;累乘 a * a; // 平方 n >> 1; // 右移一位&#xff08;相当于 n / 2&…

OpenBMC:BmcWeb 处理http请求2 查找路由对象

OpenBMC:BmcWeb 处理http请求1 生成Request和AsyncResp对象_bmc web-CSDN博客 当接收到http请求,并且完成解析后,调用了App::handle处理请求 而App::handle又调用了router.handle(req, asyncResp);来处理请求 1.Router::handle void handle(const std::shared_ptr<Requ…