ARP 地址解析协议

目录

定义

报文

ARP表项

静态ARP表项:

动态ARP表项:

ARP表的老化机制:

ARP分类

普通ARP:

逆向ARP:

免费ARP:

代理ARP:

路由式代理:

vlan内代理:端口隔离

vlan间代理:Super vlan


定义

Address Resolution Protocol  地址解析协议   

将IP地址解析成MAC地址;通过MAC封装二层数据帧

报文

报文格式:报文长度为42个字节。前12个字节表示以太网首部帧类型为0x0806 ,后28个字节表示ARP请求或者应答报文

1.请求报文(Request):广播发送请求报文的时候目的MAC是全F,会带上自己的MAC(Sender MAC)和自己的IP以及想知道的IP(Target IP)所对应的MAC(此时还不知道,就置为0)

2.响应报文(Reply):单播响应的时候会带上回复者的IP(Target IP)和MAC,请求者的IP和MAC,单播的目的MAC是请求者的MAC地址

3.免费ARP报文:Sender IP 和Target IP都是自身,Sender MAC是自己的MAC,Target MAC置为0,二层目的MAC为广播MAC地址全F。如果地址冲突的话,则会回复一个Target MAC为全F的Reply报文

注:进行ARP请求的时候是广播请求,单播响应

ARP表项

静态ARP表项:

IP和MAC之间有固定的映射关系,手动配置生成,不能动态调整此映射关系。不会被老化,也不会被动态ARP表项覆盖。

短静态:未指定VLAN和出接口,不能直接用于转发,需要先发送ARP请求。

长静态:指定ARP表项所在的VLAN和出接口。可直接用于转发。

动态ARP表项:

ARP报文自动生成和维护,可以被老化,可以被更新,也可以被静态表项所覆盖。当到达老化时间,接口Down时会删除相应的动态ARP表项。

ARP表的老化机制:

1.依赖定时器老化:当老化超时时,会进行老化探测,如果探测失败,则会删除该表项;否则,保留该表项。老化超时时间20分钟。

2.依赖老化探测次数:在老化前就会有好几次探测,当超过规定的探测次数无应答时,这个ARP表项就会被删除,这时是不依赖定时器的。

3.老化探测模式:

广播报文:当对端设备的IP不变化而MAC频繁更新时

单播报文:当对端设备MAC不变,当前网络带宽资源特别紧缺,且ARP表项的老化时间 设置的比较小时。

ARP分类

普通ARP:

工作过程:网络设备A发送数据包给网络设备B,数据包需要填写A、B的源目ip地址和源目MAC地址,这时候会在本地的ARP缓存表查询B的MAC地址,查询不到的话就会发ARP请求包以广播的形式在局域网中散开,B收到并核实目的IP地址是本地的IP地址就会以单播方式发送ARP回应包给A,ARP回应包记录了B的MAC地址。

逆向ARP:

根据自己的MAC地址解析出自己的IP地址

免费ARP:

设备主动使用自己的IP地址作为目标Target地址发送ARP请求。Target MAC为全0。

作用:

1.IP地址冲突检测:以广播的形式发送免费ARP报文,源目IP都是自己的IP。当接收方接收到这个免费ARP报文后,发现自己的IP和接收到的报文的Target IP冲突,于是会返回一个ARP应答报文告知IP地址已经被占用。

2.用于通告一个新的MAC地址:更换了网卡,MAC地址变化了,在动态ARP表项老化 前通告给网络中其他设备,发送一个免费ARP。

3.在VRRP备份组中用来通告主备发生切换:发生主备变换后,Master设备会广播发送 一个免费ARP报文来通告发生了主备变换。给交换机更新MAC表用的。

代理ARP:

        如果ARP请求是从一个网络的主机发往同一网段但不在同一物理网络(VLAN隔离)上 的另一台主机,那么连接这两个网络的设备就可以回答该ARP请求,这个过程称作ARP代 理。

        PC1主动请求对端PC2地址,然后代理ARP查看自己的FIB表项(路由表)里有没有PC2 对应的转发条目,如有有ARP代理会回复与PC1相连的接口MAC地址,如果没有,则不回复任何消息

路由式代理:

        解决同一网段不同物理网络上计算机的互通问题。相同网段,网关不同

        交换机连接A和B,A和B处 于不同广播域,当A要与B通信时 A会广播发送ARP请求报文给交换机,交换机启用代理ARP功能把源地址改为自己,发往B的广播域,B单播回应,交换机收到后源地址改为自己,告诉A以后找B就找我,然后进行三层转发。

        启用代理ARP后,RouterA会查找路由表,如果存在HOST_2的路由表项,则使用自己 的接口的MAC地址作为该ARP请求的回应,HOST_1将以RouterA的MAC地址进行数据转 发。此时,RouterA相当于HOST_2的代理。

         核心:Router会响应ARP请求,并且告诉Host_1,Host_2的MAC地址是自己接口的MAC 地址。

vlan内代理:端口隔离

        想要互通的主机分别连接到同一个vlan的不同二层隔离端口下。

        解决相同VLAN内,且VLAN配置用户隔离后的网络上计算机互通问题。 同处于一个广播域,但配置了二层/三层隔离,双方都需要通过网关进行访问,双方封 装的目的 MAC 也是网关的 MAC 地址。

        由于在Switch1上配置了VL AN内不同接口彼此隔离,因此Host 1和Host 2不能直接在二层互通。若Switch的接口使能了VLAN内Proxy ARP功能,可以使Host_ 1和Host_ 2实现三层互通。        

        Switch的接口在接收到目的地址不是自己的ARP请求报文后,Switch并不立即丢 弃该报文,而是查找该接口的ARP表项。如果存在Host_ _2的ARP表项,则将自己的MAC地址发送给Host_ 1,并将Host 1发送给Host _2的报文代为转发。实际上此时Switch相当于Host_ 2的代理。

vlan间代理:Super vlan

Super VLAN中 主VLAN通过ARP代理完成子VLAN之间通信。

解决不同VLAN之间,或者相同VLAN内的不同Sub VLAN之间对应计算机的三层互通 问题。

         RouterA的接口在接收到目的地址不是自己的ARP请求报文后,RouterA并不立即丢弃 该报文,而是查找该接口的ARP表项。如果存在HOST 2的ARP表项,则将自己的MAC地 址发送给HOST 1,并将HOST 1发送给HOST 2的报文代为转发。

        核心:Router会响应ARP请求,并且告诉Host_1,Host_2的MAC地址是自己的MAC地址 (VLANIF的)。

(有借鉴其他博主的内容,仅供个人学习)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值