不会吧不会吧,不会还有人不知道ARP工作原理吧?
ARP工作原理
地址解析协议ARP,用来将目标IP解析为目标MAC,形成映射关系。相当于根据名字找到电话号码一样。
ARP工作如图所示:

由上图所示,HostA知道HostB的IP地址,但不知道其对应MAC地址,工作过程如下:
(1) 网络设备一般都一个ARP缓存,用来存放IP地址与对应MAC地址的映射关系。在发送数据之前,主机HostA会先查找自己的ARP缓存表,查看是否存在HostB的ARP表项,发现不存在。
(2) 于是HostA广播发送ARP请求报文,该网络中所有主机包括网关都会收到此报文。
其发送的ARP数据包格式如下所示:

l Hardware Type表示硬件地址类型,一般为以太网;
l Protocol Type表示三层协议地址类型,一般为IP;
l Hardware Length和Protocol Length为MAC地址和IP地址的长度,单位是字节;
l Operation Code指定了ARP报文的类型,包括ARP Request和ARP Reply;
l Source Hardware Address指的是发送ARP报文的设备MAC地址;
l Source Protocol Address指的是发送ARP报文的设备IP地址;
l Destination Hardware Address指的是接收者MAC地址,在ARP Request报文中,该字段值为0;
l Destination Protocol Address指的是接收者的IP地址。
(3)其发送的ARP Request包会封装在以太帧里,以太帧的帧头源MAC地址为HostA的MAC地址,因为不知道主机HostB的地址,所以以太帧的目标MAC地址是广播地址FF-FF-FF-FF-FF-FF。
(4)ARP Request包里面也有发送端的MAC地址、IP地址和目标端的MAC地址、IP地址等,再发送官博请求的时候目标MAC是0,报文类型是Request。
(5)网络中的设备收到ARP Request报文后,检查目标IP,不是自己IP则直接丢弃,是自己则进行保存源端IP和MAC地址,然后单播发送ARP Reply报文给HostA。
(6)ARP Reply报文里面发送端IP地址和MAC地址都是自己的,接收端IP地址和MAC地址都是HostA的,ARP报文类型为Reply。
(7)主机HostA收到主机HostB的ARP Reply包,同样会检查目标IP和目标MAC会进行记录。
(2)于是双方都有的相应的IP地址与MAC地址映射,可以直接通信。
验证:
设备1 IP地址:192.168.1.19 MAC:vivoXXXXX
设备2 IP地址:192.1681.29 MAC:30:XXXXXXX
(1)在设备上使用ping命令测试使用Wireshark抓包软件对ARP数据包进行数据抓包,ARP Request包发送如图所示:

(2)由方框可知,在数据帧头部中,源MAC地址是设备的MAC地址,目标MAC地址是广播地址FF-FF-FF-FF-FF-FF。由圆框可知,在ARP报文中发送端IP地址和MAC地址都是PC1的,目标MAC值为0,目标IP地址为192.168.1.29.
(3)ARP Reply数据包回应如图所示:

由方框可知,在数据帧头部,源MAC地址为设备2和目标MAC地址为设备1;
由圆框可知,在ARP Repla包中,发送端IP地址和MAC地址都为设备2,接收端IP地址和目标地址都为设备1.可知发送ARP Reply包是单播的。
(4)验证成功。
以上就是关于《不会吧不会吧,不会还有人不知道ARP工作原理吧?》的全部内容,本文网址:https://www.7ca.cn/tg/37274.shtml,如对您有帮助可以分享给好友,谢谢。