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

<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分钟未通信则再次通信时需要重复上述步骤。


相关文章:

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

目录 以太网协议 什么是以太网? 以太网的帧格式 什么是MAC地址? MAC地址和IP地址的对比? MTU(最大传输单元)限制 什么是MTU限制? MTU对IP协议有什么影响? MTU对UDP协议有什么影响&…...

认识Testbench仿真激励

一、认识Testbench Bench有平台之意,所以Testbench就是测试平台的意思。 任何一个被测模块,都有输入和输出,此模块是否合格的判断依据,就是在满足输入要求的情况下,能否得到符合预期的输出。我们把被测模块称作UUT&…...

Postman请求API接口测试步骤和说明

Postman请求API接口测试步骤 本文测试的接口是国内数智客(www.shuzike.com)的API接口手机三要素验证,验证个人的姓名,身份证号码,手机号码是否一致。 1、设置接口的Headers参数。 Content-Type:applicati…...

这是二叉搜索树吗?

一棵二叉搜索树可被递归地定义为具有下列性质的二叉树:对于任一结点, 其左子树中所有结点的键值小于该结点的键值;其右子树中所有结点的键值大于等于该结点的键值;其左右子树都是二叉搜索树。 所谓二叉搜索树的“镜像”&#xf…...

5.82 BCC工具之tcpdrop.py解读

一,工具简介 tcpdrop工具打印被内核丢弃的 TCP 数据包或段的详细信息,包括导致丢弃的内核堆栈跟踪。 当网络出现拥堵、资源不足或其他原因导致数据包被内核丢弃时,tcpdrop可以帮助开发者和网络管理员识别并定位问题。 该工具通过钩住内核中处理TCP数据包的相关函数,捕获…...

JavaScript 基础知识

一、初识 JavaScript 1、JS 初体验 JS 有3种书写位置&#xff0c;分别为行内、内部和外部。 示例&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"wid…...

【判断是否为回文数】

法一&#xff1a;用字符串形式判断&#xff08;依次对比前面和后面的数是否相等&#xff09; #include<stdio.h> #include<string.h> int main() {char st[100];scanf("%s",st);int flag1,nstrlen(st);for(int i0,jn-1;i<n,j>0;i,j--){if(st[i]!…...

【C++】string进一步介绍

个人主页 &#xff1a; zxctscl 如有转载请先通知 文章目录 1. 前言2. 迭代器2.1 反向迭代器2.2 const对象迭代器 3. Capacity3.1 size和length3.2 max_size3.3 capacity3.4 clear3.5 shrink_to_fit &#xff08;了解即可&#xff09;3.6 reserve3.7 resize 4. Element access4…...

思科设备下面主机访问公网经常时好时坏延迟大丢包不稳定

环境: 思科防火墙ASA5555 Cisco Adaptive Security Appliance Software Version 9.4(2)6 Device Manager Version 7.5(2)153 内外为DMZ区域 思科交换机(C3560E-UNIVERSALK9-M), Version 12.2(55)SE5 主机 centos 7 问题描述: 思科设备下面主机访问公网经常时好时坏不稳定…...

nuxtjs 如何通过ecosystem.config.js配置pm2?

在 Nuxt.js 项目中&#xff0c;您可以通过 ecosystem.config.js 文件来配置 PM2&#xff0c;以便使用 PM2 来管理 Nuxt.js 应用的进程。ecosystem.config.js 是一个特殊的配置文件&#xff0c;它允许您定义应用的各种属性&#xff0c;如脚本路径、环境变量、日志设置等。 下面…...

个人博客系列-后端项目-用户注册功能(7)

介绍 用户注册API的主要流程&#xff1a;1.前端用户提交用户名&#xff0c;密码 2. 序列化器校验用户名&#xff0c;密码是否合法。3.存入数据库。4.签发token 创建序列化器 from rest_framework import serializers from rest_framework_simplejwt.serializers import Toke…...

vue项目因内存溢出启动报错

前端能正常启动&#xff0c;但只要一改动就报错启动出错。 解决办法&#xff1a; 安装依赖 npm install cross-env increase-memory-limit 然后再做两件事&#xff1a;在node 在package.json 里的 script 里进行配置 LIMIT是你想分配的内存大小&#xff0c;这里的8192单位…...

UI 学习 二 可访问性 模式

教程&#xff1a;Accessibility – Material Design 3 一 颜色对比 颜色和对比度可以用来帮助用户看到和理解应用程序的内容&#xff0c;与正确的元素交互&#xff0c;并理解操作。 颜色可以帮助传达情绪、语气和关键信息。可以选择主色、辅助色和强调色来支持可用性。元素之…...

Spring学习

Maven 的配置文件是一个强约定的XML格式文件&#xff0c;它的文件名一定是pom.xml。 1、POM (Project Object Model) 一个 Java 项目所有的配置都放置在 POM 文件中&#xff0c;大概有如下的行为&#xff1a; 定义项目的类型、名字管理依赖关系定制插件的 1.maven坐标 <…...

鸿蒙开发-UI-动画-组件内转场动画

鸿蒙开发-UI-组件3 鸿蒙开发-UI-气泡/菜单 鸿蒙开发-UI-页面路由 鸿蒙开发-UI-组件导航-Navigation 鸿蒙开发-UI-组件导航-Tabs 鸿蒙开发-UI-图形-图片 鸿蒙开发-UI-图形-绘制几何图形 鸿蒙开发-UI-图形-绘制自定义图形 鸿蒙开发-UI-图形-页面内动画 文章目录 前言 一、基本概…...

Leet code 179 最大数

解题思路 贪心算法 贪心算法就是走一步看一步 每一步都取当前位置的最优解 这题我们该如何贪呢&#xff1f; 我们先把int数组转换为string数组 以示例2为例 3 30 34 5 9 排序哪个在前哪个在后&#xff1f; 3 30 &#xff08;330&#xff09;> 30 3 &#xff08;30…...

swagger踩坑之请求类不显示具体字段

swagger踩坑之请求类不显示具体字段 省流&#xff1a;枚举字段需要加上ApiModelProperty注解 过程复现&#xff1a; TestEnum 枚举不加注解&#xff0c;swagger的UI类不显示详细字段 Data Accessors(chain true) ApiModel(value "test对象", description &quo…...

案例分析篇14:信息系统安全设计考点(2024年软考高级系统架构设计师冲刺知识点总结系列文章)

专栏系列文章推荐: 2024高级系统架构设计师备考资料(高频考点&真题&经验)https://blog.csdn.net/seeker1994/category_12593400.html 【历年案例分析真题考点汇总】与【专栏文章案例分析高频考点目录】(2024年软考高级系统架构设计师冲刺知识点总结-案例分析篇-…...

前端之用HTML弄一个古诗词

将进酒 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>将进酒</title><h1><big>将进酒</big> 君不见黄河之水天上来</h1><table><tr><td ><img…...

Linux 安装使用 Docker

目录 一、前提卸载命令&#xff1a;执行情况&#xff1a; 二、安装 Docker1. 通过仓库进行安装&#xff08;在线方式&#xff09;1.1 设置存储库1.2 查看可安装版本1.3 安装 Docker1.4 启动 Docker1.5 验证是否成功 2. 通过 RMP 包安装&#xff08;离线方式&#xff09;2.2 安装…...

量子密码 vs 后量子密码:企业安全负责人必须知道的5个关键差异

量子密码与后量子密码&#xff1a;企业安全决策者的技术选型指南 当金融巨头J银行遭遇一次未遂的数据窃取时&#xff0c;安全团队发现攻击者已开始收集加密流量——这是典型的"现在窃取&#xff0c;未来解密"战术。企业安全负责人面临的现实困境是&#xff1a;面对量…...

OpenClaw+Kimi-VL-A3B-Thinking自动化办公:飞书机器人实现图文周报生成

OpenClawKimi-VL-A3B-Thinking自动化办公&#xff1a;飞书机器人实现图文周报生成 1. 为什么选择这个方案 每周五下午&#xff0c;我都会面临同样的困扰&#xff1a;需要从十几个工作群聊、邮件和本地文件中整理出本周工作内容&#xff0c;手动截图关键数据&#xff0c;再拼凑…...

低成本自动化方案:OpenClaw+自部署Gemma-3-12b-it替代SaaS API

低成本自动化方案&#xff1a;OpenClaw自部署Gemma-3-12b-it替代SaaS API 1. 为什么需要替代SaaS API&#xff1f; 去年我负责一个自动化内容处理项目时&#xff0c;遇到了一个典型困境&#xff1a;随着任务复杂度的提升&#xff0c;调用商业API的成本开始失控。一个包含网页…...

# 系列文10:突破Activiti限制!政务工作流任意流转,支持跳退

系列文10&#xff1a;突破Activiti限制&#xff01;政务工作流任意流转&#xff0c;支持跳退回退 非科班野生程序员&#xff0c;深耕政务信息化20年&#xff0c;这套自研Java Web框架支撑过省级新农保、全国首例跨省医保结算等核心民生系统&#xff0c;18年稳定运行至今。本系…...

Claude Sonnet/Opus 4.6、CodeX系列、Gemini系列三大国际顶级模型到底有多强?!不服真不行!

Claude 4.6 系列、GPT-5.3 Codex 和 Gemini 3 Pro 三分天下&#xff1a; 维度Claude 4.6 (Sonnet/Opus)GPT-5.3 CodexGemini 3.1 Pro逻辑推理 (GPQA)Opus: 91.3% (巅峰)90.2%89.5%代码工程 (SWE-bench)Sonnet: 79.6% (最稳)56.8% (Pro 版)54.2%终端执行 (Terminal-Bench)69.9%…...

DAY3--SQL单字段去重查询

SQL基础入门&#xff1a;电商用户数据单字段去重查询实操 这一章能解决什么电商工作问题&#xff1f; 前两章我们学了SELECT *&#xff08;全量看数据&#xff09;和SELECT 字段列表&#xff08;精准取字段&#xff09;。这一章讲的是另一个高频操作&#xff1a;去重。 我讲一个…...

信奥赛C++提高组csp-s高频考点知识详解

信奥赛C提高组csp-s高频考点知识详解 高频考点&#xff1a;并查集、最小生成树、拓扑排序、欧拉回路、强连通分量、二分图、Dijkstra、Floyd、Bellman-Ford、SPFA、树状数组、线段树、哈希、哈希表、离散化、KMP、Trie字典树、AC自动机、单调栈、单调队列、快速幂、倍增算法、反…...

AI Agent 与传统AI区别:从被动响应到主动执行

AI Agent 与传统AI区别&#xff1a;从被动响应到主动执行&#x1f4dd; 本章学习目标&#xff1a;本章是入门认知部分&#xff0c;帮助零基础读者建立对AI Agent的初步认知。通过本章学习&#xff0c;你将全面掌握"AI Agent 与传统AI区别&#xff1a;从被动响应到主动执行…...

Speechless:为你的微博记忆穿上PDF保护衣

Speechless&#xff1a;为你的微博记忆穿上PDF保护衣 【免费下载链接】Speechless 把新浪微博的内容&#xff0c;导出成 PDF 文件进行备份的 Chrome Extension。 项目地址: https://gitcode.com/gh_mirrors/sp/Speechless 在数字记忆碎片化的时代&#xff0c;你是否曾担…...

读取Excel数据(替换your_data.xlsx即可)

多输入vmd-pso-lstm多维时序预测模型&#xff08;多输入单输出&#xff09; &#xff0c;价格仅为程序价格&#xff0c;不包含原理讲解 数据均为Excel数据替换数据就可以运行所有程序都经过验证&#xff0c;保证程序可以运行&#xff0c;具有良好的编程习惯&#xff0c;程序均包…...