当前位置: 首页 > news >正文

[网络基础]——计算机网络(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.层间关系:

上层依赖下层提供的服务,下层向上层提供接口。
上层只能访问直接下层的接口,不能越层访问。
每一层内部实现细节对上层是透明的。

优点

种垂直分层的架构设计提供了以下优点:

  1. 模块化和灵活性:各层功能独立,可以独立设计、实现和修改。
  2. 标准化和可扩展性:各层使用标准化接口,便于系统扩展和新技术的集成。
  3. 隔离性和可移植性:上层无需关心下层实现细节,增强了系统的可移植性。
  4. 层间协作和可维护性:各层之间通过标准接口进行有序协作,提高系统的可维护性。

⏬️OSI七层模型

基本概念

  1. 物理层(Physical Layer)

    • 功能:传输原始的比特流,定义硬件设备与介质的接口和信号特性。
    • 典型设备:集线器、网线、光纤、无线电波设备。
  2. 数据链路层(Data Link Layer)

    • 功能负责节点间的数据传输,提供错误检测和纠正,以及流量控制。
    • 典型设备:交换机、网卡、桥接器。
    • 子层:逻辑链路控制(LLC)和介质访问控制(MAC)。
  3. 网络层(Network Layer)

    • 功能处理数据包的路由选择和转发,负责逻辑地址寻址。
    • 典型设备:路由器。
    • 协议:IP(互联网协议)。
  4. 传输层(Transport Layer)

    • 功能提供端到端的通信,确保数据传输的完整性和可靠性。
    • 协议TCP(传输控制协议)、UDP(用户数据报协议)
  5. 会话层(Session Layer)

    • 功能:管理和控制应用程序之间的会话,处理会话建立、维护和终止。
    • 服务:会话管理、对话控制。
  6. 表示层(Presentation Layer)

    • 功能数据表示形式的转换,包括加密、解密和压缩,确保不同系统之间数据的互操作性。
    • 服务:数据翻译、加密/解密、压缩。
  7. 应用层(Application Layer)

    • 功能:为应用程序提供网络服务和接口,直接与用户进行交互
    • 协议:HTTP(超文本传输协议)、FTP(文件传输协议)、SMTP(简单邮件传输协议)、DNS(域名系统)。

优点
  1. 标准化通信协议:使得不同厂商的设备能够互操作,促进了网络技术的发展。
  2. 模块化设计:每一层独立运行,可以单独设计和升级,不影响其他层。
  3. 简化故障排除:通过分层模型,网络故障可以被快速定位和解决。

🔅每层的作用

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位的十六进制数字&#xff0…...

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中&#xff0c;el-cascader&#xff08;级联选择器&#xff09;组件用于从嵌套的数据中进行选择。以下是对这两个版本下el-cascader组件的属性、事件和方法的详细介绍&#xff0c;并附带示例。 Vue 2的Element UI el-cascader 属性…...

pottery,一个超酷的 Python 库!

更多Python学习内容&#xff1a;ipengtao.com 大家好&#xff0c;今天为大家分享一个超酷的 Python 库 - pottery。 Github地址&#xff1a;https://github.com/brainix/pottery 在分布式系统和高并发环境中&#xff0c;Redis 作为一种高性能的键值存储数据库&#xff0c;被广泛…...

【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 浅析及配置示例(头端复制)

一、概念&#xff1a; VxLAN&#xff1a;Visual eXtensible Local Area Network 虚拟扩展本地局域网&#xff0c;一种隧道技术&#xff0c;能在三层网络的基础上建立二层以太网网络隧道&#xff0c;从而实现跨地域的二层互连&#xff0c;VxLAN端口&#xff1a;4789EVPN&#x…...

2023年与2024年AI代理基础设施的演进:六大关键变化

随着人工智能技术的不断进步,AI代理基础设施在2023年和2024年之间经历了显著的发展和变革。本文将探讨这两年间AI代理基础设施的六大关键变化,展示如何为开发者和用户提供更加强大和集成化的解决方案。 1. 代理特定开发工具的兴起 2024年见证了专为AI代理设计的新一代开发工…...

实验三-8086指令的应用《计算机组成原理》

一、实验目的 掌握8086指令的应用 二、实验原理 三、实验仪器 计算机1台&#xff0c;emu8086软件。 四、实验步骤 1、建立00H&#xff5e;0FH&#xff5e;00H 31个数&#xff0c;00H&#xff5e;0FH数据逐渐增大,0FH&#xff5e;00H逐渐减小&#xff0c;即DI指针所表示的地…...

《维汉翻译通》App全新升级:维吾尔语短文本翻译、汉语拼音标注、维语词典、谚语格言名句等功能统统免费!还支持维吾尔文OCR识别提取文字!

2024年《维汉翻译通》App迎来重大更新&#xff01;这次升级不仅带来了全新的功能&#xff0c;还为所有用户提供了更加便捷的服务体验。以下是我们新版本的主要亮点&#xff1a; 维语短文本翻译免费啦&#xff01; 我们深知语言是沟通的桥梁&#xff0c;为了让更多人能够跨越语…...

全年申报!2024年陕西省双软企业认定条件标准、申报好处费用

1.双软企业是什么? 答:双软认证并不是一个资质,而是"软件产品登记"和"软件企业认定"两个不同资质的统称.叫做"双软企业" 2.双软企业的优惠政策是什么? 答:(1)软件产品登记的优惠政策:软件产品增值税,从13%减按3%征收,实行即征即退; (2)软件…...

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑&#xff1a;陈萍萍的公主一点人工一点智能 未来机器人的大脑&#xff1a;如何用神经网络模拟器实现更智能的决策&#xff1f;RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战&#xff0c;在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…...

零门槛NAS搭建:WinNAS如何让普通电脑秒变私有云?

一、核心优势&#xff1a;专为Windows用户设计的极简NAS WinNAS由深圳耘想存储科技开发&#xff0c;是一款收费低廉但功能全面的Windows NAS工具&#xff0c;主打“无学习成本部署” 。与其他NAS软件相比&#xff0c;其优势在于&#xff1a; 无需硬件改造&#xff1a;将任意W…...

SkyWalking 10.2.0 SWCK 配置过程

SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外&#xff0c;K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案&#xff0c;全安装在K8S群集中。 具体可参…...

【WiFi帧结构】

文章目录 帧结构MAC头部管理帧 帧结构 Wi-Fi的帧分为三部分组成&#xff1a;MAC头部frame bodyFCS&#xff0c;其中MAC是固定格式的&#xff0c;frame body是可变长度。 MAC头部有frame control&#xff0c;duration&#xff0c;address1&#xff0c;address2&#xff0c;addre…...

蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练

前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1)&#xff1a;从基础到实战的深度解析-CSDN博客&#xff0c;但实际面试中&#xff0c;企业更关注候选人对复杂场景的应对能力&#xff08;如多设备并发扫描、低功耗与高发现率的平衡&#xff09;和前沿技术的…...

2021-03-15 iview一些问题

1.iview 在使用tree组件时&#xff0c;发现没有set类的方法&#xff0c;只有get&#xff0c;那么要改变tree值&#xff0c;只能遍历treeData&#xff0c;递归修改treeData的checked&#xff0c;发现无法更改&#xff0c;原因在于check模式下&#xff0c;子元素的勾选状态跟父节…...

代理篇12|深入理解 Vite中的Proxy接口代理配置

在前端开发中,常常会遇到 跨域请求接口 的情况。为了解决这个问题,Vite 和 Webpack 都提供了 proxy 代理功能,用于将本地开发请求转发到后端服务器。 什么是代理(proxy)? 代理是在开发过程中,前端项目通过开发服务器,将指定的请求“转发”到真实的后端服务器,从而绕…...

A2A JS SDK 完整教程:快速入门指南

目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库&#xff…...

Linux nano命令的基本使用

参考资料 GNU nanoを使いこなすnano基础 目录 一. 简介二. 文件打开2.1 普通方式打开文件2.2 只读方式打开文件 三. 文件查看3.1 打开文件时&#xff0c;显示行号3.2 翻页查看 四. 文件编辑4.1 Ctrl K 复制 和 Ctrl U 粘贴4.2 Alt/Esc U 撤回 五. 文件保存与退出5.1 Ctrl …...

第7篇:中间件全链路监控与 SQL 性能分析实践

7.1 章节导读 在构建数据库中间件的过程中&#xff0c;可观测性 和 性能分析 是保障系统稳定性与可维护性的核心能力。 特别是在复杂分布式场景中&#xff0c;必须做到&#xff1a; &#x1f50d; 追踪每一条 SQL 的生命周期&#xff08;从入口到数据库执行&#xff09;&#…...