创作不易,本篇文章如果帮助到了你,还请点赞 关注支持一下♡><)!!
主页专栏有更多知识,如有疑问欢迎大家指正讨论,共同进步!
更多计算机网络知识专栏:计算机网络
给大家跳段街舞感谢支持!ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ ዽ ጿ ኈ ቼ
ARP协议(地址解析协议)是根据IP
获取MAC地址
的一个TCP/IP协议
在双端设备在通讯收发数据之前,如果不知道对端的MAC地址,就可以通过ARP协议来获取
ARP协议的作用是在
IP地址
和MAC地址
之间建立映射关系,方便设备进行通信
ARP协议处于OSI七层中的数据链路层(TCP/IP中的网络层),上层协议是IP协议
ARP报文格式:
当一个设备需要与另一个设备通信时,需要知道对方的物理地址。
它首先在自己的ARP缓存
中查找目标IP地址对应的MAC地址,如果找到就直接通信
如果没找到,设备就会发送一个ARP Reques
t的广播给本地网络中的所有设备,所有设备都会收到这个广播,ARP数据包中的目的MAC填0,收到这个广播的设备都会看自己的IP是不是这个广播的目IP,如果不是就会将这个包丢弃,如果发现自己的IP地址与请求中的IP地址相同,它就会回发一个ARP Reply
的单播,将自己的MAC地址作为响应发送回去。然后就可以开始通信,并将这个MAC地址存入自己的ARP缓存中,以便下次的通信。
ARP Request:源IP、源MAC、目的IP、0(目的MAC) = => ARP Reply:源IP、源MAC、目的IP、目的MAC(已获取)
通过设备2返回ARP Reply
就获取到了设备2的MAC地址
当网络中的两个设备处于不同的子网上时,它们无法直接进行通信,需要通过路由器或者交换机进行转发
由于ARP无法穿过路由器或交换机,ARP请求和响应将不能直接传递,此时可以部署ARP代理解决:
当发送端广播ARP请求时,本地网络上没有回应(因为目的IP在外网),此时路由器将会回应请求,则发送源认为路由器就是目的主机,将报文全部转发给它,ARP代理(路由器)会接收到这个请求并将它转发到所在的子网上,然后接收到响应的ARP响应,再将响应转发回来,该路由器就被称为ARP代理
ARP代理可以让网络中处于不同子网上的设备进行访问
在主机开机配置时,会发送一个目的IP地址为自己IP地址的ARP请求报文,该报文称为免费ARP。
作用:
(免费ARP以及其他ARP攻击方式会使网络攻击者对网络安全造成威胁)
免费ARP的 源MAC:本机MAC
目的MAC:0
大家的点赞、收藏、关注将是我更新的最大动力! 欢迎留言或私信建议或问题。 |
大家的支持和反馈对我来说意义重大,我会继续不断努力提供有价值的内容!如果本文哪里有错误的地方还请大家多多指出(●'◡'●) |