ARP协议(地址解析协议)

news2024/10/5 15:23:41

文章目录

  • ARP协议(地址解析协议)
    • MAC地址
    • ARP协议
      • ARP具体实现
        • 同一链路
        • 不同链路
      • ARP 缓存
        • 缓存查询
      • APR请求/响应报文

ARP协议(地址解析协议)

MAC地址

MAC 地址的全称是 Media Access Control Address,即媒体访问控制地址,它是网络上以太网或网络适配器的唯一标识符。MAC 地址能够区分不同的网络接口,并用于多种网络技术,尤其是大多数 IEEE 802 网络。

MAC 地址也称为物理地址,硬件地址和老化地址。主要用于识别数据链路中互联的节点。

MAC 地址长 48 bit,MAC 地址中第1位确定单播地址(0)/多播地址(1),第2位确定全局地址(0)/本地地址(1),的 3 - 24 位表示厂商识别码,每个 NIC 厂商都有特定唯一的识别数字。25 - 48 位是厂商内部为识别每个网卡而用

ARP协议

ARP 协议的全称是Address Resolution Protocol(地址解析协议),它是一个通过用于实现从 IP 地址到 MAC 地址的映射,即询问目标 IP 对应的 MAC 地址 的一种协议。ARP 协议在 IPv4 中极其重要。

ARP 就是一种解决地址问题的协议,它以 IP 地址为线索,定位下一个应该接收数据分包的主机 MAC 地址。如果目标主机不在同一个链路上,那么会查找下一跳路由器的 MAC 地址。

ARP具体实现

同一链路

  1. 主机 A 想要获取主机 B 的 MAC 地址,通过主机 A 会通过广播的方式向以太网上的所有主机发送一个ARP 请求包,这个 ARP 请求包中包含了主机 A 想要知道的主机 B 的 IP 地址的 MAC 地址。
  2. 主机 A 发送的 ARP 请求包会被同一链路上的所有主机/路由器接收并进行解析。
  3. 每个主机/路由器都会检查 ARP 请求包中的信息,如果 ARP 请求包中的目标 IP 地址 和自己的相同,就会将自己主机的 MAC 地址写入响应包返回主机 A

不同链路

通常 ARP 会被路由器隔离,但是采用**代理 ARP (ARP Proxy) **的路由器可以将 ARP 请求转发给临近的网段。使多个网段中的节点像是在同一网段内通信

ARP 缓存

ARP 高效运行的关键就是维护每个主机和路由器上的 ARP 缓存(或表)。这个缓存维护着每个 IP 到 MAC 地址的映射关系。通过把第一次 ARP 获取到的 MAC 地址作为 IP 对 MAC 的映射关系到一个 ARP 缓存表中,下一次再向这个地址发送数据报时就不再需要重新发送 ARP 请求了,而是直接使用这个缓存表中的 MAC 地址进行数据报的发送。每发送一次 ARP 请求,缓存表中对应的映射关系都会被清除。通过 ARP 缓存,降低了网络流量的使用,在一定程度上防止了 ARP 的大量广播。MAC 地址的缓存有一定期限,超过这个期限后,缓存的内容会被清除。

缓存查询

在 Linux 中使用 arp 查询缓存

查询结果主要包含五项:

  • 主机名 — 对应一个 IP 地址
  • 硬件地址类型
  • 硬件地址
  • 标志
  • 本地网络接口

标志主要分为三类: C 、M 或 P,C 表示的是由 ARP 协议动态学习。M 类可以通过 arp -s 增加一条。P 类表示的是发布,对于任何 P 类项目,主机对输入的 ARP 请求都返回一个 ARP 响应。这个选项用于配置代理 ARP。

APR请求/响应报文

下面是在以太网中转换一个 IPv4 的地址常用的 ARP 请求或响应的报文格式。

前面 14 个字节构成标准以太网的首部,前两个字段 DST 和 SRC 分别表示 以太网的目的地址以太网的源地址,以太网的目的地址如果是 ff:ff:ff:ff:ff:ff 全部为 1 表示广播地址,在同一广播域中的所有以太网接口可以接收这些帧。后面紧跟着的是 ARP 请求的长度/类型,ARP 请求 和 ARP 应答这个值为 0x0806

  • 硬件类型表示硬件地址的类型,硬件地址常见的有 MAC 物理或者以太网地址,对于以太网来说,此值为 1。
  • 协议类型指出映射的协议地址类型,对于 IPv4 地址,这个值是0x0800
  • 硬件大小协议大小分别指出硬件地址和协议地址的字节数。对于以太网中使用 IPv4 的 ARP 请求或应答,它们的值分别是 6 和 4。
  • Op字段指出如果是 ARP 请求,Op = 1,ARP 应答 ,Op = 2,RARP 请求 Op = 3,RARP 应答,Op = 4。
  • 紧跟在 Op 之后的是发送方硬件地址(MAC 地址)发送方的协议地址(IPv4 地址)目的硬件地址目的协议地址

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

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

相关文章

全网最细,时序数据库InfluxDB详解,你不知道的都在这...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 直接上图片&#…

新一代信息技术浪潮下的DPU力量 中科驭数亮相2023中国互联网大会

7月18日,由中国互联网协会主办,北京经济技术开发区管委会、北京市通信管理局、工业和信息化部新闻宣传中心联合主办的2023(第二十二届)中国互联网大会如约而至!中科驭数出席本次大会,高级副总裁张宇应邀在新…

Python内置函数系统学习(3)——数据转换与计算(详细语法参考 + 参数说明 + 具体示例)详解 min()函数 | lambda 真的牛啊

两岸猿声啼不住,轻舟已过万重山! 🎯作者主页: 追光者♂🔥 🌸个人简介: 💖[1] 计算机专业硕士研究生💖 🌟[2] 2022年度博客之星人工智能领域TOP4&#x1f…

java项目之社区生活超市管理系统(ssm+mysql+jsp)

风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于ssm的社区生活超市管理系统。技术交流和部署相关看文章末尾! 开发环境: 后端: 开发语言:Java 框…

【计算机视觉 | 目标检测】arxiv 计算机视觉关于目标检测的学术速递(7 月 25 日论文合集)

文章目录 一、Automotive Object Detection via Learning Sparse Events by Temporal Dynamics of Spiking Neurons1.2 Exposing the Troublemakers in Described Object Detection1.3 AMAE: Adaptation of Pre-Trained Masked Autoencoder for Dual-Distribution Anomaly Dete…

【档案专题】四、电子档案形成与收集

导读:主要针对电子档案形成与收集相关内容介绍。对从事电子档案管理信息化的职业而言,不断夯实电子档案管理相关理论基础是十分重要。只有通过不断梳理相关知识体系和在实际工作当中应用实践,才能走出一条专业化加职业化的道路,从…

25.4 matlab里面的10中优化方法介绍——最速下降法(matlab程序)

1.简述 matlab实现最速下降法 定义:沿负梯度方向进行搜索的算法(负梯度方向为最速下降方向) 算法步骤: 步0:选取初始点x0,容许误差是e[0~1],令k1 步1:计算目标函数的梯度gk▽f(xk)) 若 ||g…

网工内推 | 初级网工、Linux运维,IP证书优先

01 光联世纪 招聘岗位:初级网络工程师 职责描述: 1.负责日常基础网络运维工作; 2.负责日常网络监控工作; 3.负责现场基础技术支持工作; 4.主动进行自我迭代,不断提升技术能力和个人素质。 任职要求&#x…

行为型模式 - 观察者模式

概述 定义: 又被称为发布-订阅(Publish/Subscribe)模式,它定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态变化时,会通知所有的观察者对象,使他们能够…

jQuery的DOM操作之笔记总结

jQuery的DOM操作之笔记总结 首先我们来介绍一下什么是DOM 简述: 1.DOM全称Document Object Model(文档对象模型)。 2.每个文档都是一棵DOM结构的树,文档里的很多元素,就像树上的很多节点,或是分叉的树枝…

【Git】git仓库完整迁移

代码仓库,在公司有两个团队在做,并且gitlab所在环境不互通。有一个团队做的时间久一点,另一个团队想要用并做一些定制。就需要将代码转移到另一个gitlab管理。 参考:【Git】git仓库完整迁移(代码,分支&…

ubuntu挂载ext4文件系统

文章目录 1.虚拟机分配10G磁盘用来挂载ext4文件系统2.磁盘分区3.创建文件系统4.挂载文件系统5.卸载文件系统6.使用ior测试ext4三种日志模式(1)ordered(2)journal(3)writeback 1.虚拟机分配10G磁盘用来挂载e…

编码类型 ASCII URLcode编码 Unicode编码 utf编码理解

编码类型 ASCII URLcode编码 Unicode编码 utf编码理解 bin是二进制 oct是八进制 hex是16进制 Ord()检测ASCII码,python3也可查中文 HTML实体编码能被html页面解析,使用ord()对单个字符查看转换后结果,字母就是ASCII…

B2B2C开源多语言多商户跨境外贸网站部署开发

随着全球化的发展,跨境外贸成为了许多企业拓展业务的重要方向。搭建一个B2B2C开源多语言多商户跨境外贸网站,将有助于实现企业的全球化经营。那么,如何搭建一个B2B2C跨境外贸网站呢? 一、选择合适的开源平台 在搭建一个B2B2C跨境…

【设计模式】单例设计模式详解(包含并发、JVM)

文章目录 1、背景2、单例模式3、代码实现1、第一种实现(饿汉式)为什么属性都是static的?2、第二种实现(懒汉式,线程不安全)3、第三种实现(懒汉式,线程安全)4、第四种实现…

用i18next使你的应用国际化-Vue

ref: https://www.i18next.com/ 在vue项目中安装相关依赖: i18nexti18next-vuei18next-browser-languagedetector,用于检测用户语言 npm install i18next i18next-vue i18next-browser-languagedetector创建i18n.js文件: import i18next f…

FUNBOX_SCRIPTKIDDIE靶机详解

FUNBOX_SCRIPTKIDDIE靶机复盘 这个靶场给了太多的干扰因素,当你打完后反过来再看是非常简单的一个靶场,但是你打的过程中却会觉得非常难,干扰因素实在天多了。 题目中给了说加一条hosts,实际没用上。 对IP进行一个单独扫描后发现…

【设计模式——学习笔记】23种设计模式——建造者模式Builder(原理讲解+应用场景介绍+案例介绍+Java代码实现)

介绍 建造者模式又叫生成器模式,是一种对象构建模式。它可以将复杂对象的建造过程抽象出来(抽象类别),使这个抽象过程的不同实现方法可以构造出不同属性的对象建造者模式是一步一步创建一个复杂的对象,它允许用户只通过指定复杂对象的类型和…

【MATLAB第60期】基于MATLAB的ARMAX具有外生回归因子的移动平均自回归模型

【MATLAB第60期】源码分享 | 基于MATLAB的ARMAX具有外生回归因子的移动平均自回归模型 一、简要介绍 ARMAX模型相比ARMA考虑了影响因素 ,即可以实现基于时间序列数据的回归预测。目前,ARMAX预测未来功能存在困难,本篇文章不予介绍。大致思路…

Windows环境开发常用指令

今日一语:熟能生巧,只有多做才不容易忘记,只有多想才会发生改变 MySQL redis可手动进入windows服务管理进行检查,检查运行状态是否正常,否则需要手动启动 Redis 进入redis解压的文件地址,启动CMD窗口&a…