网络工程:2.1.ARP协议与PC间通信

本文深入解析了ARP协议的功能,包括通过解析IPv4地址来查找MAC地址的过程。详细介绍了PC间正常通信的原则,代理ARP、反向ARP及无故ARP的工作机制,以及HSRP热备份路由器协议在ARP中的应用。

ARP协议功能:通过解析网路层IPV4地址来找寻数据链路层MAC地址的一个网络传输协议

ARP协议格式

每台带ARP协议设备表格式

 

 1、PC间正常通信原则一(双方PC能相互访问)

  ① 需求:1.1.1.21.1.1.3正常通信(本机无其他设备ARP信息)

    1) 结果:小明正确的把自己的MAC填进题目中并提交回去(通信成功)

 

 最终请求协议如下:

 最终应答协议如下:

 

最终1.1.1.2ARP表如下

主机

IP地址

MAC地址

A

1.1.1.2

0C:3E......

B

1.1.1.3

QW:31......

 

 

 

 

 

 

 

 

 

 

1、代理ARP

  (1) 广播时,由链路中的非请求地址设备的其他设备进行接收和应答

2、反向ARP

  (1) DHCP服务器,PC只要接上网络会自动获得一个来自DHCP的应答

    ① 应答信息包括 : IP + 掩码 + 网关 + DNS

3、无故ARP(如图下)

  ① 如果有一个1.1.1.2发出如下图ARP请求

  1) 结果:1.1.1.3立刻断网

  ② 如果有一个软件,发送一整个网段这样的请求

    1) 结果:整个网段都立即断网

1、HSRP热备份路由器协议

(1) 根据下图可知当线路1端口损坏后,会从路由2和路由3进行发送ARP协议

(2) ARP可能会从router2router3进行代理应答使用自身表数据进行代理回复

  配置了HSRP协议三种多点组播消息:
    Hello———hello消息通知其他路由器发送路由器的HSRP 优先级和状态信息,HSRP路由器默认为每3秒钟发送一个hello消息;
    Coup———当一个备用路由器变为一个主动路由器时发送一个coup消息;
    Resign———当主动路由器要宕机或者当有优先级更高的路由器发送hello消息时,主动路由器发送一个resign消息。
  在任一时刻,配置了HSRP协议的路由器六种状态之一:
    Initial———HSRP启动时的状态,HSRP还没有运行,一般是在改变配置或端口刚刚启动时进入该状态。
    Learn——— 学习状态,不知道虚拟IP,未看到活跃路由器发hello。等待活跃路由器发hello。
    Listen——— 路由器已经得到了虚拟IP地址,但是它既不是活动路由器也不是等待路由器。它一直监听从活动路由器和等待路由器发来的HELLO报文。
    Speak———在该状态下,路由器定期发送HELLO报文,并且积极参加活动路由器或等待路由器的竞选。
    Standby———当主动路由器失效时路由器准备接管包传输功能。
    Active———路由器执行包传输功能。

转载于:https://www.cnblogs.com/StrongIwan/p/9735432.html

04:58:22.567443 ethertype ARP, ARP, Request who-has 192.168.2.1 tell 192.168.2.99, length 46 04:58:22.567460 ethertype ARP, ARP, Request who-has 192.168.2.1 tell 192.168.2.99, length 46 04:58:22.567465 ARP, Request who-has 192.168.2.1 tell 192.168.2.99, length 46 04:58:23.581204 ethertype ARP, ARP, Request who-has 192.168.2.1 tell 192.168.2.99, length 46 04:58:23.581221 ethertype ARP, ARP, Request who-has 192.168.2.1 tell 192.168.2.99, length 46 04:58:23.581226 ARP, Request who-has 192.168.2.1 tell 192.168.2.99, length 46 04:58:24.588123 ethertype ARP, ARP, Request who-has 192.168.2.1 tell 192.168.2.99, length 46 04:58:24.588141 ethertype ARP, ARP, Request who-has 192.168.2.1 tell 192.168.2.99, length 46 04:58:24.588145 ARP, Request who-has 192.168.2.1 tell 192.168.2.99, length 46 04:58:25.564649 ethertype ARP, ARP, Request who-has 192.168.2.1 tell 192.168.2.99, length 46 04:58:25.564666 ethertype ARP, ARP, Request who-has 192.168.2.1 tell 192.168.2.99, length 46 04:58:25.564671 ARP, Request who-has 192.168.2.1 tell 192.168.2.99, length 46 04:58:26.574482 ethertype ARP, ARP, Request who-has 192.168.2.1 tell 192.168.2.99, length 46 04:58:26.574499 ethertype ARP, ARP, Request who-has 192.168.2.1 tell 192.168.2.99, length 46 04:58:26.574503 ARP, Request who-has 192.168.2.1 tell 192.168.2.99, length 46 04:58:27.574158 ethertype ARP, ARP, Request who-has 192.168.2.1 tell 192.168.2.99, length 46 04:58:27.574176 ethertype ARP, ARP, Request who-has 192.168.2.1 tell 192.168.2.99, length 46 04:58:27.574180 ARP, Request who-has 192.168.2.1 tell 192.168.2.99, length 46 04:58:28.578955 ethertype ARP, ARP, Request who-has 192.168.2.1 tell 192.168.2.99, length 46 04:58:28.578973 ethertype ARP, ARP, Request who-has 192.168.2.1 tell 192.168.2.99, length 46 04:58:28.578978 ARP, Request who-has 192.168.2.1 tell 192.168.2.99, length 46 04:58:29.572333 ethertype ARP, ARP, Request who-has 192.168.2.1 tell 192.168.2.99, length 46 04:58:29.572351 ethertype ARP, ARP, Request who-has 192.168.2.1 tell 192.168.2.99, length 46 04:58:29.572355 ARP, Request who-has 192.168.2.1 tell 192.168.2.99, length 46 为什么我ping 192.168.2.1可以收到报文,但是ping不通
最新发布
08-26
### **问题分析:ARP请求持续发送但Ping不通** 从你提供的 **ARP 请求报文** 和 **Ping 行为** 来看,虽然设备 `192.168.2.99` 能发送 ARP 请求查询 `192.168.2.1` 的 MAC 地址,但 `ping 192.168.2.1` 仍然不通,可能是以下原因: --- ## **1. 目标设备(192.168.2.1)未响应 ARP** - **现象**:`192.168.2.99` 持续发送 ARP 请求(`who-has 192.168.2.1`),但没有收到 `192.168.2.1` 的 ARP 回复。 - **可能原因**: - **`192.168.2.1` 设备不存在或未开机**:检查目标设备是否在线。 - **IP 地址冲突**:`192.168.2.1` 可能被其他设备占用,导致真正的设备无法响应。 - **防火墙/安全策略阻止 ARP 响应**:某些安全设备可能过滤 ARP 请求。 - **网络接口故障**:`192.168.2.1` 的网卡可能未正常工作。 #### **排查方法** ✅ **检查 `192.168.2.1` 是否在线**: ```bash arping -I eth0 192.168.2.1 # 强制发送 ARP 请求,观察是否收到回复 ``` - 如果无响应,说明目标设备可能不在线或网络问题。 ✅ **抓包确认是否有 ARP 回复**: ```bash tcpdump -i eth0 arp and host 192.168.2.1 ``` - 如果有 ARP 请求但没有回复,说明目标设备未响应。 ✅ **检查 IP 冲突**: ```bash arp -a | grep 192.168.2.1 # 查看 ARP 缓存是否已记录错误的 MAC ``` - 如果 `192.168.2.1` 的 MAC 地址异常,可能是 IP 冲突。 --- ## **2. ICMP(Ping)被防火墙/安全策略阻止** - **现象**:ARP 能解析(或缓存已有 MAC),但 `ping` 仍然不通。 - **可能原因**: - **`192.168.2.1` 禁用了 ICMP 响应**(如 Windows 防火墙默认禁止 Ping)。 - **中间设备(交换机/路由器)过滤 ICMP**。 #### **排查方法** ✅ **测试其他协议(如 TCP 端口)是否可达**: ```bash telnet 192.168.2.1 80 # 测试 80 端口(HTTP)是否开放 ``` - 如果能连接,说明网络可达,只是 ICMP 被阻止。 ✅ **检查目标设备的防火墙规则**: - **Linux**: ```bash iptables -L -n | grep icmp # 检查是否丢弃 ICMP ``` - **Windows**: ```cmd netsh advfirewall firewall show rule name=all | findstr "ICMP" ``` --- ## **3. 网络配置问题** - **可能原因**: - **子网掩码不匹配**:`192.168.2.99` 和 `192.168.2.1` 的子网掩码不同,导致无法通信。 - **VLAN/交换机隔离**:如果 `192.168.2.99` 和 `192.168.2.1` 不在同一 VLAN,ARP 无法跨 VLAN 传播。 #### **排查方法** ✅ **检查子网掩码**: ```bash ip addr show eth0 # 确认 192.168.2.99 的子网是 /24 ``` - 如果 `192.168.2.1` 的子网是 `255.255.255.0`,而 `192.168.2.99` 是 `255.255.0.0`,可能导致通信问题。 ✅ **检查 VLAN 配置**: - 如果是企业网络,可能需要管理员确认 `192.168.2.99` 和 `192.168.2.1` 是否在同一 VLAN。 --- ## **4. 其他可能原因** - **MAC 地址表未更新**(交换机问题): - 尝试重启交换机或清除 ARP 缓存: ```bash ip neigh flush dev eth0 # Linux 清除 ARP 缓存 arp -d 192.168.2.1 # Windows 清除 ARP 缓存 ``` - **IP 冲突导致异常**: - 使用 `arp-scan` 检测是否有多个设备使用 `192.168.2.1`: ```bash arp-scan -l | grep 192.168.2.1 ``` --- ## **总结** | **问题** | **排查方法** | |----------|-------------| | **ARP 无响应** | `arping` / `tcpdump` 抓包 | | **ICMP 被阻止** | `telnet` 测试端口 / 检查防火墙 | | **子网/VLAN 问题** | 检查 `ip addr` / 联系网络管理员 | | **IP/MAC 冲突** | `arp -a` / `arp-scan` | **临时解决方案**: - 如果只是 `ping` 不通但其他协议可用,可以忽略(可能是防火墙策略)。 - 如果完全无法通信,检查 ARP 和网络配置。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值