首页
学习
活动
专区
圈层
工具
发布

每日一个网络知识点:网络层ARP和RARP

每日一个网络知识点:网络层ARP和RARP协议

今天我们来探讨网络层中实现地址转换的关键协议——ARP和RARP。这两个协议在IP地址和MAC地址之间架起了桥梁,是局域网通信不可或缺的基础!

地址解析的挑战

在网络通信中,我们面临一个基本问题:

网络层使用IP地址进行逻辑寻址

数据链路层使用MAC地址进行物理寻址

如何将两者对应起来?这就是ARP和RARP要解决的核心问题!

ARP协议详解

什么是ARP?

ARP(Address Resolution Protocol)是地址解析协议,它负责将IP地址解析为对应的MAC地址。

ARP工作流程

当主机需要向同一局域网内的另一台主机发送数据时:

详细步骤

检查ARP缓存:首先查看本地ARP缓存表

发送ARP请求:如果缓存中没有,广播ARP请求包

目标主机响应:对应主机回复ARP响应

更新ARP缓存:将IP-MAC映射存入缓存

ARP报文格式

ARP报文直接封装在数据链路层帧中:

0                   1                   2                   3

0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|    硬件类型    |    协议类型    | 硬件地址长度 | 协议地址长度 |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|       操作码       |          发送方MAC地址(前4字节)       |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| 发送方MAC地址(后2字节) |     发送方IP地址(前2字节)       |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|     发送方IP地址(后2字节)     |      目标MAC地址(前2字节)  |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|          目标MAC地址(后4字节)           |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|              目标IP地址(4字节)              |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

关键字段说明

硬件类型:网络类型(如以太网为1)

协议类型:要映射的协议地址类型(IPv4为0x0800)

操作码:1表示请求,2表示响应

发送方MAC/IP:请求主机的地址信息

目标MAC/IP:要查询的目标地址信息

ARP缓存机制

为了提高效率,主机维护一个ARP缓存表:

缓存表示例

IP地址        MAC地址            类型

192.168.1.1  00-1B-44-11-3A-B7  动态

192.168.1.10 08-00-27-12-34-56  动态

192.168.1.254 00-1A-2B-CC-3D-4E  静态

缓存类型

动态条目:自动学习,有生存时间(通常2-20分钟)

静态条目:手动配置,永久有效

RARP协议详解

什么是RARP?

RARP(Reverse Address Resolution Protocol)是反向地址解析协议,它与ARP相反,通过MAC地址来查找对应的IP地址。

RARP应用场景

RARP主要用于无盘工作站启动时获取IP地址:

无盘工作站启动时只知道自己的MAC地址

通过RARP请求查询对应的IP地址

RARP服务器响应并分配IP地址

RARP工作过程

ARP与RARP对比

代理ARP

什么是代理ARP?

当目标主机不在同一网络时,路由器可以代表目标主机响应ARP请求:

代理ARP的应用

连接不同物理网络

实现网络透明性

在不支持子网划分的老系统中使用

免费ARP

免费ARP的特点

主机主动发送ARP请求查询自己的IP地址:

主要用途

IP地址冲突检测:如果收到响应说明地址冲突

更新其他主机的ARP缓存:MAC地址变化时通知其他主机

高可用性切换:备用服务器接管时通知网络

免费ARP工作过程

ARP缓存管理

查看ARP缓存

Windows系统

arp -a

Linux/Unix系统

arp -a

# 或

ip neighbor show

管理ARP缓存

添加静态条目

arp -s 192.168.1.100 00-11-22-33-44-55

删除条目

arp -d 192.168.1.100

清空缓存

arp -d *

ARP相关网络安全

ARP欺骗攻击

攻击者发送伪造的ARP响应,篡改IP-MAC映射:

ARP攻击防护

静态ARP绑定:手动配置重要主机的ARP条目

ARP防护软件:检测和阻止ARP欺骗

交换机安全功能:端口安全、DHCP监听等

网络隔离:VLAN划分减少攻击面

实际应用案例

案例1:网络连通性故障排查

症状:可以ping通网关,但无法上网

排查步骤

1. ping 网关 成功

2. arp -a 查看网关MAC 正确

3. traceroute 目标 在第一跳失败

4. 检查路由器ARP表 发现MAC地址错误

5. 结论:ARP缓存中毒,清空ARP缓存解决

案例2:IP地址冲突检测

症状:网络时断时续,无法获取IP地址

解决方案

使用免费ARP检测IP冲突

查找冲突设备

重新分配IP地址

配置DHCP地址保留

现代替代方案

DHCP替代RARP

由于RARP的局限性,现在普遍使用DHCP协议:

提供IP地址和其他网络配置

支持跨网段工作

功能更加丰富

NDP(IPv6中的ARP)

在IPv6中,ARP被NDP(邻居发现协议)替代:

使用ICMPv6报文

集成路由器发现、地址解析等功能

支持安全扩展

最佳实践

网络管理

监控ARP流量异常

对重要服务器使用静态ARP

定期检查ARP表一致性

安全防护

在交换机上启用端口安全

部署ARP防护机制

教育用户网络安全意识

故障排查

掌握ARP命令工具的使用

理解ARP各种报文含义

建立ARP问题排查流程

实用命令参考

Windows平台:

# 查看ARP缓存

arp -a

# 添加静态ARP条目

arp -s 192.168.1.1 00-11-22-33-44-55

# 删除ARP条目

arp -d 192.168.1.1

# 清空ARP缓存

netsh interface ip delete arpcache

Linux平台:

# 查看ARP缓存

arp -a

# 或

ip neighbor show

# 添加静态ARP条目

arp -s 192.168.1.1 00:11:22:33:44:55

# 删除ARP条目

arp -d 192.168.1.1

# 清空ARP缓存

ip neighbor flush all

网络设备(Cisco):

# 查看ARP表

show arp

show ip arp

# 清除ARP条目

clear arp-cache

# 配置静态ARP

arp 192.168.1.1 0011.2233.4455 ARPA

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OizkrK6PCz_yj0h_iF2U0MSA0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。
领券