[网络基础]——计算机网络(OSI)参考模型 详解

🏡作者主页:点击!
🌐网络通信基础TCP/IP专栏:点击!
⏰️创作时间:2024年6月2日21点59分
🀄️文章质量:93分

目录
🎟️OSI基本概念
🎄分层架构
优点
⏬️OSI七层模型
基本概念
优点
🔅每层的作用
1.物理层
2.数据链路层
3.网络层
4.传输层
5.会话层
6.表示层
7.应用层
📶举例子(送快递)
总结
🎟️OSI基本概念
参考模型是由国际标准化组织(ISO)开发的一个抽象模型,用于理解和设计网络系统。该模型将网络通信分解成七个独立的层,每一层各司其职,专注于特定的网络功能。这种分层结构使得不同的网络设备和技术可以协同工作。
OSI(开放系统互连)参考模型是一个分层架构,用于标准化计算机网络通信。
先了解什么是分层架构
🎄分层架构
OSI七层模型采用的是一种垂直分层的架构设计:
1.分层结构:
每一层都有自己明确的功能和责任,相互独立且互不干扰。
上层依赖下层提供的服务,下层向上层提供接口。
2.垂直分层:
模型按照功能从上到下划分为7层。
每一层都有自己的协议和接口标准。
相邻层之间通过接口进行交互和传输数据。
3.层间关系:
上层依赖下层提供的服务,下层向上层提供接口。
上层只能访问直接下层的接口,不能越层访问。
每一层内部实现细节对上层是透明的。
优点
种垂直分层的架构设计提供了以下优点:
- 模块化和灵活性:各层功能独立,可以独立设计、实现和修改。
- 标准化和可扩展性:各层使用标准化接口,便于系统扩展和新技术的集成。
- 隔离性和可移植性:上层无需关心下层实现细节,增强了系统的可移植性。
- 层间协作和可维护性:各层之间通过标准接口进行有序协作,提高系统的可维护性。
⏬️OSI七层模型
基本概念

-
物理层(Physical Layer):
- 功能:传输原始的比特流,定义硬件设备与介质的接口和信号特性。
- 典型设备:集线器、网线、光纤、无线电波设备。
-
数据链路层(Data Link Layer):
- 功能:负责节点间的数据传输,提供错误检测和纠正,以及流量控制。
- 典型设备:交换机、网卡、桥接器。
- 子层:逻辑链路控制(LLC)和介质访问控制(MAC)。
-
网络层(Network Layer):
- 功能:处理数据包的路由选择和转发,负责逻辑地址寻址。
- 典型设备:路由器。
- 协议:IP(互联网协议)。
-
传输层(Transport Layer):
- 功能:提供端到端的通信,确保数据传输的完整性和可靠性。
- 协议:TCP(传输控制协议)、UDP(用户数据报协议)。
-
会话层(Session Layer):
- 功能:管理和控制应用程序之间的会话,处理会话建立、维护和终止。
- 服务:会话管理、对话控制。
-
表示层(Presentation Layer):
- 功能:数据表示形式的转换,包括加密、解密和压缩,确保不同系统之间数据的互操作性。
- 服务:数据翻译、加密/解密、压缩。
-
应用层(Application Layer):
- 功能:为应用程序提供网络服务和接口,直接与用户进行交互。
- 协议:HTTP(超文本传输协议)、FTP(文件传输协议)、SMTP(简单邮件传输协议)、DNS(域名系统)。
优点
- 标准化通信协议:使得不同厂商的设备能够互操作,促进了网络技术的发展。
- 模块化设计:每一层独立运行,可以单独设计和升级,不影响其他层。
- 简化故障排除:通过分层模型,网络故障可以被快速定位和解决。
🔅每层的作用

1.物理层

作用:负责物理介质上数据的传输,定义硬件设备的电气、机械、功能和过程特性。
详细介绍:
- 功能:传输原始的比特流(0和1),将数据从一个设备传送到另一个设备。
- 涉及内容:电压电平、传输速率、介质类型(如铜线、光纤、无线电波)、物理连接器。
- 典型设备:集线器、网线、光纤、无线电收发器、网络接口卡(NIC)。
2.数据链路层

作用:确保数据在物理层上传输时的正确性和可靠性,负责点到点之间的帧传输。
详细介绍:
- 功能:帧的封装和解封装、介质访问控制、错误检测和纠正、流量控制。
- 子层:
- 逻辑链路控制(LLC)子层:负责帧同步、流量控制和错误控制。
- 介质访问控制(MAC)子层:负责控制对物理介质的访问,提供硬件地址(MAC地址)。
- 典型设备:交换机、桥接器、网卡。
3.网络层

作用:负责数据包的路径选择和转发,提供逻辑地址寻址和路由功能。
详细介绍:
- 功能:逻辑地址(IP地址)分配、路由选择、数据包转发、流量控制、分段和组装。
- 协议:IP(互联网协议)、ICMP(互联网控制报文协议)、IGMP(互联网组管理协议)。
- 典型设备:路由器。
4.传输层
作用:提供端到端的通信和数据传输服务,确保数据传输的完整性和可靠性。
详细介绍:
- 功能:数据分段和重组、连接建立和拆除、流量控制、错误检测和恢复、传输层寻址(端口号)。
- 协议:TCP(传输控制协议)、UDP(用户数据报协议)。
- 典型设备:防火墙、网关。
5.会话层
作用:管理应用程序之间的会话,负责会话建立、维护和终止。
详细介绍:
- 功能:会话管理、对话控制、同步、检查点恢复、会话连接和断开。
- 服务:支持会话建立和终止、会话恢复和故障恢复。
- 应用:远程过程调用(RPC)、会话层协议(如NetBIOS)。
6.表示层
作用:数据表示的转换和处理,确保数据在不同系统之间的互操作性。
详细介绍:
- 功能:数据格式化、翻译、加密和解密、数据压缩和解压。
- 服务:字符编码转换、数据加密和解密(如TLS/SSL)、数据压缩。
- 应用:JPEG、GIF、MPEG、TLS(传输层安全协议)
7.应用层
作用:为应用程序提供网络服务和接口,直接与用户进行交互。
详细介绍:
- 功能:为网络应用程序提供接口,处理用户请求和服务的具体细节。
- 协议:HTTP(超文本传输协议)、FTP(文件传输协议)、SMTP(简单邮件传输协议)、DNS(域名系统)、SNMP(简单网络管理协议)。
- 应用:网页浏览器、电子邮件客户端、文件传输工具、网络管理工具。
📶举例子(送快递)

用送快递的方式来比喻OSI七层模型,可以更形象地理解每一层的作用。让我们把送快递的过程分解成七个步骤
1. 物理层 - 快递公司的物流车辆和道路
作用:负责快递包裹在道路上的实际传输。
比喻:
-
物流车辆和道路:类似于物理层中使用的电缆、光纤和无线电波,这些物理介质用于传输数据。
-
具体操作:快递包裹被装载到物流车辆上,通过道路运输到达目的地。
2. 数据链路层 - 包裹在仓库中的处理
作用:确保包裹在运输过程中的正确处理和无误传递。
比喻:
-
仓库操作:在仓库中,包裹被扫描、打包,并贴上标签,确保每个包裹都有唯一的识别码。
-
具体操作:包裹在仓库内的处理类似于数据链路层的帧封装和错误检测,确保每个包裹(数据帧)正确无误地被传递。
3. 网络层 - 确定最佳运输路径
作用:决定包裹从发件人到收件人的最佳运输路径。
比喻:
-
路径选择:快递公司决定通过哪条路线(如陆运、空运、海运)将包裹送达目的地。
-
具体操作:网络层决定数据包的路由,确保它们能够通过最优路径到达目的地。
4. 传输层 - 确保包裹完整送达
作用:确保包裹的完整性和可靠性,从发件人到收件人。
比喻:
-
运输保证:快递公司为包裹提供保险,确保包裹完整无损地送达,并可以跟踪运输状态。
-
具体操作:传输层负责分段和重组数据,提供错误校正和流量控制,确保数据可靠传输。
5. 会话层 - 协调发货和收货时间
作用:管理和协调发货和收货的时间和过程。
比喻:
-
时间协调:快递公司与发件人和收件人协调发货和收货时间,确保双方在合适的时间进行操作。
-
具体操作:会话层管理会话的建立、维持和终止,确保双方能正确交互。
6. 表示层 - 包裹的包装和格式转换
作用:确保包裹在运输过程中能被正确识别和处理。
比喻:
-
包装和标签:快递公司对包裹进行标准化包装,并贴上格式化标签,确保包裹在不同阶段能被正确识别。
-
具体操作:表示层负责数据格式转换、加密和解密,确保数据在不同系统之间的互操作性。
7. 应用层 - 快递服务的最终交付
作用:直接与用户交互,提供最终的快递服务。
比喻:
-
最终交付:快递员将包裹送到收件人手中,完成整个快递服务过程。
-
具体操作:应用层直接为用户提供服务,如HTTP用于网页浏览、SMTP用于发送电子邮件等。
总结
在送快递的过程中,首先,应用层类似于确定快递服务的最终交付,确保用户需求得到满足。接着,表示层负责对包裹进行包装和格式转换,以确保在运输过程中的识别和处理。然后,会话层协调发货和收货时间,确保快递的及时交付。传输层类似于保证包裹的完整送达,提供保险服务,以确保数据可靠传输。网络层决定最佳运输路径,类似于选择合适的快递路线。数据链路层确保在仓库中的正确处理和无误传递,就像在物流中对包裹进行扫描和打包。最后,物理层负责实际的快递车辆和道路,类似于使用物理介质传输数据,确保包裹顺利到达目的地。每一层都有特定的任务和职责,确保数据能够安全、准确地传输。
理解完上述所说的
那么一个数据在传输过程中,每一层有什么变化呢
这个就要重新认识一个TCP/IP模型了
相关文章:
[网络基础]——计算机网络(OSI)参考模型 详解
🏡作者主页:点击! 🌐网络通信基础TCP/IP专栏:点击! ⏰️创作时间:2024年6月2日21点59分 🀄️文章质量:93分 目录 🎟️OSI基本概念 🎄分层架构…...
使用 Java 获取图片的 MD5 编码
在许多应用场景中,我们需要验证文件的完整性或唯一性,常用的方法是计算文件的哈希值。MD5(Message Digest Algorithm 5)是一种广泛使用的哈希函数,可以生成一个128位的哈希值(32位的十六进制数字࿰…...
GO——泛型
泛型 对于强类型语言,在编写代码时不事先指定类型,在实例化的时候作为参数指明类型 参考:https://www.liwenzhou.com/posts/Go/generics/ 什么时候使用泛型? 方法中的代码实现与类型T无关参考:https://juejin.cn/p…...
TSP(Python):Qlearning求解旅行商问题TSP(提供Python代码)
一、Qlearning简介 Q-learning是一种强化学习算法,用于解决基于奖励的决策问题。它是一种无模型的学习方法,通过与环境的交互来学习最优策略。Q-learning的核心思想是通过学习一个Q值函数来指导决策,该函数表示在给定状态下采取某个动作所获…...
【精通NIO】NIO介绍
一、什么是NIO NIO,全称为New Input/Output,是Java平台中用于替代传统I/O(Blocking I/O)模型的一个功能强大的I/O API。NIO在Java 1.4版本中被引入,其设计目标是提供一种非阻塞的、低延迟的I/O操作方式,以…...
ssh远程管理
一、Openssh概述 Openssh是一种安全通道协议,用来实现字符界面的远程登录、远程复制、远程文本传输。 Openssh对通信双方的数据进行了加密。有两种方式: 用户名和密码登录:比较常用密钥对认证方式:可以实现免密登录 ssh端口&a…...
【ai】pycharm远程ssh开发
方式1: gateway的方式是远程放一个pycharm 专业版,经常下载失败 方式2: 类似vs,源码本地,同步到远程进行运行。 参考大神的分享: Pycharm远程连接服务器(2023-11-9) Pycharm远程连接服务器(windows下远程修改服务器代码)[通俗易懂] cpolar 建议同时内网穿透 选 远程开…...
leetcode 9 回文数
给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。 回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 例如,121 是回文,而…...
学习Python的基础知识
目录 摘要 Python 的主要特点 基本语法 1. 变量和数据类型: 2. 条件语句: 3. 循环: 4. 函数: 5. 类和对象: 6. 列表和字典: 7. 文件I/O: Python 的学习路线 如何高效使用 Python 的…...
第五届上海市青少年算法竞赛网络同步赛(小学组)
第五届上海市青少年算法竞赛网络同步赛(小学组)T1. 符号译码_网络同步赛 内存限制: 256 Mb 时间限制: 1000 ms 题目描述 小爱为标点符号设计了一套编码系统,编码规则如下: [ 的编码为 010 ] 的编码为 101 < 的编码为 00 > 编码为 11 + 的编码为 011 - 编码为 100 根…...
【区分vue2和vue3下的element UI Cascader 级联选择器组件,分别详细介绍属性,事件,方法如何使用,并举例】
在Vue 2的Element UI和Vue 3的Element Plus中,el-cascader(级联选择器)组件用于从嵌套的数据中进行选择。以下是对这两个版本下el-cascader组件的属性、事件和方法的详细介绍,并附带示例。 Vue 2的Element UI el-cascader 属性…...
pottery,一个超酷的 Python 库!
更多Python学习内容:ipengtao.com 大家好,今天为大家分享一个超酷的 Python 库 - pottery。 Github地址:https://github.com/brainix/pottery 在分布式系统和高并发环境中,Redis 作为一种高性能的键值存储数据库,被广泛…...
【Android面试八股文】在Java中重载和重写是什么意思,区别是什么?
文章目录 在Java中重载和重写是什么意思,区别是什么?这道题想考察什么 ?考察的知识点考生应该如何回答重载(Overloading)重写(Overriding)重载和重写的区别在Java中重载和重写是什么意思,区别是什么? 这道题想考察什么 ? Java基础 考察的知识点 面向对象多态的基…...
【第二篇】SpringSecurity源码详解
一、SpringSecurity中的核心组件 在SpringSecurity中的jar分为4个,作用分别为 jar作用spring-security-coreSpringSecurity的核心jar包,认证和授权的核心代码都在这里面spring-security-config如果使用Spring Security XML名称空间进行配置或Spring Security的Java configura…...
基于Python+FFMPEG环境下载B站歌曲
题主环境 WSL on Windows10 命令如下 # python3.9 pip install --pre yutto yutto --batch https://www.bilibili.com/video/BV168411o7Bh --audio-only ls | grep aac | xargs -I {} ffmpeg -i {} -acodec libmp3lame {}.mp3WinAmp...
静态 VxLAN 浅析及配置示例(头端复制)
一、概念: VxLAN:Visual eXtensible Local Area Network 虚拟扩展本地局域网,一种隧道技术,能在三层网络的基础上建立二层以太网网络隧道,从而实现跨地域的二层互连,VxLAN端口:4789EVPN&#x…...
2023年与2024年AI代理基础设施的演进:六大关键变化
随着人工智能技术的不断进步,AI代理基础设施在2023年和2024年之间经历了显著的发展和变革。本文将探讨这两年间AI代理基础设施的六大关键变化,展示如何为开发者和用户提供更加强大和集成化的解决方案。 1. 代理特定开发工具的兴起 2024年见证了专为AI代理设计的新一代开发工…...
实验三-8086指令的应用《计算机组成原理》
一、实验目的 掌握8086指令的应用 二、实验原理 三、实验仪器 计算机1台,emu8086软件。 四、实验步骤 1、建立00H~0FH~00H 31个数,00H~0FH数据逐渐增大,0FH~00H逐渐减小,即DI指针所表示的地…...
《维汉翻译通》App全新升级:维吾尔语短文本翻译、汉语拼音标注、维语词典、谚语格言名句等功能统统免费!还支持维吾尔文OCR识别提取文字!
2024年《维汉翻译通》App迎来重大更新!这次升级不仅带来了全新的功能,还为所有用户提供了更加便捷的服务体验。以下是我们新版本的主要亮点: 维语短文本翻译免费啦! 我们深知语言是沟通的桥梁,为了让更多人能够跨越语…...
全年申报!2024年陕西省双软企业认定条件标准、申报好处费用
1.双软企业是什么? 答:双软认证并不是一个资质,而是"软件产品登记"和"软件企业认定"两个不同资质的统称.叫做"双软企业" 2.双软企业的优惠政策是什么? 答:(1)软件产品登记的优惠政策:软件产品增值税,从13%减按3%征收,实行即征即退; (2)软件…...
[特殊字符] 智能合约中的数据是如何在区块链中保持一致的?
🧠 智能合约中的数据是如何在区块链中保持一致的? 为什么所有区块链节点都能得出相同结果?合约调用这么复杂,状态真能保持一致吗?本篇带你从底层视角理解“状态一致性”的真相。 一、智能合约的数据存储在哪里…...
19c补丁后oracle属主变化,导致不能识别磁盘组
补丁后服务器重启,数据库再次无法启动 ORA01017: invalid username/password; logon denied Oracle 19c 在打上 19.23 或以上补丁版本后,存在与用户组权限相关的问题。具体表现为,Oracle 实例的运行用户(oracle)和集…...
Qt/C++开发监控GB28181系统/取流协议/同时支持udp/tcp被动/tcp主动
一、前言说明 在2011版本的gb28181协议中,拉取视频流只要求udp方式,从2016开始要求新增支持tcp被动和tcp主动两种方式,udp理论上会丢包的,所以实际使用过程可能会出现画面花屏的情况,而tcp肯定不丢包,起码…...
ESP32读取DHT11温湿度数据
芯片:ESP32 环境:Arduino 一、安装DHT11传感器库 红框的库,别安装错了 二、代码 注意,DATA口要连接在D15上 #include "DHT.h" // 包含DHT库#define DHTPIN 15 // 定义DHT11数据引脚连接到ESP32的GPIO15 #define D…...
什么是库存周转?如何用进销存系统提高库存周转率?
你可能听说过这样一句话: “利润不是赚出来的,是管出来的。” 尤其是在制造业、批发零售、电商这类“货堆成山”的行业,很多企业看着销售不错,账上却没钱、利润也不见了,一翻库存才发现: 一堆卖不动的旧货…...
【论文笔记】若干矿井粉尘检测算法概述
总的来说,传统机器学习、传统机器学习与深度学习的结合、LSTM等算法所需要的数据集来源于矿井传感器测量的粉尘浓度,通过建立回归模型来预测未来矿井的粉尘浓度。传统机器学习算法性能易受数据中极端值的影响。YOLO等计算机视觉算法所需要的数据集来源于…...
【Go】3、Go语言进阶与依赖管理
前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课,做自我学习总结整理。 Go语言并发编程 Go语言原生支持并发编程,它的核心机制是 Goroutine 协程、Channel 通道,并基于CSP(Communicating Sequential Processes࿰…...
【Java_EE】Spring MVC
目录 Spring Web MVC 编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 编辑参数重命名 RequestParam 编辑编辑传递集合 RequestParam 传递JSON数据 编辑RequestBody …...
【C语言练习】080. 使用C语言实现简单的数据库操作
080. 使用C语言实现简单的数据库操作 080. 使用C语言实现简单的数据库操作使用原生APIODBC接口第三方库ORM框架文件模拟1. 安装SQLite2. 示例代码:使用SQLite创建数据库、表和插入数据3. 编译和运行4. 示例运行输出:5. 注意事项6. 总结080. 使用C语言实现简单的数据库操作 在…...
嵌入式学习笔记DAY33(网络编程——TCP)
一、网络架构 C/S (client/server 客户端/服务器):由客户端和服务器端两个部分组成。客户端通常是用户使用的应用程序,负责提供用户界面和交互逻辑 ,接收用户输入,向服务器发送请求,并展示服务…...
