缔造网络世界的奇迹:OSI参考模型的魔力之旅

news2025/1/11 2:30:15

文章目录

  • 一 OSI参考模型
    • 1.1 OSI参考模型简介
    • 1.2 OSI参考模型的下特性和优点
    • 1.3 OSI参考模型的层次结构
    • 1.4 OSI参考模型层次间的关系以及数据封装
  • 二 OSI参考模型的层次结构详解
    • 2.1 物理层
    • 2.2 数据链路层
    • 2.3 网络层
      • 2.3.1 网络层地址
      • 2.3.2 路由协议与可路由协议
      • 2.3.3 面向连接和无连接服务
      • 2.3.4 网络层协议操作
    • 2.4 传输层
    • 2.5 会话层
    • 2.6 表示层
    • 2.7 应用层

一 OSI参考模型

1.1 OSI参考模型简介

  • OSI(Open Systems Interconnection)参考模型是一个用于描述计算机网络功能和模块化分层的框架。它由国际标准化组织(ISO)在20世纪80年代初定义,并在计算机网络领域广泛使用。

  • OSI参考模型定义了计算机网络中不同层次的功能和通信协议,每个层次都构建在下一个更低层的基础上。它将网络通信过程分解为七个不同的层次,每个层次都有特定的功能和任务。


1.2 OSI参考模型的下特性和优点

概述说明
模块化分层结构OSI参考模型将网络通信分解为七个不同的层次,每个层次都有特定的功能。这种模块化结构使得网络的设计、维护和升级更加灵活和可靠,可以单独处理每个层次的问题,而不会影响其他层次。
标准化协议每个层次都有自己的协议,这些协议是通过标准化组织(如ISO)制定的。标准化协议使得不同厂商的设备和系统可以相互通信和互操作,避免了封闭的网络环境。
开放性和可扩展性OSI参考模型是开放的,可以根据需要添加新的层次或修改现有层次。这种可扩展性使得网络可以适应不断变化的技术和需求,保持了其长期可持续发展的特性。
简化故障排查由于每个层次都有明确定义的功能和任务,当网络出现故障时,可以更容易地定位并解决问题。可以按层次逐步进行故障排查,而不需要检查整个网络。
提供了概念化框架OSI参考模型提供了一个概念化框架,用于描述和理解计算机网络的功能和架构。它为网络专业人员提供了一种共同的语言和思维方式,有助于更好地理解网络的工作原理和设计原则。
促进标准化和互操作性OSI参考模型的设计鼓励制定标准化协议和接口,以确保不同厂商的设备和系统可以互相工作。这样可以带来更多的选择,促进了通信市场的竞争和创新,同时也提高了网络的互操作性和可扩展性。

1.3 OSI参考模型的层次结构

OSI参考模型自下而上的七个层次

  1. 物理层(Physical Layer):定义物理介质上的原始比特流传输,包括电压、电缆接口、光纤等。

  2. 数据链路层(Data Link Layer):提供对物理层的控制,检查并纠正可能出现的错误,并进行流量控制。

  3. 网络层(Network Layer):决定传输包的最佳路径,通过路由选择协议选择路由

  4. 传输层(Transport Layer):提供端到端的数据传输和可靠性保证,包括数据的分段和重新组装、差错检测和纠正。

  5. 会话层(Session Layer):管理不同应用程序之间的通信会话,并协调数据交换的顺序和速率。

  6. 表示层(Presentation Layer):负责数据的格式转换、加密解密、数据压缩和解压缩等,以确保数据能够正确地解释和解析。

  7. 应用层(Application Layer):为用户提供网络应用服务,例如电子邮件、文件传输和远程登录等。

  • 每个层次都有自己的协议和功能,它们共同工作以实现端到端的数据通信。使用OSI参考模型可以使不同厂商的设备和系统能够互操作,并且在网络设计、故障排除和性能优化方面提供了一种标准化的方法。
    在这里插入图片描述

1.4 OSI参考模型层次间的关系以及数据封装

  • 在数据通信网络领域中,PDU(Protocol Data Unit,协议数据单元)泛指网络通信对等实体之间交换的信息单元,包括用户数据信息和协议控制信息等。

  • 在OSI术语中,每一层传送的 PDU均有其特定的称呼。

    • 应用层数据称为APDU(Application Protocol Data Unit,应用层协议数据单元)
    • 表示层数据称为PPDU(Presentation Protocol Data Unit,表示层协议数据单元)
    • 会话层数据称为SPDU(Session Protocol Data Unit,会话层协议数据单元)
    • 传输层数据称为段(Segment)
    • 网络层数据称为数据包(Packet)
    • 数据链路层数据称为帧(Frame)
    • 物理层数据称为比特(bit)。
  • 在OSI参考模型中,终端主机的每一层都与另一方的对等层次进行通信,但这种通信并非直接进行的,而是通过下一层为其提供的服务来间接与对端的对等层交换数据。下一层通过服务访问点(Service Access Point,SAP)为上一层提供服务。
    在这里插入图片描述

  • 封装(Encapsulation)是指网络节点将要传送的数据用特定的协议打包后传送。 多数协议是通过在原有数据之前加上封装头(Header)来实现封装的,一些协议还要在数据之后加上封装尾(Trailer),而原有数据此时便成为载荷(Payload)。

  • 在发送方一层都对上层数据进行封装,以保证数据能够正确无误地到达目的地;而在接收方,每一层又对本层的封装数据进行解封装,并传送给上层,以便数据被上层所理解。
    在这里插入图片描述
    OSI参考模型中数据的封装和解封装过程:

  • 首先,源主机的应用程序生成能够被对端应用程序识别的应用层数据;

  • 然后数据在表示层加上表示层头,协商数据格式,是否加密,转化成对端能够理解的数据格式;数据在会话层又加上会话层头;以此类推,传输层加上传输层头形成段,网络层加上网络层头形成包,数据链路层加上数据链路层头形成帧;在物理层数据转换为比特流,传送到网络上。

  • 比特流到达目的主机后,也会被逐层解封装。首先由比特流获得帧,然后剥去数据链路层帧头获得包,再剥去网络层包头获得段,以此类推,最终获得应用层数据提交给应用程序。

二 OSI参考模型的层次结构详解

2.1 物理层

  • 物理层是OSI参考模型的第一层,其功能是在终端设备间传输比特流。物理层并不是指物理设备或物理媒介,而是有关物理设备通过物理媒体进行互连的描述和规定。
  • 物理层协议定义了通信传输介质的物理特性。
    • 机械特性:说明接口所用接线器的形状和尺寸,引线数目和排列等
    • 电气特性:说明在接口电缆的每根线上出现的电压、电流范围
    • 功能特性:说明某根线上出现的某一电平的电压表示何种意义
    • 规程特性:说明对不同功能的各种可能事件的出现顺序
  • **物理层以比特流的方式传送来自数据链路层的数据,而不理会数据的含义或格式。**它接收数据后直接传给数据链路层,不能理解所处理的比特流的具体意义。

常见物理层的传输介质:

  1. 双绞线是一种在局域网上最为常用的电缆线。每一对双绞线由一对绝缘铜线缠绕而成【有效抗干扰】。双绞线分为屏蔽双绞线(Shielded Twisted Pair,STP)和非屏蔽双绞线(Unshielded Twisted Pair,UTP)。
  2. 光纤是另外一种网络传输介质,不受电磁信号的干扰。光纤由玻璃纤维和屏蔽层组成,传输速率高,且传输距离远。但是光纤比其他介质更昂贵。
  • 中继器、集线器都是典型的局域网物理层设备
  • 调制解调器就是一种常见的广域网物理层设备

2.2 数据链路层

  • 数据链路层的目的是负责在某一特定的介质或链路上传递数据。因此数据链路层协议与链路介质有较强的相关性,不同的传输介质需要不同的数据链路层协议给予支持。
    数据链路层的主要功能
  1. 帧同步:编帧和识别帧。物理层只发送和接收比特流,而并不关心这些比特的次序、结构和含义;而在数据链路层,数据以帧为单位传送,需要链路层将比特编成帧,接收方需要链路层能从接收到的比特流中明确地区分出数据帧起始与终止的地方。
  2. 数据链路的建立、维持和释放:当网络中的设备要进行通信时,通信双方有时必须先建立一条数据链路,在建立链路时需要保证安全性,在传输过程中要维持数据链路,而在通信结束后要释放数据链路。
  3. 传输资源控制:在一些共享介质上,多个终端设备可能同时需要发送数据,此时必须由数据链路层协议对资源的分配加以裁决。
  4. 流量控制:为了确保正常地收发数据,防止发送数据过快,导致接收方的缓存空间溢出,网络出现拥塞,就必须及时控制发送方发送数据的速率。数据链路层控制的是相邻两节点之间数据链路上的流量。
  5. 差错控制:由于比特流传输时可能产生差错,而物理层无法辨别错误,所以数据链路层协议需要以帧为单位实施差错检测。最常用的差错检测方法是 FCS(Frame CheckSequence,帧校验序列)。
  6. 寻址:数据链路层协议应该能够标识介质上的所有节点,并且能寻找到目的节点,以便将数据发送到正确的目的地。
  7. 标识上层数据:数据链路层采用透明传输的方法传送网络层包,它对网络层呈现为一条无错的线路。为了在同一链路上支持多种网络层协议,发送方必须在帧的控制信息中标识载荷(即包)所属的网络层协议,这样接收方才能将载荷提交给正确的上层协议来处理。

为了在对网络层协议提供统一的接口的同时对下层的各种介质进行管理控制,局域网的数据链路层又被划分为LLC(Logic Link Control,逻辑链路控制)和 MAC(Media AccessControl,介质访问控制)两个子层

  • IEEE的数据链路层标准是当今最为流行的LAN 标准。
  • 我国应用最为广泛的LAN标准是基于IEEE 802.3的以太网标准。以太网交换机就是一种典型的数据链路层设备。
  • 帧中继是一种交换式的数据链路协议。

2.3 网络层

  • 网络层数据的传送单位是网络层的任务就是要选择合适的路径并转发数据包,使数据包能够正确无误地从发送方传递到接收方。
  • 网络层的主要功能:编址、路由选择、拥塞控制、异种网络互联
  • 网络层处于传输层和数据链路层之间,它负责向传输层提供服务,同时负责将网络地址翻译成对应的物理地址。

2.3.1 网络层地址

  • 网络层地址存在于网络层,是对通信节点的标识,也是数据在网络中进行转发的依据
  • 不同的网络层协议具有不同的地址格式。
    • IP地址由4个字节组成,通常用点分十进制数字表示。
    • IPX地址由10个字节组成,其中前4个字节代表网络地址,后6个字节代表主机地址,通常用十六进制数字表示。
      在这里插入图片描述
  • 网络层地址通常具有层次化结构,以便将一个巨大的网络区分成若干小块,以便寻址和管理。一种常见的方法是将网络层地址分为“网络地址”和“主机地址”。
  • 网络层地址通常是由管理员从逻辑上分配的,因此也称为逻辑地址。为了唯一地标识通信节点,任何一个网络层地址在网络中应该是唯一的。

2.3.2 路由协议与可路由协议

在这里插入图片描述

  1. 路由协议(Routing Protocol):指用于在网络中确定数据包传输路径的协议。它的主要作用是根据网络拓扑信息和路由策略,为数据包选择最佳的传输路径。常见的路由协议包括RIP(Routing Information Protocol)、OSPF(Open Shortest Path First)、BGP(Border Gateway Protocol)等。路由协议使得网络中的路由器能够相互交换路由信息,建立路由表,并根据路由表来转发数据包。

  2. 可路由协议(Routable Protocol):指能够在网络中进行路由选择的网络协议。它是指能够通过路由器进行跨网络通信的协议。常见的可路由协议包括IP(Internet Protocol)、IPv4、IPv6等。可路由协议定义了数据包的格式和传输规则,使得数据包能够在网络中进行传输和路由选择。

  • 总结来说:
    • 路由协议是用于在网络中确定数据包传输路径的协议,而可路由协议是指能够通过路由器进行跨网络通信的协议。
    • 路由协议是网络中路由器之间交换路由信息的协议,而可路由协议是数据包在网络中传输和路由选择的协议。

2.3.3 面向连接和无连接服务

  • 面向连接的服务进行通信时,两个实体在通信前首先要建立连接,而在通信完成后释放连接。当被叫用户拒绝连接时,连接宣告失败。在建立连接阶段,有关的服务原语以及协议数据单元中,必须给出源主机和目的主机的地址,建立虚链路连接;在数据传输阶段,可以使用一个连接标识符来表示上述这种连接关系。
  • 面向连接的服务提供可靠的报文序列服务。面向连接的服务比较适用于在一定时间内向同一个目的地发送很多报文的情况,对于短报文数据的发送而言,面向连接的服务显得开销过大。

  • 无连接服务中,两个实体之间的通信不需要先建立好一个连接,因此其下层的有关资源不需要事先进行预定保留,这些资源是在数据传输时动态地进行分配的。

  • 无连接服务提供尽力而为(Best-effort)服务,即网络以当前拥有的资源尽力转发报文,但并不保证确切的服务质量

  • 无连接服务的特征是不需要通信的两个实体同时处于激活状态,而只需要正在工作的实体处于激活状态。它的优点是灵活方便和比较迅速,但无连接服务不能防止报文的丢失、重复或失序,因此它比较适合传送少量的、零星的报文。

2.3.4 网络层协议操作

在这里插入图片描述

2.4 传输层

  • 传输层的功能是为会话层提供无差错的传送链路,保证两台设备间传递信息的正确无误,传输层传送的数据单位是段
  • 传输层从会话层接收数据,并传递给网络层,如果会话层数据过大,传输层将其切割成较小的数据单元—段进行传送
  • 传输层的一个重要工作是差错校验和重传
  • 为了避免发送速度超出网络或接收方的处理能力,传输层还负责执行流量控制(FlowControl),在资源不足时降低流量,而在资源充足时提高流量。

2.5 会话层

  • 会话层是利用传输层提供的端到端服务,向表示层或会话用户提供会话服务。会话层建立会话关系,并保持会话过程的畅通,决定通信是否被中断以及下次通信从何处重新开始发送。如果传输在低层偶尔中断,会话层将努力重新建立通信。

2.6 表示层

  • 表示层负责将应用层的信息“表示”成一种格式,让对端设备能够正确识别,它主要关注传输信息的语义和语法。
  • **在表示层,数据将按照某种一致同意的方法对数据进行编码,以便使用相同表示层协议的计算机能互相识别数据。**例如,一幅图像可以表示为JPEG格式,也可以表示为BMP格式,如果对方程序不识别本方的表示方法,就无法正确显示这幅图片。
  • 表示层还负责数据的加密和压缩。

2.7 应用层

  • 应用层是OSI的最高层,它直接与用户和应用程序打交道,负责对软件提供接口以使程序能使用网络服务。网络服务包括文件传输、文件管理、电子邮件的消息处理等。
  • 必须强调的是应用层并不等同于一个应用程序。例如,在网络上发送电子邮件,用户的请求就是通过应用层传输到网络的。

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

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

相关文章

激光SLAM(二):点云拟合和平面参数化

点云拟合和平面参数 一、平面拟合:特征值法和SVD法二、平面参数化1)Hesse形式2)球坐标3)最近点4) 单位四元数 三、直线拟合 一、平面拟合:特征值法和SVD法 平面方程如下,n是法向量,d是截距 当…

python协程—asyncio模块

目录 什么是协程 协程的特点 为什么使用协程 asyncio协程模块 多任务的协程 总结 什么是协程 协程(Coroutine)是一种并发编程的技术,它允许程序在执行过程中暂停和恢复。协程可以看作是一种特殊的函数,它可以暂停执行&#…

快速安装Kibana,head插件以及IK分词器

安装Kibana Kibana是基于node.js的,安装这个之前要先安装node.js 1 压缩包下载地址: Kibana 6.2.4 | Elastic 2.将下载的Kibana压缩包解压到任意一个没有中文没有空格的目录下,进入Kibana安装目录下的config目录,修改kibana.yml文件,添加Elasticsearch服…

钳形表校准装置 “定点输出”方式

装置具有“定点输出”方式,通过点击触摸屏,直接设置所需输出的量值,装置将全自动切换至最佳量程输出,使得校准数字式仪表变得非常方便。特别是在设定交流电压/电流输出时,直接同时输入幅值和频率即可,使用十…

【计算机视觉】对比学习综述(自己的一些理解)

对比loss 对比学习的 loss(InfoNCE)即以最 大化互信息为目标推导而来。其核心是通过计算样本表示间的距离,拉近正样本, 拉远负样本,因而训练得到的模型能够区分正负例。 具体做法为:对一个 batch 输入的图…

Tensorflow入门(1)——深度学习框架Tesnsflow入门 环境配置 认识Tensorflow

目录 一、环境配置1.Anaconda以及Tensorflow的安装2.CONDA环境安装3.测试是否成功 二、认识TensorFlow1.图 Graph()2.会话 Session()3.张量 Tensor(1)张量的形状(2)数据类型张量的动态形状与静态形状 4.张量操作(1&…

No9.精选前端面试题,享受每天的挑战和学习

文章目录 从recat源码角度说明下setState流程同源策略限制什么行为computed和watch的区别http和https的区别vue中的route和router的异同点,区别 从recat源码角度说明下setState流程 在 React 的源码中,setState 方法是用于更新组件的状态(st…

java中预览pdf或者图片

GetMapping("preview1")ApiOperation(value "根据文件名实现预览功能")public void previewFile1( HttpServletResponse response) throws IOException {String filePath"C:\\Users\\Harbor Lau\\Desktop\\哈哈\\""11月燃油费(公开).pdf&q…

照片如何恢复?试试这3个简单操作!

我的电脑里保存了很多照片,都是对我来说意义重大的,但最近电脑内存不足了,在清理内存时,我不小心把照片也清空了,这些照片应该如何恢复呢?谁有什么好的方法恢复电脑里的照片吗? 可能很多人都会选…

【UnityDOTS 小知识】RequireMatchingQueriesForUpdate与RequireForUpdate

RequireMatchingQueriesForUpdate与RequireForUpdate 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 一、RequireMatchingQueriesForUpdate 将这个特性放置于System类上…

【算法与数据结构】字符串匹配算法

文章目录 一、暴力穷解法二、KMP算法二、BM算法三、Sunday算法四、完整代码 所有的LeetCode题解索引,可以看这篇文章——【算法和数据结构】LeetCode题解。 一、暴力穷解法 思路分析:首先判断字符串是否合法,然后利用for循环,取出…

2024考研408-操作系统 第一章-计算机系统概述学习笔记

文章目录 前言一、操作系统的基本概述1.1、操作系统的概念1.2、操作系统的功能1.2.1、操作系统提供的功能及示例1.2.2、操作系统提供的方便易用服务1.2.2.1、操作系统刚普通用户使用(GUI用户界面、命令接口)1.2.2.2、给程序员提供的程序接口小总结&#…

Cesium中加载WMS、WMTS、WFS三类服务,并进行点击查询

近期工作中需要使用Cesium加载各类服务,并进行点击查询。故针对不同的服务对加载方法和点击查询方法进行了整理。 一、加载方法 1.1加载WMS export function wmsService(url,layer){let wmsnew Cesium.WebMapServiceImageryProvider({url : url,//如http://106.12…

【Spring Boot】Spring Boot配置文件详情

前言 Spring Boot是一个开源的Java框架,用于快速构建应用程序和微服务。它基于Spring Framework,通过自动化配置和约定优于配置的方式,使开发人员可以更快地启动和运行应用程序。Spring Boot提供了许多开箱即用的功能和插件,包括嵌…

【笔记】微机原理及接口技术4 -- ADC/DAC

模数数模转换器 控制系统中的模拟接口 A/D 转换器 把模拟信号转成数字信号,供微处理器使用; D/A 转换器 输出模拟信号,供外部控制装置使用; D/A 原理 D/A 转换器的主要部件是电阻开关网络 通常是由输入的二进制数的各位控制一些…

EasyCVR如何在不修改分辨率的情况下进行H.265自动转码H.264?

EasyCVR视频融合平台基于云边端一体化架构,可支持多协议、多类型设备接入,在视频能力上,平台可实现视频直播、录像、回放、检索、云存储、告警上报、语音对讲、电子地图、集群、H.265转码、智能分析以及平台级联等。 我们在此前的文章中介绍过…

【Python实战】Python采集某大夫文字数据

前言 今天,有一位粉丝找到我,希望我出一期关于某大夫数据采集的文章,今天,我们就来采集某大夫的问诊数据。 环境使用 python 3.9pycharm 模块使用 requests 模块介绍 requests requests是一个很实用的Python HTTP客户端库&…

java 健身营养师网站系统myeclipse定制开发mysql数据库B/S模式java编程计算机网页

一、源码特点 JSP 健身营养师网站系统 是一套完善的系统源码,对理解JSP java 编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。研究的基本内容是基于网上 书店系统,使用JSP作为页面开发工具。Web服…

MMaction2 使用记录1——config介绍

目录 了解config (模型训练测试的整体过程配置文件) 通过脚本参数修改config Config 文件 结构 config文件的命名规则 动作识别的config系统 了解config (模型训练测试的整体过程配置文件) 我们使用python文件作为config&a…

FreeRTOS学习笔记—任务挂起和恢复

文章目录 一、任务挂起和恢复API函数1.1 vTaskSuspend()函数1.2 vTaskResume()函数1.3 xTaskResumeFromISR()函数 二、任务挂起和恢复2.1 任务1挂起解挂任务22.2 中断中解挂任务1 三、补充内容3.1 FreeRTOS数据类型3.2 中断优先级分组3.3 错误问题 一、任务挂起和恢复API函数 …