ARP协议

需求:

在以太网中,一个主机和另一个主机进行通信,需要对数据进行封装,当封装到数据链路层时,需要知道对方的MAC地址才能完成最终的标准。但这个目标MAC地址是如何获得的呢?它就是通过ARP(地址解析协议)获得的。所谓“地址解析”就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程。

概述及原理

ARP(Address Resolution Protocol),地址解析协议;作用:把IP地址解析为MAC地址,也就是已知IP求对方MAC。ARP协议分为代理ARP,反向ARP,免费ARP。

同一网段

1、查看ARP表。PC要和目标通信就要知道目标的MAC地址,ARP表记录了网段内IP地址和MAC地址的映射关系,所以PC 会首先查看自己的ARP表,如果表中有记录,则会使用记录中的MAC地址通信,如果没有,就会使用ARP 协议,获取MAC地址

2、发送ARP请求,源MAC地址是自己,目标MAC地址是全F的广播地址

3、交换机收到目标地址为全F的数据帧,会将该数据帧洪泛,从其他端口转发

4、收到该数据帧的PC,会检查目标IP地址是不是自己,如果不是则丢弃,如果目标IP是自己,则会回复一个 ARP应答,源MAC地址是自己,目标MAC地址对方 。

5、PC收到ARP应答消息后,将该IP地址和MAC地址的映射添加到ARP表中,然后使用请求到的MAC地址与对方通信

不同网段 

不同网段之间的通信会使用代理ARP,如果通信的双方不再同一个网段,网关会代理通信双方的MAC地址,进行通信

1、解析网关。如果向不同网段通信,首先查看本地是否有网关IP地址及网关的MAC地址,如果有,则将数据帧发往网关,交给网关处理

2、ARP请求。如果本地不存在网关,那么会发送ARP请求,该请求仍是广播

3、ARP应答。网络中的PC收到后数据包后,查看目标IP地址不是自己直接丢弃;

网关看到目标IP,若该ARP请求的目标IP地址为自己的直连网段,并且目标的MAC地址在自己的缓存表中,则会把自己的接口MAC地址伪装成被请求的MAC,然后向请求者发送ARP应答;如果缓存表中没有请求的内容,网关会向局域网中发送ARP请求得到该内容。

如果该目标IP不是本地的直连网段,则网关设备会代理请求者根据路由表寻找直连目标IP网段的设备(每经过一台路由器,源目MAC都会被替换),找到直连设备后继续上步操作。

4、PC通信。PC收到ARP应答后,就会向目标MAC地址发送数据帧,该数据帧的目标MAC地址是网关 

ARP请求过程 

ARP表

ARP表:记录了MAC地址和IP地址的映射关系。

表项分类:

动态表项:通过ARP协议学习,能被更新,缺省老化时间120s

静态表项:手工配置,不能被更新,无老化时间的限制,静态表项可以防止ARP的毒化攻击  

ARP报文

ARP报文:

Hardware type:二层协议

Protocol type:三层协议

Hardware size6字节-地址大小

Protocol size4字节-地址大小

Opcode : 报文类型

Sender MAC address :发送者MAC地址

Sender IP address :发送者IP地址

target MAC address :目标MAC地址 

ARP请求包 :

ARP应答包: 

免费ARP

设备主动使用自己的IP地址作为目的IP地址发送ARP请求 ,这也是一个广播报文。

免费ARP的作用

1、IP地址冲突检测: 当设备接口变为UP时,会主动发送免费ARP,如果收到ARP应答,则表明网络中有IP地址冲突,设备周期 性发送免费ARP,直到冲突解除

2、通告新的MAC地址: 如果MAC地址发生变更,为了快速的告知其它设备,可以发送免费ARP

3、VRRP备份: 发生主备变换后,MASTER设备会广播发送一个免费ARP

数据包 

代理ARP 

一般在不同网段通信之间使用,由启动了代理ARP功能的网关/下一跳设备代为应答ARP请求,该ARP请求的是其他IP对应的MAC地址。

回应ARP请求的条件:

本地有去往目的IP的路由表

收到该ARP请求的接口与去往目的IP的出接口不是同一个接口

 在不同网段的主机进行通信时,首先会使用ARP请求网关设备的MAC,然后网关设备代理完成后续的工作,当我们使用192.168.1.1去ping 192.168.2.1时,可以看到主机会先使用ARP请求网关192.168.1.254的MAC地址,然后直接完成ping的操作,这我们就可以知道是网关设备完成了代理。

反向ARP

RARP(Reverse Address Resolution Protocol )反向地址解析协议

作用:把MAC地址解析为IP地址

场景:用于无盘工作站 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值