数据链路层概述

数据传输过程如下:

数据包按上述过程传输,详见(计算机网络概述三)。在分析数据链路层时可以假象成其沿着水平传播。

这三段链路层的传播方式可能会有所不同。
基本概念:
链路:指一个节点到相邻节点的一段物理线路,有线或者无线,而中间没有其他的交换节点。
数据链路:当在一条链路上传送数据时,除了需要链路本身,还需要一些必要的通信协议来控制这些数据的传输,把实现这些协议的软件或者硬件加到链路上,就形成了数据链路。
网卡就实现了这些协议。
帧:数据链路层对等实体之间在水平方向进行逻辑通信的协议数据单元PDU。

三个问题概述:
下图为封装成帧的情况。

依照帧的首部和尾部标志位识别出帧的开始和结束的过程叫做帧定界。

接收机接收到的数据根据标志字识别出帧的首部和尾部来区分两个帧。 但是当数据载荷部分有(PDU)有和帧尾部和帧首部时,会导致识别出的帧的错误,这一问题为透明传输问题
差错检测:(如何知道帧中出现了误码)

提出一种检错码,将帧的内容计算为一个检错码。判断接收帧和发送帧的检错码是否相同。
可靠传输服务:

封装成帧和透明传输:
封装成帧指的是数据链路层交给上层交付的协议数据单元添加帧头和帧尾使之称为帧,帧头和帧为重含有重要的控制信息,但不是每一种数据传输协议都包含帧定界标志。如MAC帧

在数据链路层向物理层传输时,物理层给MAC帧添加前导码来实现帧定界的作用,此外,MAC帧每一帧和每一帧中都有一定的传输间隔。
透明传输:数据链路层对上层交付的传输数据没有任何限制,就好像数据链路层不存在一样。


当PDU中还有flag时会导致误判帧定界。因此PDU中不能含有flag。此时就称为不透明传输。
解决方法:
没出现一个帧定界符时将其插入转译字符,如下:

如果在检测到帧定界符时,如果后面有转译字符,如果有转译字符,那么就剔除转译字符,继续寻找帧定界符。

又有面向比特的透明传输:即

PDU中如果每出现5个连续的1,就插入0,以此来保证PDU中不会出现帧定界符。

为了提升效率:帧的数据部分应该远远长于帧头和帧尾。但是应该有一个最大限制,称为MTU(Max Trans Unit)。
差错检错:
实际的通信链路都不是理想的,比特在传输过程中可能会产生差错:1变为0,0变为1.这称为比特差错。


如上图中的FCS码用来进行差错检测。
奇偶校验:
在待发送的数据中添加1位奇偶校验码,使得1的个数位奇数或者偶数。

显然其检错率较高。
循环冗余校验:
收发双方约定好一个生成多项式G(x);
基于待发送数据和生成多项式计算出差错检测码(冗余码),将其添加到待传输数据后一起传输。
接收方通过生成多项式来计算收到的数据是否产生了误码;

示例:
相关文章:
数据链路层概述
数据传输过程如下: 数据包按上述过程传输,详见(计算机网络概述三)。在分析数据链路层时可以假象成其沿着水平传播。 这三段链路层的传播方式可能会有所不同。 基本概念: 链路:指一个节点到相邻节点的一段物…...
Python代码使用技巧汇总:提升你的编程技能
各位程序员朋友们,今天我要跟大家分享一些关于Python代码的最佳使用技巧,这些技巧可以帮助你们成为更专业且高效的程序员。不管你是刚刚入门还是已经有一些经验,这些技巧都能够为你提供实际操作价值。 一、合理使用Python的数据结构和算法&am…...
Ae 效果:CC Spotlight
透视/CC Spotlight Perspective/CC Spotlight CC Spotlight(CC 聚光灯) 主要用途是创建和控制逼真的聚光灯效果。通过调整这些属性,可以模拟出各种不同的照明环境和效果,比如舞台照明、日出日落、特定的颜色照明等。 ◆ ◆ ◆ 效…...
如何在页面中嵌入音频和视频?
聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 嵌入音频⭐ 嵌入视频⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅!这个专栏是为那些对Web开发感兴趣、刚刚踏…...
Unity 中检测射线穿过的所有的物体
在开发中 有个需求,射线要检测所有穿过的物体。 代码如下: using UnityEngine;public class HitCollider : MonoBehaviour {public float raycastDistance Mathf.Infinity;// Update is called once per framevoid Update(){Ray ray Camera.main.Scre…...
LeetCode 29题:两数相除
题目 给你两个整数,被除数 dividend 和除数 divisor。将两数相除,要求 不使用 乘法、除法和取余运算。 整数除法应该向零截断,也就是截去(truncate)其小数部分。例如,8.345 将被截断为 8 ,-2.…...
Axure RP9中使用Echarts示例
目录 在Axure中拖入一个矩形框,并命名tes 进入Echarts官网示例页面https://echarts.apache.org/examples/zh/index.html 选择自己需要的图表,修改数据,并复制左侧js代码 把上面复制的代码替换下方的option{}; javascript: var script docum…...
利用Jmeter做接口测试全流程分析
利用Jmeter做接口测试怎么做呢?过程真的是超级简单。 明白了原理以后,把零碎的知识点填充进去就可以了。这篇文章就来介绍一下如何利用Jmeter做接口测试的流程,主要针对的是功能测试。暂不涉及到自动化测试和性能测试的内容。 一把来说&…...
超级浏览器与指纹浏览器:功能与特点的比较
导语:随着互联网的快速发展,隐私和安全问题日益受到关注。在这个背景下,超级浏览器和指纹浏览器作为定制化浏览器的两个重要类型,各自具有独特的功能和特点。本文将对超级浏览器和指纹浏览器进行比较,帮助读者更好地理…...
云端同步、高效无界:5款免费的跨平台思维导图软件推荐!
思维导图是一种以图形化方式表示思想、概念或任务的方法,可以帮助用户梳理思维、提高记忆和理解。在工作中,思维导图可以用于会议记录、任务规划、项目管理等,帮助提高工作效率和团队协作能力;在学习中,思维导图可以用…...
OpenAI允许网站阻止其网络爬虫;谷歌推出类似Grammarly的语法检查功能
🦉 AI新闻 🚀 OpenAI推出新功能,允许网站阻止其网络爬虫抓取数据训练GPT模型 摘要:OpenAI最近推出了一个新功能,允许网站阻止其网络爬虫从其网站上抓取数据训练GPT模型。该功能通过在网站的Robots.txt文件中禁止GPTB…...
SpringBoot操作Jedis
SpringBoot操作Jedis 1、pom依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://ma…...
实现静态资源访问的几种方法
什么是静态资源? 静态资源是指在服务器端存储的不会变化的文件,如HTML、CSS、JavaScript、图片、音频、视频等文件。这些文件一般不包含动态内容,每次请求时返回的内容都是固定的。 为什么要使用静态资源? 提升网站性能…...
chrome 下 autocomplete=off (禁止记住密码)不起作用解决方案
chrome 下 autocompleteoff (禁止记住密码)不起作用解决方案: 不知道是否是CHROME一个BUG,按说不应该,但事实它确实存在。 因时间关系,懒得查阅官方资料,这类问题解锁容易,思路如下: 初始化设置…...
设计模式-简单工厂模式(静态工厂模式)java实现
介绍 简单工厂模式根据所提供的参数数据返回几个可能类中的一个类的实例。通常返回的类都有一个公共的父类和公共的方法。 意图 提供一个类,负责根据一定的条件创建某一具体类的实例。同时使用工厂模式也是为了隐藏创建对象的过程 角色及其职责 (1)工厂(Creator…...
如何共享笔记本电脑网络
为了让手机连接笔记本网络,我们通常通过在笔记本上安装诸如WiFi共享精灵来实现,其实没有那么麻烦: 1、在电脑上打开“设置”—>选择“网络和Internet”—>选择“移动热点”(如果系统是Windows 7或更低版本,则需要…...
Android 高级进阶知识整理
Android Framework 启动流程 init 进程启动过程 Android系统启动流程 Zygote启动流程及源码分析 APP启动流程 init进程是Android用户空间第一个进程,主要做以下3件事情: 创建和挂载启动所需的文件目录。初始化和启动关键服务,守护关键…...
一文详解 DolphinDB SQL 标准化
为了提升用户体验,降低用户学习成本和脚本迁移复杂度,自 1.30.17 / 2.00.5 版本开始,DolphinDB 逐步支持了标准化 SQL 的书写方法;并于 1.30.22 / 2.00.10 版本起,对标准 SQL 的常用语法和关键字实现了兼容。 1. 与标…...
ATF(TF-A)安全通告汇总
目录计划如下,相关内容补充中,待完成后进行超链接,敬请期待,欢迎您的关注 1、Advisory TFV-1 (CVE-2016-10319) 2、Advisory TFV-2 (CVE-2017-7564) 3、Advisory TFV-3 (CVE-2017-7563) 4、Advisory TFV-4 (CVE-2017-9607) 5、Ad…...
vuejs 设计与实现 - 简单diff算法
DOM 复用与key的作用: DOM 复用什么时候可复用? key 属性就像虚拟节点的“身份证”号,只要两个虚拟节点的 type属性值和 key 属性值都相同,那么我们就认为它们是相同的,即可以进行 DOM 的复用。即 我们通过【移动】来…...
UVa 259 Software Allocation
题目分析 一个计算中心有 101010 台不同的计算机(编号 000 至 999),每台计算机在同一时间只能运行一个应用程序。有 262626 种应用程序,名称分别为 A\texttt{A}A 至 Z\texttt{Z}Z。每天会有用户提交应用程序,同一个应用…...
Win11Debloat:Windows 11系统优化终极指南,免费提升电脑性能50%
Win11Debloat:Windows 11系统优化终极指南,免费提升电脑性能50% 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other changes…...
英雄联盟Akari助手:一键智能配置,释放你的游戏潜能 [特殊字符]
英雄联盟Akari助手:一键智能配置,释放你的游戏潜能 🚀 【免费下载链接】League-Toolkit An all-in-one toolkit for LeagueClient. Gathering power 🚀. 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit 还在…...
终极硬件调试指南:如何用AMD Ryzen SMU工具突破性能瓶颈
终极硬件调试指南:如何用AMD Ryzen SMU工具突破性能瓶颈 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: https://…...
Python机器学习管道:Scikit-learn Pipeline深度解析
Python机器学习管道:Scikit-learn Pipeline深度解析 引言 在Python开发中,机器学习管道是构建和部署机器学习模型的关键。作为一名从Rust转向Python的后端开发者,我深刻体会到Scikit-learn Pipeline在简化机器学习工作流方面的优势。Pipeline…...
2026年获客成本飙升?GEO优化让线索成本降低60%
2026年获客成本飙升?GEO优化让线索成本降低60% 摘要 :传统获客方式成本越来越高,百度竞价按点击付费,展会一次花费数万,线索成本难以下降。本文介绍一种新的获客方式——GEO优化,通过AI搜索优化直接触达目标…...
Midjourney构图进阶实战指南(98%用户从未调过的--sref与--style参数协同逻辑大揭秘)
更多请点击: https://intelliparadigm.com 第一章:Midjourney构图进阶实战指南(98%用户从未调过的--sref与--style参数协同逻辑大揭秘) 在Midjourney V6中, --sref(Style Reference)与 --style…...
别再乱调了!YOLOv8实战中NMS和IoU参数到底怎么设?附真实场景对比图
YOLOv8实战:NMS与IoU参数调优的黄金法则 在目标检测领域,YOLOv8凭借其卓越的性能和易用性已成为众多开发者的首选。然而,许多人在模型推理阶段常常陷入参数调整的困境——尤其是非极大值抑制(NMS)和交并比(IoU)这两个关键参数。不当的设置可…...
OpenAI 模型攻克离散几何 80 年难题:Erdős 单位距离猜想被 AI 证明
OpenAI 模型攻克离散几何 80 年难题:Erdős 单位距离猜想被 AI 证明 一场改写数学史的AI突破 2026年5月20日,OpenAI 宣布其内部通用推理模型成功证明了一个困扰数学界近80年的开放问题——Erdős 单位距离问题(Unit Distance Problem&#…...
如何快速上手Orbit:新手入门10个技巧 [特殊字符]
如何快速上手Orbit:新手入门10个技巧 🚀 【免费下载链接】orbit Experimental spaced repetition platform for exploring ideas in memory augmentation and programmable attention 项目地址: https://gitcode.com/gh_mirrors/orbit1/orbit Orb…...
