【笔记】计算机网络——数据链路层

news2025/3/21 2:44:45

概述

链路是从一个结点到相邻结点的物理路线,数据链路则是在链路的基础上增加了一些必要的硬件和软件实现

数据链路层位于物理层和网络层之间,它的核心任务是在直接相连的节点(如相邻的交换机,路由器)之间提供可靠且高效的数据传输

数据的流动

在这里插入图片描述

帧的流动

在这里插入图片描述

一、数据链路层的主要功能:

1.封装成帧

将网络层传递下来的数据包(IP数据报)封装成帧,添加头部和尾部信息

结构:| 帧头 | 数据(Payload) | 帧尾 |;

帧头:包含物理地址(MAC地址),控制信息(如帧类型);帧尾:包含错误检测码,头和尾的一个重要作用就是进行帧定界

帧定界(确定帧的边界,以便接收端能够正确地识别和处理数据)的方法:比特填充,字节填充,特殊字符

比特填充:比特填充是一种在帧中插入特定比特模式以实现帧定界的方法,在HDLC(高级数据链路控制)协议中,使用了标志字段来标识帧的开始和结束。标志字段的比特模式为01111110。为了防止数据中出现与标志字段相同的比特模式,当数据中连续出现5个1时,发送方会自动插入一个0,这一过程称为比特填充。接收方在收到数据时会检查比特序列,如果发现连续5个1后跟一个0,则将该0删除,以恢复原始数据。

字节填充:字节填充是在帧中插入特定的字节以实现帧定界的方法。在PPP(点对点协议)中,使用了标志字段(flag)来标识帧的开始和结束,通常为0xC0(十六进制)。为了确保数据中不会出现与标志字段相同的字节,当数据中出现与标志字段相同的字节时,发送方会插入一个转义字符(通常为0xDB),然后将该字节的值转换为另一个值。接收方在收到数据时会检查字节序列,如果发现转义字符,则将后续字节转换回原始值,并删除转义字符。

特殊字符:以太网使用前导码作为帧的开始标志。前导码是一个特定的比特模式,通常为10101010,用于同步发送方和接收方的时钟。前导码之后是帧的起始定界符(SFD,Start Frame Delimiter),其比特模式为10101011,用于明确标识帧的开始。以太网帧的结束则通过物理层的信号来标识,例如检测到信号的结束或超时机制

在这里插入图片描述

2.透明传输

透明传输是指在数据传输过程中,确保数据能够被准确地传输和接收,而不受数据内容本身的影响。换句话说,无论数据中包含什么样的比特模式或字节序列,都能够被正确地传输和处理。

方法:面向字节的数据链路使用字节填充,面向字符的数据链路使用比特填充

在这里插入图片描述

3.差错控制

在这里插入图片描述

 循环冗余校验(CRC)

工作过程

  1. 发送端

    • 将要发送的数据视为一个二进制多项式M(x)

    • M(x)左移n位(n是生成多项式的次数)。

    • 用左移后的M(x)除以生成多项式G(x),得到余数R(x)

    • R(x)附加到原始数据的末尾,形成最终的传输数据T(x)

  2. 接收端

    • 接收到数据后,将其视为一个二进制多项式T'(x)

    • T'(x)除以生成多项式G(x),检查余数是否为零。

    • 如果余数为零,认为数据无错误;否则,认为数据传输过程中出现了错误。

在这里插入图片描述

 在这里插入图片描述

 点对点PPP协议:

在这里插入图片描述

 PPP协议中帧的格式:

在这里插入图片描述

透明传输 :

面向字节的异步链路:字节填充法(插入转义字符)

在这里插入图片描述

面向比特的同步链路:比特填充法

在这里插入图片描述

差错检测:

能够对接收端收到的帧进行检测,并立即丢弃有差错的帧。

工作状态(不是太懂)

当用户拨号接入 ISP 时,路由器的调制解调器对拨号做出确认,并建立一条物理连接。

PC 机向路由器发送一系列的 LCP 分组(封装成多个 PPP 帧)。

这些分组及其响应选择一些 PPP 参数,并进行网络层配置,NCP 给新接入的 PC 机

分配一个临时的 IP 地址,使 PC 机成为因特网上的一个主机。

通信完毕时,NCP 释放网络层连接,收回原来分配出去的 IP 地址。接着,LCP 释放数据链路层连接。最后释放的是物理层的连接。

 在这里插入图片描述

 媒体接入控制(介质访问控制)————广播信道

广播信道就像一个大房间,信息会被所有人听到。媒体接入控制(MAC)就是一种规则,用来管理谁在什么时候说话,避免混乱。

数据链路层的两个子层

逻辑链路控制LLC子层,媒体接入控制MAC子层。

在这里插入图片描述

 MAC地址,IP地址以及ARP协议

在这里插入图片描述

MAC地址

使用点对点信道的数据链路层不需要使用地址,使用广播信道的数据链路层必须使用地址来区分各主机

   在这里插入图片描述

 广播信道的数据链路层必须使用地址(MAC)

在这里插入图片描述

单播MAC地址

在这里插入图片描述

主机B将单播帧发送出去,主机A和C都会收到该单播帧

主机A的网卡发现该单播帧的目的的MAC地址与自己的MAC地址不匹配,丢弃该帧

主机C的网卡发现该单播帧的目的的MAC地址与自己的MAC地址匹配,接受该帧

广播 MAC地址

在这里插入图片描述

 主机B讲该广播帧发送出去,主机A和C都会收到该广播帧,发现该帧首部中的目的地址字段的内容是广播地址,就知道该帧是广播帧,主机A和主机C都接受该帧,并将该帧交给上层处理

多播MAC地址

在这里插入图片描述

主机A将该多播帧发送出去,主机B,C,D都会收到该多播帧

主机B和C发现该多播帧的目的MAC地址在自己的多播组列表中,主机B和C都会接受该帧

主机D发现该多播帧的目的MAC地址不在自己得多播组列表中,则丢弃该多播帧
给主机配置多播组列表进行私有应用时,不得使用公有的标准多播地址

IP地址

IP地址属于网络层的范畴,不属于数据链路层的范畴

在这里插入图片描述

从网络体系结构中看IP地址与MAC地址

在这里插入图片描述

 数据包转发过程中IP地址与MAC地址变化情况

在这里插入图片描述

 在这里插入图片描述

可以看出在数据包转发过程中MAC地址在不断的改变,那么我们如何不断得到新的目标MAC地址呢?

ARP协议(地址解析协议)

在这里插入图片描述

 在这里插入图片描述

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

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

相关文章

STM32-汇编

学习arm汇编的主要目的是为了编写arm启动代码,启动代码启动以后,引导程序到c语言环境下运行。换句话说启动代码的目的是为了在处理器复位以后搭建c语言最基本的需求。因此启动代码的主要任务有: 初始化异常向量表; 初始化各工作模…

利用通义灵码AI在VS Code中快速开发扫雷游戏:Qwen2.5-Max模型的应用实例

引言 随着人工智能技术的不断进步,开发过程中的自动化程度也在逐步提高。阿里云推出的通义灵码AI程序员,作为一款创新型的智能编程助手,现已全面上线并兼容VS Code、JetBrains IDEs等多种开发环境。本文将介绍如何利用最新的Qwen2.5-Max模型…

202503执行jmeter压测数据库(ScyllaDB,redis,lindorm,Mysql)

一、Mysql 1 、 准备MySQL 连接内容 2 、 下载连接jar包 准备 mysql-connector-java-5.1.49.jar 放到 D:\apache-jmeter-5.6.3\lib\ext 目录下面; 3 、 启动jmeter ,配置脚本 添加线程组---》JDBC Connection Configuration---》JDBC Request---》查看结果树。 1)测…

以太网 MAC 帧格式

文章目录 以太网 MAC 帧格式以太网帧间隔参考 本文为笔者学习以太网对网上资料归纳整理所做的笔记,文末均附有参考链接,如侵权,请联系删除。 以太网 MAC 帧格式 以太网技术的正式标准是 IEEE 802.3,它规定了以太网传输数据的帧结…

【PCB工艺】基础:电子元器件

电子原理图(Schematic Diagram)是电路设计的基础,理解电子元器件和集成电路(IC)的作用,是画好原理图的关键。 本专栏将系统讲解 电子元器件分类、常见 IC、电路设计技巧,帮助你快速掌握电子电路…

从WebRTC到嵌入式:EasyRTC如何借助大模型提升音视频通信体验

随着人工智能技术的快速发展,WebRTC与大模型的结合正在为音视频通信领域带来革命性的变革。WebRTC作为一种开源实时通信技术,以其低延迟、跨平台兼容性和强大的音视频处理能力,成为智能硬件和物联网设备的重要技术支撑。 而EasyRTC作为基于W…

前端样式库推广——TailwindCss

官方网址: https://tailwindcss.com/docs/installation/using-vite 中文官方文档:https://www.tailwindcss.cn/ github地址:tailwindcss 正在使用tailwindcss的网站:https://tailwindcss.com/showcase 一看github,竟然…

SpringBoot 第二课(Ⅰ) 整合springmvc(详解)

目录 一、SpringBoot对静态资源的映射规则 1. WebJars 资源访问 2. 静态资源访问 3. 欢迎页配置 二、SpringBoot整合springmvc 概述 Spring MVC组件的自动配置 中央转发器(DispatcherServlet) 控制器(Controller) 视图解…

OpenHarmony 开源鸿蒙北向开发——3.配置SDK

安装、配置完成之后我们就要配置SDK。 我们创建工程后,点击右上角设置 进入设置 进入OpenHarmony SDK,选择编辑 这里配置一下SDK安装位置 点击完成 这里我们API版本勾选第一个即可 确认安装 勾选接受 这里要等一会 安装完成后,点击完成

vulhub Matrix-Breakout

1.下载靶机,打开靶机和kali虚拟机 2.查询kali和靶机ip 3.浏览器访问 访问81端口有登陆界面 4.扫描敏感目录 kali dirb 扫描 一一访问 robot.txt提示我们继续找找,可能是因为我们的字典太小了,我们换个扫描器换个字典试下,利用kali自带的最大…

Unity3D开发AI桌面精灵/宠物系列 【二】 语音唤醒 ivw 的两种方式-Windows本地或第三方讯飞等

Unity3D 交互式AI桌面宠物开发系列【二】ivw 语音唤醒 该系列主要介绍怎么制作AI桌面宠物的流程,我会从项目开始创建初期到最终可以和AI宠物进行交互为止,项目已经开发完成,我会仔细梳理一下流程,分步讲解。 这篇文章主要讲有关于…

三月九次前端面试复盘:当场景题成为通关密钥

三月初集中面了包括字节、美团、滴滴在内的9家公司,经历7场技术面2场Leader面后,发现如今的面试逻辑已发生根本转变。这里分享真实经历与题目,供近期求职者参考。 一、面试形态变化:从理论背诵到实战推演 1. 八股文边缘化&#…

C++输入输出流第一弹:标准输入输出流 详解(带测试代码)

目录 C输入输出流 流的四种状态(重点) 标准输入输出流 标准输入流 逗号表达式 1. 逗号表达式的基本规则 示例 2. 图片中的代码分析 关键点解析 3. 常见误区 误区 1:逗号表达式等同于逻辑与 && 误区 2:忽略输入…

鸿蒙NEXT项目实战-百得知识库05

代码仓地址,大家记得点个star IbestKnowTeach: 百得知识库基于鸿蒙NEXT稳定版实现的一款企业级开发项目案例。 本案例涉及到多个鸿蒙相关技术知识点: 1、布局 2、配置文件 3、组件的封装和使用 4、路由的使用 5、请求响应拦截器的封装 6、位置服务 7、三…

黑马node.js教程(nodejs教程)——AJAX-Day01-04.案例_地区查询——查询某个省某个城市所有地区(代码示例)

文章目录 代码示例效果 代码示例 axiosTest.html <!DOCTYPE html> <!-- 文档类型声明&#xff0c;告诉浏览器这是一个HTML5文档 --> <html lang"en"> <!-- HTML根元素&#xff0c;设置文档语言为英语 --><head> <!-- 头部区域&am…

vue 自制列表,循环滚动

需求人员表示&#xff0c;超过高度的表格内容需要滚动展示&#xff0c;所以效果图如下&#xff1a; 自定义列表样式&#xff0c;主要是通过flex布局&#xff0c;控制 类th 与 类td 的宽度保持一致&#xff0c;标签结构还是参考了table的结构&#xff0c;由thead与tbody包裹tr再…

Windows主机、虚拟机Ubuntu、开发板,三者之间文件互传

以下内容源于日常学习的整理&#xff0c;欢迎交流。 下图是Windows主机、虚拟机Ubuntu、开发者三者之间文件互传的方式示意图&#xff1a; 注意&#xff0c;下面谈及的所有方式&#xff0c;都要求两者的IP地址处于同一网段&#xff0c;涉及到的软件资源见felm。 一、Windows主…

Windows Docker 报错: has no HTTPS proxy,换源

pull python 3.7报错&#xff1a; 尝试拉取Docker 测试库hello world也失败 尝试使用临时镜像源&#xff0c;可以成功拉取&#xff1a; sudo docker pull docker.m.daocloud.io/hello-world说明确实是网络问题&#xff0c;需要配置镜像源&#xff0c;为了方便&#xff0c;在d…

Java:Arrays类:操作数组的工具类

文章目录 Arrays类常见方法SetAll(); 代码排序如果数组中存储的是自定义对象 Arrays类 常见方法 SetAll(); 注意&#xff1a; 不能用新的数组接是因为修改的是原数组&#xff0c;所以完了要输出原数组发现会产生变化参数是数组下标变成灰色是因为还能简化&#xff08;Lambda…

只是“更轻更薄”?不!遨游三防平板还选择“更强更韧”

当消费电子领域普遍追求“更轻更薄”的设计美学时&#xff0c;遨游三防平板不止于此&#xff0c;还选择了另一条道路——“更强更韧”。在智能制造的复杂场景中&#xff0c;三防平板需直面高温、油污、撞击与极端气候的考验。普通消费级平板因防护性能不足&#xff0c;常因环境…