计算机网络——数据链路层(数据链路层功能概述)

计算机网络——数据链路层(数据链路层功能概述)

  • 数据链路层的功能
  • 数据链路层的基本概念
  • 封装成帧和透明传输

我们之前已经学完了物理层的所有内容,今天开始我们要进入数据链路层的学习,如果有小伙伴对物理层的内容感兴趣的话,可以点击这里:

https://blog.csdn.net/qq_67693066/category_12609808.html

我们今天来学习数据链路层的功能

数据链路层的功能

数据链路层作为计算机网络OSI七层模型中的第二层,位于物理层之上,网络层之下,它在物理层提供的比特流传输服务基础上,提供了更为复杂和高级的服务。数据链路层的主要功能包括但不限于以下几个方面:

  1. 成帧(帧同步)
  • 数据链路层将从网络层接收的数据分割并封装成帧,每个帧都有固定的格式,包括帧头、数据部分和帧尾。帧头包含诸如源地址、目的地址等控制信息,帧尾则通常包含用于检测错误的校验序列。
  • 接收方通过特定的帧定界符或标志位来识别帧的开始和结束,实现帧同步。
  1. 链路管理
  • 对于面向连接的服务,数据链路层负责链路的建立、维护和释放过程,例如PPP协议中的LCP阶段。
  1. 物理地址识别
  • 数据链路层使用物理地址(如MAC地址)来进行节点间的通信,确保数据帧能够被正确送达目标主机。
  1. 错误检测与纠正
  • 实现差错控制机制,如循环冗余校验(CRC)或其他校验方式,检测数据帧在传输过程中是否出错。
  1. 流量控制
  • 控制数据传输速率,防止发送方过快发送数据导致接收方无法及时处理,从而避免数据丢失或网络拥塞。
  1. 透明传输
  • 保证任意数据都能被正确传输,即使数据中包含了特殊字符(如帧界定符),也需要通过字节填充或字符转义等方法来解决透明性问题。
  1. 数据封装与解封装
  • 将来自网络层的数据报文添加必要的控制信息封装成帧进行传输,并在接收端将接收到的帧解封装还原为数据报文。
    在这里插入图片描述
    在这里插入图片描述

综上所述,数据链路层通过上述功能确保了在两个相邻节点之间进行可靠的数据传输,并为上层网络层提供了逻辑无差错的数据传输服务。

在这里插入图片描述在这里插入图片描述

数据链路层的基本概念

数据链路层是开放系统互连(OSI)参考模型中的第二层,它直接建立在物理层基础之上,为网络层提供服务。以下是数据链路层的一些基本概念:

  1. 链路(Link)
  • 链路指的是两个相邻网络节点之间的物理通道,比如一根铜缆、一段光纤、或者无线通信的电磁频谱范围。它是用来传输数据的物理媒介。
  1. 结点(Node)
  • 在数据链路层上,结点一般指计算机、交换机、路由器等设备,它们通过链路相互联接,参与到数据传输过程中。
  1. 数据链路(Data Link)
  • 数据链路是在物理链路上增加控制数据传输的协议之后形成的逻辑通信路径,它实现了比特流的组织、传输和错误控制等功能。
  1. 协议(Protocol)
  • 数据链路层协议定义了两个对等实体间如何进行通信的规则,包括数据帧的格式、编码、错误检测、确认机制、流量控制和访问控制等具体过程。
  1. 实体(Entity)和对等实体(Peer Entity)
  • 在数据链路层参与通信的任何设备或软件组件被称为实体;当这些实体遵循相同的协议并且可以直接相互交互时,则称它们为对等实体。
  1. 服务(Services)
  • 数据链路层向上层(即网络层)提供服务,主要包括通过帧的传输来实现数据的可靠传输,这可能涉及到帧的组装、拆分、寻址、错误检测与纠正、流量控制等服务。
  1. 协议数据单元(PDU)
  • 在数据链路层,PDU被称为“帧”(Frame)。数据链路层接收网络层传递的数据包,将其封装成帧,并附加相应的地址和控制信息。
  1. 信道类型
  • 数据链路层的信道可以分为两类:
  • 点对点通信(Point-to-Point):两个单一设备之间的直接连接,一对一通信方式。
  • 广播通信(Broadcast):在一个共享媒体上传输,使得所有相连的设备都能接收到同一份数据,一对多通信方式。
    在这里插入图片描述

总之,数据链路层的核心任务是确保经过物理层传输的数据的可靠性,通过对原始比特流的处理,提供一种无差错的、有序的数据传输服务。同时,它还负责处理物理层不可靠带来的各种问题,比如丢包、重传、流量控制等,为上层网络层提供更加稳定的数据传输环境。

封装成帧和透明传输

封装成帧(Framing)
封装成帧是数据链路层的重要功能之一。它指的是在数据链路层将上层(通常是网络层)传来的数据加上帧头和帧尾,形成一个完整且独立的数据传输单元,这个单元被称为帧。帧头通常包含源地址、目的地址以及其他控制信息,而帧尾包含用于检测数据传输错误的校验码(如CRC校验)。

具体流程如下:

  1. 数据链路层在接收到网络层的数据报文后,在其前后添加特定的首部和尾部信息。
  2. 首部信息可能包括源和目的MAC地址、协议类型标识等。
  3. 尾部信息通常包含校验序列,用于在接收端验证数据在传输过程中是否发生错误。
  4. 成帧后的数据能够被物理层准确识别并进行传输,同时在接收端也能准确地恢复原始的数据报文。
    在这里插入图片描述

透明传输(Transparent Transmission)
透明传输是指数据链路层对于上层传输的数据不加任何限制,不论数据内容包含何种比特组合,都能够准确无误地进行传输,就像数据链路层不存在一样。但在实际物理传输过程中,可能会遇到一些特殊情况,比如某些特定的比特序列恰好与帧界定符相同,这就可能导致帧边界混淆。
在这里插入图片描述

为了实现透明传输,需要采用以下几种机制:

  • 字符计数法:帧首部放置一个字段,用于记录帧内数据区字符的总数(通常是ASCII字符的数量)。然而,这种方法存在的问题是,如果计数值字段本身发生了错误,接收方将无法准确识别帧的结束位置,导致同步丢失
    在这里插入图片描述
  • 字符填充法:当数据中有帧定界符时,在其前插入一个特殊的转义字符,并在其后重新插入定界符以区别数据中的定界符和真正的帧结尾
    在这里插入图片描述在这里插入图片描述
  • 零比特填充法(如在以太网中):如果数据中连续出现了多个1比特(如在曼彻斯特编码中表示帧起始和结束的特定模式),则在传输时会在连续的1比特之间自动插入一个0比特,接收端再按照规定移除这些额外插入的0比特。
    在这里插入图片描述
  • 违规编码法:设计一种编码方案,使得数据中不可能自然出现与帧界定符一样的比特序列。
    在这里插入图片描述

通过以上方法,数据链路层能够确保任何类型的数据都能不受干扰地在网络中进行透明传输,既不会因为数据内容影响到帧的识别,也不会因帧边界模糊而导致数据解析错误。

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

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

相关文章

MySQL数据库:索引

一、索引: 1. 索引的概念: 索引是一个排序的列表,在这个列表中存储着索引的值和包含这个值的数据所在行的物理地址。 使用索引后可以不用扫描全表来定位某行的数据,而是先通过索引表找到该行数据对应的物理地址然后访问相应的数据…

Kubernetes(k8s)集群健康检查常用的五种指标

文章目录 1、节点健康指标2、Pod健康指标3、服务健康指标4、网络健康指标5、存储健康指标 1、节点健康指标 节点状态:检查节点是否处于Ready状态,以及是否存在任何异常状态。 资源利用率:监控节点的CPU、内存、磁盘等资源的使用情况&#xf…

vue 安装脚手架报错 certificate has expired

vue 安装脚手架的时候报错,报错信息如下: 错误信息:npm ERR! request to https://registry.npm.taobao.org/vue%2fcli failed, reason: certificate has expired 翻译:npm ERR!请求到https://registry.npm.taobao.org…

上位机图像处理和嵌入式模块部署(qmacvisual图像预处理)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 不管大家是在读书的时候学习的图像处理,还是在后来的工作中,重新学习了图像处理,相信大家对图像预处理的概念并…

【Linux实践室】Linux用户管理实战指南:新建与删除用户操作详解

🌈个人主页:聆风吟_ 🔥系列专栏:Linux实践室、网络奇遇记 🔖少年有梦不应止于心动,更要付诸行动。 文章目录 一. ⛳️任务描述二. ⛳️相关知识2.1 🔔Linux创建用户命令2.1.1 知识点讲解2.1.2 案…

1Panel应用推荐:DataEase开源数据可视化分析工具

1Panel(github.com/1Panel-dev/1Panel)是一款现代化、开源的Linux服务器运维管理面板,它致力于通过开源的方式,帮助用户简化建站与运维管理流程。为了方便广大用户快捷安装部署相关软件应用,1Panel特别开通应用商店&am…

html第一次作业

常用标签 0, 骨架&#xff08;&#xff01;tap&#xff09; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><t…

mysql字段多个值,mybatis/mybatis-plus匹配查询

mysql中有一个字段是字符串类型的&#xff0c;category字段值有多个用逗号分割的&#xff0c;例如&#xff1a;娱乐,时尚美妆,美食 。现在想实现这么一个功能&#xff0c; 前端传参 字符串&#xff0c;美食,娱乐。现在想在mybatis的xml中实现&#xff0c;查询&#xff0c;能查到…

vue3+element Plus form 作为子组件,从父组件如何赋值?

刚开始接触vue3时&#xff0c;碰到一个很low的问题&#xff0c;将form作为子组件&#xff0c;在页面中给form表单项输入内容&#xff0c;输入框不显示值&#xff0c;知道问题出在哪&#xff0c;但因为vue3组合式api不熟悉&#xff0c;不知从哪下手... 效果图&#xff1a; 父组…

华为中心AP 配置入侵防御实验

配置入侵防御示例 组网图形 图1 入侵防御组网图 组网需求配置思路操作步骤中心AP的配置文件 组网需求 如图1所示&#xff0c;某企业部署了WLAN网络&#xff0c;内网用户可以访问Internet的Web服务器。现需要在中心AP上配置入侵防御功能&#xff0c;具体要求如下&#xff1a; 保…

蓝桥杯 2022 省B 李白打酒加强版

这题用递归暴力的方法如下&#xff1a; #include<iostream> #include<bits/stdc.h> using namespace std; int num; int N,M; void dfs(int now,int n,int m) {if(now<0 || n>N ||m>M)return ;if(nN && mM){if(now1)num1;return;}dfs(now-1,n,m1…

InnoDB 缓存

本文主要聊InnoDB内存结构, 先来看下官网Mysql 8.0 InnoDB架构图 MySQL :: MySQL 8.0 Reference Manual :: 17.4 InnoDB Architecture 如上图所示,InnoDB内存主要包含Buffer Pool, Change Buffer, Log Buffer, Adaptive Hash Index Buffer Pool 其实 buffer pool 就是内存中的…

C#,图论与图算法,计算无向连通图中长度为n环的算法与源代码

1 无向连通图中长度为n环 给定一个无向连通图和一个数n,计算图中长度为n的环的总数。长度为n的循环仅表示该循环包含n个顶点和n条边。我们必须统计存在的所有这样的环。 为了解决这个问题,可以有效地使用DFS(深度优先搜索)。使用DFS,我们可以找到特定源(或起点)的长度…

数据库被.[Goodmorningfriends@onionmail.org].faust勒索病毒加密,能恢复吗?

.faust勒索病毒有什么特点及危害&#xff1f; .faust勒索病毒是一种恶意软件&#xff0c;以其复杂的加密技术和勒索行为而闻名。这种病毒的主要目标是通过加密受害者的数据文件&#xff0c;然后勒索赎金以解密这些文件。它通常通过恶意附件、恶意链接或潜在的不安全下载源传播&…

Linux源码包安装

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

【PyTorch][chapter 22][李宏毅深度学习][ WGAN]【实战三】

前言&#xff1a; 本篇主要讲两个WGAN的两个例子&#xff1a; 1 高斯混合模型 WGAN实现 2 MNIST 手写数字识别 -WGAN 实现 WGAN 训练起来蛮麻烦的,如果要获得好的效果很多超参数需要手动设置 1&#xff1a; 噪声的维度 2: 学习率 3&#xff1a; 生成器&#xff0c;鉴别器…

第六十二回 宋江兵打大名城 关胜议取梁山泊-飞桨ONNX推理部署初探

石秀和卢俊义在城内走投无路&#xff0c;又被抓住。梁中书把他两个人押入死牢。蔡福把他俩关在一处&#xff0c;好酒好菜照顾着&#xff0c;没让两人吃苦。 第二天就接到城外梁山泊的帖子&#xff0c;说大军已经来到&#xff0c;要替天行道&#xff0c;让他放人&#xff0c;并…

短视频矩阵系统---php7.40版本升级自研

短视频矩阵系统---php7.40版本升级自研 1.部署及搭建 相对于其他系统&#xff0c;该系统得开发及部署难度主要在各平台官方应用权限的申请上&#xff0c;据小编了解&#xff0c;目前抖音短视频平台部分权限内侧名额已满&#xff0c;巧妇难为无米之炊&#xff0c;在做相关程序…

​酒店小程序开发的功能与优势解析

随着科技的快速发展和移动互联网的普及&#xff0c;越来越多的服务行业开始尝试利用小程序来提供便捷的服务。对于酒店业来说&#xff0c;开发一个酒店小程序不仅可以提升用户体验&#xff0c;还有助于提高运营效率。本文将详细介绍酒店小程序的开发功能以及它的优势。 一、酒…

视觉信息处理和FPGA实现第5次作业-Matlab实现图像逆时针旋转90度

一、Matlab2022a安装 链接&#xff1a;https://pan.quark.cn/s/6e177bc7c11d 提取码&#xff1a;dKNN 二、Matlab使用 2.1 新建一个脚本文件&#xff08;.m文件&#xff09; 2.2 另存为到便于归档的地方 考虑到.m文件如果不是全英文路径&#xff0c;也有可能会出问题&#…