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

news2024/10/7 14:33:46

🏡作者主页:点击! 

🌐网络通信基础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模型了

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

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

相关文章

基于jeecgboot-vue3的Flowable流程-已办任务(一)

因为这个项目license问题无法开源,更多技术支持与服务请加入我的知识星球。 1、api接口部分 import { defHttp } from //utils/http/axios;enum Api {flowRecord /flowable/task/flowRecord,finishedListNew /flowable/task/finishedListNew,revokeProcess /flo…

LeetCode---二叉树

144/94/145. 二叉树的前、中、后序的递归遍历 以中序遍历为例,其余类似: 给定一个二叉树的根节点 root ,返回 它的 中序 遍历 。 代码示例: /*** Definition for a binary tree node.* struct TreeNode {* int val;* Tr…

Hive的常规操作

Hive常规操作 hive常用交互命令 -e执行sql语句 [rootmaster ~]# hive -e "show databases";-f执行sql脚本 [rootmaster ~]# hive -f /usr/local/demo.sql查看hive中输入的所有命令 [rootmaster ~]# cat ~/.hivehistory操作库 创建库 语法: create…

kafka-集群-主题创建

文章目录 1、集群主题创建1.1、查看 efak1.2、创建 主题 my_topic1 并建立6个分区并给每个分区建立3个副本1.2.1、查看 my_topic1 的详细信息 1.3、停止 kafka-01实例,端口号为 9095 1、集群主题创建 1.1、查看 efak 已经有三个kafka实例 1.2、创建 主题 my_topic1…

数据分析中的统计学基础及Python具体实现【数据分析】

各位大佬好 ,这里是阿川的博客,祝您变得更强 个人主页:在线OJ的阿川 大佬的支持和鼓励,将是我成长路上最大的动力 阿川水平有限,如有错误,欢迎大佬指正 Python 初阶 Python–语言基础与由来介绍 Python–…

Java项目如何外发告警日志到企业微信

前言 最近领导交代了一个需求,就是有些许客户不单单满足平台告警日志外发到邮箱、短信的形式,还要以消息聊天的形式外发给企业微信。 具体操作 1、注册企业微信。 2、登录企业微信,找到应用管理,创建应用。 3、创建完之后需要记录以下图片中两个值的信息。 4、然后记录下…

什么是MES系统?有什么作用?

MES系统解决方案是专门针对制造企业设计,在MES系统的应用下,实现专业的工厂、车间生产信息化管理方案,帮助制造企业提高生产效率。针对目前制造行业的生产管理状况,以及提升企业生产效率和企业竞争力的需求,实施MES系统…

SpringCloud Hystrix服务熔断实例总结

SpringCloud Hystrix断路器-服务熔断与降级和HystrixDashboard SpringCloud Hystrix服务降级实例总结 本文采用版本为Hoxton.SR1系列&#xff0c;SpringBoot为2.2.2.RELEASE <dependency><groupId>org.springframework.cloud</groupId><artifactId>s…

Java Web学习笔记14——BOM对象

BOM&#xff1a; 概念&#xff1a;浏览器对象模型&#xff08;Browser Object Model&#xff09;&#xff0c;允许JavaScript与浏览器对话&#xff0c;JavaScript将浏览器的各个组成部分封装为对象。 组成&#xff1a; Window&#xff1a;浏览器窗口对象 介绍&#xff1a;浏览…

Android Graphics 显示系统 - Android Jank detection with FrameTimeline

“ 最近有公司同事在处理UI卡顿及FPS自动化监测的问题&#xff0c;我也顺便看了一点相关的内容&#xff0c;其中在Perfetto的官方说明文档中有一篇关于利用FrameTimeLine进行Jank监测的解读&#xff0c;个人觉得蛮有意思的&#xff0c;借助工具翻译该篇文章并加上本人拙劣的解读…

Java 数据库连接(JDBC)的使用,包括连接数据库、执行SQL语句等

一、简介 Java Database Connectivity&#xff08;JDBC&#xff09;是Java应用程序与关系数据库进行交互的一种API。它提供了一组用于访问和操作数据库的标准接口&#xff0c;使开发人员能够使用Java代码执行数据库操作&#xff0c;如查询、插入、更新和删除等。 二、JDBC架构…

红酒保存中的软木塞与瓶身保护

云仓酒庄雷盛红酒&#xff0c;以其卓着的品质和精美的包装赢得了众多消费者的喜爱。在红酒的保存过程中&#xff0c;软木塞与瓶身保护是至关重要的环节。本文将深入探讨这两方面的问题&#xff0c;以帮助消费者更好地理解和欣赏云仓酒庄雷盛红酒。 首先&#xff0c;我们来谈谈软…

关于调用百度AI开放平台短文本在线合成API接口 Open api characters limit reached 问题

官方示例代码中心&#xff1a; https://console.bce.baidu.com/support/?_1668482508529#/api?productAI&project语音技术&parent语音合成&apitext2audio&methodpost 一、调试时&#xff0c;若提示 16: Open api characters limit reached&#xff08;{"…

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

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

Python 短文本匹配,短文本语义相似度,基于大模型的短文本匹配,基于LLMs的短文本语义相似度识别,短文本语义扩充和匹配

1.任务描述 之前在做疾病相似度匹配的时候&#xff0c;堪称史诗级难题&#xff0c;虽然最后加上规则以及一些nlp模型&#xff0c;取得了差强人意的效果&#xff0c;但是短文本的语义相似度匹配一直属于比较难以攻克的难题 2.思路 随着近年大模型的飞速发展&#xff0c;就之前…

七天进阶elasticsearch[two]

批量保存 批量保存是通过_bulk API来实现的 请求方式 post 请求地址 _bulk 通过_bulk操作文档,一般至少有两行参数 第一行用于确定要干什么(插入,修改还是删除) 第二行才是操作的数据; 当然以上是标准操作,也可以不遵循标准操作,使用不同的请求方式来完成 批量保存demo…

基于 MediaPipe 的 2D 和 3D 的人体姿态追踪:Rerun 展示

点击下方卡片&#xff0c;关注“小白玩转Python”公众号 概述 我们探讨一个使用 MediaPipe 在 2D 和 3D 中追踪人体姿态的用例。使这次探索更加有趣的是通过开源可视化工具 Rerun 提供的可视化功能&#xff0c;可以全方位展示人体姿态的动态。在这篇博文中&#xff0c;您将学习…

知识图谱的应用---智慧政务

文章目录 智慧政务典型应用 智慧政务 智慧政务即通过“互联网政务服务”构建智慧型政府&#xff0c;利用云计算、移动物联网、人工智能、数据挖掘、知识管理等技术&#xff0c;提高政府在办公、监管、服务、决策中的智能水平&#xff0c;形成高效、敏捷、公开、便民的新型政府&…

静态IP地址:多元化场景下的稳定连接解决方案

当考虑静态IP地址的适用场景时&#xff0c;我们可以从以下几个板块进行细分和归纳&#xff1a; 一、服务器托管与网络服务 1. 服务器托管 稳定性&#xff1a;静态IP确保服务器能够持续、稳定地接入互联网&#xff0c;减少因IP地址更新带来的服务中断风险。 可访问性&am…

java:reactor的Mono和Reactor的简单例子

【pom.xml】 <dependency><groupId>io.projectreactor</groupId><artifactId>reactor-core</artifactId><version>3.3.17.RELEASE</version> </dependency>【MyReactorTest2.java】 package com.chz.myReactor;import react…