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

news2025/1/18 9:51:08

文章目录

  • 以太网帧格式
    • 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 要小。

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

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

相关文章

【GlobalMapper精品教程】055:GM坐标转换器的巧妙使用

GM软件提供了一个简单实用的坐标转换工具,可以实现地理坐标和投影坐标之间的高斯正反算及多种转换计算。 文章目录 一、坐标转换器认识二、坐标转换案例1. 地理坐标←→地理坐标2. 地理坐标←→投影坐标三、在输出坐标上创建新的点四、其他转换工具的使用一、坐标转换器认识 …

653600-56-7,Ac4GaINAz,N-叠氮四酰化半乳糖用于PROTAC合成

基础产品数据:CAS号:653600-56-7中文名:N-叠氮四酰化半乳糖,叠氮修饰半乳糖英文名: Ac4GaINAzAc4GaINAz结构式(Structural):详细产品数据:分子式:C16H22N4O10…

python学习——【第二弹】

前言 上一篇文章 python学习——【第一弹】给大家介绍了python中的基本数据类型等,这篇文章接着学习python中的运算符的相关内容。 运算符 python中的运算符主要有:算术运算符,赋值运算符,比较运算符,布尔运算符以及…

NPP夜间灯光遥感数据读取与可视化

1、Google Earth EngineGoogle Earth Engine是Google推出的行星尺度的遥感云计算平台,提供了大量遥感数据的集成与运算工具。同时也包括DMSP和NPP夜间灯光遥感数据(月尺度和年尺度)。这里给出样例的可视化代码。var dataset ee.ImageCollect…

1.2 CSS标签选择器,类选择器

CSS选择器: 根据不同的需求选出不同的标签,进行美化装饰 1. 标签选择器 标签选择器(元素选择器):用 HTML标签名作为选择器,按标签名称进行分类,为页面某一类标签指定统一的CSS样式 作用: 可以把某一类标签全部选中&…

UWB通道选择、信号阻挡和反射对UWB定位范围和定位精度的影响

(一)介绍检查NLOS操作时需要考虑三个方面:(1)由于整体信号衰减,通信范围减小。(2)由于直接路径信号的衰减,导致直接路径检测范围的减小。(3)由于阻…

记录--手摸手带你撸一个拖拽效果

这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 前言 最近看见一个拖拽效果的视频(抖音:艾恩小灰灰),看好多人评论说跟着敲也没效果,还有就是作者也不回复大家提出的一些疑问,本着知其然必要知其所以然…

栈帧之局部变量表(Local Variables)解读

局部变量表也被称之为局部变量数组或本地变量表 定义为一个数字数组,主要用于存储方法参数和定义在方法体内的局部变量,这些数据类型包括各类基本数据类型、对象引用(reference),以及returnAddress类型。由于局部变量表…

2023最新版本RabbitMQ下载安装教程

一、RabbitMQ简介 RabbitMQ 是一个由 Erlang 语言开发的 AMQP 的开源实现。主要用于在进程、应用程序和服务器之间交换数据,可以通过插件支持进行扩展,支持许多协议,并提供高性能、可靠性、集群和高可用队列。 AMQP :Advanced Me…

2023年疫情开放,国内程序员薪资涨了还是跌了?大数据告诉你答案

自从疫情开放,国内各个行业都开始有复苏的迹象,尤其是旅游行业更是空前暴涨,那么互联网行业如何? 有人说今年好找工作多了,有人说依然是内卷得一塌糊涂,那么今年开春以来,各个岗位的程序员工资…

第十四届蓝桥杯模拟赛(第三期)试题与题解 C++

目录 一、填空题 (一)最小的十六进制(答案:2730) (二)Excel的列(答案:BYT) (三)相等日期(答案:70910) (四)多少种取法(答案:189)…

20 客户端服务订阅的事件机制剖析

Nacos客户端服务订阅的事件机制剖析 我们已经分析了Nacos客户端订阅的核心流程:Nacos客户端通过一个定时任务,每6秒从注册中心获取实例列表,当发现实例发生变化时,发布变更事件,订阅者进行业务处理,然后更…

超长文解析Linux块设备驱动编写方法

1.前提知识 一个块驱动提供对块存储设备(比如 SD 卡、EMMC、NAND Flash、Nor Flash、SPI Flash、机械硬盘、固态硬盘等)以固定大小(块的大小由内核决定,常常是 4096 字节 )的块为基本单位,进行随机的存取。…

【项目实战】使用Feign服务间相互调用,其实OpenFeign也没有想象中那么难嘛

一、Feign介绍 openfeign是一个java的http客户端,用来简化http调用 二、Feign架构(来自官方) Feign由五大部分组成, 由于刚开始接触 feign ,比较关注的 clients 跟 encoders/decoders 三、OKHTTP与Feign之间的关系 在Feign中,Client是一个非常重要的组件,Feign最终…

Altium Designer19 #学习笔记# | 基础应用技巧汇总

全文目录一.元件符号库二.元件封装库1.AD09 集成元件库/封装库三.电路原理图1. 巧用查找"相似对象功能"1.1 查找相同元件1.2. 查找相同文本1.3. 查找相同网络 :E - S - C四.PCB原理图【AD PCB模式下的常用快捷键】PCB视图放大/缩小PCB视图左/右移动PCB切换…

《第一行代码》 第十章:服务

一&#xff0c;在子线程中更新UI 1&#xff0c;新建项目&#xff0c;修改布局代码 <RelativeLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"android:layout_height"match_parent"&g…

Bluetooth

GATT简介 蓝牙分为经典蓝牙和低功耗蓝牙&#xff08;BLE&#xff09;&#xff0c;我们常用的蓝牙遥控器就是低功耗蓝牙 低功耗蓝牙&#xff08;BLE&#xff09;连接都是建立在 GATT (Generic Attribute Profile) 协议之上。 GATT全称Generic Attribute Profile&#xff08;直译…

软件测试用例篇(2)

功能测试界面测试兼容性测试安全测试易用性测试性能测试 针对有需求的案例来设计测试用例:邮箱注册&#xff0c;部分测试用例 https://zay1xofb7z6.feishu.cn/mindnotes/bmncnKD5Ak6GSZl3PRlWDgF9z3g#mindmap 一)等价类: 场景需求:姓名长度是6-200位&#xff0c;那么如何进行设…

【数据结构初阶】手撕单链表

目录一.链表概念和结构二.单链表功能的实现1.打印单链表内容2.申请单链表节点3.头插和尾插4.头删和尾删5.单链表查找6.pos位置前后插入7.pos位置删除三.链表面试题剖析一.链表概念和结构 概念&#xff1a;链表是一种物理存储结构上非连续、非顺序的存储结构&#xff0c;数据元素…

5-12 SpringCloud快速开发入门:服务消费者构建Hystrix Dashboard监控端点

服务消费者构建Hystrix Dashboard监控端点 Hystrix 仪表盘工程已经创建好了&#xff0c;现在我们需要有一个服务&#xff0c;让这个服务提供一个路径为/actuator/hystrix.stream 接口&#xff0c;然后就可以使用 Hystrix 仪表盘来对该服务进行监控了&#xff1b; 我们改造消费者…