计算机网络中局域网使用的ARP协议,是解析IPv4地址的协议吗?

摘要:0 序 在最佳部署 K8s 集群的过程中,遇到了有关局域网网络的相关问题,在排查解决过程中有个别环节需要基于 arp 命令 和 traceroute来分析问题。索性系统性总结下ARP协议。 [网络] 网络可达性测试方法(汇总) - 博客园
0 序 在最佳部署 K8s 集群的过程中,遇到了有关局域网网络的相关问题,在排查解决过程中有个别环节需要基于 arp 命令 和 traceroute来分析问题。索性系统性总结下ARP协议。 [网络] 网络可达性测试方法(汇总) - 博客园/千千寰宇 1 概述:ARP 协议 = 地址解析协议(Address Resolution Protocol) 协议介绍 ARP协议,全称为地址解析协议(Address Resolution Protocol),是一种用于将网络层的地址转换为数据链路层地址的重要网络协议。在TCP/IP网络中,ARP的主要作用是将IP地址转换为MAC地址,这一过程对于网络中的数据传输至关重要。 工作原理 当一台主机需要向另一台主机发送数据时,它必须知道接收方的MAC地址。如果发送方主机已经知道目标IP地址,它会使用ARP来获取对应的MAC地址。ARP协议的工作流程通常包括以下几个步骤: 发送方主机首先检查自己的ARP缓存表,查看是否已经有目标IP地址对应的MAC地址。 如果ARP缓存表中没有相应的条目,发送方主机会构造一个ARP请求报文,并将其【广播】到局域网中的所有主机。 网络中的所有主机接收到ARP请求后,检查请求中的目标IP地址是否与自己的IP地址匹配。 如果有主机发现IP地址匹配,它会发送一个ARP响应报文给请求方主机,报文中包含了其MAC地址。 发送方主机收到ARP响应后,会更新自己的ARP缓存表,并使用获得的MAC地址来发送数据。 ARP缓存表 ARP缓存表是主机用来存储IP地址和MAC地址映射关系的表格。这个表格可以包含动态和静态两种类型的条目: 动态ARP条目,由ARP协议通过网络通信自动创建和更新的。这些条目会随着时间推移而过期,如果在一定时间内没有被使用,就会从表中删除。 静态ARP条目,由网络管理员手动配置的,不会自动过期,通常用于增强网络的安全性。 ARP协议在以太网中传输的帧结构 ARP(Address Resolution Protocol)是一种用于将IP地址解析为物理MAC地址的协议,它在【数据链路层】上操作。 ARP帧结构的字段说明 目的MAC地址(6字节):指示ARP请求或响应的目标设备的物理MAC地址。在ARP请求中,这个字段通常被设置为全0,表示请求的目标MAC地址未知。在ARP响应中,这个字段包含目标设备的真实MAC地址。 源MAC地址(6字节):指示ARP请求或响应的发送设备的物理MAC地址。 帧类型(2字节):指示数据帧中所携带的上层协议类型,对于ARP数据帧,该字段的值为0x0806。 硬件类型(2字节):指示硬件地址的类型,如以太网的硬件类型为1。 协议类型(2字节):指示上层协议类型,如IPv4的协议类型为0x0800。 硬件地址长度(1字节):指示硬件地址的长度,以字节为单位,如以太网的地址长度为6。 协议地址长度(1字节):指示协议地址的长度,以字节为单位,如IPv4地址的长度为4。 操作码(2字节):指示ARP请求或响应的类型,如请求为1,响应为2。 发送方硬件地址(6字节):指示ARP请求或响应的发送设备的物理MAC地址。 发送方协议地址(4字节):指示ARP请求或响应的发送设备的协议地址,如IPv4地址。 目标硬件地址(6字节):指示ARP请求或响应的目标设备的物理MAC地址。在ARP请求中,该字段通常被设置为全0,表示请求的目标MAC地址未知。在ARP响应中,该字段包含目标设备的真实MAC地址。 目标协议地址(4字节):指示ARP请求或响应的目标设备的协议地址,如IPv4地址。 【ARP请求】和【ARP响应】的帧结构差别 ARP请求和ARP响应的帧结构在某些字段上是不同的;尽管它们都使用ARP协议,但是在一些关键字段中有所区别。 下面是ARP请求和ARP响应帧结构的差异: 1. 操作码(Opcode)字段: 在ARP请求帧中,操作码字段的值为1,表示【请求】。 而在ARP响应帧中,操作码字段的值为2,表示【响应】。 2. 目标MAC地址(Target MAC Address)字段: 在ARP请求帧中,目标MAC地址字段被设置为【全0】,表示请求的目标MAC地址未知。 而在ARP响应帧中,这个字段包含了目标设备的真实MAC地址。 ARP请求示例 ARP响应示例 ARP攻击 由于ARP协议的设计基于网络中主机之间的互信,因此它容易受到ARP欺骗攻击。 在ARP攻击中,攻击者会发送伪造的ARP响应报文,使得其他主机错误地将攻击者的MAC地址与合法的IP地址关联起来,从而导致数据被错误地发送到攻击者的设备上。
阅读全文