以太网之ARP协议(八)

news2024/9/23 3:28:38

一、概要

        在网络通信中主要以IP为主机标识进行数据通信的,但实际的数据链路层传输以MAC地址为数据传输的节点地址。那设备之间又是如何通过IP地址确认对应主机的MAC地址的?这就是ARP协议的工作。

        ARP是一种以目标IP地址为线索,用来定位下一个应该接收数据分包的网络设备对应的MAC地址的网络协议。如果目标主机不在同一个链路上时,可以通过ARP查找下一跳路由器的MAC地址。

二、ARP的工作机制

        ARP是借助ARP请求与ARP响应两种类型的包确定MAC地址的。如下图所示:

        ARP的工作流程:

(1)主机A向主机发送IP数据包前,检查本地ARP缓存是否有主机B的ARP项,有则直接发送IP数据包;

(2)主机A本地没有主机B的ARP缓存项,开始广播发送ARP请求;

(3)主机B收到主机A的ARP请求的时自身的IP地址,单播恢复主机A的ARP响应;

(4)主机A收到ARP响应后,将[IP,MAC]缓存到本地APR表中,发送IP数据包;

三、ARP数据帧

(1)硬件类型:2字节,用来定义运行ARP的网络类型;以太网的类型未0x0001。

(2)协议类型:2字节,用来定义使用的类型,对于IPv4协议类型为0x0800。

(3)硬件长度:1字节,标识硬件地址长度,对于以太网的值为6。

(4)协议长度:1字节,标识软件逻辑地址长度,对于IPv4的值为4。

(5)操作码:2字节,用来定义报文的类型。已定义的分租类型有两种:ARP请求为0x01,ARP响应为0x02。

(6)源硬件地址:可变字段,发送方的硬件地址,以太网中该字段长度为6字节。

(7)源逻辑地址:可变字段,发送方的逻辑地址,IPv4中该字段长度为4字节。

(8)目的硬件地址:可变字段,接收方的硬件地址,以太网中该字段长度为6字节。

(9)目的逻辑地址:可变字段,接收方的逻辑地址,IPv4中该字段长度为4字节。

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

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

相关文章

300PLC转以太网模块plc300以太网通信模块

摘要 工业通讯的发展已经迅速到了一个令人咋舌的地步,以太网通讯已经成为了工业通讯的主流。而今天,我们要介绍的是一款以太网通讯处理器——捷米特ETH-S7300-JM01,它不仅成熟、稳定,而且价格优惠,为工业以太网通讯领域…

Qt对地震数据(文件格式*.Segd)实现将时域数据转频域数据

文件格式以segd为例,其他地震文件格式同理。 时域数据 时域数据通俗点讲就是我在某个时间段记录的一个值,然后经过一段时间后,产生的一组数据就是时域数据。 频域数据 频域数据是指信号在频率域上的表示,即信号的频率特性。频…

PowerShell快速ssh

文件 ~/.ssh/config 内容 Host masterHostName 192.168.10.154User root访问 $ ssh master 效果 进阶 配置秘钥 待续。。。

Transform、GameObject、Rigidbody

文章目录 零、初衷和溯源一、Transform类二、GameObject类三、Rigidbody类 零、初衷和溯源 这三个类的API官方文档,有些杂乱——本可以把它们分门别类的整理好,结果却是凌乱的堆在一起,令人恼火。   之所以把它仨放一起总结,是因…

【数据挖掘】时间序列教程【十】

5.4 通用卡尔曼滤波 上一节中描述的状态空间模型作为观测方程的更一般的公式 和状态方程 这里是一个p1 向量

simulink stateFlow流程图

基础 修改分支优先级 使用matlab workspace变量 例题 输出数组输入数组的平方 for循环 使用脚本的数值 实现数组索引

2021 RoboCom 世界机器人开发者大赛-本科组(初赛)

编程题得分:100 总分:100 7-1 懂的都懂 (20分) 众所周知,在互联网上有很多话是不好直接说出来的,不过一些模糊的图片仍然能让网友看懂你在说什么。然而对这种言论依然一定要出重拳,所以请你实现一个简单的匹配算法。 …

图像分类论文阅读

该论文通过结合VGG-19和VIT模型,实现乳腺超声图像的分类Breast Ultrasound Images Dataset | Kaggle PyTorch VGG19复现代码 # VGG19.py import torch import torch.nn as nnclass Conv(nn.Module):def __init__(self, in_channels, out_channels, kernel_size=1, stride=1,…

面向 “大模型” 的未来服务架构设计

文章目录 大模型热潮大模型落地服务设计 or 重构未来的服务架构微服务化分层化 大模型应用架构架构设计图架构 Demo 实现 小结附录 大模型热潮 今年的互联网赛道中 “顶流” 非大模型莫属。 科技部新一代人工智能发展研究中心 5 月底发布的《中国人工智能大模型地图研究报告》显…

极米H6 4K光学变焦版 打造全新4K观影体验

随着时代的发展,拥有家用智能投影的家庭也越来越多了。当下许多家用投影仪都搭载了智能系统,内含大量片源。另外,投影仪还可以通过不同接口接入不同的设备,如游戏机、电脑、U盘等。只需要一台投影便可以实现在线追剧、听歌、游戏、…

ZER-10-EP-L350C-224叠加式比例溢流阀放大器

ZER-06-EP-L105C-224、ZER-06-EP-L210C-224、ZER-06-EP-L350C-224、ZER-10-EP-L105C-224、ZER-10-EP-L210C-224、ZER-10-EP-L350C-224叠加式比例溢流阀由主阀体和溢流阀、阀插件、佰业比例放大器组成,标准叠加安装接口,与换向阀等配合使用,便…

【ELK企业级日志分析系统】安装与部署ELK详解

ELK 企业级日志分析系统 1.ELK概述1.1 ELK简介1.2 可以添加的其它组件1.3 filebeat结合logstash带来好处1.4 为什么要使用ELK?1.5 完整日志系统基本特征 2.ELK的工作原理3.部署ELK集群3.1 安装Elasticsearch3.2 安装Elasticsearch-head插件3.3 安装ELK Logstash3.4 安装ELK Ki…

HO49-二叉树的最近公共祖先

leetcode原题链接:二叉树的最近公共祖先 题目描述 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个节点 p、q,最近公共祖先表示为一个节点 x,满足 x 是 p、q 的…

Linux中的GO更新与冲突

发行版:CentOS GO更新 在使用go get安装某模块时,报错: ../../pkg/mod/golang.org/x/sysv0.5.0/unix/syscall.go:83:16: undefined: unsafe.Slice ../../pkg/mod/golang.org/x/sysv0.5.0/unix/syscall_linux.go:2271:9: undefined: unsafe.…

Verilog学习笔记5:简单的加法器

代码&#xff1a; //加法器 timescale 1ns/10ps module add( a, b, y ); input a; input b; output[1:0] y;assign yab;endmodule //testbench module add_tb; reg a; reg b; wire[1:0] y;add add(.a(a),.b(b),.y(y));initial begina<0;b<0;#10 a<1;b<0;#10 a&l…

SpringMVC 中的视图如何渲染模型数据

SpringMVC 中的视图如何渲染模型数据 SpringMVC 是一个基于 Spring 框架的 Web 框架&#xff0c;它提供了一种方便的方式来处理 HTTP 请求和响应。在 SpringMVC 中&#xff0c;视图是用来渲染模型数据的组件&#xff0c;它们负责将模型数据转换为 HTML、JSON、XML 等格式的响应…

风沙文字粒子制作

目录 一、导入素材 二、合成介绍 三、文字合成新建和制作 四、文字动画合成新建和制作 五、风沙文字消失合成的新建和制作 六、风沙文字消失合成制作完成 七、制作风沙文字出现合成 风沙文字粒子效果如下&#xff1a; AE模板风沙文字粒子宣传片片头片尾 一、导入素材 打…

Windows server 2012服务器远程桌面登录时出现错误提示:“由于没有远程桌面授权服务器可以提供许可证,远程会话被中断

简单粗暴&#xff1a; Windows server 2012服务器远程桌面登录时出现错误提示&#xff1a;“由于没有远程桌面授权服务器可以提供许可证&#xff0c;远程会话被中断。请跟服务器管理员联系 使用 mstsc /admin /v:目标ip 来强制登录服务器&#xff0c;但只能是管理员身份…

最简单的大屏可视化解决方案---autofit.js

在工作开发当中&#xff0c;我们避免不了要去做大屏。那么做大屏其实最难的点和最核心的问题就是适配&#xff0c; 下面为大家介绍最好用的大屏解决方案——autofit.js。 “一行代码搞定&#xff0c;开袋即食&#xff01;&#xff01;&#xff01;” 效果图展示&#xff0c;…

第4章-面向对象编程(上)

1. 面向过程与面向对象 面向过程 面向对象 2. 面向对象的思想概述 类(Class)和对象(Object)是面向对象的核心概念 类是对一类事物的描述&#xff0c;是抽象的、概念上的定义对象是实际存在的该类事物的每个个体&#xff0c;因而也称为实例(instance)属性&#xff1a;对应类…