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

javaEE 初阶 — 数据链路层中的以太网数据帧

文章目录

  • 以太网帧格式
    • 1. MAC 地址
    • 2. MAC 地址是如何与 IP 地址相互配合的
    • 3. 以太网帧格式中的类型
  • MTU(了解)

以太网帧格式


数据链路层主要考虑的是相邻的两个结点之间的传输。

这里最知名的协议就是 以太网


一个以太网数据帧有三个部分组成。帧头+载荷+帧尾
载荷描述了一个完整的 IP 数据报,而帧头描述了 目的地址源地址、和类型(由这三部分组成)。帧尾则是 CRC

1. MAC 地址

这里的地址指的不是 IP 地址 而是 MAC 地址,MAC 地址是物理上的地址。

MAC 地址与 IP 地址 完全不是一回事,是不同的两套体系。

MAC 地址有 6 个字节,当前每个设备都会有唯一的 MAC 地址,MAC 地址不是动态分配的,
而是网卡出场的时候就被设置好的。

打开 cmd 键入 ipconfig 就可以查看自己的 MAC 地址。



这里的物理地址就是 MAC 地址。

2. MAC 地址是如何与 IP 地址相互配合的


IP 是用来描述这个传输过程的起点和终点, MAC 则是用来描述两个相邻结点的起点和终点。


下面来举个例子,比如说我从 河北 到 广东 去,通过网络层就回规划出一条路线:

河北 —> 河南 —> 湖北 —> 湖南 —> 广东

数据链路层会考虑到相邻的两个结点怎么走。

比如从 河北 —> 河南

源 IP 就是 河南,目的 IP 就是 广东,源 MAC 就是 河北,目的 MAC 就是河南。
比如说这一段路坐火车。


从 河南 —> 湖北

源 IP 就是 河北,目的 IP 就是 广东;源 MAC 就是 河南,目的 MAC 就是 湖北。
比如说这一段路程可以做高铁。


后面的路径与前面类似,总之 IP 描述的是最初从哪里来到哪里去,而 MAC 描述的是当前的阶段任务。

3. 以太网帧格式中的类型



类型是 0800 的描述的是一个普通的以太网数据帧,载荷部分就是一个完整的 IP 数据报。
0806 类型描述载荷部分是一个 ARP 报文,而 8035 的类型描述载荷部分是一个 RARP 报文。

这里的 ARP 报文RARP 报文 是数据链路层中的 ARP 协议
通过这个协议可以让某个路由器与交换机能够认识局域网里的其它设备,也就是建立连接。
也可以通过 ARP 协议 在交换机与路由器里建立一个表,这个表相当于是 哈希表,可以建立出 IP 与 MAC 之间映射关系。
映射关系 也就是知道了 IP 就可以知道 MAC ,知道了 MAC 就可以知道 IP 。

MTU(了解)


MTU 是一个数据链路层的数据帧,描述的是能够承载数据的最大长度。(载荷的长度)

但是载荷具体多长和使用的物理介质有很大的关系,当然也和数据链路层使用的协议有很大的关系。
比如以太网协议 MTU 是 1500的字节。(这和物理层有很大的关系)

正是这个 MTU 引起了 IP 这个协议来进行分包组包。
IP 的分包组包通常不是根据这个 IP 最大长度 64 KB 来分的,大概率的情况下,数据链路层的 MTU 都比 64 KB 要小。

相关文章:

javaEE 初阶 — 数据链路层中的以太网数据帧

文章目录以太网帧格式1. MAC 地址2. MAC 地址是如何与 IP 地址相互配合的3. 以太网帧格式中的类型MTU(了解)以太网帧格式 数据链路层主要考虑的是相邻的两个结点之间的传输。 这里最知名的协议就是 以太网。 一个以太网数据帧有三个部分组成。帧头载荷…...

泼辣修图Polarr5.11.4 版,让你的创意无限延伸

泼辣修图是一款非常实用的图片处理软件,它不仅拥有丰富的图片处理功能,而且还能够轻松地实现自定义操作。泼辣修图的操作界面非常简洁,功能也非常丰富,使用起来非常方便快捷。 泼辣修图拥有非常丰富的图片处理功能,包括…...

leetcode打卡-深度优先遍历和广度优先遍历

200.岛屿数量 leetcode题目链接:https://leetcode.cn/problems/number-of-islands leetcode AC记录: 思路:深度优先遍历,从0,0开始遍历数组,使用boolean类型数组used记录是否被访问过,进行一…...

【0177】Linux中POSIX信号量实现机制

文章目录 1. 信号量概念1.1 信号量类比1.2 重要的观察1.3 信号量分类2. POSIX与System V信号量3. 信号量API4. 代码演示5. 信号量内核实现1. 信号量概念 在计算机科学中,信号量(semaphores )是一种变量或抽象数据类型,用于控制多个进程对公共资源的访问,并避免并发系统(如…...

跳表--C++实现

目录 作者有话说 为何要学习跳表?为了快,为了更快,为了折磨自己..... 跳表作用场景 1.不少公司自己会设计哈希表,如果解决哈希冲突是不可避免的事情。通常情况下会使用链址,很好理解,当有冲突产生时&#…...

c#:System.Text.Json 的使用一

环境: .net 6.0vs2022 参考: 从 Newtonsoft.Json 迁移到 System.Text.Json System.Text.Json 常规用法 一、写入时的控制 1.1 非ascii码转换 直接看代码: var str System.Text.Json.JsonSerializer.Serialize(new Model { Id 1, Name …...

kaggle数据集下载当中所遇到的问题

kaggle数据集下载当中所遇到的问题报错分析pip install kagglethe SSL module is not available解决方法pip的版本升级解决办法下载kaggle包kaggle数据集下载问题解决参考内容报错分析 今天在尝试使用pip install kaggle的方法去下载我需要的数据集的时候遇到了一些报错的问题…...

TEX:高阶用法

文章目录定制LATEX记数器创建记数器改变记数器的值显示记数器的值长度橡皮长度用户定义命令用户定义的环境标题定制正文中标题设置使用titlesec宏包设置标题格式目录中标题设置LATEX 2ε\varepsilonε程序设计语言命令的层次文件识别上载其他类和宏包输入文件检测文件选项的处理…...

UML 类图

车的类图结构为<>&#xff0c;表示车是一个抽象类&#xff1b; 它有两个继承类&#xff1a;小汽车和自行车&#xff1b;它们之间的关系为实现关系&#xff0c;使用带空心箭头的虚线表示&#xff1b; 小汽车为与SUV之间也是继承关系&#xff0c;它们之间的关系为泛化关系…...

项目实战典型案例1——redis只管存不管删除 让失效时间删除的问题

redis只管存不管删除 让失效时间删除的问题一&#xff1a;背景介绍二&#xff1a;思路&方案三&#xff1a;代码模拟1.错误示范通过班级id查询课程名称执行结果通过班级id修改课程名称&#xff08;并没有删除对应缓存&#xff09;执行结果2.正确示范在错误示范的更新接口上添…...

@RequestParam和@PathVariable的用法与区别

PathVariable PathVariable 映射 URL 绑定的占位符带占位符的 URL 是 Spring3.0 新增的功能&#xff0c;该功能在SpringMVC 向 REST 目标挺进发展过程中具有里程碑的意义通过 PathVariable 可以将 URL 中占位符参数绑定到控制器处理方法的入参中&#xff1a;URL 中的 {xxx} 占…...

【大数据 AI 人工智能】数据科学家必学的 9 个核心机器学习算法

如今,机器学习正改变着我们的世界。借助机器学习(ML),谷歌在为我们推荐搜索结果,奈飞在为我们推荐观看影片,脸书在为我们推荐可能认识的朋友。 机器学习从未像在今天这样重要。但与此同时,机器学习这一领域也充斥着各种术语,晦涩难懂,各种机器学习的算法每年层出不穷…...

IronPDF for .NET 2023.2.4 Crack

适用于 .NET 2023.2.4 的 IronPDF 添加对增量 PDF 保存的支持。 2023 年 3 月 2 日 - 10:23新版本 特征 添加了对 IronPdfEngine Docker 的支持。 添加了对增量 PDF 保存的支持。 重新设计了 PDF 签名和签名。 删除了 iTextSharp 依赖项。 在文本页眉/页脚中添加了 DrawDivider…...

3.4-前端的10个问题

01、null和undefined undefined是全局对象的一个属性&#xff0c;当一个变量没有赋值或者访问一个对象不存在的属性&#xff0c;这时候都是undefined。 null&#xff1a;表示是一个空对象。在需要释放一个对象的时候&#xff0c;直接赋值为null即可。 02、箭头函数 箭头函数…...

开发手册——一、编程规约_9.其他

这篇文章主要梳理了在java的实际开发过程中的编程规范问题。本篇文章主要借鉴于《阿里巴巴java开发手册终极版》 下面我们一起来看一下吧。 1. 【强制】在使用正则表达式时&#xff0c;利用好其预编译功能&#xff0c;可以有效加快正则匹配速度。 说明&#xff1a;不要在方法…...

23.3.4打卡 AtCoder Beginner Contest 291(Sponsored by TOYOTA SYSTEMS)A~E

F题题面都看不懂嘞!开摆! 没找到合适的markdown, 截图网页翻译了我真是天才 比赛链接: https://atcoder.jp/contests/abc291 A题 题意 给出一个字符串, 找到第一个大写字母的下标 简单题就不多说了, 直接放代码 代码 void solve() {cin>>str;nstr.size();str"…...

Gem5模拟器,一些运行的小tips(十一)

一些基础知识&#xff0c;下面提到的东西与前面的文章有一定的关系&#xff0c;感兴趣的小伙伴可以看一下&#xff1a; (21条消息) Gem5模拟器&#xff0c;全流程运行Chiplet-Gem5-SharedMemory-main&#xff08;十&#xff09;_好啊啊啊啊的博客-CSDN博客 Gem5模拟器&#xf…...

【JAVA】List接口

&#x1f3c6;今日学习目标&#xff1a;List接口 &#x1f603;创作者&#xff1a;颜颜yan_ ✨个人主页&#xff1a;颜颜yan_的个人主页 ⏰本期期数&#xff1a;第四期 &#x1f389;专栏系列&#xff1a;JAVA List接口一、ArrayList二、LinkedList总结一、ArrayList ArrayLis…...

Hbase RegionServer的核心模块

RegionServer是HBase系统中最核心的组件&#xff0c;主要负责用户数据写入、读取等基础操作。RegionServer组件实际上是一个综合体系&#xff0c;包含多个各司其职的核心模块&#xff1a;HLog、MemStore、HFile以及BlockCache。 一、RegionServer内部结构 RegionServer是HBas…...

【Java开发】JUC进阶 01:Lock锁详解

1 Lock锁介绍已经在【JUC基础】04简单介绍过了&#xff0c;本文做进一步的拓展&#xff0c;比如公平锁和非公平锁、&#x1f4cc; 明白锁的核心四个对象&#xff1a;线程&#xff0c;共享资源&#xff0c;锁&#xff0c;锁操作包括线程如何操作资源&#xff0c;使用锁锁哪个资源…...

脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)

一、数据处理与分析实战 &#xff08;一&#xff09;实时滤波与参数调整 基础滤波操作 60Hz 工频滤波&#xff1a;勾选界面右侧 “60Hz” 复选框&#xff0c;可有效抑制电网干扰&#xff08;适用于北美地区&#xff0c;欧洲用户可调整为 50Hz&#xff09;。 平滑处理&…...

Golang dig框架与GraphQL的完美结合

将 Go 的 Dig 依赖注入框架与 GraphQL 结合使用&#xff0c;可以显著提升应用程序的可维护性、可测试性以及灵活性。 Dig 是一个强大的依赖注入容器&#xff0c;能够帮助开发者更好地管理复杂的依赖关系&#xff0c;而 GraphQL 则是一种用于 API 的查询语言&#xff0c;能够提…...

C++ 基础特性深度解析

目录 引言 一、命名空间&#xff08;namespace&#xff09; C 中的命名空间​ 与 C 语言的对比​ 二、缺省参数​ C 中的缺省参数​ 与 C 语言的对比​ 三、引用&#xff08;reference&#xff09;​ C 中的引用​ 与 C 语言的对比​ 四、inline&#xff08;内联函数…...

【配置 YOLOX 用于按目录分类的图片数据集】

现在的图标点选越来越多&#xff0c;如何一步解决&#xff0c;采用 YOLOX 目标检测模式则可以轻松解决 要在 YOLOX 中使用按目录分类的图片数据集&#xff08;每个目录代表一个类别&#xff0c;目录下是该类别的所有图片&#xff09;&#xff0c;你需要进行以下配置步骤&#x…...

QT: `long long` 类型转换为 `QString` 2025.6.5

在 Qt 中&#xff0c;将 long long 类型转换为 QString 可以通过以下两种常用方法实现&#xff1a; 方法 1&#xff1a;使用 QString::number() 直接调用 QString 的静态方法 number()&#xff0c;将数值转换为字符串&#xff1a; long long value 1234567890123456789LL; …...

如何理解 IP 数据报中的 TTL?

目录 前言理解 前言 面试灵魂一问&#xff1a;说说对 IP 数据报中 TTL 的理解&#xff1f;我们都知道&#xff0c;IP 数据报由首部和数据两部分组成&#xff0c;首部又分为两部分&#xff1a;固定部分和可变部分&#xff0c;共占 20 字节&#xff0c;而即将讨论的 TTL 就位于首…...

LCTF液晶可调谐滤波器在多光谱相机捕捉无人机目标检测中的作用

中达瑞和自2005年成立以来&#xff0c;一直在光谱成像领域深度钻研和发展&#xff0c;始终致力于研发高性能、高可靠性的光谱成像相机&#xff0c;为科研院校提供更优的产品和服务。在《低空背景下无人机目标的光谱特征研究及目标检测应用》这篇论文中提到中达瑞和 LCTF 作为多…...

Spring Security 认证流程——补充

一、认证流程概述 Spring Security 的认证流程基于 过滤器链&#xff08;Filter Chain&#xff09;&#xff0c;核心组件包括 UsernamePasswordAuthenticationFilter、AuthenticationManager、UserDetailsService 等。整个流程可分为以下步骤&#xff1a; 用户提交登录请求拦…...

pycharm 设置环境出错

pycharm 设置环境出错 pycharm 新建项目&#xff0c;设置虚拟环境&#xff0c;出错 pycharm 出错 Cannot open Local Failed to start [powershell.exe, -NoExit, -ExecutionPolicy, Bypass, -File, C:\Program Files\JetBrains\PyCharm 2024.1.3\plugins\terminal\shell-int…...

Modbus RTU与Modbus TCP详解指南

目录 1. Modbus协议基础 1.1 什么是Modbus? 1.2 Modbus协议历史 1.3 Modbus协议族 1.4 Modbus通信模型 🎭 主从架构 🔄 请求响应模式 2. Modbus RTU详解 2.1 RTU是什么? 2.2 RTU物理层 🔌 连接方式 ⚡ 通信参数 2.3 RTU数据帧格式 📦 帧结构详解 🔍…...