计算机网络 3-1 数据链路层(功能+组帧+差错控制)

【考纲内容】

(一)数据链路层的功能

(二)组帧

(三)差错控制

        检错编码;纠错编码 

(四)流量控制与可靠传输机制

        流量控制、可靠传输与滑动窗口机制;停止-等待协议;

        后退N帧协议 (GBN);选择重传协议 (SR)

(五)介质访问控制

        1.信道划分:频分复用、时分复用、波分复用、码分复用

        2. 随机访问:ALOHA协议; CSMA协议; CSMA/CD协议; CSMA/CA协议

        3.轮询访问:令牌传递协议

(六)局域网

        局域网的基本概念与体系结构;以太网与IEEE 802.3;

        IEEE 802.11无线局域网;VIAN的基本概念与基本原理

(七)广域网

        广域网的基本概念;PPP协议

(八)数据链路层设备

        以太网交换机及其工作原理

3.1 数据链路层的功能

        数据链路层的主要任务是实现帧在一段链路上或一个网络中进行传输。数据链路层协议有多种,但有三个基本问题则是共同的,即封装成帧、透明传输和差错检测。

        数据链路层使用物理层提供的“比特传输”服务

        数据链路层为网络层提供服务,将网络层的IP数据报(分组)封装成帧,传输给下一个相邻结点

        物理链路:传输介质(0层)+物理层(1层)实现了相邻结点之间的“物理链路”

        逻辑链路:数据链路层需要基于“物理链路”,实现相邻结点之间逻辑上无差错的“数据链路(逻辑链路)”

3.2 组帧 

  • 字符计数法

        ·注意:帧长=计数字段长度+帧的数据部分长度

        ·原理:在每个帧开头,用一个定长计数字段表示帧长

        ·最大缺点:任何一个计数字段出错,都会导致后续所有帧无法定界

  • 字节填充法

    • 标记帧开头的字符SOH、标记帧结尾的字符EOT、转义字符 ESC

    • 如果帧的数据部分包含“特殊字符”,则发送方需要在这些“特殊字符”前填充“转义字符ESC”(接收方要做逆处理)

  • 零比特填充法

    • 用特殊的比特串01111110 标记帧开始、帧结尾

    • 发送方需要对帧的数据部分进行处理,每当遇到连续5个1,就填充一个0

    • 接受方需要对帧的数据部分进行逆处理,每当遇到连续5个1,就删掉后面的0

  • 违规编码法

    • 使用“违规信号”,表示帧的开头、结尾(这种方法需要物理层配合)

    • 如:采用曼彻斯特编码时,使用“中间不跳变”作为“违规信号”,标记帧的开头、结尾

         数链路层会把整个帧的数据原模原样的交给物理层。那物理层会在这些帧的前面和后面分别插入一个时钟周期的违规信号。数据的接收方的物理层也可以根据这个违规信号去分辨出一个帧的边界在哪

3.3 差错校验

  • 奇偶校验码

    • 校验原理

      • 在信息位的首部或尾部添加一个校验位

      • 奇校验:整个校验码(信息位和校验位)中“1”的个数为奇数

      • 偶校验:整个校验码(信息位和校验位)中“1”的个数为偶数

      • 奇偶校验码仅能检测出奇数位错误,无纠错能力

    • 循环冗余校验(Cyclic Redundancy Check, CRC

循环冗余校验的思想:

  1. 数据的发送方和接收方会先约定一个“除数”
  2. 在K个原始的信息位后面+ R个校验位。这一整串的数据与约定的除数进行相除的操作,余数要等于零。
  3. 数据的接收方接收到这K+ R的数据之后,需要用二进制除法来检查余数是否等于零。如果余数不等于零,那么就说明有一些二进制位出现了错误,那这种情况下就可以进行重传,或者也可以进行比特位的纠错,

注意:循环冗余码有纠错功能,但校验位不能太多

          如果数据的位数并没有超过余数所能表示的这个范围。那么,余数和出错位之间就是一一对应的关系。否则,不一定

公式:

  • 海明校验码

 思路:

         将信息位分组进行偶校验→多个校验位—>多个校验位标注出错位置

        多个校验位能携带多种状态信息, (对/错,错在哪)

思考两问题:

  • 需要把这n个信息位分为多少个分组呢?
  • 这n个信息位我们应该怎么把他们分派到各个分组当中?

计算步骤:

例子:

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

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

相关文章

Django中使用不同种类缓存的完整案例

Django中使用不同种类缓存的完整案例 推荐超级课程: 本地离线DeepSeek AI方案部署实战教程【完全版】Docker快速入门到精通Kubernetes入门到大师通关课AWS云服务快速入门实战目录 Django中使用不同种类缓存的完整案例步骤1:设置Django项目步骤2:设置URL路由步骤3:视图级别…

Spring Boot 集成Redis 的Lua脚本详解

1. 对比Lua脚本方案与Redis自身事务 对比表格 对比维度Redis事务(MULTI/EXEC)Lua脚本方案原子性事务命令序列化执行,但中间可被其他命令打断,不保证原子性Lua脚本在Redis单线程中原子执行,不可中断计算能力仅支持Red…

【大模型】DeepSeek + 蓝耕MaaS平台 + 海螺AI生成高质量视频操作详解

目录 一、前言 二、蓝耘智能云MaaS平台介绍 2.1 蓝耘智算平台是什么 2.2 平台优势 2.3 平台核心能力 三、海螺AI视频介绍 3.1 海螺AI视频是什么 3.2 海螺AI视频主要功能 3.3 海螺AI视频应用场景 3.4 海螺AI视频核心优势 3.5 项目git地址 四、蓝耘MaaS平台DeepSeek海…

12-产品经理-维护模块

需求模块是帮助产品经理进行需求的分类和维护。 1. 维护模块 在具体产品的“研发需求”页面左侧,点击“维护模块”。也可以在具体产品的“设置”-“模块”下进行维护。 点击保存后,返回模块页面。还可以点击“子模块”对已有模块进行子模块的维护。 点击…

考研单词笔记 2025.04.06

area n领域,范围,方面,地区,地方,场地,面积 aspect n方面,层面,外表,外观 boundary n限度,界限,分界线,边界 cap n最高限额&#x…

护网蓝初面试题

《网安面试指南》https://mp.weixin.qq.com/s/RIVYDmxI9g_TgGrpbdDKtA?token1860256701&langzh_CN 5000篇网安资料库https://mp.weixin.qq.com/s?__bizMzkwNjY1Mzc0Nw&mid2247486065&idx2&snb30ade8200e842743339d428f414475e&chksmc0e4732df793fa3bf39…

玄机-apache日志分析

靶场任务 1、提交当天访问次数最多的IP,即黑客IP: 查看apache日志 apache访问日志的位置是:/var/log/apache2/access.log.1 匹配正则算法 首先先cat看看 发现地址都在第一行,直接匹配计算输出 cat access.log.1 |grep -Eo &…

C++ I/O 流通俗指南

1. std::ostream 是什么? 定义:std::ostream 是 C 标准库中的输出流类,负责将数据输出到各种目标(如屏幕、文件、网络等)。你可以把 std::ostream 想象成一根“数据水管”: 数据从 C 代码流进 std::ostrea…

Systemd 使用教程(二):Unit 的概念

目录 【二】 Systemd 单元(Unit)的概念 本教程将由浅入深的介绍 linux 中 Systemd 的知识和相关使用(同时也方便自己后续查阅) 【二】 Systemd 单元(Unit)的概念 虽然我想介绍的比较偏实际操作&#xff0…

树莓派PICO 设备烧录成cmsis dap

文章目录 1. 实际操作2. IO连接 1. 实际操作 2. IO连接

IntelliJ IDEA中Spring Boot 3.4.x+集成Redis 7.x:最新配置与实战指南

‌前言 Spring Boot 3.4.x作为当前‌最新稳定版本‌,全面支持Java 17与Jakarta EE 10规范。本文以‌Spring Boot 3.4.1‌和‌Redis 7.x‌为例,详解如何在IDEA中快速接入Redis,涵盖‌最新依赖配置‌、‌数据序列化优化‌、‌缓存注解‌及‌高…

VectorBT:使用PyTorch+Transformer训练和回测股票模型 进阶五

VectorBT:使用PyTorchTransformer训练和回测股票模型 进阶五 本方案基于PyTorch框架与Transformer模型,结合VectorBT回测引擎构建多股票量化交易系统,采用滑动窗口技术构建时序特征,通过自注意力机制捕捉市场规律预测收益率&#…

4.3-4.6学习总结 Java:Set系列集合+双列集合+Map

Set系列集合: 元素是唯一的。 HashSet: 哈希值: 如果没有重写hashcode方法和equals方法,那么哈希值是根据地址值计算的。 LinkedHashSet: TreeSet底层为红黑树。 红黑树:两个红色节点不能相连。 双列集合&…

unreal engine5开发仿鬼泣5的游戏,把敌人击飞到空中4连击

UE5系列文章目录 文章目录 UE5系列文章目录前言一、实现思路二、具体蓝图 前言 unreal engine5开发仿鬼泣5的游戏,把敌人击飞到空中4连击,先看下效果 一、实现思路 unreal engine5开发仿鬼泣5的游戏,把敌人击飞到空中4连击 在Unreal Engi…

功耗日志抓取需求

最近罗列了一些功耗分析需要的常见日志: 测试功耗前: adb shell dumpsys batterystats --reset adb shell dumpsys batterystats --enable full-wake-history 测试功耗后,使用脚本导出如下功耗日志: 脚本 chmod x collect_logs.s…

Java后端开发流程

Java后端开发流程 目录 开发流程概述具体实现步骤开发最佳实践项目结构示例代码示例常见问题与解决方案 开发流程概述 Java后端开发是一个系统化的过程,通常包括以下几个主要阶段: 1. 需求分析阶段 业务需求收集:与产品经理、业务方沟通…

Java项目之基于ssm的孩童收养信息管理(源码+文档)

项目简介 孩童收养信息管理实现了以下功能: 实现了用户在线选择试题并完成答题,在线查看考核分数。管理员管理字典管理、收养管理、收养信息更改记录管理、收养者配偶管理、送养管理、员工管理、管理员管理等功能。 💕💕作者&am…

查询条件与查询数据的ajax拼装

下面我将介绍如何使用 AJAX 动态拼装查询条件和获取查询数据&#xff0c;包括前端和后端的完整实现方案。 一、前端实现方案 1. 基础 HTML 结构 html 复制 <div class"query-container"><!-- 查询条件表单 --><form id"queryForm">…

【算法竞赛】状态压缩型背包问题经典应用(蓝桥杯2019A4分糖果)

在蓝桥杯中遇到的这道题&#xff0c;看上去比较普通&#xff0c;但其实蕴含了很巧妙的“状态压缩 背包”的思想&#xff0c;本文将从零到一&#xff0c;详细解析这个问题。 目录 一、题目 二、思路分析&#xff1a;状态压缩 最小覆盖 1. 本质&#xff1a;最小集合覆盖问题…

STL 性能优化实战:解决项目中标准模板库的性能瓶颈

&#x1f9d1; 博主简介&#xff1a;CSDN博客专家、全栈领域优质创作者、高级开发工程师、高级信息系统项目管理师、系统架构师&#xff0c;数学与应用数学专业&#xff0c;10年以上多种混合语言开发经验&#xff0c;从事DICOM医学影像开发领域多年&#xff0c;熟悉DICOM协议及…