<JavaEE> 数据链路层 -- 以太网协议、MTU限制、ARP协议

目录

以太网协议

什么是以太网?

以太网的帧格式

什么是MAC地址?

MAC地址和IP地址的对比?

MTU(最大传输单元)限制

什么是MTU限制?

MTU对IP协议有什么影响?

MTU对UDP协议有什么影响?

MTU对TCP协议有什么影响?

ARP协议

什么是ARP协议?

ARP协议的作用是什么?

ARP协议的工作流程


以太网协议

                                                  

什么是以太网?

  • “以太网”是一种技术标准,其中既包含了数据链路层的内容,也包含了物理层的内容

  • 以太网是当前应用最广泛的局域网技术

  • 除以太网之外,还有令牌环网、无线LAN等和以太网并列。


以太网的帧格式

  • 以太网数据帧长度最小为46字节,最大为1500字节

  • 源地址和目的地址:是指网卡的硬件地址,也称为MAC地址

  • 帧协议类型,有三种值:

    • 0800,对应IP协议

    • 0806,对应ARP协议

    • 8035,对应PARP协议

  • CRC检验码:位于数据帧的末尾,用于校验报头正确性。


什么是MAC地址?

  • MAC地址用于识别数据链路层中相连的节点

  • MAC地址长度为48位(6个字节),通常使用16进制数字加上冒号表示。如:01:AB:23:CD:45:EF

  • MAC地址在出厂时就固定了,不能修改,通常是唯一的(虚拟机除外)。因此MAC可以作为一台网络设备的身份标识


MAC地址和IP地址的对比?

  • IP地址描述的是路径的起点和终点;MAC地址描述的是路径中,某个区间的起点和终点

  • IP协议用于整个通信过程的路径规划工作;以太网使用MAC地址,在两个相邻网络设备之间进行通信

  • IP地址是可变的,MAC地址通常是不可变的。


MTU(最大传输单元)限制

                                                  

什么是MTU限制?

  • MTU是指物理层对数据链路层传输数据帧长度的限制

  • 不同的数据链路层协议和对应的物理层之间,MTU限制也不同。

  • 当数据包长度超过MTU限制,则会对数据包进行分片(fragmentation)


MTU对IP协议有什么影响?

  • 会对超过限制的长数据进行分包

  • 分包是指将长数据分为多个短数据,每个短数据包协议头中的16位标识(id)是相同的。

  • 每个短数据包IP协议头中的3位标志字段,第2位为0时,表示允许分片;第3位表示结束标记,包未结束则为0,包已结束则为1。

  • 到达目标地址时,会对多个短数据包按顺序重组,并一起返回传输层。

  • 当某个短数据包丢失,则整个长数据包失效


MTU对UDP协议有什么影响?

  • 在经过网络层时,如果UDP数据报超过1500(包含报头),就会被分成多个IP数据报

  • 如果其中一个数据报丢失,则会导致数据接收失败。所以UDP数据报被分片时,传输失败的概率会大大增加。


MTU对TCP协议有什么影响?

  • TCP数据报不定长,但也不是无限制。MTU限制了单个TCP数据报的最大长度,称为MSS

  • TCP建立连接时,通信双方会在SYN中进行MSS协商,协商交互双方能够接收的最大MSS值,MSS值记录在TCP首部的40字节变长选项中


ARP协议

                                                  

什么是ARP协议?

  • ARP协议是一个介于数据链路层和网络层之间的协议

  • ARP数据包长度不足46字节时,会补充填充位,直到满足46字节。


ARP协议的作用是什么?

  • 通讯前需要获得目标主机的IP地址、端口号和硬件地址。APR协议会记录目标主机的硬件地址,建立主机IP地址和MAC地址的映射关系(转发表)。因此通过IP地址就可以找到硬件地址。


ARP协议的工作流程

  • 源主机发出ARP请求,询问某IP地址的硬件地址(MAC),并将请求广播到本地网段。

  • 目的主机接收ARP请求,本机IP地址与请求中的IP地址相匹配时,则向源主机发送ARP应答数据包,并将本机MAC地址填写在数据包中

  • 每台主机都会维护一个ARP缓存表(可使用arp -a命令查看),用于记录IP地址和MAC地址的映射关系。

  • 缓存表每个表项过期时间通常为20分钟,20分钟未通信则再次通信时需要重复上述步骤。


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

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

相关文章

微服务:Bot代码执行

每次要多传一个bot_id 判网关的时候判127.0.0.1所以最好改localhost 创建SpringCloud的子项目 BotRunningSystem 在BotRunningSystem项目中添加依赖: joor-java-8 可动态编译Java代码 2. 修改前端,传入对Bot的选择操作 package com.kob.botrunningsy…

【SpringBoot3】整合Druid数据源和Mybatis 项目打包和运行

文章目录 一、整合Druid数据源二、整合Mybatis2.1 MyBatis整合步骤2.1 Mybatis整合实践2.1 声明式事务整合配置2.1 AOP整合配置 三、项目打包和运行命令启动和参数说明 总结web 与 springboot 打包区别JDK8的编译环境 执行17高版本jar 一、整合Druid数据源 创建模块 &#xff1…

云备份项目2

云备份项目 文章目录 云备份项目4. 服务端代码设计4.1 服务端工具类实现4.1.1 文件实用工具类设计4.1.2 Json实用工具类设计 4.2 服务端配置信息模块实现4.2.1 系统配置信息4.2.2 单例文件配置类设计 4.3 服务端数据管理模块实现4.3.1 备份数据类的实现4.3.2 数据管理类的设计 …

Js输入输出语句

输入语法 prompt("您想输入的是&#xff1f;")输出语法: 语法1: document.write(‘要出的内容’&#xff09; <body><script>document.write("你好")document.write("<h1>我是<h1>")</script> </body>作…

蓝桥杯刷题(九)

1.三国游戏 代码 #输入数据 nint(input()) Xlilist(map(int,input().split())) Ylilist(map(int,input().split())) Zlilist(map(int,input().split())) #分别计算X-Y-Z/Y-Z-X/Z-X-Y并排序 newXli sorted([Xli[i] - Yli[i] - Zli[i] for i in range(n)],reverseTrue) newYli …

【NTN 卫星通信】 TN和多NTN配合的应用场景

1 场景描述 此场景描述了农村环境&#xff0c;其中MNO (运营商TerrA)仅在城市附近提供本地地面覆盖&#xff0c;而MNO (SatA)提供广泛的NTN覆盖。SatA使用GSO轨道和NGSO轨道上的卫星。SatA与TerrA有漫游协议&#xff0c;允许:   所有TerrA用户的连接&#xff0c;当这些用户不…

【SecurityException: JCE cannot authenticate the provider BC 问题】自定义解决

SecurityException: JCE cannot authenticate the provider BC 问题 hutool.crypto.CryptoException: SecurityException: JCE cannot authenticate the provider BC 先分析异常描述解决方案 先分析异常的描述 JCE cannot authenticate the provider BC&#xff1a;在使用带…

git push解决办法:! [remote rejected] prod -> prod (pre-receive hook declined)

今天想把最近改的东西上传到Gogs上发版一下子的&#xff0c;但是发现有冲突合并不了&#xff0c;于是我切回自己的分支合并了prod&#xff0c;把冲突处理了一下子&#xff0c;还又增加了一点修改&#xff0c;push后.......又回到prod进行git push&#xff0c;哦豁~这就出了问题…

【Poi-tl Documentation】自定义行删除标签

前置说明&#xff1a; <dependency><groupId>com.deepoove</groupId><artifactId>poi-tl</artifactId><version>1.12.1</version> </dependency>模板样式&#xff1a; 删除行表格测试.docx 实现思路&#xff1a;通过定制占位…

【每日力扣】40.组合总和II与701. 二叉搜索树中的插入操作

&#x1f525; 个人主页: 黑洞晓威 &#x1f600;你不必等到非常厉害&#xff0c;才敢开始&#xff0c;你需要开始&#xff0c;才会变的非常厉害。 40.组合总和II 给定一个候选人编号的集合 candidates 和一个目标数 target &#xff0c;找出 candidates 中所有可以使数字和为…

计算机网络——物理层(奈氏准则和香农定理)

计算机网络——物理层&#xff08;奈氏准则和香农定理&#xff09; 失真码间串扰奈氏准则&#xff08;奈奎斯特定理&#xff09;极限数据率 噪声信噪比香农定理奈氏准则和香农定理的区别 前面我们已经了解一些数据通信的基本知识&#xff0c;没有看过上一篇得小伙伴可以点击这里…

Android 系统的启动过程

Android 系统的启动流程&#xff1a; RomBoot&#xff08;只读存储器引导程序&#xff09;&#xff1a;这是设备上电时运行的初始软件。RomBoot执行基本的硬件初始化&#xff0c;确保硬件处于可以运行后续启动阶段的状态。这一阶段非常重要&#xff0c;因为它为整个启动过程奠定…

LCD屏的应用

一、LCD屏应用 Linux下一切皆文件&#xff0c;我们的LCD屏再系统中也是一个文件&#xff0c;设备文件&#xff1a;/dev/fb0。 如果要在LCD屏显示数据&#xff0c;那我们就可以把数据写入LCD屏的设备文件。 1.显示颜色块 LCD屏分辨&#xff1a;800*480 像素 32位:说明一个像…

JAVA---学生管理系统

遍历字符串 ArrayList学习&#xff1a;

【MySQL基础】MySQL基础操作三

文章目录 &#x1f349;1.联合查询&#x1f95d;笛卡尔积 &#x1f349;2.内连接&#x1f95d;查询单个数据&#x1f95d;查询多个数据 &#x1f349;3.外连接&#x1f349;4.自连接&#x1f349;5.合并查询 &#x1f349;1.联合查询 &#x1f95d;笛卡尔积 实际开发中往往数…

【软件测试】软件测试的基本概念和开发模型

1. 前言 在进行软件测试的学习之前,我们要了解软件测试一些基本概念. 这些基本概念将帮助我们更加明确工作的目标以及软件测试到底要做什么. 2. 软件测试的基本概念 软件测试的基本概念有3个,分别是需求,测试用例和BUG. 2.1 需求 这里的需求还可以分为 用户需求和软件需求,用…

图像去噪--(1)

系列文章目录 文章目录 系列文章目录前言一、图像噪声1.1 噪声定义1.2 基本特征 二、按照噪声概率分布分类1.高斯噪声2.泊松噪声 三、去噪算法3.1 线性滤波3.1.1 高斯滤波3.1.2 均值滤波 3.2 非线性滤波3.2.1 中值滤波3.2.2 双边滤波 四、深度学习总结 前言 一、图像噪声 1.1 …

Springboot全局异常处理

Springboot全局异常处理 一、不使用全局异常处理器二、全局异常处理器1.自定义常量&#xff08;返回状态码&#xff09;2.手动抛出异常3.编写全局异常处理器4.测试结果 三、全局异常处理方式二1.定义状态码常量2. 定义基础接口&#xff08;面向接口编程&#xff09;3.定义枚举类…

湖南麒麟SSH服务漏洞

针对湖南麒麟操作系统进行漏洞检测时&#xff0c;会报SSH漏洞风险提醒&#xff0c;具体如下&#xff1a; 针对这些漏洞&#xff0c;可以关闭SSH服务&#xff08;前提是应用已经部署完毕不再需要通过SSH远程访问传输文件的情况下&#xff0c;此时可以通过VNC远程登录方法&#x…

JMeter基础 — JMeter聚合报告详解

提示&#xff1a;聚合报告组件的使用和察看结果树组件的使用方式相同。本篇文章主要是详细的介绍一下聚合报告组件内容&#xff0c;不做示例演示。 1、聚合报告介绍 在使用JMeter进行性能测试时&#xff0c;聚合报告(Aggregate Report)可以说是必用的监听器。 &#xff08;1&…