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

【网络原理6】数据链路层协议——以太网

 数据链路层负责的是相邻两个网络节点之间的数据以帧为单位进行传输。

 具体关于数据链路层的介绍,已经在这一篇文章当中提到了。

初识网络:IP、端口、网络协议、TCP-IP五层模型_革凡成圣211的博客-CSDN博客TCP/IP五层协议详解https://blog.csdn.net/weixin_56738054/article/details/128666970?spm=1001.2014.3001.5501

目录

以太网数据帧的格式

 以太网帧头

如何查看mac地址

为什么有了IP地址,还需要mac地址 

 IP地址和mac地址是如何相互配合的

帧头当中的"类型"属性 

   类型:0800

类型:0806

类型:0835

 MTU


以太网数据帧的格式

当数据从网络层传输到数据链路层的时候,数据链路层会进一步对数据进行包装。

会包装上帧头、帧尾。

以太网数据帧=帧头+载荷(完整的IP数据段)+帧尾。

下图来源于《小林coding》


 以太网帧头

  以太网帧头当中有3个属性,分别是:目的地址、源地址、类型。

  其中目的地址和源地址并不是IP地址(网络地址),而是mac地址。

这个mac地址不像IP地址一样是可以动态分配的,而是在网卡出场的时候就已经决定好了的。


如何查看mac地址

打开cmd,输入一行命令:ipconfig /all

可以看到,显示"物理地址"的那一行,就是mac地址。


为什么有了IP地址,还需要mac地址 

       这其实是一个历史遗留的问题。假设只有一套地址(一套IP或者一套mac),这样也是完全行得通的。

       但是由于研发IP地址的科学家和研发mac地址的科学家并不是"一伙人",因此也就产生了不一样体系。

       干脆就直接各用各的就ok了,于是就演化成了两套地址体系相互配合的现状


 IP地址和mac地址是如何相互配合的

       IP地址用来描述整个网络传输过程的起点和终点。也就是一台主机另外一台主机之间的传输过程;mac就负责相邻的两个网络节点之间的管理。

      下面举一个例子,来说明一下:

      假如小明想去小红家,那么他需要首先规划路线:

      假如他去一次小红家相当于网络通信一次,那么,就可以认为:

      源IP:小明家

      目的IP:小红家。也就是一次网络通信的起始的网络地址目标网络地址

       而源mac和目的mac就有很大变化了:

       如果小明选择了上面的那一条传输路径。那么

       当小明经过:小明家-->长沙这一段路径的时候,源mac和目的mac分别是:

     源mac:小明家

     目的mac:长沙 

        当小明经过长沙-->武汉这一段路径的时候:

     源mac:长沙

     目的mac:武汉

   接下来的路段,同理......


帧头当中的"类型"属性 

   类型:0800

    普通的以太网数据帧,载荷部分是一个完整的IP数据包


类型:0806

     载荷部分,是一个ARP报文。ARP是一种数据链路层协议。

    通过这个协议,让某个,路由器/交换机,能够认识局域网里面的其他设备。

    这个协议拥有一个类似于哈希表的结构,来映射IPmac之间的关系。


类型:0835

载荷部分,是一个RARP报文。 RARP是一种数据链路层协议。


 MTU

  描述了一个数据链路层的数据帧能够承受的最大长度。

  也就是:载荷部分的最大长度就是MTU

  对于以太网协议:MTU为1500(字节)

  由于数据链路层的MTU的限制,对于IP较大的数据包就要进行分包。

关于怎样分,已经在这一篇文章当中提到了:

【网络原理5】IP协议篇_革凡成圣211的博客-CSDN博客IP数据报https://blog.csdn.net/weixin_56738054/article/details/129045225?spm=1001.2014.3001.5502 

相关文章:

【网络原理6】数据链路层协议——以太网

数据链路层负责的是相邻两个网络节点之间的数据以帧为单位进行传输。 具体关于数据链路层的介绍,已经在这一篇文章当中提到了。 初识网络:IP、端口、网络协议、TCP-IP五层模型_革凡成圣211的博客-CSDN博客TCP/IP五层协议详解https://blog.csdn.net/weix…...

组合数学原理与例题

目录 一、前言 二、计数原理 1、加法原理 2、分割立方体(lanqiaoOJ题号1620) 3、乘法原理 4、挑选子串(lanqiaoOJ题号1621) 5、糊涂人寄信(lanqiaoOJ题号1622) 6、战斗吧N皇后(lanqiaoO…...

【机器学习 深度学习】通俗讲解集成学习算法

目录:集成学习一、机器学习中的集成学习1.1 定义1.2 分类器(Classifier)1.2.1 决策树分类器1.2.2 朴素贝叶斯分类器1.2.3 AdaBoost算法1.2.4 支持向量机1.2.5 K近邻算法1.3 集成学习方法1.3.1 自助聚合(Bagging)1.3.2 提升法(Boosting)1.3.2.1 自适应adaboost1.3.3 …...

汉字----dgfont

Abstract 字符生成是一个具有挑战性的问题,特别是对于一些由大量字符组成的书写系统,近年来受到了广泛的关注。然而,现有的字体生成方法通常是在监督学习中。它们需要大量的配对数据,这是劳动密集型和昂贵的收集。此外,常见的图像到图像转换模型通常将风格定义为纹理和颜…...

C# chart绘图 鼠标响应

1、图形自动滚动设置 chart1.ChartAreas[0].AxisX.Maximum 横坐标显示区域最大值 chart1.ChartAreas[0].AxisX.Minimum 横坐标显示区域最小值 显示宽度 chart1.ChartAreas[0].AxisX.Maximum - chart1.ChartAreas[0].AxisX.Minimum chart1.ChartAreas[0].AxisX.Maximum x_d…...

结构体与引用

1.结构体基本概念结构体属于用户自定义的数据类型,允许用户存储不同的数据类型2.结构体定义和使用语法: struct 结构体 { 结构体成员列表 };通过结构体创建变量的方式有三种:struct 结构体名 变量名struct 结构体名 变量名 { 成员1值,成员2值...}定义结构…...

13.罗马数字转整数

罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做 II ,即为两个并列的 1 。12 写做 XII ,即为 X II 。 27 写做 XX…...

JVM垃圾回收机制

垃圾回收机制(GC) 内存管理 Java的内存管理很大程度指的就是对象的管理,其中包括对象空间的分配和释放。 对象空间的分配:使用new关键字创建对象即可 对象空间的释放:将对象赋值null即可。垃圾回收器将负责所有“不…...

Java File类、IO流、Properties属性类

文章目录一、补充二、File类File类的含义创建多级文件File类的常见方法三、IO流IO流分类输入输出流FileOutputStreamInputStreamInputStream与OutputStream的实例ReaderWriterFileReader和FileWriter的实例缓冲流转换流序列化与ObjectInputStream、ObjectOutputStream打印流Pro…...

MySQL备份恢复(十二)

文章目录1. MySQL数据损坏类型1.1 物理损坏1.2 逻辑损坏2. DBA运维人员备份/恢复职责2.1 设计备份/容灾策略2.1.1 备份策略2.1.2 容灾策略2.2 定期的备份/容灾检查2.3 定期的故障恢复演练2.4 数据损坏时的快速准确恢复2.5 数据迁移工作3. MySQL常用备份工具3.1 逻辑备份方式3.2…...

【Java|golang】1792. 最大平均通过率---封装最小堆

一所学校里有一些班级,每个班级里有一些学生,现在每个班都会进行一场期末考试。给你一个二维数组 classes ,其中 classes[i] [passi, totali] ,表示你提前知道了第 i 个班级总共有 totali 个学生,其中只有 passi 个学…...

PHP 页面静态化

前言随着网站的内容的增多和用户访问量的增多,网站加载会越来越慢,受限于带宽和服务器同一时间的请求次数的限制,,我们往往需要在此时对我们的网站进行代码优化和服务器配置的优化。一、页面静态化概念静态化定义静态化就是指把原…...

【Python】进制、计算机中的单位、编码、数据类型、索引、字符串切片、字符串的功能方法

一、进制计算机中底层所有的数据都是以 010101 的形式存在(图片、文本、视频等)。二进制八进制十进制(也就是我们熟知的阿拉伯数字)十六进制进制转换v1 bin(25) # 十进制转换为二进制 print(v1) # "0b11001"v2 oct(23…...

基于android的无人健身房

需求信息: 1:客户登录:首次登陆必须注册,用户注册完成后可以进入软件查看自己的金额、会员等级、消费和健身时长。 2:计费功能:用户通过软件扫描二维码后即可进入健身房,软件显示欢迎进入健身房…...

带你Java基础入门

首先我们都知道的,Java是一种高级计算机语言,是可以编写跨平台应用软件、完全面向对象的程序设计语言。相对于零基础小白如何更加快速的入门java?小编给大家整理了java300集自学教程视频,非常适合零基础的小伙伴,一周时间实现快速…...

VNCTF 2023 - Web 象棋王子|电子木鱼|BabyGo Writeups

象棋王子 签到题,jsfuck解密 丢到console得到flag 电子木鱼 后面两道都是代码审计,这题是rust,题目给出了源码,下载下来看 关键代码: 由于限制,quantity只能为正数 功德也只能是正数(负数的…...

「JVM 编译优化」插入式注解处理器(自定义代码编译检查)

JDK 的编译子系统暴露给用户直接控制的功能相对很少,除了虚拟机即时编译的若干参数,便只有 JSR-296 中定义的插入式注解处理器 API; 文章目录1. 目标2. 实现3. 运行与测试4. 其他应用案例1. 目标 前端编译器在讲 Java 源码编译成字节码时对源…...

一文彻底理解大小端和位域 BIGENDIAN LITTLEENDIAN

一文彻底理解大小端和位域 为什么有大小端 人们一直认为大道至简,就好像物理学上的世界追求使用一个理论来统一所有的现象。为什么cpu存在大小端之分,一言以蔽之,这两种模式各有各的优点,其各自的优点就是对方的缺点&#xff0c…...

面试准备知识点与总结——(虚拟机篇)

目录JVM的内存结构JVM哪些部分会发生内存溢出方法区、永久代、元空间三者之间的关系JVM内存参数JVM垃圾回收算法1.标记清除法2.标记整理3.标记复制说说GC和分代回收算法三色标记与并发漏标的问题垃圾回收器项目中什么时候会内存溢出,怎么解决类加载过程三个阶段何为…...

spring cloud 集成 seata 分布式事务

spring cloud 集成 seata 分布式事务 基于 seata-server 1.6.x 序言 下载 seata-server 准备一个数据库 seata 专门为 seata-server 做存储,如, 可以指定 branch_tabledistributed_lockglobal_tablelock_table 准备一个业务库,比如存放定单&#xff…...

无人机桥梁3D建模、巡检、检测的航线规划

无人机桥梁3D建模、巡检、检测的航线规划 无人机在3D建模、巡检和检测任务中的航线规划存在显著差异,主要体现在飞行高度、航线模式、精度要求和传感器配置等方面。以下是三者的详细对比分析: 1. 核心目标差异 任务类型主要目标典型应用场景3D建模 生成…...

Spring Boot微服务架构(九):设计哲学是什么?

一、Spring Boot设计哲学是什么? Spring Boot 的设计哲学可以概括为 ​​“约定优于配置”​​ 和 ​​“开箱即用”​​,其核心目标是​​极大地简化基于 Spring 框架的生产级应用的初始搭建和开发过程​​,让开发者能够快速启动并运行项目…...

高效多线程图像处理实战

引言 在现代计算机视觉和图像处理应用中,处理大量图像数据是常见需求。传统的单线程处理方式在面对成千上万的图像时,往往显得力不从心,导致处理时间过长。本文将介绍如何将一个典型的单线程图像处理任务转换为高效的多线程实现,并讨论其中的关键技术点、线程安全考量以及…...

【深度学习】10. 深度推理(含链式法则详解)RNN, LSTM, GRU,VQA

深度推理(含链式法则详解)RNN, LSTM, GRU,VQA RNN 输入表示方式 在循环神经网络(Recurrent Neural Network, RNN)中,我们处理的是一段文字或语音等序列数据。对于文本任务,输入通常是单词序列…...

MySQL访问控制与账号管理:原理、技术与最佳实践

MySQL的安全体系建立在精细的访问控制和账号管理机制上。本文基于MySQL 9.3官方文档,深入解析其核心原理、关键技术、实用技巧和行业最佳实践。 一、访问控制核心原理:双重验证机制 连接验证 (Connection Verification) 客户端发起连接时,MyS…...

计算机网络 HTTP篇常见面试题总结

HTTP各版本区别 HTTP 1.0 无状态、无连接:每次请求都需要建立新的 TCP,处理完后立即关闭,导致开销较大。队头阻塞:每个请求必须按照顺序依次处理,前面的请求未完成,后面的请求只能等待,减低了…...

DeepSeek-R1-0528,官方的端午节特别献礼

DeepSeek:端午安康!刻在国人骨子里的浪漫 2025 年 05 月 28 日 | DeepSeek 端午特别献礼 当粽叶飘香时,DeepSeek 悄然带来一份节日惊喜 版本号 DeepSeek-R1-0528 正式上线 官方赋予它的灵魂是: 思考更深 推理更强 用户通过官网…...

Linux 1.0.4

父子shell linux研究的就是shell 打开两个窗口就是两个shell 终端的软件有很多 bash也是一个软件 我们在terminal里面再打开一个bash,然后再次使用ps命令发现多出来一个bash,之后点击exit只是显示了一个exit,这个只是退出了在terminal中打开…...

*JavaScript中的Symbol类型:唯一标识符的艺术

JavaScript中的Symbol类型:唯一标识符的艺术 在JavaScript的世界中,数据类型一直是开发者关注的焦点。从基本的Number、String到后来的Symbol,每一种类型的引入都为语言本身注入了新的活力。而今天我们要聊的主角——Symbol,是ES…...

前端基础之《Vue(17)—路由集成》

一、页面应用程序分类 1、单页面应用程序(SPA) 通过路由系统把组件串联起来的并且只有一个根index.html页面的程序,叫做单页面应用程序。 2、多页面应用程序(MPA) 整个应用程序中,有多个.html页面。每次用…...