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

【新星计划-2023】什么是ARP?详解它的“解析过程”与“ARP表”。

一、什么是ARP

ARP地址解析协议)英文全称“Address Resolution Protocol”,是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。

二、ARP地址解析过程

168b980ec7e943428eba4c4f4ec4ffcc.jpg

1、主机 A 首先查看自己的ARP表,确定其中是否包含有主机B对应的 ARP 表项。如果找到了对应的MAC地址,则主机A直接利用 ARP 表中的MAC地址,对IP数据报进行帧封装,并将IP数据报发送给主机 B。

2、 如果主机 A 在ARP表中找不到对应的 MAC地址,则将缓存该 IP 数据报,然后以广播方式发送一个ARP请求报文。ARP请求报文中的发送端IP地址和发送端MAC地址为主机A的IP地址和MAC地址,目标IP地址和目标MAC地址为主机B的IP地址和全 0 的MAC地址。由于ARP请求报文以广播方式发送,该网段上的所有主机都可以接收到该请求,但只有被请求的主机(主机 B)会对该请求进行处理。

3、 主机B比较自己的IP地址和ARP请求报文中的目标IP地址,当两者相同时进行如下处理:

将ARP请求报文中的发送端(即主机 A)的IP 地址和MAC地址存入自己的 ARP 表中。之后以单播方式发送ARP响应报文给主机 A,其中包含了自己的MAC地址。

4、主机A收到ARP响应报文后,将主机B的MAC地址加入到自己的ARP表中以用于后续报文的转发,同时将IP数据报进行封装后发送出去。

5、当主机A和主机B不在同一网段时,主机A就会先向网关发出ARP请求,ARP请求报文中的目标IP地址为网关的IP地址。当主机A从收到的响应报文中获得网关的MAC地址后,将报文封装并发给网关。如果网关没有主机B 的ARP表项,网关会广播ARP请求,目标IP地址为主机B的IP地址,当网关从收到的响应报文中获得主机B的MAC地址后,就可以将报文发给主机B;如果网关已经有主机B的 ARP表项,网关直接把报文发给主机B。

三、ARP表

设备通过ARP解析到目的MAC地址后,将会在自己的ARP表中增加IP地址和MAC地址映射关系的表项,以用于后续到同一目的地报文的转发。

ARP 表项分为:动态ARP表项、静态ARP表项和 OpenFlowARP表项。

1. 动态ARP表项

动态 ARP 表项由ARP协议通过 ARP 报文自动生成和维护可以被老化,可以被新的ARP 报文更新,可以被静态ARP表项覆盖当到达老化时间、接口状态down时,系统会删除相应的动态 ARP表项。

2. 静态ARP表项

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

配置静态ARP表项可以增加通信的安全性。静态ARP表项可以限制和指定IP地址的设备通信时只使用指定的MAC地址,此时攻击报文无法修改此表项的IP地址和MAC地址的映射关系,从而保护了本设备和指定设备间的正常通信。

静态 ARP 表项分为:短静态ARP表项、长静态ARP表项和多端口ARP表项。

①在配置长静态ARP表项时,除了配置 IP 地址和MAC地址项外,还必须配置该ARP表项所在VLAN和出接口。

②在配置短静态ARP表项时,只需要配置 IP 地址和MAC地址项。如果出接口是三层以太网接口,短静态 ARP 表项可以直接用于报文转发;如果出接口是VLAN虚接口,短静态ARP表项不能直接用于报文转发,需要对表项进行解析

③配置多端口ARP 表项时,除了配置 IP 地址和 MAC 地址外,还必须配置该ARP表项所在的VLAN,当多端口ARP表项中的MAC地址和 VLAN 信息与多端口单播MAC/组播MAC地址表项中的MAC地址和VLAN相同时,该多端口ARP表项可用来指导IP转发。多端口 ARP表项通过手工配置和维护不会被老化,不会被动态ARP表项覆盖。

 

http://www.lryc.cn/news/65643.html

相关文章:

  • 自动驾驶行业观察之2023上海车展-----车企发展趋势(2)
  • 通知所有员工所需的时间
  • Docker:bash: vim: command not found
  • 排序算法之选择排序
  • 5_服务编排_docker-compose
  • Java基本数据类型以及包装类型的常量池技术
  • P1054 [NOIP2005 提高组] 等价表达式
  • 什么牌子蓝牙耳机好用不贵?国产性价比高的蓝牙耳机推荐
  • 明明花钱上了ERP,为什么还要我装个MES系统
  • JAVA中的集合框架有哪些?
  • 用Jmeter进行接口自动化测试的工作流程你知道吗?
  • Java 中的设计模式有哪些?(十九)
  • 奇数单增序列
  • Seata介绍
  • VK Cup 2017 - Round 1 A - Bear and Friendship Condition(并查集维护大小 + dfs 遍历图统计边数)
  • 为UOS启用VNC和Windows远程桌面
  • Java时间类(七)-- LocalDateTime()类
  • 卢北辰:数据点亮梦想,能力驱动人生 | 提升之路系列(九)
  • 数据库基础及用户管理授权
  • 比特米盒子刷安卓ATV6.0
  • 【用python的QT做信号处理的界面】
  • 【Linux】进程间通信 —— 管道
  • 知识管理在企业中的重要性
  • Socks5、网络安全、代理IP技术详解
  • C++学习day--09 字符串比较、运算符
  • 缓存和数据库一致性问题
  • 4月京东生鲜水果行业数据报告:榴莲销量增长400%,市场格局剧变
  • Windows无法完成格式化怎么办?正确的3个解决方法!
  • 基于aspnet个人博客网站dzkf6606程序
  • 不黑艺术学社京藏行——参观五台山孙溟㠭为五台山红英师治印