详解ARP协议

ARP(Address Resolution Protocol,地址解析协议)位于TCP/IP协议栈中的底层,一般归类在网络层,因为它要使用IP地址,它用于映射计算机的物理地址与网络IP地址。

ARP的工作就是在主机发送帧之前,根据目标的IP地址获取MAC地址,以保证通信过程的顺畅。


具体过程:

每台主机都会在自己的ARP缓冲区建立一个ARP列表(也就是ARP高速缓存--ARP cache),用于存储IP地址和MAC地址的对应关系。

然后当源主机需要将一个数据包发送到目标主机的时候,会先检查自己的ARP列表是否存在该IP地址对应的MAC地址。如果存在则直接将数据包发送到该MAC地址;如果不存在,就向本地网段发起一个ARP请求的广播包,用于查询目标主机的MAC地址

ARP请求数据包包括源主机的IP地址、硬件地址以及目标主机的IP地址等

网络中所有主机收到这个ARP请求之后,会检查数据包中的目的IP是否与自己的IP地址一致,如果不同就忽略此数据包;如果相同,该主机会将发送端的MAC地址与IP地址添加到自己的ARP列表中。如果ARP列表已经存在该IP地址的相关信息,则将其覆盖掉,接着给源主机发送一个ARP响应包,告诉对方自己是它所需要查找的MAC地址。

注意:ARP请求分组是广播发送的,但ARP响应分组是普通的单播,即从一个原地址发送到一个目的地址。

最后源主机收到这个ARP响应包之后,将得到的目的主机的IP地址和MAC地址添加到自己的ARP列表中,并利用此信息开始数据的传输。如果源主机一直没有收到ARP响应包,则表示ARP查询失败。

猜你喜欢

转载自blog.csdn.net/qq_32164245/article/details/80607352