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

计算机网络之---OSI七层模型

为什么会有七层模型

OSI七层模型的出现源于计算机网络技术的发展需求,主要解决以下几个问题:

  1. 标准化与互操作性
    随着计算机网络的快速发展,不同厂商、不同技术之间的设备和系统需要能够无缝通信。而不同厂商在网络硬件、软件、协议等方面存在差异,导致不同系统之间的互操作性问题。OSI七层模型提供了一个统一的框架,确保不同设备和系统可以按照标准化的方式进行通信和互操作。

  2. 简化网络设计与管理
    在没有明确分层的情况下,网络协议和技术的发展会变得越来越复杂。将网络通信过程分为不同的层次,每一层独立负责特定的任务,简化了设计和开发过程。每一层的功能都可以独立发展和更新,互不干扰,提高了灵活性和可维护性。

  3. 层次化的故障排除与问题定位
    分层的模型使得网络故障排除变得更加清晰和系统化。在网络发生问题时,可以通过逐层排查,确定是物理层、传输层、应用层等哪一层出现问题,从而快速定位并解决问题。

  4. 促进技术和协议的独立发展
    OSI七层模型允许不同层次的技术和协议独立发展和演化。例如,物理层可以根据不同的物理介质(如光纤、铜线、无线等)设计,而不需要影响上层的协议。传输层可以独立设计,如TCP和UDP的区别。这样的分层设计提高了协议的灵活性和可扩展性。

  5. 提高网络通信的兼容性
    OSI模型让不同网络协议和技术能够通过标准化接口和方法互相兼容。例如,基于不同协议的应用程序能够通过标准接口与网络通信,应用层协议(如HTTP)与传输层协议(如TCP)可以通过标准化的方式进行交互,而无需关心底层实现细节。

七层模型都是什么

1. 物理层(Physical Layer)

物理层负责数据在物理介质上的传输。它定义了设备之间的电气、机械、流程和功能特性。其主要任务是将比特流(0和1)从发送端传输到接收端。

主要内容:
  • 电气特性:例如电压、电流、信号的频率等。
  • 物理介质:如双绞线、光纤、电缆、无线电波等。
  • 连接器和接口:如RJ-45接口、USB接口、光纤接口等。
  • 传输速率:数据传输的速率,例如100Mbps、1Gbps等。
协议与标准:
  • Ethernet(以太网)
  • IEEE 802.3
  • Wi-Fi(无线局域网)

2. 数据链路层(Data Link Layer)

数据链路层负责将物理层传输过来的原始比特流打包成数据帧,并通过链路的可靠传输来确保数据正确传递。它还负责错误检测和纠正、帧同步、流量控制等。

主要内容:
  • 帧的构建与解构:将数据包封装成帧,包含源地址、目的地址、校验信息等。
  • 错误检测与纠正:例如通过校验和(CRC)检测和纠正传输中的错误。
  • 访问控制:确保多个设备在共享媒介上能够有序地发送数据,例如Ethernet中的CSMA/CD(载波侦听多路访问/碰撞检测)。
协议与标准:
  • Ethernet(以太网)
  • PPP(点对点协议)
  • HDLC(高级数据链路控制)
  • ATM(异步传输模式)

3. 网络层(Network Layer)

网络层负责在不同网络之间进行数据包转发,提供逻辑地址(如IP地址)与路由功能。它确保数据能够从源设备传输到目标设备,可能经过多个中转节点(如路由器)。

主要内容:
  • 路由选择:选择数据传输的最佳路径,使用路由算法进行路径选择。
  • IP地址分配与寻址:每个设备需要一个唯一的IP地址,网络层通过IP地址来识别和定位设备。
  • 数据包分段与重组:如果数据包过大,网络层会进行分段,接收端则会进行重组。
协议与标准:
  • IP(互联网协议)
  • ICMP(Internet Control Message Protocol)
  • ARP(Address Resolution Protocol)
  • RIP、OSPF、BGP(路由协议)

4. 传输层(Transport Layer)

传输层负责提供端到端的通信,确保数据的可靠传输。它处理数据的流量控制、错误检测与重传等问题,确保应用层的数据完整性和顺序。

主要内容:
  • 端到端的通信:从源设备到目标设备的通信,确保两个应用程序之间的数据交换可靠、顺序。
  • 流量控制:控制数据的传输速率,避免网络拥堵。
  • 错误检测与纠正:通过校验和等技术确保数据的完整性。
  • 连接管理:如连接的建立、维护和断开。
协议与标准:
  • TCP(Transmission Control Protocol):面向连接、可靠的数据传输协议。
  • UDP(User Datagram Protocol):无连接、不可靠的传输协议,适用于实时应用。

5. 会话层(Session Layer)

会话层负责建立、管理和终止会话(通信会话)。它控制对话的开始、持续和结束。该层还负责数据的同步、恢复等功能。

主要内容:
  • 会话管理:如建立、管理和终止会话连接。
  • 对话控制:全双工、半双工或单工通信的控制。
  • 数据同步:确保数据交换的顺利进行,适时恢复会话中的断开部分。
协议与标准:
  • NetBIOS(网络基本输入输出系统)
  • RPC(远程过程调用)
  • SMB(服务器消息块)

6. 表示层(Presentation Layer)

表示层负责数据格式的转换和加密、解密。它确保应用层的数据以标准化的方式进行传输,处理不同计算机间数据表示的兼容问题。

主要内容:
  • 数据格式转换:如ASCII与EBCDIC之间的转换、图像格式转换(JPEG、PNG、GIF等)。
  • 数据压缩:减少数据传输的大小。
  • 加密与解密:提供数据加密和解密功能,以保障数据传输的安全性。
协议与标准:
  • SSL/TLS(安全套接字层/传输层安全协议)
  • JPEG、GIF、PNG(图像格式)
  • MPEG(视频格式)

7. 应用层(Application Layer)

应用层是OSI模型的最上层,负责为用户提供网络服务和应用程序接口。它直接与用户的应用程序交互,提供各种服务,如文件传输、电子邮件、网页浏览等。

主要内容:
  • 用户接口:应用程序与用户交互的界面。
  • 协议服务:提供特定应用所需的协议支持,如HTTP、FTP、SMTP等。
  • 数据处理与展示:将传输的数据处理成用户可理解的形式。
协议与标准:
  • HTTP(超文本传输协议)
  • FTP(文件传输协议)
  • SMTP(简单邮件传输协议)
  • DNS(域名系统)

相关文章:

计算机网络之---OSI七层模型

为什么会有七层模型 OSI七层模型的出现源于计算机网络技术的发展需求,主要解决以下几个问题: 标准化与互操作性 随着计算机网络的快速发展,不同厂商、不同技术之间的设备和系统需要能够无缝通信。而不同厂商在网络硬件、软件、协议等方面存在…...

mysql的mvcc理解

人阅读 一、说到mvcc就少不了事务隔离级别(大白话解释) 序列化(SERIALIZABLE):事务之间完全隔离,当成一个序列,一个一个执行。 1 可重复读(REPEATABLE READ)&#xff…...

leetcode 面试经典 150 题:两数之和

链接两数之和题序号1题型数组解题方法1. 哈希表,2. 暴力法难度简单熟练度✅✅✅✅✅ 题目 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输…...

nexus搭建maven私服

说到maven私服每个公司都有,比如我上一篇文章介绍的自定义日志starter,就可以上传到maven私服供大家使用,每次更新只需deploy一下就行,以下就是本人搭建私服的步骤 使用docker安装nexus #拉取镜像 docker pull sonatype/nexus3:…...

理解 Tomcat 架构

前言 Tomcat 是一个轻量级的 Web 容器,被广泛应用于 Java Web 开发中。通过它,我们可以轻松地部署和运行 Web 应用。在本文中,我们将深入分析 Tomcat 的核心架构,同时结合一段代码,手动实现一个简化的 Tomcat 服务&am…...

python3GUI--大屏可视化-传染病督导平台 By:PyQt5

文章目录 一.前言二.预览三.软件组成&开发心得1.样式&使用方法2.左侧表格实现3.设计4.学习5.体验效果 四.代码分享1.环形渐变进度组件2.自定义图片的背景组件 五.总结 大小:60.9 M,软件…...

如何选择适合的证件照制作软件,让您的照片制作更轻松

在当今数字化的时代,制作证件照不再需要专门前往照相馆。选择一款合适的证件照制作软件,您可以在家中轻松完成标准证件照的拍摄与制作。然而,面对市面上琳琅满目的软件,找到最适合您需求的软件并不简单。本文将为您详细介绍选择证…...

工作效率提升:使用Anaconda Prompt 创建虚拟环境总结

目录 完整顺序命令流程(直接照着改就行)详细步骤解析(想要详细解析的看过来)1. 创建一个用于存储 Conda 环境的目录(可选)2. 创建新的 Conda 虚拟环境并指定路径3. 激活新创建的环境4. 安装 Jupyter Notebo…...

Python自动化实战 —— 使用Selenium进行Web自动化

为了完成一项重复的任务,你需要在网站上进行大量的点击和操作,每次都要浪费大量的时间和精力。Python的Selenium库就可以自动化完成这些任务。 在本篇文章中,我们将会介绍如何使用Python的Selenium库进行Web自动化,以及如何将它应…...

【前端】【HTML】入门基础知识

参考视频&#xff1a;【狂神说Java】HTML5完整教学通俗易懂_哔哩哔哩_bilibili 一、基本结构 二、基本标签 <h1>&#xff1a;一级标题&#xff0c;通常用于页面的主标题&#xff0c;字体较大且醒目。 <h2>&#xff1a;二级标题&#xff0c;用于副标题或主要章节标…...

PHP获取局域网ip(192.168)

有时候&#xff0c;程序中&#xff0c;需要获取本机内网ip的情况&#xff0c;经过各种资料查找&#xff0c;最终确定一下代码&#xff1a; //获取内网ipfunction getLocalIP() {exec("ipconfig /all",$arr);$res mb_convert_encoding($arr, UTF-8, GBK);$ip ;fore…...

点击底部的 tabBar 属于 wx.switchTab 跳转方式,目标页面的 onLoad 不会触发(除非是第一次加载)

文章目录 1. tabBar 的跳转方式2. tabBar 跳转的特点3. 你的配置分析4. 生命周期触发情况5. 总结 很多人不明白什么是第一次加载&#xff0c;两种情况讨论&#xff0c;第一种情况假设我是开发者&#xff0c;第一次加载就是指点击微信开发者工具上边的编译按钮&#xff0c;每点击…...

基于PLC的酒店热水供应控制系统设计

摘 要 酒店的热水量需求比较大,热水加热消耗能源比较多,为了实现清洁能源加热实现热水供应,系统设计以太阳能作为主要能源来源,以电加热作为辅助能源来源进行系统的设计.通过集热器、储水箱、循环泵等设备组成酒店热水供水系统。通过控制温度传感器的信号&#xff0c;实现恒温…...

博客内所有项目均可在面包多平台进行购买

本人已入住面包多平台&#xff1a;我的 - 面包多 已有资料&#xff1a;...

《Mcal》--MCU模块

一、MCU模块的主要功能 控制系统时钟的产生。控制系统通用模块&#xff0c;该模块会涉及到Adc、Ftm等外设的配置。控制外设时钟。控制MCU运行的模式。初始化定义RAM Section。 比较重要的是时钟的配置。 二、系统时钟的配置 1、芯片时钟树 要想弄明白时钟配置&#xff0c;需…...

C语言:枚举类型

一、枚举类型的声明 枚举顾名思义就是一一列举。我们可以把可能的取值一一列举。比如我们现实生活中&#xff1a; 星期一到星期日是有限的7天&#xff0c;可以一一列举 &#xff1b;性别有&#xff1a;男、女、保密&#xff0c;也可以一一列举 &#xff1b;月份有12个月&#x…...

spring boot 多数据源集成mysql、postgresql、phoenix、doris等

如何搭建多数据源项目只要以下简单几步; 一. 创建核心在config.datasource文件夹里 二. 引入相对应的jar包 三. 创建数据库连接配置 四. 写逻辑代码进行验证 1.DataSource package com.irootech.config.datasource;import java.lang.annotation.*;Target({ElementType.MET…...

USB基础 -- USB 控制传输(Control Transfer)的重传机制

USB 控制传输&#xff08;Control Transfer&#xff09;的重传机制 1. 控制传输的事务结构 控制传输分为三个阶段&#xff0c;每个阶段都有自己的事务&#xff0c;并可能触发重传机制&#xff1a; 设置阶段&#xff08;Setup Stage&#xff09;&#xff1a;主机发送 8 字节的…...

云计算基础,虚拟化原理

文章目录 一、虚拟化1.1 什么是虚拟化1.2 虚拟化类型 二 、存储虚拟化2.1 存储指标2.2 存储类型2.3 存储协议2.4 RAID 三、内存 i/O虚拟化3.1 内存虚拟化基本概念地址空间转换原理内存共享与隔离原理 3.2 I/O 虚拟化基本概念模拟&#xff08;Emulation&#xff09;方式半虚拟化…...

浮点数在C语言开发中为什么不精确?

在C语言开发中&#xff0c;浮点数的精度问题是一个常见的陷阱&#xff0c;尤其是对于刚接触编程的开发者来说&#xff0c;可能会对浮点数的行为感到困惑。为什么0.1 0.2不等于0.3&#xff1f;为什么浮点数计算会出现微小误差&#xff1f;本文将从计算机底层原理出发&#xff0…...

Python爬虫实战:研究MechanicalSoup库相关技术

一、MechanicalSoup 库概述 1.1 库简介 MechanicalSoup 是一个 Python 库,专为自动化交互网站而设计。它结合了 requests 的 HTTP 请求能力和 BeautifulSoup 的 HTML 解析能力,提供了直观的 API,让我们可以像人类用户一样浏览网页、填写表单和提交请求。 1.2 主要功能特点…...

VB.net复制Ntag213卡写入UID

本示例使用的发卡器&#xff1a;https://item.taobao.com/item.htm?ftt&id615391857885 一、读取旧Ntag卡的UID和数据 Private Sub Button15_Click(sender As Object, e As EventArgs) Handles Button15.Click轻松读卡技术支持:网站:Dim i, j As IntegerDim cardidhex, …...

Oracle查询表空间大小

1 查询数据库中所有的表空间以及表空间所占空间的大小 SELECTtablespace_name,sum( bytes ) / 1024 / 1024 FROMdba_data_files GROUP BYtablespace_name; 2 Oracle查询表空间大小及每个表所占空间的大小 SELECTtablespace_name,file_id,file_name,round( bytes / ( 1024 …...

pam_env.so模块配置解析

在PAM&#xff08;Pluggable Authentication Modules&#xff09;配置中&#xff0c; /etc/pam.d/su 文件相关配置含义如下&#xff1a; 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块&#xff0c;负责验证用户身份&am…...

Golang dig框架与GraphQL的完美结合

将 Go 的 Dig 依赖注入框架与 GraphQL 结合使用&#xff0c;可以显著提升应用程序的可维护性、可测试性以及灵活性。 Dig 是一个强大的依赖注入容器&#xff0c;能够帮助开发者更好地管理复杂的依赖关系&#xff0c;而 GraphQL 则是一种用于 API 的查询语言&#xff0c;能够提…...

【论文笔记】若干矿井粉尘检测算法概述

总的来说&#xff0c;传统机器学习、传统机器学习与深度学习的结合、LSTM等算法所需要的数据集来源于矿井传感器测量的粉尘浓度&#xff0c;通过建立回归模型来预测未来矿井的粉尘浓度。传统机器学习算法性能易受数据中极端值的影响。YOLO等计算机视觉算法所需要的数据集来源于…...

爬虫基础学习day2

# 爬虫设计领域 工商&#xff1a;企查查、天眼查短视频&#xff1a;抖音、快手、西瓜 ---> 飞瓜电商&#xff1a;京东、淘宝、聚美优品、亚马逊 ---> 分析店铺经营决策标题、排名航空&#xff1a;抓取所有航空公司价格 ---> 去哪儿自媒体&#xff1a;采集自媒体数据进…...

回溯算法学习

一、电话号码的字母组合 import java.util.ArrayList; import java.util.List;import javax.management.loading.PrivateClassLoader;public class letterCombinations {private static final String[] KEYPAD {"", //0"", //1"abc", //2"…...

视觉slam十四讲实践部分记录——ch2、ch3

ch2 一、使用g++编译.cpp为可执行文件并运行(P30) g++ helloSLAM.cpp ./a.out运行 二、使用cmake编译 mkdir build cd build cmake .. makeCMakeCache.txt 文件仍然指向旧的目录。这表明在源代码目录中可能还存在旧的 CMakeCache.txt 文件,或者在构建过程中仍然引用了旧的路…...

TSN交换机正在重构工业网络,PROFINET和EtherCAT会被取代吗?

在工业自动化持续演进的今天&#xff0c;通信网络的角色正变得愈发关键。 2025年6月6日&#xff0c;为期三天的华南国际工业博览会在深圳国际会展中心&#xff08;宝安&#xff09;圆满落幕。作为国内工业通信领域的技术型企业&#xff0c;光路科技&#xff08;Fiberroad&…...