用 arp 获取网内活动主机 mac 地址_【文末送实体书籍】浅谈ARP地址解析协议

本文详细介绍了ARP(Address Resolution Protocol)的工作原理,包括其在以太网环境中的角色,如何通过ARP获取目的主机MAC地址,以及ARP请求和应答的过程。此外,还讨论了代理ARP和免费ARP的概念及其应用场景。了解这些知识对于网络通信和故障排查至关重要。
摘要由CSDN通过智能技术生成

今天跟大家聊一聊你们认为最熟悉又是最陌生的ARP地址解析协议,现在网络都是 Ethernet,在这个环境中,我们的 PC router 三层设备都包含 MAC IP 地 址。 

一、ARP的简单介绍

在以太网环境中,我们要发送帧,帧要添加SD( 源目,下面统一说成SD)MAC 地址信息,通信的时候,不关注 MAC 地址是什么,ping IP 地址,很多情况下 S 和 D 通信的时候 S 知道 D的 IP 地址,不知道MAC 地址是不能通信的,因为在 Ethernet 环境中将成帧(成帧 我们的数据帧能够成功的被封装),如果不知道 MAC 地址,那么 MAC 地址帧头的第一个字段没有办法填写,所以通信的时候,不但知道对端的 IP 地址,还要知道对端 MAC 地址。

当PC 发送一个数据包去往目的节点的时候,回做一个判断自身的 IP 地址和目标 IP 地址是否在同一个自网段内,使用自身的掩码和目的 IP 地址做一个云运算,得出网络号和自身的网络号对比,一致代表在同一个网络内或者广播域内,这个时候可以使用对端 MAC 地址做数据封装,不在同一网络内,那么就检查是否指定网关,去查看网关的 MAC 地址信息,因为去往外网的时候目的 MAC 地址必须是网管的,否则出不去,因为 router 收到 MAC 地址为自己的接受接口地址的时候才会拆包,获得 3 层查 DIP,做转发,这就是 PC 对待网络内 网络间通信差异化处理。

还有一种可能,就是 PC 要访问外网节点,并没有指定网关,那么可以尝试解析对端的 MAC 地址,只要通过 Ethernet 接口发送数据,我一定要根据下一跳 IP 地址在 ARP 表中找对应的表项 ,情况有以下两种:

找到:直接使用该表项的地址信息填充 MAC 字段, 

没有找到:发送 ARP 请求来解析, 

在同一网络内,我的下一跳就是目的地;不在同一网络内 下一跳就是网关。当两来主机在同一网络内的时候直接针对目的 IP 做 ARP 检查,要访问外网的时候指定网关,对网关做 ARP 地址检查。ARP请求广播,应答为单播,那什么情况下发送ARP请求呢?就是在已知目的主机 IP,解析目的主机MAC 地址的时候,如下图:

fed13ae415c0981a662d02ca1c8c1f21.png

可以看到,ARP 封装一定是封装 Ethernet 帧头。

下面我们就来说看看ARP数据包格式,如下图所示:

7d006e579669da1acb7473d0f5e42662.png

Hardware type(硬件类型)表示硬件地址类型,一般为以太网 

Protocol type(协议字段) 三层的协议信息 

Hardware length (硬件地址长度)MAC 地址多少字节, 

Protocol length(协议长度) 3 层地址长度 

Operation code (操作代码) 1 是 request 2 是 reply

二、代理 ARP 和免费 ARP 

代理 ARP 全称是 Proxy ARP ,在路由器、多层交换机、防火墙的网关接口使用,那么代理 ARP 是怎么工作的呢?如:PCA---SW1---R1---SW2---PCB,PCA 是没有配置网关的老式电脑,步骤如下:

(1)判断 PCB 和自身的 IP 地址是否属于同一个 IP 子网段,然后

(2)PCA 直接针对 PCB 的 IP 地址做 ARP 解析,条件如下:

  • ARP 的请求者和被请求者是否属于同一个网络

  • R1 需要拥有去往被请求者的路由

  • 接口开启代理 ARP

这时 R1 会伪装成 PCB 代替 PCB 向 A 返还 ARP 应答、免费 ARP全称是IP gratuitous-arps,通过 DHCP 来获取一个 ip 地址,同时发送免费 ARP,免费 ARP 数据包是主机发送 ARP 查找自己的 IP 地址 。那么免费ARP有那么作用呢?如下:

(1)验证 IP 是否冲突一个主机能够通过它来确定还有一个主机是否设置了同样的 IP 地址。发送主机并不须要一定收到此请求的回答。假设收到一个回答,表示网络中存在与自身 IP 同样的主机。假设没有收到应答,则表示本机所使用的 IP 与网络中其他主机并不冲突 。

(2) 假设发送 ARP 的主机正好改变了物理地址(如更换物理网卡),能够使用免费ARP来通知网络中其他主机及时更新 ARP 缓存。

 9372cfbbfd2266be3b7a87306fd5e0bf.png

为感谢大家长期以来对太阁的支持,对小老虎的支持,今天小老虎给大家带来福利活动啦!

本文评论区评论的点赞前六名即可获得下图中任意一本书籍!还不快来“撸”!

大家多多把文章转发到朋友圈邀请好友点赞哦!切记,是评论的点赞前六名哦!中奖率高高,努力!

活动截止时间为9月28日 20:00点,我们会在28号晚上八点的文章中公布前六名,到时候还要及时添加我们客服老师的微信,好给您发送书籍哦!

583211dbadb3f0b66b49bcf64ebd64c0.png   

bfd2e11d1500ae2793998f92a55581f3.gif

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值