当前位置: 首页 > news >正文

数据链路层(四):数据链路层协议

目录

  • 1 数据链路层协议
    • 1.1 异步协议
    • 1.2 同步协议
    • 1.3 局域网数据链路层协议
    • 1.4 广域网数据链路层协议

1 数据链路层协议

数据链路层“协议”也称为“规程”,数据链路控制协议也称数据链路控制规程。
数据链路控制协议主要分为异步协议和同步协议两大类。

1.1 异步协议

数据链路层的异步协议是一种通信协议,它允许数据在没有固定时间间隔的情况下传输。这种协议主要用于处理那些不需要连续发送大量数据的通信场景。

  • 传输单位:字符
  • 工作原理:
    • a.发送数据:发送方在准备好发送数据时,首先发送一个起始位,然后是数据位,最后是停止位。
    • b.接收数据:接收方在任何时刻都可以开始接收数据。它通过检测起始位来同步发送方的数据流,并在接收到停止位时结束接收。接收方需要对每个接收到的字符进行处理,如校验、解码等。
    • c.错误检测:异步协议通常包含错误检测机制,如奇偶校验位,以确保数据的完整性。如果接收到的数据出现错误,接收方可以请求发送方重发。
    • d.流量控制:为了防止数据丢失或溢出,异步协议可能采用简单的流量控制机制,如XON/XOFF,其中XON字符表示允许发送数据,而XOFF字符表示停止发送数据。
  • 基本特点:
    • a.字符计数:异步协议通常以字符为单位发送数据。每个字符包括数据位、起始位和停止位。起始位标志着字符的开始,而停止位则表示字符的结束。
    • b.起始位和停止位:起止式通信规程是异步协议的典型,它是靠起始为(逻辑0)和停止位(逻辑1)来实现字符内比特的同步的。这样的设计可以使接收方在任何时刻同步到发送方的数据流。
    • c.无固定时间间隔:异步通信不要求发送方和接收方在固定的时间间隔内交换数据。这意味着发送方可以在任何时刻发送数据,接收方则在准备好接收数据时开始接收。
    • d.流量控制:由于异步协议不保证发送方和接收方的同步,因此可能需要额外的流量控制机制来防止数据丢失或溢出。
  • 缺点:信道利用率很低,原因是:每个传输字符都要添加诸如起始位、校验位、停止位等冗余位
  • 应用场景:一般用于数据速率较低的场合,主要是用在调制解调器中

异步协议是一种灵活的通信方式,适用于数据传输不需要实时性或连续性的场景。它通过起始位和停止位来标识数据的开始和结束,允许数据在任何时刻被发送和接收,同时具备一定的错误检测和简单的流量控制机制。

1.2 同步协议

数据链路层的同步协议是一种在通信系统中用于确保数据正确传输的机制。与异步协议不同,同步协议要求发送方和接收方在固定的时间间隔内交换数据。这种协议主要用于那些需要连续发送大量数据的场景,如文件传输或实时通信。

  • 传输单位:由字符或比特组成的数据块
  • 工作原理:
    • a.建立同步:在通信开始之前,发送方和接收方需要通过交换同步序列来建立同步。这通常涉及到发送方发送一个特定的同步序列,接收方检测到该序列并确认同步。
    • b.发送数据:一旦同步建立,发送方就可以开始按照固定的时间间隔发送数据。每个数据单元都被封装在一个帧中,并以同步序列作为标识。
    • c.接收和处理数据:接收方在检测到同步序列后,开始接收数据帧。接收到的数据帧会被检查错误,并进行必要的处理,如解封装、解码等。
    • d.错误处理:如果接收方检测到错误,它会请求发送方重发受影响的数据帧。这通常涉及到发送一个错误指示信号,如否定应答(NAK)或选择重传(SRT)。
    • e.维持同步:在整个通信过程中,发送方和接收方需要持续维持同步。如果同步丢失,双方需要重新建立同步。
  • 基本特点:
    • a.固定时间间隔:同步协议要求数据按照固定的时间间隔发送。这意味着发送方和接收方必须在相同的速率下工作,以保证数据的连续性和一致性。
    • b.帧结构:在同步协议中,数据通常被组织成帧(frame)。每个帧包含一个完整的数据单元,如一个文件块或一段音频数据。帧的开始和结束由特定的同步序列(如特定的比特模式)标识。
    • c.同步序列:同步序列是同步协议中的关键组成部分,它用于帮助接收方识别帧的开始和结束。同步序列通常是预先定义好的,且具有独特的比特模式,以便于接收方进行同步。
  • 协议分类:
    • 面向字符(字节)的协议(Character-Oriented Protocol)
      • 传输单位:位
      • 实现方式:通过发送特定的比特组合来控制通信过程,比如发送命令或接收响应。这些控制信息可以和普通的数据一起在同一通信链路上发送,以便实时监控和管理链路的状态。简单来说,面向比特的协议能在传输数据的同时,用特定的比特模式来管理和调整通信链路。
      • 基本特点:
        • 通过发送特定的比特组合来控制通信过程
        • 控制信息可以和普通的数据一起在同一通信链路上发送
      • 典型代表:高级数据链路控制HDLC(High-level Data Link Control)
        • 特点:支持半双工和全双工通信
        • 所有面向比特的协议都和高级数据链路控制HDLC有关
    • 面向比特的协议(Bit-Oriented Protocol):
      • 面向字符的协议效率比面向比特的协议低,例如BSC规程,现在不大采用。

同步协议是一种确保数据在固定时间间隔内正确传输的机制,适用于需要连续数据流的通信场景。它通过同步序列来标识数据帧的开始和结束。同步协议要求发送方和接收方在相同的速率下工作,以保证数据的连续性和一致性。

1.3 局域网数据链路层协议

局域网数据链路层协议主要由IEEE 802小组制定,它们都涵盖了物理层和数据链路层。这些标准包括以下几个:

  • Ethernet(以太网)
  • Token-Ring(令牌环)
  • Token-Bus(令牌总线)
  • WLAN(无线局域网)

1.4 广域网数据链路层协议

广域网是基于交换技术的网络,网络中的中间节点负责将数据转发到下一个节点,节点间的线路利用率高。

广域网数据链路层技术复杂,它需要将数据封装成适合广域网传输的帧,以保证数据的可靠传输。

广域网通信子网部分由公共传输系统组成,提供相应服务的一般由电信运营商,如电信、联通、移动等。

广域网数据链路层标准有以下几个:

  • HDLC(高级数据链路控制)
  • X.25(公共分组交换网)
  • PPP(点到点协议)
  • Frame Relay(帧中继)

相关文章:

数据链路层(四):数据链路层协议

目录 1 数据链路层协议1.1 异步协议1.2 同步协议1.3 局域网数据链路层协议1.4 广域网数据链路层协议 1 数据链路层协议 数据链路层“协议”也称为“规程”,数据链路控制协议也称数据链路控制规程。 数据链路控制协议主要分为异步协议和同步协议两大类。 1.1 异步协…...

#Linux系统编程(孤儿进程及僵尸进程以及wait函数)

(一)发行版:Ubuntu16.04.7 (二)记录: (1)概述 在 Unix/Linux 系统中,正常情况下,子进程是通过父进程创建的,且两者的运行是相互独立的&#xff…...

苍穹外卖项目-01(开发流程,介绍,开发环境搭建,nginx反向代理,Swagger)

目录 一、软件开发整体介绍 1. 软件开发流程 1 第1阶段: 需求分析 2 第2阶段: 设计 3 第3阶段: 编码 4 第4阶段: 测试 5 第5阶段: 上线运维 2. 角色分工 3. 软件环境 1 开发环境(development) 2 测试环境(testing) 3 生产环境(production) 二、苍穹外卖项目介绍 …...

学习笔记(16)函数防抖和节流

JavaScript 中的函数防抖(Debounce)和函数节流(Throttle)是两种优化频繁触发事件回调函数执行的技术,它们主要用于限制函数调用的频率,尤其是在处理高频率触发且响应开销较大的用户交互场景时。 函数防抖 …...

【揭秘】空号检测平台挑选秘籍:让每一分钱都花在“刀刃”上

在数字化营销时代,精准的数据是企业制胜的关键。而空号检测平台作为数据清洗的重要工具,其选择的正确与否直接影响到营销效果与成本效益。如何在众多平台中慧眼识珠,找到最适合自己的“黄金搭档”?今天,就跟着企讯通一…...

Linux源码包安装

目录 一、transmission源码包安装 二、 nginx源码包安装 一、transmission源码包安装 1、下载编译环境所需的软件包依赖 2、下载transmision源码包到用户主目录下 https://github.com/transmission/transmission/releases/download/4.0.5/transmission-4.0.5.tar.xz 3、解压…...

【P1328】[NOIP2014 提高组] 生活大爆炸版石头剪刀布

[NOIP2014 提高组] 生活大爆炸版石头剪刀布 题目背景 NOIP2014 提高组 D1T1 题目描述 石头剪刀布是常见的猜拳游戏:石头胜剪刀,剪刀胜布,布胜石头。如果两个人出拳一样,则不分胜负。在《生活大爆炸》第二季第 8 集中出现了一种…...

查看k8s中的secret

kubectl get secret xxx -o yaml -n xxxx参考: Managing Secrets using kubectl...

[深度学习]yolov8+pyqt5搭建精美界面GUI设计源码实现五

【简单介绍】 依托先进的目标检测算法YOLOv8与灵活的PyQt5界面开发框架,我们倾力打造出了一款集直观、易用与功能强大于一体的目标检测GUI界面软件。通过深度融合YOLOv8在目标识别领域的出色性能与PyQt5的精美界面设计,我们成功推出了一款高效且稳定的软…...

C# get set 访问器

在C#中get 访问器set 访问器属性的优势例子 在C#中 get 和 set 是访问器(accessors)的关键词,它们用于定义属性的读取和写入行为。属性是一种特殊的类成员,它提供了对字段(field)或计算结果的灵活访问。 …...

【OpenGL】使用 python + Qt + OpenGL 的现代渲染

伴随资源 目录 一、说明二、 PyQt4三、PyOpenGL四、OpenGL 管线五、Python集成开发环境5.1 Emacs配置5.2 pycharm环境 六、你好,OpenGL!七、QGL控件八、平截头体.svg九、定义几何9.1 立即模式与保留模式9.2 使用 VBO 定义 Cube 十、渲染立方体十一、渲…...

vlan、三层交换机、网关、DNS、子网掩码、MAC地址详解

vlan、三层交换机、网关、DNS、子网掩码、MAC地址详解 一、 什么是VLAN? VLAN中文是“虚拟局域网”。 ​ LAN可以是由少数几台家用计算机构成的网络,也可以是数以百计的计算机构成的企业网络。 ​ VLAN所指的LAN特指使用路由器分割的网络——也就是广…...

嵌入式|蓝桥杯STM32G431(HAL库开发)——CT117E学习笔记11:数字电位器MCP4017

系列文章目录 嵌入式|蓝桥杯STM32G431(HAL库开发)——CT117E学习笔记01:赛事介绍与硬件平台 嵌入式|蓝桥杯STM32G431(HAL库开发)——CT117E学习笔记02:开发环境安装 嵌入式|蓝桥杯STM32G431(…...

CTF题型 nodejs(1) 命令执行绕过典型例题

CTF题型 nodejs(1) 命令执行绕过 文章目录 CTF题型 nodejs(1) 命令执行绕过一.nodejs中的命令执行二.nodejs中的命令绕过1.编码绕过2.拼接绕过3.模板字符串4.Obejct.keys5.反射6.过滤中括号的情况典型例题1.[GFCTF 2021]ez_calc2.[西湖论剑 2022]Node Magical Login 一.nodejs中…...

Mybatis在SpringBoot中是如何被加载执行

首先依赖于springboot的自动装配EnableAutoConfiguration注解,这个注解最终帮助我们读取mybatis-spring-boot-autoconfigure-x.x.x.jar中的META-INF\spring.factories配置类: org.springframework.boot.autoconfigure.EnableAutoConfiguration\ org.myb…...

数据采集用,集成了主流工业通讯协议

IoTClient 是一个物联网设备通讯协议实现客户端,集成了主流工业通讯协议,包括主流PLC通信读取、ModBus协议、Bacnet协议等。该组件基于.NET Standard 2.0,适用于.NET的跨平台开发,可在Windows、Linux等系统上运行,甚至…...

Django(三)-搭建第一个应用(2)

一、编写更多视图 问题详情页——展示某个投票的问题和不带结果的选项列表。问题结果页——展示某个投票的结果。投票处理器——用于响应用户为某个问题的特定选项投票的操作。 # 1.问题详情页:展示某个投票的问题和不带结果的选项列表 def detail(request,questi…...

求助:配置脚手架代理,跨域问题proxyTable配置无效,访问后显示404?

已经在这里卡了一天了。找了很多解决办法,比如重启,修改proxytable等等,但是每次但是404,求助各位大佬,怎么解决? 1、代码 (1)config的index.js (2) App.v…...

【4月】组队打卡《山有木Python特征工程极简入门》

活动名称 CDA Club 第2期《山有木兮Python数据分析极简入门》组队打卡 活动介绍 本次打卡活动由CDA俱乐部旗下学术部主办。目的是通过数据分析科普内容,为数据分析爱好者提供学习和交流的机会。方便大家利用碎片化时间在线学习,以组队打卡的形式提升学…...

Wireshark 抓包

启动时选择一个有信号的网卡双击打开,或者在 捕获选择里打开选择网卡。 然后输出下面的规则就可以抓到报文了。 最上面的三条是建立连接时的三次握手, 下面是发送数据hello 对应两条数据 最下面的4条是断时的4次挥手...

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板,载入页面后,会显示引导弹窗,适用于引导用户使用页面,点击完成后,会显示下一个引导弹窗,直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…...

挑战杯推荐项目

“人工智能”创意赛 - 智能艺术创作助手:借助大模型技术,开发能根据用户输入的主题、风格等要求,生成绘画、音乐、文学作品等多种形式艺术创作灵感或初稿的应用,帮助艺术家和创意爱好者激发创意、提高创作效率。 ​ - 个性化梦境…...

SkyWalking 10.2.0 SWCK 配置过程

SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外,K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案,全安装在K8S群集中。 具体可参…...

【kafka】Golang实现分布式Masscan任务调度系统

要求: 输出两个程序,一个命令行程序(命令行参数用flag)和一个服务端程序。 命令行程序支持通过命令行参数配置下发IP或IP段、端口、扫描带宽,然后将消息推送到kafka里面。 服务端程序: 从kafka消费者接收…...

服务器硬防的应用场景都有哪些?

服务器硬防是指一种通过硬件设备层面的安全措施来防御服务器系统受到网络攻击的方式,避免服务器受到各种恶意攻击和网络威胁,那么,服务器硬防通常都会应用在哪些场景当中呢? 硬防服务器中一般会配备入侵检测系统和预防系统&#x…...

(二)原型模式

原型的功能是将一个已经存在的对象作为源目标,其余对象都是通过这个源目标创建。发挥复制的作用就是原型模式的核心思想。 一、源型模式的定义 原型模式是指第二次创建对象可以通过复制已经存在的原型对象来实现,忽略对象创建过程中的其它细节。 📌 核心特点: 避免重复初…...

【JavaSE】绘图与事件入门学习笔记

-Java绘图坐标体系 坐标体系-介绍 坐标原点位于左上角,以像素为单位。 在Java坐标系中,第一个是x坐标,表示当前位置为水平方向,距离坐标原点x个像素;第二个是y坐标,表示当前位置为垂直方向,距离坐标原点y个像素。 坐标体系-像素 …...

多模态大语言模型arxiv论文略读(108)

CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文标题:CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文作者:Sayna Ebrahimi, Sercan O. Arik, Tejas Nama, Tomas Pfister ➡️ 研究机构: Google Cloud AI Re…...

【7色560页】职场可视化逻辑图高级数据分析PPT模版

7种色调职场工作汇报PPT,橙蓝、黑红、红蓝、蓝橙灰、浅蓝、浅绿、深蓝七种色调模版 【7色560页】职场可视化逻辑图高级数据分析PPT模版:职场可视化逻辑图分析PPT模版https://pan.quark.cn/s/78aeabbd92d1...

招商蛇口 | 执笔CID,启幕低密生活新境

作为中国城市生长的力量,招商蛇口以“美好生活承载者”为使命,深耕全球111座城市,以央企担当匠造时代理想人居。从深圳湾的开拓基因到西安高新CID的战略落子,招商蛇口始终与城市发展同频共振,以建筑诠释对土地与生活的…...