一文搞懂数据链路层

数据链路层

    • 1. 简介
    • 2. MAC
    • 3. 以太网

1. 简介

(1)概念

链路(link)是一条无源的点到点的物理线路段,中间没有任何其他的交换结点。

数据链路(data link) 除了物理线路(双绞线电缆、同轴电缆、光线等介质)外,还包括通信协议来控制这些数据的传输。

数据链路层的协议定义了通过通信媒介互连设备之间的传输规范。

(2)功能

数据链路层将0、1序列的数据集合为一个叫做“”的块传递给物理层,物理层把二进制0、1序列的帧转换成电压高低、光的强弱,实现传输。

主要实现以下3个功能:

  • 封装成帧
  • 透明传输
  • 差错控制

(3)数据链路分类

数据链路名通信媒介传输速率主要用途
以太网同轴电缆10MbpsLAN
以太网双绞线电缆10Mbps~100GbpsLAN
以太网光纤电缆10Mbps~100GbpsLAN
无线电磁波数个 Mbps~LAN~WAN
ATM双绞线电缆/光纤电缆25Mbps/155Mbps/622MbpsLAN~WAN
FDDI光纤电缆双绞线电缆100Mbps
帧中继双绞线电缆/光纤电缆约64k~1.5MbpsWAN
ISDN双绞线电缆/光纤电缆64k~1.5MbpsWAN

2. MAC

MAC地址(Media Access Control address)是用于标识网络设备的唯一标识符。它是一个由6组十六进制数字(0-9,A-F)组成的48位地址。
在这里插入图片描述

  • 第1位:单播地址(0)/多播地址(1)
  • 第2位:全局地址(0)/本地地址(1)
  • 第3-24位:厂商识别码,由IEEE管理并保证各厂家之间不重复
  • 第25~48位:由厂商管理并保证产品之间不重复

3. 以太网

(1)概念

以太网(Ethernet)是目前应用最普遍的计算机局域网技术,最早由美国 Xerox公司创建并由Xerox、Intel和 DEC公司联合开发形成了基带局域网规范。

后来,IEEE 802.3标准制定了以太网的技术标准,规定了包括物理层的连线、电子信号和介质访问层协议的内容。目前,以太网已取代了令牌环、FDDI和ARCNET等其他局域网技术。

互联网与以太网:互联网指的是通过TCP/IP协议族相将各个局域网连接在一起网络。

在这里插入图片描述
(2)以太网帧

以太网帧由1、0交替组成的前导码(Preamble)表示开始,确保对端网卡能够与其同步。前导码占8个字节,末尾是值为“11”的SFD(StartFrame Delimiter)的域(以太网中最后2比特称为SDF,而IEEE802.3中最后8比特称为SDF),这个域之后就是以太网的帧体。

在这里插入图片描述
以太网帧帧体组成如下:

  • 以太网的首部(14个字节):目标 MAC地址(6个字节)、源MAC地址(6个字节)、上层协议类型(2个字节)
  • 数据(46~1500个字节)
  • 帧检验序列(FCS,FrameCheck Sequence,4个字节)

在通信传输过程中由于噪声干扰,可能会影响发送数据导致乱码位的出现。FCS 中保存着整个帧除以生成多项式的余数在接收端也用同样的方式计算,如果得到FCS 的值相同,就判定所接收的帧没有差错,否则就将将那些受到噪声干扰的错误帧丢弃。

在这里插入图片描述

IEEE802.3 Ethernet与一般的以太网在帧的稍有区别。以太网帧中表示类型的字段,在IEEE802.3以太网中却表示帧的长度。此外,数据部分的前端还有LLC 和 SNAP等字段。

在这里插入图片描述

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

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

相关文章

详细安装步骤:vue.js 三种方式安装(vue-cli)

Vue.js(读音 /vjuː/, 类似于 view)是一个构建数据驱动的 web 界面的渐进式框架。Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。它不仅易于上手,还便于与第三方库或既有项目整合。 三种 Vue.js 的安装方法&…

matlab 将矩阵写入文件

目录 一、概述1、算法概述2、主要函数二、将矩阵写入到文本文件三、将矩阵写入电子表格文件四、将矩阵写入指定的工作表和范围五、将数据追加到电子表格六、将矩阵数据追加到文本文件七、参考链接本文由CSDN点云侠原创,原文链接。如果你不是在点云侠的博客中看到该文章,那么此…

代码随想录阅读笔记-栈与队列【删除字符串中的所有相邻重复项】

题目 给出由小写字母组成的字符串 S,重复项删除操作会选择两个相邻且相同的字母,并删除它们。 在 S 上反复执行重复项删除操作,直到无法继续删除。 在完成所有重复项删除操作后返回最终的字符串。答案保证唯一。 示例: 输入&am…

了解交互设计:定义、解析及案例演示!

交互设计作为现代设计领域的一个重要分支,对用户体验和产品的成功至关重要。然而,许多人并不了解交互设计的定义和实践方法。本文将深入分析交互设计的概念和重要性,分享精彩的案例,推荐有用的交互设计工具,帮助您创造…

解析SpringBoot自动装配原理前置知识:解析条件注释的原理

什么是自动装配? Spring提供了向Bean中自动注入依赖的这个功能,这个过程就是自动装配。 SpringBoot的自动装配原理基于大量的条件注解ConditionalOnXXX,因此要先来了解一下条件注解相关的源码。 以ConditionalOnClass为例 首先来查看Conditi…

02-MySQL数据库的基本使用与密码设置

一、服务端口 3306端口和33060端口,是我们启动数据库后开启的监听端口; 3306端口:是我们MySQL服务的监听端口,用来连接数据库使用; 33060端口:MySQL-shell服务的端口,MySQL-shell是MySQL架构集群…

Web前端-JS

JavaScript,简称js:负责网页的行为(交互效果)。是一门跨平台,面向对象的脚本语言(编写出来的语言不需要编译,通过浏览器的解释就可以运行) JS引入方式 1.内嵌样式 这样打开页面就会…

关系型数据库mysql(2)SQL语句

目录 一.SQL语句简介 1.1SQL语言 1.2SQL语句分类 1.3SQL分类 1.4SQL 语言规范 二.数据库基本操作 2.1查看数据库中的库信息 2.2查看数据库中的表信息 数据库内查看 数据库外查看 2.3显示数据库的结构(字段) ​编辑 2.4 字段属性 2.5常见的数…

解决方案:如何安装neo4j软件

文章目录 一、安装JDK二、安装neo4j 一、安装JDK 第一步先安装JDK,因为neo4j环境需要JDK,过程比较多,截图如下: 安装JDK网址 https://www.oracle.com/java/technologies/downloads winR,输入cmd,再输入j…

Linux V4L2 应用编程

V4L2:Video4Linux2,是 Linux 内核中的一个框架,提供了一套用于视频设备驱动程序开发的 API。它是一个开放的、通用的、模块化的视频设备驱动程序框架,允许 Linux 操作系统和应用程序与各种视频设备(如摄像头、视频采集…

外推蜘蛛池的优势及优势?

源码介绍: 适用使用范围: 外推蜘蛛池、站群 演示地址:以截图为准 运行环境:php 其余注释:什么是蜘蛛池? 蜘蛛池是一个利用大平台权重来获取百度收录和排名的程序。 程序员通常称其为“蜘蛛池”。 这是一个可以快速…

Spring-声明式事务实例(有详细注释)

前提知识 Spring-IOC容器注解方式使用https://blog.csdn.net/m0_61160520/article/details/136784799?spm1001.2014.3001.5501切点表达式https://blog.csdn.net/m0_61160520/article/details/136782885?spm1001.2014.3001.5501 案例 1.创建项目 2.导入依赖 <dependen…

Cache缓存:HTTP缓存策略解析

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

select , poll, epoll思维导图

目录 1. 总的框架结构 2. select 3. poll 4. epoll 1. 总的框架结构 2. select

SpringCloud-Gateway服务网关

一、网关介绍 1. 为什么需要网关 Gateway网关是我们服务的守门神&#xff0c;所有微服务的统一入口。 网关的核心功能特性&#xff1a; 请求路由 权限控制 限流 架构图&#xff1a; 权限控制&#xff1a;网关作为微服务入口&#xff0c;需要校验用户是是否有请求资格&am…

使用阿里云服务器搭建网站教程,超简单10分钟网站上线

使用阿里云服务器快速搭建网站教程&#xff0c;先为云服务器安装宝塔面板&#xff0c;然后在宝塔面板上新建站点&#xff0c;阿里云服务器网aliyunfuwuqi.com以搭建WordPress网站博客为例&#xff0c;来详细说下从阿里云服务器CPU内存配置选择、Web环境、域名解析到网站上线全流…

基于python+vue分类信息服务平台移动端的设计与实现flask-django-php-nodejs

分类信息服务平台是在Android操作系统下的应用平台。为防止出现兼容性及稳定性问题&#xff0c;框架选择的是django&#xff0c;Android与后台服务端之间的数据存储主要通过MySQL。用户在使用应用时产生的数据通过 python等语言传递给数据库。通过此方式促进分类信息服务平台信…

蓝桥杯单片机快速开发笔记——PCF8591的DAC模拟电压输出

一、原理分析 PCF8591电压信号探测器&#xff1a;http://t.csdnimg.cn/R38tC IIC原理&#xff1a;http://t.csdnimg.cn/v4dSv IIC指令&#xff1a;http://t.csdnimg.cn/RY6yi HC573/HC138&#xff1a;http://t.csdnimg.cn/W0a0U 数码管&#xff1a;http://t.csdnimg.cn/kfm9Y 独…

鸿蒙OpenHarmony开发实战:【MiniCanvas】

介绍 基于OpenHarmony的Cavas组件封装了一版极简操作的MiniCanvas&#xff0c;屏蔽了原有Canvas内部复杂的调用流程&#xff0c;支持一个API就可以实现相应的绘制能力&#xff0c;该库还在继续完善中&#xff0c;也欢迎PR。 使用说明 添加MiniCanvas依赖 在项目entry目录执行…

Docker学习笔记 - 常用命令

目录 基本概念常用命令使用docker compose启动脚本创建自己的image Docker命令文档 1. 下载一个image 从hub.docker.com下载一个image。 docker pull [image name]下载时指定image的tag。 docker pull [image name]:<tag>举例&#xff0c;下载postgre的tag为alpine…