数据链路层(2层 Data Link Layer)

news2025/7/8 14:37:26

1、数据链路层属于2层

2、传输单元:帧

        帧格式:

                802.3    有线网卡

                802.11  无线网卡,无线路由器都支持802.11

802开头的都是国际标准,是由IEEE国际学术组织制定的标准

3、帧结构的构成:MAC子层(帧头)+上三层数据+FCS(帧尾)

MAC子层(帧头)构成:目标MAC地址(6字节),源MAC地址(6字节),类型(2字节),总的大小=6+6+2 = 14 字节

FCS(帧尾):提供了一种错误检测机制,用来验证帧在传输过程中的完整性(4个字节)。

一个帧的容量是有限的:MTU值(最大传输单元),国内是1500字节,再加帧头+帧尾18个字节 =1518 字节就是帧的最大长度

MAC地址6字节如何算出来的?网卡的MAC地址就是16进制,由12位组成如:A3-CE-C9-11-AA-39

一个16进制转换为2进制是由4位组成,转换为bit:12 * 4  = 48 bit(比特),转为字节单位就是48 / 8 = 6 个字节,所以:MAC地址的2进制长度是48位,大小6个字节

类型:

  • 0x0800:IP协议
  • 0x0806:ARP协议
  • 0x 代表16进制

类型字段的作用:识别上层协议,为上层提供服务 

图示:

4、 工作在数据链路层的设备:交换机/网卡

        交换机的作用:交换机是根据MAC地址转发数据

        网卡的作用:生成帧(就是加帧同和帧尾)

5、交换机的工作原理:

设:当同一局域网下的两台PC进行通信

        信息发送到目标的过程:

        1)如:MAC地址为AA的PC向DD发送“Hello a”,会从应用层一路往下直到数据链路层,数据链路层的网卡会给数据包(报文)封装帧头和帧尾,形成数据帧,然后把数据继续传。

MAC地址表,记录物理端口和MAC地址的对应关系

        2)当数据帧到达交换机的时候:交换机不需要把帧解封装只读取数据帧中的帧头帧尾,解析完成后就能知道源MAC地址(发送消息PC的MAC)、目标MAC地址(接收消息的PC)和发消息的PC所在的端口(物理端口,如F0/1),然后交换机就完成机生第一次学习学习源MAC地址(一台新的交换机)生成MAC地址表,如果表已经存在那就将记录添加进去(记录物理端口和源MAC地址的对应关系如:AA (源MAC) F0/1(所在的端口))然后交换机根据帧的信息(目标MAC地址DD)转发。

        3)转发过程:交换机会先从MAC地址表中寻找,如没找到交换机会把帧除了帧进来的端口都进行广播,连接了这台交换机的设备都会收到这条广播,如:MAC地址为BB的PC也收到了,这时BB的网卡就会判断这个的帧的帧头里面的目标MAC地址是给我的?不是,就不会继续解封装不继续往上送,干掉。直到DD这台PC收到就会进行解封装操作,得到AA发来的数据“Hello a”,这一过程中可能在当前交换机(1)的端口都找不到DD,这时就会找和当前交换机连接的交换机(2),交换机(2)也会继续交换机(1)的过程,生成MAC地址表,进行广播寻找,直到找到DD这台PC进行解封装操作,得到AA发来的数据“Hello a”。这里需要注意的是:交换机(2)生成的MAC地址表的端口地址是他自己的端口地址,也就是交换机1进入交换机2的地址,如:交换机1是从交换机2的F0/2的地址进来的那地址表就是:AA (源MAC) F0/2(所在的端口)。

在整个过程中交换机就干了两件事请:

  1. 这个帧来源那台PC的MAC地址,我需不需要学习生成MAC地址表
  2. 这个帧要去哪,我的MAC地址表有没有记录了,没有广播寻找

可参考下图:

目标pc收到信息后会进行响应回包过程如下:

        1)这时是开始的目标MAC地址为DD的PC给AA回包, 所以源MAC地址变成了DD目标MAC地址成了AA,DD向AA回包过程中交换机(2)也会进行学习,对源MAC地址进行学习,因为之前交换机已经创建MAC地址表,所以现在是向MAC地址表添加,记录物理端口和源MAC地址的对应关系参照下图就是添加记录:DD(源MAC) F0/1(所在的端口)

         2)向MAC地址表添加完记录后,交换机就会安照DD提交的数据帧里面帧头包含的目标MAC地址(AA)进行转发数据,交换机就会找MAC地址为AA的PC在哪里?交换机转发数据的唯一依据就是自己的MAC地址表恰好有记录目标地址AA与物理端口(F0/2)的对应关系,所以这里不需要广播寻找,直接单播数据帧发送到AA对应的F0/2物理端口,这是数据帧就来到了交换机(1),交换机(1)就会查看帧头内的源MAC地址,你是谁发送过来的呀?目标PC的MAC地址是谁呀?这时交换机(1)就会发现,自己的MAC地址表没有关于源MAC地址为DD的记录,所以交换机(1)再次学习源MAC地址DD然后添加进自己的地址表内:DD(源MAC) F0/3(所在的端口)

        3)到这里可能会疑惑,DD对应数据帧不是从交换机(2)的F0/1端口的PC发出来的?为啥记录在交换机(1)的MAC地址表里面就是 F0/3?因为交换机只管数据从自己的那个端口传进来的,不会管,最开始是从那个交换机端口发出的,(简单理解就是:交换机的MAC地址表,只会记录自己的端口,而且只会学习记录源MAC地址,不学习目标地址)

        4)交换机(1)学习完之后,就会找你的数据帧内对应的目标MAC地址我的表里面有没有啊?恰好有记录目标地址AA与物理端口(F0/1)的对应关系,然后交换机(1)会把数据帧,通过单播的形式转发给AA也就是IP地址为10.1.1.1的PC,这时该PC就能都到数据帧了

如果已经某台PC对应的MAC地址已近在,交换机的MAC地址表内记录了,那么把这根网线拔掉对应的记录会默认在300s后消失,如果在这300s内把网线插到另一台PC上,那对应的表记录会立即更新,如:A对应的物理端口是F0/1,把B对应的物理端口是F0/2,拔出换给A,最后A的记录是F0/2(就是同一个MAC地址出现了不同的端口,记录会立即更新到目前的状态)

注意:这里讲的过程在现实中交换机都是自动完成的,而且都是电脑连接交换机之后开机就自动完成了, 因为电脑一开机就会发送DHCP Discovery(发现)广播包(目的:寻求服务器),这时就会被交换机的MAC地址表记录下来,之后就很少会广播里,使用单播,除非,目标是表里没有的,交换机不知道,才会再次广播。

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

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

相关文章

MySQL表的增删改查(进阶)

目录1.数据库约束1.1约束类型1.2 NULL约束1.3 UNIQUE:唯一约束1.4 PRIMARY KEY: 主键约束1.5 DEFAULT:默认值约束1.6 FOREIGN KEY:外键约束2. 表的设计3. 新增4. 查询4.1 聚合查询4.1.2 GROUP BY子句4.2 联合查询4.2.1内连接4.2.2外连接4.2.3…

2022 第十四届蓝桥杯模拟赛第一期(题解与标程)

第十四届蓝桥杯模拟赛第一期1. 二进制位数问题描述答案提交参考答案2. 晨跑问题描述答案提交参考答案3. 调和级数问题描述答案提交参考答案程序验证4. 山谷问题描述答案提交参考答案5. 最小矩阵问题描述答案提交参考答案6. 核酸日期问题描述输入格式输出格式样例输入样例输出评…

项目风险管理的5大关键点,你做了几点?

1、全方位科学分析项目风险 为了提高项目抗风险能力,我们需要对项目风险进行科学全面的分析。一般我们从3个维度对风险进行科学分析:影响的严重性、发生的可能性、产生的影响性。 根据风险或机会对项目的影响程度,一般我们会从三个维度将其划…

javascript大作业《web课程设计》用html做一个期末作业网站,梅西足球体育网页,css

🎉精彩专栏推荐 💭文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (10…

STING 与 cGAS的结合导致TBK1 激酶募集和活化

来自细菌或病毒的核酸在受感染的细胞中会产生强效的免疫反应,而病原体衍生核酸的检测是宿主感知感染并启动保护性免疫反应的核心策略。cGAS (Cyclic GMP-AMP synthase) 是一种双链 DNA 传感器,可催化 cGAMP(cyclic GMP-AMP)的合成…

二级导航栏

简介&#xff1a;本文通过HTML与CSS相集合的方式&#xff0c;来实现二级导航菜单。 HTML构建骨架 <body><ul class"nav1"><li>水果<ul class"nav2"><li>苹果</li><li>香梨</li><li>火龙果</li…

前端CSS射门动画-为梅西最后一届世界杯加油

☆ 距离2022卡塔尔世界杯只有6天时间了&#xff0c;众多球星我喜欢梅西和奥乔亚。 ☆ 我们不能到现场去&#xff0c;只能手中的代码自娱自乐一下&#xff0c;就当为梅西加油了。这是梅西最后一届世界杯了。 梅西给我的感觉&#xff0c;踢球足够利落干净&#xff0c;你不会从他的…

AI遮天传 ML/DL-感知机

感知机的出现是人工智能发展史一大重要里程碑&#xff0c;其后才诞生了&#xff1a;多层感知机、卷积神经网络等一系列的经典网络模型。 在我看来&#xff0c;它虽然是深度学习领域的一大开端&#xff0c;但本身解决的只是线性二分类问题&#xff0c;它本身与机器学习经典模型线…

RORγ 反向激动剂-XY101 小分子化合物

早在 2016 年&#xff0c;中国科学院广州生物医药与健康研究院许永教授团队就曾与加州大学戴维斯分校的陈宏武教授合作&#xff0c;首次发现核激素受体 RORγ 是作用于雄激素受体 AR 上游的关键驱动因子&#xff0c;直接调控雄激素受体 AR 的表达。因此&#xff0c;RORγ 成为前…

gitlab+jenkins+harbor次完整CI链条

用一台机器搭harbor 先安装docker工具&#xff0c;因为装harbor需要docker [rootharbor ~]# cd /etc/yum.repos.d [rootharbor yum.repos.d]# wget https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo [rootharbor yum.repos.d]# sed -i s#download.docke…

HTML做一个个人博客页面(纯html代码)

&#x1f389;精彩专栏推荐 &#x1f4ad;文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;毕设项目精品实战案例 (10…

【网页设计】期末大作业html+css (个人生活记录介绍网站)

&#x1f389;精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业…

CNC程序管理NC文件版本管理CNC程序生命周期管理NC程序版本管理

CNC程序管理NC文件版本管理CNC程序生命周期管理NC程序版本管理 ROZRZ 数控程序文档流程管理系统能够实现 NC 数控程序文档及流程的管理&#xff0c;且为企业日后能够进行整体生产资料信息的综合管理做好了在程序代码方面的数据准备&#xff0c;提供了更为方便、快捷、安全的系…

Java——后端开发经验总结(持续更新中)

目录 一、判断实体类 二、图片无法正常显示 三、图片路径存储问题 四、xml注释 五、常用快捷键使用 每日三问 重要配置 一、判断实体类 Assert.notNull&#xff1a; 断言某个值是否为空 优点&#xff1a;告别了if判断为空。缺点&#xff1a;场景比较单一&#xff0c;基本…

【JavaSE】继承那些事儿

目录 1. 继承 1.1 为什么要有继承 1.2 何为继承 1.3 继承的语法 1.4 父类成员的访问 1.4.1 子类中访问父类的成员变量 1.4.2 子类中访问父类的成员方法 1.5 super 关键字 1.5.1 super 关键字能让子类访问父类同名成员变量及方法 1.5.2 super 关键字在子类构造方法所起的作用 1…

STC51单片机21——EEPROM测试

STC89C51RC系列单片机内部EEPROM详细地址表&#xff1a; 第一扇区 第二扇区 第三扇区 第四扇区 起始地址 结束地址 起始地址 结束地址 起始地址 结束地址 起始地址 结束地址 2000h 21FFh 22…

node.js的pat/fs/events模块以及磁盘遍历的实现

path模块: 概述: path模块是一个内置模块,他里面内置的相关方法来造作的路径地址 导入path模块: const path require(path) 使用方法: //导入对应的path模块 const pathrequire(path) //相关方法 //1.join方法是将多个相关的地址连接成一个地址 (做路径拼接) let pathStrpath…

2022年下半年系统架构设计师下午真题及答案解析

试题一(25分) 某电子商务公司拟升级其会员与促销管理系统&#xff0c;向用户提供个性化服务&#xff0c;提高用户的粘性。在项目立项之初&#xff0c;公司领导层一致认为本次升级的主要目标是提升会员管理方式的灵活性&#xff0c;由于当前用户规模不大&#xff0c;业务也相对…

2022年数维杯国际大学生数学建模挑战赛开赛公告

各参赛队伍&#xff1a; 为了保证2022年数维杯国际大学生数学建模挑战赛参赛队伍顺利参赛&#xff0c;现将竞赛开赛的相关事项通知如下&#xff1a; 一、时间节点 报名截止时间&#xff1a;北京时间2022年11月17日06:00&#xff08;周四&#xff09; 竞赛开始时间&#xff…

大半夜排查bug:竟然是同事把Redis用成这鬼样子,坑了我

首先说下问题现象&#xff1a;内网sandbox环境API持续1周出现应用卡死&#xff0c;所有api无响应现象。 刚开始当测试抱怨环境响应慢的时候 &#xff0c;我们重启一下应用&#xff0c;应用恢复正常&#xff0c;于是没做处理。但是后来问题出现频率越来越频繁&#xff0c;越来越…