OSI网络通信模型详解

OSI 模型就是把这整个过程拆解成了 7 个明确分工的步骤,每一层只负责自己那一摊事儿,这样整个系统才能顺畅运转,出了问题也容易找到“锅”在谁那。

核心比喻:寄快递 📦

想象你要把一份重要的礼物(你的数据)寄给远方的朋友(另一台电脑)。


🚚 第 1 层:物理层 - 修路和开车

  • 人话: 负责把电脑连起来的“物理道路”和“跑在上面的车”。就是网线、光纤、无线电波(WiFi)、网卡这些看得见摸得着的东西。

  • 职责: 把电脑里的 0 和 1 转换成物理信号(比如电脉冲、光信号、无线电波)在“路”上跑,或者把接收到的物理信号转换回 0 和 1。

  • 寄快递比喻: 修公路、造卡车、规定卡车能跑多快、用什么燃料。它只管“车”能不能在“路”上跑起来,不管车上装的是什么货,也不管货要送到哪个城市。

  • 关键词: 网线、光纤、集线器、中继器、信号、比特流。

📬 第 2 层:数据链路层 - 同城快递站

  • 人话: 负责在同一个小区或街道里(同一个局域网内)准确地把包裹送到邻居家。解决“怎么找到隔壁老王”的问题。

  • 职责:

    • 把物理层传来的 0/1 信号打包成一个个小包裹(叫“帧”)。

    • 给每个小包裹写上 源地址 和 目标地址(这个地址叫 MAC 地址,是网卡身份证,全球唯一)。

    • 检查包裹在传输过程中有没有损坏(比如被干扰了)。

    • 协调同一“小区”里多台电脑谁先发包裹,避免堵车(冲突)。

  • 寄快递比喻: 你们小区的快递站。他们认识小区里每家每户的门牌号(MAC地址)。负责把寄给你的包裹准确送到你家门口,检查包裹在小区运输途中有没有破损。也负责协调小区里多个快递员送件不撞车。

  • 关键词: MAC地址、交换机、网桥、帧。

🗺 第 3 层:网络层 - 跨城市物流中心

  • 人话: 负责把包裹从你的城市送到朋友的城市。解决“走哪条路最快最便宜”的问题。

  • 职责:

    • 给你的大包裹(数据包)写上 源IP地址 (你的电脑地址) 和 目标IP地址 (你朋友的电脑地址)。

    • 规划从你的城市到你朋友城市的最佳路线(路由选择)。包裹在路上可能会经过很多中转站(路由器)。

    • 如果包裹太大,物流中心会把它拆成几个小包裹;朋友那边的物流中心会再把它拼起来。

  • 寄快递比喻: 大型物流转运中心(比如顺丰分拨中心)。它只关心包裹的 出发城市(源IP) 和 目的城市(目的IP)。它决定包裹是走空运还是陆运,走哪条高速公路最快最不堵(路由)。它负责把大箱子拆成小箱子装车,到了目的地再拼回来。

  • 关键词: IP地址、路由器、数据包、路由。

✈ 第 4 层:传输层 - 快递公司客服与运输方式

  • 人话: 负责端到端的可靠或快速送达。解决“包裹怎么送”和“丢了怎么办”的问题。

  • 职责:

    • 选择运输方式:

      • TCP (可靠挂号信): 保证包裹一定送到、按顺序送到、没损坏。速度稍慢,适合重要文件(如网页、邮件)。会先打电话确认朋友在家(建立连接),包裹送到要签收确认,丢了会重发。

      • UDP (普通明信片): 不保证一定送到、按顺序送到、没损坏。速度超快,适合实时性要求高的(如直播、语音通话)。直接扔进邮筒,爱到不到。

    • 管理数据流,避免发送方发太快把接收方淹没。

  • 寄快递比喻: 你选择快递公司(顺丰-可靠/TCP vs 邮政平邮-快速但可能丢/UDP)。顺丰客服(TCP)会确保包裹安全无误送达,有确认机制。邮政平邮(UDP)便宜快速,但可能丢失或顺序错乱。

  • 关键词: TCP、UDP、端口号(区分电脑上的不同应用,比如微信用8080端口收消息,浏览器用80端口看网页)、段。

📞 第 5 层:会话层 - 打电话约定取送时间

  • 人话: 负责建立、管理和终止两个应用程序之间的“对话”。解决“我们现在开始聊,聊完拜拜”的问题。

  • 职责:

    • 建立连接:就像打电话,先拨通(建立会话)。

    • 维持连接:保持通话畅通。

    • 有序对话:确保你说一句,对方听到一句,按顺序来(同步)。

    • 结束连接:聊完了,挂电话(终止会话)。

  • 寄快递比喻: 你和朋友打电话约定:“我现在要开始给你寄礼物了哦!”(建立会话),中间保持联系沟通进展(维持会话),最后说“礼物都寄完啦!”(终止会话)。确保整个“寄礼物”这件事有始有终。

  • 关键词: 会话、建立、维持、终止、同步点。(这层在现代协议如TCP/IP中功能常被合并到传输层或应用层,概念上独立但实现上不那么明显)

📝 第 6 层:表示层 - 礼物翻译和包装

  • 人话: 负责数据的“翻译”和“化妆”。解决“你朋友看不懂你的方言或礼物包装风格”的问题。

  • 职责:

    • 翻译: 把数据转换成对方能理解的格式。比如你的电脑图片是JPEG格式,朋友电脑只认识PNG,这层负责转换。

    • 加密/解密: 给礼物加个密码锁(加密),只有你朋友有钥匙能打开(解密)。

    • 压缩/解压缩: 把礼物体积压缩小一点,方便运输,到了目的地再拆开。

  • 寄快递比喻: 礼物包装店。负责把礼物(数据)包装成符合目的地风俗的样子(格式转换),或者给礼物盒加把锁(加密),或者把大毛绒玩具抽真空压缩(压缩)。

  • 关键词: 加密、解密、压缩、解压缩、格式转换(JPEG, MPEG, ASCII等)。

🎯 第 7 层:应用层 - 你和你朋友

  • 人话: 这是你直接打交道的那一层!代表具体的网络应用和服务。解决“你想干嘛”的问题。

  • 职责: 提供用户接口和网络服务。

    • 你用的软件:浏览器(访问网站)、微信(聊天)、邮箱软件(发邮件)、QQ音乐(听歌)。

    • 这些软件利用下面6层提供的服务来完成你的指令。

  • 寄快递比喻: 你(发送方) 和 你朋友(接收方)。你想寄礼物(使用应用),你朋友想收礼物(使用应用)。你们决定了要寄什么(数据内容),但不关心包裹是怎么经过层层转运送到的(下面6层的细节)。

  • 关键词: HTTP (网页)、SMTP/POP3 (邮件)、FTP (文件传输)、DNS (域名解析)、Telnet、微信、浏览器、各种APP。


🌟 总结一下 OSI 七层模型的核心思想

  1. 分层: 把复杂的网络通信拆成7个独立、分工明确的步骤。

  2. 各司其职: 每一层只干自己该干的活,不用操心其他层的事(层与层之间有清晰的接口)。

  3. 下层服务上层: 下面的层(比如物理层)为紧挨着的上层(数据链路层)提供服务。数据链路层又为网络层服务,以此类推。

  4. 封装与解封装: 发送数据时,数据从应用层开始,从上往下走,每经过一层,该层就给它加一个“包装盒”(头部信息,可能还有尾部)。接收数据时,数据从下往上走,每经过一层,就拆掉对应层的“包装盒”,最终还原出原始数据给应用层。

  5. 便于理解和排错: 哪一层出了问题,就去找哪一层的原因,不用大海捞针。也方便不同厂商只专注于某一层的设备开发(比如做交换机的专注链路层,做路由器的专注网络层)。

📌 重要提示

  • 理论模型: OSI 模型是一个理论框架参考模型,用于理解和设计网络协议。实际的网络协议栈(如统治互联网的 TCP/IP 协议栈)并不是严格对应这7层,通常被简化为4层或5层(把OSI的应用层、表示层、会话层合并为一层应用层)。但理解OSI七层模型对深刻理解网络原理至关重要。

  • 为什么学它? 即使实际协议不完全对应,OSI模型提供了最清晰、最系统的视角来理解网络通信中不同环节的作用和相互关系。无论是学习网络、配置设备还是排查故障,这个分层思想都是基石。

现在再看网络通信,是不是感觉清晰多了?就像拆解一个精密的快递流程! 😄

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

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

相关文章

C++ 检测文件大小和文件传输

检测文件的大小 你可以通过标准 C/C 的文件 API 很方便地获取文件的字节大小&#xff0c;以下是几种常用方法&#xff1a; ✅ 方法一&#xff1a;使用 stat() 函数&#xff08;推荐&#xff09; #include <sys/stat.h> #include <stdio.h>off_t get_file_size(co…

Ubuntu 中修改网卡 IP

在 Ubuntu 中修改网卡 IP 地址可以通过以下方法实现&#xff0c;具体取决于你使用的网络管理工具&#xff08;如 netplan、ifconfig/ip 命令或传统 interfaces 文件&#xff09;。以下是常见方法&#xff1a; 方法 1&#xff1a;使用 netplan&#xff08;Ubuntu 17.10 及更新版…

记录学习three.js 为什么 .glTF 是更适合 Web 的 3D 模型格式?——从 .OBJ 到 .glTF 的转变⑭

在上一篇中&#xff0c;我们介绍了如何在 Three.js 中加载 .OBJ 模型。如果你没看过&#xff0c;建议先阅读一下基础内容。然而你很快会发现&#xff0c;.OBJ 虽然入门简单&#xff0c;却并不是 Web3D 场景中的最佳格式。 .OBJ 是什么&#xff1f; .OBJ 是最早期的3D交换格式之…

H递归函数.go

前言&#xff1a;递归函数是一种强大而又充满魅力的编程技巧。它就像是一面神奇的镜子&#xff0c;函数在其中能够调用自身的倒影&#xff0c;从而以一种简洁而优雅的方式解决许多复杂的问题。 目录 一、递归函数是啥玩意儿 二、递归函数的优缺点 优点 缺点 三、递归函数…

软件功能测试的测试标准

一、软件功能测试行业标准概述 软件功能测试行业标准是规范软件测试流程、方法、工具及人员资质的准则&#xff0c;是确保软件产品的功能性、可靠性、易用性等质量特性符合用户需求。这些标准不仅为测试人员提供了明确的指导&#xff0c;也为软件产品的质量控制提供了有力保障。…

EchoEar(喵伴):乐鑫发布与火山引擎扣子联名 AI 智能体开发板

随着生成式人工智能技术的快速发展&#xff0c;大语言模型 (LLM) 正逐步成为推动智能设备升级的核心力量。乐鑫科技携手火山引擎扣子大模型团队&#xff0c;共同推出智能 AI 开发套件 —— EchoEar&#xff08;喵伴&#xff09;。该套件以端到端开发为核心理念&#xff0c;构建…

图像特征检测算法SIFT

SIFT&#xff08;Scale - Invariant Feature Transform&#xff0c;尺度不变特征变换&#xff09;是一种计算机视觉领域的特征提取算法&#xff0c;具有重要的地位和广泛的应用。 算法原理 构建高斯金字塔 &#xff1a; 为了实现多尺度检测&#xff0c;SIFT 算法会构建高斯金…

光纤通道收发器:市场洞察、技术演进与未来机遇

一、引言 在数字化浪潮席卷全球的当下&#xff0c;数据存储与传输的需求呈爆发式增长。光纤通道收发器作为高速、可靠数据存储网络&#xff08;如存储区域网络 SAN&#xff09;中的关键组件&#xff0c;发挥着至关重要的作用。它通过光纤实现服务器、存储设备和交换机之间的数…

candence17.4如何设置两个焊盘之间在TOP与BOTTOM可以存在两根线

为什么要走两根线&#xff1f; 为了过大电流&#xff0c;有时候就需要我们在TOP、BOTTOM两个面走线&#xff0c;同时开窗&#xff0c;然后通过加锡的方式增加过流能力&#xff1b; 当然由于两面都有导线&#xff0c;必然会存在过孔&#xff0c;而过孔的过流能力不仅与过孔孔径…

Dify:参数调节,让LLM从能用到好用的机制

前言 随着大语言模型(LLM)在文本生成、智能对话、技术问答等前沿领域的深度渗透&#xff0c;参数精细化调节已成为开发者驾驭 AI 能力的核心必修课。 本文将系统的解释温度(Temperature)、核采样(Top - P)、截断采样(Top - K)等关键参数的底层作用机制&#xff0c;结合多种场景…

防抖不同的实现

防抖&#xff08;Debounce&#xff09;&#xff1a;在事件被触发后&#xff0c;延迟一段时间再执行函数。如果在延迟期间事件再次被触发&#xff0c;则重新计时。常用于搜索框输入、窗口大小调整等场景。 1.不安装任何依赖和库&#xff0c;编写一个防抖的函数 在utils里面增加…

MySQL 数据库索引详解

一、索引是什么&#xff1f;能干嘛&#xff1f; 类比理解&#xff1a;索引就像书的目录。比如你想查《哈利波特》中 “伏地魔” 出现的页数&#xff0c;不用逐页翻书&#xff0c;直接看目录找关键词就行。数据库里的索引就是帮你快速找到数据的 “目录”。 核心作用&#xff…

【620公司工作记录】

已有数据汇总 好的,完全同意。在编写新代码之前,清晰地盘点我们手中已有的“弹药”是至关重要的一步。 根据您提供的 test/20250610_88_100mm_frame_000.csv 文件头,我来为您完整地解析一下我们当前拥有的全部数据字段。我们的数据是以“行”为单位组织的,每一行都代表一…

SpringBoot 集成Caffeine实现一级缓存

SpeingBoot 集成Caffeine实现一级缓存使我们经常遇到的场景。今天我们具体分享一下&#xff1a; 首先 Caffeine 作为一级缓存&#xff0c;它是 Spring 5.x 默认的本地缓存实现&#xff0c;性能优于 Guava Cache&#xff0c;且支持过期时间设置。缓存执行的流程图如下&#xff…

中科米堆3D自动扫描检测系统三维数字化智能解决方案

3D自动扫描检测系统基于先进的光学、激光或结构光等测量技术&#xff0c;能够快速、准确地获取工件的三维几何数据。在检测过程中&#xff0c;系统通过向被测工件投射特定的光模式&#xff0c;利用高分辨率相机捕捉工件表面的反射光信息&#xff0c;再经过复杂的算法处理&#…

Unity3d中使用Mirror进行自定义消息通信

一、服务端&#xff1a; 1.创建服务端脚本MyServer.cs 继承自NetworkManager类 using Mirror; using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI;public class MyServer : NetworkManager {[Header(&quo…

Odoo 18 固定资产管理自动化指南

如何在Odoo 18中实现资产管理自动化 1. 创建资产模型实现资产管理自动化 使用 Odoo 18 的会计模块&#xff0c;资产的创建和确认可轻松实现自动化。这将使资产管理变得更加简单高效。使用资产自动化功能&#xff0c;一旦验证相关产品的供应商账单&#xff0c;Odoo将自动生成并…

如何轻松地将音乐从 iPhone 传输到 Mac?

想把音乐从 iPhone 传输到 Mac 吗&#xff1f;这很常见&#xff0c;无论你是想更换设备、备份收藏&#xff0c;还是只想在更大的屏幕上欣赏喜爱的歌曲。幸运的是&#xff0c;有 6 种有效的方法可以完成这项工作&#xff0c;具体取决于你喜欢使用的工具。让我们开始吧。 第 1 部…

人工智能——解读AI智慧课堂系统解决方案【附全文阅读】

该文档是 AI 智慧课堂系统解决方案,聚焦教育信息化需求,通过 AI 技术与教学深度融合,解决传统课堂考勤效率低、资源管理难、分析不精准等问题。 方案以课堂为核心,构建 “背景分析 - 方案设计 - 优势价值” 框架,技术架构涵盖教师摄像机、学生抓拍机、智能录播主机等设备,…

使用Nginx的RTMP模块进行直播流转HLS时,处理和预防`.ts`文件过多

当使用Nginx的RTMP模块进行直播流转HLS时,如果长时间运行或处理大量流媒体内容,可能会遇到.ts文件累积过多的问题。这不仅会占用大量的磁盘空间,还可能影响系统性能。以下是一些处理和预防.ts文件过多的方法: 1. 配置HLS清理 Nginx RTMP模块允许配置HLS片段的过期时间,这…