计算机网络学习小结_数据链路层

news2025/5/25 17:13:12

数据链路和帧

帧:数据链路层传输基本单元。链路层将网络层传过来的数据构成帧发到链路上,并将发到链路层的帧取出数据交给网络层

数据报/分组/包:网络层传输基本单元

三个基本问题

封装成帧、透明传输、差错检测

封装成帧

概念:将数据在头部和尾部加帧头和帧尾组,数据,帧头,帧尾组成的结构叫帧,是链路层发送的基本单位。帧头和帧尾可用来帧定界,即从发来或收到的一串数据甄别哪里是一个帧的开始和结束,定界可用来对数据帧进行差错检验

透明传输

即帧的数据中如果出现帧头和帧尾,识别帧起始时,会误把数据里的帧头和帧尾当作帧头或帧尾,导致数据未读取完就截取了,只截取了片段。数据里出现的和帧头帧尾编码一样的字节序,数据里的东西(帧头帧尾相同的字节序)不是透明的。

当帧数据里出现了和帧头帧尾相同字节序的数据怎么办?加转义字符,发的时候加,收到的时候去掉

差错检测

数据传输过程中,可能会产生误码,即传输的数据1变成0或者0变成1。这种误码和信噪比有关,信噪比越高误码率越小。链路层广泛使用循环冗余校验(CRC,Cyclic Redundancy Check)来检测这种误码

CRC:发送方和接收方共同商议一个n + 1位除数P,用数据对这个除数P进行模2运算得出n位余数,将原始数据末尾加上这个n位余数就是crc校验,接收方对这个数据同样做模2运算,如果余数不相同则丢弃数据,如果余数相同则接受数据

无比特差错和无传输差错:链路层的CRC校验只能保证帧无比特差错,不能保证其他差错,比如帧丢失,帧乱序,所以仅实现CRC不能叫无传输差错,只能叫无比特差错。链路层不保证无传输差错,仅可保证帧传输无比特差错,无传输差错由上层协议保证

PPP协议

早期通信线路质量较差年代,链路层使用一种可靠传输协议HDLC(高级数据链路控制),后来用的少了,取代之的是简单的多的PPP协议(点对点协议,Point-To-Point)

ppp协议保证差错检测

ppp帧格式

帧头4个字段帧尾2个字段

字段含义

帧头帧尾的F表示帧定界符,标志帧的开头和结束。两个F出现时表示这是个空帧,应该丢弃(会不会是没有数据中间是空的,开头和结尾的F连在一起变成两个F)

A和C表示2个固定字符,还没有明确含义

协议字段表示数据类型,2个字节

帧尾的FCS是冗余校验的字串

字节填充

即帧数据中出现帧开始结束标识符等字符时处理逻辑是添加填充字符比如转义字符,虽然填充字符后帧长度会变长,但接受后进行相反处理可还原出原始帧

零比特填充

因为ppp协议帧标志字段比特由连续超过5个1,所以发数据时如果发现至少有5个连续的1则在1后面加一个比特0,可以让数据和标志符区分开,接收方如果发现5个连续的1就把五个连续1后面的位删除

ppp协议工作状态

使用广播信道的链路层

局域网数据链路层

共享信道方法:静态划分(频分,时分,波分等,代价高,不太适用)和动态划分(随机接入和受控接入)

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

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

相关文章

阿木实验室联合openEuler开源社区-Embedded SlG组(海思项目)参加第五届「开源之夏」,参赛学生火热招募中...

开源之夏是中国科学院软件研究所发起的“开源软件供应链点亮计划”系列暑期活动,旨在鼓励高校学生积极参与开源软件的开发维护,促进优秀开源软件社区的蓬勃发展。活动联合各大开源社区,针对重要开源软件的开发与维护提供项目开发任务&#xf…

java+ vue.js+uniapp一款基于云计算技术的企业级生产管理系统,云MES源码 MES系统如何与ERP系统集成?

java vue.jsuniapp一款基于云计算技术的企业级生产管理系统,云MES源码,MES系统如何与ERP系统集成? MES系统(制造执行系统)与ERP系统(企业资源规划系统)的集成可以通过多种方式实现,这…

3D工业视觉

前言 本文主要介绍3D视觉技术、工业领域的应用、市场格局等,主要技术包括激光三角测量、结构光、ToF、立体视觉。 一、核心内容 3D视觉技术满足工业领域更高精度、更高速度、更柔性化的需求,扩大工业自动化的场景。 2D视觉技术基于物体平面轮廓&#…

LabVIEW超高温高压流变仪测试系统

LabVIEW超高温高压流变仪测试系统 超高温高压流变仪广泛应用于石油、天然气、化工等行业,用于测量材料在极端条件下的流变特性。随着计算机技术、测试技术和电子仪器技术的快速发展,传统的流变仪测试方式已无法满足现代工业的需求。因此,开发…

JavaFX学习教程一

一、准备工作 Jdk 从 1.8 起支持 JavaFx,到 Jdk 11 不再包含 JavaFx,而是改为 OpenJFX,需要另行安装。 以下是JavaFX的官方教程: java8(java1.8)的客户端技术说明指南(开发工具为NetBeans IDE ):客户端技术&#xf…

C++—结构体

结构体(struct),是一种用户自定义复合数据类型,可以包含不同类型的不同成员。 结构体的声明定义和使用的基本语法: // 声明结构体struct 结构体类型 { 成员1类型 成员1名称; ...成员N类型 成员N名称; };除声明…

rockylinux 利用nexus 搭建私服yum仓库

简单说下为啥弄这个私服,因为自己要学习一些东西,比如新版的k8s等,其中会涉及到一些yum的安装,为了防止因网络问题导致yum安装失败,和重复下载,所以弄个私服,当然也有为了意外保障的想法&#x…

网络安全技术与应用:远程控制与数据库安全

实验准备 软件:VMware Workstation Pro 虚拟机:Red Hat Enterprise Linux 7 服务器,Red Hat Enterprise Linux 7 客户端 网络模式:NAT模式 1、配置服务器及客户端网络 服务器IP 客户端IP 测试相互通信 在客户机上设置镜像&#…

nssctf——web

[SWPUCTF 2021 新生赛]gift_F12 1.打开环境后,这里说要900多天会有flag,这是不可能的 2.f12查看源码,然后在html中查找flag (在最上方的栏目中,或者按ctrlf) [SWPUCTF 2021 新生赛]jicao 1.打开环境是一段…

【MySQL】MySQL的安装和基本概念

MySQL的安装和基本概念 一、环境安装1、环境及配置2、下载安装 二、基本概念1、主流数据库2、mysql和mysqld的区别和概念(1)概念1:了解CS结构(2)概念2:数据库指的是什么(3)概念3&…

模板中的右值引用(万能引用)、引用折叠与完美转发

模板中的右值引用(万能引用)、引用折叠与完美转发 文章目录 模板中的右值引用(万能引用)、引用折叠与完美转发一、万能引用与引用折叠1. 模板中的右值引用2. 自动类型推导(auto)与万能引用3. 引用折叠与万能引用4. lambda表达式捕…

巨某量引擎后台登录实战笔记 | Playwright自动化框架

前言 本文章中所有内容仅供学习交流,抓包内容、敏感网址、数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系我立即删除! 入正题看看滑块是怎么个事…

数字孪生项目开发流程

数字孪生(Digital Twin)项目的开发流程涉及多个步骤,从初始概念到最终部署和维护。以下是一个典型的数字孪生项目开发流程,通过这些步骤,开发团队可以有效地规划、设计、开发和维护数字孪生项目,确保其在实…

YOLOv5 Exception: Dataset not found.

在使用yolo v5训练时弹出了这个报错,就是没有找到数据集,dataset.yaml文件里面的train 和val 的路径配置不对,开始我是使用相对路径,后面修改成绝对路径就可以了

Ubuntu23.04开机时whoopsie-upload-all占用CPU 100%,风扇狂转

Ubuntu23.04开机时,风扇狂转散热,打开终端,输入top -c,查看占用cpu最高的进程,发现是python3在执行whoopsie-upload-all脚本文件。 什么是whoopsie? 这是“Ubuntu错误报告”守护程序,默认安装在…

DAB协议解读ETSI TS 103 461

一、说明 数字信号广播( Digital Audio Broadcasting 简称DAB)是继AM、FM传统模拟广播之后的第三代广播--数字信号广播,它提供了接近CD质量的声音,广播及商机无限的附加数据服务,具有抗噪声、抗干扰、抗电波传播衰落、…

采用LoRA方法微调llama3大语言模型

文章目录 前言一、Llama3模型简介1.下载llama3源码到linux服务器2.安装依赖3.测试预训练模型Meta-Llama-3-8B4.测试指令微调模型Meta-Llama3-8B-Instruct5.小结 二、LoRA微调Llama31.引入库2.编写配置文件3.LoRA训练的产物 三、测试新模型效果1.编写配置文件2.运行配置文件&…

(Qt) 默认QtWidget应用包含什么?

文章目录 ⭐前言⭐创建🛠️选择一个模板🛠️Location🛠️构建系统🛠️Details🛠️Translation🛠️构建套件(Kit)🛠️汇总 ⭐项目⚒️概要⚒️构建步骤⚒️清除步骤 ⭐Code🔦untitled…

Arcpy安装和环境配置

一、前言 ArcPy 是一个以成功的arcgisscripting 模块为基础并继承了arcgisscripting 功能进而构建而成的站点包。目的是为以实用高效的方式通过 Python 执行地理数据分析、数据转换、数据管理和地图自动化创建基础。该包提供了丰富纯正的 Python 体验,具有代码自动…

思维导图-VPN

浏览器集成了受信任的机构的证书