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


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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Css提高——flex布局及其相关属性

目录: 1、传统布局与flex布局的区别 2、flex的布局原理 3、flex常见的父项属性 3.1、flex-direction :设置主轴的方向 3.2、justify-content 设置主轴上的子元素排列方式 3.3、flex-wrap 设置子元素是否换行 3.4、align-items 设置侧轴上的子元素排…

电阻器的等效电路与高频无感电阻的性能

电阻器的结构比较简单,但在高频情况下,不能简单地把电阻器看成只是一个电阻分量的理想元件。电阳器实际上是由许多电阻、电感和电容分量组成的复杂阻抗系统,电阻只是其中的一个主要成分。因此必须研究电阻器的直流等效电路、高频等效电路和集…

面试题系列一之-css画三角形(原理解析)

用html写一个三角形的图标算是一个比较简单的,但是工作中用的还是比较多的&#xff0c;面试也可能会问&#xff0c;但了解背后的原理才能熟练使用 我们首先写一个div,设置边框 <body><div class"border"></div> </body> <style> .bo…

HNU计算机系统·汇编进阶

知识回顾&#xff1a; 寻址&#xff1a; 其中&#xff0c;比例因子S&#xff0c;只能是1&#xff0c;2&#xff0c;4&#xff0c;8中的数&#xff0c;这是因为在LEA的独立电路中使用移位寄存器 上节课的补充&#xff1a; mov部分: mov value , %eax mov $value , %eax 第一条…

Python数据分析-5

1.时间序列 2.pandas重采样 重采样&#xff1a;指的是将时间序列从一个频率转化为另一个频率进行处理的过程&#xff0c;将高频率数据转化为低频率数据为降采样&#xff0c;低频率转 化为高频率为升采样。 统计出911数据中不同月份电话次数的变化情况&#xff1a…

Mysql---库表操作

文章目录 前言一、pandas是什么&#xff1f;二、使用步骤 1.引入库2.读入数据总结 一.Mysql数据库简介 MySQL是一种关系型数据库管理系统&#xff0c;是最流行的开源数据库之一。它是由瑞典MySQL AB公司开发的&#xff0c;后来被Sun Microsystems收购&#xff0c;之后又被Oracl…

vue iview 级联选择器遇到的坑

我们PC项目用到的前端技术栈是vue+iview,最近有个需求,要做个级联选择器,并且是懒加载动态加载后端返回的数据。效果如下: 如下图所示,在我们封装的公共组件form-box.vue里有我们级联选择器: 代码如下: <!--级联选择器--><template v-else-if="item.type…

传统机器学习 基于TF_IDF的文本聚类实现

简介 使用sklearn基于TF_IDF算法&#xff0c;实现把文本变成向量。再使用sklearn的kmeans聚类算法进行文本聚类。 个人观点&#xff1a;这是比较古老的技术了&#xff0c;文本转向量的效果不如如今的 text2vec 文本转向量好。 而且sklearn 不支持GPU加速&#xff0c;处理大量…

Spring Boot整合STOMP实现实时通信

目录 引言 代码实现 配置类WebSocketMessageBrokerConfig DTO 工具类 Controller common.html stomp-broadcast.html 运行效果 完整代码地址 引言 STOMP&#xff08;Simple Text Oriented Messaging Protocol&#xff09;作为一种简单文本导向的消息传递协议&#xf…

物联网技术助力智慧城市转型升级:智能、高效、可持续

目录 一、物联网技术概述及其在智慧城市中的应用 二、物联网技术助力智慧城市转型升级的路径 1、提升城市基础设施智能化水平 2、推动公共服务智能化升级 3、促进城市治理现代化 三、物联网技术助力智慧城市转型升级的成效与展望 1、成效显著 2、展望未来 四、物联网技…

数据分析-Pandas多维数据平行坐标可视化

数据分析-Pandas多维数据平行坐标可视化 数据分析和处理中&#xff0c;难免会遇到各种数据&#xff0c;那么数据呈现怎样的规律呢&#xff1f;不管金融数据&#xff0c;风控数据&#xff0c;营销数据等等&#xff0c;莫不如此。如何通过图示展示数据的规律&#xff1f; 数据表…

【javaWeb】在webapp中手动发布一个应用

标题 &#x1f432;一、为什么要在webapp中手动发布一个应用&#x1f389;二、手动发布步骤1.下载Tomcat2.解压并安装3.在webapps中创建文档 ✨三、总结 &#x1f432;一、为什么要在webapp中手动发布一个应用 好处解释灵活性手动发布应用程序可以根据自己的需求进行自定义配置…

【大模型系列】图片生成(DDPM/VAE/StableDiffusion/ControlNet/LoRA)

文章目录 1 DDPM(UC Berkeley, 2020)1.1 如何使用DDPM生成图片1.2 如何训练网络1.3 模型原理 2 VAE:Auto-Encoding Variational Bayes(2022&#xff0c;Kingma)2.1 如何利用VAE进行图像增广2.2 如何训练VAE网络2.3 VAE原理2.3.1 Auto-Encoder2.3.2 VAE编码器2.3.3 VAE解码器 3 …

编程示例:约瑟夫环问题

编程示例&#xff1a;约瑟夫环问题 &#xff11;约瑟夫环的故事 在浩瀚的计算机语言中&#xff0c;总有一些算法——虽然码量很少&#xff0c; 但却能完美又巧妙地解决那些复杂的问题。接下来&#xff0c; 我们要介绍的“约瑟夫环”问题就是一个很好的例子。 这个问题来源于犹…

基于uniapp的旅游景点入园预约系统 微信小程序0220o

技术要求&#xff1a; a) 操作系统&#xff1a;Windows、Linux等&#xff1b; b) 开发工具&#xff1a;Android Studio、pycharm等&#xff1b; c) 数据库&#xff1a;Oracle、MySQL等&#xff1b; d) 开发语言&#xff1a;python&#xff1b; e) 技术框架&#xff1a;采用MVC模…

GPT实战系列-如何让LangChain的Agent选择工具

GPT实战系列-如何让LangChain的Agent选择工具 LangChain GPT实战系列-LangChain如何构建基通义千问的多工具链 GPT实战系列-构建多参数的自定义LangChain工具 GPT实战系列-通过Basetool构建自定义LangChain工具方法 GPT实战系列-一种构建LangChain自定义Tool工具的简单方法…

PHP中的反序列化漏洞

PHP中的反序列化漏洞 目录 PHP 中的序列化与反序列化 概述 序列化 基本类型的序列化 对象的序列化 反序列化 示例序列化与反序列化 反序列化漏洞 - PHP 中的魔术方法 - Typecho_v1.0 中的反序列化漏洞 POP链的构造思路 pop链案例 反序列化逃逸 字符串逃逸&#xff…

Mac-自动操作 实现双击即可执行shell脚本

背景 在Mac上运行shell脚本&#xff0c;总是需要开启终端窗口执行&#xff0c;比较麻烦 方案 使用Mac上自带的“自动操作”程序&#xff0c;将shell脚本打包成可运行程序(.app后缀)&#xff0c;实现双击打开即可执行shell脚本 实现细节 找到Mac上 应用程序中的 自动操作&am…

HTML案例-1.标签练习

效果 源码 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title> </head&g…

三维高斯是什么

最近3DGS的爆火&#xff0c;引发了一众对三维高斯表达场景的研究。这里的三维高斯是什么&#xff1f;本文用简答的描述和简单实验来呈现三维高斯的数学意义。本文没有公式推导&#xff0c;主打一个意会。 我们高中都学过高斯分布&#xff0c;即一个钟形曲线。它的特点是有一个…