【计算机网络】OSI参考模型中非端-端层(物理层、数据链路层、网络层)功能介绍

系列文章目录

什么是计算机网络?
什么是网络协议?
计算机网络的结构
数据交换之电路交换
数据交换之报文交换和分组交换
分组交换 vs 电路交换
计算机网络性能(1)——速率、带宽、延迟
计算机网络性能(2)——时延带宽积、丢包率、吞吐量/率
计算机网络体系结构概念
OSI参考模型基本概念


  • 系列文章目录
  • 物理层功能
  • 数据链路层功能
  • 网络层功能


物理层功能

简单地说就是解决每一个比特的传输问题

具体的来说,具有这样一些功能:

  • 定义了接口特性。

    主要包括这四个方面:机械特性(接口的形状等等)、电气特性(使用多大的电平、多高的电压等等)、功能特性(接口有多少引脚,每个引脚是什么功能)、规程特性(接口在工作中遵循什么样的过程)。

  • 解决比特编码问题。用什么表示0,用什么表示1,怎么样表示。这个就和通信技术相关

  • 定义数据率。以多快的速度发送。比如我们所说的百兆网络、千兆网络。

  • 解决比特同步。实际上是解决时钟同步问题

  • 定义传输模式。

    ​ 主要有三种模式:

    • 单工(Simplex):传输方向是单向的。比如A给B发送数据,但B不能给A发送数据。
    • 半双工(half-duplex):可以双向传输,但必须是交替的。比如A给B发送数据,在这个时间段B是不能给A发送数据的,但换一个时间B就可以发送了。比如使用的对讲机,说话的时候就不能听,听的时候就不能说。
    • 全双工(full-duplex):发数据的同时可以接收数据。

数据链路层功能

物理层虽然解决了单一比特的传输问题,但这个比特由谁来接收,如果比特出现了错误,谁来纠正这个问题,这些问题在物理层很难解决,这时就需要在物理层之上构建数据链路层。

简单来说,数据链路层解决了物理链路两端相邻结点之间的数据传输问题

具体来说:

  • 数据链路层负责结点-结点(node-to-node)数据传输。这里的结点可以是主机也可以是其他网络设备。是以作为数据单位进行传输的。

  • 那就涉及到组帧(Framing),就是组成帧。

  • 物理寻址(Physical addressing)。

    在帧头中增加发送端和/或接收端的物理地址标识数据 帧的发送端和/或接收端。

    注意物理地址、物理寻址都是在数据链路层而非物理层。物理层都是1010,这当然没法寻址。

  • 流量控制(Flow control):匹配发送端和接收端的发送速度和接收速度。发送端发送数据过快而接收端接收数据过慢时,同时数据把接收端的缓存也占满了,那再过来的数据就被丢掉了。这就会导致接收端被淹没。

  • 差错控制(Error control)。检测并重传损坏或丢失帧,并避免重复帧

  • 访问(接入)控制(Access control)。在任一给定时刻决定哪个设备拥有链路(物理介质)控制使用权。

在这里插入图片描述

为什么要给数据加上地址信息?不是直接就通过物理链路发送过去了吗?

实际上数据链路中往往存在这样一个结构:一条链路上连接了多个主机。这种通信方式称为广播通信,也就是说任何一方发出的数据,其他所有主机都能收到。

在这里插入图片描述

那在这种情况下,如果没有地址信息,你没法保证数据被正确的接收方接收。显然在这样的网络中,地址是非常必要的。所以就要在帧的头部和尾部添加物理地址信息。所有主机都可以收到这个数据,但当它们发现这个地址不是自己,就不接收。

在这里插入图片描述


网络层功能

  • 负责源主机到目的主机**数据分组(packet)**的交付。

  • 逻辑寻址(Logical addressing)。

    因为在网路层中,数据分组从源主机到目的主机可能会跨越多个网络。这时链路层里面使用的物理寻址可能就无法使用了。比如你在班级里有个学号,那发送信件时肯定不是靠学号发送的,而是靠邮政地址。这个邮政地址的特点技术全国唯一。所以需要网络层的逻辑寻址。

    使用全局唯一逻辑地址标识网络中的分组从哪来到哪去,能够确保数据分组被送达目的主机,比如Internet 网络中的IP地址。

  • 路由(Routing)。帮助数据分组选择路径。

  • 分组转发。按照前面介绍的分组交换的存储-转发方式进行工作。

比如下面这张图。红颜色的字母代表逻辑地址,绿颜色的数字代表物理地址

在整个过程中,源和目的的网络层地址也就是逻辑地址是不变的。这样保证了数据不管跨越多少网络,最终能够送到目的地。

在这里插入图片描述

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

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

相关文章

连续/离散的控制系统阶跃测试(包括MATLAB里的step()函数)

阶跃测试 只要是连续时间系统,无论是传递函数还是连续状态空间形式的模型,直接可以用**step()**做阶跃测试;但是对于离散系统而言,不能用step()函数,可以自行编写代码,如下。 1、离散系统:x(k…

短视频矩阵系统源码---开发

一、智能剪辑、矩阵分发、无人直播、爆款文案于一体独立应用开发 抖去推----主要针对本地生活的----移动端(小程序软件系统,目前是全国源头独立开发),开发功能大拆解分享,功能大拆解: 7大模型剪辑法(数学阶乘&#x…

idea 里 没有svn选项的处理办法

总结一下没有svn选项的几种情况: 情况1:IntelliJ IDEA打开带SVN信息的项目不显示SVN信息,项目右键SVN以及图标还有Changes都不显示解决方法 在VCS菜单中有个开关,叫Enabled Version Control Integration,在打开的窗口…

[AutoSAR系列] 1.2 AutoSar 综述

AutoSAR是一种汽车工业领域的标准化软件架构,旨在简化不同汽车制造商之间的软件开发和交互。该标准于2003年由一系列欧洲汽车制造商成立的AutoSAR联盟制定并发布,目前已经成为全球范围内的标准。下面将对AutoSAR的概念、架构和实现进行综述。 1. 概述 AutoSAR是汽车电子控制…

全球3小时气象数据集GLDAS Noah Land Surface Model L4 3 hourly 0.25 x 0.25 degree V2.1

简介 全球3小时气象数据集(GLDAS Noah Land Surface Model L4 3 hourly 0.25 x 0.25 degree V2.1,简称GLDAS_NOAH025_3H 2.1),时空分辨率分别为3小时、0.25度。该数据产品于2020年1月重新处理,代替之前版本。前言 – …

npm ERR! exited with error code: 128

1.遇到的问题 报错信息:npm ERR! E:\tools\Gitt\Git\cmd\git.EXE ls-remote -h -t https://github.com/nhn/raphael.git npm ERR! npm ERR! fatal: unable to access https://github.com/nhn/raphael.git/: OpenSSL SSL_read: Connection was reset, errno 10054 …

Python-嗨格式 之音频转换,ncm转mp3

缘由:本想下载一些歌到车机播放,发现大部分是ncm格式的。 查了下才知道是音乐软件限制了,会员下载的音频文件为.ncm格式,目前只能在网易云音乐APP上播放,不支持在其他音频播放软件或音频设备使用。 百度转换软件&…

vscode使用CSScomb插件

1. 安装 在设置中搜索csscomb,把Csscomb: Format On Save勾上 然后去edit in settings.json配置 2.使用 2.1 用官网提供的三种方法 https://github.com/csscomb/csscomb.js/tree/master/config 2.2 自定义 CSS 书写顺序规则可以参考这个荐腾讯 AollyTeam 团队的…

【六:(mock数据)spring boot+mybatis+yml】

目录 1.1、代码编写Demo类User类启动类 APplication 1.2、配置类查询语句的配置 mysql.ymlspringboot的配置 application.yml日志的配置 logback.xml数据库的配置 mybatis-config.xml 1.3、测试:1.3.1、测试获取用户数1.3.2、添加用户1.3.3、数据的更新1.3.4、数据的…

uni-app:js二维数组与对象数组之间的转换

一、二维数组整理成对象数组 效果 [ ["前绿箭","DI10","RO1"], ["前红叉","DI2","RO2"], ["后绿箭","DI12","RO3"], ["后红叉","DI4","RO6"] ] …

STM32基于HAL库RT-Thread Demo测试

STM32基于HAL库RT-Thread Demo测试 🎈源码地址:https://github.com/RT-Thread/rt-thread/tree/master📌基于STM32CUBEMX中间件安装《基于 CubeMX 移植 RT-Thread Nano》📍环境搭建《使用 Env 创建 RT-Thread 项目工程》&#x1f5…

ChessGPT:免费好用的国际象棋对弈AI机器人

对于国际象棋初学者,需要找一个对手来练棋。ChessGPT,就是一个免费好用的AI对弈机器人,非常适合新手来提升,是一个很好的练习伙伴。网站地址是:https://www.chess.com/play/computer,也有手机版app&#xf…

【RocketMQ系列五】消息示例-顺序消息延迟消息广播消息的实现

1. 前言 上一篇文章我们介绍了简单消息的实现,本文将主要来介绍顺序消息的实现,顺序消息分为局部顺序消息和全局顺序消息。 顺序消息指的是消费者在消费消息时,按照生产者发送消息的顺序进行消费。即先发送的先消费【FIFO】。 顺序消息分为…

从实时数据库转战时序数据库,他陪伴 TDengine 从 1.0 走到 3.0

关于采访嘉宾 在关胜亮的学生时代,“神童”这个称号如影随形,很多人初听时会觉得这个称谓略显夸张,有些人还会认为这是不是就是一种调侃,但是如果你听说过他的经历,就会理解这一称号的意义所在了。 受到教师母亲的影…

处理sass-loader安装失败

Vue项目中安装node-sass跟sass-loader 我们在开发中,经常会使用sass语法来编写css,在安装node-sass和sass-loader时,经常会出现错误(通常是依赖冲突)导致安装失败。因为官方发布的版本号并不是连续的,有些版本与版本之…

ESRI ArcGIS Desktop 10.8.2图文安装教程及下载

ArcGIS 是由美国著名的地理信息系统公司 Esri 开发的一款地理信息系统软件,它是目前全球最流行的 GIS 软件之一。ArcGIS 提供了图形化用户界面和数据分析工具,可以帮助用户管理、分析和可视化各种空间数据。ArcGIS Desktop是一个完整的桌面GIS软件套件&a…

JVMGC复习

TLAB:默认给每一个线程开辟一块内存空间存放线程自己的对象 Class对象是存放在堆区的,不是方法区,类的元数据元数据并不是类的Class对象,Class对象是加载的最终产品,类的方法代码,变量名,方法名&#xff0c…

【黑马程序员】机器学习

(一)机器学习概述 一、机器学习算法分类 1、监督学习: (1)目标值是类别:分类问题 k-近邻算法、贝叶斯分类、决策树与随机森林、逻辑回归 (2)目标值是连续型的数据:回归…

微信小程序进阶——后台交互

目录 一、后台准备 1.1 pom.xml 1.2 配置数据源 1.3 整合mybatis 二、前后端交互 2.1 method1 2.2 method2 2.2.1 封装request 2.2.2 头部引用util 2.2.3 编写方法 2.2.4 展示效果 三、WXS的使用 3.1 会议状态 3.1.2 引入wxs 3.1.3 修改代码 3.1.4 展示效果 3…

【python】进程和线程

进程和线程 今天我们使用的计算机早已进入多CPU或多核时代,而我们使用的操作系统都是支持“多任务”的操作系统,这使得我们可以同时运行多个程序,也可以将一个程序分解为若干个相对独立的子任务,让多个子任务并发的执行&#xff…