网络基础-ARP协议

ARP(Address Resolution Protocol,地址解析协议)是一种用于将IP地址映射到物理MAC地址的协议;在计算机网络中,每个设备都有一个唯一的MAC地址,用于在局域网内进行数据通信。而IP地址则是用于在更大范围的网络中标识设备的地址。

ARP协议的作用
1.将IP地址解析为MAC地址
2.维护IP地址与MAC地址的映射关系的缓存,即ARP表项
3.实现网段内重复IP地址的检测

ARP相关数据报文

ARP 请求报文

  • ARP 请求报文是用来查询目标设备的 MAC 地址的。它包含了发送设备的 MAC 地址、IP 地址以及目标设备的 IP 地址。通常情况下,目标设备的 MAC 地址字段会被置为全 0。

  • 在以太网上,ARP 请求报文的帧头目标地址会被置为广播地址(FF:FF:FF:FF:FF:FF),以确保所有设备都能收到这个请求。

ARP 响应报文

  • ARP 响应报文是对 ARP 请求的响应,它包含了目标设备的 MAC 地址。它的格式包含了发送设备的 MAC 地址、IP 地址以及目标设备的 MAC 地址和 IP 地址。

  • 在以太网上,ARP 响应报文的帧头目标地址会被设置为发送 ARP 请求的设备的 MAC 地址,这样就确保了响应只会被发送 ARP 请求的设备接收到。

ARP的工作过程

此时有两个路由器R1和R2直连:R1的IP地址为192.168.8.10,R2的IP地址为192.168.8.20此时在设备上将IP地址配完后在R2设备上去pingR1设备。(此时站在R2的视角,我们只知道R1设备的IP地址)

这个时候使用wireshark对R2e0/0口进行抓包,查看此次ping操作产生的数据包;可以看到在ping的过程中不止产生ping操作相关的ICMP数据包还产生了ARP数据报文。

当一个设备R2知道了目标设备R1的IP地址,但不知道R1对应的MAC地址时,它会使用ARP协议发送一个广播消息到局域网中,询问谁有这个IP地址(192.168.8.10)对应的MAC地址?,R1收到这个广播消息后,发现R2广播请求的IP与该自己的IP地址相匹配,就会回复包含自己MAC地址的消息;然后,R2收到回复后就会建立起IP地址与MAC地址的映射关系(R1和R2设备都会建立映射关系),往后就可以进行ICMP数据包的交互了(进行ping操作)。

IP、MAC地址映射表

思科、华为和华三设备查看ARP映射表
思科:Router>show ip arp 
华为:<Huawei>display arp
华三:<H3C>display arp

操作系统中查看ARP映射表

1.Windows系统查看ARP映射表
arp –a 
命令显示使用Windows操作系统的PC上所有接口的当前ARP表
arp -a -N ip_address
将arp命令的输出限制到单个接口
2.Linux系统查看ARP映射表

查看ARP缓存表,可以使用arp命令

arp -a

这将显示系统当前的ARP缓存表,包括IP地址和相应的MAC地址。

总结:

ARP(Address Resolution Protocol)协议是一种用于将IP地址映射到物理MAC地址的协议,其工作流程包括以下步骤:

ARP请求

当一个设备需要与另一个设备通信,但只知道目标设备的IP地址而不知道其MAC地址时,它会发送一个ARP请求消息(ARP Request)到局域网中。

ARP请求消息中包含了发起请求设备的IP地址、MAC地址(通常为广播地址FF:FF:FF:FF:FF:FF,表示发送给所有设备),以及目标设备的IP地址。

广播传播

发送ARP请求的设备将该请求消息以广播的形式发送到局域网中的所有设备。

所有收到该广播消息的设备都会接收并检查消息的目标IP地址是否与自己相匹配。

ARP响应

如果有设备发现自己的IP地址与ARP请求中的目标IP地址相匹配,则会向发起请求的设备发送一个ARP响应消息(ARP Reply)。

ARP响应消息中包含了目标设备的MAC地址以及发起请求设备的IP地址。

建立映射关系

当发起请求的设备收到ARP响应消息后,就会将目标IP地址与MAC地址的映射关系存储在自己的ARP缓存中,以便将来进行通信时使用。

数据通信

当发起请求的设备获得目标设备的MAC地址后,就可以使用该MAC地址来封装数据包,并将数据包发送到目标设备,实现数据通信。以后如果要与同一目标设备通信,发起请求的设备可以直接使用ARP缓存中存储的映射关系,而无需再次发送ARP请求。

  • 18
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值