0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

ARP协议:网络世界的地址翻译官

北汇信息POLELINK 2024-06-06 08:25 次阅读


作者 | 雨田
小编 | 不吃猪头肉3f663fb6-239b-11ef-bd4a-92fbcf53809c.png 引言
在当今快速发展的汽车行业中,车载以太网正逐步成为推动汽车智能化、网联化浪潮的核心技术之一。作为传统以太网技术在汽车领域的创新应用,车载以太网不仅继承了以太网的开放性、成熟性和互操作性,还针对车辆特有的环境和需求进行了优化与定制,为车载内部的复杂数据传输提供了高速、可靠、低延迟的通信平台。
在复杂的车载网络拓扑中,主机间通信最初只知道目标设备的IP地址,那如何获取目标设备的MAC地址呢,这就不得不提到一个关键协议——ARP协议

3f7498b8-239b-11ef-bd4a-92fbcf53809c.pngARP概念
ARP协议(Address Resolution Protocol,地址解析协议)在车载以太网中的作用与传统以太网中作用相同,是一种网络层协议,在网络世界中扮演着至关重要的角色,它就像是网络中的地址翻译官,负责将网络层的IP地址转换为数据链路层的MAC地址。3f81f382-239b-11ef-bd4a-92fbcf53809c.png3f8dffa6-239b-11ef-bd4a-92fbcf53809c.pngARP工作原理
当主机A向主机B发送数据包时,会经过以下几步:

1.ARP缓存查询:主机A首先会在自己的ARP缓存表中查找主机B 的IP地址对应的MAC地址,如在缓存表中存在映射关系,则将IP数据包封装成以太网帧并发送给主机B。

3f9c34c2-239b-11ef-bd4a-92fbcf53809c.png


2.ARP请求广播:如果主机A在本地ARP表中查询不到主机B对应的MAC地址,主机A会以广播方式发送一条ARP请求报文,ARP报文中源IP地址和MAC 地址为主机A的IP地址和MAC地址,目标IP地址是主机B地址,目标MAC地址设置为000000:00 。

3fa685f8-239b-11ef-bd4a-92fbcf53809c.png


3.ARP响应:因ARP报文以广播方式发送,网段上所有主机都会接收到ARP请求,当主机B收到ARP请求后会比较自己的IP地址和报文中的目标IP地址是否相同,如果相同则回复一条单播ARP响应报文给主机A,响应报文中包含了主机B的IP地址和MAC地址,同时将发送端的IP地址和MAC地址存入主机B的ARP缓存表中。

3fb31a48-239b-11ef-bd4a-92fbcf53809c.png


4.缓存更新:主机A收到ARP应答后,将主机B的IP地址和MAC地址的对应关系存入自己的ARP缓存表中。

3fbd3c4e-239b-11ef-bd4a-92fbcf53809c.png


5.数据传输:主机A知道了主机B的IP地址和MAC地址,将IP数据包封装到以太网帧中发送到主机B。

3fc80700-239b-11ef-bd4a-92fbcf53809c.png


3fd84318-239b-11ef-bd4a-92fbcf53809c.pngARP数据格式

3fdf4ad2-239b-11ef-bd4a-92fbcf53809c.png


1.以太网帧头
目的MAC地址:占6字节,表示目标主机的MAC地址,作为ARP请求帧,目标MAC地址应设置为FFFFFF:FF;源MAC地址:占6字节,表示源主机的MAC地址;帧类型:占2字节,表示后面报文类型,对于ARP报文来说该字段值为0x0806;
2.ARP报文格式(以常用ARP报文为例)

硬件类型:占2字节,表示硬件地址的类型。它的值为 1即表示以太网地址;

协议类型:占2字节,表示要映射的协议地址类型,值等于0x0800时为IPv4协议;

MAC地址长度:占1字节,表示MAC地址长度,值为6;

IP地址长度:占1字节,表示IP地址长度,值为4;

操作类型:占2字节,表示ARP报文类型,值等于1时为APR请求报文,值等于2时为ARP应答报文;

源MAC地址:占6字节,表示源主机的MAC地址;

源IP地址:占4字节,表示源主机的IP地址;

目的MAC地址:占6字节,表示目标主机的MAC地址,在ARP请求报文中该字段值全为0 ;

目的IP地址:占4字节,表示目标主机的IP地址;


3fe2be92-239b-11ef-bd4a-92fbcf53809c.png报文解析示例
ARP请求报文解析示例:3fef4a7c-239b-11ef-bd4a-92fbcf53809c.png
ARP应答报文解析示例:3ffa1bb4-239b-11ef-bd4a-92fbcf53809c.png400a1352-239b-11ef-bd4a-92fbcf53809c.pngARP表

ARP表是主机内部的一个高速缓存表,用于临时存储IP地址和MAC地址的映射关系,可分为静态ARP表和动态ARP表

静态ARP表通过手工配置和维护,不会被老化,不会被动态ARP表项覆盖。

动态ARP表动态ARP表由ARP协议通过ARP报文自动生成和维护,可以被老化,可以被新的ARP报文更新,也可以被静态ARP表项覆盖。

400dc376-239b-11ef-bd4a-92fbcf53809c.png常见ARP老化过程
ARP 老化是指 ARP 缓存表中的条目在一定时间内没有使用而被删除的过程:

1. 老化时间内:当一个缓存条目在老化时间内没有被使用(即没有通过该条目发生过通信),它就会被视为过时并从ARP表中删除。

2. 更新重置:在老化时间内有新的数据包需要通过此ARP条目转发,该条目的老化周期将被重置,即其老化计时器会被重新开始计算。

3. ARP探测报文:当达到老化时间后,系统会发送一定次数的ARP探测报文,以确认该条目是否仍然有效,若探测失败,则删除该缓存条目。


401b6d8c-239b-11ef-bd4a-92fbcf53809c.png免费ARP
当主机发送ARP请求,但请求的目标IP地址是自己本身的IP地址。这种类型的ARP不是为了获取MAC地址,而是用于更新网络中的ARP缓存、检测IP地址冲突或宣告主机更换了新的IP地址。
因免费ARP这些特性使其在DHCP(动态主机配置协议)过程中扮演着重要角色,当DHCP客户端从服务器获得了一个新的IP地址后,会发送一个免费ARP广播包,其目的是检查网络中是否有其他设备在使用相同的IP地址,如果存在另一台设备使用相同IP地址,它将响应这个ARP请求,从而客户端可以意识到地址冲突并重新向DHCP服务器请求一个新的IP地址。在此过程中确保了新分配的IP地址的唯一性,并促进了网络中的设备能迅速识别出客户端的IP地址和MAC地址映射关系。

402f5996-239b-11ef-bd4a-92fbcf53809c.png

40332d96-239b-11ef-bd4a-92fbcf53809c.png 总结
ARP协议是网络通信的基石之一,它的实现也需要符合特定的标准和规范(如IEEE 802.3以太网标准)。作为车载以太网相关测试人员了解ARP协议概念及原理是重要的,在车载网络中可能包含来自不同制造商的主机,它们在实现ARP协议时可能存在差异,通过测试可以验证整个网络中所有主机都能遵循相同的规则进行地址解析。同时为了提高车载网络中不同主机间的兼容性,OPEN联盟发布了相应的测试规范,其中《OPEN Alliance Automotive Ethernet ECU Test Specification Layer 3-7》文档中定义了ARP协议相关测试内容,如字段检测、动态学习、老化机制等。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 网络
    +关注

    关注

    14

    文章

    7305

    浏览量

    87867
  • ARP协议
    +关注

    关注

    0

    文章

    10

    浏览量

    6875
  • 车载以太网
    +关注

    关注

    18

    文章

    188

    浏览量

    22680
收藏 人收藏

    评论

    相关推荐

    ARP地址解析协议简介

    主机的IP地址时确定其物理地址的一种协议。因IPv4和以太网的广泛应用,其主要用作将IP地址翻译为以太网的MAC
    发表于 02-24 08:27

    ARP报文及其在Lwip的实现

    1、ARP报文及其在Lwip的实现  对于网络世界来说,有 IP 地址就代表了身份。不过在我们常用的网络拓扑类型中,IP 地址并不能准确表达
    发表于 10-19 11:55

    地址解析协议ARP

    地址解析协议ARP 地址解析协议 ARP 是一种广播
    发表于 06-09 21:53 1074次阅读
    <b class='flag-5'>地址</b>解析<b class='flag-5'>协议</b><b class='flag-5'>ARP</b>

    地址解析协议(ARP),地址解析协议(ARP)是什么意思

    地址解析协议(ARP),地址解析协议(ARP)是什么意思
    发表于 04-06 09:07 2027次阅读

    TCP-IP详解卷2_ARP地址解析协议

    TCP-IP详解卷2 ARP地址解析协议,学习TCP很好的资料。欢迎下载。
    发表于 05-09 14:13 0次下载

    arp协议的作用是什么?arp协议的工作原理介绍

    地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP
    发表于 11-02 16:14 6.3w次阅读
    <b class='flag-5'>arp</b><b class='flag-5'>协议</b>的作用是什么?<b class='flag-5'>arp</b><b class='flag-5'>协议</b>的工作原理介绍

    arp协议的缺点介绍及防范

     地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP
    发表于 11-02 16:28 6386次阅读

    ARP是什么意思?ARP是什么协议ARP协议用于什么地方

    ARP是什么意思?ARP是什么协议ARP协议用于什么地方 ARP是什么意思?
    发表于 11-10 18:00 1.8w次阅读

    arp协议属于哪一层_arp协议的主要功能

    arp协议在TCP/IP模型中属于IP层(网络层),在OSI模型中属于链路层。arp协议地址
    发表于 01-11 15:51 4w次阅读

    ARP协议的工作原理_arp攻击防御措施

    ARP是“address resolution protocol”的缩写,全称“地址解析协议”。在网络通信中,通信主机之间直接通过IP地址
    的头像 发表于 01-11 16:31 5059次阅读

    2021 OPPO开发者大会:AR即时翻译,随身翻译官

    专场、个性化装扮专场、商业专场、智能服务专场、车机互融专场和安全与隐私专场,还将在现场设立互动体验区,供到场嘉宾和参会人员近距离感受OPPO及行业前沿的技术与应用。 AR即时翻译,随身翻译官 高效办公 大屏娱乐 轻松出行 即时翻泽 生活休闲   编辑:ymf
    的头像 发表于 10-27 14:22 1869次阅读
    2021 OPPO开发者大会:AR即时<b class='flag-5'>翻译</b>,随身<b class='flag-5'>翻译官</b>

    ARP协议原理是什么

    ARP协议地址解析协议(`Address Resolution Protocol`)是通过解析`IP地址`得到`MAC
    的头像 发表于 02-14 10:10 1986次阅读
    <b class='flag-5'>ARP</b><b class='flag-5'>协议</b>原理是什么

    FPGA以太网-ARP协议介绍

    ARP协议地址解析协议,在网络中有MAC地址和IP地址
    发表于 07-06 09:23 875次阅读
    FPGA以太网-<b class='flag-5'>ARP</b><b class='flag-5'>协议</b>介绍

    ARP协议的工作流程

    通过ARP协议知道对方的mac地址,已经知道对方ip地址的情况下,不知道mac地址。定义了一个ARP
    的头像 发表于 07-10 17:29 2074次阅读
    <b class='flag-5'>ARP</b><b class='flag-5'>协议</b>的工作流程

    进阶课程-地址解析协议(ARP)

    电子发烧友网站提供《进阶课程-地址解析协议(ARP).pdf》资料免费下载
    发表于 07-31 11:41 0次下载
    进阶课程-<b class='flag-5'>地址</b>解析<b class='flag-5'>协议</b>(<b class='flag-5'>ARP</b>)